@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}:root{--font-display:"Space Grotesk Variable", "Space Grotesk", system-ui, sans-serif;--font-body:"Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--r-card:20px;--r-chip:999px;--r-input:14px;--pad-page:16px;--shadow-card:0 1px 2px #02061740, 0 8px 28px -12px #02061773;--shadow-sheet:0 -12px 48px -12px #02061799;--ease-spring:cubic-bezier(.32, .72, .24, 1)}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a101f;--bg-glow-1:#6366f129;--bg-glow-2:#38bdf81a;--surface:#121a2e;--surface-2:#182238;--surface-3:#1f2b47;--line:#94a3b829;--line-strong:#94a3b84d;--text:#edf1f9;--text-2:#9aa7bd;--text-3:#6b7891;--brand-1:#8b8bf7;--brand-2:#46c6f2;--brand-ink:#0a101f;--brand-soft:#818cf829;--peak:#fb7185;--peak-ink:#ffd4dc;--peak-tint:#f43f5e21;--peak-chip:#f43f5e3d;--offpeak:#fbbf24;--offpeak-ink:#ffe9bb;--offpeak-tint:#f59e0b1c;--offpeak-chip:#f59e0b38;--sop:#34d399;--sop-ink:#c8f5e3;--sop-tint:#10b9811c;--sop-chip:#10b98138;--nopeak:#38bdf8;--nopeak-ink:#cdeeff;--nopeak-tint:#38bdf81c;--nopeak-chip:#38bdf838;--ok:#34d399;--bad:#fb7185;--warn:#fbbf24}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f8;--bg-glow-1:#6366f11a;--bg-glow-2:#0ea5e914;--surface:#fff;--surface-2:#f4f6fb;--surface-3:#e9edf6;--line:#0f172a1a;--line-strong:#0f172a38;--text:#0d1526;--text-2:#46536b;--text-3:#7b879c;--brand-1:#5b5bd6;--brand-2:#0993c9;--brand-ink:#fff;--brand-soft:#5b5bd61a;--peak:#e11d48;--peak-ink:#9f1239;--peak-tint:#e11d4812;--peak-chip:#e11d4821;--offpeak:#d97706;--offpeak-ink:#92400e;--offpeak-tint:#d9770614;--offpeak-chip:#d9770624;--sop:#059669;--sop-ink:#065f46;--sop-tint:#05966914;--sop-chip:#05966921;--nopeak:#0284c7;--nopeak-ink:#075985;--nopeak-tint:#0284c712;--nopeak-chip:#0284c71f;--ok:#059669;--bad:#e11d48;--warn:#d97706;--shadow-card:0 1px 2px #0f172a0f, 0 10px 30px -14px #0f172a2e;--shadow-sheet:0 -12px 48px -12px #0f172a47}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f8;--bg-glow-1:#6366f11a;--bg-glow-2:#0ea5e914;--surface:#fff;--surface-2:#f4f6fb;--surface-3:#e9edf6;--line:#0f172a1a;--line-strong:#0f172a38;--text:#0d1526;--text-2:#46536b;--text-3:#7b879c;--brand-1:#5b5bd6;--brand-2:#0993c9;--brand-ink:#fff;--brand-soft:#5b5bd61a;--peak:#e11d48;--peak-ink:#9f1239;--peak-tint:#e11d4812;--peak-chip:#e11d4821;--offpeak:#d97706;--offpeak-ink:#92400e;--offpeak-tint:#d9770614;--offpeak-chip:#d9770624;--sop:#059669;--sop-ink:#065f46;--sop-tint:#05966914;--sop-chip:#05966921;--nopeak:#0284c7;--nopeak-ink:#075985;--nopeak-tint:#0284c712;--nopeak-chip:#0284c71f;--ok:#059669;--bad:#e11d48;--warn:#d97706;--shadow-card:0 1px 2px #0f172a0f, 0 10px 30px -14px #0f172a2e;--shadow-sheet:0 -12px 48px -12px #0f172a47}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:15px;line-height:1.45}body:before{content:"";pointer-events:none;background:radial-gradient(52rem 30rem at 85% -8rem, var(--bg-glow-1), transparent 65%), radial-gradient(40rem 24rem at -10% -4rem, var(--bg-glow-2), transparent 60%);z-index:0;position:fixed;inset:0}#root{z-index:1;max-width:520px;padding:0 var(--pad-page) calc(28px + env(safe-area-inset-bottom));margin:0 auto;position:relative}@media (width>=720px){#root{max-width:640px}}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}input,select{font:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;border-radius:6px}.hdr{padding:calc(14px + env(safe-area-inset-top)) 2px 12px;align-items:center;gap:10px;display:flex}.hdr .brand{align-items:center;gap:10px;margin-right:auto;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:34px;height:34px;color:var(--brand-ink);border-radius:10px;place-items:center;display:grid;box-shadow:0 4px 14px -4px #6366f180}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:20px;font-weight:700}.brand-name em{background:linear-gradient(90deg, var(--brand-1), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hdr-btn{width:38px;height:38px;color:var(--text-2);background:var(--surface);border:1px solid var(--line);border-radius:12px;place-items:center;display:grid}.hdr-btn:active{transform:scale(.94)}.search-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:14px;display:flex}.od-wrap{flex-direction:column;gap:8px;display:flex;position:relative}.od-field{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-input);align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 14px;display:flex}.od-field:active{background:var(--surface-3)}.od-field .dot{border-radius:50%;flex:none;width:10px;height:10px}.od-field .dot.o{background:var(--brand-2);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-2) 22%, transparent)}.od-field .dot.d{background:var(--brand-1);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-1) 22%, transparent)}.od-field .lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:11px;display:block}.od-field .val{font-size:16px;font-weight:600}.od-field .val.empty{color:var(--text-3);font-weight:500}.swap-btn{background:var(--surface-3);border:1px solid var(--line-strong);width:40px;height:40px;color:var(--text-2);z-index:2;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.swap-btn:active{transition:transform .25s var(--ease-spring);transform:translateY(-50%)rotate(180deg)scale(.95)}.when-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.when-field.date{grid-column:1/-1}@media (width>=480px){.when-row{grid-template-columns:1.3fr 1fr 1fr}.when-field.date{grid-column:auto}}.when-field{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-input);padding:8px 10px 6px}.when-field .lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:1px;font-size:10px;display:block}.when-field input,.when-field select{font-variant-numeric:tabular-nums;background:0 0;border:none;width:100%;padding:0;font-size:15px;font-weight:600}.when-field input:focus,.when-field select:focus{outline:none}.mode-seg{gap:3px;display:flex}.mode-seg button{color:var(--text-3);white-space:nowrap;border-radius:8px;flex:1;padding:3px 4px;font-size:12.5px;font-weight:650}.mode-seg button.on{background:var(--brand-soft);color:var(--text)}.more-btn{border:1px dashed var(--line-strong);width:100%;color:var(--text-2);background:color-mix(in srgb, var(--surface) 55%, transparent);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:650;display:flex}.more-btn:active{background:var(--surface-2)}.more-btn:disabled{opacity:.35}.quick-row{flex-wrap:wrap;gap:6px;display:flex}.quick-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);border-radius:var(--r-chip);padding:6px 12px;font-size:12.5px;font-weight:600}.quick-chip:active{background:var(--surface-3)}.go-btn{border-radius:var(--r-input);background:linear-gradient(90deg, var(--brand-1), var(--brand-2));color:var(--brand-ink);font-family:var(--font-display);letter-spacing:.01em;justify-content:center;align-items:center;gap:8px;margin-top:2px;padding:14px;font-size:16px;font-weight:700;display:flex;box-shadow:0 8px 20px -8px #6366f199}.go-btn:active{transform:scale(.985)}.go-btn:disabled{opacity:.45;box-shadow:none}.ticket-bar{background:var(--surface);border:1px dashed var(--line-strong);text-align:left;border-radius:16px;align-items:center;gap:10px;width:100%;margin-top:12px;padding:10px 12px;display:flex}.ticket-bar.set{border-style:solid;border-color:color-mix(in srgb, var(--brand-1) 45%, transparent);background:var(--brand-soft)}.ticket-bar .t-icon{background:var(--brand-soft);width:34px;height:34px;color:var(--brand-1);border-radius:10px;flex:none;place-items:center;display:grid}.ticket-bar.set .t-icon{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--brand-ink)}.ticket-bar .t-main{flex:1;min-width:0}.ticket-bar .t-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.ticket-bar .t-sub{color:var(--text-2);font-size:12px}.ticket-bar .t-x{color:var(--text-3);padding:6px}.filters{scrollbar-width:none;-ms-overflow-style:none;gap:6px;padding:12px 2px 4px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.f-chip{border-radius:var(--r-chip);border:1px solid var(--line);background:var(--surface);color:var(--text-2);flex:none;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:650;transition:all .15s;display:inline-flex}.f-chip .swatch{border-radius:50%;width:8px;height:8px}.f-chip.on{color:var(--text);border-color:var(--line-strong);background:var(--surface-3)}.f-chip.on.peak{background:var(--peak-chip);border-color:var(--peak);color:var(--peak-ink)}.f-chip.on.offpeak{background:var(--offpeak-chip);border-color:var(--offpeak);color:var(--offpeak-ink)}.f-chip.on.superoffpeak{background:var(--sop-chip);border-color:var(--sop);color:var(--sop-ink)}.f-chip.on.ticket{background:var(--brand-soft);border-color:var(--brand-1);color:var(--text)}.results{flex-direction:column;gap:10px;padding-top:10px;display:flex}.res-head{align-items:baseline;gap:8px;padding:4px 2px 0;display:flex}.res-head h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.res-head .sub{color:var(--text-3);margin-left:auto;font-size:12.5px}.jcard{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);width:100%;box-shadow:var(--shadow-card);padding:13px 14px 12px 18px;transition:transform .12s;position:relative;overflow:hidden}.jcard:active{transform:scale(.988)}.jcard:before{content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.jcard.s-anytime{background:linear-gradient(0deg, var(--peak-tint), var(--peak-tint)), var(--surface);border-color:color-mix(in srgb, var(--peak) 30%, transparent)}.jcard.s-anytime:before{background:var(--peak)}.jcard.s-offpeak{background:linear-gradient(0deg, var(--offpeak-tint), var(--offpeak-tint)), var(--surface);border-color:color-mix(in srgb, var(--offpeak) 30%, transparent)}.jcard.s-offpeak:before{background:var(--offpeak)}.jcard.s-superoffpeak{background:linear-gradient(0deg, var(--sop-tint), var(--sop-tint)), var(--surface);border-color:color-mix(in srgb, var(--sop) 30%, transparent)}.jcard.s-superoffpeak:before{background:var(--sop)}.jcard.s-nopeak{background:linear-gradient(0deg, var(--nopeak-tint), var(--nopeak-tint)), var(--surface);border-color:color-mix(in srgb, var(--nopeak) 30%, transparent)}.jcard.s-nopeak:before{background:var(--nopeak)}.j-top{align-items:center;gap:8px;display:flex}.j-times{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:21px;font-weight:700;display:flex}.j-times .arr-sep{color:var(--text-3);align-items:center;display:flex}.j-dur{color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px;font-weight:600}.j-stations{color:var(--text-2);align-items:center;gap:6px;min-width:0;margin-top:2px;font-size:13px;display:flex}.j-stations .via{color:var(--text-3)}.j-stations .live{margin-left:auto;font-size:12px;font-weight:650}.live.ok{color:var(--ok)}.live.late{color:var(--warn)}.j-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;display:flex}.pill{border-radius:var(--r-chip);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:750;display:inline-flex}.pill.p-anytime{background:var(--peak-chip);color:var(--peak-ink)}.pill.p-offpeak{background:var(--offpeak-chip);color:var(--offpeak-ink)}.pill.p-superoffpeak{background:var(--sop-chip);color:var(--sop-ink)}.pill.p-nopeak{background:var(--nopeak-chip);color:var(--nopeak-ink)}.tag{color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-chip);align-items:center;gap:5px;padding:3.5px 9px;font-size:12px;font-weight:600;display:inline-flex}.tag .opdot{border-radius:50%;width:7px;height:7px}.tag.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 13%, transparent);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.j-fares{gap:6px;margin-top:10px;display:flex}.fare-cell{background:color-mix(in srgb, var(--surface-2) 72%, transparent);border:1px solid var(--line);border-radius:12px;flex:1;min-width:0;padding:6px 8px}.fare-cell .fl{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.fare-cell .fv{font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:700}.fare-cell .fv .na{color:var(--text-3);font-weight:500}.j-verdict{border-radius:10px;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;font-size:12.5px;font-weight:650;display:flex}.j-verdict.v-valid{color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.j-verdict.v-invalid{color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, transparent)}.j-verdict.v-check{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.empty-state{text-align:center;color:var(--text-2);padding:40px 20px}.empty-state .big{margin-bottom:8px;font-size:38px}.empty-state h3{font-family:var(--font-display);color:var(--text);margin:0 0 6px}.empty-state p{margin:0;font-size:13.5px}.sheet-backdrop{-webkit-backdrop-filter:blur(3px);z-index:40;background:#0408129e;animation:.18s fade-in;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--line);width:100%;max-width:560px;max-height:92dvh;box-shadow:var(--shadow-sheet);z-index:50;animation:sheet-up .28s var(--ease-spring);border-bottom:none;border-radius:24px 24px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@keyframes sheet-up{0%{opacity:.6;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet-grip{background:var(--line-strong);border-radius:3px;flex:none;width:42px;height:4.5px;margin:10px auto 2px}.sheet-head{flex:none;align-items:center;gap:10px;padding:8px 18px 12px;display:flex}.sheet-head h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.sheet-head .x{background:var(--surface-2);width:32px;height:32px;color:var(--text-2);border-radius:50%;place-items:center;margin-left:auto;display:grid}.sheet-body{padding:0 18px calc(20px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.picker-search{background:var(--surface);z-index:2;padding:2px 0 10px;position:sticky;top:0}.picker-search input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-input);width:100%;padding:12px 14px;font-size:16px}.pick-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:12px;width:100%;padding:12px 6px;display:flex}.pick-row:active{background:var(--surface-2)}.pick-row .p-ico{background:var(--surface-2);width:34px;height:34px;color:var(--text-2);border-radius:10px;flex:none;place-items:center;display:grid}.pick-row.grp .p-ico{background:var(--brand-soft);color:var(--brand-1)}.pick-row .p-name{font-size:15px;font-weight:600}.pick-row .p-sub{color:var(--text-3);font-size:12px}.picker-note{color:var(--text-3);padding:12px 4px;font-size:12px;line-height:1.5}.detail-status{border-radius:16px;margin-bottom:14px;padding:12px 14px;font-size:13.5px;line-height:1.5}.detail-status.s-anytime{background:var(--peak-tint);border:1px solid color-mix(in srgb, var(--peak) 35%, transparent)}.detail-status.s-offpeak{background:var(--offpeak-tint);border:1px solid color-mix(in srgb, var(--offpeak) 35%, transparent)}.detail-status.s-superoffpeak{background:var(--sop-tint);border:1px solid color-mix(in srgb, var(--sop) 35%, transparent)}.detail-status.s-nopeak{background:var(--nopeak-tint);border:1px solid color-mix(in srgb, var(--nopeak) 35%, transparent)}.detail-status .row1{align-items:center;gap:8px;margin-bottom:6px;display:flex}.detail-status .why{color:var(--text-2)}.sec-title{text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);margin:18px 0 8px;font-size:11.5px;font-weight:750}.data-source{border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:9px 12px;font-size:12px;line-height:1.45;display:flex}.data-source.live{color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent)}.data-source.curated{color:var(--warn);background:color-mix(in srgb, var(--warn) 11%, transparent)}.data-source svg{flex:none;margin-top:1px}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:var(--line-strong);border-radius:2px;width:2.5px;position:absolute;top:10px;bottom:10px;left:6px}.tl-stop{align-items:baseline;gap:10px;padding:6px 0;display:flex;position:relative}.tl-stop:before{content:"";background:var(--surface);border:2.5px solid var(--text-3);border-radius:50%;width:9px;height:9px;position:absolute;top:12px;left:-20.5px}.tl-stop.ends:before{border-color:var(--brand-2);background:var(--brand-2)}.tl-stop .t{font-variant-numeric:tabular-nums;min-width:46px;font-size:14px;font-weight:700}.tl-stop .n{font-size:14px}.tl-stop.mid .n,.tl-stop.mid .t{color:var(--text-2);font-weight:500}.tl-stop .chg{color:var(--warn);text-transform:uppercase;letter-spacing:.05em;margin-left:auto;font-size:11px;font-weight:700}.fare-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 0;display:flex}.fare-row .f-main{flex:1;min-width:0}.fare-row .f-name{flex-wrap:wrap;align-items:center;gap:7px;font-size:14.5px;font-weight:650;display:flex}.fare-row .f-route{color:var(--text-3);margin-top:1px;font-size:12px}.fare-row .f-restr{color:var(--text-2);margin-top:3px;font-size:12px;line-height:1.45}.fare-row .f-price{font-family:var(--font-display);font-variant-numeric:tabular-nums;flex:none;font-size:17px;font-weight:700}.fare-row.invalid .f-price,.fare-row.invalid .f-name{color:var(--text-3)}.mini-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2.5px 6px;font-size:9.5px;font-weight:800}.mini-pill.ok{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.mini-pill.no{background:color-mix(in srgb, var(--bad) 12%, transparent);color:var(--bad)}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{color:var(--text-2);text-align:center;border-radius:10px;padding:9px 6px;font-size:13px;font-weight:650}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #02061740}.seg button.on.b-anytime{color:var(--peak-ink);background:var(--peak-chip)}.seg button.on.b-offpeak{color:var(--offpeak-ink);background:var(--offpeak-chip)}.seg button.on.b-superoffpeak{color:var(--sop-ink);background:var(--sop-chip)}.form-label{color:var(--text-2);margin:16px 0 7px;font-size:12px;font-weight:700;display:block}.form-label:first-child{margin-top:4px}.opt-row{flex-wrap:wrap;gap:6px;display:flex}.opt{border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);border-radius:12px;padding:9px 13px;font-size:13.5px;font-weight:600}.opt.on{border-color:var(--brand-1);background:var(--brand-soft);color:var(--text)}.primary-btn{border-radius:var(--r-input);background:linear-gradient(90deg, var(--brand-1), var(--brand-2));width:100%;color:var(--brand-ink);font-family:var(--font-display);margin-top:18px;padding:14px;font-size:15.5px;font-weight:700}.primary-btn:disabled{opacity:.4}.ghost-btn{border-radius:var(--r-input);border:1px solid var(--line);width:100%;color:var(--text-2);margin-top:8px;padding:12px;font-size:14px;font-weight:650}.wiz-q{font-family:var(--font-display);letter-spacing:-.01em;margin:6px 0 14px;font-size:17px;font-weight:700;line-height:1.35}.wiz-opt{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:13px 14px;display:flex}.wiz-opt:active{background:var(--surface-3)}.wiz-opt .w-t{font-size:14.5px;font-weight:650}.wiz-opt .w-s{color:var(--text-2);margin-top:1px;font-size:12.5px}.wiz-progress{gap:4px;margin-bottom:14px;display:flex}.wiz-progress i{background:var(--surface-3);border-radius:2px;flex:1;height:3.5px}.wiz-progress i.done{background:linear-gradient(90deg, var(--brand-1), var(--brand-2))}.wiz-result{text-align:center;padding:10px 0 4px}.wiz-result .w-badge{background:var(--brand-soft);width:56px;height:56px;color:var(--brand-1);border-radius:18px;place-items:center;margin:0 auto 12px;display:grid}.set-field{margin-bottom:14px}.set-field input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-input);width:100%;padding:11px 13px;font-size:14px}.set-note{color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:12.5px;line-height:1.55}.set-note a{color:var(--brand-2)}.toggle-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.toggle-row .t-lbl{flex:1;font-size:14.5px;font-weight:600}.toggle-row .t-sub{color:var(--text-3);font-size:12px}.switch{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:999px;flex:none;width:46px;height:27px;transition:background .18s;position:relative}.switch:after{content:"";background:var(--text-2);width:20px;height:20px;transition:all .18s var(--ease-spring);border-radius:50%;position:absolute;top:2.5px;left:3px}.switch.on{background:linear-gradient(90deg, var(--brand-1), var(--brand-2));border-color:#0000}.switch.on:after{background:#fff;left:22px}.footnote{color:var(--text-3);text-align:center;padding:18px 4px 6px;font-size:11.5px;line-height:1.55}.auth-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:14px;width:100%;max-width:380px;padding:32px 24px;display:flex}.auth-msg{color:var(--text-2);margin:2px 0 6px;font-size:14.5px;line-height:1.5}.auth-sub{color:var(--text-3);font-size:13px}.auth-err{color:var(--bad);margin:4px 0 0;font-size:12.5px}.auth-foot{color:var(--text-3);max-width:340px;font-size:12px}.gis-btn{justify-content:center;min-height:44px;display:flex}.user-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 2px;display:flex}.user-row .u-email{word-break:break-all;flex:1;font-size:14px;font-weight:550}.user-row .u-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--brand-1);background:var(--brand-soft);border-radius:6px;padding:3px 7px;font-size:10.5px;font-weight:750}.user-row .u-remove{color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, transparent);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.add-user-row{gap:8px;margin-top:14px;display:flex}.add-user-row input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-input);flex:1;padding:11px 13px;font-size:14px}.add-user-row button{border-radius:var(--r-input);background:linear-gradient(90deg, var(--brand-1), var(--brand-2));color:var(--brand-ink);flex:none;padding:0 16px;font-size:14px;font-weight:700}.add-user-row button:disabled{opacity:.4}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
