:root{--bg:#0f1216;--panel:#171b21;--panel-2:#1f252d;--line:#2a313b;--text:#e8ecf1;--muted:#8b95a3;--accent:#4dabf7;--fast:#ff6b6b;--ac:#339af0;--ladies:#e64980;--ok:#40c057;--ok-strong:#2b8a3e;--radius:10px;--badge-fast:#e03131;--badge-ac:#1971c2;--badge-ladies:#c2255c;--fs-small:.875rem;--fs-badge:.8125rem;--fs-time:clamp(1rem, .92rem + .5vw, 1.125rem);--tap:max(44px, 2.75rem);--btn:2.5rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(87.5%,80% + .5vw,100%);line-height:1.45}:root[data-theme=light]{--bg:#f6f1e7;--panel:#fbf8f2;--panel-2:#efe8da;--line:#e4dccd;--text:#1f1a14;--muted:#6b6152;--accent:#1864ab;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}h1{margin:0;font-size:clamp(1.275rem,1.125rem + 1vw,1.5rem);line-height:1.25}h2{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.4rem 0 .5rem}.muted{color:var(--muted)}.small{font-size:var(--fs-small)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.splash{min-height:60vh;color:var(--muted);place-items:center;display:grid}.splash.error{color:var(--fast)}.topbar .back{min-height:var(--tap);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:0 .5rem 0 0;font-weight:600;display:inline-flex}.topbar .back svg{fill:currentColor;width:1.4rem;height:1.4rem;margin-left:-.35rem}.topbar{z-index:10;padding:.6rem max(1rem, env(safe-area-inset-left));background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.brand{white-space:nowrap;flex:1;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:inline-flex}.brand-mark{flex:none;width:1.6rem;height:1.6rem}main{max-width:760px;padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));margin:0 auto}.time-strip{background:color-mix(in srgb, #f59f00 16%, var(--panel));font-size:var(--fs-small);border-bottom:1px solid #f59f00;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 .75rem;padding:.2rem 1rem;display:flex}.time-strip .link,.depart-at .link{min-height:var(--tap)}.depart-at{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin:.5rem 0 0;display:flex}.depart-at input{min-height:var(--tap);font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.3rem .5rem}.picker{flex:1;position:relative}.picker label{font-size:var(--fs-small);color:var(--muted);margin-bottom:.25rem;font-weight:600;display:block}.picker input{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);outline:none;width:100%;min-height:3rem;padding:.7rem .85rem;font-size:1.0625rem}.picker input:focus{border-color:var(--accent)}.picker-list{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;left:0;right:0;box-shadow:0 12px 30px #0000004d}.picker-list li{cursor:pointer;min-height:var(--tap);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.picker-list li.active,.picker-list li:hover{background:var(--panel-2)}.picker-list .code{color:var(--muted);font-size:var(--fs-small);margin-left:auto}.route-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.route-list a{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.6rem;min-height:3.25rem;padding:.7rem .85rem;font-size:1.0625rem;display:flex}.route-list .muted{text-align:right;font-size:var(--fs-small);margin-left:auto}.line-dots{gap:3px;display:inline-flex}.line-dot{border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.lt{--lc:var(--lcd)}[data-theme=light] .lt{--lc:var(--lcl)}.line-badge{font-size:var(--fs-badge);white-space:nowrap;background:var(--lf);color:var(--li);border:1px solid var(--lc);border-radius:5px;padding:0 .45rem;font-weight:700;line-height:1.45rem;display:inline-block}.board a.lt,.leg.lt{border-left-color:var(--lc)}.page-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin:.4rem 0 .6rem;display:flex}.ph-main{gap:.35rem;min-width:0;display:grid}.ph-badges{font-size:var(--fs-small);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.page-head h1{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;display:flex}.ph-lines{flex-wrap:wrap;gap:.3rem;display:inline-flex}.ph-lines .line-badge{padding:0 .6rem;font-size:1rem;line-height:1.9rem}.page-head h1 .code{color:var(--muted);font-size:1rem;font-weight:500}.star{color:var(--muted);cursor:pointer;min-width:var(--tap);min-height:var(--tap);background:0 0;border:0;font-size:clamp(1.488rem,1.312rem + 1vw,1.75rem)}.star.on{color:#fab005}.quick-switch{align-items:flex-end;gap:.6rem;margin:.8rem 0;display:flex}.button{white-space:nowrap;border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line);min-height:var(--btn);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.95rem;font-weight:500;display:inline-flex}@media (width<=560px){.quick-switch{flex-direction:column;align-items:stretch}}.notice{background:color-mix(in srgb, #f59f00 15%, var(--panel));border:1px solid color-mix(in srgb, #f59f00 40%, var(--line));border-radius:var(--radius);padding:.5rem .75rem;font-size:.9375rem}.chips{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.chips button,.chips .chip{min-height:var(--btn);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .75rem;font-size:.9375rem;display:inline-flex}.chips.small button{font-size:var(--fs-small);padding:.25rem .8rem}.chips .on{background:var(--text);color:var(--bg);border-color:var(--text)}.empty{color:var(--muted);padding:1rem 0}.board{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.board a{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);border-left:4px solid;grid-template-columns:4.1rem 1fr auto;align-items:center;gap:.6rem;min-height:3.5rem;padding:.55rem .75rem;display:grid}.board a:hover{background:var(--panel-2)}.board .gone{opacity:.45}.board .time{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--fs-time)}.board .main{min-width:0;display:grid}.board .dest{font-size:1.0625rem;font-weight:600}.board .sub{font-size:var(--fs-small);flex-wrap:wrap;align-items:center;gap:.25rem .45rem;display:flex}.board .eta{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap;font-size:1rem;font-weight:600}.more,.earlier{background:var(--panel);border:1px solid var(--line);cursor:pointer;min-height:var(--tap);border-radius:999px;margin:.8rem auto;padding:.45rem 1.2rem;display:block}.badges{flex-wrap:wrap;gap:.3rem;display:inline-flex}.badge{text-align:center;font-size:var(--fs-badge);background:var(--panel-2);color:var(--text);white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:0 .45rem;font-weight:700;line-height:1.45rem;display:inline-block}.badge.fast{background:var(--badge-fast);color:#fff;border-color:var(--badge-fast)}.badge.ac{background:var(--badge-ac);color:#fff;border-color:var(--badge-ac)}.badge.cars{border-color:var(--muted);background:0 0}.badge.ladies{background:var(--badge-ladies);color:#fff;border-color:var(--badge-ladies)}.train-head{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:.4rem;padding:.9rem 1rem;display:grid}.status{margin:.3rem 0 0;font-weight:500}.status.warn{color:#f59f00}.timeline{margin:1rem 0;padding:0;list-style:none}.timeline li{min-height:var(--tap);grid-template-columns:4.1rem 1.1rem 1fr auto;align-items:center;gap:.6rem;display:grid}.timeline .time{text-align:right;font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600;display:grid}.timeline .time .arr{font-size:var(--fs-badge);color:var(--muted);font-weight:400}.timeline .rail{place-self:stretch center;width:4px;position:relative}.timeline .node{background:var(--bg);border:3px solid var(--text);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline .stop.past{color:var(--muted)}.timeline .stop.past .node{border-color:var(--muted)}.timeline .stop.current .node{background:var(--ok);border-color:var(--ok);box-shadow:0 0 0 5px color-mix(in srgb, var(--ok) 30%, transparent)}.timeline .stop .name:hover{text-decoration:underline}.timeline .here{font-size:var(--fs-badge);color:var(--ok)}.timeline .passes{min-height:1.8rem;font-size:var(--fs-small);color:var(--muted);font-style:italic}.timeline .passes.past{opacity:.6}.timeline .passes .rail,.timeline .stop.past .rail{opacity:.45}.timeline .moving{min-height:2.25rem;color:var(--ok);font-size:.9375rem;font-weight:600}.train-dot{background:var(--ok);width:14px;height:14px;box-shadow:0 0 0 5px color-mix(in srgb, var(--ok) 30%, transparent);border-radius:50%;position:absolute;left:50%;transform:translate(-50%,-50%)}.plan-form{align-items:flex-end;gap:.5rem;display:flex}.swap{border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;flex:none;width:3rem;height:3rem;font-size:1.1rem}@media (width<=560px){.plan-form{flex-direction:column;align-items:stretch}.swap{align-self:flex-end;margin:-.4rem 0}}.journeys{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.journey{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem}.journey-head{flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;display:flex}.journey-head .time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.125rem;font-weight:700}.journey-head .eta{white-space:nowrap;margin-left:auto;font-weight:600}.journey-head .muted{flex-basis:100%;order:3}.j-sum{flex-wrap:wrap;align-items:center;gap:.25rem .6rem;display:flex}.j-lines{flex-wrap:wrap;align-items:center;gap:.2rem;display:inline-flex}.legs{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.leg{border-left:4px solid var(--line);padding-left:.6rem}.leg a{gap:.15rem;display:grid}.leg-times{font-variant-numeric:tabular-nums}.leg .sub{font-size:var(--fs-small);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.leg.walk{color:var(--muted);border-left-style:dotted;font-size:.9375rem}.wait{font-size:var(--fs-badge)}.chips.routes{flex-wrap:nowrap;padding-bottom:.3rem;overflow-x:auto}.chips.routes .chip{white-space:nowrap}.line-map{contain:layout style;--row:3.25rem;--mark-h:clamp(1.36rem, 1.2rem + 1vw, 1.6rem);--names:clamp(8.5rem, 40%, 12rem);--lane:calc((100% - var(--names)) / 2);--step:calc(var(--lane) / var(--cols,2));height:calc(var(--n,1) * var(--row));margin:3.4rem 0 1.25rem;position:relative}.lane-head{width:var(--lane);color:var(--muted);font-size:.9375rem;font-weight:600;line-height:1.2;position:absolute;bottom:calc(100% + .4rem)}.lane-head.in{text-align:right;padding-right:.3rem;left:0}.lane-head.out{padding-left:.3rem;right:0}.lm-track{left:50%;top:calc(var(--row) / 2);bottom:calc(var(--row) / 2);background:var(--lc);border-radius:2px;width:4px;position:absolute;transform:translate(-50%)}.lm-station{left:var(--lane);right:var(--lane);top:calc(var(--i,0) * var(--row));height:var(--row);z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.lm-sub{background:var(--bg);color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:100%;padding:0 .3rem;font-size:.75rem;line-height:1.2;overflow:hidden}.map-note{margin:.25rem 0 .5rem}.lm-name{background:var(--bg);text-align:center;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;border-radius:4px;-webkit-box-orient:vertical;max-width:100%;padding:.1rem .4rem;font-size:1rem;font-weight:500;line-height:1.15;display:-webkit-box;overflow:hidden}.lm-station:hover .lm-name{text-decoration:underline}.lm-node{width:0;height:0;position:absolute;top:50%;left:50%}.lm-train{z-index:2;height:var(--mark-h);line-height:calc(var(--mark-h) - 2px);font-size:var(--fs-badge);letter-spacing:.02em;white-space:nowrap;border:1px solid var(--lc);background:var(--panel);color:var(--text);transform:translateY(calc(var(--y,0) * var(--row) - var(--mark-h) / 2));width:calc(var(--step) - .25rem);text-align:center;border-radius:6px;padding:0 .2rem;font-weight:700;transition:transform 1s linear;position:absolute;top:0;overflow:hidden}.lm-train.fast{background:var(--lf);color:var(--li)}.lm-train.ac{box-shadow:inset 0 -4px 0 var(--badge-ac)}.lm-train.in{right:calc(100% - var(--lane) + .25rem + var(--col,0) * var(--step))}.lm-train.out{left:calc(100% - var(--lane) + .25rem + var(--col,0) * var(--step))}.lm-train:hover{z-index:3;outline:2px solid var(--text)}.legend{font-size:var(--fs-small);flex-wrap:wrap;align-items:center;gap:calc(.6rem - 2px) 1rem;margin:0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:flex}.legend .legend-item{pointer-events:none;width:auto;min-width:3rem;transition:none;display:inline-block;position:static;transform:none}.legend .legend-item:hover{outline:none}.prose a{text-decoration:underline}.prose ul{padding-left:1.2rem}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.icon-button{width:var(--tap);height:var(--tap);border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;flex:none;font-size:clamp(1.062rem,.938rem + 1vw,1.25rem)}.daily-edit{gap:.4rem;display:flex}.daily-edit input{background:var(--bg);border:1px solid var(--line);min-width:0;min-height:var(--tap);border-radius:8px;flex:1;padding:.5rem .7rem}.daily-edit .button{cursor:pointer;padding:.5rem .75rem}.button.danger{color:var(--fast)}.eta.live{color:var(--ok)}.save-row{align-items:center;gap:.75rem;margin:.8rem 0 .2rem;font-size:1rem;display:flex}.board li.pinnable{gap:.35rem;display:flex}.board li.pinnable>a{flex:1;min-width:0}.pin{width:var(--tap);border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);cursor:pointer;min-height:var(--tap);color:var(--muted);flex:none;font-size:clamp(1.105rem,.975rem + 1vw,1.3rem)}.pin.on{color:#f59f00;border-color:#f59f00}.src-tag{text-transform:uppercase;letter-spacing:.05em;border:1px dashed var(--muted);color:var(--muted);vertical-align:.1em;border-radius:4px;padding:.05rem .4rem;font-size:.75rem;display:inline-block}.src-tag.usual{border-style:solid;border-color:var(--accent);color:var(--accent)}.src-tag.live{border-style:solid;border-color:var(--ok);color:var(--ok)}.delay-chip{min-width:1.6rem;font-size:var(--fs-badge);font-variant-numeric:tabular-nums;text-align:center;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:4px;margin-left:.3rem;padding:0 .25rem;font-weight:600;display:inline-block}.delay-chip.live{color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, transparent)}.delay-chip.late{color:#e8833a;background:#e8833a29}.usually-line{font-size:var(--fs-small);color:var(--muted);display:block}.usually-line strong{color:var(--text);font-weight:600}.banner{left:50%;bottom:calc(5rem + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:.6rem;width:max-content;max-width:calc(100vw - 1.6rem);padding:.5rem .6rem .5rem .9rem;font-size:.9375rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 18px #0000004d}.banner button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;min-height:2.5rem;padding:.3rem .9rem;font-weight:600}.banner button.quiet{color:var(--muted);background:0 0;padding:.3rem .4rem}.ride-strip{padding:.45rem max(1rem, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--ok) 12%, var(--bg));align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.ride-strip .pulse{background:var(--ok);border-radius:50%;width:.5rem;height:.5rem}.toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.8rem;display:flex}.toggle input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin-top:.2rem}.earlier{margin-top:0}.button.primary{background:var(--accent);border-color:var(--accent);color:#08121c;font-weight:700}.button:disabled{opacity:.5;cursor:default}.timeline .stop .name{font-size:1.0625rem}.bottom-nav{z-index:20;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--panel);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:3.75rem;color:var(--muted);font-size:var(--fs-badge);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .2rem;font-weight:600;line-height:1.15;display:flex}.bottom-nav svg{fill:currentColor;width:1.5rem;height:1.5rem}.bottom-nav a.active{color:var(--accent)}.bottom-nav a.active svg{filter:drop-shadow(0 0 .5px)}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 1rem;padding:1rem;display:block}.card h2,.route-card h2{text-transform:none;letter-spacing:0;color:var(--text);margin:0 0 .5rem;font-size:1.125rem}.card>p{margin:.25rem 0 .75rem}.route-cards{margin:0;padding:0;list-style:none}.route-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 1rem;overflow:hidden}.rc-head{align-items:flex-start;gap:.6rem;padding:.9rem .9rem .4rem 1rem;display:flex}.rc-title{flex:1;min-width:0}.route-card h2{margin:0;font-size:clamp(1rem,.95rem + .4vw,1.125rem)}.rc-dir{font-size:var(--fs-small);margin:.15rem 0 0}.rc-empty,.rc-pending{margin:.25rem 1rem .75rem}.rc-toggle{width:100%;min-height:var(--tap);border:0;border-top:1px solid var(--line);color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.4rem;font-weight:600;display:flex}.rc-details{padding:.25rem 1rem .9rem}.rc-details>p{margin:.25rem 0 .75rem}.rc-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.trips{margin:0;padding:0 .5rem .5rem;list-style:none}.trip{align-items:stretch;gap:.4rem;display:flex}.trip+.trip{border-top:1px solid var(--line)}.trip>.trip-main{width:100%;min-width:0;min-height:2.9rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.4rem .5rem;display:grid}.trip>.trip-main:hover{background:var(--panel-2)}.trip.pinned>a{background:#f59f0017}.trip .pin{align-self:center}.t-dep{font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:700}.t-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.t-arr{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}.t-sub{font-size:var(--fs-small);flex-wrap:wrap;align-items:center;gap:.3rem .45rem;display:flex}.t-usual{font-size:var(--fs-small);color:var(--muted)}.t-usual.usual strong{color:var(--accent)}.t-usual.live strong{color:var(--ok)}.trip .eta{text-align:right;font-weight:600;font-size:var(--fs-small);font-variant-numeric:tabular-nums;white-space:nowrap}.trip .eta.live{color:var(--ok)}.first-tag{font-size:var(--fs-badge);color:var(--ok);border:1px solid;border-radius:5px;margin-left:.4rem;padding:0 .4rem;font-weight:700;line-height:1.35rem;display:inline-block}.pin-mark{color:#f59f00;margin-right:.25rem}.badge.mode{background:var(--panel-2)}.setup-card .picker,.near .picker{margin-bottom:.75rem}.near-station{margin:.5rem 0 .75rem}.near-head{min-height:var(--tap);justify-content:space-between;align-items:center;font-size:1.0625rem;display:flex}.near-head>span[aria-hidden]{color:var(--muted);font-size:clamp(1.275rem,1.125rem + 1vw,1.5rem)}.board.compact a{min-height:3.25rem;padding:.45rem .65rem}.station-chips{flex-wrap:wrap;gap:.45rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.station-chips .chip{min-height:var(--btn);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .75rem;font-size:.9375rem;display:inline-flex}.button.geo{color:var(--accent);margin-top:.5rem}.gps-top{margin-left:auto;position:relative}.gps-label{min-height:var(--tap);cursor:pointer;align-items:center;gap:.4rem;padding:0 .15rem 0 .4rem;font-size:.9375rem;font-weight:600;display:inline-flex}.gps-label svg{fill:currentColor;width:1.1rem;height:1.1rem}.switch{appearance:none;background:var(--panel-2);border:1px solid var(--muted);cursor:pointer;border-radius:999px;flex:none;width:2.75rem;height:1.6rem;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:calc(1.6rem - 6px);height:calc(1.6rem - 6px);transition:transform .15s;position:absolute;top:2px;left:2px}.switch:checked{background:var(--ok-strong);border-color:var(--ok-strong)}.switch:checked:after{background:#fff;transform:translate(1.15rem)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gps-pop{border-radius:var(--radius);background:var(--panel);width:min(18rem,80vw);font-size:var(--fs-small);border:1px solid #f59f00;margin:0;padding:.6rem .75rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 4px 16px #00000040}.switch-row{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gps-toggle p{margin:.4rem 0 0}.gps-why{margin:.6rem 0 0}.gps-more{margin:.5rem 0 0}.block{display:block}.remind{border-top:1px solid var(--line);margin:.75rem 0;padding-top:.6rem}.remind .toggle{min-height:var(--tap)}.remind p{margin:.35rem 0}.badge-legend{grid-template-columns:auto 1fr;align-items:center;gap:.55rem .75rem;margin:.25rem 0 .75rem;display:grid}.badge-legend dt{justify-self:start}.badge-legend dd{margin:0;font-size:.9375rem}.legend-more{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin:0 0 1rem;padding:0 1rem}.legend-more summary{min-height:var(--tap);cursor:pointer;align-items:center;font-weight:600;display:flex}.settings-page section{margin-bottom:1rem}.set-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem}.settings-page h2{margin:0 0 .5rem;font-size:1.0625rem}.set-card>:last-child{margin-bottom:0}.set-list{gap:.6rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid}.set-card h3{margin:0;font-size:1.0625rem}.set-sub{margin:.1rem 0 0}.set-label{margin:.6rem 0 0;font-weight:600}.set-card .remind:last-child{margin-bottom:0}.settings-page .route-list a,.lines-page .route-list a{flex-wrap:wrap}.rc-dir .line-badge{margin-right:.45rem}.t-arr .muted{white-space:nowrap}.trip.lt>a{border-left:4px solid var(--lc)}.trip>.trip-main{grid-template-areas:"dep main eta"}.t-dep{grid-area:dep}.t-main{grid-area:main}.trip .eta{grid-area:eta}.trip.open>.trip-main{grid-template-columns:auto 1fr;grid-template-areas:"dep main""eta main";row-gap:0}.trip.open .eta{text-align:left;font-size:var(--fs-small);align-self:start}.trip.open .t-dep{align-self:end}.first-tag{white-space:nowrap}.trip.better>a{background:color-mix(in srgb, var(--ok) 9%, transparent)}.tabular,.t-dep,.metro-freq{font-variant-numeric:tabular-nums}.metro-freq{color:var(--text)}.badge.last{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px #f59f00}.ug-note{color:var(--muted);font-style:italic}.t-legs{border-left:2px solid var(--line);font-size:var(--fs-small);flex-direction:column;gap:.15rem;margin-top:.2rem;padding-left:.6rem;display:flex}.rc-warn{background:color-mix(in srgb, #f59f00 12%, var(--panel));border-left:4px solid #f59f00;border-radius:8px;margin:.25rem 1rem .5rem;padding:.5rem .75rem;font-size:.9375rem;font-weight:600}.rc-warn.gone{border-left-color:var(--fast);background:color-mix(in srgb, var(--fast) 10%, var(--panel))}.rc-foot{font-size:var(--fs-small);margin:0 1rem .4rem}.rc-legs{margin:.25rem 0 .75rem;padding:0;list-style:none}.rc-legs li{min-height:var(--tap);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rc-legs .link{min-height:var(--tap);padding:0 .5rem}.metro-edit{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin-top:.5rem;padding:.75rem}.metro-edit h3{margin:0 0 .4rem;font-size:1.0625rem}.metro-edit .chips .on .line-badge{box-shadow:0 0 0 1px var(--bg)}.metro-fields{gap:.6rem;margin:.6rem 0;display:grid}.field{font-size:var(--fs-small);color:var(--muted);gap:.25rem;display:grid}.field select,.field input{min-height:var(--tap);font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.4rem .6rem;font-size:1rem}.pick-lines{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.25rem;max-width:50%;margin-left:auto;display:inline-flex}.pick-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.picker-list .pick-name .code{font-size:var(--fs-badge);margin-left:0;line-height:1.2}.no{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:.4rem;font-size:.75rem}.t-then{color:var(--muted);font-size:var(--fs-small);white-space:nowrap}.chips.suggest button{border-style:dashed}.board .eta .eta-sub{font-size:var(--fs-small);font-weight:500;display:block}.board .late{color:var(--badge-fast)}.dir-group{margin-top:.75rem}.dir-head{align-items:center;gap:.4rem;margin:.5rem 0 .25rem;font-size:1rem;display:flex}.route-card.collapsed{padding:.6rem .9rem}.day-chips{margin:.4rem 0}.trip{flex-wrap:wrap}.trip>.trip-main{flex:1 1 0}.t-more{font-size:var(--fs-small);flex-basis:100%;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .75rem .6rem 1.25rem;font-weight:600;display:flex}.pin-small{border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.25rem .6rem}.pin-small.on{color:#f59f00;border-color:#f59f00}.route-pick{align-items:center;gap:.5rem;width:fit-content;max-width:100%;margin:0 0 .75rem;display:flex;position:relative}.route-pick select{max-width:100%;min-height:var(--tap);border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;appearance:none;cursor:pointer;border-radius:8px;flex:0 auto;padding:0 2.4rem 0 .75rem}.route-pick select,.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 1.2rem) 55%,calc(100% - .85rem) 55%;background-repeat:no-repeat;background-size:.35rem .35rem;padding-right:2.4rem}.lm-name:has(+.lm-sub){-webkit-line-clamp:1;line-clamp:1}.info-tip{vertical-align:middle;display:inline-flex;position:relative}.info-btn{border:1px solid var(--muted);width:1.25rem;height:1.25rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font:italic 700 .75rem/1 Georgia,serif;display:inline-grid}.info-btn:before{content:"";position:absolute;inset:-.7rem}.info-btn[aria-expanded=true]{color:var(--text);border-color:var(--text)}.info-pop{z-index:30;background:var(--panel-2);width:max-content;max-width:min(16rem,80vw);color:var(--text);border:1px solid var(--line);white-space:normal;border-radius:8px;padding:.5rem .65rem;font-weight:400;position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}
