:root {
  --surface-tint: #1e3a8a;
  --primary: #1e3a8a;
  --primary-dim: #1e3070;
  --primary-container: #dbeafe;
  --secondary: #065f46;
  --secondary-dim: #064e3b;
  --secondary-container: #d1fae5;
  --tertiary: #92400e;
  --tertiary-dim: #78350f;
  --tertiary-container: #fef3c7;
  --on-primary: #f0f5ff;
  --on-primary-container: #1e2d5a;
  --on-secondary: #f0fdf9;
  --on-secondary-container: #022c22;
  --on-tertiary: #fff8f0;
  --on-tertiary-container: #451a03;
  --inverse-primary: #93c5fd;
  --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dim));
  --gradient-hero: linear-gradient(135deg, rgba(30, 58, 138, 0.10), rgba(30, 48, 112, 0.04));
}

body {
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.06), rgba(209, 250, 229, 0.04)), var(--surface);
}

body::before {
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.65), transparent 20%),
    radial-gradient(circle at 80% 0%, rgba(30, 58, 138, 0.06), transparent 28%),
    repeating-linear-gradient(0deg, rgba(45, 52, 51, 0.015) 0, rgba(45, 52, 51, 0.015) 1px, transparent 1px, transparent 5px);
}

::selection {
  background: rgba(30, 58, 138, 0.15);
  color: var(--on-surface);
}

@media (prefers-color-scheme: dark) {
  :root {
    --surface-tint: #93c5fd;
    --primary: #93c5fd;
    --primary-dim: #60a5fa;
    --primary-container: #1e3a8a;
    --secondary: #6ee7b7;
    --secondary-dim: #34d399;
    --secondary-container: #064e3b;
    --tertiary: #fcd34d;
    --tertiary-dim: #fbbf24;
    --tertiary-container: #78350f;
    --on-primary: #0c1a3d;
    --on-primary-container: #bfdbfe;
    --on-secondary: #00201a;
    --on-secondary-container: #a7f3d0;
    --on-tertiary: #2d1600;
    --on-tertiary-container: #fde68a;
    --inverse-primary: #1e3a8a;
    --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dim));
    --gradient-hero: linear-gradient(135deg, rgba(147, 197, 253, 0.12), rgba(96, 165, 250, 0.05));
  }
}

html.dark-mode {
  --surface-tint: #93c5fd;
  --primary: #93c5fd;
  --primary-dim: #60a5fa;
  --primary-container: #1e3a8a;
  --secondary: #6ee7b7;
  --secondary-dim: #34d399;
  --secondary-container: #064e3b;
  --tertiary: #fcd34d;
  --tertiary-dim: #fbbf24;
  --tertiary-container: #78350f;
  --on-primary: #0c1a3d;
  --on-primary-container: #bfdbfe;
  --on-secondary: #00201a;
  --on-secondary-container: #a7f3d0;
  --on-tertiary: #2d1600;
  --on-tertiary-container: #fde68a;
  --inverse-primary: #1e3a8a;
  --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dim));
  --gradient-hero: linear-gradient(135deg, rgba(147, 197, 253, 0.12), rgba(96, 165, 250, 0.05));
}

html.dark-mode body {
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.25), rgba(6, 78, 59, 0.10)), var(--surface);
}
