/* Hot Seat TFT screen (legacy TFT Hot Seat app). Fire frame fills the takeover; the 640x240 design is scaled
   into it (--u = one design pixel) and centred. Positions and sizes are measured from the TFT app. */
.hotseat-tft-takeover{height:100%}
.hs-tft{position:relative;height:100%;container-type:size;overflow:hidden;border:1px solid #ffe099;border-radius:12px;background:#0a0500 url('../images/hotseat/panel-fire-frame_hoz.jpg') no-repeat center/100% 100%}
.hs-stage{--u:calc(min(100cqw,266.667cqh)/640);position:absolute;left:50%;top:50%;width:calc(640*var(--u));height:calc(240*var(--u));transform:translate(-50%,-50%);font-family:Arial,Helvetica,sans-serif}
.hs-stage img{display:block}
.hs-digits{display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:calc(var(--fs)*var(--u))}
.hs-digits img{height:1em;width:auto}
.hs-comma{color:#cfcfcf;font:900 .78em/1 "Arial Black",Arial;align-self:flex-end;margin:0 .01em;text-shadow:0 1px 1px #0006}
.hs-colon{color:#eaeaea;font:900 .95em/1 "Arial Black",Arial;margin:0 .04em}

/* Panel: pool, next prize, remaining prizes, session countdown */
.hs-panel>*{position:absolute}
.hs-pool-label{left:calc(70.4*var(--u));top:calc(60*var(--u));width:calc(172.8*var(--u));height:auto}
.hs-box{background:no-repeat center/100% 100%}
.hs-bv{position:absolute;transform:translate(-50%,-50%)}
.hs-box-pool{left:calc(70.4*var(--u));top:calc(133.9*var(--u));width:calc(172.8*var(--u));height:calc(53.1*var(--u));background-image:url('../images/hotseat/box-pool.png');--fs:38.4}
.hs-box-pool .hs-bv{left:49.34%;top:48.37%}
.hs-box-next{left:calc(422.4*var(--u));top:calc(52.8*var(--u));width:calc(153.6*var(--u));height:calc(76.2*var(--u));background-image:url('../images/hotseat/box-next.png');--fs:33.92}
.hs-box-next .hs-bv{left:50%;top:66.53%}
.hs-box-remaining{left:calc(266*var(--u));top:calc(95*var(--u));width:calc(128*var(--u));height:calc(62.7*var(--u));background-image:url('../images/hotseat/box-remaining.png');--fs:25.6}
.hs-box-remaining .hs-bv{left:49.62%;top:57.03%}
.hs-session-label{left:calc(424*var(--u));top:calc(149*var(--u));width:calc(150*var(--u));height:auto}
.hs-timer{left:calc(424*var(--u));top:calc(169*var(--u));width:calc(150*var(--u));height:calc(46.6*var(--u));background:url('../images/hotseat/timer-plate.png') no-repeat center/100% 100%;--fs:17.28}
.hs-tgrp{position:absolute;top:36.81%;transform:translate(-50%,-50%)}
.hs-t-h{left:19.8%}.hs-t-m{left:48.12%}.hs-t-s{left:77.47%}
.hs-panel .hs-digits{animation:hs-pulse 2.1s ease-in-out infinite}

/* Draw screens: search / winner / not found */
.hs-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(30*var(--u)) calc(210*var(--u)) calc(26*var(--u))}
.hs-screen>*{flex:none;animation:hs-pop .5s cubic-bezier(.2,.7,.3,1) both}
.hs-screen>*+*{margin-top:calc(6*var(--u))}
.hs-screen>:nth-child(2){animation-delay:.12s}.hs-screen>:nth-child(3){animation-delay:.24s}.hs-screen>:nth-child(4){animation-delay:.36s}.hs-screen>:nth-child(5){animation-delay:.48s}
.hs-lines{width:calc(280*var(--u));display:flex;flex-direction:column;align-items:center}
.hs-lines img{width:100%;height:auto}
.hs-lines img+img{margin-top:calc(6*var(--u))}
.hs-lines .hs-line2{width:63.3%}
.hs-plate{width:calc(190*var(--u));display:flex;align-items:center;justify-content:center;padding:calc(6*var(--u)) 11%;background:no-repeat center/100% 100%}
.hs-plate[hidden]{display:none}
.hs-plate-name{height:calc(54*var(--u));background-image:url('../images/hotseat/screens/winner_name_border.png')}
.hs-plate-loc{height:calc(36*var(--u));background-image:url('../images/hotseat/screens/member_number_border.png')}
.hs-plate-prize{height:calc(41.9*var(--u));background-image:url('../images/hotseat/screens/winner_prize_border.png')}
.hs-winner .hs-plate-name{height:calc(41.9*var(--u))}
.hs-winner .hs-plate-loc{height:calc(29.1*var(--u))}
.hs-val{width:100%;overflow:hidden;color:#fff;font:800 calc(13*var(--u))/1.15 Arial,Helvetica,sans-serif;text-align:center;text-shadow:0 calc(2*var(--u)) calc(4*var(--u)) #000;white-space:nowrap;text-overflow:ellipsis}
.hs-val-loc{font-size:calc(var(--fs)*var(--u));line-height:1}
.hs-congrats{width:calc(270*var(--u));height:auto}
.hs-youwon{width:calc(140*var(--u));height:auto}
.hs-notfound-text{width:calc(285*var(--u));height:auto}
@keyframes hs-pop{0%{opacity:0;transform:translateY(calc(36*var(--u))) scale(.9)}100%{opacity:1;transform:none}}
@keyframes hs-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.hs-screen>*,.hs-panel .hs-digits{animation:none}}

/* Redeem Prize / View Redemption beside the prize plate when this member won */
.hs-redeem{position:absolute;left:calc(428*var(--u));top:calc(126*var(--u));width:calc(112*var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(4*var(--u));animation:hs-pop .5s .5s cubic-bezier(.2,.7,.3,1) both}
.hs-redeem button{width:100%;min-width:0;min-height:calc(36*var(--u));padding:0 calc(4*var(--u));border-radius:calc(6*var(--u));font-size:calc(10*var(--u));line-height:1.1;touch-action:manipulation;animation:hs-claim-glow 1.3s ease-in-out infinite alternate}
.hs-redeemed button{animation:none}
.hs-redeem p{margin:0;color:#ffe9b0;font:700 calc(7*var(--u))/1.2 Arial,Helvetica,sans-serif;text-align:center;text-shadow:0 1px 2px #000}

/* Win This Machine armed: one flash when pressed, then a glowing frame and toolbar button until the winner */
.hs-tft.hs-armed{animation:hs-armed-frame 1.3s ease-in-out infinite alternate}
.hs-tft.hs-flash::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 3px #ffe27a,inset 0 0 60px #ffb52e;animation:hs-flash 1.2s ease-out both}
.topbar .sim-win.sim-armed{border-color:#ffd66b;box-shadow:0 0 0 1px #ffd66b,0 0 16px #ffc23a99;animation:hs-armed 1.3s ease-in-out infinite alternate}
@keyframes hs-claim-glow{from{box-shadow:0 0 4px #ffc23a88;filter:brightness(1)}to{box-shadow:0 0 16px #ffc23a;filter:brightness(1.12)}}
@keyframes hs-armed-frame{from{border-color:#ffe099;box-shadow:inset 0 0 8px #ffb52e55,0 0 4px #ffc23a55}to{border-color:#fff1b0;box-shadow:inset 0 0 40px #ffb52ecc,0 0 16px #ffc23acc}}
@keyframes hs-flash{0%{opacity:0}15%{opacity:1;background:#ffd76a33}100%{opacity:0}}
@keyframes hs-armed{from{box-shadow:0 0 0 1px #ffd66b,0 0 6px #ffc23a55}to{box-shadow:0 0 0 1px #ffd66b,0 0 18px #ffc23acc}}
@media(prefers-reduced-motion:reduce){.hs-redeem button,.hs-tft.hs-armed,.hs-tft.hs-flash::after,.topbar .sim-win.sim-armed{animation:none}}
