:root{--ink-green-900:#123a2c;--green-700:#14624a;--green-600:#176b50;--green-500:#1b7a5c;--green-050:#edf5f1;--amber-500:#e89a21;--amber-400:#e9a93f;--amber-050:#fcefcc;--amber-ink:#8a5e0c;--paper:#fff;--page:#ededea;--ink:#16181a;--ink-2:#5a6169;--ink-3:#6b7280;--hairline:#e2e4e1;--surface-sunken:#f3f5f2;--rail-day:#f3e5c5;--rail-night:#dce1e3;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-ui);--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, monospace;--weight-body:400;--weight-label:500;--weight-title:600;--text-xs:.75rem;--text-sm:.8125rem;--text-body:.9375rem;--text-lg:1.0625rem;--text-h2:1.375rem;--text-h1:2.25rem;--numeric:tabular-nums;--radius-panel:22px;--radius-card:14px;--radius-control:12px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--pad-panel:22px;--shadow-panel:0 1px 2px #1018140d, 0 12px 32px #1018141a;--shadow-chip:0 1px 2px #1018140f, 0 4px 14px #10181417;--dur-quick:.18s;--dur-panel:.26s;--dur-press:90ms;--ease:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.34, 1.32, .64, 1);--stagger:24ms;--gutter:clamp(14px, 1.7vw, 24px);--w-panel-left:clamp(21.75rem, 23vw, 24rem);--w-panel-wide:clamp(19.5rem, 26vw, 27rem);--w-dock:870px;--h-header:4rem;--y-top:calc(var(--h-header) + var(--space-4));--y-bottom:12rem}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{font-size:clamp(1rem,.28vw + .78rem,1.15rem)}body{background:var(--page);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-body);font-weight:var(--weight-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.55}canvas{touch-action:none;display:block}:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}.street-label{white-space:nowrap;font-family:var(--font-display);letter-spacing:.01em;color:#4a5158;-webkit-user-select:none;user-select:none;text-shadow:0 0 4px #fffffff2,0 0 11px #fffc;font-size:21px;font-weight:600;display:block}.loading{background:var(--page);place-items:center;height:100%;padding:24px;display:grid}.loading__card{border-radius:var(--radius-panel);background:var(--paper);width:min(440px,100%);box-shadow:var(--shadow-panel);flex-direction:column;gap:16px;padding:32px;display:flex}.loading__eyebrow{font-size:var(--text-sm);letter-spacing:.1em;color:var(--green-500);margin:0;font-weight:700}.loading__title{font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.2}.loading__track{border-radius:var(--radius-pill);background:var(--green-050);height:6px;position:relative;overflow:hidden}.loading__fill{border-radius:inherit;background:var(--amber-400);width:0;height:100%;transition:width .16s linear}.loading__track.is-indeterminate .loading__fill{width:38%;animation:1.15s ease-in-out infinite loading-sweep}@keyframes loading-sweep{0%{transform:translate(-100%)}to{transform:translate(365%)}}@media (prefers-reduced-motion:reduce){.loading__track.is-indeterminate .loading__fill{opacity:.4;width:100%;animation:none}.loading__fill{transition:none}}.loading__meta{font-size:var(--text-sm);color:var(--ink-2);justify-content:space-between;gap:16px;display:flex}.loading__figure{font-variant-numeric:tabular-nums;color:var(--ink-3)}.loading__error{border-radius:var(--radius-card);background:var(--amber-050);color:var(--amber-ink);font-size:var(--text-sm);margin:0;padding:12px 14px}.loading__note{border-top:1px solid var(--hairline);font-size:var(--text-sm);color:var(--ink-3);margin:0;padding-top:12px;line-height:1.45}.app{height:100%;position:relative;overflow:hidden}.app__scene{z-index:0;position:absolute;inset:0}.header{z-index:6;align-items:center;gap:var(--space-4);height:var(--h-header);padding-inline:var(--space-4);background:var(--paper);border-bottom:1px solid var(--hairline);display:flex;position:absolute;inset:0 0 auto}.header__brand{align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-1);cursor:pointer;color:var(--green-700);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);letter-spacing:.01em;background:0 0;border:0;flex:none;display:flex}.header__brand span{color:var(--ink)}.header__search{flex:auto;min-width:0;max-width:30rem;margin-inline:auto;position:relative}.header__search .results,.header__search .results__none{top:calc(100% + var(--space-2));z-index:1;max-height:60vh;padding:var(--space-2);border-radius:var(--radius-control);background:var(--paper);box-shadow:var(--shadow-panel);position:absolute;left:0;right:0;overflow-y:auto}.header__search .results__none{padding:14px 16px}.header__actions{flex:none;gap:10px;margin-left:auto;display:flex}.chip{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-control);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:1px solid #0000}.chip:hover{color:var(--ink);background:#f1f2f3}.chip--icon{align-items:center;gap:var(--space-2);display:inline-flex}.chip__count{border-radius:var(--radius-pill);background:var(--amber-050);min-width:1.15rem;height:1.15rem;color:var(--amber-ink);font-size:var(--text-xs);font-variant-numeric:var(--numeric);place-items:center;padding-inline:4px;display:grid}.chip[aria-pressed=true]{background:var(--green-050);color:var(--green-700)}.chip:hover{border-color:var(--ink-3);background:var(--green-050)}.chip[aria-disabled=true]{color:var(--ink-3);cursor:not-allowed}.chip[aria-disabled=true]:hover{color:var(--ink-3);background:0 0}.chip:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}@media (width<=900px){.header__brand span{display:none}}.panel{z-index:2;padding:var(--pad-panel);border-radius:var(--radius-panel);background:var(--paper);box-shadow:var(--shadow-panel);flex-direction:column;gap:16px;display:flex;position:absolute}.panel--left{max-height:max(160px, calc(100% - var(--y-top) - var(--y-bottom)));top:var(--y-top);left:var(--gutter);width:var(--w-panel-left);overflow-y:auto}.panel__eyebrow{font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--green-500);margin:0}.button{border-radius:var(--radius-control);background:var(--green-700);color:var(--paper);font:inherit;font-weight:var(--weight-label);cursor:pointer;transition:background var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease), box-shadow var(--dur-quick) var(--ease), transform var(--dur-quick) var(--ease);border:1px solid #0000;padding:11px 20px}.button:hover{background:var(--green-600)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.button--ghost{background:var(--paper);border-color:var(--hairline);color:var(--ink)}.button--ghost:hover{background:var(--green-050);border-color:var(--green-600)}.button--block{width:100%}.button svg{margin-right:var(--space-2);vertical-align:-.2em;flex:none}.button--block:has(svg){justify-content:center;align-items:center;display:inline-flex}.segmented{border-radius:var(--radius-control);background:var(--surface-sunken);grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmented--four{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:9px}.segmented,.sheet__tabs{isolation:isolate;position:relative}.segmented:after,.sheet__tabs:after{content:"";z-index:0;width:calc((100% - 6px - (var(--count,2) - 1) * 3px) / var(--count,2));border-radius:calc(var(--radius-control) - 4px);background:var(--paper);transform:translateX(calc(var(--at,0) * (100% + 3px)));transition:transform var(--dur-quick) var(--ease-spring);position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 4px #2030201c}.segmented[data-chosen=no]:after{opacity:0}.segmented button,.sheet__tabs button{z-index:1;position:relative}.segmented--four button{min-height:44px;font-size:var(--text-xs);padding:9px 2px}.segmented button{min-height:44px;padding:var(--space-2) var(--space-1);border-radius:calc(var(--radius-control) - 4px);color:var(--ink-2);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);cursor:pointer;transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:0;position:relative}.segmented button:hover{color:var(--ink)}.segmented button:before{content:attr(data-label);visibility:hidden;height:0;font-weight:var(--weight-title);white-space:nowrap;display:block;overflow:hidden}.segmented button[aria-pressed=true]{color:var(--green-700);font-weight:var(--weight-title)}.segmented button:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-control);transition:background var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease);background:#f1f2f3;border:1px solid #0000;display:flex}.field:hover{background:#eaebed}.field:focus-within{background:var(--paper);border-color:var(--green-700);box-shadow:0 0 0 3px #14624a24}.field input{font:inherit;color:var(--ink);background:0 0;border:0;flex:1;min-width:0}.field__key{border:1px solid var(--hairline);background:var(--paper);min-width:1.3rem;height:1.3rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-3);border-radius:5px;flex:none;place-items:center;display:grid}.field input::placeholder{color:#676e76;opacity:1}.field input:focus{outline:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes settle{0%{opacity:0;transform:translateY(6px)}}@keyframes emerge{0%{opacity:0;transform:translateY(-6px)scale(.99)}}@keyframes slideUp{0%{transform:translateY(100%)}}.panel,.legend,.viewctl,.timebar,.sunchip,.sheet__tabpanel,.landing__tabpanel{animation:settle var(--dur-quick) var(--ease) both}.header__search .results,.header__search .results__none{animation:emerge var(--dur-quick) var(--ease) both;transform-origin:top}.results button,.rows li,.steps li{animation:settle var(--dur-quick) var(--ease) both;animation-delay:calc(min(var(--i,0), 8) * var(--stagger))}.chip[aria-disabled=true]:active{transform:none}.row:hover{box-shadow:var(--shadow-chip);transform:translateY(-2px)}.row:active{box-shadow:none}.result{animation:settle var(--dur-panel) var(--ease) both}@media (width<=900px){.panel,.landing{animation:slideUp var(--dur-panel) var(--ease) both}}.progress{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-3);margin:0;padding:0;list-style:none;display:flex}.progress li{align-items:center;gap:var(--space-2);display:flex}.progress li+li:before{content:"";width:var(--space-3);background:var(--hairline);height:1px}.progress__mark{width:1.4rem;height:1.4rem;box-shadow:inset 0 0 0 1px var(--hairline);font-size:var(--text-xs);font-variant-numeric:var(--numeric);transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease), box-shadow var(--dur-quick) var(--ease);border-radius:50%;place-items:center;display:grid}.progress .is-here{color:var(--ink);font-weight:var(--weight-label)}.progress .is-here .progress__mark,.progress .is-done .progress__mark{background:var(--green-700);color:var(--paper);box-shadow:none}.progress .is-done{color:var(--ink-2)}.sheet__close{width:44px;height:44px;color:var(--ink-2);cursor:pointer;transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-4px -6px -4px 0;display:grid;position:relative}.sheet__close:before{content:"";width:36px;height:36px;transition:background var(--dur-quick) var(--ease);background:#f1f2f3;border-radius:50%;position:absolute}.sheet__close svg{position:relative}.sheet__close:hover{color:var(--ink)}.sheet__close:hover:before{background:#e4e6e8}.sheet__close:active{transition-duration:var(--dur-press);transform:translateY(1px)}.sheet__close:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px}.sheet{gap:var(--space-4)}.sheet__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subject{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.sheet__title{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--weight-title);letter-spacing:-.027em;overflow-wrap:anywhere;margin:0;line-height:1.2}.sheet__locality{font-size:var(--text-sm);color:var(--ink-2);margin:0}.sheet__meta{font-size:var(--text-xs);color:var(--ink-3);margin:0}.sheet__fine{border-top:1px solid var(--hairline);font-size:var(--text-sm);color:var(--ink-3);margin:0;padding-top:12px}.rows{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.row{border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--paper);width:100%;font:inherit;text-align:left;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px 16px;display:grid}.row:hover{border-color:var(--ink-3)}.row .badge{grid-column:1/-1;justify-self:start;margin-bottom:4px}.row__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-label);letter-spacing:-.01em;line-height:1.25}.row__meta{font-size:var(--text-sm);color:var(--ink-2);grid-column:1;line-height:1.4}.row__go{color:var(--green-700);grid-area:2/2/span 2;align-self:center}.switches{border-top:1px solid var(--hairline);flex-direction:column;padding-top:14px;display:flex}.switch{cursor:pointer;align-items:center;gap:16px;padding:12px 0;display:flex;position:relative}.switch+.switch{border-top:1px solid var(--hairline)}.switch__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.switch__name{font-weight:var(--weight-label)}.switch__note{font-size:var(--text-sm);color:var(--ink-2)}.switch__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch__track{border-radius:var(--radius-pill);width:44px;height:26px;transition:background var(--dur-panel) var(--ease);background:#c9ccd0;flex:none;position:relative}.switch:hover .switch__track{background:#bcc0c5}.switch:hover .switch__input:checked+.switch__track{background:var(--green-600)}.switch__track:after{content:"";--x:0px;--squash:1;background:var(--paper);width:20px;height:20px;transform:translateX(var(--x)) scaleX(var(--squash));transform-origin:0;transition:transform var(--dur-panel) var(--ease-spring), box-shadow var(--dur-quick) var(--ease);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #10181447}.switch__input:checked+.switch__track{background:var(--green-700)}.switch__input:checked+.switch__track:after{--x:18px;transform-origin:100%}.switch__input:active+.switch__track:after{--squash:1.18;transition-duration:var(--dur-press)}.switch:hover .switch__track:after{box-shadow:0 2px 5px #10181452}.switch__input:focus-visible+.switch__track{outline:2px solid var(--green-700);outline-offset:3px}.soonlist{border-top:1px solid var(--hairline);flex-direction:column;gap:12px;padding-top:14px;display:flex}.soonlist__head{color:var(--ink-3);margin:0}.soonlist__item{flex-direction:column;gap:2px;margin:0;display:flex}.soonlist__name{font-weight:var(--weight-label)}.soonlist__note{font-size:var(--text-sm);color:var(--ink-2)}.sheet__nav{justify-content:space-between;align-items:center;gap:var(--space-2);margin:-6px -8px 0;display:flex}.backlink{border-radius:var(--radius-control);min-height:44px;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--green-700);cursor:pointer;transition:background var(--dur-quick) var(--ease);background:0 0;border:0;align-items:center;gap:7px;padding:0 8px;display:inline-flex}.backlink:hover{background:var(--green-050)}.backlink:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.sheet__tabs{border-radius:var(--radius-control);background:var(--surface-sunken);grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.sheet__tabs button{min-height:44px;padding:var(--space-2);border-radius:calc(var(--radius-control) - 4px);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink-2);cursor:pointer;transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:0}.sheet__tabs button:hover{color:var(--ink)}.sheet__tabs button[aria-selected=true]{color:var(--ink);font-weight:var(--weight-title)}.sheet__tabs button:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.sheet__tabpanel{gap:var(--space-4);flex-direction:column;display:flex}.sheet__tabpanel--flow{gap:0}.sheet__lede+.sheet__sub{margin-top:6px}.block{flex-direction:column;gap:0;padding-top:22px;display:flex}.block+.block{border-top:1px solid var(--hairline)}.block__head{font-size:var(--text-sm);font-weight:var(--weight-title);color:var(--ink);margin:0 0 10px}.block__note{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--ink-2);line-height:1.55}.stepper{border-radius:var(--radius-control);background:var(--surface-sunken);grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;min-height:48px;display:grid}.stepper__step{border-radius:var(--radius-control);min-height:48px;color:var(--ink-2);cursor:pointer;transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:0;place-items:center;display:grid}.stepper__step:hover:not(:disabled){background:var(--green-050);color:var(--ink)}.stepper__step:disabled{color:var(--ink-3);opacity:.45;cursor:not-allowed}.stepper__step:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px;border-radius:var(--radius-control)}.stepper__value{place-items:center;display:grid}.stepper__value input{width:100%;min-height:44px;font:inherit;font-size:var(--text-lg);font-weight:var(--weight-title);font-variant-numeric:var(--numeric);color:var(--ink);text-align:center;background:0 0;border:0}.stepper__value input:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px;border-radius:var(--radius-control)}.sides{gap:var(--space-2);flex-wrap:wrap;display:flex}.sides__side{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--paper);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink-2);cursor:pointer;transition:background var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);flex:auto}.sides__side:hover{border-color:var(--ink-3);color:var(--ink)}.sides__side[aria-pressed=true]{border-color:var(--green-700);color:var(--green-700);font-weight:var(--weight-title);box-shadow:inset 0 0 0 1px var(--green-700)}.sides__side:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.action{gap:var(--space-3);border-top:1px solid var(--hairline);flex-direction:column;margin-top:22px;padding-top:22px;display:flex}.sheet__lede{font-family:var(--font-display);font-size:var(--text-body);font-weight:var(--weight-title);letter-spacing:-.013em;margin:0;line-height:1.3}.sheet__sub{font-size:var(--text-sm);color:var(--ink-2);margin:0;line-height:1.65}.sheet__body{font-size:var(--text-sm);color:var(--ink-2);margin:0;line-height:1.55}.tiles{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;display:grid}.tile{border-radius:var(--radius-card);background:#f2f2f0;padding:16px 18px 18px}.tile__figure{font-family:var(--font-display);font-size:1.6rem;font-weight:var(--weight-title);letter-spacing:-.03em;margin:0 0 4px;line-height:1}.tile__label{font-size:var(--text-sm);color:var(--ink-2);margin:0}.result__figure,.result__against,.tile__figure,.stat-row dd,.timebar__value,.sunchip{font-variant-numeric:var(--numeric)}.dateline{border-radius:var(--radius-control);background:var(--surface-sunken);grid-template-columns:40px minmax(0,1fr) 40px;align-items:stretch;gap:0;min-height:48px;display:grid}.dateline__step{border-radius:var(--radius-control);width:40px;min-height:48px;color:var(--ink-2);cursor:pointer;transition:background var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:0;place-items:center;display:grid}.dateline__step:hover{background:var(--green-050);color:var(--ink)}.dateline__step:active{transition-duration:var(--dur-press);transform:translateY(1px)}.dateline__step:focus-visible{outline:2px solid var(--green-700);outline-offset:2px}.daypick{flex:1;min-width:0;position:relative}.daypick__trigger{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--paper);font:inherit;color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-quick) var(--ease), box-shadow var(--dur-quick) var(--ease);display:flex}.daypick__trigger:hover{border-color:var(--ink-3)}.daypick__trigger[aria-expanded=true],.daypick__trigger:focus-visible{border-color:var(--green-700);outline:none;box-shadow:0 0 0 3px #14624a24}.daypick__value{text-align:left;white-space:nowrap;font-weight:var(--weight-label);font-variant-numeric:var(--numeric);color:var(--ink);flex:1;overflow:hidden}.daypick__panel{top:calc(100% + var(--space-2));width:max-content;max-width:calc(100% + 44px + var(--space-2));z-index:4;padding:var(--space-3);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-panel);animation:emerge var(--dur-quick) var(--ease) both;position:absolute;left:auto;right:0}.daypick__head{margin-bottom:var(--space-2);grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.daypick__head p{text-align:center;font-weight:var(--weight-label);font-variant-numeric:var(--numeric);margin:0}.daypick__head button{border-radius:var(--radius-control);width:44px;height:44px;color:var(--ink-2);cursor:pointer;transition:background var(--dur-quick) var(--ease);background:0 0;border:0;place-items:center;display:grid}.daypick__head button:hover{color:var(--ink);background:#f1f2f3}.daypick__head button:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px}.daypick__grid{border-collapse:collapse;table-layout:fixed;width:100%}.daypick__grid th{padding-bottom:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-label);color:var(--ink-3)}.daypick__day{aspect-ratio:1;border-radius:var(--radius-control);width:100%;min-height:36px;font:inherit;font-variant-numeric:var(--numeric);color:var(--ink);cursor:pointer;transition:background var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);background:0 0;border:0}.daypick__day:hover{background:var(--green-050)}.daypick__day.is-outside{color:var(--ink-3)}.daypick__day[aria-current=date]{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.daypick__day[aria-selected=true]{background:var(--green-700);color:var(--paper);font-weight:var(--weight-label)}.daypick__day[aria-selected=true]:hover{background:var(--green-600)}.daypick__day:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px}.sheet__actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.sheet__actions .button{padding-inline:var(--space-2)}.result{margin:var(--space-2) 0;padding:var(--space-5) var(--space-5) var(--space-5);border-radius:var(--radius-card);background:var(--amber-050)}.result__eyebrow{color:var(--amber-ink);margin:0 0 10px}.result__figure{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,3rem);font-weight:var(--weight-title);letter-spacing:-.04em;color:var(--amber-ink);margin:0;line-height:1}.result__figure--none{letter-spacing:-.025em;font-size:clamp(1.3rem,3.6vw,1.6rem);line-height:1.25}.result__caption{margin:var(--space-3) 0 0;font-size:var(--text-lg);color:var(--ink);line-height:1.35}.result__against{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:var(--numeric)}.howto{font-size:var(--text-sm);color:var(--ink-2);border-top:1px solid var(--hairline);margin-top:22px}.howto summary{min-height:44px;color:var(--ink);font-weight:var(--weight-label);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.howto summary::-webkit-details-marker{display:none}.howto summary:after{content:"+";color:var(--ink-3);font-size:1.05rem;line-height:1}.howto[open] summary:after{content:"−"}.howto summary:focus-visible{outline:2px solid var(--green-700);outline-offset:2px;border-radius:var(--radius-control)}.howto__steps{margin:0 0 var(--space-3);padding-left:1.15rem;line-height:1.7}.howto__steps li+li{margin-top:5px}.arming{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);background:var(--amber-050);animation:settle var(--dur-quick) var(--ease) both;flex-direction:column;display:flex}.arming__lede{font-weight:var(--weight-label);color:var(--amber-ink);margin:0}.arming .sheet__body{color:var(--ink)}.badge{border-radius:var(--radius-pill);background:var(--green-700);color:var(--paper);font-size:var(--text-sm);font-weight:var(--weight-label);letter-spacing:.06em;text-transform:uppercase;padding:5px 13px;display:inline-block}.badge--construction{background:var(--amber-ink)}.badge--soft{background:var(--amber-050);color:var(--amber-ink);font-size:var(--text-xs);letter-spacing:.04em;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.badge--soft:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.badge--existing{background:#c9457f}.facts{grid-template-columns:repeat(2,1fr);gap:12px 18px;margin:0;display:grid}.facts>div{min-width:0}.facts dt{font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink-3)}.facts dd{font-size:var(--text-body);font-weight:var(--weight-label);color:var(--ink);margin:3px 0 0}.tabs button:focus-visible,.segmented button:focus-visible,.results button:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px}.note{border-radius:var(--radius-card);background:var(--green-050);font-size:var(--text-sm);color:var(--ink-2);margin:0;padding:14px 16px}.note ul{margin:0;padding-left:18px}.note li+li{margin-top:5px}.disclaimer{z-index:3;border-radius:var(--radius-pill);background:var(--amber-050);color:var(--amber-ink);font-size:var(--text-sm);font-weight:var(--weight-label);letter-spacing:.05em;padding:7px 15px;position:absolute;bottom:24px;right:24px}.timebar{left:max(calc(var(--gutter) * 2 + var(--w-panel-left)), calc(50% - var(--w-dock) / 2));right:max(calc(var(--gutter) * 2 + 2.6rem), calc(50% - var(--w-dock) / 2));z-index:3;pointer-events:none;position:absolute;bottom:28px;container:timebar/inline-size}.timebar__dock{pointer-events:auto;width:auto;max-width:var(--w-dock);background:var(--paper);box-shadow:var(--shadow-panel);border-radius:20px;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:26px;margin-inline:auto;padding:22px 26px;display:grid}.timebar__summary{min-width:0}.timebar__label,.timebar__caption{font-size:var(--text-sm);color:var(--ink-2);margin:0}.timebar__value{font-family:var(--font-display);font-size:2.25rem;font-weight:var(--weight-title);font-variant-numeric:var(--numeric);letter-spacing:-.04em;margin:0;line-height:1.2}.timebar__caption{min-height:2.7em;margin-top:5px;line-height:1.35}.timebar__timeline{min-width:0}.timebar__events{font-size:var(--text-sm);color:var(--ink-2);justify-content:space-between;gap:12px;margin:0;display:flex}.timebar__events b{font-weight:var(--weight-label);font-variant-numeric:var(--numeric);color:var(--ink);margin-left:5px}.timebar__track{align-items:center;height:44px;display:flex;position:relative}.timebar__rail{background:linear-gradient(to right, var(--rail-night) 0 var(--day-from,0%), var(--rail-day) var(--day-from,0%) var(--day-to,100%), var(--rail-night) var(--day-to,100%) 100%);border-radius:8px;height:6px;position:absolute;left:11px;right:11px}.timebar__track input[type=range]{z-index:1;appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0;position:relative}.timebar__track input::-webkit-slider-runnable-track{background:0 0;height:6px}.timebar__track input::-moz-range-track{background:0 0;height:6px}.timebar__track input::-moz-range-progress{background:0 0;height:6px}.timebar__track input::-webkit-slider-thumb{appearance:none;border:5px solid var(--green-700);background:var(--paper);cursor:grab;border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 2px 6px #10181429}.timebar__track input::-moz-range-thumb{border:5px solid var(--green-700);background:var(--paper);cursor:grab;border-radius:50%;width:22px;height:22px;box-shadow:0 2px 6px #10181429}.timebar__track input:active::-webkit-slider-thumb{cursor:grabbing}.timebar__track input:focus-visible{outline:2px solid var(--green-700);outline-offset:2px;border-radius:var(--radius-control)}.timebar__scale{font-size:var(--text-xs);font-variant-numeric:var(--numeric);color:var(--ink-3);justify-content:space-between;margin:0 11px;display:flex;position:relative}.timebar__noon{position:absolute;transform:translate(-50%)}.timebar__nocross{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--ink-2)}@container timebar (width<=520px){.timebar__dock{gap:var(--space-3);grid-template-columns:minmax(0,1fr);padding:18px 16px}.timebar__value{font-size:2rem}}@container timebar (width<=340px){.timebar__noon{display:none}}.sunchip{top:calc(var(--y-top) + 8px);left:calc(var(--gutter) * 2 + var(--w-panel-left));right:var(--gutter);z-index:3;font-family:var(--font-display);font-size:1.05rem;font-weight:var(--weight-label);letter-spacing:.04em;color:var(--amber-500);text-shadow:0 0 12px #ffffffd9;pointer-events:none;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute}.sunchip svg{flex:none}.landing{gap:var(--space-4);width:min(var(--w-panel-wide), calc(100% - var(--gutter) * 2))}.landing__title{font-family:var(--font-display);font-size:clamp(1.8rem,2.6vw,2.35rem);font-weight:var(--weight-title);letter-spacing:-.035em;flex-direction:column;gap:.28em;margin:0;line-height:1.04;display:flex}.landing__body{max-width:42ch;color:var(--ink-2);margin:0}.steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.step{border-radius:var(--radius-card);background:var(--green-050);flex-direction:column;padding:18px 20px 20px;display:flex}.step__number{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--weight-title);letter-spacing:-.02em;color:var(--green-700);margin-bottom:10px;line-height:1}.step__title{font-weight:var(--weight-label);margin-bottom:6px;line-height:1.3}.step__body{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.landing__tabpanel{gap:var(--space-4);flex-direction:column;display:flex}.landing__tabs{border-bottom:1px solid var(--hairline);gap:20px;display:flex}.landing__tabs button{font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 0 9px}.landing__tabs button:hover{color:var(--ink)}.landing__tabs button[aria-selected=true]{border-bottom-color:var(--green-700);color:var(--green-700)}.landing__tabs button:focus-visible{outline:2px solid var(--green-700);outline-offset:3px}.landing__fine{border-top:1px solid var(--hairline);font-size:var(--text-sm);color:var(--ink-3);margin:0;padding-top:16px}.sheet__close,.viewctl__stack button,.chip,.button,.backlink,.sheet__tabs button,.landing__tabs button,.segmented button,.row,.switch{min-height:44px}.viewctl{right:var(--gutter);bottom:var(--gutter);z-index:3;align-items:flex-end;gap:var(--space-2);animation:rise var(--dur-panel) var(--ease) both;flex-direction:column;display:flex;position:absolute}.viewctl__stack{border-radius:var(--radius-control);background:var(--paper);box-shadow:var(--shadow-chip);flex-direction:column;display:flex;overflow:hidden}.viewctl__help{width:max-content;max-width:17rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-panel);font-size:var(--text-sm);color:var(--ink-2);animation:settle var(--dur-quick) var(--ease) both;margin:0}.viewctl__help>div{column-gap:var(--space-3);grid-template-columns:auto 1fr;align-items:center;display:grid}.viewctl__help>div+div{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.viewctl__glyph{color:var(--ink-2);grid-row:span 2}.viewctl__help dt{font-weight:var(--weight-label);color:var(--ink)}.viewctl__help dd{color:var(--ink-2);margin:0}.viewctl__apart,.viewctl__ask{border-top:1px solid var(--hairline)}.viewctl__ask[aria-expanded=true]{background:var(--green-050);color:var(--green-700)}.viewctl__stack button{width:2.6rem;height:2.6rem;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.viewctl__stack button+button{border-top:1px solid var(--hairline)}.viewctl__stack button:hover{background:var(--green-050)}.viewctl__stack button:focus-visible{outline:2px solid var(--green-700);outline-offset:-2px}.legend{bottom:var(--gutter);left:calc(var(--gutter) * 2 + var(--w-panel-left));z-index:3;border-radius:var(--radius-control);background:var(--paper);box-shadow:var(--shadow-chip);font-size:var(--text-sm);font-weight:var(--weight-label);align-items:center;gap:10px;padding:10px 18px;display:flex;position:absolute}.legend__swatch{background:var(--green-700);border-radius:2px;width:11px;height:11px}.legend__sep{color:var(--ink-3)}.legend__note{font-weight:var(--weight-body);color:var(--ink-2)}.howto__caveat{font-size:var(--text-sm);color:var(--ink-3);margin:0}.howto__steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.howto__step{border-radius:var(--radius-card);background:var(--green-050);padding:18px 20px 20px}.howto__step-title{font-weight:var(--weight-label);margin:0 0 6px;line-height:1.3}.howto__step-body{color:var(--ink-2);margin:0;line-height:1.5}.howto__figure{font-family:var(--font-display);font-size:2rem;font-weight:var(--weight-title);letter-spacing:-.03em;color:var(--green-700);margin:0 0 8px;line-height:1}.howto__source{margin:var(--space-2) 0 0 2px;font-size:var(--text-sm);color:var(--ink-2)}.howto__source a{color:var(--green-700);text-underline-offset:2px;transition:color var(--dur-quick) var(--ease);border-radius:3px;align-items:baseline;gap:4px;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.howto__source a:hover{color:var(--green-600);text-decoration-thickness:2px}.howto__source a:focus-visible{outline:2px solid var(--green-700);outline-offset:3px}.howto__source svg{flex:none;align-self:center}.results{border:1px solid var(--hairline);border-radius:var(--radius-control);flex-direction:column;max-height:232px;display:flex;overflow-y:auto}.results button{border:0;border-bottom:1px solid var(--hairline);background:var(--paper);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-quick) var(--ease);padding:11px 16px}.results button:active{background:var(--green-100,var(--green-050))}.results button:last-child{border-bottom:0}.results button:hover{background:var(--green-050)}.results small{color:var(--ink-3);display:block}.stat-row{font-size:var(--text-sm);justify-content:space-between;gap:14px;display:flex}.stat-row dt{color:var(--ink-3)}.stat-row dd{font-weight:var(--weight-label);font-variant-numeric:tabular-nums;margin:0}.site-pin{filter:drop-shadow(0 4px 10px #141e1a47)}.site-label{border-radius:var(--radius-control);color:var(--green-700);font-family:var(--font-display);font-size:15px;font-weight:var(--weight-label);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffffe6;padding:5px 12px;display:block}@media (width<=900px){.panel--left,.landing{width:100%;max-width:none;max-height:min(62vh, calc(100% - var(--h-header) - 7rem));border-radius:var(--radius-panel) var(--radius-panel) 0 0;padding-bottom:calc(var(--pad-panel) + env(safe-area-inset-bottom,0px));inset:auto 0 0;box-shadow:0 -1px 2px #1018140d,0 -12px 32px #1018141f}.sunchip,.timebar{left:var(--space-3);right:var(--space-3);bottom:calc(62vh + 6rem)}.timebar__dock{padding:16px}.viewctl{bottom:calc(62vh + 2.75rem)}.header{row-gap:var(--space-2);gap:var(--space-2);height:auto;padding:var(--space-2) var(--space-3);flex-wrap:wrap}.header__search{flex-basis:100%;order:3;max-width:none;margin-inline:0}.header__actions{margin-left:auto}.chip{padding-inline:var(--space-2)}}.sheet__close{background:var(--green-050);width:26px;height:26px;color:var(--ink-2);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:17px;line-height:1}.scale-figure__label{border-radius:var(--radius-pill);color:#fff;font-size:11px;font-weight:var(--weight-label);letter-spacing:.02em;white-space:nowrap;background:#1d2b24db;padding:3px 9px;display:block}.walking-hint{z-index:5;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:var(--text-sm);letter-spacing:.01em;pointer-events:none;background:#16181ab8;margin:0;padding:9px 20px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.walking-hint strong{font-weight:var(--weight-label)}.walking-hint__vr{pointer-events:auto;border-radius:var(--radius-pill);color:#16181a;font:inherit;font-weight:var(--weight-label);font-size:var(--text-sm);letter-spacing:.02em;cursor:pointer;background:#f0efec;border:0;margin-top:8px;padding:5px 16px;display:inline-block}.walking-hint__vr:hover{background:#fff}.walking-hint__vr:focus-visible{outline-offset:2px;outline:2px solid #fff}.walking-hint__note{margin-top:5px;color:#d5d8dc;max-width:34ch;font-size:var(--text-sm);font-weight:var(--weight-body);margin-inline:auto;line-height:1.45;display:block}.attribution{z-index:4;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd1;align-items:center;gap:9px;padding:5px 13px 5px 11px;display:flex;position:absolute;bottom:24px;left:24px}@media (width<=900px){.attribution{left:var(--space-3);bottom:calc(62vh + var(--space-2))}}.attribution__mark{opacity:.72;display:flex}.attribution__mark img{display:block}.attribution__text{color:var(--ink-2);margin:0;font-size:.6875rem;line-height:1.2}.attribution__text a{color:inherit;text-decoration:none}.attribution__text a:hover,.attribution__text a:focus-visible{color:var(--ink);text-decoration:underline}.focus-toggle{z-index:4;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--paper);box-shadow:var(--shadow-chip);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink);cursor:pointer;align-items:center;gap:9px;padding:10px 18px;display:flex;position:absolute;bottom:74px;left:24px}.focus-toggle:hover{background:var(--green-050)}.focus-toggle--exit{background:var(--ink-green-900);color:var(--paper);border-color:#0000;inset:24px 24px auto auto}.focus-toggle--exit:hover{background:var(--green-700)}.focus-toggle kbd{font:inherit;font-size:var(--text-sm);background:#ffffff29;border-radius:5px;padding:1px 6px}.results button{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.results__kind{border-radius:50%;flex:none;align-self:center;width:9px;height:9px}.results__kind--development{background:#6fbfa6}.results__kind--building{background:#e87ba8}.results button small{flex-basis:100%;padding-left:18px}.results__none{border-radius:var(--radius-control);background:var(--green-050);font-size:var(--text-sm);color:var(--ink-2);margin:0;padding:13px 16px;line-height:1.45}.site-label--found{color:#c9457f}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.switch__input:active+.switch__track:after{--squash:1!important}.button:active{transform:none}}.overture{z-index:20;--overture-ground:#f4f2ee;background:var(--overture-ground);flex-direction:column;padding:42px clamp(24px,4vw,72px) 34px;transition:opacity .62s;display:flex;position:absolute;inset:0}.overture__marks,.overture__film,.overture__words{width:100%;max-width:1440px;margin-inline:auto}.overture__marks{justify-content:space-between;gap:24px;display:flex}.overture__film{background:var(--overture-ground);flex:auto;justify-content:center;align-items:center;min-height:0;padding-block:24px;display:flex}.overture__film video{opacity:0;mix-blend-mode:multiply;filter:brightness(1.05);max-width:100%;max-height:100%;transition:opacity .42s}.overture__film video.is-rolling{opacity:1}.overture__words{flex:none}.overture>*{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(10px)}.overture--shown>*{opacity:1;transform:none}.overture--shown .overture__words{transition-delay:.42s}.overture--shown .overture__marks{transition-delay:.7s}.overture--leaving{opacity:0;pointer-events:none}.overture.overture--leaving>*{opacity:0;transition:opacity .46s,transform .62s cubic-bezier(.4,0,.2,1);transform:translateY(-10px)}.overture__mark{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-body);letter-spacing:.06em;font-variant-numeric:var(--numeric);color:#6f757c;margin:0}.overture__title{font-family:var(--font-display);letter-spacing:-.02em;color:#7c7c79;margin:0;font-size:clamp(3.5rem,9vw,8.5rem);font-weight:300;line-height:.95}.overture__foot{justify-content:space-between;align-items:flex-end;gap:clamp(24px,6vw,96px);margin-top:26px;display:flex}.overture__blurb{max-width:34em;font-size:var(--text-body);color:var(--ink-2);margin:0;line-height:1.7}.overture__enter{border-radius:var(--radius-control);background:var(--green-700);color:#fff;min-height:48px;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-label);letter-spacing:.01em;cursor:pointer;transition:background var(--dur-quick) var(--ease), transform var(--dur-quick) var(--ease);border:0;flex:none;align-self:flex-end;align-items:center;gap:14px;padding:0 28px;display:inline-flex}.overture__enter:hover{background:var(--green-600)}.overture__enter:active{transform:translateY(1px)}.overture__enter:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.overture__actions{flex-wrap:wrap;flex:none;align-self:flex-end;gap:12px;display:flex}.overture__enter--quiet{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.overture__enter--quiet:hover{background:#16181a0f}.overture__mark--footer{margin-top:26px}@media (width<=760px){.overture{padding:26px 22px 22px}.overture__foot{flex-direction:column;align-items:stretch}.overture__enter{justify-content:center;align-self:stretch}.overture__actions{flex-direction:column;align-self:stretch}}
