[hidden]{display:none!important}
.room-wrap{max-width:820px}
.room-brand{display:block;color:var(--text);text-decoration:none}
.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.result-actions .btn{flex:1;min-width:140px}
.result-actions #newRoom{margin-top:0;width:auto}
#lastRoundTitle,#statsTitle{font-size:22px;line-height:1.3;margin-top:24px}
#statCards h3,.room-wrap .score b{overflow-wrap:anywhere;min-width:0}
.room-wrap .score{grid-template-columns:34px minmax(0,1fr) auto}
.room-wrap .rank-reveal-row .reveal-answer{overflow-wrap:anywhere;min-width:0}
.room-wrap .rank-match{grid-template-columns:minmax(0,1fr);gap:8px}
.room-wrap .rank-match b{overflow-wrap:anywhere}
.room-wrap .player-stat-head{flex-wrap:wrap}
.room-wrap .rank-reveal-list{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){.room-wrap .rank-reveal-list{scroll-behavior:auto}}
.room-wrap h1{font-size:32px;line-height:1.15;letter-spacing:0;margin:20px 0}
.room-wrap h1.question{font-size:30px;max-width:none}
.room-wrap label{display:block;margin:12px 0 8px}
.room-wrap .btn{font-size:16px}
#entryForm>.btn,#start,#open,#lock,#newRoom{width:100%;margin-top:18px}
.entry-actions{display:grid;gap:12px;margin-top:24px}
.entry-actions .btn{width:100%}
#entry>.rules-link{display:inline-block;margin-top:24px}
.room-code-input{text-transform:uppercase}
.room-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.room-reference{color:var(--muted);font-size:13px;font-weight:400;line-height:1.4}
.room-reference strong{font-weight:600}
.room-header .btn{min-height:44px;padding:10px 14px}
.room-header #leave{margin-left:auto}
.lobby-invitation{max-width:460px;margin:24px auto;text-align:center}
.lobby-code{display:block;min-height:68px;font-size:48px;line-height:1.4;font-weight:900;letter-spacing:0;color:var(--yellow);font-variant-numeric:tabular-nums}
.lobby-invitation .input{text-align:center;font-size:14px;min-width:0}
.lobby-invitation .btn{width:100%;margin-top:12px}
.invite-row{display:flex;flex-wrap:wrap;gap:8px}
.invite-row input{min-width:0;font-size:14px}
.invite-row input{flex:1 1 240px}
.room-players{list-style:none;padding:0;margin:24px 0;display:grid;gap:8px}
.room-players li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.room-players small{color:var(--muted);flex-shrink:0}
.connection{color:var(--muted);font-size:14px;min-height:20px;margin:8px 0}
.room-error{color:#ffd2d6;background:#3d1c2a;padding:12px;border-radius:8px;overflow-wrap:anywhere}
.round-clock{display:flex;justify-content:center;color:var(--yellow);font-size:32px;font-weight:900;min-height:40px;font-variant-numeric:tabular-nums}
.clock-caption{display:none}
#round{text-align:center;padding-top:16px}
#round #category{font-size:11px;padding:5px 9px}
.room-wrap #round .question{font-size:40px;line-height:1.2;letter-spacing:0;max-width:660px;margin:20px auto 12px;overflow-wrap:anywhere;text-wrap:pretty}
#round #questionYear{font-size:14px;line-height:1.5;margin:0 0 24px}
#round .round-clock{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:116px;height:116px;margin:24px auto 18px;gap:2px}
#round .round-clock::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--yellow) var(--clock-progress,360deg),var(--line) 0);mask:radial-gradient(farthest-side,transparent calc(100% - 5px),black calc(100% - 4px));pointer-events:none}
#round #clock{font-size:38px;line-height:1.1}
#round .clock-caption{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.3}
#round #answerStatus{font-size:14px;line-height:1.5;margin:0 0 8px}
#round.question-thinking #open{max-width:460px;margin:16px auto 0}
@media(max-width:620px){#round{padding-top:8px}.room-wrap #round .question{font-size:30px;margin-top:16px}#round .round-clock{width:104px;height:104px;margin-top:20px}}
#answerStatus{text-align:center;min-height:24px;color:var(--muted)}
#answerForm fieldset{border:0;padding:0;margin:0;min-width:0}
#answerForm legend{padding:0 0 14px}
#choices label{display:flex;margin:0}
#choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-auto-rows:1fr}
#choices .answer-choice{min-height:64px;gap:10px;padding:12px;border-color:#473d64;border-radius:12px;background:#ffffff05;color:var(--text);font-family:inherit;font-size:15px;line-height:1.4}
#choices .answer-choice:has(input:checked){border-color:var(--yellow);background:#ffd54d12;color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}
#choices .answer-choice input{accent-color:var(--yellow)}
@media(hover:hover){#choices .answer-choice:has(input:enabled):hover{border-color:var(--yellow)}}
@media(max-width:620px){#choices{gap:8px}#choices .answer-choice{padding:10px 8px;gap:8px;font-size:14px}}
#answerForm{margin-top:16px}
#lock{position:static}
.room-wrap button:disabled{opacity:.45;cursor:not-allowed}
.room-wrap input:focus-visible,.room-wrap button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.room-scores{display:grid;gap:12px;margin:20px 0}
.room-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border-bottom:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}
.room-score p{grid-column:1/-1;margin:0;color:var(--muted)}
.room-score strong{color:var(--yellow)}
.result-winner{font-size:20px;font-weight:750;color:var(--yellow);overflow-wrap:anywhere}
#ranking{padding-left:32px}
#ranking li{padding:8px 0;overflow-wrap:anywhere}
@media(max-width:620px){.room-wrap{padding:0}.connection,.room-error{margin-inline:18px}.room-wrap h1{font-size:28px}.room-wrap h1.question{font-size:25px}.room-wrap .card{min-height:0}.invite-row{flex-wrap:wrap}.invite-row input{flex:1 1 200px}.room-header{margin-bottom:20px}}