/* ==========================================================================
   Pyramid Stream — Design tokens
   Ported verbatim from project/_ds/.../tokens/*.css (Claude Design export).
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Barlow+Condensed:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&display=swap");

:root{
color-scheme: dark;

/* ── Base: ink (the void the brand sits on) ───────────────── */
--ink-1000:#000000;--ink-950:#050508;--ink-900:#0A0A0E;--ink-850:#101015;--ink-800:#16171E;--ink-700:#1E2029;--ink-600:#2A2C37;--ink-500:#3A3D4A;--ink-400:#565A6B;
/* ── Base: gold (the mark, all primary action) ────────────── */
--gold-050:#FBF3DE;--gold-100:#F4E4BC;--gold-200:#EBD39B;--gold-300:#E0BE76;--gold-400:#D2A855;--gold-500:#C9A24A;--gold-600:#AD8232;--gold-700:#87611F;--gold-800:#5C4114;--gold-900:#33240B;
/* ── Base: stone / neutral warm greys (text on ink) ───────── */
--stone-050:#F6F4EF;--stone-100:#E7E3D9;--stone-200:#CFCABD;--stone-300:#ADA79A;--stone-400:#8A8578;--stone-500:#6B6659;
/* ── Base: accents ───────────────────────────────────────── */
--ember-500:#C4462F;--ember-600:#992F1D;--aether-500:#3E8E93;--aether-600:#2C6A6E;--violet-500:#6E4FA3;--violet-600:#513879;--bone-500:#B8B2A2;
/* ── Semantic: surfaces ──────────────────────────────────── */
--surface-void:var(--ink-1000);--surface-base:var(--ink-950);--surface-raised:var(--ink-850);--surface-card:var(--ink-850);--surface-card-hover:var(--ink-800);--surface-overlay:rgba(5,5,8,.86);--surface-inset:var(--ink-900);--surface-glass:rgba(16,16,21,.72);
--surface-scrim:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.95) 100%);
/* ── Semantic: text ─────────────────────────────────────── */
--text-display:var(--gold-100);--text-heading:var(--stone-050);--text-body:var(--stone-200);--text-muted:var(--stone-400);--text-faint:var(--stone-500);--text-on-gold:var(--ink-1000);--text-link:var(--gold-300);--text-link-hover:var(--gold-100);
/* ── Semantic: lines & borders ──────────────────────────── */
--line-hairline:rgba(201,162,74,.18);--line-subtle:rgba(231,227,217,.10);--line-strong:rgba(201,162,74,.42);--line-gold:var(--gold-600);
/* ── Semantic: interactive ──────────────────────────────── */
--action-primary:var(--gold-500);--action-primary-hover:var(--gold-300);--action-primary-press:var(--gold-600);--action-secondary:rgba(231,227,217,.10);--action-secondary-hover:rgba(231,227,217,.18);--focus-ring:var(--gold-300);
/* ── Semantic: status ───────────────────────────────────── */
--status-live:var(--ember-500);--status-success:#4E8C5B;--status-warning:var(--gold-400);--status-danger:var(--ember-500);--status-info:var(--aether-500);--status-member:var(--gold-500);
/* ── Genre keys (one per Pyramid Stream category) ───────── */
--genre-ufo:#3E8E93;--genre-unexplained:#7C8FA8;--genre-paranormal:#6E4FA3;--genre-scifi:#4A7FA8;--genre-ancient:#C9A24A;--genre-mind:#9A7BC4;--genre-esoteric:#B08D57;--genre-horror:#C4462F;--genre-drama:#8A5A3C;--genre-animation:#D2A855;
/* ── Brand gradients & light ─────────────────────────────── */
--grad-gold:linear-gradient(160deg,#F4E4BC 0%,#C9A24A 46%,#87611F 100%);
--grad-gold-rule:linear-gradient(90deg,rgba(201,162,74,0) 0%,var(--gold-500) 50%,rgba(201,162,74,0) 100%);
--grad-apex:radial-gradient(120% 90% at 50% 100%,rgba(201,162,74,.30) 0%,rgba(201,162,74,.06) 42%,rgba(0,0,0,0) 72%);
--grad-hero-veil:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 38%,rgba(0,0,0,0) 78%);

/* ── Spacing (4px base) ──────────────────────────────────── */
--sp-0:0;--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:12px;--sp-6:16px;--sp-7:20px;--sp-8:24px;--sp-9:32px;--sp-10:40px;--sp-11:48px;--sp-12:64px;--sp-13:80px;--sp-14:104px;--sp-15:136px;
/* ── Radii ───────────────────────────────────────────────── */
--r-none:0;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-xl:10px;--r-pill:999px;--r-circle:50%;
/* ── Layout ──────────────────────────────────────────────── */
--page-max:1600px;--page-gutter:40px;--page-gutter-sm:20px;--rail-gap:12px;--rail-peek:56px;
--card-poster-w:174px;--card-still-w:340px;
--card-poster-ar:2/3;--card-still-ar:16/9;
--header-h:72px;--header-h-condensed:60px;--player-bar-h:88px;
/* ── z-index ─────────────────────────────────────────────── */
--z-rail:1;--z-header:100;--z-overlay:200;--z-dialog:300;--z-toast:400;

/* ── Typography: families ───────────────────────────────── */
--font-display:"Cinzel","Trajan Pro",Georgia,serif;
--font-ui:"Barlow","Helvetica Neue",Arial,sans-serif;
--font-label:"Barlow Condensed","Barlow",Arial,sans-serif;
--font-editorial:"Cormorant Garamond",Georgia,serif;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
/* ── Typography: scale ───────────────────────────────────── */
--fs-3xs:11px;--fs-2xs:12px;--fs-xs:13px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:21px;--fs-2xl:26px;--fs-3xl:32px;--fs-4xl:42px;--fs-5xl:56px;--fs-6xl:72px;--fs-7xl:96px;
/* ── Typography: weights ─────────────────────────────────── */
--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-display:400;--fw-display-bold:700;
/* ── Typography: line-heights ────────────────────────────── */
--lh-tight:1.04;--lh-snug:1.18;--lh-heading:1.24;--lh-body:1.58;--lh-loose:1.72;
/* ── Typography: tracking ────────────────────────────────── */
--ls-display:0.06em;--ls-title:0.02em;--ls-label:0.18em;--ls-label-tight:0.10em;--ls-body:0;--ls-mono:0.02em;
/* ── Typography: composed roles ──────────────────────────── */
--type-display-hero:var(--fw-display) var(--fs-6xl)/var(--lh-tight) var(--font-display);
--type-display:var(--fw-display) var(--fs-4xl)/var(--lh-snug) var(--font-display);
--type-title:var(--fw-semibold) var(--fs-2xl)/var(--lh-heading) var(--font-ui);
--type-subtitle:var(--fw-medium) var(--fs-lg)/var(--lh-heading) var(--font-ui);
--type-body:var(--fw-regular) var(--fs-md)/var(--lh-body) var(--font-ui);
--type-body-sm:var(--fw-regular) var(--fs-sm)/var(--lh-body) var(--font-ui);
--type-label:var(--fw-semibold) var(--fs-2xs)/1.2 var(--font-label);
--type-quote:italic var(--fw-regular) var(--fs-2xl)/1.4 var(--font-editorial);

/* ── Motion ──────────────────────────────────────────────── */
--dur-instant:80ms;--dur-fast:140ms;--dur-base:220ms;--dur-slow:380ms;--dur-cinematic:700ms;--dur-veil:1200ms;
--ease-standard:cubic-bezier(.2,.6,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.6,0,.9,.2);--ease-veil:cubic-bezier(.4,0,.2,1);
--t-hover:all var(--dur-fast) var(--ease-standard);
--t-card:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);
--t-veil:opacity var(--dur-cinematic) var(--ease-veil);
--lift-card:translateY(-4px);
--press-scale:scale(.985);

/* ── Elevation ───────────────────────────────────────────── */
--shadow-none:none;
--shadow-sm:0 1px 2px rgba(0,0,0,.6);
--shadow-md:0 6px 18px rgba(0,0,0,.55);
--shadow-lg:0 18px 44px rgba(0,0,0,.65);
--shadow-xl:0 34px 90px rgba(0,0,0,.75);
--shadow-card-hover:0 22px 54px rgba(0,0,0,.7),0 0 0 1px rgba(201,162,74,.38);
--glow-gold-sm:0 0 12px rgba(201,162,74,.35);
--glow-gold-md:0 0 28px rgba(201,162,74,.30),0 0 4px rgba(244,228,188,.35);
--glow-apex:0 -18px 60px rgba(201,162,74,.22);
--inset-hairline:inset 0 0 0 1px rgba(231,227,217,.08);
--inset-gold:inset 0 0 0 1px rgba(201,162,74,.42);
--ring-focus:0 0 0 2px var(--ink-950),0 0 0 4px var(--gold-300);
--blur-glass:14px;--blur-scrim:6px;
}

/* ── Base reset (project/_ds/.../tokens/base.css) ─────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-base);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;color:var(--text-heading)}
h1,h2{font-family:var(--font-display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);color:var(--text-display)}
p{margin:0 0 var(--sp-6)}
a{color:var(--text-link);text-decoration:none;transition:var(--t-hover)}
a:hover{color:var(--text-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--ring-focus)}
img{display:block;max-width:100%}
button{font:inherit}
::selection{background:var(--gold-600);color:var(--ink-1000)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ink-950)}::-webkit-scrollbar-thumb{background:var(--ink-600);border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:var(--gold-800)}
.ps-eyebrow{font:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold-400)}
.ps-rule{height:1px;background:var(--grad-gold-rule);border:0}
