.quiz2-join{max-width:760px}
.quiz2-join fieldset,.competitor,.group-photo{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px;margin:14px 0}
.quiz2-join legend,.competitor legend,.group-photo legend{font-weight:800;padding:0 6px}
.check{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start}
.check input{width:auto!important;margin-top:4px}
.rejoin-box{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.recovery-code{font-size:1.35rem;letter-spacing:.12em}
.member-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.member-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:82px}
.member-thumb img,.member-thumb>span{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#1d2924;border:2px solid rgba(218,186,111,.55);display:grid;place-items:center;font-weight:900}
.member-thumb small{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.own-group-photo{width:100%;max-height:220px;object-fit:cover;border-radius:16px;margin:8px 0}
.recovery-details{margin:8px 0 18px}
.halloween-clue{max-height:42vh;object-fit:contain}
.review-prompt{margin-top:24px;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:#d5bc7d}
.answer-question{font-size:clamp(1rem,2.2vw,1.55rem);opacity:.82}
.rich-scores{display:grid;gap:8px}
.score-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.055)}
.score-row img,.score-fallback{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#18241f;display:grid;place-items:center;font-weight:900}
.host-roster,.recovery-admin{margin-bottom:16px}
.host-team{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.host-team>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.host-team>div:first-child span{font-size:.82rem;opacity:.72}
.host-group{width:110px;height:72px;object-fit:cover;border-radius:10px;margin-top:8px}
.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:640px){.recovery-grid{grid-template-columns:1fr}.score-row{grid-template-columns:42px 1fr auto}.host-team>div:first-child{display:block}}
.tv .score-row{grid-template-columns:64px 1fr auto;font-size:clamp(1.2rem,2.4vw,2rem);padding:10px 14px}
.tv .score-row img,.tv .score-fallback{width:58px;height:58px}

/* Synchronized Halloween scare overlay. Kept outside #app so quiz renders cannot remove it. */
.halloween-scare-layer{position:fixed;inset:0;z-index:2147483000;background:#000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 35ms linear;overflow:hidden}
.halloween-scare-layer.active{opacity:1;visibility:visible}
.halloween-scare-layer video{width:100%;height:100%;display:block;object-fit:cover;background:#000}
.halloween-scare-team video{object-fit:cover}
.halloween-scare-control{border:1px solid rgba(255,255,255,.18)}
.halloween-scare-control .primary{font-weight:800}
@media (prefers-reduced-motion:reduce){.halloween-scare-layer{transition:none}}

/* Live-night clean TV: remove technical/test chrome while retaining the sound-unlock control. */
.tv-tools .badge,#armScareSound,#fullscreen{display:none!important}
.footer span:last-child{display:none!important}
.tv-tools{background:transparent!important;border:0!important;box-shadow:none!important}


/* Venue TV 16:9 fit — use the full panel, not the generic page shell. */
body.tv{width:100vw;height:100vh;overflow:hidden}
.tv header{display:none!important}
.tv main{width:100vw;height:100vh;max-width:none!important;margin:0!important;padding:0!important}
.tv .tv-slide{width:100vw;height:100vh;min-height:100vh!important;margin:0!important;padding:5.5vh 5.5vw!important;overflow:hidden;justify-content:center}
.tv .title-slide{border-radius:0!important;margin:0!important;padding:5.5vh 5.5vw!important;background:linear-gradient(90deg,#101918f4 0%,#101918cf 31%,#10191852 58%,#10191812 100%),url('/quiz/assets/lounge.jpg') center/cover no-repeat}
.tv .join-lobby{width:49vw;max-width:none!important}
.tv .join-lobby h1{font-size:clamp(50px,5.1vw,94px);line-height:1.02;margin:0 0 2.2vh}
.tv .join-lobby .meta{font-size:clamp(17px,1.35vw,27px);margin:0 0 2.4vh}
.tv .join-action{gap:2.2vw;align-items:center}
.tv .join-qr img{width:min(19vw,31vh);max-width:none!important;border-radius:8px}
.tv .join-instruction{font-size:clamp(25px,2.25vw,42px);margin:0 0 1.2vh}
.tv .join-room{font-size:clamp(18px,1.45vw,28px)}
.tv h1{font-size:clamp(52px,6vw,108px);line-height:1.04;margin:0 0 2.5vh;max-width:88vw}
.tv .question-text{font-size:clamp(34px,4vw,74px);line-height:1.13;max-width:90vw}
.tv .answer-text{font-size:clamp(46px,6.1vw,112px);line-height:1.05;margin-top:2.5vh}
.tv .meta{font-size:clamp(18px,1.55vw,29px);margin:0 0 2.2vh}
.tv .visual,.tv .halloween-clue{max-width:58vw;max-height:50vh;margin:2.5vh auto 0}
.tv .enriched{grid-template-columns:1.15fr .85fr;gap:3vw}
.tv .enriched img{max-width:40vw;max-height:56vh}
.tv .footer{display:none!important}
.tv .tv-tools{display:none!important}
.tv #notice{bottom:2vh}
@media(max-aspect-ratio:1.55/1){.tv .join-lobby{width:58vw}.tv .join-qr img{width:min(22vw,28vh)}}

/* Live team editing */
.team-edit{margin:8px 0 20px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.team-edit summary{font-weight:800;color:var(--gold);padding:10px 0}
.team-edit form{padding:10px 0 4px}
