:root{font-family:Inter,SF Pro Display,SF Pro Text,Segoe UI Variable,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#47515f;background:#55a9d0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%}body{overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.lobby-page{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.2),transparent 30%),radial-gradient(circle at 88% 85%,rgba(39,112,177,.38),transparent 34%),#55a9d0}.lobby-card{width:min(470px,calc(100vw - 32px));padding:42px;border-radius:28px;background:#fffffff5;box-shadow:0 30px 80px #164c6f40;text-align:center;position:relative;z-index:2}.brand-mark{font-size:14px;font-weight:900;letter-spacing:.18em;color:#3e94dd}.brand-mark span{color:#34b86b}.lobby-card h1{margin:12px 0 8px;font-size:30px;color:#303a49}.lobby-subtitle{margin:0 0 18px;color:#8792a0;line-height:1.5}.rules-mini{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-bottom:24px}.rules-mini span{padding:7px 9px;border-radius:999px;background:#f2f7fc;color:#6983a0;font-size:10px}.field-label{display:block;text-align:left;margin:0 0 7px;font-size:11px;font-weight:800;color:#697587;text-transform:uppercase;letter-spacing:.05em}.lobby-input{width:100%;height:52px;margin-bottom:14px;border:1px solid #e0e6ed;border-radius:13px;outline:none;padding:0 16px;color:#303a49;background:#f8fafc;transition:.2s}.lobby-input:focus{border-color:#59a1e8;box-shadow:0 0 0 4px #4d9ce41f;background:#fff}.primary-button,.secondary-button{width:100%;height:50px;border:0;border-radius:12px;font-weight:750;transition:transform .15s,box-shadow .15s}.primary-button{color:#fff;background:#35bd69;box-shadow:0 8px 20px #35bd6938}.secondary-button{color:#fff;background:#4e95df;box-shadow:0 8px 20px #4e95df33}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.or-divider{margin:18px 0;display:flex;align-items:center;gap:12px;color:#a4adb8;font-size:12px}.or-divider:before,.or-divider:after{content:"";height:1px;background:#e4e8ed;flex:1}.lobby-hint{margin-top:22px;font-size:10px;color:#a0a9b4;line-height:1.5}.lobby-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.25}.glow-one{width:300px;height:300px;background:#fff;left:-90px;top:-80px}.glow-two{width:380px;height:380px;background:#2f79b2;right:-150px;bottom:-160px}.game-page{min-height:100vh;padding:14px 24px;background:#55a9d0;color:#47515f}.game-header{height:77px;background:#fff;border-radius:0 0 13px 13px;display:flex;align-items:center;padding:0 23px;gap:12px;box-shadow:0 4px 14px #2f586e14}.header-logo{font-size:14px;font-weight:900;color:#4d5662;letter-spacing:.02em;margin-right:auto}.header-logo span{color:#4f98df}.timer-pill{width:114px;height:42px;border:2px solid #e6e9ed;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.timer-pill span{font-size:7px;color:#9aa2ad;letter-spacing:.04em}.timer-pill strong{font-size:16px;color:#5993d5;margin-top:3px}.danger-text{color:#ed5656!important;animation:pulse .9s infinite alternate}@keyframes pulse{to{opacity:.55}}.round-info{font-size:9px;color:#a1a8b1;min-width:90px;text-align:center}.start-game-button{height:30px;padding:0 15px;border:0;border-radius:9px;color:#fff;background:#35be68;font-size:10px;font-weight:750}.room-code{height:40px;min-width:153px;padding:0 11px;border:1px solid #e8ebef;border-radius:21px;display:flex;align-items:center;gap:8px;margin-left:auto}.room-code small{font-size:8px;color:#8e96a2;letter-spacing:.05em}.room-code b{color:#5c91d1;font-size:12px;letter-spacing:.15em}.room-code button{border:0;background:transparent;color:#9ba3ae}.mobile-actions{display:none}.game-layout{display:grid;grid-template-columns:160px minmax(450px,1fr) 190px;gap:15px;margin-top:15px;min-height:calc(100vh - 106px)}.players-panel,.chat-panel{background:#fff;border-radius:12px;overflow:hidden;min-height:0}.players-panel{position:relative;padding-bottom:267px}.panel-title{height:39px;padding:0 14px;display:flex;align-items:center;background:#4d92de;color:#fff;font-size:10px;font-weight:800}.panel-title span{margin-left:auto;font-size:8px;opacity:.8;font-weight:600}.role-group{padding:10px 12px 0}.role-title{font-size:8px;color:#707a87;margin-bottom:7px;letter-spacing:.04em}.player-card,.empty-player{min-height:38px;padding:0 9px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:10px;margin-bottom:5px;border:1px solid transparent}.player-card.role-artist{background:#fff0ac;border-color:#efb729}.player-card.role-explainer{background:#d4e8ff;border-color:#55a5ec}.player-card.role-guesser{background:#f7f8fa}.player-icon{font-size:13px;width:16px;text-align:center}.player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-score{margin-left:auto;color:#8e98a4;font-size:8px}.empty-player{color:#adb5bf;background:#f8f9fb}.scores{position:absolute;left:0;right:0;bottom:37px;background:#fff;padding:13px 12px 8px;border-top:1px solid #edf0f3}.scores-title{font-size:9px;font-weight:800}.scores-subtitle{font-size:7px;color:#a0a8b1;margin:3px 0 8px}.score-row{height:37px;border-radius:7px;display:grid;grid-template-columns:22px 1fr auto 18px;gap:5px;align-items:center;padding:0 6px;margin-top:5px;background:#f7f8fa;font-size:8px}.score-row.place-1{background:#fff0ac}.score-row.place-2{background:#e3e7eb}.score-row.place-3{background:#ffd19e}.place{width:19px;height:19px;border-radius:50%;background:#d8dde3;color:#fff;display:grid;place-items:center;font-size:8px}.score-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-value{color:#55a478;font-size:7px}.leave-button{position:absolute;bottom:0;left:12px;width:calc(100% - 24px);height:32px;border:0;background:#fff;color:#a0a8b2;font-size:9px}.board-area{display:flex;flex-direction:column;min-width:0;position:relative;min-height:0}.tools-bar{height:51px;border-radius:12px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 12px;margin-bottom:12px;flex:0 0 auto}.tool-button{height:33px;border:0;border-radius:9px;background:#5b9ee5;color:#fff;padding:0 12px;font-size:9px}.tool-text{border:0;background:transparent;color:#87909b;font-size:9px}.tool-text.selected{color:#4d92de;font-weight:800}.color-input{width:31px;height:31px;padding:2px;border:1px solid #e2e5e8;border-radius:7px;background:#fff}.size-label{font-size:9px;color:#929aa5}.size-range{width:82px;accent-color:#5a99dc}.size-number{font-size:8px;color:#5b9ee5;width:15px}.clear-button{margin-left:auto;height:33px;border:0;border-radius:9px;background:#ee4f56;color:#fff;padding:0 13px;font-size:9px}.canvas-wrap{flex:1;min-height:430px;border-radius:12px;background:#fff;overflow:hidden;position:relative;box-shadow:0 2px 8px #2a4f6508}.canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.canvas-message{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#b2b6bd;font-size:11px;text-align:center}.canvas-message>div{display:flex;flex-direction:column;align-items:center;gap:6px}.canvas-message b{color:#9ca5ae;font-size:12px}.canvas-message span{font-size:9px}.empty-pencil{font-size:31px;opacity:.45}.canvas-role-badge{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:8px 13px;background:#fffffff0;border-radius:999px;color:#78828d;font-size:9px;box-shadow:0 5px 15px #00000014;white-space:nowrap}.word-picker{position:absolute;top:65px;left:50%;transform:translate(-50%);background:#fffffffa;padding:18px;border-radius:15px;box-shadow:0 14px 35px #25465f2e;z-index:4;width:min(500px,90%);text-align:center}.word-picker-kicker{color:#5a99dc;font-size:8px;font-weight:900;letter-spacing:.14em;margin-bottom:4px}.word-picker-title{font-weight:800;font-size:12px;margin-bottom:12px;color:#3e4854}.word-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.word-options button{min-height:50px;border:1px solid #c9def3;background:#eff7ff;color:#4284c6;border-radius:9px;font-weight:750;font-size:11px;transition:.15s}.word-options button:hover{background:#5a9de2;color:#fff;transform:translateY(-1px)}.artist-word{position:absolute;top:63px;left:50%;transform:translate(-50%);z-index:2;background:#fff0acf5;border:1px solid #efc544;border-radius:999px;padding:8px 14px;font-size:9px;color:#8c7330;box-shadow:0 4px 12px #0000000f}.artist-word span{opacity:.7;margin-right:5px}.winner-overlay{position:absolute;inset:63px 0 0;background:#f7fafcf0;display:grid;place-items:center;border-radius:12px;z-index:5;overflow:auto}.winner-card{width:min(390px,92%);padding:25px;border-radius:18px;background:#fff;box-shadow:0 18px 50px #28465a26;text-align:center}.winner-crown{font-size:35px}.winner-kicker{font-size:8px;letter-spacing:.16em;color:#5a99dc;font-weight:900;margin-top:5px}.winner-card h2{margin:5px 0;color:#303a49}.winner-card p{color:#8b95a0;font-size:10px}.final-scores{margin:15px 0;text-align:left}.final-scores div{display:grid;grid-template-columns:25px 1fr auto;gap:8px;padding:8px 10px;border-radius:7px;margin-top:4px;background:#f7f8fa;font-size:10px}.final-scores div:first-child{background:#fff0ac}.winner-card button{height:38px;border:0;border-radius:10px;padding:0 17px;background:#4d92de;color:#fff;font-size:10px;font-weight:800}.chat-panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.messages{flex:1 1 auto;min-height:0;height:0;padding:11px 8px;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9d1da transparent}.messages::-webkit-scrollbar{width:7px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:#c9d1da;border-radius:999px;border:2px solid #fff}.messages::-webkit-scrollbar-thumb:hover{background:#aeb8c3}.message{background:#f7f8fa;border-radius:8px;padding:8px;margin-bottom:6px;font-size:8px;line-height:1.35;word-break:break-word}.message b{color:#5b96d4}.message.system{color:#a0a8b2;text-align:center;font-size:7px;background:#fafbfc}.message.correct{background:#c8f4d9;color:#39835b;border:1px solid #a9e8c3}.chat-form{height:53px;padding:8px;display:flex;gap:6px;border-top:1px solid #edf0f3;flex:0 0 auto}.chat-form input{min-width:0;flex:1;border:1px solid #e3e6ea;border-radius:19px;outline:none;padding:0 12px;font-size:8px}.chat-form input:focus{border-color:#78ace0}.chat-form button{width:32px;border:0;border-radius:50%;background:#5c9de3;color:#fff}@media(max-width:1050px){.game-page{padding:10px}.game-layout{grid-template-columns:145px minmax(360px,1fr) 165px;gap:9px}.game-header{padding:0 14px}}@media(max-width:800px){.game-header{height:auto;min-height:72px;flex-wrap:wrap;padding:10px 12px}.header-logo{margin-right:auto}.round-info{display:none}.game-layout{grid-template-columns:1fr;min-height:auto}.players-panel,.chat-panel{display:none}.players-panel.mobile-open,.chat-panel.mobile-open{display:flex;position:fixed;z-index:20;inset:105px 10px 10px;box-shadow:0 20px 50px #0003}.players-panel.mobile-open{display:block;overflow:auto}.scores{position:static;margin-top:10px}.players-panel.mobile-open{padding-bottom:35px}.mobile-actions{display:flex;gap:8px;margin-top:8px}.mobile-actions button{flex:1;height:36px;border:0;border-radius:9px;color:#fff;background:#ffffff2e}.canvas-wrap{min-height:65vh}.tools-bar{overflow-x:auto}.clear-button{margin-left:0}}@media(max-width:520px){.lobby-card{padding:28px 22px}.lobby-card h1{font-size:25px}.timer-pill{width:98px}.room-code{min-width:120px}.room-code small{display:none}.start-game-button{padding:0 10px}.word-options{grid-template-columns:1fr}.word-options button{min-height:43px}.canvas-wrap{min-height:58vh}}.reveal-result-panel{position:absolute;z-index:7;top:14px;left:50%;transform:translate(-50%);width:min(430px,calc(100% - 28px));padding:12px 14px;border-radius:16px;background:#fffffff5;border:1px solid rgba(72,153,112,.18);box-shadow:0 14px 40px #25465f29;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.reveal-result-top{display:grid;grid-template-columns:34px 1fr 30px;align-items:center;gap:10px}.reveal-result-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#d9f7e5;color:#2fa866;font-weight:900}.reveal-result-top>div{min-width:0;display:flex;flex-direction:column;gap:2px}.reveal-result-top b{color:#2f9b60;font-size:clamp(13px,.85vw,16px)}.reveal-result-top span{color:#89939e;font-size:clamp(10px,.62vw,12px)}.reveal-result-top>strong{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edf7ff;color:#4e93d7;font-size:12px}.reveal-result-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.reveal-result-details>div{min-width:0;padding:8px 10px;border-radius:10px;background:#f7fafc;display:flex;flex-direction:column;gap:2px}.reveal-result-details small{color:#a0a8b1;font-size:8px;letter-spacing:.08em;font-weight:800}.reveal-result-details b{color:#3e4854;font-size:clamp(12px,.72vw,14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:520px){.reveal-result-details{grid-template-columns:1fr}.reveal-result-panel{top:10px}}.canvas-hidden-overlay{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;text-align:center;gap:5px;background:#f8fafcf5;color:#7f8995}.canvas-hidden-overlay .hidden-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#eef2f6;font-size:22px;margin-bottom:4px}.canvas-hidden-overlay b{color:#56616e;font-size:14px}.canvas-hidden-overlay span{max-width:300px;font-size:10px;line-height:1.45}.reveal-badge{position:absolute;z-index:6;top:14px;left:50%;transform:translate(-50%);min-width:235px;padding:9px 13px 8px;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;border-radius:12px;background:#fffffff0;box-shadow:0 8px 25px #24465c26;border:1px solid rgba(83,154,222,.2)}.reveal-badge b{font-size:10px;color:#4f91d4}.reveal-badge span{grid-column:1;font-size:8px;color:#929ba6;margin-top:2px}.reveal-badge strong{grid-column:2;grid-row:1 / span 2;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e9f3ff;color:#4e93d7;font-size:11px}.word-picker-reveal{top:75px}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}body{font-size:clamp(14px,.95vw + 5px,17px)}.lobby-page{position:relative;isolation:isolate;overflow:hidden}.lobby-page:before,.lobby-page:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1;will-change:transform}.lobby-page:before{width:clamp(220px,30vw,480px);height:clamp(220px,30vw,480px);left:-150px;top:-150px;background:#ffffff21;box-shadow:0 0 100px #ffffff2e,inset 0 0 80px #ffffff14;animation:orbA 14s ease-in-out infinite}.lobby-page:after{width:clamp(250px,34vw,540px);height:clamp(250px,34vw,540px);right:-180px;bottom:-180px;background:#26699d21;box-shadow:0 0 120px #ffffff21,inset 0 0 90px #ffffff0f;animation:orbB 17s ease-in-out infinite}.glow-one{animation:smallOrbA 11s ease-in-out infinite;transform-origin:center}.glow-two{animation:smallOrbB 15s ease-in-out infinite;transform-origin:center}@keyframes orbA{0%,to{transform:translate(0) scale(1) rotate(0)}25%{transform:translate(35px,20px) scale(1.05) rotate(8deg)}50%{transform:translate(12px,65px) scale(.96) rotate(16deg)}75%{transform:translate(-25px,25px) scale(1.03) rotate(7deg)}}@keyframes orbB{0%,to{transform:translate(0) scale(1)}30%{transform:translate(-30px,-20px) scale(1.04)}60%{transform:translate(-10px,-60px) scale(.95)}80%{transform:translate(28px,-12px) scale(1.02)}}@keyframes smallOrbA{50%{transform:translate(25px,-30px) scale(1.08);opacity:.35}}@keyframes smallOrbB{50%{transform:translate(-30px,25px) scale(.94);opacity:.2}}.lobby-card{width:min(460px,92vw);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:#ffffffe6;box-shadow:0 30px 100px #1c4d6f40}.brand-mark{font-size:clamp(18px,1.6vw,26px)}.lobby-card h1{font-size:clamp(25px,2.5vw,36px)}.field-label{font-size:clamp(11px,.7vw,13px)}.lobby-input{font-size:clamp(15px,1vw,17px)}.primary-button,.secondary-button{font-size:clamp(14px,.9vw,16px)}.apple-palette-wrap{position:relative}.apple-color-button{width:36px;height:36px;border:1px solid #e1e5ea;border-radius:11px;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 3px #0000000f}.apple-color-button:disabled{opacity:.45;cursor:not-allowed}.apple-color-button span{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.apple-palette{position:absolute;z-index:20;top:44px;left:0;width:190px;padding:12px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:#fafafcf0;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 16px 40px #1e324633}.apple-palette button{width:19px;height:19px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001f}.apple-palette button.selected-color{outline:2px solid #fff;box-shadow:0 0 0 3px #4e95df}.game-header,.tools-bar{font-size:clamp(13px,.8vw,16px)}.header-logo{font-size:clamp(16px,1vw,21px)}.timer-pill strong{font-size:clamp(16px,1.2vw,22px)}.panel-title{font-size:clamp(11px,.7vw,14px)}.role-title,.scores-title{font-size:clamp(10px,.65vw,13px)}.player-card,.empty-player{font-size:clamp(12px,.72vw,15px)}.player-score{font-size:clamp(10px,.6vw,12px)}.score-row{font-size:clamp(10px,.62vw,13px)}.tool-button,.tool-text,.size-label,.clear-button{font-size:clamp(11px,.68vw,14px)}.word-picker-title{font-size:clamp(14px,1vw,18px)}.word-options button{font-size:clamp(13px,.85vw,16px)}.artist-word{font-size:clamp(12px,.7vw,15px)}.message{font-size:clamp(11px,.65vw,14px)}.chat-form input{font-size:clamp(12px,.7vw,15px)}.canvas-message{font-size:clamp(13px,.8vw,17px)}.canvas-message b{font-size:clamp(14px,.9vw,19px)}.canvas-message span{font-size:clamp(11px,.65vw,14px)}.winner-card h2{font-size:clamp(24px,2.2vw,34px)}.final-scores div,.winner-card button{font-size:clamp(12px,.75vw,15px)}.winner-card button.result-secondary{margin-left:8px;background:#eef1f4;color:#69717c}@media(max-width:520px){.winner-card button{width:100%;margin:6px 0 0!important}.apple-palette{left:-20px}}@media(prefers-reduced-motion:reduce){.lobby-page:before,.lobby-page:after,.glow-one,.glow-two{animation:none!important}}:root{letter-spacing:-.01em}body{font-size:clamp(14px,.28vw + 13px,17px)}button,input{font-family:inherit}.lobby-card h1,.winner-card h2,.header-logo,.brand-mark{letter-spacing:-.025em}.lobby-card h1{font-weight:760;line-height:1.08}.lobby-subtitle{font-size:clamp(13px,.25vw + 12px,15px)}.field-label{font-size:clamp(11px,.18vw + 10px,13px)}.lobby-input{font-size:clamp(15px,.25vw + 14px,17px);font-weight:520}.primary-button,.secondary-button{font-size:clamp(14px,.22vw + 13px,16px);font-weight:700}.panel-title{font-size:clamp(11px,.18vw + 10px,14px)}.player-card,.empty-player{font-size:clamp(12px,.22vw + 11px,15px)}.message{font-size:clamp(11px,.22vw + 10px,14px)}.chat-form input{font-size:clamp(12px,.22vw + 11px,15px)}.host-badge{font-size:9px;padding:4px 7px;border-radius:999px;background:#eaf7ef;color:#32a861;font-weight:750;white-space:nowrap}.sound-toggle{border:0;background:#f5f7fa;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px}.sound-toggle:hover{background:#eaf1f8;transform:scale(1.04)}.start-game-button:disabled{filter:saturate(.65)}.game-notice{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:100;width:min(440px,calc(100vw - 28px));padding:13px 17px;border-radius:16px;background:#fffffff0;border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 50px #23486238;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:flex;flex-direction:column;gap:3px;animation:noticeIn .28s ease-out}.game-notice strong{color:#384554;font-size:clamp(13px,.8vw,16px)}.game-notice span{color:#7c8793;font-size:clamp(11px,.65vw,13px)}.game-notice.role-change{border-color:#efb72980}.host-restart-note{margin-top:10px;color:#929aa5;font-size:clamp(11px,.65vw,13px)}@keyframes noticeIn{0%{opacity:0;transform:translate(-50%,-12px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.game-layout{grid-template-columns:160px minmax(450px,1fr) 235px}.chat-panel{min-width:0}.messages{scrollbar-gutter:stable}.pause-game-button{height:32px;padding:0 14px;border:0;border-radius:10px;background:#f2f5f8;color:#687481;font-size:clamp(11px,.68vw,14px);font-weight:750;transition:transform .15s,background .15s}.pause-game-button:hover{transform:translateY(-1px);background:#e9eef3}.pause-game-button.resume{background:#35be68;color:#fff}.role-intro-overlay,.pause-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#eff5f9c7;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:12px;animation:overlayIn .22s ease-out}.role-intro-card,.pause-card{width:min(520px,94%);padding:clamp(22px,3vw,34px);border-radius:24px;background:#fffffff7;border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 70px #2a4d6533;text-align:center}.role-intro-kicker{color:#5a99dc;font-size:11px;font-weight:900;letter-spacing:.14em}.role-intro-card h2,.pause-card h2{margin:7px 0 6px;color:#303b48;font-size:clamp(24px,2vw,32px);letter-spacing:-.025em}.role-intro-card p,.pause-card p{margin:0 auto 18px;max-width:420px;color:#89939f;font-size:clamp(12px,.72vw,15px);line-height:1.5}.role-intro-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px}.role-intro-role{min-width:0;padding:15px 12px;border-radius:15px;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid transparent}.role-intro-role.artist{background:#fff4c8;border-color:#efc84f}.role-intro-role.explainer{background:#e1efff;border-color:#7eb9ed}.role-intro-role span{font-size:25px}.role-intro-role small{font-size:9px;font-weight:850;letter-spacing:.08em;color:#778290}.role-intro-role b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34404d;font-size:clamp(14px,.9vw,17px)}.ready-progress{color:#8c96a1;font-size:clamp(11px,.7vw,14px);margin:8px 0 13px}.ready-progress b{color:#4e95df}.ready-button{min-width:170px;height:44px;border:0;border-radius:13px;padding:0 20px;background:#35bd69;color:#fff;font-size:clamp(13px,.8vw,16px);font-weight:800;box-shadow:0 9px 22px #35bd6933;transition:transform .15s,filter .15s}.ready-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.02)}.ready-button:disabled{background:#e9eef1;color:#7d8893;box-shadow:none;opacity:1}.pause-icon{width:54px;height:54px;margin:0 auto 8px;border-radius:18px;display:grid;place-items:center;background:#eef3f7;color:#647382;font-weight:900;font-size:22px}.pause-card>span{display:block;color:#9aa3ad;font-size:13px;margin-top:8px}@keyframes overlayIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media(max-width:1200px){.game-layout{grid-template-columns:145px minmax(360px,1fr) 220px;gap:10px}}@media(max-width:900px){.game-layout{grid-template-columns:1fr}}@media(max-width:520px){.role-intro-roles{grid-template-columns:1fr}.pause-game-button{padding:0 10px}}.apple-palette{width:226px;grid-template-columns:repeat(7,22px);column-gap:8px;row-gap:8px;padding:12px}.apple-palette button{justify-self:center;width:20px;height:20px}html,body,#root{width:100%;height:100%;min-height:0}html,body{overflow:hidden}body{overscroll-behavior:none}.lobby-page{width:100%;height:100dvh;min-height:0;overflow:hidden}.game-page{width:100%;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.game-header{flex:0 0 auto}.game-layout{flex:1 1 auto;height:auto;min-height:0;overflow:hidden}.board-area,.canvas-wrap{min-height:0}@media(max-width:800px){.game-page{overflow:hidden}.game-layout{flex:1 1 0;min-height:0;overflow:hidden}.board-area,.canvas-wrap{min-height:0;height:100%}}@media(max-width:800px){.canvas-wrap{min-height:0}}@media(max-width:520px){.canvas-wrap{min-height:0}}.chat-form.chat-disabled{opacity:.62}.chat-form.chat-disabled input{cursor:not-allowed;background:#f3f5f8}.chat-form.chat-disabled button{cursor:not-allowed;opacity:.55}.reveal-result-panel.timeout-reveal .reveal-result-icon{font-size:24px}.scores-title{font-size:11px;line-height:1.2}.scores-subtitle{font-size:10px;line-height:1.25}.score-value{font-size:11px;font-weight:800}.score-row,.place{font-size:9px}.message,.message.system,.message.correct{font-size:13px;line-height:1.4}.message b,.chat-form input{font-size:13px}@media(max-width:700px){.scores-title{font-size:10px}.scores-subtitle{font-size:9px}.score-value{font-size:10px}.message,.message.system,.message.correct,.message b,.chat-form input{font-size:12px}}.reveal-result-panel{animation:revealPanelIn .34s cubic-bezier(.2,.8,.2,1) both}.reveal-result-icon{animation:revealIconPop .42s cubic-bezier(.2,1.4,.4,1) .08s both}.reveal-result-panel .reveal-result-details>div{animation:revealDetailIn .32s ease both}.reveal-result-panel .reveal-result-details>div:nth-child(2){animation-delay:.06s}@keyframes revealPanelIn{0%{opacity:0;transform:translate(-50%,-12px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes revealIconPop{0%{transform:scale(.45) rotate(-12deg)}to{transform:scale(1) rotate(0)}}@keyframes revealDetailIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.final-card{width:min(470px,94%);padding:28px}.winner-summary{font-size:clamp(12px,.78vw,15px)!important;line-height:1.5}.winner-highlight{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;margin:16px 0 12px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#fff7c9,#fff0ac);border:1px solid #f1d36c;text-align:left;box-shadow:0 8px 24px #e0ae291f}.winner-highlight>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:21px}.winner-highlight div{display:flex;flex-direction:column;min-width:0}.winner-highlight small{font-size:9px;color:#9c8744;font-weight:800;letter-spacing:.08em}.winner-highlight b{font-size:clamp(14px,.9vw,17px);color:#5e522d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winner-highlight strong{font-size:clamp(17px,1.2vw,23px);color:#4f9b6e}.final-scores div{min-height:40px;align-items:center;font-size:clamp(12px,.72vw,15px)}.final-scores div.final-place-2{background:#eef1f4}.final-scores div.final-place-3{background:#ffe1c1}.final-place{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#dce2e7;color:#fff;font-weight:800}.final-place-1 .final-place{background:#efbd27}.final-place-2 .final-place{background:#9aa5af}.final-place-3 .final-place{background:#d88b42}.final-scores strong{font-size:clamp(13px,.85vw,17px);color:#4f9b6e}.result-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.result-actions .result-secondary{margin-left:0!important}.sound-settings-button{width:27px;height:27px;border:0;background:transparent;color:#8f98a3;border-radius:50%}.sound-settings-button:hover{background:#f1f4f7;color:#4d92de}.sound-settings-popover{position:absolute;right:12px;top:48px;z-index:30;width:245px;padding:13px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:#fafafcf5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 18px 45px #233c502e}.sound-settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#3e4854;font-size:13px}.sound-settings-head button{border:0;background:transparent;color:#8c96a0;font-size:20px;line-height:1}.sound-setting-row{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;min-height:34px;color:#65707d;font-size:11px}.sound-setting-row input[type=range]{width:100%;accent-color:#5a99dc}.sound-setting-row input[type=checkbox]{justify-self:start;width:17px;height:17px;accent-color:#4d92de}.sound-setting-row.disabled{opacity:.45}.mobile-panel-close{display:none}@media(max-width:800px){html,body,#root{height:100%;overflow:hidden}.game-page{height:100dvh;min-height:0;overflow:hidden;padding:8px}.game-header{flex:0 0 auto}.game-layout{min-height:0;height:calc(100dvh - 126px)}.board-area{min-height:0}.canvas-wrap{min-height:0;height:100%}.mobile-actions{flex:0 0 auto}.players-panel.mobile-open,.chat-panel.mobile-open{inset:74px 8px 8px;border-radius:16px}.mobile-panel-close{display:grid;position:absolute;right:8px;top:7px;width:26px;height:26px;place-items:center;border:0;border-radius:50%;background:#ffffff2e;color:#fff;font-size:19px;z-index:3}.players-panel .panel-title,.chat-panel .panel-title{padding-right:43px}.sound-settings-popover{position:fixed;right:10px;top:65px;width:min(270px,calc(100vw - 20px))}}@media(max-width:520px){.final-card{padding:21px 17px}.winner-highlight{grid-template-columns:38px 1fr auto;padding:10px}.winner-highlight>span{width:34px;height:34px;font-size:18px}.result-actions{flex-direction:column;width:100%}.result-actions>*{width:100%}.result-actions .host-restart-note{width:100%}}@media(prefers-reduced-motion:reduce){.reveal-result-panel,.reveal-result-icon,.reveal-result-panel .reveal-result-details>div{animation:none!important}}.sound-settings{position:relative;display:flex;align-items:center;gap:4px}.lobby-sound-control{position:absolute;top:22px;right:22px;z-index:10}.lobby-sound-control .sound-settings{padding:5px;border-radius:16px;background:#ffffffb8;box-shadow:0 10px 28px #2348621f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.lobby-sound-popover{right:0;top:43px}.sound-output-label{margin:12px 0 6px;color:#657180;font-size:11px;font-weight:750}.sound-output-select{width:100%;height:36px;border:1px solid #e1e6eb;border-radius:10px;padding:0 9px;background:#fff;color:#4d5865;outline:none;font:inherit;font-size:12px}.sound-output-select:focus{border-color:#64a5e4;box-shadow:0 0 0 3px #4e95df1a}.sound-output-note{margin-top:7px;color:#9aa2ab;font-size:9px;line-height:1.35}.sound-test-button{width:100%;height:34px;margin-top:10px;border:0;border-radius:10px;background:#edf5ff;color:#4e93d7;font-size:11px;font-weight:750}.sound-test-button:hover{background:#e2efff}@media(max-width:700px){.lobby-sound-control{top:12px;right:12px}.lobby-card{margin-top:28px}}.sound-setting-row input[type=range]{appearance:none;-webkit-appearance:none;height:4px;border-radius:999px;background:linear-gradient(to right,#5a99dc 0%,#5a99dc var(--range-progress, 50%),#dfe5eb var(--range-progress, 50%),#dfe5eb 100%);outline:none}.sound-setting-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;border-radius:50%;background:#fff;border:1px solid rgba(76,146,216,.35);box-shadow:0 2px 7px #325a782e;cursor:pointer}.sound-setting-row input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:#fff;border:1px solid rgba(76,146,216,.35);box-shadow:0 2px 7px #325a782e;cursor:pointer}.sound-setting-row input[type=range]:disabled{cursor:not-allowed}.room-code{position:relative}.host-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#fff4c7;color:#c59620;font-size:14px;box-shadow:inset 0 0 0 1px #d3a72f2e;flex:0 0 auto}.copy-room-button{height:30px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #e2e9f0;border-radius:10px;background:linear-gradient(180deg,#fff,#f5f8fb);color:#5f7d9a;font-size:9px;font-weight:800;box-shadow:0 3px 9px #30526e14;transition:transform .15s,box-shadow .15s,border-color .15s}.copy-room-button:hover{transform:translateY(-1px);border-color:#b9d5ef;box-shadow:0 6px 14px #3070a421;color:#4389c9}.copy-icon{font-size:13px;line-height:1}.copy-room-toast{position:absolute;right:0;top:48px;z-index:50;padding:9px 12px;border-radius:11px;background:#232e3af0;color:#fff;font-size:10px;font-weight:750;white-space:nowrap;box-shadow:0 10px 28px #1e2d3c38;animation:copyToastIn .2s ease-out both}@keyframes copyToastIn{0%{opacity:0;transform:translateY(-5px) scale(.97)}to{opacity:1;transform:none}}.sound-output-refresh{width:100%;height:32px;margin-top:8px;border:1px solid #e2ebf3;border-radius:10px;background:#f7fbff;color:#5794ca;font-size:10px;font-weight:750}.sound-output-refresh:hover{background:#edf6ff}@media(max-width:800px){.copy-room-button span:last-child{display:none}.copy-room-button{width:30px;padding:0;justify-content:center}.room-code{gap:6px}}.host-icon{background:#fff4c7;color:#e4a91c;font-size:13px}.copy-room-button{width:30px;padding:0;justify-content:center;gap:0}.copy-room-button .copy-icon{font-size:15px}.room-code{gap:7px}.room-rules-button,.rules-button{border:1px solid #e4e9ee;background:#ffffffdb;color:#66819d;height:30px;min-width:30px;padding:0 10px;border-radius:10px;font-size:11px;font-weight:800;box-shadow:0 3px 9px #30526e0f;transition:.15s}.room-rules-button{width:30px;padding:0;border-radius:50%}.rules-button:hover,.room-rules-button:hover{border-color:#bdd8ef;color:#4189c9;transform:translateY(-1px)}.lobby-top-controls{position:absolute;top:22px;right:22px;z-index:10;display:flex;align-items:center;gap:8px}.lobby-top-controls .sound-settings{padding:5px;border-radius:16px;background:#ffffffb8;box-shadow:0 10px 28px #2348621f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.sound-output-current{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #e1e6eb;border-radius:10px;background:#fff;color:#4d5865;min-width:0}.sound-output-current span{font-size:13px}.sound-output-current b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650}.sound-output-select{display:none}.rules-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#1c364657;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:rulesFade .18s ease-out}.rules-modal{width:min(650px,100%);max-height:min(820px,calc(100dvh - 32px));overflow:hidden;border-radius:24px;background:#fffffffa;box-shadow:0 28px 90px #193d5247;animation:rulesUp .22s ease-out}.rules-modal-head{height:72px;padding:0 18px 0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f4}.rules-modal-head>div:first-child{display:flex;align-items:center;gap:11px}.rules-modal-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#edf6ff;color:#4d92de;font-weight:900;font-size:16px}.rules-modal-head small{display:block;font-size:7px;letter-spacing:.15em;color:#91a0ae;font-weight:900}.rules-modal-head h2{margin:2px 0 0;color:#303a49;font-size:19px;letter-spacing:-.02em}.rules-close{width:32px;height:32px;border:0;border-radius:50%;background:#f4f6f8;color:#7f8a95;font-size:22px;line-height:1}.rules-close:hover{background:#eaf1f7;color:#4d92de}.rules-content{padding:16px 20px 20px;overflow:auto;max-height:min(820px,100dvh - 104px)}.rules-hero{padding:13px 15px;border-radius:14px;background:linear-gradient(135deg,#eef7ff,#f7fbff);margin-bottom:12px;display:flex;flex-direction:column;gap:3px}.rules-hero b{color:#3f82c2;font-size:14px}.rules-hero span{color:#8a98a5;font-size:10px}.rule-item{display:grid;grid-template-columns:27px 1fr;gap:10px;padding:10px 4px;border-bottom:1px solid #f0f2f4}.rule-item>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#f2f7fc;color:#5596d7;font-size:10px;font-weight:850}.rule-item b{color:#3d4855;font-size:12px}.rule-item p{margin:3px 0 0;color:#788491;font-size:10.5px;line-height:1.55}.rules-host-note{margin-top:14px;padding:11px 13px;border-radius:12px;background:#fff8db;color:#8b7433;font-size:10px;line-height:1.45}@keyframes rulesFade{0%{opacity:0}to{opacity:1}}@keyframes rulesUp{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:700px){.lobby-top-controls{top:12px;right:12px}.rules-modal{border-radius:20px}.rules-content{padding:13px 15px 17px}.rules-modal-head{height:64px}.rules-modal-head h2{font-size:17px}.rule-item p{font-size:10px}}@media(max-width:520px){.lobby-top-controls .rules-button,.room-rules-button{display:none}}.ready-progress{display:flex;flex-direction:column;align-items:center;gap:8px}.ready-progress-label{font-size:clamp(11px,.7vw,14px);color:#8c96a1}.ready-dots{display:flex;gap:6px;max-width:100%;flex-wrap:wrap;justify-content:center}.ready-dots span{width:8px;height:8px;border-radius:50%;background:#dfe5ea;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.ready-dots span.on{background:#35bd69;transform:scale(1.15);box-shadow:0 0 0 4px #35bd691a}.ready-button:not(:disabled){animation:readyPulse 2.2s ease-in-out infinite}@keyframes readyPulse{0%,to{box-shadow:0 9px 22px #35bd692e}50%{box-shadow:0 12px 28px #35bd6952}}.achievements-block{margin-top:14px;text-align:left}.final-section-title{font-size:10px;font-weight:900;color:#6f7b88;letter-spacing:.06em;margin:0 0 7px}.achievement-grid{display:grid;gap:6px}.achievement-card{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #edf1f4;border-radius:11px;background:#fbfcfd;animation:resultItem .35s ease both}.achievement-card:nth-child(2){animation-delay:.06s}.achievement-card:nth-child(3){animation-delay:.12s}.achievement-card>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#f2f7fc;font-size:16px}.achievement-card div{min-width:0;display:flex;flex-direction:column}.achievement-card b{color:#3f4b58;font-size:11px}.achievement-card small{color:#8e98a3;font-size:9px;margin-top:1px}@keyframes resultItem{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reveal-result-panel{animation:revealIn .28s cubic-bezier(.2,.8,.2,1) both}.reveal-result-icon{animation:revealPop .42s .08s cubic-bezier(.2,1.4,.4,1) both}@keyframes revealIn{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes revealPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.word-options button{position:relative;overflow:hidden}.word-options button:after{content:"";position:absolute;inset:0;background:#ffffff38;transform:translate(-110%);transition:transform .35s ease}.word-options button:hover:after{transform:translate(110%)}.final-card>*{animation:resultItem .32s ease both}.final-card>*:nth-child(2){animation-delay:.04s}.final-card>*:nth-child(3){animation-delay:.08s}.final-card>*:nth-child(4){animation-delay:.12s}.final-card>*:nth-child(5){animation-delay:.16s}@media(max-width:520px){.history-row{grid-template-columns:42px 1fr}.history-row em{grid-column:2}}.rules-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.rules-steps>div{padding:11px;border:1px solid #edf1f4;border-radius:13px;background:#fcfdfe}.rules-steps span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf6ff;color:#4d92de;font-size:9px;font-weight:900;margin-bottom:7px}.rules-steps b{display:block;color:#43505e;font-size:12px;margin-bottom:3px}.rules-steps p{margin:0;color:#8b96a2;font-size:10px;line-height:1.45}.rules-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.rules-info-grid>div{padding:10px 11px;border-radius:11px;background:#f7fafc}.rules-info-grid b{display:block;color:#4b5865;font-size:10px;margin-bottom:3px}.rules-info-grid span{color:#8b96a2;font-size:9px;line-height:1.4}.rules-note{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff8df;border:1px solid #f3df99}.rules-note b{color:#8b7433;font-size:10px;white-space:nowrap}.rules-note span{color:#8f8052;font-size:9px;line-height:1.45}@media(max-width:560px){.rules-steps,.rules-info-grid{grid-template-columns:1fr}}.achievements-block{margin-top:16px;padding:13px;border:1px solid #edf1f4;border-radius:16px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 8px 24px #3250690f}.achievements-block .final-section-title{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:#3e4b59;font-size:clamp(12px,.76vw,15px);letter-spacing:.01em}.achievement-grid{grid-template-columns:1fr;gap:7px}.achievement-card{position:relative;overflow:hidden;min-height:48px;padding:8px 10px;gap:10px;border:1px solid #e9eef3;border-radius:13px;background:#fff;box-shadow:0 3px 10px #3250690b}.achievement-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,#fff0,#ffffffa6,#fff0);transform:translate(-120%);animation:achievementShine 4.5s ease-in-out infinite}.achievement-card>span{flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#eef7ff,#f8fbff);border:1px solid #e4eff8;font-size:17px}.achievement-card b{font-size:clamp(11px,.7vw,14px);color:#394654}.achievement-card small{font-size:clamp(9px,.58vw,11px);color:#87929e;line-height:1.35}@keyframes achievementShine{0%,72%,to{transform:translate(-120%)}82%{transform:translate(120%)}}.host-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff4c7;color:#e2aa25;font-size:13px}.host-badge{display:none!important}.score-row.place-1 .place{background:#efbd27}.score-row.place-2 .place{background:#9aa5af}.score-row.place-3 .place{background:#d88b42}.score-row.place-1 .place,.score-row.place-2 .place,.score-row.place-3 .place{font-weight:850}.rules-hero b{font-size:clamp(15px,1vw,18px)}.rules-hero span{font-size:clamp(11px,.72vw,13px);line-height:1.45}.rules-steps>div{padding:13px}.rules-steps span{width:28px;height:28px;border-radius:9px;font-size:11px}.rules-steps b{font-size:clamp(13px,.82vw,16px)}.rules-steps p{font-size:clamp(11px,.7vw,14px);line-height:1.55}.rules-info-grid>div{padding:12px}.rules-info-grid b{font-size:clamp(11px,.7vw,14px)}.rules-info-grid span{font-size:clamp(10px,.63vw,12px);line-height:1.5}.rules-note b{font-size:clamp(11px,.7vw,14px)}.rules-note span,.rules-host-note{font-size:clamp(10px,.65vw,13px);line-height:1.55}@media(max-width:700px){.rules-steps b{font-size:14px}.rules-steps p,.rules-info-grid b{font-size:12px}.rules-info-grid span{font-size:11px}}.sound-toggle,.sound-settings-button,.rules-button,.room-rules-button{width:30px;height:30px;min-width:30px;padding:0;box-sizing:border-box;display:inline-grid;place-items:center;line-height:1}.lobby-top-controls .sound-settings{padding:0;background:transparent;box-shadow:none;border-radius:0;gap:6px}.lobby-top-controls{gap:6px}.rules-content{padding:20px}@media(max-width:700px){.rules-content{padding:15px}.lobby-top-controls .sound-settings{gap:5px}}.lobby-page{position:fixed;inset:0;width:100vw;height:100dvh;min-height:0;overflow:hidden}.lobby-card{max-height:calc(100dvh - 40px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}@media(max-width:700px){.lobby-page{padding:76px 12px 16px;place-items:center}.lobby-card{width:min(470px,calc(100vw - 24px));max-height:calc(100dvh - 92px);margin:0}.lobby-top-controls{top:14px;right:14px}}@media(max-width:520px){.lobby-page{padding:68px 10px 12px}.lobby-card{width:min(470px,calc(100vw - 20px));max-height:calc(100dvh - 80px);padding:28px 22px}}.rules-modal{display:flex;flex-direction:column}.rules-content{flex:1 1 auto;min-height:0;box-sizing:border-box;padding-block:20px;padding-inline:20px;margin:0;scrollbar-gutter:stable}.rules-content>:first-child{margin-top:0}.rules-content>:last-child{margin-bottom:0}@media(max-width:700px){.rules-content{padding-block:16px;padding-inline:15px}}.lobby-top-controls .rules-button{width:auto;min-width:30px;height:30px;padding:0 10px;border-radius:10px}@media(max-width:520px){.lobby-top-controls .rules-button{display:inline-grid}}.lobby-top-controls .sound-toggle,.lobby-top-controls .sound-settings-button,.lobby-top-controls .rules-button{height:30px;min-height:30px;width:30px;min-width:30px;box-sizing:border-box;border:1px solid #e3e9ef;background:#fffffff0;color:#71869a;border-radius:10px;box-shadow:0 3px 9px #30526e0f}.lobby-top-controls .sound-toggle:hover,.lobby-top-controls .sound-settings-button:hover,.lobby-top-controls .rules-button:hover{background:#f8fbfe;border-color:#bdd8ef;color:#4189c9;transform:translateY(-1px)}.lobby-top-controls .sound-settings-button,.lobby-top-controls .sound-toggle{display:inline-grid;place-items:center;padding:0;font-size:14px;line-height:1}.lobby-top-controls .rules-button{width:auto;padding:0 10px}.rules-content{padding:20px;box-sizing:border-box}.rules-content>.rules-hero,.rules-content>.rules-steps,.rules-content>.rules-info-grid,.rules-content>.rules-note,.rules-content>.rules-host-note{margin-top:0;margin-bottom:0}.rules-content{display:flex;flex-direction:column;gap:12px}.rules-hero,.rules-steps,.rules-info-grid,.rules-note,.rules-host-note{flex:0 0 auto}@media(max-width:700px){.rules-content{padding:16px;gap:10px}}.rules-modal{overflow:hidden;max-height:calc(100dvh - 24px)}.rules-content{overflow:hidden;max-height:none;scrollbar-width:none;-ms-overflow-style:none}.rules-content::-webkit-scrollbar{display:none;width:0;height:0}@media(max-height:780px)and (min-width:701px){.rules-modal-head{height:62px}.rules-content{padding:14px 18px;gap:8px}.rules-hero{padding:10px 12px}.rules-steps{gap:6px}.rules-steps>div{padding:9px}.rules-steps span{width:24px;height:24px;margin-bottom:4px}.rules-steps p{line-height:1.4}.rules-info-grid{gap:6px}.rules-info-grid>div{padding:9px 10px}.rules-note{padding:8px 10px}.rules-host-note{margin-top:0;padding:9px 11px}}@media(max-height:650px){.rules-overlay{padding:8px}.rules-modal{max-height:calc(100dvh - 16px);border-radius:18px}.rules-modal-head{height:56px}.rules-content{padding:10px 13px;gap:6px}.rules-hero{padding:8px 10px}.rules-hero b{font-size:14px}.rules-hero span{font-size:10px}.rules-steps>div{padding:7px 8px}.rules-steps b{font-size:12px}.rules-steps p{font-size:10px;line-height:1.3}.rules-info-grid>div{padding:7px 8px}.rules-info-grid b{font-size:10px}.rules-info-grid span{font-size:9px;line-height:1.3}.rules-note{padding:7px 8px}.rules-note b,.rules-note span,.rules-host-note{font-size:9px;line-height:1.3}.rules-host-note{padding:7px 8px}}.lobby-card{width:min(500px,calc(100vw - 32px));padding:38px}.lobby-form{text-align:left}.lobby-step{border:1px solid #e6ebf0;border-radius:18px;background:#f9fbfdc7;padding:15px}.lobby-step-name{margin-bottom:12px}.lobby-step-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lobby-step-number{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#e6f1fc;color:#4d92de;font-size:12px;font-weight:850}.lobby-step-head div{min-width:0}.lobby-step-head strong{display:block;color:#344252;font-size:13px;line-height:1.2}.lobby-step-head small{display:block;margin-top:3px;color:#909aa6;font-size:10px;line-height:1.3}.lobby-step .lobby-input{margin-bottom:0;background:#fff}.lobby-actions-step{padding-bottom:16px}.lobby-action-card{min-height:72px;display:flex;align-items:center;gap:11px;padding:11px;border-radius:14px;background:#fff;border:1px solid #e5eaf0;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.lobby-action-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2e526e14}.lobby-create-card:hover{border-color:#bce5cd}.lobby-join-card:hover{border-color:#bfd9f1}.lobby-action-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:22px;font-weight:500}.lobby-create-card .lobby-action-icon{background:#eaf9ef;color:#2eaf62}.lobby-join-card .lobby-action-icon{background:#eaf4ff;color:#4c91dc}.lobby-action-copy{min-width:0;flex:1}.lobby-action-copy strong{display:block;color:#394756;font-size:13px;font-weight:800}.lobby-action-copy span{display:block;margin-top:4px;color:#949eaa;font-size:10px;line-height:1.35}.lobby-action-button{flex:0 0 auto;width:auto;min-width:88px;height:38px;padding:0 14px;border-radius:10px;font-size:11px}.lobby-action-or{display:flex;align-items:center;gap:9px;margin:10px 5px;color:#a2aab4;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.lobby-action-or:before,.lobby-action-or:after{content:"";flex:1;height:1px;background:#e5e9ee}.lobby-room-label{margin:13px 0 6px}.lobby-room-input{height:44px;margin-bottom:0;letter-spacing:.16em;text-transform:uppercase;font-weight:750}.lobby-hint{margin-top:17px;font-size:10px}@media(max-width:700px){.lobby-card{width:min(500px,calc(100vw - 24px));padding:30px 20px}.lobby-action-card{min-height:68px}.lobby-action-copy span{font-size:9px}}@media(max-width:460px){.lobby-card{padding:25px 15px;border-radius:22px}.lobby-step{padding:12px;border-radius:15px}.lobby-action-card{display:grid;grid-template-columns:36px minmax(0,1fr)}.lobby-action-button{grid-column:1 / -1;width:100%}.lobby-action-icon{width:36px;height:36px}}.join-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#23425b3d;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:joinBackdropIn .18s ease-out both}.join-modal{width:min(410px,calc(100vw - 32px));padding:25px;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:#fffffff5;box-shadow:0 28px 80px #1f496740;animation:joinModalIn .2s cubic-bezier(.2,.8,.2,1) both}.join-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.join-modal-kicker{display:block;margin-bottom:6px;color:#5b9cdb;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.join-modal-head h2{margin:0;color:#344252;font-size:22px;line-height:1.15;letter-spacing:-.02em}.join-modal-head p{margin:7px 0 0;color:#909aa6;font-size:12px;line-height:1.45}.join-modal-close{flex:0 0 32px;width:32px;height:32px;border:1px solid #e5ebf0;border-radius:50%;background:#f7f9fb;color:#7f8b98;font-size:20px;line-height:1;cursor:pointer}.join-modal-close:hover{background:#eef5fb;color:#4a8dcc}.join-code-label{display:block;margin-bottom:7px;color:#697787;font-size:11px;font-weight:800}.join-code-input{width:100%;height:54px;box-sizing:border-box;border:1px solid #dfe7ee;border-radius:14px;outline:none;padding:0 16px;background:#f8fafc;color:#334252;font-size:19px;font-weight:800;letter-spacing:.2em;text-align:center;text-transform:uppercase}.join-code-input:focus{border-color:#5da1e2;background:#fff;box-shadow:0 0 0 4px #4d9ce41f}.join-modal-actions{display:flex;gap:10px;margin-top:14px}.join-cancel-button,.join-confirm-button{height:44px;border-radius:12px;font-size:12px;font-weight:800;cursor:pointer}.join-cancel-button{flex:0 0 105px;border:1px solid #e1e7ed;background:#f6f8fa;color:#758291}.join-confirm-button{flex:1;border:1px solid #4b91d3;background:linear-gradient(180deg,#5da4e8,#4d91d2);color:#fff;box-shadow:0 7px 18px #4189c833}.join-cancel-button:hover{background:#eef2f5}.join-confirm-button:hover{transform:translateY(-1px)}@keyframes joinBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes joinModalIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:460px){.join-modal{padding:20px;border-radius:19px}.join-modal-head h2{font-size:19px}.join-modal-actions{flex-direction:column-reverse}.join-cancel-button{flex:1;width:100%}}
