/*
 * OpenDesign Design Tokens: The Gift Shop Alley & Aisle Promenade
 * Standard: OKLCH Color Space, APCA 90+ Contrast, Critically Damped Spring Physics
 * Zero Emojis | Strict Zero-Slop Execution
 */

:root {
  /* Surfaces & Backgrounds */
  --bg-void: oklch(0.08 0.01 150);
  --bg-surface: oklch(0.12 0.015 150);
  --bg-surface-hover: oklch(0.16 0.02 150);
  --bg-surface-active: oklch(0.19 0.025 150);
  --bg-shelf: oklch(0.10 0.012 150);

  /* Optical Borders & Dividers */
  --border-subtle: oklch(0.22 0.02 150 / 0.45);
  --border-prominent: oklch(0.35 0.03 150 / 0.65);
  --border-accent: oklch(0.55 0.16 150 / 0.85);

  /* Typography Palette */
  --text-primary: oklch(0.96 0.02 140);   /* Mint Glow (#E9FAE6) */
  --text-secondary: oklch(0.72 0.03 140); /* Muted mint ash */
  --text-tertiary: oklch(0.50 0.02 140);  /* Subdued metadata */
  --text-accent: oklch(0.68 0.16 150);    /* Vibrant mint emerald */

  /* Semantic Accents */
  --accent-emerald: oklch(0.54 0.16 150); /* #11845C Canonical Emerald */
  --accent-emerald-glow: oklch(0.54 0.16 150 / 0.18);
  --accent-cyan: oklch(0.68 0.14 200);    /* Acoustic formant marker */
  --accent-amber: oklch(0.70 0.16 75);    /* Telemetry highlight */

  /* Typography & Measures */
  --font-display: 'Syne', 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'Satoshi', 'General Sans', system-ui, sans-serif;
  --font-mono: 'Space Mono', 'JetBrains Mono', monospace;

  /* Spatial Scale (8-point grid) */
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  /* Kinetic Timing & Spring Curves */
  --spring-micro: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-instant: 120ms;
  --duration-micro: 200ms;
  --duration-card: 280ms;
  --duration-modal: 340ms;

  /* Physical Shadow Models */
  --shadow-shelf: inset 0 1px 0 0 rgba(255, 255, 255, 0.08), 0 8px 32px -8px rgba(0, 0, 0, 0.85);
  --shadow-elevated: 0 16px 48px -12px rgba(0, 0, 0, 0.9);
}

/* Reduced Motion Safety Gate */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 0ms;
    --duration-micro: 0ms;
    --duration-card: 100ms;
    --duration-modal: 120ms;
  }
}
