:root {
  --text-primary: #dbdee7;
  --text-secondary: #cbd5f5;
  --text-muted: #c2cad8;
  --text-disabled: #9ea5b2;
  --text-accent-blue: #3b82f6;
  --text-success: green;
  --text-error: rgb(239,68,68);

  --bg-body: #0b1220;
  --bg-standard-elements: #14243a;
  --bg-standard-elements-hover: #172a45; 
  --bg-dark-elements: #080f1a;
  --bg-hero: radial-gradient(circle at top left, #0a1a3a, #050b18);
  --bg-hero-card: rgba(255,255,255,0.01);
  --bg-content-card: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.05), transparent 60%), linear-gradient(145deg,rgba(255,255,255,0.03),rgba(0,0,0,0.25));
  --bg-button-outline-on: rgba(59,130,246,0.1);

  --border-standard: 1px solid rgba(255,255,255,0.05);
  --border-card-blue: 1px solid rgba(59, 130, 246, 0.4);
  --border-button-outline: 1px solid #3b82f6;
  --border-field-error: 1px solid rgba(239,68,68,0.6);

  --shadow-dark: 0 20px 40px rgba(0, 0, 0, 0.35);
  --shadow-light: 0 0 20px rgba(255, 255, 255, 0.35);
  --shadow-hero-card: 0 0 15px rgba(59, 130, 246, 0.4),
                      0 0 40px rgba(59, 130, 246, 0.2),
                      0 0 80px rgba(59, 130, 246, 0.1);
  --shadow-blue-off: 0 0 0 1px rgba(59,130,246,0.2), 
                     0 4px 12px rgba(59,130,246,0.15);
  --shadow-blue-on: 0 0 0 1px rgba(59,130,246,0.4),
                    0 8px 20px rgba(59,130,246,0.25);
  --shadow-marker-blue: 0 0 6px rgba(59,130,246,0.8),
                         0 0 12px rgba(59,130,246,0.4);
  --shadow-red-on: 0 0 0 1px rgba(239,68,68,0.4),
                    0 8px 20px rgba(239,68,68,0.25);

  --image-filter: brightness(0.92) contrast(1.05);
  
  --standard-font: 'Space Grotesk', sans-serif;
  --evidence-font: 'Orbitron', sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bg-body);
    color: var(--text-primary);
    font-family: var(--standard-font);
}

.overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(6px);
}

.hidden {
  display: none;
}

.field-error {
  border-bottom: var(--border-field-error) !important;
  box-shadow: var(--shadow-red-on) !important;
}

.field-label-error {
  color: var(--text-error) !important;
}

video:fullscreen,
video:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  object-fit: contain !important;
  background: #000;
}