/* Экран эфира /host — «Карточная комната». Холст 1920×1080, масштабируется скриптом fitHost().
   Всё графическое лежит в /assets/host/. Инлайн-стилей в разметке нет (CSP style-src 'self'). */
body.host{background:#120d0a;margin:0;overflow:hidden;min-height:100vh;font-family:Georgia,'Times New Roman',serif;color:#f6ecd0}
body.host #app{position:fixed;inset:0;overflow:hidden}
#hz-stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;background:#1b120d url('/assets/host/bg.webp') center/cover;font-family:Georgia,'Times New Roman',serif;color:#f6ecd0;line-height:1.15}
#hz-stage.victory{background-image:url('/assets/host/bg-victory.webp')}
#hz-stage *{box-sizing:border-box;margin:0;padding:0}
#hz-stage img{display:block;max-width:none}
.hz-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 520px at 50% 6%,rgba(255,205,120,.25),transparent 70%),radial-gradient(1400px 900px at 50% 50%,transparent 55%,rgba(10,5,2,.55) 100%)}

/* позиции слотов: камера 594×344 + строка статистики 118 */
.hz-slot{position:absolute;width:594px;height:462px}
.hz-p0{left:24px;top:64px}.hz-p1{left:1302px;top:64px}.hz-p2{left:24px;top:548px}.hz-p3{left:1302px;top:548px}.hz-pm{left:663px;top:64px;height:344px}
.hz-cam{position:absolute;left:0;top:0;width:594px;height:344px;transition:filter .4s}
.hz-cam.dim{filter:brightness(.55) saturate(.7)}
#hz-stage .hz-shot{position:absolute;left:22px;top:17px;width:550px;height:310px;min-height:0;flex:none;display:block;gap:0;border-radius:6px;overflow:hidden;background:#241a14}
#hz-stage .hz-shot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0a0f0a;z-index:1}
#hz-stage .hz-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hz-cam.bust .hz-fallback,.hz-cam.bust video{filter:grayscale(.75) contrast(1.05)}
.hz-shot:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 22%,transparent 70%,rgba(0,0,0,.32));pointer-events:none}
.hz-frame{position:absolute;left:0;top:0;width:594px;height:344px;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(0,0,0,.5))}
.hz-cam.active .hz-frame{animation:hzpulse 2.2s ease-in-out infinite;filter:drop-shadow(0 0 22px rgba(255,190,90,.95)) drop-shadow(0 0 60px rgba(255,160,60,.65)) drop-shadow(0 10px 14px rgba(0,0,0,.5))}
@keyframes hzpulse{50%{filter:drop-shadow(0 0 14px rgba(255,190,90,.7)) drop-shadow(0 0 40px rgba(255,160,60,.4)) drop-shadow(0 10px 14px rgba(0,0,0,.5))}}
.hz-plate{position:absolute;left:34px;top:276px;width:270px;height:62px;z-index:4;background:url('/assets/host/nameplate.webp') center/100% 100% no-repeat;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#2a1a0c;text-shadow:0 1px 0 rgba(255,240,200,.5);filter:drop-shadow(0 4px 5px rgba(0,0,0,.5));white-space:nowrap;overflow:hidden}
.hz-tag{position:absolute;right:10px;top:10px;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(24,14,8,.82);border:1px solid rgba(231,189,116,.55);border-radius:30px;padding:4px 18px 4px 16px;font:20px Arial,sans-serif;color:#f1dcae}
.hz-tag b{font:700 34px Georgia,serif;color:#fff3d0}.hz-tag .ok{color:#8fe3a0;font-size:26px}
.hz-tag.wait{font-size:23px;padding:6px 20px;color:#ffe9b8}
.hz-tok{position:absolute;right:24px;bottom:12px;width:84px;z-index:5;filter:drop-shadow(0 6px 8px rgba(0,0,0,.6))}
.hz-pointer{position:absolute;left:300px;top:272px;width:128px;transform:scaleX(-1);z-index:6;filter:drop-shadow(0 6px 8px rgba(0,0,0,.7));animation:hznudge 1.4s ease-in-out infinite}
@keyframes hznudge{50%{translate:-10px 0}}
.hz-crown{position:absolute;left:50%;top:-86px;width:190px;margin-left:-95px;z-index:7;filter:drop-shadow(0 8px 10px rgba(0,0,0,.6))}
.hz-burst{position:absolute;right:40px;top:40px;width:200px;z-index:5;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}

/* строка статистики */
.hz-stats{position:absolute;left:0;top:344px;width:594px;height:118px;display:flex;align-items:center;padding:14px 20px 0 30px;gap:14px}
.hz-sumlab{position:absolute;left:32px;top:8px;font:700 15px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#d9bd86;text-shadow:0 1px 4px #000}
.hz-sum{font-size:104px;font-weight:700;line-height:1;letter-spacing:-4px;color:#fff1cc;text-shadow:0 3px 0 rgba(60,30,10,.8),0 8px 22px rgba(0,0,0,.65);min-width:190px;white-space:nowrap}
.hz-sum small{font-size:28px;letter-spacing:0;color:#e2c58a;font-weight:400;margin-left:6px}
.hz-sum.hid{color:#c9b184;opacity:.75;font-size:78px}.hz-sum.bad{color:#ff8a6b}
.hz-hand{position:relative;margin-left:auto;margin-right:6px;height:96px;width:172px}
.hz-hand img{position:absolute;bottom:0;width:66px;height:92px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.55))}
.hz-hand img.just{animation:hzflip .7s ease-out}
@keyframes hzflip{from{scale:0 1}}
.hz-chips{display:flex;flex-direction:column;align-items:center;gap:2px;font:700 22px Arial,sans-serif;color:#f1dcae;text-shadow:0 2px 6px #000;width:90px}
.hz-chips img{height:62px;width:auto;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5))}
.hz-chips small{font-weight:400;font-size:15px;display:block;text-align:center}

/* центр: бумажная карточка с вопросом */
.hz-qcard{position:absolute;left:640px;top:448px;width:640px;height:274px}
.hz-qcard>img{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.hz-qtxt{position:absolute;inset:26px 46px 20px;color:#2c1c10;text-align:center;display:flex;flex-direction:column;justify-content:center}
.hz-eyebrow{font:700 16px Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#a0432a;margin-bottom:10px}
.hz-qtxt h1{font-size:35px;line-height:1.12;letter-spacing:-.8px;font-weight:700}
.hz-qtxt h1.big{font-size:46px}.hz-qtxt h1.long{font-size:27px;letter-spacing:-.4px}
.hz-qtxt p{font:18px/1.3 Arial,sans-serif;margin-top:8px;color:#5a3d28}
.hz-themes{display:flex;gap:18px;justify-content:center;margin-top:6px}
.hz-themes figure{width:112px;text-align:center}.hz-themes figure.off{opacity:.35}
.hz-themes img{width:90px;height:120px;margin:0 auto;filter:drop-shadow(0 8px 8px rgba(0,0,0,.55))}
.hz-themes figcaption{font:700 14px/1.15 Arial,sans-serif;color:#4a2f1c;margin-top:2px}
.hz-bottom{position:absolute;left:640px;top:748px;width:640px;height:240px}
.hz-ans{position:absolute;left:30px;top:6px;display:flex;align-items:center;gap:14px}
.hz-ans img{width:134px;height:188px;transform:rotate(-5deg);filter:drop-shadow(0 12px 12px rgba(0,0,0,.6))}
.hz-ans.flip img{animation:hzans .7s ease-out}
@keyframes hzans{from{transform:rotateY(90deg) rotate(-5deg)}}
.hz-ans span{font-style:italic;font-size:24px;color:#f3e4bb;text-shadow:0 2px 6px #000;line-height:1.15}
.hz-bottom.nobank .hz-ans{left:50%;margin-left:-125px}
.hz-bank{position:absolute;right:6px;top:0;width:270px;text-align:center}
.hz-bottom.nobank .hz-bank{display:none}
.hz-bank img{width:230px;margin:0 auto;filter:drop-shadow(0 10px 10px rgba(0,0,0,.55))}
.hz-bank b{display:block;font-size:62px;line-height:1;color:#fff1cc;text-shadow:0 3px 0 rgba(60,30,10,.8),0 6px 18px #000;margin-top:-6px}
.hz-bank span{font:700 14px Arial,sans-serif;letter-spacing:3px;color:#d9bd86;text-transform:uppercase}
.hz-brand{position:absolute;left:640px;width:640px;top:996px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:40px;font-weight:700;letter-spacing:-1px;color:#f1d79a;text-shadow:0 3px 0 rgba(60,30,10,.85),0 8px 20px #000}
.hz-brand img{width:56px;height:56px}.hz-brand em{color:#ffb74d}

/* финал матча */
.hz-ribbon{position:absolute;left:630px;top:430px;width:660px;height:130px;display:flex;align-items:center;justify-content:center;padding:0 90px;text-align:center;line-height:1.05;font-size:33px;font-weight:700;color:#fbe9b8;text-shadow:0 3px 0 rgba(50,10,10,.8);background:url('/assets/host/ribbon.webp') center/100% 100% no-repeat;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.hz-trophy{position:absolute;left:770px;top:570px;width:380px;filter:drop-shadow(0 20px 20px rgba(0,0,0,.7))}

/* пауза, связь, служебные кнопки (видны при наведении, в OBS не мешают) */
.hz-pause{position:absolute;inset:0;z-index:20;background:rgba(10,6,3,.72);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;font-size:54px}
.hz-pause img{width:180px}
.hz-conn{position:absolute;left:760px;top:10px;width:400px;z-index:30;text-align:center;background:rgba(120,30,20,.9);border-radius:20px;padding:4px 0;font:18px Arial,sans-serif}
.hz-tools{position:absolute;right:16px;bottom:12px;z-index:40;display:flex;gap:8px;opacity:0;transition:opacity .25s}
body.host:hover .hz-tools{opacity:.9}
.hz-tools button{font:14px Arial,sans-serif;background:rgba(20,12,6,.85);color:#f1dcae;border:1px solid rgba(231,189,116,.6);border-radius:8px;padding:6px 12px;cursor:pointer}
@media (prefers-reduced-motion:reduce){#hz-stage *{animation:none!important}}

/* веер карт: n карт, индекс cK (расчёт: шаг min(52, 106/(n-1)), поворот (k-(n-1)/2)*5°) */
.hz-hand.n1 .c0{left:0px;transform:rotate(0.0deg)}
.hz-hand.n2 .c0{left:0px;transform:rotate(-2.5deg)}
.hz-hand.n2 .c1{left:52px;transform:rotate(2.5deg)}
.hz-hand.n3 .c0{left:0px;transform:rotate(-5.0deg)}
.hz-hand.n3 .c1{left:52px;transform:rotate(0.0deg)}
.hz-hand.n3 .c2{left:104px;transform:rotate(5.0deg)}
.hz-hand.n4 .c0{left:0px;transform:rotate(-7.5deg)}
.hz-hand.n4 .c1{left:35px;transform:rotate(-2.5deg)}
.hz-hand.n4 .c2{left:71px;transform:rotate(2.5deg)}
.hz-hand.n4 .c3{left:106px;transform:rotate(7.5deg)}
.hz-hand.n5 .c0{left:0px;transform:rotate(-10.0deg)}
.hz-hand.n5 .c1{left:27px;transform:rotate(-5.0deg)}
.hz-hand.n5 .c2{left:53px;transform:rotate(0.0deg)}
.hz-hand.n5 .c3{left:80px;transform:rotate(5.0deg)}
.hz-hand.n5 .c4{left:106px;transform:rotate(10.0deg)}
.hz-hand.n6 .c0{left:0px;transform:rotate(-12.5deg)}
.hz-hand.n6 .c1{left:21px;transform:rotate(-7.5deg)}
.hz-hand.n6 .c2{left:42px;transform:rotate(-2.5deg)}
.hz-hand.n6 .c3{left:64px;transform:rotate(2.5deg)}
.hz-hand.n6 .c4{left:85px;transform:rotate(7.5deg)}
.hz-hand.n6 .c5{left:106px;transform:rotate(12.5deg)}
.hz-hand.n7 .c0{left:0px;transform:rotate(-15.0deg)}
.hz-hand.n7 .c1{left:18px;transform:rotate(-10.0deg)}
.hz-hand.n7 .c2{left:35px;transform:rotate(-5.0deg)}
.hz-hand.n7 .c3{left:53px;transform:rotate(0.0deg)}
.hz-hand.n7 .c4{left:71px;transform:rotate(5.0deg)}
.hz-hand.n7 .c5{left:88px;transform:rotate(10.0deg)}
.hz-hand.n7 .c6{left:106px;transform:rotate(15.0deg)}
.hz-hand.n8 .c0{left:0px;transform:rotate(-17.5deg)}
.hz-hand.n8 .c1{left:15px;transform:rotate(-12.5deg)}
.hz-hand.n8 .c2{left:30px;transform:rotate(-7.5deg)}
.hz-hand.n8 .c3{left:45px;transform:rotate(-2.5deg)}
.hz-hand.n8 .c4{left:61px;transform:rotate(2.5deg)}
.hz-hand.n8 .c5{left:76px;transform:rotate(7.5deg)}
.hz-hand.n8 .c6{left:91px;transform:rotate(12.5deg)}
.hz-hand.n8 .c7{left:106px;transform:rotate(17.5deg)}

/* финал: итог крупно один раз, без дубля у стопки фишек */
#hz-stage.victory .hz-sum{font-size:82px;min-width:0;letter-spacing:-3px}
#hz-stage.victory .hz-chips span{display:none}
