:root{--bg: #0b0a0f;--bg-raise: #111017;--surface: #16141e;--surface-2: #1d1a28;--surface-3: #272335;--border: rgba(255, 255, 255, .07);--border-2: rgba(255, 255, 255, .13);--text: #f4f2f8;--text-2: #b3afc2;--text-3: #7c7891;--accent: #ff8a1f;--accent-2: #ff2e74;--grad: linear-gradient(115deg, #ff9a2e 0%, #ff5a3c 45%, #ff2e74 100%);--gold: #ffc53d;--mint: #2be3a4;--sky: #4db2ff;--red: #ff5468;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--shadow: 0 24px 60px -24px rgba(0, 0, 0, .8);--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--display: "Bricolage Grotesque", "Inter", "Segoe UI", system-ui, sans-serif;--fg: var(--text);--muted: var(--text-2);--saffron: var(--accent);--rani: var(--accent-2);--indigo: #7b6cff;--panel-solid: var(--surface);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.01em;line-height:1.15}button,select,input{font:inherit;color:inherit}::selection{background:var(--accent-2)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.icon{flex:none;display:block}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(80vmax 50vmax at 15% -20%,rgba(255,138,31,.1),transparent 60%),radial-gradient(70vmax 50vmax at 100% 0%,rgba(255,46,116,.08),transparent 60%),var(--bg)}.backdrop{position:fixed;top:-60px;right:-60px;bottom:-60px;left:-60px;z-index:-1;background-size:cover;background-position:center;filter:blur(70px) saturate(1.3) brightness(.32);opacity:.9;animation:fade-in .6s ease-out}.screen{height:100%;animation:screen-in .3s ease-out}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(10px)}}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s,filter .15s}button:hover:not(:disabled){background:var(--surface-3)}button:active:not(:disabled){transform:scale(.97)}button:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled{opacity:.4;cursor:default}.cta{background:var(--grad);border:0;color:#fff;font-weight:700;box-shadow:0 10px 30px -12px #ff4650cc}.cta:hover:not(:disabled){background:var(--grad);filter:brightness(1.08)}.cta:focus-visible{box-shadow:var(--ring),0 10px 30px -12px #ff4650cc}.cta.big{min-height:56px;font-size:1.15rem;padding:0 28px;border-radius:var(--r-lg)}.btn-ghost{background:transparent}.icon-btn{width:44px;min-width:44px;padding:0;border-radius:50%;background:var(--surface)}.link-btn{min-height:0;padding:4px 0;border:0;background:none;color:var(--text-2);font-weight:500;text-decoration:underline;text-underline-offset:3px}.link-btn:hover:not(:disabled){background:none;color:var(--text)}.pill{min-height:34px;padding:0 14px;border-radius:999px;font-size:.88rem;background:#00000073}.pill.on{border-color:var(--accent);color:var(--accent)}.text,select,.save-row input,.change-video input{height:44px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--bg-raise);min-width:0}select{padding-right:34px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat;max-width:100%}.muted{color:var(--text-2)}.small{font-size:.86rem}.error{color:var(--red)}.status{color:var(--mint);margin:0}kbd{display:inline-block;padding:1px 7px;border-radius:6px;border:1px solid var(--border-2);border-bottom-width:2px;background:#ffffff0d;font:600 .78em var(--font);line-height:1.5;color:var(--text-2)}.segmented{display:inline-flex;padding:4px;gap:2px;border-radius:var(--r-md);background:var(--bg-raise);border:1px solid var(--border)}.segmented button{min-height:36px;padding:0 14px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-weight:600;font-size:.92rem;white-space:nowrap}.segmented button:hover:not(:disabled){background:#ffffff0d;color:var(--text)}.segmented button.on{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-2)}.switch{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:var(--text-2)}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{position:relative;width:46px;height:26px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-2);transition:background .2s;flex:none}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.switch input:checked+.track{background:var(--accent);border-color:transparent}.switch input:checked+.track:after{transform:translate(20px)}.switch input:focus-visible+.track{box-shadow:var(--ring)}.switch input:checked~span:last-child{color:var(--text)}.switch.disabled{opacity:.45;cursor:default}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.badge-pitch{background:#2be3a424;color:var(--mint)}.badge-rhythm{background:#4db2ff24;color:var(--sky)}.meter{width:140px;height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.meter div{height:100%;background:linear-gradient(90deg,var(--mint),var(--gold) 70%,var(--red));transform-origin:left;transition:transform .06s linear}.spinner-wrap{display:grid;place-items:center;gap:12px;padding:40px;color:var(--text-2)}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.logo{display:inline-flex;align-items:baseline;font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1;white-space:nowrap}.logo-mark{width:1.15em;height:1.15em;margin-right:.18em;align-self:center;flex-shrink:0}.logo-bolly{color:var(--text)}.logo-aoke{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .03em .12em 0;margin-bottom:-.12em}.logo-dot{width:.17em;height:.17em;margin-left:.06em;border-radius:50%;background:var(--accent);align-self:flex-end;margin-bottom:.1em}.logo-md{font-size:1.45rem}.logo-xl{font-size:clamp(2.6rem,5vw,4.2rem)}.topbar{display:flex;align-items:center;gap:16px;padding:20px 0}.topbar-right{margin-left:auto;display:flex;gap:10px;align-items:center}.page-title{margin:0;font-size:1.7rem}.home{height:100%;max-width:1480px;margin:0 auto;padding:clamp(20px,4vh,44px) clamp(16px,4vw,48px) clamp(16px,3vh,32px);display:flex;flex-direction:column;gap:clamp(18px,3vh,32px);overflow-y:auto}.home-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.home-sub{display:inline-flex;align-items:center;gap:8px;color:var(--text-3);font-size:.92rem;font-weight:500}.home-foot{flex-shrink:0;text-align:center;color:var(--text-3);font-size:.85rem}.home-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(320px,.9fr);grid-template-rows:minmax(300px,1fr) auto;gap:20px}.hero-tile{grid-column:1 / 4;position:relative;overflow:hidden;padding:0;border:0;border-radius:var(--r-xl);background:var(--surface);display:block;text-align:left;isolation:isolate}.hero-tile:hover:not(:disabled){background:var(--surface)}.hero-tile:focus-visible{box-shadow:var(--ring)}.hero-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,#0b0a0ff7,#0b0a0fe0 38%,#0b0a0f33 75%,#0b0a0f1a),radial-gradient(70% 120% at 0% 100%,rgba(255,90,60,.35),transparent 60%)}.hero-mosaic{position:absolute;top:-40px;right:-40px;bottom:-40px;left:38%;display:flex;gap:14px;transform:rotate(-8deg)}.mosaic-col{flex:1;display:flex;flex-direction:column;gap:14px;animation:mosaic-up 50s linear infinite}.mosaic-col.c1{animation-direction:reverse;animation-duration:60s}.mosaic-col.c2{animation-duration:44s}.mosaic-col img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;filter:saturate(.9) brightness(.85)}@keyframes mosaic-up{to{transform:translateY(-50%)}}.hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:10px;padding:clamp(24px,3.4vw,44px);max-width:560px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.hero-label{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,5vw,4.4rem);letter-spacing:-.035em;line-height:.95}.hero-hint{color:var(--text-2);font-size:1.05rem;font-weight:400;max-width:34ch}.hero-cta{margin-top:12px;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;background:var(--grad);font-weight:700;font-size:1.05rem;box-shadow:0 14px 36px -14px #ff4650e6;transition:transform .2s}.hero-tile:hover .hero-cta,.hero-tile:focus-visible .hero-cta{transform:translate(4px)}.menu-tile{display:grid;grid-template-rows:auto 1fr auto;align-items:start;justify-items:start;gap:6px;min-height:190px;padding:22px;text-align:left;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface)}.menu-tile:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-2)}.menu-tile:focus-visible{background:var(--surface-2)}.tile-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--r-md);background:#ff8a1f1f;color:var(--accent);margin-bottom:4px}.tile-label{align-self:end;font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.01em}.tile-hint{color:var(--text-2);font-size:.92rem;font-weight:400;line-height:1.4;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board{grid-column:4;grid-row:1 / 3;display:flex;flex-direction:column;min-height:0;padding:22px;border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface)}.board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.board-head h2{margin:0;display:flex;align-items:center;gap:10px;font-size:1.3rem}.board-head h2 .icon{color:var(--gold)}.seg-mini{display:inline-flex;padding:3px;border-radius:999px;background:var(--bg-raise);border:1px solid var(--border)}.seg-mini button{min-height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--text-2);font-size:.84rem}.seg-mini button.on{background:var(--surface-3);color:var(--text)}.board-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:24px;color:var(--text-2)}.board-empty p{margin:8px 0 0;font-weight:700;color:var(--text)}.board-empty small{max-width:26ch;line-height:1.45}.empty-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#ffc53d1a;color:var(--gold)}.board-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.board-list li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md)}.board-list li:nth-child(odd){background:#ffffff06}.board-list li.me{background:#ff8a1f24;box-shadow:inset 0 0 0 1px #ff8a1f80}.board-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:.85rem;color:var(--text-2);background:var(--surface-3)}.board-rank.r1{background:var(--gold);color:#2b1d00}.board-rank.r2{background:#cfd5e6;color:#1c1f28}.board-rank.r3{background:#d9925b;color:#2a1404}.board-who{display:flex;flex-direction:column;min-width:0}.board-who b,.board-who small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-who b{font-weight:600}.board-who small{color:var(--text-3);font-size:.8rem;text-transform:capitalize}.board-pts{display:flex;flex-direction:column;align-items:flex-end;font-weight:700;font-variant-numeric:tabular-nums}.board-pts small{color:var(--text-3);font-weight:500;font-size:.75rem;text-transform:capitalize}.songselect{height:100%;max-width:1480px;margin:0 auto;padding:0 clamp(16px,4vw,48px);display:flex;flex-direction:column}.ss-toolbar{display:flex;align-items:center;gap:16px;padding:22px 0 14px}.search-wrap{position:relative;flex:1;min-width:160px;display:flex;align-items:center}.search-icon{position:absolute;left:16px;color:var(--text-3);pointer-events:none}.search-wrap kbd{position:absolute;right:14px;pointer-events:none}.search{width:100%;height:48px;padding:0 44px 0 46px;border-radius:999px;border:1px solid var(--border-2);background:#111017cc}.search::placeholder{color:var(--text-3)}.group-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 16px;scrollbar-width:none}.group-nav button{flex:none;min-height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:#16141ecc;color:var(--text-2);font-size:.92rem}.group-nav button small{color:var(--text-3);font-weight:600;margin-left:2px}.group-nav button.on{background:var(--text);color:var(--bg);border-color:transparent}.group-nav button.on small{color:#0b0a0f8c}.song-list{flex:1;min-height:0;overflow-y:auto;margin:0 -16px;padding:8px 16px 40px;scroll-padding:24px 0}.song-group+.song-group{margin-top:36px}.group-head{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:1.5rem}.gh-count{font-family:var(--font);font-size:.8rem;font-weight:700;color:var(--text-2);background:var(--surface-2);border-radius:999px;padding:2px 10px}.gh-rule{flex:1;height:1px;background:var(--border)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:28px 22px}.song-card{display:flex;flex-direction:column;min-height:0;padding:0;border:0;border-radius:var(--r-lg);background:transparent;text-align:left;align-items:stretch;justify-content:flex-start;transition:transform .2s}.song-card:hover:not(:disabled){background:transparent}.song-card:focus-visible{box-shadow:none}.sc-thumb{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:0 0 0 1px var(--border);transition:box-shadow .2s}.sc-thumb .cover img{transform:scale(1.02);transition:transform .4s}.song-card:hover .sc-thumb .cover img,.song-card.focused .sc-thumb .cover img{transform:scale(1.08)}.song-card.focused .sc-thumb{box-shadow:0 0 0 3px var(--accent),0 20px 44px -16px #ff6e28a6}.song-card.focused{transform:translateY(-4px)}.sc-duration,.sc-best{position:absolute;bottom:10px;height:24px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border-radius:7px;font-size:.76rem;font-weight:700;background:#08070cc7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sc-duration{right:10px}.sc-best{left:10px;color:var(--gold)}.sc-play{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;display:grid;place-items:center;border-radius:50%;background:var(--grad);box-shadow:0 10px 30px -8px #0009;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s}.sc-play .icon{margin-left:3px}.song-card.focused .sc-play{opacity:1;transform:none}.sc-text{padding:12px 4px 0;display:flex;flex-direction:column;min-width:0}.sc-title{font-family:var(--display);font-weight:700;font-size:1.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-artist{color:var(--text-2);font-size:.92rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-meta{display:flex;align-items:center;gap:8px;margin-top:3px;min-width:0;color:var(--text-3);font-size:.82rem;font-weight:500}.sc-album{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ss-foot{display:flex;justify-content:center;gap:24px;padding:10px 0 14px;color:var(--text-3);font-size:.84rem}.ss-foot span{display:inline-flex;align-items:center;gap:6px}.ss-foot .ss-credit{padding-left:24px;border-left:1px solid currentColor}.cover{position:relative;aspect-ratio:1;overflow:hidden;background:#000}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-gen{display:grid;place-items:center}.cover-gen span{font-family:var(--display);font-size:3rem;font-weight:800;opacity:.85}.empty{text-align:center;padding:64px 16px;color:var(--text-2)}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:clamp(12px,4vw,48px);background:#050408b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .2s ease-out}.preview{width:min(1240px,100%);max-height:100%;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--surface);box-shadow:0 0 0 1px var(--border-2),0 50px 120px -30px #000000e6;animation:pop-in .25s cubic-bezier(.2,.9,.3,1.1)}.preview-media{position:relative;background:#000;min-height:100%;overflow:hidden}.preview-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(8,7,12,.95) 0%,rgba(8,7,12,.4) 35%,transparent 60%);pointer-events:none}.preview-video{position:absolute;top:50%;left:50%;width:135%;height:135%;transform:translate(-50%,-50%);opacity:0;transition:opacity .8s;pointer-events:none}.preview-video.on{opacity:1}.preview-video iframe{width:100%;height:100%;border:0}.preview-artbg{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background-size:cover;background-position:center;filter:blur(36px) saturate(1.2) brightness(.55)}.preview-title{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:28px 32px;display:flex;align-items:flex-end;gap:22px}.preview-thumb{width:clamp(110px,13vw,180px);flex:none;border-radius:var(--r-md);box-shadow:0 18px 40px -12px #000c}.preview-names{min-width:0;padding-bottom:4px}.preview-title h1{margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:800;letter-spacing:-.03em}.preview-title p{margin:6px 0 0;font-size:1.1rem;font-weight:600}.preview-title p.muted{margin-top:2px;font-size:.95rem;font-weight:500}.preview-side{display:flex;flex-direction:column;gap:22px;padding:28px;min-height:520px;max-height:calc(100vh - (2*clamp(12px,4vw,48px)));overflow-y:auto}.preview-settings{display:flex;flex-direction:column;gap:14px}.preview-settings .opt{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-settings .opt>label:first-child:not(.switch){font-weight:600;color:var(--text-2);font-size:.95rem}.preview-settings .opt.mode{justify-content:flex-start;border-top:1px solid var(--border);padding:14px 0 0}.preview-board{flex:1;min-height:120px;display:flex;flex-direction:column}.preview-board h3{margin:0 0 10px;font-size:1.05rem}.preview-board ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.preview-board li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--r-md)}.preview-board li:nth-child(odd){background:#ffffff06}.preview-board>p{margin:0;flex:1;display:grid;place-items:center;border:1px dashed var(--border-2);border-radius:var(--r-md);padding:20px;color:var(--text-3)}.preview-actions{display:grid;grid-template-columns:auto 1fr;gap:12px}.play{position:relative;height:100%;display:flex;flex-direction:column;padding:18px clamp(16px,3vw,40px) 14px;gap:12px;overflow:hidden}.play-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#000}.video-layer{position:absolute;top:50%;left:50%;width:calc(max(100vw,177.78vh)*1.22);height:calc(max(56.25vw,100vh)*1.22);transform:translate(-50%,-50%);pointer-events:none;z-index:1;-webkit-mask-image:radial-gradient(ellipse 41% 50% at center,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 41% 50% at center,#000 55%,transparent 100%)}.video-layer iframe{width:100%;height:100%;border:0}.art-layer{position:absolute;top:-80px;right:-80px;bottom:-80px;left:-80px;background-size:cover;background-position:center;filter:blur(60px) saturate(1.3) brightness(.5);z-index:0}.play:not(.has-video) .play-bg{background:var(--bg)}.dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(to bottom,#050408c7,#05040880 18%,#05040873 55%,#050408eb),radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(0,0,0,.55) 100%)}.play>:not(.play-bg){position:relative;z-index:1}.play>.overlay{position:absolute;z-index:5}.hud{display:flex;align-items:center;gap:16px}.hud-song{display:flex;flex-direction:column;min-width:0}.hud-song strong{font-family:var(--display);font-size:1.35rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-song span{color:var(--text-2);font-size:.95rem}.hud-score{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;padding:8px 18px;border-radius:var(--r-lg);background:#0b0a0fb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc) 45%,transparent)}.hud-name{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pc)}.hud-points{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.05}.hud-progress{height:4px;border-radius:2px;background:#ffffff1f;overflow:hidden}.hud-progress div{height:100%;background:var(--grad);transform-origin:left}.lanes-panel{flex:1 1 auto;min-height:160px;transition:opacity .3s}.lanes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hidden{opacity:0;pointer-events:none}.flash{position:absolute;top:8px;right:8px;font-family:var(--display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.02em;animation:flash 1.5s ease-out forwards;text-shadow:0 6px 30px currentColor}.flash.awesome{color:var(--gold)}.flash.good{color:var(--mint)}.flash.ok{color:var(--sky)}.flash.miss{color:var(--text-3)}@keyframes flash{0%{transform:scale(.6);opacity:0}14%{transform:scale(1.12);opacity:1}28%{transform:scale(1)}to{transform:translateY(-16px);opacity:0}}.lyrics-panel{flex:0 0 auto;padding:6px 16px 10px;transition:opacity .3s}.lyrics{position:relative;text-align:center}.lyric-partner{position:absolute;left:0;right:0;bottom:100%;margin-bottom:4px;font-size:clamp(.95rem,1.8vw,1.25rem);font-weight:600;font-style:italic;color:var(--text-3);white-space:pre-wrap;text-shadow:0 2px 12px rgba(0,0,0,.7);animation:line-in .3s ease-out}.lyric-wait{margin-top:6px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.lyric-partner small{font-style:normal;font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);margin-right:.6em}.countin{display:flex;justify-content:center;gap:10px;height:14px}.countin span{width:10px;height:10px;border-radius:50%;background:#ffffff1f;transition:background .2s}.countin span.on{background:var(--accent);box-shadow:0 0 14px var(--accent)}.lyric-line{white-space:pre-wrap;line-height:1.25;text-shadow:0 2px 18px rgba(0,0,0,.6)}.lyric-line.active{font-family:var(--display);font-size:clamp(1.8rem,4.2vw,3.4rem);font-weight:800;letter-spacing:-.015em;margin-top:6px;animation:line-in .3s ease-out}@keyframes line-in{0%{opacity:0;transform:translateY(8px)}}.lyric-line.next{font-size:clamp(1.1rem,2.2vw,1.6rem);font-weight:600;color:var(--text-3);margin-top:8px}.syl{--fill: 0%}.lyric-line.active .syl{background:linear-gradient(90deg,var(--accent) var(--fill),var(--text) var(--fill));-webkit-background-clip:text;background-clip:text;color:transparent}.lyric-line.active .syl.golden{background:linear-gradient(90deg,var(--gold) var(--fill),#ffe9b0 var(--fill));-webkit-background-clip:text;background-clip:text}.syl.free{font-style:italic}.play-foot{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:.85rem}.play-foot .meter{margin-left:auto;width:120px}.skip-btn{position:absolute;right:clamp(16px,3vw,40px);bottom:clamp(160px,26vh,260px);z-index:6;min-height:48px;padding:0 20px;border-radius:999px;background:#0b0a0fcc;border:1px solid var(--border-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pop-in .3s ease-out}.skip-btn kbd{margin-left:4px}.overlay{top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#050408b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .2s ease-out}.modal{width:min(460px,100%);padding:28px;border-radius:var(--r-xl);background:var(--surface);box-shadow:0 0 0 1px var(--border-2),var(--shadow);text-align:center;animation:pop-in .25s ease-out}.modal h2{margin:0 0 6px;font-size:1.6rem}.modal p{margin:0}.modal-actions,.modal .menu{display:flex;gap:10px;justify-content:center;margin-top:20px}.modal .menu{flex-direction:column}.modal .menu button{min-height:50px;font-size:1rem}.tips kbd{font-size:.74rem}.modal.ready{width:min(500px,100%);text-align:left}.ready-head{display:flex;align-items:center;gap:18px}.ready-head h2{margin:4px 0 2px;font-size:1.7rem}.ready-cover{width:112px;flex:none;border-radius:var(--r-md);box-shadow:0 14px 30px -12px #000c}.modal.ready .cta.big{width:100%}.tips{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px;color:var(--text-2);font-size:.92rem}.tips li{padding-left:18px;position:relative}.tips li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.tips b{color:var(--text)}.sync-row{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:18px}.sync-row button{min-height:36px;padding:0 12px;font-variant-numeric:tabular-nums}.sync-row b{min-width:84px;text-align:center;font-variant-numeric:tabular-nums}.results{height:100%;max-width:1200px;margin:0 auto;padding:clamp(20px,4vh,44px) clamp(16px,4vw,48px);display:flex;flex-direction:column;gap:24px;overflow-y:auto}.results-head{margin-top:auto}.results-body{margin-bottom:auto}.results-head{display:flex;align-items:center;gap:20px}.results-cover{width:96px;flex:none;border-radius:var(--r-md)}.results-head h1{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-.03em}.results-head p{margin:4px 0 0}.cap{text-transform:capitalize}.steps{margin-left:auto;display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.steps span{padding:6px 14px;border-radius:999px;color:var(--text-3);font-size:.86rem;font-weight:600}.steps span.on{background:var(--surface-3);color:var(--text)}.results-body{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.5fr);gap:20px;animation:pop-in .3s ease-out}.results-body.board-step{grid-template-columns:minmax(0,1fr);width:min(720px,100%);margin:0 auto}.player-score,.chart-card{padding:28px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border)}.player-score{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.player-score:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--grad)}.ps-name{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.big-score{font-family:var(--display);font-size:clamp(3.6rem,7vw,5.6rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin:10px 0 4px;font-variant-numeric:tabular-nums}.ps-rating{opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}.ps-rating.in{opacity:1;transform:none}.stars{font-size:1.7rem;letter-spacing:.12em;color:var(--surface-3)}.stars .full{color:var(--gold)}.stars .half{background:linear-gradient(90deg,var(--gold) 50%,var(--surface-3) 50%);-webkit-background-clip:text;background-clip:text;color:transparent}.title-rating{margin:2px 0 22px;font-size:1.3rem}.rating-counts{width:100%;margin-top:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rc{display:flex;flex-direction:column;padding:12px 4px;border-radius:var(--r-md);background:var(--bg-raise);font-size:.78rem;color:var(--text-3)}.rc span{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.rc.awesome span{color:var(--gold)}.rc.good span{color:var(--mint)}.rc.ok span{color:var(--sky)}.rc.miss span{color:var(--text-3)}.chart-card{display:flex;flex-direction:column}.chart-card h3{margin:0 0 14px;font-size:1.1rem}.score-chart{width:100%;flex:1;min-height:240px;display:block}.chart-grid{stroke:#ffffff12;stroke-dasharray:3 6;vector-effect:non-scaling-stroke}.line-strip{display:flex;gap:3px;margin-top:16px}.dot{flex:1;height:10px;min-width:4px;border-radius:3px;background:var(--surface-3);transition:background .2s}.dot.awesome{background:var(--gold)}.dot.good{background:var(--mint)}.dot.ok{background:var(--sky)}.dot.miss{background:#ff54688c}.dot.none,.dot.pending{background:var(--surface-3)}.results-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px}.results-actions button{min-width:170px;min-height:52px;font-size:1.02rem}.save-form{width:100%;margin-top:auto;padding-top:24px;text-align:left}.save-form label{display:block;margin-bottom:8px;font-size:.86rem;font-weight:600;color:var(--text-2)}.save-row{display:flex;gap:10px;align-items:center}.saved-msg{margin-top:auto;padding-top:24px;display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--gold)}.hs-card{min-height:380px}.hs-card .board-list{overflow:visible}.save-score{font-family:var(--display);font-weight:800;font-size:1.5rem;padding:0 8px;font-variant-numeric:tabular-nums}.save-row input{flex:1}.settings{height:100%;overflow-y:auto;padding:0 clamp(16px,4vw,48px) 48px}.settings .topbar,.settings-body{max-width:880px;margin:0 auto}.settings .topbar{position:sticky;top:0;z-index:2;background:linear-gradient(to bottom,var(--bg) 75%,transparent)}.settings-body{display:flex;flex-direction:column;gap:20px}.section{padding:28px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);scroll-margin-top:90px}.section-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:8px}.section-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);background:#ff8a1f1f;color:var(--accent)}.section-head h2{margin:0;font-size:1.35rem}.section-head p{margin:2px 0 0;color:var(--text-2);font-size:.92rem}.field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:18px 0;border-top:1px solid var(--border)}.section-head+.field{border-top:0}.field-label{display:flex;flex-direction:column;gap:2px;min-width:0}.field-label b{font-weight:600}.field-label small{color:var(--text-3);font-size:.86rem}.field-control{display:flex;justify-content:flex-end;min-width:0}.field-control .text,.field-control select{width:280px}.mic-test{display:flex;align-items:center;gap:14px}.note-readout{min-width:40px;font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--accent)}.cal-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.cal{position:relative;display:flex;flex-direction:column;gap:18px;padding:20px;border-radius:var(--r-lg);background:var(--bg-raise);border:1px solid var(--border)}.cal-top{display:flex;gap:14px;align-items:flex-start}.cal-step{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);font-weight:700;font-size:.9rem}.cal h3{margin:2px 0 4px;font-size:1.1rem}.cal p{margin:0;color:var(--text-2);font-size:.88rem}.cal-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.value{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border)}.value button{width:36px;min-height:36px;padding:0;border:0;background:transparent;font-size:1.1rem}.value span{min-width:72px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.pulse{position:absolute;top:20px;right:20px;width:22px;height:22px;border-radius:50%;background:var(--surface-3);transition:background .05s,transform .05s}.pulse.on{background:var(--accent);transform:scale(1.3);box-shadow:0 0 24px var(--accent)}.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.sync{height:100%;display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}.sync-body{flex:1;min-height:0;display:grid;grid-template-columns:1.5fr 1fr;gap:20px;padding-bottom:24px}.sync-video{display:flex;flex-direction:column;gap:12px;min-width:0}.video-box{aspect-ratio:16 / 9;border-radius:var(--r-lg);overflow:hidden;background:#000}.video-box iframe{width:100%;height:100%;border:0}.change-video{display:flex;gap:8px}.change-video input{flex:1}.panel{padding:22px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border)}.sync-side{display:flex;flex-direction:column;gap:12px;min-height:0}.offset-big{font-family:var(--display);font-size:2.6rem;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.sync-side .sync-row{margin:0}.sync-actions{display:flex;gap:8px;flex-wrap:wrap}.sync-actions .cta{margin-left:auto}.sync-lines{list-style:none;padding:0;margin:6px 0 0;overflow-y:auto;flex:1;min-height:120px}.sync-lines li{display:flex;gap:10px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;color:var(--text-2)}.sync-lines li.past{opacity:.5}.sync-lines li.on{background:#ff8a1f24;color:var(--text);font-weight:700}.sync-lines .t{min-width:52px;font-variant-numeric:tabular-nums;color:var(--text-3)}.center{text-align:center}.crash{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;text-align:center}.crash pre{max-width:80vw;white-space:pre-wrap;color:var(--red)}.song-card.skeleton{pointer-events:none;gap:10px}.sk-block{aspect-ratio:1}.sk-block,.sk-line{background:linear-gradient(100deg,var(--surface) 30%,var(--surface-3) 50%,var(--surface) 70%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}.sk-line{height:14px;border-radius:7px;margin-left:4px}.sk-line.w70{width:70%}.sk-line.w45{width:45%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;width:100%;height:100%;pointer-events:none}@media (max-width: 1100px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(280px,auto) auto auto}.board{grid-column:1 / -1;grid-row:auto;min-height:260px}.preview{grid-template-columns:1fr;overflow-y:auto}.preview-media{aspect-ratio:16 / 9;min-height:0}.preview-side{min-height:0;max-height:none}.results-body{grid-template-columns:1fr}.sync-body{grid-template-columns:1fr;overflow-y:auto}}@media (max-width: 820px){body{overflow:auto}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 14px}.home-grid{grid-template-columns:1fr}.hero-tile{grid-column:1;min-height:300px}.hero-mosaic{left:50%;opacity:.6}.ss-toolbar{flex-wrap:wrap}.ss-toolbar .logo,.ss-foot,.steps,.home-sub{display:none}.cal-cards{grid-template-columns:1fr}.field{grid-template-columns:1fr;gap:10px}.field-control{justify-content:flex-start}.play-foot .small{display:none}}@media (max-width: 520px){.results-head{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;font-family:var(--display);font-weight:800;color:#fff;background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--pc) 85%,#fff 15%),color-mix(in srgb,var(--pc) 70%,#000 30%));box-shadow:inset 0 0 0 2px #ffffff2e,0 6px 18px -8px var(--pc);text-shadow:0 1px 2px rgba(0,0,0,.35)}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 #ff2e7499;animation:live-pulse 1.6s ease-out infinite;vertical-align:middle}@keyframes live-pulse{0%{box-shadow:0 0 #ff2e748c}to{box-shadow:0 0 0 10px #ff2e7400}}.eyebrow .live-dot{margin-right:6px;vertical-align:1px}.field-err{display:block;margin-top:4px;color:var(--red);font-size:.85rem}.btn-spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.home-head-right{display:flex;align-items:center;gap:18px}.account-btn{border-radius:999px;padding:0 18px 0 14px;background:var(--surface)}.account-menu-wrap{position:relative}.account-chip{min-height:44px;padding:0 16px 0 6px;border-radius:999px;background:var(--surface);gap:10px}.account-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:260px;padding:8px;border-radius:var(--r-lg);background:var(--surface-2);box-shadow:0 0 0 1px var(--border-2),var(--shadow);animation:pop-in .16s ease-out}.account-menu-head{display:flex;align-items:center;gap:12px;padding:10px 10px 14px;border-bottom:1px solid var(--border);margin-bottom:6px}.account-menu-head>div{display:flex;flex-direction:column;min-width:0}.account-menu-head small{color:var(--text-3);overflow:hidden;text-overflow:ellipsis}.account-menu button{width:100%;justify-content:flex-start;border:0;background:transparent}.account-menu button:hover:not(:disabled){background:var(--surface-3)}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#050408b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fade-in .2s ease-out}.auth{position:relative;width:min(880px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;grid-template-columns:1fr 1.05fr;border-radius:var(--r-xl);background:var(--surface);box-shadow:0 0 0 1px var(--border-2),0 40px 100px -30px #000000e6;animation:pop-in .25s ease-out}.auth-art{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:28px;padding:34px;background:radial-gradient(90% 70% at 0% 0%,rgba(255,138,31,.35),transparent 60%),radial-gradient(90% 80% at 100% 100%,rgba(255,46,116,.38),transparent 60%),#17101f}.auth-art-glow{position:absolute;inset:auto -30% -40% auto;width:120%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.05) 0 2px,transparent 2px 22px);pointer-events:none}.auth-art .logo{font-size:1.9rem;position:relative}.auth-art-copy{position:relative;display:flex;flex-direction:column;margin-top:auto}.auth-art-big{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,4vw,3rem);line-height:1.02;letter-spacing:-.03em}.auth-art-big.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-perks{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:12px;color:var(--text-2);font-size:.95rem}.auth-perks li{display:flex;align-items:center;gap:12px}.auth-perk-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;background:#ffffff14;color:var(--gold)}.auth-form{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 34px 28px}.auth-close{position:absolute;top:16px;right:16px;width:38px;min-width:38px;min-height:38px;background:transparent;border-color:transparent;color:var(--text-3)}.auth-close:hover:not(:disabled){color:var(--text)}.auth-tabs{align-self:flex-start;display:inline-flex;padding:4px;gap:4px;border-radius:999px;background:var(--bg-raise);border:1px solid var(--border)}.auth-tabs button{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--text-3);font-size:.92rem}.auth-tabs button.on{background:var(--surface-3);color:var(--text)}.auth-head h2{margin:6px 0 4px;font-size:1.8rem;letter-spacing:-.02em}.auth-head p{margin:0;color:var(--text-2)}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field-label{font-size:.85rem;font-weight:600;color:var(--text-2)}.auth-input{display:flex;align-items:center;gap:10px;height:50px;padding:0 6px 0 14px;border-radius:var(--r-md);background:var(--bg-raise);border:1px solid var(--border-2);color:var(--text-3);transition:border-color .15s,box-shadow .15s}.auth-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #ff8a1f2e;color:var(--accent)}.auth-input input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:1rem}.auth-input input:focus-visible{box-shadow:none}.auth-eye{min-height:38px;width:38px;padding:0;border:0;background:transparent;color:var(--text-3)}.auth-forgot{align-self:flex-end;margin-top:-6px;font-size:.88rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border-radius:var(--r-md);background:#fff;color:#1f1f1f;border:1px solid #dadce0;font-weight:600;font-size:.98rem;cursor:pointer}.google-btn:hover:not(:disabled){background:#f2f2f2}.google-btn:disabled{opacity:.6;cursor:default}.auth-or{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:.82rem}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line, rgba(255, 255, 255, .12))}.auth-msg{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);font-size:.92rem;line-height:1.4}.auth-msg .icon{flex:none;margin-top:1px}.error-msg{background:#ff54681a;border:1px solid rgba(255,84,104,.35);color:#ffb3bd}.ok-msg{background:#2be3a414;border:1px solid rgba(43,227,164,.3);color:#a6f5d8}.auth-submit{margin-top:4px;width:100%}.auth-foot{margin:0;text-align:center;color:var(--text-3);font-size:.92rem}.auth-foot .link-btn,.auth-switch{color:var(--text);font-weight:600}.auth-switch{align-self:center}.signin-nudge{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:var(--r-md);background:#ffc53d12;border:1px solid rgba(255,197,61,.22);color:var(--text-2);font-size:.9rem;text-align:left}.signin-nudge .icon{flex:none;color:var(--gold);margin-top:2px}.signin-nudge .link-btn{color:var(--gold);font-weight:700;padding:0}.post-shared{margin-top:14px;width:100%}@media (max-width: 760px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-form{padding:28px 22px 22px}}.hero-tile{grid-column:1 / 3}.party-tile{position:relative;grid-column:3;grid-row:1;overflow:hidden;background:radial-gradient(120% 90% at 100% 0%,rgba(255,46,116,.28),transparent 60%),radial-gradient(100% 80% at 0% 100%,rgba(255,138,31,.18),transparent 60%),var(--surface)}.party-tile:after{content:"";position:absolute;right:-60px;top:40px;width:260px;height:260px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.045) 0 2px,transparent 2px 20px);pointer-events:none}.party-tile .tile-icon{background:#ff2e7429;color:#ff6b98}.party-tile-badge{position:absolute;top:26px;right:22px;display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#ffffff12;font-size:.8rem;font-weight:700;color:var(--text-2)}@media (max-width: 820px){.hero-tile,.party-tile{grid-column:1;grid-row:auto}.home-head-right .home-sub{display:none}}.party{position:relative;height:100%;display:flex;flex-direction:column;overflow-y:auto;padding:0 clamp(16px,4vw,48px)}.party-center{flex:1;display:grid;place-items:center;padding:16px 0 40px}.party-hero{flex:1;width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;padding:8px 0 48px}.party-pitch{min-width:0}.party-pitch h1{margin:14px 0 16px;font-size:clamp(2.6rem,5.5vw,4.4rem);line-height:.98;letter-spacing:-.035em}.party-pitch>p{max-width:480px;margin:0 0 30px;font-size:1.08rem;line-height:1.55}.party-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}.party-steps li{display:flex;align-items:center;gap:16px}.party-steps li>span:last-child{display:flex;flex-direction:column}.party-steps small{color:var(--text-3);font-size:.92rem}.step-icon{position:relative;display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-2);color:var(--accent)}.step-n{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--grad);color:#fff;font-size:.72rem;font-weight:800}.party-card{width:min(460px,100%);display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:var(--r-xl);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border-2);box-shadow:var(--shadow)}.party-start{justify-self:end}.party-card h2{margin:0;font-family:var(--display);font-size:1.8rem;letter-spacing:-.02em}.party-card p{margin:0}.party-label{font-weight:600;font-size:.9rem;color:var(--text-2)}.name-row{display:flex;align-items:center;gap:12px}.name-row .text{flex:1;min-width:0;height:50px;font-size:1.05rem}.name-row.invalid .text{border-color:var(--red)}.party-start .cta.big{margin-top:6px}.or-divider{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:.85rem;margin:4px 0}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--border-2)}.party-join{display:flex;gap:10px}.party-join .text{flex:1;min-width:0;height:52px;font-size:1.35rem;text-align:center}.party-join button{min-height:52px}.code-input,.code{font-family:var(--display);font-weight:800;letter-spacing:.18em;text-transform:uppercase}.code-input::placeholder{color:var(--text-3);opacity:.5}.invite-card{align-items:center;text-align:center}.invite-card .name-row,.invite-card .cta.big{width:100%}.invite-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--grad);color:#fff;box-shadow:0 16px 40px -14px #ff4650e6;margin-bottom:4px}.invite-badge.warn{background:#ff54682e;color:var(--red);box-shadow:none}@media (max-width: 900px){.party-hero{grid-template-columns:minmax(0,1fr);padding-top:0}.party-start{justify-self:stretch;width:100%}}.lobby-page{padding-bottom:0}.lobby-page .topbar{width:min(1180px,100%);margin:0 auto}.lobby-title{display:flex;flex-direction:column;gap:2px}.code-chip{min-height:0;padding:0;border:0;background:none;gap:10px;color:var(--text-3)}.code-chip:hover:not(:disabled){background:none;color:var(--text)}.code-chip .code{font-size:1.7rem;letter-spacing:.14em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.invite-btn{border-radius:999px;background:#ff8a1f1f;border-color:#ff8a1f59;color:#ffb36b}.invite-btn:hover:not(:disabled){background:#ff8a1f33}.lobby{width:min(1180px,100%);margin:0 auto;padding:4px 0 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-content:start;flex:1}.lobby-panel{padding:22px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-head h2{margin:0;font-size:1.15rem;display:flex;align-items:center;gap:10px}.panel-head h2 .icon{color:var(--accent)}.panel-head h2 small{font-weight:500;font-size:.95rem}.count-pill{padding:4px 12px;border-radius:999px;background:var(--surface-3);color:var(--text-2);font-size:.85rem;font-weight:700}.seats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:176px;padding:20px 12px 16px;border-radius:var(--r-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 12%,transparent),transparent 70%),var(--surface-2);border:1px solid color-mix(in srgb,var(--pc) 25%,transparent);text-align:center;animation:pop-in .3s ease-out;transition:border-color .2s,box-shadow .2s}.seat.is-ready{border-color:color-mix(in srgb,var(--mint) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--mint) 30%,transparent),0 12px 30px -18px var(--mint)}.seat-avatar{position:relative;margin-bottom:6px}.seat-crown{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#3a2600;box-shadow:0 0 0 3px var(--surface-2)}.seat-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.seat-role{color:var(--text-3);font-size:.8rem}.seat-status{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding:4px 12px;border-radius:999px;background:var(--surface-3);color:var(--text-3);font-size:.8rem;font-weight:700}.seat-part{margin-top:6px;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--pc) 16%,transparent);color:var(--pc);font-size:.75rem;font-weight:700}.duet-pick{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:14px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:.9rem}.duet-pick b{color:var(--accent)}.duet-banner{--pc: var(--accent-2)}.seat-status.on{background:#2be3a424;color:var(--mint)}.seat.empty{padding:0;background:transparent;border:1.5px dashed var(--border-2);animation:none}.seat.empty button{flex:1;width:100%;flex-direction:column;gap:10px;border:0;border-radius:inherit;background:transparent;color:var(--text-3);font-weight:600}.seat.empty button:hover:not(:disabled){background:#ffffff06;color:var(--text-2)}.seat-plus{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px dashed var(--border-2)}.song-panel{align-self:start;display:flex;flex-direction:column;min-height:0}.song-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;padding:18px;border-radius:var(--r-lg);border:1px solid var(--border-2);isolation:isolate;animation:pop-in .3s ease-out}.song-hero-bg{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;z-index:-1;background-size:cover;background-position:center;filter:blur(28px) saturate(1.3) brightness(.45)}.song-hero-cover{width:104px;height:104px;flex:none;border-radius:var(--r-md);object-fit:cover;box-shadow:0 16px 34px -14px #000000e6}.song-hero-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.song-hero-meta b{font-family:var(--display);font-size:1.6rem;line-height:1.1;letter-spacing:-.02em}.song-hero-meta>span:not(.eyebrow){color:var(--text-2)}.song-hero-meta small{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--text-3)}.change-song{margin-left:auto;align-self:flex-start;min-height:36px;border-radius:999px;background:#00000059}.song-wait{flex:1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:var(--r-lg);border:1.5px dashed var(--border-2);color:var(--text-2);text-align:center;padding:24px}.song-wait-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#ff8a1f1f;color:var(--accent);animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-5px)}}.typing-dots{display:inline-flex;gap:6px}.typing-dots i{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:typing 1.2s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.picker{display:flex;flex-direction:column;gap:10px;margin-top:14px;min-height:0}.picker-search{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:var(--r-md);background:var(--bg-raise);border:1px solid var(--border-2);color:var(--text-3)}.picker-search:focus-within{border-color:var(--accent);color:var(--accent)}.picker-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.picker-search input:focus-visible{box-shadow:none}.picker-list{list-style:none;margin:0;padding:0 4px 0 0;display:flex;flex-direction:column;gap:4px;max-height:420px;overflow-y:auto}.picker-list button{width:100%;min-height:60px;justify-content:flex-start;gap:14px;padding:8px 14px 8px 8px;text-align:left;border-color:transparent;background:transparent}.picker-list button:hover:not(:disabled){background:var(--surface-2)}.picker-list button.on{background:#ff8a1f1a;border-color:#ff8a1f80;color:var(--accent)}.picker-thumb{width:44px;height:44px;flex:none;border-radius:var(--r-sm);object-fit:cover}.picker-meta{display:flex;flex-direction:column;min-width:0;flex:1}.picker-meta b{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-meta small{color:var(--text-3);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-dur{color:var(--text-3);font-size:.85rem;font-weight:500;font-variant-numeric:tabular-nums}.picker-empty{padding:24px;text-align:center;color:var(--text-3)}.results-panel{grid-column:1 / -1;animation:pop-in .3s ease-out}.results-panel.done{background:radial-gradient(80% 120% at 0% 0%,rgba(255,197,61,.09),transparent 60%),var(--surface);border-color:#ffc53d40}.results-panel .panel-head h2 .icon{color:var(--gold)}.winner-banner{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--pc) 20%,transparent);border:1px solid color-mix(in srgb,var(--pc) 50%,transparent);font-weight:800}.winner-banner .icon{color:var(--gold)}.result-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.result-rows li{display:grid;grid-template-columns:30px auto minmax(110px,.8fr) minmax(0,1.4fr) 80px;align-items:center;gap:14px;padding:10px 16px 10px 12px;border-radius:var(--r-md);background:var(--surface-2)}.result-rows li.is-me{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc) 50%,transparent)}.rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:800;color:var(--text-3);font-size:.9rem}.rank.gold{background:linear-gradient(135deg,#ffe08a,#e7a817);color:#3a2600}.rank.silver{background:linear-gradient(135deg,#f1f1f5,#a3a3b5);color:#23232c}.rank.bronze{background:linear-gradient(135deg,#f3b58a,#b36a33);color:#2e1606}.result-who{display:flex;flex-direction:column;min-width:0}.result-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-bar{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}.result-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--pc) 60%,transparent),var(--pc));transition:width .8s cubic-bezier(.2,.8,.2,1)}.result-rows .pts{text-align:right;font-family:var(--display);font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums}.lobby-bar{position:sticky;bottom:0;z-index:5;margin:0 calc(-1*clamp(16px,4vw,48px));padding:14px clamp(16px,4vw,48px) 18px;background:linear-gradient(180deg,#0b0a0f00,#0b0a0feb 30%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lobby-bar-inner{width:min(1180px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 12px 12px 18px;border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--border-2);box-shadow:var(--shadow)}.lobby-status{display:flex;align-items:center;gap:12px;font-weight:600;min-width:0}.status-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:var(--surface-3);color:var(--text-2)}.tone-go .status-icon{background:#2be3a426;color:var(--mint)}.tone-wait .status-icon{background:#ff8a1f21;color:var(--accent)}.tone-wait .status-icon .icon{animation:bob 2s ease-in-out infinite}.lobby-bar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ready-btn{min-height:56px;padding:0 24px;border-radius:var(--r-lg);font-size:1.05rem}.ready-btn.on{background:#2be3a424;border-color:#2be3a480;color:var(--mint)}.ready-btn.on:hover:not(:disabled){background:#2be3a433}.start-btn:not(:disabled){animation:glow 2s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 10px 40px -8px #ff4650f2}}.start-btn:disabled{filter:grayscale(.7);opacity:.35}.toasts{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-2);box-shadow:var(--shadow);font-weight:600;animation:toast-in .25s ease-out}.toast .dot,.toasts .dot{width:10px;height:10px;border-radius:50%;background:var(--pc)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}@media (max-width: 900px){.lobby{grid-template-columns:1fr}.song-panel{grid-row:auto}.result-rows li{grid-template-columns:28px auto minmax(0,1fr) 70px}.result-bar{display:none}}@media (max-width: 560px){.hide-sm{display:none}.invite-btn{padding:0 12px}.lobby-bar-inner{padding:12px}.lobby-bar-actions,.lobby-bar-actions button{width:100%}.seat{min-height:150px}.song-hero-cover{width:76px;height:76px}.song-hero-meta b{font-size:1.25rem}.song-hero{flex-wrap:wrap}.song-hero-meta{flex:1}.change-song{order:3;width:100%;margin-left:0}.party-pitch h1{font-size:2.4rem}}.hud-rivals{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hud-rival{display:flex;flex-direction:column;align-items:flex-end;padding:6px 12px;border-radius:var(--r-md);background:#00000059;border-left:3px solid var(--pc)}.hud-rival .hud-name{font-size:.8rem;opacity:.8}.hud-rival .hud-points{font-weight:800;font-variant-numeric:tabular-nums}.cue{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px 16px;background:#08060ce0;overflow:hidden;animation:fade-in .25s ease-out}.cue-bg{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;background-size:cover;background-position:center;filter:blur(50px) saturate(1.4) brightness(.35)}.cue-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;width:min(560px,100%)}.cue-song{display:flex;align-items:center;gap:16px;text-align:left}.cue-cover{width:72px;height:72px;border-radius:var(--r-md);object-fit:cover;box-shadow:0 14px 30px -12px #000000e6}.cue-song h2{margin:0;font-size:1.8rem;letter-spacing:-.02em}.cue-song p{margin:2px 0 0}.countdown{font-family:var(--display);font-size:clamp(7rem,22vw,12rem);font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 40px rgba(255,70,80,.45));animation:count-pop 1s ease-out}@keyframes count-pop{0%{transform:scale(1.5);opacity:0}25%{transform:scale(1);opacity:1}85%{opacity:1}to{transform:scale(.9);opacity:.6}}.countdown-spin{height:clamp(7rem,22vw,12rem);display:grid;place-items:center}.cue-status{margin:0;color:var(--text-2);font-weight:600}.cue-players{list-style:none;margin:6px 0 0;padding:0;display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.cue-players li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--text-2)}.cue-leave{margin-top:10px;color:var(--text-3);border-color:transparent}.dl-chip{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:8px;padding:4px 10px;border-radius:999px;background:#0006;color:var(--text-2);font-size:.78rem;font-weight:700}.dl-chip.done{color:var(--mint)}.dl-bar{width:54px;height:5px;border-radius:999px;background:#ffffff26;overflow:hidden}.dl-bar span{display:block;height:100%;background:var(--accent);transition:width .2s}.mic-phone{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px calc(24px + env(safe-area-inset-bottom));text-align:center}.mic-join{width:min(420px,100%);display:flex;flex-direction:column;align-items:stretch;gap:14px}.mic-join h1{margin:0;font-family:var(--display);font-size:1.9rem;letter-spacing:-.02em}.mic-join p{margin:0}.mic-join .text{font-size:1.1rem;padding:14px 16px}.mic-logo{width:72px;height:72px;align-self:center}.mic-ring{--lvl: 0;position:relative;width:min(62vw,260px);aspect-ratio:1;display:grid;place-items:center;margin-bottom:18px}.mic-ring-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--pc) 55%,transparent) 0%,transparent 70%);transform:scale(calc(.72 + var(--lvl) * .4));opacity:calc(.35 + var(--lvl) * .65);transition:transform .12s ease-out,opacity .12s ease-out}.mic-ring-core{position:relative;width:62%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--pc);color:#0b0a0f;box-shadow:0 18px 50px -12px var(--pc)}.mic-name{margin:0;font-family:var(--display);font-size:2rem;letter-spacing:-.02em;color:var(--pc)}.mic-line{margin:0;font-size:1.35rem;font-weight:700}.mic-sub{margin:0;max-width:320px}.mic-leave{margin-top:28px}.tv-mode-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text);text-align:left}.tv-mode-btn>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.tv-mode-btn small{color:var(--text-3)}.tv-mode-btn:hover,.tv-mode-btn:focus-visible{border-color:var(--accent)}.badge-duet{background:color-mix(in srgb,var(--accent-2) 18%,transparent);color:var(--accent-2)}.stage-lobby{height:100%;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:clamp(16px,3vh,32px) clamp(16px,3vw,44px) 0;overflow-y:auto}.stage-head{display:flex;align-items:center;gap:16px}.stage-head h1{margin:2px 0 0;font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:-.02em}.stage-head .code-chip{margin-left:auto}.code-chip.big .code{font-size:clamp(1.6rem,3vw,2.6rem)}.stage-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1fr) minmax(0,1.2fr);gap:20px}.stage-join{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;border-radius:var(--r-xl);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border-2);text-align:center}.stage-join b{font-family:var(--display);font-size:1.6rem}.stage-join small{word-break:break-all}.qr{width:min(100%,300px);aspect-ratio:1;border-radius:var(--r-md);box-shadow:0 20px 60px -20px #ff8a1f73}.stage-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;color:var(--text-3);text-align:center}.stage-empty b{color:var(--text)}.stage-seats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.stage-seats li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--pc) 9%,var(--surface-2));border:1px solid color-mix(in srgb,var(--pc) 35%,transparent);animation:pop-in .3s ease-out}.stage-seat-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.stage-seat-main b{font-size:1.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-level{height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.stage-level span{display:block;height:100%;background:var(--pc);transform-origin:left;transition:transform .2s ease-out}.seat-part.as-btn{margin:0;border:0;cursor:pointer;white-space:nowrap}.stage-bar{position:sticky;bottom:0}@media (max-width: 1100px){.stage-grid{grid-template-columns:1fr 1fr}.stage-song{grid-column:1 / -1}}@media (max-width: 700px){.stage-grid{grid-template-columns:1fr}}.stage-hud{align-items:flex-start}.stage-scores{list-style:none;margin:0 0 0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.stage-scores li{position:relative;display:flex;flex-direction:column;align-items:flex-end;min-width:110px;padding:6px 14px;border-radius:var(--r-md);background:#0b0a0fb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc) 50%,transparent)}.stage-scores .hud-points{font-size:clamp(1.3rem,2.2vw,1.9rem)}.stage-flash{position:absolute;bottom:-22px;right:10px;font-size:.8rem;font-weight:800;letter-spacing:.04em;animation:stage-flash 1.6s ease-out forwards}.stage-flash.awesome{color:var(--gold)}.stage-flash.good{color:var(--mint)}.stage-flash.ok{color:var(--sky)}.stage-flash.miss{color:var(--text-3)}@keyframes stage-flash{0%{opacity:0;transform:translateY(-4px)}15%,70%{opacity:1;transform:none}to{opacity:0}}.stage-lanes{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px}.stage-lane{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.stage-lane .lanes-panel{position:relative;min-height:90px}.stage-lane-label{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:3px 12px;border-radius:999px;background:#0b0a0fb3;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2)}.stage-lane-who{display:inline-flex;gap:4px}.stage-lane-who i{width:10px;height:10px;border-radius:50%}.stage-lane.compact .lyric-line.active{font-size:clamp(1.3rem,2.8vw,2.3rem)}.stage-lane.compact .lyric-line.next{font-size:clamp(.95rem,1.6vw,1.2rem)}.stage-lane.compact .lyrics-panel{padding-bottom:2px}.stage-cue{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.stage-cue h2{margin:8px 0 0;font-family:var(--display);font-size:clamp(1.8rem,3.6vw,3rem)}.stage-cue p{margin:0}.stage-results{width:min(640px,100%)}.stage-results h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);margin:4px 0 14px}.screen-loading{height:100%;display:grid;place-items:center}.stage-scores li.offline{opacity:.55;box-shadow:inset 0 0 0 1px #ffffff2e}.stage-save{display:flex;flex-direction:column;align-items:center;gap:6px;margin:14px 0 4px}.stage-saved{display:inline-flex;align-items:center;gap:6px;color:var(--mint);font-weight:600}.report-link{font-size:inherit;color:inherit}.report-modal{width:min(480px,100%)}.report-modal form{display:flex;flex-direction:column;gap:12px}.report-modal h2,.report-modal p{margin:0}.report-modal textarea.text{resize:vertical;min-height:110px;font:inherit}.report-overlay{position:fixed;z-index:50}.settings-report{text-align:center;margin:8px 0 24px}
