:root{--bg-deep: #02060c;--bg-cockpit: #050d18;--bg-panel: #071424;--bg-panel-sub: #0a1b2d;--border-cyan: rgba(0, 206, 201, .3);--border-glow: rgba(0, 206, 201, .6);--neon-cyan: #00cec9;--neon-blue: #0984e3;--neon-green: #00b894;--neon-orange: #ff7675;--neon-gold: #f1c40f;--text-main: #dff9fb;--text-dim: #95afc0;--font-mono: "Fira Code", monospace;--font-hud: "Orbitron", sans-serif;--font-sans: "Rajdhani", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-deep);color:var(--text-main);font-family:var(--font-sans);height:100vh;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.app-header{height:58px;background:linear-gradient(180deg,#091a2e,#050e1a);border-bottom:1px solid var(--border-cyan);display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 4px 20px #00000080;z-index:100}.header-left{display:flex;align-items:center;gap:20px}.logo-group{display:flex;align-items:center;gap:10px}.logo-icon{font-size:24px;filter:drop-shadow(0 0 8px rgba(0,206,201,.8))}.logo-title{font-family:var(--font-hud);font-size:18px;font-weight:900;letter-spacing:2px;color:#fff;text-shadow:0 0 10px rgba(0,206,201,.6)}.logo-sub{font-family:var(--font-mono);font-size:10px;color:var(--neon-cyan);letter-spacing:1px;display:block}.sector-dropdown-wrap{display:flex;align-items:center;gap:8px}.control-label{font-family:var(--font-hud);font-size:10px;color:var(--text-dim);letter-spacing:1px}.cyber-select{background:var(--bg-panel);border:1px solid var(--border-cyan);color:var(--neon-cyan);font-family:var(--font-mono);font-size:11px;padding:5px 10px;border-radius:4px;outline:none;cursor:pointer}.header-right{display:flex;align-items:center;gap:10px}.runtime-badge{font-family:var(--font-mono);font-size:11px;padding:4px 8px;border-radius:4px;background:#0006;border:1px solid rgba(255,255,255,.15)}.badge-ready{color:var(--neon-green);font-weight:600}.badge-loading{color:var(--neon-gold)}.header-actions{display:flex;align-items:center;gap:6px}.btn{font-family:var(--font-hud);font-size:10px;font-weight:700;letter-spacing:1px;padding:6px 12px;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px}.btn-primary{background:linear-gradient(135deg,#00cec9,#0984e3);color:#030710;border-color:#55efc4}.btn-primary:hover{filter:brightness(1.2);box-shadow:0 0 14px #00cec9cc}.btn-demo{background:#6c5ce7;color:#fff;border-color:#a29bfe}.btn-demo:hover{background:#5f3dc4;box-shadow:0 0 12px #6c5ce7cc}.btn-start{background:#d63031;color:#fff;border-color:#ff7675}.btn-start:hover{background:#e17055;box-shadow:0 0 10px #d6303199}.btn-secondary{background:#2d3436;color:#dfe6e9;border-color:#636e72}.btn-utility{background:#091a2ecc;color:var(--neon-cyan);border-color:var(--border-cyan)}.btn-utility:hover{border-color:var(--neon-cyan);background:var(--bg-panel-sub)}.cockpit-layout{flex:1;display:grid;grid-template-columns:56% 44%;height:calc(100vh - 58px);overflow:hidden}.helm-panel{display:flex;flex-direction:column;background:var(--bg-cockpit);border-right:1px solid var(--border-cyan);overflow:hidden}.helm-telemetry-bar{display:flex;align-items:center;justify-content:space-around;padding:8px 12px;background:#040c16e6;border-bottom:1px solid rgba(0,206,201,.2)}.telem-block{display:flex;flex-direction:column;align-items:center}.telem-label{font-family:var(--font-hud);font-size:9px;letter-spacing:1px;color:var(--text-dim)}.telem-val{font-family:var(--font-mono);font-size:13px;font-weight:700}.neon-cyan{color:var(--neon-cyan);text-shadow:0 0 6px rgba(0,206,201,.5)}.neon-blue{color:var(--neon-blue);text-shadow:0 0 6px rgba(9,132,227,.5)}.neon-orange{color:var(--neon-orange);text-shadow:0 0 6px rgba(255,118,117,.5)}.neon-green{color:var(--neon-green);text-shadow:0 0 6px rgba(0,184,148,.5)}.neon-gold{color:var(--neon-gold);text-shadow:0 0 6px rgba(241,196,15,.5)}.instrument-cluster{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#02060d;overflow:hidden}.instrument-box{background:#040d1a;border:1px solid var(--border-cyan);border-radius:4px;display:flex;flex-direction:column;overflow:hidden;position:relative}.instrument-header{height:26px;background:#071526;border-bottom:1px solid rgba(0,206,201,.2);display:flex;align-items:center;justify-content:space-between;padding:0 8px}.inst-tag{font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--neon-gold)}.inst-title{font-family:var(--font-hud);font-size:9px;letter-spacing:1px;color:#fff}.inst-status{font-family:var(--font-mono);font-size:8px;color:var(--neon-cyan)}.inst-rec{font-family:var(--font-mono);font-size:8px;font-weight:700;color:#ff4757;animation:blink-rec 1.5s infinite}@keyframes blink-rec{0%,to{opacity:1}50%{opacity:.3}}.canvas-wrap{flex:1;position:relative;overflow:hidden;background:#000}#radar-canvas,#camera-canvas{width:100%;height:100%;display:block}.helm-bottom-bar{height:120px;display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 12px;background:var(--bg-panel);border-top:1px solid var(--border-cyan)}.objectives-card{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.objectives-header{display:flex;align-items:center;gap:8px}.obj-title{font-family:var(--font-hud);font-size:10px;letter-spacing:1.5px;color:var(--neon-cyan)}.badge{font-family:var(--font-mono);font-size:9px;font-weight:700;padding:1px 6px;background:#00cec926;border:1px solid var(--neon-cyan);border-radius:3px;color:var(--neon-cyan)}.obj-list{list-style:none;display:flex;flex-direction:column;gap:3px;font-size:12px;color:#c7ecee}.obj-list li{display:flex;align-items:flex-start;gap:6px}.obj-list li:before{content:"▹";color:var(--neon-cyan)}.manual-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid rgba(0,206,201,.2);padding-left:12px}.dpad-label{font-family:var(--font-hud);font-size:8px;letter-spacing:1px;color:var(--text-dim);margin-bottom:3px}.dpad-grid{display:flex;flex-direction:column;align-items:center;gap:2px}.dpad-mid{display:flex;gap:2px}.dpad-btn{width:28px;height:26px;background:var(--bg-panel-sub);border:1px solid var(--border-cyan);color:var(--neon-cyan);border-radius:3px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center}.dpad-btn:active,.dpad-btn:hover{background:var(--neon-cyan);color:#000}.dpad-action-btn{width:44px;height:26px;background:#00cec933;border:1px solid var(--neon-cyan);color:#fff;font-family:var(--font-hud);font-size:8px;font-weight:700;border-radius:3px;cursor:pointer}.dpad-action-btn:active{background:var(--neon-cyan);color:#000}.terminal-panel{display:flex;flex-direction:column;background:#040b15;overflow:hidden}.editor-header{height:32px;background:#061424;border-bottom:1px solid var(--border-cyan);display:flex;align-items:center;justify-content:space-between;padding:0 10px}.editor-tabs{display:flex;gap:6px}.tab{font-family:var(--font-mono);font-size:10px;color:var(--neon-cyan);font-weight:600;letter-spacing:.5px}.editor-tools{display:flex;align-items:center;gap:10px}.editor-info-tag{font-family:var(--font-mono);font-size:10px;color:var(--neon-gold)}.btn-tiny{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-dim);font-family:var(--font-mono);font-size:8px;padding:1px 5px;border-radius:2px;cursor:pointer}.btn-tiny:hover{border-color:var(--neon-cyan);color:var(--neon-cyan)}.editor-container{flex:1;min-height:180px;position:relative;background:#02070e;overflow:hidden}.editor-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;display:flex}.editor-gutter{width:38px;background:#040c17;border-right:1px solid rgba(0,206,201,.15);overflow:hidden;-webkit-user-select:none;user-select:none;padding-top:6px}.gutter-num{height:20px;font-family:var(--font-mono);font-size:11px;line-height:20px;color:#3b5066;text-align:right;padding-right:6px}.gutter-num.active{color:var(--neon-cyan);font-weight:700;background:#00cec926}.gutter-num.error{color:#ff4757;font-weight:700;background:#ff475733}.editor-highlight-overlay{position:absolute;top:0;left:38px;right:0;bottom:0;pointer-events:none;overflow:hidden;padding-top:6px}.line-highlight-bar{position:absolute;left:0;right:0;background:#00cec933;border-left:3px solid var(--neon-cyan);display:flex;align-items:center;justify-content:flex-end;padding-right:14px}.step-indicator{font-family:var(--font-hud);font-size:8px;font-weight:700;color:var(--neon-cyan);letter-spacing:1px}#editor-textarea{flex:1;background:transparent;color:#dff9fb;font-family:var(--font-mono);font-size:12px;line-height:20px;border:none;outline:none;resize:none;padding:6px 10px;white-space:pre;-moz-tab-size:4;tab-size:4;overflow:auto}.specimen-deck{height:105px;background:var(--bg-panel);border-top:1px solid var(--border-cyan);border-bottom:1px solid var(--border-cyan);display:flex;flex-direction:column;padding:4px 10px;overflow:hidden}.specimen-deck-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.deck-title{font-family:var(--font-hud);font-size:9px;letter-spacing:1px;color:var(--neon-cyan)}.deck-count{font-family:var(--font-mono);font-size:9px;color:var(--neon-green);font-weight:600}.specimen-cards-row{flex:1;display:flex;gap:6px;overflow-x:auto;align-items:center;padding-bottom:2px}.empty-specimen-hint{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);font-style:italic}.specimen-card{min-width:170px;max-width:200px;background:#020710;border:1px solid var(--border-cyan);border-radius:3px;padding:4px 6px;display:flex;flex-direction:column;gap:2px}.sc-header{display:flex;align-items:center;gap:5px}.sc-icon{font-size:16px}.sc-name{font-family:var(--font-hud);font-size:9px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-sci{font-family:var(--font-mono);font-size:8px;color:var(--neon-cyan);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-depth{font-family:var(--font-mono);font-size:8px;color:var(--neon-gold)}.console-panel{height:110px;background:#010408;display:flex;flex-direction:column}.console-header{height:24px;background:#050f1c;border-bottom:1px solid rgba(0,206,201,.15);display:flex;align-items:center;justify-content:space-between;padding:0 8px}.console-title{font-family:var(--font-hud);font-size:8px;letter-spacing:1px;color:var(--text-dim)}.console-badge{font-family:var(--font-mono);font-size:8px;font-weight:700;padding:1px 5px;border-radius:2px;background:#00cec926;color:var(--neon-cyan)}.console-body{flex:1;font-family:var(--font-mono);font-size:10px;line-height:15px;padding:6px 8px;color:#81ecec;overflow-y:auto;white-space:pre-wrap;-webkit-user-select:text;user-select:text}.modal{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.hidden{display:none}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-dialog{position:relative;width:760px;max-width:90vw;max-height:85vh;background:var(--bg-panel);border:1px solid var(--neon-cyan);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:12px 16px;background:#081a2e;border-bottom:1px solid var(--border-cyan);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-family:var(--font-hud);font-size:14px;color:#fff;letter-spacing:1px}.modal-close{background:transparent;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;line-height:1}.modal-close:hover{color:#ff7675}.modal-tabs{display:flex;background:#05101c;border-bottom:1px solid rgba(0,206,201,.2)}.modal-tab-btn{flex:1;padding:8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-hud);font-size:10px;letter-spacing:1px;cursor:pointer}.modal-tab-btn.active{color:var(--neon-cyan);border-bottom-color:var(--neon-cyan);background:#00cec914}.modal-body{padding:16px 20px;overflow-y:auto;font-size:13px;line-height:1.5;color:#c7ecee}.modal-body.hidden{display:none}.modal-body h3{font-family:var(--font-hud);font-size:12px;color:var(--neon-cyan);margin:12px 0 6px}.modal-body h3:first-child{margin-top:0}.modal-body pre{background:#020710;border:1px solid rgba(0,206,201,.2);border-radius:4px;padding:8px 12px;margin:6px 0;overflow-x:auto}.modal-body code{font-family:var(--font-mono);font-size:11px;color:#55efc4}
