@font-face{font-family:Expletus Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/expletus-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Expletus Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/expletus-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}@font-face{font-family:Expletus Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/expletus-sans-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Expletus Sans;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/expletus-sans-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}#root{margin:0 auto;min-height:100dvh;padding-bottom:var(--dock-clearance)}@media(prefers-reduced-motion:no-preference){.view-transition{animation:view-enter var(--motion-view) var(--ease-out) both}}@keyframes view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){.motion-pop{animation:pop-in var(--motion-pop) var(--ease-out) both}.motion-fade{animation:fade-in var(--motion-pop) var(--ease-standard) both}}html,body{background:var(--page);margin:0;min-height:100%;overflow-x:clip}body{background:radial-gradient(120% 45rem at 50% -18rem,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%) fixed,var(--page)}html{overscroll-behavior-y:none;scroll-behavior:smooth}:root{font-family:var(--font-family-base);--font-family-base: "Expletus Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-micro: .65rem;--font-size-caption: .7rem;--font-size-label: .75rem;--font-size-control: .82rem;--font-size-body-sm: .9rem;--font-size-body: 1rem;--font-size-body-lg: 1.05rem;--font-size-card-title: 1rem;--font-size-heading-sm: 1.2rem;--font-size-heading-lg: 1.75rem;--font-size-data: 1.4rem;--font-size-data-compact: 1.2rem;--font-size-section-title: clamp(1.25rem, 3vw, 1.75rem);--font-size-page-title: clamp(2.25rem, 6vw, 4rem);--font-size-metric: clamp(1.5rem, 4vw, 2.25rem);--line-height-display: 1;--line-height-heading: 1.15;--line-height-snug: 1.3;--line-height-body: 1.4;--line-height-relaxed: 1.55;--letter-spacing-tight: -.04em;--letter-spacing-snug: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .08em;--motion-fast: .11s;--motion-pop: .16s;--motion-view: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.4, .44, 1);--dock-clearance: 0px;--page: #eaeef4;--surface: #ffffff;--surface-sunk: #f2f5f9;--surface-over: #ffffff;--control: #eef1f6;--control-hover: #e3e8f0;--control-active: #d5dde9;--border-subtle: #e4e8ee;--border: #d8dee8;--border-strong: #b9c2d0;--ink: #111827;--ink-muted: #566270;--pill-height: 1.9rem;--shadow-1: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);--shadow-2: 0 4px 8px rgba(16, 24, 40, .08), 0 12px 24px rgba(16, 24, 40, .1);--accent: #1f64ff;--accent-hover: #1a52d8;--accent-text: #1a52d8;--success: #15803d;--success-hover: #116932;--success-bg: #ddf0e4;--success-border: #b8dfc5;--success-text: #10682f;--success-fill: #15803d;--success-fill-hover: #116932;--danger: #e64d4d;--danger-hover: #cf2f2f;--danger-bg: #fae2e5;--danger-bg-hover: #f6d3d8;--danger-border: #efbcc3;--danger-text: #a22626;--danger-text-strong: #7a1220;--danger-fill: #cf2f2f;--danger-fill-hover: #b02525;--warning: #d97706;--warning-bg: #fff6d8;--warning-border: #ead78e;--warning-text: #8a5a00;--warning-fill: #d99a13;--info-bg: #e8edff;--info-border: #cbd5ff;--info-text: #2445a8;--line-rd-tint: #ffd8dc;--line-rd-hover: #ffc4ca;--line-rd-accent: #be1e2d;--line-bl-tint: #c7e6f9;--line-bl-hover: #acdaf6;--line-bl-accent: #0069a6;--line-or-tint: #ffdeb3;--line-or-hover: #ffcf8f;--line-or-accent: #da770a;--line-sv-tint: #d3d9e2;--line-sv-hover: #c4ccd8;--line-sv-accent: #5f6b7a;--line-yl-tint: #ffef9e;--line-yl-hover: #ffe770;--line-yl-accent: #c79900;--line-gr-tint: #c5ebca;--line-gr-hover: #a9e2b1;--line-gr-accent: #008000;--glass-surface: var(--surface);--glass-surface-strong: var(--surface);--glass-surface-soft: var(--surface-sunk);--glass-dropdown-surface: var(--surface-over);--glass-control: var(--control);--glass-control-hover: var(--control-hover);--glass-control-active: var(--control-active);--glass-control-success: var(--success-bg);--glass-control-danger: var(--danger-bg);--glass-border: var(--border);--glass-border-muted: var(--border-subtle);--glass-shadow: var(--shadow-1);--glass-shadow-soft: var(--shadow-1);--glass-blur: none;--glass-blue: var(--accent);--glass-blue-hover: var(--accent-hover);--glass-green: var(--success-fill);--glass-green-hover: var(--success-fill-hover);--glass-red: var(--danger);--glass-red-hover: var(--danger-hover);--glass-ink: var(--ink);--glass-ink-muted: var(--ink-muted);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--page: #0f141d;--surface: #19202b;--surface-sunk: #131922;--surface-over: #222b39;--control: #242e3c;--control-hover: #2d3949;--control-active: #3a4859;--border-subtle: #222b37;--border: #2e3a48;--border-strong: #47566a;--ink: #e6ebf3;--ink-muted: #adb9c8;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .5);--shadow-2: 0 4px 8px rgba(0, 0, 0, .45), 0 12px 24px rgba(0, 0, 0, .5);--accent-text: #7ea6ff;--success: #5fc47f;--success-hover: #46b169;--success-bg: #17301f;--success-border: #2a5636;--success-text: #5fc47f;--success-fill: #1d7a3f;--success-fill-hover: #176633;--danger: #f2696b;--danger-hover: #e04f52;--danger-bg: #3a1c20;--danger-bg-hover: #4a242a;--danger-border: #5e2b30;--danger-text: #f08b8b;--danger-text-strong: #f4a7a7;--danger-fill: #c23434;--danger-fill-hover: #a82b2b;--warning: #e08c1f;--warning-bg: #3a2e12;--warning-border: #5c4820;--warning-text: #e8b34a;--warning-fill: #d99a13;--info-bg: #1b2745;--info-border: #2d3f6b;--info-text: #8fabf5;--line-rd-tint: #4a1f26;--line-rd-hover: #5e262f;--line-rd-accent: #f2596b;--line-bl-tint: #14344a;--line-bl-hover: #1a4460;--line-bl-accent: #4fb3ee;--line-or-tint: #4a3115;--line-or-hover: #5e3d1a;--line-or-accent: #f0912e;--line-sv-tint: #2c3542;--line-sv-hover: #384354;--line-sv-accent: #9fb0c4;--line-yl-tint: #453a12;--line-yl-hover: #574918;--line-yl-accent: #e5c033;--line-gr-tint: #143a20;--line-gr-hover: #1a4b2a;--line-gr-accent: #46c46a;color-scheme:dark}button,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}button,input,select,textarea{font-family:inherit}@media(prefers-reduced-motion:no-preference){button,[role=button]{transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}}.icon{display:inline-block;fill:none;flex:none;height:1em;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vertical-align:-.125em;width:1em}.icon-button{align-items:center;box-sizing:border-box;cursor:pointer;display:inline-flex;flex:none;justify-content:center;line-height:1;padding:0}body,input,select,textarea{font-size:var(--font-size-body);line-height:var(--line-height-body)}button{font-size:var(--font-size-control);line-height:var(--line-height-snug)}h1{font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-display)}h2{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);line-height:var(--line-height-heading)}h3,h4,h5,h6{font-size:var(--font-size-card-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug)}label,legend{font-size:var(--font-size-label)}small{font-size:var(--font-size-caption)}strong,b{font-weight:var(--font-weight-bold)}code,kbd,pre,samp{font-family:var(--font-family-mono)}@media(prefers-reduced-motion:no-preference){button:active:not(:disabled),[role=button]:active{transform:scale(.965)!important;transition-duration:60ms!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.skeleton{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(100deg,var(--control) 40%,var(--control-hover) 50%,var(--control) 60%);background-size:200% 100%;border-radius:8px;color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--control)}}.glass-surface{--ink: var(--glass-ink);--ink-muted: var(--glass-ink-muted);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);color:var(--ink)}.glass-surface.glass-strong{box-shadow:var(--shadow-2)}.glass-surface.glass-soft{background:var(--surface-sunk);border-color:var(--border-subtle);box-shadow:none}.glass-surface.glass-dropdown{background:var(--surface-over);box-shadow:var(--shadow-2)}@media(max-width:480px){:root{--pill-height: 1.7rem}}.station-location-refresh,.refresh-trains-button,.alert-refresh,.traffic-sidebar-heading button,.traffic-error button{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;min-height:var(--pill-height);padding-block:0}:root[data-dev-effects=true]{--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-text: #6d28d9;--info-bg: #f3e8ff;--info-border: #ddd6fe;--info-text: #6d28d9}:root[data-theme=dark][data-dev-effects=true]{--accent-text: #c4b5fd;--info-bg: #2e1d47;--info-border: #513477;--info-text: #d8b4fe}:root[data-dev-effects=true] .header.glass-surface.glass-strong{border-bottom:2px solid var(--accent)}:root[data-dev-effects=true] .favorite-list-button{border-color:var(--accent)}.type-page-title{font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-display)}.type-section-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);line-height:var(--line-height-heading)}.type-heading{font-size:var(--font-size-heading-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);line-height:var(--line-height-heading)}.type-heading-sm{font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);line-height:var(--line-height-snug)}.type-card-title{font-size:var(--font-size-card-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug)}.type-body-lg{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-body)}.type-body{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-body)}.type-body-sm{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-body)}.type-control{font-size:var(--font-size-control);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug)}.type-label{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug)}.type-caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug)}.type-micro{font-size:var(--font-size-micro);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug)}.type-metric{font-size:var(--font-size-metric);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-display)}.type-data{font-size:var(--font-size-data);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}.type-data-compact{font-size:var(--font-size-data-compact);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}.type-eyebrow{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-snug);text-transform:uppercase}.type-code{font-family:var(--font-family-mono);font-size:.85em;font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal)}.type-regular{font-weight:var(--font-weight-regular)}.type-medium{font-weight:var(--font-weight-medium)}.type-semibold{font-weight:var(--font-weight-semibold)}.type-bold{font-weight:var(--font-weight-bold)}.type-caps{letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.times-table{display:flex;flex-direction:column;flex:1;width:100%;border-radius:16px;margin:0 auto;padding:1rem;box-sizing:border-box;overflow:hidden}.times-table-content{min-height:0;overflow-y:auto}.times-table-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.6rem}.times-table h3{color:var(--ink);font-size:var(--font-size-card-title);margin:0}.times-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.live-indicator{align-items:center;color:var(--ink-muted);display:inline-flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);gap:.3rem;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.live-indicator-dot{background:var(--success);border-radius:50%;height:.45rem;width:.45rem}@media(prefers-reduced-motion:no-preference){.live-indicator-dot{animation:live-pulse 2.4s ease-in-out infinite}}@keyframes live-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--success) 45%,transparent)}55%{box-shadow:0 0 0 5px transparent}}.refresh-trains-button{background:var(--glass-control);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);padding-inline:.85rem;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.refresh-trains-button:hover{background:var(--glass-control-hover);transform:translateY(-1px)}.refresh-trains-button:disabled{cursor:wait;opacity:.68;transform:none}.arrival-list{list-style:none;margin:0;padding:0;transition:opacity var(--motion-fast) var(--ease-standard)}.arrival-list.is-refreshing{opacity:.55}.arrival-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:.75rem;min-width:0;padding:.55rem .15rem}.arrival-row:last-child{border-bottom:none}.arrival-row.is-arriving{--arrival-row-flash-color: var(--success)}.arrival-row.is-boarding{--arrival-row-flash-color: var(--accent)}@media(prefers-reduced-motion:no-preference){.arrival-row.is-arriving,.arrival-row.is-boarding{animation:arrival-row-background-flash 1.35s ease-in-out infinite}}@media(prefers-reduced-motion:reduce){.arrival-row.is-arriving,.arrival-row.is-boarding{background-color:color-mix(in srgb,var(--arrival-row-flash-color) 18%,transparent)}}@keyframes arrival-row-background-flash{0%,to{background-color:color-mix(in srgb,var(--arrival-row-flash-color) 5%,transparent)}50%{background-color:color-mix(in srgb,var(--arrival-row-flash-color) 28%,transparent)}}.arrival-line{align-items:center;background:var(--control);border-radius:10px;color:var(--ink-muted);display:inline-flex;flex:0 0 2.15rem;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);height:2.15rem;justify-content:center}.arrival-line[data-line=RD]{background:var(--line-rd-tint);color:var(--line-rd-accent)}.arrival-line[data-line=BL]{background:var(--line-bl-tint);color:var(--line-bl-accent)}.arrival-line[data-line=OR]{background:var(--line-or-tint);color:var(--line-or-accent)}.arrival-line[data-line=SV]{background:var(--line-sv-tint);color:var(--line-sv-accent)}.arrival-line[data-line=YL]{background:var(--line-yl-tint);color:var(--line-yl-accent)}.arrival-line[data-line=GR]{background:var(--line-gr-tint);color:var(--line-gr-accent)}.arrival-destination{display:flex;flex:1;flex-direction:column;gap:.05rem;min-width:0}.arrival-destination-head{align-items:baseline;column-gap:.4rem;display:flex;flex-wrap:wrap;min-width:0;row-gap:.05rem}.arrival-destination-name{color:var(--ink);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrival-stations-away{color:var(--ink-muted);flex:none;font-size:var(--font-size-control)}.arrival-cars{color:var(--ink-muted);font-size:var(--font-size-caption)}.arrival-time{align-items:baseline;display:inline-flex;flex:none;gap:.2rem}.arrival-minutes{color:var(--ink);font-size:var(--font-size-data);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);line-height:1}.arrival-unit{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.arrival-badge{border:1px solid transparent;border-radius:999px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:.26rem .55rem;white-space:nowrap}.arrival-badge.is-boarding{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.arrival-badge.is-arriving{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.arrival-badge.is-delayed{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.arrival-skeleton-name{height:.9rem}.arrival-skeleton-time{flex:none;height:1.25rem;width:2.6rem}.arrival-route{display:none}.arrival-route[data-line=RD]{--route-line-color: var(--line-rd-accent)}.arrival-route[data-line=BL]{--route-line-color: var(--line-bl-accent)}.arrival-route[data-line=OR]{--route-line-color: var(--line-or-accent)}.arrival-route[data-line=SV]{--route-line-color: var(--line-sv-accent)}.arrival-route[data-line=YL]{--route-line-color: var(--line-yl-accent)}.arrival-route[data-line=GR]{--route-line-color: var(--line-gr-accent)}.arrival-route:before{background:var(--route-line-color, var(--border-strong));border-radius:999px;content:"";height:2px;left:.4rem;position:absolute;right:.4rem;top:50%;transform:translateY(-50%)}.arrival-stop{align-items:center;display:flex;flex:1;justify-content:center;min-width:0;position:relative}.arrival-stop-dot{background:var(--surface);border:2px solid var(--route-line-color, var(--border-strong));border-radius:50%;box-sizing:content-box;flex:none;height:.5rem;width:.5rem;z-index:1}.arrival-stop-dot.is-more{align-items:center;border-radius:999px;border-style:dashed;box-sizing:border-box;color:var(--ink-muted);display:flex;font-size:var(--font-size-micro);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);height:1.1rem;justify-content:center;line-height:1;min-width:1.1rem;padding:0 .2rem;width:auto}.arrival-stop:last-child .arrival-stop-dot{background:var(--route-line-color, var(--border-strong))}.arrival-stop-dot.is-train{background:var(--route-line-color, var(--border-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--route-line-color, var(--ink-muted)) 28%,transparent);height:.7rem;width:.7rem}.arrival-stop-dot.is-you{background:var(--surface);border-color:var(--accent);border-width:3px;height:.62rem;width:.62rem}.arrival-stop-dot.is-train.is-you{background:var(--route-line-color, var(--border-strong));border-color:var(--accent);border-width:3px;height:.7rem;width:.7rem}.arrival-route.is-live:before{background:linear-gradient(to right,color-mix(in srgb,var(--route-line-color) 45%,transparent),var(--route-line-color) 22%)}@media(prefers-reduced-motion:no-preference){.arrival-stop-dot.is-train{animation:arrival-train-pulse 2s ease-in-out infinite}}@media(max-width:768px){.arrival-row{column-gap:.6rem;display:grid;grid-template-columns:1.7rem minmax(0,1fr) auto;row-gap:.1rem}.arrival-line{border-radius:8px;font-size:var(--font-size-label);grid-column:1;grid-row:1;height:1.7rem}.arrival-destination{grid-column:2;grid-row:1}.arrival-time{grid-column:3;grid-row:1}.arrival-route{display:flex;grid-column:1 / -1;grid-row:2;height:1.15rem;margin:-.1rem .35rem 0;min-width:0;position:relative}.arrival-stop-name{display:none}.arrival-destination-name,.arrival-cars{line-height:1.15}}@media(min-width:1140px){.arrival-destination{flex:0 1 14.5rem}.arrival-route{align-self:stretch;display:flex;flex:1;margin:0 .5rem;min-height:3.2rem;min-width:9rem;position:relative}.arrival-stop.is-you .arrival-stop-name{color:var(--accent-text);font-weight:var(--font-weight-bold)}}@keyframes arrival-train-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--route-line-color, var(--ink-muted)) 28%,transparent)}55%{box-shadow:0 0 0 6px transparent}}@media(min-width:1140px){.arrival-stop-name{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);left:50%;max-width:7rem;overflow:hidden;position:absolute;text-overflow:ellipsis;top:calc(50% + .5rem);transform:translate(-50%);white-space:nowrap}.arrival-stop:nth-child(2n) .arrival-stop-name{bottom:calc(50% + .5rem);top:auto}}.times-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:10px;color:var(--danger-text-strong);font-size:var(--font-size-control);margin:0 0 .6rem;padding:.45rem .6rem}.times-empty{color:var(--ink-muted);margin:.4rem 0 0}@media(max-width:768px){.times-table{min-width:0;width:100%;box-sizing:border-box;padding:.9rem}}@media(max-width:480px){.times-table{border-radius:12px;padding:.7rem}.times-table h3{font-size:var(--font-size-card-title)}.times-table-header{margin-bottom:.45rem}.refresh-trains-button{font-size:var(--font-size-control);padding-inline:.6rem}.arrival-row{padding:.38rem .1rem}.arrival-destination-name{font-size:var(--font-size-body-sm)}.arrival-cars{font-size:var(--font-size-caption)}.arrival-stations-away{font-size:var(--font-size-label)}.arrival-minutes{font-size:var(--font-size-data-compact)}}.approaching-trains{border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;margin-top:1rem;padding:1rem;width:100%}.approaching-body{flex:1;min-height:0;overflow-y:auto}.approaching-header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.85rem}.approaching-header h3{color:var(--ink);font-size:var(--font-size-card-title);margin:0}.approaching-updated{color:var(--ink-muted);font-size:var(--font-size-caption);white-space:nowrap}.approaching-status{color:var(--ink-muted);font-size:var(--font-size-body-sm);margin:0}.approaching-status.is-stale{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px;color:var(--warning-text);font-size:var(--font-size-label);margin-top:.6rem;padding:.45rem .6rem}.approaching-direction{background:var(--glass-surface-soft);border:1px solid var(--glass-border-muted);border-radius:12px;display:flex;gap:.7rem;padding:.7rem .8rem}.approaching-direction+.approaching-direction{margin-top:.6rem}.approaching-line-chip{align-items:center;border-radius:9px;display:inline-flex;flex:0 0 2.1rem;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);height:2.1rem;justify-content:center}.approaching-line-chip[data-line=RD]{background:var(--line-rd-tint);color:var(--line-rd-accent)}.approaching-line-chip[data-line=BL]{background:var(--line-bl-tint);color:var(--line-bl-accent)}.approaching-line-chip[data-line=OR]{background:var(--line-or-tint);color:var(--line-or-accent)}.approaching-line-chip[data-line=SV]{background:var(--line-sv-tint);color:var(--line-sv-accent)}.approaching-line-chip[data-line=YL]{background:var(--line-yl-tint);color:var(--line-yl-accent)}.approaching-line-chip[data-line=GR]{background:var(--line-gr-tint);color:var(--line-gr-accent)}.approaching-direction-body{min-width:0}.approaching-skeleton-body{display:flex;flex:1;flex-direction:column;gap:.45rem;justify-content:center}.approaching-skeleton-line{height:.8rem;width:72%}.approaching-direction-body p{overflow-wrap:anywhere}.approaching-direction-label{color:var(--ink);font-weight:var(--font-weight-bold);margin:0}.approaching-count{color:var(--ink-muted);font-size:var(--font-size-control);margin:.12rem 0 0}.approaching-nearest{color:var(--ink);font-size:var(--font-size-control);line-height:1.4;margin:.32rem 0 0}.approaching-train-list{color:var(--ink-muted);font-size:var(--font-size-control);line-height:1.4;margin:.32rem 0 0;padding-left:1.05rem}.approaching-train-list li+li{margin-top:.18rem}.approaching-note{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.45;margin:.85rem 0 0}@media(max-width:480px){.approaching-trains{border-radius:12px;margin-top:.6rem;padding:.7rem}.approaching-trains h3{font-size:var(--font-size-card-title)}.approaching-header{margin-bottom:.45rem}.approaching-direction{gap:.55rem;padding:.5rem .55rem}.approaching-direction+.approaching-direction{margin-top:.45rem}.approaching-line-chip{flex-basis:1.7rem;font-size:var(--font-size-label);height:1.7rem}.approaching-direction-label{font-size:var(--font-size-body-sm);line-height:1.2}.approaching-count{font-size:var(--font-size-label)}.approaching-note{margin-top:.55rem}}html{overflow-y:auto}.brand-header h1{font-size:var(--font-size-page-title);line-height:1.1}.header{box-sizing:border-box;min-height:3.25rem;display:flex;align-items:center;border-radius:0 0 16px 16px;border-top:0;margin-bottom:0;padding:.2rem 0;position:sticky;top:0;z-index:1000}.topRow{box-sizing:border-box;display:flex;align-items:center;width:100%;gap:.6rem;padding:0 .75rem;position:relative}.mobile-nav-title{display:none}.mobile-header-actions{display:contents}.mobile-alerts-pill{display:none}.nav-bar{display:flex;align-items:center;gap:.4rem;order:2}.nav-bar button{background:var(--glass-control);color:var(--ink);border-radius:20px;padding:.44em .85em;margin:0;border:1px solid var(--glass-border);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.nav-bar button:hover{background:var(--glass-control-hover);transform:translateY(-1px)}@media(min-width:769px)and (max-width:1139px){.main-page-content{--top-row-module-height: 24rem}.main-page-content>.station-column,.main-page-content>.favorites-column{align-self:flex-start;height:var(--top-row-module-height)}.main-page-content>.train-column>.times-table{flex:0 0 var(--top-row-module-height);height:var(--top-row-module-height)}}@media(min-width:769px){.header.glass-surface.glass-strong{background:var(--surface);border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:var(--shadow-1);-webkit-backdrop-filter:none;backdrop-filter:none;min-height:3.75rem;padding:0}.header .topRow{min-height:3.75rem}.header .nav-bar{align-self:stretch;gap:.1rem}.header .nav-bar button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;padding:.65rem .8rem .52rem;transform:none}.header .nav-bar button:hover{background:var(--control-hover);transform:none}.header .nav-bar button.nav-active,.header .nav-bar button.nav-active:hover{background:var(--info-bg);border-bottom-color:var(--accent);color:var(--accent-text)}.header .transit-mode-switch{background:var(--surface-sunk);border:1px solid var(--border);border-radius:9px;gap:0;padding:.14rem}.header .transit-mode-switch button{background:transparent;border:0;border-radius:7px;box-shadow:none}.header .user-name-greeting{background:transparent;border:0;border-radius:8px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}.title{display:inline-block}.brand-header{display:flex;align-items:center;width:fit-content;padding:1rem;border-radius:20px;margin:2rem auto 0}.brand-description{color:var(--ink-muted);margin:1rem 0;text-align:center}.main-page-content{display:flex;flex-wrap:wrap;overflow:visible;padding:1rem;gap:2rem;justify-content:center}.main-page-content>div{flex:1 1 320px;min-width:0;max-width:425px;display:flex;flex-direction:column;overflow:visible}.transit-mode-switch{align-items:center;display:inline-flex;gap:.35rem;margin-left:auto;order:3}.transit-mode-switch button{background:var(--glass-surface-soft);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);padding:.4rem .75rem}.transit-mode-switch button.active{background:var(--glass-control-active);color:var(--ink)}.user-name-greeting{display:block;order:4;margin-left:0;margin-right:0;color:var(--ink);background:var(--glass-control-success);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);width:fit-content;padding:.48em .9em;border-radius:20px;font-weight:var(--font-weight-regular);white-space:nowrap}.sign-in-pill{cursor:pointer;font-family:inherit;font-weight:var(--font-weight-bold);transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.sign-in-pill:hover{background:var(--success-bg);border-color:var(--success);transform:translateY(-1px)}.sign-in-pill:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}@media(max-width:768px){.header.glass-surface.glass-strong{background:var(--surface);border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:var(--shadow-1);margin-bottom:.75rem;min-height:0;padding:.5rem 0 .6rem;top:0}.topRow{display:grid;gap:.55rem .7rem;grid-template-columns:minmax(0,1fr) auto;padding:0 .7rem}.nav-bar{display:none}.user-name-greeting{font-size:var(--font-size-label);grid-column:2;grid-row:1;order:4;padding:.4em .7em;margin-left:auto;margin-right:0;max-width:min(12rem,48vw);overflow:hidden;text-overflow:ellipsis}.brand-header,.brand-description{display:none}.mobile-nav-title{color:var(--ink);display:block;flex:0 1 5.6rem;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);grid-column:1;grid-row:1;line-height:1.05;order:2;overflow-wrap:normal;text-align:left;white-space:normal;word-break:keep-all}.topRow>.user-menu{grid-column:2;grid-row:1}.mobile-header-actions{align-items:center;display:grid;gap:.4rem;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));grid-row:2;width:100%}.transit-mode-switch{display:contents;margin-left:0;order:initial}.transit-mode-switch button,.mobile-alerts-pill{align-items:center;box-sizing:border-box;display:inline-flex;font-size:var(--font-size-label);justify-content:center;min-height:2.35rem;padding:.4rem .55rem;width:100%}.mobile-alerts-pill{background:var(--glass-surface-soft);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;font-weight:var(--font-weight-bold)}.mobile-alerts-pill.active{background:var(--glass-control-active)}.main-page-content{flex-direction:column;align-items:stretch;padding:.65rem;gap:.75rem}.main-page-content>div{flex:0 1 auto;max-width:none;width:100%}}@media(max-width:480px){.main-page-content{padding:.6rem}.brand-header{width:auto}.brand-header .title{font-size:var(--font-size-body-lg);line-height:1;margin:0;white-space:nowrap}}@media(min-width:1140px){.brand-header{border-radius:16px;margin:1rem auto 0;padding:.55rem 1.3rem}.brand-header .title{font-size:var(--font-size-heading-lg)}.brand-description{font-size:var(--font-size-body-sm);margin:.7rem 0 .4rem}.main-page-content{--home-panel-height: clamp(34rem, calc(100dvh - 20.5rem) , 54rem);box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto;margin:0;max-width:none;padding:.9rem;width:100%}.main-page-content>.station-column,.main-page-content>.favorites-column{transition:width var(--motion-view) var(--ease-standard);width:300px}.main-page-content.rail-left-collapsed>.station-column,.main-page-content.rail-right-collapsed>.favorites-column{width:3.4rem}.main-page-content>div{height:var(--home-panel-height);max-width:none;min-width:0}.main-page-content>.train-column>.times-table{flex:11 1 0;min-height:0}.main-page-content>.train-column>.approaching-trains{flex:9 1 0;min-height:0}.rail-sliver{align-items:center;border-radius:16px;color:var(--ink-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.6rem;height:100%;justify-content:flex-start;padding:.85rem 0;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard);width:100%}.rail-sliver:hover{background:var(--control-hover);color:var(--ink)}.rail-sliver svg{flex:none;height:1.1rem;width:1.1rem}.rail-sliver-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;writing-mode:vertical-rl}.rail-collapse{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted);cursor:pointer;display:inline-flex;flex:none;height:var(--pill-height);justify-content:center;padding:0;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard);width:var(--pill-height)}.rail-collapse:hover{background:var(--control-hover);color:var(--ink)}.rail-collapse svg{height:1rem;width:1rem}.rail-sliver:focus-visible,.rail-collapse:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}}@media(max-width:1139px){.rail-sliver,.rail-collapse{display:none}}@media(prefers-reduced-motion:reduce){.main-page-content>.station-column,.main-page-content>.favorites-column,.rail-sliver,.rail-collapse{transition:none}}.favorites-section{border-radius:16px;padding:1.1rem;flex:1;width:100%;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}.favorites-heading{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:1rem}.favorites-section h3{color:var(--ink);font-size:var(--font-size-card-title);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorites-section ul{padding:0;list-style-type:none;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:.5rem 0 0}.favorites-section li{align-items:center;display:flex;gap:.5rem;margin-bottom:.65rem;min-width:0}.favorites-section li:last-child{margin-bottom:0}.favorites-footer{margin-top:auto;padding-top:.85rem}.favorites-skeleton{display:flex;flex-direction:column;gap:.55rem;margin-top:.5rem}.favorites-skeleton .skeleton{border-radius:20px;height:2.35rem;width:100%}.add-favorite-button{width:100%;display:block;margin:0 auto;padding:.65rem 1rem;border-radius:20px;background:var(--glass-control-success);color:var(--ink);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.favorite-list-button{background:var(--metro-line-background, var(--glass-control));font-weight:var(--font-weight-semibold);color:var(--ink);display:block;border-radius:20px;flex:1 1 auto;min-width:0;border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:.55rem .9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard);cursor:pointer}.favorite-list-button:hover{background:var( --metro-line-background-hover, var(--glass-control-hover) );transform:translateY(-1px)}.favorite-list-button:focus-visible{outline:3px solid color-mix(in srgb,var(--metro-line-accent) 42%,transparent);outline-offset:2px}.add-favorite-button:hover{background:var(--glass-control-hover);transform:scale(1.03)}.remove-favorite-button{background:var(--glass-control-danger);align-items:center;border:1px solid var(--glass-border);border-radius:999px;color:var(--danger-text);display:inline-flex;flex:0 0 2.25rem;height:2.25rem;justify-content:center;padding:0;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.remove-favorite-button:hover{background:var(--danger-bg-hover);transform:translateY(-1px)}.remove-user-button{background:var(--glass-control-danger);display:inline-block;border:1px solid var(--glass-border);border-radius:20px;color:var(--danger-text);padding:.5em 1em;font-weight:var(--font-weight-semibold);cursor:pointer;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.remove-user-button:hover{background:var(--danger-bg-hover);transform:scale(1.03)}.favorites-error{margin:0 0 .5rem;padding:.4rem .6rem;border-radius:.5rem;background:var(--danger-bg);color:var(--danger-text-strong);font-size:var(--font-size-control);line-height:1.35}@media(max-width:768px){.favorites-section{min-width:0;width:100%;box-sizing:border-box;padding:1rem}.favorites-section ul{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.favorites-section li{align-items:center;background:var(--metro-line-background, var(--glass-control));border:1px solid var(--glass-border);border-radius:999px;display:flex;gap:.25rem;margin-bottom:0;min-width:0;padding:.25rem}.favorite-list-button{background:transparent;border:none;border-radius:999px;flex:1 1 auto;min-width:0;padding:.35rem .35rem .35rem .55rem;text-align:left;width:auto;box-shadow:none}.favorite-list-button:hover{background:transparent;transform:none}.remove-favorite-button{flex-basis:1.65rem;font-size:var(--font-size-label);height:1.65rem}}@media(max-width:480px){.favorites-section{border-radius:12px;padding:.7rem}.favorites-section h3{font-size:var(--font-size-card-title)}.favorites-heading{margin-bottom:.45rem}.favorite-list-button{font-size:var(--font-size-label);padding:.32rem .25rem .32rem .45rem}.remove-favorite-button{flex-basis:1.45rem;height:1.45rem}.remove-user-button{font-size:var(--font-size-body-sm)}}.station-info{border-radius:16px;padding:1.1rem;flex:1;width:100%;box-sizing:border-box;overflow:visible;position:relative;z-index:1}.station-info.search-open{z-index:1002}.station-info.search-open .station-summary,.station-info.search-open .station-address{visibility:hidden}.station-search-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between;font-weight:var(--font-weight-bold);margin-bottom:.45rem}.station-search-label{display:block}.station-heading-actions{align-items:center;display:inline-flex;flex:none;gap:.4rem}.station-location-refresh{background:var(--glass-control);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);padding-inline:.65rem;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.station-location-refresh:hover,.station-location-refresh:focus-visible{background:var(--glass-control-hover);outline:none;transform:translateY(-1px)}.station-location-refresh:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:3px}.station-location-refresh:disabled{cursor:wait;opacity:.65;transform:none}.station-location-error{color:var(--danger-text-strong);font-size:var(--font-size-label);margin:-.05rem 0 .45rem}.station-search-wrap{position:relative;z-index:2}.station-search{border-radius:14px;font-size:var(--font-size-body);background:var(--metro-line-background, var(--glass-control));color:var(--ink);padding:.8rem .9rem;display:block;width:100%;border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-sizing:border-box;outline:none}.station-search::placeholder{color:var(--ink-muted)}.station-search:focus{border-color:var(--glass-border);outline:3px solid rgba(129,143,163,.22);outline-offset:2px}.station-search-results{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;right:0;max-height:min(24rem,58vh);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border-radius:12px;-webkit-overflow-scrolling:touch;transform-origin:top center;animation:pop-in var(--motion-pop) var(--ease-out) both}.station-result{align-items:center;background:var(--metro-line-background, var(--glass-control));border:1px solid var(--glass-border);border-radius:12px;color:var(--ink);cursor:pointer;display:flex;font-family:inherit;gap:.75rem;justify-content:space-between;margin:.3rem;padding:.65rem .8rem;text-align:left;width:calc(100% - .6rem)}.station-result:hover,.station-result.selected{background:var( --metro-line-background-hover, var(--glass-control-active) )}.station-result span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-result span:last-child{color:var(--ink-muted);font-weight:var(--font-weight-bold)}.station-no-results{margin:0;padding:.75rem .8rem}.station-name{font-size:var(--font-size-section-title);line-height:1.1;margin:1.1rem 0 .5rem;overflow-wrap:anywhere}.station-summary p,.station-address p{margin:0}.station-lines{font-size:var(--font-size-body-lg)}.station-address{margin-top:.95rem}.station-address p{font-weight:var(--font-weight-bold);margin-bottom:.35rem}.station-address a{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-blue);border:1px solid rgba(255,255,255,.82);border-radius:999px;box-shadow:var(--glass-shadow-soft);color:#fff;display:inline-block;font-weight:var(--font-weight-bold);max-width:100%;overflow-wrap:anywhere;padding:.5rem .8rem;text-decoration:none;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.station-address a:hover{background:var(--glass-blue-hover);transform:translateY(-1px)}.station-address a:focus-visible{outline:3px solid rgba(31,100,255,.32);outline-offset:2px}.station-browser{display:none}@media(min-width:1140px){.station-info{display:flex;flex-direction:column;height:100%;overflow:hidden}.station-browser{display:flex;flex:1;flex-direction:column;gap:.4rem;margin-top:.75rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem}.station-browser-item{flex:none;margin:0;width:100%}.station-search-results{display:none}.station-info.search-open .station-summary,.station-info.search-open .station-address{visibility:visible}.station-name{margin:.9rem 0 .3rem}.station-lines{font-size:var(--font-size-body-sm)}.station-address{margin-top:.7rem}}@media(max-width:768px){.station-info{min-width:0;width:100%;box-sizing:border-box;padding:1rem}.station-name{max-width:100%}}@media(max-width:480px){.station-info{border-radius:12px;padding:.6rem .65rem}.station-search-heading{margin-bottom:.2rem}.station-search-label{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.station-location-refresh{font-size:var(--font-size-caption)}.station-search{border-radius:999px;font-size:16px;padding:.42rem .7rem}.station-search-results{max-height:min(26rem,62vh)}.station-summary{align-items:baseline;display:flex;flex-wrap:wrap;gap:.2rem .45rem;margin-top:.35rem}.station-name{font-size:var(--font-size-body-sm);margin:0}.station-lines,.station-address{font-size:var(--font-size-label)}.station-lines{margin:0}.station-address{display:none}}.bus-page-content{display:grid;gap:1.25rem;grid-template-columns:minmax(33rem,1.05fr) minmax(26rem,.95fr);margin:0 auto;max-width:1180px;padding:1rem}.bus-search-column,.bus-times-column{display:grid;gap:1rem;min-width:0}@media(min-width:769px){.bus-search-column{grid-template-columns:minmax(10rem,.72fr) minmax(18rem,1fr)}.desktop-route-card{grid-column:1;grid-row:1}.bus-stop-search{grid-column:2;grid-row:1}.bus-search-column .bus-suggestions-card{display:block;grid-column:1;grid-row:2}.bus-search-column .favorites-section{grid-column:2;grid-row:2;min-width:0;padding:1rem}.bus-search-column .favorites-section h3{font-size:var(--font-size-card-title);line-height:1.1;margin-bottom:.75rem}.bus-search-column .favorites-section ul{max-height:10rem;margin:.75rem 0 0}.bus-search-column .favorites-section li{gap:.35rem;margin-bottom:.45rem}.bus-search-column .add-favorite-button{padding:.48rem .75rem}.bus-search-column .favorite-list-button{font-size:var(--font-size-control);padding:.45rem .65rem}.bus-search-column .remove-favorite-button{flex-basis:1.9rem;font-size:var(--font-size-control);height:1.9rem}}.bus-search-card,.bus-stop-search,.bus-suggestions-card,.bus-times-table{border-radius:16px;box-sizing:border-box;padding:1rem}.bus-search-label{display:block;font-weight:var(--font-weight-bold);margin-bottom:.45rem}.bus-route-filter,.bus-stop-search,.bus-stop-search-wrap{position:relative}.bus-route-filter.open,.bus-stop-search.open{z-index:1002}.bus-route-filter.open .bus-route-description,.bus-stop-search.open .bus-stop-summary{visibility:hidden}.bus-stop-search.open~.bus-suggestions-card,.bus-stop-search.open~.favorites-section,.desktop-route-card:has(.bus-route-filter.open)~.bus-suggestions-card{visibility:hidden}.bus-route-toggle,.bus-route-input,.bus-stop-input{border:1px solid var(--glass-border);border-radius:999px;box-sizing:border-box;font-family:inherit;font-size:16px;outline:none;padding:.65rem .8rem;width:100%}.bus-route-toggle,.bus-stop-input{background:var(--glass-control);color:var(--ink)}.bus-route-toggle{cursor:pointer;font-weight:var(--font-weight-bold);text-align:left}.bus-stop-input::placeholder,.bus-route-input::placeholder{color:var(--ink-muted)}.bus-route-input{background:var(--glass-control);color:var(--ink);margin-bottom:.4rem}.bus-route-results,.bus-stop-results{border-radius:12px;left:0;max-height:min(24rem,58vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:.35rem;position:absolute;right:0;top:calc(100% + .35rem);z-index:20}.bus-route-result,.bus-stop-result{align-items:center;background:transparent;border:none;border-bottom:1px solid var(--glass-border-muted);color:var(--ink);cursor:pointer;display:flex;font-family:inherit;gap:.75rem;justify-content:space-between;padding:.6rem .7rem;text-align:left;width:100%}.bus-route-result:last-child,.bus-stop-result:last-child{border-bottom:none}.bus-route-result:hover,.bus-route-result.selected,.bus-stop-result:hover,.bus-stop-result.selected{background:var(--glass-control-active)}.bus-route-result-main,.bus-stop-result-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bus-route-result>span:last-child,.bus-stop-result-id{color:var(--ink-muted);flex:0 0 auto;font-weight:var(--font-weight-bold)}.bus-stop-result-main,.bus-route-result-main{display:grid;gap:.12rem}.bus-route-result-main span,.bus-stop-result-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bus-route-result-main span:first-child,.bus-stop-result-main span:first-child{font-weight:var(--font-weight-bold)}.bus-route-result-main span:last-child,.bus-stop-result-main span:last-child{color:var(--ink-muted);font-size:var(--font-size-control)}.bus-route-description{font-size:var(--font-size-body-sm);margin:.75rem 0 0}.bus-stop-summary{margin-top:.85rem}.bus-stop-summary h2{font-size:var(--font-size-section-title);line-height:1.1;margin:0 0 .45rem}.bus-stop-summary p{margin:.25rem 0}.bus-times-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.bus-times-header h3{font-size:var(--font-size-card-title);margin:0}.bus-times-actions{align-items:center;display:flex;gap:.45rem}.mobile-route-filter,.bus-suggestions-card{display:none}.bus-suggestions-card h3{font-size:var(--font-size-card-title);line-height:1.1;margin:0 0 .65rem}.bus-suggestion-list{display:grid;gap:.45rem}.bus-suggestion-option{align-items:center;background:var(--glass-surface-soft);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;display:grid;font-family:inherit;grid-template-columns:auto minmax(0,1fr);gap:.45rem;min-width:0;padding:.34rem .55rem;text-align:left}.bus-suggestion-option.active{background:var(--glass-control-active)}.bus-suggestion-route{align-items:center;background:var(--glass-control-active);border-radius:999px;color:var(--ink);display:inline-flex;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);justify-content:center;min-width:2.35rem;padding:.18rem .38rem}.bus-suggestion-copy{display:grid;min-width:0}.bus-suggestion-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bus-suggestion-copy span:first-child{font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.bus-suggestion-copy span:last-child{color:var(--ink-muted);font-size:var(--font-size-caption)}.bus-times-table table{background:var(--glass-surface-soft);border:1px solid var(--glass-border-muted);border-collapse:separate;border-radius:10px;border-spacing:0;overflow:hidden;table-layout:fixed;width:100%}.bus-times-table th{background:var(--glass-control-active);color:var(--ink);font-weight:var(--font-weight-bold);padding:.45rem .55rem;text-align:center}.bus-times-table td{border-bottom:1px solid var(--glass-border-muted);color:var(--ink);overflow:hidden;padding:.7rem .55rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.bus-times-table th:nth-child(1),.bus-times-table td:nth-child(1){width:17%}.bus-times-table th:nth-child(2),.bus-times-table td:nth-child(2){text-align:left;width:41%}.bus-times-table th:nth-child(3),.bus-times-table td:nth-child(3){width:18%}.bus-times-table th:nth-child(4),.bus-times-table td:nth-child(4){width:24%}.bus-times-table tbody tr:last-child td{border-bottom:none}.live-eta-badge{background:var(--success-bg);border:1px solid var(--success-border);border-radius:3px;color:var(--success);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-normal);margin-left:.35rem;padding:.05rem .28rem;text-transform:uppercase;vertical-align:middle}.traffic-info-cell{text-align:center;width:3rem}.traffic-info-button{align-items:center;background:var(--glass-surface-soft);border:1px solid var(--glass-border-muted);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);height:1.1rem;justify-content:center;line-height:1;padding:0;width:1.1rem}.traffic-info-button:hover,.traffic-info-button:focus-visible{background:var(--glass-control-active);outline:none}.traffic-info-na{color:var(--ink-muted, #5f6b7a);font-size:var(--font-size-control)}.traffic-info-backdrop{align-items:center;background:#10182857;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:20;animation:fade-in var(--motion-pop) var(--ease-standard) both}.traffic-info-popup{animation:pop-in var(--motion-pop) var(--ease-out) both;background:var(--glass-surface-strong);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 20px 50px #1018283d;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--ink);max-width:24rem;padding:1rem;text-align:left;width:min(100%,24rem)}.traffic-info-popup-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.traffic-info-popup h4{font-size:var(--font-size-card-title);margin:0}.traffic-info-popup p{line-height:1.45;margin:.75rem 0 0;white-space:normal}.traffic-info-close{align-items:center;background:transparent;border:1px solid var(--glass-border-muted);border-radius:50%;color:var(--ink-muted, #5f6b7a);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);height:1.5rem;justify-content:center;line-height:1;padding:0;width:1.5rem}.traffic-info-close:hover,.traffic-info-close:focus-visible{background:var(--control-hover);outline:none}.bus-no-results{margin:0;padding:.75rem .8rem}@media(max-width:768px){.bus-page-content{display:flex;flex-direction:column;gap:.75rem;padding:.65rem}.desktop-route-card{display:none}.bus-search-column{display:contents}.bus-times-column{order:3}.bus-stop-search{order:1;padding:.65rem}.bus-suggestions-card{display:block;order:2;padding:.65rem}.bus-suggestion-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bus-search-column .favorites-section{order:4}.bus-times-table{padding:.8rem}.mobile-route-filter{display:block;position:relative}.bus-route-filter.mobile{min-width:5.5rem}.bus-route-filter.mobile .bus-route-toggle{font-size:var(--font-size-control);padding:.38rem .65rem;text-align:center}.bus-route-filter.mobile .bus-route-results{left:auto;min-width:min(18rem,calc(100vw - 1.4rem));right:0}.bus-stop-result{gap:.45rem;padding:.52rem .58rem}.bus-stop-result-main span:first-child,.bus-route-result-main span:first-child{font-size:var(--font-size-body-sm)}.bus-route-result-main span:last-child,.bus-stop-result-main span:last-child{font-size:var(--font-size-label)}.bus-stop-result-id{font-size:var(--font-size-label)}.bus-stop-summary{align-items:baseline;display:flex;flex-wrap:wrap;gap:.25rem .45rem;margin-top:.5rem}.bus-stop-summary h2{margin:0}.bus-stop-summary p{font-size:var(--font-size-label);margin:0}}@media(min-width:769px)and (max-width:1100px){.bus-page-content{grid-template-columns:1fr}}@media(max-width:480px){.bus-page-content{padding:.6rem}.bus-times-header h3{font-size:var(--font-size-card-title)}.bus-suggestion-list{grid-template-columns:1fr}.bus-times-table th,.bus-times-table td{font-size:var(--font-size-control);padding:.55rem .35rem}}.history-page-container{width:min(60rem,92%);display:block;margin:0 auto}.history-description{width:100%;box-sizing:border-box;margin:0 auto;border-radius:18px;line-height:1.6;padding:1.5rem 1.75rem}.history-description>a{color:inherit;text-decoration:none}.history-description h2,.history-description h3[id]{border-top:1px solid var(--glass-border-muted);margin-top:2rem;padding-top:1.25rem}.history-description h2{font-size:var(--font-size-section-title)}.history-description h3{font-size:var(--font-size-heading-sm)}.history-description>a:hover h2{color:var(--ink)}.history-description h2[id],.history-description h3[id],#toc{scroll-margin-top:6rem}.history-picture img{width:min(40rem,100%);display:block;margin:0 auto;border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);transition:transform var(--motion-fast) var(--ease-standard)}.history-picture img:hover{transform:translateY(-2px) scale(1.01)}.history-picture-caption{justify-content:center;display:flex;margin:.65rem auto 1.5rem;color:var(--ink)}.history-title{text-align:center}.history-title h1{display:inline-block;border-radius:18px;font-size:var(--font-size-page-title);padding:.35rem .85rem}.history-toc-toggle{align-items:center;background:transparent;border:none;color:var(--ink);cursor:pointer;display:flex;font-family:inherit;font-weight:var(--font-weight-bold);justify-content:space-between;padding:0;text-align:left;width:100%}.history-toc-toggle span:first-child{font-size:var(--font-size-heading-sm)}.history-toc-toggle span:last-child{align-items:center;background:var(--glass-control-active);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);display:inline-flex;flex:none;font-size:var(--font-size-body);height:2rem;justify-content:center;width:2rem}.history-toc-chevron{transition:transform var(--motion-fast) var(--ease-standard)}.car-spec-table-of-contents.open .history-toc-chevron{transform:rotate(180deg)}@media(max-width:768px){.history-page-container{width:95%}.history-description{padding:1rem}.history-picture img{width:100%}}.more-page{box-sizing:border-box;margin:0 auto;max-width:1020px;padding:clamp(1.5rem,4vw,3rem) 1rem 3rem}.more-page-heading{margin-bottom:clamp(1.25rem,3vw,2rem);max-width:42rem}.more-page-heading h1,.more-page-heading p{margin:0}.more-page-heading h1{color:var(--ink);font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:1}.more-page-heading>p:last-child{color:var(--ink);font-size:var(--font-size-body-lg);line-height:1.55;margin-top:.8rem}.more-eyebrow,.more-card-eyebrow{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.more-eyebrow{color:var(--ink);margin-bottom:.55rem!important}.more-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.more-card{border-radius:22px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;min-width:0;overflow:hidden;padding:0;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.more-card:hover,.more-card:focus-visible{border-color:var(--border-strong);box-shadow:var(--shadow-2);outline:none;transform:translateY(-4px)}.more-card:focus-visible{outline:3px solid rgba(31,100,255,.32);outline-offset:3px}.more-card-image-wrap{aspect-ratio:16 / 9;display:block;overflow:hidden;width:100%}.more-card-image{display:block;height:100%;object-fit:cover;transition:transform var(--motion-view) var(--ease-standard);width:100%}.more-card:hover .more-card-image,.more-card:focus-visible .more-card-image{transform:scale(1.035)}.more-card-icon-wrap{align-items:center;background:radial-gradient(80% 120% at 20% 0%,color-mix(in srgb,var(--accent) 26%,var(--surface)),transparent 70%),color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent-text);display:flex;font-size:clamp(2.4rem,6vw,3.4rem);justify-content:center}.more-card-icon-wrap .icon{transition:transform var(--motion-view) var(--ease-spring)}.more-card:hover .more-card-icon-wrap .icon,.more-card:focus-visible .more-card-icon-wrap .icon{transform:scale(1.08)}.more-card-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;padding:1.25rem 1.35rem 1.4rem;width:100%}.more-card-eyebrow{color:var(--ink-muted);margin-bottom:.45rem}.more-card-title-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.more-card-title{color:var(--ink);font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);line-height:1.15}.more-card-arrow{align-items:center;background:var(--glass-control-active);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);display:inline-flex;flex:0 0 2.25rem;font-size:var(--font-size-body-lg);height:2.25rem;justify-content:center;transition:transform var(--motion-fast) var(--ease-standard)}.more-card:hover .more-card-arrow,.more-card:focus-visible .more-card-arrow{transform:translate(3px)}.more-card-description{color:var(--ink-muted);line-height:1.5;margin-top:.65rem}.more-back-button{align-items:center;background:var(--glass-control);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);gap:.45rem;margin-top:1.25rem;padding:.5rem .85rem;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.more-back-button:hover,.more-back-button:focus-visible{background:var(--glass-control-hover);outline:none;transform:translate(-2px)}.more-back-button:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}@media(max-width:680px){.more-page{padding:1rem .75rem 2rem}.more-grid{grid-template-columns:1fr}.more-card{border-radius:18px}.more-card-content{padding:1rem 1.05rem 1.15rem}}@media(prefers-reduced-motion:reduce){.more-card,.more-card-image,.more-card-arrow,.more-back-button{transition:none}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.metro-map-page{margin:auto;max-width:none;padding:.75rem}.metro-map-controls{align-items:center;border-radius:14px;display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:space-between;margin-bottom:.5rem;padding:.4rem .75rem}.metro-map-select{align-items:center;display:grid;gap:.5rem;grid-auto-flow:column}.metro-map-select>span{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.metro-map-select select{background:var(--surface-sunk);border:1px solid var(--border);border-radius:10px;color:var(--ink);font-family:inherit;font-size:var(--font-size-control);height:2.15rem;min-width:10rem;padding:0 .7rem}.metro-map-select select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.metro-map-line-summary{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);gap:.4rem;margin:0;text-transform:uppercase}.metro-map-line-pip{border-radius:50%;flex:none;height:9px;width:9px}.metro-map-line-pip.line-rd{background:var(--line-rd-accent)}.metro-map-line-pip.line-bl{background:var(--line-bl-accent)}.metro-map-line-pip.line-or{background:var(--line-or-accent)}.metro-map-line-pip.line-sv{background:var(--line-sv-accent)}.metro-map-line-pip.line-yl{background:var(--line-yl-accent)}.metro-map-line-pip.line-gr{background:var(--line-gr-accent)}.metro-map-live-toggle{align-items:center;color:var(--ink);cursor:pointer;display:inline-flex;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);gap:.45rem;margin-left:auto;white-space:nowrap}.metro-map-live-toggle input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.metro-map-toggle-track{background:var(--border);border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);display:inline-flex;height:1.25rem;padding:2px;transition:background var(--motion-fast) var(--ease-standard);width:2.15rem}.metro-map-toggle-track>span{background:var(--surface);border-radius:50%;box-shadow:0 1px 3px #00000047;display:block;height:1rem;transform:translate(0);transition:transform var(--motion-fast) var(--ease-standard);width:1rem}.metro-map-live-toggle input:checked+.metro-map-toggle-track{background:var(--accent)}.metro-map-live-toggle input:checked+.metro-map-toggle-track>span{transform:translate(.9rem)}.metro-map-live-toggle input:focus-visible+.metro-map-toggle-track{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.metro-map-shell{position:relative}.metro-map-location-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow-1);color:var(--ink);cursor:pointer;display:inline-flex;height:2.4rem;justify-content:center;padding:0;position:absolute;right:.75rem;top:.75rem;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard);width:2.4rem;z-index:1}.metro-map-location-button:hover:not(:disabled){background:var(--control-hover);border-color:var(--border-strong)}.metro-map-location-button:focus-visible{box-shadow:var(--shadow-1),0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);outline:none}.metro-map-location-button:disabled{animation:metro-map-locating 1.1s ease-in-out infinite;cursor:wait}@keyframes metro-map-locating{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.metro-map-location-button{transition:none}.metro-map-location-button:disabled{animation:none;opacity:.65}}.metro-map-location-button svg{fill:none;height:1.1rem;stroke:currentColor;stroke-linecap:round;stroke-width:2;width:1.1rem}.metro-map-status-row{align-items:center;color:var(--ink-muted);display:flex;flex-basis:100%;flex-wrap:wrap;font-size:var(--font-size-caption);gap:.35rem 1rem;justify-content:flex-end;margin-top:-.25rem}.metro-map-status-row .is-error{color:var(--line-rd-accent)}.metro-map{border-radius:18px;height:calc(100dvh - 14.5rem - var(--dock-clearance));min-height:22rem;overflow:hidden;width:100%;z-index:0}@media(min-width:769px){.metro-map-status-row{flex-basis:auto;margin-left:auto;margin-top:0;order:1}.metro-map-live-toggle{margin-left:0;order:2}}.metro-map.leaflet-container{background:var(--surface-sunk);font-family:inherit}.metro-map .leaflet-control-attribution{font-size:var(--font-size-micro)}.metro-map .leaflet-bar a,.metro-map .leaflet-control-attribution{background:var(--surface);color:var(--ink)}.metro-map .leaflet-bar a:hover{background:var(--surface-sunk)}.metro-map .leaflet-control-attribution a{color:var(--ink-muted)}.metro-line-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.metro-line-path-rd{stroke:var(--line-rd-accent)}.metro-line-path-bl{stroke:var(--line-bl-accent)}.metro-line-path-or{stroke:var(--line-or-accent)}.metro-line-path-sv{stroke:var(--line-sv-accent)}.metro-line-path-yl{stroke:var(--line-yl-accent)}.metro-line-path-gr{stroke:var(--line-gr-accent)}.metro-station-marker{background:none;border:0}.metro-station-dot{border:2px solid var(--surface);border-radius:50%;box-shadow:0 1px 3px #00000059;display:block;height:14px;margin:2px;transition:transform var(--motion-fast) var(--ease-standard);width:14px}.metro-station-marker:hover .metro-station-dot,.metro-station-marker:focus-visible .metro-station-dot{transform:scale(1.35)}.metro-station-marker.is-nearest .metro-station-dot{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--accent),0 1px 4px #00000059}.metro-station-marker.is-off-line .metro-station-dot{filter:grayscale(1);height:9px;margin:4px;opacity:.4;width:9px}.metro-user-dot{background:#2f6fed;border:2px solid #ffffff;border-radius:50%;box-shadow:0 0 0 4px #2f6fed40;display:block;height:12px;margin:2px;width:12px}.metro-live-train-marker{background:none;border:0;opacity:0;transition:opacity var(--motion-fast) var(--ease-standard)}.metro-live-train-marker.is-visible{opacity:1}.metro-live-train-dot{align-items:center;border:2px solid var(--surface);border-radius:50%;box-shadow:0 2px 5px #00000061;display:flex;height:18px;justify-content:center;margin:1px;transform:scale(.78);transition:transform var(--motion-fast) var(--ease-standard);width:18px}.metro-live-train-marker.is-visible .metro-live-train-dot{transform:scale(1)}.metro-live-train-marker.line-rd .metro-live-train-dot{background:var(--line-rd-accent)}.metro-live-train-marker.line-bl .metro-live-train-dot{background:var(--line-bl-accent)}.metro-live-train-marker.line-or .metro-live-train-dot{background:var(--line-or-accent)}.metro-live-train-marker.line-sv .metro-live-train-dot{background:var(--line-sv-accent)}.metro-live-train-marker.line-yl .metro-live-train-dot{background:var(--line-yl-accent)}.metro-live-train-marker.line-gr .metro-live-train-dot{background:var(--line-gr-accent)}.metro-live-train-dot>span{border:1.5px solid #fff;border-radius:2px;display:block;height:8px;position:relative;width:7px}.metro-live-train-dot>span:after{background:#fff;border-radius:999px;bottom:1px;content:"";height:1.5px;left:1px;position:absolute;width:2px}.metro-live-train-marker:hover .metro-live-train-dot,.metro-live-train-marker:focus-visible .metro-live-train-dot{transform:scale(1.18)}@media(prefers-reduced-motion:reduce){.metro-live-train-marker,.metro-live-train-dot{transition:none}}.metro-map .metro-live-train-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 5px 16px #0003;color:var(--ink);padding:.5rem .6rem}.metro-map .metro-live-train-tooltip:before{border-top-color:var(--surface)}.metro-live-train-tooltip-content{display:grid;gap:.12rem}.metro-live-train-tooltip-content strong{font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.metro-live-train-tooltip-content span{color:var(--ink-muted);font-size:var(--font-size-caption)}.metro-map-popup .leaflet-popup-content-wrapper{background:var(--surface);border-radius:14px;box-shadow:0 8px 24px #00000038;color:var(--ink)}.metro-map-popup .leaflet-popup-content{margin:.75rem .9rem;width:auto!important}.metro-map-popup .leaflet-popup-tip{background:var(--surface)}.metro-map-popup .leaflet-popup-close-button{color:var(--ink)}.map-popup{max-height:min(24rem,48vh);min-width:13rem;overflow-y:auto;overscroll-behavior:contain}.map-popup-title{background:var(--surface);font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);margin:0 0 .5rem;padding:0 1.25rem .35rem 0;position:sticky;top:0}.map-popup-more{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);margin:-.3rem 0 .5rem;text-transform:uppercase}.map-popup-status{color:var(--ink-muted);font-size:var(--font-size-control);margin:0}.map-popup-status.is-error{color:var(--line-rd-accent)}.map-popup-direction+.map-popup-direction{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.6rem}.map-popup-direction-title{align-items:center;display:flex;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);gap:.4rem;letter-spacing:var(--letter-spacing-normal);margin:0 0 .35rem;text-transform:uppercase}.map-popup-line-pip{border-radius:50%;flex:none;height:9px;width:9px}.map-popup-line-pip.line-rd{background:var(--line-rd-accent)}.map-popup-line-pip.line-bl{background:var(--line-bl-accent)}.map-popup-line-pip.line-or{background:var(--line-or-accent)}.map-popup-line-pip.line-sv{background:var(--line-sv-accent)}.map-popup-line-pip.line-yl{background:var(--line-yl-accent)}.map-popup-line-pip.line-gr{background:var(--line-gr-accent)}.map-popup-trains{list-style:none;margin:0;padding:0}.map-popup-train{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;padding:.18rem 0}.map-popup-destination{font-size:var(--font-size-body-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-popup-arrival{flex:none;font-size:var(--font-size-body-sm);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.map-popup-arrival.is-badge{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:uppercase}.map-popup-arrival-unit{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);margin-left:.15rem;opacity:.7}@media(max-width:768px){.metro-map-page{padding:.5rem}.metro-map-controls{align-items:center;padding:.5rem .6rem}.metro-map-select>span{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.metro-map-select select{border-radius:999px;height:2.25rem;min-width:9rem;padding-left:.8rem}.metro-map-line-summary{margin:0}.metro-map-status-row{justify-content:flex-start;margin-top:0}.metro-map{height:calc(100dvh - 12.5rem - var(--dock-clearance))}}.car-image img{width:min(40rem,100%);display:block;margin:0 auto 1.5rem;border-radius:20px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.car-spec-table-of-contents{margin-bottom:2rem;border-radius:14px;padding:1rem}.car-spec-table-of-contents-links{display:none;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}.car-spec-table-of-contents.open .car-spec-table-of-contents-links{display:flex}.car-spec-table-of-contents-links p{margin:0}.car-spec-table-of-contents-links a{display:inline-block;background:var(--glass-surface-strong);border-radius:20px;padding:.5rem 1rem;color:inherit;text-decoration:none;border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.car-spec-table-of-contents-links a:hover{background:var(--glass-control-hover);transform:translateY(-1px)}@media(max-width:768px){.car-image img{width:100%}.car-spec-table-of-contents{margin-bottom:1rem;padding:.85rem}.car-spec-table-of-contents.open .car-spec-table-of-contents-links{display:grid;gap:.5rem}.car-spec-table-of-contents-links a{box-sizing:border-box;display:block;line-height:1.25;overflow-wrap:anywhere;text-align:left;width:100%}}.recovery-backdrop{align-items:center;animation:fade-in var(--motion-pop) var(--ease-standard) both;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2200}.recovery-dialog{animation:pop-in var(--motion-pop) var(--ease-out) both;border-radius:18px;box-sizing:border-box;max-width:28rem;padding:1.5rem;width:100%}.recovery-dialog h2,.recovery-dialog p{margin:0}.recovery-dialog h2{font-size:var(--font-size-heading-sm);margin-top:.3rem}.recovery-dialog-mark{align-items:center;background:var(--info-bg);border-radius:12px;color:var(--info-text);display:inline-flex;font-size:var(--font-size-heading-sm);height:2.6rem;justify-content:center;margin-bottom:1rem;width:2.6rem}.recovery-eyebrow{color:var(--accent-text)}.recovery-message{color:var(--ink-muted);line-height:var(--line-height-relaxed);margin-top:.55rem!important}.recovery-key{background:var(--surface-sunk);border:1px dashed var(--border-strong);border-radius:12px;display:flex;flex-wrap:wrap;gap:.35rem .7rem;justify-content:center;margin-top:1.1rem;padding:.9rem .75rem;user-select:all;-webkit-user-select:all}.recovery-key>span{font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-bold);letter-spacing:.12em}.recovery-dialog-actions{display:grid;gap:.5rem;grid-template-columns:auto minmax(0,1fr);margin-top:1.15rem}.recovery-copy,.recovery-done{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.4rem;justify-content:center;min-height:2.6rem;padding:.55rem .9rem}.recovery-copy{background:var(--control);border:1px solid var(--border);color:var(--ink)}.recovery-copy:hover,.recovery-copy:focus-visible{background:var(--control-hover);outline:none}.recovery-done{background:var(--accent);border:1px solid var(--accent-hover);color:#fff}.recovery-done:hover,.recovery-done:focus-visible{background:var(--accent-hover);outline:none}.recovery-copy:focus-visible,.recovery-done:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}@media(max-width:480px){.recovery-dialog{border-radius:14px;padding:1.2rem}.recovery-dialog-actions{grid-template-columns:1fr}}.login-screen-div{align-items:center;display:flex;gap:clamp(1.5rem,5vw,4rem);justify-content:center;min-height:100dvh;padding:2rem}.login-card{border-radius:1.4rem;box-sizing:border-box;max-width:29rem;padding:clamp(1.25rem,4vw,2rem);width:100%}.login-back{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.35rem;margin:-.35rem 0 .7rem -.35rem;padding:.35rem .6rem .35rem .45rem}.login-back:hover,.login-back:focus-visible{background:var(--control-hover);color:var(--ink);outline:none}.login-heading h1,.login-heading p{margin:0}.login-heading h1{color:var(--ink);font-size:var(--font-size-heading-lg);line-height:var(--line-height-heading);margin-top:.3rem}.login-heading>p:last-child{color:var(--ink-muted);line-height:var(--line-height-relaxed);margin-top:.55rem}.login-eyebrow{color:var(--ink-muted)}.login-mode-switch{background:var(--control);border:1px solid var(--border-subtle);border-radius:.8rem;display:grid;gap:.3rem;grid-template-columns:1fr 1fr;margin-top:1.25rem;padding:.3rem}.login-mode-switch button,.login-primary,.login-guest,.login-forgot{border:1px solid transparent;cursor:pointer;font-family:inherit;font-weight:var(--font-weight-bold)}.login-mode-switch button{background:transparent;border-radius:.6rem;color:var(--ink-muted);padding:.6rem}.login-mode-switch button:hover{color:var(--ink)}.login-mode-switch button.active{background:var(--surface);border-color:var(--border-subtle);box-shadow:var(--shadow-1);color:var(--ink)}.login-form{display:grid;margin-top:1.2rem}.login-form label{color:var(--ink);font-size:var(--font-size-control);font-weight:var(--font-weight-bold);margin:.8rem 0 .35rem}.login-field-row{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.login-forgot{background:transparent;border-radius:6px;color:var(--accent-text);font-size:var(--font-size-label);margin:.8rem 0 .35rem;padding:0;text-decoration:underline;text-underline-offset:.2rem}.login-forgot:hover,.login-forgot:focus-visible{color:var(--accent-hover);outline:none}.login-forgot:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:3px}.user-name-input{background:var(--control);border:1px solid var(--border);border-radius:.65rem;box-sizing:border-box;color:var(--ink);font-family:inherit;outline:none;padding:.8rem .9rem;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard);width:100%}.user-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.login-recovery-input{font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase}.login-recovery-input::placeholder{font-weight:var(--font-weight-regular);letter-spacing:.06em}.login-form small{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:var(--line-height-body);margin-top:.35rem}.password-note strong{color:var(--ink)}.login-error,.login-notice{border-radius:.5rem;font-size:var(--font-size-control);line-height:var(--line-height-snug);margin:.8rem 0 0;padding:.55rem .7rem;text-align:center}.login-error{background:var(--danger-bg);color:var(--danger-text-strong)}.login-notice{background:var(--success-bg);color:var(--success-text)}.login-primary{background:var(--accent);border-color:var(--accent-hover);border-radius:.7rem;color:#fff;margin-top:1.1rem;padding:.8rem 1rem}.login-primary:hover,.login-primary:focus-visible{background:var(--accent-hover);outline:none}.login-primary:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}.login-primary:disabled,.login-guest:disabled{cursor:wait;opacity:.65}.guest-access{align-items:center;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.35rem;margin-top:1.2rem;padding-top:1rem}.guest-access span{color:var(--ink-muted);font-size:var(--font-size-label)}.login-guest{background:transparent;color:var(--ink);padding:.35rem;text-decoration:underline;text-underline-offset:.2rem}.login-guest:hover,.login-guest:focus-visible{color:var(--accent-text);outline:none}.login-reset-note{align-items:flex-start;border-top:1px solid var(--border-subtle);color:var(--ink-muted);display:flex;font-size:var(--font-size-caption);gap:.5rem;line-height:var(--line-height-body);margin:1.2rem 0 0;padding-top:1rem}.login-reset-note .icon{color:var(--accent-text);flex:none;font-size:var(--font-size-body);margin-top:.05rem}@media(max-width:700px){.login-screen-div{flex-direction:column;gap:1rem;padding:1rem}}.travel-page{--travel-space-1: .25rem;--travel-space-2: .5rem;--travel-space-3: .75rem;--travel-space-4: 1rem;--travel-space-5: 1.5rem;--travel-space-6: 2rem;--travel-space-7: 2.5rem;--travel-radius-card: 16px;--travel-radius-control: 12px;--travel-radius-inner: 10px;--travel-control-height: 2.75rem;--travel-swap-size: 2.25rem;--travel-step-dot: .75rem;--travel-step-line: 1.05rem;box-sizing:border-box;display:grid;gap:var(--travel-space-4);margin:0 auto;max-width:980px;padding:var(--travel-space-5) var(--travel-space-4) var(--travel-space-7)}.travel-picker label,.travel-mode-filter legend{display:block;margin-bottom:var(--travel-space-2);padding:0}.travel-eyebrow,.travel-picker-results-label,.travel-picker-recommendation span,.travel-access-summary span,.travel-route-summary span,.travel-route-steps li>div>span{color:var(--ink-muted);margin:0}.travel-page-heading{display:grid;gap:var(--travel-space-3);justify-items:start;padding:var(--travel-space-2) var(--travel-space-1)}.travel-page-heading h1{margin:0}.travel-page-tagline{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--travel-radius-inner);box-shadow:var(--glass-shadow-soft);color:var(--ink);margin:0;padding:var(--travel-space-1) var(--travel-space-3)}.travel-planner,.travel-empty,.travel-route{border-radius:var(--travel-radius-card);box-sizing:border-box;padding:var(--travel-space-5)}.travel-planner{display:grid;gap:var(--travel-space-5);position:relative;z-index:1}.travel-planner:has(.travel-picker:focus-within){z-index:1002}.travel-planner:has(.travel-picker:focus-within)~.travel-empty,.travel-planner:has(.travel-picker:focus-within)~.travel-route{visibility:hidden}.travel-planner-heading{display:grid;gap:var(--travel-space-2)}.travel-planner-heading h2{margin:0}.travel-planner-heading p{color:var(--ink-muted);margin:0;max-width:62ch}.travel-mode-filter{border:0;margin:0;min-width:0;padding:0}.travel-mode-filter>div{display:grid;gap:var(--travel-space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.travel-mode-filter button{align-content:start;background:var(--glass-surface-soft);border:1px solid var(--glass-border);border-radius:var(--travel-radius-control);color:var(--ink);cursor:pointer;display:grid;font-family:inherit;gap:var(--travel-space-1);padding:var(--travel-space-3);text-align:left}.travel-mode-filter button:hover,.travel-mode-filter button:focus-visible{background:var(--glass-control-hover);outline:none}.travel-mode-filter button.active{background:var(--glass-control-active);box-shadow:0 7px 16px -12px #23304a66}.travel-mode-filter button span{color:var(--ink-muted)}.travel-picker-grid{align-items:end;display:grid;gap:var(--travel-space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.travel-picker{min-width:0;position:relative;z-index:1}.travel-picker:focus-within{z-index:1003}.travel-picker-label-row{align-items:baseline;display:flex;gap:var(--travel-space-3);justify-content:space-between;margin-bottom:var(--travel-space-2)}.travel-picker-label-row label{margin-bottom:0}.travel-current-location{background:transparent;border:none;color:var(--ink-muted);cursor:pointer;flex:0 0 auto;font-family:inherit;padding:0;text-decoration:underline;white-space:nowrap}.travel-current-location:hover:not(:disabled),.travel-current-location:focus-visible{color:var(--ink);outline:none}.travel-current-location:disabled{cursor:progress;opacity:.6}.travel-picker input{background:var(--glass-control);border:1px solid var(--glass-border);border-radius:999px;box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:16px;height:var(--travel-control-height);outline:none;padding:0 var(--travel-space-4);width:100%}.travel-picker input::placeholder{color:var(--ink-muted)}.travel-picker input:focus{border-color:var(--glass-border);outline:3px solid rgba(129,143,163,.22);outline-offset:2px}.travel-swap{align-items:center;align-self:end;background:var(--glass-surface-soft);border:1px solid var(--glass-border);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:var(--font-size-body-lg);height:var(--travel-swap-size);justify-content:center;margin-bottom:calc((var(--travel-control-height) - var(--travel-swap-size)) / 2);padding:0;width:var(--travel-swap-size)}.travel-swap:hover:not(:disabled),.travel-swap:focus-visible{background:var(--glass-control-active);outline:none}.travel-swap:disabled{cursor:not-allowed;opacity:.5}.travel-picker-results{border-radius:var(--travel-radius-control);left:0;max-height:min(20rem,50vh);overflow-y:auto;padding:var(--travel-space-1);position:absolute;right:0;top:calc(100% + var(--travel-space-2));z-index:20}.travel-picker-results-label{padding:var(--travel-space-2) var(--travel-space-3) var(--travel-space-1)}.travel-picker-result{align-items:baseline;background:transparent;border:none;border-bottom:1px solid var(--glass-border-muted);color:var(--ink);cursor:pointer;display:flex;font-family:inherit;gap:var(--travel-space-3);justify-content:space-between;padding:var(--travel-space-3);text-align:left;width:100%}.travel-picker-result:last-child{border-bottom:none}.travel-picker-result:hover,.travel-picker-result:focus-visible{background:var(--glass-control-active);outline:none}.travel-picker-result span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-picker-result span:last-child{color:var(--ink-muted);flex:0 0 auto}.travel-address-result span:first-child{white-space:normal}.travel-picker-empty,.travel-picker-status{color:var(--ink-muted);margin:0;padding:var(--travel-space-3)}.travel-picker-error{color:var(--danger-text);margin:0;padding:var(--travel-space-3)}.travel-picker-recommendation{background:var(--glass-surface-soft);border:1px solid var(--glass-border-muted);border-radius:var(--travel-radius-inner);display:grid;gap:var(--travel-space-1);margin-top:var(--travel-space-2);padding:var(--travel-space-3)}.travel-picker-recommendation small{color:var(--ink-muted)}.travel-actions-block{display:grid;gap:var(--travel-space-3)}.travel-actions{display:flex;gap:var(--travel-space-3)}.travel-plan-button,.travel-clear-button{border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;height:var(--travel-control-height);padding:0 var(--travel-space-5)}.travel-plan-button{background:var(--glass-control-success);flex:1 1 auto;min-width:0}.travel-clear-button{background:var(--glass-control);flex:0 0 auto}.travel-plan-button:hover:not(:disabled),.travel-plan-button:focus-visible,.travel-clear-button:hover:not(:disabled),.travel-clear-button:focus-visible{background:var(--glass-control-hover);outline:none}.travel-plan-button:disabled,.travel-clear-button:disabled{cursor:not-allowed;opacity:.52}.travel-status-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--travel-radius-inner);color:var(--danger-text);margin:0;padding:var(--travel-space-3) var(--travel-space-4)}.travel-empty{align-items:center;display:flex;gap:var(--travel-space-4)}.travel-empty-mark{align-items:center;background:var(--glass-control-active);border:1px solid var(--glass-border);border-radius:50%;color:var(--ink);display:inline-flex;flex:0 0 2.4rem;font-weight:var(--font-weight-bold);height:2.4rem;justify-content:center;width:2.4rem}.travel-empty>div{display:grid;gap:var(--travel-space-1);min-width:0}.travel-empty h2{margin:0}.travel-empty p{color:var(--ink-muted);margin:0}.travel-route{display:grid;gap:var(--travel-space-5)}.travel-route-heading{align-items:start;display:flex;gap:var(--travel-space-4);justify-content:space-between}.travel-route-heading>div{display:grid;gap:var(--travel-space-2);min-width:0}.travel-route-heading h2{margin:0;overflow-wrap:anywhere}.travel-route-badge{background:var(--glass-control-active);border:1px solid var(--glass-border);border-radius:999px;color:var(--ink);flex:0 0 auto;padding:var(--travel-space-1) var(--travel-space-3);white-space:nowrap}.travel-access-summary{display:grid;gap:var(--travel-space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.travel-access-summary div{background:var(--glass-surface-soft);border:1px solid var(--glass-border-muted);border-radius:var(--travel-radius-inner);display:grid;gap:var(--travel-space-1);padding:var(--travel-space-3)}.travel-access-summary small{color:var(--ink-muted)}.travel-route-summary{border-bottom:1px solid var(--glass-border-muted);border-top:1px solid var(--glass-border-muted);display:grid;gap:var(--travel-space-4);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));padding:var(--travel-space-4) 0}.travel-route-summary div{display:grid;gap:var(--travel-space-1);min-width:0}.travel-route-summary strong{overflow-wrap:anywhere}.travel-route-steps{display:grid;gap:var(--travel-space-4);list-style:none;margin:0;padding:0}.travel-route-steps li{display:grid;gap:var(--travel-space-3);grid-template-columns:var(--travel-step-dot) minmax(0,1fr);position:relative}.travel-route-steps li:not(:last-child):after{background:var(--glass-border-muted);bottom:calc(-1 * var(--travel-space-4));content:"";left:calc(var(--travel-step-dot) / 2);position:absolute;top:calc((var(--travel-step-line) + var(--travel-step-dot)) / 2);transform:translate(-.5px);width:1px}.travel-step-marker{background:var(--glass-control-active);border:2px solid var(--glass-border);border-radius:50%;box-sizing:border-box;display:block;height:var(--travel-step-dot);margin-top:calc((var(--travel-step-line) - var(--travel-step-dot)) / 2);position:relative;width:var(--travel-step-dot);z-index:1}.travel-route-steps li>div{display:grid;gap:var(--travel-space-1);min-width:0}.travel-route-steps li>div>span{line-height:var(--travel-step-line)}.travel-route-steps p,.travel-route-note{color:var(--ink-muted);margin:0}.travel-route-callout{background:var(--glass-surface-soft);border:1px solid var(--glass-border-muted);border-radius:var(--travel-radius-inner);display:grid;gap:var(--travel-space-1);padding:var(--travel-space-4)}.travel-route-callout span{color:var(--ink-muted)}@media(max-width:640px){.travel-page{gap:var(--travel-space-3);padding:var(--travel-space-3) var(--travel-space-3) var(--travel-space-5)}.travel-planner,.travel-empty,.travel-route{padding:var(--travel-space-4)}.travel-planner,.travel-route{gap:var(--travel-space-4)}.travel-picker-grid{grid-template-columns:minmax(0,1fr)}.travel-swap{justify-self:center;margin-bottom:0;transform:rotate(90deg)}.travel-mode-filter>div{gap:var(--travel-space-2)}.travel-mode-filter button{padding:var(--travel-space-2);text-align:center}.travel-mode-filter button span{display:none}.travel-route-summary{gap:var(--travel-space-3)}.travel-route-summary strong{font-size:var(--font-size-body-sm)}.travel-access-summary{grid-template-columns:minmax(0,1fr)}}.traffic-page{box-sizing:border-box;margin:0 auto;max-width:1240px;padding:1.2rem 1rem 3rem}.traffic-page-heading{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin:.5rem 0 1.25rem}.traffic-page-heading h1,.traffic-page-heading p{margin:0}.traffic-page-heading h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:1}.traffic-page-heading p{color:var(--ink-muted);margin-top:.5rem}.traffic-live-pill,.traffic-source-pill,.traffic-ai-badge,.traffic-condition{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink);display:inline-flex;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:.4rem;padding:.4rem .7rem;white-space:nowrap}.traffic-live-pill>span{background:var(--success);border-radius:50%;box-shadow:0 0 0 4px #15803d1f;height:.48rem;width:.48rem}.traffic-layout{align-items:start;display:grid;gap:1.15rem;grid-template-columns:minmax(0,1fr) minmax(19rem,23rem)}.traffic-main-column{display:grid;gap:1.15rem;min-width:0}.traffic-report,.traffic-corridors,.traffic-sidebar,.traffic-error{border-radius:18px;box-sizing:border-box;padding:clamp(1rem,2.5vw,1.4rem)}.traffic-report{border-left:5px solid var(--accent)}.traffic-report.traffic-severity-warning{border-left-color:var(--warning)}.traffic-report.traffic-severity-critical{border-left-color:var(--danger)}.traffic-section-heading,.traffic-sidebar-heading,.traffic-corridor-heading,.traffic-incident-title-row{align-items:flex-start;display:flex;gap:.8rem;justify-content:space-between}.traffic-section-heading h2,.traffic-section-heading p,.traffic-sidebar-heading h2,.traffic-sidebar-heading p,.traffic-corridor h3,.traffic-corridor p,.traffic-incident h3,.traffic-incident p{margin:0}.traffic-section-heading h2,.traffic-sidebar-heading h2{font-size:var(--font-size-section-title);line-height:1.2}.traffic-eyebrow{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:.35rem!important;text-transform:uppercase}.traffic-ai-badge{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.traffic-report-summary{font-size:var(--font-size-body-lg);line-height:1.6;margin:1rem 0 0}.traffic-highlights{display:grid;gap:.5rem;margin:1rem 0 0;padding-left:1.2rem}.traffic-highlights li{line-height:1.45}.traffic-recommendation{align-items:flex-start;background:var(--surface-sunk);border:1px solid var(--border-subtle);border-radius:12px;display:flex;gap:.65rem;margin-top:1rem;padding:.8rem}.traffic-recommendation span{color:var(--accent-text);display:inline-flex;font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);margin-top:.1rem}.traffic-recommendation p{line-height:1.45;margin:0}.traffic-report-meta{border-top:1px solid var(--border-subtle);color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-caption);gap:.35rem 1rem;justify-content:space-between;margin-top:1rem;padding-top:.75rem}.traffic-metrics{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.traffic-metric{border-radius:15px;display:flex;flex-direction:column;min-width:0;padding:1rem}.traffic-metric>span{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.traffic-metric strong{font-size:var(--font-size-metric);line-height:1;margin:.5rem 0}.traffic-metric small{color:var(--ink-muted);line-height:1.35}.traffic-corridor-list{display:grid;gap:0;margin-top:.75rem}.traffic-corridor{border-top:1px solid var(--border-subtle);padding:.9rem 0}.traffic-corridor:last-child{padding-bottom:0}.traffic-corridor h3{font-size:var(--font-size-body-sm)}.traffic-corridor p{color:var(--ink-muted);font-size:var(--font-size-label);margin-top:.25rem}.traffic-condition{font-size:var(--font-size-caption);padding:.32rem .58rem}.traffic-condition-moving{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.traffic-condition-moderate{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.traffic-condition-heavy,.traffic-condition-severe,.traffic-condition-closed{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text-strong)}.traffic-flow-track{background:var(--control);border-radius:999px;height:.38rem;margin-top:.65rem;overflow:hidden}.traffic-flow-fill{background:var(--success);border-radius:inherit;display:block;height:100%}.traffic-flow-moderate{background:var(--warning-fill)}.traffic-flow-heavy,.traffic-flow-severe,.traffic-flow-closed{background:var(--danger)}.traffic-sidebar{max-height:calc(100vh - 4.75rem);min-width:0;overflow:hidden;position:sticky;top:4rem}.traffic-sidebar-heading button,.traffic-error button{background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);padding-inline:.7rem}.traffic-sidebar-heading button:hover,.traffic-sidebar-heading button:focus-visible,.traffic-error button:hover,.traffic-error button:focus-visible{background:var(--control-hover);outline:none}.traffic-sidebar-heading button:disabled,.traffic-error button:disabled{cursor:wait;opacity:.65}.traffic-updated{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.4;margin:.65rem 0 .4rem}.traffic-incident-list{max-height:calc(100vh - 11.5rem);overflow-y:auto;overscroll-behavior:contain;padding-right:.25rem}.traffic-incident{align-items:flex-start;border-top:1px solid var(--border-subtle);display:grid;gap:.7rem;grid-template-columns:auto minmax(0,1fr);padding:.9rem 0}.traffic-incident-mark{background:var(--warning-fill);border-radius:50%;box-shadow:0 0 0 4px #d99a131f;height:.55rem;margin-top:.32rem;width:.55rem}.traffic-incident-magnitude-3,.traffic-incident-magnitude-4{background:var(--danger);box-shadow:0 0 0 4px #e64d4d1f}.traffic-incident h3{font-size:var(--font-size-body-sm);line-height:1.25}.traffic-incident-title-row>span{color:var(--ink-muted);flex:0 0 auto;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold)}.traffic-incident p{color:var(--ink);font-size:var(--font-size-control);line-height:1.4;margin-top:.3rem}.traffic-incident small{color:var(--ink-muted);display:block;line-height:1.35;margin-top:.25rem}.traffic-no-incidents{align-items:flex-start;border-top:1px solid var(--border-subtle);display:flex;gap:.75rem;padding-top:1rem}.traffic-no-incidents>span{align-items:center;background:var(--success-bg);border-radius:50%;color:var(--success);display:inline-flex;flex:0 0 2rem;font-weight:var(--font-weight-bold);height:2rem;justify-content:center}.traffic-no-incidents p{color:var(--ink-muted);font-size:var(--font-size-control);line-height:1.4;margin:.3rem 0 0}.traffic-error{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.traffic-error p{color:var(--ink-muted);margin:.25rem 0 0}.traffic-loading{display:grid;gap:1.15rem;grid-template-columns:minmax(0,1fr) minmax(19rem,23rem)}.traffic-loading-main,.traffic-loading-side{animation:traffic-pulse 1.2s ease-in-out infinite alternate;border-radius:18px;min-height:24rem;opacity:.58}.traffic-loading-side{min-height:32rem}@keyframes traffic-pulse{to{opacity:.9}}@media(max-width:820px){.traffic-page{padding:.75rem .65rem 2rem}.traffic-layout,.traffic-loading{grid-template-columns:1fr}.traffic-sidebar{max-height:none;position:static}.traffic-incident-list{max-height:none}}@media(max-width:560px){.traffic-page-heading{align-items:flex-start;flex-direction:column;margin-top:.2rem}.traffic-metrics{grid-template-columns:1fr}.traffic-metric{display:grid;gap:.3rem .75rem;grid-template-columns:1fr auto}.traffic-metric strong{grid-column:2;grid-row:1 / span 2;margin:0}.traffic-metric small{grid-column:1}.traffic-section-heading,.traffic-corridor-heading{gap:.6rem}.traffic-report-meta{display:grid}}@media(prefers-reduced-motion:reduce){.traffic-loading-main,.traffic-loading-side{animation:none}}.line-info-page{box-sizing:border-box;margin:0 auto;max-width:980px;padding:1.4rem 1rem 4rem}.line-info-content{min-width:0}.line-info-page-heading{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin:.35rem 0 1.2rem}.line-info-page-heading h1,.line-info-page-heading p,.line-info-card-heading h2,.line-info-card-heading p,.line-info-station-copy h3,.line-info-station-copy p,.line-info-error p{margin:0}.line-info-page-heading h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:.95}.line-info-page-heading>div>p:last-child{color:var(--ink-muted);margin-top:.65rem}.line-info-eyebrow,.line-info-select>span,.line-info-stop-number{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:.35rem!important;text-transform:uppercase}.line-info-line-chip{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:50%;display:inline-flex;flex:0 0 auto;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);height:3.1rem;justify-content:center;width:3.1rem}.line-info-line-chip[data-line=RD]{background:var(--line-rd-tint);color:var(--line-rd-accent)}.line-info-line-chip[data-line=BL]{background:var(--line-bl-tint);color:var(--line-bl-accent)}.line-info-line-chip[data-line=OR]{background:var(--line-or-tint);color:var(--line-or-accent)}.line-info-line-chip[data-line=SV]{background:var(--line-sv-tint);color:var(--line-sv-accent)}.line-info-line-chip[data-line=YL]{background:var(--line-yl-tint);color:var(--line-yl-accent)}.line-info-line-chip[data-line=GR]{background:var(--line-gr-tint);color:var(--line-gr-accent)}.line-info-controls{align-items:end;background:var(--surface);border-radius:17px;display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;padding:.8rem;position:sticky;top:3.75rem;z-index:850}.line-info-select{display:grid;gap:.32rem;grid-column:1 / -1}.line-info-refresh-status{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);grid-column:1 / -1;line-height:.85rem;margin:-.1rem 0 -.2rem;min-height:.85rem;text-align:center;visibility:hidden}.line-info-refresh-status.is-active{visibility:visible}.line-info-select select{background:var(--surface-sunk);border:1px solid var(--border);border-radius:10px;color:var(--ink);font-family:inherit;font-size:var(--font-size-control);height:2.65rem;padding:0 2rem 0 .7rem}.line-info-select select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.line-info-live-toggle,.line-info-control-button{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);gap:.42rem;height:2.65rem;justify-content:center;padding:0 .72rem;white-space:nowrap;width:100%}.line-info-live-toggle:hover,.line-info-control-button:hover{background:var(--control-hover)}.line-info-control-button:disabled{cursor:not-allowed;opacity:.5}.line-info-live-toggle>span{background:var(--border-strong);border-radius:999px;display:inline-flex;height:1.1rem;padding:.14rem;transition:background var(--motion-fast) var(--ease-standard);width:1.9rem}.line-info-live-toggle>span i{background:#fff;border-radius:50%;height:1.1rem;transform:translate(0);transition:transform var(--motion-fast) var(--ease-standard);width:1.1rem}.line-info-live-toggle[aria-checked=true]>span{background:var(--success-fill)}.line-info-live-toggle[aria-checked=true]>span i{transform:translate(.8rem)}.line-info-control-button svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1rem}.line-info-auto-refresh-button.is-active{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.line-info-alert-button{position:relative}.line-info-alert-button.is-ok{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.line-info-alert-button.is-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.line-info-alert-button.is-critical{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.line-info-alert-button strong{align-items:center;background:var(--ink);border-radius:999px;color:var(--surface);display:inline-flex;font-size:var(--font-size-micro);height:1.1rem;justify-content:center;min-width:1.1rem;padding:0 .2rem}.line-info-card{border-radius:20px;min-width:0;padding:clamp(1rem,3vw,1.5rem)}.line-info-card-heading{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding-bottom:1rem}.line-info-card-heading h2{font-size:var(--font-size-section-title);line-height:1.2}.line-info-live-status{align-items:center;display:grid;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:.2rem .4rem;grid-template-columns:auto auto;white-space:nowrap}.line-info-live-status>span{background:var(--success);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 16%,transparent);height:.48rem;width:.48rem}.line-info-live-status small{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);grid-column:1 / -1;text-align:right}.line-info-line{list-style:none;margin:0;padding:.7rem 0 0}.line-info-line[data-line=RD]{--line-info-color: var(--line-rd-accent);--line-info-tint: var(--line-rd-tint)}.line-info-line[data-line=BL]{--line-info-color: var(--line-bl-accent);--line-info-tint: var(--line-bl-tint)}.line-info-line[data-line=OR]{--line-info-color: var(--line-or-accent);--line-info-tint: var(--line-or-tint)}.line-info-line[data-line=SV]{--line-info-color: var(--line-sv-accent);--line-info-tint: var(--line-sv-tint)}.line-info-line[data-line=YL]{--line-info-color: var(--line-yl-accent);--line-info-tint: var(--line-yl-tint)}.line-info-line[data-line=GR]{--line-info-color: var(--line-gr-accent);--line-info-tint: var(--line-gr-tint)}.line-info-line>li{display:grid;grid-template-columns:3.4rem minmax(0,1fr);min-height:5.2rem;position:relative}.line-info-line>li:before{background:var(--line-info-color);bottom:-.1rem;content:"";left:1.63rem;position:absolute;top:1.65rem;width:4px}.line-info-line>li:last-child:before{display:none}.line-info-station-node{background:var(--surface);border:4px solid var(--line-info-color);border-radius:50%;box-sizing:border-box;grid-column:1;height:1.05rem;justify-self:center;margin-top:1.12rem;width:1.05rem;z-index:2}.line-info-line>li:first-child .line-info-station-node,.line-info-line>li:last-child .line-info-station-node{background:var(--line-info-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--line-info-color) 18%,transparent)}.line-info-station-copy{border:1px solid transparent;border-radius:12px;grid-column:2;margin:0 0 .45rem;padding:.65rem .75rem}.line-info-station-copy h3{font-size:var(--font-size-body-sm);line-height:1.25}.line-info-station-copy p{color:var(--ink-muted);font-size:var(--font-size-label);margin-top:.2rem}.line-info-station-copy strong{color:var(--accent-text);display:inline-block;font-size:var(--font-size-caption);margin-top:.35rem}.line-info-line>li.is-nearest .line-info-station-copy{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.line-info-line>li.is-nearest .line-info-station-node{background:var(--accent);border-color:#fff;box-shadow:0 0 0 4px var(--accent)}.line-info-train-stack{align-items:center;display:flex;gap:.25rem;left:.67rem;max-width:2.4rem;position:absolute;top:2.2rem;z-index:4}.line-info-train-marker{align-items:center;background:var(--line-info-color);border:2px solid var(--surface);border-radius:5px;box-shadow:0 0 0 2px color-mix(in srgb,var(--line-info-color) 35%,transparent);color:#fff;display:inline-flex;flex:0 0 auto;height:1.35rem;justify-content:center;overflow:visible;position:relative;width:1.35rem}.line-info-train-marker:before{border-bottom:3px solid #000;border-right:3px solid #000;content:"";filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff);height:.46rem;left:50%;position:absolute;width:.46rem}.line-info-train-marker.is-direction-forward:before{bottom:-.82rem;top:auto;transform:translate(-50%) rotate(45deg)}.line-info-train-marker.is-direction-reverse:before{bottom:auto;top:-.82rem;transform:translate(-50%) rotate(-135deg)}.line-info-train-marker.is-between{transform:translateY(1.25rem)}.line-info-train-marker svg{fill:none;height:.85rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:.85rem}.line-info-loading{display:grid;gap:1rem;padding:1.5rem 0}.line-info-loading span{height:4rem}.line-info-error,.line-info-live-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:12px;color:var(--danger-text);margin-top:1rem;padding:.85rem}.line-info-error p,.line-info-live-error{font-size:var(--font-size-label);line-height:1.4}.line-alerts-backdrop{animation:fade-in var(--motion-pop) var(--ease-standard) both;align-items:center;background:#070c14a8;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2200}.line-alerts-overlay{animation:pop-in var(--motion-pop) var(--ease-out) both;border-radius:20px;box-sizing:border-box;max-height:min(44rem,calc(100dvh - 2rem));max-width:42rem;overflow:hidden;padding:1.1rem;width:100%}.line-alerts-heading,.line-alerts-actions,.line-alerts-title-row{align-items:flex-start;display:flex;gap:.8rem;justify-content:space-between}.line-alerts-heading h2,.line-alerts-heading p,.line-alerts-title-row h3,.line-alerts-list article p,.line-alerts-empty h3,.line-alerts-empty p{margin:0}.line-alerts-heading h2{font-size:var(--font-size-section-title)}.line-alerts-heading>div>p:last-child{color:var(--ink-muted);font-size:var(--font-size-caption);margin-top:.35rem}.line-alerts-heading>button{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-body);height:2.1rem;justify-content:center;padding:0;width:2.1rem}.line-alerts-actions{align-items:center;border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);margin-top:1rem;padding:.7rem 0}.line-alerts-actions button{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);gap:.35rem;min-height:1.9rem;padding:0 .65rem}.line-alerts-actions button:disabled{cursor:wait;opacity:.6}.line-alerts-actions svg{fill:none;height:.9rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:.9rem}.line-alerts-list{display:grid;gap:.65rem;max-height:min(30rem,calc(100dvh - 15rem));overflow-y:auto;padding:.8rem 0 0}.line-alerts-list article{align-items:flex-start;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:12px;display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr);padding:.75rem}.line-alerts-list article.is-critical{background:var(--danger-bg);border-color:var(--danger-border)}.line-alerts-list article>span{align-items:center;background:var(--warning);border-radius:50%;color:#fff;display:inline-flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);height:1.45rem;justify-content:center;width:1.45rem}.line-alerts-list article.is-critical>span{background:var(--danger-fill)}.line-alerts-title-row h3{font-size:var(--font-size-body-sm);line-height:1.3}.line-alerts-title-row small{color:var(--warning-text);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);text-transform:uppercase}.line-alerts-list article.is-critical small{color:var(--danger-text)}.line-alerts-list article p{color:var(--ink-muted);font-size:var(--font-size-label);line-height:1.45;margin-top:.3rem}.line-alerts-empty{align-items:center;display:flex;gap:.8rem;justify-content:center;min-height:11rem}.line-alerts-empty>span{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:50%;color:var(--success-text);display:inline-flex;font-weight:var(--font-weight-bold);height:2.5rem;justify-content:center;width:2.5rem}.line-alerts-empty h3{font-size:var(--font-size-body-sm)}.line-alerts-empty p{color:var(--ink-muted);font-size:var(--font-size-label);margin-top:.2rem}@media(min-width:900px){.line-info-page{max-width:1340px}.line-info-content{align-items:start;display:grid;gap:1.5rem;grid-template-columns:clamp(250px,21vw,270px) minmax(0,1fr)}.line-info-controls{align-content:start;align-items:stretch;gap:.9rem;grid-template-columns:minmax(0,1fr);margin-bottom:0;min-height:26rem;padding:1rem}.line-info-select select,.line-info-live-toggle,.line-info-control-button{height:3rem}.line-info-live-toggle,.line-info-control-button{justify-content:flex-start}}@media(max-width:760px){.line-info-controls{align-items:center;display:flex;gap:.4rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.5rem;scroll-padding-inline:.5rem;scrollbar-width:none;top:6.25rem;-webkit-overflow-scrolling:touch}.line-info-controls::-webkit-scrollbar{display:none}.line-info-select{display:block;flex:0 0 auto}.line-info-select>span{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.line-info-select select{border-radius:999px;height:2.25rem;max-width:8.75rem;padding-left:.8rem}.line-info-refresh-status{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:0;min-height:0;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.line-info-live-toggle,.line-info-control-button{box-sizing:border-box;flex:0 0 auto;height:2.25rem;min-height:2.25rem;padding:0 .72rem;white-space:nowrap;width:auto}}@media(max-width:480px){.line-info-page{padding:1rem .75rem 2rem}.line-info-page-heading>div>p:last-child{font-size:var(--font-size-control)}.line-info-controls{gap:.4rem;padding:.5rem}.line-info-live-toggle,.line-info-control-button{border-radius:999px;flex-direction:row;font-size:var(--font-size-caption);gap:.36rem}.line-info-alert-button strong{position:static}.line-info-card{padding:.85rem}.line-info-card-heading{align-items:flex-start}.line-info-live-status{font-size:var(--font-size-caption)}.line-info-line>li{grid-template-columns:3rem minmax(0,1fr)}.line-info-line>li:before{left:1.43rem}.line-info-train-stack{left:.45rem}.line-alerts-backdrop{align-items:flex-end;padding:0}.line-alerts-overlay{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:calc(100dvh - 1rem);padding:1rem .85rem calc(1rem + env(safe-area-inset-bottom))}.line-alerts-list{max-height:calc(100dvh - 15rem)}}@media(prefers-reduced-motion:reduce){.line-info-live-toggle>span,.line-info-live-toggle>span i{transition:none}}.suggestions-backdrop{align-items:center;background:#0f172a6b;box-sizing:border-box;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:clamp(1.5rem,5vw,4rem) 1rem;position:fixed;z-index:1600;animation:fade-in var(--motion-pop) var(--ease-standard) both}.suggestions-card{animation:pop-in var(--motion-pop) var(--ease-out) both;border-radius:24px;box-sizing:border-box;max-width:760px;padding:clamp(1.4rem,5vw,3rem);width:100%}.suggestions-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.suggestions-card h1,.suggestions-card p,.suggestions-contact-list,.suggestions-contact-list dd{margin:0}.suggestions-card h1{color:var(--ink);font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:1}.suggestions-close{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 2.25rem;font-family:inherit;font-size:var(--font-size-body-lg);height:2.25rem;justify-content:center;padding:0;width:2.25rem}.suggestions-close:hover,.suggestions-close:focus-visible{background:var(--control-hover)}.suggestions-close:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}.suggestions-intro{color:var(--ink);font-size:var(--font-size-body-lg);line-height:1.6;margin-top:1rem!important;max-width:42rem}.suggestions-contact-list{border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);margin-top:clamp(1.5rem,4vw,2.25rem)!important}.suggestions-contact-row{align-items:baseline;display:grid;gap:1rem;grid-template-columns:minmax(5.25rem,.25fr) minmax(0,1fr);padding:1rem 0}.suggestions-contact-row+.suggestions-contact-row{border-top:1px solid var(--border-subtle)}.suggestions-contact-row dt{color:var(--ink-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.suggestions-contact-row dd{color:var(--ink);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);overflow-wrap:anywhere}.suggestions-contact-row a{align-items:center;color:var(--accent-text);display:inline-flex;gap:.4rem;text-underline-offset:.2em}.suggestions-contact-row a:hover{color:var(--accent-text);text-decoration-thickness:2px}.suggestions-contact-row a:focus-visible{border-radius:4px;outline:3px solid rgba(31,100,255,.28);outline-offset:3px}.suggestions-personal-note{color:var(--ink-muted);font-size:var(--font-size-control);line-height:1.55;margin-top:1.25rem!important;max-width:40rem}@media(max-width:560px){.suggestions-backdrop{align-items:flex-start;padding:1rem .75rem 1.5rem}.suggestions-card{border-radius:18px;padding:1.35rem 1rem}.suggestions-contact-row{gap:.35rem;grid-template-columns:1fr;padding:.9rem 0}}@media(prefers-reduced-motion:reduce){.suggestions-card{animation:none}}.alerts-page{box-sizing:border-box;margin:0 auto;max-width:1240px;padding:1.4rem 1rem 3.5rem}.alerts-page-heading{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin:.35rem 0 1.25rem}.alerts-page-heading h1,.alerts-page-heading p,.alerts-impact-card h2,.alerts-impact-card p,.alerts-feed-heading h2,.alerts-feed-heading p,.alerts-feed-item h3,.alerts-feed-item p,.alerts-empty-state h3,.alerts-empty-state p{margin:0}.alerts-page-heading h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:.95}.alerts-page-heading>div>p:last-child{color:var(--ink-muted);margin-top:.65rem}.alerts-eyebrow{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:.38rem!important;text-transform:uppercase}.alerts-live-pill,.alerts-status-pill{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:.45rem;padding:.43rem .7rem;white-space:nowrap}.alerts-live-pill>span,.alerts-status-pill i{background:var(--success);border-radius:50%;height:.5rem;width:.5rem}.alerts-live-pill>span{box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 16%,transparent)}.alerts-control-bar{align-items:flex-end;border-radius:18px;display:grid;gap:1rem;grid-template-columns:auto minmax(15rem,1fr);margin-bottom:1rem;padding:.8rem}.alerts-mode-switch{background:var(--control);border:1px solid var(--border-subtle);border-radius:13px;display:grid;gap:.3rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.3rem}.alerts-mode-switch button{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.45rem;justify-content:center;min-height:2.8rem;padding:0 1rem;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.alerts-mode-switch button:hover{color:var(--ink)}.alerts-mode-switch button.is-active{background:var(--surface);box-shadow:var(--shadow-1);color:var(--accent-text)}.alerts-mode-icon{align-items:center;background:currentColor;border-radius:50%;color:inherit;display:inline-flex;font-size:.58rem;height:1.35rem;justify-content:center;position:relative;width:1.35rem}.alerts-mode-icon:after{color:var(--surface);content:"M";font-weight:var(--font-weight-bold);position:absolute}.alerts-mode-switch button:not(.is-active) .alerts-mode-icon:after{color:var(--control)}.alerts-bus-icon{border-radius:4px;font-size:0}.alerts-bus-icon:after{content:"BUS";font-size:.4rem}.alerts-field,.alerts-bus-fields{min-width:0}.alerts-bus-fields{display:grid;gap:.7rem;grid-template-columns:minmax(12rem,.8fr) minmax(14rem,1.2fr)}.alerts-field{display:grid;gap:.35rem}.alerts-field>span{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.alerts-field select,.alerts-field input{background:var(--surface-sunk);border:1px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:var(--font-size-control);height:2.8rem;min-width:0;outline:none;width:100%}.alerts-field select{cursor:pointer;padding:0 2.4rem 0 .75rem}.alerts-field input{padding:0 .75rem 0 2.35rem}.alerts-field select:focus,.alerts-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.alerts-field small{color:var(--ink-muted);font-size:var(--font-size-caption)}.alerts-search-wrap{position:relative}.alerts-search-wrap svg{fill:none;height:1.05rem;left:.78rem;position:absolute;stroke:var(--ink-muted);stroke-linecap:round;stroke-width:1.8;top:50%;transform:translateY(-50%);width:1.05rem;z-index:1}.alerts-overview{display:grid;gap:1rem}.alerts-impact-card{border-left:6px solid var(--success);border-radius:18px;padding:clamp(1.1rem,3vw,1.5rem)}.alerts-impact-card.alerts-status-warning{border-left-color:var(--warning)}.alerts-impact-card.alerts-status-critical{border-left-color:var(--danger-fill)}.alerts-impact-heading,.alerts-feed-heading,.alerts-feed-title-row{align-items:flex-start;display:flex;gap:.8rem;justify-content:space-between}.alerts-impact-heading h2{font-size:var(--font-size-section-title);line-height:1.12}.alerts-impact-copy{color:var(--ink-muted);line-height:1.5;margin-top:.55rem!important}.alerts-status-pill.alerts-status-ok{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.alerts-status-pill.alerts-status-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.alerts-status-pill.alerts-status-warning i{background:var(--warning)}.alerts-status-pill.alerts-status-critical{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.alerts-status-pill.alerts-status-critical i{background:var(--danger-fill)}.alerts-impact-scale{display:grid;gap:.4rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.1rem}.alerts-impact-scale span{border-radius:999px;color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);padding-top:.48rem;position:relative}.alerts-impact-scale span:before{background:var(--success-border);border-radius:999px;content:"";height:.38rem;left:0;position:absolute;right:0;top:0}.alerts-impact-scale span:nth-child(2):before{background:var(--warning-border)}.alerts-impact-scale span:nth-child(3):before{background:var(--danger-border)}.alerts-impact-scale span.is-active{color:var(--ink)}.alerts-impact-scale span.is-active:before{background:var(--success)}.alerts-impact-scale span:nth-child(2).is-active:before{background:var(--warning)}.alerts-impact-scale span:nth-child(3).is-active:before{background:var(--danger-fill)}.alerts-metrics{display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.alerts-metric{background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:.95rem 1rem 1rem;position:relative}.alerts-metric:before{background:var(--success);content:"";height:4px;left:0;position:absolute;right:0;top:0}.alerts-metric.alerts-status-warning:before{background:var(--warning)}.alerts-metric.alerts-status-critical:before{background:var(--danger-fill)}.alerts-metric>span{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.alerts-metric strong{font-size:var(--font-size-metric);line-height:1;margin:.55rem 0}.alerts-metric small{color:var(--ink-muted);line-height:1.35}.alerts-feed{border-radius:18px;margin-top:1rem;padding:clamp(1rem,3vw,1.4rem)}.alerts-feed-heading{align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem}.alerts-feed-heading h2{font-size:var(--font-size-section-title)}.alerts-feed-heading>div>p:last-child{color:var(--ink-muted);font-size:var(--font-size-label);margin-top:.32rem}.alerts-feed-heading button{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:.4rem;min-height:var(--pill-height);padding:0 .75rem}.alerts-feed-heading button:hover,.alerts-feed-heading button:focus-visible{background:var(--control-hover)}.alerts-feed-heading button:disabled{cursor:wait;opacity:.65}.alerts-feed-heading button svg{fill:none;height:.95rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:.95rem}.alerts-feed-list{display:grid}.alerts-feed-more{background:var(--control);border:1px solid var(--border);border-radius:10px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);margin-top:1rem;min-height:2.65rem;padding:.55rem .85rem;width:100%}.alerts-feed-more:hover,.alerts-feed-more:focus-visible{background:var(--control-hover)}.alerts-feed-item{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:grid;gap:.85rem;grid-template-columns:auto minmax(0,1fr);padding:1rem 0}.alerts-feed-item:last-child{border-bottom:0;padding-bottom:0}.alerts-feed-mark{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:10px;color:var(--success-text);display:inline-flex;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);height:2rem;justify-content:center;width:2rem}.alerts-feed-item.alerts-status-warning .alerts-feed-mark{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.alerts-feed-item.alerts-status-critical .alerts-feed-mark{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.alerts-feed-title-row h3{font-size:var(--font-size-body-sm);line-height:1.35}.alerts-feed-content>p{color:var(--ink-muted);font-size:var(--font-size-control);line-height:1.5;margin-top:.35rem}.alerts-route-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.alerts-route-tags span{background:var(--control);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);padding:.22rem .48rem}.alerts-empty-state{align-items:center;display:flex;gap:.8rem;justify-content:center;min-height:12rem;text-align:left}.alerts-empty-state>span{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:50%;color:var(--success-text);display:inline-flex;font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);height:2.6rem;justify-content:center;width:2.6rem}.alerts-empty-state h3{font-size:var(--font-size-card-title)}.alerts-empty-state p{color:var(--ink-muted);font-size:var(--font-size-control);margin-top:.2rem}@media(max-width:820px){.alerts-control-bar{align-items:stretch;grid-template-columns:1fr}.alerts-bus-fields{grid-template-columns:1fr 1fr}.alerts-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.alerts-page{padding:1rem .75rem 2rem}.alerts-page-heading{align-items:flex-start}.alerts-page-heading>div>p:last-child{font-size:var(--font-size-control);max-width:17rem}.alerts-live-pill{font-size:0;margin-top:.2rem;padding:.55rem}.alerts-control-bar{border-radius:15px;padding:.65rem}.alerts-bus-fields{grid-template-columns:1fr}.alerts-impact-heading,.alerts-feed-title-row{align-items:flex-start}.alerts-impact-heading .alerts-status-pill,.alerts-feed-title-row .alerts-status-pill{font-size:0;padding:.55rem}.alerts-metrics{gap:.65rem}.alerts-metric{padding:.85rem}.alerts-metric small{font-size:var(--font-size-caption)}.alerts-feed-item{gap:.65rem}}@media(max-width:380px){.alerts-page-heading>div>p:last-child{display:none}.alerts-metrics{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.alerts-mode-switch button{transition:none}}.developer-page,.developer-gate-wrap{color:var(--ink)}.developer-page{box-sizing:border-box;margin:0 auto;max-width:1500px;padding:2rem clamp(1rem,3vw,3rem) 4rem}.developer-hero{align-items:flex-end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.75rem}.developer-eyebrow,.developer-panel-heading p{color:var(--accent-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin:0 0 .35rem;text-transform:uppercase}.developer-hero h1{font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:.95;margin:0}.developer-hero>div>p:last-child{color:var(--ink-muted);margin:.8rem 0 0;max-width:46rem}.developer-private-badge{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:999px;color:var(--success-text);display:inline-flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);gap:.4rem;margin-bottom:1rem;padding:.35rem .65rem}.developer-private-badge span,.developer-status-dot{background:var(--success);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 15%,transparent);display:inline-block;height:.45rem;width:.45rem}.developer-hero-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.55rem}.developer-hero-actions>span{color:var(--ink-muted);font-size:var(--font-size-label)}.developer-hero-actions button{align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:10px;color:var(--page);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.45rem;padding:.6rem .8rem}.developer-hero-actions button:disabled{cursor:wait;opacity:.62}.developer-hero-actions svg{fill:none;height:1rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1rem}.developer-banner-error,.developer-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:10px;color:var(--danger-text-strong);font-size:var(--font-size-control);line-height:1.45;padding:.65rem .75rem}.developer-banner-error{margin:0 0 1rem}.developer-metric-grid{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.85rem}.developer-metric-card,.developer-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1)}.developer-metric-card{border-radius:14px;min-width:0;padding:1rem}.developer-metric-top{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);justify-content:space-between}.developer-metric-icon{align-items:center;background:var(--info-bg);border-radius:9px;color:var(--info-text);display:inline-flex;height:1.9rem;justify-content:center;width:1.9rem}.developer-metric-icon.is-users{background:var(--success-bg);color:var(--success-text)}.developer-metric-icon.is-database{background:var(--warning-bg);color:var(--warning-text)}.developer-metric-icon svg{fill:none;height:1.05rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1.05rem}.developer-metric-card>strong{display:block;font-size:var(--font-size-metric);letter-spacing:var(--letter-spacing-tight);line-height:1;margin-top:1rem}.developer-metric-card>p{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.35;margin:.45rem 0 0}.developer-access-panel{margin-bottom:.85rem}.developer-access-heading{align-items:end;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(19rem,.75fr)}.developer-access-heading h2{font-size:var(--font-size-heading-sm);letter-spacing:var(--letter-spacing-snug);margin:0}.developer-access-heading>div>p:last-child{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.45;margin:.35rem 0 0;max-width:42rem}.developer-grant-form label{display:block;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);margin-bottom:.35rem}.developer-grant-form>div{display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto}.developer-grant-form input,.developer-login-field input{background:var(--surface-sunk);border:1px solid var(--border);border-radius:9px;box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:var(--font-size-label);min-width:0;outline:none;padding:.65rem .7rem;width:100%}.developer-grant-form input:focus,.developer-login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.developer-grant-form button,.developer-login-submit{background:var(--accent);border:1px solid var(--accent);border-radius:9px;color:#fff;cursor:pointer;font-family:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);padding:.65rem .85rem}.developer-grant-form button:disabled,.developer-login-submit:disabled{cursor:wait;opacity:.65}.developer-access-message{border:1px solid;border-radius:9px;font-size:var(--font-size-caption);margin:.75rem 0 0;padding:.55rem .65rem}.developer-access-message.is-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text-strong)}.developer-access-message.is-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.developer-access-list{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));margin-top:1rem}.developer-access-account{align-items:center;background:var(--surface-sunk);border:1px solid var(--border-subtle);border-radius:10px;display:grid;gap:.6rem;grid-template-columns:auto minmax(0,1fr) auto auto;padding:.6rem}.developer-access-avatar{align-items:center;background:var(--info-bg);border-radius:8px;color:var(--info-text);display:flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);height:1.9rem;justify-content:center;width:1.9rem}.developer-access-account>div strong{display:block;font-size:var(--font-size-label)}.developer-access-account>div span{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.12rem}.developer-access-account>b{background:var(--info-bg);border-radius:999px;color:var(--info-text);font-size:var(--font-size-micro);padding:.3rem .5rem}.developer-access-account>b.is-owner{background:var(--success-bg);color:var(--success-text)}.developer-access-account>button{background:transparent;border:1px solid var(--danger-border);border-radius:7px;color:var(--danger-text);cursor:pointer;font-family:inherit;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);padding:.35rem .5rem}.developer-access-account>button:hover,.developer-access-account>button:focus-visible{background:var(--danger-bg);outline:none}.developer-access-account>button:disabled{cursor:wait;opacity:.65}.developer-access-protected{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold)}.developer-main-grid,.developer-bottom-grid{display:grid;gap:.85rem;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.85fr);margin-bottom:.85rem}.developer-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.developer-panel{border-radius:14px;box-sizing:border-box;min-width:0;padding:1rem}.developer-panel-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.developer-panel-heading h2{font-size:var(--font-size-card-title);letter-spacing:var(--letter-spacing-snug);margin:0}.developer-panel-heading>span{background:var(--control);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);flex:0 0 auto;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:.3rem .55rem}.developer-chart-summary{align-items:baseline;display:flex;gap:.55rem;margin-top:1.4rem}.developer-chart-summary strong{font-size:var(--font-size-metric);letter-spacing:var(--letter-spacing-tight)}.developer-chart-summary span{color:var(--ink-muted);font-size:var(--font-size-caption)}.developer-bar-chart{align-items:end;background-image:linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:100% 25%;display:flex;gap:clamp(2px,.35vw,6px);height:11rem;margin-top:.85rem}.developer-bar-slot{align-items:end;display:flex;flex:1 1 0;height:100%}.developer-bar-slot i{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 55%,white),var(--accent));border-radius:4px 4px 2px 2px;display:block;min-height:2px;transition:height var(--motion-view) var(--ease-standard);width:100%}.developer-bar-slot:hover i{background:var(--accent-hover)}.developer-chart-axis{color:var(--ink-muted);display:flex;font-size:var(--font-size-micro);justify-content:space-between;margin-top:.45rem}.developer-feature-list{display:grid;gap:1rem;margin-top:1.35rem}.developer-feature{align-items:center;display:grid;gap:.65rem;grid-template-columns:minmax(7.8rem,1fr) minmax(6rem,1.4fr) 2.7rem}.developer-feature>div:first-child{min-width:0}.developer-feature strong{display:block;font-size:var(--font-size-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.developer-feature span{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.15rem}.developer-feature>b{font-size:var(--font-size-label);text-align:right}.developer-feature-bar,.developer-storage-track,.developer-quota-track{background:var(--control);border-radius:999px;height:.42rem;overflow:hidden}.developer-feature-bar i,.developer-storage-track i,.developer-quota-track i{background:var(--accent);border-radius:inherit;display:block;height:100%}.developer-users-panel{margin-bottom:.85rem;padding-bottom:.3rem}.developer-table-scroll{overflow-x:auto}.developer-table{border-collapse:collapse;font-size:var(--font-size-label);margin-top:.75rem;min-width:800px;width:100%}.developer-table th{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);padding:.55rem .7rem;text-align:left;text-transform:uppercase}.developer-table td{border-top:1px solid var(--border-subtle);padding:.68rem .7rem;vertical-align:middle}.developer-table td>small{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.18rem}.developer-user-cell{align-items:center;display:inline-flex;gap:.55rem}.developer-user-cell>i{align-items:center;background:var(--info-bg);border-radius:8px;color:var(--info-text);display:inline-flex;font-size:var(--font-size-caption);font-style:normal;font-weight:var(--font-weight-bold);height:1.8rem;justify-content:center;text-transform:uppercase;width:1.8rem}.developer-user-cell>i.is-anonymous{background:var(--control);color:var(--ink-muted)}.developer-recency{align-items:center;display:inline-flex;gap:.4rem;white-space:nowrap}.developer-recency>i{background:var(--border-strong);border-radius:50%;height:.4rem;width:.4rem}.developer-recency>i.is-online{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent)}.developer-wmata-table{min-width:1020px}.developer-wmata-endpoints{display:flex;flex-wrap:wrap;gap:.3rem;max-width:28rem}.developer-wmata-endpoints>span{align-items:center;background:var(--control);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);display:inline-flex;font-size:var(--font-size-micro);gap:.35rem;padding:.2rem .42rem;white-space:nowrap}.developer-wmata-endpoints>span b{color:var(--ink);font-size:inherit}.developer-wmata-endpoints>small{color:var(--ink-muted);font-size:var(--font-size-micro)}.developer-request-details-button{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:8px;color:var(--accent-text);cursor:pointer;font-family:inherit;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);padding:.4rem .55rem;white-space:nowrap}.developer-request-details-button:hover,.developer-request-details-button:focus-visible{background:color-mix(in srgb,var(--accent) 18%,var(--surface));outline:none}.developer-storage-list{display:grid;gap:.9rem;margin-top:1.25rem}.developer-storage-row{align-items:center;display:grid;gap:.7rem;grid-template-columns:minmax(8rem,1fr) minmax(5rem,1.3fr) 4rem}.developer-storage-row strong{display:block;font-size:var(--font-size-label)}.developer-storage-row span{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.1rem}.developer-storage-row b{font-size:var(--font-size-caption);text-align:right}.developer-storage-track i{background:var(--warning)}.developer-quota-card{background:var(--surface-sunk);border:1px solid var(--border-subtle);border-radius:10px;margin-top:1.25rem;padding:.75rem}.developer-quota-card>div:first-child{align-items:baseline;display:flex;justify-content:space-between}.developer-quota-card span{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.developer-quota-card strong{font-size:var(--font-size-body)}.developer-quota-track{margin-top:.65rem}.developer-quota-track i{background:var(--success)}.developer-quota-card p{color:var(--ink-muted);font-size:var(--font-size-micro);margin:.45rem 0 0}.developer-activity-list{margin-top:.9rem;max-height:23rem;overflow-y:auto;padding-right:.2rem}.developer-activity-item{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.65rem 0}.developer-activity-item:first-child{border-top:0}.developer-activity-spark{background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--info-bg);height:.42rem;margin-left:.25rem;width:.42rem}.developer-activity-item strong{display:block;font-size:var(--font-size-label)}.developer-activity-item p{color:var(--ink-muted);font-size:var(--font-size-micro);margin:.12rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.developer-activity-item time{color:var(--ink-muted);font-size:var(--font-size-micro);white-space:nowrap}.developer-insights-panel{padding-bottom:.35rem}.developer-insights-heading{align-items:center}.developer-insights-heading>div>span{color:var(--ink-muted);display:block;font-size:var(--font-size-caption);line-height:1.45;margin-top:.35rem;max-width:48rem}.developer-insights-refresh{background:linear-gradient(135deg,var(--accent),#7857ff);border:0;border-radius:9px;color:#fff;cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:.6rem .8rem}.developer-insights-refresh:disabled{cursor:wait;opacity:.6}.developer-insights-table{min-width:1320px}.developer-insights-table td{vertical-align:top}.developer-insights-table td>strong{display:block}.developer-insight-tags{display:flex;flex-wrap:wrap;gap:.28rem;max-width:15rem}.developer-insight-tags>span{align-items:center;background:var(--info-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--info-text);display:inline-flex;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);gap:.28rem;padding:.22rem .42rem}.developer-insight-tags>span b{color:var(--ink);font-size:inherit}.developer-insight-tags>small{color:var(--ink-muted)}.developer-insight-overview{line-height:1.45;max-width:24rem;min-width:17rem}.developer-insight-overview>small{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.35rem}.developer-empty{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-label);justify-content:center;min-height:10rem;text-align:center}:root[data-dev-effects=true] .developer-storage-track i,:root[data-dev-effects=true] .developer-quota-track i{background:var(--accent)}.developer-request-modal-backdrop{align-items:center;animation:fade-in var(--motion-pop) var(--ease-standard) both;background:#080c149e;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2100}.developer-request-modal{animation:pop-in var(--motion-pop) var(--ease-out) both;border-radius:18px;box-sizing:border-box;display:flex;flex-direction:column;max-height:min(760px,calc(100dvh - 2rem));max-width:720px;overflow:hidden;padding:0;width:100%}.developer-request-modal-heading{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.1rem}.developer-request-modal-heading p{color:var(--accent-text);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin:0 0 .25rem;text-transform:uppercase}.developer-request-modal-heading h2{font-size:var(--font-size-heading-sm);margin:0}.developer-request-modal-heading div>span{color:var(--ink-muted);display:block;font-size:var(--font-size-caption);margin-top:.25rem}.developer-request-modal-heading>button{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 2rem;font-family:inherit;font-size:var(--font-size-body);height:2rem;justify-content:center;padding:0;width:2rem}.developer-request-modal-heading>button:hover,.developer-request-modal-heading>button:focus-visible{background:var(--control-hover);outline:none}.developer-request-modal-note{background:var(--surface-sunk);border-bottom:1px solid var(--border-subtle);color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.45;margin:0;padding:.7rem 1.1rem}.developer-request-modal .developer-access-message{margin:.75rem 1.1rem 0}.developer-request-call-list{flex:1;min-height:12rem;overflow-y:auto;padding:0 1.1rem}.developer-request-call-list>article{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:.7rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.72rem 0}.developer-request-call-list>article:first-of-type{border-top:0}.developer-request-call-list article strong{display:block;font-size:var(--font-size-control)}.developer-request-call-list article time{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.18rem}.developer-request-call-list article code{background:var(--control);border:1px solid var(--border-subtle);border-radius:6px;color:var(--ink-muted);font-size:var(--font-size-micro);padding:.25rem .38rem}.developer-request-loading{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-label);justify-content:center;min-height:12rem}.developer-request-modal-footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding:.8rem 1.1rem}.developer-request-modal-footer span{color:var(--ink-muted);font-size:var(--font-size-caption)}.developer-request-modal-footer button{background:var(--accent);border:1px solid var(--accent-hover);border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:.5rem .65rem}.developer-request-modal-footer button:disabled{cursor:wait;opacity:.65}.developer-remove-user-button{background:transparent;border:1px solid var(--danger-border);border-radius:8px;color:var(--danger-text);cursor:pointer;font-family:inherit;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);padding:.4rem .55rem;white-space:nowrap}.developer-remove-user-button:hover,.developer-remove-user-button:focus-visible{background:var(--danger-bg);outline:none}.developer-remove-modal{max-width:34rem}.developer-remove-modal-body{display:grid;gap:.75rem;padding:1rem 1.1rem}.developer-remove-modal-body p:first-child{color:var(--ink-muted);font-size:var(--font-size-control);line-height:var(--line-height-relaxed);margin:0}.developer-remove-modal-body label{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.developer-remove-modal-body label b{color:var(--danger-text)}.developer-remove-modal-body input{background:var(--surface-sunk);border:1px solid var(--border);border-radius:9px;box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:var(--font-size-control);outline:none;padding:.65rem .75rem;width:100%}.developer-remove-modal-body input:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}.developer-remove-modal .developer-request-modal-footer{justify-content:flex-end}.developer-remove-modal .developer-request-modal-footer button{align-items:center;display:inline-flex;gap:.4rem}.developer-remove-modal .developer-remove-cancel{background:var(--control);border-color:var(--border);color:var(--ink)}.developer-remove-modal .developer-remove-cancel:hover:not(:disabled){background:var(--control-hover)}.developer-remove-modal .developer-remove-confirm{background:var(--danger-fill);border-color:var(--danger-fill-hover)}.developer-remove-modal .developer-remove-confirm:hover:not(:disabled){background:var(--danger-fill-hover)}.developer-remove-modal .developer-remove-confirm:disabled{cursor:not-allowed}.developer-gate-wrap{align-items:center;display:flex;justify-content:center;min-height:calc(100dvh - 8rem);padding:2rem 1rem 5rem}.developer-gate{border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-2);box-sizing:border-box;max-width:31rem;overflow:hidden;padding:2rem;position:relative;width:100%}.developer-gate:before{background:linear-gradient(90deg,var(--accent),#7857ff);content:"";height:4px;inset:0 0 auto;position:absolute}.developer-gate-mark{align-items:center;background:var(--ink);border-radius:12px;color:var(--page);display:flex;font-size:var(--font-size-body-lg);font-weight:var(--font-weight-bold);height:2.7rem;justify-content:center;margin-bottom:1.25rem;width:2.7rem}.developer-gate h1{font-size:var(--font-size-heading-lg);letter-spacing:var(--letter-spacing-tight);line-height:1;margin:0}.developer-gate-copy{color:var(--ink-muted);font-size:var(--font-size-control);line-height:1.55;margin:.85rem 0 1.5rem}.developer-login-form{display:grid;gap:.85rem}.developer-login-field label{display:block;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);margin-bottom:.4rem}.developer-login-field input{border-radius:10px;font-size:var(--font-size-control);padding:.72rem .8rem}.developer-login-submit{border-radius:10px;font-size:var(--font-size-label);padding:.72rem 1rem;width:100%}.developer-error{margin:.65rem 0 0}.developer-gate-footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1rem}.developer-gate-footer span{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-micro);gap:.45rem}.developer-gate-footer button{background:transparent;border:0;color:var(--accent-text);cursor:pointer;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.developer-loading-line{background:var(--control);border-radius:99px;height:.35rem;margin-top:1.5rem;overflow:hidden}.developer-loading-line span{animation:developer-loading 1.1s ease-in-out infinite;background:var(--accent);border-radius:inherit;display:block;height:100%;width:42%}@keyframes developer-loading{0%{transform:translate(-110%)}to{transform:translate(340%)}}@media(max-width:980px){.developer-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.developer-access-heading,.developer-main-grid,.developer-bottom-grid{grid-template-columns:1fr}}@media(max-width:768px){.developer-page{padding:.85rem .65rem 2rem}.developer-hero{align-items:flex-start;display:block;padding:.3rem .25rem}.developer-hero-actions{align-items:center;flex-direction:row;justify-content:space-between;margin-top:1rem}.developer-metric-grid{gap:.6rem}.developer-metric-card,.developer-panel{border-radius:12px;padding:.8rem}.developer-bar-chart{height:9rem}.developer-feature{grid-template-columns:minmax(7rem,1fr) minmax(4rem,1fr) 2.4rem}.developer-users-panel{padding-bottom:.2rem}.developer-insights-heading{align-items:flex-start;flex-direction:column}.developer-insights-refresh{width:100%}.developer-gate-wrap{min-height:calc(100dvh - 10rem);padding:1rem .65rem 4rem}.developer-gate{border-radius:14px;padding:1.3rem}.developer-request-modal-backdrop{align-items:flex-end;padding:0}.developer-request-modal{border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:min(86dvh,760px)}}@media(max-width:430px){.developer-metric-grid{grid-template-columns:1fr 1fr}.developer-metric-top{align-items:flex-start;gap:.35rem}.developer-metric-icon{height:1.65rem;width:1.65rem}.developer-metric-card>p{font-size:var(--font-size-micro)}.developer-hero-actions button{padding:.55rem .65rem}.developer-grant-form>div{grid-template-columns:1fr}.developer-grant-form button{width:100%}.developer-access-list{grid-template-columns:1fr}.developer-access-account{grid-template-columns:auto minmax(0,1fr) auto}.developer-access-account>b{grid-column:2;grid-row:2;justify-self:start}.developer-access-account>button,.developer-access-protected{grid-column:3;grid-row:1 / 3}.developer-storage-row{grid-template-columns:minmax(7rem,1fr) minmax(4rem,.8fr) 3.5rem;gap:.4rem}.developer-request-call-list>article{grid-template-columns:auto minmax(0,1fr)}.developer-request-call-list article code{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.developer-loading-line span{animation:none}}.activity-page{box-sizing:border-box;color:var(--ink);margin:0 auto;max-width:1180px;padding:2rem clamp(1rem,3vw,2.5rem) 4rem}.activity-eyebrow{align-items:center;color:var(--accent-text);display:inline-flex;gap:.4rem;margin:0 0 .4rem}.activity-hero{align-items:flex-end;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem}.activity-hero h1{margin:0}.activity-hero>div>p:last-child{color:var(--ink-muted);line-height:var(--line-height-relaxed);margin:.7rem 0 0;max-width:40rem}.activity-hero-actions{align-items:center;display:flex;flex:none;gap:.5rem}.activity-window{background:var(--surface-sunk);border:1px solid var(--border);border-radius:999px;display:inline-flex;padding:.18rem}.activity-window button{background:transparent;border:0;border-radius:999px;color:var(--ink-muted);cursor:pointer;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);min-height:1.9rem;padding:0 .7rem}.activity-window button:hover{color:var(--ink)}.activity-window button.is-active{background:var(--surface);box-shadow:var(--shadow-1);color:var(--accent-text)}.activity-refresh,.activity-primary{align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:999px;color:var(--page);cursor:pointer;display:inline-flex;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.4rem;min-height:2.25rem;padding:0 .9rem}.activity-refresh:disabled{cursor:wait;opacity:.62}.activity-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:10px;color:var(--danger-text-strong);font-size:var(--font-size-control);line-height:var(--line-height-body);margin:0 0 1rem;padding:.65rem .75rem}.activity-metric-grid{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:.85rem}.activity-metric,.activity-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-1);box-sizing:border-box;min-width:0;padding:1rem}.activity-metric.skeleton{border:0;min-height:7.2rem}.activity-metric-top{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);gap:.5rem;justify-content:space-between}.activity-metric-icon{align-items:center;background:var(--info-bg);border-radius:9px;color:var(--info-text);display:inline-flex;flex:none;font-size:var(--font-size-body-lg);height:1.9rem;justify-content:center;width:1.9rem}.activity-metric>strong{display:block;font-size:var(--font-size-metric);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-display);margin-top:.9rem}.activity-metric>p{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:var(--line-height-snug);margin:.45rem 0 0}.activity-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.85rem}.activity-grid-wide{grid-template-columns:minmax(0,1.4fr) minmax(18rem,1fr)}.activity-panel-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.activity-panel-heading p{color:var(--accent-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin:0 0 .3rem;text-transform:uppercase}.activity-panel-heading h2{font-size:var(--font-size-card-title);margin:0}.activity-panel-heading>span{background:var(--control);border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink-muted);flex:none;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:.3rem .55rem;white-space:nowrap}.activity-empty{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-label);justify-content:center;line-height:var(--line-height-body);margin:0;min-height:7rem;text-align:center}.activity-bar{background:var(--control);border-radius:999px;display:block;height:.42rem;overflow:hidden}.activity-bar i{background:var(--accent);border-radius:inherit;display:block;height:100%;transition:width var(--motion-view) var(--ease-standard)}.activity-chart{align-items:end;background-image:linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:100% 25%;display:flex;gap:clamp(2px,.35vw,6px);height:10rem;margin-top:1.1rem}.activity-chart-slot{display:flex;flex:1 1 0;flex-direction:column;height:100%;justify-content:flex-end;min-width:0}.activity-chart-slot i{display:block;min-height:0;transition:height var(--motion-view) var(--ease-standard);width:100%}.activity-chart-slot i.is-transit{background:var(--accent);border-radius:0 0 2px 2px}.activity-chart-slot i.is-ai{background:color-mix(in srgb,var(--accent) 45%,var(--surface));border-radius:3px 3px 0 0}.activity-chart-slot i.is-transit:only-child,.activity-chart-slot i.is-ai+i.is-transit[style*="height: 0%"]+i{border-radius:3px 3px 2px 2px}.activity-chart-axis{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-micro);gap:.5rem;justify-content:space-between;margin-top:.45rem}.activity-legend{align-items:center;display:inline-flex;gap:.35rem}.activity-legend i{border-radius:2px;display:inline-block;height:.55rem;width:.55rem}.activity-legend i.is-transit{background:var(--accent)}.activity-legend i.is-ai{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.activity-legend i+i{margin-left:.5rem}.activity-screens,.activity-ranked,.activity-questions,.activity-sessions,.activity-calls{list-style:none;margin:1rem 0 0;padding:0}.activity-screens li,.activity-ranked li{align-items:center;display:grid;gap:.65rem;grid-template-columns:minmax(7rem,1fr) minmax(4rem,1.2fr) auto;padding:.45rem 0}.activity-screens strong,.activity-ranked-copy strong{display:block;font-size:var(--font-size-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-ranked-copy small{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.1rem}.activity-screens b,.activity-ranked b{font-size:var(--font-size-label);text-align:right;white-space:nowrap}.activity-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.9rem}.activity-tags>span{align-items:center;background:var(--info-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--info-text);display:inline-flex;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);gap:.3rem;padding:.22rem .5rem}.activity-tags>span b{color:var(--ink);font-size:inherit}.activity-questions{max-height:22rem;overflow-y:auto;padding-right:.2rem}.activity-questions li{border-top:1px solid var(--border-subtle);padding:.6rem 0}.activity-questions li:first-child{border-top:0}.activity-questions p{font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0;overflow-wrap:anywhere}.activity-questions small,.activity-session-meta small,.activity-calls time{color:var(--ink-muted);display:block;font-size:var(--font-size-micro);margin-top:.2rem}.activity-sessions li{border-top:1px solid var(--border-subtle);display:grid;gap:.35rem;padding:.6rem 0}.activity-sessions li:first-child{border-top:0}.activity-session-meta{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between}.activity-session-meta strong{font-size:var(--font-size-label)}.activity-path{color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-caption);gap:.15rem .2rem}.activity-path>span{align-items:center;display:inline-flex;gap:.2rem}.activity-path .icon{color:var(--border-strong);font-size:var(--font-size-label)}.activity-calls{border-top:1px solid var(--border-subtle);margin-top:.85rem;padding-top:.5rem}.activity-calls li{align-items:baseline;display:flex;font-size:var(--font-size-caption);gap:.75rem;justify-content:space-between;padding:.3rem 0}.activity-calls time{margin:0;white-space:nowrap}.activity-facts{display:grid;gap:.75rem;margin:1rem 0 0}.activity-facts>div{display:grid;gap:.15rem}.activity-facts dt{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.activity-facts dd{font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0;overflow-wrap:anywhere}.activity-footnote{align-items:center;color:var(--ink-muted);display:flex;font-size:var(--font-size-caption);gap:.45rem;justify-content:center;margin:1.2rem 0 0;text-align:center}.activity-gate{border-radius:18px;box-sizing:border-box;margin:clamp(1rem,8vh,4rem) auto 0;max-width:30rem;padding:2rem;text-align:left}.activity-gate h1{font-size:var(--font-size-heading-lg);margin:0}.activity-gate>p:not(.activity-eyebrow){color:var(--ink-muted);line-height:var(--line-height-relaxed);margin:.8rem 0 1.3rem}.activity-gate-mark{align-items:center;background:var(--info-bg);border-radius:12px;color:var(--info-text);display:inline-flex;font-size:var(--font-size-heading-sm);height:2.7rem;justify-content:center;margin-bottom:1.1rem;width:2.7rem}@media(max-width:980px){.activity-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-grid,.activity-grid-wide{grid-template-columns:1fr}}@media(max-width:768px){.activity-page{padding:.85rem .65rem 2rem}.activity-hero{align-items:stretch;flex-direction:column;gap:.9rem;padding:.3rem .25rem}.activity-hero-actions{justify-content:space-between}.activity-metric-grid{gap:.6rem}.activity-metric,.activity-panel{border-radius:12px;padding:.8rem}.activity-chart{height:8rem}.activity-chart-axis{flex-wrap:wrap}.activity-legend{order:3;width:100%}.activity-gate{border-radius:14px;padding:1.3rem}}@media(max-width:430px){.activity-metric>p{font-size:var(--font-size-micro)}.activity-screens li,.activity-ranked li{gap:.45rem;grid-template-columns:minmax(5rem,1fr) minmax(3rem,.9fr) auto}}.community-page{box-sizing:border-box;margin:0 auto;max-width:1040px;min-height:70vh;padding:clamp(1.5rem,4vw,3rem) 1rem 3rem}.community-hero{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.4rem}.community-hero>div{max-width:44rem}.community-hero h1,.community-hero p,.community-gate h1,.community-gate p,.community-composer h2,.community-composer p,.community-section-heading h2,.community-section-heading p{margin:0}.community-hero h1,.community-gate h1{color:var(--ink);font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-display)}.community-hero>div>p:last-child,.community-gate>p:not(.community-eyebrow){color:var(--ink-muted);font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed);margin-top:.75rem}.community-eyebrow{color:var(--accent-text);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:.5rem!important;text-transform:uppercase}.community-primary,.community-secondary,.community-back,.community-icon-button,.community-post-actions button,.community-comment-actions button{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.4rem;justify-content:center;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.community-primary{background:var(--accent);border:1px solid var(--accent);color:#fff;min-height:2.65rem;padding:.65rem 1rem}.community-primary:hover,.community-primary:focus-visible{background:var(--accent-hover);border-color:var(--accent-hover);outline:none;transform:translateY(-1px)}.community-secondary,.community-back{background:var(--control);border:1px solid var(--border);color:var(--ink);min-height:2.65rem;padding:.65rem 1rem}.community-secondary:hover,.community-secondary:focus-visible,.community-back:hover,.community-back:focus-visible{background:var(--control-hover);border-color:var(--border-strong);outline:none}.community-primary.is-small,.community-secondary.is-small{min-height:2.15rem;padding:.42rem .75rem}.community-primary:disabled,.community-secondary:disabled,.community-icon-button:disabled,.community-post-actions button:disabled,.community-comment-actions button:disabled{cursor:wait;opacity:.55;transform:none}.community-icon-button{background:var(--control);border:1px solid var(--border);color:var(--ink);flex:0 0 2.4rem;height:2.4rem;padding:0}.community-icon-button:hover,.community-icon-button:focus-visible{background:var(--control-hover);outline:none}.community-tabs{border-bottom:1px solid var(--border);display:flex;gap:.25rem;margin-bottom:1.25rem}.community-tabs button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--ink-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);gap:.45rem;margin-bottom:-1px;padding:.75rem 1rem}.community-tabs button:hover,.community-tabs button:focus-visible,.community-tabs button.is-active{color:var(--ink);outline:none}.community-tabs button.is-active{border-bottom-color:var(--accent)}.community-request-count{align-items:center;background:var(--danger-fill);border-radius:999px;color:#fff;display:inline-flex;font-size:var(--font-size-micro);height:1.15rem;justify-content:center;min-width:1.15rem;padding:0 .2rem}.community-alert{border:1px solid;border-radius:12px;font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0 0 1rem;padding:.75rem .9rem}.community-alert.is-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text-strong)}.community-alert.is-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.community-composer{border-radius:20px;margin-bottom:1.25rem;padding:clamp(1rem,3vw,1.5rem)}.community-composer-heading,.community-section-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.community-composer h2,.community-section-heading h2{color:var(--ink);font-size:var(--font-size-heading-lg);line-height:var(--line-height-heading)}.community-composer form{display:grid;gap:1rem;margin-top:1.25rem}.community-composer label,.community-feed-controls label,.community-reply-form label{color:var(--ink);display:grid;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:.4rem}.community-composer input,.community-composer select,.community-composer textarea,.community-feed-controls select,.community-reply-form textarea,.community-people-toolbar input{background:var(--surface-sunk);border:1px solid var(--border);border-radius:12px;box-sizing:border-box;color:var(--ink);font:inherit;outline:none;padding:.72rem .8rem;width:100%}.community-composer textarea,.community-reply-form textarea{line-height:var(--line-height-body);resize:vertical}.community-composer input:focus,.community-composer select:focus,.community-composer textarea:focus,.community-feed-controls select:focus,.community-reply-form textarea:focus,.community-people-toolbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.community-composer label small,.community-reply-form small{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);justify-self:end}.community-form-actions{display:flex;gap:.65rem;justify-content:flex-end}.community-feed-controls,.community-people-toolbar{align-items:end;border-radius:15px;display:flex;gap:.75rem;margin-bottom:.85rem;padding:.75rem}.community-feed-controls label{min-width:10rem}.community-feed-controls .community-icon-button,.community-people-toolbar .community-icon-button{margin-left:auto}.community-post-list{display:grid;gap:.85rem}.community-post-card{border-radius:18px;overflow:hidden;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.community-post-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);transform:translateY(-2px)}.community-post-open{background:transparent;border:0;cursor:pointer;display:block;font-family:inherit;padding:1.15rem 1.25rem .75rem;text-align:left;width:100%}.community-post-open:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:-3px}.community-post-meta,.community-comment-heading{align-items:center;display:flex;gap:.65rem}.community-post-meta>span:nth-child(2),.community-comment-heading>span:last-child{display:grid;gap:.05rem}.community-post-meta strong,.community-comment-heading strong,.community-member-copy strong{color:var(--ink);font-size:var(--font-size-body-sm)}.community-post-meta small,.community-comment-heading small,.community-member-copy small{color:var(--ink-muted);font-size:var(--font-size-caption)}.community-avatar{align-items:center;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:50%;color:var(--accent-text);display:inline-flex;flex:0 0 2.2rem;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);height:2.2rem;justify-content:center}.community-avatar.is-large{flex-basis:2.75rem;font-size:var(--font-size-body);height:2.75rem}.community-topic{background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);margin-left:auto;padding:.3rem .55rem}.community-post-title{color:var(--ink);display:block;font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);margin-top:.9rem}.community-post-preview{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--ink-muted);display:-webkit-box;font-size:var(--font-size-body-sm);line-height:var(--line-height-relaxed);margin-top:.45rem;overflow:hidden;white-space:pre-wrap}.community-post-actions{align-items:center;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:.2rem;padding:.55rem .8rem}.community-post-actions button,.community-comment-actions button{background:transparent;border:0;color:var(--ink-muted);min-height:2rem;padding:.35rem .55rem}.community-post-actions button:hover,.community-post-actions button:focus-visible,.community-comment-actions button:hover,.community-comment-actions button:focus-visible{background:var(--control);color:var(--ink);outline:none}.community-post-actions button.is-liked,.community-post-actions button.is-danger,.community-comment-actions button.is-danger{color:var(--danger-text)}.community-post-actions>button:nth-last-child(-n+2):not(:first-child){margin-left:auto}.community-post-actions>button:nth-last-child(1){margin-left:0}.community-empty{align-items:center;border-radius:16px;color:var(--ink-muted);display:flex;flex-direction:column;gap:.35rem;justify-content:center;line-height:var(--line-height-body);margin:0;min-height:8rem;padding:1.5rem;text-align:center}.community-empty .icon{color:var(--accent-text);font-size:1.8rem}.community-empty strong{color:var(--ink)}.community-thread{display:grid;gap:.9rem}.community-back{justify-self:start;min-height:2.3rem;padding:.48rem .8rem}.community-thread-post,.community-replies{border-radius:20px;padding:clamp(1rem,3vw,1.5rem)}.community-thread-post h2{color:var(--ink);font-size:var(--font-size-section-title);line-height:var(--line-height-heading);margin:1rem 0 0}.community-thread-post>p{color:var(--ink);line-height:var(--line-height-relaxed);margin:.75rem 0 1rem;white-space:pre-wrap}.community-thread-post .community-post-actions{margin:0 -.5rem -.7rem}.community-post-actions>span{align-items:center;color:var(--ink-muted);display:inline-flex;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);gap:.4rem;padding:.35rem .55rem}.community-reply-form{background:var(--surface-sunk);border:1px solid var(--border-subtle);border-radius:14px;display:grid;gap:.5rem;margin-top:1rem;padding:.85rem}.community-reply-form>div{align-items:center;display:flex;justify-content:space-between}.community-comment-list{list-style:none;margin:1rem 0 0;padding:0}.community-comment-list li{border-top:1px solid var(--border-subtle);padding:1rem 0}.community-comment-list li>p{color:var(--ink);line-height:var(--line-height-relaxed);margin:.65rem 0 0;padding-left:2.85rem;white-space:pre-wrap}.community-comment-actions{display:flex;justify-content:flex-end}.community-friend-summary{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.85rem}.community-friend-summary article{align-items:center;border-radius:16px;display:flex;gap:.8rem;padding:1rem}.community-friend-summary article>span{align-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:12px;color:var(--accent-text);display:inline-flex;font-size:1.25rem;height:2.6rem;justify-content:center;width:2.6rem}.community-friend-summary article>div{display:grid}.community-friend-summary strong{color:var(--ink);font-size:var(--font-size-data);line-height:1}.community-friend-summary small{color:var(--ink-muted);margin-top:.2rem}.community-people-toolbar label{align-items:center;display:flex;flex:1;gap:.5rem}.community-people-toolbar label>.icon{color:var(--ink-muted);margin-left:.4rem}.community-people-toolbar input{background:transparent;border:0;box-shadow:none!important;padding-left:0}.community-member-list{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.community-member-list>li{align-items:center;border-radius:16px;display:flex;gap:.8rem;padding:.85rem 1rem}.community-member-copy{display:grid;flex:1;gap:.1rem;min-width:0}.community-friend-actions{display:flex;gap:.45rem}.community-gate{align-items:center;border-radius:24px;display:flex;flex-direction:column;margin:clamp(2rem,9vw,7rem) auto;max-width:40rem;padding:clamp(2rem,6vw,4rem);text-align:center}.community-gate-mark{align-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:22px;color:var(--accent-text);display:inline-flex;font-size:2.2rem;height:4.2rem;justify-content:center;margin-bottom:1.25rem;width:4.2rem}.community-gate .community-primary{margin-top:1.4rem}@media(max-width:720px){.community-page{padding:1rem .75rem 2rem}.community-hero{align-items:flex-start;flex-direction:column;gap:1rem}.community-tabs button{flex:1;justify-content:center;padding-inline:.5rem}.community-feed-controls{align-items:stretch;display:grid;grid-template-columns:1fr 1fr auto}.community-feed-controls label{min-width:0}.community-feed-controls .community-icon-button{align-self:end}.community-post-meta{align-items:flex-start;flex-wrap:wrap}.community-topic{margin-left:0}.community-post-actions>button:nth-last-child(-n+2):not(:first-child){margin-left:0}.community-friend-summary{grid-template-columns:1fr 1fr}.community-member-list>li{align-items:flex-start;flex-wrap:wrap}.community-friend-actions,.community-member-list>li>button{margin-left:3.55rem}}@media(max-width:480px){.community-feed-controls{grid-template-columns:1fr 1fr}.community-feed-controls .community-icon-button{grid-column:2;justify-self:end;margin-top:-3.15rem}.community-friend-summary{grid-template-columns:1fr}.community-friend-actions{flex-wrap:wrap}.community-comment-list li>p{padding-left:0}}.mobile-tab-bar{display:none}@media(max-width:768px){:root{--dock-clearance: calc(4.35rem + max(.6rem, env(safe-area-inset-bottom))) }.mobile-tab-bar{border-radius:22px;bottom:max(.6rem,env(safe-area-inset-bottom));display:flex;justify-content:space-around;left:50%;padding:.4rem .45rem;position:fixed;transform:translate(-50%);width:min(28rem,calc(100vw - 1.2rem));z-index:1050}.mobile-tab{align-items:center;background:none;border:0;border-radius:15px;color:var(--ink-muted);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:inherit;gap:.14rem;min-width:0;padding:.32rem .2rem .28rem;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.mobile-tab-icon{align-items:center;display:inline-flex;height:1.45rem;justify-content:center;transition:transform var(--motion-view) var(--ease-spring);width:1.45rem}.mobile-tab-icon svg{height:100%;width:100%}.mobile-tab-label{font-size:.56rem;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-normal);white-space:nowrap}.mobile-tab.is-active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent-text)}.mobile-tab.is-active .mobile-tab-icon{transform:translateY(-1px) scale(1.08)}.mobile-tab:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}}@media(prefers-reduced-motion:reduce){.mobile-tab,.mobile-tab-icon{transition:none}}.site-footer{align-items:center;display:flex;justify-content:center;padding:1.25rem 1rem 1.75rem}.footer-link{background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);min-height:var(--pill-height);padding:.35rem .8rem;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.footer-link:hover,.footer-link:focus-visible,.footer-link.is-current{background:var(--control-hover);border-color:var(--border-strong);color:var(--ink)}.footer-link:hover{transform:translateY(-1px)}.footer-link:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}@media(prefers-reduced-motion:reduce){.footer-link{transition:none}}.user-menu{order:4;position:relative}.user-menu .user-menu-trigger{align-items:center;cursor:pointer;display:inline-flex;gap:.4rem;font-family:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-regular);max-width:100%}.user-menu .user-menu-trigger:hover,.user-menu .user-menu-trigger:focus-visible{background:var(--control-hover);outline:none}.user-menu-trigger:focus-visible{outline:3px solid rgba(31,100,255,.28);outline-offset:2px}.user-menu-trigger-label{align-items:center;display:inline-flex;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-developer-name{align-items:center;color:#7c3aed;display:inline-flex;font-weight:var(--font-weight-bold);gap:.32rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.user-menu-developer-dot{background:#8b5cf6;border:1px solid color-mix(in srgb,#6d28d9 70%,var(--surface));border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,#8b5cf6 15%,transparent);flex:0 0 .45rem;height:.45rem;width:.45rem}:root[data-theme=dark] .user-menu-developer-name{color:#c4b5fd}:root[data-theme=dark] .user-menu-developer-dot{background:#a78bfa;border-color:#c4b5fd}.user-menu-chevron{flex:0 0 auto;font-size:.95em;transition:transform var(--motion-fast) var(--ease-standard)}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-panel{border-radius:12px;display:grid;gap:.2rem;min-width:11rem;padding:.3rem;position:absolute;right:0;top:calc(100% + .4rem);transform-origin:top right;z-index:1002;animation:pop-in var(--motion-pop) var(--ease-out) both}.user-menu-panel:has(.user-menu-settings-header){min-width:17rem}.user-menu-item{background:transparent;border:0;border-radius:9px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);padding:.5rem .6rem;text-align:left;width:100%}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--control-hover);outline:none}.user-menu-item-icon{align-items:center;display:grid;gap:.55rem;grid-template-columns:1.35rem minmax(0,1fr) auto}.user-menu-item-badge{align-items:center;background:var(--info-bg);border-radius:6px;color:var(--accent-text);display:inline-flex;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);height:1.35rem;justify-content:center;width:1.35rem}.user-menu-item-badge .icon{font-size:var(--font-size-body-sm)}.user-menu-item-badge.is-plain{background:var(--control);color:var(--ink)}.user-menu-item-developer{color:var(--accent-text)}.user-menu-item-developer:hover,.user-menu-item-developer:focus-visible{background:var(--info-bg)}.user-menu-item-arrow{color:var(--ink-muted);font-size:var(--font-size-body)}.user-menu-settings-header{align-items:center;border-bottom:1px solid var(--border);display:grid;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);gap:.35rem;grid-template-columns:2rem 1fr 2rem;margin:-.05rem .25rem .1rem;padding:.2rem 0 .45rem;text-align:center}.user-menu-settings-header:after{content:""}.user-menu-settings-back{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-body-lg);height:2rem;justify-content:center;line-height:1;padding:0;width:2rem}.user-menu-settings-back:hover,.user-menu-settings-back:focus-visible{background:var(--control-hover);outline:none}.user-menu-setting-row{align-items:center;background:transparent;border:0;border-radius:9px;color:var(--ink);cursor:pointer;display:flex;font-family:inherit;gap:.8rem;justify-content:space-between;padding:.58rem .6rem;text-align:left;width:100%}.user-menu-setting-row:hover,.user-menu-setting-row:focus-visible{background:var(--control-hover);outline:none}.user-menu-setting-copy{display:grid;gap:.12rem}.user-menu-setting-copy strong{font-size:var(--font-size-control)}.user-menu-setting-copy small{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.25}.user-menu-toggle{background:var(--control-active);border:1px solid var(--border-strong);border-radius:999px;box-sizing:border-box;flex:0 0 auto;height:1.35rem;padding:.15rem;transition:background var(--motion-fast) var(--ease-standard);width:2.35rem}.user-menu-toggle>span{background:var(--surface);border-radius:50%;box-shadow:var(--shadow-1);display:block;height:.95rem;transition:transform var(--motion-fast) var(--ease-spring);width:.95rem}.user-menu-toggle.is-on{background:var(--accent);border-color:var(--accent-hover)}.user-menu-toggle.is-purple.is-on{background:#8b5cf6;border-color:#6d28d9}.user-menu-toggle.is-on>span{transform:translate(.96rem)}.user-menu-setting-static{cursor:default}.user-menu-setting-static:hover{background:transparent}.user-menu-setting-copy strong .icon{color:var(--accent-text);margin-right:.35rem}.user-menu-setting-copy small.is-error{color:var(--danger-text)}.user-menu-key-button{background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--ink);cursor:pointer;flex:none;font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:.38rem .7rem}.user-menu-key-button.is-primary{background:var(--accent);border-color:var(--accent-hover);color:#fff}.user-menu-key-button:hover:not(:disabled),.user-menu-key-button:focus-visible{background:var(--control-hover);outline:none}.user-menu-key-button.is-primary:hover:not(:disabled),.user-menu-key-button.is-primary:focus-visible{background:var(--accent-hover)}.user-menu-key-button:disabled{cursor:wait;opacity:.65}.user-menu-settings-danger{border-top:1px solid var(--border);border-top-left-radius:0;border-top-right-radius:0;margin-top:.1rem;padding-top:.65rem}.user-menu-item-signin{border-top:1px solid var(--border);border-top-left-radius:0;border-top-right-radius:0;color:var(--accent-text);margin-top:.1rem;padding-top:.6rem}.user-menu-item-danger{color:var(--danger-text)}.user-menu-item-signout{border-top:1px solid var(--border);border-top-left-radius:0;border-top-right-radius:0;color:var(--danger-text);margin-top:.1rem;padding-top:.6rem}.user-menu-item-signout:hover,.user-menu-item-signout:focus-visible,.user-menu-item-danger:hover,.user-menu-item-danger:focus-visible{background:var(--danger-bg)}.user-menu-confirm-backdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2000;animation:fade-in var(--motion-pop) var(--ease-standard) both}.user-menu-confirm{animation:pop-in var(--motion-pop) var(--ease-out) both;border-radius:16px;box-sizing:border-box;max-width:26rem;padding:1.25rem;width:100%}.user-menu-confirm h2{font-size:var(--font-size-heading-sm);line-height:1.2;margin:0 0 .5rem}.user-menu-confirm p{color:var(--ink-muted);line-height:1.5;margin:0}.user-menu-confirm-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:9px;color:var(--danger-text-strong)!important;font-size:var(--font-size-control);margin-top:.75rem!important;padding:.5rem .65rem}.user-menu-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1.15rem}.user-menu-confirm-actions button{border-radius:999px;cursor:pointer;font-family:inherit;font-size:var(--font-size-control);font-weight:var(--font-weight-bold);padding:.5rem .9rem}.user-menu-confirm-actions button:disabled{cursor:wait;opacity:.65}.user-menu-confirm-cancel{background:var(--control);border:1px solid var(--border);color:var(--ink)}.user-menu-confirm-cancel:hover:not(:disabled),.user-menu-confirm-cancel:focus-visible{background:var(--control-hover);outline:none}.user-menu-confirm-yes{background:var(--danger-fill);border:1px solid var(--danger-fill-hover);color:#fff}.user-menu-confirm-yes:hover:not(:disabled),.user-menu-confirm-yes:focus-visible{background:var(--danger-fill-hover);outline:none}@media(max-width:768px){.user-menu{margin-left:auto;max-width:min(12rem,48vw)}.user-menu .user-menu-trigger{font-size:var(--font-size-label);max-width:100%}.user-menu-panel{min-width:10.5rem}.user-menu-panel:has(.user-menu-settings-header){min-width:min(17rem,calc(100vw - 2rem))}}.gemini-chat{bottom:calc(max(1rem,env(safe-area-inset-bottom)) + var(--dock-clearance));position:fixed;right:max(1rem,env(safe-area-inset-right));z-index:1100}.gemini-chat.is-open{z-index:1300}.gemini-chat-launcher{align-items:center;background:var(--accent);border-color:var(--accent);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;height:3.35rem;justify-content:center;padding:0;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard);width:3.35rem}.gemini-chat-launcher:hover,.gemini-chat-launcher:focus-visible{background:var(--accent-hover);outline:none;transform:translateY(-2px)}.gemini-chat-launcher:focus-visible,.gemini-chat-close:focus-visible,.gemini-chat-tabs button:focus-visible,.gemini-chat-form button:focus-visible{outline:3px solid rgba(31,100,255,.3);outline-offset:3px}.gemini-chat-launcher svg{fill:none;height:1.8rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1.8rem}.gemini-chat-panel{animation:pop-in var(--motion-pop) var(--ease-out) both;border-radius:20px;transform-origin:bottom right;box-sizing:border-box;display:flex;flex-direction:column;height:min(610px,calc(100dvh - 2rem));overflow:hidden;width:min(390px,calc(100vw - 2rem))}.gemini-chat-heading{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1rem .9rem}.gemini-chat-heading h2,.gemini-chat-heading p,.gemini-chat-message p,.gemini-chat-note{margin:0}.gemini-chat-heading h2{font-size:var(--font-size-heading-sm);line-height:1.2}.gemini-chat-heading p{color:var(--accent-text);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);margin-bottom:.2rem;text-transform:uppercase}.gemini-chat-close{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 2rem;font-family:inherit;font-size:var(--font-size-body);height:2rem;justify-content:center;padding:0;width:2rem}.gemini-chat-close:hover{background:var(--control-hover)}.gemini-chat-tabs{background:var(--surface-sunk);border-bottom:1px solid var(--border-subtle);display:grid;gap:.3rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:.55rem .65rem}.gemini-chat-tabs button{background:transparent;border:1px solid transparent;border-radius:999px;color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);min-height:2rem;padding:.35rem .45rem}.gemini-chat-tabs button:hover:not(:disabled){background:var(--control-hover);color:var(--ink)}.gemini-chat-tabs button.is-active{background:var(--control);border-color:var(--border);color:var(--accent-text);box-shadow:var(--shadow-1)}.gemini-chat-tabs button:disabled{cursor:wait;opacity:.72}.gemini-chat-messages{display:flex;flex:1;flex-direction:column;gap:.75rem;overflow-y:auto;overscroll-behavior:contain;padding:1rem}.gemini-chat-message{border:1px solid var(--border-subtle);border-radius:14px 14px 14px 5px;box-sizing:border-box;color:var(--ink);font-size:var(--font-size-body-sm);line-height:1.5;max-width:88%;padding:.7rem .8rem}.gemini-chat-message-content>*{margin:0}.gemini-chat-message-content>*+*{margin-top:.55rem}.gemini-chat-message-content p{white-space:pre-wrap}.gemini-chat-message-content ul,.gemini-chat-message-content ol{padding-left:1.2rem}.gemini-chat-message-content li+li{margin-top:.28rem}.gemini-chat-message-content strong{color:var(--ink);font-weight:var(--font-weight-bold)}.gemini-chat-markdown-heading{font-size:var(--font-size-body-sm)}.gemini-chat-message-content blockquote{border-left:3px solid var(--border-strong);color:var(--ink-muted);padding-left:.65rem}.gemini-chat-message-content code{background:var(--surface-sunk);border:1px solid var(--border-subtle);border-radius:4px;font-family:var(--font-family-mono);font-size:.8em;padding:.08rem .24rem}.gemini-chat-message-content a{color:var(--accent-text);overflow-wrap:anywhere;text-underline-offset:.16em}.gemini-chat-message-assistant{align-self:flex-start;background:var(--control)}.gemini-chat-message-user{align-self:flex-end;background:var(--accent);border-color:var(--accent);border-radius:14px 14px 5px;color:#fff}.gemini-chat-message-user p{white-space:pre-wrap}.gemini-chat-message.is-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text-strong)}.gemini-chat-leave-time{background:var(--success-bg);border:1px solid var(--success-border);border-radius:999px;color:var(--success-text);display:inline-flex;font-size:var(--font-size-label);margin-bottom:.55rem;padding:.28rem .58rem}.gemini-chat-sources{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem;margin-top:.65rem;padding-top:.55rem}.gemini-chat-sources span{color:var(--ink-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.gemini-chat-sources a{color:var(--accent-text);font-size:var(--font-size-label);overflow-wrap:anywhere;text-underline-offset:.16em}.gemini-chat-thinking{align-items:center;align-self:flex-start;background:var(--control);border:1px solid var(--border-subtle);border-radius:14px 14px 14px 5px;display:flex;gap:.25rem;min-height:2.25rem;padding:0 .8rem}.gemini-chat-thinking>span:not(.sr-only){animation:gemini-chat-pulse 1s infinite ease-in-out;background:var(--ink-muted);border-radius:50%;height:.35rem;width:.35rem}.gemini-chat-thinking>span:nth-child(2){animation-delay:.12s}.gemini-chat-thinking>span:nth-child(3){animation-delay:.24s}.gemini-chat-form{align-items:flex-end;border-top:1px solid var(--border-subtle);display:flex;gap:.55rem;padding:.8rem 1rem .5rem}.gemini-chat-form textarea{background:var(--control);border:1px solid var(--border);border-radius:14px;box-sizing:border-box;color:var(--ink);flex:1;font-family:inherit;font-size:var(--font-size-body-sm);line-height:1.35;max-height:7rem;min-height:2.55rem;overflow-y:auto;padding:.65rem .75rem;resize:none}.gemini-chat-form textarea:focus{border-color:var(--accent);outline:3px solid rgba(31,100,255,.16)}.gemini-chat-form textarea::placeholder{color:var(--ink-muted)}.gemini-chat-form button{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 2.55rem;height:2.55rem;justify-content:center;padding:0;width:2.55rem}.gemini-chat-form button:hover,.gemini-chat-form button:focus-visible{background:var(--accent-hover)}.gemini-chat-form button:disabled{background:var(--control-active);border-color:var(--border);color:var(--ink-muted);cursor:not-allowed}.gemini-chat-form button svg{fill:none;height:1.15rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1.15rem}.gemini-chat-note{color:var(--ink-muted);font-size:var(--font-size-micro);line-height:1.4;padding:0 1rem .8rem;text-align:center}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}@keyframes gemini-chat-pulse{0%,80%,to{opacity:.35;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media(max-width:560px){.gemini-chat{bottom:calc(max(.75rem,env(safe-area-inset-bottom)) + var(--dock-clearance));right:.75rem}.gemini-chat.is-open{bottom:calc(var(--gemini-chat-viewport-inset, 0px) + max(.75rem,env(safe-area-inset-bottom)))}.gemini-chat-panel{border-radius:18px;height:min(620px,calc(var(--gemini-chat-viewport-height, 100dvh) - 1.5rem));width:calc(100vw - 1.5rem)}.gemini-chat-launcher{height:3.15rem;width:3.15rem}.gemini-chat+.alert-center{bottom:calc(4.65rem + var(--dock-clearance))}}@media(pointer:coarse){.gemini-chat-form textarea{font-size:16px;max-height:9rem;min-height:2.75rem}.gemini-chat-form button{flex:0 0 2.75rem;height:2.75rem;width:2.75rem}}@media(prefers-reduced-motion:reduce){.gemini-chat-launcher,.gemini-chat-thinking>span:not(.sr-only){animation:none;transition:none}}
