@import url('');
:root{--bg:#0a1317;--surface:#101e23;--surface2:#14252a;--stroke:#293c42;--muted:#7c9599;--text:#dce7e6;--bright:#f6f8ec;--accent:#f19a5a;--accent2:#ff683c;--teal:#56b4bb;--green:#8dbb96;--h-top:72px;--h-bottom:98px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:13px}button,select,input{font-family:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--h-top);flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#0e1a1f;border-bottom:1px solid var(--stroke);gap:20px;z-index:10}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-mark{display:grid;place-items:center;width:39px;height:42px;color:var(--accent2);background:#24312e;border:1px solid #344942;border-radius:5px}.brand-mark svg{width:33px}.brand-overline{display:block;font-size:8px;font-weight:800;letter-spacing:1.7px;color:#8faaa8;margin-bottom:5px}.brand strong{font-size:20px;letter-spacing:1.2px;font-weight:850;color:#fff}.brand em{font-style:normal;color:var(--accent);font-weight:650}.header-middle{display:flex;align-items:center;gap:11px;font-size:10px;font-weight:700;letter-spacing:1px;color:#b1c2c2}.live-dot{display:inline-block;vertical-align:middle;flex:none;width:7px;height:7px;border-radius:50%;background:#6bdaa5;box-shadow:0 0 0 4px #5dcba114,0 0 10px #78e6b65a}.header-pill{padding:8px 10px;border:1px solid #34464b;border-radius:4px;color:#8ea9ac;letter-spacing:.8px;font-size:9px}.head-controls{display:flex;gap:10px;align-items:center}.icon-btn,.btn{background:#1b2b31;border:1px solid #34444b;color:#d9e4e1;border-radius:5px;height:36px;padding:0 12px;letter-spacing:.6px;font-size:11px;font-weight:750}.icon-btn{font-size:18px;width:36px;padding:0}.icon-btn:hover,.btn:hover{border-color:var(--accent)}.user-avatar{width:35px;height:35px;border-radius:5px;display:grid;place-items:center;background:#344d4a;color:#bde2dd;font-size:10px;font-weight:850;letter-spacing:1px}.main-grid{display:grid;grid-template-columns:290px minmax(200px,1fr) 305px;flex:1;min-height:0}.sidebar{background:#0f1b20;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3c5050 #0f1b20;z-index:3}.sidebar-left{border-right:1px solid var(--stroke)}.sidebar-right{border-left:1px solid var(--stroke)}.panel-heading{padding:21px 20px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke)}.eyebrow,.tiny-label{color:#809a9d;font-size:9px;font-weight:800;letter-spacing:1.25px}.panel-heading h2{margin:6px 0 0;color:#eff7f1;font-size:18px;letter-spacing:.05px}.tiny-led{width:7px;height:7px;background:#77c7ad;box-shadow:0 0 11px #77c7ad79;border-radius:50%}.tiny-led.hot{background:var(--accent2);box-shadow:0 0 9px #ff6c4a89}.panel-section{padding:18px 19px;border-bottom:1px solid var(--stroke)}.panel-section.tight{padding-top:15px;padding-bottom:14px}.select{display:block;width:100%;height:40px;margin-top:11px;padding:0 9px;background:#19282d;border:1px solid #34474d;border-radius:4px;color:#e5efec;outline:0;font-size:11px;font-weight:650}.select:hover{border-color:#62787a}.subtext{color:#8fa3a8;font-size:11px;line-height:1.65;margin:12px 0 13px}.objective{display:flex;gap:11px;padding:12px;background:#273027;border:1px solid #414b35;border-radius:4px;font-size:11px;line-height:1.5;color:#d2dfb8}.objective .tiny-label{color:#b3b18a;margin-bottom:4px}.objective-dot{width:6px;height:6px;flex:none;background:#d4cc7a;margin-top:7px;border-radius:50%}.section-title{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#b1c6c5;font-size:10px;letter-spacing:1.06px;font-weight:850;margin-bottom:16px}.label-tag{font-size:8px;font-weight:850;letter-spacing:.45px;background:#1b3431;border:1px solid #2e5149;color:#8cbea7;padding:5px 6px;border-radius:2px;white-space:nowrap}.label-tag.warning{background:#362b23;border-color:#524134;color:#dfac7b}.transport{display:flex;gap:8px}.square-btn,.play-btn{border:1px solid #394b50;background:#223036;color:#d9e6e4;height:43px;border-radius:4px;font-weight:800}.square-btn{font-size:18px;flex:0 0 41px}.play-btn{flex:1;display:flex;justify-content:center;align-items:center;gap:11px;background:#d57946;color:#1a1d19;border-color:#e49b65;font-size:10px;letter-spacing:.8px}.play-btn:hover{background:#efa36c}.timebar{display:flex;align-items:center;justify-content:space-between;padding:12px 1px 15px;color:#8aa2a3;letter-spacing:.8px;font-size:9px}.timebar strong{color:#e3f0e6;font-size:13px;letter-spacing:1px}.timebar span:last-child{color:#efad72}.speed-line{display:flex;align-items:center;justify-content:space-between;color:#95adb0;font-size:9px;font-weight:750;letter-spacing:.8px}.segmented{display:flex;gap:4px}.speed{background:#1b3035;border:1px solid #31474d;color:#94aeb2;padding:6px 11px;border-radius:3px;font-size:10px;font-weight:850}.speed.active{background:#35524d;border-color:#598276;color:#e8efe5}.subtle-btn{display:block;width:100%;text-align:left;border:0;background:transparent;color:#9bb2b5;font-size:10px;font-weight:750;padding:13px 0 0}.subtle-btn:hover{color:var(--accent)}.slider-block{margin-bottom:18px}.slider-block>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#c4d6d4;font-weight:600;margin-bottom:10px}.slider-block output{color:#f2c693;font-size:10px;font-weight:850}.slider-block input[type=range],.bottom-shell input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:5px;background:linear-gradient(90deg,#598f8c,#e79a5b);outline:0;cursor:pointer}.slider-block input[type=range]::-webkit-slider-thumb,.bottom-shell input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#f4d0a6;border:2px solid #c57644;border-radius:50%;box-shadow:0 0 0 3px #ae744333}.range-ends{display:flex;justify-content:space-between;color:#637e82;font-size:8px;letter-spacing:1px;margin-top:6px}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.tool{display:flex;align-items:center;gap:8px;background:#1b2d32;border:1px solid #34454b;color:#acbdbe;border-radius:4px;text-align:left;padding:11px 9px;font-size:10px;font-weight:650;min-height:40px}.tool b{color:#88bec6;font-size:17px}.tool.active{border-color:#eaa46b;background:#443629;color:#f9e1c5}.tool.active b{color:#fab16e}.tool.danger-tool{grid-column:1/-1}.tool.danger-tool b{color:#f38254}.small-space{margin-top:15px}.tip{font-size:10px;line-height:1.5;color:#90a6a8;padding:11px 0 0}.left-footer{display:flex;justify-content:space-between;padding:19px;color:#556f74;letter-spacing:1px;font-size:8px;font-weight:850}.viewport-shell{position:relative;background:linear-gradient(155deg,#53757b,#112126);overflow:hidden;min-height:0}.viewport-shell canvas#worldCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}.top-overlay{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;pointer-events:none}.scene-label{display:flex;gap:11px;align-items:center;background:#0b171bd9;border:1px solid #7d959544;box-shadow:0 8px 30px #0005;padding:10px 12px;backdrop-filter:blur(12px);border-radius:4px}.scene-crosshair{font-size:22px;color:#d5a574}.scene-label strong{display:block;font-size:10px;letter-spacing:.95px}.scene-label small{display:block;color:#8da8aa;font-size:8px;letter-spacing:.6px;margin-top:4px}.camera-tools{display:flex;gap:3px;background:#0c1619e8;border:1px solid #7d959544;padding:4px;border-radius:4px;pointer-events:auto}.camera-btn{font-size:8px;letter-spacing:.6px;font-weight:850;color:#9fb3b4;background:transparent;border:0;padding:8px 10px;border-radius:2px}.camera-btn.active{background:#3a5759;color:#f5eee0}.scene-bottom-left{position:absolute;left:18px;bottom:20px;display:flex;align-items:flex-end;gap:10px;pointer-events:none}.scene-compass{border:1px solid #90a5a53f;background:#101b20c9;padding:8px 10px;border-radius:4px;width:49px;text-align:center}.scene-compass div{color:#edb47b;font-size:21px}.scene-compass small{font-size:9px;font-weight:850}.scene-hint{display:flex;flex-direction:column;gap:4px;background:#0f1b20be;border-left:2px solid #d69058;padding:10px 13px;backdrop-filter:blur(6px)}.scene-hint b{font-size:10px;color:#f7e8d6;letter-spacing:.7px}.scene-hint span{font-size:8px;letter-spacing:.7px;color:#a6b5b4}.scene-bottom-right{position:absolute;right:16px;bottom:19px;display:flex;align-items:center;gap:8px;pointer-events:none}.coords,.metric-pill{background:#132328dd;padding:8px 9px;border:1px solid #6d919144;color:#b7d0d0;border-radius:3px;font-size:9px;font-weight:750;letter-spacing:.6px}.metric-pill{color:#d7b890}.toasts{position:absolute;top:93px;right:18px;display:flex;flex-direction:column;gap:7px;pointer-events:none}.toast{background:#17272cf0;border-left:3px solid #d79c67;padding:11px 14px;box-shadow:0 6px 21px #07111590;font-size:10px;letter-spacing:.5px;color:#f3e6d6;animation:slide .35s ease}@keyframes slide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}.stats-section{padding:0 18px}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:15px 2px 13px;border-bottom:1px solid #283b40}.stat-row span{font-size:9px;color:#8da6a9;letter-spacing:1.2px;font-weight:800}.stat-row strong{display:block;margin-top:7px;color:#f5f1df;font-size:25px;font-weight:700;letter-spacing:-.6px}.stat-row strong small{font-size:12px;color:#a1b7b7;letter-spacing:0}.stat-symbol{width:32px;height:32px;display:grid;place-items:center;border-radius:4px;background:#263639;color:#95bac1;font-size:24px}.stat-symbol.flame{background:#472d25;color:#fb8845}.stat-symbol.blue{background:#1a383e;color:#71cfda}#activityChart{display:block;width:100%;height:98px;max-height:105px;background:#122126;border:1px solid #293d40;border-radius:3px}#tacticalMap{display:block;width:100%;height:auto;aspect-ratio:2/1;border:1px solid #48656a;border-radius:3px;cursor:crosshair;background:#274235}.chart-legend,.map-key{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:9px;color:#829da0;font-size:9px}.chart-legend i,.map-key i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#a5b1ad}.chart-legend .legend-orange{background:#ef8e4c}.chart-legend .legend-blue{background:#54b9cb}.map-key{gap:7px}.settlements,.fleet{display:flex;flex-direction:column;gap:0}.settlement{display:flex;gap:8px;align-items:center;border-bottom:1px solid #25383a;padding:10px 0}.settlement:last-child{border-bottom:0}.settlement .place-icon{color:#e6bd7b;border:1px solid #5b5948;background:#3a3931;width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:3px;font-size:16px}.place-main{flex:1;min-width:0}.place-name{font-size:10px;color:#cbdcd9;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-details{font-size:9px;color:#8a9f9d;margin-top:3px}.risk-chip{font-size:8px;font-weight:850;color:#99c9ad;background:#20392e;border:1px solid #345548;border-radius:2px;padding:5px 6px}.risk-chip.medium{background:#3d3625;color:#e1be7d;border-color:#5d5134}.risk-chip.high{background:#472e27;color:#fb9675;border-color:#674235}.evac-btn{font-size:8px;color:#91afad;background:transparent;border:0;padding:4px 0 0;text-decoration:underline}.fleet-entry{display:flex;align-items:center;gap:9px;border-bottom:1px solid #25383a;padding:9px 1px}.fleet-symbol{font-size:17px;color:#d7a67a;width:22px;text-align:center}.fleet-info{flex:1}.fleet-info strong{font-size:10px;color:#ccdfdc}.fleet-info small{display:block;font-size:8px;color:#829da0;margin-top:3px}.fleet-status{font-size:8px;letter-spacing:.4px;color:#93c4b4}.fleet-status.busy{color:#edb16e}.check-row{display:flex;align-items:center;gap:7px;padding-top:12px;color:#9cb2b5;font-size:10px}.check-row input{accent-color:#d38d58}.bottom-shell{height:var(--h-bottom);flex:none;border-top:1px solid #384d52;background:#101d22;padding:14px 27px 13px;z-index:5}.timeline-head,.timeline-head>div,.timeline-tools{display:flex;align-items:center;gap:12px}.timeline-head{justify-content:space-between}.timeline-head>div:first-child>span:nth-child(2){font-size:10px;color:#e2e5db;font-weight:850;letter-spacing:1.2px}.timeline-head small{color:#7a969b;font-size:9px;letter-spacing:.9px}.timeline-tools span{font-size:11px;color:#f0bc88;font-weight:800}.timeline-tools button{background:#213136;border:1px solid #3b5156;border-radius:3px;color:#adbfc0;padding:7px;font-size:8px;letter-spacing:.7px;font-weight:800}.bottom-shell input[type=range]{margin-top:15px;height:5px;display:block}.timeline-labels{display:flex;justify-content:space-between;margin-top:9px;font-size:8px;color:#658186;letter-spacing:.9px;font-weight:700}.error-overlay{position:fixed;z-index:100;inset:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e48863;background:#0e2025;padding:40px;text-align:center;box-shadow:0 0 0 9999px #071015c7}.error-overlay[hidden]{display:none}body.cinema .sidebar,body.cinema .bottom-shell{display:none}body.cinema .main-grid{grid-template-columns:1fr}@media(max-width:1280px){.main-grid{grid-template-columns:260px minmax(160px,1fr)270px}.topbar{padding:0 14px}.header-middle .header-session{display:none}.scene-hint span:last-child{display:none}}@media(max-width:990px){.main-grid{grid-template-columns:235px 1fr}.sidebar-right{display:none}.header-middle{display:none}.scene-bottom-right .metric-pill{display:none}}@media(max-width:650px){:root{--h-top:59px;--h-bottom:88px}.main-grid{grid-template-columns:1fr}.sidebar-left,.sidebar-right{display:none}.brand strong{font-size:15px}.brand-overline{font-size:7px}.brand-mark{width:33px;height:34px}.head-controls .btn span{display:none}.topbar{padding:0 10px}.scene-label strong{font-size:9px}.scene-label small{display:none}.camera-tools{position:absolute;right:0;top:52px}.camera-btn{padding:7px}.scene-hint{display:none}.scene-bottom-right{right:8px}.bottom-shell{padding:12px}.timeline-labels span:nth-child(2){display:none}} 
.incident-log{display:flex;flex-direction:column;gap:8px}.log-line{border-left:2px solid #a1aca0;padding:3px 0 3px 8px;font-size:9px;color:#adc0bc;line-height:1.4}.log-line.alert{border-color:#f47c44}.log-line.response{border-color:#62c6c7}.log-line.warning{border-color:#e0b367}.log-line b{display:block;color:#698a8e;font-size:8px;letter-spacing:1px;padding-bottom:3px}
