:root{--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", system-ui, -apple-system, sans-serif;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--fs-24: 24px;--fs-32: 32px;--fs-56: 56px;--lh-tight: 1.15;--lh: 1.45;--lh-loose: 1.6;--tr-ui: -.006em;--tr-ui-l: -.012em;--tr-caps: .06em;--tr-caps-s: .09em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--surface: rgba(16, 22, 31, .8);--surface-hud: rgba(16, 22, 31, .74);--surface-solid: #141c27;--raised: rgba(255, 255, 255, .05);--raised-2: rgba(255, 255, 255, .09);--raised-3: rgba(255, 255, 255, .14);--sunken: rgba(0, 0, 0, .24);--hairline: rgba(255, 255, 255, .08);--hairline-2: rgba(255, 255, 255, .14);--blur: blur(16px) saturate(140%);--text: #eef2f7;--text-2: #a9b4c3;--text-3: #8490a2;--accent: #ffb020;--accent-2: #ffc95c;--accent-ink: #1b1405;--accent-soft: rgba(255, 176, 32, .16);--rail: #5aa9ff;--road: #ff8a3d;--tram: #c084fc;--station: #3ccb7f;--terrain: #c49a6c;--demolish: #ff5a5f;--pos: #4ade80;--neg: #ff6b6b;--warn: #ffc857;--err: #ff6b6b;--info: #8fc3ff;--r-s: 6px;--r: 10px;--r-l: 14px;--shadow: 0 12px 34px rgba(0, 0, 0, .38);--shadow-s: 0 4px 14px rgba(0, 0, 0, .3);--ease: cubic-bezier(.2, .7, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--t-fast: .12s;--t: .17s}#app{position:fixed;inset:0;overflow:hidden;color:var(--text);font:450 var(--fs-14)/var(--lh) var(--font-ui);letter-spacing:var(--tr-ui);font-feature-settings:"cv11","ss01","ss03";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:none;-webkit-user-select:none}#app canvas.gl{display:block;width:100%;height:100%}#app button,#app input,#app select{font:inherit;color:inherit;letter-spacing:inherit}#app button{cursor:pointer;-webkit-tap-highlight-color:transparent}#app button:disabled{cursor:not-allowed}#app :focus{outline:none}#app :focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app b,#app strong{font-weight:600}.ic{display:block;flex:none}.disp{font-family:var(--font-display);font-weight:700;letter-spacing:var(--tr-caps);text-transform:uppercase}.glass{background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.card{background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-s)}.chrome{background:#10161fe0;border:1px solid var(--hairline);box-shadow:var(--shadow-s)}#app.solid .glass,#app.solid .card,#app.solid .chrome,#app.solid .win,#app.solid .tooltip,#app.solid .uitip,#app.solid .hovercard{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.hud{position:absolute;top:10px;z-index:50;display:flex;align-items:center;gap:var(--sp-2)}.hud-tl{left:10px}.hud-tc{left:50%;transform:translate(-50%);flex-direction:column;gap:0;pointer-events:none}.hud-tc>.clock{pointer-events:auto}.hud-tr{right:10px}.plate{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px 0 8px;border-radius:var(--r-l);text-align:left;transition:border-color var(--t-fast),transform var(--t-fast)}.plate:hover{border-color:var(--hairline-2)}.plate:active{transform:translateY(1px)}.plate-chip{width:6px;align-self:stretch;margin:8px 0;border-radius:3px;background:var(--c, var(--accent));box-shadow:0 0 12px var(--c, var(--accent))}.plate-txt{display:flex;flex-direction:column;line-height:1;gap:4px;min-width:0}.plate-name{font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.plate-money{font:600 27px/1 var(--font-display);letter-spacing:.01em;color:var(--text);white-space:nowrap}.plate-money.neg{color:var(--neg)}.plate-delta{font:600 var(--fs-13)/1 var(--font-display);letter-spacing:.02em;padding:4px 7px;border-radius:6px;opacity:0;transform:translateY(4px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);white-space:nowrap}.plate-delta.show{opacity:1;transform:none}.plate-delta.pos{color:var(--pos);background:#4ade801f}.plate-delta.neg{color:var(--neg);background:#ff6b6b1f}.clock{display:flex;align-items:center;gap:10px;height:42px;padding:0 5px 0 15px;border-radius:999px}.clock-date{font:600 17px/1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase;min-width:108px;text-align:center}.speed{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--sunken)}.spd{display:flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 8px;border:0;border-radius:999px;background:none;color:var(--text-2);font:700 var(--fs-13)/1 var(--font-display);letter-spacing:.02em;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.spd:hover{color:var(--text);background:var(--raised-2)}.spd:active{transform:scale(.94)}.spd.on{background:var(--accent);color:var(--accent-ink)}.spd.paused{background:var(--neg);color:#1b0606}.hbtn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--text-2);transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.hbtn:hover{color:var(--text);border-color:var(--hairline-2)}.hbtn:active{transform:scale(.95)}.hbtn.on{color:var(--accent);border-color:#ffb02073}.badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font:700 var(--fs-11)/18px var(--font-display);text-align:center;box-shadow:0 0 0 2px #10161fe6}.fps{font:600 var(--fs-11)/1 var(--font-display);color:var(--text-3);letter-spacing:var(--tr-caps-s);margin-right:2px;min-width:44px;text-align:right}.vol{position:relative;display:flex;align-items:center;height:40px;border-radius:12px;padding:0;transition:border-color var(--t-fast)}.vol .hbtn{border:0;background:none;box-shadow:none}.vol-slider{width:0;opacity:0;overflow:hidden;transition:width var(--t) var(--ease),opacity var(--t) var(--ease),padding var(--t) var(--ease);display:flex;align-items:center}.vol:hover .vol-slider,.vol:focus-within .vol-slider{width:96px;opacity:1;padding-right:12px}.vol-slider input{width:84px;accent-color:var(--accent)}.vol.muted .hbtn{color:var(--neg)}.dockwrap{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);z-index:50;max-width:calc(100vw - 20px);pointer-events:none}.dockwrap>*{pointer-events:auto}.dock{display:flex;gap:2px;padding:5px;border-radius:18px;max-width:100%;overflow-x:auto;scrollbar-width:none}.dock::-webkit-scrollbar{display:none}.cat{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:74px;height:60px;border:0;border-radius:13px;background:none;color:var(--text-2);flex:none;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.cat:hover{background:var(--raised);color:var(--text)}.cat:active{transform:translateY(1px) scale(.97)}.cat-l{font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.cat.on{background:var(--raised-2);color:var(--text)}.cat.on:after{content:"";position:absolute;left:24px;right:24px;bottom:4px;height:3px;border-radius:2px;background:var(--c, var(--accent));box-shadow:0 0 10px var(--c, var(--accent))}.cat.on .ic{color:var(--c, var(--accent))}.dock-sep{width:1px;margin:12px 4px;background:var(--hairline);flex:none}.tray{display:flex;gap:var(--sp-1);padding:5px;border-radius:14px;max-width:100%;overflow-x:auto;scrollbar-width:none;animation:rise var(--t) var(--ease);transition:opacity var(--t-fast) var(--ease-in),transform var(--t-fast) var(--ease-in)}.tray>*{animation:rise var(--t) var(--ease) both}.tray>:nth-child(2){animation-delay:25ms}.tray>:nth-child(3){animation-delay:50ms}.tray.leaving{opacity:0;transform:translateY(6px)}.toolb{display:flex;align-items:center;gap:var(--sp-2);height:40px;padding:0 12px 0 10px;border:1px solid transparent;border-radius:10px;background:none;color:var(--text-2);white-space:nowrap;flex:none;font-weight:600;font-size:var(--fs-13);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.toolb:hover{background:var(--raised);color:var(--text)}.toolb:active{transform:scale(.97)}.toolb.key:not(.on){border-color:var(--hairline-2)}.toolb.on{background:var(--raised-2);color:var(--text);border-color:var(--hairline-2)}.toolb.on .ic{color:var(--c, var(--accent))}.toolb kbd{margin-left:2px}.toolcard{position:absolute;right:10px;bottom:90px;z-index:50;width:356px;max-width:calc(100vw - 20px);padding:8px 8px 10px 12px;border-radius:var(--r-l);animation:rise var(--t) var(--ease)}.tc-head{display:flex;align-items:center;gap:6px}.tc-dot{width:8px;height:8px;border-radius:50%;background:var(--c, var(--accent));box-shadow:0 0 10px var(--c, var(--accent));flex:none}.tc-title{font:700 15px/1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-head .ibtn.sm{width:30px;height:30px}.tc-head .ibtn.on{color:var(--accent)}.tc-desc{color:var(--text-2);font-size:var(--fs-13);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-help{margin-top:var(--sp-1)}.tc-help p{margin:0;color:var(--text-2);font-size:var(--fs-13);font-weight:400;line-height:var(--lh)}.tc-opts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin-top:var(--sp-2)}.toolcard .segb{height:30px;padding:0 9px}.toolcard .stp{width:30px;height:30px}.toolcard .stp-v{min-width:50px;font-size:var(--fs-13)}.toolcard .switch{padding:2px 0}.toolcard .range{min-width:110px}.opt{display:flex;align-items:center;gap:var(--sp-2)}.opt-l{font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-3)}.tc-keys{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);margin-top:6px;padding-top:6px;border-top:1px solid var(--hairline);color:var(--text-3);font-size:var(--fs-12)}.tc-keys span{display:inline-flex;align-items:center;gap:var(--sp-1)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:var(--raised-2);border:1px solid var(--hairline-2);border-bottom-width:2px;color:var(--text);font:600 var(--fs-11)/1 var(--font-ui);letter-spacing:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--hairline-2);background:var(--raised);color:var(--text);font-weight:600;font-size:var(--fs-13);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),filter var(--t-fast),transform var(--t-fast)}.btn:hover{background:var(--raised-2)}.btn:active{transform:translateY(1px);background:var(--raised-3)}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.primary:active{filter:brightness(.95)}.btn.danger{color:#ffd0d1;border-color:#ff5a5f73;background:#ff5a5f1f}.btn.danger:hover{background:#ff5a5f3d}.btn.ghost{border-color:transparent;background:none;color:var(--text-2)}.btn.ghost:hover{color:var(--text);background:var(--raised)}.btn.on{border-color:#ffb02099;background:var(--accent-soft);color:var(--accent-2)}.btn.sm{min-height:30px;padding:0 10px;font-size:var(--fs-12)}.btn.lg{min-height:46px;padding:0 22px;font:700 var(--fs-16)/1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase}.btn:disabled,.btn:disabled:hover{opacity:.45;filter:none;transform:none;background:var(--raised)}.btn.primary:disabled{background:var(--accent)}.ibtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-2);flex:none;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.ibtn:hover{color:var(--text);background:var(--raised-2)}.ibtn:active{transform:scale(.93);background:var(--raised-3)}.ibtn:disabled{opacity:.4;background:none;transform:none}.ibtn.sm{width:32px;height:32px;border-radius:8px}.seg{display:inline-flex;gap:2px;padding:2px;border-radius:10px;background:var(--sunken);border:1px solid var(--hairline)}.segb{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border:0;border-radius:8px;background:none;color:var(--text-2);font-weight:600;font-size:var(--fs-13);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.segb:hover{color:var(--text);background:var(--raised)}.segb:active{transform:scale(.96)}.segb.on{background:var(--accent);color:var(--accent-ink)}.segb small{font-weight:500;opacity:.75}.stepper{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:10px;background:var(--sunken);border:1px solid var(--hairline)}.stp{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--text-2);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.stp:hover{background:var(--raised-2);color:var(--text)}.stp:active{transform:scale(.92)}.stp-v{min-width:60px;text-align:center;font:600 var(--fs-14)/1 var(--font-display);letter-spacing:.03em}.select,.input{height:34px;background:var(--sunken);color:var(--text);border:1px solid var(--hairline-2);border-radius:9px;padding:0 10px;font:inherit;transition:border-color var(--t-fast)}.select:hover,.input:hover{border-color:#ffffff3d}.select:disabled,.input:disabled{opacity:.5}.input{min-width:0}.input:focus,.select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.range{flex:1;min-width:90px;accent-color:var(--accent);cursor:pointer}.switch{display:flex;align-items:center;gap:var(--sp-3);padding:7px 0;cursor:pointer}.sw-in{position:absolute;opacity:0;pointer-events:none}.sw{position:relative;width:36px;height:21px;border-radius:11px;background:var(--raised-3);flex:none;transition:background var(--t-fast)}.sw:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#dfe5ee;transition:transform var(--t-fast) var(--ease);box-shadow:0 1px 3px #0000004d}.switch:hover .sw{background:#ffffff38}.sw-in:checked+.sw{background:var(--accent)}.sw-in:checked+.sw:after{transform:translate(15px);background:var(--accent-ink)}.sw-in:focus-visible+.sw{outline:2px solid var(--accent);outline-offset:2px}.sw-in:disabled+.sw{opacity:.45}.sw-l{display:flex;flex-direction:column;font-weight:500;line-height:1.3}.sw-l small{color:var(--text-3);font-size:var(--fs-12);font-weight:450}.field{display:grid;grid-template-columns:116px 1fr;align-items:center;gap:var(--sp-1) var(--sp-3);padding:6px 0}.field-l{font:600 var(--fs-11)/1.25 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-3)}.field-c{display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex-wrap:wrap}.field-h{grid-column:2;color:var(--text-3);font-size:var(--fs-12)}.inline{display:flex;align-items:center;gap:var(--sp-2)}.inline.wrap{flex-wrap:wrap}.spacer{flex:1}.win{position:absolute;display:flex;flex-direction:column;max-height:calc(100vh - 170px);border-radius:var(--r-l);background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:winIn var(--t) var(--ease);max-width:calc(100vw - 16px);transform-origin:50% 30%}.win.closing{animation:winOut var(--t-fast) var(--ease-in) forwards;pointer-events:none}@keyframes winIn{0%{opacity:0;transform:scale(.98) translateY(4px)}}@keyframes winOut{to{opacity:0;transform:scale(.98) translateY(3px)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes fadeIn{0%{opacity:0}}.win-head{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px;cursor:grab;border-bottom:1px solid var(--hairline)}.win-head:active{cursor:grabbing}.win-ic{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--c, var(--accent)) 18%,transparent);color:var(--c, var(--accent));flex:none}.win-tt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.1}.win-title{font:700 17px/1.1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win-sub{color:var(--text-3);font-size:var(--fs-12);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;letter-spacing:0}.win-sub:empty{display:none}.win-x{width:32px;height:32px}.win-tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--hairline)}.tab{position:relative;height:34px;padding:0 12px;border:0;background:none;color:var(--text-2);font:600 var(--fs-13)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;transition:color var(--t-fast)}.tab:hover{color:var(--text)}.tab:active{color:var(--text-2)}.tab.on{color:var(--text)}.tab:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--t) var(--ease)}.tab.on:after{transform:scaleX(1)}.win-body{padding:var(--sp-3) 14px 14px;overflow-y:auto;user-select:text;-webkit-user-select:text;overscroll-behavior:contain}.win-body::-webkit-scrollbar{width:8px}.win-body::-webkit-scrollbar-thumb{background:var(--raised-3);border-radius:4px}.sub{color:var(--text-2);margin-bottom:10px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(98px,1fr));gap:6px;margin:2px 0 var(--sp-3)}.tile{padding:10px 11px 9px;border-radius:var(--r);background:var(--raised);border:1px solid var(--hairline);min-width:0}.tile-v{font:600 25px/1 var(--font-display);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-k{margin-top:5px;font:600 var(--fs-11)/1.2 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-3)}.tile.pos .tile-v{color:var(--pos)}.tile.neg .tile-v{color:var(--neg)}.tile.warn .tile-v{color:var(--warn)}.tile .bar{margin-top:8px}.section{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-2);font:700 var(--fs-13)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-2)}.section:before{content:"";width:3px;height:13px;border-radius:2px;background:var(--accent);margin-right:-2px}.section>span:first-child{flex:1}.section-r{color:var(--text-3);font:500 var(--fs-12)/1 var(--font-ui);letter-spacing:0;text-transform:none}.kv{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:7px 0;border-bottom:1px solid var(--hairline)}.kv:last-child{border-bottom:0}.kv .k{color:var(--text-2);white-space:nowrap}.kv .v{text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:6px;font-weight:600;min-width:0}.kv .v.grow{flex:1;max-width:62%}.muted{color:var(--text-3)}.pad{padding:10px 2px;line-height:var(--lh);color:var(--text-2)}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn-t{color:var(--warn)}.bar{flex:1;height:6px;background:var(--raised-2);border-radius:3px;overflow:hidden;min-width:50px}.bar-fill{height:100%;border-radius:3px;transition:width .3s var(--ease)}.list .row{display:flex;align-items:center;gap:var(--sp-2);min-height:36px;padding:4px 8px;border-radius:8px;transition:background var(--t-fast)}.list .row:nth-child(odd){background:#ffffff06}.list .row:hover{background:var(--raised-2)}.list .row.link:active{background:var(--raised-3)}.list .row>:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .num{color:var(--text-2);font-weight:600}.ldots{display:inline-flex;gap:3px;flex:none}.ldots i{width:8px;height:8px;border-radius:2px;background:var(--c)}.loopic{display:inline-flex;margin-left:4px;color:var(--text-2);vertical-align:-2px}.walkchip{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 3px;border-radius:4px;background:var(--raised-2);color:var(--text-2);flex:none}.list.stops .row>a{flex:1}.stopn{flex:0 0 auto!important;width:22px;height:22px;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;font:700 var(--fs-13)/1 var(--font-display);color:#0e131a}.rowbtns{display:flex;gap:2px}.link,a.link{color:var(--info);cursor:pointer;text-decoration:none;font-weight:600;border-radius:3px}.link:hover{text-decoration:underline;text-underline-offset:2px}.row.link{color:inherit;cursor:pointer}.btns{display:flex;gap:6px;margin-top:var(--sp-3);flex-wrap:wrap;align-items:center}.btns.right{justify-content:flex-end}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px 0 9px;border-radius:14px;background:var(--raised);border:1px solid var(--hairline);font-weight:600;font-size:var(--fs-13);cursor:pointer;white-space:nowrap;transition:background var(--t-fast),transform var(--t-fast)}.chip:before{content:"";width:9px;height:9px;border-radius:3px;background:var(--c)}.chip:hover{background:var(--raised-2)}.chip:active{transform:scale(.97)}.owner{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px 0 6px;border-radius:6px;background:var(--raised);font:600 var(--fs-12)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text);white-space:nowrap}.owner i{width:8px;height:8px;border-radius:2px;background:var(--c)}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px;vertical-align:-1px;flex:none}.swatch.big{width:24px;height:24px;border-radius:7px;cursor:pointer;margin:0;transition:transform var(--t-fast)}.swatch.big:hover{transform:scale(1.08)}.linehead{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-1)}.linehead .renamable{cursor:text;border-radius:6px;padding:2px 4px;margin:-2px -4px;transition:background var(--t-fast)}.linehead .renamable:hover{background:var(--raised-2)}.autobadge{padding:2px 6px;border-radius:5px;background:var(--raised-2);color:var(--text-3);font:600 var(--fs-11)/1.2 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:6px;padding:10px;margin:6px 0 10px;border-radius:var(--r);background:var(--sunken);border:1px solid var(--hairline);animation:rise var(--t) var(--ease)}.pal{height:28px;border-radius:7px;border:2px solid transparent;background:var(--c);cursor:pointer;transition:transform var(--t-fast)}.pal:hover{transform:scale(1.08)}.pal:active{transform:scale(.95)}.pal.on{border-color:#fff;box-shadow:0 0 0 2px #0006}.pal.auto{background:conic-gradient(#e6194b,#ffe119,#3cb44b,#46f0f0,#4363d8,#f032e6,#e6194b);color:#0d1219;font:700 var(--fs-13)/1 var(--font-display);text-shadow:0 0 3px #fff}.chip:has(>.ic):before{display:none}.slider{display:flex;align-items:center;gap:var(--sp-2);flex:1}.slider span{color:var(--text-3);font-size:var(--fs-11);font-weight:500;white-space:nowrap;min-width:46px}.slider .sl-hi{text-align:right}.inline-pal{grid-template-columns:repeat(6,28px);padding:6px;margin:0}.pal:disabled{opacity:.25;cursor:not-allowed;transform:none}.pal.custom{position:relative;display:grid;place-items:center;background:var(--raised-2);border:2px dashed var(--hairline-2);color:var(--text-2);overflow:hidden}.pal.custom.on{border-style:solid;border-color:#fff}.pal.custom input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}.slider .sl-v{min-width:118px;text-align:right;color:var(--text-2);font-size:var(--fs-12);font-variant-numeric:tabular-nums}.presets{display:flex;flex-wrap:wrap;gap:4px}.presets .segb{height:28px;padding:0 10px;background:var(--raised);border:1px solid var(--hairline)}.presets .segb.on{background:var(--accent);color:var(--accent-ink);border-color:transparent}.presets+.field-h{margin-top:5px}.acc{display:flex;align-items:center;gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--hairline)}.acc:last-of-type{border-bottom:0}.acc-l{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.acc-s{color:var(--text-3);font-size:var(--fs-12);line-height:1.35}.acc-t{display:flex;align-items:center;gap:6px}.mult{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:6px;background:var(--sunken);border:1px solid var(--hairline);font:600 var(--fs-12)/1 var(--font-display);letter-spacing:.03em;color:var(--text-2)}.explain{margin:0 0 var(--sp-2);padding:10px 12px;border-radius:var(--r);background:var(--sunken);border:1px solid var(--hairline);color:var(--text-2);font-size:var(--fs-13);line-height:1.45}.explain p{margin:0}.explain b{color:var(--text)}.explain .ex{display:flex;gap:7px;align-items:flex-start;margin-top:7px;color:var(--text);font-weight:500}.explain .ex .ic{color:var(--accent);flex:none;margin-top:1px}.slider.wide .sl-v{min-width:176px}.blockgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.blockgrid .switch{padding:5px 0;min-width:0}.blockgrid .sw-l{flex-direction:row;align-items:center;flex-wrap:wrap;gap:0 6px;min-width:0}.blockgrid .sw-l small{color:var(--neg)}.codot{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}.flag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.flag.warn{background:#ffc85724;color:var(--warn)}.acc.req{margin:4px 0;padding:8px 10px;border-radius:var(--r);background:#ffc8570f;border:1px solid rgba(255,200,87,.25)}.toast-act{margin-left:auto;padding-left:10px;color:var(--accent);font-weight:700;white-space:nowrap}.toast .toast-btn{margin-left:auto;flex:none}.btn .cnt{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--warn);color:#0d1219;font:700 var(--fs-11)/18px var(--font-display);text-align:center}.acc .switch{flex:none;padding:0}.switch:has(.sw-in:disabled){cursor:not-allowed}.tbl tr.after td{color:var(--text-3)}.linechip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 8px 2px 6px;border-radius:6px;background:color-mix(in srgb,var(--c) 18%,transparent);border-left:3px solid var(--c);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.linechip .ic{color:var(--c)}.chip .ic{color:var(--c);margin-left:-2px}.linehead b{flex:1;font:700 var(--fs-20)/1.1 var(--font-display);letter-spacing:.03em}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-13)}.tbl th{text-align:left;padding:7px 8px;font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--hairline-2);white-space:nowrap}.tbl td{padding:8px;white-space:nowrap}.tbl tr:nth-child(2n) td{background:#ffffff08}.tbl td.ellip{max-width:180px;overflow:hidden;text-overflow:ellipsis}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:var(--raised-2)}.tbl tr.clickable:active td{background:var(--raised-3)}.tbl.fin td:not(:first-child),.tbl.fin th:not(:first-child),.tbl td.r,.tbl th.r{text-align:right}.tbl tr.total td{font-weight:700;border-top:1px solid var(--hairline-2);background:none}.chart{display:block;width:100%;height:150px;border-radius:var(--r);background:var(--sunken);border:1px solid var(--hairline)}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-1) 14px;margin-top:var(--sp-2);color:var(--text-2);font-size:var(--fs-12)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:3px;border-radius:2px;background:var(--c)}.model{padding:9px 11px;border-radius:var(--r);border:1px solid var(--hairline);background:var(--raised);cursor:pointer;margin:5px 0;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast)}.model:hover{background:var(--raised-2)}.model:active{transform:scale(.99)}.model.sel{border-color:#ffb020b3;background:var(--accent-soft)}.mname{display:flex;justify-content:space-between;gap:var(--sp-2);font-weight:600}.mcost{font:600 var(--fs-16)/1.2 var(--font-display);letter-spacing:.02em;color:var(--accent-2)}.mstats{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--text-3);font-size:var(--fs-12);margin-top:var(--sp-1)}.mstats span{display:inline-flex;align-items:center;gap:var(--sp-1)}.consist{display:flex;gap:2px;height:16px;margin:2px 0 var(--sp-2);padding:3px;border-radius:7px;background:var(--sunken);border:1px solid var(--hairline)}.consist .car{min-width:5px;border-radius:3px;background:var(--c);box-shadow:inset 0 -3px #00000047,inset 0 1px #ffffff40}.consist .car.loco{border-radius:7px 3px 3px 7px}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:6px;margin-top:var(--sp-3)}.warn{margin-top:var(--sp-2);padding:9px 11px;border-radius:var(--r);background:#ffc8571a;border:1px solid rgba(255,200,87,.35);color:var(--warn);font-size:var(--fs-13);font-weight:500;display:flex;gap:var(--sp-2);align-items:flex-start;line-height:1.4}.menu-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;height:40px;padding:0 10px;border:0;border-radius:9px;background:none;color:var(--text);font-weight:500;text-align:left;transition:background var(--t-fast)}.menu-item:hover{background:var(--raised-2)}.menu-item:active{background:var(--raised-3)}.menu-item .ic{color:var(--text-2)}.slot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r);background:var(--raised);border:1px solid var(--hairline);margin-top:6px}.slot b{font:700 var(--fs-16)/1.2 var(--font-display);letter-spacing:.03em}.slot .muted{font-size:var(--fs-12)}.help h4{margin:var(--sp-4) 0 6px;font:700 var(--fs-13)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--accent)}.help h4:first-child{margin-top:var(--sp-1)}.help p,.help li{line-height:var(--lh-loose);color:var(--text-2);font-weight:400}.help li+li{margin-top:2px}.help b{color:var(--text);font-weight:600}.help ol,.help ul{padding-left:20px;margin:var(--sp-1) 0}.help kbd{margin:0 1px}.tooltip{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;display:none;min-width:160px;max-width:300px;padding:10px 12px;border-radius:12px;background:#0d121aeb;border:1px solid var(--hairline-2);box-shadow:var(--shadow);font-size:var(--fs-13);line-height:1.35;color:var(--text-2);will-change:transform}.tooltip.ok{border-color:#4ade8066}.tooltip.err{border-color:#ff6b6b73}.tt-cost{font:600 26px/1 var(--font-display);color:var(--text);letter-spacing:.01em;margin-bottom:var(--sp-1)}.tooltip.err .tt-cost{color:#ffc4c4}.tt-title{font:700 var(--fs-14)/1.15 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text);margin-bottom:var(--sp-1)}.tt-rows{display:grid;gap:3px;margin-top:var(--sp-1)}.tt-row{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-2);font-weight:500}.tt-row .ic{color:var(--text-3)}.tt-row b{color:var(--text);font-weight:600}.tt-hot{color:var(--warn);font-weight:600}.tt-pills{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2)}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;font-weight:600;font-size:var(--fs-12);line-height:1.3}.pill.err{background:#ff6b6b29;color:#ffb3b3;border:1px solid rgba(255,107,107,.4)}.pill.warn{background:#ffc85721;color:var(--warn);border:1px solid rgba(255,200,87,.35)}.pill.ok{background:#4ade801f;color:var(--pos);border:1px solid rgba(74,222,128,.32)}.pill.info{background:var(--raised-2);color:var(--text-2);border:1px solid var(--hairline-2)}.tt-hint{margin-top:6px;color:var(--text-3);font-size:var(--fs-12)}.uitip{position:fixed;left:0;top:0;z-index:10000;pointer-events:none;display:flex;align-items:center;gap:var(--sp-2);padding:6px 9px 6px 11px;border-radius:9px;background:#0d121af0;border:1px solid var(--hairline-2);box-shadow:var(--shadow-s);font-size:var(--fs-13);font-weight:600;line-height:1.35;color:var(--text);white-space:normal;width:max-content;max-width:300px;opacity:0;transform:translateY(3px);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.uitip.show{opacity:1;transform:none}.uitip small{color:var(--text-3);font-weight:500;font-size:var(--fs-12)}.hovercard{position:absolute;left:0;top:0;z-index:30;pointer-events:none;min-width:170px;max-width:260px;padding:9px 11px 10px;border-radius:12px;background:#0d121ae6;border:1px solid var(--hairline-2);border-left:3px solid var(--c, var(--accent));box-shadow:var(--shadow);will-change:transform;opacity:0;transition:opacity var(--t-fast) var(--ease)}.hovercard.show{opacity:1}.hovercard:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;margin-left:-5px;background:inherit;border-right:1px solid var(--hairline-2);border-bottom:1px solid var(--hairline-2);transform:rotate(45deg)}.hc-title{display:flex;align-items:center;gap:7px;font:700 var(--fs-16)/1.1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc-title .ic{color:var(--c, var(--accent))}.hc-sub{margin-top:2px;color:var(--text-3);font-size:var(--fs-12);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc-stats{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:7px}.hc-stat{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);font-size:var(--fs-13);font-weight:500}.hc-stat b{color:var(--text);font-weight:650}.hc-stat .ic{color:var(--text-3)}.hc-hint{margin-top:6px;color:var(--text-3);font-size:var(--fs-11);font-weight:500;letter-spacing:.01em}.toasts{position:absolute;top:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;z-index:60;pointer-events:none;width:min(540px,calc(100vw - 20px))}.toast{display:flex;align-items:center;gap:10px;max-width:100%;padding:10px 15px 10px 12px;border-radius:12px;background:#10161fed;border:1px solid var(--hairline-2);box-shadow:var(--shadow-s);font-weight:550;font-size:var(--fs-14);pointer-events:auto;animation:rise var(--t) var(--ease);transition:opacity .4s,transform .4s}.toast .ic{color:var(--text-2)}.toast.bad{border-color:#ff6b6b80;color:#ffd2d2}.toast.bad .ic{color:var(--neg)}.toast.good{border-color:#4ade8073;color:#d4f8de}.toast.good .ic{color:var(--pos)}.toast.news{border-left:3px solid var(--info);cursor:default;font-weight:500}.toast.news.good{border-left-color:var(--pos)}.toast.news.bad{border-left-color:var(--neg)}.toast.news.vehicle{border-left-color:var(--accent)}.toast.news.ai{border-left-color:#b38cff}.toast.news.link{cursor:pointer}.toast.news.link:hover{border-color:var(--hairline-2);background:#161e2af2}.toast.out{opacity:0;transform:translateY(-6px)}.news-date{font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-3);white-space:nowrap}.drawer{position:absolute;top:64px;right:10px;bottom:92px;width:min(390px,calc(100vw - 20px));z-index:70;display:flex;flex-direction:column;border-radius:var(--r-l);animation:rise var(--t) var(--ease)}.drawer-head{display:flex;align-items:center;gap:var(--sp-2);padding:10px 8px 10px 14px;border-bottom:1px solid var(--hairline);font:700 17px/1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase}.drawer-head span{flex:1}.drawer-body{overflow-y:auto;padding:6px 8px 10px}.news-row{display:grid;grid-template-columns:4px 1fr;gap:10px;padding:10px 6px;border-bottom:1px solid var(--hairline);line-height:1.45;font-size:var(--fs-13)}.news-row i{border-radius:2px;background:var(--info)}.news-row.good i{background:var(--pos)}.news-row.bad i{background:var(--neg)}.news-row.vehicle i{background:var(--accent)}.news-row.ai i{background:#b38cff}.news-row.link{cursor:pointer;border-radius:8px;transition:background var(--t-fast)}.news-row.link:hover{background:var(--raised)}.news-row .news-date{display:block;margin-bottom:var(--sp-1)}.floats{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:hidden}.float{position:absolute;left:0;top:0;font:700 var(--fs-16)/1 var(--font-display);letter-spacing:.03em;white-space:nowrap;will-change:transform,opacity;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.55)}.float.income{color:var(--pos);font-size:18px}.float.cost{color:#ff9b9b}.checklist{position:absolute;left:10px;top:72px;z-index:45;width:286px;max-width:calc(100vw - 20px);border-radius:var(--r-l);animation:rise var(--t) var(--ease);overflow:hidden}.cl-head{display:flex;align-items:center;gap:var(--sp-2);padding:8px 6px 8px 12px}.cl-head .ic{color:var(--accent)}.cl-title{flex:1;font:700 var(--fs-14)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.cl-prog{font:700 var(--fs-13)/1 var(--font-display);color:var(--text-2);letter-spacing:.04em}.cl-bar{height:3px;margin:0 12px;border-radius:2px;background:var(--raised-2);overflow:hidden}.cl-bar i{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width .4s var(--ease)}.cl-steps{padding:6px 8px 10px}.cl-step{display:grid;grid-template-columns:22px 1fr;gap:2px 8px;align-items:start;padding:6px 4px;border-radius:8px}.cl-step .ic{margin-top:1px;color:var(--text-3)}.cl-step.done .ic{color:var(--pos)}.cl-step.done .cl-t{color:var(--text-3);text-decoration:line-through;text-decoration-color:#8490a299}.cl-step.cur{background:var(--raised)}.cl-step.cur .ic{color:var(--accent)}.cl-t{font-weight:600;font-size:var(--fs-13);line-height:1.35}.cl-h{grid-column:2;color:var(--text-2);font-size:var(--fs-12);line-height:1.4}.cl-step .btn{grid-column:2;justify-self:start;margin-top:5px}.checklist.collapsed .cl-steps{display:none}.checklist.done .cl-head .ic{color:var(--pos)}.mapcard{position:absolute;left:10px;bottom:284px;z-index:46;width:232px;max-height:calc(100vh - 380px);display:flex;flex-direction:column;border-radius:var(--r-l);animation:rise var(--t) var(--ease)}.mc-head{display:flex;align-items:center;gap:var(--sp-2);padding:8px 6px 8px 12px}.mc-head>.ic{color:var(--accent)}.mc-title{flex:1;font:700 var(--fs-14)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.mc-sub{font:600 var(--fs-12)/1 var(--font-display);color:var(--text-2);letter-spacing:.04em}.mc-body{min-height:0;padding:0 10px 10px;overflow:hidden auto}.mc-list{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:6px}.mc-row{display:flex;align-items:center;gap:var(--sp-2);min-width:0;min-height:30px;padding:3px 6px;border-radius:7px;cursor:pointer;font-size:var(--fs-13);font-weight:500;transition:background var(--t-fast)}.mc-row .ic,.mc-num{flex:none}.mc-row:hover,.mc-row.on{background:var(--raised-2)}.mc-row:active{background:var(--raised-3)}.mc-row>i{width:14px;height:4px;border-radius:2px;flex:none}.mc-row>i.mc-ring{width:12px;height:12px;border-radius:50%;background:color-mix(in srgb,var(--c) 22%,transparent);border:2px solid var(--c)}.mc-row>span:not(.mc-own):not(.mc-num){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-row .ic{color:var(--text-3)}.mc-own{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}.mc-num{font:600 var(--fs-12)/1 var(--font-display);color:var(--text-2);letter-spacing:.03em}.mc-note{margin-top:6px;color:var(--text-3);font-size:var(--fs-12);line-height:1.4}.mc-sec{margin:10px 0 2px;font:700 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:var(--text-3)}.mc-empty{color:var(--text-3);font-size:var(--fs-13);padding:6px 0}.mc-grad{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--text-2)}.mc-grad i{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,#ff5a5f,#ffb020,#4ade80)}.mc-stats{display:grid;gap:3px;margin-top:8px}.mc-stats>div{display:flex;align-items:baseline;gap:7px;font-size:var(--fs-12);color:var(--text-2)}.mc-stats b{font:600 var(--fs-16)/1 var(--font-display);color:var(--text);letter-spacing:.02em;min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.lbl.stn .lbl-chips{display:flex;gap:2px;padding:0 4px;align-items:center}.lbl.stn .lbl-chips i{width:6px;height:14px;border-radius:2px;box-shadow:0 0 0 1px #00000059}.lbl.stn .lbl-chips b{font:700 11px/1 var(--font-display);color:inherit;margin-left:2px}.minimap{position:absolute;left:10px;bottom:12px;z-index:45;border-radius:var(--r-l);overflow:hidden;width:232px;transition:width var(--t) var(--ease)}.mm-head{display:flex;align-items:center;gap:2px;height:36px;padding:0 4px 0 12px}.mm-title{flex:1;font:700 var(--fs-12)/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.mm-view{position:relative;width:216px;height:216px;margin:0 8px 8px;border-radius:9px;overflow:hidden;background:#0c1118}.mm-view canvas{position:absolute;left:0;top:0;width:100%;height:100%}.mm-view .mm-over{cursor:crosshair}.mm-layer.on{color:var(--accent)}.minimap.collapsed{width:180px}.minimap.collapsed .mm-view,.minimap.collapsed .mm-layer{display:none}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.lbl{position:absolute;left:0;top:0;display:flex;align-items:center;gap:5px;pointer-events:auto;cursor:pointer;white-space:nowrap;transform-origin:50% 100%;will-change:transform;contain:layout style}.lbl.town{flex-direction:column;gap:3px}.lbl-name{font:700 15px/1 var(--font-display);letter-spacing:.07em;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.45)}.lbl.town.big .lbl-name{font-size:19px}.lbl-pop{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:#10161fbd;border:1px solid rgba(255,255,255,.12);font:600 12px/1.15 var(--font-display);letter-spacing:.04em;color:#dbe3ec}.lbl-pop .up{color:var(--pos)}.lbl.stn{gap:0;padding:2px;border-radius:8px;background:var(--c, #3ccb7f);box-shadow:0 2px 8px #00000073;color:var(--ink, #0d1219)}.lbl.stn .lbl-ico{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:#0000002e}.lbl.stn .lbl-name{padding:0 6px 0 5px;font-size:13px;letter-spacing:.05em;color:inherit;text-shadow:none}.lbl.stn .lbl-wait{padding:0 6px;height:20px;display:flex;align-items:center;border-radius:6px;background:#0d121ad9;color:#eef2f7;font:600 12px/1 var(--font-display);letter-spacing:.03em}.lbl.stn .lbl-mark{margin-right:3px;padding:0 6px;height:20px;display:flex;align-items:center;border-radius:6px;color:#0d1219;font:700 12px/1 var(--font-display);box-shadow:inset 0 0 0 1.5px #fff9}.lbl.stn.dim{filter:saturate(.25) brightness(.85);opacity:.85}.lbl.stn.hl{box-shadow:0 0 0 2px #fff,0 4px 14px #00000080}.lbl.stn.noroad:after{content:"!";position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;background:var(--neg);color:#fff;font:800 11px/16px var(--font-display);text-align:center;box-shadow:0 0 0 2px #0d121ae6}.lbl:hover{filter:brightness(1.12)}.lbl.tag{max-width:170px;padding:3px 8px;border-radius:7px;background:var(--c);color:var(--ink, #fff);border:1px solid rgba(0,0,0,.45);box-shadow:0 2px 6px #00000073;overflow:hidden}.lbl.tag .lbl-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;font:700 11px/1.1 var(--font-display);letter-spacing:.04em;text-transform:none;color:inherit;text-shadow:none}.lbl.tag.hl{box-shadow:0 0 0 2px #fff,0 3px 10px #0000008c}.title{position:absolute;inset:0;z-index:90000;display:flex;padding:var(--sp-6);overflow:auto;pointer-events:auto;background:radial-gradient(ellipse at 30% 40%,#0a0e1459,#080b10d1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.title *{pointer-events:auto}.title-row{margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px;max-width:100%}.title-main{display:flex;flex-direction:column;gap:22px;min-width:min(300px,100%);max-width:420px;animation:fadeIn .3s var(--ease)}.wordmark{font:700 clamp(56px,9vw,104px)/.86 var(--font-display);letter-spacing:.035em;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.5)}.wordmark span{color:var(--accent)}.motif{display:block;width:100%;max-width:380px;height:auto;margin-top:-6px}.tagline{color:var(--text-2);font-size:var(--fs-16);font-weight:450;line-height:var(--lh);letter-spacing:var(--tr-ui-l);margin-top:-8px;max-width:360px}.title-menu{display:flex;flex-direction:column;gap:6px}.tm-btn{display:flex;align-items:center;gap:var(--sp-3);height:52px;padding:0 16px;border-radius:12px;border:1px solid var(--hairline-2);background:var(--surface);color:var(--text);text-align:left;font:700 var(--fs-20)/1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.tm-btn small{margin-left:auto;font:500 var(--fs-12)/1 var(--font-ui);letter-spacing:0;text-transform:none;color:var(--text-3)}.tm-btn:hover{border-color:#ffb0208c;background:#181f2aeb}.tm-btn:active{transform:scale(.99)}.tm-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.tm-btn.primary:hover{filter:brightness(1.06)}.tm-btn.primary small{color:#1b1405b3}.tm-btn .ic{color:inherit}.savechip{display:inline-flex;align-items:center;gap:4px;align-self:center;margin-top:4px;padding:2px 8px 2px 6px;border-radius:999px;background:#0d121ab8;border:1px solid var(--hairline);color:var(--text-3);font:600 var(--fs-11)/1.3 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;opacity:0;transform:translateY(-3px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);pointer-events:none}.savechip.show{opacity:1;transform:none}.savechip.saved .ic{color:var(--pos)}.savechip.error{color:var(--warn)}.ng-card{width:min(470px,100%);padding:var(--sp-4) 18px 18px;border-radius:18px;animation:rise var(--t) var(--ease)}.ng-title{font:700 var(--fs-24)/1 var(--font-display);letter-spacing:var(--tr-caps);text-transform:uppercase;margin-bottom:var(--sp-2)}.ai-chips{display:flex;gap:5px;flex-wrap:wrap}.ai-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 7px;border-radius:6px;background:var(--raised);font:600 var(--fs-12)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.ai-chip i{width:9px;height:9px;border-radius:3px;background:var(--c)}.title-foot{color:var(--text-3);font-size:var(--fs-12)}@media(max-width:920px){.title.card-open .title-main{display:none}}.leftcol{display:contents}@media(min-width:721px){.leftcol{position:absolute;left:10px;top:72px;bottom:12px;z-index:45;width:286px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.leftcol.below-debug{top:214px}.leftcol>*{pointer-events:auto}.leftcol>.checklist,.leftcol>.mapcard,.leftcol>.minimap{position:relative;inset:auto;z-index:auto;flex:none}.leftcol>.mapcard{flex:0 1 auto;min-height:96px;max-height:none}.leftcol>.checklist{flex:0 1 auto;min-height:46px;display:flex;flex-direction:column}.leftcol>.checklist>*{flex:none}.leftcol>.checklist>.cl-steps{flex:0 1 auto;min-height:0;overflow-y:auto}.leftcol>.minimap{margin-top:auto}}@media(min-width:721px)and (max-width:1100px){.leftcol{bottom:96px}}#app>div[style*=monospace]{left:10px!important;top:70px!important;bottom:auto!important;z-index:49!important}@media(max-width:1100px){.minimap{bottom:96px}.cat{width:64px}}@media(max-width:720px){.hud{top:6px}.hud-tl{left:6px}.hud-tr{right:6px;gap:var(--sp-1)}.hud-tc{top:64px}.plate{height:46px;padding:0 10px 0 6px}.plate-name{max-width:120px}.plate-money{font-size:22px}.plate-delta,.fps,.vol-slider{display:none}.hbtn{width:38px;height:38px}.clock{height:38px}.clock-date{min-width:90px;font-size:15px}.spd{min-width:32px;height:28px;padding:0 6px}.toasts{top:108px}.dockwrap{bottom:6px}.cat{width:60px;height:54px}.tc-desc{display:none}.toolcard{left:6px;right:6px;width:auto;max-width:none}.minimap{left:6px;top:110px;bottom:auto;width:150px}.mm-view{width:134px;height:134px}.checklist{left:auto;right:6px;top:110px;width:250px}.mapcard{left:6px;right:6px;width:auto;bottom:80px;max-height:38vh}.hovercard{display:none}.win{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;width:auto!important;max-width:none;max-height:72vh;border-radius:18px 18px 0 0;animation:sheetIn var(--t) var(--ease)}.win.closing{animation:sheetOut var(--t-fast) var(--ease-in) forwards}.win-head{cursor:default}.drawer{top:108px;bottom:80px;right:6px}.title{padding:var(--sp-4)}.title-row{gap:var(--sp-4)}.field{grid-template-columns:96px 1fr}.blockgrid{grid-template-columns:1fr}.slider .sl-v{min-width:92px}#app>div[style*=monospace]{left:auto!important;right:6px!important;top:108px!important}}@keyframes sheetIn{0%{transform:translateY(24px);opacity:0}}@keyframes sheetOut{to{transform:translateY(24px);opacity:0}}@media(pointer:coarse){.segb{height:36px}.stp{width:36px;height:36px}.btn{min-height:38px}.ibtn{width:38px;height:38px}.uitip{display:none}}@media(prefers-reduced-motion:reduce){#app *,#app *:before,#app *:after{animation:none!important;transition:none!important}}@media(max-width:1360px){.hud-tr .hbtn[data-key=M],.hud-tr .hbtn[data-key=P],.hud-tr .hbtn[data-key=O]{display:none}}@media(max-width:880px){.hud-tc{top:64px}}:root{--metro: #2ec4b6;--lightrail: #9bd16a;--coach: #e0b04a}.lsym{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;padding:0 4px;border-radius:5px;background:var(--c);color:var(--ink, #fff);font:700 12px/1 var(--font-display);letter-spacing:.04em;flex:none;box-shadow:inset 0 0 0 1px #0000002e;white-space:nowrap}.lsym.sm{min-width:22px;height:17px;padding:0 3px;font-size:11px;border-radius:4px}.lsym.lg{min-width:38px;height:30px;padding:0 6px;font-size:17px;border-radius:7px}.ltag{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;vertical-align:middle}.ltag-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ltag.link{cursor:pointer}.ltag.link:hover .ltag-n{text-decoration:underline;text-underline-offset:2px}.snum{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:27px;height:27px;border:2.5px solid var(--c);border-radius:6px;background:#fff;color:#10161f;flex:none;line-height:1;box-sizing:border-box;gap:1px;vertical-align:middle}.snum i{font:700 9px/1 var(--font-display);font-style:normal;letter-spacing:.03em}.snum b{font:700 12px/1 var(--font-display);letter-spacing:.01em;color:#10161f}.snum.sm{width:21px;height:21px;border-width:2px;border-radius:5px;gap:0}.snum.sm i{font-size:7.5px}.snum.sm b{font-size:10px}.snum.lg{width:36px;height:36px;border-width:3px;border-radius:8px}.snum.lg i{font-size:11px}.snum.lg b{font-size:15px}.snums{display:inline-flex;gap:3px;align-items:center;flex:none}.snum-more{font:700 11px/1 var(--font-display);color:var(--text-2);margin-left:1px}.filterbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0 8px}.fchips{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto;min-width:0}.fchip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px 0 7px;border-radius:14px;border:1px solid var(--hairline-2);background:none;color:var(--text-3);font-weight:600;font-size:var(--fs-12);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.fchip .ic{color:var(--text-3)}.fchip:hover{color:var(--text);background:var(--raised)}.fchip.on{background:color-mix(in srgb,var(--c) 16%,transparent);border-color:color-mix(in srgb,var(--c) 55%,transparent);color:var(--text)}.fchip.on .ic{color:var(--c)}.fchip small{font:700 11px/1 var(--font-display);color:var(--text-3);letter-spacing:.02em}.fchip.none:not(.on){opacity:.5}.filterbar.compact{margin:4px 0 6px;gap:4px}.filterbar.compact .fchips{gap:3px}.filterbar.compact .fchip{height:26px;padding:0 6px;gap:3px}.fsel{height:28px;font-size:var(--fs-12);padding:0 6px;max-width:160px}.fsel.sm{height:26px;max-width:100%;flex:1 1 100%}.mc-modes{display:flex;gap:6px;align-items:center;margin-top:2px}.mc-modes .seg{flex:1}.mc-modes .segb{flex:1;justify-content:center;height:28px;padding:0 8px;font-size:var(--fs-12)}.mc-row .lsym{margin-right:-2px}.mc-stn{display:flex;align-items:center;gap:6px;min-height:30px;padding:3px 6px;border-radius:7px;cursor:pointer;font-size:var(--fs-13)}.mc-stn:hover{background:var(--raised-2)}.mc-stn>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typepick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:2px;border-radius:10px;background:var(--sunken);border:1px solid var(--hairline);width:100%}.tpb{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:5px 2px;border:0;border-radius:8px;background:none;color:var(--text-2);transition:background var(--t-fast),color var(--t-fast)}.tpb i{width:16px;height:3px;border-radius:2px;background:var(--c)}.tpb b{font:700 13px/1 var(--font-display);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tpb small{font:600 11px/1 var(--font-display);color:var(--text-3);letter-spacing:.02em;white-space:nowrap}.tpb:hover{background:var(--raised);color:var(--text)}.tpb.on{background:var(--accent);color:var(--accent-ink)}.tpb.on small{color:#1b1405b8}.tpb.on i{background:var(--accent-ink)}.tc-spec{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;width:100%;color:var(--text-3);font-size:var(--fs-12);line-height:1.35}.tc-spec b{color:var(--text-2);font-weight:600}.tc-spec .hot{color:var(--warn);font-weight:600}.tc-spec .ic{display:inline-block;vertical-align:-2px}.stychips{display:flex;flex-wrap:wrap;gap:3px}.styb{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border-radius:8px;border:1px solid var(--hairline);background:var(--raised);color:var(--text-2);font-weight:600;font-size:var(--fs-12);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.styb:hover{background:var(--raised-2);color:var(--text)}.styb small{font:700 11px/1 var(--font-display);color:var(--pos);letter-spacing:.02em}.styb.on{background:var(--accent);color:var(--accent-ink);border-color:transparent}.styb.on small{color:#1b1405bf}.opt.wide{flex:1 1 100%;flex-wrap:wrap}.opt.wide>.opt-l{min-width:44px}.pk{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font:700 11px/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;color:#fff;background:var(--pkc, #6b7686);flex:none;white-space:nowrap}.pk.local,.svb.local,.pdots i.local,.svh.local{--pkc: #7c8797}.pk.rapid,.svb.rapid,.pdots i.rapid,.svh.rapid{--pkc: #e8772e}.pk.express,.svb.express,.pdots i.express,.svh.express{--pkc: #d6334a}.pk.limited,.svb.limited,.pdots i.limited,.svh.limited{--pkc: #9b59b6}.svc-wrap{overflow-x:auto;margin:4px -4px 0;padding:0 4px}.svc{border-collapse:separate;border-spacing:0;font-size:var(--fs-13);min-width:100%}.svc th{padding:4px 2px 6px;vertical-align:bottom;font-weight:600}.svc th.st{text-align:left;padding-left:4px;color:var(--text-3);font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase}.svc td{padding:1px 2px;text-align:center;border-top:1px solid var(--hairline)}.svc td.st{text-align:left;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 4px}.svc td.st .snum{margin-right:6px}.svc tr:hover td{background:#ffffff06}.svh{display:inline-flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}.svh .pk{cursor:pointer}.svh small{color:var(--text-3);font-size:var(--fs-11);font-weight:500;white-space:nowrap}.svb{display:inline-flex;align-items:center;justify-content:center;width:40px;height:26px;border:0;border-radius:6px;background:none}.svb i{width:12px;height:12px;border-radius:50%;background:var(--pkc);box-shadow:0 0 0 2px #ffffffd9}.svb.pass i{width:3px;height:18px;border-radius:2px;box-shadow:none;opacity:.5}.svb.out i{width:3px;height:18px;border-radius:2px;box-shadow:none;opacity:.12}.svb:hover:not(:disabled){background:var(--raised-2)}.svb:disabled{cursor:default;opacity:1}.pdots{display:inline-flex;gap:3px;flex:none}.pdots i{width:8px;height:8px;border-radius:50%;background:var(--pkc)}.pdots i.pass{background:none;box-shadow:inset 0 0 0 1.5px var(--pkc);opacity:.55}.patcard{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--hairline);flex-wrap:wrap}.patcard:last-child{border-bottom:0}.patcard .pc-n{flex:1;min-width:120px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patcard .muted{font-size:var(--fs-12)}.opbar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--raised-2);margin:4px 0 6px;gap:2px}.opbar i{height:100%;background:var(--c);min-width:3px}.flag.thru{background:#5aa9ff29;color:var(--rail)}.flag.shared{background:#c084fc29;color:var(--tram)}.flag.bad{background:#ff6b6b29;color:var(--neg)}.flag.ok{background:#4ade8024;color:var(--pos)}.ttype{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px 0 6px;border-radius:6px;background:var(--raised);font-size:var(--fs-12);font-weight:600;white-space:nowrap}.ttype i{width:10px;height:3px;border-radius:2px;background:var(--c)}.ttypes{display:flex;flex-wrap:wrap;gap:4px}.alert{margin-top:var(--sp-2);padding:9px 11px;border-radius:var(--r);background:#ff6b6b1a;border:1px solid rgba(255,107,107,.4);color:#ffd2d2;display:flex;gap:var(--sp-2);align-items:flex-start;font-size:var(--fs-13);font-weight:500;line-height:1.4}.alert>.ic{color:var(--neg);margin-top:1px}.alert.warn{background:#ffc8571a;border-color:#ffc85759;color:var(--warn)}.alert.warn>.ic{color:var(--warn)}.alert.info{background:#8fc3ff14;border-color:#8fc3ff4d;color:var(--text-2)}.alert.info>.ic{color:var(--info)}.alert-b{flex:1;min-width:0}.alert-b b{color:var(--text)}.alert .btns{margin-top:7px}.cap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;margin:2px 0 4px;font-size:var(--fs-13)}.cap .k{color:var(--text-2)}.cap .v{font-weight:600;text-align:right}.parts{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 var(--sp-2)}.parts .chip.on{border-color:#ffb02099;background:var(--accent-soft)}.stnhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 var(--sp-2)}.stnhead .snums{flex-wrap:wrap}.model .mtags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.mtag{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:5px;background:var(--raised-2);color:var(--text-2);font:600 var(--fs-11)/1 var(--font-display);letter-spacing:var(--tr-caps-s);text-transform:uppercase;white-space:nowrap}.mtag i{width:8px;height:3px;border-radius:2px;background:var(--c)}.mtag.bad{background:#ff6b6b29;color:var(--neg)}.mtag.ok{background:#4ade8024;color:var(--pos)}.costgrid{display:grid;grid-template-columns:1fr auto;gap:3px 12px;font-size:var(--fs-13);margin:4px 0}.costgrid span:nth-child(odd){color:var(--text-2)}.costgrid span:nth-child(2n){text-align:right;font-weight:600}.hbars{display:grid;grid-template-columns:minmax(110px,auto) 1fr auto;align-items:center;gap:5px 10px;font-size:var(--fs-13);margin-top:4px}.hbars .hb{height:8px;border-radius:4px;background:var(--c);min-width:2px}.hbars .k{color:var(--text-2);white-space:nowrap}.hbars .v{text-align:right;font-weight:600;white-space:nowrap}.lbl.stn .lbl-badges{display:none;gap:2px;padding:0 2px;align-items:center}.lbl.stn.badged .lbl-badges{display:flex}.lbl.stn .lbl-badges .snum{box-shadow:0 0 0 1px #00000040}.lbl.stn.pin{padding:3px 3px 15px;background:none;box-shadow:none;color:#eef2f7}.lbl.stn.pin:before{content:"";position:absolute;inset:0 0 12px;z-index:-1;border-radius:8px;background:#0d121ae0;border:1px solid rgba(255,255,255,.16);box-shadow:0 2px 8px #00000073}.lbl.stn.pin:after{content:"";position:absolute;inset:auto auto -5px 50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;border:2.5px solid #10161f;box-shadow:0 1px 4px #0009;font:inherit}.lbl.stn.pin .lbl-ico,.lbl.stn.pin .lbl-chips,.lbl.stn.pin .lbl-mark{display:none}.lbl.stn.pin .lbl-wait{background:none;color:var(--text-3);padding:0 4px 0 2px}.lbl.stn.pin .lbl-name{color:#eef2f7;padding:0 4px 0 5px}.lbl.stn.pin.dim{filter:none;opacity:.75}.lbl.tag .lsym{margin:-1px 5px -1px -4px;box-shadow:0 0 0 1.5px #ffffffd9}.lbl.tag{display:flex;align-items:center}.svh button.pk{border:0;cursor:pointer;transition:filter var(--t-fast),transform var(--t-fast)}.svh button.pk:hover{filter:brightness(1.15)}.svh button.pk:active{transform:scale(.95)}.lsymbtn{display:inline-flex;padding:0;border:0;background:none;border-radius:8px;flex:none;transition:transform var(--t-fast)}.lsymbtn:not(:disabled):hover{transform:scale(1.06)}.lsymbtn:disabled{cursor:default;opacity:1}.lineflags{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 var(--sp-2)}.list.stops .row>.snum{flex:0 0 auto!important}.list .row>.pdots{margin-left:2px}.station-info .kv .v{flex-wrap:wrap;overflow-wrap:anywhere}.station-info .kv .select{width:100%;min-width:0}.station-info .station-lines .row{flex-wrap:wrap}.station-info .station-lines .row>.snum{flex:none}.station-info .station-lines .ltag{flex:1;min-width:100px}.station-advice{font-size:var(--fs-12);line-height:1.4;margin-top:4px}.merge-choice,.complex-part,.stopshare-company{padding:7px 8px;border-radius:var(--r);overflow-wrap:anywhere}.merge-choice:nth-child(odd),.complex-part:nth-child(odd){background:var(--raised)}.merge-choice>.muted,.merge-choice>.neg,.complex-part>.muted{margin-top:4px;font-size:var(--fs-12);line-height:1.4}.merge-choice .btns{margin-top:6px}.complex-part .snums{flex-wrap:wrap}.station-restyle .field-c>.select{width:100%;min-width:0}.station-restyle .section-r{max-width:68%;white-space:normal;text-align:right}.stopshare-company{padding-bottom:8px;border-bottom:1px solid var(--hairline)}.stopshare-company:last-child{border-bottom:0}.stopshare-company .kv{padding:4px 0;border:0}.share-lines{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.share-lines .ltag{max-width:100%}.purchase-info .kv .k{flex:none}.purchase-info .kv .v{flex:1;max-width:72%;flex-wrap:wrap;overflow-wrap:anywhere}.purchase-info .kv .select{width:100%;min-width:0}.purchase-info .consist .car.unit{border-left:2px solid var(--surface-solid);border-right:2px solid var(--surface-solid)}.purchase-info .model:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vehicle-info .kv .v{flex:1;max-width:68%;flex-wrap:wrap;overflow-wrap:anywhere}.vehicle-info .kv .select{width:100%;min-width:0}.vehicle-service{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.vehicle-service .select{flex:1;min-width:0;width:0}.finance-table{max-width:100%;overflow-x:auto;overscroll-behavior:contain}.finances-info .tbl.fin td:first-child{min-width:140px;white-space:normal}.finance-note{font-size:var(--fs-12);line-height:1.4;margin-top:7px}.hc-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:5px 0 4px}@media(min-width:721px){.station-info,.purchase-info,.vehicle-info,.finances-info,.help-info{max-height:min(520px,calc(100vh - 240px))}}.tc-warnings{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--hairline)}.tc-warning{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;border:1px solid rgba(255,200,87,.35);border-radius:8px;background:#ffc85721;color:var(--warn);font-size:var(--fs-12);line-height:1.4;overflow-wrap:anywhere}.tc-warning>.ic,.tooltip .tt-row>.ic,.tooltip .pill>.ic{flex:none;margin-top:1px}.tc-warning>span,.tooltip .tt-row>span{min-width:0;overflow-wrap:anywhere}.tooltip .tt-row,.tooltip .pill{align-items:flex-start}.tooltip .pill{max-width:100%;border-radius:8px;white-space:normal;overflow-wrap:anywhere}.companies-scroll{max-width:100%;overflow-x:auto;overscroll-behavior:contain}.companies-table .company-ownership{min-width:145px;max-width:210px;white-space:normal;text-align:left;font-size:var(--fs-12);line-height:1.4}.share-stake-bar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;height:16px;margin:7px 0}.share-stake-bar i{display:block;border-radius:3px}.share-free{background:var(--raised-2);box-shadow:inset 0 0 0 1px var(--hairline)}.share-owners{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:var(--fs-12);line-height:1.4;margin-bottom:10px}.share-owners>span{display:inline-flex;align-items:center;gap:5px;overflow-wrap:anywhere}.share-owners i{width:10px;height:10px;border-radius:2px;flex:none}.share-trades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.share-trade{padding:8px;border-radius:var(--r);background:var(--raised)}.share-trade .btn{width:100%;min-width:0;height:auto;min-height:34px;padding:7px;white-space:normal}.share-note{font-size:var(--fs-12);line-height:1.45;margin-top:5px;overflow-wrap:anywhere}.share-control{margin-top:12px;padding:0 10px 10px;border:1px solid var(--accent);border-radius:var(--r);background:var(--accent-soft)}.company-invest-info .kv .v{flex-wrap:wrap;overflow-wrap:anywhere}@media(min-width:721px){.company-invest-info{max-height:min(580px,calc(100vh - 220px))}}@media(max-width:420px){.share-trades{grid-template-columns:1fr}}
