
:root {
  color-scheme: dark;
  --bg:#040101;
  --ember:#ff4a13;
  --gold:#f1bc76;
  --text:#fff4e7;
  --muted:#cdb49e;
}
* { box-sizing:border-box; }
html { min-height:100%; background:var(--bg); }
body {
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,67,14,.20), transparent 34rem),
    radial-gradient(circle at 15% 72%, rgba(255,36,0,.08), transparent 26rem),
    linear-gradient(180deg,#090301 0%,#020101 100%);
  overflow-x:hidden;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:4px 4px;
}
body::after {
  content:"";
  position:fixed;
  inset:-15%;
  pointer-events:none;
  opacity:.18;
  background:
    radial-gradient(circle,rgba(255,101,35,.95) 0 1px,transparent 2px) 12% 21%/190px 230px,
    radial-gradient(circle,rgba(255,170,80,.8) 0 1px,transparent 2px) 73% 13%/260px 310px,
    radial-gradient(circle,rgba(255,58,10,.72) 0 1px,transparent 2px) 45% 85%/230px 270px;
  animation:embers 22s linear infinite;
}
@keyframes embers {
  from { transform:translateY(7%); }
  to { transform:translateY(-7%); }
}
main {
  position:relative;
  z-index:1;
  width:min(100% - 28px,1080px);
  margin:auto;
  padding:clamp(16px,4vw,52px) 0 clamp(34px,7vw,78px);
}
.stage {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,111,45,.34);
  border-radius:clamp(16px,2.4vw,28px);
  background:#050101;
  box-shadow:
    0 32px 90px rgba(0,0,0,.74),
    0 0 55px rgba(255,54,9,.14),
    inset 0 1px 0 rgba(255,228,202,.08);
}

.funhouse-atmosphere {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,38,12,.13), transparent 34%),
    radial-gradient(circle at 50% 80%, rgba(255,24,0,.08), transparent 40%),
    #030101;
}
.funhouse-atmosphere::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:4px 4px;
  mix-blend-mode:screen;
}
.funhouse-atmosphere::after {
  content:"";
  position:absolute;
  inset:-15%;
  opacity:0;
  background:
    radial-gradient(circle at 13% 20%, rgba(255,115,48,.95) 0 1px, transparent 2px),
    radial-gradient(circle at 26% 72%, rgba(255,56,18,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 18%, rgba(255,138,68,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 62%, rgba(255,48,12,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 46% 86%, rgba(255,190,105,.85) 0 1px, transparent 2px);
  background-size:120px 170px,160px 210px,140px 190px,180px 230px,130px 180px;
}
.funhouse-vector,
#bubbleCanvas {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.funhouse-vector {
  opacity:.94;
  transition:opacity .3s ease;
}
#bubbleCanvas {
  z-index:2;
  opacity:0;
  transition:opacity .8s ease .45s;
}
.stage > .showcase,
.stage > .action {
  position:relative;
  z-index:3;
}
.stage::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,110,44,.16),
    inset 0 0 45px rgba(255,31,0,.08);
}
.funhouse-vector .neon {
  fill:none;
  stroke:#ff371a;
  stroke-width:2.4;
  vector-effect:non-scaling-stroke;
  filter:url(#redGlow);
}
.funhouse-vector .neon-hot {
  fill:none;
  stroke:#ff7452;
  stroke-width:1.4;
  vector-effect:non-scaling-stroke;
  filter:url(#redGlowStrong);
}
.funhouse-vector .gold {
  fill:none;
  stroke:#c8863d;
  stroke-width:2.1;
  vector-effect:non-scaling-stroke;
  filter:url(#goldGlow);
}
.funhouse-vector .dim { opacity:.42; }
.funhouse-vector .bulb {
  fill:#ffad63;
  filter:url(#bulbGlow);
  animation:bulbPulse 1.9s ease-in-out infinite alternate;
}
.funhouse-vector .burnable {
  transform-box:fill-box;
  transform-origin:center;
  will-change:opacity,filter,transform,stroke-dashoffset;
}
.funhouse-vector .burnable:nth-of-type(3n) { animation-delay:.06s; }
.funhouse-vector .burnable:nth-of-type(4n) { animation-delay:.13s; }
.funhouse-vector .burnable:nth-of-type(5n) { animation-delay:.2s; }
body.slideshow-active .funhouse-vector .burnable {
  animation:burnVector 1.55s cubic-bezier(.43,.05,.58,1) forwards;
}
body.slideshow-active .funhouse-vector .bulb {
  animation:bulbExtinguish .85s ease forwards;
}
body.slideshow-active .funhouse-atmosphere::after {
  animation:emberWash 1.6s ease-out forwards;
}
body.slideshow-active #bubbleCanvas { opacity:1; }
body.slideshow-active .action {
  background:
    linear-gradient(180deg,rgba(11,4,8,.76),rgba(3,2,7,.92)),
    repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.012) 22px 23px);
}
@keyframes bulbPulse {
  from { opacity:.52; }
  to { opacity:1; }
}
@keyframes burnVector {
  0% { opacity:1; filter:brightness(1) blur(0); transform:scale(1); }
  35% { opacity:1; filter:brightness(2.7) blur(.4px); transform:scale(1.006); }
  62% { opacity:.72; filter:brightness(4) blur(1.2px); }
  100% { opacity:0; filter:brightness(5) blur(8px); transform:scale(1.035); }
}
@keyframes bulbExtinguish {
  0% { opacity:1; filter:url(#bulbGlow); }
  42% { opacity:1; }
  58% { opacity:.2; }
  73% { opacity:.8; }
  100% { opacity:0; }
}
@keyframes emberWash {
  0% { opacity:0; transform:scale(.96); }
  26% { opacity:.86; }
  100% { opacity:0; transform:translateY(-7%) scale(1.08); }
}

.showcase {
  display:grid;
  justify-items:center;
  padding:clamp(16px,3vw,30px) clamp(14px,2.4vw,28px) clamp(8px,1.6vw,16px);
}
.poster-wrap {
  position:relative;
  width:min(100%,596px);
  margin-inline:auto;
  padding:clamp(10px,1.6vw,14px);
  border-radius:clamp(18px,2.2vw,28px);
  background:
    linear-gradient(180deg, rgba(56,16,8,.95), rgba(13,3,2,.98)),
    radial-gradient(circle at 50% 0%, rgba(255,132,64,.18), transparent 55%);
  border:1px solid rgba(255,138,76,.36);
  box-shadow:
    0 18px 44px rgba(0,0,0,.45),
    0 0 30px rgba(255,72,24,.12),
    inset 0 1px 0 rgba(255,232,210,.18),
    inset 0 -1px 0 rgba(0,0,0,.4);
  overflow:visible;
}
.poster-wrap::before {
  content:"";
  position:absolute;
  inset:clamp(7px,1vw,10px);
  border-radius:clamp(14px,1.8vw,22px);
  border:1px solid rgba(255,205,170,.16);
  box-shadow:
    inset 0 0 0 1px rgba(255,90,36,.08),
    inset 0 16px 24px rgba(255,150,76,.05),
    inset 0 -12px 18px rgba(0,0,0,.24);
  pointer-events:none;
  z-index:0;
}
.poster-wrap::after {
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  bottom:-10px;
  height:16px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(255,88,34,.22) 0%, rgba(255,88,34,.08) 45%, rgba(0,0,0,0) 78%);
  filter:blur(6px);
  z-index:-1;
}
.poster {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2/3;
  object-fit:contain;
  border-radius:clamp(10px,1.6vw,18px);
  box-shadow:
    0 0 0 1px rgba(255,221,198,.08),
    0 10px 28px rgba(0,0,0,.28);
}
.promo-play {
  --load-progress:0%;
  position:absolute;
  z-index:2;
  left:50%;
  top:67.5%;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65em;
  min-width:clamp(170px,26vw,280px);
  padding:clamp(11px,1.8vw,17px) clamp(18px,3vw,34px);
  border:2px solid #ff7b45;
  border-radius:9px;
  color:#fff3e9;
  background:
    linear-gradient(180deg,rgba(29,1,1,.92),rgba(5,0,0,.96)),
    repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,70,30,.13) 8px 9px);
  box-shadow:
    0 0 7px #ff2a00,
    0 0 18px rgba(255,42,0,.95),
    0 0 34px rgba(255,0,55,.72),
    inset 0 0 16px rgba(255,40,0,.42);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,2.5vw,1.55rem);
  font-weight:900;
  letter-spacing:.16em;
  text-shadow:0 0 7px #ff2a00,0 0 14px #ff003c;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
}
.promo-play::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  width:var(--load-progress);
  background:
    linear-gradient(180deg, rgba(170,0,0,.18), rgba(255,28,28,.35) 46%, rgba(145,0,0,.55) 100%),
    radial-gradient(circle at 20% 35%, rgba(255,180,180,.18), transparent 28%),
    radial-gradient(circle at 70% 60%, rgba(255,110,110,.16), transparent 36%);
  box-shadow:
    inset 0 0 22px rgba(255,190,190,.18),
    0 0 16px rgba(255,42,0,.24);
  opacity:.95;
  transition:width .28s ease, opacity .28s ease;
}
.promo-play::before {
  content:"▶";
  position:relative;
  z-index:1;
  font-family:Arial,sans-serif;
  font-size:.92em;
  letter-spacing:0;
}
.promo-play > span {
  position:relative;
  z-index:1;
  display:inline-block;
}
.promo-play.is-loading {
  cursor:wait;
}
.promo-play.is-loading:hover {
  filter:none;
}
.promo-play.is-ready {
  animation:playPulse 1.5s ease-in-out infinite alternate;
}
.promo-play.is-ready::after {
  opacity:1;
}
.promo-play:hover {
  filter:brightness(1.18);
  box-shadow:
    0 0 9px #ff7a45,
    0 0 24px rgba(255,42,0,1),
    0 0 46px rgba(255,0,55,.86),
    inset 0 0 18px rgba(255,70,20,.55);
}
.promo-play:active { transform:translate(-50%,-50%) scale(.97); }
.promo-play:focus-visible { outline:3px solid #fff3d5; outline-offset:5px; }
.promo-play[hidden] { display:none; }
@keyframes playPulse {
  from { box-shadow:0 0 7px #ff2a00,0 0 18px rgba(255,42,0,.95),0 0 34px rgba(255,0,55,.72),inset 0 0 16px rgba(255,40,0,.42); }
  to { box-shadow:0 0 10px #ff8a60,0 0 26px rgba(255,58,20,1),0 0 48px rgba(255,0,55,.9),inset 0 0 24px rgba(255,92,44,.62); }
}
.end-choices {
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,3vw,28px);
  padding:24px;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(3px);
}
.end-choices[hidden] { display:none; }
.choice-button {
  min-width:clamp(125px,22vw,190px);
  padding:15px 22px;
  border:1px solid rgba(255,214,172,.68);
  border-radius:999px;
  color:#fff4e7;
  background:linear-gradient(180deg,rgba(73,20,8,.96),rgba(22,5,2,.98));
  box-shadow:0 0 22px rgba(255,74,19,.34),inset 0 1px 0 rgba(255,255,255,.16);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,2.4vw,1.35rem);
  font-weight:800;
  cursor:pointer;
}
.choice-button:hover { filter:brightness(1.16); }
.choice-button:focus-visible { outline:3px solid #fff3d5; outline-offset:5px; }
.action {
  display:grid;
  justify-items:center;
  gap:12px;
  padding:clamp(24px,5vw,46px) clamp(18px,5vw,52px) clamp(28px,6vw,54px);
  text-align:center;
  background:
    linear-gradient(180deg,rgba(22,7,2,.82),rgba(5,2,1,.98)),
    repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.015) 22px 23px);
}
.eyebrow {
  margin:0;
  color:var(--muted);
  font-size:clamp(.72rem,1.4vw,.88rem);
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
h1 {
  margin:0;
  max-width:760px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,4vw,2.55rem);
  line-height:1.08;
  text-wrap:balance;
}
.copy {
  max-width:670px;
  margin:2px 0 10px;
  color:#dbc6b5;
  font-size:clamp(.96rem,2vw,1.08rem);
  line-height:1.62;
  text-wrap:pretty;
}
.cta {
  display:inline-flex;
  min-width:min(100%,340px);
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:17px 24px;
  border:1px solid rgba(255,214,172,.52);
  border-radius:999px;
  color:#180501;
  background:linear-gradient(180deg,#ff9a43 0%,#ff4b13 52%,#d82705 100%);
  box-shadow:
    0 13px 34px rgba(255,51,8,.30),
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -2px 0 rgba(83,9,0,.34);
  font-size:clamp(.94rem,2vw,1.05rem);
  font-weight:950;
  letter-spacing:.075em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
.cta::after {
  content:"→";
  font-size:1.3em;
  transition:transform .2s ease;
}
.cta:hover {
  transform:translateY(-3px) scale(1.015);
  filter:saturate(1.12) brightness(1.08);
  box-shadow:
    0 18px 46px rgba(255,51,8,.42),
    0 0 32px rgba(255,103,32,.24),
    inset 0 1px 0 rgba(255,255,255,.58);
}
.cta:hover::after { transform:translateX(4px); }
.cta:active { transform:translateY(0) scale(.99); }
.cta:focus-visible { outline:3px solid #fff3d5; outline-offset:5px; }
.signature {
  margin:5px 0 0;
  color:#8f7461;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.funding-corner {
  position:fixed;
  top:18px;
  right:18px;
  z-index:30;
  width:min(218px, calc(100vw - 36px));
  padding:10px 10px 12px;
  border-radius:18px;
  border:1px solid rgba(255,122,74,.30);
  background:
    linear-gradient(180deg, rgba(14,4,5,.76), rgba(9,2,2,.86)),
    radial-gradient(circle at 50% 0%, rgba(255,80,42,.12), transparent 65%);
  backdrop-filter:blur(6px);
  box-shadow:
    0 12px 30px rgba(0,0,0,.34),
    0 0 24px rgba(255,46,20,.12),
    inset 0 1px 0 rgba(255,230,215,.10);
}
.funding-corner::before {
  content:"";
  position:absolute;
  inset:5px;
  border-radius:14px;
  pointer-events:none;
  border:1px solid rgba(255,210,184,.08);
}
.funding-head {
  display:block;
  width:100%;
  height:auto;
  margin:0 auto 6px;
}
.funding-head .wire,
.funding-head .wire-hot,
.funding-head .face-line,
.funding-head .spark-dot {
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.funding-head .wire {
  stroke:#ff4120;
  stroke-width:2.8;
  filter:url(#fundGlow);
}
.funding-head .wire-hot {
  stroke:#ff8a69;
  stroke-width:1.35;
  filter:url(#fundGlowStrong);
}
.funding-head .face-line {
  stroke:#ffc2b6;
  stroke-width:1.6;
  filter:url(#fundGlowStrong);
}
.funding-head .spark-dot {
  stroke:#ff9f82;
  stroke-width:2.3;
  filter:url(#fundGlow);
}
.funding-corner.is-smiling .funding-head .mouth-neutral { opacity:0; }
.funding-corner .mouth-smile { opacity:0; }
.funding-corner.is-smiling .funding-head .mouth-smile { opacity:1; }
.funding-title {
  margin:0 0 8px;
  text-align:center;
  color:#f3c6b8;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.funding-buttons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.funding-btn {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 10px;
  border-radius:999px;
  border:1px solid rgba(255,201,177,.44);
  background:
    linear-gradient(180deg, rgba(92,23,10,.96), rgba(30,7,4,.98));
  box-shadow:
    0 0 18px rgba(255,72,24,.18),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.28);
  color:#fff2ea;
  text-decoration:none;
  font-size:.95rem;
  font-weight:900;
  letter-spacing:.01em;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.funding-btn small {
  display:block;
  font-size:.63rem;
  font-weight:700;
  letter-spacing:.08em;
  opacity:.88;
  text-transform:uppercase;
}
.funding-btn strong {
  display:block;
  font-size:1rem;
  line-height:1.05;
}
.funding-btn:hover {
  transform:translateY(-1px);
  filter:brightness(1.07);
  box-shadow:
    0 0 22px rgba(255,88,34,.26),
    0 8px 18px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.funding-btn:active { transform:translateY(0) scale(.985); }
.funding-btn:focus-visible { outline:3px solid #fff3d5; outline-offset:3px; }
.funding-note {
  margin:7px 0 0;
  text-align:center;
  color:#c79b90;
  font-size:.68rem;
  line-height:1.28;
}
@media (max-width:1550px) {
  .funding-corner {
    position:relative;
    top:auto;
    right:auto;
    width:min(218px, calc(100vw - 36px));
    margin:16px 18px 0 auto;
  }
  main { padding-top:16px; }
}
@media (max-width:760px) {
  .funding-corner {
    width:min(260px, calc(100vw - 28px));
    margin:12px 14px 0 auto;
  }
}

@media (max-width:560px) {
  main { width:min(100% - 16px,1080px); padding-top:8px; }
  .stage { border-radius:14px; }
  .showcase { padding:14px 10px 6px; }
  .poster-wrap { width:min(100%, 94vw); padding:9px; }
  .action { padding-inline:17px; }
  .cta { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* ===== HALLOWEEN VECTOR V2 — precise, angular, luminous ===== */
:root {
  --bg:#030102;
  --panel:#090204;
  --panel-hot:#150407;
  --blood:#c90032;
  --blood-hot:#ff174f;
  --ember:#ff5422;
  --pumpkin:#ff8a2a;
  --bone:#ffe9d0;
  --gold:#e8a85e;
  --text:#fff3e4;
  --muted:#d2ad96;
  --line:rgba(255,111,56,.48);
  --cut:18px;
}

body {
  background:
    linear-gradient(90deg,transparent 0 49.92%,rgba(255,85,30,.035) 50%,transparent 50.08%),
    radial-gradient(circle at 50% -8%,rgba(255,47,23,.24),transparent 31rem),
    radial-gradient(circle at 8% 68%,rgba(198,0,46,.09),transparent 28rem),
    linear-gradient(180deg,#090204 0%,#020102 100%);
}

body::before {
  opacity:.12;
  background-size:5px 5px;
}

main {
  width:min(100% - 28px,1040px);
  padding-top:clamp(18px,3vw,42px);
}

.stage {
  border:1px solid rgba(255,116,56,.58);
  border-radius:0;
  clip-path:polygon(
    var(--cut) 0,
    calc(100% - var(--cut)) 0,
    100% var(--cut),
    100% calc(100% - var(--cut)),
    calc(100% - var(--cut)) 100%,
    var(--cut) 100%,
    0 calc(100% - var(--cut)),
    0 var(--cut)
  );
  background:#050102;
  box-shadow:
    0 34px 90px rgba(0,0,0,.72),
    0 0 0 1px rgba(255,39,65,.08),
    0 0 44px rgba(255,58,19,.13);
}

.stage::after {
  border-radius:0;
  box-shadow:
    inset 0 0 0 1px rgba(255,196,150,.08),
    inset 0 0 0 5px rgba(0,0,0,.2),
    inset 0 0 38px rgba(183,0,35,.08);
}

.stage > .brand-bar,
.stage > .showcase,
.stage > .action {
  position:relative;
  z-index:3;
}

.brand-bar {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:9px clamp(16px,3vw,30px);
  border-bottom:1px solid rgba(255,116,56,.38);
  background:
    linear-gradient(90deg,rgba(118,0,31,.22),transparent 42%),
    linear-gradient(180deg,rgba(21,4,8,.96),rgba(6,1,3,.91));
  box-shadow:inset 0 -1px 0 rgba(255,223,191,.04);
}

.brand-sigil {
  width:42px;
  height:42px;
  overflow:visible;
  fill:none;
  stroke:#ff7543;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(255,41,73,.64));
}

.brand-sigil circle { fill:#ffb16f; stroke:none; }

.brand-name {
  color:var(--bone);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(.92rem,2vw,1.18rem);
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
  text-shadow:0 0 12px rgba(255,49,70,.42);
}

.brand-status {
  color:#c48a76;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.showcase {
  padding-top:clamp(18px,3vw,28px);
}

.poster-wrap {
  width:min(100%,574px);
  padding:10px;
  border:1px solid rgba(255,136,71,.58);
  border-radius:0;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);
  background:
    linear-gradient(135deg,rgba(255,101,45,.13),transparent 22%),
    linear-gradient(180deg,#1b0508,#070103 72%);
  box-shadow:
    0 20px 44px rgba(0,0,0,.5),
    0 0 28px rgba(207,0,48,.12),
    inset 0 0 0 1px rgba(255,230,205,.07);
}

.poster-wrap::before {
  inset:5px;
  border-radius:0;
  border-color:rgba(255,211,174,.16);
}

.poster {
  border-radius:0;
  background:#050102;
  box-shadow:
    0 0 0 1px rgba(255,231,211,.09),
    0 12px 30px rgba(0,0,0,.34);
}

.poster.is-changing {
  animation:posterCut .46s cubic-bezier(.18,.72,.3,1);
}

@keyframes posterCut {
  0% { opacity:.38; filter:contrast(1.45) brightness(1.35) saturate(.76); clip-path:inset(0 0 92% 0); }
  48% { opacity:.82; clip-path:inset(0 0 28% 0); }
  100% { opacity:1; filter:none; clip-path:inset(0); }
}

.promo-play {
  top:68%;
  min-width:clamp(184px,25vw,266px);
  border:1px solid #ff9a64;
  border-radius:2px;
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
  background:linear-gradient(180deg,rgba(29,2,7,.96),rgba(4,0,2,.98));
  box-shadow:
    0 0 0 1px rgba(131,0,29,.75),
    0 0 15px rgba(255,33,70,.72),
    0 0 30px rgba(255,74,28,.36),
    inset 0 0 18px rgba(172,0,39,.27);
  letter-spacing:.12em;
}

.promo-play:disabled {
  color:#f2c9ba;
  cursor:wait;
  opacity:.88;
}

.promo-play::after {
  transition:width .34s cubic-bezier(.22,.78,.28,1),opacity .2s ease;
}

.promo-play.load-0::after { width:0; }
.promo-play.load-33::after { width:33.333%; }
.promo-play.load-67::after { width:66.666%; }
.promo-play.load-100::after { width:100%; }

.cinema-interface {
  position:absolute;
  z-index:6;
  left:16px;
  right:16px;
  bottom:16px;
  display:grid;
  gap:8px;
  padding:9px 10px 10px;
  border:1px solid rgba(255,129,73,.38);
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  background:rgba(7,1,4,.88);
  backdrop-filter:blur(8px);
  box-shadow:0 9px 26px rgba(0,0,0,.45),inset 0 0 18px rgba(139,0,36,.16);
}

.cinema-interface[hidden] { display:none; }

.show-progress {
  display:block;
  width:100%;
  height:4px;
  overflow:hidden;
  border:0;
  border-radius:0;
  appearance:none;
  background:#290711;
}

.show-progress::-webkit-progress-bar { background:#290711; }
.show-progress::-webkit-progress-value {
  background:linear-gradient(90deg,#ad002c,#ff164e 56%,#ff8c39);
  box-shadow:0 0 9px rgba(255,36,80,.76);
  transition:width .3s ease;
}
.show-progress::-moz-progress-bar {
  background:linear-gradient(90deg,#ad002c,#ff164e 56%,#ff8c39);
  box-shadow:0 0 9px rgba(255,36,80,.76);
}

.cinema-controls {
  display:flex;
  justify-content:center;
  gap:8px;
}

.cinema-control {
  display:grid;
  width:42px;
  height:34px;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,160,112,.48);
  border-radius:1px;
  color:#ffe8d5;
  background:linear-gradient(180deg,rgba(57,7,18,.96),rgba(12,2,6,.98));
  box-shadow:inset 0 1px 0 rgba(255,232,211,.08),0 0 12px rgba(224,0,53,.12);
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}

.cinema-control:hover {
  border-color:#ff9a65;
  background:linear-gradient(180deg,rgba(112,8,32,.98),rgba(24,2,9,.98));
  transform:translateY(-1px);
}

.cinema-control:focus-visible {
  outline:2px solid #fff0da;
  outline-offset:3px;
}

.cinema-control:disabled { opacity:.3; cursor:default; transform:none; }
.cinema-control--exit { width:54px; font:800 .66rem/1 ui-monospace,monospace; letter-spacing:.1em; }

.icon {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.icon-play path,
.icon-pause path { fill:currentColor; stroke:none; }
.icon-play,
.icon-muted { display:none; }
#pauseControl[aria-pressed="true"] .icon-pause { display:none; }
#pauseControl[aria-pressed="true"] .icon-play { display:block; }
#muteControl[aria-pressed="true"] .icon-sound { display:none; }
#muteControl[aria-pressed="true"] .icon-muted { display:block; }

.end-choices {
  z-index:5;
  gap:clamp(12px,2.4vw,24px);
  background:rgba(3,0,3,.76);
  backdrop-filter:blur(7px) saturate(.78);
}

.choice-button {
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  border-radius:1px;
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
  text-decoration:none;
  background:linear-gradient(180deg,rgba(105,7,31,.97),rgba(17,2,7,.99));
  box-shadow:0 0 22px rgba(255,18,70,.26),inset 0 1px 0 rgba(255,238,218,.13);
}

body.show-finished #pauseControl,
body.show-finished #nextControl,
body.show-finished #skipControl,
body.show-finished .show-progress { display:none; }

body.show-finished .cinema-interface {
  left:auto;
  right:12px;
  bottom:12px;
  width:auto;
  padding:7px;
  border-color:rgba(255,129,73,.28);
}

.action {
  position:relative;
  border-top:1px solid rgba(255,111,52,.2);
  background:
    linear-gradient(90deg,rgba(154,0,37,.08),transparent 24%,transparent 76%,rgba(255,91,31,.06)),
    linear-gradient(180deg,rgba(18,4,8,.92),rgba(4,1,3,.99));
}

.action::before,
.action::after {
  content:"";
  position:absolute;
  top:18px;
  width:72px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ff713c);
}
.action::before { left:18px; }
.action::after { right:18px; transform:scaleX(-1); }

.eyebrow { color:#d4a18e; }
h1 { color:#fff1df; text-shadow:0 0 20px rgba(219,0,51,.24); }
.copy { color:#d9c0ad; }

.cta {
  border-radius:2px;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
  color:#1d0305;
  background:linear-gradient(180deg,#ffb35c 0%,#ff6728 50%,#dc173d 100%);
}

.fallback-games {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:12px;
}
.fallback-games a { color:#ffb891; }

.funding-corner {
  border-radius:1px;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
  border-color:rgba(255,116,64,.44);
  background:
    linear-gradient(135deg,rgba(122,0,34,.14),transparent 38%),
    linear-gradient(180deg,rgba(15,3,7,.94),rgba(6,1,3,.97));
  box-shadow:0 16px 34px rgba(0,0,0,.38),0 0 24px rgba(222,0,47,.1),inset 0 0 0 1px rgba(255,229,204,.04);
}

.funding-corner::before { border-radius:0; }
.funding-head { max-width:178px; }
.funding-btn { border-radius:1px; }

.sr-only {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (max-width:1550px) {
  .funding-corner {
    position:relative;
    width:min(460px,calc(100% - 28px));
    margin:18px auto 34px;
    padding:10px 14px;
    display:grid;
    grid-template-columns:112px 1fr;
    align-items:center;
    gap:8px;
  }
  .funding-head { width:108px; margin:0; }
  .funding-copy { min-width:0; }
  main { padding-top:clamp(18px,3vw,42px); }
}

@media (max-width:620px) {
  :root { --cut:12px; }
  main { width:min(100% - 14px,1040px); padding-top:7px; }
  .brand-bar { grid-template-columns:auto 1fr; min-height:54px; padding:7px 12px; }
  .brand-sigil { width:36px; height:36px; }
  .brand-name { letter-spacing:.1em; }
  .brand-status { display:none; }
  .stage { border-radius:0; }
  .showcase { padding:12px 7px 5px; }
  .poster-wrap { width:100%; padding:7px; }
  .cinema-interface { left:9px; right:9px; bottom:9px; }
  .cinema-control { width:39px; height:32px; }
  .cinema-control--exit { width:50px; }
  .end-choices { flex-direction:column; padding:18px; }
  .choice-button { width:min(100%,240px); }
  .action { padding-inline:16px; }
  .funding-corner {
    width:min(430px,calc(100% - 14px));
    grid-template-columns:76px 1fr;
    margin:12px auto 22px;
    padding:8px 10px;
  }
  .funding-head { width:72px; }
  .funding-title { text-align:left; margin-bottom:6px; }
  .funding-note { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  #bubbleCanvas { display:none!important; }
  .poster.is-changing { animation:none!important; }
}

.error-page {
  display:grid;
  min-height:100vh;
  place-items:center;
  padding:20px;
}

.error-card {
  position:relative;
  width:min(100%,680px);
  padding:clamp(34px,7vw,72px) clamp(22px,6vw,58px);
  border:1px solid rgba(255,126,66,.58);
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);
  text-align:center;
  background:linear-gradient(180deg,rgba(24,4,10,.97),rgba(4,1,3,.99));
  box-shadow:0 30px 80px rgba(0,0,0,.68),0 0 42px rgba(201,0,50,.16);
}

.error-code {
  margin:0;
  color:#ff6d39;
  font:900 clamp(4rem,18vw,9rem)/.8 Georgia,"Times New Roman",serif;
  letter-spacing:.03em;
  text-shadow:0 0 24px rgba(255,18,76,.42);
}

.error-card h1 { margin:24px auto 12px; }
.error-card .copy { margin-inline:auto; }

/* XZF4751KGFT — anatomical heart gateway */
.lounge-heart-gateway {
  position:fixed;
  z-index:18;
  left:clamp(12px,1.5vw,28px);
  top:50%;
  display:grid;
  width:clamp(168px,10.6vw,204px);
  min-height:260px;
  place-items:center;
  padding:6px 5px 22px;
  color:#ffe27d;
  text-decoration:none;
  transform:translateY(-50%);
  isolation:isolate;
  filter:drop-shadow(0 17px 20px rgba(0,0,0,.72));
}

.lounge-heart-gateway::before {
  content:"";
  position:absolute;
  z-index:-2;
  inset:15% -6% 3%;
  border:1px solid rgba(255,51,76,.12);
  clip-path:polygon(17px 0,100% 0,100% calc(100% - 17px),calc(100% - 17px) 100%,0 100%,0 17px);
  background:
    radial-gradient(circle at 50% 37%,rgba(230,0,54,.16),transparent 52%),
    linear-gradient(180deg,rgba(20,0,7,.22),rgba(4,0,2,.72));
  opacity:.72;
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}

.lounge-heart-gateway::after {
  content:"";
  position:absolute;
  z-index:-1;
  left:17%;
  right:17%;
  bottom:34px;
  height:34px;
  border-radius:50%;
  background:#ff0043;
  opacity:.2;
  filter:blur(17px);
  animation:heartGroundPulse .82s cubic-bezier(.3,.02,.3,1) infinite;
}

.lounge-heart {
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
  transform-origin:50% 61%;
  will-change:transform,filter;
  animation:franticHeart .82s cubic-bezier(.32,.02,.34,1) infinite;
}

.heart-body {
  fill:url(#heartFlesh);
  stroke:#ff3c55;
  stroke-width:2;
  stroke-linejoin:round;
}

.heart-lobe {
  fill:url(#heartFleshLight);
  opacity:.82;
  stroke:#e31a3e;
  stroke-width:1.1;
}

.heart-lobe--left { opacity:.58; }
.heart-sheen { fill:url(#heartSheen); opacity:.76; }

.heart-vessel {
  fill:none;
  stroke:url(#heartVessel);
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:22;
}

.heart-vessel--aorta { stroke-width:24; }
.heart-vessel--rear { stroke-width:17; }
.heart-vessel--left { stroke-width:15; }
.heart-vessel--blue { stroke:url(#heartBlueVessel); stroke-width:17; }

.heart-vessel-rim {
  fill:none;
  stroke:rgba(255,209,176,.7);
  stroke-linecap:round;
  stroke-width:2.2;
}

.heart-coronary {
  fill:none;
  stroke:#ff845d;
  stroke-width:4.3;
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:coronaryRush .82s cubic-bezier(.35,.02,.35,1) infinite;
}

.heart-coronary-minor {
  stroke:#ff3657;
  stroke-width:2.2;
  stroke-dasharray:4 3;
}

.heart-ridge {
  fill:none;
  stroke:rgba(255,179,139,.3);
  stroke-width:2;
  stroke-linecap:round;
}

.heart-scar {
  fill:none;
  stroke:#36000d;
  stroke-width:2.4;
  stroke-linecap:round;
  opacity:.85;
}

.lounge-heart-code {
  position:absolute;
  left:50%;
  bottom:18px;
  min-width:max-content;
  padding:7px 10px 6px;
  border-block:1px solid rgba(255,210,91,.54);
  color:#ffe47d;
  font:900 clamp(.74rem,.7vw,.9rem)/1 ui-monospace,"Cascadia Mono","Courier New",monospace;
  letter-spacing:.12em;
  text-transform:lowercase;
  text-shadow:
    0 0 3px #fff8c5,
    0 0 9px #ffc62f,
    0 0 21px rgba(255,164,0,.92),
    0 0 38px rgba(255,101,0,.58);
  background:linear-gradient(90deg,transparent,rgba(50,21,0,.68) 17%,rgba(44,16,0,.82) 83%,transparent);
  transform:translateX(-50%);
  animation:heartCodeGlow 1.64s ease-in-out infinite;
}

.lounge-heart-gateway:hover::before,
.lounge-heart-gateway:focus-visible::before {
  border-color:rgba(255,195,75,.56);
  background:
    radial-gradient(circle at 50% 37%,rgba(255,20,70,.26),transparent 57%),
    linear-gradient(180deg,rgba(38,1,11,.4),rgba(5,0,2,.86));
  transform:scale(1.025);
}

.lounge-heart-gateway:hover .lounge-heart,
.lounge-heart-gateway:focus-visible .lounge-heart,
.lounge-heart-gateway:hover .heart-coronary,
.lounge-heart-gateway:focus-visible .heart-coronary {
  animation-duration:.62s;
}

.lounge-heart-gateway:hover .lounge-heart-code,
.lounge-heart-gateway:focus-visible .lounge-heart-code {
  color:#fff4a7;
  border-color:#ffd76a;
}

.lounge-heart-gateway:focus-visible {
  outline:2px solid #ffe590;
  outline-offset:5px;
}

@keyframes franticHeart {
  0%,100% { transform:scale(1) rotate(-.7deg); filter:saturate(1) brightness(.96); }
  7% { transform:scale(1.115,1.085) rotate(.6deg); filter:saturate(1.18) brightness(1.12); }
  12% { transform:scale(.968,.982) rotate(-.4deg); filter:saturate(1.02) brightness(1); }
  19% { transform:scale(1.135,1.095) rotate(.9deg); filter:saturate(1.24) brightness(1.17); }
  28% { transform:scale(.982,.96) rotate(-1deg); filter:saturate(1.04) brightness(.98); }
  42% { transform:scale(1.045,1.02) rotate(.3deg); filter:saturate(1.1) brightness(1.05); }
  54% { transform:scale(.995,.985) rotate(-.35deg); filter:saturate(1) brightness(.97); }
  76% { transform:scale(1.012,1.006) rotate(0); filter:saturate(1.02) brightness(1); }
}

@keyframes coronaryRush {
  0%,100% { stroke:#ff714f; opacity:.72; stroke-width:4.1; }
  8%,20% { stroke:#ffd09a; opacity:1; stroke-width:5.1; }
  30%,72% { stroke:#ff4662; opacity:.78; stroke-width:4.3; }
}

@keyframes heartGroundPulse {
  0%,100% { transform:scale(.78); opacity:.12; }
  8%,20% { transform:scale(1.32); opacity:.34; }
  31% { transform:scale(.88); opacity:.16; }
}

@keyframes heartCodeGlow {
  0%,100% { filter:brightness(.9); }
  50% { filter:brightness(1.28); }
}

@media (max-width:1500px) {
  .lounge-heart-gateway {
    position:relative;
    top:auto;
    left:auto;
    width:min(304px,calc(100% - 28px));
    min-height:116px;
    grid-template-columns:94px 1fr;
    place-items:center;
    margin:12px 14px 0;
    padding:6px 16px 7px 7px;
    transform:none;
  }

  .lounge-heart-gateway::before { inset:0; }
  .lounge-heart-gateway::after {
    left:12px;
    right:auto;
    bottom:8px;
    width:82px;
    height:25px;
  }

  .lounge-heart { width:92px; grid-column:1; }
  .lounge-heart-code {
    position:relative;
    left:auto;
    bottom:auto;
    grid-column:2;
    padding:8px 5px 7px;
    transform:none;
  }
}

@media (max-width:620px) {
  .lounge-heart-gateway {
    width:min(276px,calc(100% - 14px));
    min-height:96px;
    grid-template-columns:76px 1fr;
    margin:7px 7px 0;
    padding:4px 10px 4px 5px;
  }
  .lounge-heart { width:76px; }
  .lounge-heart-code { font-size:.7rem; letter-spacing:.1em; }
}

@media (prefers-reduced-motion:reduce) {
  .lounge-heart,
  .heart-coronary,
  .lounge-heart-gateway::after,
  .lounge-heart-code { animation:none!important; }
}

/* Portrait digital receiver — the cabinet follows the 2:3 game-box format. */
.poster-wrap {
  --tv-top:42px;
  --tv-rail:68px;
  --tv-bottom:54px;
  --tv-left:20px;
  isolation:isolate;
  width:min(100%,652px);
  padding:var(--tv-top) var(--tv-rail) var(--tv-bottom) var(--tv-left);
  border:1px solid rgba(255,105,70,.7);
  border-radius:0;
  clip-path:polygon(20px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 20px),calc(100% - 20px) 100%,13px 100%,0 calc(100% - 13px),0 20px);
  background:
    linear-gradient(90deg,transparent calc(100% - var(--tv-rail)),rgba(45,2,17,.96) calc(100% - var(--tv-rail))),
    repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px),
    radial-gradient(circle at 88% 12%,rgba(255,33,91,.22),transparent 28%),
    linear-gradient(155deg,#26060f 0%,#0b0206 42%,#18040d 100%);
  box-shadow:
    0 26px 60px rgba(0,0,0,.62),
    0 0 34px rgba(210,0,53,.22),
    inset 0 0 0 1px rgba(255,217,191,.08),
    inset 0 0 38px rgba(255,27,78,.08);
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.48));
}

.poster-wrap::before {
  inset:7px;
  z-index:0;
  border:1px solid rgba(255,171,126,.24);
  border-radius:0;
  background:
    linear-gradient(90deg,rgba(255,112,70,.1),transparent 3%,transparent 89%,rgba(255,18,82,.1)),
    repeating-linear-gradient(90deg,transparent 0 15px,rgba(255,255,255,.024) 16px);
  box-shadow:inset 0 0 0 1px rgba(78,0,23,.8),inset 0 0 24px rgba(0,0,0,.5);
}

.poster-wrap::after {
  left:var(--tv-left);
  right:var(--tv-rail);
  bottom:calc(var(--tv-bottom) - 5px);
  height:1px;
  z-index:4;
  border-radius:0;
  background:linear-gradient(90deg,transparent,#ff6a7e 12%,#ff2f72 78%,transparent);
  box-shadow:0 0 10px rgba(255,33,94,.8);
  filter:none;
}

.poster {
  z-index:2;
  aspect-ratio:2/3;
  border:1px solid rgba(255,154,123,.66);
  border-radius:0;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
  background:#020104;
  box-shadow:
    0 0 0 3px rgba(16,0,8,.96),
    0 0 0 4px rgba(255,78,114,.2),
    0 13px 28px rgba(0,0,0,.48),
    0 0 24px rgba(255,28,91,.12);
  filter:contrast(1.035) saturate(1.04);
}

.poster.is-changing {
  animation:tvDigitalCut .46s cubic-bezier(.18,.72,.3,1);
}

@keyframes tvDigitalCut {
  0% { opacity:.3; filter:contrast(1.8) brightness(1.45) saturate(.65); clip-path:inset(0 0 94% 0); }
  18% { opacity:.72; clip-path:inset(0 0 68% 0); }
  47% { opacity:.88; filter:contrast(1.3) brightness(1.12) saturate(.9); clip-path:inset(0 0 22% 0); }
  100% { opacity:1; filter:contrast(1.035) saturate(1.04); clip-path:inset(0); }
}

.digital-tv__top,
.digital-tv__rail,
.digital-tv__footer,
.digital-tv__glass {
  position:absolute;
  pointer-events:none;
  user-select:none;
}

.digital-tv__top {
  z-index:7;
  top:9px;
  left:18px;
  right:calc(var(--tv-rail) + 5px);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:9px;
  min-height:24px;
  padding:0 7px;
  border-bottom:1px solid rgba(255,91,116,.25);
  color:#f4b1a3;
  font:700 .55rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.13em;
}

.digital-tv__top strong {
  overflow:hidden;
  color:#ffdbc5;
  font:inherit;
  white-space:nowrap;
  text-overflow:ellipsis;
  text-shadow:0 0 8px rgba(255,85,103,.72);
}

.digital-tv__top b {
  color:#ff718f;
  font:inherit;
  white-space:nowrap;
}

.digital-tv__power,
.digital-tv__led {
  display:block;
  width:7px;
  height:7px;
  border:1px solid #ff7d91;
  border-radius:50%;
  background:#5d0a21;
  box-shadow:0 0 0 2px rgba(75,0,21,.8),0 0 7px rgba(255,45,90,.42);
}

body.slideshow-active .digital-tv__power,
body.slideshow-active .digital-tv__led {
  background:#ff355f;
  box-shadow:0 0 0 2px rgba(75,0,21,.8),0 0 10px #ff2d62,0 0 18px rgba(255,96,66,.72);
  animation:tvLed 1.35s steps(2,end) infinite;
}

body.show-finished .digital-tv__power,
body.show-finished .digital-tv__led {
  background:#ffb23f;
  border-color:#ffd48a;
  box-shadow:0 0 0 2px rgba(75,25,0,.72),0 0 12px rgba(255,174,58,.9);
  animation:none;
}

@keyframes tvLed { 50% { opacity:.46; } }

.digital-tv__rail {
  z-index:7;
  top:calc(var(--tv-top) + 2px);
  right:9px;
  bottom:calc(var(--tv-bottom) + 4px);
  width:45px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto repeat(3,30px) auto 1fr;
  justify-items:center;
  align-items:center;
  gap:8px;
  padding:12px 7px 9px;
  border-left:1px solid rgba(255,100,123,.24);
  background:linear-gradient(90deg,rgba(255,26,80,.045),rgba(0,0,0,.13));
  box-shadow:inset 8px 0 14px rgba(0,0,0,.2);
}

.digital-tv__rail i {
  display:block;
  width:25px;
  height:25px;
  border:1px solid rgba(255,145,118,.48);
  clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
  background:
    linear-gradient(135deg,rgba(255,158,111,.16),transparent 45%),
    #12030a;
  box-shadow:inset 0 0 8px rgba(230,0,65,.18),0 0 7px rgba(255,44,92,.08);
}

.digital-tv__rail i:nth-of-type(1)::after,
.digital-tv__rail i:nth-of-type(2)::after,
.digital-tv__rail i:nth-of-type(3)::after {
  display:block;
  color:#d78a82;
  font:700 .42rem/23px ui-monospace,monospace;
  text-align:center;
}
.digital-tv__rail i:nth-of-type(1)::after { content:"01"; }
.digital-tv__rail i:nth-of-type(2)::after { content:"+"; }
.digital-tv__rail i:nth-of-type(3)::after { content:"−"; }

.digital-tv__rail em {
  color:#c76b72;
  font:700 .43rem/1.35 ui-monospace,monospace;
  letter-spacing:.11em;
  text-align:center;
}

.digital-tv__speaker {
  align-self:stretch;
  width:31px;
  min-height:88px;
  border:1px solid rgba(255,111,109,.24);
  background:
    radial-gradient(circle,rgba(255,128,111,.42) 0 1px,transparent 1.4px) 0 0/7px 7px,
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.34));
  box-shadow:inset 0 0 12px rgba(0,0,0,.74);
}

.digital-tv__glass {
  z-index:3;
  top:var(--tv-top);
  right:var(--tv-rail);
  bottom:var(--tv-bottom);
  left:var(--tv-left);
  border:1px solid rgba(255,218,207,.14);
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
  background:
    linear-gradient(116deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.018) 16%,transparent 36%),
    repeating-linear-gradient(180deg,transparent 0 3px,rgba(255,76,127,.032) 3px 4px);
  box-shadow:inset 0 0 25px rgba(0,0,0,.26),inset 0 0 3px rgba(255,235,225,.18);
}

.digital-tv__footer {
  z-index:7;
  right:var(--tv-rail);
  bottom:12px;
  left:var(--tv-left);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  height:27px;
  padding:0 7px;
  color:#b96b68;
  font:700 .48rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.12em;
  white-space:nowrap;
}

.digital-tv__footer b {
  color:#ff725f;
  font:inherit;
  text-shadow:0 0 8px rgba(255,52,94,.64);
}

.promo-play {
  z-index:8;
  left:calc(50% - 24px);
  top:65%;
}

.cinema-interface {
  z-index:8;
  left:calc(var(--tv-left) + 10px);
  right:calc(var(--tv-rail) + 10px);
  bottom:calc(var(--tv-bottom) + 10px);
}

.end-choices {
  z-index:7;
  inset:var(--tv-top) var(--tv-rail) var(--tv-bottom) var(--tv-left);
}

body.show-finished .poster-wrap .cinema-interface {
  left:auto;
  right:calc(var(--tv-rail) + 9px);
  bottom:calc(var(--tv-bottom) + 9px);
}

@media (max-width:620px) {
  .poster-wrap {
    --tv-top:34px;
    --tv-rail:47px;
    --tv-bottom:45px;
    --tv-left:11px;
    width:100%;
    padding:var(--tv-top) var(--tv-rail) var(--tv-bottom) var(--tv-left);
    clip-path:polygon(13px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 13px),calc(100% - 13px) 100%,9px 100%,0 calc(100% - 9px),0 13px);
  }

  .poster-wrap::before { inset:5px; }
  .poster-wrap::after { bottom:calc(var(--tv-bottom) - 4px); }

  .digital-tv__top {
    top:6px;
    left:10px;
    right:calc(var(--tv-rail) + 2px);
    gap:6px;
    min-height:21px;
    padding:0 4px;
    font-size:.43rem;
    letter-spacing:.08em;
  }

  .digital-tv__power,
  .digital-tv__led { width:6px; height:6px; }

  .digital-tv__rail {
    right:5px;
    width:34px;
    grid-template-rows:auto repeat(3,23px) auto 1fr;
    gap:6px;
    padding:8px 4px 7px;
  }

  .digital-tv__rail i { width:21px; height:21px; }
  .digital-tv__rail i:nth-of-type(1)::after,
  .digital-tv__rail i:nth-of-type(2)::after,
  .digital-tv__rail i:nth-of-type(3)::after { font-size:.37rem; line-height:19px; }
  .digital-tv__rail em { font-size:.36rem; }
  .digital-tv__speaker { width:24px; min-height:60px; background-size:6px 6px; }

  .digital-tv__footer {
    bottom:10px;
    height:22px;
    padding-inline:4px;
    font-size:.4rem;
    letter-spacing:.07em;
  }

  .promo-play {
    left:calc(50% - 17px);
    top:65%;
    min-width:min(64vw,224px);
  }

  .cinema-interface {
    left:calc(var(--tv-left) + 7px);
    right:calc(var(--tv-rail) + 7px);
    bottom:calc(var(--tv-bottom) + 7px);
  }

  body.show-finished .poster-wrap .cinema-interface {
    right:calc(var(--tv-rail) + 6px);
    bottom:calc(var(--tv-bottom) + 6px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .digital-tv__power,
  .digital-tv__led { animation:none!important; }
}

/* ========================================================================== 
   V4 — RADIOVISION 1954
   Meuble en noyer et bakélite, écran cathodique 4:3, affiches non déformées.
   ========================================================================== */

:root {
  --crt-ivory:#ead7b2;
  --crt-brass:#bc8b42;
  --crt-wine:#591323;
  --crt-screen:#080d0a;
}

body {
  background:
    radial-gradient(ellipse at 50% -15%,rgba(135,49,52,.34),transparent 55%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 9px),
    linear-gradient(180deg,#1d0c0c 0%,#0d0707 55%,#160a08 100%);
  color:var(--crt-ivory);
}

body::before {
  background:
    linear-gradient(90deg,rgba(8,3,2,.88),transparent 18%,transparent 82%,rgba(8,3,2,.88)),
    repeating-linear-gradient(90deg,transparent 0 70px,rgba(136,70,43,.08) 71px 73px,transparent 74px 140px);
  opacity:.7;
}

main { max-width:1180px; padding-inline:clamp(12px,3vw,36px); }

.stage {
  border:1px solid rgba(220,175,97,.38);
  border-radius:42px;
  clip-path:none;
  background:
    radial-gradient(ellipse at 50% 12%,rgba(116,30,45,.28),transparent 48%),
    linear-gradient(145deg,rgba(45,14,18,.96),rgba(12,7,7,.98) 52%,rgba(39,17,13,.97));
  box-shadow:0 30px 85px rgba(0,0,0,.72),inset 0 0 0 5px rgba(85,38,27,.62),inset 0 0 65px rgba(0,0,0,.55);
}

.stage::after { border-radius:34px; border-color:rgba(226,183,105,.16); clip-path:none; }

.brand-bar {
  margin:clamp(14px,2.2vw,26px) clamp(14px,2.5vw,30px) 0;
  min-height:64px;
  padding:10px 18px;
  border:1px solid rgba(241,207,132,.55);
  border-radius:18px;
  clip-path:none;
  background:linear-gradient(180deg,rgba(255,229,165,.12),transparent 46%),linear-gradient(135deg,#7b552c,#c09552 48%,#65421f);
  box-shadow:inset 0 0 0 3px rgba(46,22,12,.34),0 7px 18px rgba(0,0,0,.32);
  color:#1d0e09;
}

.brand-sigil { color:#2f1012; filter:drop-shadow(0 1px rgba(255,236,183,.35)); }
.brand-name { color:#220e0d; font-family:Georgia,"Times New Roman",serif; letter-spacing:.06em; text-shadow:0 1px rgba(255,235,178,.45); }
.brand-status { color:#3d1b14; font-weight:800; letter-spacing:.1em; }
.showcase { padding:clamp(28px,5vw,66px) clamp(8px,3vw,36px) clamp(18px,3vw,36px); }

.poster-wrap {
  --tv-top:14%;
  --tv-left:7%;
  --tv-rail:27%;
  --tv-bottom:22%;
  position:relative;
  width:min(100%,900px);
  aspect-ratio:4/3;
  min-height:0;
  margin-inline:auto;
  padding:0;
  overflow:visible;
  border:clamp(7px,1vw,12px) solid #24120c;
  border-radius:clamp(34px,5vw,76px) clamp(34px,5vw,76px) clamp(25px,4vw,58px) clamp(25px,4vw,58px);
  clip-path:none;
  background:
    linear-gradient(102deg,transparent 12%,rgba(255,209,139,.09) 23%,transparent 34%),
    repeating-linear-gradient(7deg,rgba(255,196,119,.035) 0 2px,rgba(22,8,3,.035) 3px 7px),
    linear-gradient(145deg,#6d3520 0%,#3b1b11 32%,#6a321d 65%,#32150d 100%);
  box-shadow:0 28px 38px rgba(0,0,0,.65),0 7px 0 #120907,inset 0 0 0 3px rgba(220,151,79,.24),inset 0 -24px 38px rgba(16,5,2,.58),inset 0 15px 25px rgba(255,194,116,.08);
}

.poster-wrap::before {
  z-index:1;
  inset:11.5% 24.8% 19.5% 4.7%;
  border:clamp(8px,1.5vw,18px) solid #1d110d;
  border-radius:15% / 12%;
  clip-path:none;
  background:#0b0c09;
  box-shadow:0 0 0 3px #765038,0 0 0 6px #24140f,inset 0 0 25px #000,10px 12px 24px rgba(0,0,0,.4);
}

.poster-wrap::after {
  z-index:0;
  left:10%;
  right:10%;
  bottom:-7.5%;
  height:9%;
  border:0;
  border-radius:50%;
  clip-path:none;
  background:radial-gradient(ellipse,rgba(0,0,0,.72),transparent 70%);
  box-shadow:none;
  opacity:1;
}

.poster {
  z-index:2;
  position:absolute;
  top:var(--tv-top);
  right:auto;
  bottom:auto;
  left:var(--tv-left);
  width:66%;
  height:64%;
  max-width:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  padding:1.2%;
  border:0;
  border-radius:13% / 10%;
  clip-path:none;
  background:var(--crt-screen);
  box-shadow:inset 0 0 35px #000;
  filter:saturate(.94) contrast(1.04) brightness(.92) sepia(.04);
}

.poster.is-changing { animation:crtCarousel .66s ease-in-out both; }

@keyframes crtCarousel {
  0%,100% { opacity:1; filter:saturate(.94) contrast(1.04) brightness(.92) sepia(.04); }
  48%,52% { opacity:.08; filter:saturate(.75) contrast(1.15) brightness(1.3) sepia(.08); }
}

.digital-tv__glass {
  z-index:4;
  top:var(--tv-top);
  right:var(--tv-rail);
  bottom:var(--tv-bottom);
  left:var(--tv-left);
  border:1px solid rgba(234,255,224,.16);
  border-radius:13% / 10%;
  clip-path:none;
  background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.44) 100%),linear-gradient(112deg,rgba(255,255,235,.13) 3%,rgba(255,255,255,.025) 21%,transparent 42%),repeating-linear-gradient(180deg,transparent 0 3px,rgba(182,213,163,.035) 3px 4px);
  box-shadow:inset 0 0 34px rgba(0,0,0,.47),inset 0 0 5px rgba(255,248,215,.24);
}

.digital-tv__top {
  z-index:7;
  top:5%;
  left:7%;
  right:28%;
  min-height:5%;
  padding:0 1.2%;
  gap:10px;
  border:1px solid rgba(43,20,11,.45);
  border-radius:999px;
  background:linear-gradient(180deg,#d3aa68,#916532);
  color:#2a120c;
  box-shadow:inset 0 1px rgba(255,237,184,.72),0 2px 5px rgba(0,0,0,.38);
  font:800 clamp(.42rem,1vw,.68rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing:.12em;
}

.digital-tv__top strong { color:#2a120c; text-shadow:0 1px rgba(255,231,170,.48); }
.digital-tv__top b { color:#571424; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }

.digital-tv__power,
.digital-tv__led {
  width:clamp(7px,1vw,11px);
  height:clamp(7px,1vw,11px);
  border:1px solid #2b0f0b;
  background:#4b111b;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.22),0 0 0 2px #76512e;
}

body.slideshow-active .digital-tv__power,
body.slideshow-active .digital-tv__led {
  background:#c82f34;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.34),0 0 0 2px #76512e,0 0 10px rgba(236,57,53,.55);
}

.digital-tv__rail {
  z-index:7;
  top:17%;
  right:4.3%;
  bottom:17%;
  width:16.5%;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto repeat(3,minmax(34px,1fr)) auto 2fr;
  gap:clamp(4px,.8vw,10px);
  padding:clamp(8px,1.5vw,16px);
  border:3px solid #160d0a;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),transparent 30%),linear-gradient(160deg,#332019,#160e0b 70%);
  box-shadow:inset 0 0 0 2px #674832,inset 0 0 18px #000,5px 8px 16px rgba(0,0,0,.42);
}

.digital-tv__rail i {
  position:relative;
  width:clamp(28px,5.6vw,58px);
  height:clamp(28px,5.6vw,58px);
  border:3px solid #a87b45;
  border-radius:50%;
  clip-path:none;
  background:linear-gradient(90deg,transparent 47%,rgba(231,203,148,.65) 48% 52%,transparent 53%) center 15%/45% 30% no-repeat,radial-gradient(circle at 35% 28%,#5b4233,#201511 62%,#090604 66%);
  box-shadow:inset 0 0 0 3px #140c09,0 2px 6px #000,0 0 0 2px #2b1a13;
}

.digital-tv__rail i:nth-of-type(1)::after,
.digital-tv__rail i:nth-of-type(2)::after,
.digital-tv__rail i:nth-of-type(3)::after {
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  color:#e4c58c;
  font:800 clamp(.32rem,.65vw,.5rem)/1 ui-monospace,monospace;
  letter-spacing:.05em;
  text-shadow:0 1px #000;
  transform:translate(-50%,-50%);
}
.digital-tv__rail i:nth-of-type(1)::after { content:"VHF"; }
.digital-tv__rail i:nth-of-type(2)::after { content:"LUM"; }
.digital-tv__rail i:nth-of-type(3)::after { content:"VOL"; }

.digital-tv__rail em { color:#d5b478; font:700 clamp(.35rem,.7vw,.52rem)/1.25 Georgia,serif; letter-spacing:.14em; text-shadow:0 1px #000; }

.digital-tv__speaker {
  align-self:stretch;
  width:82%;
  min-height:50px;
  border:2px solid #120b08;
  border-radius:14px;
  background:radial-gradient(circle,#25150e 0 1.2px,transparent 1.5px) 0 0/7px 7px,linear-gradient(135deg,#a27b4d,#65462d);
  box-shadow:inset 0 0 14px rgba(0,0,0,.7),0 0 0 1px #82603d;
}

.digital-tv__footer {
  z-index:7;
  left:7%;
  right:27%;
  bottom:5%;
  height:6%;
  padding:0 2%;
  border:1px solid #1d0f0b;
  border-radius:999px;
  background:linear-gradient(180deg,#b48648,#735027);
  color:#2a120b;
  box-shadow:inset 0 1px rgba(255,229,165,.48),0 2px 6px rgba(0,0,0,.4);
  font:800 clamp(.38rem,.85vw,.6rem)/1 Georgia,serif;
  letter-spacing:.12em;
}

.digital-tv__footer b { color:#541423; text-shadow:none; }

.promo-play {
  z-index:8;
  left:40%;
  top:48%;
  min-width:min(36vw,255px);
  min-height:clamp(46px,6vw,62px);
  border:2px solid #2b130e;
  border-radius:999px;
  clip-path:none;
  background:linear-gradient(180deg,#f0d8ab,#b98c52);
  color:#3b1018;
  box-shadow:inset 0 2px rgba(255,255,255,.58),0 6px 0 #482418,0 9px 18px rgba(0,0,0,.56);
  font-family:Georgia,"Times New Roman",serif;
  text-shadow:0 1px rgba(255,255,255,.42);
}

.promo-play:hover { background:linear-gradient(180deg,#ffe8b9,#cda164); color:#691628; box-shadow:inset 0 2px rgba(255,255,255,.7),0 6px 0 #482418,0 10px 22px rgba(0,0,0,.58),0 0 20px rgba(232,179,92,.2); }
.promo-play::after { background:linear-gradient(90deg,#6f1529,#c84a44); }

.cinema-interface { z-index:8; left:9%; right:29%; bottom:23.5%; }
.show-progress { accent-color:#a42631; }

.cinema-control {
  border-color:#6b492e;
  background:linear-gradient(180deg,rgba(239,210,157,.95),rgba(159,113,66,.95));
  color:#3a1711;
  box-shadow:inset 0 1px rgba(255,255,255,.55),0 2px 5px rgba(0,0,0,.55);
}

.cinema-control:hover { background:linear-gradient(180deg,#ffe6b7,#c2945b); color:#6f1529; }

.end-choices {
  z-index:7;
  inset:var(--tv-top) var(--tv-rail) var(--tv-bottom) var(--tv-left);
  border-radius:13% / 10%;
  clip-path:none;
  background:radial-gradient(ellipse at center,rgba(91,19,35,.89),rgba(6,8,6,.98) 72%);
}

.choice-button {
  border-color:#d6ab65;
  background:linear-gradient(180deg,#eed8ad,#ad7b43);
  color:#3e1117;
  box-shadow:inset 0 1px rgba(255,255,255,.65),0 5px 0 #3b1d13,0 9px 18px rgba(0,0,0,.55);
  font-family:Georgia,"Times New Roman",serif;
}

body.show-finished .poster-wrap .cinema-interface { right:29%; bottom:23.5%; }

.action {
  margin:clamp(4px,1vw,14px) clamp(14px,4vw,52px) clamp(22px,4vw,52px);
  padding:clamp(28px,5vw,56px);
  border:1px solid rgba(226,187,113,.38);
  border-radius:30px;
  clip-path:none;
  background:linear-gradient(135deg,rgba(255,226,167,.06),transparent 32%),linear-gradient(160deg,rgba(81,21,34,.86),rgba(25,11,11,.94));
  box-shadow:inset 0 0 0 4px rgba(76,38,25,.52),0 18px 40px rgba(0,0,0,.35);
}

.action::before,
.action::after { color:var(--crt-brass); opacity:.6; }
.action .eyebrow { color:#dcb771; }
.action h1 { color:#f3dfba; font-family:Georgia,"Times New Roman",serif; text-shadow:0 2px 14px rgba(0,0,0,.7); }
.action .copy { color:#d7c6ad; }
.action .signature { color:#b99663; }
.cta { border-color:#d2a55f; background:linear-gradient(180deg,#d0a158,#81562c); color:#24110c; box-shadow:inset 0 1px rgba(255,241,190,.48),0 5px 0 #3b1c13; }
.cta:hover { background:linear-gradient(180deg,#e4bc73,#9b6b35); color:#3e1019; }

.funding-corner {
  border-color:#b58a50;
  background:linear-gradient(160deg,rgba(82,29,29,.96),rgba(23,12,10,.98));
  box-shadow:0 16px 34px rgba(0,0,0,.58),inset 0 0 0 2px rgba(201,151,78,.18);
}

.lounge-heart-code { color:#dfbd7a; }

@media (max-width:620px) {
  main { padding-inline:7px; }
  .stage { border-radius:25px; }
  .brand-bar { margin:9px 9px 0; min-height:52px; padding:8px 10px; border-radius:14px; }
  .brand-status { max-width:38%; font-size:.5rem; text-align:right; }
  .showcase { padding:28px 2px 20px; }

  .poster-wrap {
    --tv-top:14%;
    --tv-left:6%;
    --tv-rail:28%;
    --tv-bottom:22%;
    width:100%;
    aspect-ratio:4/3;
    padding:0;
    border-width:5px;
    border-radius:32px 32px 24px 24px;
    clip-path:none;
  }

  .poster-wrap::before { inset:11.5% 25.8% 19.5% 3.8%; border-width:7px; }
  .poster-wrap::after { bottom:-7%; }
  .poster { border-radius:12% / 9%; padding:1%; }
  .digital-tv__glass { border-radius:12% / 9%; }

  .digital-tv__top {
    top:4.5%;
    left:6%;
    right:29%;
    min-height:5.5%;
    padding-inline:2%;
    font-size:.38rem;
    letter-spacing:.07em;
  }

  .digital-tv__power,
  .digital-tv__led { width:6px; height:6px; }

  .digital-tv__rail {
    top:16%;
    right:3%;
    bottom:16%;
    width:18%;
    grid-template-rows:auto repeat(3,minmax(24px,1fr)) auto 1.7fr;
    gap:3px;
    padding:6px 4px;
    border-width:2px;
    border-radius:18px;
  }

  .digital-tv__rail i { width:clamp(23px,10vw,40px); height:clamp(23px,10vw,40px); border-width:2px; }
  .digital-tv__rail i:nth-of-type(1)::after,
  .digital-tv__rail i:nth-of-type(2)::after,
  .digital-tv__rail i:nth-of-type(3)::after { font-size:.28rem; }
  .digital-tv__rail em { font-size:.28rem; }
  .digital-tv__speaker { width:80%; min-height:30px; background-size:5px 5px; }

  .digital-tv__footer {
    left:6%;
    right:28%;
    bottom:4.5%;
    height:6.5%;
    padding-inline:2%;
    font-size:.31rem;
    letter-spacing:.07em;
  }

  .promo-play { left:39%; top:48%; min-width:min(44vw,185px); min-height:40px; font-size:.7rem; }
  .cinema-interface { left:8%; right:30%; bottom:23.5%; }
  .cinema-controls { gap:4px; }
  .cinema-control { width:32px; height:32px; }
  body.show-finished .poster-wrap .cinema-interface { right:30%; bottom:23.5%; }
  .end-choices { inset:var(--tv-top) var(--tv-rail) var(--tv-bottom) var(--tv-left); }
  .choice-button { min-width:min(43vw,150px); font-size:.85rem; }
  .action { margin:0 9px 28px; padding:30px 17px; border-radius:22px; }
}

@media (prefers-reduced-motion:reduce) {
  .poster.is-changing { animation:none!important; }
}

/* ========================================================================== 
   V4.5 — ÉCRAN 2:3 POUR LES JAQUETTES
   Les 18 WebP font 768 × 1152. Le meuble s'allonge sans déplacer le lecteur :
   écran = 66 % de la largeur × 84 % de la hauteur, soit exactement 2:3.
   ========================================================================== */

.poster-wrap {
  --tv-top:7%;
  --tv-left:7%;
  --tv-rail:27%;
  --tv-bottom:9%;
  width:min(100%,840px);
  aspect-ratio:28 / 33;
}

.poster-wrap::before {
  inset:4.8% 24.6% 6.8% 4.7%;
}

.poster-wrap::after {
  bottom:-5%;
}

.poster {
  width:66%;
  height:84%;
  padding:0;
}

.digital-tv__top {
  top:2%;
  left:7%;
  right:28%;
  min-height:3.7%;
}

.digital-tv__rail {
  top:10%;
  bottom:10%;
}

.digital-tv__footer {
  left:7%;
  right:27%;
  bottom:2.5%;
  height:4.5%;
}

/* Le lecteur conserve volontairement sa position V4.4. */
.cinema-interface { left:9%; right:29%; bottom:23.5%; }
body.show-finished .poster-wrap .cinema-interface { right:29%; bottom:23.5%; }

@media (max-width:620px) {
  .poster-wrap {
    --tv-top:7%;
    --tv-left:6%;
    --tv-rail:28%;
    --tv-bottom:9%;
    width:100%;
    aspect-ratio:28 / 33;
  }

  .poster-wrap::before { inset:4.8% 25.8% 6.8% 3.8%; }

  .digital-tv__top {
    top:2%;
    left:6%;
    right:29%;
    min-height:3.7%;
  }

  .digital-tv__rail { top:10%; bottom:10%; }

  .digital-tv__footer {
    left:6%;
    right:28%;
    bottom:2.5%;
    height:4.5%;
  }

  .cinema-interface { left:8%; right:30%; bottom:23.5%; }
  body.show-finished .poster-wrap .cinema-interface { right:30%; bottom:23.5%; }
}
