@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_6b9622{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_6b9622{--font-grotesk:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_c8daab{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_c8daab{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/704b853f32d191d5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/656feb427634a431-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/991629005c80bdf1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46e154b2fcbd6033-s.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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/37786be940ec402b-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_478d01{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_478d01{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#e6eaef;--surface:#f1f3f6;--surface-2:#e4e8ee;--border:#d0d7e0;--glass:rgba(255,255,255,0.65);--text:#1a2332;--text-2:#4a5a6e;--muted:#8494a7;--inverse:#ffffff;--teal:#0d6b58;--teal-muted:rgba(13,107,88,0.12);--teal-glow:rgba(13,107,88,0.18);--blue:#1a6daa;--blue-muted:rgba(26,109,170,0.12);--amber:#b7791f;--amber-muted:rgba(183,121,31,0.14);--red:#c53d52;--red-muted:rgba(197,61,82,0.12);--track:#c8d0da;--track-done:#0d6b58;--radius-sm:8px;--radius-md:12px;--radius-card:18px;--radius-lg:24px;--radius-pill:999px;--space-xxs:4px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:40px;--space-xxl:48px;--shadow-card:0 1px 2px rgba(10,18,30,0.08);--maxw:1080px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-plex-sans),sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.mono{font-family:var(--font-plex-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.display{font-family:var(--font-grotesk),sans-serif}.app-top{z-index:50;display:grid;grid-template-columns:auto minmax(200px,520px) auto;align-items:center;grid-gap:var(--space-sm);gap:var(--space-sm);padding:10px var(--space-md);background:rgba(241,243,246,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-top--no-search{grid-template-columns:auto 1fr}@media (max-width:820px){.app-top:not(.app-top--no-search){grid-template-columns:1fr auto;grid-template-areas:"brand trailing" "search search"}.app-top:not(.app-top--no-search) .app-top-brand{grid-area:brand}.app-top:not(.app-top--no-search) .app-top-search{grid-area:search}.app-top:not(.app-top--no-search) .app-top-trailing{grid-area:trailing;justify-content:flex-end}}.app-top-brand{display:inline-flex;align-items:center;text-decoration:none;color:inherit;white-space:nowrap}.app-top-search{min-width:0}.app-top-trailing{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.app-top-links{display:flex;gap:var(--space-md);font-size:14px;color:var(--text-2)}.app-top-links a{transition:color .15s ease}.app-top-links a:hover{color:var(--teal)}.home-nav{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:rgba(230,234,239,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(208,215,224,.6)}.home-nav-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.home-nav-cta{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);border:1px solid rgba(13,107,88,.28);background:#fff;border-radius:var(--radius-pill);padding:9px 16px;box-shadow:0 6px 18px rgba(10,18,30,.06);transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.home-nav-cta:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-1px);box-shadow:0 10px 22px rgba(13,107,88,.12)}.home-nav-cta--live{color:#fff;background:var(--teal);border-color:var(--teal);box-shadow:0 10px 24px rgba(13,107,88,.28);animation:live-cue-ring 2.4s ease-out infinite}.home-nav-cta--live .live-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.28)}.home-nav-cta--live:hover{color:#fff;background:#0a5747;border-color:#0a5747}.brand-lockup{display:inline-flex;align-items:center;gap:.35em;margin:0;font-family:var(--font-grotesk),sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--text);white-space:nowrap}.brand-lockup--sm{font-size:17px}.brand-lockup--md{font-size:20px;letter-spacing:-.03em}.brand-lockup--lg{font-size:26px;letter-spacing:-.03em}.brand-lockup--hero{font-size:clamp(36px,7.2vw,84px);letter-spacing:-.04em;gap:.28em;animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.brand-mark{width:1.2em;height:1.2em;border-radius:.22em;flex-shrink:0;object-fit:cover;box-shadow:0 1px 2px rgba(10,18,30,.12)}.brand-lockup--hero .brand-mark{box-shadow:0 4px 16px rgba(10,18,30,.16)}.brand-lockup .brand-accent,.brand-wordmark .brand-accent{color:var(--teal)}.section-title{margin:0;font-family:var(--font-grotesk),sans-serif;font-weight:700;font-size:clamp(32px,5vw,56px);letter-spacing:-.035em;line-height:1.05;text-align:center;color:var(--text)}.section-sub{margin:var(--space-sm) auto 0;max-width:560px;text-align:center;font-size:clamp(15px,1.8vw,19px);line-height:1.5;color:var(--text-2)}.hero{position:relative;min-height:calc(100svh - 49px);display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(120% 85% at 78% 88%,var(--teal-glow) 0,transparent 55%),radial-gradient(100% 70% at 15% 8%,rgba(26,109,170,.14) 0,transparent 60%),linear-gradient(180deg,#eef1f5 0,var(--bg) 55%,#dbe3ea 100%)}.hero:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(100deg,transparent,transparent 118px,rgba(26,35,50,.045) 0,rgba(26,35,50,.045) 120px);pointer-events:none}.hero-inner{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(48px,9vh,96px) var(--space-md) 0;display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1}.hero-brand{margin:0;line-height:.95}.hero-headline{margin:var(--space-sm) 0 0;font-size:clamp(18px,2.6vw,26px);font-weight:500;color:var(--text-2);animation:rise .7s cubic-bezier(.2,.7,.2,1) .08s both}.hero-sub{margin:var(--space-xs) 0 0;font-size:clamp(14px,1.6vw,16px);color:var(--muted);animation:rise .7s cubic-bezier(.2,.7,.2,1) .14s both}.hero-search{margin-top:var(--space-lg);width:min(560px,100%);animation:rise .7s cubic-bezier(.2,.7,.2,1) .2s both}.hero-art{position:relative;width:100%;margin-top:auto;display:flex;justify-content:center;pointer-events:none}.hero-art img{width:min(920px,96vw);height:auto;display:block;filter:drop-shadow(0 28px 40px rgba(10,18,30,.22));animation:glide 1.1s cubic-bezier(.16,.8,.24,1) .15s both}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes glide{0%{opacity:0;transform:translateX(7%) translateY(8px)}to{opacity:1;transform:translateX(0) translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-art img,.hero-brand,.hero-headline,.hero-search,.hero-sub{animation:none}}.search{position:relative}.search[data-variant=bar]{width:100%}.search[data-variant=bar] .search-form{border-radius:var(--radius-pill);padding:4px 4px 4px 8px;box-shadow:0 2px 12px rgba(10,18,30,.1)}.search[data-variant=bar] .search-input{font-size:15px;padding:8px 12px}.search[data-variant=bar] .search-submit{border-radius:var(--radius-pill);padding:0 18px}.search[data-variant=bar] .search-results{border-radius:var(--radius-md)}.search-form{display:flex;gap:var(--space-xs);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-xs);box-shadow:var(--shadow-card);transition:border-color .15s ease,box-shadow .15s ease}.search-form:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-muted)}.search-input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:17px;padding:10px 12px}.search-input::placeholder{color:var(--muted)}.search-submit{border:none;cursor:pointer;background:var(--teal);color:var(--inverse);font-weight:600;font-size:15px;padding:0 22px;border-radius:var(--radius-md);transition:background .15s ease}.search-submit:hover{background:#0a5747}.search-results{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 32px rgba(10,18,30,.14);overflow:hidden;text-align:left;max-height:320px;overflow-y:auto}.search-result{display:flex;align-items:baseline;gap:12px;width:100%;padding:12px 16px;border:none;background:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--surface-2)}.search-result:last-child{border-bottom:none}.search-result:hover,.search-result[data-active=true]{background:var(--teal-muted)}.search-result-number{font-family:var(--font-plex-mono),monospace;font-weight:700;color:var(--teal);font-size:15px}.search-result-name{flex:1 1;color:var(--text);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-route{color:var(--muted);font-family:var(--font-plex-mono),monospace;font-size:12px}.search-hint{padding:12px 16px;color:var(--muted);font-size:14px}.hero-cta-row{margin-top:var(--space-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.hero-cta{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--teal);border:1px solid var(--teal);border-radius:var(--radius-pill);padding:10px 22px;transition:background .15s ease,color .15s ease}.hero-cta:hover{background:var(--teal-muted)}.hero-cta-solid{background:var(--teal);color:var(--inverse);border-color:var(--teal)}.hero-cta-solid:hover{background:#0a5747;color:var(--inverse)}.search-samples{display:flex;gap:var(--space-xs);justify-content:center;flex-wrap:wrap;margin-top:var(--space-sm);font-size:13px;color:var(--muted)}.search-samples a{color:var(--text-2);border-bottom:1px dotted var(--muted);padding-bottom:1px;transition:color .15s ease}.search-samples a:hover{color:var(--teal);border-color:var(--teal)}.showcase{position:relative;padding:clamp(72px,11vh,132px) var(--space-md);background:radial-gradient(90% 70% at 50% 42%,rgba(13,107,88,.14) 0,transparent 62%),linear-gradient(180deg,#d4e0e8 0,#e8eef3 28%,var(--bg) 100%);overflow:hidden}.showcase-head{position:relative;z-index:1;max-width:760px;margin:0 auto clamp(28px,4vh,48px);text-align:center}.showcase-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 var(--space-xs);padding:6px 14px;border-radius:var(--radius-pill);background:var(--teal-muted);border:1px solid rgba(13,107,88,.22);color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.showcase-map{position:relative;z-index:1;max-width:1200px;height:min(74vh,720px);margin:0 auto;border-radius:28px;overflow:hidden;border:1px solid rgba(13,107,88,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 28px 90px rgba(10,18,30,.22),0 0 0 8px rgba(13,107,88,.08)}.showcase-map .map-shell{height:100%;border:none;border-radius:0;box-shadow:none}.showcase-map .leaflet-tile-pane{filter:saturate(1.18) contrast(1.06) brightness(1.03)}.showcase-map-chrome{position:absolute;z-index:500;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);pointer-events:none}.showcase-map-chrome>*{pointer-events:auto}.showcase-map-chrome .status-chip{background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(10,18,30,.14);font-weight:700}.showcase-map-cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--radius-pill);background:var(--teal);color:#fff;font-size:13px;font-weight:700;letter-spacing:-.01em;box-shadow:0 10px 28px rgba(13,107,88,.35);transition:background .15s ease,transform .15s ease}.showcase-map-cta:hover{background:#0a5747;color:#fff;transform:translateY(-1px)}.showcase-error{position:absolute;z-index:500;left:var(--space-sm);right:var(--space-sm);top:52px;margin:0}.showcase-rail{position:relative;z-index:1;max-width:1200px;margin:var(--space-md) auto 0;display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}.showcase-train{flex:0 0 auto;display:flex;align-items:baseline;gap:10px;background:#fff;border:1px solid rgba(13,107,88,.18);border-radius:var(--radius-pill);padding:12px 18px;box-shadow:0 10px 28px rgba(10,18,30,.08);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.showcase-train:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 14px 32px rgba(13,107,88,.16)}.showcase-train-num{font-family:var(--font-plex-mono),monospace;font-weight:700;color:var(--teal);font-size:14px}.showcase-train-name{font-weight:600;font-size:13px;color:var(--text);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.showcase-train-speed{font-family:var(--font-plex-mono),monospace;font-size:12px;font-weight:600;color:var(--text-2)}.map-shell-vivid .rv-sky-chip[data-tone=teal]{background:#12a884;color:#fff;min-width:62px;height:24px;font-size:12px;box-shadow:0 0 0 3px rgba(18,168,132,.35),0 4px 14px rgba(10,18,30,.28)}.map-shell-vivid .rv-sky-chip[data-tone=amber]{background:#d4891a;color:#fff;min-width:62px;height:24px;font-size:12px;box-shadow:0 0 0 3px rgba(212,137,26,.35),0 4px 14px rgba(10,18,30,.28)}.feature-strip{padding:clamp(64px,10vh,120px) var(--space-md);background:var(--surface);border-top:1px solid var(--border)}.feature-strip-inner{max-width:1100px;margin:0 auto}.feature-grid{margin-top:clamp(32px,5vh,56px);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-sm);gap:var(--space-sm)}@media (max-width:820px){.feature-grid{grid-template-columns:1fr}}.feature-card{display:block;background:var(--bg);border:1px solid var(--border);border-radius:24px;padding:var(--space-md);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.feature-card:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 16px 40px rgba(10,18,30,.1)}.feature-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.feature-kicker[data-tone=green]{color:var(--teal)}.feature-kicker[data-tone=blue]{color:var(--blue)}.feature-kicker[data-tone=amber]{color:var(--amber)}.feature-card h3{margin:10px 0 0;font-family:var(--font-grotesk),sans-serif;font-size:22px;letter-spacing:-.02em}.feature-card p{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--text-2)}.app-strip{padding:clamp(64px,10vh,110px) var(--space-md);background:radial-gradient(70% 100% at 50% 100%,var(--teal-glow) 0,transparent 60%),var(--bg);border-top:1px solid var(--border)}.app-strip-inner{max-width:760px;margin:0 auto}.ad-region{margin-top:var(--space-md)}.ad-region-label{display:block;margin-bottom:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);text-align:center}.ad-region-frame{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-2);overflow:hidden}.ad-region-placeholder{font-family:var(--font-plex-mono),monospace;font-size:12px;color:var(--muted);padding:var(--space-sm);text-align:center}.home-wrap{display:flex;justify-content:center;align-items:stretch;background:#dbe3ea}.home-main{flex:1 1;min-width:0;max-width:1200px}.home-main .hero{min-height:calc(100svh - 49px)}.home-side{display:none;width:184px;flex-shrink:0;padding-top:var(--space-md)}.home-side[data-side=left]{padding-left:var(--space-sm)}.home-side[data-side=right]{padding-right:var(--space-sm)}@media (min-width:1280px){.home-side:has(.ad-region){display:block}}@media (min-width:1560px){.home-side:has(.ad-region){width:216px}}@media (min-width:1800px){.home-side:has(.ad-region){width:336px}}.home-side .ad-region{position:-webkit-sticky;position:sticky;top:74px;margin-top:0}.ad-band{background:#dbe3ea;padding:clamp(32px,5vh,56px) var(--space-md) 0}.ad-band:not(:has(.ad-region)){display:none;padding:0}.ad-band>.ad-region{max-width:1200px;margin:0 auto}.ad-band[data-variant=plain]{background:var(--surface);padding:0 var(--space-md) clamp(48px,8vh,88px)}.ad-band[data-variant=plain]:not(:has(.ad-region)){display:none;padding:0}.ad-band .ad-region{margin-top:0}.strip{border-top:1px solid var(--border);background:var(--surface)}.strip-inner{max-width:var(--maxw);margin:0 auto;padding:var(--space-xl) var(--space-md);text-align:center}.strip h2{margin:0;font-family:var(--font-grotesk),sans-serif;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em}.strip p{margin:var(--space-sm) auto 0;max-width:620px;color:var(--text-2);line-height:1.55}.strip-radar{background:radial-gradient(80% 120% at 90% 40%,rgba(13,107,88,.12),transparent 55%),var(--surface)}.strip-radar-inner{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:center;text-align:left}.strip-radar-inner p{margin-left:0;margin-right:0}.strip-radar-inner .hero-cta{margin-top:var(--space-md)}@media (max-width:800px){.strip-radar-inner{grid-template-columns:1fr}}.strip-radar-card{position:relative;display:block;min-height:220px;border-radius:var(--radius-card);overflow:hidden;background:#0b121c;border:1px solid rgba(148,178,210,.18);box-shadow:var(--shadow-card)}.strip-radar-glow{position:absolute;inset:-20%;background:radial-gradient(circle at 40% 45%,rgba(63,224,190,.18),transparent 40%),radial-gradient(circle at 70% 60%,rgba(79,178,255,.12),transparent 35%)}.strip-radar-label{position:absolute;z-index:2;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#edf3f9;background:rgba(19,29,43,.85);border:1px solid rgba(148,178,210,.2);border-radius:var(--radius-pill);padding:6px 12px}.strip-radar-fake{position:absolute;inset:0}.strip-radar-fake span{position:absolute;font-family:var(--font-plex-mono),monospace;font-size:11px;font-weight:700;color:#060a10;background:#3fe0be;border-radius:999px;padding:3px 8px;box-shadow:0 0 0 4px rgba(63,224,190,.2);transform:translate(-50%,-50%)}.footer{border-top:1px solid var(--border);background:var(--surface-2)}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:var(--space-md);align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px;color:var(--muted)}.footer-inner,.footer-links{display:flex;gap:var(--space-sm)}.footer-links a:hover{color:var(--teal)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(230,234,239,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar-action{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);padding:7px 16px;transition:border-color .15s ease,color .15s ease,background .15s ease,box-shadow .15s ease}.topbar-action:hover{border-color:var(--teal);color:var(--teal)}.topbar-action--live{color:var(--inverse);background:var(--teal);border-color:var(--teal);font-weight:600;box-shadow:0 0 0 0 var(--teal-glow);animation:live-cue-ring 2.4s ease-out infinite}.topbar-action--live .live-dot{background:var(--inverse)}.topbar-action--live:hover{color:var(--inverse);background:#0a5a4a;border-color:#0a5a4a}@keyframes live-cue-ring{0%{box-shadow:0 0 0 0 var(--teal-glow)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.topbar-action--live{animation:none}}.board-wrap{display:flex;justify-content:center}.board{flex:1 1;min-width:0;max-width:var(--maxw);margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-xxl)}.board-side{display:none;width:184px;flex-shrink:0;padding-top:var(--space-lg)}.board-side[data-side=left]{padding-left:var(--space-sm)}.board-side[data-side=right]{padding-right:var(--space-sm)}@media (min-width:1280px){.board-side:has(.ad-region){display:block}}@media (min-width:1560px){.board-side:has(.ad-region){width:216px}}@media (min-width:1800px){.board-side:has(.ad-region){width:336px}}.board-side .ad-region{position:-webkit-sticky;position:sticky;top:74px;margin-top:0}.board-train{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.board-number{font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:clamp(32px,4.8vw,44px);color:var(--teal);letter-spacing:.03em;line-height:1}.board-name{margin:0;font-family:var(--font-grotesk),sans-serif;font-weight:600;font-size:clamp(20px,2.8vw,28px);letter-spacing:-.025em;color:var(--text)}.board-type{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);background:var(--blue-muted);border-radius:var(--radius-pill);padding:4px 10px}.board-meta{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end}.status-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;border-radius:var(--radius-pill);padding:6px 14px}.status-chip[data-tone=green]{color:var(--teal);background:var(--teal-muted)}.status-chip[data-tone=blue]{color:var(--blue);background:var(--blue-muted)}.status-chip[data-tone=amber]{color:var(--amber);background:var(--amber-muted)}.status-chip[data-tone=red]{color:var(--red);background:var(--red-muted)}.live-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.updated{font-size:12px;color:var(--muted);font-family:var(--font-plex-mono),monospace}.board-nav-row{display:flex;justify-content:center;margin-top:var(--space-md)}.board-nav{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill)}.board-nav-btn{border:none;background:transparent;color:var(--text-2);font-family:var(--font-grotesk),sans-serif;font-size:16px;font-weight:600;letter-spacing:-.01em;padding:12px 28px;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s ease,color .15s ease}@media (max-width:640px){.board-nav-btn{font-size:14px;padding:10px 18px}}.board-nav-btn:hover:not(:disabled){color:var(--text)}.board-nav-btn[data-active=true]{background:var(--surface);color:var(--teal);box-shadow:var(--shadow-card)}.board-nav-btn:disabled{opacity:.4;cursor:not-allowed}.pass-row{display:grid;grid-template-columns:1fr;grid-gap:var(--space-sm);gap:var(--space-sm);align-items:stretch}.pass-row[data-map=true]{grid-template-columns:1fr 320px}@media (max-width:1080px){.pass-row[data-map=true]{grid-template-columns:1fr}}.pass-map-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--radius-pill);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.pass-map-toggle:hover,.pass-map-toggle[aria-expanded=true]{color:var(--teal);border-color:var(--teal);background:var(--teal-muted)}.pass-map{position:relative;height:280px;min-height:280px;border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(10,18,30,.1);background:var(--surface-2)}@media (max-width:1080px){.pass-map{height:240px;min-height:240px;border-radius:var(--radius-lg)}}.pass-map .map-shell{height:100%;border:none;border-radius:0;box-shadow:none}.pass-map .leaflet-control-zoom,.pass-map .map-legend{display:none}.pass-map-open{position:absolute;z-index:500;top:10px;right:10px;border:1px solid var(--border);background:rgba(241,243,246,.92);color:var(--text-2);font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-card);transition:color .15s ease,border-color .15s ease}.pass-map-open:hover{color:var(--teal);border-color:var(--teal)}.pass{position:relative;overflow:hidden;padding:var(--space-md) var(--space-lg);background:radial-gradient(90% 80% at 100% 0,rgba(13,107,88,.1) 0,transparent 55%),radial-gradient(70% 60% at 0 100%,rgba(26,109,170,.08) 0,transparent 50%),linear-gradient(180deg,#f7f9fb 0,var(--surface) 100%);border:1px solid var(--border);border-radius:28px;box-shadow:0 18px 48px rgba(10,18,30,.08);animation:pass-rise .65s cubic-bezier(.2,.7,.2,1) both}.pass:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--teal) 0,#155a72 100%)}@keyframes pass-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pass{animation:none}}@media (max-width:640px){.pass{padding:var(--space-sm);border-radius:var(--radius-lg)}.pass:before{top:12px;bottom:12px}}.pass-top{justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap;padding-left:8px}.pass-identity,.pass-top{display:flex;align-items:flex-start}.pass-identity{gap:14px;min-width:0}.pass-identity .board-number{font-size:clamp(36px,5.5vw,52px);line-height:.95;letter-spacing:-.02em}.pass-identity-copy{display:flex;flex-direction:column;gap:8px;min-width:0;padding-top:4px}.pass-identity-copy .board-name{margin:0;font-size:clamp(20px,2.8vw,28px);line-height:1.1}.pass-identity-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pass-route{margin-top:var(--space-lg);padding-left:8px;display:grid;grid-template-columns:1fr minmax(110px,160px) 1fr;align-items:start;grid-gap:var(--space-sm);gap:var(--space-sm)}@media (max-width:560px){.pass-route{grid-template-columns:1fr 1fr;row-gap:var(--space-md)}.route-mid{grid-column:1/-1;order:-1}}.route-end{min-width:0}.route-end[data-align=right]{text-align:right}.route-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.route-code{font-family:var(--font-grotesk),sans-serif;font-weight:700;font-size:clamp(42px,7vw,64px);line-height:.9;letter-spacing:-.04em;color:var(--text)}.route-name{color:var(--text-2);font-size:14px;font-weight:500;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-time{color:var(--muted);font-size:13px;margin-top:4px;font-family:var(--font-plex-mono),monospace}.route-mid{justify-content:center;padding-top:28px}.route-mid,.route-progress{display:flex;flex-direction:column;align-items:center}.route-progress{gap:2px;min-width:112px;padding:12px 16px 14px;border-radius:var(--radius-card);background:rgba(255,255,255,.8);border:1px solid rgba(13,107,88,.2);box-shadow:var(--shadow-card)}.route-progress strong{color:var(--teal);font-size:clamp(28px,3.6vw,36px);letter-spacing:-.03em;font-family:var(--font-plex-mono),monospace;font-weight:700;line-height:1}.route-progress span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.route-progress small{margin-top:2px;font-size:12px;font-weight:600;color:var(--text-2);font-family:var(--font-plex-mono),monospace}.pass .rail,.pass-metrics{margin-top:var(--space-md);padding-left:8px}.pass-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:640px){.pass-metrics{grid-template-columns:repeat(2,1fr)}}.pass-metric{padding:12px 14px;border-radius:var(--radius-md);background:rgba(255,255,255,.7);border:1px solid rgba(208,215,224,.85);min-width:0}.pass-metric-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.pass-metric-value{margin-top:6px;font-family:var(--font-plex-mono),monospace;font-size:clamp(16px,2.1vw,20px);font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pass-metric-value[data-tone=blue]{color:var(--blue)}.pass-metric-value[data-tone=amber]{color:var(--amber)}.pass-metric-value[data-tone=green],.pass-metric-value[data-tone=teal]{color:var(--teal)}.pass-metric-value[data-tone=red]{color:var(--red)}.pass-metric-value[data-tone=muted]{color:var(--muted)}.rail{margin-top:var(--space-md)}.rail-track{position:relative;height:10px;background:var(--track);overflow:visible}.rail-fill,.rail-track{border-radius:var(--radius-pill)}.rail-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--track-done),#12866e);transition:width 1.2s cubic-bezier(.25,.8,.3,1)}.rail-dot{position:absolute;top:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;transform:translateY(-50%);border:2px solid var(--surface);box-shadow:0 0 0 1px rgba(10,18,30,.08);z-index:2;pointer-events:auto}.rail-dot[data-state=passed]{background:var(--red)}.rail-dot[data-state=current]{background:var(--teal);width:12px;height:12px;margin-left:-6px;box-shadow:0 0 0 3px var(--teal-glow)}.rail-dot[data-state=upcoming]{background:var(--blue)}.rail-train{position:absolute;top:50%;transform:translate(-50%,-62%) scaleX(-1);transition:left 1.2s cubic-bezier(.25,.8,.3,1);pointer-events:none;line-height:0}.rail-train img{filter:drop-shadow(0 3px 5px rgba(10,18,30,.3));animation:train-bob 1.8s ease-in-out infinite}@keyframes train-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@media (prefers-reduced-motion:reduce){.rail-train img{animation:none}}.rail-labels{display:flex;justify-content:space-between;margin-top:var(--space-xs);font-size:12px;color:var(--muted);font-family:var(--font-plex-mono),monospace}.cockpit-grid{margin-top:var(--space-md);display:grid;grid-template-columns:minmax(280px,360px) 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);align-items:stretch}@media (max-width:860px){.cockpit-grid{grid-template-columns:1fr}}.live-sky-cue{margin-top:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);padding:14px 18px;border-radius:var(--radius-card);border:1px solid rgba(13,107,88,.28);background:linear-gradient(105deg,var(--teal-muted) 0,rgba(255,255,255,.55) 55%),var(--surface);box-shadow:var(--shadow-card);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.live-sky-cue:hover{border-color:var(--teal);transform:translateY(-1px);box-shadow:0 6px 18px rgba(13,107,88,.12)}.live-sky-cue:hover .live-sky-cue-go{transform:translateX(3px)}.live-sky-cue-pulse{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--teal);background:rgba(13,107,88,.14);box-shadow:0 0 0 0 var(--teal-glow);animation:live-cue-ring 2.4s ease-out infinite}.live-sky-cue-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.live-sky-cue-copy strong{font-family:var(--font-grotesk),sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--teal)}.live-sky-cue-copy span{font-size:13px;color:var(--text-2);line-height:1.35}.live-sky-cue-go{flex-shrink:0;font-size:13px;font-weight:700;color:var(--teal);transition:transform .15s ease}@media (max-width:560px){.live-sky-cue{flex-wrap:wrap}.live-sky-cue-go{margin-left:36px}}@media (prefers-reduced-motion:reduce){.live-sky-cue-pulse{animation:none}.live-sky-cue:hover{transform:none}}.gauge-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-sm) var(--space-md);box-shadow:var(--shadow-card)}.gauge-max-chip{font-family:var(--font-plex-mono),monospace;font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 10px;white-space:nowrap}.gauge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs);padding:4px 4px 0}.gauge-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--teal)}.gauge-title{margin-top:2px;font-family:var(--font-grotesk),sans-serif;font-weight:600;font-size:18px;letter-spacing:-.02em}.gauge-dial{position:relative;margin:4px auto 0}.gauge-arc{transition:stroke-dashoffset .9s cubic-bezier(.25,.8,.3,1)}.gauge-center{position:absolute;left:50%;transform:translate(-50%,-55%);text-align:center;pointer-events:none}.gauge-speed{font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:42px;line-height:1;letter-spacing:-.02em}.gauge-unit{margin-top:2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gauge-notch{position:absolute;left:8%;right:8%;bottom:2px;display:flex;justify-content:space-between;gap:var(--space-sm)}.gauge-notch [data-align=end]{text-align:right}.gauge-notch-key{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gauge-notch-val{display:block;margin-top:2px;font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:16px}.gauge-notch-val[data-tone=blue]{color:var(--blue)}.gauge-notch-val[data-tone=amber]{color:var(--amber)}.gauge-metrics{margin-top:var(--space-sm);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.gauge-metrics>div{background:var(--surface-2);padding:10px 12px}.gauge-metric-key{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gauge-metric-val{margin-top:4px;font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:16px}.gauge-metric-val small{font-size:11px;font-weight:500;color:var(--muted)}.preview-grid{margin-top:var(--space-sm);display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);align-items:stretch}@media (max-width:860px){.preview-grid{grid-template-columns:1fr}}.preview-panel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-sm) var(--space-sm);box-shadow:var(--shadow-card);min-width:0}.board--premium .cockpit-grid{gap:var(--space-md)}.board--premium .cockpit-grid+.preview-panel{margin-top:var(--space-lg)}.board--premium .preview-panel+.wx{margin-top:var(--space-md)}.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs);padding:4px 4px 12px}.preview-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--teal)}.preview-title{margin:2px 0 0;font-family:var(--font-grotesk),sans-serif;font-weight:600;font-size:18px;letter-spacing:-.02em}.preview-open{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.preview-open:hover{color:var(--teal);border-color:var(--teal)}.preview-stops{list-style:none;margin:0;padding:0;flex:1 1;display:flex;flex-direction:column}.preview-stop{display:flex;align-items:center;gap:var(--space-sm);padding:12px 4px;border-top:1px solid var(--border);min-width:0}.preview-stop:first-child{border-top:none}.preview-stop[data-current=true]{background:var(--teal-muted);border-radius:var(--radius-sm);border-top-color:transparent;padding-left:10px;padding-right:10px}.preview-stop-time{font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:14px;color:var(--text);min-width:64px}.preview-stop-name{flex:1 1;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-stop-km{font-family:var(--font-plex-mono),monospace;font-size:12px;color:var(--muted)}.preview-empty{margin:0;padding:var(--space-sm) 4px;color:var(--muted);font-size:14px}.glance{display:grid;grid-template-columns:1fr;grid-gap:var(--space-xs);gap:var(--space-xs);height:100%;align-content:stretch;min-width:0}.glance-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-card);min-width:0;display:flex;flex-direction:column;justify-content:center}.glance-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.glance-value{margin-top:6px;font-family:var(--font-grotesk),sans-serif;font-weight:600;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.glance-value[data-tone=green]{color:var(--teal)}.glance-value small{font-family:var(--font-plex-mono),monospace;font-size:12px;font-weight:500;color:var(--muted);margin-left:2px}.glance-detail{margin-top:4px;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.glance-detail[data-tone=amber]{color:var(--amber)}.glance-detail[data-tone=green]{color:var(--teal)}.wx{margin-top:var(--space-md);display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-sm);gap:var(--space-sm)}@media (max-width:640px){.wx{grid-template-columns:1fr}}.wx-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-md);box-shadow:var(--shadow-card)}.wx-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.wx-card[data-tone=amber] .wx-icon,.wx-card[data-tone=amber] .wx-kicker{color:var(--amber)}.wx-card[data-tone=blue] .wx-icon,.wx-card[data-tone=blue] .wx-kicker{color:var(--blue)}.wx-top{margin-top:var(--space-xs);display:flex;align-items:center;gap:10px}.wx-icon{display:inline-flex}.wx-temp{font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:36px;letter-spacing:-.02em}.wx-condition{margin-top:4px;font-size:14px;color:var(--text-2)}.wx-place{margin-top:2px;font-size:13px;color:var(--muted)}.wx-meta{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;font-family:var(--font-plex-mono),monospace;color:var(--text-2)}.stops{margin-top:var(--space-md)}.stops h2{font-family:var(--font-grotesk),sans-serif;font-size:20px;letter-spacing:-.01em;margin:0 0 var(--space-sm)}.stops-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card)}.stops-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.stops-table td{padding:11px 16px;font-size:14px;border-bottom:1px solid var(--surface-2)}.stops-table tr:last-child td{border-bottom:none}.stops-table tr[data-state=passed] td{color:var(--muted)}.stops-table tr[data-state=current] td{background:var(--teal-muted);font-weight:600}.stop-code{font-weight:600;color:var(--text-2)}.stop-code,.stop-time{font-family:var(--font-plex-mono),monospace}.stop-time{white-space:nowrap}.stop-now-tag{display:inline-block;margin-left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);background:var(--surface);border:1px solid var(--teal);border-radius:var(--radius-pill);padding:2px 8px;vertical-align:middle}@media (max-width:640px){.stops-table .hide-sm{display:none}}.board-error,.board-loading{margin-top:var(--space-xl);text-align:center;color:var(--text-2)}.board-error strong{display:block;font-family:var(--font-grotesk),sans-serif;font-size:22px;color:var(--text);margin-bottom:var(--space-xs)}.error-banner{margin-top:var(--space-sm);font-size:13px;color:var(--amber);background:var(--amber-muted);border-radius:var(--radius-md);padding:10px 16px}.state-page{min-height:70svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);text-align:center;background:var(--bg)}.state-title{margin:var(--space-md) 0 0;font-family:var(--font-grotesk),sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text)}.state-copy{max-width:28rem;margin:0;color:var(--text-2);line-height:1.5}.state-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;margin-top:var(--space-sm)}.skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app-note{margin-top:var(--space-lg);text-align:center;font-size:13px;color:var(--muted)}.app-note a{color:var(--teal)}.map-section{margin-top:var(--space-md)}.map-section-head h2{margin:0;font-family:var(--font-grotesk),sans-serif;font-size:20px;letter-spacing:-.01em}.map-section-head p{margin:6px 0 var(--space-sm);color:var(--text-2);font-size:14px}.map-foot{margin:var(--space-sm) 0 0;font-size:13px}.map-foot a{color:var(--teal)}.map-shell{position:relative;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--border);background:var(--surface-2);box-shadow:var(--shadow-card)}.map-shell-radar{border-color:rgba(148,178,210,.18);background:#0b121c}.map-shell-light{border-color:var(--border);background:#dfe6ee}.map-canvas{width:100%;height:100%;min-height:280px;z-index:0}.map-empty,.map-loading{display:grid;place-items:center;min-height:280px;color:var(--muted);font-size:14px}.map-shell-radar .map-loading{color:#9ab0c5}.map-legend{position:absolute;z-index:500;left:12px;bottom:12px;display:flex;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:600;color:var(--text-2);background:rgba(241,243,246,.92);border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 12px}.map-legend-dot,.map-legend-train{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}.map-legend-dot[data-tone=blue]{background:var(--blue)}.map-legend-dot[data-tone=amber]{background:var(--amber)}.map-legend-dot[data-tone=red]{background:var(--red)}.map-legend-train{background:var(--teal);box-shadow:0 0 0 3px var(--teal-glow)}.rv-train-arrow,.rv-train-arrow-wrap{position:relative;width:36px;height:36px}.rv-train-arrow{z-index:1;filter:drop-shadow(0 2px 6px rgba(10,18,30,.4));transform-origin:50% 50%;will-change:transform}.rv-train-arrow svg{display:block}.rv-train-arrow-pulse{display:none}@keyframes live-pulse{0%{transform:scale(.55);opacity:.85}to{transform:scale(1.55);opacity:0}}.map-legend-arrow{display:inline-block;width:0;height:0;margin-right:6px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:9px solid var(--teal);vertical-align:middle}.map-tracking-badge{font-family:var(--font-plex-mono),monospace;font-size:12px;font-weight:600;color:var(--text);background:rgba(241,243,246,.94);border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 14px;box-shadow:var(--shadow-card);white-space:nowrap}.map-sky-chrome,.map-tracking-badge{position:absolute;z-index:500;left:50%;top:12px;transform:translateX(-50%);pointer-events:none}.map-sky-chrome{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px)}.map-sky-chrome .map-tracking-badge{position:static;left:auto;top:auto;transform:none;pointer-events:none}.map-sky-reset{pointer-events:auto;border:1px solid var(--teal);background:var(--teal);color:var(--inverse);font-size:12px;font-weight:700;letter-spacing:.01em;border-radius:var(--radius-pill);padding:7px 14px;cursor:pointer;box-shadow:0 4px 14px rgba(13,107,88,.28);transition:background .15s ease,transform .15s ease}.map-sky-reset:hover{background:#0a5a4a;transform:translateY(-1px)}.map-shell-tracking .leaflet-overlay-pane path{transition:stroke .4s ease}.rv-train-marker{background:transparent!important;border:none!important}.rv-train-dot{width:16px;height:16px;border-radius:50%;background:var(--teal);border:3px solid #fff;box-shadow:0 0 0 4px rgba(13,107,88,.28),0 2px 8px rgba(0,0,0,.25)}.rv-sky-marker{background:transparent!important;border:none!important}.rv-sky-chip{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--font-plex-mono),monospace;font-size:11px;font-weight:700;color:#060a10;box-shadow:0 0 0 3px rgba(63,224,190,.25),0 2px 8px rgba(0,0,0,.4)}.rv-sky-chip[data-tone=teal]{background:#3fe0be}.rv-sky-chip[data-tone=amber]{background:#ffbe55;box-shadow:0 0 0 3px rgba(255,190,85,.28),0 2px 8px rgba(0,0,0,.4)}.rv-sky-chip[data-tone=selected]{background:var(--text);color:#fff;min-width:68px;height:26px;font-size:13px;box-shadow:0 0 0 4px rgba(13,107,88,.35),0 4px 14px rgba(0,0,0,.28)}.sky-popup{font-size:13px;line-height:1.4}.sky-popup strong{display:block;margin-bottom:2px}.sky-popup a,.sky-popup-track{display:inline-block;margin-top:6px;color:var(--teal);font-weight:600;background:none;border:none;padding:0;cursor:pointer;font:inherit}.tracker{height:100svh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.tracker-panel-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:600;border-radius:var(--radius-pill);padding:7px 14px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.tracker-panel-toggle:hover{border-color:var(--teal);color:var(--teal)}.tracker-ad-top{z-index:40;flex-shrink:0;padding:0 var(--space-md) 8px;background:rgba(241,243,246,.92);border-bottom:1px solid var(--border)}.tracker-ad-top:not(:has(.ad-region)),.tracker-panel-ad:not(:has(.ad-region)),.tracker-side-ad:not(:has(.ad-region)){display:none}.tracker-ad-top .ad-region{margin-top:0;max-width:970px;margin-left:auto;margin-right:auto}.tracker-ad-top .ad-region-frame{min-height:70px}.tracker-stage{position:relative;flex:1 1;min-height:0}.tracker-map{position:absolute;inset:0}.tracker-side-ad{display:none;position:absolute;z-index:35;top:12px;right:12px;bottom:12px;width:184px;pointer-events:none}.tracker-side-ad .ad-region{position:-webkit-sticky;position:sticky;top:0;margin-top:0;pointer-events:auto}@media (min-width:1280px){.tracker-side-ad{display:block}}@media (min-width:1560px){.tracker-side-ad{width:216px}}@media (min-width:1800px){.tracker-side-ad{width:336px}}.tracker-panel-ad{flex-shrink:0;padding:6px 8px 8px;border-top:1px solid var(--border);background:var(--surface)}.tracker-panel-ad .ad-region{margin-top:0}.tracker-panel-ad .ad-region-label{margin-bottom:4px;font-size:9px;letter-spacing:.12em}.tracker-panel-ad .ad-region-frame{min-height:90px;max-height:100px}.tracker-panel-ad .ad-region-placeholder{font-size:11px;padding:6px}.tracker-map .map-shell{border:none;border-radius:0;height:100%;box-shadow:none}.tracker-panel{position:absolute;z-index:40;top:12px;left:12px;bottom:12px;width:min(280px,calc(100% - 24px));display:flex;flex-direction:column;background:rgba(241,243,246,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 12px 40px rgba(10,18,30,.14);overflow:hidden}@media (max-width:640px){.tracker-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:42vh}}.tracker-panel-head{padding:12px 14px 8px;border-bottom:1px solid var(--border)}.tracker-panel-head h1{margin:0;font-family:var(--font-grotesk),sans-serif;font-size:16px;letter-spacing:-.02em}.tracker-panel-head p{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.35}.sky-list{list-style:none;margin:0;padding:var(--space-xs);overflow-y:auto;flex:1 1}.sky-list-skel{height:72px;margin:6px}.sky-list-item{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;font:inherit;transition:background .15s ease,border-color .15s ease}.sky-list-item:hover,.sky-list-item[data-active=true]{background:var(--teal-muted);border-color:rgba(13,107,88,.2)}.flight-card{position:absolute;z-index:45;right:12px;bottom:12px;width:min(380px,calc(100% - 24px));max-height:min(70vh,520px);overflow-y:auto;background:rgba(241,243,246,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 16px 48px rgba(10,18,30,.18);padding:var(--space-sm) var(--space-md) var(--space-md)}@media (min-width:1280px){.flight-card{right:220px}}@media (min-width:1560px){.flight-card{right:252px}}@media (min-width:1800px){.flight-card{right:372px}}@media (max-width:640px){.flight-card{left:8px;right:8px;bottom:8px;width:auto;max-height:48vh}.tracker-panel~.flight-card{bottom:calc(42vh + 16px)}}.flight-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.flight-card-num{font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:20px;color:var(--teal)}.flight-card-name{margin:2px 0 0;font-family:var(--font-grotesk),sans-serif;font-size:18px;font-weight:600;letter-spacing:-.02em}.flight-card-close{border:1px solid var(--border);background:var(--surface);color:var(--teal);font-size:12px;font-weight:700;border-radius:var(--radius-pill);padding:7px 12px;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.flight-card-close:hover{color:var(--teal);border-color:var(--teal);background:var(--teal-muted)}.flight-card-meta{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.flight-card-route{margin-top:var(--space-sm);display:grid;grid-template-columns:1fr auto 1fr;grid-gap:var(--space-xs);gap:var(--space-xs);align-items:start}.flight-card-route [data-align=right]{text-align:right}.flight-card-code{font-family:var(--font-grotesk),sans-serif;font-weight:700;font-size:28px;letter-spacing:-.02em;line-height:1}.flight-card-city{margin-top:4px;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-card-eta{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:4px}.flight-card-eta strong{display:block;margin-top:4px;font-family:var(--font-plex-mono),monospace;font-size:16px;color:var(--amber);letter-spacing:0}.flight-card .rail{margin-top:12px}.flight-card-stats{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.flight-card-stats>div{background:var(--surface);padding:10px 12px}.flight-card-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.flight-card-stat-value{margin-top:4px;font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-card-stat-value small{font-size:11px;font-weight:500;color:var(--muted)}.flight-card-stat-value[data-tone=green]{color:var(--teal)}.flight-card-stat-value[data-tone=red]{color:var(--red)}.flight-card-stat-value[data-tone=muted]{color:var(--muted)}.flight-card-open{display:block;margin-top:14px;text-align:center;font-weight:600;font-size:14px;color:var(--teal);padding:10px;border-radius:var(--radius-pill);border:1px solid rgba(13,107,88,.25);background:var(--teal-muted)}.flight-card-open:hover{border-color:var(--teal)}.flight-card-loading{margin:var(--space-md) 0 0;color:var(--muted);font-size:14px}.sky-list-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sky-list-num{color:var(--teal)}.sky-list-num,.sky-list-speed{font-family:var(--font-plex-mono),monospace;font-weight:700;font-size:15px}.sky-list-speed small{font-size:11px;font-weight:500;color:var(--muted)}.sky-list-name{margin-top:2px;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky-list-route{margin-top:2px;font-size:12px;color:var(--muted);font-family:var(--font-plex-mono),monospace}.map-shell-light .rv-sky-chip[data-tone=teal]{background:var(--teal);color:#fff;box-shadow:0 0 0 3px rgba(13,107,88,.22),0 2px 8px rgba(0,0,0,.18)}.map-shell-light .rv-sky-chip[data-tone=amber]{background:var(--amber);color:#fff;box-shadow:0 0 0 3px rgba(183,121,31,.22),0 2px 8px rgba(0,0,0,.18)}.map-shell-light .rv-sky-chip[data-tone=selected]{background:var(--text);color:#fff}.board--premium{--track-ink:#142033;--track-muted:#5b6b80;--track-line:rgba(26,109,170,0.14);--track-glass:rgba(255,255,255,0.78);--track-emerald:#0f8a6a;--track-navy:#163a5f;--track-indigo:#3b5bdb;--track-radius:16px;--track-radius-sm:10px;background:radial-gradient(120% 80% at 50% -10%,#e8f4ff 0,transparent 55%),linear-gradient(180deg,#f7fbff,#eef3f8)}.board--premium .board-nav,.board--premium .gauge-panel,.board--premium .glance-card,.board--premium .live-sky-cue,.board--premium .map-section,.board--premium .map-shell,.board--premium .pass-map,.board--premium .preview-panel,.board--premium .stops,.board--premium .wx,.board--premium .wx-card{border-radius:var(--track-radius)}.board--premium .board-nav-btn,.board--premium .pass-map-open,.board--premium .preview-open,.board--premium .topbar-action{border-radius:var(--track-radius-sm)}.track-hero{position:relative;overflow:hidden;padding:22px 24px 24px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(244,250,255,.88));border:1px solid rgba(148,174,201,.35);border-radius:var(--track-radius,16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 36px rgba(20,40,70,.07);animation:pass-rise .65s cubic-bezier(.2,.7,.2,1) both}.track-hero:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--track-emerald) 0,#1a7ab8 100%)}.track-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:repeating-linear-gradient(90deg,transparent,transparent 46px,rgba(22,58,95,.9) 0,rgba(22,58,95,.9) 47px),repeating-linear-gradient(0deg,transparent,transparent 46px,rgba(22,58,95,.55) 0,rgba(22,58,95,.55) 47px);-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 20%,transparent 80%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 20%,transparent 80%)}@media (prefers-reduced-motion:reduce){.track-hero{animation:none}}.track-header{position:relative;z-index:1;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-left:10px;margin-bottom:22px}.track-header,.track-header-main{display:flex;align-items:flex-start}.track-header-main{gap:14px;min-width:0}.track-train-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--track-radius-sm,10px);color:#fff;background:linear-gradient(145deg,var(--track-emerald),#0a6e56);box-shadow:0 8px 18px rgba(15,138,106,.28)}.track-header-copy{min-width:0}.track-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px}.track-number{margin:0;font-size:clamp(34px,5vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--track-ink)}.track-name{font-family:var(--font-grotesk),sans-serif;font-size:clamp(18px,2.4vw,24px);font-weight:600;color:var(--track-navy);line-height:1.15}.track-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.track-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--track-radius-sm,10px);font-size:12px;font-weight:650;letter-spacing:.01em;border:1px solid transparent}.track-badge--type{color:var(--track-navy);background:rgba(22,58,95,.06);border-color:rgba(22,58,95,.1)}.track-badge--status[data-tone=green]{color:#0a6e56;background:rgba(15,138,106,.12);border-color:rgba(15,138,106,.18)}.track-badge--status[data-tone=blue]{color:#155a8a;background:rgba(26,109,170,.12);border-color:rgba(26,109,170,.18)}.track-badge--status[data-tone=amber]{color:#8a5a10;background:rgba(183,121,31,.14);border-color:rgba(183,121,31,.22)}.track-badge--status[data-tone=red]{color:#a12e40;background:rgba(197,61,82,.12);border-color:rgba(197,61,82,.2)}.track-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.track-updated{font-size:12px;font-weight:600;color:var(--track-muted)}.track-map-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--track-radius-sm,10px);border:1px solid rgba(15,138,106,.28);background:#fff;color:var(--track-emerald);font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(20,40,70,.06);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.track-map-btn:hover{transform:translateY(-1px);background:rgba(15,138,106,.06);box-shadow:0 8px 18px rgba(15,138,106,.14)}.track-map-btn:focus-visible{outline:2px solid var(--track-emerald);outline-offset:2px}.track-summary{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;grid-gap:18px;gap:18px;align-items:center;padding:8px 10px 6px;margin-bottom:18px}.track-end{min-width:0}.track-end[data-align=right]{text-align:right}.track-end[data-align=right] .track-end-meta{justify-content:flex-end}.track-end-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--track-muted);margin-bottom:6px}.track-end-code{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--track-ink)}.track-end-name{margin-top:6px;font-size:14px;font-weight:600;color:var(--track-navy);line-height:1.3}.track-end-meta{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px;font-size:12px;font-weight:600;color:var(--track-muted)}.track-end-meta span{display:inline-flex;align-items:center;gap:5px}.track-summary-mid{display:grid;place-items:center}.track-ring{position:relative;width:148px;height:148px}.track-ring-svg{display:block}.track-ring-track{stroke:rgba(26,109,170,.12)}.track-ring-value{stroke:var(--track-emerald);transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1)}@media (prefers-reduced-motion:reduce){.track-ring-value{transition:none}}.track-ring-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px}.track-ring-pct{font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--track-ink);line-height:1}.track-ring-label{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--track-emerald)}.track-ring-meta,.track-ring-stations{margin-top:4px;font-size:11px;font-weight:600;color:var(--track-muted)}.track-timeline{position:relative;z-index:1;margin:8px 10px 20px}.track-timeline-scroll{overflow-x:auto;padding:40px 32px 18px;scrollbar-width:thin}.track-timeline-track{position:relative;height:10px;min-width:280px;border-radius:var(--radius-pill);background:rgba(26,109,170,.14);overflow:visible}.track-timeline-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#0a6e56,var(--track-emerald));transition:width 1.2s cubic-bezier(.25,.8,.3,1)}.track-timeline-dot{position:absolute;top:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid #fff;transform:translateY(-50%);box-shadow:0 1px 3px rgba(20,40,70,.18);z-index:2}.track-timeline-dot[data-state=passed]{background:var(--track-emerald)}.track-timeline-dot[data-state=current]{background:var(--track-emerald);box-shadow:0 0 0 5px rgba(15,138,106,.18)}.track-timeline-dot[data-state=upcoming]{background:#3d8fd4}.track-timeline-dot-tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);padding:2px 6px;border-radius:6px;background:rgba(22,58,95,.92);color:#fff;font-size:9px;font-family:var(--font-plex-mono),monospace;font-weight:700;letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}.track-timeline-dot:focus-visible .track-timeline-dot-tip,.track-timeline-dot:hover .track-timeline-dot-tip{opacity:1}.track-timeline-train{position:absolute;top:50%;z-index:3;left:clamp(28px,var(--train-pct,0%),calc(100% - 28px));transform:translate(-50%,-58%);display:grid;place-items:center;transition:left 1.2s cubic-bezier(.25,.8,.3,1);pointer-events:none;line-height:0}.track-timeline-halo{position:absolute;width:42px;height:42px;border-radius:50%;background:rgba(15,138,106,.14);border:1px solid rgba(15,138,106,.22)}.track-timeline-train-img{position:relative;z-index:1;transform:scaleX(-1);filter:drop-shadow(0 4px 8px rgba(20,40,70,.22));animation:track-train-bob 1.8s ease-in-out infinite}@keyframes track-train-bob{0%,to{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-2px)}}@media (prefers-reduced-motion:reduce){.track-timeline-fill,.track-timeline-float,.track-timeline-train{transition:none}.track-timeline-train-img{animation:none}}.track-timeline-float{position:absolute;top:-42px;z-index:4;left:clamp(48px,var(--train-pct,0%),calc(100% - 48px));transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:var(--track-radius-sm,10px);background:rgba(255,255,255,.95);border:1px solid rgba(148,174,201,.4);box-shadow:0 6px 16px rgba(20,40,70,.1);font-size:11px;font-weight:650;color:var(--track-muted);white-space:nowrap;pointer-events:none;transition:left 1.2s cubic-bezier(.25,.8,.3,1)}.track-timeline-float strong{color:var(--track-emerald)}.track-timeline-labels{display:flex;justify-content:space-between;padding:0 4px;font-size:12px;font-weight:700;color:var(--track-navy)}.track-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;padding-left:10px}.track-metric{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 16px;border-radius:var(--track-radius-sm,10px);background:rgba(255,255,255,.85);border:1px solid rgba(148,174,201,.28);box-shadow:0 1px 2px rgba(20,40,70,.04);transition:transform .15s ease,box-shadow .15s ease;overflow:hidden;position:relative}.track-metric:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px}.track-metric:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,40,70,.08)}.track-metric[data-tone=blue]:after{background:var(--blue)}.track-metric[data-tone=amber]:after{background:var(--amber)}.track-metric[data-tone=red]:after{background:var(--red)}.track-metric[data-tone=green]:after{background:var(--track-emerald)}.track-metric[data-tone=indigo]:after{background:var(--track-indigo)}.track-metric[data-tone=muted]:after{background:var(--muted)}.track-metric-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--track-radius-sm,10px)}.track-metric[data-tone=blue] .track-metric-icon{color:var(--blue);background:var(--blue-muted)}.track-metric[data-tone=amber] .track-metric-icon{color:var(--amber);background:var(--amber-muted)}.track-metric[data-tone=red] .track-metric-icon{color:var(--red);background:var(--red-muted)}.track-metric[data-tone=green] .track-metric-icon{color:var(--track-emerald);background:rgba(15,138,106,.12)}.track-metric[data-tone=indigo] .track-metric-icon{color:var(--track-indigo);background:rgba(59,91,219,.12)}.track-metric[data-tone=muted] .track-metric-icon{color:var(--muted);background:rgba(132,148,167,.14)}.track-metric-label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--track-muted)}.track-metric-value{margin-top:4px;font-size:clamp(18px,2.2vw,24px);font-weight:700;letter-spacing:-.02em;color:var(--track-ink);line-height:1.1}.track-skeleton{display:grid;grid-gap:14px;gap:14px}.track-skeleton-hero{height:320px;border-radius:var(--track-radius,16px)}.track-skeleton-row{height:88px;border-radius:var(--track-radius-sm,10px)}.track-error{border-radius:var(--track-radius,16px);border:1px solid rgba(197,61,82,.2);background:rgba(255,255,255,.9);padding:28px}.track-error-home{display:inline-block;margin-top:14px;color:var(--track-emerald);font-weight:700}@media (max-width:900px){.track-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.track-summary{grid-template-columns:1fr}.track-end[data-align=right],.track-summary{text-align:center}.track-end-meta,.track-end[data-align=right] .track-end-meta{justify-content:center}.track-summary-mid{order:-1}.track-header-actions{align-items:flex-start}}@media (max-width:520px){.track-hero{padding:16px 14px 18px;border-radius:var(--track-radius,16px)}.track-metrics{grid-template-columns:1fr;padding-left:4px}.track-title-row{flex-direction:column;align-items:flex-start;gap:4px}.track-timeline-float{font-size:10px;padding:4px 8px}}