:root{--op-obb:#9e1b2c;--op-obb-ink:#fff;--op-obb-line:#b22033;--op-nj:#1d2d6e;--op-nj-ink:#fff;--op-nj-accent:#e3262f;--op-wb:#1f8ee6;--op-wb-ink:#14161a;--op-wb-accent:#a5d63a;--op-cat:#3d424b;--op-cat-ink:#fff;--op-cat-accent:#9acd32}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:400 800;font-display:block;src:url(/fonts/sofia-sans-latin.woff2)format("woff2")}@font-face{font-family:Sofia Sans Semi Condensed;font-style:normal;font-weight:500 700;font-display:block;src:url(/fonts/sofia-sans-semicondensed-latin.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#000;--surface:#0f1114;--ink:#f2f2ee;--ink2:#b9bdc4;--ink3:#8f949d;--hair:#262a31;--plate:#1c1f25;--plate-ink:#fff;--plate-ink2:#b7bbc3;--plate-hair:#353a43;--plate-key:#2c3038;--skel:#1d2026;--press:#1b1e23;--brand:#ff3d8b;--sel:#ff3d8b;--sel-ink:#14161a;--tram:#ff6b72;--bus:#4a76d6;--rail:#2f86d0;--mapbg:#0c0c0c;--ease:cubic-bezier(.16,1,.3,1);--sans:"Sofia Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--cond:"Sofia Sans Semi Condensed","Sofia Sans",system-ui,sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;margin:0}html,body,#app{height:100%}html,body{overscroll-behavior:none;overflow:clip}body{background:var(--ground);width:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:16px;line-height:1.3;position:fixed;inset:0;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;text-align:left;touch-action:manipulation;background:0 0;border:0;padding:0}a{color:inherit}::selection{background:var(--sel);color:var(--sel-ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums lining-nums}.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.i.sm{width:18px;height:18px}.i.lv{stroke-width:2.6px;flex:none;width:12px;height:12px}.i.ar{stroke-width:2.2px;vertical-align:-2px;flex:none;width:16px;height:16px;margin-right:5px;display:inline-block}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-rows:calc(44px + var(--safe-t)) minmax(0,1fr) calc(64px + var(--safe-b));background:var(--ground);isolation:isolate;max-width:520px;height:100%;margin:0 auto;display:grid;position:relative;overflow:clip}.topbar{padding:var(--safe-t) 4px 0 16px;background:var(--plate);color:var(--plate-ink);justify-content:space-between;align-items:flex-end;display:flex}.lockup{letter-spacing:.01em;align-items:center;gap:7px;height:44px;font-size:15px;font-weight:800;display:flex}.mark{flex:none;width:24px;height:24px;display:block}.info-brand{color:var(--ink);align-items:center;gap:12px;font-size:20px;font-weight:800;display:flex}.info-brand img{width:56px;height:56px}.topbar-b{min-width:44px;height:44px;color:var(--plate-ink2);border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.screens{position:relative;overflow:clip}.screen{background:var(--ground);flex-direction:column;min-height:0;display:flex;position:absolute;inset:0;overflow:clip}.screen.tab{visibility:hidden}.screen.tab.is-on{visibility:visible}.screen.push{visibility:hidden;transition:transform .2s var(--ease),visibility 0s .2s;z-index:3;transform:translate(100%)}.screen.push.up{transform:translateY(100%)}.screen.push.is-on{visibility:visible;transition:transform .2s var(--ease),visibility 0s;transform:none}.screen.search-layer{top:calc(44px + var(--safe-t));z-index:4;padding-bottom:var(--safe-b);position:absolute;bottom:0;left:0;right:0}.scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--hair) transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.scroll>*{flex:none}.scroll.rev{flex-direction:column-reverse}.scroll.rev>.row:first-child{border-bottom:0}.plate{background:var(--plate);color:var(--plate-ink);flex:none;grid-template-rows:44px 44px;grid-template-columns:14px minmax(0,1fr) 44px 48px;column-gap:8px;padding:6px 6px 6px 12px;display:grid}.plate .rail{fill:none;width:14px;height:88px;stroke:var(--plate-ink2);stroke-width:1.75px;grid-area:1/1/3}.plate .rail .here{fill:var(--brand);stroke:var(--brand)}.pf{min-width:0;height:44px;color:var(--plate-ink);grid-column:2/4;align-items:center;gap:6px;display:flex}.pf.from{border-bottom:1px solid var(--plate-hair);grid-row:1}.pf.to{grid-area:2/2/auto/3}.pf-l{width:32px;color:var(--plate-ink2);flex:none;font-size:12px;font-weight:500}.pf-v{min-width:0;font-family:var(--cond);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:17px;font-weight:700;overflow:hidden}.pf-v.is-empty{color:var(--plate-ink2);font-weight:500}.pf-clear{color:var(--plate-ink2);grid-area:2/3;place-items:center;height:44px;display:grid}.pf-clear .i{width:20px;height:20px}.pf-clear.off{visibility:hidden}.swap{background:var(--plate-key);color:var(--plate-ink);border-radius:6px;grid-area:1/4/3;place-items:center;margin:6px 0;display:grid}.swap .i{width:24px;height:24px;transition:transform .25s var(--ease)}.swap.flip .i{transform:rotate(180deg)}.swap:active,.pf:active .pf-v{opacity:.7}.plate :focus-visible{outline-color:#fff}.timebar{background:var(--surface);border-top:1px solid var(--hair);flex:none;grid-template-columns:92px minmax(0,1fr) 44px 44px;align-items:center;gap:8px;height:52px;padding:0 12px;display:grid}.seg{border:1.5px solid var(--brand);border-radius:6px;grid-auto-columns:1fr;grid-auto-flow:column;height:47px;display:grid;overflow:hidden}.seg-b{text-align:center;height:100%;color:var(--ink);white-space:nowrap;padding:0 6px;font-size:15px;font-weight:700}.seg-b+.seg-b{border-left:1.5px solid var(--brand)}.seg-b[aria-pressed=true]{background:var(--sel);color:var(--sel-ink)}.seg-b[aria-pressed=true]+.seg-b[aria-pressed=true]{border-left-color:var(--sel-ink)}.seg-b:focus-visible{outline:2px solid var(--ink);outline-offset:-5px}.seg-b[aria-pressed=true]:focus-visible{outline-color:var(--sel-ink)}.seg.wide{margin:0 16px}.tb-time{background:var(--plate);border-radius:6px;justify-content:space-between;align-items:center;gap:4px;min-width:0;height:38px;padding:0 10px;font-size:15px;font-weight:700;display:flex}.tb-time span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tb-now{width:44px;height:38px;color:var(--ink2);border:1.5px solid #0000;border-radius:6px;justify-self:center;place-items:center;display:grid}.tb-now.stale{color:var(--brand);border-color:var(--brand)}@keyframes spin1{to{transform:rotate(360deg)}}.tb-now.spin .i{animation:spin1 .6s var(--ease) 1}.tb-opts{border-radius:6px;place-items:center;height:38px;display:grid;position:relative}.cnt{background:var(--sel);min-width:18px;height:18px;color:var(--sel-ink);border-radius:9px;place-items:center;padding:0 4px;font-size:12px;font-weight:700;display:grid;position:absolute;top:2px;right:2px}.cnt:empty{visibility:hidden}.timebar .seg{height:38px;overflow:visible}.timebar .seg-b{font-size:14px;position:relative}.timebar .seg-b:first-child{border-radius:4.5px 0 0 4.5px}.timebar .seg-b:last-child{border-radius:0 4.5px 4.5px 0}.timebar .i{width:22px;height:22px}.timebar .tb-time .i{width:18px;height:18px}.timebar .tb-time,.timebar .tb-now,.timebar .tb-opts{position:relative}.timebar .seg-b:after{content:"";position:absolute;inset:-6px 0}.timebar .tb-time:after,.timebar .tb-now:after,.timebar .tb-opts:after{content:"";position:absolute;inset:-4px 0}@property --p{syntax:"<percentage>";inherits:false;initial-value:100%}@keyframes ring{0%{--p:100%}to{--p:0%}}.statusline{height:30px;color:var(--ink2);border-bottom:1px solid var(--hair);white-space:nowrap;flex:none;align-items:center;gap:8px;padding:0 16px;font-size:13px;display:flex;overflow:hidden}.statusline>span:last-child{text-overflow:ellipsis;overflow:hidden}.statusline .dot{background:conic-gradient(var(--ink) var(--p),var(--hair) 0);width:14px;height:14px;animation:ring var(--ring,20s) linear forwards;border-radius:50%;flex:none;-webkit-mask:radial-gradient(circle,#0000 3.5px,#000 4px);mask:radial-gradient(circle,#0000 3.5px,#000 4px)}.statusline.is-plan .dot{background:var(--ink3);animation:none;-webkit-mask:radial-gradient(circle,#0000 4.5px,#000 5px);mask:radial-gradient(circle,#0000 4.5px,#000 5px)}.statusline.is-load .dot{background:var(--hair);animation:none}.statusline.is-warn{color:var(--ink)}.statusline.is-warn .dot{background:var(--ink2);animation:none}.gh{height:36px;color:var(--ink2);align-items:flex-end;padding:0 16px 6px;font-size:13px;font-weight:700;display:flex}.ghx{justify-content:space-between;gap:12px}.ghx span:last-child{white-space:nowrap;align-items:center;gap:3px;font-size:12px;font-weight:500;display:flex}.ghx span:first-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.row{background:var(--surface);border-bottom:1px solid var(--hair);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;height:64px;padding:0 16px;display:grid}button.row:active{background:var(--press)}.row>.i{color:var(--ink2)}.row .i.here{color:var(--brand)}.rt{flex-direction:column;gap:2px;min-width:0;display:flex}.rt b{font-family:var(--cond);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.rt b mark{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:3px;background:0 0;text-decoration-thickness:2px}.rt small{color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;height:18px;font-size:13px;display:flex;overflow:hidden}.rt small.txt{line-height:18px;display:block}.rte{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.rte-a{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:3ch;overflow:hidden}.rte-b{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:calc(100% - 3ch - 22px);overflow:hidden}.rte .rte-i{width:16px;height:16px;color:var(--ink2);flex:none}.rr{text-align:right;width:92px;color:var(--ink2);flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.rr b{color:var(--ink);font-size:16px;font-weight:700}.rr.dist{width:56px}.sk{background:var(--skel);vertical-align:middle;border-radius:3px;height:12px;display:inline-block}.row.is-skel{pointer-events:none}.hint{width:100%;height:44px;color:var(--ink2);border-bottom:1px solid var(--hair);background:var(--ground);align-items:center;gap:8px;padding:0 16px;font-size:13px;display:flex}.hint b{color:var(--ink)}.hint .i{width:18px;height:18px}.ln{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;place-items:center;min-width:26px;height:22px;padding:0 5px;font-size:13px;font-weight:800;line-height:1;display:inline-grid}.ln-u{background:var(--c);color:#fff;border-radius:3px}.ln-u.dk{color:#14161a}.ln-tram{border:2px solid var(--tram);color:var(--tram);background:var(--surface);border-radius:11px}.ln-bus,.ln-other{background:var(--bus);color:#fff;border-radius:11px}.ln-rail{background:var(--rail);color:#fff;border-radius:3px 11px}.ln.sm{min-width:24px;height:20px;padding:0 4px;font-size:12px}.ln-walk{color:var(--ink2);min-width:22px;padding:0}.ln-walk .i{width:20px;height:20px}.lns{align-items:center;gap:4px;display:flex;overflow:hidden}.shift{width:100%;height:44px;color:var(--ink2);border-bottom:1px solid var(--hair);justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.shift:disabled{opacity:.5}.conn{background:var(--surface);border-bottom:1px solid var(--hair);grid-template-columns:80px minmax(0,1fr) 64px;align-items:center;gap:10px;width:100%;height:96px;padding:0 16px;display:grid}button.conn:active{background:var(--press)}.c-t{flex-direction:column;gap:4px;display:flex}.c-dep{align-items:baseline;gap:4px;font-size:22px;font-weight:800;line-height:1;display:flex}.c-dep i{width:14px;font-style:normal;display:inline-flex}.c-arr{color:var(--ink2);font-size:14px}.c-m{flex-direction:column;gap:7px;min-width:0;display:flex}.c-chain{align-items:center;gap:3px;height:22px;display:flex;overflow:hidden}.c-chain .i.sm{width:12px;height:12px;color:var(--ink3)}.c-st{color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;height:17px;font-size:13px;overflow:hidden}.c-st b{color:var(--ink);font-weight:700}.c-st .bad,.c-board .bad{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--ink3);text-decoration-color:var(--ink3);font-weight:700}.cdw{min-width:58px;display:inline-block}.c-d{text-align:right;flex-direction:column;gap:4px;display:flex}.c-d b{font-size:16px;font-weight:700}.c-d span{color:var(--ink2);font-size:13px}.conn.gone{opacity:.45}.conn.is-skel{pointer-events:none}.empty{text-align:center;color:var(--ink2);flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;min-height:200px;padding:32px 24px;display:flex}.empty b{color:var(--ink);font-size:18px}.btn{background:var(--sel);height:44px;color:var(--sel-ink);text-align:center;border-radius:6px;place-items:center;padding:0 18px;font-weight:700;display:inline-grid}.btn.ghost{color:var(--ink);border:1.5px solid var(--brand);background:0 0}.head{background:var(--plate);height:60px;color:var(--plate-ink);flex:none;align-items:center;gap:4px;padding:0 8px;display:flex}.head :focus-visible{outline-color:#fff}.head-back,.head-icon{border-radius:6px;flex:none;place-items:center;width:44px;height:44px;display:grid}.head-icon[aria-pressed=true] .i{fill:var(--brand);stroke:var(--brand)}.head-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.head-title b{font-size:18px}.head-title span{color:var(--plate-ink2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.head-st{min-width:0;height:44px;color:var(--plate-ink);flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.head-st-n{font-family:var(--cond);white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:700;overflow:hidden}.head-act{background:var(--plate-key);border-radius:6px;flex:none;height:44px;padding:0 12px;font-size:14px;font-weight:700}.search-head{gap:0}.q-wrap{background:var(--plate-key);border-radius:6px;flex:1;align-items:center;gap:8px;min-width:0;height:44px;padding:0 12px;display:flex}.q-l{color:var(--plate-ink2);flex:none;width:44px;font-size:13px}.q{min-width:0;font-family:var(--cond);color:var(--plate-ink);caret-color:var(--brand);background:0 0;border:0;outline:0;flex:1;font-size:20px;font-weight:700}.q::placeholder{color:var(--plate-ink2);opacity:1;font-weight:500}.q-wrap:focus-within{box-shadow:inset 0 0 0 2px var(--brand)}.chips{scrollbar-width:none;background:var(--surface);border-top:1px solid var(--hair);flex:none;align-items:center;gap:8px;height:60px;padding:0 12px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--hair);height:44px;font-family:var(--cond);white-space:nowrap;border-radius:6px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:15px;font-weight:600;display:flex}.chip small{color:var(--ink2);font-size:12px;font-family:var(--sans)}.chip[aria-pressed=true]{background:var(--sel);color:var(--sel-ink);border-color:var(--sel)}.chip[aria-pressed=true] small{color:inherit;opacity:.8}.notice{height:40px;color:var(--ink2);border-bottom:1px solid var(--hair);white-space:nowrap;flex:none;align-items:center;gap:8px;padding:0 16px;font-size:13px;display:flex;overflow:hidden}.notice span{text-overflow:ellipsis;overflow:hidden}.notice .i{width:18px;height:18px}.notice.warn{color:var(--ink);font-weight:600}.colhead{height:28px;color:var(--ink2);border-bottom:1px solid var(--hair);flex:none;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 16px;font-size:12px;display:grid}.colhead .lv{vertical-align:-1px;margin-right:3px;display:inline-block}.ch-r{text-align:right}.dep{background:var(--surface);border-bottom:1px solid var(--hair);grid-template-columns:44px minmax(0,1fr) 46px 46px;align-items:center;gap:6px;width:100%;height:60px;padding:0 16px;display:grid}button.dep:active{background:var(--press)}.dep .rt b{font-size:17px}.dep .cd{text-align:right;grid-template-rows:24px 16px;grid-template-columns:minmax(0,1fr) 16px;align-items:end;height:40px;font-size:20px;font-weight:800;line-height:24px;display:grid}.dep .cd+.cd{color:var(--ink2);font-weight:500}.dep .cd b{font-weight:inherit;text-align:right}.dep .cd b.t{color:var(--ink2);grid-area:1/1/3/3;align-self:center;font-size:15px;font-weight:600}.dep .cd em{color:var(--ink2);text-align:right;grid-area:2/1/auto/3;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.dep .cd .lv{align-self:start;margin:6px 0 0 2px}.dep .cd .none{color:var(--ink3);grid-area:1/1/3/3;align-self:center;font-size:15px;font-weight:500}.mapbox{background:var(--mapbg);flex:1;min-height:0;position:relative;overflow:hidden}.mapgl{position:absolute;inset:0}.mapctl{background:var(--hair);z-index:2;border-radius:6px;gap:1px;display:grid;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 2px 8px -2px #0009}.mapctl button{background:var(--surface);place-items:center;width:44px;height:44px;display:grid}.mapnote{color:var(--ink2);z-index:2;background:#000000b8;border-radius:3px;padding:2px 6px;font-size:12px;position:absolute;top:8px;left:8px}.mapsrc{height:44px;color:var(--ink2);z-index:2;text-underline-offset:2px;background:#0009;border-radius:0 0 6px;align-items:center;padding:0 10px;font-size:12px;text-decoration:underline;display:flex;position:absolute;top:0;left:0}.mapcard{background:var(--surface);border-top:1px solid var(--hair);flex:none;grid-template-rows:28px 44px 44px;gap:4px;height:148px;padding:12px 16px;display:grid}.mc-n{align-items:center;gap:8px;min-width:0;display:flex}.mc-n b{font-family:var(--cond);white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:60%;font-size:20px;overflow:hidden}.mc-d{color:var(--ink2);flex-direction:column;justify-content:center;gap:3px;min-width:0;font-size:13px;display:flex}.mc-d div{white-space:nowrap;align-items:center;gap:6px;height:19px;display:flex;overflow:hidden}.mc-d span:not(.ln){text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.mc-d b{color:var(--ink)}.mc-d .i.ar{margin-right:0}.mc-a{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.mc-a button{border:1.5px solid var(--brand);text-align:center;border-radius:6px;height:44px;font-size:14px;font-weight:700}.mc-a button:disabled{opacity:.35;cursor:default;border-color:var(--ink3)}.mc-hint{color:var(--ink2);grid-row:1/3;align-self:center;font-size:15px}.maplibregl-ctrl-attrib{color:var(--ink2)!important;background:#000000b3!important;font-size:12px!important}.maplibregl-ctrl-attrib a{color:var(--ink2)!important}.maplibregl-ctrl-attrib-button{filter:invert()}.pos-dot{background:var(--brand);width:18px;height:18px;box-shadow:0 0 0 2px var(--brand);border:3px solid #000;border-radius:50%}.svgmap text{font-family:var(--cond);fill:var(--ink);paint-order:stroke;stroke:var(--mapbg);stroke-linejoin:round;font-weight:600}.dmap{background:var(--mapbg);border-bottom:1px solid var(--hair);width:100%;height:190px;transition:height .2s var(--ease);flex:none;display:block;position:relative;overflow:hidden}.dmap.big{height:400px}.dmap .tap{z-index:2;position:absolute;inset:0}.tl{--rail-w:20px;--line-w:6px;--dot-w:4px;--node:14px;--node-ring:3px;--node-sm:10px;--node-sm-ring:2px;--name-lh:24px;--pad-top:10px;--anchor:calc(var(--pad-top) + var(--name-lh) / 2);padding:8px 0 24px;list-style:none}.tl li{grid-template-columns:62px var(--rail-w) minmax(0,1fr);align-items:start;column-gap:10px;padding:0 16px;display:grid}.tl-stop{min-height:44px}.tl-stop>.tl-t,.tl-stop>.tl-s{padding-top:var(--pad-top);padding-bottom:6px}.tl-t{text-align:right;font-size:16px;font-weight:700;line-height:var(--name-lh);flex-direction:column;align-items:flex-end;display:flex}.tl-t small{color:var(--ink2);white-space:nowrap;height:14px;font-size:12px;font-weight:500;line-height:14px}.tl-rail{width:var(--rail-w);align-self:stretch;position:relative}.tl-rail .rl{left:calc((var(--rail-w) - var(--line-w)) / 2);width:var(--line-w);background:var(--c,var(--ink3));position:absolute}.tl-rail .rl.full{top:0;bottom:0}.tl-rail .rl.up{height:var(--anchor);top:0}.tl-rail .rl.dn{top:var(--anchor);bottom:0}.tl-rail .rl.dim{opacity:.35}.tl-rail .rl.dots{display:none}.tl-rail .nd{z-index:1;box-sizing:border-box;background:var(--ground);width:var(--node);height:var(--node);left:calc((var(--rail-w) - var(--node)) / 2);top:calc(var(--anchor) - var(--node) / 2);border:var(--node-ring) solid var(--ink);border-radius:50%;position:absolute}.tl-rail .nd.small{width:var(--node-sm);height:var(--node-sm);left:calc((var(--rail-w) - var(--node-sm)) / 2);top:calc(var(--anchor) - var(--node-sm) / 2);border-width:var(--node-sm-ring);border-color:var(--ink3)}.tl-stop.via .tl-s b{font-family:var(--sans);color:var(--ink2);font-size:14px;font-weight:500}.tl-stop.via .tl-t{color:var(--ink2);font-size:14px;font-weight:500}.tl-s{flex-direction:column;min-width:0;display:flex}.tl-s b{font-family:var(--cond);font-size:18px;line-height:var(--name-lh);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl-s small{color:var(--ink2);white-space:nowrap;align-items:center;gap:3px;font-size:13px;display:flex;overflow:hidden}.tl-ride .tl-b{flex-direction:column;gap:2px;min-width:0;padding:0 0 4px;display:flex}.tl-dir{align-self:flex-start;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:44px;padding:0 8px 0 0;font-size:15px;font-weight:600;display:flex}.tl-dir span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl-dir .i.ar{margin-right:0}.tl-dir .i.sm:last-child{color:var(--ink2);flex:none}button.tl-dir:active{opacity:.6}.tl-more{min-height:44px;color:var(--ink2);align-self:flex-start;align-items:center;gap:4px;padding-right:12px;font-size:13px;display:inline-flex}.tl-more .i{transition:transform .15s var(--ease)}.tl-more[aria-expanded=true] .i{transform:rotate(180deg)}.tl-x{min-height:44px;color:var(--ink2);font-size:14px}.tl-x>.tl-b{align-self:center}.tl-x .tl-b{justify-content:space-between;align-items:center;gap:8px;display:flex}.tl-x .i{width:20px;height:20px}.tl-x.has-stp{min-height:56px}.tl-xw{align-items:center;gap:6px;min-width:0;display:flex}.tl-xt{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.tl-xt b{color:var(--ink)}.tl-xt small{color:var(--ink2);font-size:13px}.tag{border:1.5px solid var(--ink2);color:var(--ink);border-radius:3px;padding:2px 6px;font-size:12px;font-weight:700}.stp{color:var(--ink2);flex:none;grid-template-columns:44px 44px;display:grid}.stp button{place-items:center;height:44px;display:grid;position:relative}.stp button:before{content:"";border:1.5px solid var(--hair);border-radius:50%;position:absolute;inset:7px}.stp button:active:before{background:var(--press)}.stp button:disabled{opacity:.3;cursor:default}.stp .i{width:16px;height:16px;position:relative}.tl-stop.dim .tl-s b,.tl-stop.dim .tl-t{color:var(--ink2);font-weight:500}.tp-title{font-family:var(--cond);align-items:center;gap:8px;min-width:0;font-size:18px;display:flex}.tp-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tp-title .i.ar{margin-right:0}.tabbar{background:var(--surface);border-top:1px solid var(--plate-hair);z-index:2;padding-bottom:var(--safe-b);grid-template-columns:repeat(3,1fr);display:grid}.tabbtn{color:var(--ink2);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex;position:relative}.tabbtn.is-on{color:var(--ink);font-weight:800}.tabbtn.is-on:before{content:"";background:var(--brand);height:3px;position:absolute;top:0;left:22%;right:22%}.tabbtn:focus-visible{outline-offset:-4px}.scrim{opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility 0s .2s;z-index:5;background:#0009;position:absolute;inset:0}.scrim.is-on{opacity:1;visibility:visible;transition:opacity .2s var(--ease),visibility 0s}.sheet{background:var(--surface);visibility:hidden;transition:transform .22s var(--ease),visibility 0s .22s;z-index:6;border-top:1px solid var(--hair);border-radius:14px 14px 0 0;flex-direction:column;max-height:calc(100% - 24px);padding:6px 0 0;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -12px 32px -12px #000c}.sheet.is-on{visibility:visible;transition:transform .22s var(--ease),visibility 0s;transform:none}.sh-body{flex:1;min-height:0;padding-bottom:10px;overflow-y:auto}.sh-foot{height:calc(68px + var(--safe-b));padding:0 12px var(--safe-b) 16px;border-top:1px solid var(--hair);background:var(--surface);flex:none;align-items:center;gap:10px;display:flex}.sh-foot .seg{flex:none;width:176px}.sh-sum{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;overflow:hidden}.sh-title{flex:1;font-size:18px}.sh-done{background:var(--sel);height:44px;color:var(--sel-ink);border-radius:6px;flex:none;padding:0 16px;font-weight:700}.sh-reset{height:44px;color:var(--ink2);text-underline-offset:3px;flex:none;padding:0 10px;font-size:14px;font-weight:600;text-decoration:underline}.quick{grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 16px 4px;display:grid}.quick button,.grid button{background:var(--plate);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;height:44px;font-size:15px;font-weight:700}.quick button{font-size:14px}.days{scrollbar-width:none;gap:6px;padding:10px 16px 2px;display:flex;overflow-x:auto}.days::-webkit-scrollbar{display:none}.days button{background:var(--plate);width:58px;height:52px;color:var(--ink2);border-radius:6px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;font-size:12px;display:flex}.days button b{color:var(--ink);font-size:16px}.gl{color:var(--ink2);padding:14px 16px 6px;font-size:13px;font-weight:700}.gl span{color:var(--ink3);font-weight:500}.grid{gap:6px;padding:0 16px;display:grid}.g6{grid-template-columns:repeat(6,1fr)}.sheet .pick[aria-pressed=true]{background:var(--sel);color:var(--sel-ink)}.sheet .pick[aria-pressed=true] b{color:inherit}.grid button.cur{box-shadow:inset 0 0 0 2px var(--ink2)}.switchrow{justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:60px;padding:8px 16px;display:flex}.switchrow span:first-child{flex-direction:column;gap:2px;display:flex}.switchrow small{color:var(--ink2);font-size:13px}.sw{border:1.5px solid var(--brand);border-radius:14px;flex:none;width:48px;height:28px;position:relative}.sw:after{content:"";background:var(--ink2);width:19px;height:19px;transition:transform .15s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}[aria-checked=true] .sw{background:var(--sel);border-color:var(--sel)}[aria-checked=true] .sw:after{background:var(--sel-ink);transform:translate(20px)}.sheet .switchrow.sep{border-top:1px solid var(--hair);margin-top:8px}.info{color:var(--ink2);flex-direction:column;gap:14px;padding:16px 16px 32px;font-size:15px;display:flex}.info h2{color:var(--ink);margin-top:8px;font-size:16px}.info ul{gap:6px;padding-left:18px;display:grid}.info a{align-items:center;min-height:44px;display:inline-flex}.dbg{height:44px;color:var(--plate-ink2);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.dbg b{color:var(--ink);text-align:center;width:3ch;font-size:16px}.dbg b.bad{color:var(--brand)}.dbg button{min-width:44px;height:44px;color:var(--ink);font-size:12px;font-weight:700;text-decoration:underline}.topbar-b.icon-only{justify-content:center;width:44px;padding:0}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important}.statusline .dot{animation:none}}.gh.gh-near{align-items:center;height:44px;padding-bottom:0}.closer{height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:3px;white-space:nowrap;text-overflow:ellipsis;max-width:55%;font-size:12px;font-weight:700;overflow:hidden}.row.blank{background:0 0;border-bottom-color:#0000}.gh.divider{align-items:center;height:32px;padding-bottom:0}.maplibregl-ctrl-bottom-left{max-width:calc(100% - 64px);bottom:0;left:0}.maplibregl-ctrl-attrib.maplibregl-compact{box-sizing:border-box;max-width:calc(100% - 12px);margin:0 0 6px 6px!important}.maplibregl-ctrl-attrib.maplibregl-compact:not(.maplibregl-compact-show){width:28px;height:28px;padding:0!important}.maplibregl-ctrl-attrib-button{top:auto!important;bottom:0!important}.maplibregl-ctrl-attrib-button:after{content:"";position:absolute;inset:-8px}.screen:not(.is-on) .maplibregl-control-container{display:none}.conn{grid-template-rows:50px 34px;grid-template-columns:80px minmax(0,1fr) 64px;align-content:center;row-gap:2px;padding:4px 16px}.conn .c-t{grid-row:1/3;align-self:center}.conn .c-m{grid-area:1/2}.conn .c-d{grid-area:1/3}.c-was{color:var(--ink2);white-space:nowrap;height:14px;font-size:12px;line-height:14px}.c-board{color:var(--ink2);grid-area:2/2/auto/4;align-self:start;height:34px;font-size:13px;line-height:17px;overflow:hidden}.conn.is-skel .c-m{grid-row:1/3}.stp button.urge{color:var(--ink)}.stp button.urge:before{border-color:var(--brand);border-width:2px}.tag{white-space:nowrap}.mapgl:not(.attrib-ready) .maplibregl-ctrl-bottom-left{display:none}.stp button.pending{opacity:.45}.stp button:disabled:before{border-style:dashed}.screen.push.up.search-layer{visibility:hidden;transition:none;transform:none}.screen.push.up.search-layer.is-on{visibility:visible}.tl{position:relative}.tl-dots{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.tl-dots line{stroke:var(--ink3);stroke-width:4px;stroke-linecap:round;fill:none}.tl-x>.tl-b{will-change:transform}.lns .pl{color:var(--ink2);white-space:nowrap;flex:none;margin-right:4px;font-size:13px}.ln-long{color:#14161a;letter-spacing:.02em;background:#e9e9e4;border-radius:2px}.ln-regio{color:#e9e9e4;background:0 0;border:2px solid #b7bbc3;border-radius:2px}.ln-long.op-obb{background:var(--op-obb);color:var(--op-obb-ink);border-radius:0;padding-bottom:2px;box-shadow:inset 0 -3px #ffffffb8}.ln-regio.op-obb{border-color:var(--op-obb-line);color:#fff}.ln-long.op-nj,.ln-regio.op-nj{background:var(--op-nj);color:var(--op-nj-ink);box-shadow:inset 0 -3px 0 var(--op-nj-accent);border:0;border-radius:0;padding-bottom:2px}.ln-long.op-wb,.ln-regio.op-wb{background:var(--op-wb);color:var(--op-wb-ink);box-shadow:inset 0 -3px 0 var(--op-wb-accent);border:0;border-radius:0;padding-bottom:2px}.ln-regio.op-cat,.ln-long.op-cat{background:var(--op-cat);color:var(--op-cat-ink);border:2px solid var(--op-cat-accent)}.trno{color:var(--ink2);white-space:nowrap;font-size:13px;font-weight:600}.seg-gap{margin-top:8px}.lns .more{color:var(--ink2);flex:none;padding-left:2px;font-size:12px;font-weight:700}.mc-n .lns{flex:1;min-width:0}.pf-v{align-items:center;display:flex}.pf-n{white-space:nowrap;text-overflow:ellipsis;line-height:24px;overflow:hidden}.pf-pl{font-family:var(--sans);color:var(--plate-ink2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:16px;overflow:hidden}.pf-town{color:var(--plate-ink2);font-weight:500}.pf-fit{min-width:0;display:flex}.pf-fit .pf-town{flex:none}.pf-fit .pf-nm{text-overflow:ellipsis;min-width:0;overflow:hidden}.pf-fit.sm{font-size:15px}.rt b .town{color:var(--ink2);font-weight:500}.tl li{position:relative}.veh{z-index:3;object-fit:contain;width:38px;height:38px;left:calc(16px + 62px + 10px + var(--rail-w) / 2);top:var(--anchor);pointer-events:none;filter:drop-shadow(0 0 #000)drop-shadow(0 1px 2px #000c);position:absolute;transform:translate(-50%,-50%)}.veh.between{top:calc(var(--anchor) + 50%)}.tl-approach{height:36px}.veh.approach{top:calc(var(--anchor) - 30px)}.veh[role=button]{pointer-events:auto;cursor:pointer}.tl-s b .town{color:var(--ink2);font-weight:500}.tl-dir .trno,.tp-title .trno{flex:none}
