:root{color-scheme:light;--ink:#18362e;--muted:#596c65;--green:#123f32;--lime:#cef2b3;--line:#d7e0da;--paper:#f7f9f5;--white:#fff;--red:#944127;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:var(--green);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #689c41;outline-offset:3px}.site-header,.site-footer,.wrap{max-width:1200px;margin:auto;padding-left:32px;padding-right:32px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:1.45rem;letter-spacing:-.05em;text-decoration:none;display:inline-flex;align-items:center;font-weight:800}.brand span:first-child{font-weight:400}.brand-dot{background:#8ab576;width:10px;height:10px;border-radius:50%;margin-left:8px}.site-header nav,.site-footer nav{display:flex;gap:24px}.site-header nav a,.site-footer nav a{text-decoration:none;font-size:.9rem}.hero{padding:68px 0 50px;max-width:890px}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.14em;margin:0 0 15px;color:#567360}.hero h1{font-size:clamp(2.6rem,6.2vw,5rem);font-weight:600;line-height:1.06;letter-spacing:-.06em;margin:0 0 24px}.hero h1 span{color:#638953}.intro{font-size:1.13rem;max-width:690px;color:var(--muted);margin:0}.hero-notes{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px;font-size:.85rem}.hero-notes span:before{content:"✓";padding-right:8px;color:#558b41}.planner{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:30px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-top h2,.section-top h3{margin:0;font-size:1.55rem;letter-spacing:-.025em;line-height:1.25}.section-top .eyebrow{margin-bottom:9px}.section-top>p{color:var(--muted);font-size:.84rem;margin:0}.plan-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}label{display:block;font-size:.85rem;font-weight:650;color:#456151}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-height:48px;border:1px solid #bfcec3;background:var(--white);border-radius:8px;padding:10px 12px;margin-top:7px;color:var(--ink);font-size:.97rem;line-height:1.4}select{padding-right:25px}.field-note{font-size:.82rem;color:var(--muted);margin:13px 0 21px;max-width:960px}.cities{border:0;padding:0;margin:23px 0 0;min-width:0}.cities legend{font-weight:700;font-size:1rem;padding:0 0 13px}.cities legend span{font-size:.8rem;color:var(--muted);font-weight:400}.city-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.15fr 28px;gap:15px;align-items:center;padding:15px 0;border-top:1px solid #e5ebe6}.check-label{display:flex;align-items:center;gap:9px;margin-top:23px;font-weight:500;white-space:nowrap}.check-label input{accent-color:var(--green);width:18px;height:18px;margin:0}.remove-button{background:transparent;border:0;color:var(--muted);font-size:1.7rem;line-height:1;margin-top:23px;border-radius:5px;padding:0;min-height:40px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:49px;border-radius:8px;padding:12px 18px;border:1px solid transparent;text-decoration:none;font-weight:650;font-size:.93rem;line-height:1.25}.button.primary{color:#f7fbf3;background:var(--green)}.button.primary:hover{background:#225c46}.button.secondary{background:var(--white);color:var(--green);border-color:#bfcfc1}.button.secondary:hover{background:#f0f5eb}.button.small{min-height:41px;padding:9px 14px;font-size:.81rem}.cities>.button{margin-top:12px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:25px}.text-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:.2em;font-size:.82rem;padding:10px;color:var(--muted)}.error{color:var(--red);background:#fff1e8;border:1px solid #ebc8b5;padding:12px 15px;border-radius:8px;margin-bottom:0;font-size:.9rem}.results{padding-top:49px}.view-label{display:flex;gap:12px;align-items:center;white-space:nowrap;font-weight:500;font-size:.85rem}.view-label select{margin:0;width:235px;font-size:.85rem;min-height:42px}.notice{padding:18px 22px;background:#e7f1db;border:1px solid #c7dabb;border-radius:10px;font-size:.95rem;margin:0}.notice.no-overlap{background:#f2eee1;border-color:#ded6bf}.selected{border:1px solid #b6ceab;background:#edf4e4;padding:24px;border-radius:14px;margin:25px 0}.selected .section-top{margin-bottom:10px}.selected-actions{display:flex;flex-wrap:wrap;gap:10px}.selected pre{white-space:pre-wrap;overflow-wrap:anywhere;font: .84rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;margin:10px 0}.selected .field-note{margin:10px 0 0}.slot-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.slot-card{padding:23px;border:1px solid var(--line);background:var(--white);border-radius:12px}.slot-card.all-fit{border-color:#a1c98c}.slot-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:16px}.slot-top h3{font-size:1rem;line-height:1.4;margin:0;letter-spacing:-.01em}.slot-reference{font-size:.68rem;margin:4px 0 0;color:var(--muted)}.fit-badge{color:#486443;background:#edf2e7;border-radius:5px;padding:5px 8px;font-size:.67rem;white-space:nowrap}.local-row{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-top:1px solid #edf0ea}.local-row strong{font-size:.82rem}.local-range{font-size:.76rem;line-height:1.6}.local-range span{display:block;font-variant-numeric:tabular-nums}.to-end{color:var(--muted)}.fit-status{font-size:.69rem}.fit-status.yes{color:#416d32}.fit-status.yes:before{content:"✓ ";font-weight:800}.fit-status.no{color:#916144}.fit-status.no:before{content:"○ "}.choose-slot{margin-top:14px;width:100%}.learn{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin:65px 0 45px}.learn h2{font-size:2rem;font-weight:550;line-height:1.23;letter-spacing:-.04em;margin:0 0 20px}.learn p{color:var(--muted);font-size:.92rem}.arrow-link{font-weight:650;font-size:.85rem;text-decoration:none}.guide-card{display:block;text-decoration:none;padding:30px;border:1px solid var(--line);border-radius:15px;background:#eaf0e4}.guide-card h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.03em;margin:17px 0 10px}.guide-card .eyebrow{font-size:.67rem}.data-note{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding:25px 0;margin-bottom:30px}.site-footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:29px;padding-bottom:38px;font-size:.83rem}.site-footer p{font-weight:700;margin:0}.site-footer p span{display:block;font-weight:400;font-size:.73rem;color:var(--muted);margin-top:3px}.site-footer nav{gap:20px;flex-wrap:wrap}.site-footer nav a{font-size:.77rem}.prose{max-width:850px;padding-top:60px;padding-bottom:60px}.prose h1{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;line-height:1.15;margin:0 0 26px;font-weight:600}.prose h2{font-size:1.4rem;letter-spacing:-.025em;margin:36px 0 12px}.prose h3{font-size:1.15rem;margin-top:28px}.prose p,.prose li{color:var(--muted);font-size:1rem}.prose li{margin-bottom:10px}.prose table{border-collapse:collapse;width:100%;font-size:.85rem;margin:25px 0}.prose th,.prose td{border:1px solid var(--line);padding:12px;text-align:left}.prose th{background:#eaf0e4}.prose .lead{font-size:1.14rem}.prose .button{margin-top:15px}.copy-fallback{font-size:.78rem;min-height:115px}.prose code{font-family:ui-monospace,monospace;font-size:.87em;overflow-wrap:anywhere}[hidden]{display:none!important}@media(min-width:1000px){.local-row{grid-template-columns:82px 1fr}.local-row .fit-status{grid-column:2}}@media(max-width:780px){.site-header,.site-footer,.wrap{padding-left:22px;padding-right:22px}.site-header{height:auto;min-height:95px;flex-wrap:wrap;gap:12px;padding-top:22px;padding-bottom:20px}.site-header nav{gap:18px}.site-header nav a{font-size:.77rem}.hero{padding:44px 0 35px}.intro{font-size:1rem}.hero-notes{gap:8px 14px;font-size:.73rem}.planner{padding:22px}.section-top{flex-wrap:wrap;gap:10px}.section-top>p{font-size:.75rem}.section-top h2{font-size:1.35rem}.plan-settings{gap:13px;grid-template-columns:1fr 1fr}.plan-settings label:first-child{grid-column:1/-1}.city-row{grid-template-columns:1fr 1fr 28px;gap:12px}.city-row>label:first-child{grid-column:1/3}.city-row>label:nth-child(2){grid-column:1;grid-row:2}.city-row>label:nth-child(3){grid-column:2;grid-row:2}.city-row>.check-label{grid-row:3;grid-column:1/3;margin-top:2px}.city-row>.remove-button{grid-column:3;grid-row:1;margin-top:23px}.slot-list{grid-template-columns:1fr}.selected{padding:19px}.selected .section-top{gap:18px}.learn{grid-template-columns:1fr;gap:28px;margin-top:45px}.learn h2{font-size:1.75rem}.guide-card{padding:25px}.prose{padding-top:38px;padding-bottom:40px}.prose table{font-size:.72rem;display:block;overflow-x:auto}.prose th,.prose td{padding:8px}.site-footer nav{gap:16px}}@media(max-width:430px){.site-header,.site-footer,.wrap{padding-left:16px;padding-right:16px}.hero h1{font-size:2.65rem}.planner{padding:18px}.plan-settings{grid-template-columns:1fr}.plan-settings label:first-child{grid-column:auto}.form-actions>.button{width:100%}.view-label{width:100%;justify-content:space-between}.view-label select{width:210px}.selected-actions .button{width:100%}.slot-card{padding:18px}.slot-top h3{font-size:.94rem}.field-note{font-size:.76rem}.city-row{gap:9px}.city-row input,.city-row select{padding-left:8px;padding-right:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root .skip-link{position:absolute;left:16px;top:-90px;z-index:10;background:var(--green);color:white;padding:10px 18px;border-radius:6px}:root .skip-link:focus{top:12px}.table-scroll{overflow-x:auto}.prose .button{background:var(--green);color:#fff}
