/* Good Call winner screen: THE PODIUM (v2). Third rises, then second, a drumroll, then the winner rockets up the gold
   plinth: a flash, crossing stadium searchlights, falling streamers, camera flashes in the crowd, fireworks and WINNER.
   Sized in container units: the host must have container-type: size (#tv-stage already does).
   Fire Stick brief: the plinths, medallions, WINNER, spotlights, searchlights, streamers and flashes are baked into fx/*.webp; only transform
   and opacity animate; no filter, blur, box-shadow, text-shadow or blend modes anywhere in this file.
   Colours are the shared tokens (web_shared/shared.css). */
.pd {
  --pd-ink: var(--on-brand); --pd-night: var(--bg); --pd-night-rgb: var(--bg-rgb); --pd-gold: rgb(var(--lq-gold));
  --pd-gold-lit: var(--lq-gold-lit); --pd-lavender: var(--pg-lavender);
  position: absolute; inset: 0; overflow: hidden; z-index: 30; pointer-events: none; color: var(--pd-ink); opacity: 0;
  background: var(--pd-night) url("/shared/brand/stage.webp") center / cover no-repeat;
  font-family: var(--font-display, "Segoe UI", Inter, Roboto, system-ui, sans-serif); }
.pd img { position: absolute; display: block; }
.pd-dim { position: absolute; inset: 0; background: radial-gradient(70% 70% at 50% 60%, rgba(var(--pd-night-rgb),.45), rgba(var(--pd-night-rgb),.88)); }
.pd-shake { position: absolute; inset: 0; }
.pd-title { position: absolute; left: 0; right: 0; top: 5cqh; text-align: center; font-weight: 900; font-size: 7.6cqh; letter-spacing: .06em; line-height: 1; opacity: 0; }
.pd-title em { font-style: normal; color: var(--pd-gold); }
.pd-winner { left: 50%; top: 6cqh; width: 30.87cqh; height: 10cqh; margin-left: -15.43cqh; opacity: 0; }
.pd-spot { top: -8cqh; width: 46cqh; height: 82cqh; margin-left: -23cqh; transform-origin: 50% 0; opacity: 0; }
.pd-beam { left: 50%; top: 4cqh; width: 26cqh; height: 100cqh; margin-left: -13cqh; transform-origin: 50% 100%; opacity: 0; }
.pd-pop { width: 22cqh; height: 22cqh; margin: -11cqh 0 0 -11cqh; opacity: 0; }
.pd-streamer { left: 0; top: 0; width: 4.2cqh; height: 18cqh; opacity: 0; }
.pd-glow { left: 50%; top: 37.3cqh; width: 64cqh; height: 64cqh; margin: -32cqh 0 0 -32cqh; opacity: 0; }
.pd-burst { opacity: 0; }
/* a place: plinth, medallion with the face, name pill. Each is placed by its own --x (centre) */
.pd-place { position: absolute; left: calc(50% + var(--x)); top: 0; width: 0; height: 100%; transform: scale(1.12); transform-origin: 0 100%; }
.pd-plinth { left: calc(var(--pw) / -2); top: var(--top); width: var(--pw); height: var(--ph); }
.pd-medal { position: absolute; left: calc(var(--m) / -2); top: calc(var(--top) - var(--m) + var(--m) * .14); width: var(--m); height: var(--m); opacity: 0; }
.pd-medal img { left: 0; top: 0; width: 100%; height: 100%; }
.pd-face { position: absolute; left: 12.4%; top: 12.4%; width: 75.2%; height: 75.2%; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; container-type: size; }
.pd-face > * { width: 100%; height: 100%; }
.pd-face img { position: static; width: 100%; height: 100%; object-fit: cover; }
.pd-pill { position: absolute; left: calc(var(--pmax) / -2); width: var(--pmax); top: calc(var(--py) - var(--lift, 0cqh)); text-align: center; opacity: 0; }
.pd-pill > div { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 1.1cqh 2.4cqh 1.3cqh; border-radius: 2.2cqh; background: rgba(var(--pd-pill),.88); border: .35cqh solid var(--edge); }
/* a long name is shrunk to fit by podium.js (--fit), then takes a second line */
.pd-nm { display: block; font-weight: 900; line-height: 1.1; white-space: nowrap; font-size: calc(var(--nm) * var(--fit, 1)); }
.pd-nm.wrap { white-space: normal; overflow-wrap: anywhere; }
.pd-sc { display: block; font-weight: 900; line-height: 1.1; color: var(--edge); font-variant-numeric: tabular-nums; }
.pd-note { display: block; margin-top: .4cqh; font-weight: 800; font-size: 2.6cqh; letter-spacing: .12em; text-transform: uppercase; color: var(--pd-lavender); }
.pd-note.new { color: var(--pd-gold-lit); }
.pd-place.p1 { --x: 0cqh; --pw: 55.56cqh; --ph: 57.41cqh; --top: 52.3cqh; --m: 36cqh; --pmax: 50cqh; --py: 67cqh; --edge: var(--pd-gold-lit); --nm: 6.2cqh; }
.pd-place.p2 { --x: -54cqh; --pw: 50cqh; --ph: 44.44cqh; --top: 65.3cqh; --m: 26cqh; --pmax: 38cqh; --py: 79cqh; --edge: var(--pd-silver-lit); --nm: 4.2cqh; }
.pd-place.p3 { --x: 54cqh; --pw: 50cqh; --ph: 37.96cqh; --top: 71.7cqh; --m: 26cqh; --pmax: 38cqh; --py: 84.5cqh; --edge: var(--pd-bronze-lit); --nm: 4.2cqh; }
.pd-place.p1 .pd-sc { font-size: 5cqh; }
.pd-place.p2 .pd-pill > div, .pd-place.p3 .pd-pill > div { padding: .8cqh 2.4cqh .9cqh; }
.pd-place.p2 .pd-sc, .pd-place.p3 .pd-sc { font-size: 3.6cqh; }
.pd-place.out .pd-pill > div { opacity: .75; }
