:root{--hud-bg: rgba(8, 14, 22, .78);--hud-fg: #c9d6e3;--hud-accent: #4fc3f7;--hud-warn: #ffa840;--hud-border: rgba(79, 195, 247, .35);--copper: #ff914d;--copper-deep: #d2691e;--surveillance-line: rgba(255, 145, 77, .32)}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:radial-gradient(circle at 50% 40%,#0a1c2e,#06121b 60%,#030710);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Text,Helvetica Neue,Arial,sans-serif;color:var(--hud-fg)}#scene-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:crosshair;z-index:1}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}#hud>*{position:absolute;padding:10px 14px;background:var(--hud-bg);border:1px solid var(--hud-border);border-radius:4px;font-size:12px;letter-spacing:.04em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#hud-top-left{top:16px;left:16px;padding:8px 14px}#hud-top-right{top:16px;right:16px;text-align:right;min-width:160px}#hud-bottom-left{bottom:16px;left:16px}#hud-bottom-right{bottom:16px;right:16px;display:flex;gap:8px;pointer-events:auto}#hud-top-left .hud-mark{display:block;height:36px;width:auto;margin-bottom:2px}.hud-sub-scene{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper);opacity:.85}.hud-controls-hidden{display:none!important}.hud-title{font-size:13px;font-weight:600;color:var(--hud-accent);letter-spacing:.12em}.hud-sub{font-size:10px;opacity:.65;margin-top:2px}.hud-keys .key{display:inline-block;padding:2px 6px;border:1px solid var(--hud-border);border-radius:3px;background:#4fc3f714;margin:0 2px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.hud-btn{font:inherit;color:var(--hud-fg);background:#4fc3f71a;border:1px solid var(--hud-border);border-radius:3px;padding:6px 10px;cursor:pointer;letter-spacing:.04em}.hud-btn:hover{background:#4fc3f733}#aircraft-count{font-size:14px;font-weight:600;color:var(--hud-accent)}#feed-age{font-size:11px;opacity:.65;margin-top:2px}#loading,#click-to-start{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:14px 22px;background:#080e16eb;border:1px solid var(--hud-border);color:var(--hud-fg);font-size:13px;letter-spacing:.06em;border-radius:4px;z-index:20}#click-to-start{cursor:pointer;pointer-events:auto;color:var(--hud-accent)}.hidden{display:none!important}#splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#080e16d9,#000000f5 80%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity 1.2s ease;pointer-events:auto}#splash.fading{opacity:0;pointer-events:none}#splash.hidden{display:none}.splash-inner{text-align:center;max-width:560px;padding:24px}#splash-logo{display:block;margin:0 auto 18px;width:320px;max-width:80vw;filter:drop-shadow(0 4px 24px rgba(255,145,77,.4))}.splash-tagline{font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);font-weight:600;margin-bottom:14px}.splash-sub{font-size:14px;line-height:1.55;color:var(--hud-fg);opacity:.85;margin-bottom:22px}.splash-cta{font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:12px 28px;background:var(--copper);color:#0a0a0a;border:none;border-radius:3px;cursor:pointer;transition:background .15s,transform .15s}.splash-cta:hover{background:#ffb070;transform:scale(1.03)}#vantage-rail{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:stretch;gap:4px;padding:6px 8px;background:#080e16e0;border:1px solid var(--surveillance-line);border-radius:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;font-size:12px;letter-spacing:.06em}.rail-label{display:flex;align-items:center;padding:4px 10px 4px 4px;font-size:10px;letter-spacing:.22em;color:var(--copper);text-transform:uppercase;border-right:1px solid var(--surveillance-line)}#vantage-buttons,#flight-presets{display:flex;gap:4px;align-items:center}.flight-preset-btn{font:inherit;font-size:11px;padding:6px 10px;background:#4fc3f70f;color:var(--hud-fg);border:1px solid rgba(79,195,247,.22);border-radius:3px;cursor:pointer;letter-spacing:.04em;transition:background .12s,border-color .12s}.flight-preset-btn:hover{background:#4fc3f729}.flight-preset-btn.active{background:var(--hud-accent);color:#0a0a0a;border-color:var(--hud-accent)}.vantage-btn{font:inherit;font-size:12px;padding:6px 12px;background:#ff914d14;color:var(--hud-fg);border:1px solid rgba(255,145,77,.25);border-radius:3px;cursor:pointer;letter-spacing:.04em;transition:background .12s,border-color .12s,color .12s}.vantage-btn:hover{background:#ff914d2e;border-color:#ff914d8c}.vantage-btn.active{background:var(--copper);color:#0a0a0a;border-color:var(--copper)}.rail-mode{font:inherit;font-size:12px;padding:6px 12px;background:#4fc3f70f;color:var(--hud-fg);border:1px solid rgba(79,195,247,.25);border-radius:3px;cursor:pointer;letter-spacing:.04em;margin-left:4px}.rail-mode:hover{background:#4fc3f729}.rail-mode.active{background:var(--hud-accent);color:#0a0a0a;border-color:var(--hud-accent)}.rail-spacer{width:1px;margin:4px;background:var(--surveillance-line);align-self:stretch}#pin-calibration-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;padding:16px 24px;background:#ff914deb;color:#0a0a0a;border-radius:4px;text-align:center;pointer-events:none;box-shadow:0 0 24px #ff914d99}.pin-cal-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}.pin-cal-body{font-size:13px;margin-top:6px;max-width:360px}body.pin-placement-mode,body.pin-placement-mode #scene-canvas{cursor:crosshair!important}body.pin-dragging,body.pin-dragging #scene-canvas{cursor:grabbing!important}.override-tour{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:40;padding:12px 28px;background:#ff914deb;color:#0a0a0a;border:none;border-radius:4px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;pointer-events:auto;box-shadow:0 0 24px #ff914d8c;transition:background .15s,transform .15s;animation:override-pulse 2.4s ease-in-out infinite}.override-tour:hover{background:#ffb070;transform:translate(-50%) scale(1.04)}@keyframes override-pulse{0%,to{box-shadow:0 0 24px #ff914d8c}50%{box-shadow:0 0 40px #ff914dd9}}body.tour-active #vantage-rail,body.tour-active #hud-bottom-right,body.tour-active #hud-bottom-left,body.tour-active #hud-dev,body.tour-active .quad-label,body.tour-active #radar-overlay{display:none!important}#aircraft-popup{position:fixed;z-index:60;min-width:240px;max-width:320px;background:#080e16f5;border:1px solid var(--surveillance-line);border-radius:4px;pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12px;letter-spacing:.03em;color:var(--hud-fg);box-shadow:0 8px 32px #0000008c}.ac-popup-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--surveillance-line);background:#ff914d1f}.ac-popup-title{font-weight:700;letter-spacing:.12em;color:var(--copper)}.ac-popup-close{background:none;border:none;color:var(--hud-fg);font-size:18px;cursor:pointer;padding:0 6px;line-height:1}.ac-popup-body{padding:8px 10px}.ac-popup-row{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.ac-popup-row .label{color:#c9d6e399}.ac-popup-row .value{font-variant-numeric:tabular-nums}#quad-overlay{position:fixed;inset:0;pointer-events:none;z-index:11;display:none}#quad-overlay.visible{display:block}#quad-overlay:before,#quad-overlay:after{content:"";position:absolute;background:var(--surveillance-line)}#quad-overlay:before{top:0;bottom:0;left:50%;width:1px}#quad-overlay:after{left:0;right:0;top:50%;height:1px}.quad-label{position:absolute;padding:4px 10px;background:#080e16b3;border:1px solid var(--surveillance-line);border-radius:3px;color:var(--copper);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;pointer-events:auto;cursor:grab;transition:background .15s;user-select:none}.quad-label:hover{background:#ff914d2e}.quad-label.dragging{opacity:.4;cursor:grabbing}.quad-label.radar-tile-label{background:#ff914d40;border-color:var(--copper)}.quad-label:after{content:" ⋮⋮";opacity:.5;font-size:8px}#radar-overlay{position:fixed;inset:0;pointer-events:none;z-index:11}#radar-overlay.hidden{display:none}.radar-cardinal{position:absolute;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:24px;letter-spacing:.16em;color:var(--copper);text-shadow:0 0 8px rgba(255,145,77,.6),0 2px 6px rgba(0,0,0,.8)}.radar-n{top:70px;left:50%;transform:translate(-50%)}.radar-s{bottom:78px;left:50%;transform:translate(-50%)}.radar-e{top:50%;right:28px;transform:translateY(-50%)}.radar-w{top:50%;left:28px;transform:translateY(-50%)}.radar-title{position:absolute;top:70px;left:50%;transform:translate(-50%);margin-top:30px;padding:4px 14px;background:#ff914d2e;border:1px solid var(--copper);border-radius:3px;color:var(--copper);font-size:10px;letter-spacing:.22em;font-weight:600;text-transform:uppercase}.edit-panel{position:fixed;top:50%;right:16px;transform:translateY(-50%);width:320px;max-height:80vh;background:#0a0e14f5;border:1px solid var(--copper);border-radius:6px;color:#c8d4e0;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;z-index:200;box-shadow:0 4px 24px #000000b3;overflow:hidden;display:flex;flex-direction:column;pointer-events:auto}.edit-panel.hidden{display:none}.edit-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ff914d1f;border-bottom:1px solid rgba(255,145,77,.4);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--copper);font-size:11px}.edit-close-btn{background:transparent;border:none;color:#c8d4e0;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.edit-close-btn:hover{color:var(--copper)}.edit-panel-body{padding:12px 14px;overflow-y:auto}.edit-section{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.edit-section:last-of-type{border-bottom:none}.edit-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#889aac;margin-bottom:8px}.edit-panel label{display:block;margin-bottom:8px;font-size:11px;color:#a8b4c0}.edit-panel label span{color:var(--copper);font-family:SF Mono,Menlo,monospace;font-weight:600;margin-left:6px}.edit-panel input[type=range]{display:block;width:100%;margin-top:4px;accent-color:var(--copper)}.edit-actions{display:flex;gap:8px;margin-top:8px}.edit-save-btn,.edit-reset-btn{padding:8px 12px;background:#ff914d2e;border:1px solid var(--copper);border-radius:3px;color:var(--copper);font-size:11px;font-weight:600;letter-spacing:.08em;cursor:pointer;flex:1}.edit-save-btn:hover{background:#ff914d52}.edit-reset-btn{background:transparent;color:#889aac;border-color:#ffffff26;flex:0 0 auto}.edit-reset-btn:hover{color:#c8d4e0;border-color:#c8d4e0}.edit-saved-feedback{margin-top:10px;padding:6px 10px;background:#3cdc8226;border:1px solid rgba(60,220,130,.5);border-radius:3px;color:#6fe0a0;font-size:10px;text-align:center}.edit-saved-feedback.hidden{display:none}#aircraft-count.clickable{cursor:pointer;user-select:none}#aircraft-count.clickable:after{content:" ▾";color:#889aac;font-size:10px}.aircraft-list{margin-top:8px;background:#0a0e14f0;border:1px solid rgba(79,195,247,.35);border-radius:4px;max-height:60vh;overflow-y:auto;min-width:280px;text-align:left;pointer-events:auto}.aircraft-list.hidden{display:none}.aircraft-list-empty{padding:12px;color:#889aac;font-size:11px;text-align:center}.aircraft-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);font-family:SF Mono,Menlo,monospace;font-size:11px;color:#c8d4e0;gap:8px}.aircraft-row:last-child{border-bottom:none}.aircraft-row:hover{background:#4fc3f70f}.aircraft-row-info{flex:1;min-width:0;overflow:hidden}.aircraft-row-callsign{font-weight:600;color:#4fc3f7}.aircraft-row-meta{color:#889aac;font-size:10px;margin-top:1px}.aircraft-row-track{padding:4px 10px;background:transparent;border:1px solid rgba(255,145,77,.4);border-radius:3px;color:var(--copper);font-size:10px;font-weight:600;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.aircraft-row-track:hover{background:#ff914d26}.aircraft-row.tracked{background:#aaff2814}.aircraft-row.tracked .aircraft-row-track{background:#aaff282e;border-color:#aaff28b3;color:#aaff28}.rail-dropdown{position:relative;display:inline-block}.rail-dd-menu{position:absolute;bottom:calc(100% + 6px);left:0;background:#0a0e14f5;border:1px solid var(--copper);border-radius:4px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:180px;z-index:30;pointer-events:auto;box-shadow:0 4px 18px #0009}.rail-dd-menu.hidden{display:none}.rail-dd-menu button{text-align:left;white-space:nowrap;padding:6px 10px;font-size:11px}.rail-icon{min-width:36px;padding:6px 8px;font-size:14px;letter-spacing:0}.aircraft-list-panel{position:fixed;bottom:64px;right:16px;background:#0a0e14f5;border:1px solid rgba(79,195,247,.5);border-radius:4px;min-width:300px;max-height:60vh;overflow-y:auto;z-index:30;pointer-events:auto;box-shadow:0 4px 24px #0009}.aircraft-list-panel.hidden{display:none}.rail-tour-btn{padding:8px 16px;background:var(--copper);color:#0a0a0a;border:1px solid var(--copper);border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.18em;cursor:pointer;text-transform:uppercase;box-shadow:0 0 14px #ff914d80;transition:background .12s,transform .08s}.rail-tour-btn:hover{background:#ffb070;transform:translateY(-1px)}.rail-tour-btn:active{transform:translateY(0)}.rail-tour-btn.tour-paused{background:#ff914d2e;color:var(--copper)}.rail-tour-btn.tour-paused:hover{background:#ff914d52}.radar-badge{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:6px 16px;background:#4fc3f72e;border:1px solid rgba(79,195,247,.65);border-radius:3px;color:#4fc3f7;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;box-shadow:0 0 14px #4fc3f74d;z-index:14;pointer-events:none;opacity:1;transition:opacity .4s ease-out}.radar-badge.hidden{opacity:0}.hud-sibling-links{margin-top:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;pointer-events:auto;display:flex;gap:12px}.hud-sibling-links a{color:#4fc3f7b3;text-decoration:none;transition:color .12s}.hud-sibling-links a:hover{color:var(--copper)}.hud-sibling-links a#link-airspace-map{color:#aadcffd9}.playback-badge{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:6px 16px;background:#aa82dc2e;border:1px solid rgba(170,130,220,.7);border-radius:3px;color:#b89aff;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 0 14px #aa82dc4d;z-index:14;pointer-events:none;display:flex;gap:12px;align-items:center}.playback-badge.hidden{display:none}.playback-badge .pb-icon{font-size:13px}.playback-badge .pb-time{font-family:SF Mono,Menlo,monospace;letter-spacing:.06em}.playback-badge .pb-speed{background:#aa82dc40;padding:2px 8px;border-radius:2px}.playback-panel{position:fixed;top:70px;right:16px;width:280px;background:#0a0e14f5;border:1px solid rgba(170,130,220,.6);border-radius:6px;color:#c8d4e0;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;z-index:200;box-shadow:0 4px 24px #000000b3;overflow:hidden;pointer-events:auto}.playback-panel.hidden{display:none}.pb-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#aa82dc1f;border-bottom:1px solid rgba(170,130,220,.4);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#b89aff;font-size:11px}.pb-close-btn{background:transparent;border:none;color:#c8d4e0;font-size:20px;line-height:1;cursor:pointer}.pb-close-btn:hover{color:#b89aff}.pb-panel-body{padding:12px 14px}.pb-section{margin-bottom:14px}.pb-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#889aac;margin-bottom:8px}.pb-window-presets,.pb-speed-row{display:flex;gap:6px;flex-wrap:wrap}.pb-window-btn,.pb-speed-btn,.pb-transport-btn{padding:7px 12px;background:#aa82dc1a;border:1px solid rgba(170,130,220,.4);border-radius:3px;color:#b89aff;font-size:11px;cursor:pointer;flex:1;text-align:center}.pb-window-btn:hover,.pb-speed-btn:hover,.pb-transport-btn:hover{background:#aa82dc38}.pb-window-btn.active,.pb-speed-btn.active{background:#aa82dc59;border-color:#aa82dcf2;color:#d8c8ff}.pb-transport{display:flex;gap:6px;margin-bottom:8px}.pb-transport-btn{font-weight:600}.pb-transport-btn.hidden{display:none}.pb-status{font-size:11px;color:#889aac;line-height:1.5;min-height:1.5em}
