:root {
  --surface-tint: #4a5270;

  --primary: #4a5270;
  --primary-dim: #383f58;
  --primary-container: #d0d4e8;
  --secondary: #5a4e6e;
  --secondary-dim: #473c58;
  --secondary-container: #ddd4ec;
  --tertiary: #3d6068;
  --tertiary-dim: #2e4a52;
  --tertiary-container: #c8dce0;

  --on-primary: #f5f6fb;
  --on-primary-container: #141828;
  --on-secondary: #faf5ff;
  --on-secondary-container: #1e1428;
  --on-tertiary: #f4f9fb;
  --on-tertiary-container: #0e2028;
  --inverse-primary: #a8b0d0;

  --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dim));
  --gradient-hero: linear-gradient(135deg, rgba(74, 82, 112, 0.12), rgba(56, 63, 88, 0.05));
}

body {
  background: linear-gradient(135deg, rgba(74, 82, 112, 0.07), rgba(90, 78, 110, 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(74, 82, 112, 0.07), 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(74, 82, 112, 0.16);
  color: var(--on-surface);
}

@media (prefers-color-scheme: dark) {
  :root {
    --surface-tint: #a8b0d0;
    --primary: #a8b0d0;
    --primary-dim: #8090b8;
    --primary-container: #2a3050;
    --secondary: #c0a8d8;
    --secondary-dim: #a080c0;
    --secondary-container: #38284e;
    --tertiary: #90bcc8;
    --tertiary-dim: #6898a8;
    --tertiary-container: #1c3840;
    --on-primary: #141828;
    --on-primary-container: #d8ddf0;
    --on-secondary: #1e1428;
    --on-secondary-container: #ead8f8;
    --on-tertiary: #0e2028;
    --on-tertiary-container: #c8e8f0;
    --inverse-primary: #4a5270;
    --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dim));
    --gradient-hero: linear-gradient(135deg, rgba(168, 176, 208, 0.14), rgba(128, 144, 184, 0.06));
  }
}

html.dark-mode {
  --surface-tint: #a8b0d0;
  --primary: #a8b0d0;
  --primary-dim: #8090b8;
  --primary-container: #2a3050;
  --secondary: #c0a8d8;
  --secondary-dim: #a080c0;
  --secondary-container: #38284e;
  --tertiary: #90bcc8;
  --tertiary-dim: #6898a8;
  --tertiary-container: #1c3840;
  --on-primary: #141828;
  --on-primary-container: #d8ddf0;
  --on-secondary: #1e1428;
  --on-secondary-container: #ead8f8;
  --on-tertiary: #0e2028;
  --on-tertiary-container: #c8e8f0;
  --inverse-primary: #4a5270;
  --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dim));
  --gradient-hero: linear-gradient(135deg, rgba(168, 176, 208, 0.14), rgba(128, 144, 184, 0.06));
}

html.dark-mode body {
  background: linear-gradient(135deg, rgba(42, 48, 80, 0.28), rgba(56, 40, 78, 0.14)), var(--surface);
}
