:root{--bg-primary: #050510;--bg-secondary: #0a0a1a;--bg-tertiary: #0f0f2a;--bg-card: rgba(10, 10, 30, .85);--neon-cyan: #00fff5;--neon-magenta: #ff00ea;--neon-green: #39ff14;--neon-amber: #ffae00;--neon-red: #ff003c;--neon-purple: #b026ff;--neon-blue: #0080ff;--text-primary: #e0e0e8;--text-secondary: #8888aa;--text-dim: #555570;--border-dim: rgba(0, 255, 245, .12);--border-active: rgba(0, 255, 245, .35);--glass-bg: rgba(10, 10, 30, .7);--glass-border: rgba(0, 255, 245, .15);--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-display: "Orbitron", sans-serif;--sidebar-width: 72px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-mono);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00fff533;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00fff566}.glass-hard{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.glass-soft{background:#0a0a1e73;border:1px solid rgba(0,255,245,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.neon-border-cyan{border:1px solid var(--neon-cyan);box-shadow:0 0 8px #00fff526,inset 0 0 8px #00fff50d}.neon-border-magenta{border:1px solid var(--neon-magenta);box-shadow:0 0 8px #ff00ea26,inset 0 0 8px #ff00ea0d}.neon-border-green{border:1px solid var(--neon-green);box-shadow:0 0 8px #39ff1426,inset 0 0 8px #39ff140d}.neon-text-cyan{color:var(--neon-cyan);text-shadow:0 0 8px rgba(0,255,245,.5)}.neon-text-magenta{color:var(--neon-magenta);text-shadow:0 0 8px rgba(255,0,234,.5)}.neon-text-green{color:var(--neon-green);text-shadow:0 0 8px rgba(57,255,20,.5)}.label-military{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary)}.label-display{font-family:var(--font-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.btn-neon{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:8px 16px;border:1px solid var(--neon-cyan);background:#00fff50f;color:var(--neon-cyan);cursor:pointer;transition:all .2s ease}.btn-neon:hover{background:#00fff526;box-shadow:0 0 20px #00fff533}.btn-neon.magenta{border-color:var(--neon-magenta);background:#ff00ea0f;color:var(--neon-magenta)}.btn-neon.magenta:hover{background:#ff00ea26;box-shadow:0 0 20px #ff00ea33}.btn-neon.green{border-color:var(--neon-green);background:#39ff140f;color:var(--neon-green)}.btn-neon.green:hover{background:#39ff1426;box-shadow:0 0 20px #39ff1433}.tag{display:inline-block;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:3px 8px;border-radius:2px}.tag-ufo{background:#0080ff26;color:var(--neon-blue);border:1px solid rgba(0,128,255,.3)}.tag-underground{background:#ffae0026;color:var(--neon-amber);border:1px solid rgba(255,174,0,.3)}.tag-radiation{background:#39ff1426;color:var(--neon-green);border:1px solid rgba(57,255,20,.3)}.tag-cattle{background:#ff003c26;color:var(--neon-red);border:1px solid rgba(255,0,60,.3)}.tag-portal{background:#b026ff26;color:var(--neon-purple);border:1px solid rgba(176,38,255,.3)}.tag-mesa{background:#00fff526;color:var(--neon-cyan);border:1px solid rgba(0,255,245,.3)}.tag-hitchhiker{background:#ff00ea26;color:var(--neon-magenta);border:1px solid rgba(255,0,234,.3)}.tag-history{background:#8888aa26;color:var(--text-secondary);border:1px solid rgba(136,136,170,.3)}@keyframes pulse-cyan{0%,to{opacity:1}50%{opacity:.5}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.animate-pulse-cyan{animation:pulse-cyan 2s ease-in-out infinite}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.status-dot.active{background:var(--neon-green);box-shadow:0 0 6px var(--neon-green)}.status-dot.pending{background:var(--neon-amber);box-shadow:0 0 6px var(--neon-amber)}.status-dot.idle{background:var(--text-dim)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}
