:root{--bg:#0d0f14;--surface:#161922;--surface-2:#1d212b;--surface-3:#272c38;--surface-4:#333948;--hair:#ffffff12;--hair-2:#ffffff1f;--edge:inset 0 1px 0 #ffffff0d;--text:#f3f5f9;--text-2:#d3d8e2;--muted:#9ba3b4;--faint:#6f7888;--dim:#454c5b;--shiok:#2ec4b6;--steady:#94d13d;--chiong:#ff6b35;--lime:#94d13d;--lime-hi:#b4e46a;--lime-deep:#5f8f1f;--lime-soft:#94d13d24;--accent:var(--lime);--accent-ink:#0b0c0a;--accent-text:var(--lime-hi);--led:#ffa31a;--led-glow:0 0 6px #ffa31a8c, 0 0 14px #ffa31a2e;--you:#0a84ff;--green:#30d158;--green-soft:#30d15824;--green-text:#6ee08f;--yellow:#ffb340;--yellow-soft:#ffb34024;--yellow-text:#ffcf85;--red:#ff453a;--red-soft:#ff453a24;--red-text:#ff9a93;--bus:#c9d1dc;--bus-ink:#10141b;--walk:#e6cf9c;--line-ns:#e1251b;--line-ew:#00953b;--line-ne:#9e28b5;--line-cc:#fa9e0d;--line-dt:#005ec4;--line-te:#9d5b25;--line-lrt:#748477;--shadow-float:0 12px 32px #00000080, 0 2px 6px #0000004d;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--dots:"Doto", var(--mono);--r-xl:24px;--r-lg:20px;--r-md:14px;--r-sm:10px;--col:440px;--nav-h:92px;--fs:1;--veil:255, 255, 255;--page:#07080b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f2f4f7;--page:#e3e6eb;--surface:#fff;--surface-2:#eef1f5;--surface-3:#e3e7ed;--surface-4:#d5dae3;--hair:#10141b14;--hair-2:#10141b24;--edge:0 1px 2px #10141b0f, inset 0 0 0 1px #10141b0f;--veil:16, 20, 27;--text:#10141b;--text-2:#262d39;--muted:#586172;--faint:#778091;--dim:#b2b9c5;--lime-hi:#4b7a10;--lime-soft:#6eaa1e26;--green-text:#1d8a3b;--yellow-text:#9a5a00;--red-text:#c22d24;--bus:#b4bdca;--walk:#c49f4f;--shadow-float:0 12px 32px #10141b29, 0 2px 6px #10141b14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] :is(.tk,.fav-item,.led-board,.kc-count,.journey-bar){--surface:#161922;--surface-2:#1d212b;--surface-3:#272c38;--surface-4:#333948;--hair:#ffffff12;--hair-2:#ffffff1f;--edge:inset 0 1px 0 #ffffff0d;--veil:255, 255, 255;--text:#f3f5f9;--text-2:#d3d8e2;--muted:#9ba3b4;--faint:#6f7888;--dim:#454c5b;--lime-hi:#b4e46a;--lime-soft:#94d13d24;--green-text:#6ee08f;--yellow-text:#ffcf85;--red-text:#ff9a93;--bus:#c9d1dc;--walk:#e6cf9c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--page);color:var(--text-2);font-family:var(--font);font-size:calc(15px * var(--fs));letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;line-height:1.42}button{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit;background:0 0;border:0;padding:0}input{font:inherit;color:inherit;letter-spacing:inherit}:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:10px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:var(--col);background:var(--bg);min-height:100dvh;margin:0 auto;display:flow-root;position:relative;overflow-x:clip}@media (width>=520px){.app{box-shadow:0 0 0 1px var(--hair), 0 30px 120px #0009}}.page{padding:calc(env(safe-area-inset-top) + 20px) 20px calc(var(--nav-h) + env(safe-area-inset-bottom) + 36px);flex-direction:column;gap:28px;display:flex;position:relative}.page-enter{opacity:1;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);transform:translateY(0)}@starting-style{.page-enter{opacity:0;transform:translateY(6px)}}.press{transition:transform .16s var(--ease-out), background-color .15s ease, opacity .15s ease, box-shadow .15s ease}.press:active{transform:scale(.98)}.display{font-weight:650;font-size:calc(30px * var(--fs));letter-spacing:-.035em;color:var(--text);margin:0;line-height:1.08}.title{font-weight:650;font-size:calc(26px * var(--fs));letter-spacing:-.03em;color:var(--text);margin:0;line-height:1.1}.eyebrow{font-size:calc(11.5px * var(--fs));letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0;font-weight:600}header>.eyebrow,.section-head .eyebrow,h2.eyebrow{font-size:calc(13.5px * var(--fs));letter-spacing:.075em}.strong{color:var(--text);font-weight:600}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.faint{color:var(--faint)}.small{font-size:calc(13px * var(--fs))}.tiny{font-size:calc(12px * var(--fs))}.link{color:var(--lime-hi);font-weight:600;font-size:calc(14px * var(--fs))}.led{font-family:var(--dots);color:var(--led);text-shadow:var(--led-glow);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.led-panel{background:#080806 radial-gradient(#ffa31a17 .9px,#0000 1.2px) 0 0/4px 4px;border-radius:10px;align-items:center;gap:10px;padding:7px 11px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 2px 10px #000000e6}.livery{gap:3px;display:inline-flex}.livery i{background:var(--lime);border-radius:1px;width:4px;height:16px;transform:skew(-24deg)}.livery i:nth-child(2){opacity:.7}.livery i:nth-child(3){opacity:.4}.row{align-items:center;gap:10px;display:flex}.stack{flex-direction:column;display:flex}.section{flex-direction:column;gap:10px;display:flex}.section-head{justify-content:space-between;align-items:baseline;padding:0 2px;display:flex}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--edge)}.pad{padding:18px}.list{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--edge);overflow:hidden}.list>*+*{box-shadow:inset 0 1px 0 var(--hair)}.item{text-align:left;align-items:center;gap:14px;width:100%;min-height:56px;padding:14px 16px;display:flex}@media (hover:hover) and (pointer:fine){button.item:hover,.fav:hover{background:var(--surface-2)}}.icon-tile{background:var(--surface-3);width:36px;height:36px;color:var(--text-2);border-radius:11px;flex:none;place-items:center;display:grid}.icon-tile.accent{background:var(--lime);color:var(--accent-ink)}.badge{height:24px;font-size:calc(12px * var(--fs));white-space:nowrap;background:var(--surface-3);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.badge.accent{background:var(--lime);color:var(--accent-ink)}.badge.accent-soft{background:var(--lime-soft);color:var(--lime-hi)}.badge.green{background:var(--green-soft);color:var(--green-text)}.badge.yellow{background:var(--yellow-soft);color:var(--yellow-text)}.badge.red{background:var(--red-soft);color:var(--red-text)}.status{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%;flex:none}.status.bad{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.status.warn{background:var(--yellow);box-shadow:0 0 0 3px var(--yellow-soft)}.chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chip{height:22px;font-size:calc(12px * var(--fs));white-space:nowrap;letter-spacing:0;border-radius:6px;align-items:center;gap:3px;padding:0 6px;font-weight:700;line-height:1;display:inline-flex}.chip-walk{color:var(--walk);opacity:.85;background:0 0;padding:0 1px;font-weight:600}.chip-bus{background:var(--bus);color:var(--bus-ink);box-shadow:inset 0 -1px #0000002e}.chip-train{color:#fff}.chip-arrow{color:var(--dim)}.strip{align-items:center;height:14px;display:flex;position:relative}.strip-track{clip-path:inset(0);width:100%;height:4px;transition:clip-path .6s var(--ease-in-out);align-items:center;display:flex}@starting-style{.strip-track{clip-path:inset(0 100% 0 0)}}.strip-seg{border-radius:2px;height:4px}.strip-seg.walk{border-top:2px dotted var(--walk);opacity:.8;border-radius:0;height:0}.strip-node{background:var(--text);width:10px;height:10px;box-shadow:0 0 0 2.5px var(--surface);border-radius:50%;margin:-5px 0 0 -5px;position:absolute;top:50%}.strip-node.end{background:var(--lime);box-shadow:0 0 0 2.5px var(--surface)}.strip-node.start{background:var(--surface);box-shadow:inset 0 0 0 2px var(--you), 0 0 0 2.5px var(--surface)}.seg{--n:3;--i:0;--seg-fill:var(--lime);--seg-glow:#94d13d40;background:var(--surface);box-shadow:var(--edge);border-radius:13px;padding:3px;display:grid;position:relative}.seg.mode-shiok{--seg-fill:var(--shiok);--seg-glow:#2ec4b64d}.seg.mode-chiong{--seg-fill:var(--chiong);--seg-glow:#ff6b354d}.seg-row{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.seg-thumb{width:calc((100% - 6px) / var(--n));pointer-events:none;background:var(--seg-fill);box-shadow:inset 0 1px 0 #ffffff40, 0 2px 12px var(--seg-glow);transform:translateX(calc(var(--i) * 100%));transition:transform .34s var(--ease-drawer), background-color .34s ease, box-shadow .34s ease;border-radius:10px;position:absolute;top:3px;bottom:3px;left:3px}.seg.modes .seg-thumb{background:linear-gradient(90deg, var(--shiok) 0 31.3%, var(--steady) 35.3% 64.7%, var(--chiong) 68.7% 100%) calc(var(--i) * 50%) 0 / calc(var(--n) * 100%) 100% no-repeat;transition:transform .34s var(--ease-drawer), background-position .34s var(--ease-drawer), box-shadow .34s ease}.seg-row.active{pointer-events:none;transition:clip-path .34s var(--ease-drawer);position:absolute;inset:3px}.seg-opt{height:46px;font-weight:600;font-size:calc(15px * var(--fs));color:var(--faint);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex}.seg-opt small{font-weight:500;font-size:calc(11.5px * var(--fs));opacity:.9;margin-top:1px}.seg-row.active .seg-opt{color:var(--accent-ink)}.seg-ico{align-items:center;gap:6px;display:inline-flex}.ts-aa{letter-spacing:-.02em;font-weight:650;line-height:1.1}.nav-scrim{z-index:29;height:calc(124px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 0%, transparent), color-mix(in srgb, var(--bg) 94%, transparent) 62%);position:fixed;bottom:0;left:0;right:0}.train{z-index:30;left:50%;bottom:calc(env(safe-area-inset-bottom) + 4px);width:336px;height:88px;position:fixed;transform:translate(-50%)}@media (width<=360px){.train{zoom:.9}}.train-car{position:absolute;inset:0}.train-car.arrive{animation:.76s cubic-bezier(.16,.84,.3,1) backwards train-in}@keyframes train-in{0%{transform:translate(125%)}}.train-art{filter:drop-shadow(0 8px 12px #00000080);display:block;position:absolute;inset:0;overflow:visible}.train-art .livery{fill:var(--tc)}.train-art .livery-hi{fill:var(--tc-hi);opacity:.8}.train-art .wheel{transform-box:fill-box;transform-origin:50%}.train-car.arrive .wheel{animation:.76s cubic-bezier(.16,.84,.3,1) backwards wheel-roll}@keyframes wheel-roll{0%{transform:rotate(1080deg)}}.train-art .dest-glow{filter:drop-shadow(0 0 2.5px #ffa31af2)}.train-car.arrive .beam{animation:.76s step-end backwards beam-on}@keyframes beam-on{0%{opacity:0}}.spill{z-index:1;pointer-events:none;mix-blend-mode:screen;width:104px;height:24px;transform:translateX(var(--x));transition:transform .42s var(--ease-in-out);background:radial-gradient(closest-side,#b4e66a8c,#94d13d26 60%,#0000);border-radius:50%;margin-left:-52px;position:absolute;top:67px;left:0}.door{z-index:2;border-radius:3px 3px 1px 1px;width:56px;height:50px;position:absolute;top:12px}.door:before{content:"";position:absolute;inset:-12px -16px -22px}.door-light{background:#ffa31a29;border-radius:2px;width:14px;height:2.5px;margin-left:-7px;transition:background-color .15s,box-shadow .15s;position:absolute;top:-4.5px;left:50%}.door[aria-selected=true] .door-light{background:var(--led);animation:.52s steps(2,jump-none) 2 door-chime;box-shadow:0 0 7px #ffa31af2}@keyframes door-chime{50%{box-shadow:none;background:#ffa31a40}}.doorway{border-radius:inherit;background:#07090c;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #0009}.door-in{opacity:0;transition:opacity .24s var(--ease-out);background:linear-gradient(180deg, #fffffff2 0 1.5px, transparent 1.5px), linear-gradient(90deg, transparent 0 10%, #0b0c0a33 10% calc(10% + 1.5px), transparent calc(10% + 1.5px) calc(90% - 1.5px), #0b0c0a33 calc(90% - 1.5px) 90%, transparent 90%), linear-gradient(0deg, #0b0c0a47 0 4px, transparent 4px), radial-gradient(150% 110% at 50% 0%, #d9f5a8 0%, #b4e46a 40%, var(--lime) 75%, #6f9f2c 100%);position:absolute;inset:0}.leaf{width:50%;transition:transform .3s var(--ease-in-out);background:linear-gradient(#47505f 0%,#2f3540 55%,#23272f 100%);position:absolute;top:0;bottom:0}.leaf.l{left:0;box-shadow:inset 1px 0 #ffffff0f}.leaf.r{right:0;box-shadow:inset -1px 0 #ffffff0f}.leaf:before{content:"";background:linear-gradient(#1a2130 0%,#0b0e14 55%,#07090c 100%);height:36px;position:absolute;top:4px;box-shadow:inset 0 1px #e1ecff33}.leaf.l:before{border-radius:4px 0 0 4px;left:4px;right:0}.leaf.r:before{border-radius:0 4px 4px 0;left:0;right:4px}.leaf:after{content:"";background:#00000047;border-radius:1px;height:3px;position:absolute;bottom:3px;left:4px;right:4px}.door[aria-selected=true] .door-in{opacity:1}.door[aria-selected=true] .leaf.l{transform:translate(-100%)}.door[aria-selected=true] .leaf.r{transform:translate(100%)}.door-sign{z-index:2;pointer-events:none;flex-direction:column;align-items:center;gap:4px;padding-top:7px;display:flex;position:absolute;inset:0}.door-sign svg{color:#f1f4f9;transition:color .15s 90ms}.door-name{font-size:calc(10.5px * var(--fs));letter-spacing:.01em;color:#e4e9f0;font-weight:650;line-height:11px;transition:color .15s 90ms}.door[aria-selected=true] .door-sign svg{color:#0b0c0a}.door[aria-selected=true] .door-name{color:#0b0c0a;font-weight:700}.door:active .doorway{filter:brightness(.85)}.door:focus-visible{outline-offset:4px;border-radius:6px}@media (hover:hover) and (pointer:fine){.door[aria-selected=false]:hover .leaf.l{transform:translate(-12%)}.door[aria-selected=false]:hover .leaf.r{transform:translate(12%)}.door[aria-selected=false]:hover .door-in{opacity:.45}}.search-bar{background:var(--surface);width:100%;height:52px;color:var(--faint);text-align:left;box-shadow:var(--edge);font-size:calc(15.5px * var(--fs));border-radius:16px;align-items:center;gap:12px;padding:0 16px;display:flex}.search-bar svg{color:var(--lime)}.ask{text-align:left;background:radial-gradient(90% 160% at 0%,#94d13d21,#0000 60%),linear-gradient(#222734,#191c25);border-radius:20px;align-items:center;gap:14px;width:100%;min-height:66px;padding:10px 11px 10px 10px;display:flex;box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #94d13d4d,0 14px 30px #00000059}@media (hover:hover) and (pointer:fine){.ask:hover{box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1.5px #94d13d99,0 14px 30px #00000059}}.ask-icon{background:linear-gradient(160deg, #b4e46a, var(--lime) 60%);width:46px;height:46px;color:var(--accent-ink);border-radius:14px;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px #fff6,0 6px 18px #94d13d4d}.ask-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ask-q{font-size:calc(17.5px * var(--fs));letter-spacing:-.02em;color:var(--text);font-weight:650}:root[data-theme=light] .ask{background:radial-gradient(90% 160% at 0% 50%, #94d13d2e, transparent 60%), var(--surface);box-shadow:0 1px 2px #10141b0f,inset 0 0 0 1px #6eaa1e66,0 12px 26px #10141b14}.ask-sub{font-size:calc(12.5px * var(--fs));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ask-go{width:36px;height:36px;color:var(--lime-hi);background:#94d13d1f;border-radius:50%;flex:none;place-items:center;display:grid}.field{align-items:center;gap:14px;min-height:56px;padding:0 16px;display:flex}.field input{min-width:0;height:54px;font-size:calc(16px * var(--fs));color:var(--text);background:0 0;border:0;outline:none;flex:1;font-weight:500}.field input::placeholder{color:var(--faint);font-weight:400}.field-label{font-size:calc(11.5px * var(--fs));color:var(--faint);text-transform:uppercase;letter-spacing:.08em;width:38px;font-weight:600}.end-dot{border-radius:50%;flex:none;width:10px;height:10px}.end-dot.from{box-shadow:inset 0 0 0 2.5px var(--you)}.end-dot.to{background:var(--lime)}.avatar{background:var(--surface-3);width:38px;height:38px;color:var(--text);font-weight:600;font-size:calc(15px * var(--fs));box-shadow:inset 0 0 0 1px var(--hair-2);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.page.glow{isolation:isolate;transition:--amb .45s}.page.glow:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(125% 72% at 50% 0%, color-mix(in srgb, var(--amb) 20%, transparent), transparent 72%);height:560px;position:absolute;top:0;left:0;right:0}.kc{isolation:isolate;flex-direction:column;gap:18px;padding:2px 2px 0;display:flex;position:relative}.kc:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(55% 60% at 26% 52%, color-mix(in srgb, var(--tc) 20%, transparent), transparent 72%);height:240px;position:absolute;top:-30px;left:-60px;right:-40px}.kc-late:before{background:radial-gradient(55% 60% at 26% 52%,#ff453a38,#0000 72%)}.kc-idle:before{opacity:.4}.kc-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.kc-brand{font-size:calc(11.5px * var(--fs));letter-spacing:.12em;text-transform:uppercase;color:var(--tc-hi);align-items:center;gap:7px;font-weight:700;display:inline-flex}.kc-when{font-size:calc(13.5px * var(--fs));color:var(--text-2);white-space:nowrap;font-weight:600}.kc-main{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.kc-lead{flex-direction:column;gap:10px;min-width:0;display:flex}.kc-k{font-size:calc(11px * var(--fs));letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:650}.kc-time{font-size:calc(66px * var(--fs));letter-spacing:-.05em;color:var(--text);align-items:baseline;margin-left:-2px;font-weight:700;line-height:.88;display:flex;position:relative}.kc-base{vertical-align:baseline;width:0;height:0;display:inline-block}.kc-colon{color:var(--tc-hi);pointer-events:none;flex-direction:column;align-items:center;gap:.22em;animation:2s step-end infinite kc-tick;display:flex;position:absolute;transform:translate(-50%,-50%)}.kc-colon i{background:currentColor;border-radius:50%;width:.105em;height:.105em}@keyframes kc-tick{50%{opacity:.25}}.kc-idle .kc-time,.kc-idle .kc-colon{color:var(--dim);animation:none}.kc-late .kc-time,.kc-late .kc-colon{color:#ff6b5e}:root[data-theme=light] .kc:not(.kc-late,.kc-idle) .kc-colon{color:var(--tc)}.kc-arrive{flex-direction:column;flex:none;align-items:flex-end;gap:7px;display:flex}.kc-arrive b{font-size:calc(24px * var(--fs));letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-weight:650;line-height:1}.kc-arrive.bad b{color:#ff6b5e}.kc .jd-node{box-shadow:0 0 0 2.5px var(--bg)}.kc .jd-node.start{background:var(--bg);box-shadow:inset 0 0 0 3px var(--you), 0 0 0 2.5px var(--bg)}.kc .jd-node.end{box-shadow:0 0 0 2.5px var(--bg)}.kc .jd-bar{box-shadow:none}:root[data-theme=light] .kc .jd-node:not(.start,.end){box-shadow:0 0 0 2.5px var(--bg), inset 0 0 0 2.5px #5b6472}:root[data-theme=light] .kc .jd-part.bus .jd-bar{background:#a3adbb}.jd-part.spare{min-width:36px}.jd-part.spare .jd-label{color:var(--lime-hi);font-weight:700}.jd-part.spare .jd-bar{background:color-mix(in srgb, var(--lime) 24%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--lime) 60%, transparent)}.kc-count{gap:8px;padding:6px 10px}.kc-count .led{font-size:calc(13.5px * var(--fs))}.kc-heads{background:rgba(var(--veil), .05);min-width:0;box-shadow:inset 0 0 0 1px var(--hair);border-radius:14px;flex:1;align-items:center;gap:10px;padding:9px 12px 9px 10px;display:flex}.kc-heads-icon{width:32px;height:32px;color:var(--green-text);background:var(--green-soft);border-radius:50%;flex:none;place-items:center;display:grid}.kc-heads-text{flex-direction:column;gap:2px;min-width:0;display:flex}.kc-heads-text b{font-size:calc(15px * var(--fs));letter-spacing:-.01em;color:var(--text);font-weight:700;line-height:1.25}.kc-heads-text small{font-size:calc(13.5px * var(--fs));color:var(--text-2);font-weight:500;line-height:1.3}.kc-heads.busy{background:var(--yellow-soft);box-shadow:none}.kc-heads.busy .kc-heads-icon{color:var(--yellow-text);background:color-mix(in srgb, var(--yellow) 22%, transparent)}.kc-heads.bad{background:var(--red-soft);box-shadow:none}.kc-heads.bad .kc-heads-icon{color:var(--red-text);background:color-mix(in srgb, var(--red) 22%, transparent)}.kc-heads.bad .kc-heads-text b{color:var(--red-text)}.kc-heads.wet{background:color-mix(in srgb, var(--you) 13%, transparent);box-shadow:none}.kc-heads.wet .kc-heads-icon{color:#7cc0ff;background:color-mix(in srgb, var(--you) 24%, transparent)}:root[data-theme=light] .kc-heads.wet .kc-heads-icon{color:#0a63c2}button.kc-heads{text-align:left;cursor:pointer}.kc-heads-act{font-size:calc(13px * var(--fs));color:var(--text);background:rgba(var(--veil), .12);border-radius:999px;align-self:flex-start;margin-top:6px;padding:5px 12px;font-weight:700}.kc-heads.bad .kc-heads-act{color:#fff;background:var(--red)}.refresh{width:32px;height:32px;color:var(--text-2);background:rgba(var(--veil), .07);box-shadow:inset 0 0 0 1px var(--hair);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.refresh.busy svg{animation:.8s linear infinite refresh-spin}.refresh.done{color:var(--lime-hi);background:var(--lime-soft);box-shadow:none}@keyframes refresh-spin{to{transform:rotate(360deg)}}.refresh.on-led{color:#c3c9d4;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff14}.refresh.on-led.done{color:#b4e46a;background:#94d13d29}.section-head:has(.refresh){align-items:center}.head-tools{align-items:center;gap:12px;display:inline-flex}@media (prefers-reduced-motion:reduce){.refresh.busy svg{opacity:.5;animation:none}}.night-note{background:color-mix(in srgb, var(--you) 11%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--you) 26%, transparent);font-size:calc(14px * var(--fs));color:var(--text-2);border-radius:16px;align-items:flex-start;gap:12px;padding:13px 14px;line-height:1.4;display:flex}.night-note b{font-size:calc(15px * var(--fs));color:var(--text);font-weight:700}.night-note-icon{color:#8fc4ff;background:color-mix(in srgb, var(--you) 22%, transparent);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}:root[data-theme=light] .night-note-icon{color:#0a63c2}.item.practice-row{flex-direction:column;align-items:flex-start;gap:10px;padding-top:4px}.kc-dot{background:#30d158;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #30d158}.kc-soon .kc-dot{background:var(--led);box-shadow:0 0 8px var(--led);animation:1.1s steps(2,jump-none) infinite kc-blink}.kc-late .kc-dot{background:#ff453a;animation:.8s steps(2,jump-none) infinite kc-blink;box-shadow:0 0 8px #ff453a}.kc-late .kc-count .led{color:#ff6b5e;text-shadow:0 0 6px #ff453a8c}@keyframes kc-blink{50%{opacity:.2}}.kc-note{font-size:calc(14px * var(--fs));color:var(--muted);line-height:1.5}:root[data-theme=light] .kc .tk-go{background:var(--text);color:#fff}.kc-foot{justify-content:space-between;align-items:center;gap:14px;display:flex}.kc-foot .kc-note{flex:1;min-width:0}.bus-board{gap:10px}.bus-board-head{width:100%;font-size:calc(14px * var(--fs));color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:10px;display:flex}button.bus-board-head:disabled{cursor:default}.nb{flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.nb-none{font-size:calc(14px * var(--fs));color:#ffa31a73;text-shadow:none;justify-content:flex-end}.nb-next{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.nb-next .load{align-self:center;margin-right:3px}.nb-big{font-size:calc(27px * var(--fs));letter-spacing:-.01em;line-height:1}.nb-unit{font-size:calc(12px * var(--fs));color:#ffa31abf;text-shadow:none}.nb-next.is-est .nb-big{opacity:.8}.nb-later{flex:none;gap:6px;display:flex}.nb-tile{width:calc(52px * var(--fs));background:#ffa31a12;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;height:44px;padding:0;display:flex;box-shadow:inset 0 0 0 1px #ffb03c6b}.nb-tile-n{font-family:var(--mono);font-size:calc(18px * var(--fs));letter-spacing:-.03em;color:#ffcc7a;font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:650;line-height:1;display:inline-flex}.nb-tile-n svg{color:#ffb347}.nb-tile-u{font-size:calc(9.5px * var(--fs));letter-spacing:.06em;text-transform:uppercase;color:#ffcc7ab3;font-weight:600;line-height:1}.nb-tile.is-est{background:#ffa31a0a;box-shadow:inset 0 0 0 1px #ffb03c47}.nb-tile.is-est .nb-tile-n{color:#f0c27e}.nb-tag{height:17px;font:700 calc(9.5px * var(--fs))/1 var(--font);letter-spacing:.1em;white-space:nowrap;border-radius:5px;align-self:center;align-items:center;gap:4px;padding:0 5px;display:inline-flex}.nb-tag.is-live{color:#7ff0a0;background:#30d15829}.nb-tag.is-live i{background:#30d158;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite nb-pulse;box-shadow:0 0 6px #30d158}.nb-tag.is-est{color:#ffc067;box-shadow:inset 0 0 0 1px #ffb03c80}@keyframes nb-pulse{50%{opacity:.35}}.went-live .nb-big,.nb-tile.went-live .nb-tile-n{animation:went-live 2.4s var(--ease-out)}.nb-tag.went-live{animation:went-live-tag 2.4s var(--ease-out)}@keyframes went-live{0%,30%{color:#9cf5b6;text-shadow:0 0 10px #30d158,0 0 22px #30d15880;opacity:1}}@keyframes went-live-tag{0%,40%{background:#30d1586b;transform:scale(1.08)}}.nb-key{font-size:calc(11.5px * var(--fs));color:var(--faint);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 2px;display:flex}.nb-key>span{align-items:center;gap:5px;display:inline-flex}.led-board .nb-key{color:#6f7888;border-top:1px dashed #ffffff14;padding-top:10px}.section>.nb-key .nb-tag.is-live{color:var(--green-text);background:var(--green-soft)}.section>.nb-key .nb-tag.is-est{color:var(--yellow-text);box-shadow:inset 0 0 0 1px}.bus-find{font-size:calc(15px * var(--fs));justify-content:flex-start}.bus-head{align-items:flex-start;gap:14px;display:flex}.bus-head .round-btn{margin-top:4px}.bus-title{font-size:calc(24px * var(--fs));text-wrap:balance}.bus-ellipsis{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.bus-stop-item{gap:8px;padding-top:0;padding-bottom:0}.bus-stop-open{text-align:left;flex:1;align-items:center;gap:14px;min-width:0;padding:12px 0;display:flex}.bus-no-big{height:28px;font-size:calc(14px * var(--fs));flex:none;padding:0 9px}.bus-star{width:40px;height:40px;color:var(--faint);border-radius:50%;flex:none;place-items:center;display:grid}.bus-star.on{color:var(--led)}.led-board .bus-star{color:#6f7888;background:#ffffff0f;width:34px;height:34px}.led-board .bus-star.on{color:var(--led);background:#ffa31a24}.bus-board-code{font-size:calc(13px * var(--fs));color:#ffa31ab3;text-shadow:none;flex:none}.bus-row{border-top:1px dashed #ffffff14;align-items:center;gap:10px;padding-top:10px;display:flex}.bus-row-no{height:26px;font-size:calc(13px * var(--fs));flex:none;padding:0 8px}.bus-row .arrivals{flex:1;justify-content:flex-end;min-width:0;overflow:hidden}.bus-row .arr{height:26px;font-size:calc(13px * var(--fs));flex:none;gap:5px;padding:0 8px}.arr.off{color:#ffa31a73;text-shadow:none}.bus-row-x{width:28px;height:28px;color:var(--muted);background:#ffffff14;border-radius:50%;flex:none;place-items:center;display:grid}.fav-bus-btn{width:30px;height:30px;color:var(--faint);border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.fav-bus-btn.on{color:#ffc93d}.journey-bar{text-align:left;background:radial-gradient(120% 140% at 0 0,#fff3,#0000 55%),linear-gradient(135deg,#0a84ff 0%,#06305e 100%);border-radius:18px;align-items:center;gap:12px;width:100%;padding:12px 12px 12px 14px;display:flex;box-shadow:0 12px 26px #0a84ff40}.journey-icon{color:#fff;background:#00000038;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid}.fav-list{flex-direction:column;gap:8px;display:flex}.fav-item{--stub:92px;animation:card-in .3s var(--ease-out) both;position:relative}.fav-row{text-align:left;width:100%;height:68px;-webkit-mask:radial-gradient(circle 7px at calc(100% - var(--stub)) 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 7px at calc(100% - var(--stub)) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;-webkit-mask:radial-gradient(circle 7px at calc(100% - var(--stub)) 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 7px at calc(100% - var(--stub)) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;mask:radial-gradient(circle 7px at calc(100% - var(--stub)) 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 7px at calc(100% - var(--stub)) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;background:#141821;border-radius:16px;padding:0;display:flex;overflow:hidden}.fav-main{background:radial-gradient(60% 130% at 0% 0%, #ffffff1f, transparent 65%), linear-gradient(100deg, color-mix(in srgb, var(--tc) 58%, #141821) 0%, color-mix(in srgb, var(--tc) 22%, #141821) 52%, #141821 96%);flex-direction:column;flex:1;justify-content:center;gap:7px;min-width:0;padding:0 14px 0 16px;display:flex;position:relative;overflow:hidden}.fav-main:before{content:"";background:var(--tc);width:4px;position:absolute;top:0;bottom:0;left:0}.fav-route{white-space:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex;position:relative}.fav-route b{text-overflow:ellipsis;min-width:0;font-size:calc(16px * var(--fs));letter-spacing:-.02em;color:#fff;flex:0 auto;font-weight:650;overflow:hidden}.fav-route span{text-overflow:ellipsis;min-width:0;font-size:calc(12.5px * var(--fs));color:#ffffffa8;flex:0 100 auto;overflow:hidden}.fav-meta{align-items:center;gap:8px;min-width:0;display:flex;position:relative}.fav-meta .chips{flex-wrap:nowrap;flex:none}.fav-meta .chip{height:19px;font-size:calc(11px * var(--fs));border-radius:5px;padding:0 5px}.fav-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:calc(12.5px * var(--fs));color:var(--muted);overflow:hidden}.fav-sub b{color:var(--text-2);font-weight:600}.fav-stub{width:var(--stub);background:#09090a radial-gradient(#ffa31a14 .9px,#0000 1.3px) 0 0/4px 4px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;transition:opacity .15s;display:flex;position:relative}.fav-stub:before{content:"";border-left:2px dashed #ffffff26;position:absolute;top:11px;bottom:11px;left:-1px}.fav-stub:after{content:"";pointer-events:none;border-radius:0 16px 16px 0;position:absolute;inset:0;box-shadow:inset 0 1.5px #ffa31a61,inset -1.5px 0 #ffa31a61,inset 0 -1.5px #ffa31a61,inset 0 0 14px #ffa31a12}.fav-stub-label{font-size:calc(9.5px * var(--fs));letter-spacing:.12em;color:#ffa31a9e;white-space:nowrap;font-weight:700}.fav-stub .led{font-size:calc(15px * var(--fs));white-space:nowrap}.fav-item.editing .fav-stub>*{opacity:0}.fav-x{top:50%;right:calc(var(--stub) / 2 - 19px);background:var(--red-soft);width:38px;height:38px;color:var(--red-text);border-radius:50%;place-items:center;margin-top:-19px;display:grid;position:absolute}.fav-new{border:1.5px dashed var(--hair-2);width:100%;height:50px;color:var(--faint);font-size:calc(13.5px * var(--fs));text-align:left;border-radius:16px;align-items:center;gap:12px;padding:0 14px;display:flex}.fav-new-icon{background:var(--surface-2);width:26px;height:26px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.fav-add{border:1.5px dashed var(--hair-2);width:100%;color:var(--faint);text-align:left;border-radius:20px;align-items:center;gap:14px;padding:16px;display:flex}.fav-add .small{flex:1}.treat{box-shadow:inset 0 0 0 1px var(--hair);border-radius:16px}.treat-row{width:100%;height:44px;color:var(--faint);font-size:calc(13px * var(--fs));text-align:left;align-items:center;gap:10px;padding:0 14px;display:flex}.treat-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.treat-chev{transition:transform .2s var(--ease-out)}.treat.open .treat-chev{transform:rotate(180deg)}.treat-panel{animation:treat-in .22s var(--ease-out) both;flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}@keyframes treat-in{0%{opacity:0;transform:translateY(-4px)}}.treat-keys{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.treat-key{text-align:left;background:var(--surface-2);min-width:0;box-shadow:inset 0 0 0 1px var(--hair-2);color:var(--text-2);transition:background-color .18s ease, box-shadow .18s ease, transform .16s var(--ease-out);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;display:flex}.treat-price{font-size:calc(14px * var(--fs));color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-weight:700;display:inline-flex}.treat-price svg{color:var(--faint)}.treat-name{font-size:calc(11px * var(--fs));color:var(--muted);line-height:1.3}.treat-key[aria-checked=true]{background:color-mix(in srgb, var(--lime) 14%, var(--surface-2));box-shadow:inset 0 0 0 1.5px var(--lime)}.treat-key[aria-checked=true] svg{color:var(--lime-hi)}.treat .treat-go{height:44px;font-size:calc(15px * var(--fs));box-shadow:inset 0 1px #ffffff4d}.treat .treat-go:disabled{opacity:.6}.treat-msg{font-size:calc(12.5px * var(--fs));color:var(--text-2);background:rgba(var(--veil), .05);border-radius:10px;margin:0;padding:9px 11px;line-height:1.45}.treat-msg.good{color:var(--lime-hi);background:var(--lime-soft)}.treat-msg.bad{color:var(--red-text);background:var(--red-soft)}.treat-fine{font-size:calc(11.5px * var(--fs));color:var(--faint);text-align:center}.pass-stamp{height:22px;font:700 calc(10.5px * var(--fs))/1 var(--font);letter-spacing:.12em;color:#fff4d6;background:linear-gradient(120deg,#ffd67859,#ffa31a2e);border-radius:6px;align-items:center;gap:5px;padding:0 8px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffd6788c}.led-board{background:#080806 radial-gradient(#ffa31a17 .9px,#0000 1.3px) 0 0/4px 4px;border-radius:14px;flex-direction:column;gap:12px;margin:6px;padding:14px 16px;display:flex;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 2px 14px #000000e6,0 0 0 6px #1a1e27,0 0 0 7px #ffffff12}.svc{background:var(--surface);box-shadow:var(--edge), inset 0 0 0 1px var(--hair);border-radius:20px;flex-direction:column;gap:14px;padding:16px;display:flex}.svc-head{align-items:center;gap:12px;display:flex}.svc-badge{width:38px;height:38px;color:var(--green-text);background:var(--green-soft);border-radius:50%;flex:none;place-items:center;display:grid}.svc.bad .svc-badge{color:var(--red-text);background:var(--red-soft)}.svc.night .svc-badge{color:#8fc4ff;background:color-mix(in srgb, var(--you) 22%, transparent)}:root[data-theme=light] .svc.night .svc-badge{color:#0a63c2}.svc.night .svc-line{opacity:.45}.svc-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.svc-title b{font-size:calc(16px * var(--fs));color:var(--text);font-weight:650;line-height:1.3}.svc.bad .svc-head .svc-title b{color:var(--red-text)}.svc-title small{font-size:calc(12.5px * var(--fs));color:var(--muted)}.svc-lines{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.svc-line{height:calc(26px * var(--fs));background:var(--c);color:#fff;font-size:calc(11.5px * var(--fs));letter-spacing:.02em;border-radius:7px;place-items:center;font-weight:700;display:grid;position:relative}.svc.bad .svc-line:not(.hit){opacity:.28}.svc-line.hit{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--red)}.svc-line i{background:var(--red);color:#fff;width:15px;height:15px;font:800 10px/1 var(--font);box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;top:-7px;right:-6px}.svc-alert{background:var(--red-soft);font-size:calc(14px * var(--fs));color:var(--text-2);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;line-height:1.45;display:flex}.svc-alert b{color:var(--text);font-weight:650}.svc-bus{font-size:calc(13px * var(--fs));color:var(--muted)}.svc-lifts{border-top:1px solid var(--hair);flex-direction:column;gap:12px;padding-top:14px;display:flex}.svc-lifts-btn{text-align:left;align-items:center;gap:12px;width:100%;display:flex}.svc-lift-icon{width:38px;height:38px;color:var(--yellow-text);background:var(--yellow-soft);border-radius:12px;flex:none;place-items:center;display:grid}.svc-lifts-btn .svc-title b{font-size:calc(15px * var(--fs))}.svc-chev{color:var(--muted);transition:transform .2s var(--ease-out);flex:none}.svc-lift-list{flex-direction:column;gap:10px;margin:0;padding:0 0 0 50px;list-style:none;display:flex}.svc-lift-list li{font-size:calc(13px * var(--fs));color:var(--muted);flex-direction:column;gap:1px;display:flex}.svc-lift-list b{font-size:calc(14.5px * var(--fs));color:var(--text);font-weight:600}.tile-sub{font-size:calc(12.5px * var(--fs));color:var(--muted)}.map-wrap{--map-land:#141922;width:100%;max-width:var(--col);z-index:0;background:var(--map-land);height:62dvh;position:fixed;top:0;left:50%;transform:translate(-50%)}:root[data-theme=light] .map-wrap{--map-land:#eef0ed}.map-wrap.short{height:46dvh}.map-wrap .leaflet-container{background:var(--map-land);width:100%;height:100%;font-family:var(--font)}.map-wrap:after{content:"";z-index:401;pointer-events:none;background:linear-gradient(#0a0d128c,#0000);height:120px;position:absolute;inset:0 0 auto}:root[data-theme=light] .map-wrap:after{background:linear-gradient(#f2f4f7b3,#0000)}.map-wrap .leaflet-control-attribution{color:var(--dim);font-size:calc(9px * var(--fs));background:#0b0c0a99;border-radius:6px 0 0;padding:0 6px}.map-wrap .leaflet-control-attribution a{color:var(--faint)}.map-wrap .leaflet-bottom.leaflet-right{bottom:calc(8dvh + 8px)}.map-wrap .basemap{filter:grayscale()invert()brightness(.9)contrast(.92)sepia(.55)hue-rotate(180deg)saturate(1.5)}:root[data-theme=light] .map-wrap .basemap{filter:saturate(.6)brightness(1.03)}.map-wrap path.route-glow{filter:blur(5px)}.map-ctrl{z-index:20;top:calc(env(safe-area-inset-top) + 14px);gap:8px;transition:opacity .15s;display:flex;position:fixed}.map-ctrl.hidden{opacity:0;pointer-events:none}.map-ctrl.scrolls{position:absolute}.glass-btn{width:42px;height:42px;color:var(--text);-webkit-backdrop-filter:blur(20px)saturate(160%);box-shadow:var(--shadow-float), inset 0 0 0 1px var(--hair-2);background:#151713bd;border-radius:50%;place-items:center;display:grid}.glass-btn.on{background:var(--lime);color:var(--accent-ink)}.glass-pill{height:42px;color:var(--text);-webkit-backdrop-filter:blur(20px)saturate(160%);box-shadow:var(--shadow-float), inset 0 0 0 1px var(--hair-2);background:#151713bd;border-radius:999px;align-items:center;gap:8px;max-width:calc(100vw - 90px);padding:0 14px 0 6px;display:inline-flex}.callout{box-shadow:0 4px 14px #00000080, inset 0 0 0 1px var(--hair-2);color:var(--text);font:600 calc(12px * var(--fs))/1 var(--font);white-space:nowrap;background:#151713eb;border-radius:9px;align-items:center;gap:6px;padding:4px 8px 4px 4px;display:inline-flex;position:relative;transform:translate(-50%,calc(-100% - 12px))}.callout .t{font-family:var(--mono);letter-spacing:-.02em;color:var(--text-2);font-weight:500}.callout.dest{background:var(--lime);color:var(--accent-ink);padding:6px 10px}.callout:after{content:"";background:inherit;width:8px;height:8px;margin-left:-4px;position:absolute;bottom:-4px;left:50%;transform:rotate(45deg)}.callout-pop{animation:callout-in .26s var(--ease-out) both}:root[data-theme=light] :is(.glass-btn,.glass-pill){background:#ffffffd1}:root[data-theme=light] .callout:not(.dest){box-shadow:0 4px 14px #10141b2e, inset 0 0 0 1px var(--hair-2);background:#fffffff7}:root[data-theme=light] .sheet{box-shadow:0 -1px 0 var(--hair-2), 0 -18px 40px #10141b1f}@keyframes callout-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 6px))scale(.96)}}.sheet{z-index:10;background:var(--bg);min-height:70dvh;box-shadow:0 -1px 0 var(--hair-2), 0 -18px 40px #00000080;padding:0 20px calc(env(safe-area-inset-bottom) + 116px);transition:transform .5s var(--ease-drawer);border-radius:26px 26px 0 0;flex-direction:column;gap:22px;margin-top:54dvh;display:flex;position:relative;transform:translateY(0)}.sheet.short{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 30px);gap:18px;margin-top:40dvh}@starting-style{.sheet{transform:translateY(48px)}}.grabber{background:var(--surface-4);border-radius:3px;width:36px;height:5px;margin:8px auto 0}.sheet-bar{z-index:5;-webkit-backdrop-filter:blur(20px)saturate(160%);opacity:0;pointer-events:none;background:#0b0c0ad6;align-items:center;gap:10px;height:58px;margin:-22px -20px -58px;padding:10px 14px;transition:opacity .15s;display:flex;position:sticky;top:0}.sheet-bar.stuck{opacity:1;pointer-events:auto;box-shadow:0 1px 0 var(--hair);height:calc(env(safe-area-inset-top) + 58px);padding-top:calc(env(safe-area-inset-top) + 10px)}.round-btn{background:var(--surface-2);width:38px;height:38px;color:var(--text);box-shadow:var(--edge);border-radius:50%;flex:none;place-items:center;display:grid}.round-btn.on{background:var(--lime);color:var(--accent-ink)}.cta{z-index:25;left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);width:min(100% - 40px,400px);position:fixed;transform:translate(-50%)}.cta:before{content:"";z-index:-1;background:linear-gradient(transparent, var(--bg) 55%);pointer-events:none;position:absolute;inset:-40px -20px -20px}.btn{width:100%;height:54px;font-weight:650;font-size:calc(16px * var(--fs));letter-spacing:-.01em;border-radius:999px;justify-content:center;align-items:center;gap:8px;display:flex}.btn-primary{background:var(--lime);color:var(--accent-ink);box-shadow:0 8px 26px #94d13d38,inset 0 1px #ffffff4d}.btn-primary:active{background:#86c032}.btn-secondary{background:var(--surface-3);color:var(--text);box-shadow:var(--edge)}.btn-row{gap:10px;display:flex}.dest-sign{background:#080806 radial-gradient(#ffa31a1a .9px,#0000 1.3px) 0 0/4px 4px;border-radius:16px;align-items:center;gap:14px;margin:7px;padding:18px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 2px 16px #000000e6,0 0 0 6px #1a1e27,0 0 0 7px #ffffff12,0 18px 40px #00000073}.dest-to{font:700 calc(10.5px * var(--fs))/1 var(--font);letter-spacing:.14em;color:#ffa31abf;border-radius:5px;flex:none;padding:5px 6px;box-shadow:inset 0 0 0 1px #ffa31a59}.dest-name{font-size:clamp(15px, calc(min(7.4vw, 31px) * 13 / max(13, var(--n,13))), 31px);white-space:nowrap}button.dest-sign{text-align:left;width:calc(100% - 14px);color:inherit}.led-caret{vertical-align:-.08em;background:var(--led);width:.5em;height:.9em;margin-left:.15em;animation:1.1s step-end infinite kc-tick;display:inline-block;box-shadow:0 0 6px #ffa31a99}.from-row{background:var(--surface);width:100%;min-height:48px;box-shadow:var(--edge);text-align:left;border-radius:14px;align-items:center;gap:10px;padding:0 16px;display:flex}.from-label{font-size:calc(11.5px * var(--fs));letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:600}.from-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-weight:600;overflow:hidden}.trip-pill{gap:4px;padding:0 6px}.pill-part{border-radius:999px;align-items:center;gap:7px;min-width:0;height:34px;padding:0 8px;display:inline-flex}.pill-name{font-size:calc(14px * var(--fs));white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:34vw;overflow:hidden}.code.sm{height:19px;font-size:calc(11px * var(--fs));border-radius:5px;padding:0 5px}.stations{grid-template-columns:1fr 1fr;gap:10px;display:grid}.station-tile{text-align:left;background:linear-gradient(150deg, color-mix(in srgb, var(--c) 34%, var(--surface)) 0%, var(--surface) 68%);min-height:98px;box-shadow:var(--edge), inset 0 0 0 1px color-mix(in srgb, var(--c) 30%, transparent);animation:card-in .3s var(--ease-out) both;border-radius:18px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px;padding:14px;display:flex;position:relative;overflow:hidden}.station-tile>:not(.map-corner){z-index:1;position:relative}.map-corner{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask:radial-gradient(70% 85% at 60% 40%,#000 35%,#0000 100%);mask:radial-gradient(70% 85% at 60% 40%,#000 35%,#0000 100%)}.map-corner .mc-lines{opacity:.5}.map-corner .mc-lines path{fill:none;stroke-width:3.9px;stroke-linecap:round;stroke-linejoin:round}.map-corner .mc-here{opacity:.8}.map-corner .mc-halo{fill:#fff;opacity:.16}.map-corner .mc-ring{fill:var(--surface);opacity:.92}.map-corner .mc-rim{fill:none;stroke:#fff;stroke-width:1.7px}@media (hover:hover) and (pointer:fine){button.station-tile:hover{box-shadow:var(--edge), inset 0 0 0 1.5px var(--c)}}.station-tile.soon{--c:var(--surface-4);box-shadow:inset 0 0 0 1px var(--hair-2);background:0 0}.station-tile.soon .code{background:var(--surface-3);color:var(--faint);box-shadow:none}.station-tile.soon .station-name{color:var(--faint)}.codes{gap:4px;display:flex}.code{color:#fff;height:22px;font-size:calc(12px * var(--fs));letter-spacing:.01em;border-radius:6px;align-items:center;padding:0 7px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #fff3}.station-name{font-size:calc(17px * var(--fs));letter-spacing:-.02em;color:var(--text);font-weight:650}@property --amb{syntax:"<color>";inherits:true;initial-value:#94d13d}.sheet.chooser{transition:transform .5s var(--ease-drawer), --amb .45s ease}.sheet.chooser:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(130% 75% at 50% 0%, color-mix(in srgb, var(--amb) 24%, transparent), transparent 72%);height:460px;position:absolute;top:0;left:0;right:0}.chooser-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tk-tabs{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:-6px;display:grid}.tk-tab{text-align:left;background:var(--surface);min-width:0;box-shadow:var(--edge), inset 0 0 0 1px var(--hair);transition:background-color .2s ease, box-shadow .2s ease, transform .16s var(--ease-out);border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;display:flex}.tk-tab-name{max-width:100%;font-size:calc(12px * var(--fs));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:600;display:flex;overflow:hidden}.tk-tab-name i{background:var(--tc);border-radius:50%;flex:none;width:8px;height:8px}.tk-tab-dur{font-size:calc(15px * var(--fs));letter-spacing:-.02em;color:var(--text-2);white-space:nowrap;font-weight:650}.tk-tab.on{background:color-mix(in srgb, var(--tc) 22%, var(--surface));box-shadow:inset 0 0 0 1.5px var(--tc)}.tk-tab.on .tk-tab-name{color:var(--tc-hi)}.tk-tab.on .tk-tab-dur{color:var(--text)}.deck{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:12px;margin:0 -20px;padding:6px 20px 20px;scroll-padding-inline:20px;display:flex;overflow-x:auto}.deck::-webkit-scrollbar{display:none}.tk-deal{scroll-snap-align:start;scroll-snap-stop:always;opacity:1;transform-origin:0 100%;transition:opacity .3s var(--ease-out), transform .42s var(--ease-out);flex:0 0 88%;display:flex;transform:none}@starting-style{.tk-deal{opacity:0;transform:translate(36px)rotate(2.5deg)}}.deck>.tk-deal:only-child{flex-basis:100%}.tk{cursor:pointer;filter:drop-shadow(0 16px 24px #00000073);transition:transform .3s var(--ease-out), opacity .3s var(--ease-out);flex:1;display:flex}.tk:not(.on){opacity:.6;transform:scale(.95)}.ticket{--perf:72px;min-width:0;-webkit-mask:radial-gradient(circle 10px at 0 calc(100% - var(--perf)), #0000 97%, #000) left / 51% 100% no-repeat, radial-gradient(circle 10px at 100% calc(100% - var(--perf)), #0000 97%, #000) right / 51% 100% no-repeat;-webkit-mask:radial-gradient(circle 10px at 0 calc(100% - var(--perf)), #0000 97%, #000) left / 51% 100% no-repeat, radial-gradient(circle 10px at 100% calc(100% - var(--perf)), #0000 97%, #000) right / 51% 100% no-repeat;mask:radial-gradient(circle 10px at 0 calc(100% - var(--perf)), #0000 97%, #000) left / 51% 100% no-repeat, radial-gradient(circle 10px at 100% calc(100% - var(--perf)), #0000 97%, #000) right / 51% 100% no-repeat;background:#141821;border-radius:22px;flex-direction:column;flex:1;display:flex;overflow:hidden}.tk-top{color:#fff;background:radial-gradient(120% 95% at 0% 0%, #ffffff3d, transparent 55%), linear-gradient(140deg, var(--tc) 0%, var(--tc2) 100%);flex-direction:column;gap:16px;padding:16px 16px 18px;display:flex;position:relative;overflow:hidden}.tk-mark{font-size:calc(132px * var(--fs));letter-spacing:-.07em;color:#ffffff1c;pointer-events:none;white-space:nowrap;font-weight:800;line-height:1;position:absolute;bottom:-36px;right:-6px}.tk-row{align-items:center;gap:8px;display:flex;position:relative}.tk-role{height:26px;font-size:calc(12.5px * var(--fs));white-space:nowrap;background:#0000003d;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-weight:650;display:inline-flex}.tk-best{color:#10131a;height:26px;font-size:calc(12px * var(--fs));white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-weight:650;display:inline-flex}.tk-star{color:#fff;background:#0000003d;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;margin-left:auto;display:grid}.tk-star.on{color:#ffc93d;background:#0006}.tk-dur{font-weight:700;font-size:calc(46px * var(--fs));letter-spacing:-.05em;color:#fff;white-space:nowrap;line-height:.92}.tk-dur small{letter-spacing:-.01em;color:#ffffffc7;margin-left:3px;font-size:.42em;font-weight:600}.tk-arrive{font-size:calc(10.5px * var(--fs));letter-spacing:.1em;text-transform:uppercase;color:#ffffffb8;flex-direction:column;align-items:flex-end;gap:3px;margin-left:auto;font-weight:650;display:flex}.tk-arrive b{font-size:calc(21px * var(--fs));letter-spacing:-.03em;color:#fff;text-transform:none;font-weight:600}.tk-body{background:linear-gradient(180deg, color-mix(in srgb, var(--tc) 13%, #141821), #141821 75%);flex-direction:column;flex:1;gap:12px;padding:16px 16px 20px;display:flex}.tk-via{font-size:calc(13px * var(--fs));color:var(--muted);margin-top:-4px}.perks{flex-wrap:wrap;gap:6px;display:flex}.perk{font-size:calc(12.5px * var(--fs));color:var(--text-2);background:rgba(var(--veil), .06);box-shadow:inset 0 0 0 1px rgba(var(--veil), .06);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-weight:550;line-height:1.25;display:inline-flex}.perk svg{color:var(--tc-hi);flex:none}.perk.trade{color:var(--yellow-text);background:var(--yellow-soft);box-shadow:none}.perk.trade svg{color:var(--yellow)}.tk-stub{height:var(--perf);background:#0e1117;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:0 12px 0 14px;display:flex;position:relative}.tk-stub:before{content:"";border-top:2px dashed #ffffff21;position:absolute;top:-1px;left:16px;right:16px}.tk-go{color:#0d0f14;height:46px;font-weight:700;font-size:calc(15.5px * var(--fs));background:#fff;border-radius:999px;flex:none;align-items:center;gap:10px;padding:0 6px 0 18px;display:inline-flex}.tk-go:active{background:#e6e9ee}.tk-go-arrow{background:var(--tc);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.jd{flex-direction:column;gap:9px;display:flex}.jd-track{clip-path:inset(-30px -10px -10px);transition:clip-path .7s var(--ease-in-out) .22s;align-items:flex-end;padding:0 6px;display:flex;position:relative}@starting-style{.jd-track{clip-path:inset(-30px 100% -10px -10px)}}.jd-part{flex-direction:column;flex:1 1 0;gap:7px;min-width:0;display:flex;position:relative}.jd-part.ride{min-width:56px}.jd-part.walk{min-width:16px}.jd-label{white-space:nowrap;height:20px;font-size:calc(11.5px * var(--fs));color:var(--muted);justify-content:center;align-items:center;gap:4px;font-weight:600;display:flex;overflow:hidden}.jd-part.walk .jd-label{color:var(--walk);opacity:.85;gap:1px}.jd-code{background:var(--c);color:#fff;height:18px;font-size:calc(11px * var(--fs));border-radius:5px;align-items:center;padding:0 5px;font-weight:700;display:inline-flex}.jd-code.bus{color:var(--bus-ink)}.jd-bar{background:var(--c);height:8px;box-shadow:0 0 14px color-mix(in srgb, var(--c) 50%, transparent);border-radius:4px}.jd-part.walk .jd-bar{background:radial-gradient(circle, var(--walk) 1.3px, transparent 1.8px) 50% 50% / 6px 8px repeat-x;box-shadow:none;opacity:.85;margin:0 3px}.jd-node{z-index:1;background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;box-shadow:0 0 0 2.5px #161a23}.jd-part>.jd-node{right:-6px}.jd-node.start{box-shadow:inset 0 0 0 3px var(--you), 0 0 0 2.5px #161a23;background:#141821;left:0}.jd-node.end{background:var(--lime);width:14px;height:14px;bottom:-3px;right:-1px;box-shadow:0 0 0 2.5px #161a23,0 0 10px #94d13d99}.jd-ends{font-size:calc(12px * var(--fs));color:var(--faint);justify-content:space-between;gap:12px;display:flex}.jd-ends span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jd-ends b{font-family:var(--mono);letter-spacing:-.02em;color:var(--text-2);margin-right:4px;font-weight:500}.card-in{animation:card-in .3s var(--ease-out) both}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}}.dur{font-weight:650;font-size:calc(30px * var(--fs));letter-spacing:-.04em;color:var(--text);white-space:nowrap;line-height:1}.dur small{letter-spacing:-.01em;color:var(--muted);margin-left:3px;font-size:.55em;font-weight:550}.note{font-size:calc(13px * var(--fs));border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;line-height:1.38;display:flex}.note.yellow{background:var(--yellow-soft);color:var(--yellow-text)}.note.red{background:var(--red-soft);color:var(--red-text)}.note.accent{background:var(--surface-2);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--hair)}.jl{flex-direction:column;display:flex}.jl-row{grid-template-columns:48px 24px 1fr;column-gap:12px;display:grid}.jl-time{text-align:right;font-family:var(--mono);font-size:calc(13.5px * var(--fs));letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:3px;font-weight:500}.jl-time.soft{color:var(--faint)}.jl-rail{position:relative}.jl-seg{width:5px;margin-left:-2.5px;position:absolute;left:50%}.jl-seg.top{height:12px;top:0}.jl-seg.bottom{top:12px;bottom:0}.jl-seg.full{top:0;bottom:0}.jl-seg.dots{border-left:2px dotted var(--walk);opacity:.75;width:0;margin-left:-1px}.jl-node{z-index:2;border-radius:50%;position:absolute;top:12px;left:50%;transform:translate(-50%,-50%)}.jl-node.station{border:4px solid var(--c);background:#fff;width:17px;height:17px}.jl-node.station.bus{background:var(--bg)}.jl-node.start{background:var(--bg);width:13px;height:13px;box-shadow:inset 0 0 0 3px var(--you)}.jl-node.end{background:var(--lime);width:18px;height:18px;box-shadow:0 0 0 4px var(--bg), 0 0 0 5.5px var(--lime)}.jl-body{flex-direction:column;gap:6px;min-width:0;padding:0 0 20px;display:flex}.jl-head{align-items:center;gap:8px;min-height:24px;display:flex}.jl-name{font-weight:600;font-size:calc(16px * var(--fs));color:var(--text);text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.015em;min-width:0;overflow:hidden}.jl-sub{font-size:calc(13px * var(--fs));color:var(--muted)}.jl-quiet{font-size:calc(13px * var(--fs));color:var(--faint);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.jl-ride .jl-body{padding-bottom:16px}.jl-done{opacity:.38}.arrivals{flex-wrap:nowrap;flex:none;gap:6px;display:flex}.arr{height:28px;font-family:var(--dots);font-size:calc(14px * var(--fs));color:var(--led);text-shadow:var(--led-glow);background:#080806;border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0f}.arr.picked{box-shadow:inset 0 0 0 1.5px var(--led)}.load{width:7px;height:7px;text-shadow:none;border-radius:50%}.backup-btn{height:28px;font-size:calc(12.5px * var(--fs));color:var(--text-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hair);border-radius:9px;flex:none;align-items:center;gap:4px;margin-left:auto;padding:0 10px;font-weight:600;display:inline-flex}.backup-btn[aria-expanded=true]{background:var(--lime);color:var(--accent-ink)}.fold{opacity:0;transition:grid-template-rows .2s var(--ease-out), opacity .2s var(--ease-out);grid-template-rows:0fr;display:grid}.fold.open{opacity:1;grid-template-rows:1fr}.fold>div{overflow:hidden}.here-track{pointer-events:none;position:absolute;inset:0}.here-mover{transition:transform 1s linear;position:absolute;inset:0}.here{z-index:3;background:var(--you);border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:-8px;left:50%;box-shadow:0 0 0 3px #fff,0 2px 8px #00000080}.here:after,.map-here:after{content:"";background:var(--you);animation:pulse 1.8s var(--ease-out) infinite;z-index:-1;border-radius:50%;position:absolute;inset:0}@keyframes pulse{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(3)}}.map-here{background:var(--you);border-radius:50%;width:18px;height:18px;position:relative;box-shadow:0 0 0 3px #fff,0 2px 10px #0009}.live{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--edge), inset 0 0 0 1px #94d13d59;flex-direction:column;gap:10px;padding:18px;display:flex}.live-count{font-family:var(--dots);font-weight:900;font-size:calc(44px * var(--fs));color:var(--led);text-shadow:var(--led-glow);white-space:nowrap;flex:none;line-height:.95}.banner-wrap{z-index:50;top:calc(env(safe-area-inset-top) + 10px);width:min(100% - 24px,416px);position:fixed;left:50%;transform:translate(-50%)}.banner{border-radius:var(--r-lg);-webkit-backdrop-filter:blur(24px)saturate(160%);box-shadow:var(--shadow-float), inset 0 0 0 1px var(--hair-2);color:var(--text-2);background:#1b1e19f0;flex-direction:column;gap:10px;padding:16px;display:flex}.banner .btn{height:44px;font-size:calc(14px * var(--fs))}.backdrop{z-index:60;background:#000000b3;position:fixed;inset:0}.modal-wrap{z-index:61;pointer-events:none;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{pointer-events:auto;background:var(--lime);width:min(100%,360px);color:var(--accent-ink);text-align:center;box-shadow:var(--shadow-float);border-radius:28px;flex-direction:column;align-items:center;gap:10px;padding:30px 22px 22px;display:flex}.modal .btn{background:var(--accent-ink);color:#b4e46a}.pass{aspect-ratio:1.586;color:#fff;background:radial-gradient(120% 95% at 0% 0%, #ffffff42, transparent 55%), linear-gradient(140deg, var(--tc) 0%, var(--tc2) 100%);max-width:100%;box-shadow:0 22px 44px -16px color-mix(in srgb, var(--tc) 65%, transparent), inset 0 1px 0 #ffffff47, inset 0 0 0 1px #ffffff14;border-radius:22px;flex-direction:column;gap:12px;padding:18px 18px 16px;transition:box-shadow .3s;display:flex;position:relative;overflow:hidden}.pass:after{content:"";background:#00000038;height:5px;position:absolute;bottom:0;left:0;right:0}.pass-mark{font-size:calc(190px * var(--fs));bottom:-58px;right:-14px}.pass-top{justify-content:space-between;align-items:center;display:flex;position:relative}.pass-brand{font-size:calc(12px * var(--fs));letter-spacing:.16em;align-items:center;gap:9px;font-weight:750;display:flex}.pass-line{height:24px;font-size:calc(12.5px * var(--fs));background:#0000003d;border-radius:7px;align-items:center;padding:0 9px;font-weight:750;display:inline-flex}.pass-name{cursor:text;align-items:center;gap:8px;margin-top:auto;display:flex;position:relative}.pass-name input{color:#fff;min-width:0;font-size:calc(28px * var(--fs));letter-spacing:-.03em;background:0 0;border:0;outline:none;flex:1;padding:0;font-weight:700}.pass-name input::placeholder{color:#ffffff8c}.pass-name svg{color:#ffffffb3;flex:none}.pass-name:focus-within{box-shadow:0 2px #ffffff80}.pass-school{font-size:calc(13px * var(--fs));color:#ffffffd1;align-items:center;gap:6px;margin-top:-6px;display:flex;position:relative}.pass-foot{justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.pass-since{font-size:calc(10.5px * var(--fs));letter-spacing:.12em;color:#ffffffbf;font-weight:700}.pass-stats{background:#080806 radial-gradient(#ffa31a17 .9px,#0000 1.3px) 0 0/4px 4px;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px;padding:12px 6px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 2px 14px #000000e6,0 0 0 6px #1a1e27,0 0 0 7px #ffffff12}.stat{flex-direction:column;align-items:center;gap:5px;display:flex}.stat-v{font-family:var(--mono);font-weight:600;font-size:calc(24px * var(--fs));letter-spacing:-.02em}.stat-l{font-size:calc(10.5px * var(--fs));letter-spacing:.1em;color:var(--muted);font-weight:650}.swatches{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;background:var(--c);color:#fff;font-size:calc(13px * var(--fs));border-radius:14px;place-items:center;font-weight:750;display:grid;box-shadow:inset 0 1px #ffffff38}.swatch[aria-checked=true]{box-shadow:inset 0 1px 0 #ffffff38, 0 0 0 2.5px var(--bg), 0 0 0 4.5px var(--c)}.week{background:#080806 radial-gradient(#ffa31a17 .9px,#0000 1.3px) 0 0/4px 4px;border-radius:14px;grid-template-columns:repeat(7,1fr);gap:4px;margin:6px;padding:8px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 2px 14px #000000e6,0 0 0 6px #1a1e27,0 0 0 7px #ffffff12}.day{border-radius:10px;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:9px 0 10px;display:flex;position:relative}.day[aria-selected=true]{background:#ffa31a1f;box-shadow:inset 0 0 0 1.5px #ffa31a99}.day-l{font-size:calc(11px * var(--fs));letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-weight:650}.day.today .day-l{color:var(--text)}.day.today:after{content:"";background:var(--led);border-radius:50%;width:4px;height:4px;margin-right:-2px;position:absolute;top:4px;right:50%}.day-t{font-size:calc(10.5px * var(--fs))}.day-t.off{color:#ffa31a4d;text-shadow:none}.day-edit{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--edge);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.mode-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode-tile{text-align:left;background:var(--surface);min-width:0;box-shadow:var(--edge), inset 0 0 0 1px var(--hair);border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;transition:background-color .2s,box-shadow .2s;display:flex}.mode-icon{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);border-radius:10px;place-items:center;transition:background-color .2s,color .2s;display:grid}.mode-tile[aria-checked=true]{background:color-mix(in srgb, var(--c) 18%, var(--surface));box-shadow:inset 0 0 0 1.5px var(--c)}.mode-tile[aria-checked=true] .mode-icon{background:var(--c);color:var(--accent-ink)}.link.danger{color:var(--red-text)}.reset-btn{border-radius:var(--r-lg);width:100%;height:48px;color:var(--red-text);justify-content:center;align-items:center;gap:8px;font-weight:650;display:flex;box-shadow:inset 0 0 0 1px #ff453a59}.reset-confirm{border-radius:var(--r-lg);background:var(--red-soft);color:var(--red-text);flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:inset 0 0 0 1px #ff453a59}.reset-confirm .strong{color:#ffd2cf}.btn-danger{background:var(--red);color:#fff}.about{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--edge);align-items:center;gap:14px;padding:16px;display:flex}.places-tag{font-size:calc(11.5px * var(--fs));color:var(--lime-hi);align-items:center;gap:5px;font-weight:600;display:inline-flex}.places{border-radius:var(--r-lg);background:linear-gradient(160deg, color-mix(in srgb, var(--tc) 22%, var(--surface)) 0%, var(--surface) 62%);box-shadow:var(--edge), inset 0 0 0 1px color-mix(in srgb, var(--tc) 38%, transparent);flex-direction:column;padding:18px 16px 18px 14px;display:flex}.places.needs{box-shadow:var(--edge), inset 0 0 0 1.5px color-mix(in srgb, var(--lime) 70%, transparent), 0 0 28px #94d13d1f}.pl-stop{grid-template-columns:28px minmax(0,1fr);column-gap:14px;display:grid;position:relative}.pl-stop:first-child:after{content:"";background:var(--tc);width:6px;position:absolute;top:14px;bottom:0;left:11px}.pl-stop:last-child:before{content:"";background:var(--tc);width:6px;height:14px;position:absolute;top:0;left:11px}.pl-ride{border-left:6px solid var(--tc);margin-left:11px;padding:14px 0 14px 25px}.places.needs .pl-stop:first-child:after,.places.needs .pl-stop:last-child:before{background:repeating-linear-gradient(180deg, color-mix(in srgb, var(--tc) 60%, transparent) 0 6px, transparent 6px 11px)}.places.needs .pl-ride{border-left-style:dashed;border-left-color:color-mix(in srgb, var(--tc) 60%, transparent)}.pl-node{z-index:1;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:relative}.pl-node.home{background:var(--bg);color:var(--you);box-shadow:inset 0 0 0 3px var(--you), 0 0 0 4px color-mix(in srgb, var(--tc) 22%, var(--surface))}.pl-node.home.empty{color:var(--faint);box-shadow:none;background:var(--bg);outline:2px dashed var(--you);outline-offset:-2px;animation:1.8s ease-in-out infinite pl-wait}@keyframes pl-wait{50%{outline-color:color-mix(in srgb, var(--you) 35%, transparent)}}.pl-node.school{background:var(--lime);color:var(--accent-ink);box-shadow:0 0 0 4px var(--surface), 0 0 16px #94d13d66}.pl-body{flex-direction:column;gap:3px;min-width:0;padding-top:2px;display:flex}.pl-kind{font-size:calc(11.5px * var(--fs));letter-spacing:.1em;text-transform:uppercase;color:var(--tc-hi);font-weight:700}.pl-name{font-size:calc(17px * var(--fs));letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;font-weight:650}.pl-missing{color:var(--text-2)}.pl-why{font-size:calc(13px * var(--fs));color:var(--muted);line-height:1.45}.pl-actions{gap:16px;margin-top:2px;display:flex}.pl-set{background:var(--lime);height:44px;color:var(--accent-ink);font-weight:700;font-size:calc(15px * var(--fs));border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:0 18px;display:inline-flex;box-shadow:0 6px 18px #94d13d47}.pl-body>.stack{margin-top:10px}.pl-gates{background:rgba(var(--veil), .05);min-height:42px;box-shadow:inset 0 0 0 1px var(--hair);color:var(--text-2);font-size:calc(13.5px * var(--fs));text-align:left;border-radius:12px;align-items:center;gap:9px;margin-top:10px;padding:0 12px;font-weight:550;display:flex}.pl-gates span{flex:1;min-width:0}.pl-gates svg:first-child{color:var(--led);flex:none}.pl-gates svg:last-child{color:var(--faint);flex:none}.pl-usual{font-size:calc(13px * var(--fs));color:var(--muted)}.daily-pick{flex-direction:column;gap:12px;margin-top:10px;display:flex}.daily-ideas{flex-wrap:wrap;gap:6px;display:flex}.daily-idea{background:rgba(var(--veil), .06);height:34px;box-shadow:inset 0 0 0 1px var(--hair-2);color:var(--text-2);font-size:calc(13px * var(--fs));border-radius:999px;padding:0 12px;font-weight:600}.daily-idea.on{background:var(--lime-soft);box-shadow:inset 0 0 0 1.5px var(--lime);color:var(--lime-hi)}.pl-usual b{font-size:calc(15px * var(--fs));color:var(--text);font-weight:650}.toggle{background:var(--surface-4);border-radius:999px;flex:none;width:46px;height:28px;transition:background-color .2s;position:relative}.toggle:after{content:"";width:22px;height:22px;transition:transform .2s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000004d}.toggle[aria-checked=true]{background:var(--lime)}.toggle[aria-checked=true]:after{transform:translate(18px)}.time-input{background:var(--surface-3);font-family:var(--mono);color:var(--text);border:0;border-radius:9px;padding:7px 10px;font-weight:500}.pin{width:34px;height:34px;color:var(--led);box-shadow:0 0 0 2px var(--led), 0 6px 16px #0000008c;transition:transform .16s var(--ease-out);background:#11141b;border-radius:11px;place-items:center;display:grid}.pin.main{background:var(--lime);color:var(--accent-ink);box-shadow:0 0 0 2px #0b0d12,0 6px 16px #0000008c}.pin.spot{color:#10131a;background:#fff;border-radius:50%;box-shadow:0 0 0 2px #0b0d12,0 6px 16px #0000008c}.pin.gate.off{color:var(--faint);box-shadow:0 0 0 2px var(--dim), 0 6px 16px #0000008c}.pin.gate.sel{transform:scale(1.12)}.pin.draft{cursor:grab;animation:1.4s ease-in-out infinite pin-pulse}@keyframes pin-pulse{50%{box-shadow:0 0 0 7px #ffa31a38, 0 0 0 2px var(--led), 0 6px 16px #0000008c}}.pin.spot.draft{animation-name:spot-pulse}@keyframes spot-pulse{50%{box-shadow:0 0 0 7px #fff3,0 0 0 2px #0b0d12,0 6px 16px #0000008c}}.pin-label{white-space:nowrap;color:var(--text);font:600 calc(11.5px * var(--fs))/1.25 var(--font);box-shadow:0 4px 12px #00000073, inset 0 0 0 1px var(--hair-2);pointer-events:none;background:#11141beb;border-radius:7px;padding:3px 8px;position:absolute;top:40px;left:50%;transform:translate(-50%)}.map-wrap .leaflet-container.picking{cursor:crosshair}.callout.gate{color:#ffd9a0;padding:5px 9px 5px 7px}.callout.gate svg{color:var(--led)}.pick-hint{z-index:1100;left:50%;top:calc(env(safe-area-inset-top) + 68px);color:var(--text);font-size:calc(14px * var(--fs));white-space:nowrap;box-shadow:var(--shadow-float), inset 0 0 0 1px #ffa31a73;background:#11141bf0;border-radius:999px;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.pick-hint svg{color:var(--led)}.pick-hint .link{padding:4px 8px}.icon-tile.gate-tile{color:var(--led);background:#ffa31a24}.icon-tile.spot-tile{color:#fff;background:#ffffff1a}.icon-tile.main-tile{background:var(--lime-soft);color:var(--lime-hi)}.gate-row{padding-top:0;padding-bottom:0}.gate-row-main{text-align:left;flex:1;align-items:center;gap:14px;min-width:0;padding:14px 0;display:flex}.gate-row.off .strong{color:var(--muted)}.gate-row.off .gate-tile{background:var(--surface-3);color:var(--faint)}.add-gate{border-radius:var(--r-lg);width:100%;height:52px;color:var(--led);font-weight:650;font-size:calc(15px * var(--fs));background:#ffa31a0d;border:1.5px dashed #ffa31a80;justify-content:center;align-items:center;gap:8px;display:flex}.gate-form{box-shadow:var(--edge), inset 0 0 0 1px #ffa31a59;flex-direction:column;gap:14px;scroll-margin-bottom:24px;display:flex}.text-input{background:var(--surface-2);height:46px;color:var(--text);font-size:calc(16px * var(--fs));box-shadow:inset 0 0 0 1px var(--hair-2);border:0;border-radius:12px;outline:none;padding:0 14px}.text-input:focus{box-shadow:inset 0 0 0 1.5px var(--led)}.text-input::placeholder{color:var(--faint)}.hours{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.perk.gate{color:#ffd9a0;background:#ffa31a1f;box-shadow:inset 0 0 0 1px #ffa31a52}.perk.gate svg{color:var(--led)}.gate-chip{height:22px;font-size:calc(11.5px * var(--fs));color:#ffd9a0;white-space:nowrap;background:#ffa31a24;border-radius:6px;flex:none;align-items:center;gap:4px;padding:0 8px;font-weight:650;display:inline-flex}.jl-node.gate{width:16px;height:16px;box-shadow:0 0 0 2.5px var(--led), 0 0 0 5px var(--bg);background:#11141b;border-radius:5px}.gate-hint{border-radius:var(--r-lg);text-align:left;background:var(--surface);width:100%;box-shadow:var(--edge), inset 0 0 0 1px #ffa31a38;align-items:center;gap:14px;padding:14px 16px;display:flex}.bus-map{height:230px;box-shadow:var(--edge), inset 0 0 0 1px var(--hair);background:#141922;border-radius:18px;position:relative;overflow:hidden}:root[data-theme=light] .bus-map{background:#eef0ed}.bus-map .leaflet-container{font-family:var(--font);background:0 0}.bus-map .leaflet-control-attribution{color:var(--dim);font-size:calc(9px * var(--fs));background:#0b0c0a99;padding:0 6px}.bus-line{margin:0;padding:0;list-style:none}.bl-stop{position:relative}.bl-stop:before{content:"";background:var(--bus);width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;left:17px}.bl-stop:first-child:before{top:26px}.bl-stop:last-child:before{height:26px;bottom:auto}.bl-open{text-align:left;align-items:center;gap:14px;width:100%;min-height:52px;padding:7px 4px 7px 0;display:flex;position:relative}.bl-node{z-index:1;width:12px;height:12px;box-shadow:0 0 0 3px var(--bg);background:#fff;border-radius:50%;flex:none;margin-left:11px;position:relative}.bl-node.end{background:var(--bus);width:16px;height:16px;box-shadow:0 0 0 3px var(--bg), inset 0 0 0 3px #fff;margin-left:9px}:root[data-theme=light] .bus-line{--bus:#7a8595}:root[data-theme=light] .bl-stop:not(.on) .bl-node:not(.end){box-shadow:0 0 0 3px var(--bg), inset 0 0 0 3px var(--bus)}.bl-stop.on .bl-node{background:var(--lime);box-shadow:0 0 0 3px var(--bg), 0 0 0 6px color-mix(in srgb, var(--lime) 35%, transparent)}.bl-name{color:var(--text);font-weight:600;font-size:calc(15px * var(--fs))}.bl-stop.on .bl-name{color:var(--lime-hi)}.bl-fav{color:var(--led);flex:none}.bl-panel{gap:10px;margin:0 0 10px 36px}.bl-times{border-top:0;padding-top:0}.bl-actions{gap:8px;display:flex}.bl-act{height:36px;font-size:calc(13px * var(--fs));color:#d3d8e2;background:#ffffff12;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:650;display:inline-flex}.bl-act.on{color:var(--led);background:#ffa31a24}button.bus-row-no{cursor:pointer}button.bus-row-no:disabled{cursor:default}.exit-chip{color:#14120a;height:20px;font-size:calc(11.5px * var(--fs));letter-spacing:.01em;background:#f7c600;border-radius:5px;flex:none;align-items:center;padding:0 7px;font-weight:750;display:inline-flex}.crowd-tag{vertical-align:1px;font-size:calc(11.5px * var(--fs));color:var(--yellow-text);background:var(--yellow-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:1px 7px;font-weight:600;display:inline-flex}.jl-body>.crowd-tag{align-self:flex-start;margin:4px 0 0}.rt-row{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -20px;padding:2px 20px 6px;display:flex;overflow-x:auto}.rt-row::-webkit-scrollbar{display:none}.rt-card{text-align:left;scroll-snap-align:start;background:linear-gradient(105deg, color-mix(in srgb, var(--c) 14%, var(--surface)), var(--surface) 70%);box-shadow:var(--edge), inset 0 0 0 1px var(--hair);animation:card-in .3s var(--ease-out) both;border-radius:18px;flex-direction:column;flex:0 0 68%;gap:10px;padding:14px 14px 13px 17px;scroll-margin-left:20px;display:flex;position:relative;overflow:hidden}.rt-card:before{content:"";background:var(--c);width:4px;position:absolute;top:0;bottom:0;left:0}.rt-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.rt-dur{font-size:calc(12.5px * var(--fs));color:var(--muted);flex:none;font-weight:600}.rt-to{font-size:calc(19px * var(--fs));letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.rt-strip{align-items:center;height:16px;display:flex}.rt-seg{flex:1;height:5px;position:relative}.rt-node+.rt-seg{border-radius:3px 0 0 3px}.rt-seg:has(+.rt-node){border-radius:0 3px 3px 0}.rt-node{z-index:1;box-sizing:border-box;border-radius:50%;flex:none;width:14px;height:14px;position:relative}.rt-node.start{background:var(--surface);border:3px solid var(--you);margin-right:-2px}.rt-node.end{background:var(--surface);border:3px solid var(--lime);margin-left:-2px}.rt-node.end:after{content:"";background:var(--lime);border-radius:50%;position:absolute;inset:2px}.rt-change{z-index:1;width:12px;height:12px;box-shadow:0 0 0 2px var(--surface);background:#fff;border-radius:50%;margin-top:-6px;position:absolute;top:50%;left:-6px}.rt-from{font-size:calc(12.5px * var(--fs));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (hover:hover) and (pointer:fine){.rt-card:hover{box-shadow:var(--edge), inset 0 0 0 1.5px var(--c)}}.splash{z-index:5000;background:radial-gradient(70% 45% at 50% 40%, #94d13d21, transparent 70%), var(--bg);transition:opacity var(--fade) ease, transform var(--fade) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;inset:0}.splash.leaving{opacity:0;pointer-events:none;transform:scale(1.03)}.splash-mark{filter:drop-shadow(0 12px 30px #94d13d47);animation:splash-pop .65s var(--ease-out) both}.splash-name{font-size:calc(28px * var(--fs));letter-spacing:-.035em;color:var(--text);animation:splash-rise .6s .1s var(--ease-out) both;margin-top:14px;font-weight:700}.splash-sub{font-size:calc(14px * var(--fs));color:var(--muted);animation:splash-rise .6s .2s var(--ease-out) both}.splash-line{width:196px;height:14px;animation:splash-rise .5s .15s var(--ease-out) both;justify-content:space-between;align-items:center;margin-top:34px;display:flex;position:relative}.splash-line:before{content:"";background:var(--surface-3);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:0;right:0}.splash-run{transform-origin:0;background:linear-gradient(90deg, var(--line-ns), var(--line-ew), var(--line-ne), var(--line-cc), var(--line-dt), var(--line-te));height:4px;animation:splash-run var(--run-for) var(--run-from) linear both;border-radius:2px;margin-top:-2px;position:absolute;top:50%;left:0;right:0}.splash-stop{z-index:1;background:var(--bg);width:12px;height:12px;box-shadow:inset 0 0 0 2.5px var(--surface-4);animation:splash-stop .28s var(--ease-out) both;border-radius:50%;position:relative}@keyframes splash-pop{0%{opacity:0;transform:scale(.82)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes splash-run{0%{transform:scaleX(0)}}@keyframes splash-stop{0%{background:var(--bg);box-shadow:inset 0 0 0 2.5px var(--surface-4)}to{box-shadow:inset 0 0 0 3px var(--c), 0 0 10px color-mix(in srgb, var(--c) 60%, transparent);background:#fff;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.splash,.splash *{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}.page-enter,.sheet,.sheet.chooser,.tk-deal{transition:opacity .18s}@starting-style{.page-enter,.sheet,.tk-deal{transform:none}}.card-in,.callout-pop,.station-tile{animation:.2s both fade-only}.train-car.arrive,.train-car.arrive .wheel,.train-car.arrive .beam,.door[aria-selected=true] .door-light,.fav-item,.treat-panel{animation:none}@keyframes fade-only{0%{opacity:0}}.strip-track,.seg-row.active,.seg-thumb,.fold,.leaf,.spill,.door-in,.jd-track,.tk{transition:none}.tk:not(.on){transform:none}.here:after,.map-here:after{animation:none}.here-mover{transition:none!important}.kc-soon .kc-dot,.kc-late .kc-dot,.kc-colon,.pl-node.home.empty,.led-caret{animation:none}}
