/* ============================================
   Design Tokens — Canvas Studio
   ============================================ */

:root {
  /* ── Color: Background ── */
  --bg-primary: #1a1a2e;
  --bg-secondary: #16213e;
  --bg-tertiary: #0f0f1a;
  --bg-surface: rgba(255, 255, 255, 0.03);

  /* ── Color: Cards ── */
  --card-bg: #f5f0e8;
  --card-bg-hover: #fffaf3;
  --card-border: rgba(224, 122, 95, 0.15);

  /* ── Color: Text ── */
  --text-dark: #2d2d2d;
  --text-dark-muted: #5a5a5a;
  --text-light: #e8e0d4;
  --text-light-muted: rgba(232, 224, 212, 0.6);

  /* ── Color: Accent ── */
  --accent-coral: #e07a5f;
  --accent-coral-light: #f4a492;
  --accent-coral-dark: #c15a40;
  --accent-sage: #81b29a;
  --accent-sage-light: #a8d4bb;
  --accent-sage-dark: #5f9178;
  --accent-indigo: #3d405b;
  --accent-indigo-light: #5c5f7e;
  --accent-gold: #f2cc8f;
  --accent-gold-light: #f7ddb3;
  --accent-gold-dark: #d4a85a;

  /* ── Typography ── */
  --font-heading: 'Playfair Display', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* ── Font Sizes (fluid) ── */
  --fs-display: clamp(2.8rem, 5vw, 5rem);
  --fs-h1: clamp(2rem, 3.5vw, 3rem);
  --fs-h2: clamp(1.5rem, 2.5vw, 2rem);
  --fs-h3: clamp(1.15rem, 1.8vw, 1.5rem);
  --fs-h4: clamp(1rem, 1.3vw, 1.2rem);
  --fs-body: clamp(0.9rem, 1.1vw, 1.05rem);
  --fs-small: clamp(0.78rem, 0.9vw, 0.88rem);
  --fs-xs: 0.75rem;

  /* ── Font Weights ── */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 900;

  /* ── Spacing ── */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* ── Border Radius ── */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.18);
  --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.24);
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.06);
  --shadow-card-hover: 0 8px 30px rgba(0, 0, 0, 0.15);

  /* ── Transitions ── */
  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out: cubic-bezier(0.42, 0, 0.58, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 0.15s;
  --duration-normal: 0.3s;
  --duration-slow: 0.5s;

  /* ── Z-Index ── */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-navbar: 500;
  --z-modal: 1000;
  --z-toast: 1500;

  /* ── Layout ── */
  --container-max: 1200px;
  --container-narrow: 800px;
  --navbar-height: 72px;

  /* ── Canvas Texture ── */
  --canvas-dot-color: rgba(255, 255, 255, 0.03);
  --canvas-dot-size: 1px;
  --canvas-dot-spacing: 24px;
}
