:root{--bg-deep: #060a10;--bg-main: #0a0e16;--bg-surface: #0e1420;--bg-elevated: #141c2a;--text-primary: #d0d8e8;--text-secondary: #7080a0;--text-muted: #3a4a60;--amber: #d4943a;--amber-glow: rgba(212, 148, 58, .15);--teal: #2a9a8a;--teal-glow: rgba(42, 154, 138, .12);--red: #d44030;--red-glow: rgba(212, 64, 48, .12);--green: #3aba5a;--border-subtle: rgba(255,255,255,.06);--border-medium: rgba(255,255,255,.1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);font-family:DM Sans,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-size:128px 128px;opacity:.025;pointer-events:none;z-index:9999;mix-blend-mode:overlay}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:2px solid rgba(212,148,58,.65);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes missionPulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.08)}}@keyframes glowPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes wave{0%{height:4px}to{height:22px}}@keyframes fadeIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes commIncoming{0%{opacity:0;transform:translate(8px) scale(.98)}40%{opacity:1;transform:translate(0) scale(1.01)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes colonBlink{0%,to{opacity:1}50%{opacity:.3}}@keyframes scanLine{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}
