:root{--color-bg: #0a0e17;--color-surface: #111827;--color-surface-light: #1f2937;--color-primary: #3b82f6;--color-primary-dim: #2563eb;--color-primary-glow: rgba(59, 130, 246, .3);--color-secondary: #8b5cf6;--color-success: #10b981;--color-success-dim: rgba(16, 185, 129, .2);--color-warning: #f59e0b;--color-warning-dim: rgba(245, 158, 11, .2);--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .2);--color-text: #e2e8f0;--color-text-secondary: #94a3b8;--color-text-dim: #64748b;--color-border: rgba(255, 255, 255, .06);--color-border-light: rgba(255, 255, 255, .12);--glass-bg: rgba(17, 24, 39, .85);--glass-bg-light: rgba(31, 41, 55, .7);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--text-xs: 10px;--text-sm: 12px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 28px;--text-3xl: 36px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-primary-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-hud: 10;--z-panel: 20;--z-modal: 30;--z-overlay: 40}.panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);color:var(--color-text);font-family:var(--font-sans)}.panel-header{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-dim);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text);background:var(--glass-bg-light);cursor:pointer;transition:all var(--transition-fast);outline:none;-webkit-user-select:none;user-select:none}.btn:hover{background:#ffffff1a;border-color:#fff3}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.btn-primary:hover{background:var(--color-primary-dim);box-shadow:var(--shadow-glow)}.btn-danger{background:#ef444426;border-color:#ef44444d;color:var(--color-danger)}.btn-danger:hover{background:#ef444440}.btn-success{background:#10b98126;border-color:#10b9814d;color:var(--color-success)}.btn-success:hover{background:#10b98140}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:#ffffff0d}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-md)}.slider-group{display:flex;flex-direction:column;gap:var(--space-1)}.slider-label{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-sans)}.slider-value{font-family:var(--font-mono);color:var(--color-primary)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--color-surface-light);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg);box-shadow:0 0 6px var(--color-primary-glow);cursor:pointer;transition:transform var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.data-readout{display:flex;flex-direction:column;gap:2px}.data-readout .data-label{font-size:var(--text-xs);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-sans)}.data-readout .data-value{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text);line-height:1}.data-value.highlight{color:var(--color-primary)}.data-value.success{color:var(--color-success)}.data-value.warning{color:var(--color-warning)}.data-value.danger{color:var(--color-danger)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px}.badge-nominal{background:var(--color-success-dim);color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.badge-warning{background:var(--color-warning-dim);color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.badge-critical{background:var(--color-danger-dim);color:var(--color-danger);border:1px solid rgba(239,68,68,.3)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.divider{height:1px;background:var(--color-border);margin:var(--space-3) 0}.progress-bar{height:4px;background:var(--color-surface-light);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width var(--transition-normal)}.progress-bar-fill.success{background:var(--color-success)}.progress-bar-fill.danger{background:var(--color-danger)}.objective-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.objective-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-text-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-normal)}.objective-check.completed{border-color:var(--color-success);background:var(--color-success)}.objective-check.completed:after{content:"";width:6px;height:6px;border-radius:50%;background:#fff}.objective-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.objective-text.completed{color:var(--color-success)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary-glow)}50%{box-shadow:0 0 20px var(--color-primary-glow)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-slide-up{animation:slideUp var(--transition-slow) ease forwards}.animate-slide-down{animation:slideDown var(--transition-slow) ease forwards}.animate-slide-right{animation:slideInRight var(--transition-slow) ease forwards}.animate-slide-left{animation:slideInLeft var(--transition-slow) ease forwards}.animate-scale-in{animation:scaleIn var(--transition-slow) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}
