@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,'Noto Sans KR',sans-serif;color:#202a27;background:#f4f6f2;font-synthesis:none;--ink:#202a27;--muted:#657267;--lime:#c3ee65;--line:#dfe6db}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #6d922c}button{cursor:pointer;color:inherit;border:0;transition:background .15s}button:disabled{opacity:.5;cursor:not-allowed}button:not(:disabled):active{transform:translateY(1px)}input,select{color:inherit;border:1px solid #cbd7c2;border-radius:10px;min-height:44px;background:white;padding:9px 13px}input{min-width:0}select{padding-right:28px}a{color:inherit;text-underline-offset:3px}h1,h2,p{margin:0}fieldset{min-width:0}small{font-size:12px}.site-header{max-width:1120px;margin:auto;height:84px;padding:0 24px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:19px;font-weight:800;letter-spacing:-.6px}.brand-icon{background:var(--ink);color:var(--lime);border-radius:11px;width:39px;height:39px;display:grid;place-items:center;font-size:25px}.brand-sub{display:none}.header-tag{margin-left:auto;color:var(--muted);font-size:13px}.icon-button{border:1px solid var(--line);width:39px;height:39px;background:white;border-radius:10px;font-size:25px}
#app{max-width:1072px;padding-top:28px;margin:auto;min-height:calc(100vh - 177px)}.setup-intro{margin-bottom:23px}.overline{font-size:13px;font-weight:600;color:#667b4f}.setup-intro h1{font-size:32px;font-weight:800;letter-spacing:-1.3px;margin:6px 0 7px}.setup-intro p{font-size:15px;color:var(--muted)}.setup-intro p b{color:#40532c}.source-notice{display:flex;gap:12px;padding:15px 18px;background:#fff9eb;border:1px solid #eadbbb;border-radius:12px;margin-bottom:23px}.notice-icon{height:23px;min-width:23px;border-radius:50%;display:grid;place-items:center;background:#e7cc8b;color:#553c0b;font-weight:800}.source-notice strong{font-size:14px;font-weight:700;line-height:1.7}.source-notice p{font-size:13px;color:#7f714e;line-height:1.75;margin-top:3px}.setup-panel{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.setup-main{padding:27px 30px}.setup-main fieldset{margin:0 0 22px;padding:0;border:0}.setup-main fieldset:last-child{margin-bottom:0}legend{font-size:15px;font-weight:700;margin-bottom:11px;padding:0}.choices{display:flex;gap:7px}.choices button{flex:1;padding:12px 8px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fafbf8;font-size:14px;font-weight:500}.choices button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.choices button:hover:not([aria-pressed=true]){background:#edf3e4}.choices.modes button{text-align:left;padding:14px}.modes small{display:block;margin-top:4px;opacity:.7;line-height:1.5}.year-details{margin-top:10px;font-size:13px;color:var(--muted)}summary{cursor:pointer}.year-details summary{min-height:28px}.year-details summary>span{float:right;font-variant-numeric:tabular-nums}.range{display:flex;gap:8px;align-items:center;margin-top:10px}.range select{min-width:0;flex:1;font-size:14px}.team-settings{display:flex;gap:16px;align-items:center;margin-top:12px;font-size:14px}.team-settings select{min-height:39px;padding:6px 28px 6px 10px}.team-names{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.team-names input{font-size:14px;width:100%;min-height:40px}.start-panel{padding:27px 30px;border-left:1px solid var(--line);background:#f9fbf4}.start-panel h2{font-size:18px;letter-spacing:-.5px;margin-bottom:17px}.rule-steps{list-style:none;padding:0;margin:0;counter-reset:steps}.rule-steps li{counter-increment:steps;position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0 7px 29px}.rule-steps li:before{content:counter(steps);position:absolute;left:0;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#e5edda;color:#637a48;font-size:12px;font-weight:600}.rule-steps li b{font-weight:600}.rule-steps li span{color:var(--muted);font-size:12px}.rules-note{color:#6b7860;font-size:12px;margin:12px 0 18px;line-height:1.7}.rounds-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:13px}.rounds-row select{font-size:14px;min-height:40px}.primary{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--lime);color:#253315;font-size:16px;font-weight:800;padding:13px 20px;border-radius:10px;min-height:49px}.primary:hover:not(:disabled){background:#b5e34f}.start-panel .primary{width:100%}.pool-count{display:block;text-align:center;font-size:12px;line-height:1.7;color:var(--muted);margin-top:9px}.secondary{padding:10px 17px;border:1px solid #c9d6bc;border-radius:9px;background:#fff;min-height:43px;font-size:14px}.quiet{background:transparent;color:#5e7055;font-size:14px;padding:10px 0;min-height:42px}.quiet:hover{color:#243b12;text-decoration:underline}.catalog-details{border:1px solid var(--line);border-radius:12px;padding:15px 19px;background:#fff;margin-top:18px;font-size:14px;font-weight:600}.catalog-details summary>span{float:right;color:#7d8a70;font-size:13px}.catalog-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:15px;max-height:390px;overflow:auto}.catalog-list>div{display:grid;grid-template-columns:45px 1fr;gap:4px 10px;padding:11px 0;border-top:1px solid var(--line)}.catalog-list>div>span{font-size:12px;color:#7f8c72;grid-row:span 2}.catalog-list strong{font-size:14px;line-height:1.5}.catalog-list small{font-weight:400;font-size:12px;color:#6c7c5d}.selection-footnote{font-size:12px;color:#7e8b72;line-height:1.9;margin:18px 0 0}.selection-footnote a{white-space:nowrap}
.game-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-top:-9px}.game-nav>span{color:var(--muted)}.game-nav b{font-size:24px;color:var(--ink);margin-right:4px}.scores{display:flex;gap:9px;margin:14px 0 20px}.scores>div{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 16px;font-size:14px}.scores>div>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scores b{font-size:24px;line-height:1}.scores small{font-size:12px;margin-left:5px;font-weight:400;color:#7c8a6f}.scores .winner{background:#f0f9df;border-color:#b3d184}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;align-items:stretch}.listen-panel{background:#202d28;color:white;border-radius:19px;padding:23px 25px 17px;min-height:432px;display:flex;flex-direction:column}.source-label{font-size:12px;color:#bdcbb4;line-height:1.5}.track-meta{display:flex;justify-content:space-between;align-items:center;margin:16px 0 21px}.track-meta>span:first-child{font-size:31px;letter-spacing:-1px;font-weight:700}.track-meta>span:last-child{font-size:13px;border:1px solid #65765b;border-radius:7px;padding:5px 8px;color:#d0dbc7}.stage-strip{display:flex;gap:7px}.stage-strip>div{flex:1;border-bottom:3px solid #43573e;padding:10px 2px;color:#a1b291;text-align:center}.stage-strip b{display:block;font-size:16px}.stage-strip span{display:block;font-size:12px;margin-top:5px}.stage-strip>div.active{color:#d3f591;border-color:#c3ee65;background:#c3ee6510;border-radius:6px 6px 0 0}.stage-strip>div.complete{border-color:#729946;color:#c0d3aa}.countdown{display:flex;flex-direction:column;align-items:center;text-align:center;margin:27px 0 19px;gap:6px}.countdown>span:first-child{font-size:17px;font-weight:600}.countdown strong{font-size:68px;font-variant-numeric:tabular-nums;line-height:1.25;letter-spacing:-2px;color:#d0f68a}.countdown>span:last-child{font-size:13px;color:#bbcbae;line-height:1.8}.time-progress{height:5px;border-radius:4px;background:#42583a;overflow:hidden;margin-top:auto}.time-progress>span{display:block;height:100%;width:100%;background:#c3ee65}.automatic-hints[hidden],.playback-error[hidden]{display:none}.audio-credit{font-size:12px;color:#aab99f;text-align:center;margin-top:15px}.playback-error{padding-top:15px;text-align:center}.playback-error p{font-size:13px;color:#f5d4a2;line-height:1.7;margin-bottom:10px}.playback-error button{background:#e5f5c9}.answer-panel{padding:32px;background:#fff;border:1px solid var(--line);border-radius:19px}.answer-panel h1{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1.45}.form-description{font-size:14px;color:#708163;line-height:1.75;margin-top:8px}.team-picks{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.team-picks button{flex:1;min-width:calc(50% - 7px);background:#f8faf3;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:14px;overflow-wrap:anywhere}.team-picks button[aria-pressed=true]{background:#eafaCE;border-color:#9ebe6c;font-weight:700}#answer-form{margin-top:28px}#answer{width:100%;min-height:57px;font-size:18px;background:#fbfcf8;border-color:#b8c99f;padding:14px 16px}#answer::placeholder{color:#91a17d;font-size:16px}#answer:focus{outline:3px solid #d8eaba;outline-offset:1px;border-color:#829f56}#answer-form .primary{width:100%;justify-content:space-between;margin-top:11px}kbd{font-family:inherit;font-size:12px;font-weight:500;border:1px solid #7da437;padding:3px 6px;border-radius:4px}.feedback{font-size:13px;line-height:1.8;min-height:41px;padding-top:10px;color:#a3622c}.answer-help{font-size:14px;line-height:1.85;color:#718360}.answer-example{border-top:1px solid var(--line);padding-top:15px;margin-top:17px;display:grid;gap:5px}.answer-example span{font-size:12px;color:#94a080}.answer-example b{font-size:13px;font-weight:500;color:#62744e}.skip{display:block;margin:15px auto 0;text-decoration:underline;text-underline-offset:4px;font-size:13px}.reveal-result{text-align:center}.result-mark{width:49px;height:49px;background:#edf2e4;border-radius:50%;display:grid;place-items:center;font-size:24px;margin:0 auto 13px;color:#759259}.result-mark.correct{background:#e4f5c8;color:#567d22}.reveal-result>p{font-size:14px;color:#77925c;margin-top:9px;line-height:1.8}.answer-track{display:flex;align-items:center;gap:15px;text-align:left;padding:22px 0;margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.answer-track img{border-radius:9px;object-fit:cover;flex-shrink:0}.answer-track>div{display:grid;gap:6px;min-width:0}.answer-track strong{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.answer-track span{font-size:13px;color:#82946c;line-height:1.7}.listen-link{display:inline-block;font-size:13px;color:#658143;margin:18px 0 24px}.reveal-result .primary{width:100%}.next-count{font-size:13px;display:block;margin-top:12px;color:#8a9b76}.results-header{background:#e9f3d8;border:1px solid #d3e4bc;border-radius:18px;text-align:center;padding:30px 18px}.results-header h1{font-size:29px;letter-spacing:-1px;margin-top:10px;line-height:1.5}.total-score{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:14px}.total-score b{font-size:64px;letter-spacing:-2px}.total-score span{font-size:16px;color:#7a9160}.results-actions{display:flex;gap:10px;justify-content:center;margin:25px 0 38px}.playlist{max-width:760px;margin:auto}.playlist h2{font-size:20px;margin-bottom:10px;letter-spacing:-.6px}.playlist ol{list-style:none;padding:0}.playlist li{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.playlist li>span{font-size:13px;color:#97a287}.playlist img{border-radius:7px;object-fit:cover}.playlist li>div{flex:1;min-width:0}.playlist a{font-size:15px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.playlist a:hover{text-decoration:underline}.playlist small{display:block;margin-top:5px;font-size:12px;color:#85966e}.playlist li>b{font-size:12px;border-radius:6px;padding:5px 8px;max-width:110px;overflow-wrap:anywhere}.hit{background:#e4efd4;color:#63823c}.miss{background:#e9ede2;color:#8e9c7f}
footer{max-width:1072px;margin:30px auto 0;padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#8a987b}#toast{position:fixed;z-index:90;bottom:25px;left:50%;transform:translate(-50%,15px);background:#25341e;color:#fff;padding:14px 21px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:17px;padding:27px;width:min(92vw,415px);color:var(--ink)}dialog::backdrop{background:#18231088;backdrop-filter:blur(3px)}dialog h2{font-size:22px;letter-spacing:-.5px}dialog p{font-size:14px;line-height:1.8;color:var(--muted);margin:12px 0 24px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end}.dialog-actions .primary{font-size:14px;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1140px){#app,footer{margin-left:28px;margin-right:28px}.setup-main,.start-panel{padding:25px}.choices button{font-size:13px}.rule-steps li{font-size:13px;flex-wrap:wrap;gap:3px}.rule-steps li span{margin-left:auto}.answer-panel{padding:27px}}
@media(max-width:780px){.site-header{height:73px;padding:0 20px}.header-tag{display:none}.icon-button{margin-left:auto}.brand{font-size:18px}#app{margin:0 18px;padding-top:23px}.setup-intro h1{font-size:28px}.setup-intro p{font-size:14px;line-height:1.8}.source-notice{padding:13px;gap:10px;margin-bottom:18px}.source-notice strong{font-size:13px}.source-notice p{font-size:12px}.setup-panel{grid-template-columns:1fr}.setup-main{padding:22px}.start-panel{padding:22px;border-left:0;border-top:1px solid var(--line)}.rule-steps li{font-size:14px;flex-wrap:nowrap}.rule-steps li span{font-size:12px}.setup-main fieldset{margin-bottom:23px}.choices button{font-size:13px;padding:11px 6px}.catalog-list{grid-template-columns:1fr}.game-grid{grid-template-columns:1fr;gap:15px}.game-nav{font-size:13px}.game-nav .quiet{font-size:13px}.game-nav b{font-size:22px}.scores{margin:10px 0 14px;gap:7px;flex-wrap:wrap}.scores>div{flex-basis:calc(50% - 7px);padding:9px 12px;font-size:13px}.scores b{font-size:20px}.listen-panel{padding:17px 19px 13px;min-height:0;border-radius:16px}.source-label{font-size:12px}.track-meta{margin:9px 0 8px}.track-meta>span:first-child{font-size:23px}.track-meta>span:last-child{font-size:12px;padding:3px 7px}.stage-strip>div{padding:7px 2px}.stage-strip b{font-size:14px}.stage-strip span{font-size:12px;margin-top:3px}.countdown{position:relative;min-height:74px;align-items:flex-start;text-align:left;justify-content:center;margin:16px 0 15px;padding-right:77px;gap:4px}.countdown strong{position:absolute;right:0;top:0;font-size:48px;line-height:1.45;letter-spacing:-2px}.countdown>span:first-child{font-size:15px}.countdown>span:last-child{font-size:12px;line-height:1.7}.audio-credit{margin-top:10px;font-size:12px}.answer-panel{padding:23px 20px;border-radius:16px}.answer-panel h1{font-size:25px}.form-description{font-size:13px;margin-top:5px}#answer-form{margin-top:19px}#answer{font-size:17px;min-height:52px}#answer-form .primary{min-height:47px;font-size:15px}.answer-help{font-size:13px}.answer-example{display:none}.team-picks{margin-top:13px}.team-picks button{font-size:13px;padding:9px}.feedback{min-height:35px;font-size:12px}.skip{margin-top:10px}.answer-track{margin-top:17px;padding:18px 0}.answer-track strong{font-size:17px}.reveal-result>p{font-size:13px}.result-mark{width:42px;height:42px;font-size:22px}.results-header h1{font-size:25px}.results-actions{flex-direction:column;margin:20px 0 30px}.playlist h2{font-size:18px}.playlist li{gap:9px}.playlist a{font-size:14px}.playlist small{font-size:12px}footer{margin:25px 18px 0;font-size:12px}footer>span:last-child{display:none}}
.youtube-audio{position:fixed;left:-10000px;top:0;width:200px;height:200px;overflow:hidden;pointer-events:none;opacity:0}.youtube-audio iframe{width:200px;height:200px;border:0}.source-notice.ready{background:#edf6df;border-color:#d3e4b8}.source-notice.ready .notice-icon{background:#d4eab6;color:#3c591d}.source-notice.ready p{color:#61724c}.recent-preset{background:#edf5df;border:1px solid #d0e3b6;border-radius:8px;color:#4b6b2d;font-size:13px;font-weight:600;padding:8px 12px;margin-top:10px;min-height:38px}.recent-preset[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}#catalog-search{width:100%;margin-top:15px;font-size:14px}.catalog-list>div[hidden]{display:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.party-heading{margin-bottom:25px}.party-heading h1{font-size:36px;letter-spacing:-1.4px;margin:9px 0}.party-heading>p{font-size:16px;color:var(--muted);line-height:1.7}.entry-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.create-room-panel,.join-room-panel,.room-stage,.chat-panel,.ranking-panel{background:#fff;border:1px solid var(--line);border-radius:20px;min-width:0}.create-room-panel,.join-room-panel{padding:28px}.field-label{display:block;font-size:14px;font-weight:700;margin-bottom:9px}.create-room-panel>input,.code-input{width:100%;min-height:50px;font-size:17px}.create-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:27px 0 20px}.create-title h2,.join-room-panel h2{font-size:22px;letter-spacing:-.6px}.create-title span{font-size:12px;color:var(--muted)}.create-room-panel fieldset{margin:0 0 22px}.room-create-bottom{display:flex;align-items:center;gap:10px}.room-create-bottom label{font-size:14px}.room-create-bottom .primary{flex:1}.pool-count{font-size:13px;color:var(--muted);margin-top:12px;text-align:right}.join-room-panel>p{font-size:14px;line-height:1.8;color:var(--muted);margin:9px 0 23px}.code-input{letter-spacing:4px;font-weight:700;text-transform:uppercase}.join-room-panel form .secondary{width:100%;margin-top:12px;min-height:48px}.entry-rules{border-top:1px solid var(--line);margin-top:30px;padding-top:26px}.entry-rules h3{font-size:16px}.entry-rules ol{padding-left:22px;margin:14px 0;line-height:2.1;font-size:14px}.entry-rules p{background:#f3f6ec;border-radius:12px;padding:15px;line-height:1.9;font-size:14px}.entry-rules small{display:block;margin-top:15px;line-height:1.8;font-size:13px;color:var(--muted)}.inline-error{color:#a34630;min-height:20px;margin:12px 0;font-size:14px}.entry-loading{padding:80px 20px;text-align:center}.room-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.room-top .overline{display:block;margin-bottom:5px}.room-code-button{border:0;background:none;color:var(--ink);font-size:25px;font-weight:800;letter-spacing:3px;padding:3px 0;text-align:left}.room-code-button small{font-size:12px;letter-spacing:0;font-weight:500;color:var(--muted);display:inline-block;margin-left:8px}.party-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(310px,1.2fr) 210px;gap:17px;align-items:start}.room-stage{padding:24px}.room-stage h1{font-size:26px;letter-spacing:-.7px;line-height:1.4;margin:13px 0;overflow-wrap:anywhere}.waiting-copy{font-size:14px;color:var(--muted);line-height:1.9}.ready-count{font-size:15px;margin:30px 0 18px;color:var(--muted)}.ready-count strong{font-size:36px;color:var(--ink);margin-right:5px}.room-settings-note{font-size:13px;background:#f4f6ed;border-radius:9px;padding:11px;line-height:1.7}.speaker-control{border-top:1px solid var(--line);padding-top:19px;margin-top:22px}.speaker-control .secondary{width:100%;min-height:44px;font-size:14px}.speaker-control p{font-size:12px;color:var(--muted);line-height:1.8;margin:9px 0}.speaker-control .quiet{font-size:13px;padding:5px 0}.speaker-control p:not(:empty){overflow-wrap:anywhere}#room-actions{margin-top:18px}#room-actions>.primary{width:100%;min-height:48px}.room-helper{font-size:12px;color:var(--muted);line-height:1.8;text-align:center;margin-top:10px}.chat-panel{display:flex;flex-direction:column;height:min(670px,calc(100dvh - 205px));min-height:470px;overflow:hidden}.chat-heading{padding:19px 18px;display:flex;gap:10px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.chat-heading h2{font-size:17px;letter-spacing:-.4px}.chat-heading>span{font-size:12px;color:var(--muted);max-width:45%;overflow-wrap:anywhere}.chat-log{flex:1;overflow-y:auto;padding:18px;background:#f8faf4;overscroll-behavior:contain}.chat-message{margin-bottom:17px;display:flex;flex-direction:column;align-items:flex-start}.chat-message>strong{font-size:12px;color:#69755c;font-weight:500;margin-bottom:5px;overflow-wrap:anywhere}.chat-message>p{font-size:15px;line-height:1.65;background:white;padding:9px 13px;border:1px solid #e8ecdF;border-radius:0 13px 13px 13px;max-width:90%;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.mine{align-items:flex-end}.chat-message.mine>p{background:#e5f1ce;border-color:#d8e7bc;border-radius:13px 0 13px 13px}.chat-event{text-align:center;color:#8a927f;font-size:12px;line-height:1.8;margin:15px 0;overflow-wrap:anywhere}.chat-event.scored{background:#dfedc7;color:#426025;border-radius:10px;padding:10px;font-size:14px;font-weight:700}#chat-form{padding:14px;border-top:1px solid var(--line)}.chat-composer{display:flex;gap:7px}.chat-composer input{flex:1;min-width:0;font-size:16px;min-height:47px;padding:10px}.chat-composer .primary{font-size:14px;min-height:47px;padding:10px 13px}#chat-form>small{display:block;font-size:11px;color:var(--muted);margin-top:9px}#chat-error{font-size:12px;color:#a34630;line-height:1.7}#chat-error:not(:empty){margin-top:8px}.ranking-panel{padding:20px 13px}.ranking-heading{padding:0 5px;display:flex;flex-direction:column;gap:7px}.ranking-heading h2{font-size:17px;letter-spacing:-.4px}.ranking-heading span{font-size:12px;color:var(--muted)}#rankings{list-style:none;padding:0;margin:20px 0 14px}#rankings li{display:flex;gap:9px;align-items:center;padding:12px 8px;border-radius:12px;margin-bottom:6px}#rankings li.is-me{background:#f0f5e7}#rankings li.offline{opacity:.55}.rank-number{font-size:13px;color:#8a987b;min-width:12px}#rankings li>div{flex:1;min-width:0}#rankings strong{display:block;font-size:14px;overflow-wrap:anywhere}#rankings strong>small{font-size:10px;color:#669232}#rankings li>div>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}#rankings li>b{font-size:22px;white-space:nowrap}#rankings li>b>small{font-size:11px;margin-left:2px;font-weight:400}.ranking-panel>p{font-size:12px;color:var(--muted);text-align:center;border-top:1px solid var(--line);padding-top:15px}.round-meta{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.round-meta b{font-size:16px}.round-meta span{font-size:13px;color:var(--muted)}.room-stage .stage-strip{gap:4px}.room-stage .stage-strip>div{padding:10px 2px}.room-stage .stage-strip b{font-size:17px}.room-stage .stage-strip span{font-size:10px}.shared-countdown{display:flex;flex-direction:column;align-items:center;gap:8px;margin:28px 0 20px;text-align:center}.shared-countdown>span{font-size:14px;color:var(--muted)}.shared-countdown strong{font-size:68px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-3px}.shared-answer{text-align:center;padding:20px 0 6px;border-top:1px solid var(--line)}.shared-answer>span{font-size:14px;color:#639435}.shared-answer h2{font-size:24px;line-height:1.5;overflow-wrap:anywhere;margin:10px 0}.shared-answer p{font-size:14px;color:var(--muted)}.room-stage .skip{width:100%;font-size:14px}.round-history{font-size:13px;margin-top:18px}.round-history p{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;line-height:1.7}.round-history small{display:block;color:var(--muted)}#connection-note:empty{display:none}.connection-error{font-size:13px;line-height:1.7;padding:12px;background:#fff3db;color:#846122;border-radius:10px;margin-bottom:14px}
@media(max-width:1050px){.party-grid{grid-template-columns:minmax(240px,1fr) minmax(300px,1.4fr)}.ranking-panel{grid-column:1/-1}.ranking-heading{flex-direction:row;justify-content:space-between}#rankings{display:flex;flex-wrap:wrap;margin:12px 0}#rankings li{width:190px;margin-right:8px}.ranking-panel>p{text-align:left}.chat-panel{height:620px}}
@media(max-width:700px){.party-heading h1{font-size:30px}.party-heading>p{font-size:14px}.entry-grid,.party-grid{grid-template-columns:1fr;gap:17px}.create-room-panel,.join-room-panel{padding:22px}.create-title span{font-size:11px}.room-create-bottom{flex-wrap:wrap}.room-code-button{font-size:22px}.room-code-button small{display:block;margin:6px 0 0;font-size:12px}.room-stage{padding:22px}.room-stage h1{font-size:25px}.chat-panel{height:530px;min-height:400px}.ranking-panel{grid-column:auto}#rankings li{width:calc(50% - 8px);padding:10px 6px}.ready-count{margin:18px 0}.speaker-control{margin-top:18px}.shared-countdown{margin:20px 0;gap:5px}.shared-countdown strong{font-size:55px}.room-stage .stage-strip span{font-size:11px}.chat-composer input{font-size:16px}.chat-message>p{font-size:15px}#chat-form>small{font-size:12px}.room-helper{font-size:13px}}
.chat-message>p{font-size:16px}.chat-heading>span,.chat-message>strong,.chat-event,.speaker-control p,.room-helper,.room-code-button small,.create-title span,.ranking-heading span,#rankings li>div>span,#rankings strong>small,#rankings li>b>small,.room-stage .stage-strip span,#chat-form>small{font-size:12px}.waiting-copy,.entry-rules ol,.entry-rules p{font-size:16px}
@media(max-width:700px){.ranking-panel{order:-1;padding:14px}.ranking-panel>p{display:none}#rankings{flex-wrap:nowrap;overflow-x:auto;margin:10px 0 0;padding-bottom:3px}#rankings li{min-width:145px;flex-shrink:0;margin-bottom:0}.chat-message>p{font-size:16px}.create-title span{font-size:12px}.room-helper{font-size:13px}}
/* Nickname-first room directory */
.lobby-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:4px 0 27px}.lobby-title h1{font-size:32px;letter-spacing:-1px;margin:9px 0}.lobby-title p{font-size:16px;color:var(--muted);line-height:1.7}.library-shortcut{border:1px solid var(--line);border-radius:30px;padding:12px 17px;white-space:nowrap;font-size:14px;text-decoration:none}.library-shortcut b{font-size:19px;margin-left:5px}.lobby-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:27px;align-items:start}.lobby-profile{background:#fff;border:1px solid var(--line);border-radius:20px;padding:23px}.profile-note{display:flex;align-items:center;gap:10px;margin-bottom:23px}.profile-note>span{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:#d2f47c;border-radius:12px;font-size:24px}.profile-note h2{font-size:17px;letter-spacing:-.5px}.lobby-profile>input{width:100%;font-size:16px;min-height:49px}.nickname-help{font-size:12px;color:var(--muted);line-height:1.8;margin:9px 0 0}.code-join{padding-top:22px;margin-top:24px;border-top:1px solid var(--line)}.code-join h3,.lobby-how h3{font-size:14px;margin-bottom:12px}.code-join form{display:flex;gap:7px}.code-join input{width:0;min-width:0;flex:1;font-size:16px;letter-spacing:1px;text-transform:uppercase}.code-join button{font-size:14px;min-height:45px;padding:8px 12px}.lobby-how{border-top:1px solid var(--line);margin-top:25px;padding-top:23px}.lobby-how p{font-size:14px;line-height:1.9;color:var(--muted)}.lobby-how p b{color:var(--ink)}.mini-sequence{display:flex;align-items:center;gap:7px;margin:20px 0 10px;font-size:12px}.mini-sequence b{border:1px solid #d7e4c2;background:#f2f6e9;border-radius:8px;padding:7px;white-space:nowrap}.mini-sequence span{color:#a8b49a}.lobby-how small{display:block;font-size:12px;line-height:1.8;color:var(--muted)}.lobby-directory{min-width:0}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:4px 0 16px}.directory-toolbar h2{font-size:21px;letter-spacing:-.6px}.directory-toolbar h2 span{display:inline-block;color:#6e873d;font-size:18px;margin-left:6px}.directory-toolbar p{font-size:14px;color:var(--muted);line-height:1.7;margin-top:5px}.directory-buttons{display:flex;align-items:center;gap:9px}.directory-buttons .primary{font-size:14px;min-height:43px;padding:10px 17px}.directory-buttons .quiet{font-size:13px;padding:10px 4px}.lobby-feedback:empty,#directory-status:empty{display:none}.lobby-feedback{font-size:14px;color:#a0402b;line-height:1.7;margin:10px 0}.directory-error{padding:12px;background:#fff2d8;border-radius:10px;font-size:14px;line-height:1.8;margin-bottom:14px;color:#76552b}.room-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.room-card{border:1px solid var(--line);background:#fff;padding:20px;border-radius:17px;min-width:0;transition:border-color .15s,box-shadow .15s}.room-card:hover{border-color:#a9c575;box-shadow:0 5px 15px #566d1910}.room-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.room-status{font-size:12px;color:#547522;background:#edf5dc;padding:5px 8px;border-radius:7px}.room-status.in-game{background:#edf1f8;color:#526a8a}.room-occupancy{font-size:12px;color:var(--muted);white-space:nowrap}.room-card h3{font-size:19px;line-height:1.6;letter-spacing:-.5px;margin:17px 0 12px;overflow-wrap:anywhere}.room-tags{display:flex;flex-wrap:wrap;gap:5px 9px;line-height:1.8;color:var(--muted);font-size:12px}.room-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf0e6;margin-top:18px;padding-top:15px}.room-card-bottom small{font-size:12px;color:var(--muted)}.room-card-bottom .secondary{font-size:14px;min-height:40px;padding:8px 15px}.room-card-bottom .secondary:hover{background:#d3f16f}.directory-footnote{font-size:12px;line-height:1.8;color:var(--muted);margin-top:15px}.lobby-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:380px;border:1px dashed #cbd6be;border-radius:20px;padding:30px;text-align:center;background:#f8faf3}.empty-music{background:#e9f0da;border-radius:20px;padding:8px 21px;font-size:43px;line-height:1.6;color:#859956;margin-bottom:19px}.lobby-empty h3{font-size:22px;letter-spacing:-.6px}.lobby-empty p{font-size:15px;color:var(--muted);line-height:1.8;margin:10px 0 21px}.lobby-empty .secondary{font-size:15px;min-height:45px}.loading-note{font-size:16px;color:var(--muted)}.song-library{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:16px}.song-library>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 24px;cursor:pointer;font-size:16px}.song-library>summary b{font-size:14px;font-weight:500;color:var(--muted)}.library-content{padding:0 24px 24px}.library-genres{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.library-genres b{color:var(--ink);margin-left:4px}.library-content .catalog-list{margin:15px 0 22px;max-height:470px;overflow:auto}.library-content>a{font-size:14px}.library-content #catalog-empty{padding:22px 0;color:var(--muted);font-size:15px}.create-dialog{width:min(94vw,610px);max-height:90dvh;padding:29px;border-radius:22px;overflow:auto}.create-dialog-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:25px}.create-dialog-heading h2{font-size:25px;letter-spacing:-.8px;margin-top:7px}.create-dialog-heading>.quiet{font-size:14px}.create-dialog #room-title{width:100%;font-size:16px;min-height:47px;margin-bottom:25px}.create-dialog fieldset{margin-bottom:22px}.create-dialog .choices{grid-template-columns:repeat(3,minmax(0,1fr))}.create-dialog .choices.four,.create-dialog fieldset:nth-of-type(2) .choices{grid-template-columns:repeat(4,minmax(0,1fr))}.create-dialog .choices button{font-size:14px;padding:11px 6px}.create-dialog .range{margin-top:12px;gap:8px;flex-wrap:wrap}.create-dialog .range label{font-size:13px}.create-dialog .range select{font-size:14px;min-height:40px}.create-dialog .recent-preset{margin:0}.create-options{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.create-options select{margin-left:7px;font-size:14px}.listed-check{display:flex;align-items:center;gap:7px}.listed-check input{accent-color:#6f982d;width:17px;height:17px;min-height:0}.create-pool{font-size:14px;color:var(--muted);margin:22px 0 13px}.create-dialog #create-submit{width:100%;min-height:50px;font-size:16px}.create-note{font-size:12px!important;line-height:1.8!important;margin:13px 0 0!important;color:var(--muted)}
@media(max-width:900px){.lobby-layout{grid-template-columns:235px minmax(0,1fr);gap:20px}.lobby-profile{padding:19px}.room-cards{grid-template-columns:1fr}.directory-toolbar{align-items:flex-start}.directory-buttons{flex-direction:column-reverse;align-items:stretch;gap:1px}.directory-toolbar p{font-size:13px}}
@media(max-width:650px){.lobby-title{align-items:flex-start;margin-bottom:21px}.lobby-title h1{font-size:27px}.lobby-title p{font-size:14px}.lobby-title .overline{font-size:11px}.library-shortcut{font-size:12px;padding:9px 12px;margin-top:20px}.library-shortcut b{display:block;font-size:21px;text-align:center;margin:3px 0 0}.lobby-layout{grid-template-columns:1fr;gap:25px}.lobby-profile{padding:21px}.profile-note{margin-bottom:17px}.lobby-how{display:none}.code-join{margin-top:16px;padding-top:16px}.code-join h3{font-size:13px;margin-bottom:9px}.code-join form{gap:9px}.directory-toolbar h2{font-size:21px}.directory-buttons{flex-direction:row;align-items:center;gap:7px}.directory-buttons .primary{padding:10px 14px}.directory-toolbar p{display:none}.room-cards{grid-template-columns:1fr}.room-card{padding:21px}.lobby-empty{min-height:290px}.lobby-empty h3{font-size:20px}.lobby-empty p{font-size:14px}.song-library>summary{padding:19px;align-items:flex-start}.song-library>summary>span{font-size:15px}.song-library>summary>b{font-size:13px}.library-content{padding:0 19px 20px}.library-genres{gap:12px;font-size:13px}.create-dialog{padding:23px 18px}.create-dialog-heading h2{font-size:23px}.create-dialog .choices button{font-size:13px}.create-options{gap:10px;flex-wrap:wrap}.create-dialog .range{gap:7px}.create-dialog .range select{padding:7px}.create-dialog .range .recent-preset{padding:7px}.create-dialog .range label{font-size:12px}}
.create-dialog fieldset{border:0;padding:0;margin:0 0 21px;min-width:0}.create-dialog legend{font-size:14px;font-weight:700;margin-bottom:10px;padding:0}.create-dialog .range select{flex:1;min-width:75px}.create-dialog .range label{min-width:0}.create-dialog .range .recent-preset{white-space:nowrap}.room-top .overline{font-size:14px;letter-spacing:0;overflow-wrap:anywhere;max-width:65vw}

.room-identity{min-width:0}.room-name{font-size:27px;line-height:1.4;letter-spacing:-.8px;overflow-wrap:anywhere;margin:0 0 8px}.room-top{gap:20px;align-items:flex-start}.room-top>.quiet{flex-shrink:0}.room-code-button{font-size:14px;letter-spacing:0;font-weight:600;color:var(--muted);padding:3px 0}.room-code-button small{font-size:12px;font-weight:400}.create-dialog #room-title{margin-bottom:7px}.room-name-help{font-size:13px!important;line-height:1.7!important;color:var(--muted);margin:0 0 22px!important}@media(max-width:650px){.room-name{font-size:23px}.room-code-button small{display:block;margin:3px 0 0}.room-top{gap:12px}}

.message-delivery{font-size:12px;color:var(--muted);margin-top:4px}.message-failed .message-delivery{color:#a43a28}.message-sending>p{opacity:.8}

/* Readable hint hierarchy, including long titles in narrow room columns. */
.automatic-hints{display:grid;gap:16px;margin-top:18px;padding:18px;border:1px solid #cadbc1;border-radius:16px;background:#eef5e8;color:#203124;min-width:0}
.automatic-hints p{min-width:0;margin:0}
.automatic-hints .hint-label{display:block;font-size:.875rem;line-height:1.5;font-weight:600;color:#526348;margin-bottom:8px}
.automatic-hints .hint-artist-name{display:block;font-size:1.25rem;line-height:1.5;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.automatic-hints .hint-title{padding:14px 16px;background:#fff;border:1px solid #d8e3d0;border-radius:12px}
.automatic-hints .hint-initials{display:block;font-family:'Noto Sans KR',sans-serif;font-size:clamp(1.625rem,2.2vw,2rem);font-weight:800;line-height:1.7;letter-spacing:.12em;word-spacing:.3em;word-break:keep-all;overflow-wrap:anywhere;color:#203124}
@media(max-width:700px){.automatic-hints{padding:16px}.automatic-hints .hint-title{padding:12px 14px}}

.results-dialog{width:min(94vw,620px);max-height:92dvh;border-radius:24px;padding:28px;background:#fff;box-shadow:0 24px 90px #172b2733;overflow:auto}
.results-dialog[open]{display:flex;flex-direction:column;gap:22px}
.results-heading .overline{font-size:.875rem;color:#537828;font-weight:700}
.results-heading h2{font-size:1.875rem;line-height:1.4;letter-spacing:-.04em;margin:7px 0 0;outline:none}
.results-heading p{margin:8px 0 0;font-size:.9375rem}
.results-personal{display:grid;grid-template-columns:1fr 1fr;background:#23342d;color:#fff;border-radius:16px;padding:19px 0;flex-shrink:0}
.results-personal>div{display:flex;flex-direction:column;gap:6px;align-items:center;padding:0 12px}
.results-personal>div+div{border-left:1px solid #536248}
.results-personal span{font-size:.875rem;color:#d5dfcf}
.results-personal strong{font-size:1.875rem;line-height:1.4;color:#d0f58c;overflow-wrap:anywhere;text-align:center}
.results-personal small{font-size:1rem;margin-left:5px;font-weight:500}
.results-ranking{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:36dvh;min-height:74px;overscroll-behavior:contain}
.results-ranking li{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 16px;border:1px solid #e0e7db;border-radius:12px;margin-bottom:8px;min-height:65px}
.results-ranking li:last-child{margin-bottom:0}
.results-ranking .result-first{background:#eff8df;border-color:#cce49f}
.results-ranking .result-me{box-shadow:inset 3px 0 #6a9233}
.results-place{font-size:.875rem;font-weight:700;color:#62724f;white-space:nowrap}
.result-first .results-place{color:#36551d}
.results-name{font-size:1rem;line-height:1.6;overflow-wrap:anywhere;min-width:0}
.results-name small{display:inline-block;background:#e5edda;color:#47622c;font-size:.875rem;padding:1px 7px;border-radius:6px;margin-left:7px;vertical-align:middle;white-space:nowrap}
.results-points{font-size:1.375rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.results-points small{font-size:.875rem;margin-left:4px;font-weight:500;color:var(--muted)}
.results-bottom{flex-shrink:0}
.results-bottom .results-note{font-size:.875rem;line-height:1.7;margin:0 0 14px;text-align:center}
.results-choices{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
.results-choices button{font-size:.9375rem;min-height:50px;padding:12px;line-height:1.5}
.results-bottom .results-error{font-size:.875rem;color:#9b3425;margin:12px 0 0}
.results-error:empty{display:none}
@media(max-width:480px){.results-dialog{padding:22px 18px;border-radius:20px}.results-dialog[open]{gap:18px}.results-heading h2{font-size:1.5rem}.results-personal strong{font-size:1.625rem}.results-ranking li{grid-template-columns:66px minmax(0,1fr) auto;gap:8px;padding:12px}.results-choices{grid-template-columns:1fr}.results-ranking{max-height:30dvh}.results-bottom .results-note{text-align:left}}

/* Music lounge: consistent light surfaces and one lime accent. */
:root{color:#202526;background:#f3f4f6;--ink:#202526;--muted:#6a7177;--lime:#c7f568;--line:#e3e6e9}
body{line-height:1.5}h1,h2,h3{word-break:keep-all;overflow-wrap:anywhere}button,input,select{touch-action:manipulation}button{transition:background .16s,border-color .16s,box-shadow .16s}input,select{border-color:#dce0e4;min-height:46px;padding:11px 14px}input::placeholder{color:#899097}input:hover,select:hover{border-color:#b5bcc3}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#7ea82e}::selection{background:#c7f568;color:#202526}
.primary,.secondary{font-size:.9375rem;line-height:1.5;font-weight:700;min-height:46px;padding:12px 20px;border-radius:10px;gap:8px}.primary{background:var(--lime);color:#263316}.primary:hover:not(:disabled){background:#b8e75a;box-shadow:0 3px 12px #a3cb4530}.secondary{border-color:#dce1e5;color:var(--ink)}.secondary:hover:not(:disabled){background:#f4f6f7;border-color:#aab3bb}.quiet{padding:10px 12px;border-radius:9px;min-height:44px;color:var(--muted);font-size:.875rem}.quiet:hover:not(:disabled){background:#e9edef;color:var(--ink);text-decoration:none}.overline{display:block;font-size:.75rem;font-weight:800;letter-spacing:.14em;color:#777f85;line-height:1.6}.field-label{font-size:.875rem;margin-bottom:9px}
.site-header{max-width:1280px;height:88px;padding:0 40px;gap:20px}.brand{gap:12px;font-size:1.1875rem;letter-spacing:-.05em}.brand-icon{width:44px;height:44px;border-radius:14px;font-size:1.75rem}.brand-sub{display:block;font-size:.625rem;letter-spacing:.19em;color:#788087;margin-top:3px;font-weight:700}.header-tag{font-size:.8125rem}.icon-button{width:40px;height:40px;border-color:#dce1e5;border-radius:11px;background:transparent;font-size:1.5rem}.icon-button:hover{background:white}
#app{width:min(1200px,calc(100% - 80px));max-width:none;margin:auto;padding:34px 0 0;min-height:calc(100dvh - 175px)}footer{width:min(1200px,calc(100% - 80px));max-width:none;margin:40px auto 0;padding:23px 0;gap:18px;font-size:.75rem;line-height:1.7;color:#7a8288}.entry-loading{min-height:55dvh;gap:18px;line-height:1.8}#toast{background:#202526;border:1px solid #424b50;border-radius:13px;box-shadow:0 12px 45px #0003;font-size:.875rem;line-height:1.7;padding:14px 21px}

/* Lobby */
.lobby-profile>input{color:var(--ink)}
.lobby-title{margin:3px 0 30px}.lobby-title h1{font-size:2.125rem;letter-spacing:-.055em;line-height:1.4;margin:9px 0 10px}.lobby-title p{font-size:1rem;line-height:1.75}.lobby-layout{grid-template-columns:280px minmax(0,1fr);gap:32px}.lobby-profile{background:#fff;color:var(--ink);border-color:var(--line);padding:25px;box-shadow:0 8px 30px #17212b05}.profile-note{gap:12px;margin-bottom:26px}.profile-note>span{background:var(--lime);color:#27321a;border-radius:11px;width:38px;height:38px;font-size:1.5rem}.profile-note h2{font-size:1rem;letter-spacing:-.035em}.lobby-profile .field-label{color:var(--ink)}.lobby-profile>input{min-height:49px;border-color:#dce0e4}.nickname-help{font-size:.8125rem;color:var(--muted);margin-top:10px}
.code-join{border-color:var(--line);padding-top:24px;margin-top:25px}.code-join h3{font-size:.875rem;font-weight:500;color:#59656b}.code-join form{gap:8px}.code-join input{letter-spacing:.08em;background:#f8f9fa;border-color:#dce0e4;color:var(--ink);font-size:.9375rem}.code-join input::placeholder{color:#899097}.code-join .secondary{background:white;border-color:#dce1e5;color:var(--ink);padding:10px 13px}.code-join .secondary:hover{background:#f0f3f5}.lobby-how{border-color:var(--line);padding-top:24px}.lobby-how h3{font-size:.875rem;font-weight:600}.lobby-how p{font-size:.875rem;line-height:1.85;color:var(--muted)}.lobby-how p b{color:#56722d}.mini-sequence{justify-content:space-between;gap:4px;margin:20px 0 11px;font-size:.75rem}.mini-sequence b{background:#f5f7f8;border-color:#e0e5e8;color:#535f65}.mini-sequence b:last-child{background:#edf5df;color:#4e692b;border-color:#d0dfb8}.mini-sequence span{color:#8a969b}.lobby-how small{font-size:.75rem;color:#707d83}
.directory-toolbar{margin:2px 0 22px;gap:18px}.directory-toolbar h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;letter-spacing:-.035em}.directory-toolbar h2 span{display:inline-grid;place-items:center;min-width:27px;height:25px;padding:0 7px;margin:0;border-radius:7px;background:#e3e8ec;color:#4d5c62;font-size:.875rem;font-variant-numeric:tabular-nums}.directory-toolbar p{font-size:.875rem;margin-top:7px}.directory-buttons{gap:8px}.directory-buttons .primary{padding:11px 19px;font-size:.9375rem;min-height:46px}.directory-buttons .quiet{font-size:.8125rem;padding:10px}.directory-error{padding:14px 17px;background:#fff6e5;border:1px solid #eed6a9;border-radius:12px;font-size:.875rem;color:#856123}
.room-cards{gap:18px}.room-card{padding:23px;border-radius:17px;box-shadow:0 8px 30px #17212b05;transition:border-color .18s,box-shadow .18s}.room-card:hover{border-color:#a6b493;box-shadow:0 8px 25px #2533250c}.room-card-top{gap:8px;flex-wrap:wrap}.room-status{color:#52613b;background:#edf4e0;font-size:.75rem;font-weight:600;padding:5px 9px;border-radius:6px;line-height:1.6}.room-status.in-game{background:#eaf0fa;color:#536d9c}.room-occupancy{font-size:.75rem}.room-card h3{font-size:1.1875rem;line-height:1.55;letter-spacing:-.035em;margin:20px 0 13px}.room-tags{gap:6px;font-size:.75rem;color:#646d73}.room-tags span{background:#f3f5f6;padding:4px 8px;border-radius:5px}.room-card-bottom{gap:12px;border-color:#edf0f2;margin-top:23px;padding-top:17px}.room-card-bottom small{font-size:.8125rem}.room-card-bottom .secondary{font-size:.875rem}.room-card-bottom .secondary:hover{background:var(--ink);border-color:var(--ink);color:white}.directory-footnote{font-size:.75rem;color:#7d868c;margin-top:19px}
.lobby-empty{min-height:418px;padding:35px 28px;background:white;border:1px solid var(--line);box-shadow:0 8px 30px #17212b05}.empty-music{display:grid;place-items:center;width:68px;height:68px;padding:0;font-size:2.5rem;background:#f0f4e8;color:#6a794c;margin-bottom:24px}.lobby-empty h3{font-size:1.375rem;letter-spacing:-.045em}.lobby-empty p{font-size:.9375rem;margin:11px 0 25px}.lobby-empty .secondary{border-color:#232a2c;background:#232a2c;color:white}.lobby-empty .secondary:hover{background:#3e494c}

/* Consistent dialog controls */
dialog{border:1px solid #e1e5e8;border-radius:22px;padding:30px;color:var(--ink);box-shadow:0 30px 100px #17212b30}dialog::backdrop{background:#17202480;backdrop-filter:blur(5px)}dialog h2{font-size:1.5rem;letter-spacing:-.04em;line-height:1.5}dialog>p{font-size:.9375rem;line-height:1.8}.create-dialog{width:min(94vw,620px);max-height:92dvh;padding:30px;scrollbar-width:thin}.create-dialog-heading{margin-bottom:27px}.create-dialog-heading h2{font-size:1.5rem}.create-dialog-heading .overline{color:#737d83;letter-spacing:.08em}.room-name-help{font-size:.8125rem!important;margin:8px 0 25px!important}.create-dialog fieldset{margin-bottom:23px}.create-dialog legend{font-size:.875rem}.choices button,.create-dialog .choices button{background:white;border-color:var(--line);font-size:.875rem;line-height:1.5;padding:11px 7px;min-height:45px}.choices button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.choices button:hover:not([aria-pressed=true]){background:#f0f4e9;border-color:#bccb9e}.create-dialog .range{gap:9px}.recent-preset{border-color:#d6e1bf;background:#eff5e4}.create-options{border-top:1px solid var(--line);padding-top:21px;font-size:.875rem}.listed-check input{accent-color:#5e7c2b;width:18px;height:18px}.create-pool{border-radius:9px;background:#f3f5f6;color:#5c696f;font-size:.875rem;padding:11px 14px;margin:22px 0 12px;text-align:center}.create-dialog #create-submit{font-size:.9375rem}.create-note{font-size:.75rem!important}

/* Stage, conversation, standings */
.room-top{margin-bottom:26px;align-items:center;gap:22px}.room-top .overline{font-size:.75rem;letter-spacing:.06em;margin-bottom:5px}.room-name{font-size:1.75rem;letter-spacing:-.05em;margin-bottom:9px}.room-top>.quiet{border:1px solid #dce1e5;background:white;padding:9px 15px}.room-code-button{font-size:.8125rem;color:#5f696e;padding:0;line-height:1.7}.room-code-button small{margin-left:9px;padding-left:10px;border-left:1px solid #cdd4d7;font-size:.75rem;color:#778288}.party-grid{grid-template-columns:minmax(285px,1fr) minmax(370px,1.5fr) 218px;gap:20px}.room-stage,.chat-panel,.ranking-panel{border-radius:20px;box-shadow:0 8px 30px #17212b05}.room-stage{background:#fff;color:var(--ink);border-color:var(--line);padding:26px}.room-stage .overline{color:#748087;letter-spacing:.09em;font-size:.75rem}.room-stage h1{font-size:1.6875rem;line-height:1.45;letter-spacing:-.05em;margin-top:14px}.waiting-copy{font-size:.9375rem;line-height:1.9;color:var(--muted);margin-top:15px}.ready-count{font-size:.875rem;color:var(--muted);padding:20px 0 19px;margin:23px 0 0;background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}.ready-count strong{font-size:2rem;color:#597830;font-weight:800}.room-settings-note{font-size:.8125rem;color:var(--muted);margin-top:17px;line-height:1.8}.speaker-control{border-color:var(--line);padding-top:18px;margin-top:22px}.speaker-control .secondary{background:#fff;color:#59676c;border-color:#dce1e5;min-height:42px;font-size:.875rem;padding:10px}.speaker-control .secondary[aria-pressed=true]{background:#edf5e2;color:#526d30;border-color:#d4e1bf}.speaker-control .secondary:hover{background:#e6eedb}.speaker-control p{font-size:.75rem;color:var(--muted);margin:10px 0 0}.speaker-control .quiet{color:#8c6732;font-size:.8125rem}.speaker-control .quiet:hover{background:#fff6e9;color:#745322}#room-actions{margin-top:20px}#room-actions>.primary{font-size:.9375rem;min-height:49px}.room-helper{font-size:.75rem;color:var(--muted);margin-top:11px}.room-stage .skip{color:#647177;border:1px solid #dce1e5;font-size:.875rem;padding:10px}.room-stage .skip:hover{color:var(--ink);background:#f1f4f5}
.round-meta{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:22px}.round-meta b{font-size:.9375rem}.round-meta span{font-size:.75rem;color:var(--muted)}.room-stage .stage-strip{gap:6px}.room-stage .stage-strip>div{border:1px solid #e1e6e9;border-radius:10px;padding:11px 3px;background:#f7f9fa;color:#78848a}.room-stage .stage-strip>div.active{background:var(--lime);border-color:var(--lime);color:#293a16}.room-stage .stage-strip>div.complete{background:#f0f5e9;color:#5f7642;border-color:#dce5cf}.room-stage .stage-strip b{font-size:1.0625rem}.room-stage .stage-strip span{font-size:.75rem;line-height:1.6;margin-top:4px;color:inherit}.shared-countdown{gap:14px;margin:32px 0 23px}.shared-countdown>span{font-size:.875rem;line-height:1.7;color:#68767c}.shared-countdown strong{font-size:4.75rem;line-height:1.12;letter-spacing:-.065em;color:var(--ink);min-height:1.12em}.shared-answer{padding:23px 0 5px;border-color:var(--line)}.shared-answer>span{font-size:.875rem;color:#5f7f32}.shared-answer h2{font-size:1.625rem;color:var(--ink);letter-spacing:-.03em}.shared-answer p{font-size:.9375rem;color:var(--muted)}
.automatic-hints{gap:15px;margin-top:20px;padding:19px;border-color:#d7e3c2;border-radius:14px;background:#f2f7e9}.automatic-hints .hint-label{font-size:.8125rem;color:#6a795c;font-weight:500;margin-bottom:7px}.automatic-hints .hint-artist-name{font-size:1.125rem;color:#34482a;line-height:1.6}.automatic-hints .hint-title{padding:14px 0 0;border:0;border-top:1px solid #d9e3cd;border-radius:0;background:none}.automatic-hints .hint-initials{font-size:clamp(1.625rem,2vw,2rem);color:#354e25}.round-history{font-size:.875rem;color:#57666b}.round-history summary{min-height:35px}.round-history p{border-color:var(--line)}.round-history small{color:var(--muted)}
.chat-panel{height:clamp(520px,calc(100dvh - 240px),720px);min-height:0}.chat-heading{padding:21px 22px;min-height:81px}.chat-heading h2{font-size:1.0625rem;letter-spacing:-.035em}.chat-subtitle{display:block;font-size:.75rem;color:var(--muted);margin-top:5px;font-weight:400}.chat-heading>span{font-size:.75rem;color:#53644b;max-width:43%;background:#eef3e8;padding:5px 9px;border-radius:6px}.chat-log{min-height:0;padding:22px;background:#f7f8fa;scrollbar-width:thin}.chat-message{margin-bottom:18px}.chat-message>strong{font-size:.75rem;line-height:1.7;color:#727d84;margin-bottom:6px}.chat-message>p{padding:10px 14px;border-color:#e6e9ed;border-radius:3px 13px 13px 13px;max-width:92%}.chat-message.mine>p{background:#ebf5d9;border-color:#dce9c5;border-radius:13px 3px 13px 13px;color:#35412c}.chat-event{font-size:.75rem;line-height:1.9;color:#828c93}.chat-event.scored{background:#e8f4d4;border:1px solid #cedeb8;color:#425c26;padding:11px 13px}
#chat-form{padding:16px;background:white}.chat-composer{gap:8px;padding:5px;border:1px solid #dce2e7;border-radius:12px;background:#f8f9fa;transition:border-color .16s,box-shadow .16s}.chat-composer:focus-within{border-color:#91a85a;box-shadow:0 0 0 3px #b7da6e26;background:white}.chat-composer input{width:0;min-height:44px;border:0;background:transparent;border-radius:7px;padding:9px 10px;outline:none}.chat-composer .primary{font-size:.875rem;min-height:44px;padding:9px 15px;border-radius:8px}#chat-form>small{font-size:.75rem;line-height:1.7;color:#858e94;margin:9px 4px 0}#chat-error{font-size:.8125rem}.ranking-panel{padding:21px 13px}.ranking-heading{padding:0 8px}.ranking-heading h2{font-size:1rem}.ranking-heading span{font-size:.75rem}#rankings{margin:18px 0 12px}#rankings li{padding:13px 9px;border-radius:10px;margin-bottom:5px}#rankings li.is-me{background:#eef4e5}.rank-number{font-size:.8125rem;font-weight:600;min-width:18px;color:#8a959c}#rankings li:first-child .rank-number{color:#65813b}#rankings strong{font-size:.875rem;line-height:1.6}#rankings strong>small{font-size:.75rem}#rankings li>div>span{font-size:.75rem}#rankings li>b{font-size:1.4375rem;font-variant-numeric:tabular-nums}#rankings li>b>small{font-size:.75rem;margin-left:3px;color:var(--muted)}.ranking-panel>p{padding-top:16px;font-size:.75rem}.connection-error{background:#fff6e5;color:#896327;border:1px solid #ebd5aa;font-size:.875rem}

.room-settings-note{background:#f7f9fa;border:1px solid #e1e6e9;color:#69777d;padding:11px 13px;border-radius:9px}

/* Final standings */
.results-dialog{width:min(94vw,600px);padding:30px;scrollbar-width:thin}.results-dialog[open]{gap:23px}.results-heading .overline{color:#668434;letter-spacing:.08em;font-size:.75rem}.results-heading h2{letter-spacing:-.055em}.results-heading p{font-size:.875rem;color:var(--muted)}.results-personal{background:#232a2c;padding:22px 0;border-radius:15px}.results-personal>div+div{border-color:#505a59}.results-personal span{font-size:.8125rem;color:#b7c4bf}.results-personal strong{font-size:2rem;color:var(--lime)}.results-ranking{scrollbar-width:thin}.results-ranking li{border-color:#e4e8eb;border-radius:11px}.results-ranking .result-first{background:#f2f7e9;border-color:#d4e4b8}.results-ranking .result-me{box-shadow:inset 3px 0 #88a653}.results-place{font-size:.8125rem;color:#75806e}.results-name small{font-size:.75rem;background:#e6edda;color:#556a38}.results-points small{font-size:.8125rem}.results-bottom .results-note{font-size:.8125rem;color:var(--muted)}.results-choices button{font-size:.8755rem}

@media(max-width:1120px){
 .site-header{padding:0 28px}#app,footer{width:calc(100% - 56px)}.party-grid{grid-template-columns:minmax(285px,1fr) minmax(330px,1.5fr)}.ranking-panel{grid-column:1/-1;padding:18px 20px}.ranking-heading{flex-direction:row;align-items:center;justify-content:space-between;padding:0}#rankings{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;margin:13px 0 0;padding:0 0 4px;scrollbar-width:thin}#rankings li{width:auto;min-width:170px;flex-shrink:0;margin:0}#rankings li>div{max-width:160px}.ranking-panel>p{display:none}.lobby-layout{grid-template-columns:255px minmax(0,1fr);gap:24px}.room-cards{gap:14px}.room-card{padding:20px}.lobby-profile{padding:22px}
}
@media(max-width:880px){
 .room-cards{grid-template-columns:1fr}.lobby-layout{grid-template-columns:245px minmax(0,1fr);gap:22px}.directory-toolbar{flex-wrap:wrap;gap:13px}.directory-toolbar p{display:none}.directory-buttons{margin-left:auto;flex-direction:row;gap:8px}.directory-toolbar h2{font-size:1.125rem;padding-top:10px}.lobby-title h1{font-size:1.875rem}.party-grid{gap:16px;grid-template-columns:minmax(260px,1fr) minmax(300px,1.3fr)}.room-stage{padding:21px}.chat-heading,.chat-log{padding:18px}.room-name{font-size:1.5rem}
}
@media(max-width:700px){
 .site-header{height:75px;padding:0 20px;gap:12px}.brand{font-size:1.0625rem;gap:10px}.brand-icon{width:39px;height:39px;font-size:1.5rem;border-radius:12px}.brand-sub{font-size:.625rem}.header-tag{display:none}.icon-button{margin-left:auto;width:37px;height:37px}#app{width:calc(100% - 36px);padding-top:25px;margin:auto;min-height:calc(100dvh - 160px)}footer{width:calc(100% - 36px);margin:28px auto 0;padding:20px 0;font-size:.75rem}footer>span:last-child{display:none}.lobby-title{margin:1px 0 24px}.lobby-title h1{font-size:1.75rem;line-height:1.45;letter-spacing:-.06em}.lobby-title p{font-size:.875rem;line-height:1.9}.lobby-title .overline{font-size:.75rem}.lobby-layout{grid-template-columns:1fr;gap:29px}.lobby-profile{padding:22px;border-radius:17px}.profile-note{margin-bottom:19px}.profile-note>span{width:33px;height:33px;font-size:1.3125rem;border-radius:9px}.profile-note h2{font-size:.9375rem}.code-join{padding-top:18px;margin-top:19px}.code-join h3{font-size:.8125rem;margin-bottom:10px}.lobby-how{display:none}.directory-toolbar{align-items:center;flex-wrap:nowrap;gap:8px;margin-bottom:17px}.directory-toolbar h2{font-size:1.125rem;padding:0;gap:7px;white-space:nowrap}.directory-toolbar h2 span{font-size:.8125rem;min-width:23px;height:23px}.directory-buttons{gap:2px}.directory-buttons .primary{font-size:.875rem;padding:10px 14px;min-height:43px}.directory-buttons .quiet{font-size:.75rem;padding:9px 7px}.lobby-empty{min-height:300px;padding:26px 18px;border-radius:17px}.empty-music{width:56px;height:56px;font-size:2rem;margin-bottom:19px;border-radius:17px}.lobby-empty h3{font-size:1.25rem}.lobby-empty p{font-size:.875rem;margin-bottom:21px}.room-card{padding:22px}.room-card h3{font-size:1.1875rem}
 .room-top{margin-bottom:20px;gap:12px;align-items:flex-start}.room-top .overline{font-size:.75rem}.room-name{font-size:1.375rem;line-height:1.5;margin-bottom:6px}.room-code-button{font-size:.75rem}.room-code-button small{font-size:.75rem;display:inline;margin-left:7px;padding-left:7px}.room-top>.quiet{font-size:.75rem;padding:7px 10px;min-height:39px;white-space:nowrap}.party-grid{grid-template-columns:minmax(0,1fr);gap:17px}.room-stage{order:0;padding:23px;border-radius:17px}.chat-panel{order:1;height:clamp(420px,62dvh,600px);border-radius:17px}.ranking-panel{order:2;grid-column:auto;padding:18px;border-radius:17px}.room-stage h1{font-size:1.4375rem;margin-top:10px}.waiting-copy{font-size:.875rem;line-height:1.8;margin-top:11px}.ready-count{margin-top:18px;padding:12px 0}.ready-count strong{font-size:1.6875rem}.room-settings-note{margin-top:13px}.speaker-control{margin-top:18px;padding-top:16px}.speaker-control p{margin-top:8px}#room-actions{margin-top:17px}.room-helper{font-size:.75rem;margin-top:8px}.room-stage:has(.round-meta){padding:19px 21px}.round-meta{margin-bottom:16px}.round-meta b{font-size:.875rem}.room-stage .stage-strip b{font-size:1rem}.room-stage .stage-strip span{font-size:.75rem}.room-stage .stage-strip>div{padding:8px 3px}.shared-countdown{flex-direction:row;justify-content:space-between;gap:18px;margin:19px 0 8px;text-align:left;min-height:65px}.shared-countdown>span{font-size:.875rem;max-width:65%}.shared-countdown strong{font-size:3.5rem;white-space:nowrap}.room-stage:has(.round-meta) .speaker-control{margin-top:15px;padding-top:14px}.room-stage:has(.round-meta) #room-actions{margin-top:13px}.automatic-hints{margin-top:15px;padding:16px}.automatic-hints .hint-artist-name{font-size:1.0625rem}.automatic-hints .hint-initials{font-size:1.75rem}.shared-answer{padding:17px 0 1px;margin-top:10px}.shared-answer h2{font-size:1.375rem}.chat-heading{min-height:73px;padding:17px 18px}.chat-heading h2{font-size:1rem}#chat-form{padding:13px}.chat-composer input{font-size:1rem;padding:9px 8px}.chat-composer .primary{font-size:.8125rem;padding:9px 12px}#chat-form>small{font-size:.75rem}.ranking-heading h2{font-size:.9375rem}
 .create-dialog{padding:25px 21px;width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:94dvh;border-radius:19px}.create-dialog-heading{margin-bottom:23px}.create-dialog-heading h2{font-size:1.375rem}.choices{gap:6px}.create-dialog .choices button{font-size:.8125rem;padding:10px 5px}.create-dialog .range{gap:7px}.create-dialog .range select{padding:9px 10px;min-width:74px}.create-options{gap:12px;flex-wrap:wrap}.create-options select{font-size:.8125rem}.listed-check{font-size:.8125rem}.results-dialog{padding:25px 21px;border-radius:20px}.results-dialog[open]{gap:20px}.results-heading h2{font-size:1.625rem}.results-personal{padding:19px 0}.results-personal strong{font-size:1.75rem}.results-ranking li{grid-template-columns:65px minmax(0,1fr) auto;gap:8px;padding:12px}.results-ranking{max-height:31dvh}.results-choices{grid-template-columns:1fr}.results-bottom .results-note{font-size:.8125rem;text-align:left}
}
@media(max-width:700px){
 .room-stage:has(.round-meta) .speaker-control{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center}.room-stage:has(.round-meta) .speaker-control .secondary{font-size:.8125rem;padding:9px 11px}.room-stage:has(.round-meta) .speaker-control p{margin:0}.room-stage:has(.round-meta) .speaker-control .quiet{grid-column:1/-1}.room-stage:has(.round-meta) #room-actions{display:flex;align-items:center;gap:12px}.room-stage:has(.round-meta) .skip{width:auto;flex-shrink:0;font-size:.8125rem;min-height:40px;padding:9px 11px}.room-stage:has(.round-meta) .room-helper{text-align:left;margin:0}.automatic-hints{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:15px}.automatic-hints .hint-title{border-top:0;border-left:1px solid #d9e3cd;padding:0 0 0 15px}.automatic-hints .hint-artist-name{line-height:1.7}
}
@media(max-width:370px){.directory-toolbar{flex-wrap:wrap}.directory-buttons{margin-left:0;width:100%;justify-content:flex-end}.choices.four{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.room-top>.quiet{padding:7px}.room-code-button small{display:block;margin-left:0;border:0;padding:0}.chat-heading{padding:16px 14px}.chat-heading>span{max-width:38%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Keep the submitted answer visible with its score confirmation. */
.chat-message.message-correct p{background:#edf7dc;color:#243719;border:1px solid #b7d891}.chat-message .answer-badge{display:block;color:#46651f;font-size:.75rem;font-weight:700;line-height:1.6;margin-top:5px}

/* A compact game area above the conversation; player controls sit on the right. */
.site-header>.icon-button{margin-left:auto}
.lobby-title{margin:0 0 24px}.lobby-title h1{margin:0;font-size:1.875rem}
.lobby-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:"directory profile";gap:28px;align-items:start}
.lobby-directory{grid-area:directory}.lobby-profile{grid-area:profile}.directory-toolbar{min-height:46px;align-items:center}.directory-toolbar h2{padding-top:0}
.party-grid{grid-template-columns:minmax(0,1fr) 240px;grid-template-areas:"stage ranking" "chat ranking";gap:18px;align-items:start}
.room-stage{grid-area:stage;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 25px}
.chat-panel{grid-area:chat;height:clamp(560px,72dvh,860px)}
.room-toolbar{display:flex;align-items:center;gap:18px;flex-shrink:0}.room-toolbar .quiet{white-space:nowrap}.room-toolbar .secondary{font-size:.875rem}
.listening-choices{padding:0;border:0;margin:22px 0}.listening-choices legend{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.listening-choices legend small{font-size:.8125rem;font-weight:400;color:var(--muted)}
.clip-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.clip-choice{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border:1px solid var(--line);border-radius:10px;background:#f7f8fa;font-weight:700;cursor:pointer}.clip-choice:has(:checked){background:#edf5db;border-color:#a4bd70;color:#33451e}.clip-choice:has(:focus-visible){outline:3px solid #6d922c;outline-offset:3px}.clip-choice input{width:17px;height:17px;min-height:0;padding:0;margin:0;accent-color:#5e7e29;flex-shrink:0}.clip-choice:has(:disabled){cursor:default}.clip-help,.listening-note{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:10px}
.listening-dialog{width:min(94vw,480px);padding:28px;border-radius:20px}.listening-dialog .create-dialog-heading{margin-bottom:18px}.listening-dialog h2{font-size:1.5rem}.listening-dialog .primary{width:100%;margin-top:20px}.listening-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:.875rem;color:var(--muted)}.listening-summary b{color:var(--ink);font-weight:600}.room-stage .listening-pending{grid-column:1/-1;color:var(--muted);font-size:.875rem;margin-top:12px}
@media(max-width:700px){.room-top{flex-wrap:wrap}.room-toolbar{margin-left:auto;gap:14px}.room-toolbar .secondary,.room-toolbar .quiet{font-size:.875rem}.listening-dialog{padding:22px}.clip-choices{gap:6px}.clip-choice{gap:6px;font-size:.9375rem}.clip-choice input{width:15px;height:15px}.listening-summary{gap:8px}}
.ranking-panel{grid-area:ranking;align-self:start;padding:22px 14px}.ranking-panel #rankings{margin-bottom:0}
.room-stage.is-waiting{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 24px}
.waiting-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.waiting-status h2{font-size:1.1875rem;letter-spacing:-.04em;margin:0}
.room-stage .ready-count{border:0;padding:0;margin:0;background:none;font-size:.8125rem;white-space:nowrap}
.room-stage .ready-count strong{font-size:1.375rem}
.room-stage .room-settings-note{padding:0;border:0;background:none;margin-top:10px;font-size:.8125rem}
.room-stage #room-actions{margin:0}.room-stage #room-actions:empty{display:none}
.room-stage.is-waiting #ready{min-width:138px;margin:0}
.room-stage:not(.is-waiting) #stage-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);align-items:center;gap:16px 30px}
.room-stage:not(.is-waiting) .round-meta{grid-column:1/-1;margin:0}
.room-stage:not(.is-waiting) .stage-strip{margin:0;gap:7px}
.room-stage:not(.is-waiting) .stage-strip>div{padding:11px 5px}
.room-stage:not(.is-waiting) .shared-countdown{display:flex;flex-direction:row;justify-content:space-between;gap:16px;text-align:left;margin:0;min-height:70px}
.room-stage:not(.is-waiting) .shared-countdown>span{max-width:65%;font-size:.8125rem}
.room-stage:not(.is-waiting) .shared-countdown strong{font-size:3.75rem;white-space:nowrap}
.room-stage:not(.is-waiting) #room-actions{justify-self:end;margin:0}
.room-stage .skip{width:auto;min-height:38px;padding:8px 12px}
.room-stage .automatic-hints{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);margin:0;padding:17px 20px;gap:20px}
.room-stage .automatic-hints .hint-title{border-top:0;border-left:1px solid #d9e3cd;padding:0 0 0 20px}
.room-stage .shared-answer{grid-column:1/-1;padding:15px 0 0;margin:0}
.room-stage .speaker-control{grid-column:1/-1;display:flex;align-items:center;gap:12px;border:1px solid #ecd7b4;background:#fff8e9;border-radius:10px;margin:0;padding:10px 14px}
.room-stage .speaker-control[hidden]{display:none!important}.room-stage .speaker-control p{margin:0;flex:1}.room-stage .speaker-control .quiet{flex-shrink:0}
.chat-heading{padding:15px 20px;min-height:58px}.chat-log{padding:18px 20px}#chat-form{padding:13px 16px}
@media(max-width:950px){
 .party-grid{grid-template-columns:minmax(0,1fr) 205px;gap:15px}
 .room-stage{padding:20px}.room-stage:not(.is-waiting) #stage-content{grid-template-columns:minmax(0,1fr);gap:13px}
 .room-stage:not(.is-waiting) .shared-countdown{min-height:58px}.room-stage:not(.is-waiting) .shared-countdown strong{font-size:3.25rem}
 .room-stage.is-waiting{grid-template-columns:minmax(0,1fr)}.room-stage.is-waiting #ready{width:100%}
 .lobby-layout{grid-template-columns:minmax(0,1fr) 250px;gap:22px}
}
@media(max-width:700px){
 .lobby-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"profile" "directory";gap:24px}
 .party-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "chat" "ranking";gap:15px}
 .room-stage,.room-stage:has(.round-meta){padding:18px 20px;gap:13px}
 .room-stage.is-waiting{grid-template-columns:minmax(0,1fr) auto;gap:14px}
 .room-stage.is-waiting #ready{min-width:0;padding:10px 13px;font-size:.8125rem}
 .waiting-status{gap:8px}.waiting-status h2{font-size:1.0625rem}
 .room-stage .room-settings-note{font-size:.75rem;line-height:1.7}
 .room-stage .automatic-hints{padding:15px;gap:15px}.room-stage .automatic-hints .hint-title{padding-left:15px}
 .room-stage .speaker-control{flex-direction:column;align-items:stretch;gap:5px}
 .chat-panel{height:clamp(500px,72dvh,760px)}.chat-heading{padding:14px 17px;min-height:57px}.chat-log{padding:16px}#chat-form{padding:12px}
 .ranking-panel{padding:18px}footer{margin-top:22px}
}
@media(max-width:380px){.room-stage.is-waiting{grid-template-columns:minmax(0,1fr)}.room-stage.is-waiting #ready{width:100%}.room-stage .automatic-hints{grid-template-columns:minmax(0,1fr)}.room-stage .automatic-hints .hint-title{padding:12px 0 0;border-left:0;border-top:1px solid #d9e3cd}}

/* Compact transcript rows keep more conversation in the same chat panel. */
.chat-log .chat-message{display:block;margin:0 0 5px;font-size:.875rem;line-height:1.6;text-align:left;overflow-wrap:anywhere}
.chat-log .chat-message>strong{display:inline;margin:0;font-size:inherit;line-height:inherit;font-weight:700;color:#46515b}
.chat-log .chat-message.mine>strong{color:#526e29}
.chat-separator{color:#8b949b}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}
.chat-log .chat-message.message-correct .chat-text{color:#36551e;font-weight:600}
.chat-log .chat-message .answer-badge,.chat-log .chat-message .message-delivery{display:inline-block;margin:0 0 0 8px;font-size:.75rem;line-height:1.6;vertical-align:baseline}
.chat-log .chat-event{margin:8px 0;text-align:left;font-size:.8125rem;line-height:1.6}
.room-stage:not(.is-waiting) #stage-content{gap:12px 24px}
.room-stage .round-meta{flex-wrap:nowrap;gap:12px}
.round-info{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;min-width:0}
.room-stage .round-meta .skip{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:38px;margin:0;padding:8px 12px;border:1px solid #efd0cd;border-radius:9px;background:#fff0ee;color:#ad493e;font-size:.8125rem;font-weight:600;line-height:1.4;text-decoration:none}
.room-stage .round-meta .skip:hover:not(:disabled){background:#ffe3df;border-color:#e3b5ae;color:#97382e}
.room-stage .round-meta .skip:disabled{opacity:1;color:#ab7d77;background:#faf0ee;border-color:#ebdcd8}
@media(max-width:700px){.room-stage .round-meta{gap:8px}.round-info{gap:3px 10px}.room-stage .round-meta .skip{padding:8px 10px}}

/* Keep room identity compact and fit the composer below the current question. */
/* Match stable player colours in both surfaces, including the current player. */
.chat-log .chat-message>strong.player-nickname,#rankings strong.player-nickname,#chat-name.player-nickname{color:var(--player-color);background:color-mix(in srgb,var(--player-color) 9%,white);font-weight:800;border:1px solid color-mix(in srgb,var(--player-color) 24%,white);border-radius:5px;padding:1px 5px;line-height:1.5;box-decoration-break:clone;-webkit-box-decoration-break:clone}
#rankings li{border-left:3px solid var(--player-color);padding-left:8px}
@media(min-width:701px){.ranking-panel #rankings{display:block;overflow:auto;max-height:65vh}#rankings li{min-width:0;width:100%;margin:0 0 5px}#rankings li>div{min-width:0}#rankings strong.player-nickname{overflow-wrap:anywhere}}
#rankings .player-labels{margin-top:5px}.host-badge{font-size:.6875rem;font-weight:700;background:#e6ebef;border-radius:4px;padding:1px 4px;color:#4b555c}
#listening-settings[hidden]{display:none}
/* Hint and answer changes stay inside one fixed question area. */
.room-stage:not(.is-waiting){position:relative;height:282px;display:block;overflow:hidden;contain:layout;overflow-anchor:none}
.room-stage:not(.is-waiting) #stage-content{height:100%;grid-template-rows:38px 70px minmax(0,1fr);gap:12px 24px;align-items:center}
.room-stage .hint-slot{grid-column:1/-1;min-height:0;height:100%;overflow:auto;scrollbar-width:thin}
.room-stage .hint-slot .automatic-hints{min-height:100%;padding:12px 16px;box-sizing:border-box}
.room-stage .hint-slot .hint-initials{font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.55;overflow-wrap:anywhere}
.room-stage .hint-slot .hint-artist-name{font-size:1rem}
.room-stage .listening-pending{position:absolute;right:24px;top:61px;margin:0!important;padding:2px 5px;font-size:.6875rem;background:white;z-index:1}
.room-stage .answer-overlay{position:absolute;inset:65px 18px 15px;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px;background:#fff;border:1px solid #dbe7bb;border-radius:12px;padding:16px;overflow:auto;overscroll-behavior:contain}
.room-stage .answer-overlay .shared-answer{border:0;margin:0;padding:0;width:100%}.room-stage .answer-overlay h2{font-size:clamp(1.2rem,2.4vw,1.75rem);line-height:1.45;overflow-wrap:anywhere;margin:7px 0}.room-stage .answer-overlay p{margin:0}.answer-overlay>small{color:var(--muted);font-size:.75rem}
.room-stage .shared-countdown{position:relative}
.room-stage:not(.is-waiting) .shared-countdown .speaker-control{position:absolute;inset:0;z-index:1;display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:6px 9px;max-height:100%;overflow:auto}
.room-stage .shared-countdown .speaker-control p,.room-stage .shared-countdown .speaker-control .quiet{font-size:.75rem;line-height:1.5}.room-stage .shared-countdown .speaker-control .quiet{padding:4px;min-height:32px}
.shared-countdown:has(.speaker-control:not([hidden]))>span,.shared-countdown:has(.speaker-control:not([hidden]))>strong{visibility:hidden}
.room-stage .round-meta{min-height:38px}.room-stage .shared-countdown{height:70px}
@media(max-width:950px){.room-stage:not(.is-waiting){height:332px}.room-stage:not(.is-waiting) #stage-content{grid-template-rows:38px 49px 58px minmax(0,1fr);gap:10px}.room-stage .shared-countdown{height:58px}.room-stage .answer-overlay{inset:65px 15px 15px}.room-stage .listening-pending{top:63px;right:20px}}
@media(max-width:700px){.room-stage:not(.is-waiting){height:318px}.room-stage .hint-slot .automatic-hints{padding:10px 12px;gap:12px}.room-stage .hint-slot .hint-initials{font-size:1.2rem}.room-stage .hint-slot .hint-artist-name{font-size:.9375rem}}
#app:has(.room-top){padding-top:20px}
.room-top{margin-bottom:14px;gap:14px}
.room-identity{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
.room-identity .room-name{margin:0;font-size:1.375rem;line-height:1.4;min-width:0}
.room-identity .room-code-button{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:36px;white-space:nowrap;font-size:.8125rem}
.room-identity .room-code-button small{display:inline;margin:0;padding-left:8px;font-size:.75rem}
.chat-panel{height:clamp(200px,calc(100dvh - 350px),560px);min-height:0}
.chat-heading,#chat-form{flex-shrink:0}
@media(max-width:700px){
 #app:has(.room-top){padding-top:16px}
 .room-top{gap:8px;margin-bottom:12px}
 .room-identity{flex-basis:100%;gap:12px}
 .room-identity .room-name{font-size:1.1875rem}
 .room-identity .room-code-button{margin-left:auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;line-height:1.6}
 .room-identity .room-code-button small{border:0;padding:0}
 .room-toolbar{gap:8px}.room-toolbar .secondary,.room-toolbar .quiet{min-height:36px;padding:7px 10px;font-size:.8125rem}
}
