/* ── Design tokens ── */
:root {
  color-scheme: dark;

  /* Surfaces */
  --bg:            #0b0f12;
  --bg-2:          #0f1418;
  --panel:         #131a1f;
  --panel-2:       #182026;
  --panel-3:       #1d262d;
  --border:        #232c34;
  --border-strong: #2e3942;

  /* Text */
  --fg:      #e8ecf0;
  --fg-2:    #c2c9d1;
  --muted:   #8a939c;
  --muted-2: #5d666e;

  /* Stem colours */
  --vocals: #ef4444;
  --drums:  #f97316;
  --bass:   #eab308;
  --guitar: #22c55e;
  --piano:  #a855f7;
  --other:  #9ca3af;

  /* Accent */
  --accent:   #f4b740;
  --accent-2: #d99a2b;

  /* Legacy compat aliases used by waves.css / player.js */
  --gold:        var(--accent);
  --gold-bright: #f8c054;
  --gold-soft:   rgba(244,183,64,0.16);
  --gold-line:   rgba(244,183,64,0.28);
  --ink:         var(--fg);
  --ink-dim:     var(--fg-2);
  --ink-faint:   var(--muted);
  --line:        var(--border);
  --line-strong: var(--border-strong);
  --glass-line:  var(--border);
  --danger:      #d65a4a;
  --focus-ring:  rgba(236,236,236,0.55);

  /* Typography */
  --font-sans: 'Inter', -apple-system, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* Layout */
  --header-w: 300px;
  --lane-h:   86px;
  --radius:   10px;
  --radius-sm: 8px;
  --radius-xs: 6px;

  /* Motion */
  --t-fast: 80ms;
  --t-base: 120ms;
  --easing: cubic-bezier(0.2,0.8,0.2,1);
  --shadow-panel: 0 4px 24px rgba(0,0,0,0.4);
}

@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 0ms; --t-base: 0ms; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
