:root{--accent: #6cd9ff;--accent-dim: rgba(108, 217, 255, .35);--warn: #ffb84d;--danger: #ff5d5d;--ok: #7dffa8;--panel-bg: rgba(10, 18, 30, .72);--panel-border: rgba(120, 190, 235, .25);--text: #e8f2fa;--text-dim: #9db4c6;--mono: "Consolas", "Cascadia Mono", "Menlo", monospace;--sans: "Segoe UI", "Inter", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#05080d;font-family:var(--sans);color:var(--text);user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%}#ui{position:fixed;inset:0;pointer-events:none;z-index:10}#ui>*{pointer-events:none}.hidden{display:none!important}button{font-family:inherit}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#0d2036,#05080d 70%);z-index:100;pointer-events:auto;transition:opacity .6s ease}#loading.fade{opacity:0}.loading-inner{text-align:center;width:min(420px,80vw)}.loading-title{font-size:3rem;letter-spacing:.35em;font-weight:200;color:var(--text);text-shadow:0 0 30px var(--accent-dim);margin-left:.35em}.loading-sub{color:var(--accent);letter-spacing:.5em;font-size:.8rem;margin:.4rem 0 2.2rem .5em;text-transform:uppercase}.loading-bar-track{height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}#loading-bar{height:100%;width:0%;background:linear-gradient(90deg,#2b8ec4,var(--accent));border-radius:2px;transition:width .2s ease}#loading-status{margin-top:1rem;color:var(--text-dim);font-size:.85rem}#hud{position:absolute;inset:0;font-family:var(--mono)}.hud-block{position:absolute;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:10px 14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#hud-primary{left:18px;bottom:18px;min-width:190px}.hud-row{display:flex;justify-content:space-between;gap:14px;line-height:1.75}.hud-row .lbl{color:var(--text-dim);font-size:.72rem;letter-spacing:.1em;align-self:center}.hud-row .val{color:var(--text);font-size:1.02rem;font-weight:600;text-align:right}.hud-row .val small{color:var(--text-dim);font-size:.68rem;font-weight:400;margin-left:3px}.hud-row .val.warn{color:var(--warn)}.hud-row .val.danger{color:var(--danger)}#hud-throttle{display:flex;align-items:center;gap:10px;margin-top:6px}#hud-throttle .lbl{color:var(--text-dim);font-size:.72rem;letter-spacing:.1em}.throttle-track{flex:1;height:8px;border-radius:4px;background:#ffffff14;overflow:hidden}#throttle-fill{height:100%;width:0%;background:linear-gradient(90deg,#2b8ec4,var(--accent))}#throttle-pct{font-size:.85rem;min-width:40px;text-align:right}#hud-center{left:50%;bottom:18px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;padding:0;position:absolute}#attitude-canvas{border-radius:50%;box-shadow:0 0 0 3px #0a121ecc,0 0 0 4px var(--panel-border)}#compass-canvas{border-radius:8px;background:var(--panel-bg);border:1px solid var(--panel-border)}#hud-mission{top:14px;left:50%;transform:translate(-50%);text-align:center;min-width:300px;max-width:560px}#mission-title{color:var(--accent);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}#mission-objective{font-size:.95rem;margin-top:2px;font-family:var(--sans)}#mission-extra{color:var(--text-dim);font-size:.8rem;margin-top:2px}#hud-warnings{position:absolute;left:50%;top:24%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none}.hud-warning{padding:4px 18px;border-radius:6px;font-weight:700;letter-spacing:.2em;font-size:.9rem;animation:blink .9s steps(2,start) infinite}.hud-warning.danger{color:#fff;background:#d22828bf}.hud-warning.warn{color:#201200;background:#ffb84dd9}@keyframes blink{50%{opacity:.35}}#hud-radio-log{left:18px;top:18px;width:330px;max-height:180px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;font-size:.78rem;font-family:var(--sans)}.radio-line{margin-top:4px;line-height:1.35;opacity:.95}.radio-line .from{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;margin-right:6px}.radio-line.atc .from{color:var(--accent)}.radio-line.player .from{color:var(--ok)}.radio-line.chatter{opacity:.55;font-style:italic}.radio-line.chatter .from{color:var(--text-dim)}#hud-minimap{right:18px;bottom:18px;padding:6px;border-radius:12px}#hud-minimap.minimap-large{pointer-events:auto;box-shadow:0 8px 40px #00000080}#minimap-canvas{display:block;border-radius:8px}#hud-status{right:18px;top:18px;text-align:right;font-size:.78rem;line-height:1.6}#hud-status .dim{color:var(--text-dim)}#hud-big{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);text-align:center;background:none;border:none}#hud-big h2{font-size:2.4rem;letter-spacing:.25em;font-weight:300;text-shadow:0 2px 24px rgba(0,0,0,.8)}#hud-big h2.danger{color:var(--danger)}#hud-big h2.ok{color:var(--ok)}#hud-big p{color:var(--text);margin-top:10px;font-size:1rem;font-family:var(--sans);text-shadow:0 1px 8px #000}#hud.hud--cockpit #attitude-canvas{box-shadow:0 0 0 4px #101824f2,0 0 0 5px var(--panel-border)}#hud.hud--cockpit #hud-primary{bottom:18px}#hud.hud--orbit #hud-center,#hud.hud--cine #hud-center{opacity:.35}#hud.hud--cine .hud-block{opacity:.25}#toast-root{position:absolute;top:72px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:60}.toast{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text);border-radius:8px;padding:8px 20px;font-size:.9rem;backdrop-filter:blur(6px);animation:toast-in .25s ease;transition:opacity .4s ease}.toast.out{opacity:0}@keyframes toast-in{0%{transform:translateY(-8px);opacity:0}}#radio-panel{position:absolute;left:18px;bottom:220px;width:330px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:12px 14px;backdrop-filter:blur(8px);font-family:var(--sans);pointer-events:auto}#radio-panel h3{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-family:var(--mono)}.radio-option{padding:5px 8px;border-radius:6px;font-size:.86rem;cursor:pointer;display:flex;gap:10px;align-items:baseline}.radio-option:hover{background:#6cd9ff1f}.radio-option .num{font-family:var(--mono);color:var(--accent);font-size:.8rem;border:1px solid var(--accent-dim);border-radius:4px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:none}.radio-hint{color:var(--text-dim);font-size:.72rem;margin-top:8px}#help-panel{position:absolute;right:18px;top:60px;width:340px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:16px 18px;backdrop-filter:blur(8px);pointer-events:auto;max-height:calc(100vh - 120px);overflow-y:auto}#help-panel h3{color:var(--accent);letter-spacing:.2em;font-size:.78rem;text-transform:uppercase;margin-bottom:10px;font-family:var(--mono)}#help-panel table{width:100%;border-collapse:collapse;font-size:.82rem}#help-panel td{padding:3px 4px;border-bottom:1px solid rgba(255,255,255,.05)}#help-panel td.key{font-family:var(--mono);color:var(--accent);white-space:nowrap;width:84px}#help-panel .foot{color:var(--text-dim);font-size:.75rem;margin-top:10px}.menu-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:40}.menu-screen.dim-bg{background:linear-gradient(180deg,#05080d8c,#05080dbf)}.menu-panel{background:#080e18db;border:1px solid var(--panel-border);border-radius:16px;padding:26px 30px;backdrop-filter:blur(14px);box-shadow:0 20px 60px #00000080;max-height:calc(100vh - 60px);overflow-y:auto}.menu-title{font-size:2.2rem;font-weight:200;letter-spacing:.35em;text-align:center;margin-left:.35em;text-shadow:0 0 24px var(--accent-dim)}.menu-subtitle{text-align:center;color:var(--accent);font-size:.7rem;letter-spacing:.5em;text-transform:uppercase;margin:4px 0 20px .5em;font-family:var(--mono)}.menu-section{margin-bottom:16px}.menu-section>h4{color:var(--text-dim);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-family:var(--mono)}#main-menu .menu-panel{width:min(760px,94vw)}.aircraft-cards{display:flex;gap:10px}.aircraft-card{flex:1;border:1px solid var(--panel-border);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s;background:#ffffff05}.aircraft-card:hover{background:#6cd9ff0f}.aircraft-card.selected{border-color:var(--accent);background:#6cd9ff1a}.aircraft-card .ac-name{font-weight:600;font-size:.95rem}.aircraft-card .ac-role{color:var(--accent);font-size:.72rem;margin:2px 0 6px;font-family:var(--mono)}.aircraft-card .ac-desc{color:var(--text-dim);font-size:.76rem;line-height:1.35}.mission-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.mission-item{border:1px solid var(--panel-border);border-radius:8px;padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ffffff05}.mission-item:hover{background:#6cd9ff0f}.mission-item.selected{border-color:var(--accent);background:#6cd9ff1a}.mission-item .m-name{font-size:.88rem;font-weight:600}.mission-item .m-desc{color:var(--text-dim);font-size:.74rem;margin-top:2px}.mission-item .m-status{font-family:var(--mono);font-size:.72rem;color:var(--ok);white-space:nowrap}.mission-item .m-status.pending{color:var(--text-dim)}.select-row{display:flex;gap:14px;flex-wrap:wrap}.select-row .field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:140px}.select-row label{color:var(--text-dim);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-family:var(--mono)}select,input[type=range]{pointer-events:auto;accent-color:var(--accent)}select{background:#0a1422e6;color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:7px 10px;font-size:.86rem;outline:none;cursor:pointer}select:focus{border-color:var(--accent)}.range-field{display:flex;align-items:center;gap:10px}.range-field output{font-family:var(--mono);font-size:.8rem;color:var(--accent);min-width:52px;text-align:right}.menu-buttons{display:flex;gap:10px;margin-top:18px}.btn{flex:1;padding:12px 18px;border-radius:8px;border:1px solid var(--panel-border);background:#ffffff08;color:var(--text);font-size:.95rem;cursor:pointer;letter-spacing:.08em;transition:background .15s,border-color .15s}.btn:hover{background:#6cd9ff1a;border-color:var(--accent)}.btn.primary{background:linear-gradient(135deg,#2b8ec4e6,#6cd9ffbf);color:#04121e;font-weight:700;border-color:transparent}.btn.primary:hover{filter:brightness(1.12)}.btn.slim{flex:none;padding:9px 16px;font-size:.85rem}#pause-menu .menu-panel,#debrief .menu-panel{width:min(420px,92vw);text-align:center}#pause-menu .menu-buttons,#debrief .menu-buttons{flex-direction:column}.debrief-lines{text-align:left;margin:14px 0;font-size:.88rem;line-height:1.7;color:var(--text-dim)}.debrief-lines b{color:var(--text);font-family:var(--mono)}.debrief-result{font-size:1.2rem;letter-spacing:.2em;margin-top:6px}.debrief-result.ok{color:var(--ok)}.debrief-result.fail{color:var(--danger)}#settings-modal .menu-panel.settings-panel{width:min(960px,96vw)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 34px}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}.setting-row input[type=text]{pointer-events:auto;background:#0a1422e6;color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:7px 10px;font-size:.86rem;outline:none;width:150px;font-family:var(--mono);text-transform:uppercase}.setting-row input[type=text]:focus{border-color:var(--accent)}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:10px}.setting-row>label{font-size:.86rem;color:var(--text)}.setting-row .hint{display:block;color:var(--text-dim);font-size:.7rem;margin-top:2px}.setting-row input[type=checkbox]{width:18px;height:18px;pointer-events:auto;cursor:pointer}.setting-row input[type=range]{width:150px}.setting-row select{min-width:150px}#webgl-error{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#05080d;color:var(--text);text-align:center;padding:20px}#webgl-error h2{color:var(--danger);margin-bottom:12px}.noscript-msg{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;color:#fff}@media(max-width:900px){#hud-radio-log{width:240px}.aircraft-cards{flex-direction:column}#hud-minimap{display:none}}
