/* PulseTV-specific surfaces.

   The shared TicketPulse vocabulary (--tp-*, --brand-*, --pulse-*, type, spacing)
   is NOT redeclared here. It arrives from the canonical source, which App.razor
   loads first:

       _content/World.Platform.DesignTokens/tokens.css

   This file used to carry its own copy of all of it, which is how --font-media
   drifted to Fraunces while Pulse Studios held Space Grotesk — the 28 Aug design
   review corrected both to Space Grotesk. Only the values below are genuinely
   PulseTV's, and --ptv-font-* now sit in app.css beside the rest of this app's
   own scale rather than being declared in two places. */
:root {
  --tv-bg: #140828;                        /* body background */
  --tv-bar: rgba(20, 8, 40, 0.86);         /* sticky top bar over blur */
  --tv-surface: #1E0F3C;                   /* card/channel surfaces, prototype values */
  --tv-surface-2: #2A1852;
  --tv-hairline: rgba(255, 255, 255, 0.09);
  --tv-text: #FFFFFF;
  --tv-text-dim: rgba(255, 255, 255, 0.66);
  --tv-text-faint: rgba(255, 255, 255, 0.5);
  --tv-link: #C9A8FF;

  /* The ranked shelf and full-bleed hero, taken from the prototype's own inline values. */
  --tv-rank-stroke: rgba(106, 0, 255, 0.65);   /* outline numerals, Electric Violet at 65% */
  --tv-tile-shadow: rgba(0, 0, 0, 0.5);
  --tv-tile-scrim: rgba(20, 8, 40, 0.9);       /* over artwork, holds the title legible */
  --tv-tile-scrim-fade: rgba(20, 8, 40, 0.05);
  --tv-hero-scrim-ink: rgba(20, 8, 40, 0.96);  /* hero scrim stops, plum family */
  --tv-hero-scrim-mid: rgba(46, 0, 87, 0.72);
  --tv-hero-scrim-glow: rgba(106, 0, 255, 0.22);

  /* Soft fills and edges for controls on the dark shell (search field, chips, linked cards). */
  --tv-fill: rgba(255, 255, 255, 0.06);
  --tv-fill-border: rgba(255, 255, 255, 0.16);
  --tv-hover-border: rgba(255, 255, 255, 0.45);
  --tv-glow-shadow: rgba(106, 0, 255, 0.25);

  /* Header controls, from the prototype header's own inline values: the nav pills'
     hover/active fills and the search/currency pill chrome. */
  --tv-pill-hover: rgba(255, 255, 255, 0.12);
  --tv-pill-active: rgba(255, 255, 255, 0.14);
  --tv-control-fill: rgba(255, 255, 255, 0.07);
  --tv-control-border: rgba(255, 255, 255, 0.12);
  --tv-control-border-hover: rgba(255, 255, 255, 0.3);

  /* The ON AIR bar's plum wash, from the prototype's live-ticker inline value. */
  --tv-onair-bg: rgba(46, 0, 87, 0.35);

  /* The shelf card's own values, from the prototype's card markup: its scrim stop, the hover
     glow, and the tile pill's plum chrome (hero pill slightly lighter, per its inline style). */
  --tv-card-scrim: rgba(20, 8, 40, 0.85);
  --tv-card-glow: rgba(106, 0, 255, 0.35);
  --tv-pill-chrome: rgba(20, 8, 40, 0.75);
  --tv-hero-pill-chrome: rgba(20, 8, 40, 0.7);

  /* The live-room dock and the violet interaction washes, from the prototype's watch screen. */
  --tv-room-glass: rgba(20, 8, 40, 0.72);
  --tv-room-edge: rgba(255, 255, 255, 0.12);
  --tv-shop-fill: rgba(255, 255, 255, 0.05);
  --tv-violet-soft: rgba(106, 0, 255, 0.16);
  --tv-violet-wash: rgba(106, 0, 255, 0.28);
  --tv-violet-press: rgba(106, 0, 255, 0.35);
  --tv-violet-line: rgba(106, 0, 255, 0.5);
  --tv-avatar-deep: #4A00A8;               /* the watch byline avatar's gradient start */

  /* The veil under the unlock card when it floats over the intro reel. */
  --tv-unlock-veil: rgba(10, 4, 20, 0.45);

  /* The activity grid's violet scale — quiet to busiest, over real event counts. */
  --tv-heat-0: rgba(255, 255, 255, 0.05);
  --tv-heat-1: rgba(106, 0, 255, 0.22);
  --tv-heat-2: rgba(106, 0, 255, 0.42);
  --tv-heat-3: rgba(106, 0, 255, 0.65);
  --tv-heat-4: #8B33FF;

  /* The BETA sticker's gold washes — the prototype's notice-chip treatment. */
  --tv-beta-bg: var(--tp-gold-tint);
  --tv-beta-line: var(--tp-gold-line);

  /* The holding card's plum letterbox (FR-022), from the prototype's own stops. */
  --tv-holdcard-top: #12061F;
  --tv-holdcard-mid: #2E0057;
}
