:root {
  --text-primary: #dbdee7;
  --text-secondary: #cbd5f5;
  --text-muted: #c2cad8;
  --text-disabled: #9ea5b2;
  --text-accent-blue: #3b82f6;
  --text-dark : #080f1a;
  --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-light-elements: #eef2f7;
  --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-button-outline: 1px solid #3b82f6;

  --shadow-dark: 0 20px 40px rgba(0, 0, 0, 0.35);
  
  --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);
  
  --standard-font: 'Space Grotesk', sans-serif;
  --evidence-font: 'Orbitron', sans-serif;
}

body {
  margin: 0;
  box-sizing: border-box;
  background: var(--bg-body);
  color: var(--text-primary);
  font-family: var(--standard-font);
}

button { 
  cursor: pointer;
}

.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;
}

.page-overlay {
  position: fixed;
  inset: 0;
  background: var(--bg-body);
  z-index: 9999;
  opacity: 1;
  pointer-events: all;
  transition: opacity .55s cubic-bezier(.4, 0, .2, 1);
}
.page-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}