*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--color-bg);color-scheme:dark;-webkit-text-size-adjust:100%}html[data-theme=light]{color-scheme:light}:root{--app-header-height: 64px;--app-viewport-height: 100vh;--app-visual-viewport-height: var(--app-viewport-height);--app-visual-viewport-bottom-inset: 0px;--app-mobile-dock-clearance: 0px}@supports (height: 100dvh){:root{--app-viewport-height: 100dvh;--app-visual-viewport-height: 100dvh}}@media(max-width:640px){:root{--app-header-height: 88px;--app-mobile-dock-clearance: calc(96px + env(safe-area-inset-bottom, 0px)) }}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);font-weight:var(--fw-regular);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums slashed-zero;min-height:var(--app-visual-viewport-height, var(--app-viewport-height));position:relative;overflow-x:hidden}@supports (overflow: clip){body{overflow-x:clip}}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(120vmax 80vmax at 92% -10%,color-mix(in oklab,var(--md-sys-color-primary) 14%,transparent) 0%,transparent 60%),radial-gradient(90vmax 70vmax at -10% 110%,color-mix(in oklab,var(--md-sys-color-tertiary) 12%,transparent) 0%,transparent 55%),var(--color-bg)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,color-mix(in oklab,var(--md-sys-color-outline-variant) 18%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--md-sys-color-outline-variant) 18%,transparent) 1px,transparent 1px);background-size:32px 32px,32px 32px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 40%,transparent 100%);opacity:.55}[data-theme=light] body:before{background:radial-gradient(120vmax 80vmax at 92% -10%,color-mix(in oklab,var(--md-sys-color-primary) 9%,transparent) 0%,transparent 60%),radial-gradient(90vmax 70vmax at -10% 110%,color-mix(in oklab,var(--md-sys-color-tertiary) 7%,transparent) 0%,transparent 55%),var(--color-bg)}[data-theme=light] body:after{opacity:.4}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--color-text);font-variant-numeric:tabular-nums slashed-zero}h1{font-size:var(--fs-2xl);line-height:var(--lh-2xl)}h2{font-size:var(--fs-xl);line-height:var(--lh-xl)}h3{font-size:var(--fs-lg);line-height:var(--lh-lg)}h4{font-size:var(--fs-md);line-height:var(--lh-md);font-weight:var(--fw-semibold)}h5{font-size:var(--fs-sm);line-height:var(--lh-sm);font-weight:var(--fw-medium);color:var(--color-text-muted)}h6{font-size:var(--fs-xs);line-height:var(--lh-xs);font-weight:var(--fw-medium);color:var(--color-text-muted)}p{margin:0}a{color:var(--color-accent);text-decoration:none;border-radius:var(--radius-xs);transition:color var(--dur-fast) var(--ease-snap)}a:hover{color:var(--color-accent-strong);text-decoration:underline;text-underline-offset:3px}a:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring-accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent;padding:0}code,pre,.mono,.mono-id{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"calt" 0,"zero" 1;font-size:.95em}.muted{color:var(--color-text-muted)}.dim{color:var(--color-text-dim)}.mono-id{font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-open)}.label-caps{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-normal);text-transform:none;color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--color-border-accent);background-clip:padding-box}.skip-link{position:absolute;left:var(--sp-4);top:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:var(--fs-sm);letter-spacing:var(--tracking-normal);transform:translateY(-200%);transition:transform var(--dur-base) var(--ease-snap);z-index:var(--z-skip-link);box-shadow:var(--md-sys-elevation-level-2)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:none;box-shadow:var(--md-sys-elevation-level-2),var(--shadow-focus-ring-accent)}.app-shell{display:flex;flex-direction:column;min-height:var(--app-visual-viewport-height, var(--app-viewport-height));isolation:isolate}.app-header{position:sticky;top:0;z-index:var(--z-header)}.app-main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:var(--sp-6) var(--sp-6)}.app-main.app-main--map{max-width:none;padding:0}@media(max-width:900px){.app-main{padding:var(--sp-5) var(--sp-4);padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom,0px))}}@media(max-width:640px){.app-main{padding:var(--sp-4) var(--sp-3);padding-bottom:calc(var(--sp-11) + env(safe-area-inset-bottom,0px))}body:has(.voice-dock.is-collapsed) .app-main{padding-bottom:var(--app-mobile-dock-clearance)}}.route-target{display:contents}.route-error{padding:var(--sp-6);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger)}@keyframes page-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-clip-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}::selection{background:var(--color-accent-wash);color:var(--color-text)}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(min-width:1100px){.app-main{padding-right:calc(420px + var(--sp-6) + var(--sp-4));transition:padding-right var(--dur-base) var(--ease-snap)}body:has(.voice-dock.is-collapsed) .app-main{padding-right:var(--sp-6)}.app-main.app-main--map{padding-right:0}}@media(min-width:1100px)and (max-width:1279px){.app-main{padding-right:calc(400px + var(--sp-5))}}#route-target h1[tabindex="-1"]:focus,#route-target h1[tabindex="-1"]:focus-visible{outline:none;box-shadow:none}.hero-numeral{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:var(--tracking-tight);line-height:.95;font-feature-settings:"lnum" 1,"tnum" 0}.eyebrow{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:var(--fs-md);color:var(--color-text-muted);letter-spacing:var(--tracking-normal)}@keyframes route-stage-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#route-target>*{animation:route-stage-in .42s var(--ease-out-expo) both}#route-target>*:nth-child(1){animation-delay:20ms}#route-target>*:nth-child(2){animation-delay:80ms}#route-target>*:nth-child(3){animation-delay:.14s}#route-target>*:nth-child(4){animation-delay:.2s}#route-target>*:nth-child(5){animation-delay:.26s}#route-target>*:nth-child(6){animation-delay:.32s}.app-main--map #route-target>*{animation:none}
