*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#090d12;color:#eef4f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}.glass{background:linear-gradient(145deg,rgba(13,20,28,.86),rgba(7,11,16,.72));border:1px solid rgba(255,255,255,.11);box-shadow:0 20px 60px rgba(0,0,0,.28);backdrop-filter:blur(18px);border-radius:14px}.topbar{position:fixed;top:0;left:0;right:0;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:linear-gradient(to bottom,rgba(5,8,12,.88),rgba(5,8,12,.25));letter-spacing:.08em;font-size:12px;pointer-events:none}.topbar strong{font-size:14px}.topbar #district{margin-left:18px;color:#90a0ad}.topbar-status{display:flex;gap:20px;color:#b7c7d2}.left-panel{position:fixed;left:18px;bottom:18px;width:252px;padding:18px}.left-panel h2,.right-panel h2{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8fa0ac;margin:0 0 8px}.speed-row{display:flex;align-items:flex-end;gap:8px}.speed-row span{font-size:64px;line-height:.95;font-weight:700;font-variant-numeric:tabular-nums}.speed-row small{font-size:12px;color:#8ea0ac;padding-bottom:8px}.vehicle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.vehicle-grid label{font-size:10px;text-transform:uppercase;color:#72838f;border-top:1px solid rgba(255,255,255,.08);padding-top:7px}.vehicle-grid b{display:block;color:#eef4f8;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter{height:4px;background:rgba(255,255,255,.09);margin-top:16px;border-radius:99px;overflow:hidden}.meter span{display:block;width:0;height:100%;background:#e9f3f8;transition:width .08s}#mode{margin:12px 0 0;font-size:9px;color:#8fa0ac;letter-spacing:.12em}.right-panel{position:fixed;right:18px;top:76px;width:300px;max-height:calc(100vh - 98px);overflow:hidden}.panel-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08)}.panel-tabs button{flex:1;border:0;background:transparent;color:#7f909c;padding:12px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.panel-tabs button.active{color:#fff;background:rgba(255,255,255,.05)}.panel-content{display:none;padding:14px}.panel-content.active{display:block}.stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;color:#90a0ad}.stat b{color:#ecf2f5;font-weight:600}.controls p{font-size:11px;color:#aebbc4;margin:7px 0}.controls kbd{display:inline-block;min-width:42px;text-align:center;padding:3px 6px;margin-right:8px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:rgba(255,255,255,.06);color:#fff}.map-panel{position:fixed;left:18px;top:76px;padding:8px}.map-panel canvas{display:block;border-radius:9px;background:#0a1016}.map-legend{display:flex;justify-content:space-between;font-size:8px;color:#71828e;letter-spacing:.08em;padding:7px 4px 2px}.incident-list{max-height:420px;overflow:auto}.incident{padding:10px;border-left:2px solid #ff735f;background:rgba(255,255,255,.035);margin-bottom:8px}.incident strong{display:block;font-size:11px}.incident span{font-size:9px;color:#8fa0ac}.muted{color:#71818b;font-size:11px}#interaction-prompt{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:rgba(5,10,15,.92);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 35px rgba(0,0,0,.3);font-size:11px;letter-spacing:.05em;pointer-events:none}#interaction-prompt[hidden]{display:none}#interaction-prompt kbd{display:grid;place-items:center;width:28px;height:25px;border-radius:5px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09);color:#fff;font:700 11px system-ui}#interaction-prompt span{color:#e9f1f5}#toast{position:fixed;left:50%;bottom:36px;transform:translateX(-50%) translateY(20px);padding:10px 16px;border-radius:9px;background:rgba(6,10,14,.9);border:1px solid rgba(255,255,255,.13);font-size:11px;letter-spacing:.06em;opacity:0;transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#crosshair{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font-size:22px;color:rgba(255,255,255,.7)}#loading{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#18232d,#070a0e);transition:opacity .7s}.loading-card{text-align:center;width:320px}.loading-mark{width:56px;height:56px;border-radius:14px;margin:0 auto 18px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);font-size:14px;font-weight:700;letter-spacing:.12em}.loading-card h1{font-size:24px;margin:0 0 6px}.loading-card p{font-size:11px;color:#8ea0ad}.loading-bar{height:2px;background:rgba(255,255,255,.1);margin-top:22px;overflow:hidden}.loading-bar span{display:block;height:100%;width:0;background:#eef4f8;transition:width .22s ease}.loading-detail{min-height:1.4em;margin-top:10px!important;color:#6f818d!important}.loading-retry{margin-top:16px;padding:9px 14px;border-radius:7px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.loading-card.error .loading-mark{border-color:#ff7568;color:#ff9a90}.loading-card.error .loading-bar span{background:#ff7568}.loading-card.error .loading-detail{color:#ff9a90!important;white-space:pre-wrap;word-break:break-word}@media(max-width:850px){.right-panel{display:none}.map-panel{transform:scale(.78);transform-origin:top left}.left-panel{width:220px}.speed-row span{font-size:48px}}
.diagnostic-settings{margin:-2px 0 10px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.025)}.diagnostic-toggle{display:flex;gap:9px;align-items:flex-start;cursor:pointer}.diagnostic-toggle input{margin:2px 0 0;accent-color:#ff4fd8}.diagnostic-toggle span{display:block;min-width:0}.diagnostic-toggle b{display:block;color:#edf3f6;font-size:11px;font-weight:600}.diagnostic-toggle small{display:block;margin-top:3px;color:#81919c;font-size:9px;line-height:1.35}.diagnostic-setting-status{margin:7px 0 0 23px;color:#c7a4c2;font-size:9px;line-height:1.3}

/* Graphics quality settings */
.panel-content{max-height:calc(100vh - 146px);overflow:auto}.panel-tabs button{min-width:0;font-size:9px;letter-spacing:.055em}.settings-panel{color:#dce7ed}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.settings-heading h2{margin:0}.recommended-badge{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:3px 6px;border-radius:999px;background:rgba(116,192,213,.12);border:1px solid rgba(116,192,213,.25);color:#a9d9e6}.settings-copy{font-size:11px;line-height:1.45;margin:0 0 12px}.quality-segment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:9px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.quality-segment button{appearance:none;border:1px solid transparent;border-radius:6px;background:transparent;color:#81939f;padding:9px 2px;font:700 9px/1 system-ui,sans-serif;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.quality-segment button:hover{color:#dbe9ef;background:rgba(255,255,255,.055)}.quality-segment button:focus-visible{outline:2px solid #8ecad9;outline-offset:2px}.quality-segment button.active,.quality-segment button[aria-pressed="true"]{color:#f5fbfd;background:rgba(116,192,213,.16);border-color:rgba(116,192,213,.38);box-shadow:inset 0 0 18px rgba(116,192,213,.06)}.quality-status{margin:9px 0 11px;color:#bcd6df;font-size:10px}.quality-notes{display:grid;gap:5px}.quality-notes p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:7px 8px;border-radius:7px;background:rgba(255,255,255,.025);font-size:10px}.quality-notes b{color:#edf5f8;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.quality-notes span{color:#8fa1ac;text-align:right}.right-panel::-webkit-scrollbar,.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:99px}

/* Manual aircraft ground-service controls. */
.ground-services{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.ground-services[hidden]{display:none}
.ground-services-heading{margin-bottom:7px;color:#8fa0ac;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.ground-services button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:7px 8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(255,255,255,.05);color:#dfeaf0;cursor:pointer;font:inherit;font-size:10px}
.ground-services button:hover{background:rgba(255,255,255,.09)}
.ground-services button b{font-size:9px;letter-spacing:.08em;color:#9fb1bc}
.ground-services small{display:block;margin-top:7px;color:#6f818d;font-size:9px}
