*{box-sizing:border-box}body{margin:0;background:#0d0f14;color:#fff;font-family:Arial,sans-serif;padding:25px}.wrap{max-width:1100px;margin:auto}.brand{color:#ffd23f;font-weight:900;letter-spacing:.12em}.card{background:#1a1e27;border:1px solid #3b4352;border-radius:18px;padding:20px;margin:15px 0}h1{font-size:45px}.controls,.opts{display:flex;gap:10px;flex-wrap:wrap}button,input{padding:14px;border:0;border-radius:11px;font-size:16px;font-weight:bold}button{background:#394252;color:#fff;cursor:pointer}button:disabled{opacity:.25;cursor:not-allowed}.opts button{flex:1 1 45%}.question{text-align:center;font-size:32px;font-weight:900;margin:20px}.phase{text-align:center;color:#ffd23f;font-size:23px;font-weight:bold}.lives{display:flex;gap:15px}.life{flex:1;text-align:center;font-size:22px}.hearts{font-size:35px}.status{text-align:center}.winner{text-align:center;color:#ffd23f;font-size:38px;font-weight:900}.good{color:#65e58a}.bad{color:#ff6b75}label{padding:8px}
.scoreboard{margin:18px auto 8px;max-width:650px;display:flex!important;justify-content:center;align-items:center;gap:28px;background:#10141c;border:2px solid #ffd23f;border-radius:16px;padding:14px 22px;font-size:27px;font-weight:800;text-align:center}
.scoreboard b{font-size:38px;color:#ffd23f}.scoreboard .versus{font-size:34px;color:#8993a5}
.scoreboard:empty{display:none!important}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section h2,.finalbox h2{color:#ffd23f}.editrow{display:grid;grid-template-columns:130px 1fr auto;gap:8px;align-items:center;margin:8px 0}.editrow input{width:100%;background:#0f131b;color:#fff;border:1px solid #465064}.titlegrid{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.qual{display:flex;flex-wrap:wrap;gap:12px}.qrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid #343b48}.qrow button{padding:7px 10px}.live{border:2px solid #596274}.center{justify-content:center}.answers{text-align:center;margin:10px;font-weight:bold}.teamnote{text-align:center;color:#ffd23f;font-weight:900;font-size:18px;margin:8px}.finalbox{border-color:#ffd23f}@media(max-width:800px){.grid2,.titlegrid{grid-template-columns:1fr}.editrow{grid-template-columns:1fr}.question{font-size:24px}}

.counter{text-align:center;font-size:20px;font-weight:900;color:#ffd23f;margin:10px}.opts input{flex:1 1 65%;background:#0f131b;color:#fff;border:2px solid #596274;font-size:20px}.qual{display:flex;gap:12px;flex-wrap:wrap}
.modchoices{display:grid;gap:10px;margin:16px 0}.choice{padding:12px 14px;border-radius:12px;background:#171b25;border:1px solid #30384a}.choice.correct{outline:2px solid #38d26f;background:#153321}.answergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.answercard{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#171b25;border:1px solid #30384a}.answercard.good{outline:2px solid #38d26f;background:#153321}.answercard.bad{outline:2px solid #ff5b68;background:#3a171b}.solution{margin:14px 0;padding:14px;border-radius:12px;background:#202636}.smallwinner{font-size:1.3rem;margin-top:12px}

.opts button.selected{outline:3px solid #ffd23f;background:#596274}.opts button.confirm{flex:1 1 100%;background:#238a4b;margin-top:8px}.opts button.confirm:disabled{background:#394252}

.showtimer{position:fixed;right:28px;top:28px;z-index:50;width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:900;background:#111;border:5px solid #fff;box-shadow:0 0 22px rgba(0,0,0,.45)}
.showtimer.urgent{animation:timerPulse .55s infinite alternate}
@keyframes timerPulse{from{transform:scale(1)}to{transform:scale(1.08)}}
.showhome{max-width:900px;text-align:center}.matchcard{margin-top:10vh;padding:55px}.matchdate{font-size:32px;font-weight:900;margin:18px 0}

.banksection{margin-top:34px;padding-top:20px;border-top:2px solid rgba(255,255,255,.15)}
.muted{opacity:.6}

.modrules{margin-top:28px;line-height:1.55}
.modrules h2{margin-bottom:6px}
.modrules h3{margin-top:24px;margin-bottom:7px}
.modrules p{margin:7px 0}
.modrules ul{margin:8px 0 8px 24px}
.modrules li{margin:5px 0}
.ruleintro{opacity:.7}

.camerabox video{width:100%;max-width:520px;aspect-ratio:16/9;background:#080808;border-radius:14px;object-fit:cover;display:none;margin-top:14px}
.camera-stage{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.camera-tile{display:none;position:relative;width:240px;aspect-ratio:16/9;background:#090909;border:2px solid rgba(255,255,255,.18);border-radius:14px;overflow:hidden}
.camera-tile.active{display:block}.camera-tile video{width:100%;height:100%;object-fit:cover}.camera-tile span{position:absolute;left:8px;bottom:7px;background:rgba(0,0,0,.72);padding:4px 8px;border-radius:7px;font-weight:900;font-size:13px}
.camera-tile:not(.connected) video{opacity:.15}

/* V2.1 OBS show layout */
.show-overlay{width:100%;min-height:100vh;padding:18px 28px;box-sizing:border-box}
.moderator-row{display:flex;justify-content:center;height:190px;margin-bottom:12px}
.moderator-tile{display:block!important;width:320px;height:180px}
.duel-row{display:grid;grid-template-columns:minmax(300px,1fr) 360px minmax(300px,1fr);gap:24px;align-items:center}
.player-column{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.player-cam{display:block;width:100%;aspect-ratio:16/9}
#opponentCameraHost .camera-tile{width:100%;display:none}
.logged-answer{min-height:54px;border:2px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(10,10,10,.78);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;font-size:20px;font-weight:900}
.logged-answer.good{border-color:#2ecc71;background:rgba(46,204,113,.22)}
.logged-answer.bad{border-color:#e74c3c;background:rgba(231,76,60,.20)}
.center-score{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.center-score .scoreboard{width:100%;font-size:30px}
.center-score .lives{width:100%}
.center-score .showtimer{position:static;width:110px;height:110px;font-size:44px}
.question-panel{margin:20px auto 0;max-width:1450px;background:rgba(10,10,10,.88);border:2px solid rgba(255,255,255,.22);border-radius:18px;padding:18px 22px}
.question-panel .question{text-align:center;font-size:30px;margin-bottom:14px}
.question-panel .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.question-panel .opts button{font-size:19px}

/* V2.1 overlay polish */
.moderator-row{height:235px;margin-bottom:18px}
.moderator-tile{width:400px;height:225px;border-width:3px;box-shadow:0 10px 34px rgba(0,0,0,.45)}
.duel-row{grid-template-columns:minmax(260px,.82fr) 430px minmax(260px,.82fr);gap:34px;max-width:1540px;margin:0 auto}
.player-column{max-width:500px;width:100%;justify-self:center}
.player-cam{max-width:500px;border-width:3px;transition:border-color .25s,box-shadow .25s,transform .25s}
.camera-tile.correct{border-color:#35ef78;box-shadow:0 0 18px rgba(53,239,120,.85),0 0 46px rgba(53,239,120,.45);animation:camCorrect .9s ease-in-out 2}
.camera-tile.wrong{border-color:#ff4040;box-shadow:0 0 18px rgba(255,64,64,.8),0 0 44px rgba(255,64,64,.38);animation:camWrong .32s ease-in-out 2}
@keyframes camCorrect{50%{box-shadow:0 0 30px rgba(53,239,120,1),0 0 70px rgba(53,239,120,.7);transform:scale(1.015)}}
@keyframes camWrong{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.center-score{min-height:300px;padding:20px;border:2px solid rgba(255,255,255,.18);border-radius:22px;background:linear-gradient(180deg,rgba(22,22,28,.92),rgba(7,7,10,.88));box-shadow:0 16px 45px rgba(0,0,0,.4)}
.center-score .scoreboard{font-size:32px}
.score-title{text-align:center;font-size:15px;letter-spacing:3px;opacity:.7;margin-bottom:12px}
.score-grid{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center;text-align:center;gap:8px}
.score-grid>div:not(.score-sep){display:flex;flex-direction:column;gap:6px}
.score-grid b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.score-grid strong{font-size:58px;line-height:1}
.score-sep{font-size:46px;font-weight:900}
.center-score .showtimer{width:124px;height:124px;font-size:48px;border-width:5px;transition:.2s}
.showtimer.urgent{border-color:#ff2d2d!important;color:#fff!important;background:rgba(180,0,0,.72)!important;box-shadow:0 0 25px rgba(255,0,0,.8);animation:timerDanger .5s infinite alternate!important}
@keyframes timerDanger{from{transform:scale(1);box-shadow:0 0 14px rgba(255,0,0,.55)}to{transform:scale(1.09);box-shadow:0 0 42px rgba(255,0,0,1)}}
.logged-answer{font-size:19px;box-shadow:inset 0 0 20px rgba(255,255,255,.025)}
.question-panel{box-shadow:0 15px 45px rgba(0,0,0,.42)}
.celebration{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden;transition:.25s;background:radial-gradient(circle,rgba(0,0,0,.25),rgba(0,0,0,.72))}
.celebration.show{opacity:1;visibility:visible}
.celebration-card{position:relative;z-index:2;min-width:680px;max-width:1100px;text-align:center;padding:38px 60px;border:3px solid rgba(255,255,255,.8);border-radius:28px;background:rgba(10,10,14,.94);box-shadow:0 0 70px rgba(255,255,255,.28);transform:scale(.72);transition:.35s cubic-bezier(.2,1.4,.4,1)}
.celebration.show .celebration-card{transform:scale(1)}
.celebration-kicker{font-size:20px;letter-spacing:6px;opacity:.72;margin-bottom:14px}
.celebration-text{font-size:54px;font-weight:1000;text-transform:uppercase}
.confetti{position:absolute;inset:0;overflow:hidden}
.confetti i{position:absolute;top:-30px;width:12px;height:24px;background:hsl(calc(var(--i,1)*43),85%,60%);animation:confettiFall linear forwards;transform:rotate(var(--r))}
.confetti i:nth-child(3n){background:#ffd84d}.confetti i:nth-child(3n+1){background:#5be27d}.confetti i:nth-child(3n+2){background:#5ca9ff}
@keyframes confettiFall{to{top:110%;transform:rotate(var(--r)) translateX(80px)}}

/* V2.1 broadcast result design – transparent OBS background retained */
.question-panel{background:rgba(8,10,18,.94)!important;border-color:rgba(255,255,255,.55)!important}
.question-panel .question{color:#fff!important;opacity:1!important;text-shadow:0 2px 5px #000;font-weight:950}
.question-panel .opts,.question-panel .opts *{opacity:1!important;color:#fff!important}
.question-panel .opts button,.question-panel .opt{background:rgba(24,37,65,.96)!important;border:2px solid rgba(155,190,255,.65)!important;color:#fff!important}
.score-title{display:none!important}
.center-score{padding:26px 24px;min-height:320px}
.score-grid{margin-top:2px}
.score-grid b{font-size:20px}
.score-grid strong{font-size:64px}

.celebration{background:transparent!important;backdrop-filter:none}
.result-stage{position:relative;z-index:2;width:min(1500px,94vw);min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.result-mod{height:145px;display:flex;justify-content:center}
.result-mod:empty{display:none}
.result-camera{position:relative;width:330px;aspect-ratio:16/9;border:4px solid rgba(255,255,255,.8);border-radius:18px;overflow:hidden;background:#080808;box-shadow:0 12px 45px rgba(0,0,0,.65)}
.result-camera video{width:100%;height:100%;object-fit:cover}
.result-camera span{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);background:rgba(0,0,0,.86);padding:5px 16px;border-radius:9px;font-weight:1000;white-space:nowrap}
.result-camera.moderator-result{width:250px}
.result-cameras{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.celebration-kicker{font-size:22px;letter-spacing:6px;font-weight:900;text-shadow:0 3px 12px #000}
.celebration-text{font-size:62px;font-weight:1000;text-transform:uppercase;text-align:center;text-shadow:0 4px 18px #000}
.result-sub{font-size:26px;font-weight:900;text-align:center;text-shadow:0 3px 12px #000}

.round-win .result-stage{filter:drop-shadow(0 0 28px rgba(255,198,42,.25))}
.round-win .celebration-text,.qualified .celebration-text,.final-win .celebration-text{color:#ffd54a}
.winner-gold{border-color:#ffd54a!important;box-shadow:0 0 22px #ffc400,0 0 65px rgba(255,196,0,.6)!important;animation:goldPulse 1s ease-in-out infinite alternate}
@keyframes goldPulse{to{box-shadow:0 0 35px #fff0a0,0 0 85px rgba(255,196,0,.9)}}

.qualified .result-camera{width:600px}
.qualified .celebration-text{font-size:54px}
.eliminated .celebration-text{color:#ff3c3c}
.eliminated .result-camera{width:600px}
.eliminated-cam,.loser-red{border-color:#ff3030!important;box-shadow:0 0 30px rgba(255,0,0,.9)!important;filter:saturate(.65) brightness(.72)}
.eliminated-cam:after,.loser-red:after{content:"";position:absolute;inset:-20%;background:linear-gradient(45deg,transparent 46%,rgba(255,25,25,.95) 47%,rgba(255,25,25,.95) 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,rgba(255,25,25,.95) 47%,rgba(255,25,25,.95) 53%,transparent 54%);z-index:3}
.eliminated-cam span,.loser-red span{z-index:4}
.final-win .result-cameras{max-width:1450px}
.final-win .result-camera{width:215px}
.final-win .result-camera.hero{width:520px;order:-1}
.final-win .celebration-text{font-size:66px}
.final-win .result-sub{font-size:34px;color:#fff}

/* V2.1 clean result screens + photo fallback */
.celebration.show~.show-overlay{visibility:hidden!important}
.celebration.show{background:transparent!important}
.camera-avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;z-index:0}
.camera-tile video{position:relative;z-index:1}.camera-tile span{z-index:4}
.camera-tile.has-avatar:not(.connected) video{opacity:0}
.photo-fallback{margin-top:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.photo-button{display:inline-block;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.1);font-weight:900;cursor:pointer}
.photo-fallback img{width:150px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:2px solid rgba(255,255,255,.2);display:none}
.result-avatar{width:100%;height:100%;object-fit:cover}
.result-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:90px;font-weight:1000;background:linear-gradient(135deg,#171b2a,#090b10);color:rgba(255,255,255,.35)}
.nonqualified{opacity:.48;filter:grayscale(.8)}
.final-win .result-mod{height:165px}.final-win .result-camera.moderator-result{width:285px}
.final-win .result-cameras{gap:12px}.final-win .result-camera:not(.hero){width:205px}.final-win .result-camera.hero{width:500px}
.eliminated .result-stage,.qualified .result-stage{justify-content:flex-start;padding-top:35px}
.eliminated .result-mod,.qualified .result-mod{margin-bottom:10px}

/* V2.1 candidate facts */
.factrow{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:start;margin:12px 0}.factrow textarea{min-height:95px;resize:vertical;padding:12px;border-radius:10px;background:#111827;color:#fff;border:1px solid #445}.candidate-note{padding:14px;margin:10px 0;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.04)}.candidate-note h3{margin:0 0 8px}.candidate-note.active-note{border-color:#ffd54a;box-shadow:0 0 18px rgba(255,213,74,.16)}@media(max-width:800px){.factrow{grid-template-columns:1fr}}
