:root{color-scheme:light;--bg:#f7f8f5;--panel:#fff;--ink:#172924;--muted:#53665d;--line:#dce4dd;--green:#176547;--soft:#eef5ef;--accent:#d9f079;--shadow:0 12px 36px #152d1c06}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body[data-theme=dark]{color-scheme:dark;--bg:#101b17;--panel:#182720;--ink:#edf5ef;--muted:#b4c6ba;--line:#3b5144;--green:#b5e3c7;--soft:#233a2d;--accent:#d9f079;--shadow:none}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,input,select,textarea{border:1px solid var(--line);border-radius:10px;min-height:46px;background:var(--panel);color:var(--ink)}input,select,textarea{padding:10px 12px;width:100%;min-width:0}button{padding:10px 15px;font-weight:650}button:hover:not(:disabled){border-color:var(--green)}:focus-visible{outline:3px solid var(--green);outline-offset:3px}label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h2{font-size:24px;line-height:1.25;letter-spacing:-.65px}h3{font-size:18px;line-height:1.35;letter-spacing:-.2px}.shell{width:calc(100% - 64px);max-width:1400px;margin:auto}.skip{position:absolute;top:-90px;left:20px;background:var(--panel);padding:12px;z-index:10}.skip:focus{top:10px}.header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:-1px;font-size:24px;text-decoration:none;display:flex;gap:10px;align-items:center}.brand span{background:var(--green);color:var(--panel);font-size:23px;width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.header nav,.footer nav{display:flex;gap:24px;align-items:center;font-size:13px}.header nav a{text-decoration:none}.header button{padding:0;width:44px;font-size:24px;min-height:44px}.hero{padding:55px 0 44px;display:grid;grid-template-columns:1.6fr .6fr;gap:80px;align-items:center}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.6px;color:var(--green);margin-bottom:18px}h1{font-size:clamp(38px,4.6vw,66px);line-height:1.06;letter-spacing:-3px;font-weight:720;margin-bottom:22px}h1 em{font-style:normal;color:var(--green)}.lede{font-size:17px;max-width:600px;color:var(--muted);line-height:1.6;margin:0}.hero-note{border-left:1px solid var(--line);padding-left:30px;color:var(--muted);font-size:14px}.hero-note strong{display:block;color:var(--ink);font-size:17px}.orbit{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--line);border-radius:50%;margin-bottom:16px;font-size:27px;color:var(--green)}.pill{display:inline-block;font-size:11px;font-weight:700;padding:5px 10px;border-radius:30px;background:var(--soft);color:var(--green)}.workbench{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:24px;align-items:start;scroll-margin-top:20px}.panel{min-width:0;border:1px solid var(--line);border-radius:22px;padding:26px;background:var(--panel);box-shadow:var(--shadow)}.results{position:sticky;top:18px}.section-heading{display:flex;align-items:center;gap:11px;margin-bottom:24px}.section-heading h2{font-size:21px;margin:0}.step{font-size:11px;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;color:var(--muted)}.add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.hint{font-size:12px;color:var(--muted);margin:8px 0 14px}.location{border-top:1px solid var(--line);padding:20px 0}.location-heading{display:flex;align-items:start;justify-content:space-between;gap:8px}.location-heading h3{margin:0;font-size:16px}.zone-id{font-size:11px;color:var(--muted);overflow-wrap:anywhere;display:block}.location-actions{display:flex;gap:3px}.location-actions button{font-size:11px;padding:6px;min-height:44px}.basis-tag{font-size:10px;color:var(--green);display:block;margin-top:4px}.hours{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.days{border:0;margin:13px 0 0;padding:0;min-width:0}.days legend{font-size:12px;font-weight:650;margin-bottom:6px}.day-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day-options label{margin:0;position:relative;min-width:0}.day-options input{position:absolute;opacity:0;width:100%;height:44px;margin:0;cursor:pointer}.day-options span{display:grid;place-items:center;min-height:44px;font-size:11px;font-weight:600;border:1px solid var(--line);border-radius:7px}.day-options input:checked+span{color:var(--green);background:var(--soft);border-color:var(--green)}.day-options input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:20px}.date-row>div{min-width:0}.text-button{border:0;background:none;padding:5px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;color:var(--green)}.privacy{font-size:11px;color:var(--muted);margin:15px 0 0}.result-status{font-size:14px;color:var(--muted);margin:12px 0 18px}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.suggestion{min-height:80px;text-align:left;padding:10px;background:var(--soft);min-width:0}.suggestion[aria-pressed=true]{border:2px solid var(--green);padding:9px}.suggestion strong{display:block;font-size:21px;line-height:1.3}.suggestion span{font-size:10px;display:block;overflow-wrap:anywhere;color:var(--muted)}.timeline{margin:25px 0 20px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.timeline-heading label{margin:0}.timeline-heading output{font-size:13px;font-weight:750}input[type=range]{accent-color:var(--green);padding:0;border:0;background:none;min-height:44px}.local-time{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:17px 0;border-top:1px solid var(--line)}.local-time h3{font-size:15px;margin:0}.local-time .zone-id{margin-top:2px}.time-reading{text-align:right}.time-reading strong{display:block;font-size:21px;line-height:1.3;font-variant-numeric:tabular-nums}.time-reading small{display:block;color:var(--muted);font-size:11px}.fit-label{font-size:11px;color:var(--green);display:block;margin-top:6px}.outside{color:#8c4c14}body[data-theme=dark] .outside{color:#ffd09d}.notice{border-radius:10px;background:var(--soft);padding:13px;font-size:12px;color:var(--ink)}.danger{border:1px solid #b45436}.export-panel{margin-top:15px;padding-top:22px;border-top:1px solid var(--line)}.optional{font-weight:400;color:var(--muted);font-size:11px;display:block}.export-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.primary{background:var(--green);color:var(--panel);border-color:var(--green);display:flex;justify-content:space-between;gap:20px}.secondary{background:var(--panel)}#actionStatus{font-size:12px;color:var(--green);margin-bottom:0}textarea{resize:vertical;overflow-wrap:anywhere}.reading{padding:70px 0 0;max-width:1200px}.reading h2{font-size:32px;margin-bottom:25px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.features article{border-top:1px solid var(--line);padding-top:18px}.features span{font-size:10px;color:var(--green);font-weight:700;letter-spacing:1px}.features h3{margin:14px 0 10px}.features p,.faq p{font-size:14px;color:var(--muted)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:650;min-height:44px}.faq details p{margin:0}.sources{font-size:12px!important;margin-top:30px}.footer{border-top:1px solid var(--line);margin-top:60px;padding:28px 0;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer .brand{font-size:20px}.footer p{font-size:12px;color:var(--muted);margin:0;flex:1}.footer nav{gap:20px}[hidden]{display:none!important}
@media(max-width:1040px){.shell{width:calc(100% - 40px)}.hero{gap:35px;grid-template-columns:1.5fr .7fr}.panel{padding:20px}.workbench{gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.location-heading{flex-wrap:wrap}.location-actions{margin-left:auto}.suggestions{gap:6px}}
@media(max-width:760px){.shell{width:calc(100% - 32px)}.header{height:70px}.header nav{gap:15px}.header nav a:nth-child(2){display:none}.hero{padding:38px 0 30px;display:block}.hero-note{display:none}h1{letter-spacing:-1.8px}.lede{font-size:15px}.workbench{grid-template-columns:minmax(0,1fr)}.results{position:static}.panel{padding:20px}.section-heading{margin-bottom:20px}.features,.faq-grid{grid-template-columns:1fr}.reading{padding-top:45px}.reading h2{font-size:27px}.features{gap:15px}.footer{margin-top:40px}.footer nav{flex-basis:100%}.location-heading{flex-wrap:nowrap}.location-actions{margin-left:0}}
@media(max-width:360px){.panel{padding:15px}.date-row{grid-template-columns:1fr}.local-time{grid-template-columns:1fr;gap:6px}.time-reading{text-align:left}.export-actions{flex-direction:column}.suggestion strong{font-size:18px}.suggestion{padding:7px}.suggestion[aria-pressed=true]{padding:6px}.location-heading{flex-wrap:wrap}.day-options{gap:2px}.day-options span{font-size:10px}.section-heading h2{font-size:18px}}
/* Reserve the initial workbench before the small local module populates it.
   Date and export controls should not jump as time zones finish loading. */
#locations:empty{min-height:450px}#suggestions:empty{min-height:80px}#localTimes:empty{min-height:315px}#resultStatus:empty{min-height:45px}#overlapBadge:empty{min-height:28px;min-width:175px}.availability summary{font-size:12px;color:var(--muted);min-height:44px;padding:10px 0;cursor:pointer;overflow-wrap:anywhere}.availability[open] summary{color:var(--green)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.example-intro,.example-lessons p,.example-note{font-size:14px;color:var(--muted);max-width:1000px}.example-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}.example-cities article{min-width:0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.example-cities h3{margin-bottom:18px}.example-cities dl{margin:0}.example-cities dl>div+div{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.example-cities dt{font-size:12px;color:var(--muted)}.example-cities dd{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;margin:4px 0 0}.example-cities small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.example-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.example-lessons strong{color:var(--ink)}.example-actions{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 18px}.example-link{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:46px;border:1px solid var(--line);border-radius:9px;padding:11px 16px;background:var(--panel);color:var(--green);font-size:13px;font-weight:650}.example-link span{font-weight:400}.example-note{font-size:12px;border-left:3px solid var(--green);padding-left:15px}@media(max-width:760px){.example-cities,.example-lessons{grid-template-columns:1fr;gap:14px}.example-cities article{padding:18px}.example-actions{flex-direction:column;align-items:flex-start}.example-link{max-width:100%;overflow-wrap:anywhere}}
