:root {
  --site-bg: #050505;
  --ui-accent: #f59e0b;

  /* ── Frontend v2 — tokens semânticos (estrutura Stitch → cores atuais) ──
     Ver docs/FRONTEND_V2_PLAN.md §5. Primary = --ui-accent (dinâmico por perfil). */
  --bm-bg: #050505;              /* fundo geral (ops.black) */
  --bm-surface: #1A1A1A;         /* cards (armor.gray) */
  --bm-surface-2: #222224;       /* hover/elevado */
  --bm-surface-3: #2A2A2A;       /* highest (armor.light) */
  --bm-outline: #2A2A2C;         /* borda "cage" padrão */
  --bm-outline-strong: rgba(245, 158, 11, 0.5); /* foco/ativo (accent 50%) */
  --bm-primary: var(--ui-accent, #f59e0b); /* ação — herda accent dinâmico */
  --bm-on-primary: #050505;      /* texto sobre o accent */
  --bm-text: #e5e5e5;            /* on-surface */
  --bm-text-dim: #a1a1aa;        /* on-surface-variant */
  --bm-success: #00ff94;         /* vision.green */
  --bm-error: #ef4444;           /* critical */
  --bm-info: #00d4ff;            /* hud.blue / dataviz */
}

/* Logo recolorida no accent via mask (SVG monocromático → tint dinâmico). */
.bm-logo-mask {
  display: inline-block;
  background-color: var(--bm-primary);
  -webkit-mask: url(/brand/logo-bm.svg) center / contain no-repeat;
  mask: url(/brand/logo-bm.svg) center / contain no-repeat;
}
html, body {
  background-color: var(--site-bg);
  color: #e5e5e5;
  overflow-x: hidden;
  max-width: 100vw;
}
#root {
  overflow-x: hidden;
}

/* Scanline Effect */
.scanlines::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03));
  z-index: 999;
  background-size: 100% 2px, 3px 100%;
  pointer-events: none;
}

/* Tactical Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: var(--site-bg); 
}
::-webkit-scrollbar-thumb {
  background: #333; 
  border: 1px solid #1A1A1A;
}
::-webkit-scrollbar-thumb:hover {
  background: #FFB000; 
}

/* Clip Path for Tactical Buttons/Cards */
.clip-corner-br {
  clip-path: polygon(100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%, 0 0);
}
.clip-corner-tl {
  clip-path: polygon(15px 0, 100% 0, 100% 100%, 0 100%, 0 15px);
}
.clip-corner-both {
  clip-path: polygon(
    20px 0, 100% 0, 
    100% calc(100% - 20px), calc(100% - 20px) 100%, 
    0 100%, 0 20px
  );
}

/* Animations */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
.animate-blink {
  animation: blink 1s infinite;
}

@keyframes scan {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}
.scan-beam {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(0, 212, 255, 0.1), transparent);
  animation: scan 4s linear infinite;
  pointer-events: none;
}

/* Driver.js tutorial theme is in src/styles/tutorial-theme.css */
