@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root,:root[data-theme=light]{color-scheme:light;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;--bg-base: #faf7f5;--bg-surface: #ffffff;--bg-elevated: #f5f0ec;--bg-hover: #ede7e2;--bg-sidebar: #fff9f7;--red-primary: #e63946;--red-glow: rgba(230, 57, 70, .1);--red-soft: #ff6b7a;--red-light: #fff0f1;--red-muted: rgba(230, 57, 70, .06);--pink: #ff8fa3;--pink-light: #fff2f5;--pink-soft: rgba(255, 143, 163, .15);--rose: #f9a8b8;--rose-light: #fff5f7;--gold: #f2a93b;--gold-light: #fff8eb;--green: #2dba75;--green-light: #edfdf4;--text-primary: #2c1e1e;--text-secondary: #8a7575;--text-tertiary: #b8a8a8;--border: rgba(0, 0, 0, .06);--border-red: rgba(230, 57, 70, .12);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 999px;--shadow-sm: 0 1px 4px rgba(100, 60, 60, .06);--shadow-md: 0 4px 16px rgba(100, 60, 60, .08);--shadow-card: 0 2px 12px rgba(100, 60, 60, .06);--shadow-glow: 0 4px 20px rgba(230, 57, 70, .12);--body-radial-color: rgba(255, 143, 163, .08)}:root[data-theme=dark]{color-scheme:dark;--bg-base: #161012;--bg-surface: #1f1a1c;--bg-elevated: #272022;--bg-hover: #30282a;--bg-sidebar: #1b1517;--red-primary: #ff5666;--red-glow: rgba(255, 86, 102, .18);--red-soft: #ff8999;--red-light: #2d1a1f;--red-muted: rgba(255, 86, 102, .12);--pink: #ff8fa3;--pink-light: #2b1a22;--pink-soft: rgba(255, 143, 163, .18);--rose: #f9a8b8;--rose-light: #2a1c23;--gold: #ffc261;--gold-light: #2c2417;--green: #4be29a;--green-light: #152b22;--text-primary: #f5ecea;--text-secondary: #b8a5a5;--text-tertiary: #8a7a7a;--border: rgba(255, 255, 255, .08);--border-red: rgba(255, 86, 102, .22);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-card: 0 2px 12px rgba(0, 0, 0, .4);--shadow-glow: 0 4px 20px rgba(255, 86, 102, .28);--body-radial-color: rgba(255, 86, 102, .06)}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100vh}body{margin:0;background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-100px;left:50%;transform:translate(-50%);width:900px;height:500px;background:radial-gradient(ellipse,var(--body-radial-color) 0%,transparent 70%);pointer-events:none}.kmq-layout{display:block;height:var(--app-vh, 100vh);overflow:hidden;position:relative}.kmq-main{height:100%;overflow-y:auto;padding:16px clamp(14px,3vw,28px) 40px}@media(min-width:901px){.kmq-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width, 320px)}.kmq-main{padding-left:64px}}.kmq-app{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.kmq-sidebar{position:fixed;right:0;top:0;bottom:0;width:300px;background:var(--bg-sidebar);border-left:1px solid var(--border);box-shadow:-4px 0 24px #643c3c0f;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:100;display:flex;flex-direction:column;overflow-y:auto}.kmq-sidebar.open{transform:translate(0)}.kmq-sidebar.left{right:auto;left:0;border-left:none;border-right:1px solid var(--border);box-shadow:4px 0 24px #643c3c0f;transform:translate(-100%)}.kmq-sidebar.left.open{transform:translate(0)}@media(min-width:901px){.kmq-sidebar:not(.left){position:static;width:auto;transform:none;box-shadow:none;z-index:auto}.sidebar-toggle:not(.left):not(.theme){display:none}.kmq-sidebar:not(.left) .sidebar-close{display:none}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-sidebar);z-index:1}.sidebar-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary)}.sidebar-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.sidebar-close:hover{background:var(--red-light);color:var(--red-primary)}.sidebar-body{padding:14px 18px;display:flex;flex-direction:column;gap:16px}.sidebar-toggle{position:fixed;right:16px;top:16px;z-index:99;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-red);background:var(--bg-surface);box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s}.sidebar-toggle.left{right:auto;left:16px}.sidebar-toggle.theme{right:auto;left:16px;top:64px;font-size:1.2rem}.sidebar-toggle.profile{right:auto;left:16px;top:112px}.sidebar-toggle.search{right:auto;left:16px;top:160px}.sidebar-toggle.feedback{right:auto;left:16px;top:208px}.sidebar-toggle:hover{background:var(--red-light);border-color:var(--red-primary);box-shadow:var(--shadow-glow);transform:scale(1.05)}.sidebar-toggle.active{background:var(--red-primary);border-color:var(--red-primary);box-shadow:var(--shadow-glow)}.sidebar-toggle.active span{filter:brightness(10)}.kmq-app header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px;flex-wrap:wrap;gap:8px}.header-left{display:flex;align-items:center;gap:12px}.kmq-app header h1{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;color:var(--red-primary);margin:0}.logo-heart{display:inline-block;font-size:.6rem;vertical-align:super;margin-left:1px;animation:heart-beat 1.2s ease-in-out infinite}@keyframes heart-beat{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.kmq-app .meta{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.lives-badge{display:inline-flex;align-items:center;gap:4px;background:var(--red-light);color:var(--red-primary);border:1px solid var(--red-primary);padding:3px 10px;border-radius:var(--radius-pill);font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sm);white-space:nowrap}.lives-badge.out{background:var(--bg-surface);color:var(--text-tertiary);border-color:var(--border)}.meta-pill{background:var(--bg-surface);border:1px solid var(--border);padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;box-shadow:var(--shadow-sm)}.bookmark-chip{color:var(--gold);background:var(--gold-light);border:1px solid rgba(242,169,59,.15);padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600}.control-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.control-buttons button{padding:7px 14px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;border:1px solid transparent}.control-buttons button.primary{background:var(--red-primary);color:#fff;border-color:var(--red-primary)}.control-buttons button.primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.control-buttons button.danger{background:var(--red-light);border-color:var(--border-red);color:var(--red-primary)}.control-buttons button.danger:hover{background:var(--red-primary);color:#fff;box-shadow:var(--shadow-glow)}.control-buttons button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.control-feedback{color:var(--red-primary);font-size:.85rem;flex-basis:100%;text-align:right}.start-config{display:flex;flex-direction:column;gap:8px;width:fit-content}.start-game-types{margin-bottom:0}.start-config .pill{padding:4px 12px;font-size:.73rem;border:1px solid var(--border)}.start-config .pill.on{border-color:var(--red-primary)}.start-param{display:flex;align-items:center;gap:8px;font-size:.76rem;font-weight:600}.start-param .option-number{width:96px}.round-area{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;min-height:200px}.round-area:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red-primary),var(--pink),var(--rose))}.round-area-body{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media(min-width:720px){.round-area-body{grid-template-columns:minmax(0,1fr) 260px}}.round-area-text{min-width:0;display:flex;flex-direction:column;gap:8px}.round-area-text h3{margin:0;font-size:.95rem;font-weight:700}.reveal-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.live-badge{display:inline-flex;align-items:center;gap:5px;background:var(--red-light);border:1px solid var(--border-red);color:var(--red-primary);padding:2px 9px;border-radius:var(--radius-pill);font-size:.68rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-left:8px}.live-dot{width:5px;height:5px;background:var(--red-primary);border-radius:50%;display:inline-block;animation:blink 1.4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.round-timer{font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;color:var(--red-primary);line-height:1}.round-area-body.in-round{grid-template-columns:1fr}.stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:200px;padding:22px 16px}.stage-bookmark{position:absolute;top:0;right:0}.stage-header{display:flex;align-items:center;gap:10px}.stage-round-label{font-size:.95rem;font-weight:700;color:var(--text-secondary)}.stage-countdown .round-timer{font-size:4rem}.stage-notes{position:relative;width:140px;height:60px}.stage .guess-ticker{width:100%;max-width:360px;height:60px;overflow:hidden;align-content:flex-start;justify-content:center}.round-area-text .artist-line{margin:0;color:var(--text-secondary);font-size:.88rem}.round-area-text .winners{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:3px}.round-area-text .winners li{font-size:.82rem;color:var(--green);font-weight:500}.round-area-text .winners li:before{content:"♡ ";color:var(--pink)}.winner-streak,.winner-time{margin-left:6px;font-size:.72rem;font-weight:600;color:var(--text-tertiary)}.winner-streak{color:var(--gold);display:inline-block}.winner-streak.streak-tier-1{transform:scale(1)}.winner-streak.streak-tier-2{transform:scale(1.12);text-shadow:0 0 6px var(--gold)}.winner-streak.streak-tier-3{transform:scale(1.25);font-weight:800;text-shadow:0 0 10px var(--gold);animation:streak-pulse .9s ease-in-out infinite}@keyframes streak-pulse{0%,to{transform:scale(1.25)}50%{transform:scale(1.4)}}.winner-time.quick{color:var(--gold)}.winner-time.very-quick{color:var(--gold);font-weight:800;text-shadow:0 0 8px var(--gold);animation:very-quick-flash 1.1s ease-in-out infinite}@keyframes very-quick-flash{0%,to{opacity:1}50%{opacity:.55}}.song-counter{margin:6px 0 0;font-size:.74rem;color:var(--text-tertiary);font-weight:600}.thumbnail-slot{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.thumbnail-slot.placeholder{background:linear-gradient(145deg,var(--pink-light),var(--rose-light));border:1px dashed var(--border-red);flex-direction:column;gap:6px}.note-float{position:absolute;font-size:1rem;opacity:.2;animation:float-up 4s ease-in-out infinite}.note-float:nth-child(1){left:20%;animation-delay:0s}.note-float:nth-child(2){left:50%;animation-delay:1.3s;font-size:.8rem}.note-float:nth-child(3){left:75%;animation-delay:2.6s;font-size:1.2rem}@keyframes float-up{0%{transform:translateY(20px);opacity:0}20%{opacity:.25}80%{opacity:.25}to{transform:translateY(-60px);opacity:0}}.note-main{font-size:2.2rem;z-index:1;animation:note-bounce 2s ease-in-out infinite}@keyframes note-bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-3deg)}75%{transform:translateY(2px) rotate(2deg)}}.listening-text{font-size:.72rem;font-weight:600;color:var(--pink);letter-spacing:.5px;z-index:1}.thumbnail-slot.placeholder.idle-empty{background:var(--bg-surface);border-color:var(--border)}.idle-empty .note-main{animation:none;opacity:.35}.thumbnail-slot.session-winner-art img{width:100%;height:100%;object-fit:cover;display:block}.song-montage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;gap:2px;background:var(--border-red)}.song-montage img{width:100%;height:100%;object-fit:cover;display:block}.thumbnail-link{position:relative;display:block;background:transparent;border:0;padding:0;margin:0;cursor:pointer;border-radius:var(--radius-md);overflow:hidden;width:100%;height:100%}.thumbnail-link img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);display:block;transition:transform .2s ease}.thumbnail-link:hover img{transform:scale(1.03)}.thumbnail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000040;color:#fff;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .15s ease;border-radius:var(--radius-md)}.thumbnail-link:hover .thumbnail-overlay{opacity:1}.session-winner{margin:0;font-size:1.15rem;font-weight:700;color:var(--gold);text-align:center;padding:24px 12px;line-height:1.4}.round-area-body.idle.viewer-won{position:relative;overflow:hidden}.session-winner.won{position:relative;z-index:6;animation:winner-pop .5s cubic-bezier(.2,.9,.3,1.4)}@keyframes winner-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.confetti-piece{position:absolute;top:-14px;width:8px;height:13px;border-radius:2px;opacity:0;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-14px) translate(0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(380px) translate(var(--drift, 0)) rotate(560deg)}}.level-up-celebration{position:relative;width:100%;margin:10px 0 4px;padding:12px 14px;border:1px solid var(--gold);border-radius:var(--radius-md);background:var(--gold-light);display:flex;flex-direction:column;gap:8px}.level-up-title{text-align:center;font-weight:800;font-size:.95rem;color:var(--gold);animation:winner-pop .5s cubic-bezier(.2,.9,.3,1.4)}.level-up-title.rank-up{font-size:1.05rem;text-shadow:0 0 10px var(--gold);animation:winner-pop .6s cubic-bezier(.2,.9,.3,1.4)}.level-up-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.level-up-row{display:flex;align-items:baseline;gap:8px;font-size:.82rem}.level-up-row.viewer{font-weight:700}.level-up-row .level-up-user{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-up-row .level-up-levels{color:var(--text-secondary);flex-shrink:0}.level-up-row.viewer .level-up-levels{color:var(--text-primary)}.level-up-row .level-up-rank{color:var(--gold);font-weight:700;flex-shrink:0}.level-up-row.rank-up .level-up-rank{text-shadow:0 0 8px var(--gold)}.level-up-more{color:var(--text-tertiary);font-size:.74rem;text-align:center}.bookmark-star{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:inherit;cursor:pointer;font-size:.85rem;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.bookmark-star:hover:not(:disabled){border-color:var(--gold);background:var(--gold-light);transform:scale(1.05)}.bookmark-star.filled{background:var(--gold);border-color:var(--gold);cursor:default;animation:bookmark-pop .4s ease}@keyframes bookmark-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.bookmark-feedback{position:absolute;background:var(--bg-elevated);padding:4px 8px;border-radius:4px;margin-top:40px;font-size:.75rem;color:var(--red-primary)}.guess-input{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--bg-surface);border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);scroll-margin-bottom:16px}.guess-input input{flex:1;min-width:200px;background:var(--bg-base);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text-primary);font-size:.9rem;font-family:inherit;outline:none;transition:all .15s}.guess-input input::placeholder{color:var(--text-tertiary)}.guess-input input:focus{border-color:var(--red-primary);box-shadow:0 0 0 3px var(--red-glow)}.guess-input input:disabled,.guess-input input.waiting{opacity:.5}.guess-input button{background:var(--red-primary);border:none;color:#fff;padding:10px 22px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.guess-input button:hover:not(:disabled){background:#d32f3e;box-shadow:var(--shadow-glow);transform:translateY(-1px)}.guess-input button:disabled{background:var(--bg-elevated);color:var(--text-tertiary);cursor:not-allowed}.guess-feedback{flex-basis:100%;color:var(--red-primary);font-size:.85rem}.mc-input{display:flex;flex-direction:column;gap:8px;background:var(--bg-surface);border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);scroll-margin-bottom:16px}.mc-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.mc-choice{background:var(--bg-base);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text-primary);font-size:.9rem;font-family:inherit;font-weight:600;cursor:pointer;transition:all .15s;min-height:44px;text-align:center;word-break:break-word}.mc-choice:hover:not(:disabled){border-color:var(--red-primary);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.mc-choice.picked{background:var(--red-primary);border-color:var(--red-primary);color:#fff}.mc-choice:disabled{cursor:not-allowed}.mc-choice:disabled:not(.picked){opacity:.5}.mc-waiting{color:var(--text-tertiary);font-size:.9rem;padding:8px 2px}.vote-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.guess-input,.mc-input,.vote-row,.emote-bar{animation:control-enter .32s cubic-bezier(.2,.8,.3,1) both}.guess-input,.mc-input{animation-delay:.04s}.vote-row{animation-delay:.11s}.emote-bar{animation-delay:.18s}@keyframes control-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.emote-bar{display:flex;justify-content:center;gap:6px;margin-top:8px;flex-wrap:wrap}.emote-button{font-size:1.15rem;line-height:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);cursor:pointer;transition:transform .1s ease,background .15s ease}.emote-button:hover:not(:disabled){background:var(--bg-hover);transform:translateY(-1px) scale(1.08)}.emote-button:active:not(:disabled){transform:scale(.92)}.emote-button:disabled{opacity:.4;cursor:default}.floating-emotes{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:40}.floating-emote{position:absolute;bottom:96px;font-size:2rem;opacity:0;animation:emote-float 2.6s ease-out forwards}@keyframes emote-float{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1;transform:translateY(-20px) scale(1.1)}to{opacity:0;transform:translateY(-220px) scale(1)}}.recap-card{margin:12px auto 0;max-width:320px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;flex-direction:column;gap:10px}.recap-title{font-weight:700;font-size:.95rem;text-align:center}.recap-stats{margin:0;display:flex;flex-direction:column;gap:6px}.recap-stats>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.recap-stats dt{color:var(--text-secondary);font-size:.8rem}.recap-stats dd{margin:0;font-weight:600;font-size:.85rem;text-align:right}.recap-copy{align-self:center;padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:.85rem;cursor:pointer;transition:transform .1s ease,background .15s ease}.recap-copy:hover{background:var(--bg-hover);transform:translateY(-1px)}.recap-copy:active{transform:scale(.96)}.vote-row .hint-control{margin:0}.hint-control{display:flex;flex-direction:column;gap:6px}.hint-control button{position:relative;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);padding:11px 14px;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-family:inherit;text-align:left;display:flex;align-items:center;gap:8px;transition:all .15s;box-shadow:var(--shadow-sm)}.hint-control button:hover:not(:disabled){border-color:var(--border-red);transform:translateY(-1px);box-shadow:var(--shadow-md)}.hint-control button:disabled{opacity:.6;cursor:not-allowed;transform:none}.hint-control button.revealed{border-color:#f2a93b40;background:var(--gold-light)}.hint-icon{font-size:1rem;z-index:1}.hint-label{flex:1;z-index:1;font-weight:600}.hint-progress{position:absolute;inset:0 auto 0 0;background:var(--gold-light);transition:width .3s ease;pointer-events:none}.hint-text{background:var(--gold-light);border-left:3px solid var(--gold);padding:9px 14px;border-radius:var(--radius-sm);font-size:.95rem;animation:hint-slide-in .3s ease;color:var(--text-primary);font-family:var( --font-mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace );letter-spacing:.22em;font-weight:600}@keyframes hint-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hint-feedback{color:var(--red-primary);font-size:.85rem}.skip-button{border-color:var(--border)!important}.skip-button .hint-progress.skip-bar{background:var(--red-light)!important}.skip-button.voted{border-color:var(--border-red)!important;background:var(--red-light)}.skip-button.revealed{border-color:#f2a93b40!important;background:var(--gold-light)}.all-guesses{margin-top:8px;background:var(--bg-base);border-radius:var(--radius-sm);padding:8px 12px}.all-guesses summary{cursor:pointer;color:var(--text-secondary);font-size:.78rem;font-weight:600;-webkit-user-select:none;user-select:none}.all-guesses ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.all-guesses li{display:flex;gap:8px;padding:4px 8px;border-radius:6px;background:var(--bg-surface);font-size:.8rem;align-items:baseline}.all-guesses li.correct{background:var(--green-light);border-left:2px solid var(--green)}.all-guesses .g-name{color:var(--text-secondary);min-width:85px;flex-shrink:0;font-weight:500}.all-guesses .g-text{flex:1;word-break:break-word}.all-guesses .g-mark{color:var(--green);font-weight:700}.all-guesses li.near-miss{background:var(--gold-light);border-left:2px solid var(--gold)}.all-guesses .g-near{color:var(--gold);font-weight:700;font-size:.72rem;flex-shrink:0;white-space:nowrap}.banner{background:var(--bg-surface);border-left:3px solid var(--red-primary);padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.guess-ticker{list-style:none;margin:0;padding:0 2px;display:flex;flex-wrap:wrap;gap:6px}.guess-ticker li{font-size:.76rem;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-tertiary);animation:guess-pop-in .25s cubic-bezier(.2,.9,.3,1.3)}@keyframes guess-pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.guess-ticker li.correct{color:var(--green);background:var(--green-light);border-color:#2dba7526}.guess-ticker li.incorrect{color:var(--text-tertiary)}.sb-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:8px;margin-top:0}.scoreboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.scoreboard li{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-elevated);border-radius:var(--radius-sm);transition:background .1s}.scoreboard li:hover{background:var(--bg-hover)}.scoreboard li.winner{background:var(--red-light);border-left:3px solid var(--red-primary)}.scoreboard .rank{width:24px;font-size:.78rem;color:var(--text-tertiary);font-weight:700;text-align:center}.scoreboard li.winner .rank,.scoreboard li:first-child .rank{color:var(--gold)}.scoreboard .avatar{width:26px;height:26px;border-radius:50%;border:2px solid var(--border)}.scoreboard .name{flex:1;font-size:.82rem;font-weight:500}.scoreboard .afk{color:var(--text-tertiary);font-style:italic;font-weight:400;font-size:.75rem}.scoreboard .score{font-weight:700;font-variant-numeric:tabular-nums;font-size:.88rem}.scoreboard .exp{font-size:.72rem;color:var(--pink);font-weight:600}.scoreboard li.self{outline:2px solid var(--red-primary);outline-offset:-2px}.scoreboard .score.lives{color:var(--red-primary);white-space:nowrap}.scoreboard li.eliminated{opacity:.55}.scoreboard li.eliminated .name{text-decoration:line-through}.scoreboard li.eliminated .score.lives{color:var(--text-tertiary)}.scoreboard li{position:relative}.scoreboard-row-main{flex:1;display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:0;background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.scoreboard-row-main:disabled{cursor:default}.profile-popover{position:absolute;top:0;right:100%;margin-right:8px;z-index:200;width:280px;max-height:70vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.profile-popover-close,.profile-modal-close{position:absolute;top:8px;right:8px;width:26px;height:26px;border:none;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;z-index:1}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#00000073;padding:16px}.profile-modal{position:relative;width:min(92vw,340px);max-height:86vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.profile-card{padding:16px}.profile-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.profile-avatar{border-radius:50%;border:2px solid var(--border)}.profile-name{font-weight:800;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-status{color:var(--text-secondary);font-size:.85rem;margin:8px 0}.profile-level-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.profile-level{font-weight:800;font-size:.95rem}.profile-rank{color:var(--red-primary);font-weight:700;font-size:.85rem}.profile-xp{margin:8px 0 12px}.profile-xp-bar{height:8px;border-radius:var(--radius-pill);background:var(--bg-elevated);overflow:hidden}.profile-xp-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--red-soft),var(--red-primary));transition:width .4s ease}.profile-xp-label{margin-top:4px;font-size:.72rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.profile-next-rank{font-size:.72rem;color:var(--text-tertiary)}.profile-buffs{margin-bottom:12px}.profile-buff-active{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--red-muted)}.profile-buff-mult{font-weight:800;color:var(--red-primary);font-size:.85rem}.profile-buff-list{font-size:.74rem;color:var(--text-secondary)}.profile-buff-expiry{font-size:.7rem;color:var(--text-tertiary)}.profile-vote-cta{margin-top:8px;width:100%;padding:8px;border:none;border-radius:var(--radius-pill);background:var(--red-primary);color:#fff;font-weight:700;font-size:.82rem;cursor:pointer;box-shadow:var(--shadow-sm)}.profile-vote-cta:hover{box-shadow:var(--shadow-glow)}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.profile-stats div{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:6px 8px}.profile-stats dt{font-size:.68rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em}.profile-stats dd{margin:2px 0 0;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.profile-badges-title{font-size:.68rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em}.profile-badges ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.profile-badges li{font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--red-light);color:var(--red-primary)}.profile-levelup{margin-bottom:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--red-primary);color:#fff;font-weight:700;font-size:.82rem;text-align:center;animation:profile-levelup-pop .4s ease}@keyframes profile-levelup-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:900px){.profile-popover{position:fixed;inset:auto;top:50%;left:50%;right:auto;margin:0;transform:translate(-50%,-50%);width:min(92vw,320px);max-height:86vh}}.options-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 20px;align-items:start}.option-label{font-size:.73rem;font-weight:600;color:var(--text-tertiary);margin-bottom:6px;margin-top:4px;display:flex;align-items:center;gap:5px}.option-info{width:15px;height:15px;flex-shrink:0;padding:0;margin:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:color .12s ease,border-color .12s ease,background .12s ease}.option-info:hover,.option-info:focus-visible{color:var(--red-primary);border-color:var(--red-primary);background:var(--red-light)}.option-help-text{margin:-2px 0 8px;padding:7px 9px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm, 8px);color:var(--text-secondary);font-size:.72rem;font-weight:500;line-height:1.35}.option-note{margin:4px 0 0;color:var(--text-secondary);font-size:.7rem;font-weight:500}.option-error{margin:4px 0 0;color:var(--red-primary);font-size:.7rem;font-weight:500}.pills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.pill{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:4px 12px;border-radius:var(--radius-pill);font-size:.73rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.pill:hover{border-color:var(--border-red);color:var(--text-primary)}.pill.on{background:var(--red-primary);border-color:var(--red-primary);color:#fff;box-shadow:0 2px 8px #e6394633}.pill:disabled{opacity:.4;cursor:not-allowed}.pill.on:disabled:hover{border-color:var(--red-primary);color:#fff}.option-managed-note{margin:6px 0 0;color:var(--text-secondary);font-size:.68rem;font-style:italic;line-height:1.3}.options-group{min-width:0}.options-group-wide{grid-column:1 / -1}.options-playlist .playlist-input-row{display:flex;gap:6px;align-items:center}.playlist-url-input{flex:1 1 auto;min-width:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm, 8px);color:var(--text-primary);padding:5px 10px;font-size:.73rem;font-family:inherit}.playlist-url-input:focus-visible{outline:none;border-color:var(--red-primary)}.playlist-url-input:disabled{opacity:.6;cursor:not-allowed}.playlist-active{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.playlist-active-count{font-size:.78rem;font-weight:600;color:var(--text-primary)}.options-playlist-note{margin:-4px 0 0;font-size:.72rem;font-style:italic;color:var(--text-tertiary)}fieldset.options-override{display:contents;border:0;margin:0;padding:0;min-inline-size:0}fieldset.options-override:disabled .options-group{opacity:.45}.pill:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pill:disabled:hover{border-color:var(--border);color:var(--text-secondary)}.options-group .option-label{margin-top:0;margin-bottom:6px}.options-group .pills,.options-group .number-row{margin-bottom:0}.number-row{display:flex;align-items:center;gap:6px;margin-bottom:10px}.option-number{width:84px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:.78rem;font-weight:500;transition:border-color .15s}.option-number:focus{outline:none;border-color:var(--red-primary);box-shadow:0 0 0 3px var(--red-glow)}.option-range-sep{color:var(--text-tertiary);font-weight:600}.artist-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.artist-chip{display:inline-flex;align-items:center;gap:4px;background:var(--pink-soft);border:1px solid var(--border-red);color:var(--red-primary);padding:3px 10px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.artist-chip:hover{background:var(--red-primary);color:#fff}.artist-chip:disabled{opacity:.4;cursor:not-allowed}.artist-chip:disabled:hover{background:var(--pink-soft);color:var(--red-primary)}.artist-autocomplete .option-number:disabled{opacity:.4;cursor:not-allowed}.artist-chip-x{font-size:.85rem;line-height:1;opacity:.7}.artist-autocomplete{position:relative}.artist-autocomplete .option-number{width:100%}.artist-suggestions{list-style:none;margin:4px 0 0;padding:4px;position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto}.artist-suggestions li{padding:0}.artist-suggestions button{width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:.78rem;cursor:pointer;border-radius:var(--radius-sm)}.artist-suggestions button:hover{background:var(--red-light);color:var(--red-primary)}.options-feedback{display:block;grid-column:1 / -1;color:var(--red-primary);font-size:.72rem;margin-top:4px}.options-reset{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}.options-reset-button{background:transparent;border:1px solid var(--border-red);color:var(--red-primary);padding:6px 14px;border-radius:var(--radius-pill);font-size:.73rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.options-reset-button:hover:not(:disabled){background:var(--red-light)}.options-reset-button.armed{background:var(--red-primary);border-color:var(--red-primary);color:#fff}.options-reset-button:disabled{opacity:.5;cursor:not-allowed}.preset-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}.preset-item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm, 8px);padding:5px 5px 5px 11px}.preset-name{font-size:.76rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-actions{display:flex;gap:5px;flex-shrink:0}.preset-save{display:flex;gap:6px}.preset-save .option-number{flex:1;min-width:0}.preset-empty{margin:0 0 8px;color:var(--text-secondary);font-size:.72rem;font-style:italic}.preset-feedback{margin:6px 0 0;color:var(--red-primary);font-size:.72rem}.song-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.song-history li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-elevated);border-radius:var(--radius-sm);transition:background .1s;animation:history-row-in .32s cubic-bezier(.2,.8,.3,1)}@keyframes history-row-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.song-history li:hover{background:var(--bg-hover)}.history-round{width:28px;font-size:.72rem;color:var(--text-tertiary);font-weight:700;text-align:center;flex-shrink:0}.history-text{flex:1;min-width:0}.history-song{font-size:.82rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-artist{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-history .bookmark-star{width:26px;height:26px;font-size:.78rem;flex-shrink:0}.empty{color:var(--text-secondary);font-style:italic}.kmq-app.loading,.kmq-app.error{text-align:center;padding-top:80px}.kmq-app.error p{color:var(--red-primary)}.kmq-app.error button{align-self:center;margin-top:16px;padding:9px 22px;border:none;border-radius:var(--radius-pill);background:var(--red-primary);color:#fff;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.kmq-app.error button:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.kmq-app.error button:disabled{opacity:.6;cursor:default}.kmq-splash-logo{width:140px;height:140px;border-radius:50%;margin:0 auto 16px;display:block;animation:kmq-splash-pulse 1.6s ease-in-out infinite}@keyframes kmq-splash-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.96)}}.deco-star{position:fixed;pointer-events:none;z-index:0;opacity:.08;font-size:1.2rem}.options-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.options-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 16px;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .12s}.options-toggle:hover{background:var(--bg-hover)}.options-chevron{color:var(--text-tertiary);transition:transform .18s ease}.options-toggle.open .options-chevron,.options-subtoggle.open .options-chevron{transform:rotate(180deg)}.options-accordion{display:flex;flex-direction:column;border-top:1px solid var(--border)}.options-category+.options-category{border-top:1px solid var(--border)}.options-subtoggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .12s}.options-subtoggle:hover{background:var(--bg-hover)}.options-category .options-panel{padding:4px 16px 16px}@media(max-width:900px){.kmq-app header{padding-left:52px;padding-right:52px}}@media(max-width:600px){.vote-row{grid-template-columns:1fr}}.round-area-body.in-round,.round-area-body.idle{animation:round-state-in .3s ease}.round-area-body.has-reveal{animation:round-reveal-in .34s cubic-bezier(.2,.8,.3,1)}@keyframes round-state-in{0%{opacity:0}to{opacity:1}}@keyframes round-reveal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.round-area-body.has-reveal .reveal-header{animation:reveal-line-in .3s ease both .04s}.round-area-body.has-reveal .artist-line{animation:reveal-line-in .3s ease both .1s}.round-area-body.has-reveal .winners{animation:reveal-line-in .3s ease both .16s}.round-area-body.has-reveal .song-counter{animation:reveal-line-in .3s ease both .22s}@keyframes reveal-line-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.collapse.open{grid-template-rows:1fr}.collapse-inner{overflow:hidden;min-height:0}.profile-popover{opacity:0;transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.3,1)}.profile-popover.visible{opacity:1}@media(min-width:901px){.profile-popover{transform-origin:right center;transform:scale(.94) translate(6px)}.profile-popover.visible{transform:scale(1) translate(0)}}.profile-modal-overlay{opacity:0;transition:opacity .2s ease}.profile-modal-overlay.visible{opacity:1}.profile-modal{opacity:0;transform:translateY(12px) scale(.96);transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.3,1)}.profile-modal.visible{opacity:1;transform:none}.crossfade{position:relative;overflow:hidden;transition:height .26s cubic-bezier(.4,0,.2,1)}.crossfade-layer.entering{position:relative;z-index:1}.crossfade-layer.leaving{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;animation:crossfade-out .22s ease forwards}.crossfade-layer.leaving *{animation:none!important}@keyframes crossfade-out{0%{opacity:1}to{opacity:0}}.banner{animation:hint-slide-in .3s ease}.control-buttons button:active:not(:disabled),.hint-control button:active:not(:disabled){transform:scale(.96)}.sidebar-toggle:active{transform:scale(.94)}.song-info-anchor{position:relative;flex:1;min-width:0}.song-info-trigger{display:block;width:100%;padding:0;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit;color:inherit}.song-info-trigger:hover .history-song{color:var(--red-primary)}.song-info-popover{position:absolute;top:0;left:100%;margin-left:8px;z-index:200;width:max-content;min-width:300px;max-width:min(92vw,440px);max-height:70vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.3,1)}.song-info-popover.visible{opacity:1}@media(min-width:901px){.song-info-popover{transform-origin:left center;transform:scale(.94) translate(-6px)}.song-info-popover.visible{transform:scale(1) translate(0)}}@media(max-width:900px){.song-info-popover{position:fixed;inset:auto;top:50%;left:50%;margin:0;transform:translate(-50%,-50%);width:min(92vw,320px);max-height:86vh}}.song-info-popover-close{position:absolute;top:8px;right:8px;width:26px;height:26px;border:none;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;z-index:1}.song-info-card{padding:16px}.song-info-status{color:var(--text-secondary);font-size:.85rem;margin:8px 0;text-align:center}.song-info-head{display:flex;gap:10px;margin-bottom:12px}.song-info-thumb{width:180px;aspect-ratio:16 / 9;flex-shrink:0;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated)}.song-info-title{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}.song-info-song{font-weight:800;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-info-artist{font-size:.82rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-info-badge{align-self:flex-start;margin-top:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:2px 8px;border-radius:var(--radius-pill)}.song-info-badge.in-kmq{background:var(--red-light);color:var(--red-primary)}.song-info-badge.not-in-kmq{background:var(--bg-elevated);color:var(--text-tertiary)}.song-info-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.song-info-stats div{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:6px 8px}.song-info-stats dt{font-size:.68rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em}.song-info-stats dd{margin:2px 0 0;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.song-info-aliases{margin:0 0 8px;font-size:.76rem;color:var(--text-secondary);line-height:1.4}.song-info-aliases-label{font-weight:700;color:var(--text-tertiary);text-transform:uppercase;font-size:.66rem;letter-spacing:.02em}.song-info-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.song-info-link{flex:1;min-width:120px;padding:8px;border:1px solid var(--border-red);border-radius:var(--radius-pill);background:var(--red-light);color:var(--red-primary);font-weight:700;font-size:.78rem;cursor:pointer;transition:all .15s}.song-info-link:hover{background:var(--red-primary);color:#fff;box-shadow:var(--shadow-glow)}.song-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;background:#00000073;opacity:0;transition:opacity .2s ease}.song-search-overlay.visible{opacity:1}.song-search-modal{position:relative;display:flex;flex-direction:column;width:min(94vw,460px);max-height:80vh;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transform:scale(.96) translateY(-8px);opacity:0;transition:opacity .2s ease,transform .2s cubic-bezier(.2,.8,.3,1)}.song-search-modal.visible{transform:scale(1) translateY(0);opacity:1}.song-search-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.song-search-title{font-weight:800;font-size:1rem}.song-search-close{width:28px;height:28px;border:none;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer}.song-search-input{margin:14px 16px 8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;font-family:inherit}.song-search-input:focus{outline:none;border-color:var(--border-red)}.feedback-form{display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto}.feedback-label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;color:var(--text-secondary)}.feedback-input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;font-family:inherit;font-weight:400;resize:vertical}.feedback-input:focus{outline:none;border-color:var(--border-red)}.feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.feedback-button{padding:9px 16px;border:none;border-radius:var(--radius-md);background:var(--red-primary);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer}.feedback-button.secondary{background:var(--bg-elevated);color:var(--text-secondary)}.feedback-button:disabled{opacity:.5;cursor:not-allowed}.feedback-success{margin:20px 16px;text-align:center;color:var(--text-primary);font-weight:700}.feedback-error{margin:0;color:var(--red-primary);font-size:.8rem}.song-search-status{margin:8px 16px 16px;color:var(--text-secondary);font-size:.85rem;text-align:center}.song-search-results{list-style:none;margin:0;padding:4px 8px 12px;overflow-y:auto}.song-search-results li{margin:0}.song-search-results button{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;text-align:left;cursor:pointer;font-family:inherit}.song-search-results button:hover{background:var(--bg-hover)}.song-search-song{font-size:.86rem;font-weight:700;color:var(--text-primary)}.song-search-artist{font-size:.74rem;color:var(--text-secondary)}.song-search-detail{overflow-y:auto}.song-search-back{margin:12px 16px 0;padding:4px 0;border:none;background:none;color:var(--red-primary);font-weight:700;font-size:.8rem;cursor:pointer}.kmq-web-landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:var(--bg-base);color:var(--text-primary);text-align:center}.kmq-web-landing-logo{width:96px;height:96px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.kmq-web-landing-title{margin:8px 0 0;font-size:2rem;font-weight:800;letter-spacing:.02em}.kmq-web-landing-tagline{margin:0;color:var(--text-secondary);font-size:.95rem}.kmq-web-landing-status{margin:12px 0 0;font-size:1rem}.kmq-web-landing-error{margin:12px 0 0;color:var(--red-primary);font-size:.9rem}.kmq-web-landing-button{margin-top:16px;padding:12px 28px;border:none;border-radius:var(--radius-pill);background:var(--red-primary);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-glow);transition:transform .1s ease}.kmq-web-landing-button:hover{transform:translateY(-1px)}.kmq-web-landing-button-secondary{background:var(--bg-elevated);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.kmq-web-landing-account{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:12px}.kmq-web-landing-avatar{width:64px;height:64px;border-radius:50%;box-shadow:var(--shadow-sm)}.kmq-web-landing-join{display:flex;gap:8px;margin-top:4px;align-items:stretch}.kmq-web-landing-join .kmq-web-landing-button{margin-top:0}.kmq-web-landing-input{padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-primary);font-size:.95rem;min-width:0;width:220px}.kmq-web-landing-input:focus{outline:2px solid var(--red-primary);outline-offset:-1px}.kmq-web-landing-divider{margin:18px 0 10px;color:var(--text-tertiary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.kmq-web-landing-note{margin:10px 0 0;max-width:340px;color:var(--text-secondary);font-size:.8rem;line-height:1.45}.kmq-web-landing-create{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}.kmq-web-landing-visibility{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}.kmq-web-landing-toggle{padding:8px 20px;border:none;background:var(--bg-elevated);color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer}.kmq-web-landing-toggle[data-active=true]{background:var(--red-primary);color:#fff}.kmq-web-landing-hint{margin:0;max-width:300px;color:var(--text-tertiary);font-size:.75rem}.kmq-web-landing-password{flex-direction:column;align-items:stretch;width:min(90vw,300px)}.kmq-web-landing-password .kmq-web-landing-input{width:auto}.kmq-web-landing-lobby{width:min(92vw,360px);margin-top:20px}.kmq-web-landing-lobby-title{margin:0 0 8px;color:var(--text-secondary);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kmq-web-landing-lobby-list{list-style:none;margin:0;padding:0 4px 0 0;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.kmq-web-landing-lobby-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.kmq-web-landing-lobby-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.9rem;text-align:left}.kmq-web-landing-lobby-count{color:var(--text-tertiary);font-size:.8rem;font-variant-numeric:tabular-nums}.kmq-web-landing-lobby-row .kmq-web-landing-button{margin-top:0;padding:6px 16px;font-size:.85rem}.kmq-room-bar{position:fixed;right:12px;bottom:12px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:.85rem}.kmq-room-bar-toggle{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-md)}.kmq-room-bar-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.kmq-room-bar-body{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-md);max-width:240px}.kmq-room-bar-members{display:flex;flex-direction:column;gap:4px}.kmq-room-bar-member{display:flex;align-items:center;gap:8px;min-width:0}.kmq-room-bar-member[data-connected=false]{opacity:.45}.kmq-room-bar-avatar{width:22px;height:22px;border-radius:50%;flex-shrink:0}.kmq-room-bar-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--red-primary);color:#fff;font-size:.7rem;font-weight:700}.kmq-room-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kmq-room-bar-actions{display:flex;gap:6px}.kmq-room-bar-button{flex:1;padding:6px 10px;border:none;border-radius:var(--radius-pill);background:var(--red-primary);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.kmq-room-bar-button-danger{background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border)}.kmq-sound-controls{position:fixed;left:12px;bottom:12px;z-index:60;display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);box-shadow:var(--shadow-md)}.kmq-sound-unlock{border:none;border-radius:var(--radius-pill);padding:6px 14px;background:var(--red-primary);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;animation:kmq-sound-pulse 1.6s ease-in-out infinite}@keyframes kmq-sound-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.kmq-sound-mute{border:none;background:none;font-size:1rem;cursor:pointer;padding:0;line-height:1}.kmq-sound-volume{width:90px;accent-color:var(--red-primary)}.restart-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:400;display:flex;align-items:center;gap:8px;max-width:min(92vw,560px);padding:8px 16px;border:1px solid var(--gold);border-radius:var(--radius-pill);background:var(--gold-light);color:var(--text-primary);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-md)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.confetti{display:none}}
