/* Hallmark · genre: playful · macrostructure: Ecosystem Index · theme: Hum
 * tone: playful · audience: phone-first casual players · use: pick a game and play
 * nav: N12 Banner + retract · footer: Ft8 Marquee
 * enrichment: E5 real phone captures + one live iframe (no fake device chrome)
 * knobs: N12 banner=solid-pear dismiss=yes bar=sticky · F6 density=rail card=portrait
 * fonts: IBM Plex Sans (project-locked, no Google request) · Fraunces outlier = game titles only
 * pre-emit critique: P4 H5 E4 S5 R4 V4
 */
:root {
  --color-paper:        oklch(97% 0.012 95);
  --color-paper-2:      oklch(94% 0.016 95);
  --color-paper-3:      oklch(91% 0.020 95);
  --color-band-pear:    oklch(93% 0.042 95);
  --color-band-cyan:    oklch(94% 0.028 235);
  --color-band-coral:   oklch(95% 0.028 18);
  --color-ink:          oklch(20% 0.012 250);
  --color-ink-2:        oklch(20% 0.012 250 / 0.72);
  --color-ink-3:        oklch(20% 0.012 250 / 0.52);
  --color-rule:         oklch(86% 0.022 95);
  --color-accent:       oklch(86% 0.18 95);
  --color-accent-deep:  oklch(72% 0.16 85);
  --color-accent-2:     oklch(66% 0.18 235);
  --color-accent-3:     oklch(68% 0.24 18);
  --color-mint:         oklch(80% 0.16 150);
  --color-lavender:     oklch(74% 0.16 305);
  --color-focus:        oklch(52% 0.16 235);
  --color-accent-ink:   oklch(20% 0.012 250);

  --tint-vcrush:        oklch(72% 0.16 8);
  --tint-v21:           oklch(44% 0.075 158);
  --tint-bag:           oklch(58% 0.10 70);

  --sweet-cherry: #FF2A5A;
  --sweet-lemon:  #FFD000;
  --sweet-mint:   #00D56A;
  --sweet-razz:   #2B7BFF;
  --sweet-grape:  #C44CFF;
  --sweet-toffee: #FF8A14;

  --glaze-celadon: #3FAE7A;
  --glaze-tenmoku: #3A2A22;
  --glaze-cobalt:  #2F5DA8;
  --glaze-shino:   #E08A2C;
  --glaze-copper:  #C4362C;
  --glaze-ash:     #8A9A78;

  --font-display: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-game:    "Fraunces", ui-serif, Georgia, serif;

  --text-xs:   0.75rem;
  --text-sm:   0.8125rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.953rem;
  --text-2xl:  2.441rem;
  --text-display:   clamp(2.1rem, 3.4vw + 1rem, 3.4rem);
  --text-display-s: clamp(1.6rem, 2.2vw + 0.8rem, 2.4rem);

  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  --page-gutter: clamp(1rem, 4vw, 2rem);
  --page-max: 72rem;
  --shell: var(--page-max);

  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-snap:   cubic-bezier(0.22, 1, 0.36, 1);
  --ease-press:  cubic-bezier(0.2, 0.7, 0.3, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  --radius-card: 20px;
  --radius-shot: 22px;
  --radius-pill: 999px;
  --radius-input: 12px;
  --radius-sm: 8px;

  --banner-h: 42px;
  --bar-h: 64px;

  --shadow-card: 0 2px 0 oklch(20% 0.012 250 / 0.04), 0 14px 32px -18px oklch(20% 0.012 250 / 0.16);
  --shadow-shot: 0 18px 40px -20px oklch(20% 0.012 250 / 0.28);

  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 500;
}
