:root{color-scheme:dark;--bg:#101b27;--panel:#132230;--border:#2a3947;--muted:#8a9da9;--ink:#e6edf1;--accent:#83e6c5;--gold:#f6bf70}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.5 'Segoe UI',Arial,sans-serif}button,select,input{font:inherit}button,select{background:#1b2c3c;border:1px solid var(--border);color:var(--ink);border-radius:6px;padding:8px 11px;cursor:pointer}button:hover{border-color:var(--accent);background:#203b46}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit}header{height:86px;display:flex;align-items:center;padding:0 27px;border-bottom:1px solid var(--border);gap:52px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:650;text-decoration:none;letter-spacing:-.7px}.mark{display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);width:38px;height:38px;border-radius:9px;font-size:27px;font-weight:350;transform:skew(-8deg)}small{display:block}.brand small{font-size:8px;letter-spacing:2.4px;color:var(--muted);font-weight:500}.airport{display:flex;gap:16px;align-items:center}.airport>b{font-size:29px;font-weight:400;letter-spacing:-1px;border-right:1px solid var(--border);padding-right:20px}.airport span{font-size:12px}.airport small{color:var(--muted);font-size:10px}.header-actions{margin-left:auto;display:flex;gap:18px;align-items:center}.badge{font-size:10px;letter-spacing:1.7px;color:var(--accent)}.badge i,.tiny-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:100%;margin-right:6px}main{display:grid;grid-template-columns:235px minmax(400px,1fr) 280px;min-height:calc(100vh - 86px)}aside{padding:24px 20px}.left-panel{border-right:1px solid var(--border)}.right-panel{border-left:1px solid var(--border);background:#12202d}.eyebrow,.section-heading{font-size:9px;letter-spacing:1.7px;font-weight:650;color:var(--muted)}h1{font-size:34px;line-height:1.1;letter-spacing:-1px;font-weight:400;margin:15px 0}h1 span{color:var(--accent)}.intro{color:var(--muted);font-size:11px;line-height:1.7;margin-bottom:29px}.section-heading{display:flex;justify-content:space-between;margin:23px 0 12px;letter-spacing:1.2px}.section-heading span{font-size:8px}.layer{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:11px}.layer input{accent-color:var(--accent)}.layer .swatch{width:7px;height:7px;border-radius:2px}.layer small{margin-left:auto;color:var(--muted);font-size:9px}.camera-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.camera-grid button{font-size:10px}.active{color:var(--accent);border-color:#4b897d;background:#1b393d}.wide{width:100%;margin-top:8px;font-size:10px}.subtle{background:transparent;color:var(--muted)}.map-note{border-left:2px solid #497a71;padding:2px 0 2px 11px;margin-top:26px}.map-note strong{font-size:10px}.map-note p{font-size:10px;color:var(--muted);line-height:1.8;margin:5px 0}.library-link{display:block;text-decoration:none;font-size:11px;margin-bottom:10px}.library-link span{float:right;color:var(--accent)}.library-link small{color:var(--muted);font-size:9px;margin-top:4px}.workspace{min-width:0;display:flex;flex-direction:column;padding:0 0 13px}.workspace-bar{padding:24px 22px 18px;display:flex;justify-content:space-between;gap:10px;align-items:center}h2{font-size:18px;letter-spacing:-.3px;font-weight:500;margin:4px 0}.view-meta{text-align:right;font-size:10px;color:#bfd4dc}.view-meta small{font-size:8px;color:var(--muted);margin-top:5px}#viewport{position:relative;height:calc(100vh - 310px);min-height:430px;overflow:hidden;background:#1c302f}#viewport canvas{width:100%;height:100%;display:block;touch-action:none}.scene-top{position:absolute;top:18px;left:20px;display:flex;gap:8px;pointer-events:none}.pill{font-size:8px;letter-spacing:1px;border:1px solid #a1c1bd60;background:#132730cc;padding:5px 8px;border-radius:4px;color:#b8e7d5}.pill.muted{color:#bac9cd}.compass{position:absolute;right:20px;top:20px;text-align:center;font-size:11px;color:#d7f4e8;line-height:1.4;pointer-events:none}.map-credit{position:absolute;bottom:10px;left:15px;font-size:8px;background:#10202abf;padding:3px 6px}.map-credit a{text-decoration:none}.scene-help{position:absolute;right:13px;bottom:13px;font-size:8px;color:#c0d0d5;pointer-events:none}.transport{padding:16px 20px;display:flex;gap:9px;align-items:center;border-top:1px solid var(--border)}.transport button{min-width:32px}.play{background:var(--accent);color:#122c2c;font-weight:bold}.time{min-width:77px;margin:0 8px}.time b{font:20px Consolas,monospace}.time small{font-size:7px;color:var(--muted);letter-spacing:.6px}.transport input{flex:1;min-width:40px;accent-color:var(--accent)}.transport select{font-size:11px}.sequence{display:flex;gap:6px;padding:0 20px;overflow-x:auto}.sequence button{flex:1;white-space:nowrap;font-size:9px;padding:8px 9px;background:transparent}.sequence button.current{border-color:var(--accent);color:var(--accent);background:#193635}.sequence button.done{color:#b5c4cc;border-color:#42535e}.bottom-line{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:8px;padding:14px 22px 0}.bottom-line span:last-child{margin-left:auto}.legend{display:inline-block;width:12px;height:2px;margin-right:6px;vertical-align:middle}.legend.aircraft{background:var(--accent)}.legend.vehicle{background:var(--gold)}h3{font-weight:450;font-size:18px;line-height:1.35;letter-spacing:-.4px;margin:12px 0 18px}.scenario-label{display:block;font-size:10px;color:var(--muted);margin:8px 0}#scenario{width:100%;font-size:11px}.metrics{display:flex;gap:12px;padding:20px 0 8px}.metrics>div{flex:1}.metrics b{font:30px/1.1 Consolas,monospace;font-weight:400}.metrics small{font-size:8px;color:var(--muted);letter-spacing:.7px;margin-top:7px}.flight{border:1px solid var(--border);border-radius:6px;padding:11px;margin:7px 0;cursor:pointer;width:100%;text-align:left;background:transparent}.flight.selected{border-color:#5b978b;background:#1b3639}.flight-top{display:flex;justify-content:space-between;align-items:center}.flight b{font:12px Consolas,monospace}.flight span{font-size:9px;color:var(--accent)}.flight small{color:var(--muted);font-size:9px;margin:4px 0}.progress{height:2px;background:#34454c;margin-top:9px}.progress i{height:2px;background:var(--accent);display:block}.inspector{background:#172b3a;padding:12px;border-radius:6px;min-height:126px}.inspector h4{margin:0 0 10px;font-size:13px;font-weight:500}.field{display:flex;justify-content:space-between;gap:10px;margin:5px 0;font-size:9px}.field span{color:var(--muted)}.field b{text-align:right;font-weight:500;max-width:145px;overflow-wrap:anywhere}.inspector .tag{font-size:8px;display:inline-block;color:var(--gold);margin-top:10px}.interlock{border-left:2px solid var(--gold);padding-left:10px;font-size:10px}.interlock b{color:var(--gold);font-weight:500}.interlock small{color:var(--muted);margin-top:5px}.fineprint{color:var(--muted);font-size:10px;line-height:1.7}.right-panel .fineprint{font-size:9px}.service{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #243441;font-size:10px}.service span{font-size:9px;color:var(--muted)}#loading{position:absolute;z-index:5;inset:0;display:grid;place-items:center;background:#172931;color:var(--accent)}dialog{max-width:930px;width:92vw;max-height:88vh;background:#132330;color:var(--ink);border:1px solid #43606c;border-radius:12px;padding:0}dialog::backdrop{background:#050f19cc;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid var(--border)}.dialog-body{padding:22px 30px 30px;max-height:70vh;overflow:auto}.dialog-body p,.dialog-body li{color:#a9bbc6;font-size:12px;line-height:1.8}.source-summary{border:1px solid #527164;background:#1b3636;padding:15px;border-radius:8px}.source-summary p{margin-bottom:0}.source-card{display:grid;grid-template-columns:1fr 110px;gap:5px 16px;padding:16px 0;border-bottom:1px solid var(--border)}.source-card a{font-size:13px;color:var(--accent)}.source-card p{margin:4px 0;font-size:11px}.source-status{font-size:9px;text-align:right;color:var(--gold)}.error{color:#ffb7aa!important}button:disabled{opacity:.5;cursor:wait}@media(min-width:1700px){main{grid-template-columns:265px minmax(450px,1fr) 310px}aside{padding:28px}#viewport{min-height:620px}}@media(max-width:1200px){main{grid-template-columns:190px minmax(330px,1fr) 230px}aside{padding:18px 13px}header{gap:24px;padding:0 18px}.airport span{max-width:180px}.scene-help{display:none}.view-meta small{display:none}.header-actions{gap:9px}.header-actions button{font-size:10px}h1{font-size:30px}}@media(max-width:900px){header{height:auto;min-height:80px;flex-wrap:wrap;padding:14px;gap:18px}.airport{display:none}.header-actions{gap:9px}.brand{font-size:18px}main{display:grid;grid-template-columns:170px minmax(0,1fr)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;border-top:1px solid var(--border)}.right-panel>*{margin:4px 0}.right-panel>.section-heading{grid-column:1/-1;margin-top:18px}.workspace-bar{padding:16px 12px}.view-meta{display:none}#viewport{height:510px;min-height:350px}.transport{padding:12px 8px;gap:5px}.time{margin:0 3px;min-width:60px}.time b{font-size:16px}.time small{font-size:6px}.sequence{padding:0 8px}.scene-top{left:10px;gap:4px}.pill{font-size:7px}}@media(max-width:560px){main{display:flex;flex-direction:column}.left-panel{order:2;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.left-panel h1,.left-panel>.eyebrow,.left-panel .intro{display:none}.left-panel>.section-heading{grid-column:1/-1;margin:14px 0 0}.left-panel #layers{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.map-note{margin:0}.workspace{order:1}.right-panel{order:3;display:block;padding:20px}.header-actions .badge{display:none}.brand small{font-size:7px}.header-actions button{padding:7px;font-size:10px}#viewport{height:460px}.source-card{grid-template-columns:1fr}.source-status{text-align:left}.dialog-body,.dialog-head{padding:18px}.bottom-line{padding:10px 12px}.sequence button{font-size:8px}.workspace-bar h2{font-size:17px}}

.locator-label{display:block;color:var(--muted);font-size:10px;margin:8px 0 4px}.locator-select{width:100%;font-size:10px;min-width:0}#infrastructureStats{font-size:9px;margin:10px 0}.left-panel{max-height:calc(100vh - 86px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#415c63 transparent}@media(max-width:900px){.left-panel{max-height:none;overflow:visible}}@media(max-width:560px){.left-panel .locator-label,.left-panel .locator-select,.left-panel #infrastructureStats{grid-column:1/-1}}
