@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-sans-latin-400-normal-gapTbOY8.woff2) format("woff2"),url(./geist-sans-latin-400-normal-BOaIZNA2.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-sans-latin-500-normal-uokXdC-Q.woff2) format("woff2"),url(./geist-sans-latin-500-normal-CN2lyvyL.woff) format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./geist-sans-latin-600-normal-DFOURf8L.woff2) format("woff2"),url(./geist-sans-latin-600-normal-CA1yjETN.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-latin-400-normal-DTRLJnHl.woff2) format("woff2"),url(./geist-mono-latin-400-normal-B2yvC1Cq.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-latin-500-normal-YINYabwD.woff2) format("woff2"),url(./geist-mono-latin-500-normal-D-GG86Jb.woff) format("woff")}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(./silkscreen-latin-400-normal-CtPo2yA5.woff2) format("woff2"),url(./silkscreen-latin-400-normal-D0DfPJut.woff) format("woff")}@font-face{font-family:Bahn Pixel;font-style:normal;font-weight:400 700;font-display:swap;size-adjust:118%;src:url(./jersey-10-latin-400-normal-DrL73VYW.woff2) format("woff2")}:root{--ink-0: #070a14;--ink-1: #0c1121;--ink-2: #131a30;--ink-3: #1c2541;--line: rgba(150, 172, 255, .13);--line-hi: rgba(150, 172, 255, .28);--text: #e9eefc;--muted: #8b95b8;--dim: #5d6789;--accent: #8ab4ff;--lamp: #ffc56b;--ok: #3ee08f;--warn: #ffd447;--late: #ff9a3c;--bad: #ff4f6e;--nodata: #6b7597;--glass: rgba(10, 14, 28, .78);--f-display: "Bahn Pixel", "Silkscreen", ui-monospace, monospace;--f-micro: "Silkscreen", ui-monospace, monospace;--f-body: "Geist Sans", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--sheet-peek: 236px;--gutter: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:dark}*{box-sizing:border-box}html,body{font-synthesis:none;margin:0;height:100%;overflow:hidden;background:var(--ink-0);color:var(--text);font-family:var(--f-body);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eyebrow{font-family:var(--f-micro);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fine{color:var(--muted);font-size:13px;margin:8px 0 0}.app{position:fixed;inset:0}.stage{position:absolute;inset:0;overflow:hidden;background:var(--ink-0)}#map,#glow{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#map{cursor:grab;touch-action:none}#map.is-dragging{cursor:grabbing}#glow{pointer-events:none;filter:blur(5px) saturate(1.4);mix-blend-mode:screen;opacity:.9}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(3,5,12,.55) 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}.tooltip{position:absolute;pointer-events:none;background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--line-hi);border-radius:8px;padding:6px 10px;font-size:13px;white-space:nowrap;transform:translate(12px,-50%);z-index:3}.hud{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);left:var(--gutter);right:var(--gutter-r);display:flex;justify-content:space-between;align-items:center;gap:8px;z-index:4;pointer-events:none}.hud>*{pointer-events:auto}.clock-chip{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff0f}.live-dot{width:8px;height:8px;background:var(--bad);box-shadow:0 0 #ff4f6eb3;animation:pulse 1.6s infinite}.clock-chip.is-replay .live-dot{background:var(--accent);animation:none}.clock{font-family:var(--f-display);font-weight:700;font-size:24px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.02em}.clock-mode{font-family:var(--f-micro);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--bad)}.clock-chip.is-replay .clock-mode{color:var(--accent)}@keyframes pulse{0%{box-shadow:0 0 #ff4f6e99}70%{box-shadow:0 0 0 8px #ff4f6e00}to{box-shadow:0 0 #ff4f6e00}}.seg{display:flex;padding:3px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px}.seg-btn{padding:7px 12px;border-radius:999px;font-size:13px;font-weight:500;color:var(--muted)}.seg-btn.is-active{background:var(--text);color:var(--ink-0)}.map-tools{position:absolute;right:var(--gutter-r);top:calc(env(safe-area-inset-top,0px) + 72px);display:flex;flex-direction:column;gap:6px;z-index:4}.tool-btn{width:38px;height:38px;display:grid;place-items:center;font-size:18px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:12px}.tool-btn:hover{border-color:var(--line-hi)}.sheet{position:absolute;left:0;right:0;bottom:0;height:calc(100% - env(safe-area-inset-top,0px) - 64px);display:flex;flex-direction:column;background:linear-gradient(180deg,#0e1326f0,#090c18fa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line-hi);border-radius:22px 22px 0 0;box-shadow:0 -18px 50px #00000080;z-index:5;transform:translateY(calc(100% - var(--sheet-peek) - env(safe-area-inset-bottom,0px)));transition:transform .38s cubic-bezier(.2,.9,.25,1);will-change:transform}.sheet[data-snap=half]{transform:translateY(45%)}.sheet[data-snap=full]{transform:translateY(0)}.sheet.is-dragging{transition:none}.sheet-grab{display:grid;place-items:center;height:22px;touch-action:none;cursor:grab;flex-shrink:0}.grab-bar{width:40px;height:4px;border-radius:4px;background:var(--line-hi)}.status{padding:0 var(--gutter-r) 0 var(--gutter);display:grid;gap:12px;touch-action:none;flex-shrink:0}.status-main{display:flex;align-items:center;gap:14px}.gauge{--c: var(--ok);width:64px;height:64px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,var(--ink-1) 74%,transparent 75% 100%),conic-gradient(var(--c) calc(var(--p) * 1%),var(--ink-3) 0);box-shadow:0 0 24px color-mix(in srgb,var(--c) 35%,transparent)}.gauge-value{font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}.gauge-value small{font-size:11px;color:var(--muted)}.status-text{display:grid;gap:2px;min-width:0}.status-line{font-size:15px;font-weight:500;text-wrap:balance}.source-chip{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-chip b{font-weight:500;color:var(--ok)}.source-chip.is-sim b{color:var(--warn)}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.stats>div{padding:8px 10px;border-left:1px solid var(--line)}.stats>div:first-child{border-left:0}.stats dt{font-family:var(--f-micro);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.stats dd{margin:2px 0 0;font-family:var(--f-display);font-weight:700;font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}.timeline{display:flex;align-items:center;gap:10px;padding:12px var(--gutter-r) 10px var(--gutter);flex-shrink:0}.round-btn{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--text);color:var(--ink-0);font-size:12px;display:grid;place-items:center}.strip-wrap{position:relative;flex:1;min-width:0}#strip{display:block;width:100%;height:34px;image-rendering:pixelated;cursor:ew-resize;touch-action:none}.strip-hours{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10px;color:var(--dim);padding:2px 2px 0}.speed-btn{min-width:52px;height:32px;padding:0 10px;border-radius:10px;border:1px solid var(--line-hi);font-family:var(--f-display);font-weight:700;font-size:14px}.sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--gutter-r) calc(24px + env(safe-area-inset-bottom,0px)) var(--gutter);min-height:0}.tabs{position:sticky;top:0;z-index:2;display:flex;gap:4px;padding:6px 0 10px;background:linear-gradient(180deg,#0c1020 70%,#0c102000)}.tab{flex:1;padding:9px 0;border-radius:10px;font-size:13px;font-weight:500;color:var(--muted);border:1px solid transparent}.tab.is-active{color:var(--text);background:var(--ink-3);border-color:var(--line)}.block{margin-bottom:18px}.block-title{margin:4px 0 8px;font-family:var(--f-micro);font-weight:400;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}.row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;background:var(--ink-2);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s,transform .15s}.row:hover{border-color:var(--line-hi)}.row:active{transform:scale(.99)}.row-main{min-width:0;display:grid}.row-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.is-empty{grid-template-columns:1fr;color:var(--muted);cursor:default}.delay{font-family:var(--f-display);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;color:var(--c, var(--ok));text-shadow:0 0 14px color-mix(in srgb,var(--c, var(--ok)) 45%,transparent)}.line-badge{display:inline-grid;place-items:center;min-width:58px;padding:5px 7px;border-radius:8px;background:var(--ink-3);border:1px solid var(--line-hi);font-family:var(--f-body);font-weight:600;font-size:13px;letter-spacing:.01em;line-height:1;white-space:nowrap}.line-badge[data-cat=ICE]{background:#e9eefc;color:#0c1121;border-color:#e9eefc}.line-badge[data-cat=IC],.line-badge[data-cat=EC],.line-badge[data-cat=ECE]{background:#2b3963;border-color:#3f5290}.line-badge[data-cat=RE],.line-badge[data-cat=IRE],.line-badge[data-cat=RB],.line-badge[data-cat=MEX]{background:#3a2433;border-color:#6b3b58}.line-badge[data-cat=S]{background:#1d3a2b;border-color:#2f6b49;border-radius:999px}.line-badge[data-cat=EN],.line-badge[data-cat=NJ]{background:#2c2350;border-color:#4a3d86}.pin{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:12px;color:var(--ink-0);background:var(--c, var(--late));box-shadow:0 0 16px color-mix(in srgb,var(--c, var(--late)) 45%,transparent)}.search input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line-hi);background:var(--ink-2);font-size:16px;margin-bottom:12px}.search input::placeholder{color:var(--dim)}.report-teaser{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:16px;border-radius:18px;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--c, var(--accent)) 22%,transparent),transparent 60%),var(--ink-2);border:1px solid var(--line);margin-bottom:12px}.teaser-grade{font-family:var(--f-display);font-weight:700;font-size:54px;line-height:1;color:var(--c, var(--accent));text-shadow:0 0 24px color-mix(in srgb,var(--c, var(--accent)) 60%,transparent)}.cta{width:100%;padding:15px 18px;border-radius:16px;background:var(--lamp);color:#1d1300;font-weight:600;font-size:16px;box-shadow:0 10px 30px #ffc56b40}.cta:hover{filter:brightness(1.05)}.back-btn{color:var(--accent);font-size:14px;padding:6px 0 12px}.detail-head{display:grid;gap:10px;margin-bottom:14px}.detail-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-route{font-size:18px;font-weight:600;text-wrap:balance}.detail-meta{font-size:13px;color:var(--muted)}.big-delay{font-family:var(--f-display);font-weight:700;font-size:44px;line-height:1;color:var(--c, var(--ok));text-shadow:0 0 30px color-mix(in srgb,var(--c, var(--ok)) 50%,transparent)}.big-delay small{font-family:var(--f-body);font-size:15px;font-weight:500;color:var(--muted);text-shadow:none;margin-left:6px}.profile{margin:4px 0 14px;padding:12px;border-radius:14px;background:var(--ink-2);border:1px solid var(--line)}.profile svg{display:block;width:100%;height:84px}.buildup{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px}.buildup li{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:14px}.buildup .delta{font-family:var(--f-mono);font-weight:500;text-align:right;color:var(--late)}.buildup .delta.is-gain{color:var(--ok)}.stops{list-style:none;margin:0;padding:0;position:relative}.stops li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;min-height:34px;position:relative}.stops li:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--ink-3)}.stops li:first-child:before{top:50%}.stops li:last-child:before{bottom:50%}.stops li.is-past:before{background:var(--accent)}.stops .node{width:10px;height:10px;justify-self:center;background:var(--ink-0);border:2px solid var(--ink-3);position:relative}.stops .is-past .node{background:var(--accent);border-color:var(--accent)}.stops .is-now .node{background:var(--lamp);border-color:var(--lamp);box-shadow:0 0 0 4px #ffc56b33,0 0 14px var(--lamp)}.stops .name{font-size:14px}.stops .is-past .name{color:var(--muted)}.stops .times{font-family:var(--f-mono);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.stops .times s{color:var(--dim);margin-right:6px}.board-pick{display:grid;gap:6px;margin-bottom:10px}.board-pick .search input{margin-bottom:0}.board-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.seg--solid{background:var(--ink-2);backdrop-filter:none;-webkit-backdrop-filter:none}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chips:empty{display:none}.chip{padding:6px 11px;font-size:13px;color:var(--muted);background:var(--ink-2);white-space:nowrap}.chip .meta{color:var(--dim);margin-left:4px}.chip.is-active{color:var(--ink-0);background:var(--lamp);border-color:var(--lamp)}.chip.is-active .meta{color:color-mix(in srgb,var(--ink-0) 60%,var(--lamp))}.board{background:#050505;border-radius:14px;border:1px solid #222;padding:12px 12px 4px;box-shadow:inset 0 0 30px #ffaa280f}.board-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.board-title{font-family:var(--f-display);font-weight:700;font-size:20px;color:var(--lamp);text-shadow:0 0 10px rgba(255,197,107,.6);margin:0 0 6px;min-width:0;overflow-wrap:anywhere}.board-clock{font-family:var(--f-display);font-size:16px;color:#ffcf7d;text-shadow:0 0 8px rgba(255,190,80,.45);font-variant-numeric:tabular-nums}.board-summary{margin:0 0 8px;font-size:12px;color:#b9a37f}.board-empty{margin:8px 0 12px;font-family:var(--f-display);color:#b9a37f}.deps{list-style:none;margin:0;padding:0}.dep{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 0;border-top:1px dashed #2a2216;cursor:pointer}.dep:active{background:#0d0b07}.dep-time{display:grid;font-family:var(--f-display);font-size:15px;line-height:1.2;color:#ffcf7d;text-shadow:0 0 8px rgba(255,190,80,.45);font-variant-numeric:tabular-nums}.dep-time b{font-weight:500}.dep-main{display:grid;gap:4px;min-width:0}.dep-head{display:flex;align-items:center;gap:8px;min-width:0}.dep-head .line-badge{min-width:0;padding:3px 6px;font-size:12px}.dep-dest{font-family:var(--f-display);font-weight:500;font-size:15px;color:#ffcf7d;text-shadow:0 0 8px rgba(255,190,80,.4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dep-dest small{font-size:11px;color:#b9a37f}.dep-via{font-size:12px;color:#a08c6a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-status{display:grid;justify-items:end;line-height:1.15;color:var(--c);text-align:right}.dep-status b{font-family:var(--f-display);font-weight:700;font-size:15px;text-shadow:0 0 8px color-mix(in srgb,var(--c) 55%,transparent)}.dep-status small{font-family:var(--f-micro);font-size:8px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}.dep.is-canceled .dep-time b,.dep.is-canceled .dep-dest{text-decoration:line-through;opacity:.6}.board-legend{margin-top:10px}.credits{margin:20px 0 0;font-size:11px;color:var(--dim)}.report{position:fixed;inset:0;z-index:20;background:radial-gradient(90% 60% at 50% 0%,color-mix(in srgb,var(--c, var(--accent)) 18%,transparent),transparent 70%),#05070ff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fade-in .25s ease-out}@keyframes fade-in{0%{opacity:0}}.report-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:calc(env(safe-area-inset-top,0px) + 12px) var(--gutter-r) calc(40px + env(safe-area-inset-bottom,0px)) var(--gutter)}.report-head{position:sticky;top:calc(-12px - env(safe-area-inset-top,0px));z-index:2;background:#060811f7;box-shadow:0 12px 16px -12px #060811f7;display:grid;grid-template-columns:1fr auto;align-items:center;max-width:760px;margin:0 auto;padding:10px 12px 12px 16px;border-radius:0 0 16px 16px;column-gap:12px}.report-head .eyebrow{grid-column:1}.report-head h2{grid-column:1;margin:0;font-family:var(--f-display);font-weight:700;font-size:22px}.report-head .report-actions{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;gap:8px}.report a{color:var(--accent)}a.ghost-btn{text-decoration:none;color:var(--text);display:inline-block}.report-body{max-width:760px;margin:0 auto;display:grid;gap:18px}.hero-grade{display:grid;justify-items:center;text-align:center;gap:8px;padding:18px 0 6px}.hero-letter{font-family:var(--f-display);font-weight:700;font-size:120px;line-height:.9;color:var(--c);text-shadow:0 0 40px color-mix(in srgb,var(--c) 70%,transparent),0 0 90px color-mix(in srgb,var(--c) 35%,transparent);animation:grade-in .7s cubic-bezier(.2,1.4,.4,1) both}@keyframes grade-in{0%{transform:scale(.4);opacity:0}}.hero-text{font-size:18px;font-weight:500;max-width:32ch;text-wrap:balance}.card{padding:16px;border-radius:18px;background:var(--ink-2);border:1px solid var(--line);min-width:0}.card h3{margin:0 0 12px;font-family:var(--f-micro);font-weight:400;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:12px;border-radius:14px;background:var(--ink-1);border:1px solid var(--line);display:grid;gap:4px}.metric-value{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.metric-after{font-size:13px;color:var(--muted)}.metric-after b{font-weight:500;color:var(--ok)}.objective{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.objective .seg{backdrop-filter:none;background:var(--ink-1)}.suggestions{display:grid;gap:10px}.suggestion{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:14px;border-radius:16px;background:var(--ink-1);border:1px solid var(--line)}.suggestion.is-applied{border-color:color-mix(in srgb,var(--ok) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 20%,transparent)}.suggestion .rank{font-family:var(--f-display);font-weight:700;font-size:22px;color:var(--lamp)}.suggestion .what{font-weight:500}.suggestion .why{color:var(--muted);font-size:14px;margin-top:4px}.suggestion-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px}.gain{font-family:var(--f-mono);font-size:13px;color:var(--ok)}.gain span{color:var(--muted);margin-left:8px}.ghost-btn{padding:8px 12px;border-radius:10px;border:1px solid var(--line-hi);font-size:13px;font-weight:500}.ghost-btn:hover{background:var(--ink-3)}.tag{display:inline-block;font-family:var(--f-micro);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;border-radius:6px;margin-right:6px;vertical-align:2px;color:var(--ink-0);background:var(--accent)}.tag--release{background:var(--late)}.tag--yield{background:var(--warn)}.bars{display:grid;gap:8px}.bar{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:4px 10px;font-size:14px;align-items:center}.bar-track{grid-column:1 / -1;height:10px;border-radius:3px;background:var(--ink-1);overflow:hidden}.bar-fill{height:100%;background:repeating-linear-gradient(90deg,var(--c) 0 6px,color-mix(in srgb,var(--c) 60%,transparent) 6px 8px);box-shadow:0 0 12px color-mix(in srgb,var(--c) 50%,transparent)}.bar .num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}.grid-2{display:grid;gap:18px}.table{width:100%;border-collapse:collapse;font-size:14px}.table td{padding:8px 0;border-top:1px solid var(--line);vertical-align:top}.table tr:first-child td{border-top:0}.table td.num{text-align:right;font-family:var(--f-mono);white-space:nowrap;padding-left:10px;font-variant-numeric:tabular-nums}.table .sub{display:block;font-size:12px;color:var(--muted)}.loading{display:grid;justify-items:center;gap:16px;padding:80px 0;text-align:center;color:var(--muted)}.loading-bar{width:220px;height:10px;border-radius:3px;background:var(--ink-2);overflow:hidden}.loading-bar:after{content:"";display:block;height:100%;width:40%;background:repeating-linear-gradient(90deg,var(--lamp) 0 6px,transparent 6px 8px);animation:load 1s steps(10) infinite}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(260%)}}.tool-btn--locate{color:var(--accent)}.tool-btn--locate.is-active{background:var(--accent);color:var(--ink-0)}.tool-btn--locate.is-busy svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 70px);transform:translate(-50%);z-index:30;max-width:min(92vw,420px);padding:10px 14px;border-radius:12px;background:var(--ink-3);border:1px solid var(--line-hi);box-shadow:0 12px 30px #00000073;font-size:14px;animation:fade-in .2s ease-out}.trip-form{position:relative;display:grid;gap:10px;margin-bottom:14px}.trip-fields{display:grid;grid-template-columns:1fr;gap:6px;position:relative}.field{display:grid;gap:2px;padding:8px 12px;border-radius:14px;background:var(--ink-2);border:1px solid var(--line-hi)}.field:focus-within{border-color:var(--accent)}.field input{border:0;background:none;font-size:16px;padding:2px 0;outline:none;min-width:0}.field input::placeholder{color:var(--dim)}.swap-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:var(--ink-3);border:1px solid var(--line-hi);font-size:16px;z-index:1}.trip-when{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:stretch}.field--time input{color-scheme:dark}.cta--small{padding:10px 14px;font-size:15px}.suggest{list-style:none;margin:0;padding:4px;border-radius:14px;background:var(--ink-3);border:1px solid var(--line-hi);box-shadow:0 14px 30px #00000073}.suggest li{padding:10px 12px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}.suggest li:hover,.suggest li.is-active{background:var(--ink-2)}.suggest .meta{color:var(--muted);font-size:13px}.journeys{display:grid;gap:8px}.journey{padding:12px 14px;border-radius:16px;background:var(--ink-2);border:1px solid var(--line);display:grid;gap:8px}.journey.is-recommended{border-color:color-mix(in srgb,var(--lamp) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--lamp) 25%,transparent),0 10px 30px #ffc56b14}.journey.is-past{opacity:.5}.journey-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.journey-times{font-family:var(--f-display);font-weight:700;font-size:22px;font-variant-numeric:tabular-nums}.journey-times small{font-family:var(--f-body);font-weight:500;font-size:13px;margin-left:4px}.journey-meta{font-size:13px;color:var(--muted)}.journey-legs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.journey-legs .line-badge{cursor:pointer;min-width:0}.chance{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:13px}.chance-bar{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--ink-1);overflow:hidden}.chance-bar span{display:block;height:100%;background:var(--c);box-shadow:0 0 10px var(--c)}.chance b{font-family:var(--f-mono);font-weight:500;color:var(--c)}.verdict{padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--lamp) 10%,var(--ink-2));border:1px solid color-mix(in srgb,var(--lamp) 40%,transparent);margin-bottom:10px;font-size:14px}.verdict strong{display:block;font-size:16px;margin-bottom:2px}.pill{display:inline-block;font-family:var(--f-micro);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:999px;color:var(--ink-0);background:var(--c, var(--accent))}.insight{padding:14px;border-radius:16px;background:var(--ink-1);border:1px solid var(--line);display:grid;gap:6px}.insight-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.insight-place{font-weight:600;font-size:15px}.insight-evidence{font-size:14px;color:var(--muted)}.insight-measure{font-size:14px}.insight-measure:before{content:"→ ";color:var(--lamp)}.insight-impact{font-family:var(--f-mono);font-size:12px;color:var(--late)}.insight-list{display:grid;gap:8px}.ghost-btn--wide{width:100%;padding:12px;margin-top:8px}.notice-box{padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 8%,var(--ink-2));font-size:14px}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ghost-btn--accent{color:var(--lamp);border-color:color-mix(in srgb,var(--lamp) 55%,transparent);background:color-mix(in srgb,var(--lamp) 10%,transparent)}.share-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-route select{width:100%}.share-co2,.follow-co2{margin:0;color:var(--ok);font-size:14px;font-weight:500}.share-co2:empty{display:none}.brand b{color:var(--lamp)}.brand.is-pain s{color:var(--dim);text-decoration-color:var(--bad);text-decoration-thickness:2px}.brand.is-pain b{color:var(--bad)}.ghost-btn--accent .brand{color:var(--text)}.follow-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--f-display);font-size:18px}.follow-line{display:flex;align-items:center;gap:6px;font-family:var(--f-micro);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.share-card{display:grid;gap:10px;margin-bottom:16px;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--lamp) 7%,var(--ink-2));border:1px solid color-mix(in srgb,var(--lamp) 45%,transparent)}.share-title{margin:0;font-family:var(--f-display);font-weight:400;font-size:22px;color:var(--lamp)}.share-card .fine{margin:0}.field select{border:0;background:none;font:inherit;font-size:16px;color:var(--text);padding:2px 0;outline:none;min-width:0}.field select option{background:var(--ink-2)}.share-actions{display:flex;gap:8px;align-items:center}.share-actions .cta{width:auto;flex:1}.share-url{width:100%;margin-top:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--line-hi);background:var(--ink-1);font-family:var(--f-mono);font-size:12px}.follow{display:grid;gap:8px;margin-bottom:16px;padding:16px;border-radius:18px;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--c) 20%,transparent),transparent 60%),var(--ink-2);border:1px solid color-mix(in srgb,var(--c) 50%,transparent)}.follow .eyebrow{display:flex;align-items:center;gap:6px}.follow-head{margin:0;font-size:20px;line-height:1.3;text-wrap:balance}.follow-head b{font-family:var(--f-display);font-weight:400;font-size:1.25em;color:var(--c)}.follow-delay{margin:0;color:var(--c);font-weight:500}.follow-bar{position:relative;height:6px;margin:8px 4px 0;background:var(--ink-3)}.follow-bar span{position:absolute;inset:0 auto 0 0;background:var(--lamp)}.follow-bar i{position:absolute;top:-5px;width:14px;height:16px;margin-left:-7px;background:var(--c);border:2px solid var(--text);box-shadow:0 0 12px var(--c)}.follow-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.follow-where{margin:0;color:var(--muted);font-size:14px}.legal-links{position:absolute;z-index:4;left:var(--gutter);bottom:10px;display:flex;gap:2px;padding:3px 4px;border-radius:8px;background:#070a14b8;font-size:11px}.legal-links a,.credits a{color:var(--muted);text-decoration:none;padding:2px 5px}.legal-links a:hover,.credits a:hover{color:var(--text);text-decoration:underline}.credits{line-height:1.7}.tool-btn.is-active{color:var(--lamp);border-color:color-mix(in srgb,var(--lamp) 60%,transparent)}@media (pointer: coarse){.tool-btn--zoom{display:none}}.layers{position:absolute;z-index:7;top:calc(env(safe-area-inset-top,0px) + 72px);right:calc(var(--gutter-r) + 46px);width:min(300px,calc(100% - var(--gutter) - var(--gutter-r) - 46px));max-height:calc(100% - env(safe-area-inset-top,0px) - 72px - var(--sheet-peek) - var(--nav-h, 0px) - 12px);overflow-y:auto;display:grid;gap:14px;padding:14px;border-radius:16px;background:#0a0e1cf5;border:1px solid var(--line-hi);box-shadow:0 18px 40px #00000080;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:13px;animation:fade-in .15s ease-out}.layers-group{display:grid;gap:8px}.layers .seg{justify-self:start}.layers .chips{margin:0}.legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--muted)}.legend li{display:flex;align-items:center;gap:8px}.legend b{color:#4aa8ff;font-family:var(--f-display)}.legend i{width:8px;height:8px;flex-shrink:0;background:var(--c);box-shadow:0 0 6px var(--c)}.legend i.is-ring{width:10px;height:10px;background:none;border:2px solid var(--c);border-radius:50%}.replay-bar{position:absolute;z-index:4;top:calc(env(safe-area-inset-top,0px) + 66px);left:var(--gutter);max-width:calc(100% - var(--gutter) - var(--gutter-r) - 50px);display:flex;align-items:center;gap:8px;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,rgba(10,14,28,.92));border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 10px 26px #0006;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fade-in .2s ease-out}.round-btn--small{width:32px;height:32px}.replay-text{display:grid;line-height:1.1;min-width:0;padding-right:2px}.replay-text .eyebrow{color:var(--accent)}.replay-text b{font-weight:600;font-size:13px;white-space:nowrap}.live-btn{display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;border-color:color-mix(in srgb,var(--bad) 60%,transparent);background:color-mix(in srgb,var(--bad) 18%,var(--ink-1));font-weight:600;font-size:13px;white-space:nowrap}.timeline-btn{font-family:var(--f-body);font-weight:500;font-size:13px}.timeline-btn.is-live{color:var(--text);border-color:color-mix(in srgb,var(--bad) 60%,transparent);background:color-mix(in srgb,var(--bad) 18%,var(--ink-1))}.clock-chip.is-replay{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.view-title{display:none}.line-list{display:grid}.line-item{border-top:1px solid var(--line)}.line-item summary{display:grid;grid-template-columns:22px minmax(0,1fr) 70px 40px;align-items:center;gap:10px;padding:10px 0;cursor:pointer;list-style:none}.line-item summary::-webkit-details-marker{display:none}.line-item[open] summary{color:var(--lamp)}.line-rank{font-family:var(--f-display);font-size:15px;color:var(--dim)}.line-name{display:grid;font-weight:600;min-width:0}.line-name .sub{font-weight:400;font-size:12px;color:var(--muted)}.line-bar{height:6px;background:var(--ink-3)}.line-bar span{display:block;height:100%;background:var(--c)}.line-item .num{text-align:right;font-family:var(--f-display);font-size:18px}.line-info{padding:0 0 14px 32px;font-size:14px}.line-route{margin:0 0 10px}.line-route .sub,.line-related{color:var(--muted);font-size:13px}.line-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0 0 6px}.line-facts dt{font-family:var(--f-micro);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.line-facts dd{margin:2px 0 0}.line-related{margin:0 0 12px;padding-left:16px;display:grid;gap:6px}.line-related b{color:var(--text)}.appnav{display:none}@media (max-width: 999px){:root{--nav-bottom: max(env(safe-area-inset-bottom, 0px), var(--host-badge, 0px));--nav-h: calc(58px + var(--nav-bottom))}.appnav{position:absolute;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--nav-h);grid-template-rows:58px;align-content:start;padding:0 env(safe-area-inset-right,0px) var(--nav-bottom) env(safe-area-inset-left,0px);background:#080b16f7;border-top:1px solid var(--line-hi);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.appnav-btn{position:relative;display:grid;place-items:center;align-content:center;gap:4px;border:0;border-radius:0;color:var(--dim);font-size:11px;font-weight:500;min-width:0}.appnav-btn svg{width:22px;height:22px}.appnav-btn.is-active{color:var(--lamp)}.appnav-btn.is-active svg{filter:drop-shadow(0 0 6px rgba(255,197,107,.55))}.appnav-btn.is-active:before{content:"";position:absolute;top:-1px;left:calc(50% - 12px);width:24px;height:3px;background:var(--lamp);box-shadow:0 0 10px var(--lamp)}.sheet{bottom:var(--nav-h);height:calc(100% - env(safe-area-inset-top,0px) - 64px - var(--nav-h));transform:translateY(calc(100% - var(--sheet-peek)))}.sheet-body{padding-bottom:24px}.tabs{display:none}.legal-links{bottom:calc(var(--nav-h) + var(--sheet-peek) + 8px)}.view-title{display:block;margin:4px 0 12px;font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1.1;color:var(--text)}:root{--sheet-peek: 116px}.toast{top:auto;bottom:calc(var(--nav-h) + 16px)}}@media (max-width: 999px){.sheet.is-detail .status,.sheet.is-compact .status,.sheet.is-compact .timeline{display:none}.sheet.is-compact .sheet-body{padding-top:6px}.sheet.is-detail .timeline,.sheet.is-follow .timeline{display:none}}@media (min-width: 1000px){.stage{right:420px}.sheet{left:auto;top:0;width:420px;height:100%;border-radius:0;border-top:0;border-left:1px solid var(--line-hi);transform:none!important;transition:none;padding-top:calc(env(safe-area-inset-top,0px) + 16px)}.sheet-grab{display:none}.sheet-body{padding-bottom:calc(24px + var(--host-badge, 0px))}.compare{grid-template-columns:repeat(4,minmax(0,1fr))}.trip-fields{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr 1fr}.hero-letter{font-size:160px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
