/* ============================================================================
   PREVIOUSLY — COMING SOON FAMILY TOKENS · native d3 (2026-10-21, #259/#262)
   This sheet IS the family's token source: every value below is a literal
   canonical d3 value (ground #0C121B · surface-1 #141F2C · surface-2
   #1B2A3B · inset #0A0F16 · text #C7D0DA/#A4B3C2/#8FA3B5 · gold #F2BC68 ·
   gold-deep #B07E2E · line #223343 · LIVE coral #F46B62 only).
   The retired desert/red token definitions that used to live here
   (--pv-red family = var(--brand-red), --pv-serif = Playfair Display,
   --pv-noir = var(--desert-bg) remap) are DELETED, not overridden.
   The --desert-* names at the bottom are compat definitions for sheets
   loaded on this page that still reference them (family footer.css scoped
   pins, shared chrome): they carry the same canonical literals, so no
   light value can resolve anywhere on this page.
   ============================================================================ */

:root{
  color-scheme: dark;
  /* ---- Color · surfaces (canonical d3 steps) ---- */
  --pv-noir:        #0C121B;  /* page ground */
  --pv-noir-2:      #141F2C;  /* surface-1: cards, sheets, modals */
  --pv-noir-3:      #0A0F16;  /* inset: wells, art beds */
  --pv-surface-2:   #1B2A3B;  /* surface-2: raised / hover */
  --pv-glass:       rgba(12,18,27, .82); /* sticky bars over content [WEB] */
  --pv-ground-rgb:  12,18,27;
  --pv-card-rgb:    20,31,44;
  --pv-ink-rgb:     199,208,218;
  --pv-pressed-rgb: 164,179,194;

  /* ---- Color · ink ---- */
  --pv-ivory:       #C7D0DA;  /* primary text */
  --pv-ivory-dim:   #A4B3C2;  /* secondary text */
  --pv-ivory-faint: #8FA3B5;  /* muted text / meta */
  --pv-rule:        #223343;  /* hairline dividers + idle borders */

  /* ---- Color · brand accent: GOLD. Red survives only as LIVE coral. ---- */
  --pv-gold:        #F2BC68;
  --pv-gold-deep:   #B07E2E;
  --pv-gold-ember:  #FFD08A;  /* hover/ember tint of the gold */
  --pv-gold-wine:   #B07E2E;  /* deepest gold, gradient ends */
  --pv-gold-rgb:    242,188,104;
  --pv-gold-glow:   rgba(242,188,104, .35);
  --pv-gold-glow-lg:rgba(242,188,104, .55);
  --pv-on-gold:     #0C121B;  /* text/icons ON gold fills */

  /* ---- Color · status ---- */
  --pv-live:        #F46B62;  /* LIVE only — never brand, never decoration */
  --pv-warn:        #E0A458;  /* muted amber, warnings only */
  --pv-muted-ok:    #8FA98F;  /* desaturated sage for "available" */

  /* ---- Type ---- */
  --pv-display: 'Previously Display', 'Marathon Long Run Display', serif; /* Marathon — brand display */
  --pv-headline: 'Previously Headline', 'Anton', sans-serif; /* Anton — headline */
  --pv-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; /* body/UI */

  /* Type scale — display sizes use fluid clamp(); body fixed for rhythm */
  --pv-display-xl: clamp(120px, 22vw, 320px);
  --pv-display-size: clamp(52px, 9.5vw, 148px);
  --pv-title:      clamp(28px, 3.4vw, 44px);
  --pv-h3:         clamp(20px, 2.4vw, 26px);
  --pv-lede:       clamp(18px, 2vw, 22px);
  --pv-body:       17px;
  --pv-body-sm:    14px;
  --pv-caption:    13px;
  --pv-label:      11px;
  --pv-label-xs:   10px;

  --pv-track-xl: .34em;
  --pv-track-lg: .24em;
  --pv-track-md: .18em;
  --pv-track-tight: -.02em;

  --pv-leading-display: .94;
  --pv-leading-title: 1.08;
  --pv-leading-body: 1.6;
  --pv-leading-ui: 1.4;

  /* ---- Spacing · 4pt base ---- */
  --pv-s1: 4px;  --pv-s2: 8px;  --pv-s3: 12px; --pv-s4: 16px;
  --pv-s6: 24px; --pv-s8: 32px; --pv-s12: 48px; --pv-s16: 64px;
  --pv-s24: 96px; --pv-s32: 128px;

  /* ---- Radii (squared — no pills) ---- */
  --pv-r-pill: 10px;  /* legacy name; value is the squared 10px control radius */
  --pv-r-card: 16px;
  --pv-r-card-sm: 14px;
  --pv-r-sm: 8px;
  --pv-r-round: 50%;

  /* ---- Shadows ---- */
  --pv-shadow-btn:    0 10px 34px var(--pv-gold-glow);
  --pv-shadow-btn-lg: 0 16px 44px var(--pv-gold-glow-lg);
  --pv-shadow-card:   0 18px 44px rgba(0,0,0, .5);
  --pv-shadow-pop:    0 40px 120px rgba(0,0,0, .6), 0 0 0 1px rgba(242,188,104, .28);
  --pv-shadow-bar:    0 8px 28px rgba(0,0,0, .45);

  /* ---- Layout ---- */
  --pv-content-max: 1280px;
  --pv-shell-max: 1440px;
  --pv-gutter: 32px;
  --pv-gutter-sm: 20px;
  --pv-nav-h: 64px;

  /* ---- Breakpoints (documentation) ---- */
  --pv-bp-phone: 390px;
  --pv-bp-tablet: 768px;
  --pv-bp-laptop: 1024px;
  --pv-bp-wide: 1440px;

  /* ---- Z-index scale ---- */
  --pv-z-content: 1;
  --pv-z-sticky: 10;
  --pv-z-search: 40;
  --pv-z-nav: 50;
  --pv-z-consent: 90;
  --pv-z-modal: 100;
  --pv-z-toast: 110;

  /* ---- Touch targets ---- */
  --pv-target-min: 44px;

  /* ---- Motion ---- */
  --pv-ease: cubic-bezier(.22,.8,.28,1);
  --pv-ease-snap: cubic-bezier(.3,1.4,.4,1);
  --pv-t-instant: .1s;
  --pv-t-fast: .18s;
  --pv-t-med: .25s;
  --pv-t-slow: .4s;
  --pv-t-reveal: .6s;
  --pv-hero-rotate: 30s;
  /* ---- Micro-interaction shadows ---- */
  --pv-shadow-card-hover: 0 14px 34px rgba(0,0,0, .5);
  --pv-shadow-chip-hover: 0 8px 20px rgba(0,0,0, .4);
  /* ---- Focus ---- */
  --pv-focus-outline: 2px solid var(--pv-gold);
  --pv-focus-ring: 0 0 0 3px var(--pv-gold-glow);

  /* ---- Compat definitions (canonical literals) for sheets on this page
     that still reference the desert names — see header note. ---- */
  --desert-bg: #0C121B;
  --desert-card: #141F2C;
  --desert-pressed: #0A0F16;
  --desert-ink: #C7D0DA;
  --desert-ink-rgb: 199,208,218;
  --desert-card-rgb: 20,31,44;
  --desert-accent: #F2BC68;
  --desert-accent-deep: #B07E2E;
  --color-warn: #E0A458;
  --color-win: #8FA98F;
  --social-spotify: #1DB954;
  --social-spotify-rgb: 29,185,84;
}/* Nav height follows the nav spec: 64px desktop, 56px below 1024px. */
@media (max-width: 1023px){
  :root { --pv-nav-h: 56px; }
}/* Reduced motion: the law, everywhere */
@media (prefers-reduced-motion: reduce){
  :root { --pv-hero-rotate: 0s; }
}/* Forced colors (Windows High Contrast) */
@media (forced-colors: active){
  :root {
    --pv-focus-outline: 2px solid ButtonText;
  }
  a, button { forced-color-adjust: auto; }
  .pv-search__bar, .pv-search__clear, .pv-search__retry {
    border: 1px solid ButtonText;
  }
}/* Print — ink-honest on paper */
@media print{
  :root {
    color-scheme: light;
    --pv-noir: #FFFFFF;
    --pv-ivory: #0C121B;
    --pv-ivory-dim: #26313C;
  }
  nav[aria-label="Primary"], .pv-search, footer .pv-footer__sections {
    display: none;
  }
  body { background: #FFFFFF; color: #0C121B; }
  a { color: #0C121B; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 11px; }
}
