/* ============================================================================
   SCOLIOSY · ARCADE STORIES — design tokens  v2
   Retro arcade cabinet (Daytona / Sega Rally / Metal Slug / Neo Geo)
   × premium fashion lookbook. Light editorial base, chunky outlined HUD.
   Effect intensity is driven by --fx (0..1) from the Tweaks panel.
   ============================================================================ */
:root {
  /* ---- effect intensity (0..1) ----------------------------------------- */
  --fx: 0.6;

  /* ---- editorial paper surfaces ---------------------------------------- */
  --paper:   #eaeef3;   /* page base — very light grey, cool blue tint       */
  --paper-2: #e0e5ec;
  --card:    #ffffff;   /* panels / bright tile cell                          */
  --line:    #ccd3dd;

  /* ---- ink ------------------------------------------------------------- */
  --ink:        #1d2030;  /* near-black, slight cool                          */
  --ink-strong: #14151d;  /* outlines / cabinet borders                       */
  --ink-dim:    #6a7184;
  --ink-mut:    #98a0b0;

  /* ---- arcade accent palette (flat, bold, high-contrast) --------------- */
  --arc-yellow: #FDFD96;
  /* score pop, combo, selected halo, level dots, buttons… */
  --arc-gold:   #f7a400;
  --arc-orange: #ff7a18;
  --arc-red:    #ffc5d3;
  /* selected border, fever number, outfit tile… */
  --arc-blue:   #1f6fff;
  /* one sparkle dot, goal bar… */
  --arc-cyan:   #16c0e6;
  --arc-green:  #21c46a;

  /* ---- collection swatches (board frame per level) — source of truth ---- */
  --sw-1: #f6f4ef;   /* L1 · FW24 Holiday Capsule  — warm off-white          */
  --sw-2: #faf9c3;   /* L2 · SS25 Multi-Faceted    — pale yellow             */
  --sw-3: #aca19b;   /* L3 · Resort '25            — dusty greige            */
  --sw-4: #1f2b43;   /* L4 · Royal Fatigue         — deep navy               */
  --sw-5: #caeff8;   /* L5+· Full mix              — pastel winter blue       */

  /* ---- type ------------------------------------------------------------ */
  --font-arcade:  'Press Start 2P', monospace;          /* HUD / score / combo */
  --font-display: 'Archivo', system-ui, sans-serif;     /* headings / buttons  */
  --font-body:    'Archivo', system-ui, sans-serif;     /* editorial copy      */

  /* ---- radius (chunky, not soft) --------------------------------------- */
  --radius-xl: 18px;
  --radius-lg: 14px;
  --radius-md: 10px;
  --radius-sm: 6px;

  /* ---- spacing --------------------------------------------------------- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px;
  --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-8: 48px;

  /* ---- board sizing ---------------------------------------------------- */
  --board-cell: 64px;
  --board-gap: 6px;

  --ease-soft: cubic-bezier(.4,.7,.3,1);
  --ease-pop:  cubic-bezier(.2,1.7,.35,1);

  /* ---- cabinet hard shadow (offset, no blur) --------------------------- */
  --cab-shadow: 4px 4px 0 var(--ink-strong);
  --cab-shadow-sm: 3px 3px 0 var(--ink-strong);
}

/* Hard pixel outline utility for arcade text (black halo, no blur). */
.px-outline {
  text-shadow:
    -2px -2px 0 var(--ink-strong), 2px -2px 0 var(--ink-strong),
    -2px  2px 0 var(--ink-strong), 2px  2px 0 var(--ink-strong),
     0   -2px 0 var(--ink-strong), 0    2px 0 var(--ink-strong),
    -2px  0   0 var(--ink-strong), 2px  0   0 var(--ink-strong),
     0    4px 0 rgba(0,0,0,0.25);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
