:root{--bg: #08090b;--glass: #151b23;--glass2: #1c2128;--solid: #151b23;--active: #21272d;--active-ink: #e2e8f0;--hover: var(--active);--frame: #30363d;--frame2: #374151;--ink: #d4d4dc;--mut: #9ca3af;--faint: #828a95;--acc: #1999d6;--acc-text: color-mix(in srgb, #1999d6 45%, #828a95);--acc-tint: color-mix(in srgb, #1999d6 8%, transparent);--bad-solid: #ef4444;--bad: color-mix(in srgb, #ef4444 45%, #828a95);--bad-tint: color-mix(in srgb, #ef4444 8%, transparent);--ok: color-mix(in srgb, #22c55e 45%, #828a95);--warn: color-mix(in srgb, #d29922 45%, #828a95);--warn-tint: color-mix(in srgb, #d29922 8%, transparent);--ui: "Inter Variable", "Inter", system-ui, sans-serif;--text-base: 13px;--text-support: 12px;--text-heading: 14px;--control-h: 32px;--control-sm-h: 26px;--control-radius: 4px;--control-icon: 16px;--control-transition: background-color .15s, color .15s, border-color .15s, opacity .15s, filter .15s;--w-med: 510;--w-semi: 560;--w-bold: 620;--elev1: 0 10px 30px -14px rgba(0, 0, 0, .7);--elev2: 0 16px 40px -18px rgba(0, 0, 0, .8);--elev3: 0 30px 80px -30px rgba(0, 0, 0, .9);--bar-h: 44px}#panel,#layerbar,#cityMenu,#layersMenu,#viewMenu,#networkMore,#topstops,#infoPop,#feedback,.addmenu,.signpop{--glass2: #151b23;--frame: #252d37;--elev1: 0 4px 14px -7px rgba(0, 0, 0, .5);--elev2: 0 8px 24px -10px rgba(0, 0, 0, .65)}*{box-sizing:border-box}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:var(--frame2);background-clip:padding-box;border:1px solid transparent;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:var(--faint)}*::-webkit-scrollbar-button{display:none}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--frame2) transparent}}#topbar,#panel,#dock-left,#dock-bottom,#layersMenu,#layerbar,#stationpop,#buildtip,#recenter,#topstops,#networkMore{user-select:none;-webkit-user-select:none}input,textarea,[contenteditable=true],#infoPop{user-select:text;-webkit-user-select:text}button[hidden],a[hidden]{display:none!important}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--ui);overflow:hidden}:where(.lacts,.iconset,.taktpresets,.metricbar,.lback,.lsort,.addmenu,.saverow,.saveactions,.saveconfirm-actions,.filestate,.srow,.buildmode,.sharelink,#mapacts,#cityMenu,#layerbar) button,:where(.widebtn,.dropbtn,.buildbtn,.tsync,.taktanchor .an,.signpop .opt,.signpop .reset,.sharelink a,.linerow2 .lfind,.linerow2 .lpen,.segrow2 .spen,.segrow2 .scut,.popx){-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--button-h, var(--control-h));padding:0 10px;border:1px solid var(--button-border, var(--frame));border-radius:var(--control-radius);background:var(--button-bg, var(--glass2));color:var(--button-ink, var(--mut));font:var(--w-med) var(--text-support)/1.35 var(--ui);cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;transition:var(--control-transition)}:where(.lacts,.iconset,.taktpresets,.metricbar,.lback,.lsort,.addmenu,.saverow,.saveactions,.saveconfirm-actions,.filestate,.srow,.buildmode,.sharelink,#mapacts,#cityMenu,#layerbar) button:not(:disabled):not(.missing):not(.blocked):hover,:where(.widebtn,.dropbtn,.buildbtn,.tsync,.taktanchor .an,.signpop .opt,.signpop .reset,.sharelink a,.linerow2 .lfind,.linerow2 .lpen,.segrow2 .spen,.segrow2 .scut,.popx):not(:disabled):not(.missing):not(.blocked):hover{background:var(--button-hover, var(--hover));color:var(--button-hover-ink, var(--ink));border-color:var(--button-hover-border, var(--frame2))}:where(.lacts,.iconset,.taktpresets,.metricbar,.lback,.lsort,.addmenu,.saverow,.saveactions,.saveconfirm-actions,.filestate,.srow,.buildmode,.sharelink,#mapacts,#cityMenu,#layerbar) button:not(:disabled):not(.missing):not(.blocked):active,:where(.widebtn,.dropbtn,.buildbtn,.tsync,.taktanchor .an,.signpop .opt,.signpop .reset,.sharelink a,.linerow2 .lfind,.linerow2 .lpen,.segrow2 .spen,.segrow2 .scut,.popx):not(:disabled):not(.missing):not(.blocked):active,#topbar :where(.baricon,#linesBtn,#layersBtn,.nstat,#capitalBtn,#finishYearTopBtn):not(:disabled):active{filter:brightness(.92);transition-duration:.05s}:where(.lacts,.iconset,.taktpresets,.metricbar,.lback,.lsort,.addmenu,.saverow,.saveactions,.saveconfirm-actions,.filestate,.srow,.buildmode,.sharelink,#mapacts,#cityMenu,#layerbar) button:is(:disabled,.missing,.blocked),:where(.widebtn,.dropbtn,.buildbtn,.tsync,.taktanchor .an,.signpop .opt,.signpop .reset,.sharelink a,.linerow2 .lfind,.linerow2 .lpen,.segrow2 .spen,.segrow2 .scut,.popx):is(:disabled,.missing,.blocked){opacity:.5;cursor:not-allowed}:where(.iconset,.taktpresets,.lback,.lsort,.addmenu,.filestate,#cityMenu,#layerbar) button,:where(.signpop .reset,.linerow2 .lfind,.linerow2 .lpen,.segrow2 .spen,.segrow2 .scut,.popx){--button-bg: transparent;--button-border: transparent;--button-hover-border: transparent}:where(.lacts,.iconset,.taktpresets,.metricbar,.addmenu,.lsort,#cityMenu,#layerbar) button:is(.on,[aria-expanded=true],[aria-pressed=true]),.segrow2 .spen[aria-expanded=true]{--button-bg: var(--active);--button-hover: var(--active);--button-ink: var(--active-ink);--button-hover-ink: var(--active-ink)}#map{position:absolute;top:0;right:0;bottom:0;left:0}#topbar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:4px;height:var(--bar-h);padding:0 14px;background:var(--bg);box-shadow:var(--elev1);pointer-events:auto}#topbar #linestitle{margin-left:auto;align-self:stretch;display:flex;align-items:center;gap:4px;position:relative;flex:none}#topbar #linesBtn{display:flex;align-items:center;background:none;border:none;border-radius:4px;height:var(--control-h);padding:0 8px;cursor:pointer;color:var(--mut);font:var(--w-med) 13px var(--ui);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;transition:var(--control-transition)}#topbar #linesBtn:hover{color:var(--ink);background:var(--hover)}#topbar #linesBtn .csum{display:inline-flex;margin:0;gap:10px}#topbar #linesBtn .cmode,#topbar #linesBtn .cnone{display:inline-flex;align-items:center;gap:6px}#topbar #linesBtn b{font-weight:var(--w-med);color:var(--ink)}#topbar #linesBtn svg{width:var(--control-icon);height:var(--control-icon);flex:none;stroke-linecap:round;stroke-linejoin:round}#topbar .baricon{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:none;width:var(--control-h);height:var(--control-h);padding:0;margin:0;border:0;border-radius:4px;background:transparent;color:var(--mut);text-decoration:none;cursor:pointer;-webkit-backdrop-filter:none;backdrop-filter:none;transition:var(--control-transition)}#topbar .baricon svg{display:block;width:var(--control-icon);height:var(--control-icon);flex:none}#topbar .baricon:hover{color:var(--ink);background:var(--hover)}#topbar .baricon[aria-pressed=true],body:has(#layersMenu:not([hidden])) #scenBtn,body:has(#viewMenu:not([hidden])) #viewBtn,body:has(#feedback:not([hidden])) #discussBtn,body:has(#panel:not([hidden])) #linesBtn{color:var(--active-ink);background:var(--active)}#panel{position:fixed;top:var(--bar-h);right:0;width:380px;max-height:calc(100vh - var(--bar-h));z-index:30;display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:none;pointer-events:auto;padding:0;animation:popin .1s cubic-bezier(.2,.9,.3,1);transform-origin:top right}#panel[hidden]{display:none}@keyframes popin{0%{opacity:0;transform:scale(.97) translateY(-2px)}}#dock-left{position:absolute;top:var(--bar-h);left:0;bottom:14px;width:304px;z-index:15;display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:none;pointer-events:none}#dock-bottom{position:absolute;bottom:14px;left:14px;right:60px;z-index:15;display:flex;gap:10px;align-items:flex-end;pointer-events:none}#dock-left>*,#dock-bottom>*{pointer-events:auto}.card{width:100%}#dock-left>.card,#dock-bottom>.card{width:304px}#topbar>*{pointer-events:auto}.layers,.scenarios{position:relative;align-self:stretch;display:flex;align-items:center}#cityMenu{position:fixed;z-index:30;min-width:150px;background:var(--solid);padding:5px;box-shadow:var(--elev2);display:flex;flex-direction:column;gap:1px;animation:popin .1s cubic-bezier(.2,.9,.3,1);transform-origin:top left}#cityMenu[hidden]{display:none}.cflag{display:inline-block;width:15px;height:11px;margin-right:8px;flex:none;box-shadow:inset 0 0 0 1px #ffffff29}.cflag.art{line-height:0}.cflag.art svg{width:15px;height:11px;display:block}.cflag.plain{width:auto;padding:0 3px;font:var(--w-semi) 8.5px var(--ui);line-height:11px;text-align:center;color:var(--faint);background:#ffffff12}#topbar .brand #layersBtn{display:inline-flex;align-items:center}#cityMenu button,#cityMenu a{text-align:left;justify-content:flex-start;gap:0;padding:6px 10px}#cityMenu a{display:flex;align-items:center;min-height:var(--control-h);color:var(--mut);font:inherit;border-radius:4px;text-decoration:none}#cityMenu a:hover{background:var(--hover);color:var(--ink)}#cityMenu a.city-vote-link{gap:8px;margin-top:3px;padding-top:10px;border-top:1px solid var(--frame);border-radius:0;font-size:12px}.reddit-icon{width:20px;height:20px;flex:none;color:#ff4500}#topbar .brand #layersBtn.fresh:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acc);margin-left:7px;flex:none}#cityMenu button .new{margin-left:auto;padding-left:16px;font:var(--w-med) 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--acc-text);display:inline-flex;align-items:center;gap:6px}#cityMenu button .new:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc)}#cityMenu button.reload{color:var(--ink);border-bottom:1px solid var(--frame);border-radius:4px 4px 0 0;margin-bottom:3px}.netwrap{align-self:stretch;display:flex;align-items:center;flex:none}#netstats{--stat-gap: 6px;--stat-pad: 6px;display:flex;align-items:center;gap:4px;margin-left:8px;height:100%;flex:none;width:max-content;background:transparent}#topbar .toolbar-glyph,#networkMore .toolbar-glyph{width:16px;height:16px;flex:none;color:var(--mut)}:is(#netstats,#networkMore) .nstat{display:inline-flex;align-items:center;gap:var(--stat-gap, 6px);flex:none;white-space:nowrap;height:var(--control-h);border:0;border-radius:4px;padding:0 var(--stat-pad, 6px);background:transparent;color:var(--mut);font:inherit;text-align:left;cursor:pointer;transition:var(--control-transition)}:is(#netstats,#networkMore) .nstat:hover{color:var(--ink);background:var(--hover)}:is(#netstats,#networkMore) .nstat:hover .toolbar-glyph{color:var(--ink)}:is(#netstats,#networkMore) .nstat b{font:var(--w-med) 13px var(--ui);color:var(--ink);font-variant-numeric:tabular-nums}:is(#netstats,#networkMore) .nstat i{display:none;font-style:normal;font-size:12px;color:var(--mut)}:is(#netstats,#networkMore) .nstat.dn b{color:var(--bad)}.kpi-readout{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.kpi-trend{display:inline-block;flex:none;width:7px;color:var(--faint);font:8px/1 var(--ui);align-self:center;text-align:center}.kpi-trend.good{color:var(--ok)}.kpi-trend.bad{color:var(--bad)}.kpi-trend.empty,#topbar.kpis-counting .kpi-trend,body:has(#topbar.kpis-counting) #networkMore .kpi-trend{visibility:hidden}#capitalBtn .kpi-readout{gap:4px}#capitalBtn .kpi-readout em{margin-left:1px}#netstats .nsep{width:1px;height:15px;background:var(--frame2);flex:none}:is(#netstats,#networkMore).pending .nstat b{filter:blur(2.4px);opacity:.55}.network-status{display:inline-flex;flex:none;margin-left:6px}.network-status[hidden]{display:none}.network-status:before{content:"";width:12px;height:12px;border:2px solid var(--frame);border-top-color:var(--acc);border-radius:50%;animation:network-busy .8s linear infinite}.network-status>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.network-status.historical:before{content:"i";display:grid;place-items:center;border:1px solid var(--mut);color:var(--mut);animation:none;font:10px/1 var(--ui)}.map-result-note{margin:0 0 12px;color:var(--mut);font:12px/1.5 var(--ui)}@keyframes network-busy{to{transform:rotate(360deg)}}#stationpop.pending .pr b,#linepop.pending .pr b,#topstops.pending .tsrow b,#topstops.pending .tsmetric b,#topstops.pending:not(.capital) .mrow b{filter:blur(2.4px);opacity:.55}:is(#netstats,#networkMore) .nstat b{transition:filter .18s,opacity .18s}#netstats:before{content:"";width:1px;height:15px;background:var(--frame2);flex:none}#networkMore{position:fixed;z-index:30;top:var(--bar-h);left:10px;display:flex;flex-direction:column;align-items:stretch;gap:2px;width:max-content;min-width:280px;max-width:calc(100vw - 20px);padding:6px;background:var(--glass);border:1px solid var(--frame);border-radius:4px;box-shadow:var(--elev2);visibility:hidden;pointer-events:none}#networkMore.open{visibility:visible;pointer-events:auto}#networkMore .nstat{display:grid;grid-template-columns:16px 1fr max-content;gap:10px;height:36px;padding:0 8px}#networkMore .nstat .toolbar-glyph{grid-column:1;grid-row:1}#networkMore .nstat i{display:block;grid-column:2;grid-row:1}#networkMore .nstat .kpi-readout{grid-column:3;grid-row:1;justify-self:end}#topbar #networkMoreBtn[aria-expanded=true]{color:var(--active-ink);background:var(--active)}#networkMoreBtn[aria-expanded=true] svg{transform:rotate(180deg)}#capitalPlan{display:inline-flex;align-items:stretch;flex:none;height:34px;margin-left:8px;border:1px solid var(--frame);border-radius:4px;background:var(--glass)}#topbar #capitalBtn{display:flex;align-items:center;gap:6px;width:144px;padding:2px 8px;border:0;border-radius:3px 0 0 3px;background:transparent;color:var(--ink);font-family:var(--ui);text-align:left;cursor:pointer;transition:background .15s}#topbar #capitalBtn:disabled{color:var(--mut);cursor:default}#topbar #capitalBtn:not(:disabled):hover{background:var(--hover)}body:has(#topstops.capital:not([hidden])) #topbar #capitalBtn{background:var(--active);color:var(--active-ink)}#capitalBtn .capital-copy{display:flex;flex-direction:column;gap:0;min-width:0;flex:1}#capitalBtn b{font:var(--w-semi) 13px/15px var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap}#capitalBtn em{margin-left:5px;font:var(--w-med) 11px var(--ui);color:var(--faint)}#capitalBtn i{font:400 11px/12px var(--ui);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#capitalBtn .capital-chevron{width:12px;height:12px;flex:none;color:var(--faint)}#capitalBtn.tight b{color:var(--warn)}#capitalBtn.short b{color:var(--bad)}#capitalBtn.has-plan i{color:var(--acc-text)}#topbar #finishYearTopBtn{flex:none;min-width:106px;margin:0;padding:0 10px;border:0;border-left:1px solid var(--frame);border-radius:0 3px 3px 0;background:transparent;color:var(--faint);cursor:default;font:var(--w-semi) 13px var(--ui);transition:var(--control-transition)}#topbar #finishYearTopBtn.has-plan:not(:disabled){background:var(--active);border-color:#315a74;color:var(--active-ink);cursor:pointer}#topbar #finishYearTopBtn:not(:disabled){cursor:pointer}#topbar #finishYearTopBtn:not(:disabled):hover{background:var(--hover);color:var(--ink)}#topbar #finishYearTopBtn.has-plan:not(:disabled):hover,#topbar #finishYearTopBtn[aria-expanded=true]{background:var(--active);color:var(--active-ink)}#topbar #finishYearTopBtn.has-plan:disabled{cursor:not-allowed}#topbar #finishYearTopBtn.closing:disabled{cursor:wait}#topstops.capital{width:min(1120px,calc(100vw - 20px));padding:0;max-height:calc(100dvh - var(--bar-h) - 12px);overflow:auto;--capital-gap: 16px;--year-chart-height: 148px}#topstops.year-plan{display:flex;flex-direction:column;width:min(1080px,calc(100vw - 28px));padding:0;max-height:calc(100dvh - var(--bar-h) - 12px);overflow:hidden;background:var(--glass);color:#e1e6ee;font-variant-numeric:tabular-nums;--an-muted: #9ca3af;--an-border: #283240;--capital-gap: 16px;--year-plan-pad: 22px}.year-plan-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px var(--year-plan-pad);border-bottom:1px solid var(--an-border);flex:none}#topstops .year-plan-header h2{margin:0;font:620 20px/1.3 var(--ui)}.year-plan-header p{margin:5px 0 0;color:var(--mut);font-size:13px}.year-plan-body{min-height:0;overflow-y:auto;padding:18px var(--year-plan-pad)}#topstops.year-plan h3{margin:0;font:620 14px/1.4 var(--ui)}.year-plan-included,.year-plan-waiting{margin-top:20px}.year-plan-waiting{border-top:1px solid var(--an-border);padding-top:16px}#topstops.year-plan .yearplanrow{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;margin:0 calc(-1 * var(--year-plan-pad));padding:0 var(--year-plan-pad);border-bottom:1px solid var(--an-border)}#topstops.year-plan .yearplanrow:is(:hover,:focus-within){background:var(--hover)}#topstops.year-plan .yearplanitem{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);text-align:left;font:510 13px/1.5 var(--ui)}#topstops.year-plan button.yearplanitem{cursor:pointer}#topstops.year-plan .yearplan-actions{display:flex;align-items:center;gap:6px}#topstops.year-plan .yearplan-actions button{padding:6px 10px;border:1px solid var(--an-border);border-radius:3px;background:transparent;color:var(--mut);font:510 12px/1.5 var(--ui);white-space:nowrap;cursor:pointer}#topstops.year-plan .yearplan-actions button:hover:not(:disabled){color:var(--ink)}#topstops.year-plan .yearplan-actions button:disabled{opacity:.5;cursor:not-allowed}#topstops.year-plan .yearplan-actions .yearplan-delete{min-width:7.5em}#topstops.year-plan .yearplan-actions .yearplan-delete.armed{border-color:var(--bad);color:var(--bad)}#topstops.year-plan .yearplantext b{white-space:normal}.year-plan-history{margin-top:20px;border-top:1px solid var(--an-border)}.year-plan-history>summary{padding:14px 0;color:var(--mut);font:560 13px/1.5 var(--ui);cursor:pointer}.year-plan-history .capital-column:first-child{padding-left:0}.year-plan-history .capital-column:last-child{padding-right:0}.year-plan-footer{flex:none;padding:12px var(--year-plan-pad) 16px;border-top:1px solid var(--an-border)}.year-plan-footer p{margin:0 0 10px;color:var(--mut);font-size:12px}.year-plan-footer>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.year-plan-footer button{padding:10px 14px;border:1px solid var(--an-border);border-radius:3px;background:transparent;color:var(--mut);font:560 13px var(--ui);cursor:pointer}.year-plan-footer button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.year-plan-footer .year-plan-confirm{border-color:#315a74;background:#18344a;color:#c2e5fa}.year-plan-footer .year-plan-confirm:hover:not(:disabled){background:var(--hover)}.year-plan-footer button:disabled{border-color:var(--an-border);background:var(--glass2);color:var(--faint);cursor:not-allowed}#topstops.year-plan :is(button,select,summary):focus-visible{outline:2px solid var(--acc);outline-offset:2px}@media(max-width:760px){#topstops.year-plan{--year-plan-pad: 14px}.year-plan-footer>div{align-items:stretch;flex-direction:column}}.capital-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.capital-column{min-width:0;padding:20px}.capital-side{border-left:1px solid var(--frame)}.capital-year{display:inline-flex;align-items:center;gap:8px;color:var(--mut);font-size:var(--text-support);white-space:nowrap}.capital-year select{border:1px solid var(--frame2);border-radius:var(--control-radius);background:var(--glass2);color:var(--ink);font:var(--w-med) 13px var(--ui);padding:4px 6px;color-scheme:dark}.capital-year select:disabled{color:var(--faint)}#topstops.capital button{font-family:var(--ui)}#topstops.capital :is(button,select):focus-visible{outline:2px solid var(--acc);outline-offset:2px}.capital-close{border:0;background:transparent;color:var(--mut);font-size:22px;width:28px;height:28px;padding:0;border-radius:var(--control-radius);cursor:pointer}.capital-close:hover{color:var(--ink);background:var(--hover)}.capital-tabs{display:flex;gap:16px;margin-bottom:10px;border-bottom:1px solid var(--frame)}.capital-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--mut);padding:0 1px 8px;cursor:pointer;font-size:var(--text-base)}.capital-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:var(--w-semi)}.capital-tabs button:disabled{cursor:default;color:var(--faint)}.capital-section{margin-top:var(--capital-gap);padding-top:12px;border-top:1px solid var(--frame)}.capital-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:22px;margin-bottom:6px}#topstops.capital h3{margin:0;color:var(--ink);font-size:var(--text-heading);font-weight:var(--w-semi);line-height:1.4}.capital-section-head>span,.capital-section-head h3>span{color:var(--faint);font-size:var(--text-support);font-weight:var(--w-med)}.capital-section-head h3>span{margin-left:6px}#topstops.capital .capital-link{padding:3px 0;border:0;background:transparent;color:var(--mut);font-size:var(--text-support);cursor:pointer;white-space:nowrap}#topstops.capital .capital-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.capital-note{color:var(--mut);font-size:var(--text-support);line-height:1.45;margin:6px 0 0}.capital-search{width:100%;margin:6px 0;padding:8px 10px;border:1px solid var(--frame2);border-radius:var(--control-radius);background:var(--glass2);color:var(--ink);font:var(--w-med) var(--text-base) var(--ui)}.capital-search::placeholder{color:var(--faint)}.capital-search:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.district-grant-status{margin-top:10px;padding-top:8px;border-top:1px solid var(--frame)}.district-grant-status .pr,.town-expansion-summary .pr{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;color:var(--mut);font-size:var(--text-base)}.district-grant-status .pr b,.town-expansion-summary .pr b{max-width:62%;color:var(--ink);text-align:right;white-space:normal}.district-grant-status p{margin:12px 0 0;font-size:var(--text-support);line-height:1.5}.district-grant-status p>b,.district-grant-status p>span{display:block;white-space:normal}.district-grant-status p>span{margin-top:4px;color:var(--mut)}.district-grant-status.at-risk p>b{color:var(--bad)}.town-expansion-summary{margin:8px 0}.town-expansion-summary p{margin:10px 0;color:var(--mut);font-size:var(--text-support);line-height:1.5;white-space:normal}.capital-map-link{margin:8px 0}.capital-empty{margin:20px 0;color:var(--mut);font-size:var(--text-base);line-height:1.5}.capital-first-year{min-height:360px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:330px;margin:0 auto}.capital-first-year p{color:var(--mut);line-height:1.5;margin:10px 0 0}#topstops.capital .negative,#topstops.capital .negative>b{color:var(--bad)}.capital-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;color:var(--mut);line-height:1.4}.capital-row.total{border-top:1px solid var(--frame);margin-top:5px;padding-top:8px;color:var(--ink)}#topstops .capital-row.total b{font-weight:var(--w-semi)}.capital-project-summary{margin:12px 0 0}.capital-pager{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--faint);font-size:var(--text-support);min-height:26px}.capital-pager>span{margin-right:6px;white-space:nowrap}.capital-pager>button{width:26px;height:26px;padding:0;border:1px solid var(--frame);border-radius:var(--control-radius);background:transparent;color:var(--ink);font-size:18px;cursor:pointer}.capital-pager>button:hover:not(:disabled){background:var(--hover)}.capital-pager>button:disabled{color:var(--frame2);cursor:default}.capital-list{margin-top:8px}.yearplanitem{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--frame)}.yearplanitem .dot{height:16px;min-width:16px;padding:0 4px;font-size:9px}.yearplansign{width:16px}.yearplantext{min-width:0}.yearplantext b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yearplantext small,.capital-list-value small{display:block;color:var(--faint);font-size:var(--text-support);margin-top:3px}.capital-list-value{text-align:right}.capital-mode{display:grid;grid-template-columns:minmax(0,1fr) max-content 100px;align-items:baseline;gap:12px;padding:5px 0;color:var(--mut)}.capital-mode small{color:var(--faint);text-align:right;font-size:var(--text-support)}.capital-project-totals{display:flex;justify-content:space-between;gap:12px;margin:16px 0;color:var(--mut);font-size:var(--text-support)}#topstops .capital-project-totals b{display:block;font-size:24px;margin-bottom:4px}.capital-project,.capital-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--frame)}.capital-project>div,.capital-history-row>div{min-width:0}.capital-project>div>b,.capital-history-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capital-project small,.capital-history-row small{display:block;margin-top:4px;color:var(--mut);font-size:var(--text-support);line-height:1.4}.capital-history-row small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.capital-history-row time{flex:none;color:var(--faint);font-size:var(--text-support)}.capital-decision{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:var(--mut)}.capital-decision span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yearmetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.yearmetricrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;padding:9px 8px;border:0;border-bottom:2px solid transparent;border-radius:2px;background:transparent;color:var(--mut);text-align:left;cursor:pointer}.yearmetricrow:hover{background:var(--hover)}.yearmetricrow[aria-pressed=true]{background:var(--active);color:var(--active-ink);border-bottom-color:var(--active-ink)}.yearmetricrow>span{display:block;font-size:var(--text-support);white-space:nowrap}#topstops .yearmetricrow b{display:block;font-size:24px;font-weight:var(--w-semi);line-height:1.2;letter-spacing:-.025em;margin:5px 0}.yearmetricrow i{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-support);color:var(--faint);font-style:normal}.capital-comparison{margin:5px 8px 0;color:var(--faint)}.yearmetricplot{margin-top:var(--capital-gap)}.yearchart{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;margin-top:10px}.yearaxis{display:flex;flex-direction:column;justify-content:space-between;height:var(--year-chart-height);color:var(--faint);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.yearplot{display:flex;justify-content:space-around;gap:6px;min-width:0}.yearcolumn{display:grid;grid-template-rows:var(--year-chart-height) 22px;flex:1;min-width:0;max-width:48px;padding:0;border:0;background:transparent;color:var(--faint);cursor:pointer}.yearbarcell{position:relative;display:block;height:var(--year-chart-height)}.yearbarcell:before{content:"";position:absolute;left:0;right:0;bottom:var(--year-zero);border-top:1px solid var(--frame2)}.yearbarfill{position:absolute;display:block;left:4px;width:calc(100% - 8px);background:var(--frame2)}.yearbarfill.negative{background:var(--bad)}.yearbarfill.zero{border-top:1px solid var(--faint)}.yearcolumn:hover .yearbarfill{background:var(--mut)}.yearcolumn.current .yearbarfill{background:var(--ink)}.yearcolumn.current .yearbarfill.negative{background:var(--bad)}.yearbarfill.missing{top:0;right:0;bottom:0;left:0;width:100%;background:transparent}.yearcolumn:hover .yearbarfill.missing,.yearcolumn.current .yearbarfill.missing{background:transparent}.yearbarfill.missing:after{content:"–";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--faint)}.yearcolumn em{align-self:end;font:normal var(--text-support) var(--ui);color:inherit;font-variant-numeric:tabular-nums}.yearcolumn.current em{color:var(--ink)}#topstops.capital>.map-result-note{margin:0;padding:12px 20px;border-bottom:1px solid var(--frame)}.capital-header{display:flex;align-items:center;gap:14px;padding:16px 20px 0;border-bottom:1px solid var(--frame)}.capital-root-tabs{flex:1;gap:24px;margin:0;border:0}.capital-root-tabs button{padding:0 0 12px;font-size:16px}.capital-header>.capital-year,.capital-header>.capital-close{margin-bottom:12px}.capital-available{padding:8px 0 20px}.capital-available>span{display:block;color:var(--mut);font-size:var(--text-base)}#topstops .capital-available>b{display:block;margin-top:8px;font-size:38px;line-height:1.15;font-weight:var(--w-semi);letter-spacing:-.025em}.capital-money-ledger .capital-row{padding:8px 0}.capital-money>.capital-note{max-width:400px;margin-top:12px}.capital-construction-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;color:var(--mut);font-size:var(--text-support)}.capital-risk{display:block;margin-top:16px;padding:0;border:0;background:transparent;color:var(--bad);text-align:left;font-size:var(--text-support);cursor:pointer}.capital-risk:hover{text-decoration:underline;text-underline-offset:3px}.capital-goals{margin:0 -8px}.capital-goal{display:block;width:100%;padding:14px 8px;border:0;border-bottom:1px solid var(--frame);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.capital-goal:last-child{border-bottom:0}.capital-goal:hover{background:var(--hover)}.capital-goal-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}#topstops .capital-goal-head b:first-child{white-space:normal;line-height:1.4}#topstops .capital-goal-head b:last-child{flex:none;font-size:16px;font-weight:var(--w-semi)}.capital-goal small{display:flex;justify-content:space-between;gap:12px;margin-top:7px;color:var(--mut);font-size:var(--text-support)}.capital-goal small>span{color:var(--faint)}.capital-goal:hover small>span{color:var(--ink)}.funding-progress-label{display:block;margin-top:5px;color:var(--mut);font-size:var(--text-support);line-height:1.4}.funding-progress{display:block;height:3px;margin-top:8px;background:var(--frame)}.funding-progress>i{display:block;height:100%;background:var(--mut)}.capital-funding-view{padding:20px}.funding-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,240px) max-content;align-items:center;gap:16px}.funding-filters .capital-search{margin:0;min-width:0}.funding-filters label{display:flex;align-items:center;gap:8px;min-width:0;color:var(--mut);font-size:var(--text-support)}.funding-filters select{min-width:0;flex:1;padding:8px;border:1px solid var(--frame2);border-radius:var(--control-radius);background:var(--glass2);color:var(--ink);color-scheme:dark;font:var(--w-med) var(--text-base) var(--ui)}.funding-list-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;min-height:28px;margin:8px 0;color:var(--mut);font-size:var(--text-support)}.funding-list{border-top:1px solid var(--frame)}.funding-entry{border-bottom:1px solid var(--frame)}.funding-entry.expanded{background:var(--active)}.funding-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 130px 14px;align-items:center;gap:16px;width:100%;min-height:66px;padding:12px 10px;border:0;background:transparent;color:var(--ink);font-size:var(--text-base);text-align:left;cursor:pointer}.funding-row:hover{background:var(--hover)}.funding-row[aria-expanded=true]{background:var(--active);color:var(--active-ink)}.funding-row>span{min-width:0}#topstops .funding-name b{white-space:normal;line-height:1.4}.funding-row small{display:block;margin-top:4px;color:var(--mut);font-size:var(--text-support);line-height:1.4}.funding-state{line-height:1.4}.funding-state .funding-progress-label{color:var(--faint);margin-top:3px}.funding-entry.at-risk .funding-state>span:first-child{color:var(--bad)}.funding-amount{text-align:right}#topstops .funding-amount b{font-size:15px}.funding-chevron{color:var(--mut);text-align:center}.funding-entry.expanded .funding-chevron{transform:rotate(180deg)}.funding-details{padding:0 16px 10px}.funding-details[hidden]{display:none}.funding-details .district-grant-status{margin:0;padding-top:10px}.funding-details :is(.district-grant-status,.town-expansion-summary){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 28px}.funding-details :is(.district-grant-status,.town-expansion-summary) p{grid-column:1 / -1;margin-top:4px}#topstops .funding-details .pr b{white-space:normal}.funding-detail-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;color:var(--mut);font-size:var(--text-support)}.funding-detail-actions .capital-map-link{margin:6px 0 0 auto}.capital-funding-view>.capital-pager{margin-top:12px}.capital-result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px 0}.capital-result-toolbar .capital-tabs{flex:1;margin:0}.capital-result-toolbar>.capital-year{padding-bottom:8px}@media(max-height:760px),(max-width:1050px){#topstops.capital{--capital-gap: 12px;--year-chart-height: 100px}.capital-column,.capital-funding-view{padding:14px 16px}.capital-header,.capital-result-toolbar{padding:12px 16px 0}#topstops .yearmetricrow b{font-size:21px}.yearmetricrow{padding:7px 5px}.capital-section{padding-top:8px}.capital-goal{padding:11px 8px}.funding-row{min-height:60px;padding:9px 8px}}@media(max-width:760px){.capital-dashboard{grid-template-columns:minmax(0,1fr)}.capital-side{border-left:0;border-top:1px solid var(--frame)}.capital-first-year{min-height:180px;padding:24px 16px}.funding-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.funding-filters>input{grid-column:1 / -1}.funding-row{grid-template-columns:minmax(0,1fr) 120px 14px;gap:4px 10px}.funding-name{grid-column:1}.funding-state{grid-column:1;font-size:var(--text-support)}.funding-amount{grid-column:2;grid-row:1 / 3}.funding-chevron{grid-column:3;grid-row:1 / 3}.funding-details :is(.district-grant-status,.town-expansion-summary){grid-template-columns:minmax(0,1fr)}.capital-result-toolbar{flex-wrap:wrap}.capital-result-toolbar .capital-tabs{flex-basis:100%;gap:12px}}@media(max-width:460px){.capital-header{flex-wrap:wrap;gap:4px 12px}.capital-root-tabs{gap:20px}.capital-header>.capital-close{order:1}.capital-header>.capital-year{order:2;flex-basis:100%;margin:0 0 10px}.capital-section-head{flex-wrap:wrap;gap:4px 10px}.funding-filters label{flex-direction:column;align-items:stretch;gap:4px}}#topstops.capital.analytics{width:min(1440px,calc(100vw - 28px));background:var(--glass);color:#e1e6ee;--an-muted: #9ca3af;--an-border: #283240;--an-blue: #59b8ef;font-variant-numeric:tabular-nums}.an-header{display:flex;align-items:center;gap:24px;min-height:58px;padding:0 22px;border-bottom:1px solid var(--an-border)}#topstops .an-header h2{flex:none;margin:0;font-size:20px;line-height:1.2;font-weight:620;letter-spacing:-.02em}.an-tabs{align-self:stretch;align-items:stretch;flex:1;gap:24px;margin:0;border:0}.an-tabs button{padding:18px 0 16px;font-size:13px}.an-header>.capital-close{flex:none}.an-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:8px 22px}.an-period{display:flex;align-items:baseline;gap:12px;font-size:13px;font-weight:560}.an-period small{color:var(--an-muted);font-size:12px;font-weight:510}.an-year-controls{display:flex;gap:18px}.an-overview{padding:0 22px 16px}.an-headlines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--an-border);border-radius:5px;overflow:hidden}.an-kpi{display:flex;flex-direction:column;min-width:0;padding:13px 18px 8px;background:#151b23}.an-kpi+.an-kpi{border-left:1px solid var(--an-border)}.an-kpi-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;color:var(--an-muted)}.an-kpi-label small{font-size:11px;font-weight:510}.an-kpi-value{display:block;margin:7px 0 3px;font-size:30px;line-height:1.15;font-weight:620;letter-spacing:-.035em}.an-kpi-change{color:var(--an-muted);font-size:12px;line-height:1.4}.an-kpi-change.improving{color:#c6d4de}.an-spark{display:block;width:100%;height:25px;margin-top:6px;overflow:visible}.an-spark path{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.7}.an-spark circle{fill:currentColor}.an-spark-empty{display:block;height:25px;margin-top:6px;color:var(--an-muted);font-size:11px}.an-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}.an-chart-panel{min-width:0;padding:12px 14px 6px;border:1px solid var(--an-border);border-radius:5px;background:#151b23}.an-chart-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}#topstops.analytics h3{font-size:14px;font-weight:620}.an-unit{color:var(--an-muted);font-size:12px}.an-chart-panel select{max-width:48%;padding:4px 6px;border:1px solid var(--an-border);border-radius:3px;background:#10161d;color:#e1e6ee;font:510 12px var(--ui);color-scheme:dark}.an-chart-caption,.an-chart-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:25px;color:var(--an-muted);font-size:11px}.an-chart-legend{justify-content:flex-start;gap:18px}.an-chart-legend span{display:flex;align-items:center;gap:6px}.an-chart-legend span:before{content:"";width:14px;height:2px;background:var(--series)}.an-history-chart{display:block;width:100%;height:174px;overflow:visible}.an-grid{stroke:var(--an-border);stroke-width:1;vector-effect:non-scaling-stroke}.an-axis{fill:var(--an-muted);font-family:var(--ui);font-size:11px;font-weight:510}.an-series{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.an-area{fill:currentColor;opacity:.1}.an-compare-guide{stroke:#778393;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.an-year{cursor:pointer;outline:none}.an-hit{fill:transparent}.an-guide{stroke:#728397;stroke-width:1;opacity:0;vector-effect:non-scaling-stroke}.an-point{fill:currentColor;stroke:#151b23;stroke-width:1.5;opacity:0}.an-year.selected .an-point,.an-year:is(:hover,:focus-visible) :is(.an-point,.an-guide){opacity:1}.an-year.selected .an-year-label{fill:#e1e6ee;font-weight:620}.an-year:focus-visible .an-hit{stroke:var(--an-blue);stroke-width:1}.an-chart-tip{opacity:0;pointer-events:none}.an-year:is(:hover,:focus-visible) .an-chart-tip{opacity:1}.an-chart-tip rect{fill:#202a36;stroke:#405063;stroke-width:1}.an-chart-tip text{fill:#e1e6ee;font-family:var(--ui);font-size:12px;font-weight:510}.an-chart-tip .an-tip-year{font-weight:620}.an-chart-empty{display:grid;align-items:center;min-height:174px;color:var(--an-muted);font-size:13px}.an-lines{margin-top:16px}.an-lines>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:9px}.an-lines h3>span{margin-left:6px;color:var(--an-muted);font-size:12px;font-weight:510}.an-lines>header .an-unit{display:block;margin-top:3px}.an-lines input{width:200px;min-width:0;padding:7px 10px;border:1px solid var(--an-border);border-radius:3px;background:#151b23;color:#e1e6ee;font:510 13px var(--ui)}.an-lines input::placeholder{color:var(--an-muted)}.an-lines input:focus-visible{outline:2px solid var(--an-blue);outline-offset:2px}.an-table-wrap{overflow-x:auto}.an-line-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.an-line-table th{padding:0 10px 7px;color:var(--an-muted);font-size:12px;font-weight:510;text-align:right;border-bottom:1px solid var(--an-border)}.an-line-table :is(th,td):first-child{width:28%;padding-left:0;text-align:left}.an-line-table :is(th,td):nth-child(2){width:12%}.an-line-table :is(th,td):nth-child(3){width:21%}.an-line-table :is(th,td):last-child{padding-right:0}.an-line-table th button{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.an-line-table th button span{margin-left:6px;opacity:.45}.an-line-table th[aria-sort]{color:#e1e6ee}.an-line-table th[aria-sort] button span{color:var(--an-blue);opacity:1}.an-line-table td{height:39px;padding:3px 10px;border-bottom:1px solid var(--an-border);text-align:right;white-space:nowrap}.an-line-table tbody tr:hover{background:var(--hover)}.an-line-table tbody tr.selected{background:var(--active);color:var(--active-ink)}.an-line-name{display:flex;align-items:center;gap:9px;width:100%;min-width:0;padding:2px 6px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.an-line-name>span:last-child{min-width:0}.an-line-name strong{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:560}.an-line-name small{display:block;margin-top:2px;color:var(--an-muted);font-size:10px;text-transform:capitalize}.an-route-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:24px;height:22px;padding:0 4px;border-radius:2px;font-size:11px;font-weight:620;line-height:1}.an-route-badge.circle{min-width:22px;border-radius:50%}.an-route-badge.square{border-radius:3px}.an-route-badge.pill{border-radius:11px;padding:0 6px}.an-route-badge.rect{border-radius:1px}.an-load{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12px}.an-load>span:last-child{width:48px}.an-load-track{display:block;width:92px;max-width:calc(100% - 58px);height:4px;background:#283240}.an-load-track i{display:block;height:100%;background:var(--route)}.an-load.overloaded{color:var(--bad)}.an-load.overloaded i{background:var(--bad)}.an-lines>footer{display:flex;align-items:center;justify-content:space-between;min-height:28px;margin-top:6px;color:var(--an-muted);font-size:11px}.an-empty{padding:22px 0;color:var(--an-muted);font-size:13px;line-height:1.5}.an-line-detail{margin-top:14px;border:1px solid var(--an-border);border-radius:5px;background:#151b23}.an-line-detail>header{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px;border-bottom:1px solid var(--an-border)}.an-line-detail>header h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-line-detail>header>span:not(.an-route-badge){color:var(--an-muted);font-size:12px}.an-line-detail>header>.capital-link{margin-left:auto}.an-line-detail>header>.capital-close{flex:none;margin-left:auto}.an-line-detail>header>.capital-link+.capital-close{margin-left:4px}.an-line-detail>.capital-note{padding:12px 16px}.an-line-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:12px 16px}.an-line-panels>section{min-width:0}.an-line-inspection h4{margin:0 0 12px;font-size:13px;font-weight:560}.an-line-inspection h4 small{display:block;margin-top:4px;color:var(--an-muted);font-size:11px;font-weight:510}.an-line-inspection.has-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.an-line-inspection.has-map .an-line-panels{grid-template-columns:minmax(0,1fr);gap:20px}.an-line-inspection>.capital-note{margin:12px 16px 0}.an-route-panel{display:flex;min-width:0;padding:0 0 12px 16px}.an-route-map{flex:1;min-width:0;min-height:260px;overflow:hidden;border:1px solid var(--an-border);border-top:0;border-radius:0 0 4px 4px;background:#10161d}.an-section-hit{fill:transparent}.an-section-target{cursor:pointer}.an-section-target:focus{outline:none}.an-section-target.selected .an-capacity-section{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.an-capacity-chart.has-section .an-section-target:not(.selected) .an-capacity-section{opacity:.35}.an-station{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(30px,1fr) 56px;gap:12px;align-items:center;min-height:26px;font-size:12px}.an-station>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-station strong{text-align:right;font-weight:510}.an-station-bar{height:5px;background:var(--an-border)}.an-station-bar i{display:block;height:100%;background:var(--route)}.an-station-target{cursor:pointer}.an-station-target.selected{color:#fff}.an-station-target.selected .an-station-bar i{box-shadow:0 0 0 1.5px #fff}.an-station-target:focus-visible{outline:1px solid var(--route);outline-offset:2px}.an-capacity-chart{display:block;width:100%;max-height:132px}.an-capacity-section{fill:var(--route)}.an-capacity-section.overloaded{fill:var(--bad)}.an-capacity-limit{stroke:#c4cbd4;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.an-line-history{margin:0 16px 12px;border-top:1px solid var(--an-border)}.an-line-history summary{padding:12px 0;color:var(--an-muted);font-size:12px;cursor:pointer}.an-line-history summary:hover{color:#e1e6ee}.an-line-history-chart{height:174px}.an-line-history .an-history-chart{height:100%;min-height:0;margin:0}.an-history-start{margin:0;border-top:1px solid var(--an-border)}@media(max-height:840px){.an-header{min-height:50px}.an-tabs button{padding:14px 0 12px}.an-toolbar{min-height:42px;padding-top:5px;padding-bottom:5px}.an-kpi{padding-top:10px;padding-bottom:5px}.an-kpi-value{margin-top:5px;font-size:28px}.an-spark,.an-spark-empty{height:19px;margin-top:4px}.an-charts,.an-lines{margin-top:12px}.an-chart-panel{padding-top:8px}.an-history-chart,.an-chart-empty{height:144px;min-height:0}.an-line-history-chart{height:144px}.an-line-table td{height:34px;padding-top:1px;padding-bottom:1px}.an-line-name small{font-size:9px}}@media(max-width:1000px){.an-header{gap:16px;padding:0 16px}.an-tabs{gap:16px}.an-toolbar,.an-overview{padding-left:16px;padding-right:16px}.an-kpi{padding-left:12px;padding-right:12px}.an-kpi-label{display:block}.an-kpi-label small{display:block;margin-top:2px}.an-kpi-value{font-size:27px}.an-kpi-change{font-size:11px}.an-line-table{min-width:780px}.an-load-track{width:72px}}@media(max-width:760px){.an-header{flex-wrap:wrap;gap:0 12px;padding-top:12px}.an-header>h2{flex:1}.an-tabs{order:2;flex-basis:100%;gap:18px;margin-top:2px}.an-tabs button{padding:12px 0 10px;font-size:12px}.an-toolbar{align-items:flex-start;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.an-period small{display:none}.an-year-controls{gap:12px;flex-wrap:wrap}.an-headlines{grid-template-columns:repeat(2,minmax(0,1fr))}.an-kpi-label{display:flex}.an-kpi:nth-child(3){border-left:0}.an-kpi:nth-child(n+3){border-top:1px solid var(--an-border)}.an-charts,.an-line-panels,.an-line-inspection.has-map{grid-template-columns:minmax(0,1fr)}.an-route-panel{padding-right:16px}.an-history-chart{height:auto;min-height:144px}.an-lines input{width:145px}.an-line-detail>header{flex-wrap:wrap}.an-line-detail>header>span:not(.an-route-badge){flex-basis:100%;order:1}}.dashboard-funding,.dashboard-first-year{padding:0 22px 18px}.dashboard-budget{display:grid;grid-template-columns:repeat(var(--budget-columns),minmax(0,1fr));border:1px solid var(--an-border);border-radius:5px;background:#151b23}.dashboard-budget>div{min-width:0;padding:14px 18px}.dashboard-budget>div+div{border-left:1px solid var(--an-border)}.dashboard-budget span{display:block;color:var(--an-muted);font-size:12px}.dashboard-budget strong{display:block;margin-top:8px;font-size:30px;font-weight:620;line-height:1.15;letter-spacing:-.035em}.dashboard-budget>div:not(:first-child) strong{color:#c0c7d1;font-size:26px}.dashboard-budget-note{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:7px 0 14px}.dashboard-budget-note .capital-note{margin:0}.dashboard-funding>.capital-risk{margin:0 0 14px}.dashboard-goals{margin-bottom:16px}.dashboard-goals .capital-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.dashboard-goals .capital-goal{padding:10px 12px;border:1px solid var(--an-border);border-radius:4px;background:#151b23}.dashboard-goals .capital-goal:hover{background:var(--hover)}.dashboard-goals .capital-goal-head{gap:10px}.dashboard-goals .funding-progress-label{font-size:11px}.dashboard-funding>.capital-funding-view{padding:12px 0 0;border-top:1px solid var(--an-border)}.dashboard-funding .funding-row{min-height:60px;padding-top:9px;padding-bottom:9px}.dashboard-payments{margin-top:14px;border-top:1px solid var(--an-border)}.dashboard-payments>summary{padding:15px 0;color:var(--ink);font-size:13px;font-weight:560;cursor:pointer}.dashboard-payments>summary span{margin-left:10px;color:var(--an-muted);font-size:12px;font-weight:510}.dashboard-payments>summary:hover{color:#fff}.dashboard-payments>summary:focus-visible{outline:2px solid var(--an-blue);outline-offset:2px}.dashboard-payments[open]>summary{border-bottom:1px solid var(--an-border)}.dashboard-payments .capital-column:first-child{padding-left:0}.dashboard-payments .capital-column:last-child{padding-right:0}.dashboard-column-year{margin-bottom:12px;color:var(--an-muted);font-size:12px}.dashboard-first-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;padding:32px 24px 36px;margin-top:24px;border-top:1px solid var(--an-border)}#topstops .dashboard-first-guide h3{font-size:24px;line-height:1.3;letter-spacing:-.02em}.dashboard-first-guide p{max-width:400px;color:var(--an-muted);font-size:14px;line-height:1.6}.dashboard-first-guide ol{display:grid;gap:22px;margin:0;padding-left:24px}.dashboard-first-guide li{padding-left:8px;font-size:14px}.dashboard-first-guide li::marker{color:var(--an-muted);font-size:12px}.dashboard-first-guide li strong{display:block;font-weight:560}.dashboard-first-guide li span{display:block;margin-top:6px;color:var(--an-muted);font-size:13px;line-height:1.5}.dashboard-action{margin-top:12px;max-width:100%;padding:10px 14px;border:1px solid #315a74;border-radius:3px;background:#18344a;color:#c2e5fa;font:560 13px var(--ui);cursor:pointer}.dashboard-action:hover{background:var(--hover)}.dashboard-funding .dashboard-budget.compact>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px}.dashboard-funding .dashboard-budget.compact strong{margin:0;font-size:23px;white-space:nowrap}.funding-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.funding-group{min-width:0}.funding-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.funding-group-heading>span{color:var(--an-muted);font-size:11px}.funding-place{--place-ink: #d3b5f5;--place-photo-size: 110px;display:flex;width:100%;min-height:110px;padding:0;overflow:hidden;border:1px solid var(--an-border);border-radius:4px;background:#151b23;color:inherit;font:inherit;text-align:left;cursor:pointer}.funding-place:hover{background:var(--hover);border-color:#4c596b}.funding-place+.funding-place{margin-top:8px}.funding-place.res{--place-ink: #f2a9bd}.funding-place.town{--place-ink: #f5cf9a}.funding-place.at-risk{border-color:var(--bad)}.funding-place-photo{position:relative;flex:0 0 var(--place-photo-size);width:var(--place-photo-size);height:var(--place-photo-size);align-self:flex-start;overflow:hidden;padding:0;border:0;border-right:1px solid var(--an-border);border-radius:0;background:#0b0f14;cursor:pointer}.funding-place-photo .hpshot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1.4)}.funding-place-photo .hpshot img{position:absolute;width:256px;height:256px}.funding-place-photo .hpshot.photo{top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none}.funding-place-photo .hpshot.photo img{position:static;width:100%;height:100%;object-fit:cover}.funding-place-photo .hpshot.photo i{position:absolute;bottom:0;left:0;right:0;padding:3px 5px;background:#10161dd9;color:#e1e6ee;font-size:9px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.funding-place-photo:has(.failed){display:none}.funding-place:hover img{filter:brightness(1.12)}.funding-place-body{flex:1;min-width:0;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:6px}.funding-place-heading{display:flex;align-items:baseline;gap:7px;min-width:0}.funding-place-rank{color:var(--place-ink);font-size:11px;font-weight:560}.funding-place-name{margin:0;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:560 13px/1.4 var(--ui)}.funding-place-heading>b{flex:none;font-size:13px;font-weight:560}.funding-place-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 6px;color:#c0c7d1;font-size:11px;line-height:1.5}.funding-place-progress>span:last-child{color:var(--an-muted)}.funding-place-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 6px;color:var(--an-muted);font-size:11px;line-height:1.5}#topstops.capital .funding-place-footer .capital-link{flex:none;font-size:11px;color:#dce2eb}.funding-place.at-risk .funding-place-footer>span:first-child{color:var(--bad)}#topstops.capital .funding-place:focus-visible{outline:2px solid #59b8ef;outline-offset:-2px}.funding-group-empty{color:var(--an-muted);font-size:12px;line-height:1.6;padding:18px 0;margin:0}.funding-disclosure{border-top:1px solid var(--an-border)}.funding-disclosure>summary{padding:14px 0;color:var(--ink);font-size:13px;font-weight:560;cursor:pointer}.funding-disclosure>summary span{margin-left:12px;color:var(--an-muted);font-size:11px;font-weight:510}.funding-disclosure>summary:hover{color:#fff}.funding-disclosure>summary:focus-visible{outline:2px solid #59b8ef;outline-offset:2px}.funding-disclosure[open]>summary{padding-bottom:8px}.funding-disclosure>.capital-funding-view{padding:8px 0 18px}.funding-disclosure+.dashboard-payments{margin-top:0}@media(max-width:1150px){.funding-board{gap:12px}.funding-place{--place-photo-size: 92px}.funding-place-body{padding:10px}.dashboard-funding .dashboard-budget.compact>div{display:block}.dashboard-funding .dashboard-budget.compact strong{margin-top:5px}}@media(max-width:900px){.funding-board{grid-template-columns:minmax(0,1fr);gap:22px}.funding-place{--place-photo-size: 110px}.funding-place-name{font-size:14px}.funding-place-progress,.funding-place-footer,#topstops.capital .funding-place-footer .capital-link{font-size:12px}.funding-disclosure>summary span{display:block;margin:5px 0 0 16px}}@media(max-height:840px){.dashboard-budget>div{padding-top:10px;padding-bottom:10px}.dashboard-budget strong{margin-top:5px;font-size:28px}.dashboard-budget>div:not(:first-child) strong{font-size:24px}.dashboard-budget-note{margin-bottom:10px}.dashboard-goals{margin-bottom:12px}.dashboard-funding .funding-row{min-height:54px;padding-top:7px;padding-bottom:7px}}@media(max-width:1000px){.dashboard-funding,.dashboard-first-year{padding-left:16px;padding-right:16px}.dashboard-budget>div{padding-left:12px;padding-right:12px}.dashboard-goals .capital-goal-head{flex-wrap:wrap;gap:4px}}@media(max-width:760px){.dashboard-budget{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-budget>div:nth-child(odd){border-left:0}.dashboard-budget>div:nth-child(n+3){border-top:1px solid var(--an-border)}.dashboard-budget-note{flex-wrap:wrap;gap:4px}.dashboard-goals .capital-goals{grid-template-columns:minmax(0,1fr);gap:8px}.dashboard-goals .capital-goal-head{flex-wrap:nowrap}.dashboard-payments .capital-column{padding-left:0;padding-right:0}.dashboard-first-guide{grid-template-columns:minmax(0,1fr);gap:24px;padding:20px 0}}#layersMenu{position:fixed;z-index:30;background:var(--solid);padding:12px 14px;display:flex;flex-direction:column;gap:7px;width:400px;max-width:calc(100vw - 20px);max-height:calc(100dvh - var(--bar-h) - 12px);overflow-y:auto;box-shadow:var(--elev2);animation:popin .1s cubic-bezier(.2,.9,.3,1);transform-origin:top left}#layersMenu[hidden]{display:none}#layersMenu label{display:flex;gap:9px;align-items:center;font-size:var(--text-base);color:var(--mut);cursor:pointer}#layersMenu input{accent-color:var(--acc)}#panel::-webkit-scrollbar{display:none}#panel>*{pointer-events:auto}.card{background:var(--glass);padding:13px 15px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex:none;box-shadow:var(--elev1);font-size:var(--text-base)}.card h2{font-size:var(--text-heading);font-weight:var(--w-semi);letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 12px}.mut{color:var(--faint);font-size:var(--text-support)}.kpi{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05)}.kpi:last-child{border-bottom:none}.kpi .l{color:var(--mut);font-size:var(--text-base)}.kpi .v{font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:var(--text-base)}#linelist{display:flex;flex-direction:column}#linelist>.lbox+.lbox{border-top:1px solid rgba(255,255,255,.04)}.linerow2 .lstats{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;font-family:var(--ui);font-size:var(--text-support);font-variant-numeric:tabular-nums}.linerow2 .lstats>*{flex-shrink:0}.linerow2 .lstats .lstops,.linerow2 .lstats .lriders,.linerow2 .lstats .llen,.linerow2 .lstats .lpeak{display:inline-flex;align-items:center;gap:3px;color:var(--mut);white-space:nowrap}.linerow2 .lstats svg{width:10px;height:10px;color:var(--faint)}.linerow2 .lstats .lpeak.tight{color:var(--warn)}.linerow2 .lstats .lpeak.tight svg{color:var(--warn)}.linerow2 .lstats .lpeak.over{color:var(--bad)}.linerow2 .lstats .lpeak.over svg{color:var(--bad)}.linerow2 .ltools{display:inline-flex;align-items:center;justify-self:end;gap:6px}.linerow2 .ltools>*{flex-shrink:0}.linerow2 .lmap-actions{display:inline-flex;align-items:center;gap:1px}.linerow2 .lfind{--button-h: 18px;width:16px;height:18px;padding:0;margin:0}.linerow2 .lfind svg{width:12px;height:12px;color:currentColor}.linerow2 .lstats .lbal{margin-left:auto}.lbox{border-radius:4px;border:1px solid transparent}.lbox.open{margin:4px 0}#card-lines{overflow:clip}.lbox.open>.linerow2{position:sticky;top:0;z-index:2;background:var(--glass)}.linerow2{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:5px 8px;align-items:center;padding:10px 6px 10px 8px;border-radius:4px;cursor:pointer;font-size:14px;color:var(--mut)}.lbox.open .linerow2{color:var(--ink)}.linerow2 .lpen{--button-h: var(--control-sm-h);width:var(--control-sm-h);height:var(--control-sm-h);padding:0;margin:0}.linerow2 .lpen svg{width:var(--control-icon);height:var(--control-icon)}.dot{height:18px;min-width:18px;padding:0 5px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font:var(--w-semi) 10px "Inter Variable","Inter",sans-serif;letter-spacing:.01em;white-space:nowrap;box-sizing:border-box}.dot.circle{border-radius:9px}.dot.square{border-radius:3px}.dot.pill{border-radius:9px;padding:0 6px}.dot.rect{border-radius:1px}.linerow2 .lname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:inherit;font-weight:var(--w-med)}.lbox:not(.open) .linerow2 .lname{font-size:13px}.linerow2 .lriders{white-space:nowrap}.linerow2{transition:color .12s,background .12s}.linerow2:hover{color:var(--ink);background:var(--hover)}.linerow2:hover .lname{color:var(--ink)}.linerow2:hover .lmode,.linerow2:hover .lbal{color:var(--mut)}.linerow2:hover .lstats .lstops,.linerow2:hover .lstats .lriders,.linerow2:hover .lstats .llen,.linerow2:hover .lstats .lpeak:not(.tight):not(.over){color:var(--ink)}.linerow2:hover .lstats svg{color:var(--mut)}.lbody{padding:6px 0 14px;display:flex;flex-direction:column;gap:14px}.lbody h2{margin:2px 0 0}.lcontrols{display:flex;gap:6px;align-items:center;font-size:var(--text-base);color:var(--mut);flex-wrap:wrap}.lcontrols label{display:flex;gap:5px;align-items:center}.lcontrols .cdelete{margin-left:auto}.lcontrols .csecondary{display:flex;align-items:center;justify-content:space-between;width:100%}.lcontrols .csecondary:not(:has(.iconset)){display:none}.lcontrols .cparallel-side{margin-left:auto}.lcontrols>.reuse-help{flex-basis:100%}.bpwork{margin:6px 0;color:var(--ink);font-weight:var(--w-med);line-height:1.45;white-space:normal}.lcontrols select{background:var(--glass2);color:var(--ink);border:1px solid var(--frame);border-radius:4px;padding:3px 7px;font-size:var(--text-support)}.lkpis{display:flex;flex-direction:column}.lkpi-year{margin:0 0 6px;color:var(--mut);font:var(--w-semi) var(--text-support) var(--ui)}.lkpis .kpi{padding:4px 0}.lkpis .kpi .v{font-size:var(--text-base)}.lkpis .kpi .v{transition:filter .12s ease,opacity .12s ease}.sched{display:flex;flex-direction:column;gap:4px}.lprofile{display:flex;flex-direction:column;gap:3px}#hint{padding:0;margin:0}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}@media(max-width:760px){#panel{width:auto;left:14px;top:auto;bottom:14px;max-height:45%}}#infoBtn{position:absolute;right:6px;bottom:6px;z-index:25;width:18px;height:18px;border-radius:50%;background:var(--glass);border:1px solid var(--frame);color:var(--mut);font:var(--w-semi) 10px Georgia,serif;font-style:italic;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#infoBtn:hover{color:var(--ink);border-color:var(--frame2)}#betaTag{position:absolute;right:30px;bottom:9px;z-index:25;pointer-events:none;font:var(--w-med) 9.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}#infoPop{position:absolute;right:6px;bottom:30px;z-index:25;width:300px;background:var(--glass);padding:11px 13px;color:var(--faint);font-size:var(--text-support);line-height:1.55;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--elev2)}#infoPop[hidden]{display:none}#infoPop .ilegal{margin-top:8px;padding-top:8px;border-top:1px solid var(--frame);color:var(--mut)}#topbar .brand{display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap;background:none;padding:0;align-self:stretch}#topbar .baricons{display:inline-flex;align-items:center;gap:2px;align-self:stretch}#topbar .brandname,#topbar #layersBtn,#topbar #linesBtn{line-height:1}.brandlink{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.brandlink:hover .brandname{color:var(--ink)}.brandname{font-weight:var(--w-semi);font-size:13px;letter-spacing:.06em}.brandsep{width:1px;height:15px;background:var(--frame2)}#topbar .brand #layersBtn{background:none;border:none;border-radius:4px;height:var(--control-h);padding:0 8px;color:var(--mut);cursor:pointer;font:var(--w-med) 13px var(--ui);transition:var(--control-transition)}#topbar .brand #layersBtn:hover{color:var(--ink);background:var(--hover)}body:has(#cityMenu:not([hidden])) #topbar #layersBtn{color:var(--active-ink);background:var(--active)}.strengthrow{display:flex!important;flex-direction:column;align-items:stretch!important;gap:5px!important;font-size:12.5px;color:var(--mut);min-width:0}.strengthrow input[type=range]{width:100%;min-width:0;accent-color:var(--acc);height:3px}#topstops .fareslider{width:100%;min-width:0;accent-color:var(--acc);height:3px;margin:2px 0 6px}#topstops .mrow.fare .fareval{font-variant-numeric:tabular-nums}#topstops .fareex{color:var(--faint);font-size:var(--text-support);margin:-2px 0 4px;font-variant-numeric:tabular-nums}#topstops .farenote{color:var(--faint);font-size:var(--text-support);line-height:1.45;margin:2px 0 4px}.linerow2.offrow .lname,.linerow2.offrow .lmode{opacity:.5}#linepop{position:absolute;z-index:40;pointer-events:none;background:var(--glass);padding:10px 12px;min-width:190px;font-size:var(--text-base);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#linepop .psec{margin:7px 0 3px;padding-top:6px;border-top:1px solid var(--frame);color:var(--ink);font-size:var(--text-heading);font-weight:var(--w-semi)}#topstops{position:fixed;z-index:45;width:min(372px,calc(100vw - 20px));background:var(--glass);padding:12px 13px 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--elev2);font-size:var(--text-base)}#topstops[hidden]{display:none}#topstops h2{font-size:var(--text-heading);font-weight:var(--w-semi);letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 12px}#topstops .tsmetric{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--frame)}#topstops .tsmetrichead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}#topstops .tsmetrichead h2{margin:0}#topstops .tsmetrichead .kpi-card-value{margin-left:auto}.kpi-card-value{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:4px 8px}.kpi-change{display:inline-flex;align-items:center;gap:4px;color:var(--faint);font:var(--w-med) var(--text-support)/1.2 var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-change>span{font-size:8px}.kpi-change.good{color:var(--ok)}.kpi-change.bad{color:var(--bad)}#topstops .tsmetrichead b{font-size:24px;line-height:1.2;font-weight:var(--w-semi);font-variant-numeric:tabular-nums}#topstops .tsmetric p{margin:8px 0 0;color:var(--mut);font-size:var(--text-support);line-height:1.45}#topstops .tsrow{display:grid;grid-template-columns:14px max-content minmax(0,1fr) max-content;align-items:center;gap:8px;padding:4px 5px;margin:0 -5px;border-radius:4px;cursor:pointer;color:var(--mut);transition:color .12s,background .12s}#topstops .tsrow:hover{color:var(--ink);background:var(--hover)}#topstops .tsrow.still{cursor:default}#topstops .tsrow.still:hover{background:none;color:inherit}#topstops.changes{width:min(440px,calc(100vw - 20px))}#topstops.changes .tsrow{grid-template-columns:14px max-content minmax(0,1fr) max-content max-content max-content max-content max-content}#topstops.changes.sync-off .tsrow{grid-template-columns:14px max-content minmax(0,1fr) max-content max-content max-content max-content}#topstops.reach .tsrow{grid-template-columns:14px minmax(0,1fr) max-content max-content}#topstops.result{width:min(320px,calc(100vw - 20px))}#topstops .moff{font-size:var(--text-heading);letter-spacing:0;text-transform:none;color:var(--ink);font-weight:var(--w-semi);margin:2px 0 4px}#topstops .moff.mofftop{margin-top:7px;font-size:var(--text-support)}#topstops .mrow.off span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#topstops .mrow.go{cursor:pointer;border-radius:4px;margin:0 -5px;padding:4px 5px;transition:color .12s,background .12s}#topstops .mrow.go:hover{color:var(--ink);background:var(--hover)}#topstops .mrow.pend b{color:var(--acc-text)}#topstops .mrow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:4px 0;color:var(--mut)}#topstops .mrow b{font-family:var(--ui);font-weight:var(--w-med);font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}#topstops .mrow.sum{color:var(--ink);font-weight:var(--w-semi)}#topstops .mrow.sum b{font-size:var(--text-base)}#topstops .mrow.dn b{color:var(--bad)}#topstops .msep{height:1px;background:var(--frame);margin:8px 0}#topstops .mhist{display:flex;flex-direction:column;gap:1px;max-height:168px;overflow-y:auto;margin:0 -5px}#topstops .mhistrow{display:flex;align-items:center;gap:8px;padding:4px 5px;border-radius:4px}#topstops .mhicon{width:15px;height:15px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:10px;color:var(--ink)}#topstops .mhistrow.warn .mhicon{color:var(--warn)}#topstops .mhtext{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}#topstops .mhtext b{font-size:var(--text-base);font-weight:var(--w-med);color:var(--ink);font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#topstops .mhtext i{font-style:normal;font-size:var(--text-support);color:var(--mut)}#topstops .mhtime{font-size:var(--text-support);color:var(--faint);white-space:nowrap;flex:none}#topstops.result .tsfoot{margin-top:4px}#topstops .tstag{font-size:var(--text-support);letter-spacing:0;text-transform:none;color:var(--faint);white-space:nowrap}#topstops .tstag.build{color:var(--acc-text)}#topstops .tstag.link{color:var(--warn)}#topstops .tsrank{font-family:var(--ui);font-size:var(--text-support);color:var(--faint);text-align:right;font-variant-numeric:tabular-nums}#topstops .tssigns{display:inline-flex;gap:3px;align-items:center}#topstops .tssigns .dot{height:15px;min-width:15px;padding:0 4px;font-size:9px}#topstops .tsmore{font-size:var(--text-support);color:var(--faint)}#topstops .tsname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#topstops .tswalk{font-family:var(--ui);font-size:var(--text-support);color:var(--faint);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}#topstops .tswalk.far{color:var(--warn)}#topstops .tsgap{font-family:var(--ui);font-size:var(--text-support);color:var(--warn);white-space:nowrap;text-align:right;min-width:30px;font-variant-numeric:tabular-nums}#topstops .tsgap.ok{color:var(--mut)}#topstops .tsync{--button-h: var(--control-sm-h);padding:0 8px;pointer-events:auto}.bpbreak{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;gap:2px 10px;margin:6px 0 2px;font-size:var(--text-support);color:var(--mut)}.bpbreak .k{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bpbreak .d,.bpbreak .v{font-variant-numeric:tabular-nums;text-align:right}.bpbreak .v{color:var(--ink)}.bpbreak .tot{border-top:1px solid var(--frame);padding-top:4px;margin-top:2px;color:var(--ink);font-weight:var(--w-semi)}.bpbreak.compact .tot{border-top:0;padding-top:0;margin-top:0}.bpbreak .v.tot.short{color:var(--bad)}.bpbreak .share{grid-column:1 / -1;color:var(--faint);font-size:var(--text-support)}#topstops .tsarrow{color:var(--faint);font-style:normal;padding:0 1px}#topstops .tshold{color:var(--mut);font-variant-numeric:tabular-nums;text-align:right;font-size:var(--text-support)}#topstops .tshold.weak{color:var(--warn)}#topstops b{font-family:var(--ui);font-weight:var(--w-med);font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}#topstops .tsfoot{margin-top:9px;padding-top:8px;border-top:1px solid var(--frame);color:var(--faint);font-size:var(--text-support);line-height:1.45}#topstops .tsempty{color:var(--faint);font-size:var(--text-base)}#poipop{position:absolute;z-index:40;width:240px;overflow:hidden;background:var(--glass);pointer-events:none;box-shadow:var(--elev2);line-height:0}#poipop[hidden]{display:none}#poipop img{width:100%;height:150px;object-fit:cover;display:block}#poipop i em{display:block;font-style:normal;font-size:10px;color:#fff9;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#poipop figure{position:relative;margin:0;display:block}#poipop .pfacts{line-height:1.35;padding:6px 10px 8px}#poipop u{display:block;font-size:var(--text-support);text-decoration:none;color:var(--mut)}#poipop s{display:flex;align-items:baseline;gap:5px;font-size:var(--text-support);text-decoration:none;margin-top:3px}#poipop s b{flex:none;width:14px;height:14px;border-radius:50%;display:inline-grid;place-items:center;align-self:center;font:var(--w-semi) 9px "Inter Variable","Inter",sans-serif}#poipop s span{min-width:0}#poipop s.near{color:var(--ink)}#poipop s.far{color:var(--faint)}#poipop i.bare{position:static;background:none;padding:8px 10px 0;display:block}#poipop i{position:absolute;left:0;right:0;bottom:0;padding:14px 10px 6px;font-style:normal;font-size:var(--text-base);line-height:1.3;color:#fff;background:linear-gradient(to top,#06090ceb,#06090c00)}#stationpop{position:absolute;z-index:40;transform:translate(-50%,-100%);background:var(--glass);padding:10px 12px;min-width:190px;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--elev2);font-size:var(--text-base)}#stationpop,#linepop,#hubpop,#poipop,#buildtip{max-height:calc(100vh - 20px);overflow-y:auto;overflow-x:hidden}#stationpop .ph,#linepop .ph{display:flex;align-items:center;gap:7px}#stationpop .ph .dot,#linepop .ph .dot{height:16px;min-width:16px;padding:0 4px;font-size:9px}#stationpop .pn,#linepop .pn{font-weight:var(--w-semi);font-size:var(--text-heading)}#stationpop .pm,#linepop .pm{color:var(--faint);font-size:var(--text-support);margin:1px 0 7px 23px;text-transform:capitalize}#stationpop .pr,#linepop .pr{display:flex;justify-content:space-between;gap:14px;padding:2px 0;color:var(--mut)}#stationpop .pr b,#linepop .pr b{font-family:var(--ui);font-weight:var(--w-med);color:var(--ink);font-variant-numeric:tabular-nums}#stationpop .pr.off,#linepop .pr.off{color:var(--faint);font-style:italic}#stationpop .pr b em{font-style:normal;color:var(--faint);font-size:var(--text-support)}#stationpop .prboard{margin:6px 0 2px;border-top:1px solid var(--frame);padding-top:6px}#stationpop .prboard .bd{display:flex;justify-content:space-between;gap:12px;padding:1px 0;font-size:var(--text-support);color:var(--mut)}#stationpop .prboard .bd i{font-style:normal;font-family:var(--ui);font-size:var(--text-support);color:var(--faint);font-variant-numeric:tabular-nums}#stationpop .prboard .bd span{font-family:var(--ui);font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums}#stationpop .phint{margin-top:6px;padding-top:5px;border-top:1px solid var(--frame);color:var(--faint);font-size:var(--text-support)}#stationpop .pr .badges{display:inline-flex;gap:4px}#stationpop .pr .badges .dot{height:14px;min-width:14px;padding:0 3px;font-size:8px}.csum{display:none;align-items:center;gap:5px;margin-left:auto;margin-right:10px;font-family:var(--ui);font-size:13px;font-weight:var(--w-med);letter-spacing:0;text-transform:none;color:var(--mut);font-variant-numeric:tabular-nums}.csum svg{opacity:.7;flex:none;width:12px;height:12px}.taktchart{display:block;background:var(--glass2);cursor:ns-resize;touch-action:none}.taktaxis{display:flex;font-family:var(--ui);font-size:var(--text-support);color:var(--mut)}.taktanchor{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:var(--text-support);color:var(--faint)}.taktanchor b{font-family:var(--ui);font-weight:var(--w-med);color:var(--mut);font-variant-numeric:tabular-nums}.taktanchor .an{--button-h: var(--control-sm-h);width:var(--control-sm-h);padding:0}.taktaxis span{text-align:center;overflow:hidden;text-overflow:clip}.taktpresets{display:flex;gap:2px;background:var(--glass2);border-radius:var(--control-radius);padding:2px;align-self:stretch}.taktpresets button{flex:1;min-width:0;padding:0 8px}.metriclab{font-size:var(--text-support);font-weight:var(--w-semi);letter-spacing:0;text-transform:none;color:var(--faint);margin:4px 0 3px}.metricbar{display:flex;gap:4px;margin:0 0 6px}.metricbar button{flex:1;min-width:0;padding:0 6px}#buildtip.incard{position:relative;z-index:auto;transform:none;max-width:none;background:var(--acc-tint);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:9px 10px 10px}#buildtip .tline,#buildtip .tipopts{transition:opacity .12s ease}#buildtip.stale .tline,#buildtip.stale .tipopts{opacity:.45}#buildtip.stale.veto .tsay{opacity:1}.tipslot:empty{display:none}#buildtip{position:absolute;z-index:45;pointer-events:none;max-width:330px;background:var(--glass);padding:7px 10px 6px;font-size:var(--text-base);color:var(--mut);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-variant-numeric:tabular-nums}#buildtip .tiphead{display:flex;flex-direction:column;gap:3px}#buildtip .tline{display:flex;align-items:baseline;gap:6px;white-space:nowrap;overflow:hidden}#buildtip .tline:has(>.tintent){white-space:normal;overflow:visible}#buildtip .tlab,#buildtip .money .ml{font-style:normal;color:var(--faint);font-size:var(--text-support);margin-right:auto;font-family:Inter Variable,Inter,sans-serif;font-weight:var(--w-med);letter-spacing:0}#buildtip .twhere,#buildtip .tprice{border-top:1px solid rgba(255,255,255,.06);padding-top:5px;margin-top:2px}#buildtip .tline{min-height:15px;min-width:0}#buildtip .twho{gap:10px}#buildtip .twho:has(>.parallel-assignment){display:block;white-space:normal;overflow:visible;overflow-wrap:anywhere}#buildtip:has(.parallel-assignment) :is(.tground,.tserves){display:block;white-space:normal;overflow:visible;overflow-wrap:anywhere}#buildtip .twho .tlab{margin-right:0}#buildtip .tsay{height:calc(var(--text-base) * 2.7);align-items:center;line-height:1.35}#buildtip .tsay .tintent{align-items:flex-start}#buildtip .tsay .tintent i{margin-top:4px}#buildtip .tsay .tw{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}#buildtip .tdash{font-style:normal;color:var(--faint);opacity:.45}#buildtip .tground{gap:10px;overflow:hidden}#buildtip .gch{display:inline-flex;align-items:baseline;gap:4px;font-size:var(--text-support);color:var(--faint)}#buildtip .gch b{font-family:var(--ui);font-size:var(--text-base);font-weight:var(--w-semi);color:inherit}#buildtip .gch.warn{color:var(--warn)}#buildtip .tserves{gap:8px}#buildtip .tserves .lrow .tlab{margin-right:2px}#buildtip .tserves .ldot{width:13px;height:13px;font-size:8.5px}#buildtip .tserves .ldot.skip{opacity:.28}#buildtip .tserves .detail{margin-left:auto;white-space:nowrap}.tipopts:empty{display:none}#buildtip b{font-family:var(--ui);font-weight:var(--w-med);color:var(--ink);font-variant-numeric:tabular-nums}.linerow2 .lmode{display:inline-flex;align-items:center;color:var(--faint);white-space:nowrap;font-size:var(--text-support);text-transform:none;letter-spacing:0;padding-right:2px}.linerow2 .lmode{gap:1px;text-transform:capitalize}.lbox.open .linerow2 .lmode{color:var(--mut)}.segrow2 .sp{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.srow.plat{display:inline-flex;gap:3px}.srow.plat .scut svg{width:12px;height:12px}.linerow2 .lshare{display:inline-flex;align-items:center;gap:2px;color:var(--faint);font-size:var(--text-support);letter-spacing:0;white-space:nowrap}.linerow2 .lshare svg{width:11px;height:11px}.linerow2:hover .lshare{color:var(--mut)}.linerow2 .lbal{color:var(--faint);white-space:nowrap}.linerow2 .lbal em{font-style:normal;color:var(--faint);font-size:var(--text-support);letter-spacing:0;margin-right:3px;text-transform:none}.linerow2 .lbal.up{color:var(--ink)}.linerow2 .lbal.dn{color:var(--bad)}.segrow2 .srow.term{color:var(--faint);font-size:var(--text-support);letter-spacing:0;text-align:center}.saveheading{color:var(--ink);font-size:14px;font-weight:var(--w-semi)}.savehelp,.saveempty{margin:0;color:var(--mut);font-size:12px;line-height:1.5}.saveempty{padding:8px 0;color:var(--faint)}.saverow{display:flex;gap:6px}.saverow input{flex:1;min-width:0;background:#ffffff0d;border:1px solid var(--frame);border-radius:4px;padding:4px 8px;color:var(--ink);font:var(--w-med) var(--text-base) var(--ui)}.saverow input::placeholder{color:var(--faint)}.widebtn{width:100%;margin-top:2px}.fileactions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:2px}.fileactions .widebtn{margin-top:0}.filebtn{display:flex;align-items:center;gap:7px;text-align:left}.filebtn svg{width:var(--control-icon);height:var(--control-icon);flex:none;color:var(--mut)}.filebtn span{flex:1}.filebtn[aria-busy=true] svg{opacity:.45}.filestate{display:flex;align-items:center;gap:8px;margin-top:4px;padding:5px 7px;border-left:2px solid var(--acc-text);background:#1999d612;color:var(--mut)}.filestate[hidden]{display:none}.filestate span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.filestate b{color:var(--ink);font-size:var(--text-support);font-weight:var(--w-semi)}.filestate small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font:var(--w-med) var(--text-support) var(--ui)}.filestate button{--button-h: var(--control-sm-h);padding:0 8px}.savelist{display:flex;flex-direction:column;gap:3px;max-height:240px;overflow-y:auto}.saveitem{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--frame);padding:8px 0}.saveinfo{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.saveitem .sn{color:var(--ink);font-size:13px;font-weight:var(--w-med);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saveitem .st{font:400 var(--text-support) var(--ui);color:var(--faint);font-variant-numeric:tabular-nums}.saveactions{display:flex;align-items:center;gap:4px;flex:none}.saveactions button,.saveconfirm-actions button{padding:0 8px}.saveactions .sx{--button-bg: transparent;--button-border: transparent;--button-hover-border: transparent}.saveactions .sx[data-armed="1"]{--button-ink: var(--bad);--button-hover-ink: var(--bad);--button-bg: var(--bad-tint);--button-hover: var(--bad-tint)}.recoverysaves{border-bottom:1px solid var(--frame);padding:6px 0 8px}.recoverysaves summary{cursor:pointer;color:var(--mut);font-size:12px}.recoverysaves[open] .savehelp{margin:7px 0 3px}.saveconfirm{width:420px;max-width:calc(100vw - 32px);padding:22px;border:1px solid var(--frame2);border-radius:6px;background:var(--solid);color:var(--ink);box-shadow:var(--elev3);font:13px/1.5 var(--ui)}.saveconfirm::backdrop{background:#0009}.saveconfirm h2{margin:0 0 12px;font-size:16px;font-weight:var(--w-semi);overflow-wrap:anywhere}.saveconfirm p{margin:0 0 10px}.saveconfirm .saveconfirm-error{color:var(--bad)}.saveconfirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.saveconfirm-actions button{padding:0 14px}.saveconfirm-actions .saveconfirm-load{--button-bg: var(--hover);--button-ink: var(--ink);--button-border: var(--frame2)}.segrow2{display:grid;grid-template-columns:minmax(0,1fr) 44px 56px 18px;gap:8px;align-items:baseline;padding:3px 6px;border-radius:4px;font-size:var(--text-base);color:var(--mut);background:linear-gradient(to right,rgba(255,255,255,.08) var(--load, 0%),transparent var(--load, 0%))}.segrow2 .sname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segrow2:not(.seghead) .sname{color:var(--ink)}.segrow2 .sr{font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:var(--text-support);min-width:34px;text-align:right;color:var(--faint)}.segrow2.seghead .sr{font-family:inherit;font-size:var(--text-support)}.segrow2 .sno{display:inline-block;flex:none;min-width:14px;margin-right:5px;font-family:var(--ui);font-style:normal;font-size:var(--text-support);color:var(--faint);font-variant-numeric:tabular-nums}.segrow2 .sb,.segrow2 .sa,.segrow2 .sd{font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:var(--text-base);min-width:34px;text-align:right}.segrow2 .sb,.segrow2 .sa{color:var(--mut)}.segrow2 .sd{color:var(--faint)}.segrow2.tight .sa{color:var(--warn)}.segrow2.over .sa{color:var(--bad)}.segrow2.seghead{background:none;color:var(--faint);font-size:var(--text-support);font-weight:var(--w-semi);letter-spacing:0;text-transform:none;padding-bottom:1px}.segrow2.seghead .sb,.segrow2.seghead .sa,.segrow2.seghead .sd{font-family:inherit;font-size:var(--text-support);color:var(--faint)}.segrow2.tight{background:linear-gradient(to right,var(--warn-tint) var(--load, 0%),transparent var(--load, 0%))}.segrow2.over{background:linear-gradient(to right,var(--bad-tint) var(--load, 0%),transparent var(--load, 0%))}.segrow2.seghead .th{align-self:center;padding-bottom:1px}.buildbtn{--button-bg: var(--acc);--button-hover: var(--acc);--button-border: var(--acc);--button-hover-border: var(--acc);--button-ink: #0a0e12;--button-hover-ink: #0a0e12;width:100%;margin:2px 0;padding:6px 10px;font-weight:var(--w-semi)}.bptag{font-style:normal;font-size:var(--text-support);font-weight:var(--w-semi);letter-spacing:0;text-transform:none;color:var(--acc-text)}.srow{display:inline-flex;gap:1px}.srow button{--button-h: 18px;--button-border: transparent;--button-hover-border: transparent;width:15px;height:18px;padding:0;font-size:9px;font-weight:var(--w-semi)}.srow button.on{--button-bg: var(--active);--button-hover: var(--active);--button-ink: var(--active-ink);--button-hover-ink: var(--active-ink)}.segrow2.seghead .srow{font-size:var(--text-support)}#buildtip{display:flex;flex-direction:column;align-items:stretch;gap:5px}.tipopts{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--frame);padding-top:4px}.tipopt{display:grid;grid-template-columns:12px 1fr auto auto;gap:8px;align-items:baseline;color:var(--faint);font-size:var(--text-support)}.tipopt .k{font-family:var(--ui);font-size:9px;opacity:.7}.tipopt .rw{min-width:0;overflow:hidden;text-overflow:ellipsis}.tipopt .ct,.tipopt .tm{font-family:var(--ui);font-variant-numeric:tabular-nums}.tipopt.on{color:var(--ink)}.tipopt.head{font-size:var(--text-support);font-weight:var(--w-semi);letter-spacing:0;text-transform:none;color:var(--faint)}.tipopt.head .rw{grid-column:1 / 3}.tipopt.off{opacity:.4}.iconset button.rails{font:var(--w-semi) 10px "Inter Variable","Inter",sans-serif}.tipopt.on .ct{color:var(--acc-text)}#buildtip[hidden],#stationpop[hidden],#linepop[hidden],#blueprint[hidden],#hubpop[hidden]{display:none!important}#hubpop{position:absolute;z-index:40;pointer-events:none;width:244px;background:var(--glass);padding:0 12px 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:var(--text-base);overflow:hidden}:is(#hubpop,.funding-map-card) .hpshot{display:block;position:relative;overflow:hidden;margin:0 -12px 9px;background:#0b0f14;filter:saturate(.75) brightness(.82)}:is(#hubpop,.funding-map-card) .hpshot img{position:absolute;width:256px;height:256px}:is(#hubpop,.funding-map-card) .hpshot.photo{width:calc(100% + 24px);height:108px;filter:none}:is(#hubpop,.funding-map-card) .hpshot.photo img{position:static;width:100%;height:100%;object-fit:cover}:is(#hubpop,.funding-map-card) .hpshot.photo i{position:absolute;left:12px;right:12px;bottom:5px;z-index:1;font-style:normal;font-size:10px;color:#ffffffd1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(#hubpop,.funding-map-card) .hpshot.failed{display:none}#hubpop .hpshot.arms img{object-fit:contain;padding:8px 0}:is(#hubpop,.funding-map-card) .hpshot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0e1400 45%,#0a0e14d9)}:is(#hubpop,.funding-map-card) .hph{display:flex;align-items:center;gap:7px}:is(#hubpop,.funding-map-card) .hpr{font-family:var(--ui);font-size:var(--text-support);font-weight:var(--w-semi);letter-spacing:0;flex:none;font-variant-numeric:tabular-nums}:is(#hubpop,.funding-map-card) .hpr.res{color:#f2a9bd}:is(#hubpop,.funding-map-card) .hpr.jobs{color:#d3b5f5}:is(#hubpop,.funding-map-card) .hpr.town{color:#f5cf9a}:is(#hubpop,.funding-map-card) .hpn{font-weight:var(--w-semi);font-size:var(--text-heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(#hubpop,.funding-map-card) .hpm{color:var(--faint);font-size:var(--text-support);margin:3px 0 7px;line-height:1.4}:is(#hubpop,.funding-map-card) .pr{display:flex;justify-content:space-between;gap:14px;padding:2px 0;color:var(--mut)}:is(#hubpop,.funding-map-card) .pr b{font-family:var(--ui);font-weight:var(--w-med);color:var(--ink);font-variant-numeric:tabular-nums}.segrow2.seghead .th{cursor:pointer}.segrow2.seghead .th:hover{color:var(--ink)}#blueprint{position:absolute;z-index:18;bottom:20px;left:50%;transform:translate(-50%);margin-left:-159px;width:320px;background:var(--glass);border-left:2px solid var(--acc-text);padding:11px 13px 12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--elev1)}#blueprint.incard{position:static;z-index:auto;transform:none;margin:0;width:auto;background:var(--acc-tint);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:9px 10px 10px}.bpslot:empty{display:none}#blueprint .bph{display:flex;align-items:center;gap:7px;cursor:pointer}#blueprint .bph:hover .bpn{color:var(--acc-text)}#blueprint .bph .dot{height:16px;min-width:16px;padding:0 4px;font-size:9px;flex:none}#blueprint .bpn{font-weight:var(--w-semi);font-size:var(--text-heading);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#blueprint .bptagm{font-size:var(--text-support);letter-spacing:0;text-transform:none;color:var(--acc-text)}#blueprint .bpsum{color:var(--faint);font-size:var(--text-support);margin:3px 0 0 23px}#blueprint .bpnote{margin:8px 0 0;color:var(--faint);font-size:var(--text-support)}#blueprint .bcost i{font-style:normal;color:var(--faint);margin-left:6px}#blueprint .bcost.short i{color:var(--bad)}@media(max-width:900px){#blueprint{margin-left:0}}.selrow{display:flex!important;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--mut)}.selrow[hidden]{display:none!important}.selrow select{flex:1;max-width:62%;background:#ffffff0f;color:var(--ink);border:1px solid var(--frame);border-radius:4px;padding:4px 7px;font:var(--w-med) 11.5px "Inter Variable","Inter",sans-serif}.linerow2 .dot{position:relative;overflow:hidden}.linerow2 .dot:hover{box-shadow:0 0 0 2px #ffffff59}.signpop{position:fixed;z-index:300;width:214px;display:flex;flex-direction:column;gap:8px;padding:9px;border-radius:5px;background:var(--glass);border:1px solid var(--frame);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--elev2)}.signpop .codefld{height:26px;padding:0 8px;border:1px solid var(--acc);border-radius:4px;background:var(--acc-tint);color:var(--ink);font:var(--w-semi) 12px var(--ui);outline:none;width:100%;font-variant-numeric:tabular-nums}.signpop .shapes{display:flex;gap:6px}.signpop .shapes .opt{height:var(--control-h);flex:1;padding:0}.signpop .shapes .opt.on{--button-bg: var(--active);--button-hover: var(--active);--button-border: var(--frame2);--button-ink: var(--active-ink);--button-hover-ink: var(--active-ink)}.signpop .swgrid{display:grid;grid-template-columns:repeat(7,20px);gap:6px}.signpop .sw{width:20px;height:20px;border-radius:50%;padding:0;cursor:pointer;border:1px solid rgba(0,0,0,.45);position:relative;transition:transform .12s}.signpop .sw:hover{transform:scale(1.15)}.signpop .sw.on{box-shadow:0 0 0 2px var(--ink)}.signpop .sw.custom{background:conic-gradient(#d9614f,#d9c04a,#7fbf5a,#2bb3a3,#1999d6,#7f6bd6,#d9614f);overflow:hidden;display:block}.signpop .sw.custom input{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;opacity:0;cursor:pointer;border:none;padding:0}.signpop .reset{justify-content:flex-start;padding:0 8px;margin:0}.signpop .reset b{color:var(--mut);font-weight:var(--w-med)}.srow.spd{font-family:var(--ui);font-variant-numeric:tabular-nums;font-size:var(--text-support);color:var(--mut);min-width:30px;text-align:right;justify-content:flex-end}.segrow2 .sname{cursor:pointer}.segrow2:not(.seghead):hover .sname{color:var(--ink);text-decoration:underline;text-decoration-color:var(--frame2);text-underline-offset:2px}.linerow2 .lname.editing{outline:1px solid var(--acc);border-radius:4px;padding:0 3px;background:var(--acc-tint);cursor:text}.segrow2 .sname{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.segrow2 .stxt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segrow2 .stxt.editing{outline:1px solid var(--acc);border-radius:4px;padding:0 3px;background:var(--acc-tint);cursor:text;white-space:normal}.segrow2 .spen{--button-h: 18px;width:18px;height:18px;padding:0;margin:0;align-self:center;flex:none}.segrow2 .spen svg{width:12px;height:12px;flex:none}.lacts{display:flex;gap:4px;margin:2px 0 8px;position:relative}.lsort{display:flex;justify-content:flex-end;margin:0 0 4px}.lback{display:flex;margin:0 0 4px}.lback button{--button-h: var(--control-sm-h);padding:0 8px 0 4px}.lsort button{--button-h: var(--control-sm-h);padding:0 8px}.lacts button{flex:1;min-width:0;padding:0 8px}.addmenu .delrow{--button-hover: var(--bad-tint)}.addmenu .delrow .amname{color:var(--bad)}.addmenu .delrow.armed{--button-bg: var(--bad-solid);--button-hover: var(--bad-solid)}.addmenu .delrow.armed .amname,.addmenu .delrow.armed .amsub{color:#fff}.addmenu button[data-state] .amname{letter-spacing:.01em}.addmenu{position:fixed;z-index:60;background:var(--glass);border:1px solid var(--frame);border-radius:6px;box-shadow:var(--elev1);padding:4px;display:flex;flex-direction:column;gap:1px}.addmenu button{flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:8px 10px;--button-ink: var(--ink)}.addmenu .amname{font:var(--w-med) var(--text-base) "Inter Variable","Inter",sans-serif}.addmenu .amsub{color:var(--faint);font:var(--w-med) var(--text-support) "Inter Variable","Inter",sans-serif;line-height:1.35}.addmenu .amfoot{margin:3px 3px 1px;color:var(--faint);line-height:1.4;font:var(--w-med) var(--text-support) "Inter Variable","Inter",sans-serif}.lacts .ldel.armed{--button-bg: var(--bad-solid);--button-hover: var(--bad-solid);--button-ink: #fff;--button-hover-ink: #fff;--button-border: var(--bad-solid);--button-hover-border: var(--bad-solid)}.card{overflow:hidden}.lbox,.lbody,.linerow2{min-width:0}.linerow2>*{min-width:0}.taktchart{max-width:100%}.buildrow{display:flex;gap:6px;align-items:stretch}.buildrow .buildbtn{flex:1;margin:2px 0}.buildrow .planremove{flex:1}#blueprint.incard .buildrow{position:sticky;bottom:0;z-index:2;margin:6px -10px -10px;padding:8px 10px 10px;background:var(--glass)}.dropbtn{margin:2px 0;padding:0 10px;white-space:nowrap}.dropbtn.armed,#restartBtn.armed,.line-delete.armed{--button-bg: var(--bad-solid);--button-hover: var(--bad-solid);--button-ink: #fff;--button-hover-ink: #fff;--button-border: var(--bad-solid);--button-hover-border: var(--bad-solid)}.iconset{display:inline-flex;gap:0;background:var(--glass2);border-radius:var(--control-radius);padding:2px}.iconset button{width:var(--control-h);height:var(--control-h);padding:0;flex:none}.iconset button svg{width:var(--control-icon);height:var(--control-icon);flex:none}.iconset .line-delete{width:calc(var(--control-h) + 4px)}.iconset button.ride{font:var(--w-med) 10px var(--ui);letter-spacing:.06em;text-transform:uppercase;padding:0 7px;width:auto}.hairline{height:1px;background:#ffffff0d;margin:4px 0 2px}.emptyhint{margin:2px 0 0;font-size:var(--text-base);color:var(--faint)}.lines-empty{margin:0;padding:12px 0;color:var(--mut);font-size:var(--text-base);line-height:1.5}.lines-empty b{color:var(--ink);font-weight:var(--w-semi)}#layerbar{display:flex;flex-direction:column;gap:0;padding:0;width:216px;max-width:100%;background:var(--solid);border-radius:0;box-shadow:var(--elev1);align-self:flex-start;flex:none}#dock-left{align-items:flex-start}#dock-bottom #layerbar{flex-direction:row;width:auto}#layerbar button{width:100%;height:max(34px,var(--control-h));margin:0;padding:0 12px;border:0;border-radius:0;justify-content:flex-start;gap:9px;text-align:left;font-size:var(--text-base);font-weight:400;--button-bg: transparent;--button-hover: var(--hover);--button-ink: var(--faint);--button-hover-ink: var(--ink)}#layerbar button.on{--button-bg: var(--active);--button-hover: var(--active);--button-ink: var(--acc-text);--button-hover-ink: var(--acc-text)}#layerbar button span{white-space:nowrap}#layerbar .layer-group{position:relative}#layerbar .layer-group-header{display:flex;align-items:stretch}#layerbar .layer-children{display:flex;flex-direction:column}#layerbar .layer-children[hidden]{display:none}#layerbar .layer-children>button{padding-left:32px}#layerbar .layer-group-indicator{display:block;flex:none;width:4px;height:4px;border-radius:50%;background:var(--acc-text);opacity:0}#layerbar .layer-group-title .layer-group-indicator{margin-left:auto}#layerbar .has-active-layers:not(.expanded) .layer-group-indicator{opacity:1}#layerbar button svg{width:var(--control-icon);height:var(--control-icon);flex:none}#layerbar button .layer-chevron{width:12px;height:12px}#layerbar .expanded .layer-chevron{transform:rotate(90deg)}#dock-bottom #layerbar>button span,#dock-bottom #layerbar .layer-group-header button>span:not(.layer-group-indicator){display:none}#dock-bottom #layerbar>button,#dock-bottom #layerbar .layer-group-header button{height:var(--control-h);padding:0;width:var(--control-h);justify-content:center}#dock-bottom #layerbar .layer-group-title{min-width:calc(var(--control-h) * 2);gap:4px}#dock-bottom #layerbar .layer-group-title .layer-group-indicator{margin-left:0}#dock-bottom #layerbar .expanded .layer-chevron{transform:rotate(-90deg)}#dock-bottom #layerbar .layer-children{position:absolute;bottom:calc(100% + 6px);left:0;width:216px;max-height:calc(100dvh - var(--bar-h) - var(--control-h) - 32px);overflow-y:auto;background:var(--solid);box-shadow:var(--elev2)}#dock-bottom #layerbar .layer-children>button{padding-left:12px}.planning-map-card .maplibregl-popup-content{background:var(--solid);color:var(--ink);padding:16px;box-shadow:var(--elev2)}.planning-map-card .maplibregl-popup-close-button{color:var(--mut);padding:3px 8px}.planning-reading{font:510 var(--text-base) var(--ui);min-width:220px}.planning-reading .ph{padding-right:18px;font-weight:620}.planning-reading .psec{color:var(--mut);font-size:var(--text-support);margin:4px 0 9px}.planning-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px;color:var(--mut);font-size:var(--text-support)}.planning-period select{color:var(--ink);background:var(--solid);border:1px solid var(--frame);border-radius:4px;padding:4px 6px;font:inherit}.planning-reading .pr{display:flex;justify-content:space-between;gap:16px;padding:3px 0}.planning-reading .pr span{color:var(--mut)}.planning-reading b{font-weight:560;white-space:nowrap}.planning-reading p{margin:7px 0;color:var(--faint);font-size:var(--text-support);line-height:1.45}.planning-direction{margin-top:10px;padding-top:8px;border-top:1px solid var(--frame);font-weight:560}.planning-line-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.planning-line-actions button{padding:5px 8px;background:var(--active);color:var(--ink);border:0;border-radius:4px;font:510 var(--text-support) var(--ui)}#linepop .line-load-note{margin-top:5px;color:var(--faint);font-size:var(--text-support);line-height:1.45}#recenterslot{display:inline-flex}.viewmenu{position:relative;align-self:stretch;display:flex;align-items:center}#viewMenu{position:fixed;z-index:30;width:268px;background:var(--glass);padding:11px 13px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--elev2);display:flex;flex-direction:column;gap:9px;animation:popin .1s cubic-bezier(.2,.9,.3,1);transform-origin:top left}#viewMenu[hidden]{display:none}#layersToggle.off{color:var(--faint)}#layersToggle:hover{color:var(--ink)}#zoomtag{position:absolute;left:10px;bottom:78px;z-index:2;pointer-events:none;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--elev1);border-radius:4px;padding:3px 6px;font-family:var(--ui);font-size:11px;line-height:1;font-variant-numeric:tabular-nums;font-weight:var(--w-med);color:var(--mut);letter-spacing:.02em}.maplibregl-ctrl-group{background:var(--glass)!important;border:none!important;border-radius:4px!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--elev1)!important}.maplibregl-ctrl-group button+button{border-top:1px solid var(--frame)!important}.maplibregl-ctrl-group button{width:29px!important;height:29px!important;background:none!important}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(64%) sepia(6%) saturate(360%) hue-rotate(175deg) brightness(95%)}.maplibregl-ctrl-group button:hover .maplibregl-ctrl-icon{filter:invert(88%) sepia(4%) saturate(200%) hue-rotate(190deg) brightness(105%)}#infoPop .icredits{color:var(--faint);font-size:10.5px;line-height:1.5}#infoPop .icredits a{color:var(--mut);text-decoration:none;border-bottom:1px dotted var(--frame2)}#infoPop .icredits a:hover{color:var(--ink)}.popwrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#08090b9e;display:grid;place-items:center;padding:24px}.popwrap[hidden]{display:none}.pop{position:relative;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--glass);box-shadow:var(--elev3);padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;animation:popin .12s cubic-bezier(.2,.9,.3,1)}.popx{position:absolute;top:8px;right:10px;width:var(--control-h);height:var(--control-h);padding:0;font-size:18px;line-height:1}#mapacts{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--frame)}#mapacts .mapgroup{display:flex;align-items:center;gap:8px}#mapacts[hidden]{display:none}#mapacts button{padding:0 12px}#mapacts .maplab{margin-right:4px;font-size:10.5px;font-weight:var(--w-semi);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.sharehead{display:flex;flex-direction:column;gap:12px}.sharehead .cardimg{width:100%;display:block;border-radius:6px;box-shadow:var(--elev3);background:#151b23;aspect-ratio:1200 / 630}.sharehead .wait{color:var(--mut);font-size:12.5px;display:grid;place-items:center;aspect-ratio:1200 / 630;background:#151b23;border-radius:6px;box-shadow:var(--elev3)}.sharehead .cardimg+.wait{aspect-ratio:auto;box-shadow:none;padding:8px 0}.sharelink{display:flex;gap:6px;align-items:center}.sharelink input{flex:1;min-width:0;background:#ffffff0d;border:1px solid var(--frame);border-radius:4px;padding:6px 9px;color:var(--ink);font:var(--w-med) 12.5px var(--ui)}.sharelink button,.sharelink a{padding:0 12px;white-space:nowrap}.sharelink button.done{--button-ink: var(--ink);--button-border: var(--frame2)}.sharenote{color:var(--faint);font-size:12px}.sharenote.warn{color:var(--warn)}.proftitle{display:flex;align-items:baseline;gap:8px;width:100%;margin:12px 0 4px;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);font:inherit;font-size:var(--text-heading);font-weight:var(--w-semi);letter-spacing:0;text-transform:none}.proftitle .pmeta{margin-left:auto;font-size:var(--text-support);letter-spacing:0;text-transform:none;color:var(--faint);font-variant-numeric:tabular-nums}.proftitle .pchev{width:13px;height:13px;flex:none;align-self:center;color:var(--faint);transition:transform .14s,color .12s}.proftitle:not(.open) .pchev{transform:rotate(-90deg)}.proftitle:hover .pchev{color:var(--ink)}.proftitle{transition:color .12s}.proftitle:hover,.proftitle:hover .pmeta{color:var(--ink)}.proftitle.open .pmeta{color:var(--mut)}.lprofile[hidden]{display:none!important}.kpi{flex-wrap:wrap}#buildtip .tbuild{display:flex;flex:1;align-items:baseline;gap:6px;color:var(--mut);font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis}#buildtip .tbuild b{color:var(--ink);font-weight:var(--w-semi);text-transform:capitalize}#buildtip .tbuild i{margin-left:auto;font-style:normal;color:var(--ink);font-family:var(--ui);font-size:var(--text-base);font-variant-numeric:tabular-nums}#buildtip .catch{display:inline-flex;align-items:center;gap:3px;font-family:var(--ui);font-size:var(--text-support);font-variant-numeric:tabular-nums}#buildtip .catch+.catch{margin-left:0}#buildtip .catch svg{width:11px;height:11px;color:var(--faint)}#buildtip .catch.hi{color:var(--ok)}#buildtip .catch.hi svg{color:var(--ok);opacity:.8}#buildtip .catch.mid{color:var(--ink)}#buildtip .catch.lo{color:var(--warn)}#buildtip .catch.lo svg{color:var(--warn);opacity:.75}#buildtip .sp{display:flex;flex:1;align-items:baseline;gap:5px;font-size:var(--text-support);letter-spacing:0}#buildtip .sp i{margin-left:auto}#buildtip .sp b{font-family:var(--ui);font-size:var(--text-base);font-weight:var(--w-semi);color:inherit}#buildtip .sp i{font-style:normal;color:var(--faint);font-size:var(--text-support)}#buildtip .sp.good{color:var(--ok)}#buildtip .sp.warn{color:var(--warn)}#buildtip .sp.bad{color:var(--bad)}#buildtip .sp.off{color:var(--faint)}#buildtip .money{display:flex;flex:1;align-items:baseline;gap:8px;font-family:var(--ui);font-size:var(--text-base);font-weight:var(--w-semi);font-variant-numeric:tabular-nums}#buildtip .money.up{color:var(--ok)}#buildtip .money.dn{color:var(--ink)}#buildtip .money.wait{color:var(--faint)}#buildtip .detail{color:var(--faint);font-size:var(--text-support)}#buildtip .detail i{font-style:normal;margin-left:6px;color:var(--mut)}.buildmeta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:3px;font-family:var(--ui);font-size:var(--text-base);font-variant-numeric:tabular-nums}.buildmeta .bcost{color:var(--mut)}.planeffect{color:var(--faint);text-align:right}.planeffect i{display:block;font-style:normal;color:var(--faint);font-size:var(--text-support)}.planeffect.up{color:var(--ok)}.planeffect.dn{color:var(--ink)}.capverdict{margin:0;padding:7px 9px;border-radius:5px;font-size:var(--text-base);line-height:1.45;background:var(--warn-tint);color:var(--warn)}.capverdict.bad{background:var(--bad-tint);color:var(--bad)}.capverdict p{margin:0}.capverdict p+p{margin-top:6px}.capverdict .advice-detail{color:var(--mut);font-size:var(--text-support)}.capverdict .advice-action{color:var(--ink);font-weight:var(--w-med)}.segrow2.planned{background:var(--acc-tint);box-shadow:inset 2px 0 0 var(--acc-text)}.segrow2.planned .sname{color:var(--ink)}.segrow2.shut{opacity:.45}.segrow2.shut .sname{text-decoration:line-through;text-decoration-thickness:1px}#buildtip .lrow{display:flex;flex:1;align-items:center;gap:6px;font-family:var(--ui);font-size:var(--text-base);color:var(--ink)}#buildtip .lrow b{font-weight:var(--w-med);color:var(--faint);margin-left:auto}#buildtip .lrow.skip{opacity:.4}#buildtip .ldot.circle,#buildtip .ldot.pill{border-radius:7px}#buildtip .ldot.square{border-radius:3px}#buildtip .ldot.rect{border-radius:1px}#buildtip .ldot{min-width:14px;height:14px;padding:0 3px;border-radius:3px;flex:none;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:9px;font-weight:var(--w-bold);color:#0a0e12}.ringbreak{margin:5px 0 0;font-size:var(--text-support);line-height:1.45;color:var(--warn)}.segrow2 .srow.cut{justify-content:flex-end;align-items:center;gap:3px;color:var(--mut)}.segrow2>.srow{justify-self:end}.segrow2 .scut.park[data-off]{visibility:hidden;pointer-events:none}.segrow2 .scut{--button-h: 18px;--button-bg: transparent;width:18px;height:18px;flex:none;padding:0}.segrow2 .scut svg{width:12px;height:12px;display:block}.segrow2 .scut.sout{align-self:center}.segrow2 .scut.sout.marked{--button-ink: var(--bad)}.segrow2 .scut.park{margin-right:1px}.segrow2 .scut.del.confirm{--button-ink: var(--bad);--button-hover-ink: var(--bad);--button-bg: var(--bad-tint);--button-hover: var(--bad-tint)}.segrow2.armedrow .sno{color:var(--ink);box-shadow:0 0 0 1.4px var(--linecol);border-radius:50%;min-width:13px;text-align:center}.segrow2 .sb{color:var(--ink)}.seghead .srow{min-width:48px;justify-content:flex-end;padding-right:18px}.buildbtn.short{--button-bg: transparent;--button-hover: transparent;--button-border: var(--frame);--button-hover-border: var(--frame);--button-ink: var(--faint);--button-hover-ink: var(--faint);cursor:not-allowed}.buildmeta .bcost.short{color:var(--bad)}#buildtip .tintent{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-base);color:var(--ink);white-space:normal}#buildtip .tintent i{width:8px;height:8px;border-radius:50%;flex:none}#buildtip .tintent.idle{color:var(--mut)}#buildtip .place{font-size:var(--text-support);color:var(--faint);letter-spacing:0;text-transform:none;min-width:0;overflow:hidden;text-overflow:ellipsis}#buildtip .catch,#buildtip .sp b,#buildtip .sp i,#buildtip .tbuild i{flex:none}#buildtip .gch{min-width:0}#buildtip .gch span{overflow:hidden;text-overflow:ellipsis}.maplibregl-canvas-container,.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-canvas-container.maplibregl-touch-drag-pan{cursor:default!important}@media(max-width:1280px){#topbar{padding:0 10px}#topbar .brand{gap:4px}#topbar .baricons{gap:0}#netstats{--stat-gap: 4px;--stat-pad: 4px;gap:2px;margin-left:4px}#capitalPlan{margin-left:4px}}@media(prefers-reduced-motion:reduce){.toast,#panel,#layersMenu,#cityMenu,#viewMenu{animation:none}.network-status:before{animation:none}.toast.out{transform:none}.signpop .sw,.signpop .sw:hover{transition:none;transform:none}:root{--control-transition: none}}#panel .card,#layerbar,#cityMenu,#layersMenu,#viewMenu,#infoPop{background:var(--glass);border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}.buildmode{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 2px;padding:6px 9px;background:var(--acc-tint);border-left:2px solid var(--acc-text);font-size:var(--text-base);color:var(--ink)}.buildmode.way{background:var(--warn-tint);border-left-color:var(--warn)}.buildmode .what{font-weight:var(--w-semi)}.buildmode .where{color:var(--mut)}.buildmode button{margin-left:auto;padding:0 8px}.buildmode .swap+.done{margin-left:0}.planeffect.even,.planeffect.even.up,.planeffect.even.dn{color:var(--mut)}#smallgate{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);color:var(--ink);height:100dvh;overflow:auto;overscroll-behavior:contain;text-align:center;padding:24px}#smallgate>div{flex:none;width:100%;max-width:360px;min-width:0;margin:auto}#smallgate b{display:block;font-size:18px;font-weight:var(--w-bold);margin-bottom:10px}#smallgate p{color:var(--mut);font-size:14px;line-height:1.55;max-width:34ch;margin:0 auto}@media(max-width:899px){#app{display:none}#smallgate{display:flex}}#smallgate .gatemark{display:block;margin:0 auto 16px}#smallgate .gatebtn{display:inline-block;margin-top:20px;padding:11px 18px;border-radius:8px;border:0;background:var(--ink);color:var(--bg);font:var(--w-semi) 14px "Inter Variable","Inter",sans-serif;cursor:pointer;text-decoration:none}#smallgate .gatebtn:disabled{opacity:.6;cursor:default}#smallgate .gatebtn:active{transform:scale(.97)}#smallgate .gatereddit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;margin-top:20px;padding:6px 0;color:var(--ink);font-size:14px;font-weight:var(--w-semi);text-decoration:none}#smallgate .gatereddit span:first-of-type{text-decoration:underline;text-underline-offset:3px}#loadcard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;pointer-events:none}#loadcard[hidden]{display:none}#loadcard>div{pointer-events:auto;width:340px;max-width:calc(100vw - 40px);background:var(--glass);border:1px solid var(--frame);border-radius:10px;padding:18px 20px 16px;box-shadow:var(--elev1);color:var(--ink)}#loadcard b{display:block;font-size:16px;font-weight:var(--w-bold);margin-bottom:6px}#loadcard p{margin:0;color:var(--mut);font-size:13px;line-height:1.5}#loadcard .loadbar{height:6px;border-radius:3px;background:var(--frame2);margin:10px 0 8px;overflow:hidden}#loadcard .loadbar i{display:block;height:100%;width:0;background:var(--ink);border-radius:3px;transition:width .15s linear}#loadcard .loadbytes{font-variant-numeric:tabular-nums}#loadcard .loadrow{display:flex;justify-content:space-between;gap:12px}#loadcard .loadrow p[hidden]{display:none}#loadcard.intro{pointer-events:auto;background:#06080b8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#loadcard.city>div{position:relative;width:440px;padding:24px 26px 22px}#loadcard .loadarms{display:block;width:64px;height:72px;object-fit:contain;margin-bottom:12px}#loadcard.city b{font-size:19px;margin-bottom:10px}#loadcard .loadintro{color:var(--mut);font-size:13.5px;line-height:1.55}#loadcard .loadgoal{margin-top:12px;color:var(--ink);font-size:13.5px;line-height:1.55}#loadcard.city .loadbar{margin-top:16px}#loadcard .loadstart{display:block;width:100%;margin-top:18px;padding:10px;border:none;border-radius:6px;background:var(--ink);color:var(--solid);cursor:pointer;font:var(--w-semi) 13.5px "Inter Variable","Inter",sans-serif}#loadcard .loadstart:hover{opacity:.9}#loadcard .loadclose{position:absolute;top:8px;right:10px;background:none;border:none;cursor:pointer;color:var(--faint);font-size:20px;line-height:1;padding:4px 6px}#loadcard .loadclose:hover{color:var(--ink)}#loadcard [hidden]{display:none}#smallgate .gatenote{margin-top:12px;font-size:12.5px;color:var(--faint)}#smallgate .gatenote b{display:inline;font-size:inherit;margin:0;color:var(--ink);font-weight:var(--w-semi)}#feedback{position:fixed;top:var(--bar-h);left:0;width:min(360px,calc(100vw - 16px));z-index:30;max-height:calc(100dvh - var(--bar-h) - 8px);overflow-y:auto;animation:popin .1s cubic-bezier(.2,.9,.3,1);transform-origin:top left}#feedback[hidden]{display:none}#feedback .card{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px}#feedback .fbbrand{display:flex;align-items:center;gap:10px;padding-right:24px}#feedback .fbbrand .reddit-icon{width:32px;height:32px}#feedback h2{margin:0;font-size:16px;font-weight:var(--w-semi)}#feedback .fbhead,#feedback .fbnote{margin:0;color:var(--mut);font-size:12.5px;line-height:1.5}#feedback .fbnote{font-size:12px}#feedback .fbreddit{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;color:var(--ink);background:var(--hover);border:1px solid var(--frame2);border-radius:4px;font-size:13px;font-weight:var(--w-semi);text-decoration:none}#feedback .fbreddit:hover{border-color:var(--mut)}#feedback .fbvote{display:flex;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--frame);color:var(--acc-text);font-size:12.5px;text-underline-offset:3px}body.year-closing #app{pointer-events:none}.buildbtn{min-height:38px;font-size:var(--text-base)}.taktcaption{display:flex;flex-direction:column;gap:7px;color:var(--mut);font-size:var(--text-support);line-height:1.5;margin-top:2px}.taktcaption p{margin:0}.taktrefusal{margin:8px 0 0;color:var(--bad);font-size:var(--text-support);line-height:1.5}.takt-plan-status{margin:8px 0 0;color:var(--mut);font-size:var(--text-support);line-height:1.5}.taktlegend{display:flex;flex-wrap:wrap;gap:5px 12px}.taktlegend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.taktlegend i{width:8px;height:8px;border-radius:2px;flex:none}#topstops{max-height:calc(100dvh - var(--bar-h) - 16px);overflow-y:auto}.schedule-heading{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-top:1px solid var(--frame)}.schedule-heading b{font-size:var(--text-heading);font-weight:var(--w-semi)}.schedule-heading span{font-size:var(--text-support);color:var(--mut)}.sched{gap:9px}.proftitle{min-height:38px;padding:9px 0}.placement-feedback{width:12px;height:12px;pointer-events:none}.placement-feedback>i{display:block;width:100%;height:100%;border:2px solid;border-radius:50%;animation:placed-point .28s ease-out both}.placement-feedback>i.waypoint{border-style:dashed}@keyframes placed-point{0%{opacity:.85;transform:scale(.75)}to{opacity:0;transform:scale(2.8)}}@media(prefers-reduced-motion:reduce){.placement-feedback{display:none}}.load-failure{position:fixed;z-index:10000;top:72px;left:50%;transform:translate(-50%);max-width:min(560px,90vw);display:flex;align-items:center;gap:16px}.load-failure button{flex-shrink:0;padding:7px 10px;border:1px solid currentColor;border-radius:5px;color:inherit;background:transparent;font:inherit;cursor:pointer}.graphics-failure{width:440px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;margin:auto;padding:25px 26px 24px;border:1px solid var(--frame);border-radius:10px;background:var(--glass);color:var(--ink);box-shadow:var(--elev2);font-family:var(--ui)}.graphics-failure::backdrop{background:#06080ba6}.graphics-failure h1{margin:0 0 12px;font-size:19px;line-height:1.3;font-weight:var(--w-bold)}.graphics-failure p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.6}.graphics-failure .kept{margin-top:9px;color:var(--ink)}.graphics-failure-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.graphics-failure button{min-height:38px;padding:9px 12px;border:1px solid var(--frame2);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;font:var(--w-semi) 13px var(--ui);line-height:1.3}.graphics-failure button:hover{background:var(--hover)}.graphics-failure button:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.graphics-failure .retry{background:var(--ink);border-color:var(--ink);color:var(--solid)}.graphics-failure .retry:hover{background:#ececf2;border-color:#ececf2}.graphics-failure .help-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px}.graphics-failure .help-toggle svg{width:13px;height:13px}.graphics-failure .help-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.graphics-failure-help{margin-top:21px;padding-top:18px;border-top:1px solid var(--frame)}.graphics-failure-help[hidden]{display:none}.graphics-failure-help ol{margin:0;padding-left:20px;color:var(--mut);font-size:13px;line-height:1.6}.graphics-failure-help li+li{margin-top:12px}.graphics-failure-help strong{font-weight:var(--w-semi);color:var(--ink)}@media(max-width:430px){.graphics-failure{padding:22px}.graphics-failure-actions{flex-direction:column}}
