@charset "UTF-8";
/**
 * Design Tokens — 020-musictheory
 * Primary: #9333ea (electric purple)
 * Accent:  #ec4899 (hot pink)
 * Personality: Creative / Passionate / Harmonious
 * Theme: Premium music education — deep purples, electric pinks
 */

:root {
  /* ── Primary (electric purple) ── */
  --site-primary:        #9333ea;
  --site-primary-hover:  #7e22ce;
  --site-primary-dark:   #581c87;
  --site-primary-light:  #faf5ff;
  --site-primary-border: #e9d5ff;

  /* ── Accent (hot pink) ── */
  --site-accent:        #ec4899;
  --site-accent-hover:  #db2777;
  --site-accent-dark:   #9d174d;
  --site-accent-light:  #fdf2f8;
  --site-accent-border: #fbcfe8;

  /* ── Semantic (standard — never rebrand) ── */
  --site-success:        #22c55e;
  --site-success-hover:  #16a34a;
  --site-success-light:  #dcfce7;
  --site-success-border: #86efac;
  --site-warning:        #f59e0b;
  --site-warning-hover:  #d97706;
  --site-warning-light:  #fef3c7;
  --site-warning-border: #fcd34d;
  --site-error:          #ef4444;
  --site-error-hover:    #dc2626;
  --site-error-light:    #fee2e2;
  --site-error-border:   #fca5a5;

  /* ── Text ── */
  --site-text:           #1a0533;
  --site-text-secondary: #4b1070;
  --site-text-muted:     #6b7280;
  --site-text-light:     #4b5563;
  --site-text-inverse:   #ffffff;

  /* ── Backgrounds ── */
  --site-background:    #ffffff;
  --site-surface:       #fdf4ff;
  --site-surface-raised:#ffffff;
  --site-bg-alt:        #faf5ff;

  /* ── Borders ── */
  --site-border:       #f3e8ff;
  --site-border-light: #fdf4ff;
  --site-border-dark:  #e9d5ff;

  /* ── Music-domain tokens ── */
  --site-staff-line: #9333ea;
  --site-note:       #1a0533;
  --site-piano-black-key: #1e1b4b;
  --site-piano-white-key: #ffffff;
  --site-note-badge-bg:   #fdf2f8;
  --site-note-badge-text: #9d174d;

  /* ── Radius — Soft/Creative personality ── */
  --detail-border-radius: 16px;
  --radius-button: 12px;
  --radius-card:   16px;
  --radius-sm:     6px;
  --radius-md:     10px;
  --radius-lg:     16px;
  --radius-xl:     20px;
  --radius-full:   9999px;

  /* ── Spacing (8px base unit) ── */
  --spacing-2xs: 2px;
  --spacing-xs:  4px;
  --spacing-sm:  8px;
  --spacing-md:  16px;
  --spacing-lg:  24px;
  --spacing-xl:  32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;

  /* ── Shadows (purple-tinted brand shadows) ── */
  --shadow-sm:        0 1px 3px rgba(147,51,234,0.07);
  --shadow-md:        0 4px 8px rgba(147,51,234,0.10);
  --shadow-lg:        0 10px 20px rgba(147,51,234,0.12);
  --shadow-xl:        0 20px 32px rgba(147,51,234,0.15);
  --shadow-inner:     inset 0 2px 4px rgba(0,0,0,0.05);
  --shadow-none:      none;

  /* ── Transitions ── */
  --dur-fast:     150ms;
  --dur-normal:   250ms;
  --dur-slow:     400ms;
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out:     cubic-bezier(0, 0, 0.2, 1);
  --ease-bounce:  cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Typography ── */
  --font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:    system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'Roboto Mono', 'Courier New', monospace;

  /* ── Premium compound tokens ── */
  --shadow-card-hover: 0 12px 32px rgba(147,51,234,0.16), 0 4px 12px rgba(147,51,234,0.08);
  --shadow-btn-brand:  0 4px 16px rgba(147,51,234,0.30);
  --shadow-pink-glow:  0 4px 16px rgba(236,72,153,0.25);

  --gradient-primary:      linear-gradient(135deg, #9333ea 0%, #7e22ce 100%);
  --gradient-pink:         linear-gradient(135deg, #ec4899 0%, #db2777 100%);
  --gradient-music:        linear-gradient(135deg, #9333ea 0%, #c026d3 50%, #ec4899 100%);
  --gradient-hero-bg:      linear-gradient(160deg, #faf5ff 0%, #ffffff 40%, #fff0f6 100%);
  --gradient-hero-overlay: radial-gradient(ellipse 700px 500px at 85% 15%, rgba(147,51,234,0.08) 0%, transparent 65%),
                           radial-gradient(ellipse 400px 300px at 15% 80%, rgba(236,72,153,0.06) 0%, transparent 60%);
  --gradient-stat:         linear-gradient(135deg, #9333ea 0%, #7e22ce 60%, #581c87 100%);
  --gradient-note-badge:   linear-gradient(135deg, #fdf2f8 0%, #fce7f3 100%);
  --gradient-section-line: linear-gradient(90deg, #9333ea, #ec4899);
  --gradient-card-bottom:  linear-gradient(90deg, #9333ea, #ec4899);
}
