:root{--bg:#0b1127;--panel:#18213d;--gold:#ffd582;--mint:#b8a6ff;--line:#39405c}body{background:radial-gradient(ellipse at 18% 0,#3e285a80,transparent 55%),radial-gradient(ellipse at 90% 40%,#182f6880,transparent 60%),#0b1127}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('studio.svg') center top/1600px auto no-repeat;opacity:.7}.stage-lights{position:fixed;inset:-40% -20% 0;z-index:-1;pointer-events:none;background:conic-gradient(from 155deg at 20% 10%,transparent 0deg,#a58dff0c 10deg,transparent 20deg),conic-gradient(from 165deg at 80% 0%,transparent 0deg,#8daaff12 12deg,transparent 25deg);animation:spotlights 15s ease-in-out infinite alternate}header{max-width:1400px;height:100px}.brand small{display:block;font-size:8px;letter-spacing:5px;color:#a8b2cc;margin:3px 0 0 48px}nav{flex-wrap:wrap;justify-content:flex-end}.quiet{background:#171e3888;color:#c4cce1}.heading h1{text-shadow:0 3px 30px #14122d}.players{gap:14px}.player{background:linear-gradient(130deg,#242c4d,#151c34);box-shadow:0 9px 22px #0002;border-color:#3d4563}.player.active{background:linear-gradient(110deg,#534335,#26213d);border-color:#edc879;box-shadow:0 0 22px #ffc26714}.player-name:before{content:'◈';display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;margin-right:8px;border-radius:50%;background:#9582d325;color:#d5bdff}.player.active .player-name:before{color:#ffd582;background:#ffd58220}.board-panel{background:radial-gradient(ellipse at top,#26365d,#141d3b);border:2px solid #8c79bb;position:relative;box-shadow:0 0 0 5px #392c5433,0 0 40px #a079ff16,inset 0 0 32px #8285fa15;border-radius:18px;padding-top:26px}.board-panel:before,.board-panel:after{content:'';height:3px;position:absolute;left:15%;right:15%;background:linear-gradient(90deg,transparent,#d1b2ff,transparent);top:-2px;box-shadow:0 0 17px #d1b2ff}.board-panel:after{top:auto;bottom:-2px}.category span{color:#a7accc}.category strong{color:#ffdfa0}.tile{background:linear-gradient(#10182c,#19233e);border-color:#405071;box-shadow:0 3px #080e21,inset 0 1px #7788b011}.tile.revealed{background:linear-gradient(#fffdf0,#dddcea);color:#202b46;border-color:#fff1d0;animation:none;box-shadow:0 3px #998caa}.tile.fresh{animation:flip .6s backwards;animation-delay:calc(var(--i)*45ms)}.tile.punctuation{background:transparent;box-shadow:none}.board-foot{color:#9ba5c3}.wheel-panel,.controls-panel{background:linear-gradient(140deg,#202b48ed,#131d36ed);border-color:#3a4765;box-shadow:0 10px 40px #0003}.wheel-wrap{display:block;background:transparent;border:0;padding:0;border-radius:50%;isolation:isolate;transition:filter .3s;touch-action:manipulation}.wheel-wrap:not(:disabled):hover{filter:brightness(1.13);transform:scale(1.015)}.wheel-wrap:disabled{opacity:1}.wheel-wrap:before{content:'';position:absolute;inset:-12px;border:1px dashed #c9ac7699;border-radius:50%;box-shadow:0 0 0 6px #8a6f9e22,0 0 40px #bd95ff22;z-index:-1}.wheel-wrap canvas{border-color:#ead094;box-shadow:0 0 0 3px #8c6844,0 16px 28px #0007,0 0 22px #eecb6f22}.hub{background:radial-gradient(circle at 35% 30%,#53436d,#12182c);border-color:#f1d79d;color:#ffe6a5}.pointer{top:-16px;border-top-color:#fff1c4;filter:drop-shadow(0 2px 6px #000a)}.spinning .pointer{animation:tick .12s infinite}.spinning .wheel-wrap:before{box-shadow:0 0 28px #ffd58266;animation:ring 1s infinite alternate}.prize{font-weight:600}.primary{background:linear-gradient(120deg,#ffdf97,#edb965);box-shadow:0 4px 0 #8c632f,0 5px 22px #edb96516;color:#30233a}.primary:not(:disabled):active{transform:translateY(2px);box-shadow:0 2px 0 #8c632f}.status{background:#0c1630;border-left-color:#ba9cf2}.status.flash{animation:statusFlash .65s}.keyboard .key{background:linear-gradient(#344363,#263451);border-color:#4a5877;box-shadow:0 3px #111b31}.key:not(:disabled):hover{background:#665181;transform:translateY(-2px)}.keyboard-label{color:#a1aac5}.secondary{background:#3b4169}input,select,textarea{background:#0d1730;border-color:#465373}.divider{background:#3b4360}dialog{background:radial-gradient(ellipse at top left,#3c3358,#16213c);border-color:#74618d}dialog::backdrop{background:#050a20db}.mode-tabs{display:flex;gap:5px;padding:5px;background:#0b142b;border-radius:10px;margin:20px 0}.mode-tabs button{background:transparent;border:0;color:#b8c4e1;flex:1;padding:12px 8px;border-radius:7px;font-size:13px}.mode-tabs .selected{background:#584877;color:#fff0ce;box-shadow:0 3px 8px #0003}.or{font-size:9px;letter-spacing:2px;text-align:center;margin:25px 0 15px;color:#aab4d2}#onlineError{color:#ffb9b3;min-height:20px}.online-bar{padding:12px 16px;background:#2b2849;border:1px solid #756390;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.online-bar>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.online-bar .quiet{font-size:11px;padding:7px 10px}.connection-dot{width:8px;height:8px;border-radius:50%;background:#77e8b4;box-shadow:0 0 8px #77e8b4}.online-bar.disconnected .connection-dot{background:#f49b7d;box-shadow:none}#connectionText{color:#b0bad5;font-size:11px}.room-code{letter-spacing:5px;font-size:24px;color:var(--gold)}.lobby-player{padding:14px;border:1px solid #4f5073;border-radius:8px;margin:9px 0;display:flex;justify-content:space-between;gap:10px}.lobby-player span{font-size:11px;color:#a8cfc3}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;background:#f5d693;color:#25263d;padding:13px 20px;border-radius:10px;box-shadow:0 10px 40px #0007;font-size:13px;max-width:90vw;text-align:center}.celebrate .board-panel{border-color:#ffdf97;box-shadow:0 0 45px #e4b76333}.celebrate .board-panel:before,.celebrate .board-panel:after{background:linear-gradient(90deg,transparent,#ffe1a1,transparent)}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:20}.confetto{position:absolute;top:-25px;width:9px;height:17px;background:var(--c);left:var(--x);animation:fall var(--d) linear forwards;animation-delay:var(--delay);border-radius:2px}#fullscreen{color:#a5b3d7}[hidden]{display:none!important}@keyframes spotlights{to{transform:rotate(9deg) scale(1.1)}}@keyframes flip{0%{transform:perspective(300px) rotateX(90deg);background:#a485cd}100%{transform:perspective(300px) rotateX(0)}}@keyframes ring{to{box-shadow:0 0 50px #b291ff77}}@keyframes tick{50%{transform:rotate(-10deg);transform-origin:top center}}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(800deg);opacity:.2}}@keyframes statusFlash{50%{background:#3e3860}}@media(max-width:800px){header{height:auto;min-height:100px;gap:12px;padding:16px;flex-wrap:wrap}nav{gap:5px;justify-content:flex-start}.quiet{font-size:11px}.brand small{margin-left:32px}.wheel-wrap{margin-top:30px}.player-name:before{display:none}.online-bar{padding:10px}.online-bar>div{gap:7px}.online-bar .quiet{padding:6px}.heading h1{font-size:32px}.category{flex-wrap:wrap}.board{min-height:85px}.stage-lights{display:none}}@media(prefers-reduced-motion:reduce){.stage-lights{animation:none}.confetto{display:none}}

.dictation-row{display:flex;align-items:center;gap:12px;margin-top:13px;flex-wrap:wrap}.dictation-row .quiet{color:#ead7ff;flex-shrink:0}.dictation-row .listening{background:#70405c;border-color:#f6b5d6;color:#fff0f7;box-shadow:0 0 16px #f6b5d62b}#dictationStatus{font-size:11px;line-height:1.5;color:#b7c2dc;flex:1;min-width:150px}

.dictation-row .dictation-mode{width:auto;max-width:100%;flex:0 1 225px;padding:8px;font-size:11px}#dictationConsent p{overflow-wrap:anywhere}

.language-link{color:var(--gold);border:1px solid var(--line);border-radius:7px;padding:9px 13px;text-decoration:none;font-size:12px;align-self:center}.tile{min-width:0}.word{min-width:0}

.category .difficulty-badge{padding:4px 9px;border:1px solid #8c79bb77;border-radius:20px;color:#d7c6ef;font-size:9px;letter-spacing:.5px}

/* Header actions wrap on smaller screens. */
header{height:auto;min-height:100px;gap:14px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}header nav{flex-wrap:wrap;justify-content:flex-end}#fullscreen{color:var(--muted)}@media(max-width:800px){header nav{justify-content:flex-start}}

#menuToggle{display:none}.mobile-room-actions{display:none}
@media(max-width:800px){
header{min-height:54px;padding:8px 12px;gap:8px;position:relative;z-index:5;flex-wrap:nowrap}header .brand small{display:none}#menuToggle{display:block;min-height:40px;font-size:14px}
header nav{display:none;position:absolute;top:100%;right:10px;left:10px;padding:12px;background:#18213df5;border:1px solid #74618d;border-radius:12px;box-shadow:0 14px 32px #0008;max-height:75dvh;overflow:auto;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}header nav.is-open{display:grid}header nav>.quiet,header nav>.language-link{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center}body:has(#onlineBar:not([hidden])) .mobile-room-actions{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid var(--line);padding-top:8px}
main{margin:8px auto;padding:0 10px}main>.eyebrow,.heading h1,footer{display:none}.heading{justify-content:flex-end;margin-bottom:6px}.round{padding:4px 9px;font-size:9px}.players{gap:5px;margin-bottom:8px}.player{padding:7px 9px;gap:4px}.player small{font-size:9px;margin-top:2px}.player .money{font-size:17px}.player-name{font-size:12px}.online-bar{padding:5px 8px;margin-bottom:6px;font-size:11px}.online-bar #connectionText{font-size:10px}
.board-panel{padding:10px 8px 7px}.category{margin-bottom:8px;gap:5px 9px}.category strong{font-size:12px}.category>span{font-size:8px}.board{min-height:42px;gap:7px 10px}.tile{height:32px;font-size:17px}.board-foot{margin-top:8px;font-size:9px}.board-foot>span:last-child{display:none}
.game-grid{margin-top:8px;gap:8px}.wheel-panel{padding:7px 12px;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:5px 14px}.wheel-panel .section-title{display:none}.wheel-wrap{width:86px;margin:5px 0;grid-row:1/3}#wheel{border-width:3px}.pointer{top:-5px;left:calc(50% - 6px);border-left-width:6px;border-right-width:6px;border-top-width:14px}.hub{width:27px;height:27px;left:calc(50% - 13.5px);top:calc(50% - 13.5px);border-width:2px;font-size:12px}.hub span{font-size:9px}.prize{font-size:12px;margin:2px 0;min-height:0}#spin{padding:8px 10px;min-height:36px;font-size:12px}
.controls-panel{padding:10px}.controls-panel .section-title{font-size:9px}.status{padding:7px 10px;min-height:0;margin:8px 0;font-size:12px;line-height:1.35}.keyboard-label{font-size:9px}.keyboard{gap:4px;margin:6px 0 9px}.key{width:calc((100% - 32px)/9);height:35px;font-size:13px;min-width:0}.vowel-title>span:last-child{font-size:10px}.divider{margin:8px 0}#solveForm label{margin:7px 0;font-size:12px}#solveForm input{padding:9px;font-size:13px}#solve{padding:9px;font-size:12px}.dictation-row{margin-top:6px;gap:6px}#dictate{padding:7px 10px;min-height:36px}#solveForm small{display:none}#next{margin-top:8px;padding:10px}.toast{bottom:10px;padding:9px 12px}
}
@media(max-width:800px){.player small{display:none}.player{min-height:48px;align-content:center}.player .money{font-size:16px}.player{padding:6px 8px}.board-panel{padding-top:8px;padding-bottom:5px}.board-foot{margin-top:5px}.category{margin-bottom:5px}#solveForm .answer-row{flex-wrap:nowrap}#solveForm .answer-row .secondary{width:auto}.dictation-row{display:flex;flex-wrap:wrap;align-items:center}#dictationStatus{font-size:10px;line-height:1.3;margin:0}header nav .dictation-mode{grid-column:1/-1;width:100%;max-width:none;min-height:42px}.controls-panel{padding:8px}.status{margin:6px 0}.keyboard{margin-bottom:7px}.wheel-panel{grid-template-columns:80px 1fr}.wheel-wrap{width:74px}.key{height:34px}}
@media(max-width:800px) and (max-height:780px){main{margin-top:4px}.heading{margin-bottom:3px}.round{padding:2px 8px}.players{margin-bottom:5px}.player{min-height:40px}.board-panel{padding-top:6px}.tile{height:28px;font-size:16px}.board{min-height:32px;gap:5px 8px}.wheel-panel{grid-template-columns:66px 1fr;padding:4px 10px}.wheel-wrap{width:60px;margin:3px 0}.game-grid{gap:5px;margin-top:5px}.controls-panel .section-title{display:none}.status{margin-top:0}.keyboard{gap:3px;margin-top:4px;margin-bottom:5px}.key{width:calc((100% - 24px)/9)}.divider{margin:5px 0}}

#showPuzzle{display:none}
@media(max-width:800px){
.game-grid{position:relative;isolation:isolate}.wheel-panel{grid-template-columns:1fr auto;gap:6px;padding:8px 10px;z-index:2}.wheel-panel .wheel-wrap{display:none}.wheel-panel .prize{font-size:12px}.wheel-panel #spin{width:auto}.controls-panel{position:relative;transition:opacity .45s ease,transform .45s ease;opacity:1;transform:translateY(0)}.controls-panel .section-title{display:flex}
.wheel-stage .wheel-panel{position:absolute;inset:0 0 auto;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:15px;background:radial-gradient(ellipse at top,#393151,#16213c);box-shadow:0 8px 30px #0005}.wheel-stage .wheel-panel .wheel-wrap{display:block;flex:none;grid-row:auto;width:min(255px,70vw);margin:12px auto 10px}.wheel-stage #wheel{border-width:7px}.wheel-stage .pointer{top:-12px;left:calc(50% - 13px);border-left-width:13px;border-right-width:13px;border-top-width:30px}.wheel-stage .hub{width:58px;height:58px;left:calc(50% - 29px);top:calc(50% - 29px);border-width:5px;font-size:25px}.wheel-stage .hub span{font-size:17px}.wheel-stage .prize{margin:5px 0;font-size:14px}.wheel-stage #spin{width:100%;max-width:310px;min-height:42px}.wheel-stage #showPuzzle{display:block;min-height:40px;margin-top:4px}.wheel-stage .controls-panel{opacity:0;transform:translateY(12px);pointer-events:none}.spinning #showPuzzle{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.controls-panel{transition:none!important}}

main>#status{margin:0 0 14px;min-height:0}main>#status:empty{display:none}@media(max-width:800px){main>#status{margin:0 0 8px;padding:7px 10px;font-size:12px;line-height:1.35}.controls-panel>.section-title{margin-bottom:8px}}

#spinAgain{display:none}
@media(max-width:800px){
.game-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch}
.game-grid>.wheel-panel,.game-grid>.controls-panel{grid-area:1/1;position:relative;inset:auto;min-width:0;min-height:430px;width:100%;height:auto;border-radius:13px;box-sizing:border-box;transition:opacity .45s ease,transform .45s ease,visibility .45s;align-self:stretch}
.game-grid>.wheel-panel,.wheel-stage .game-grid>.wheel-panel{display:flex;flex-direction:column;justify-content:center;padding:15px;background:radial-gradient(ellipse at top,#393151,#16213c);box-shadow:0 8px 30px #0005}
.game-grid>.wheel-panel{opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none}
.wheel-stage .game-grid>.wheel-panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.game-grid .wheel-panel .wheel-wrap{display:block;flex:none;width:min(255px,70vw);margin:12px auto 10px;grid-row:auto}
.game-grid .wheel-panel .section-title{display:flex;width:100%;font-size:9px}
.game-grid .wheel-panel #spin{width:100%;max-width:310px;min-height:42px}
.game-grid .wheel-panel .prize{margin:5px 0;font-size:14px}
.game-grid .wheel-panel #showPuzzle{display:block;min-height:40px;margin-top:4px}
.game-grid>.controls-panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.wheel-stage .game-grid>.controls-panel{opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none}
#spinAgain{display:block;margin:0 0 9px;padding:9px;min-height:38px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.game-grid>.wheel-panel,.game-grid>.controls-panel{transition:none!important}}
@media(max-width:800px){main>#status{min-height:48px}}

.room-chat{position:fixed;bottom:14px;right:14px;width:min(340px,calc(100vw - 28px));z-index:8;background:#18213df5;border:1px solid #74618d;border-radius:12px;box-shadow:0 8px 30px #0007;color:var(--ink)}.room-chat summary{padding:12px 14px;cursor:pointer;font-size:13px;font-weight:600;min-height:44px}.room-chat summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.chat-content{padding:0 12px 10px}.chat-room{font-size:11px;color:var(--gold);margin:0 0 8px}.chat-messages{max-height:220px;overflow:auto;overscroll-behavior:contain}.chat-message{padding:8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere;font-size:12px}.chat-message strong{color:var(--gold)}.chat-message time{float:right;color:var(--muted);font-size:10px}.chat-message p{margin:4px 0 0;white-space:pre-wrap;color:var(--ink);line-height:1.4;font-size:12px}.room-chat label{font-size:11px;margin:8px 0 5px}.room-chat input{padding:9px;font-size:13px}.room-chat .answer-row{flex-wrap:nowrap}.room-chat .answer-row .secondary{width:auto;padding:9px;font-size:12px}#chatEmpty,#chatError{font-size:11px;line-height:1.4}#chatError{color:#ffb9b3;margin:5px 0 0}#chatError:empty{display:none}#chatBadge{color:var(--gold)}#lobby>.room-chat{position:static;width:100%;margin-top:14px;box-shadow:none}#lobby .chat-messages{max-height:160px}@media(max-width:800px){body>.room-chat{bottom:max(8px,env(safe-area-inset-bottom));right:8px;width:min(330px,calc(100vw - 16px))}body>.room-chat:not([open]){width:auto;max-width:calc(100vw - 16px)}.chat-messages{max-height:30dvh}.chat-content{max-height:65dvh;overflow:auto}}

#chatVoice{font-size:11px;padding:7px 10px;min-height:36px;margin:0 0 8px;width:100%}#chatVoice[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}

.chat-preview{position:fixed;right:14px;bottom:68px;z-index:9;width:min(340px,calc(100vw - 28px));padding:12px 14px;text-align:left;border:1px solid #b59cde;border-radius:12px;background:#2a2949;color:var(--ink);box-shadow:0 8px 24px #0006;animation:chatPreviewIn .2s ease;overflow-wrap:anywhere}.chat-preview strong{display:block;color:var(--gold);font-size:12px;margin-bottom:5px}.chat-preview span{display:block;font-size:13px;line-height:1.4;white-space:pre-wrap}.chat-preview:after{content:'';position:absolute;bottom:-7px;right:24px;width:12px;height:12px;transform:rotate(45deg);background:#2a2949;border-bottom:1px solid #b59cde;border-right:1px solid #b59cde}#lobby>.chat-preview{position:relative;right:auto;bottom:auto;width:100%;margin-top:10px}#lobby>.chat-preview:after{display:none}@media(max-width:800px){body>.chat-preview{right:8px;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 54px);width:min(330px,calc(100vw - 16px))}}@keyframes chatPreviewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-preview{animation:none}}

@media(max-width:800px){.room-chat:not([open])>summary{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;list-style:none;font-size:22px}.room-chat:not([open])>summary::-webkit-details-marker{display:none}.room-chat:not([open])>summary::marker{content:""}.room-chat:not([open]) .chat-summary-label,.room-chat:not([open]) #chatBadge{display:none}#lobby>.room-chat:not([open]){width:48px;margin-left:auto}.room-chat:not([open]){border-radius:50%}}

@media(max-width:800px){.players[style*="--count: 4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.player-name{min-width:0;overflow-wrap:anywhere}.player .money{flex-shrink:0}}

/* Grouped menu with matching icon slots. */
header{align-items:center}header nav{display:flex;align-items:flex-start;gap:10px;flex:1}.menu-group{min-width:0;margin:0;padding:0 10px;border-left:1px solid var(--line)}.menu-heading{font:600 9px/1.3 Segoe UI,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#aab4d2;margin:0 0 7px}.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.menu-items>.quiet,.mobile-room-actions>.quiet{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:38px;text-align:left;font-size:11px;padding:8px 10px}.menu-items>.quiet:before,.mobile-room-actions>.quiet:before{content:'';display:block;width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:var(--menu-icon) center/contain no-repeat;-webkit-mask:var(--menu-icon) center/contain no-repeat}.language-switch{display:flex;gap:3px;padding:3px;background:#0b142b;border:1px solid var(--line);border-radius:9px}.language-option{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:32px;padding:5px 8px;font-size:12px;font-weight:600;text-decoration:none;color:#c4cce1;border-radius:6px}.language-option.active{background:#584877;color:#fff0ce}.language-link:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.room-menu-heading{display:none}#menuMicrophone label{font-size:10px;color:#aab4d2;margin:8px 0 5px}#menuMicrophone .dictation-mode{width:100%;max-width:none;font-size:12px;min-height:40px}
@media(max-width:800px){header nav{display:none}header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:15px}.menu-group{border:0;border-bottom:1px solid var(--line);padding:0 0 12px;width:100%}.menu-group:last-of-type{border-bottom:0;padding-bottom:0}.menu-heading{font-size:10px;margin-bottom:8px}.menu-items>.quiet,.mobile-room-actions>.quiet{min-height:42px;font-size:12px;padding:10px}.language-switch{width:max-content}.language-option{min-width:56px;min-height:36px}.mobile-room-actions .room-menu-heading{display:block;grid-column:1/-1;margin-bottom:0}body:has(#onlineBar:not([hidden])) .mobile-room-actions{margin-top:0;gap:6px;padding-top:12px}.menu-language{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-language .menu-heading{margin:0}}
#new{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%208v8M8%2012h8%22%2F%3E%3C%2Fsvg%3E")}
#custom{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204h7a3%203%200%200%201%203%203v14a4%204%200%200%200-4-3H4zM14%207a3%203%200%200%201%203-3h3v14h-2a4%204%200%200%200-4%203%22%2F%3E%3C%2Fsvg%3E")}
#ranking{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203h8v6a4%204%200%200%201-8%200zM8%205H4v3a4%204%200%200%200%204%204M16%205h4v3a4%204%200%200%201-4%204M12%2013v7M8%2021h8%22%2F%3E%3C%2Fsvg%3E")}
#help{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M9.5%209a2.5%202.5%200%201%201%204%202c-1%20.5-1.5%201-1.5%202M12%2017h.01%22%2F%3E%3C%2Fsvg%3E")}
#sound{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m11%204-6%205H2v6h3l6%205zM15%208a6%206%200%200%201%200%208M18%205a10%2010%200%200%201%200%2014%22%2F%3E%3C%2Fsvg%3E")}
#voice{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%229%22%20y%3D%222%22%20width%3D%226%22%20height%3D%2213%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M5%2010v2a7%207%200%200%200%2014%200v-2M12%2019v3M8%2022h8%22%2F%3E%3C%2Fsvg%3E")}
#fullscreen{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203H3v5M16%203h5v5M21%2016v5h-5M8%2021H3v-5%22%2F%3E%3C%2Fsvg%3E")}
#install{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22%2F%3E%3C%2Fsvg%3E")}
#copyInvite{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%2015%206-6M7%2016l-1%201a4%204%200%200%201-6-6l4-4a4%204%200%200%201%206%200M14%208l1-1a4%204%200%200%201%206%206l-4%204a4%204%200%200%201-6%200%22%2F%3E%3C%2Fsvg%3E")}
#roomDetails{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021V3h16v18M9%2021V7h7v14M12%2013h.01%22%2F%3E%3C%2Fsvg%3E")}
#skipPlayer{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%205%2010%207-10%207zM19%205v14%22%2F%3E%3C%2Fsvg%3E")}
#leaveRoom{--menu-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203H3v18h6M9%2012h12m-5-5%205%205-5%205%22%2F%3E%3C%2Fsvg%3E")}
@media(max-width:800px){header nav.is-open{background:#18213d}}

#onlineConnecting{font-size:13px;color:var(--gold);display:flex;align-items:center;gap:9px}#onlineConnecting:before{content:"";width:14px;height:14px;flex:0 0 14px;border:2px solid #74618d;border-top-color:var(--gold);border-radius:50%;animation:loadingTurn 1s linear infinite}#lobby[open]{animation:lobbyReveal .2s ease-out}@keyframes lobbyReveal{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#lobby[open],#onlineConnecting:before{animation:none}}

.player .player-total{display:block!important;color:var(--gold);font-size:11px;margin-top:5px;font-weight:600}.length-hint{display:block;margin:5px 0 10px}#setupError{color:#ffb9b3;font-size:13px}#setupError:empty{display:none}@media(max-width:800px){.player .player-total{font-size:10px;margin-top:3px}.player{min-height:53px;align-content:center}}
.speech-gender{margin-top:8px}.speech-gender label{font-size:10px;color:#aab4d2;margin:0 0 5px}.speech-gender select{font-size:11px;padding:7px;max-width:240px;min-height:36px}@media(max-width:800px){.speech-gender select{max-width:none;width:100%;font-size:12px}}

.opening-draw #difficultyLabel,.opening-draw #showPuzzle{display:none!important}.opening-draw .board-panel .board{min-height:0}.opening-draw .player .money{font-variant-numeric:tabular-nums}.opening-draw .board-foot{justify-content:center}

.opening-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin:7px 0;border:1px solid var(--line);border-radius:9px;font-size:13px;overflow-wrap:anywhere}.opening-result span{text-align:right;color:var(--gold)}.opening-result.winner{border-color:var(--gold);background:#ffd58212}#openingSummaryWinner{color:var(--gold);font-size:17px;font-weight:600}#openingSummary{width:min(540px,calc(100% - 28px))}

/* Keep game gestures from selecting or dragging interface elements. */
body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text}img,svg,canvas,a,button{-webkit-user-drag:none}button,canvas,.tile,.player{-webkit-touch-callout:none}
