/* The Sea Pagoda Shadow - locked design tokens
 * Genre: atmospheric · custom dark-ember palette (tuned, not catalog)
 * All colour in OKLCH; every value referenced by name from base.css.
 */

:root {
  /* ---- paper (dark band, L < 30%) ---- */
  --color-paper:   oklch(20% 0.018 60);   /* warm near-black charcoal */
  --color-paper-2: oklch(25% 0.022 62);   /* elevated panel */
  --color-paper-3: oklch(30% 0.028 66);   /* raised / hover */
  --color-ink:     oklch(93% 0.008 75);   /* primary text, warm off-white */
  --color-ink-2:   oklch(74% 0.012 70);   /* secondary text */
  --color-ink-3:   oklch(56% 0.012 68);   /* meta / faint */

  /* ---- accent - ember amber (warm hue only) ---- */
  --color-accent:      oklch(72% 0.150 56);  /* ember glow */
  --color-accent-2:    oklch(63% 0.170 28);  /* ember-red, play control only */
  --color-accent-soft: oklch(72% 0.150 56 / 0.14);
  --color-accent-strong: oklch(64% 0.165 44);  /* deeper ember for hover/press */
  --color-ink-invert: oklch(14% 0.01 60);  /* near-black warm, for text on accent fills */

  /* ---- rules / scrim ---- */
  --color-rule:        oklch(100% 0 0 / 0.10);
  --color-rule-strong: oklch(100% 0 0 / 0.18);
  --color-success: oklch(70% 0.12 150);
  --color-video-bg: #000;

  /* ---- scrim / overlay layers (named so base.css never inlines oklch) ---- */
  --scrim-nav:     oklch(13% 0.02 60 / 0.72);
  --scrim-hero-1:  oklch(13% 0.02 60 / 0.92);  /* hero bottom, near-opaque */
  --scrim-hero-2:  oklch(13% 0.02 60 / 0.35);  /* hero mid */
  --scrim-hero-3:  oklch(13% 0.02 60 / 0.55);  /* hero left edge */
  --modal-back:    oklch(8% 0.02 60 / 0.86);

  /* ---- fonts ---- */
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body:    "Switzer", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  /* ---- spacing (4pt scale) ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;

  /* ---- type scale ---- */
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.375rem;
  --text-2xl:  1.75rem;
  --text-3xl:  2.25rem;
  --text-4xl:  clamp(2rem, 3.5vw + 1rem, 3.25rem);
  --text-display:    clamp(2.6rem, 7vw + 1rem, 6rem);
  --text-display-s:  clamp(2rem, 4vw + 1rem, 3.25rem);

  /* ---- easing ---- */
  --ease-out:   cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in:    cubic-bezier(0.32, 0, 0.67, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* ---- duration ---- */
  --dur-fast: 160ms;
  --dur:      240ms;
  --dur-slow: 640ms;

  /* ---- radius ---- */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-pill: 999px;

  /* ---- layout ---- */
  --page-gutter: clamp(1.25rem, 5vw, 4rem);
  --maxw:        72rem;
  --maxw-wide:   88rem;

  /* ---- shadow ---- */
  --shadow-overlay: 0 1px 2px oklch(0% 0 0 / 0.5), 0 10px 40px oklch(0% 0 0 / 0.55);
  --shadow-card:    0 18px 50px oklch(0% 0 0 / 0.45);
}
