/* One measured stage: original objective and flags share identical card sizes. */
.round-clock{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;min-width:62px;padding:5px 10px;border-radius:8px;background:#ffe54f;color:#151515;font-size:13px;font-variant-numeric:tabular-nums;flex-shrink:0}
.round-clock b{font-size:20px;line-height:1}
.round-clock.urgent{background:#bc273a;color:white}
.afk-streak{color:#ffce8a;font-size:11px;white-space:nowrap}
.challenge-variants{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:4px 0 12px;min-width:0}
.challenge-variants legend{margin-bottom:10px;font-weight:700}
.challenge-variants label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:14px;border:2px solid #ddd8cf;border-radius:12px;cursor:pointer;min-width:0}
.challenge-variants label:has(input:checked){border-color:#d6b42b;background:#fff8cf}
.challenge-variants input{width:18px!important;height:18px!important;accent-color:#111;flex-shrink:0}
.challenge-variants strong,.challenge-variants small{display:block}
.challenge-variants strong{font-size:21px}
.challenge-variants small{font-size:12px;margin-top:4px}
.ultra-choice i{color:#c52775;font-style:normal}
.immersive-game .answer-form.dual-answer{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.answer-form.dual-answer .hint-button[hidden]{display:none!important}
@media(max-height:500px) and (orientation:landscape){
 .round-clock{padding:3px 7px;min-width:48px;font-size:11px}
 .round-clock b{font-size:17px}
 .challenge-variants label{padding:8px}
 .immersive-game .answer-form.dual-answer input{font-size:clamp(16px,3vw,26px)}
}
.immersive-game:not(.solo-game) .felt{padding:8px 12px;gap:6px}
.immersive-game:not(.solo-game) .table-head,.immersive-game:not(.solo-game) .own-pile{height:28px;min-height:28px;flex-shrink:0;margin:0}
.immersive-game:not(.solo-game) .personal-pile{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap}
.immersive-game:not(.solo-game) .personal-pile b{font-size:12px}
.immersive-game:not(.solo-game) .pile-cards{width:30px;flex-shrink:0}
.immersive-game:not(.solo-game) .opponent-piles{height:100%;align-items:center;gap:20px}
.multiplayer-stage{position:relative;flex:1;min-height:0;width:100%;display:flex;justify-content:center;align-items:center;gap:6px;--table-card-width:0px;--table-columns:4;--table-rows:3}
.immersive-game:not(.solo-game) .multiplayer-stage .board{flex:0 0 auto;width:calc(var(--table-card-width)*var(--table-columns) + 6px*(var(--table-columns) - 1));max-width:none;margin:0;gap:6px;grid-template-columns:repeat(var(--table-columns),var(--table-card-width));grid-template-rows:repeat(var(--table-rows),calc(var(--table-card-width)/1.5));align-items:stretch}
.multiplayer-stage .game-card{width:var(--table-card-width);height:calc(var(--table-card-width)/1.5);aspect-ratio:1.5}
.multiplayer-stage .card-hover{display:none}
.multiplayer-stage .table-objective{position:static;transform:none;flex:0 0 calc(var(--table-card-width)/1.5);width:calc(var(--table-card-width)/1.5);gap:0}
.multiplayer-stage .table-objective>.eyebrow,.multiplayer-stage .table-objective>strong,.multiplayer-stage .table-objective>small{display:none}
.multiplayer-stage .objective-art{width:calc(var(--table-card-width)/1.5);height:var(--table-card-width);aspect-ratio:2/3;border-radius:8% / 5.5%;flex-shrink:0}
.multiplayer-stage .objective-art img{width:150%;height:66.6667%;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);object-fit:contain}
/* Acknowledge the attempt briefly, even while another player is thinking. */
.multiplayer-stage .success-tick{display:flex;align-items:center;justify-content:center;gap:7px;inset:auto auto 8px 50%;width:max-content;max-width:100%;transform:translateX(-50%);animation:attempt-feedback .48s linear both}
.multiplayer-stage .success-tick svg{width:36px;height:36px;flex-shrink:0;animation:none}
.multiplayer-stage .success-tick path{stroke-dasharray:none;stroke-dashoffset:0;animation:none}
.multiplayer-stage .feedback-label{font-size:14px;padding:5px 10px}
@keyframes attempt-feedback{0%{opacity:0}15%,65%{opacity:1}100%{opacity:0;visibility:hidden}}
.immersive-game:not(.solo-game) .round-status{overflow:hidden}
.immersive-game:not(.solo-game) .round-status>div{min-width:0;flex:1}
.immersive-game:not(.solo-game) .round-status b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.immersive-game:not(.solo-game) .round-status small{display:none}
.immersive-game:not(.solo-game) .pass-button{flex-shrink:0;white-space:nowrap}
/* The selected avatar, border and ribbon are the winner's real profile. */
.immersive-game .felt>.results{background:#141414ed;backdrop-filter:blur(4px);gap:10px}
.winner-profiles{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px;max-width:100%}
.winner-profile{display:flex;align-items:center;flex-direction:column;min-width:150px}
.winner-portrait{position:relative;isolation:isolate}
.winner-portrait .identity-avatar.large{width:148px;height:148px;margin-bottom:40px;animation:winner-greeting 1.1s cubic-bezier(.2,.7,.2,1) both;transform-origin:50% 85%}
.winner-portrait:after{content:'';position:absolute;inset:0 0 auto;height:148px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 270deg,#fff9 292deg,#fff 300deg,transparent 320deg);mask-image:radial-gradient(circle,transparent 61%,#000 63% 68%,transparent 70%);pointer-events:none;animation:winner-shine 1.4s .35s both}
.winner-sparkle{position:absolute;z-index:3;fill:#fff9b5;filter:drop-shadow(0 0 5px #ffe559);pointer-events:none;animation:winner-sparkle 1.5s .4s both}
.sparkle-one{width:27px;height:27px;right:2px;top:15px}.sparkle-two{width:16px;height:16px;left:3px;top:100px;animation-delay:.65s}
.results .winner-profile h2{font-size:clamp(20px,3vw,32px);margin:4px 0;max-width:280px;overflow-wrap:anywhere}
.winner-score{font-weight:800;font-size:18px;color:#fff000}
.results>p{margin:0}.results>.cream-button{margin-top:5px}
@keyframes winner-greeting{0%{opacity:0;transform:translateY(18px) scale(.85)}35%{opacity:1;transform:translateY(-5px) rotate(-5deg)}60%{transform:rotate(4deg)}80%{transform:rotate(-2deg)}100%{transform:none}}
@keyframes winner-shine{0%{opacity:0;transform:rotate(-100deg)}20%,80%{opacity:1}100%{opacity:0;transform:rotate(220deg)}}
@keyframes winner-sparkle{0%,100%{opacity:0;transform:scale(.2) rotate(-30deg)}35%,55%{opacity:1;transform:scale(1) rotate(0)}}
@media(max-height:550px) and (orientation:landscape){
 .immersive-game:not(.solo-game){padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}
 .immersive-game:not(.solo-game) .felt{padding:4px 6px;gap:3px}
 .immersive-game:not(.solo-game) .play-area{grid-template-rows:minmax(0,1fr) 28px}
 .immersive-game:not(.solo-game) .table-head,.immersive-game:not(.solo-game) .own-pile{height:21px;min-height:21px}
 .immersive-game:not(.solo-game) .personal-pile b{font-size:11px}.immersive-game:not(.solo-game) .pile-cards{width:24px}
 .immersive-game:not(.solo-game) .round-status{padding:2px;gap:5px}.immersive-game:not(.solo-game) .pass-button{padding:3px 9px}
 .immersive-game:not(.solo-game) .room-top{gap:6px}.immersive-game:not(.solo-game) .room-code{position:absolute;left:50%;transform:translateX(-50%)}
 .results .winner-portrait .identity-avatar.large{width:100px;height:100px;margin-bottom:28px}
 .winner-portrait:after{height:100px}.sparkle-one{width:20px;top:8px}.sparkle-two{width:13px;top:67px}
 .winner-profile{min-width:110px}.winner-profiles{gap:18px}.results .winner-profile h2{font-size:21px;margin:2px 0}.winner-score{font-size:15px}
 .immersive-game .felt>.results{padding:8px;gap:4px}.results>.cream-button{min-height:32px;padding:8px 18px}.results>.eyebrow{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .winner-portrait .identity-avatar.large,.winner-portrait:after,.winner-sparkle{animation:none}.winner-portrait:after,.winner-sparkle{display:none}
 .multiplayer-stage .success-tick{animation-name:attempt-feedback-reduced}
 @keyframes attempt-feedback-reduced{0%,99%{opacity:1}100%{opacity:0;visibility:hidden}}
}
