:root {
  /* Surfaces — lifted indigo, more luminous, still readable with white text */
  --bg: #1a2058;
  --bg-2: #1f2767;
  --panel: #2a3479;
  --panel-2: #35408e;
  --panel-3: #4250a5;
  --border: #525cb8;
  --border-strong: #6975d4;

  /* Text — brighter, with cooler highlight tones */
  --text: #f6f8ff;
  --text-dim: #d4dafb;
  --muted: #9aa5d8;
  --faint: #6d77b8;

  /* Brand — neon electric: magenta + cyan + lime */
  --accent: #d946ef;          /* electric magenta */
  --accent-2: #22d3ee;        /* bright cyan */
  --accent-3: #facc15;        /* solar yellow */
  --accent-glow:   rgba(217, 70, 239, 0.55);
  --accent-glow-2: rgba(34, 211, 238, 0.5);

  /* Semantic — punched up for higher visibility on bright base */
  --good: #4ade80;
  --warn: #fde047;
  --bad: #fb7185;

  /* Stage colors — maximum distinguishability, neon palette */
  --c-pre: #c7d2fe;
  --c-action: #fb923c;        /* bright orange */
  --c-decision: #2dd4bf;      /* teal */
  --c-topic: #a855f7;         /* royal purple */
  --c-sentiment: #f43f5e;     /* hot rose */
  --c-summary: #38bdf8;       /* sky blue */
  --c-validation: #4ade80;    /* lime */

  /* Radii / shadows */
  --r-sm: 6px;
  --r: 10px;
  --r-lg: 14px;
  --shadow-1: 0 4px 20px rgba(0, 0, 0, 0.3);
  --shadow-glow: 0 0 24px var(--accent-glow);

  /* Fonts */
  --font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body {
  margin: 0; padding: 0;
  color: var(--text);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.5;
}
body {
  /* Layered gradients give the brighter base a sense of depth + ambient color */
  background:
    radial-gradient(1100px 600px at 12% -10%, rgba(217, 70, 239, 0.18), transparent 60%),
    radial-gradient(900px 500px at 92% 18%, rgba(34, 211, 238, 0.16), transparent 60%),
    radial-gradient(1000px 700px at 50% 110%, rgba(250, 204, 21, 0.10), transparent 60%),
    var(--bg);
  background-attachment: fixed;
  min-height: 100vh;
}

a { color: inherit; }
button { font: inherit; }
code { font-family: var(--mono); font-size: 0.9em; color: var(--accent); }
::selection { background: var(--accent); color: white; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--panel-3); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--border-strong); }

/* Utility */
.hidden { display: none !important; }
.faint { color: var(--muted); }
.mono { font-family: var(--mono); }
