/* ═══════════════════════════════════════════════════════
   CSS Variables — Theme System
   ═══════════════════════════════════════════════════════ */
:root {
  /* Colors */
  --bg-primary:    #0a0a0a;
  --bg-secondary:  #121212;
  --bg-tertiary:   #181818;
  --bg-elevated:   #1e1e1e;
  --bg-hover:      #2a2a2a;
  --bg-active:     #333333;
  --bg-overlay:    rgba(0, 0, 0, 0.85);

  --text-primary:   #ffffff;
  --text-secondary: #b3b3b3;
  --text-muted:     #6a6a6a;

  --accent:         #1db954;
  --accent-hover:   #1ed760;
  --accent-dim:     rgba(29, 185, 84, 0.15);
  --danger:         #e22134;
  --warning:        #f59e0b;

  --border:         #282828;
  --border-light:   #333333;

  /* Typography */
  --font-sans:      -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono:      "SF Mono", "Fira Code", "Consolas", monospace;

  --text-xs:        0.6875rem;   /* 11px */
  --text-sm:        0.8125rem;   /* 13px */
  --text-base:      0.875rem;    /* 14px */
  --text-md:        1rem;        /* 16px */
  --text-lg:        1.125rem;    /* 18px */
  --text-xl:        1.5rem;      /* 24px */
  --text-2xl:       2rem;        /* 32px */
  --text-3xl:       3rem;        /* 48px */

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  /* Sizing */
  --sidebar-width: 240px;
  --playlist-width: 480px;
  --now-playing-width: 360px;
  --top-bar-height: 64px;
  --player-bar-height: 80px;

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 350ms ease;
  --transition-spring: 350ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.6);

  /* Z-index */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-player-bar: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-full-player: 600;

  /* Player bar progress */
  --player-progress-height: 3px;
  --mini-progress-height: 2px;

  /* Safe areas (iOS) */
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
}
