:root{--font-display: "Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--font-body: "Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "DM Mono", ui-monospace, monospace;--s: 1;--r: 13px}html[data-theme=dark]{--scroll: oklch(.85 .03 250 / .22);--scroll-hover: oklch(.85 .03 250 / .4);--bg: oklch(.135 .022 250);--surface: oklch(.19 .022 250 / .88);--raised: oklch(.245 .024 250);--fg: oklch(.95 .012 230);--muted: oklch(.7 .022 235);--faint: oklch(.52 .02 240);--border: oklch(.85 .03 250 / .16);--hair: oklch(.85 .03 250 / .1);--accent: oklch(.62 .09 210);--accent-fill: oklch(.7 .1 210);--on-accent: #081318;--shadow: 0 22px 54px oklch(.06 .02 250 / .66);--m-label: oklch(.9 .012 250);--m-halo: #04070d;--pill-rim: oklch(.09 .02 250)}html[data-theme=light]{--scroll: oklch(.24 .02 250 / .24);--scroll-hover: oklch(.24 .02 250 / .42);--bg: oklch(.97 .005 250);--surface: oklch(1 0 0 / .9);--raised: oklch(1 0 0);--fg: oklch(.24 .022 250);--muted: oklch(.5 .02 250);--faint: oklch(.62 .018 250);--border: oklch(.24 .02 250 / .15);--hair: oklch(.24 .02 250 / .08);--accent: oklch(.58 .1 225);--accent-fill: oklch(.5 .11 225);--on-accent: #06252a;--shadow: 0 16px 40px oklch(.35 .03 250 / .18);--m-label: oklch(.28 .02 250);--m-halo: #ffffff;--pill-rim: #ffffff}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;-webkit-font-smoothing:antialiased}#map,#map3d{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--bg)}[hidden]{display:none!important}.leaflet-container{font-family:var(--font-body);background:var(--bg)}html[data-theme=dark] .leaflet-tile{filter:saturate(.5) brightness(.66) contrast(1.1)}.ui{position:absolute;z-index:20}.lab{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.num{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.glass{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}#topbar{top:14px;left:14px;right:14px;display:flex;align-items:stretch;gap:10px;pointer-events:none}#topbar>*{pointer-events:auto}#brand{display:flex;align-items:center;gap:10px;height:46px;padding:0 16px 0 9px;border-radius:999px}#brand .mark{width:27px;height:27px;border-radius:50%;flex:none;background:conic-gradient(from 210deg,#d42e12,#fa9e0d,#97c616,#09a,#005ec4,#90a,#d42e12);position:relative}#brand .mark:after{content:"";position:absolute;top:5.5px;right:5.5px;bottom:5.5px;left:5.5px;border-radius:50%;background:var(--raised)}#brand h1{margin:0;font-family:var(--font-display);font-size:13.5px;font-weight:800;letter-spacing:.14em;line-height:1;white-space:nowrap}#brand p{margin:3px 0 0;font-family:var(--font-serif);font-style:italic;font-size:13px;line-height:1;color:var(--muted);letter-spacing:.01em}#netpill{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 16px 0 14px;border-radius:999px;cursor:pointer;color:var(--fg);font:700 12px var(--font-display);letter-spacing:.05em;text-transform:uppercase}#netpill .cd{margin:0;width:8px;height:8px}#netpill.ok .cd{background:#2fbf71;box-shadow:0 0 8px #2fbf71b3}#netpill.bad .cd{background:#e0245e;box-shadow:0 0 8px #e0245ecc;animation:orbBreathe 1.4s ease-in-out infinite}#netpill:hover{border-color:var(--accent)}#modebar{margin-left:auto;display:flex;align-items:center;gap:3px;height:46px;padding:4px;border-radius:999px}.mode{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:9px 14px;cursor:pointer;white-space:nowrap;font:700 12px var(--font-body)}.mode:hover{color:var(--fg);background:var(--hair)}.mode.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);box-shadow:none}#journey{top:74px;left:72px;width:370px;max-height:calc(100vh - 140px);padding:18px;overflow-y:auto;transition:width .18s ease,padding .18s ease}#journey:has(#journey-options:not([hidden])){overflow:visible}.jhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.jhead>div:first-child{grid-column:2;text-align:center}.eyebrow{display:block;margin-bottom:4px;color:var(--accent);font:700 10.5px var(--font-body);letter-spacing:.11em;text-transform:uppercase}.jicon{width:31px;height:31px;border:1px solid var(--border);border-radius:50%;background:var(--raised);color:var(--fg);cursor:pointer;font-size:19px;line-height:1}#journey.collapsed{display:none}#journey-body{margin-top:15px}.jfields{display:grid;grid-template-columns:1fr 30px 1fr;align-items:end;gap:7px}.jfield span{display:block;margin:0 0 5px 2px;color:var(--muted);font:700 11px var(--font-body)}.jfield input{width:100%;min-width:0;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--raised);color:var(--fg);outline:none;padding:0 10px;font:800 14px var(--font-display);letter-spacing:-.01em}.jinput-wrap{position:relative;display:flex;align-items:center}.jinput-wrap input{padding-right:38px}.jclear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:0;background:var(--border);color:var(--fg);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.jclear svg{display:block;width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.jlocate{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.jlocate svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.jlocate:focus-visible{color:var(--accent);background:var(--border);outline:none}@media(hover:hover){.jlocate:hover{color:var(--accent);background:var(--border)}}.jlocate:active{transform:translateY(-50%) scale(.9)}.jlocate.busy{color:var(--accent);pointer-events:none;animation:busyPulse .9s ease-in-out infinite}.jclear:focus-visible{background:var(--accent);color:var(--on-accent);outline:none}@media(hover:hover){.jclear:hover{background:var(--accent);color:var(--on-accent)}}.jclear:active{transform:translateY(-50%) scale(.9)}.jfield input::placeholder{color:var(--muted);font-weight:400}.jfield input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.swap{width:30px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:9px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);cursor:pointer;font:800 17px var(--font-display)}.swap:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 75%,transparent)}.swap:active{transform:translateY(1px)}.joptions{position:absolute;z-index:30;left:18px;right:18px;top:120px;max-height:290px;overflow-y:auto;padding:6px;background:var(--raised);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.joptions button{display:flex;width:100%;align-items:center;gap:9px;border:0;border-radius:8px;background:transparent;color:var(--fg);padding:8px;cursor:pointer;text-align:left;font:600 13.5px var(--font-body)}.joptions button:hover,.joptions button.active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.joptions .jopt-lab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 8px;color:var(--muted);font:700 10px var(--font-body);letter-spacing:.1em;text-transform:uppercase}.joptions .jopt-lab small{color:var(--faint);font:400 9.5px var(--font-body);letter-spacing:.02em;text-transform:none}.joptions .jopt-walk{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.jactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.jactions button,.jresult-actions button{min-height:40px;border-radius:10px;padding:0 14px;cursor:pointer;font:700 13px var(--font-body)}.jactions .primary{flex:1 0 100%;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.jactions .primary:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 75%,transparent)}.jactions .primary:active{background:color-mix(in srgb,var(--accent) 32%,transparent)}.jactions .secondary{flex:1 1 0;min-width:0}.jactions .secondary,.jresult-actions button{border:1px solid var(--border);background:var(--raised);color:var(--fg)}.jactions button:hover,.jresult-actions button:hover{filter:brightness(1.08);border-color:var(--accent)}.jsaved{display:flex;align-items:center;gap:5px;overflow-x:auto;margin-top:10px;padding-bottom:2px}.jsaved>span{color:var(--muted);font:700 10px var(--font-body);text-transform:uppercase;letter-spacing:.08em}.jsave{display:inline-flex;flex:none;align-items:stretch}.jsaved button{flex:none;border:1px solid var(--border);border-radius:999px;padding:5px 9px;background:transparent;color:var(--fg);cursor:pointer;font:600 11px var(--font-body)}.jsave>button:first-child{border-radius:999px 0 0 999px;padding-right:7px}.jsave>.jremove{border-left:0;border-radius:0 999px 999px 0;padding:3px 7px 5px 5px;color:var(--muted);font-size:15px}.jsave>.jremove:hover{color:#e0245e}.jsaved button:hover{border-color:var(--accent)}.jsaved b{color:var(--accent)}.sdot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;background:var(--faint)}.st-ok .sdot{background:#2fbf71}.st-warn .sdot{background:#f5a623}.st-bad .sdot{background:#e0245e;box-shadow:0 0 6px #e0245eb3}.jsave.st-gone>button:first-child{opacity:.55;text-decoration:line-through}.jsave small{color:var(--muted);font:500 10px var(--font-mono);margin-left:3px}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.jsavebox{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--raised);display:grid;gap:9px}.jsavebox[hidden]{display:none}.jsavebox label>span,.jsavebox legend{display:block;margin-bottom:4px;color:var(--muted);font:700 10px var(--font-body);letter-spacing:.08em;text-transform:uppercase}.jsavebox input[type=text],.jsavebox input[type=time],.jsavebox select{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:var(--surface);color:var(--fg);font:500 13px var(--font-body)}.svtime{display:grid;grid-template-columns:1fr 1fr;gap:8px}.svprefs{border:0;padding:0;margin:0;display:grid;gap:6px}.svprefs label{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg)}.svnote{margin:0;font-size:11px;color:var(--muted);line-height:1.4}.svactions{display:flex;gap:6px}.svactions button{flex:1;border-radius:9px;padding:9px;font:600 12.5px var(--font-body);cursor:pointer;color:var(--fg)}.svactions .primary{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)}.svactions .secondary{border:1px solid var(--border);background:transparent}@media(max-width:700px){.jsavebox input[type=text],.jsavebox input[type=time],.jsavebox select{font-size:16px}.svactions button{min-height:44px}}.brief{margin-top:10px;display:grid;gap:8px}.bhead{display:flex;align-items:baseline;gap:8px}.bcard{border:1px solid var(--border);border-radius:11px;padding:9px 10px;background:var(--raised)}.bcard.st-bad{border-color:#e0245e73}.bcard.st-warn{border-color:#f5a62373}.bcard header{display:flex;align-items:flex-start;gap:8px}.bcard header .sdot{width:9px;height:9px;margin:5px 0 0}.bcard header>div{min-width:0}.bcard header b{display:block;font:700 13.5px var(--font-display)}.bcard header small{display:block;margin-top:1px;color:var(--muted);font-size:11px}.bnew{margin-left:auto;flex:none;border-radius:6px;padding:2px 6px;background:var(--accent-fill);color:var(--on-accent);font:700 9.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase}.jresult .bstatus{margin:6px 0 0;color:var(--fg);font-size:12.5px;font-weight:600}.bcard ul{margin:6px 0 0;padding-left:16px;display:grid;gap:4px;color:var(--fg);font-size:12px;line-height:1.45}.bcard li.bad::marker{color:#e0245e}.bcard li.warn::marker{color:#f5a623}.bcard li small{color:var(--muted)}.bcard .jlink{margin-top:7px}.jresult .jfor{margin:0 0 7px;font-size:11.5px}.jresult .jfor b{color:var(--fg)}.jdetour{margin:8px 0 6px;padding:9px 10px;border-radius:10px;border:1px solid rgb(224 36 94 / .35);background:#e0245e14}.jresult .jdetour p{margin:0;color:var(--fg);font-size:12.5px}.jresult .jdetour p+p,.jresult .jdetour .jbridge{margin-top:7px}.jresult .jdetour .jnote{background:none;border:0;padding:0;color:var(--muted)}.jbridge ul{margin:5px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:12px;color:var(--fg)}.jbridge li small{color:var(--muted)}.jbridge .jhop{margin:8px 0 0;font-size:12px}.busno{display:inline-block;min-width:26px;margin-right:4px;padding:1px 6px;border-radius:6px;background:#2a7de1;color:#fff;font:700 11px var(--font-mono);text-align:center}.busnext{margin-top:2px;color:var(--muted);font-size:11.5px}.busnext b{color:var(--fg)}.jwhen{display:flex;align-items:center;gap:7px;margin-top:9px}.jwhen[hidden]{display:none}.jwhen>span{color:var(--muted);font:700 10px var(--font-body);letter-spacing:.08em;text-transform:uppercase}.jwhen button{border:1px solid var(--border);border-radius:999px;padding:5px 11px;background:transparent;color:var(--fg);cursor:pointer;font:600 11.5px var(--font-body)}.jwhen button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)}.jwhen input{border:1px solid var(--border);border-radius:8px;padding:4px 8px;background:var(--surface);color:var(--fg);font:500 12.5px var(--font-body)}@media(max-width:700px){.jwhen input{font-size:16px}.jwhen button{min-height:36px}}.jsched{margin:8px 0 4px}.jleave{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:13.5px;color:var(--fg)}.jleave b{font-size:17px}.jleave small{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.jlegs{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:5px;font-size:12px;color:var(--fg)}.jlegs li{line-height:1.45}.jlegs li small{display:block;color:var(--muted);font-size:11px;padding-left:2px}.jlegs li.chg{color:var(--muted);padding-left:10px;border-left:2px dotted var(--border)}.jlegs li.chg small{display:inline}.jlegs .late,.nexttr small{color:#f5a623}.nexttr small{color:var(--muted)}.nexttr>div{margin-top:3px}#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:60;max-width:min(92vw,420px);padding:9px 14px;border-radius:11px;color:var(--fg);font:600 12.5px/1.4 var(--font-body)}@media(max-width:700px){#toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}.jresult{margin-top:12px;padding-top:11px;border-top:1px solid var(--hair)}.jresult p{margin:7px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}.jallclear{display:flex;align-items:center;gap:7px;color:var(--fg);font-size:13px}.jallclear .cd{flex:none;margin:0;background:#2fbf71;box-shadow:0 0 8px #2fbf7199}.jallclear.bad .cd{background:#e0245e;box-shadow:0 0 8px #e0245eb3}.jallclear.unavailable .cd{background:#8a8f98;box-shadow:none}.jnotice{padding:10px 11px;border-radius:10px;background:var(--hair);color:var(--muted);font-size:13px}.jroute{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:7px;align-items:center;margin-bottom:8px}.jroute>div{min-width:0}.jroute>div:last-child{text-align:right}.jroute>span{color:var(--accent);text-align:center;font-size:18px}.jroute b{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14px var(--font-display)}.jwarn{color:var(--fg)!important;background:#e0245e1f;border:1px solid rgb(224 36 94 / .25);border-radius:9px;padding:8px 9px;margin-top:7px}.jwarn>p{margin:0!important;color:var(--fg)!important}.jwarn .galert{margin:7px 0 0;padding:7px 9px}.jallclear.warn .cd{background:#f5a623;box-shadow:0 0 8px #f5a62399}.jnote{background:#f5a6231a;border:1px solid rgb(245 166 35 / .25);border-radius:9px;padding:8px 9px}.jnote b{color:var(--fg)}.jstation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:7px 0;border-bottom:1px solid var(--hair)}.jstation>div{min-width:0}.jstation b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.jstation small{display:block;color:var(--muted);font-size:10.5px}.jstation>small{grid-column:2;text-align:right}.jlevel{display:inline-block;padding:3px 8px 3.5px;border-radius:6px;color:#fff;white-space:nowrap;font:800 9.5px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.jlevel.lv-l{background:#2fbf71;color:#08170f}.jlevel.lv-m{background:#f5a623;color:#1a1305}.jlevel.lv-h{background:#e0245e}.jmuted{color:var(--muted);text-align:right;font-size:11.5px}.jresult-actions{display:flex;gap:7px;margin-top:12px}.jresult-actions button:first-child{flex:1;border-color:var(--accent);color:var(--fg)}.jfresh{font:400 10.5px/1.45 var(--font-mono)!important}.jtrust{margin:12px 0 0;color:var(--muted);font-size:10.5px;line-height:1.45}#rail{top:50%;left:14px;width:46px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;padding:9px 6px;gap:4px;border-radius:999px}.rtool{width:34px;height:34px;border:0;border-radius:999px;cursor:pointer;background:transparent;color:var(--fg);display:grid;place-items:center;padding:0}.rtool svg{width:17px;height:17px}.rtool:hover{background:var(--hair)}.rtool[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.rsep{width:20px;height:1px;background:var(--hair);margin:3px 0;flex:none}.rtool.txt{font:800 11px var(--font-display);letter-spacing:.03em;color:var(--fg);text-decoration:none}.rtool.busy{animation:busyPulse .9s ease-in-out infinite;pointer-events:none}@keyframes busyPulse{0%,to{opacity:1}50%{opacity:.35}}body:not([data-view="3d"]) .only3d{display:none!important}#flyout{top:132px;left:72px;width:300px;max-height:calc(100vh - 200px);display:none;flex-direction:column;padding:13px;overflow:hidden}#flyout.open{display:flex;animation:flyIn .16s ease}@keyframes flyIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}#sec-search,#sec-lines{display:none;flex-direction:column;min-height:0}#sec-search.on,#sec-lines.on{display:flex}#sec-lines{flex:1}#subtabs{display:flex;gap:3px;padding:3px;flex:none;background:var(--hair);border-radius:10px}.stab{flex:1;border:0;padding:7px 0;border-radius:8px;cursor:pointer;font:600 12.5px var(--font-body);color:var(--muted);background:transparent;transition:background .15s,color .15s}.stab:hover{color:var(--fg)}.stab[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.tabpane{display:none;flex-direction:column;min-height:0}.tabpane.on{display:flex}#tab-lines.on{flex:1}#tab-lines .sect:first-of-type{margin-top:10px}#tab-live.on{flex:1;overflow-y:auto;padding-right:4px}#search{width:100%;padding:10px 13px;border-radius:10px;border:1px solid var(--border);background:var(--raised);color:var(--fg);font:400 13px var(--font-body);outline:none}#search::placeholder{color:var(--muted)}@media(max-width:700px){#search{font-size:16px}}#search:focus{border-color:var(--accent)}#search-results{max-height:min(340px,calc(100vh - 210px));overflow:auto;margin-top:4px}.sr{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;cursor:pointer;font-size:13px}.sr:hover{background:var(--hair)}.sr .pills{display:flex;gap:2px;flex:none}.sect{margin:14px 0 7px;display:flex;justify-content:space-between;align-items:baseline}.sect a{font-size:10.5px;color:var(--accent);cursor:pointer;font-weight:700}.sect a+a{margin-left:10px}#legend{overflow-y:auto;flex:1;padding-right:4px}.grp{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);opacity:.85;margin:10px 0 6px}#legend .grp:first-child{margin-top:2px}.pillgrid{display:flex;flex-wrap:wrap;gap:6px}.lpill{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;background:var(--lc);color:#fff;font:700 11px var(--font-mono);letter-spacing:.02em;transition:background .12s,color .12s,border-color .12s}.lpill i{display:none;width:7px;height:7px;border-radius:99px;background:var(--lc)}.lpill:hover{filter:brightness(1.12)}.lpill.dash{border-style:dashed;border-color:#ffffff80}.lpill.off{background:transparent;color:var(--muted);border-color:var(--border);border-style:solid;filter:none}.lpill.off i{display:inline-block}.lpill.off:hover{border-color:var(--accent);color:var(--fg)}#footlist,#linklist,#flowlist{display:none}#footlist.on,#linklist.on,#flowlist.on{display:block}.fl .lc{width:9px;height:9px;border-radius:3px;flex:none}.fl .lc.grad{width:20px;height:6px}#map.on-station,#map.on-station canvas{cursor:pointer}.arc-canvas{pointer-events:auto}.arctip{position:absolute;z-index:800;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font:600 11.5px var(--font-body);padding:4px 9px;white-space:nowrap}.acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.fbtn,.fanbtn{display:inline-block;cursor:pointer;-webkit-user-select:none;user-select:none;font:600 11px var(--font-body);color:var(--accent);border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:var(--raised);transition:border-color .12s,color .12s}.fbtn:hover,.fanbtn:hover{border-color:var(--accent);color:var(--fg)}.fbtn.chip{margin:2px 0 8px}.pp .ttl i.grad{width:24px;height:8px;border-radius:4px}#clock{padding-bottom:4px}#clock .sect{margin-top:12px}#clock-lab{font-size:12px;color:var(--fg)}#clock.scrubbed #clock-lab{color:var(--accent)}#clock-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;margin:2px 0 4px;background:transparent;cursor:pointer}#clock-slider::-webkit-slider-runnable-track{height:22px;background:linear-gradient(90deg,var(--hair) 0,var(--hair) 22%,var(--border) 22%,var(--border) 100%) center / 100% 4px no-repeat}#clock-slider::-moz-range-track{height:4px;border-radius:2px;background:var(--border)}#clock-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--accent-fill) 85%,var(--raised));border:2px solid var(--raised);margin-top:3px;box-shadow:0 1px 6px #00000059}#clock-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:color-mix(in srgb,var(--accent-fill) 85%,var(--raised));border:2px solid var(--raised)}.crow{display:flex;align-items:center;gap:5px}.cgap{flex:1}.cbtn{border:1px solid var(--border);background:var(--raised);color:var(--muted);font:600 11.5px var(--font-body);padding:5px 10px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cbtn.ic{padding:4px 8px;display:inline-grid;place-items:center}.cbtn.ic svg{width:13px;height:13px}.cbtn:hover{border-color:var(--accent);color:var(--fg)}.cbtn[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)}.netline{display:flex;align-items:center;gap:8px;padding:6px 0 4px;font-size:13px}.netline .cd{flex:none;margin:0}.netline.ok .cd{background:#2fbf71}.netline.bad .cd{background:#e0245e}.netline .num{margin-left:auto;font-size:10.5px}.galert{padding:9px 11px;border-radius:10px;margin:6px 0;background:var(--raised);border:1px solid var(--border)}.galert .gh{display:flex;align-items:center;gap:6px;margin-bottom:5px}.galert .gh .num{margin-left:auto;font-size:10.5px}.galert b{font:600 12.5px/1.4 var(--font-body);display:block}.galert .meta{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.5}.eff{font:700 9.5px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#e0245e;border-radius:6px;padding:2px 7px}.official{margin:6px 0;padding:7px 10px;border-left:2px solid var(--accent);border-radius:0 8px 8px 0;background:var(--hair);font-size:12px;line-height:1.5;color:var(--fg)}.official small{display:block;margin-bottom:2px;color:var(--muted);font:600 9.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.galert.planned .eff{background:var(--faint)}.meta.trips{font-size:11.5px;color:var(--muted);padding:2px 2px 4px;line-height:1.5}.meta.trips b{color:var(--fg)}.dim{color:var(--muted)}#alertchip .impact{margin-top:9px;padding-top:8px;border-top:1px solid var(--hair);font-size:12px;line-height:1.5;color:var(--muted)}#alertchip .impact b{color:var(--fg);display:inline;font-family:var(--font-body);font-weight:600}#alertchip .impact b.num{font-family:var(--font-mono);font-size:15px;font-weight:500}.depotwrap{pointer-events:auto}.depotsq{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:2px;box-sizing:border-box;border:1.5px solid #fff;box-shadow:0 0 0 1.5px #00000080,0 2px 5px #00000073}.depotmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;z-index:2;border-radius:3px;box-sizing:border-box;border:2px solid var(--sim);background:var(--raised);box-shadow:0 0 0 2px #00000073}.depotmark.ok{background:#2fbf71;border-color:#fff}.skipwrap{pointer-events:auto}.skipx{position:absolute;transform:translate(-50%,-50%);width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#e0245e;color:#fff;font:700 13px/1 var(--font-body);border:2px solid #fff;box-shadow:0 0 0 2px #e0245e59,0 2px 6px #0006;cursor:pointer}.liftwrap{pointer-events:auto}.liftx{position:absolute;transform:translate(calc(-50% + 11px),calc(-50% - 11px));width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border:2px solid #fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent),0 2px 6px #0006;cursor:pointer}.liftx svg{width:12px;height:12px}.liftd{padding:0 8px 7px;font-size:11.5px;line-height:1.45;color:var(--muted)}.jstation .jlift{grid-column:1 / -1;text-align:left;color:var(--accent);font-size:11px;line-height:1.4}.cd{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:-1px}.upd{font-size:10.5px;color:var(--muted);padding:8px 2px 0}.upd.short{color:var(--fg);padding-top:4px}.lrow{display:flex;align-items:center;gap:9px;padding:5px 2px;font-size:12.5px}.lrow .cd{flex:none}.lrow .cnt{margin-left:auto;color:var(--muted)}.ovl{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:9px;cursor:pointer;font-size:12.5px;-webkit-user-select:none;user-select:none}.ovl:hover{background:var(--hair)}.ovl .box{width:14px;height:14px;border-radius:5px;flex:none;border:1.5px solid var(--ec);background:transparent;transition:background .12s}.ovl.on .box{background:var(--ec)}.ovl .nm{flex:1}.ovl .cnt{font-size:10.5px;color:var(--muted)}.envwrap{pointer-events:auto}.m3{width:0;height:0}.rainp{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:#4cc0f08c;border:1px solid #4cc0f0}.envp{position:absolute;transform:translate(-50%,-50%);font:500 10px var(--font-mono);padding:2px 6px 2.5px;border-radius:999px;background:var(--surface);border:1.5px solid var(--ec);color:var(--fg);white-space:nowrap;box-shadow:0 2px 8px #0000004d}.bolt{pointer-events:auto}.bolt svg{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;fill:#f7d154;filter:drop-shadow(0 0 4px rgb(247 209 84 / .8));animation:boltIn .3s ease-out}.bolt.g svg{width:19px;height:19px;fill:#ff7a3d;filter:drop-shadow(0 0 6px rgb(255 122 61 / .9))}@keyframes boltIn{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}55%{transform:translate(-50%,-50%) scale(1.35);opacity:1}to{transform:translate(-50%,-50%) scale(1)}}#crowdkey{left:14px;bottom:16px;display:none;align-items:center;gap:5px;padding:6px 11px 6.5px;border-radius:999px;font-size:11px;color:var(--muted);white-space:nowrap}#crowdkey.on{display:inline-flex}#crowdkey .cd{margin-right:2px}#crowdkey .ck-live{color:var(--fg);opacity:.75;font-weight:600;margin-left:4px}#netpill.off .cd,.netline.off .cd{background:#8a8f98}.jnear-lab{display:block;margin:12px 0 6px;color:var(--muted);font:700 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase}.jnear{display:flex;width:100%;align-items:center;gap:9px;margin-bottom:6px;border:1px solid var(--border);border-radius:10px;background:var(--raised);color:var(--fg);cursor:pointer;padding:9px 11px;font:600 13px var(--font-body)}.jnear:hover{border-color:var(--accent)}.jnear .num{margin-left:auto;color:var(--muted);font-weight:600}.jnear-note{display:block;margin-top:2px;color:var(--muted);font-size:10.5px;line-height:1.45}.flowpick{display:flex;gap:7px;align-items:center;margin:2px 0 8px}.flowpick select{flex:1;min-width:0;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:9px;background:var(--raised);color:var(--fg);font:600 12px var(--font-body)}.fbtn.onchip,.fanbtn.onchip{background:var(--hair);color:var(--fg)}.fanpick{display:flex;gap:6px;align-items:center;margin:0 0 8px;font:600 11px var(--font-body);color:var(--muted)}.fanbtn{min-width:34px;padding:4px 8px;text-align:center}.orb{pointer-events:none}.orb .core,.orb .ring{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}.orb .core{width:9px;height:9px;background:var(--oc);box-shadow:0 0 8px var(--oc),0 0 20px var(--oc-soft),0 0 36px var(--oc-soft);animation:orbBreathe var(--od) ease-in-out infinite}.orb .ring{width:36px;height:36px;border:1.5px solid var(--oc);opacity:0;animation:orbRipple var(--od) cubic-bezier(.2,.6,.4,1) infinite}.orb .ring.r2{animation-delay:calc(var(--od) / -2)}.orb.m{--oc: #f5a623;--oc-soft: rgba(245, 166, 35, .35);--od: 2.6s}.orb.h{--oc: #e0245e;--oc-soft: rgba(224, 36, 94, .42);--od: 1.4s}.orb.h .ring{width:48px;height:48px;border-width:2px}.orb.h .core{width:11px;height:11px}@keyframes orbRipple{0%{transform:translate(-50%,-50%) scale(.22);opacity:.85}70%{opacity:.22}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes orbBreathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}}@media(prefers-reduced-motion:reduce){.orb .ring{animation:none;opacity:.4}.orb .core{animation:none}}#alertchip{right:14px;bottom:110px;max-width:360px;padding:13px 16px;display:none}#alertchip.on{display:block}#alertchip>b{font-family:var(--font-display);font-size:13px;font-weight:700;display:flex;align-items:center}#alertchip .seg{font-size:12px;color:var(--muted);margin-top:7px;display:flex;gap:7px;align-items:flex-start;line-height:1.45}#alertchip .seg .pill{flex:none;margin-top:1px}#alertchip .x{float:right;border:0;background:none;color:var(--muted);cursor:pointer;font-size:16px;margin:-4px -6px 0 10px}#alertchip .x:hover{color:var(--fg)}.fl{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:8px;font-size:12.5px}.fl:nth-child(odd){background:var(--hair)}.fl .rank{width:18px;color:var(--muted);font-size:11px}.fl .fn{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl .fv{font-size:12.5px}.fl{cursor:pointer}.fl:hover{background:var(--hair);color:var(--accent)}#tour{left:50%;bottom:28px;transform:translate(-50%);padding:16px 26px;text-align:center;display:none;min-width:320px}#tour.on{display:block}#tour .bar{height:3px;border-radius:2px;margin-bottom:12px;background:var(--hair);overflow:hidden}#tour .bar div{height:100%;width:0;background:var(--accent-fill);transition:width .3s}#tour b{font-family:var(--font-serif);font-style:italic;font-size:22px;font-weight:400}#tour .codes{margin-top:5px;display:flex;justify-content:center;gap:3px}#tour small{display:block;font-size:10.5px;color:var(--muted);margin-top:9px}.pillrow{display:inline-flex;gap:1px;padding:1.5px;border-radius:999px;background:var(--pill-rim)}#tour .pill{font-size:10.5px;padding:2px 8px 2.5px}.stlab{pointer-events:none}.stlab .wrap{display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%,calc(-100% - 9px));width:max-content}.stlab .pillrow{display:inline-flex;gap:1px;padding:1.5px;border-radius:999px;background:var(--pill-rim);box-shadow:0 1px 4px #00000059}.pill{display:inline-block;padding:1.5px 6px 2px;border-radius:999px;font:800 9px/1.3 var(--font-display);letter-spacing:.04em;color:#fff;white-space:nowrap}.stlab .nm{font:italic 400 13px/1.1 var(--font-serif);color:var(--m-label);white-space:nowrap;letter-spacing:.01em;text-shadow:0 1px 0 var(--m-halo),0 -1px 0 var(--m-halo),1px 0 0 var(--m-halo),-1px 0 0 var(--m-halo),0 0 6px var(--m-halo)}.stlab.planned .nm{opacity:.85}.stlab.planned .pillrow{opacity:.88}.exlab .ex{display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:#0e7a3d;color:#fff;border:1px solid rgb(255 255 255 / .55);font:700 9px/1 var(--font-mono);letter-spacing:.02em;box-shadow:0 1px 4px #0006;white-space:nowrap}.leaflet-popup-content-wrapper{background:var(--surface);color:var(--fg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}.leaflet-popup-content{margin:13px 16px;font-family:var(--font-body);font-size:13px}.leaflet-popup-tip{background:var(--surface);border:1px solid var(--border)}.leaflet-popup-close-button{color:var(--muted)!important;font-size:18px!important;padding:6px 8px 0 0!important}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--fg)!important}.pp b.ttl{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:18px;display:flex;align-items:center;gap:8px}.pp b.ttl i{width:11px;height:11px;border-radius:3px;flex:none}.pp .meta{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.55}.pp .pillrow{display:inline-flex;gap:1px;padding:1.5px;border-radius:999px;background:var(--pill-rim);margin:7px 0 2px}.pp .pill{font-size:9.5px;padding:1.5px 6px 2px}.pp .badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.06em;margin-top:8px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:6px;padding:2.5px 8px}.pp .meta b{color:var(--fg);font-weight:600}.pp .meta.warn{color:var(--fg)}.pp .big{font:500 26px/1.1 var(--font-mono);letter-spacing:-.02em;margin-top:8px;color:var(--fg)}.pp .num.dim{font-size:10.5px}.pp.link .meta{margin-top:5px}.spark{display:block;margin:8px 0 2px;color:var(--muted)}.spark text{font:500 8px var(--font-mono);fill:var(--muted)}.fc{margin-top:7px}.fc .strip{display:grid;grid-template-columns:repeat(48,1fr);gap:1px;margin-top:4px;height:12px}.fc .strip i{display:block;border-radius:1px;background:var(--hair)}.fc .strip i.l{background:#2fbf71}.fc .strip i.m{background:#f5a623}.fc .strip i.h{background:#e0245e}.fc .strip i.now{outline:1.5px solid var(--fg);outline-offset:-1px}.fc .strip i.at{outline:1.5px solid var(--accent);outline-offset:-1px}.fc .axis{display:flex;justify-content:space-between;font-size:8.5px;color:var(--muted);margin-top:2px}.leaflet-tooltip.linetip{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font:600 11.5px var(--font-body);padding:4px 9px}.leaflet-tooltip.linetip:before{display:none}.maplibregl-ctrl-group{background:var(--surface)!important;border-radius:11px!important;box-shadow:var(--shadow)!important}.maplibregl-ctrl-group button{background:transparent!important}.maplibregl-ctrl-icon{filter:invert(.85)}html[data-theme=light] .maplibregl-ctrl-icon{filter:none}.maplibregl-ctrl-attrib{background:#0a0c11b3!important;color:var(--muted)!important;font-size:10px!important}html[data-theme=light] .maplibregl-ctrl-attrib{background:#ffffffbf!important}.maplibregl-ctrl-attrib a{color:var(--fg)!important}.maplibregl-popup{z-index:15}.maplibregl-popup-content{background:var(--surface)!important;color:var(--fg)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--r)!important;font-family:var(--font-body);font-size:13px;padding:13px 16px!important;box-shadow:var(--shadow)!important}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--surface)!important}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--surface)!important}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)!important}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)!important}.maplibregl-marker{z-index:5}.leaflet-bar{border:0!important;box-shadow:var(--shadow)!important;border-radius:10px!important;overflow:hidden}.leaflet-bar a{background:var(--surface)!important;color:var(--fg)!important;border-bottom:1px solid var(--hair)!important;width:32px!important;height:32px!important;line-height:32px!important}.leaflet-bar a:hover{background:var(--raised)!important}.leaflet-control-attribution{background:var(--surface)!important;color:var(--muted)!important;font-size:10px!important;border-radius:8px 0 0}.leaflet-control-attribution a{color:var(--accent)!important}.grip,.sheet-x,.phone-only,#modebar svg{display:none}.jlink{border:0;padding:0;background:none;color:var(--accent);cursor:pointer;font:700 12.5px var(--font-body);text-decoration:underline;text-underline-offset:2px}#about{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:none;background:#00000180;align-items:center;justify-content:center;padding:20px}#about.on{display:flex}#about .card{background:var(--raised);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);max-width:660px;max-height:88vh;overflow-y:auto;padding:30px 34px}#about h2{margin:0 0 6px;font-family:var(--font-serif);font-style:italic;font-size:26px;font-weight:400;letter-spacing:-.01em}#about h3{font-size:11px;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:700}#about p,#about li{font-size:13.5px;line-height:1.65}#about ul{padding-left:18px;margin:6px 0}#about .lic{font-size:11.5px;color:var(--muted);border-top:1px solid var(--hair);margin-top:22px;padding-top:15px;line-height:1.6}#about .x{float:right;cursor:pointer;font-size:20px;color:var(--muted);border:none;background:none}#about .x:hover{color:var(--fg)}#about li{margin-bottom:6px}.srcwrap{margin:10px 0 4px}.src{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12.5px;line-height:1.5}.src th:nth-child(1){width:29%}.src th:nth-child(2){width:27%}.src th:nth-child(3){width:25%}.src th:nth-child(4){width:19%}.src th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:0 10px 7px 0;vertical-align:bottom}.src td{padding:8px 10px 8px 0;border-top:1px solid var(--hair);vertical-align:top}.src td:last-child,.src th:last-child{padding-right:0}.src small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:1px}.src tr.grp td{border-top:0;padding:16px 0 5px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.src td[data-now]{font-family:var(--font-mono);font-size:11.5px}.src td[data-now].old{color:var(--muted)}#about .srcnote{font-size:11.5px;color:var(--muted);line-height:1.6}@media(max-width:720px){.src thead{display:none}.src,.src tbody,.src tr,.src td{display:block;width:auto}.src tr{border-top:1px solid var(--hair);padding:9px 0}.src tr.grp{border-top:0;padding:14px 0 2px}.src td{border-top:0;padding:1px 0}.src td:nth-child(n+2):before{display:inline-block;min-width:92px;color:var(--muted);font-size:10.5px;font-family:var(--font-body, inherit)}.src td:nth-child(2):before{content:"Publishes"}.src td:nth-child(3):before{content:"srails asks"}.src td:nth-child(4):before{content:"Latest here"}.src tr.grp td:before{content:none}}.jribbon{display:block;width:100%;height:18px;margin:-2px 0 4px;overflow:visible}.jribbon .end{fill:var(--raised);stroke:var(--fg);stroke-width:2}.jribbon .xf{fill:#fff;stroke:#040a11;stroke-width:2}.jribbon .tick{fill:#fff;opacity:.6}.jstats{display:flex;gap:14px;align-items:flex-start;padding:6px 0 10px;margin-bottom:10px;border-bottom:1px solid var(--hair)}.jstats>div{flex:none}.jstats>div.wide{flex:1;min-width:0;text-align:right}.jstats b{display:block;font:800 20px/1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.jbusy{margin:-4px 0 10px;color:var(--muted);font-size:11.5px;line-height:1.45}.jalt-x .dim{color:var(--faint)}.jstats small{display:block;margin-top:3px;color:var(--muted);font:700 9.5px/1.35 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.jxfer{display:flex;align-items:center;gap:10px;padding:6px 0 6px 2px;border-bottom:1px solid var(--hair)}.jxfer i{flex:none;width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid oklch(.14 .02 250);box-sizing:border-box}.jxfer>div{min-width:0}.jxfer b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.jxfer small{display:block;color:var(--muted);font-size:10.5px;line-height:1.4}.jxfer .jlevel{margin-left:auto;flex:none}.jalts{margin-top:10px}.jalts .jnear-lab{margin:6px 0;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.jalts .jnear-lab small{color:var(--faint);font:600 9.5px var(--font-body);letter-spacing:.03em;text-transform:none}.jalt{display:block;width:100%;margin-bottom:6px;padding:9px 11px 8px;border:1px solid var(--border);border-radius:10px;background:var(--raised);color:var(--fg);cursor:pointer;text-align:left;font:inherit}.jalt:hover,.jalt:focus-visible{border-color:var(--accent);outline:none}.jalt .jribbon{height:14px;margin:0 0 5px}.jalt-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.jalt-line b{font:700 13px var(--font-display)}.jalt-line .num{color:var(--muted);font-size:10.5px;white-space:nowrap}.jalt-x{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:4px;color:var(--muted);font-size:11.5px}.jalt-x .jlevel{font-size:8px;padding:2px 5px 2.5px;margin-left:5px;vertical-align:1px}.jalt-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.jalt-tags i{font:700 9.5px var(--font-body);font-style:normal;letter-spacing:.04em;padding:2px 7px 2.5px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.jalt-tags i.good{color:#2fbf71;border-color:#2fbf7173}html[data-theme=light] .jalt-tags i.good{color:#1f8a4f}.xferwrap{pointer-events:none}.xfer{position:absolute;left:0;top:0}.xfer i{position:absolute;left:-6.5px;top:-6.5px;width:13px;height:13px;border-radius:50%;background:#fff;border:2.5px solid #1a1206;box-sizing:border-box;box-shadow:0 0 0 2.5px color-mix(in srgb,var(--accent) 55%,transparent),0 2px 8px #00000080}.xferlab{position:absolute;left:13px;top:-15px;display:flex;flex-direction:column;gap:2px;padding:4px 9px 5px 8px;border-radius:9px;white-space:nowrap;background:var(--surface);border:1px solid var(--border);box-shadow:0 3px 12px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.xferlab b{font:italic 400 13px/1.05 var(--font-serif);color:var(--fg)}.xferlab small{display:flex;align-items:center;gap:3px;color:var(--accent);font:800 8px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase}.xferlab small .pill{font-size:7.5px;padding:1.5px 5px 2px;letter-spacing:.04em}@media(max-width:900px){#brand p{display:none}#brand h1{font-size:12.5px}#netpill{padding:0 12px}#modebar{padding:3px}.mode{padding:9px 10px;font-size:11.5px}#flyout{width:min(300px,calc(100vw - 100px))}}:root{--sheet-h: 0px;--tabbar-h: 58px}@media(max-width:700px){#topbar{left:10px;right:10px;top:10px;gap:8px}#brand{height:40px;padding:0 12px 0 7px;gap:8px}#brand .mark{width:24px;height:24px;border-radius:50%}#brand .mark:after{top:5px;right:5px;bottom:5px;left:5px;border-radius:50%}#brand h1{font-size:12px}#netpill{height:40px;padding:0 12px 0 11px;margin-left:auto;font-size:11px}#modebar{position:fixed;left:0;right:0;bottom:0;z-index:24;margin:0;height:auto;padding:5px 6px calc(6px + env(safe-area-inset-bottom,0px));display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;border-radius:0;border-width:1px 0 0;box-shadow:0 -10px 30px #00020559}#modebar svg{display:block;width:21px;height:21px}.mode{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:46px;padding:4px 2px 3px;border-radius:11px;font-size:10.5px;letter-spacing:.01em}.mode.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:none}#journey,#flyout{position:fixed;top:auto;left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));width:auto;max-width:none;transform:none;transition:none;border-radius:20px 20px 0 0;border-bottom:0;box-shadow:0 -14px 40px #00020566}.grip{display:block;flex:none;width:36px;height:4px;margin:6px auto 9px;border-radius:2px;background:var(--border)}#journey{padding:0 16px 14px;max-height:58vh;max-height:min(58vh,calc(100dvh - 330px));overflow-y:auto}.jhead{cursor:pointer}#journey-body{margin-top:12px}.jfields{grid-template-columns:minmax(0,1fr) 38px;gap:8px}.jfields .jfield:first-child{grid-column:1;grid-row:1}.jfields .jfield:last-child{grid-column:1;grid-row:2}.jfields .swap{grid-column:2;grid-row:1 / span 2;align-self:center}.jfield input{height:46px;font-size:16px}.jinput-wrap input{padding-right:46px}.jclear{width:32px;height:32px;right:7px}.jclear svg{width:12px;height:12px}.jlocate{width:32px;height:32px;right:7px}.jlocate svg{width:16px;height:16px}.swap{width:34px;height:46px}.jactions{margin-top:12px}.jactions .primary{min-height:50px;font-size:15px}.jactions .secondary{padding:0 8px}.jactions button,.jresult-actions button{min-height:46px}.jresult-actions button{flex:1 1 0;min-width:0}.jtrust{font-size:10px}#journey:has(#journey-options:not([hidden])){overflow-y:auto}#journey.editing{overflow-y:hidden}#journey.editing .eyebrow,#journey.editing .jactions,#journey.editing #journey-nearby,#journey.editing .jsaved,#journey.editing .jresult,#journey.editing .jtrust{opacity:0;pointer-events:none}#journey .eyebrow,#journey .jactions,#journey #journey-nearby,#journey .jsaved,#journey .jresult,#journey .jtrust{transition:opacity .15s ease}.joptions{position:static;margin-top:8px;padding:0;max-height:220px;min-height:0;overflow-y:auto;background:transparent;border:0;box-shadow:none}#journey.editing .joptions{max-height:220px}.joptions button{min-height:48px;font-size:15px;border-radius:10px}#flyout{padding:0 14px 14px;max-height:60vh;max-height:min(60vh,calc(100dvh - 330px))}#flyout.open{animation:sheetIn .2s ease}#flyout.tall{top:10px;max-height:none}.sheet-x{display:grid;place-items:center;position:absolute;top:9px;right:12px;width:30px;height:30px;font-size:20px;z-index:1}#search{padding-right:44px}#sec-search.on{flex:1;min-height:0}#search-results{max-height:none;flex:1;overflow:auto}.sr{min-height:46px;font-size:14.5px}#subtabs{margin-right:38px}#rail{top:60px;left:auto;right:10px;transform:none;width:44px;padding:4px 0;gap:2px;border-radius:22px}.rtool{width:42px;height:42px}.rtool svg{width:19px;height:19px}.rsep,#rt-zin,#rt-zout{display:none}#rt-more{display:grid}#rt-search{order:1}#rt-lines{order:2}#rt-3d{order:3}#rt-more{order:4}#rt-island{order:5}#rt-hand{order:6}#rt-orbit{order:7}#rt-tilt{order:8}#rt-tour{order:9}#rt-theme{order:10}#rt-fs{order:11}#rt-info{order:12}#rail:not(.more) :is(#rt-island,#rt-hand,#rt-orbit,#rt-tilt,#rt-tour,#rt-theme,#rt-fs,#rt-info){display:none}.maplibregl-ctrl-top-right{display:none}#crowdkey{left:10px;bottom:calc(var(--sheet-h) + 10px)}#alertchip{left:10px;right:10px;bottom:calc(var(--sheet-h) + 50px);max-width:none;padding:11px 14px}#alertchip>b{font-size:12.5px}#alertchip .seg{font-size:11.5px;margin-top:5px}#alertchip .impact{font-size:11.5px;margin-top:7px;padding-top:7px}#alertchip .impact b.num{font-size:14px}#tour{left:10px;right:10px;transform:none;min-width:0;bottom:calc(var(--sheet-h) + 10px);padding:12px 16px}#journey:not(.collapsed)~#alertchip,#journey:not(.collapsed)~#crowdkey,#flyout.open~#alertchip,#flyout.open~#crowdkey,#rail.more~#alertchip,#rail.more~#crowdkey{display:none}.leaflet-bottom.leaflet-right{top:56px;bottom:auto;left:10px;right:64px}.leaflet-bottom.leaflet-right .leaflet-control-attribution{float:none;display:block;margin:0;max-width:100%;padding:2px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px!important;border-radius:6px;opacity:.8}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{bottom:var(--sheet-h)}body.tall #rail,body.tall #topbar,body.tall .leaflet-control-container,body.tall .maplibregl-control-container{display:none}#about{padding:12px}#about .card{padding:22px 20px;max-height:88vh;border-radius:16px}}@keyframes sheetIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(min-width:701px)and (max-height:560px){#rail{top:66px;transform:none;width:44px;padding:4px 0;gap:2px;border-radius:22px}.rtool{width:42px;height:42px}.rsep,#rt-zin,#rt-zout{display:none}#rt-more{display:grid}#rt-search{order:1}#rt-lines{order:2}#rt-3d{order:3}#rt-more{order:4}#rt-island{order:5}#rt-hand{order:6}#rt-orbit{order:7}#rt-tilt{order:8}#rt-tour{order:9}#rt-theme{order:10}#rt-fs{order:11}#rt-info{order:12}#rail:not(.more) :is(#rt-island,#rt-hand,#rt-orbit,#rt-tilt,#rt-tour,#rt-theme,#rt-fs,#rt-info){display:none}#journey{max-height:calc(100vh - 104px);padding:14px 16px}#journey-body{margin-top:10px}.joptions{position:static;margin-top:8px;padding:0;max-height:34vh;background:transparent;border:0;box-shadow:none}#flyout{top:128px;max-height:calc(100vh - 142px)}#journey:not(.collapsed)~#alertchip,#flyout.open~#alertchip{display:none}#alertchip{bottom:16px;max-width:min(360px,calc(100vw - 470px))}#crowdkey{left:auto;right:14px;bottom:34px}#tour{bottom:16px}}.jask{margin-top:10px;display:grid;gap:5px}.jask[hidden]{display:none}.jask-row{display:flex;gap:6px}.jask-row input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);font:400 13px var(--font-body)}.jask-row input:focus{outline:none;border-color:var(--accent)}@media(max-width:700px){.jask-row input{font-size:16px}.jask-row button{min-height:44px}}#ask-out:empty{display:none}#ask-out{margin-top:8px}#ask-out .jmuted{margin:0;font-size:12px}.jask-ans{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--raised)}.jask-ans small,.explain small{display:block;margin-bottom:3px;color:var(--muted);font:600 9.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.jask-ans p{margin:0;font-size:13px;line-height:1.5;color:var(--fg)}.explain{margin:-2px 0 6px 12px;padding:5px 10px;border-left:2px dashed var(--border);font-size:12px;line-height:1.5;color:var(--muted)}:root{--sim: #b48cff;--sim-ink: #160a2e}:root[data-theme=light]{--sim: #6b3fd4;--sim-ink: #ffffff}#simbanner{position:fixed;top:0;left:0;right:0;z-index:70;min-height:28px;display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 10px;background:var(--sim);color:var(--sim-ink);font-size:12px;line-height:1.25}#simbanner[hidden]{display:none}#simbanner b{font:800 10.5px var(--font-body);letter-spacing:.12em;text-transform:uppercase;flex:none}#simbanner span{min-width:0}#simbanner button{flex:none;height:20px;padding:0 10px;border-radius:999px;cursor:pointer;border:1px solid color-mix(in srgb,var(--sim-ink) 55%,transparent);background:transparent;color:var(--sim-ink);font:700 11px var(--font-body)}body.simulating:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:69;pointer-events:none;border:3px solid var(--sim);border-top:0}body.simulating #topbar{top:calc(var(--simh, 28px) + 12px)}@media(min-width:701px){body.simulating #journey{top:calc(var(--simh, 28px) + 72px);max-height:calc(100vh - 138px - var(--simh, 28px))}body.simulating #flyout{top:calc(var(--simh, 28px) + 130px);max-height:calc(100vh - 198px - var(--simh, 28px))}}#netpill.sim .cd{background:var(--sim);box-shadow:0 0 8px var(--sim)}#netpill.works .cd,.netline.works .cd{background:#f5a623;box-shadow:0 0 8px #f5a62399}.galert.sim{border-color:color-mix(in srgb,var(--sim) 55%,transparent)}.galert.sim .eff,.simtag{display:inline-block;border-radius:6px;padding:2px 6px;background:var(--sim);color:var(--sim-ink);font:800 9.5px var(--font-body);letter-spacing:.08em;text-transform:uppercase}.official.sim{border-left-color:var(--sim)}.jallclear.simst .cd{background:var(--sim);box-shadow:0 0 8px var(--sim)}.jallclear .simtag,.netline .simtag{margin-left:auto}.jdetour.sim{border-color:color-mix(in srgb,var(--sim) 50%,transparent);background:color-mix(in srgb,var(--sim) 10%,transparent)}#alertchip.sim b .cd{background:var(--sim)!important}#journey.simface #journey-body{display:none}#sim-body{margin-top:13px}body.simulating .simlead,body.simulating #sim-presets,#sim-body[hidden]{display:none}.simlead{margin:0 0 10px;font-size:12.5px;line-height:1.55;color:var(--muted)}.simlead b{color:var(--fg);font-weight:600}.simpresets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.simpresets button{border:1px solid var(--border);background:var(--raised);color:var(--fg);border-radius:999px;padding:5px 10px;font:600 11.5px var(--font-body);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.simpresets button:hover{border-color:var(--sim)}.simpresets button i{width:8px;height:8px;border-radius:50%;flex:none}.simgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.simf.wide{grid-column:1 / -1}.simf[hidden]{display:none}.simf span{display:block;margin:0 0 4px 2px;color:var(--muted);font:700 11px var(--font-body)}.simf select{width:100%;min-width:0;height:40px;border:1px solid var(--border);border-radius:10px;padding:0 9px;background:var(--raised);color:var(--fg);font:700 13px var(--font-body);outline:none}.simf select:focus{border-color:var(--sim);box-shadow:0 0 0 3px color-mix(in srgb,var(--sim) 22%,transparent)}.simresult{margin-top:12px}.simhead{border:1px solid color-mix(in srgb,var(--sim) 50%,transparent);background:color-mix(in srgb,var(--sim) 10%,transparent);border-radius:12px;padding:11px 12px}.simhead h4{margin:5px 0 2px;font:800 15px var(--font-display);letter-spacing:-.01em}.simhead p{margin:0;font-size:12px;color:var(--muted)}.simnums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 2px}.simnums div{min-width:0}.simnums b{display:block;font:500 21px var(--font-mono);letter-spacing:-.02em;line-height:1.1}.simnums small{display:block;margin-top:3px;font-size:10.5px;line-height:1.3;color:var(--muted)}.simsect{margin:15px 0 5px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.simsect span{font:700 10.5px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.simsect small{font-size:10.5px;color:var(--muted);text-align:right}.simrow{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;padding:6px 8px;border-radius:8px;font-size:12.5px}.simrow:nth-child(odd){background:var(--hair)}button.simrow{width:100%;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font-family:inherit}button.simrow:nth-child(odd){background:var(--hair)}button.simrow:hover{outline:1px solid var(--sim)}.simrow .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simrow .v{font-family:var(--font-mono);font-size:12px;white-space:nowrap}.simrow .d{grid-column:1 / -1;font-size:11px;color:var(--muted);line-height:1.4}.simrow .up{color:#f5a623}.simrow .none{color:#e0245e}.simbar{grid-column:1 / -1;height:4px;border-radius:2px;background:var(--hair);overflow:hidden;margin-top:2px}.simbar i{display:block;height:100%;border-radius:2px}.simrow .ok{color:#2fbf71}.simpresets button i.x{width:auto;height:auto;border-radius:0;background:none;font:800 13px/1 var(--font-body)}.simplan{border:1px solid var(--border);border-radius:12px;padding:8px 8px 6px;margin-bottom:6px;background:var(--raised)}.simline{display:block;width:100%;height:auto;overflow:visible}.simline line.run{stroke-width:5;stroke-linecap:round}.simline line.cut{stroke:var(--sim);stroke-width:3;stroke-dasharray:2 5;stroke-linecap:round}.simline circle.end{fill:var(--raised);stroke-width:2}.simline circle.turn{fill:var(--raised);stroke:var(--sim);stroke-width:2}.simline path.fault{fill:none;stroke:var(--fg);stroke-width:2.6;stroke-linecap:round}.simline .depot line{stroke:var(--muted);stroke-width:1.2}.simline .depot rect{fill:none;stroke:var(--muted);stroke-width:1.4}.simline .depot.ok line{stroke:#2fbf71}.simline .depot.ok rect{fill:#2fbf71;stroke:#2fbf71}.simline text{font:600 8.5px var(--font-body);fill:var(--muted)}.simline text.cutl{fill:var(--fg);font-weight:700}.simkey{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:4px;font-size:10.5px;color:var(--muted)}.simkey span{display:inline-flex;align-items:center;gap:5px}.simkey i{display:inline-block;font-style:normal}.simkey .k-run{width:14px;height:4px;border-radius:2px}.simkey .k-cut{width:14px;height:0;border-top:3px dotted var(--sim)}.simkey .k-fault{color:var(--fg);font:800 13px/1 var(--font-body)}.simkey .k-dep{width:7px;height:7px;border-radius:2px;border:1.4px solid var(--muted)}.simkey .k-dep.ok{background:#2fbf71;border-color:#2fbf71}.simbrief{border:1px solid var(--border);border-radius:12px;padding:9px 10px 10px;background:var(--raised)}.simtabs{display:flex;gap:6px}.simtabs button{flex:1;min-height:32px;border-radius:9px;border:1px solid var(--border);background:none;color:var(--muted);font:700 11.5px var(--font-body);cursor:pointer}.simtabs button[aria-pressed=true]{color:var(--fg);border-color:var(--sim);background:color-mix(in srgb,var(--sim) 12%,transparent)}.simbrief p{margin:9px 1px 6px;font-size:12.5px;line-height:1.6}.simbrief small{display:block;font-size:10.5px;line-height:1.45;color:var(--muted)}.simbrief .simshare button:disabled{opacity:.6;cursor:default}.simnote{margin:12px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}.simnote.real{color:var(--fg);border-left:2px solid #e0245e;padding-left:8px}.simshare{margin-top:10px;display:flex;gap:8px}.simshare button{flex:1;min-height:36px;border-radius:10px;border:1px solid var(--border);background:var(--raised);color:var(--fg);font:700 12px var(--font-body);cursor:pointer}@media(min-width:701px)and (max-height:560px){body.simulating #rail{top:calc(var(--simh, 28px) + 64px)}}@media(max-width:700px){body.simulating #topbar,body.simulating #flyout.tall{top:calc(var(--simh, 28px) + 8px)}body.simulating #rail{top:calc(var(--simh, 28px) + 58px)}body.simulating .leaflet-bottom.leaflet-right{top:calc(var(--simh, 28px) + 54px)}#simbanner{font-size:11.5px;gap:8px}#sim-body:not([hidden]){display:flex;flex-direction:column}body.simulating #sim-result{order:-1;margin:0 0 14px}.simf select{font-size:16px;height:44px}.simnums b{font-size:19px}}.mode[hidden]{display:none}
