:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--fg:#e5edf5;--muted:#8799ad;--line:rgba(179,203,226,.15);--surface:rgba(14,24,36,.94);--lime:#b8e7b0;--red:#ff6c6b;--accent:#9dcce9}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#1c354c;color:var(--fg)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}#view{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(4,13,24,.2) 0,transparent 33%,transparent 72%,rgba(4,13,24,.19))}.topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:76px;background:rgba(10,19,31,.87);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;backdrop-filter:blur(20px)}.brand{display:flex;gap:15px;align-items:center;min-width:290px}.brandIcon{border:1px solid #53748a;background:#203847;color:var(--lime);font-size:22px;font-weight:800;letter-spacing:-2px;padding:10px 12px;border-radius:7px}.brandIcon span{font-weight:400;color:#81949f}.brand b{display:block;font-size:18px;letter-spacing:.2em;font-weight:800}.brand small{display:block;font-size:9px;color:#9fb2c6;letter-spacing:.19em;margin-top:2px}.topStats{display:flex;gap:36px}.headStat{display:flex;flex-direction:column;gap:5px}.headStat span{font-size:9px;color:var(--muted);letter-spacing:.17em}.headStat b{font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:.025em}.headStat b small{font-size:10px;font-weight:600;color:var(--muted)}.topHelp{border:1px solid var(--line);border-radius:6px;padding:10px 11px;background:#1a2838;font-size:12px;font-weight:700}.topHelp span{font-size:10px;color:var(--muted);margin-left:8px;letter-spacing:.09em}.panel{position:absolute;z-index:4;top:91px;bottom:67px;background:var(--surface);backdrop-filter:blur(24px);border:1px solid var(--line);box-shadow:0 15px 70px rgba(0,0,0,.22);border-radius:11px;padding:21px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4f6b79 transparent}.left{left:16px;width:310px}.right{right:16px;width:332px}.sectionTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sectionTop small,.titleRow,.selectRow label{font-size:10px;letter-spacing:.12em;font-weight:700}.sectionTop small,.selectRow label{color:var(--muted)}.status,.liveTag{font-size:8px;color:var(--lime);font-weight:750;letter-spacing:.09em}.status i{display:inline-block;background:var(--lime);width:6px;height:6px;border-radius:50%;margin-right:5px;box-shadow:0 0 10px #9dde86}.panel h1{margin:0 0 15px;font-size:23px;letter-spacing:-.04em}.subheading{display:block;font-size:10px;letter-spacing:.14em;color:#93a5b7;font-weight:600;margin-top:6px}.speedDisplay{display:flex;align-items:end;justify-content:space-between}.speedDisplay strong{font-size:73px;line-height:.99;font-weight:650;letter-spacing:-.085em;font-variant-numeric:tabular-nums}.speedDisplay span{font-size:10px;color:var(--muted);padding-left:11px;letter-spacing:.12em}.limit{font-size:9px;color:var(--muted);padding-bottom:8px}.limit b{font-size:15px;color:var(--lime)}.speedRail{margin:15px 0 21px;height:5px;border-radius:4px;background:#28394b;overflow:hidden}.speedRail>div{height:100%;width:0;background:linear-gradient(90deg,#66a39e,#badfb0);transition:width .15s}.gridStats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gridStats div{display:flex;flex-direction:column;gap:5px}.gridStats span{font-size:9px;color:var(--muted);letter-spacing:.11em}.gridStats strong{font-size:17px;font-weight:620}.signal-green{color:#b5e7b1}.signal-red{color:#ff7777}.signal-yellow{color:#ffce6e}.panelDivider{height:1px;background:var(--line);margin:22px 0 19px}.titleRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.titleRow small,.numeric{color:var(--muted);font-size:9px;letter-spacing:.06em}.miniBtn{background:#234339;color:var(--lime);font-weight:700;border:1px solid #38564a;padding:7px 9px;font-size:9px;letter-spacing:.04em;border-radius:5px}.rangeLabel{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.06em;margin-top:14px}.rangeLabel b{color:#d7e2ed;font-size:13px}input[type=range]{width:100%;height:21px;accent-color:#a6dcb4;cursor:pointer}.controlRow{display:flex;gap:9px;margin-top:17px}.controlRow button{border:1px solid var(--line);border-radius:5px;padding:11px 9px;font-size:9px;font-weight:800;letter-spacing:.05em}.dangerBtn{background:#4c242a;color:#ffb5b5;flex:1}.dangerBtn.on{background:#d65d57;color:white}.secondaryBtn{background:#233447;flex:.6}.selectRow{display:flex;flex-direction:column;gap:6px;margin:13px 0}.selectRow select{background:#182838;border:1px solid var(--line);color:#d4e5f2;border-radius:5px;padding:10px 10px;width:100%;font-size:12px}.cameraModes{display:flex;gap:5px;align-items:center}.bottomBar{position:absolute;z-index:5;bottom:0;left:0;right:0;height:57px;background:rgba(10,19,31,.91);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;backdrop-filter:blur(15px)}.cameraModes>span{color:#7897af;font-size:10px;letter-spacing:.12em;padding-right:12px}.cameraModes button{background:transparent;border:1px solid transparent;border-radius:4px;padding:10px 8px;font-size:9px;color:#98abc0;font-weight:700;letter-spacing:.03em}.cameraModes button.active{border-color:#658f8f;background:#1c3a41;color:var(--lime)}#worldStatus,.copyright{font-size:9px;color:#8ea6b5;letter-spacing:.1em}.copyright{opacity:.65}#routeMap{display:block;width:100%;height:160px;background:#152534;border:1px solid var(--line);border-radius:7px}.mapLegend{display:flex;gap:16px;color:#8ca0b2;font-size:8px;letter-spacing:.08em;margin-top:11px}.mapLegend span{display:flex;gap:6px;align-items:center}.mapLegend i{width:7px;height:7px;border-radius:50%;background:#b7e6ae}.mapLegend .stationDot{background:#d6e7ef}.mapLegend .tunnelDot{background:#f2ad6b}.timetable{display:flex;flex-direction:column;gap:4px}.service{display:flex;align-items:center;justify-content:space-between;padding:8px 7px;background:rgba(255,255,255,.025);border-radius:5px}.service .leftService b{font-size:12px}.service .leftService small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.service .rightService{text-align:right}.service .rightService b{font-size:11px;font-variant-numeric:tabular-nums}.service .rightService small{display:block;color:#9dcba9;font-size:9px;margin-top:3px}.switches{display:flex;flex-direction:column;gap:7px}.turnout{display:flex;justify-content:space-between;gap:6px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:9px}.turnout .id{font-size:11px;font-weight:700}.turnout small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.turnout button{border:1px solid #456777;border-radius:4px;background:#213b45;padding:8px 9px;min-width:67px;color:#c3ebee;font-size:9px;font-weight:800}.events{font-size:10px;line-height:1.7;color:#9fbbcd;min-height:45px}.toast{position:absolute;z-index:15;bottom:78px;left:50%;transform:translateX(-50%);border:1px solid #516c78;border-radius:8px;background:#182938;color:#d7e9f2;padding:12px 18px;font-size:12px;box-shadow:0 12px 35px #0007}.hidden{display:none!important}#loading{position:fixed;z-index:20;inset:0;background:#0d1823;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px}.loadingMark{font-size:80px;font-weight:850;letter-spacing:-.1em;color:#d8f2e4}.loadingMark span{color:#80c8b2}.loadTitle{font-size:11px;letter-spacing:.37em;color:#95afc3;font-weight:750}.progress{height:3px;width:260px;background:#273744;margin-top:7px;border-radius:10px}.progress i{display:block;width:10%;height:100%;background:#9bd5b8;transition:width .5s}#loadingText{color:#718798;font-size:11px}dialog{background:#172636;color:#e9f1f9;border:1px solid #516e7f;border-radius:12px;padding:27px;max-width:520px;line-height:1.7;box-shadow:0 30px 80px #0009}dialog::backdrop{background:#02080ddb;backdrop-filter:blur(8px)}dialog h2{margin-top:0;font-size:20px}dialog p{font-size:13px;color:#c4d0df}dialog button{background:#234838;border:1px solid #4a7a61;color:#c4f2cf;padding:12px 27px;border-radius:6px}.fatal{position:fixed;inset:15%;z-index:40;background:#15283b;border:1px solid #bc5c63;border-radius:12px;padding:30px}
@media(max-width:1330px){.right{width:285px}.left{width:277px}.topStats{gap:18px}.copyright{display:none}.cameraModes button{font-size:8px;padding:9px 6px}}
@media(max-width:850px){.topbar{height:65px;padding:0 13px}.topStats .headStat:not(:nth-child(3)){display:none}.topStats{gap:8px}.brand{min-width:0}.brand b{font-size:12px}.brand small{font-size:7px}.brandIcon{font-size:14px;padding:9px}.topHelp span{display:none}.panel{bottom:66px;top:auto;max-height:40vh}.left{left:8px;width:45vw}.right{right:8px;width:45vw}.panel{padding:12px}.panel h1{font-size:16px}.speedDisplay strong{font-size:42px}.gridStats strong{font-size:12px}.bottomBar{padding:0 8px}.cameraModes>span,#worldStatus{display:none}.cameraModes{gap:1px}.cameraModes button{padding:8px 5px;font-size:7px}}
@media(max-width:520px){.panel{max-height:28vh}.left{width:48vw}.right{width:48vw}.speedDisplay strong{font-size:36px}.gridStats{gap:6px}.sectionTop{display:none}.topStats{display:none}.bottomBar{height:50px}.cameraModes button{font-size:7px}}
