:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ecz-canvas:#f6f7f3;--ecz-surface:#fff;--ecz-fill-subtle:#edf0ee;--ecz-scrim:#17201b8c;--ecz-ink:#17201b;--ecz-ink-2:#3f4a43;--ecz-ink-muted:#69736c;--ecz-ink-disabled:#9aa39c;--ecz-green:#0b6b3a;--ecz-green-hover:#095c32;--ecz-green-press:#084e2a;--ecz-green-tint:#e8f1ea;--ecz-on-green:#fff;--ecz-green-tint-border:#c3dbcb;--ecz-amber:#a96000;--ecz-amber-ink:#7a4600;--ecz-amber-tint:#fbf3e7;--ecz-red:#b3261e;--ecz-red-ink:#8c1d18;--ecz-red-tint:#fbeeec;--ecz-border:#d8dfda;--ecz-border-strong:#bdc8c0;--ecz-border-control:#7e8a83;--ecz-e1:0 1px 2px #17201b0f;--ecz-e2:0 6px 16px -6px #17201b2e;--ecz-e3:0 12px 28px -10px #17201b38;--ecz-focus-halo:#0b6b3a;--ecz-focus:0 0 0 2px var(--ecz-canvas), 0 0 0 4px var(--ecz-focus-halo);--ecz-radius-control:10px;--ecz-radius-card:12px;--ecz-radius-sheet:14px;--ecz-font-ui:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ecz-font-num:var(--ecz-font-ui);--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading-tight:1.25;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--touch-min:44px;--touch-comfortable:48px;--layout-max:1120px;--layout-list-panel:460px;--color-canvas:var(--ecz-canvas);--color-surface:var(--ecz-surface);--color-ink:var(--ecz-ink);--color-primary:var(--ecz-green);--color-on-primary:var(--ecz-on-green);--color-secondary:var(--ecz-ink-muted);--color-ink-2:var(--ecz-ink-2);--color-border:var(--ecz-border);--color-border-strong:var(--ecz-border-control);--color-warning:var(--ecz-amber-ink);--color-error:var(--ecz-red);--color-primary-soft:var(--ecz-green-tint);--color-warning-soft:var(--ecz-amber-tint);--color-error-soft:var(--ecz-red-tint);--color-scrim:var(--ecz-scrim);--font-sans:var(--ecz-font-ui);--radius-sm:var(--ecz-radius-control);--radius-md:var(--ecz-radius-card);--radius-lg:var(--ecz-radius-sheet);--elevation-0:none;--elevation-1:var(--ecz-e1);--elevation-2:var(--ecz-e2);--focus-ring:var(--ecz-focus);--ecz-watermark:var(--ecz-green-press)}@supports (color:light-dark(#000, #fff)){:root{color-scheme:light dark;--ecz-canvas:light-dark(#f6f7f3,#111815);--ecz-surface:light-dark(#fff,#1a221d);--ecz-fill-subtle:light-dark(#edf0ee,#242e28);--ecz-scrim:light-dark(#17201b8c,#050a07b3);--ecz-ink:light-dark(#17201b,#e7ece8);--ecz-ink-2:light-dark(#3f4a43,#bcc6bf);--ecz-ink-muted:light-dark(#69736c,#93a098);--ecz-ink-disabled:light-dark(#9aa39c,#5f6a63);--ecz-green:light-dark(#0b6b3a,#6cc48f);--ecz-green-hover:light-dark(#095c32,#86d1a4);--ecz-green-press:light-dark(#084e2a,#55b07a);--ecz-green-tint:light-dark(#e8f1ea,#18362a);--ecz-green-tint-border:light-dark(#c3dbcb,#2a5540);--ecz-on-green:light-dark(#fff,#0b1a11);--ecz-amber:light-dark(#a96000,#d99a3f);--ecz-amber-ink:light-dark(#7a4600,#f2b55c);--ecz-amber-tint:light-dark(#fbf3e7,#33270f);--ecz-red:light-dark(#b3261e,#f08a80);--ecz-red-ink:light-dark(#8c1d18,#f5a89f);--ecz-red-tint:light-dark(#fbeeec,#3b1d19);--ecz-border:light-dark(#d8dfda,#2b3530);--ecz-border-strong:light-dark(#bdc8c0,#3a463f);--ecz-border-control:light-dark(#7e8a83,#75837a);--ecz-focus-halo:light-dark(#0b6b3a,#6cc48f);--ecz-watermark:light-dark(#084e2a,#1c3326)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--color-canvas);color:var(--color-ink);caret-color:var(--color-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0;overflow-x:clip}h1,h2,h3,p,dl,dd{margin:0}ul{margin:0;padding:0;list-style:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}::selection{background:var(--color-primary-soft);color:var(--color-ink)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--inset-top:max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px));--inset-bottom:max(env(safe-area-inset-bottom,0px), var(--safe-area-inset-bottom,0px))}.app{min-height:100dvh;max-width:var(--layout-max);padding:0 var(--space-4) var(--inset-bottom);flex-direction:column;margin:0 auto;display:flex}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);min-height:56px;padding:var(--space-1) 0;padding-top:calc(var(--space-1) + var(--inset-top));border-bottom:1px solid var(--color-border);background:var(--color-canvas);flex-wrap:wrap;display:flex;position:sticky;top:0}@media (width>=768px){.topbar{min-height:68px;padding:var(--space-3) 0;padding-top:calc(var(--space-3) + var(--inset-top))}}@media (width<=19.5em){.topbar{position:relative}}.topbar__brand{align-items:center;gap:var(--space-3);flex:auto;min-width:0;display:flex}.topbar__mark{flex:none}.topbar__names{flex-direction:column;gap:2px;min-width:0;display:flex}.topbar__wordmark{font-size:var(--text-xl);line-height:1.1;font-weight:var(--weight-semibold);color:var(--color-primary);letter-spacing:-.01em;overflow-wrap:break-word}.topbar__title{font-size:var(--text-sm);color:var(--color-secondary)}.lang-switch{align-items:center;gap:var(--space-1);flex:none;margin-left:auto;display:flex}.lang-switch__option{min-width:var(--touch-min);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #0000}.lang-switch__option[aria-pressed=true]{border-color:var(--color-border-strong);color:var(--color-ink);font-weight:var(--weight-semibold)}.lang-switch__sep{color:var(--color-border-strong)}.main{padding:var(--space-5) 0;gap:var(--space-5);flex-direction:column;flex:1;display:flex}.panel__heading{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.region-picker{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.region-picker{grid-template-columns:1fr 1fr}}.field__label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);display:block}.field__control{width:100%;min-height:var(--touch-comfortable);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;transition:border-color .12s ease-out}@media (hover:hover){.field__control:hover:not(:disabled){border-color:var(--color-ink-2)}}.field__hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-secondary)}.field--search{flex:20rem;min-width:0}.results__meta{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-secondary);flex-wrap:wrap;display:flex}@media (width<=719px){.results__count{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.results__updated{font-variant-numeric:tabular-nums}.roster-status{margin-bottom:var(--space-2)}.roster-status__line{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.roster-status__exceptions{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-ink-2)}.roster-status__all{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2)}.roster-status__closes{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-ink-2);white-space:nowrap}.roster-status--ended{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);line-height:var(--leading-normal);flex-direction:column;display:flex}.roster-status__title{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.roster-status__hint{font-size:var(--text-sm);color:var(--color-ink-2)}.district-filter{align-items:center;gap:var(--space-3);margin-top:calc(var(--space-1) - var(--space-5));margin-bottom:calc(var(--space-3) - var(--space-5));display:flex}.district-filter__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2);flex:none}.district-filter__control{flex:auto;min-width:0}.results-group+.results-group{margin-top:var(--space-5)}.results-group__heading{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:var(--leading-tight);display:flex}.results-group__count{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-secondary)}.results__heading{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2)}.results{gap:var(--space-3);flex-direction:column;display:flex}.results__footnote{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-secondary)}.row{padding:var(--space-1) var(--space-4) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.row__head{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.row__status{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row__closes{font-family:var(--ecz-font-num);font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2);white-space:nowrap}.row__name{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.row__name-button{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-min);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.row__name-text{overflow-wrap:break-word;min-width:0}.row__chevron{color:var(--color-secondary);flex:none}.row__name-button:hover,.row__name-button:hover .row__chevron{color:var(--color-primary)}.row__name-button:active,.row__name-button:active .row__chevron{color:var(--ecz-green-press)}.row__meta{gap:var(--space-3);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-secondary);flex-wrap:wrap;display:flex}.row__distance{margin-top:var(--space-2);color:var(--color-ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.row__head+.row__meta,.row__head+.row__address,.row__head+.row__distance,.row__head+.row__where{margin-top:0}.row__where{font-size:var(--text-sm);color:var(--color-ink-2)}.row__where-distance{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-ink)}.row__where+.row__address{margin-top:var(--space-1)}.row__hint{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-ink-2)}.row__address{margin-top:var(--space-2);font-size:var(--text-sm);-webkit-user-select:text;user-select:text}.row__phone{margin-top:var(--space-1);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.row__hours,.row__note,.row__soft-note{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-secondary)}.row__note{color:var(--color-ink)}.status-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);max-width:100%;display:inline-flex}.status-badge--open_now{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.status-badge--on_duty{border-color:var(--color-border-strong);color:var(--color-ink)}.status-badge--starts_later,.status-badge--hours_unknown{color:var(--color-secondary)}.status-badge--ended{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.button--call{padding-inline:var(--space-2);line-height:var(--leading-tight);flex-direction:column;gap:0}.button__detail{font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.92}.actions--row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.actions--detail{grid-template-columns:repeat(auto-fit, minmax(min(100%, max(8.5em, (100% - var(--space-3)) / 2)), 1fr));gap:var(--space-3);margin-top:0;display:grid}.button{min-height:var(--touch-comfortable);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:inline-flex}.button--primary{background:var(--color-primary);color:var(--color-on-primary)}.button--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink)}.button--quiet{color:var(--color-primary);padding-inline:var(--space-2);background:0 0}@media (hover:hover){.button--primary:hover{background:var(--ecz-green-hover)}.button--secondary:hover,.button--quiet:hover{background:var(--ecz-fill-subtle)}}.button--primary:active{background:var(--ecz-green-press)}.button--secondary:active{background:var(--color-border)}.button--quiet:active{background:var(--color-border);color:var(--ecz-green-press)}.actions__unavailable{min-height:var(--touch-comfortable);font-size:var(--text-sm);color:var(--color-secondary);align-items:center;display:inline-flex}.actions__status{font-size:var(--text-sm);color:var(--color-ink-2);flex-basis:100%}.callout{padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);font-size:var(--text-sm)}.callout--info{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink)}.callout .gate__hint{color:var(--color-ink-2)}.callout--warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.callout--demo{background:var(--color-surface);color:var(--color-secondary);border-style:dashed}.callout--inline{margin-top:var(--space-3)}.state{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-secondary)}.state h2{font-size:var(--text-lg);color:var(--color-ink);margin-bottom:var(--space-2)}.state--error{border-color:var(--color-error)}.state--error h2{color:var(--color-error)}.state__hint{margin-top:var(--space-2);font-size:var(--text-sm)}.official-route{font-size:var(--text-sm);line-height:var(--leading-normal)}.official-route__link{min-height:var(--touch-min);font-weight:var(--weight-semibold);color:var(--color-primary);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.state__official{margin-top:var(--space-3)}.detail{gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.detail__back{align-self:flex-start}.detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.detail__name{font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.detail__fields{gap:var(--space-1);font-size:var(--text-sm);grid-template-columns:1fr;display:grid}.detail__fields dt{color:var(--color-secondary)}.detail__fields dd{margin-bottom:var(--space-3)}@media (width>=600px){.detail__fields{gap:var(--space-2) var(--space-5);grid-template-columns:minmax(140px,max-content) 1fr}.detail__fields dd{margin-bottom:0}}.detail__where{gap:var(--space-1);flex-direction:column;display:flex}.detail__address{font-size:var(--text-base);font-weight:var(--weight-medium);-webkit-user-select:text;user-select:text}.detail__place{font-size:var(--text-sm);color:var(--color-ink-2)}.detail__distance{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-ink)}.detail__hint{font-size:var(--text-sm);color:var(--color-ink)}.detail__note{margin-top:calc(-1 * var(--space-2));border-inline-start:3px solid var(--color-border-strong);font-size:var(--text-sm);color:var(--color-ink);padding-inline-start:var(--space-3)}.report{padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm)}.report__toggle{margin-top:0}.report__panel{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.report__prompt{font-weight:var(--weight-semibold)}.report__reasons{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.report__reason{margin-top:0}.report__sends{color:var(--color-ink-2)}.report__problem{color:var(--color-ink);font-weight:var(--weight-medium)}.report--sent{color:var(--color-ink)}.footer{padding:var(--space-5) 0;border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-secondary);gap:var(--space-2);flex-direction:column;display:flex}@media (width>=1024px){.app{padding-inline:var(--space-6)}.results{grid-template-columns:repeat(auto-fill, minmax(var(--layout-list-panel), 1fr));gap:var(--space-4);display:grid}}@media (forced-colors:active){.status-badge,.button,.field__control,.row{border:1px solid canvastext}}.gate{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.gate__heading{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.gate__rationale{font-size:var(--text-sm);color:var(--color-secondary);max-width:60ch}.gate__hint{font-size:var(--text-sm);color:var(--color-secondary)}.button--choice{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink);font-weight:var(--weight-semibold)}.gate__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.gate__actions .button{flex:auto;min-width:200px}.button:disabled{opacity:.6;cursor:default}.view-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.view-toggle__option{min-height:var(--touch-comfortable);padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;border:0}.view-toggle__option[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-semibold)}.map-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:320px;position:relative;overflow:hidden}.map-panel__canvas{width:100%;min-height:320px}.map-panel__loading,.map-panel--unavailable{min-height:320px;padding:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--color-secondary);justify-content:center;align-items:center;display:flex}.map-panel--unavailable{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface)}.demo-banner{background:var(--ecz-amber-tint);border-bottom:2px solid var(--ecz-amber);color:var(--ecz-amber-ink);padding:var(--space-3) var(--space-4)}.demo-banner__title{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0 0 var(--space-1)}.demo-banner__body{font-size:var(--text-sm);line-height:var(--leading-normal);max-width:68ch;margin:0}.demo-banner__route{margin:var(--space-2) 0 0;max-width:68ch}.demo-banner__route .official-route__link{color:inherit}.footer__legal{align-self:flex-start;padding-inline:0}.footer__status{color:var(--color-ink-2)}.theme-switch{align-items:center;gap:var(--space-1) var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.theme-switch__label{margin-right:var(--space-2)}.theme-switch__option{min-width:var(--touch-min);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-2);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #0000;transition:background-color .12s ease-out,color .12s ease-out}.theme-switch__option[aria-pressed=true]{border-color:var(--color-border-strong);color:var(--color-ink);font-weight:var(--weight-semibold)}@media (hover:hover){.theme-switch__option:hover{background:var(--ecz-fill-subtle);color:var(--color-ink)}}.theme-switch__option:active{background:var(--color-border)}.share-sheet{max-width:26rem;width:calc(100% - var(--space-6));max-height:calc(100dvh - var(--space-6) - 2 * max(var(--inset-top), var(--inset-bottom)));border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);padding:0}.share-sheet::backdrop{background:var(--color-scrim)}.share-sheet__body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.share-sheet__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.share-sheet__title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.share-sheet__preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--ecz-fill-subtle);max-height:min(52dvh,30rem);overflow:auto}.share-sheet__preview[data-state=drawing]{min-height:12rem}.share-sheet__canvas{width:100%;height:auto;display:block}.share-sheet__text{padding:var(--space-4);white-space:pre-line;overflow-wrap:anywhere;font-size:var(--text-sm);color:var(--color-ink)}.share-sheet__actions{gap:var(--space-2);display:grid}.share-sheet__status{min-height:1.25rem;font-size:var(--text-sm);color:var(--color-ink-2);text-align:center}.legal{max-width:68ch;width:calc(100% - var(--space-6));max-height:calc(100% - 6px - 2em - 2 * max(var(--inset-top), var(--inset-bottom)));border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);padding:0}.legal::backdrop{background:var(--color-scrim)}.legal__body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.legal__title{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.legal__updated{font-size:var(--text-xs);color:var(--color-secondary)}.legal h3{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-top:var(--space-3)}.legal p,.legal__list{font-size:var(--text-sm)}.legal__list{padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;list-style:outside;display:flex}.legal__actions{margin-top:var(--space-4)}.skeleton{gap:var(--space-2);flex-direction:column;min-height:100vh;display:flex}.skeleton__row{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.55rem;display:flex}.skeleton__line{border-radius:var(--radius-sm,.25rem);background:var(--color-fill-subtle);height:.85rem}.skeleton__line--title{width:62%;height:1.05rem}.skeleton__line--meta{width:38%}.skeleton__line--address{width:88%}@media (prefers-reduced-motion:no-preference){.skeleton__line{background-image:linear-gradient(90deg, var(--color-fill-subtle) 0%, var(--color-surface) 45%, var(--color-fill-subtle) 90%);background-size:240% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}}@keyframes skeleton-shimmer{0%{background-position:160% 0}to{background-position:-60% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.callout--stale{background:var(--color-warning-soft);border:1px solid var(--color-warning);color:var(--color-ink)}.install{margin-top:var(--space-6);padding:var(--space-4);background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}.install__title{font-size:var(--text-base);color:var(--color-ink);margin:0}.install__body{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-ink-2)}.install__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.install__done{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-ink-2)}.gate__mark{margin:0 auto var(--space-4);display:block}.watermark{--watermark-gutter:calc((100vw - var(--layout-max)) / 2);left:calc(50% + var(--layout-max) / 2 + var(--space-4));width:min(560px, calc(var(--watermark-gutter) - var(--space-6)));z-index:0;height:auto;color:var(--ecz-watermark);opacity:.16;pointer-events:none;display:none;position:fixed;top:12vh}@media (width>=1400px){.watermark{display:block}}.app>:not(.watermark):not(.topbar):not(dialog){position:relative}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.watermark{display:none}}.landing{gap:var(--space-7);flex-direction:column;display:flex}.hero{max-width:44rem;display:block}.hero__title{letter-spacing:-.04em;font-size:clamp(1.875rem,4.5vw,3rem);line-height:1.05;font-weight:var(--weight-semibold);text-wrap:balance;margin:0}.hero__lede{max-width:38rem;margin-top:var(--space-4);color:var(--ecz-ink-2);font-size:var(--text-lg);line-height:var(--leading-normal)}.finder{margin-top:var(--space-5);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-1)}.finder__primary{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-comfortable);padding:var(--space-3) var(--space-4);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;display:flex}.finder__primary:disabled{cursor:default;opacity:.75}@media (hover:hover){.finder__primary:not(:disabled):hover{background:var(--ecz-green-hover);border-color:var(--ecz-green-hover)}.finder__secondary:hover,.cities__link:hover,.filters__toggle:hover,.lang-switch__option:hover{background:var(--ecz-fill-subtle)}.lang-switch__option:hover{color:var(--color-ink)}}.finder__primary:not(:disabled):active{background:var(--ecz-green-press);border-color:var(--ecz-green-press)}.finder__secondary:active,.cities__link:active,.filters__toggle:active{background:var(--color-border)}.finder__secondary{width:100%;min-height:var(--touch-comfortable);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;transition:background-color .12s ease-out;display:flex}.finder__or{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-secondary);font-size:var(--text-sm);display:flex}.finder__or:before,.finder__or:after{content:"";background:var(--color-border);flex:1;height:1px}.finder__privacy{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-secondary);font-size:var(--text-xs)}.micro-trust{gap:var(--space-3) var(--space-5);margin-top:var(--space-4);color:var(--color-secondary);font-size:var(--text-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=720px){.micro-trust{flex-wrap:wrap;display:flex}}.section__title{margin-top:var(--space-2);font-size:clamp(1.5rem,3vw,2.25rem);line-height:var(--leading-tight);letter-spacing:-.03em;font-weight:var(--weight-semibold);text-wrap:balance}.section__lede{max-width:40rem;margin-top:var(--space-3);color:var(--ecz-ink-2)}.steps,.trust__list,.cities__list,.micro-trust{padding:0;list-style:none}.steps,.trust__list{margin-top:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:1fr;display:grid}@media (width>=720px){.steps,.trust__list{column-gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}}.step,.trust__item{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.step{column-gap:var(--space-3);grid-template-columns:2rem minmax(0,1fr);display:grid}.step__number{color:var(--color-ink-2);font-family:var(--ecz-font-num);font-size:var(--text-xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;grid-row:1/span 2;padding-top:1px;line-height:1}.step__title,.trust__title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.step__body,.trust__body{margin-top:var(--space-1);color:var(--color-secondary);font-size:var(--text-sm);grid-column:2}.cities__list{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.cities__link{min-height:var(--touch-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:999px;transition:background-color .12s ease-out}.faq__list{margin-top:var(--space-4);border-top:1px solid var(--color-border)}.faq__item{border-bottom:1px solid var(--color-border)}.faq__question{padding:var(--space-4) 0;font-weight:var(--weight-medium);cursor:pointer;list-style-position:outside}.faq__answer{padding-bottom:var(--space-4);color:var(--color-secondary);max-width:42rem}.state__action{min-height:var(--touch-comfortable);margin-top:var(--space-4);padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.state__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.state__actions .state__action{margin-top:0}.region-summary{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch-min);flex-wrap:wrap;display:flex}.region-summary__value{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.region-summary__place{margin-top:calc(-1 * var(--space-3));font-size:var(--text-sm);color:var(--color-ink-2);flex-basis:100%}.region-summary__note{flex-basis:100%}.results__more{width:100%;margin-top:var(--space-4)}.region-panel__done{margin-top:var(--space-4)}.callout--ageing{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:var(--color-secondary);font-size:var(--text-sm)}.filters{margin-bottom:var(--space-2)}.filters__toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-comfortable);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit;cursor:pointer;display:flex}.filters__badge{margin-left:var(--space-2);padding:2px var(--space-2);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:999px}.filters__count{color:var(--color-ink-2);font-size:var(--text-sm)}.filters__scrim{display:none}.filters__scrim[data-open=true]{z-index:21;background:var(--color-scrim);display:block;position:fixed;inset:0}.filters__panel[data-open=false]{display:none}.filters__panel{z-index:22;gap:var(--space-4);max-height:80dvh;padding:var(--space-5) var(--space-4) calc(var(--space-5) + var(--inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--elevation-1);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.filters__panel:focus-visible{box-shadow:var(--elevation-1);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.filters__check{align-items:center;gap:var(--space-3);min-height:var(--touch-min);cursor:pointer;display:flex}.filters__check input{width:24px;height:24px}.filters__actions{gap:var(--space-3);display:flex}.filters__actions .button{flex:1}@media (width>=720px){.filters__toggle,.filters__scrim[data-open=true],.filters__apply{display:none}.filters__panel,.filters__panel[data-open=false]{max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;flex-flow:wrap;align-items:flex-end;padding:0;display:flex;position:static;overflow:visible}.filters__panel:focus-visible{box-shadow:none;border-radius:0}.filters__radius{min-width:12rem}.filters__actions{flex:none}}.filters__panel .field--search{flex:none}@media (width>=720px){.filters__panel .field--search{flex:20rem}}.field__control:disabled{background:var(--color-canvas);color:var(--color-secondary);border-color:var(--color-border);cursor:not-allowed}
