.auth-card{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(22rem,100%);margin:36px auto;text-align:center}.auth-card .cta{max-width:none}.auth-note{margin:0;font-size:var(--fs-song)}.auth-wait{margin:30vh auto 0;text-align:center}.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px}.google-btn svg{flex:none;background:#fff;border-radius:50%;padding:2px;box-sizing:content-box}.settings-account{display:flex;flex-direction:column;gap:12px;width:min(22rem,100%);margin:0 auto 24px;padding-top:16px;border-top:1px solid var(--line-soft);text-align:left}.settings-account .dim{margin:0;word-break:break-all}.settings-account .cta{max-width:none}.gis-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.gis-holder{display:flex;justify-content:center;width:100%;min-height:44px}.gis-holder iframe{color-scheme:light}.gis-holder[hidden]{display:none}.gis-pending{align-items:center;border:1px solid var(--line-soft);border-radius:999px;font-size:var(--fs-song)}.gis-busy{margin:10px 0}.gis-alt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:2px 4px;color:var(--muted);font:inherit;font-size:var(--fs-label);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.gis-alt:hover,.gis-alt:focus-visible{color:var(--text)}.legal-page .shell-inner{margin-top:130px;align-items:stretch;text-align:left}.legal-doc{position:relative;z-index:1;width:min(44rem,100%);margin:0 auto;padding:28px 32px 32px;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface);color:rgb(var(--text-rgb) / .9);font-size:var(--fs-body);line-height:1.68;text-align:left}.legal-doc h2{margin:34px 0 10px;font-family:var(--font-body);font-size:var(--fs-desc);font-weight:600;letter-spacing:.01em;color:var(--text);scroll-margin-top:24px}.legal-doc section{scroll-margin-top:24px}.legal-doc p,.legal-doc ul,.legal-doc ol{margin:0 0 14px}.legal-doc ul,.legal-doc ol{padding-left:1.3em}.legal-doc li{margin:0 0 6px}.legal-doc li::marker{color:var(--ice)}.legal-doc strong{color:var(--text);font-weight:600}.legal-doc a{color:var(--ice);text-decoration:underline;text-decoration-color:rgb(var(--ice-rgb) / .4);text-underline-offset:3px;overflow-wrap:anywhere}.legal-doc a:hover{color:var(--text);text-decoration-color:currentColor}.legal-updated{color:var(--muted);font-size:var(--fs-song);letter-spacing:.02em}.legal-toc{margin:22px 0 6px;padding:14px 18px 8px;border:1px solid var(--line-soft);border-radius:12px;background:rgb(var(--surface-rgb) / .6);font-size:var(--fs-song)}.legal-toc ol{list-style:none;padding:0;margin:0;columns:2 16rem;column-gap:24px}.legal-toc li{margin:0 0 6px;break-inside:avoid}.legal-toc a{text-decoration:none;color:var(--muted)}.legal-toc a:hover{color:var(--text)}.legal-foot{margin:30px 0 0;padding-top:16px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:var(--fs-song)}@media(max-width:640px){.legal-page.page{padding-left:16px;padding-right:16px}.legal-page .shell-inner{margin-top:110px}.legal-doc{padding:20px 18px 24px;font-size:var(--fs-body)}}.legal-links{display:flex;justify-content:center;gap:18px;margin:0;font-size:var(--fs-label);letter-spacing:.02em}.legal-links a{color:var(--muted);text-decoration:none}.legal-links a:hover,.legal-links a:focus-visible{color:var(--text)}.auth-legal{margin:4px 0 0;font-size:var(--fs-label);color:var(--muted);line-height:1.5}.auth-legal a{color:var(--muted);text-underline-offset:2px}.auth-legal a:hover{color:var(--text)}.settings-legal{margin-top:28px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:2.75rem;padding:var(--sp-2) var(--sp-5);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-body);font-size:var(--fs-body);font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ui-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.ui-btn:focus-visible{outline:2px solid var(--red-text);outline-offset:3px}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn-primary{background:var(--red);border-color:var(--red);color:var(--on-red)}.ui-btn-primary:hover:not(:disabled){background:var(--red-hi);border-color:var(--red-hi)}.ui-btn-ghost{background:transparent;border-color:transparent;color:var(--muted);padding-inline:var(--sp-3)}.ui-btn-ghost:hover:not(:disabled){background:rgb(var(--line-rgb) / .08);border-color:transparent;color:var(--text)}.sl{position:relative}.sl-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-1)}.sl-grid .sl-list{gap:var(--sp-3)}.sl-list-secondary{margin-top:var(--sp-6)}.sl-item{display:block;width:fit-content;padding:.08em .3em .08em 1.1em;background:none;border:0;color:var(--muted);font-family:var(--font-display);font-weight:400;font-size:var(--fs-menu);letter-spacing:var(--tr-menu);text-transform:uppercase;text-align:left;line-height:1.05;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.sl-item.is-secondary{font-size:var(--fs-menu-2);letter-spacing:var(--tr-menu-2)}.sl-item[data-selected=true]{color:var(--text)}.sl-item:disabled{opacity:.45;cursor:not-allowed}.sl-item:focus-visible{outline:none}.sl-grid .sl-item,.sl-item.is-custom{width:100%}.sl-mark{position:absolute;top:0;left:0;z-index:1;width:.42em;height:.42em;background:var(--red);clip-path:polygon(0 0,100% 50%,0 100%);pointer-events:none;transition:transform var(--dur) var(--ease)}.sl-desc{min-height:1.5em;margin:var(--sp-5) 0 0;padding-left:1.1em;max-width:30rem;color:var(--muted)}.key-hints{position:fixed;right:clamp(var(--sp-4),3vw,var(--sp-7));bottom:var(--sp-5);z-index:5;display:flex;gap:var(--sp-5);color:var(--muted);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--tr-label);text-transform:uppercase}@media(max-width:599px){.key-hints{display:none}}.key-hint{display:inline-flex;align-items:center;gap:var(--sp-2)}.key-hint kbd{min-width:1.9em;padding:.25em .5em;border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;letter-spacing:0;text-align:center}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5)}.digits{white-space:nowrap}.digit{display:inline-block;width:1ch;text-align:center}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(42rem 32rem at var(--glow-blue-at),rgb(var(--blue-rgb) / .2),transparent 70%),radial-gradient(48rem 26rem at var(--glow-red-at),rgb(var(--red-rgb) / .15),transparent 70%)}.ambient-home{--glow-blue-at: 92% 4%;--glow-red-at: 20% 108%}.ambient-game{--glow-blue-at: 100% 0%;--glow-red-at: 50% 112%}.home-menu{position:relative;min-height:100dvh;display:flex;align-items:center;padding:var(--sp-7) var(--sp-6) 4.5rem clamp(var(--sp-6),9.375vw,7.5rem);isolation:isolate;--home-fs: var(--fs-menu);--home-gutter: calc(var(--home-fs) * 1.1)}.home-menu .home-hero{--hero-fade: 6rem;position:absolute;inset:0 0 0 calc(clamp(var(--sp-6),9.375vw,7.5rem) + 34rem);z-index:-1;container-type:size;-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--hero-fade)),linear-gradient(to top,transparent 0,black 4rem);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,black var(--hero-fade)),linear-gradient(to top,transparent 0,black 4rem);mask-composite:intersect;pointer-events:none}.home-menu .home-hero img{position:absolute;right:0;bottom:0;height:min(100%,(100cqw - var(--hero-fade)) / (1.7917 * (1 - var(--start, .46))));width:auto;aspect-ratio:1600 / 893;-webkit-mask-image:linear-gradient(to right,transparent 0,black calc(var(--start, .46) * 100% - 2%)),linear-gradient(to bottom,transparent 0,black 8%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,black calc(var(--start, .46) * 100% - 2%)),linear-gradient(to bottom,transparent 0,black 8%);mask-composite:intersect}.home-menu .home-col{width:min(34rem,100%)}.home-menu .home-logo{margin:0 0 var(--sp-6);color:var(--text)}.home-menu .sl-item{transition:color var(--dur-fast) var(--ease),transform var(--dur) var(--ease)}.home-menu .sl-item[data-selected=true]{transform:translate(8px)}.home-menu .sl-item:not(.is-secondary){font-size:var(--home-fs)}.home-menu .sl-item.is-secondary{margin-left:calc(var(--home-gutter) - 1.1em)}.home-menu .home-desc{min-height:4.5em;max-width:calc(520px + var(--home-gutter));margin:var(--sp-6) 0 0;padding-left:var(--home-gutter);color:var(--muted);animation:home-desc-in var(--dur) var(--ease) both}.home-menu .home-stats{position:absolute;top:var(--sp-5);right:clamp(var(--sp-4),3vw,var(--sp-7));z-index:1;color:var(--muted);font-weight:600;text-decoration:none;transition:color var(--dur-fast) var(--ease)}.home-menu .home-stats:hover,.home-menu .home-stats:focus-visible{color:var(--text)}.home-menu .home-foot{position:absolute;left:clamp(var(--sp-6),9.375vw,7.5rem);bottom:var(--sp-5)}.home-menu .legal-links{justify-content:flex-start;gap:var(--sp-5);font-size:var(--fs-label);font-weight:600}@keyframes home-desc-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes home-item-in{0%{opacity:0}to{opacity:1}}.home-menu.is-intro .sl-list li{animation:home-item-in .14s var(--ease) both}.home-menu.is-intro .sl-list li:nth-child(2){animation-delay:40ms}.home-menu.is-intro .sl-list li:nth-child(3){animation-delay:80ms}.home-menu.is-intro .sl-list li:nth-child(4){animation-delay:.12s}.home-menu.is-intro .sl-list li:nth-child(5){animation-delay:.16s}.home-menu.is-intro .sl-list-secondary li:nth-child(1){animation-delay:.2s}.home-menu.is-intro .sl-list-secondary li:nth-child(2){animation-delay:.24s}@media(max-height:800px){.home-menu{padding-block:var(--sp-6) 4rem}.home-menu .home-logo{margin-bottom:var(--sp-5)}.home-menu .sl-list-secondary,.home-menu .home-desc{margin-top:var(--sp-4)}}@media(max-width:899px){.home-menu{padding-inline:var(--sp-5);align-items:flex-start;padding-top:var(--sp-8)}.home-menu .home-col{width:100%}.home-menu .home-hero{top:0;right:0;bottom:0;left:0;opacity:.25;-webkit-mask-image:none;mask-image:none;--hero-fade: 0px}.home-menu{--home-fs: 26px}.home-menu .home-foot{left:var(--sp-5)}}@media(hover:none){.home-menu .key-hints{display:none}}.pg{width:100%;text-align:left;display:grid;gap:var(--sp-6);align-content:start}.pg-wide{gap:var(--sp-4)}.pg .dim,.pg p{margin:0;color:var(--muted);font-size:var(--fs-body)}.pg .err{color:var(--text);font-weight:600}.pg-group{display:grid;gap:var(--sp-3);justify-items:start;padding-bottom:var(--sp-5);border-bottom:1px solid var(--line-soft)}.pg-group>h2{margin:0;color:var(--muted)}.pg-group>h2.t-menu-2{color:var(--text)}.pg-group .ui-btn{width:auto}.pg-field{display:grid;gap:var(--sp-2);width:min(22rem,100%)}.pg-field .t-label{color:var(--muted)}.pg input:not(.pg-code){width:100%;padding:var(--sp-3) var(--sp-3);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-body);font-size:var(--fs-body);caret-color:var(--ice)}.pg input:not(.pg-code):focus{outline:2px solid var(--red-text);outline-offset:3px;border-color:var(--line-strong)}.pg .device-check-link{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:0}.pg .device-check-link a{padding:var(--sp-3) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-weight:600;text-decoration:none}.pg .device-check-link a:hover{background:var(--surface-2);border-color:var(--line-strong)}.pg .settings-legal{justify-content:flex-start;font-size:var(--fs-label);font-weight:600}.pg-tabs{display:flex;gap:var(--sp-5)}.pg-tabs button{padding:var(--sp-2) 0;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--font-display);cursor:pointer}.pg-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--ice)}.pg-tabs button:focus-visible{outline:2px solid var(--red-text);outline-offset:3px}.pg-table{width:100%;border-collapse:collapse}.pg-table th{padding:var(--sp-2) var(--sp-3);color:var(--muted);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--tr-label);text-align:left;text-transform:uppercase}.pg-table td{padding:var(--sp-3);border-top:1px solid var(--line-soft);color:var(--text)}.pg-table td.dim{color:var(--muted)}.pg-table .pg-rank{color:var(--ice);width:4.5rem}.pg-table .pg-rank.top{color:var(--text)}.pg-table .pg-name{font-weight:600}.pg-table tr.is-me td{background:var(--surface)}.pg-table tr.is-me td:first-child{box-shadow:inset 3px 0 0 var(--red)}.pg-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--sp-5)}.pg-stat{display:grid;gap:var(--sp-2)}.pg-stat strong{font-weight:400;color:var(--text)}.pg-stat .t-label{color:var(--muted)}.pg-h{margin:var(--sp-5) 0 0;color:var(--muted)}.pg-code-form{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:stretch}.pg-code{width:9.5em;padding:var(--sp-3) var(--sp-4);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);caret-color:var(--ice);font-family:var(--font-display);font-size:var(--fs-menu);letter-spacing:.35em;text-align:center;text-indent:.35em}.pg-code::placeholder{color:var(--muted);opacity:.4}.pg-code:focus{outline:2px solid var(--red-text);outline-offset:3px;border-color:var(--line-strong)}.pg-code-form .ui-btn{min-height:0}.pg-page .page-head h1{font-family:var(--font-display);font-size:var(--fs-title);letter-spacing:var(--tr-title);text-shadow:none;color:var(--text)}.pg-page .shell-inner .tag{align-self:flex-start;max-width:none;margin-bottom:var(--sp-5);text-align:left;color:var(--muted)}.pg-page .shell-inner{margin-top:7.5rem}.pg-group:not(:has(>:not(h2))){display:none}.pg-stats+p,.pg-stats~p{margin-top:0}@font-face{font-family:Krona One;src:url(/fonts/krona-one-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Krona One Fallback;src:local("Arial");size-adjust:94.5%;ascent-override:95%;descent-override:26%}@font-face{font-family:Hanken Grotesk Fallback;src:local("Arial");size-adjust:97.2%;ascent-override:103%;descent-override:31%}:root{color-scheme:dark;--bg: #05070d;--surface: #0d1220;--text: #e8eeff;--muted: #8e9ab8;--red: #e5183b;--red-text: #ff5c73;--blue: #4d86ff;--blue-text: #7fa8ff;--ice: #bbd0ff;--line: rgba(140, 170, 255, .2);--bg-rgb: 5 7 13;--surface-rgb: 13 18 32;--text-rgb: 232 238 255;--muted-rgb: 142 154 184;--red-rgb: 229 24 59;--blue-rgb: 77 134 255;--ice-rgb: 187 208 255;--line-rgb: 140 170 255;--on-red: #ffffff;--red-hi: color-mix(in srgb, var(--red) 86%, var(--bg));--surface-2: color-mix(in srgb, var(--surface) 90%, var(--ice));--line-soft: rgb(var(--line-rgb) / .1);--line-strong: rgb(var(--line-rgb) / .4);--scrim: rgb(var(--bg-rgb) / .86);--shade: rgb(var(--bg-rgb) / .6);--you: var(--red);--them: var(--blue);--mask-on: #000;--font-display: "Krona One", "Krona One Fallback", sans-serif;--font-body: "Hanken Grotesk", "Hanken Grotesk Fallback", ui-sans-serif, system-ui, sans-serif;--fs-logo: 20px;--tr-logo: .12em;--fs-title: 44px;--tr-title: .02em;--fs-menu: 36px;--tr-menu: .02em;--fs-menu-2: 16px;--tr-menu-2: .06em;--fs-score: 44px;--fs-num: 16px;--tr-num: .04em;--fs-tab: 12px;--tr-tab: .08em;--fs-lyric: 40px;--fs-lyric-next: 26px;--fs-desc: 18px;--fs-body: 16px;--fs-song: 15px;--tr-song: .04em;--fs-label: 12px;--tr-label: .14em;--leading-tight: 1.05;--leading-snug: 1.25;--leading-body: 1.5;--track-caps: .08em;--measure: 68ch;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4.5rem;--sp-9: 7rem;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--shadow-1: 0 1px 2px rgb(var(--bg-rgb) / .5), 0 4px 12px rgb(var(--bg-rgb) / .35);--shadow-2: 0 2px 4px rgb(var(--bg-rgb) / .5), 0 14px 36px rgb(var(--bg-rgb) / .55);--glow-soft: none;--glow-hard: 0 0 0 1px var(--red);--focus-ring: 0 0 0 3px var(--bg), 0 0 0 5px var(--red-text);--dur-fast: .12s;--dur: .18s;--dur-slow: .3s;--ease: cubic-bezier(.2, .8, .2, 1);font-family:var(--font-body);font-size:16px;line-height:var(--leading-body);color:var(--text);background:var(--bg)}@media(max-width:599px){:root{--fs-logo: 16px;--fs-title: 30px;--fs-menu: 26px;--fs-menu-2: 14px;--fs-score: 30px;--fs-num: 14px;--fs-tab: 11px;--fs-lyric: 24px;--fs-lyric-next: 18px;--fs-desc: 16px;--fs-body: 15px;--fs-song: 14px;--fs-label: 11px}}body{background:transparent}:root{font-synthesis:none}.t-logo,.t-title,.t-menu,.t-menu-2,.t-score,.t-num,.t-tab{font-family:var(--font-display);font-weight:400;font-synthesis:none;text-transform:uppercase;line-height:1.05}.t-logo{font-size:var(--fs-logo);letter-spacing:var(--tr-logo)}.t-title{font-size:var(--fs-title);letter-spacing:var(--tr-title)}.t-menu{font-size:var(--fs-menu);letter-spacing:var(--tr-menu)}.t-menu-2{font-size:var(--fs-menu-2);letter-spacing:var(--tr-menu-2)}.t-score{font-size:var(--fs-score)}.t-num{font-size:var(--fs-num);letter-spacing:var(--tr-num)}.t-tab{font-size:var(--fs-tab);letter-spacing:var(--tr-tab)}.t-lyric,.t-lyric-next,.t-desc,.t-body,.t-song,.t-label{font-family:var(--font-body)}.t-lyric{font-size:var(--fs-lyric);font-weight:700;line-height:1.15}.t-lyric-next{font-size:var(--fs-lyric-next);font-weight:600;line-height:1.2}.t-desc{font-size:var(--fs-desc);font-weight:400;line-height:var(--leading-snug)}.t-body{font-size:var(--fs-body);font-weight:400;line-height:var(--leading-body)}.t-song{font-size:var(--fs-song);font-weight:700;text-transform:uppercase;letter-spacing:var(--tr-song)}.t-label{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:var(--tr-label)}::selection{background:rgb(var(--red-rgb) / .45);color:var(--text)}input,textarea,select{caret-color:var(--red-text)}*{scrollbar-color:var(--surface-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:var(--r-pill);border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--red-text);outline-offset:3px;box-shadow:none}:where(button,[role=button],a.cta):active:not(:disabled){transform:translateY(1px)}.overall,time{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-property:color,background-color,border-color,opacity,outline-color!important;scroll-behavior:auto!important}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;min-height:100dvh;margin:0;overflow-x:hidden}html:has(.stage-fit),body:has(.stage-fit),html:has(.play-page),body:has(.play-page){height:100%;overflow:hidden}body{background:var(--bg)}a{color:var(--text)}button,input,select{font:inherit}.page{min-height:100vh;min-height:100dvh;padding:28px 40px 64px}.back{color:var(--muted);text-decoration:none;font-size:var(--fs-song)}.back:hover{color:var(--text)}.quiet{max-width:none}.page{display:flex;flex-direction:column}.display,.quiet h1,.page-head h1,.shell-inner h1,.results h1,.results h2,.overall{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:400}.quiet h1,.page-head h1,.shell-inner h1{font-size:var(--fs-title);letter-spacing:var(--tr-title);margin:48px 0 8px;color:var(--text);line-height:1.05}.tag{margin:0 0 8px;color:var(--muted);max-width:24rem}.play-page{max-width:none}.play-choices{display:flex;flex-direction:column;gap:36px;margin-top:36px}.room-code-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.room-code-digits{font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-title);letter-spacing:.12em;line-height:1}.btn{background:none;border:0;padding:4px 0;cursor:pointer;color:var(--text);font-family:var(--font-body);font-weight:600;font-size:var(--fs-body);text-decoration:none;width:fit-content;border-bottom:3px solid transparent;line-height:1}.btn:hover,.btn:focus-visible{border-bottom-color:var(--red);background:none;color:var(--text)}.btn.ghost{border:0;color:var(--text)}.btn:disabled{opacity:.35;cursor:not-allowed;border-bottom-color:transparent}input,select{background:transparent;border:0;border-bottom:1px solid var(--muted);color:var(--text);padding:8px 0;border-radius:0;min-width:7rem}input:focus,select:focus{border-bottom-color:var(--ice)}.ok{color:var(--ice)}.dim{color:var(--muted)}.err{color:var(--text);font-weight:600}.pitch-meter{display:block;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.lyrics{text-align:center;min-height:7rem;margin:8px 0 24px}.lyrics-now{font-family:var(--font-body);font-weight:700;font-size:calc(var(--fs-score) * 1.5);margin:0;line-height:1.05}.lyrics-soon{color:var(--muted)}.lyrics-next{color:var(--muted);margin:8px 0 0;font-size:var(--fs-lyric-next)}.lyrics-rest{font-size:calc(var(--fs-score) * 1.5);margin:0;color:var(--muted);opacity:.5}.lyrics-count{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 0}.lyrics-count .dot{width:10px;height:10px;border-radius:50%;background:var(--red)}.lyrics-count .dot.spent{background:var(--muted)}.lyrics-count .count-num{margin-left:10px;font-size:var(--fs-logo);font-weight:600;color:var(--ice);min-width:1.2em}.lyrics-cue{font-size:var(--fs-menu);margin:0;color:var(--muted)}.stage-self{display:flex;flex-direction:column;align-items:center;gap:6px;margin:16px auto 0}.stage-self video{width:180px;height:120px;object-fit:cover;background:var(--surface-2);border:1px solid var(--line-soft)}.status{color:var(--muted)}.ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--scrim);display:grid;place-items:center;padding:20px}.results{background:var(--bg);border:1px solid var(--line-soft);padding:28px 24px;max-width:520px;width:min(520px,100%)}.results h2{margin:0 0 16px;font-size:var(--fs-lyric)}.overall{font-size:calc(var(--fs-score) * 1.6);margin:0;color:var(--text);line-height:1}.who{margin:0;color:var(--muted)}.verdict{font-size:var(--fs-body);margin-top:16px}.elo,.shared{font-weight:500}.result-actions{display:flex;gap:16px;margin-top:20px}.tabs{display:flex;gap:20px;margin:24px 0}.tabs button{background:none;color:var(--muted);border:0;border-bottom:3px solid transparent;padding:4px 0;cursor:pointer;font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-logo);letter-spacing:.04em}.tabs button.on{color:var(--text);border-bottom-color:var(--ice)}*{box-sizing:border-box}:where(.stage) button:not(.ui-btn){font:inherit;padding:.6rem 1rem;border-radius:10px;border:1px solid var(--line-soft);background:var(--surface-2);color:var(--text);cursor:pointer}:where(.stage) button:not(.ui-btn):hover:not(:disabled){border-color:var(--ice)}:where(.stage) button:not(.ui-btn):disabled{opacity:.45;cursor:not-allowed}.stage input{font:inherit;padding:.6rem .75rem;border-radius:10px;border:1px solid var(--line-soft);background:var(--surface);color:var(--text)}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.stage{display:grid;gap:1rem;padding:1rem;min-height:100vh}.stage.stage-fit{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;gap:.35rem;padding:.5rem .75rem .4rem;min-height:0}.stage header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.stage.stage-fit>*:not(.voice-wave){position:relative;z-index:1}.stage.stage-fit audio.instrumental{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.stage.stage-fit audio.remote-mic{position:absolute;width:1px;height:1px;left:0;bottom:0;pointer-events:none}.stage.stage-fit header.stage-top,.stage-top{display:flex;align-items:center;gap:.7rem;flex-wrap:nowrap;flex-shrink:0;min-height:1.8rem}.stage-top a{color:var(--muted);text-decoration:none;font-size:var(--fs-song);white-space:nowrap}.stage-top strong{white-space:nowrap;font-size:var(--fs-song)}.stage-song{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--fs-song)}.stage-song em{font-style:normal;color:var(--text)}.stage-friendly{flex-shrink:0;white-space:nowrap;font-size:var(--fs-label);color:var(--muted);border:1px solid currentColor;border-radius:999px;padding:.05rem .5rem}.stage-alerts{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-4)}.stage-alerts:not(:has(p)){display:none}.stage-alerts p{margin:0}.stage-cam{display:flex;min-width:0;min-height:0;height:100%}.stage-cam .tile{flex:1;width:100%;max-width:none;height:100%;min-height:0;aspect-ratio:auto;border-radius:12px}.stage-fit .lyrics{min-height:3.4rem;margin:0;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;padding:.05rem .3rem}.stage-fit .lyrics-now{font-size:var(--fs-title);line-height:1.02;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance;color:var(--text)}.lyrics-cue{margin:0 0 2px;min-height:1.15em;font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-menu);letter-spacing:.06em;line-height:1;color:var(--muted)}.lyrics-cue.you,.lyrics-cue.together{color:var(--ice)}.lyrics-cue.them{color:var(--text)}.lyrics-cue.leadin{color:var(--ice)}.lyrics-leadin .lyrics-now{opacity:.72}.lyrics-leadin .leadin-who{color:var(--muted);font-size:.6em;letter-spacing:.04em}.lyrics-leadin .leadin-who.you,.lyrics-leadin .leadin-who.together{color:var(--ice)}.lyrics-now.duet-you{color:var(--text)}.lyrics-now.duet-them{color:var(--muted)}.lyrics-now.duet-together{color:var(--ice)}.lyrics-next{display:flex;justify-content:center;align-items:baseline;gap:.55rem;flex-wrap:wrap}.lyrics-next .who{color:var(--ice);font-size:.78em;letter-spacing:.04em}.lyrics-next.them .who,.lyrics-next.wait .who{color:var(--muted)}.lyrics-next .next-line{min-width:0}.stage-fit .lyrics-next{margin:8px 0 0;font-size:var(--fs-lyric-next);line-height:1.15}.stage-fit .pitch-guide{height:min(13vh,120px);min-height:80px;margin:0;flex-shrink:0}.pitch-stage{position:relative;flex-shrink:0;pointer-events:none;-webkit-user-select:none;user-select:none}.hit-callout{position:absolute;left:50%;top:22%;margin:0;transform:translate(-50%);pointer-events:none;font-family:var(--font-display);text-transform:uppercase;font-weight:400;letter-spacing:.08em;line-height:.9;font-size:calc(var(--fs-score) * 1.7);text-shadow:0 4px 18px rgb(var(--bg-rgb) / .65);animation:hit-pop .72s ease forwards}.hit-perfect{color:var(--ice)}.hit-great{color:var(--text)}.hit-good{color:var(--ice)}.hit-okay{color:var(--muted)}@keyframes hit-pop{0%{opacity:0;transform:translate(-50%) scale(.6)}18%{opacity:1;transform:translate(-50%) scale(1.12)}70%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1.04)}}@media(prefers-reduced-motion:reduce){.hit-callout{animation:none;opacity:1}}.stage-chaos{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.5rem}.stage-chaos .grid{min-height:0}.stage-chaos .tile{aspect-ratio:4 / 3;max-height:none;height:100%}.stage-chaos .tile .placeholder{place-items:end center;padding-bottom:2.8rem;font-size:var(--fs-label);letter-spacing:.04em;opacity:.55}.stage-dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem 1rem;flex-shrink:0;margin:0;font-size:var(--fs-song);color:var(--muted)}.stage-fit .pitch-hold{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}.stage-results-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.stage-fit .room-code-bar{flex-shrink:0;align-items:center}.stage-fit .room-code-digits{font-size:var(--fs-lyric-next)}.grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.tile{position:relative;aspect-ratio:4 / 3;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden}.tile.singing{border-color:var(--ice);box-shadow:0 0 0 3px color-mix(in srgb,var(--ice) 55%,transparent)}.tile.waiting:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:rgb(var(--bg-rgb) / .42);pointer-events:none}.tile video{width:100%;height:100%;object-fit:cover;display:block}.cam-cue{position:absolute;top:.65rem;left:.7rem;z-index:2;font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-lyric);letter-spacing:.03em;line-height:1;color:var(--muted);text-shadow:0 2px 14px rgb(var(--bg-rgb) / .8)}.cam-cue.on{color:var(--ice)}.tile .name{position:absolute;left:.7rem;bottom:.7rem;z-index:2;padding:.35rem .8rem;border-radius:999px;background:rgb(var(--bg-rgb) / .7);font-size:var(--fs-body)}.tile .placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:var(--fs-song)}.callout{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;pointer-events:none}.callout.hold{background:var(--bg)}.callout.flash{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent) 0%,transparent 42%,transparent 100%);justify-content:flex-start;padding-top:4.5rem;animation:callout-flash 1.4s ease forwards}.callout-count,.callout-title{margin:0;font-family:var(--font-display);text-transform:uppercase;font-weight:400;letter-spacing:.04em;line-height:.9;color:var(--text)}.callout-count{font-size:calc(var(--fs-score) * 3.3);font-variant-numeric:tabular-nums}.callout-count.go{color:var(--ice)}.callout-title{font-size:calc(var(--fs-score) * 2.4)}.callout-sub{margin:0;color:var(--muted);font-size:var(--fs-body);max-width:28rem;padding:0 1.2rem}.turn-guide{position:absolute;top:2.15rem;left:50%;transform:translate(-50%);z-index:8;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 18px 7px;border-radius:999px;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--line);pointer-events:none;text-align:center;max-width:min(34rem,92vw)}.turn-guide.wait,.turn-guide.go{border-color:var(--ice)}.turn-guide strong{font-family:var(--font-display);text-transform:uppercase;font-weight:400;letter-spacing:.08em;font-size:var(--fs-desc);line-height:1}.turn-guide span{font-size:var(--fs-label);color:var(--muted)}.countdown-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.5rem;text-align:center;pointer-events:none}.stage.stage-fit>.countdown-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.countdown-kicker{margin:0 0 4px;color:var(--ice);letter-spacing:.18em;text-transform:uppercase;font-size:var(--fs-song);text-shadow:0 2px 18px rgb(var(--bg-rgb) / .55)}.countdown-headline{margin:0;font-family:var(--font-display);text-transform:uppercase;font-weight:400;font-size:var(--fs-title);letter-spacing:var(--tr-title);line-height:.92;color:var(--text);text-shadow:0 2px 28px rgb(var(--bg-rgb) / .55)}.countdown-go{color:var(--red-text)}.countdown-wait{color:var(--muted)}.countdown-num{margin:0;font-family:var(--font-display);text-transform:uppercase;font-weight:400;font-size:calc(var(--fs-score) * 2.5);letter-spacing:.04em;line-height:.9;color:var(--text);text-shadow:0 2px 28px rgb(var(--bg-rgb) / .55)}@keyframes callout-flash{0%{opacity:1}55%{opacity:1}to{opacity:0}}@media(max-height:700px){.stage-fit .lyrics-now{font-size:var(--fs-menu)}.stage-fit .pitch-guide{height:min(12vh,100px);min-height:72px}}.badge{padding:.35rem .85rem;border-radius:999px;font-weight:600;font-size:var(--fs-song);border:1px solid var(--line-soft)}.badge.you,.badge.together{background:var(--ice);border-color:var(--ice);color:var(--bg)}.badge.them{background:var(--surface-2);color:var(--muted)}.timer{font-variant-numeric:tabular-nums;font-size:var(--fs-lyric);font-weight:700}.timer .bar{height:4px;background:var(--line-soft);border-radius:999px;overflow:hidden}.timer .bar span{display:block;height:100%;background:var(--ice)}.stage.stage-fit .badge{font-size:var(--fs-label);padding:.2rem .65rem;white-space:nowrap}.slot-empty{color:var(--muted);font-size:var(--fs-label)}.warn{color:var(--ice);font-size:var(--fs-song)}.err{color:var(--text);font-weight:600;font-size:var(--fs-song)}.stage-alerts button.link{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.bloom-page{position:relative}.bloom-page>*:not(.bloom){position:relative;z-index:1}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;padding:18px}.btn:hover,.btn:focus-visible,.tabs button.on{border-bottom-color:var(--red)}input:focus,select:focus{border-bottom-color:var(--red);box-shadow:0 1px rgb(var(--ice-rgb) / .45)}.lyrics{position:relative;isolation:isolate}.lyrics-now{color:var(--text);text-shadow:0 0 14px rgb(var(--text-rgb) / .3),0 0 44px rgb(var(--ice-rgb) / .55),0 2px 20px rgb(var(--bg-rgb) / .6)}.lyrics-now.lyrics-soon{color:var(--muted);text-shadow:none}.lyrics-next{color:var(--muted)}.lyric-line{position:relative;display:inline-block;max-width:100%}.lyrics-count .dot{background:var(--ice);box-shadow:0 0 8px rgb(var(--ice-rgb) / .7)}.lyrics-count .dot.spent{background:var(--muted);box-shadow:none}.lyrics-count .count-num{color:var(--ice)}.hit-perfect{color:var(--ice);text-shadow:0 0 18px rgb(var(--text-rgb) / .85),0 0 52px rgb(var(--ice-rgb) / .9)}.hit-great{color:var(--ice);text-shadow:0 0 14px rgb(var(--ice-rgb) / .75),0 0 40px rgb(var(--ice-rgb) / .6)}.hit-good{color:var(--ice);text-shadow:0 0 12px rgb(var(--ice-rgb) / .5)}.hit-okay{color:var(--muted);text-shadow:none}.page-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0 0 22px}.page-head h1{margin:0;line-height:.95}.page-head .back{color:var(--muted);text-decoration:none;font-size:var(--fs-song);letter-spacing:.02em}.page-head .back:hover{color:var(--text)}.page-head .back:before{content:"← "}.pitch-guide{background:transparent;border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.voice-wave{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;opacity:.25}.bloom-page>.voice-wave{position:fixed;z-index:0}.voice-wave.quiet{opacity:.12}.stage .voice-wave{position:absolute;z-index:0}.shell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.shell>.page-head{position:absolute;top:26px;left:max(40px,calc(50% - 40rem));z-index:2;align-items:flex-start;text-align:left;margin:0}.shell>.page-head h1{text-align:left}.shell-inner{width:min(42rem,100%);margin:150px auto 0;display:flex;flex-direction:column;align-items:center;text-align:center}.shell-inner.wide{width:min(56rem,100%)}.shell-inner h1{margin:0 0 8px;text-align:center}.shell-inner .tag{margin:0 0 8px;max-width:32rem;text-align:center}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:2.75rem;padding:var(--sp-2) var(--sp-5);border:1px solid var(--red);border-radius:var(--r-md);background:var(--red);color:var(--on-red);font:inherit;font-size:var(--fs-body);font-weight:600;letter-spacing:.01em;line-height:1;cursor:pointer;text-decoration:none;width:100%;max-width:22rem;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.cta:hover:not(:disabled){background:var(--red-hi);border-color:var(--red-hi);color:var(--on-red)}.cta-ghost{background:var(--surface);color:var(--text);border-color:var(--line)}.cta-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}.cta:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}.play-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;margin-top:36px;text-align:left}.play-waiting{grid-column:1 / -1;min-height:220px;align-items:center;text-align:center;max-width:32rem;margin:0 auto;width:100%}.mode-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:26rem;margin:18px auto 0;padding:5px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.mode-pick button{min-width:0;padding:9px 12px;border:0;border-radius:var(--r-sm);background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.mode-pick button:hover,.mode-pick button:focus-visible{color:var(--text)}.mode-pick button.on{background:var(--ice);color:var(--bg)}.mode-pick-blurb{margin:10px auto 0;color:var(--muted);font-size:var(--fs-song);text-align:center}.page.shell.play-page{height:100dvh;min-height:0;overflow:hidden;padding:20px 28px 16px}.play-page .shell-inner{margin-top:88px;gap:0}.play-page .play-choices{margin-top:14px;gap:14px}.play-page .play-waiting{min-height:0;padding:20px 18px}.shell-inner .dim,.shell-inner .status,.shell-inner .err{text-shadow:0 1px 10px var(--bg),0 0 18px var(--bg)}.ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:24px;width:100%}.ctas .cta{width:auto;min-width:10rem;max-width:none}.tabs{display:inline-flex;gap:0;margin:24px auto;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgb(var(--bg-rgb) / .7)}.tabs button{background:none;color:var(--muted);border:0;border-radius:999px;padding:10px 22px;cursor:pointer;font:inherit;font-size:var(--fs-song);font-weight:600}.tabs button.on{color:var(--on-red);background:var(--red);border-bottom-color:transparent}.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;justify-content:center}.result-actions .cta{width:auto;min-width:9rem;max-width:none}.stage-dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 22px;padding:8px 0 4px}.stage-dock .cta{width:auto;min-width:14rem}.ready-meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.ready-meta p{margin:0;color:var(--muted);font-size:var(--fs-song)}.ready-chips{display:flex;flex-wrap:wrap;gap:8px}.ready-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:rgb(var(--bg-rgb) / .7);font-size:var(--fs-song);color:var(--muted)}.ready-chip.on{color:var(--text);border-color:var(--red);box-shadow:0 0 16px rgb(var(--ice-rgb) / .35)}.ready-chip i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.ready-chip.on i{background:var(--red);box-shadow:0 0 8px rgb(var(--ice-rgb) / .9)}.room-code-bar{justify-content:center;padding:6px 0}.room-code-bar button{border-radius:999px}.scoring-wait{text-align:center;max-width:420px}.scoring-copy{margin:0 0 16px;color:var(--muted)}.scoring-track{height:10px;border-radius:99px;background:color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden}.scoring-track span{display:block;height:100%;border-radius:inherit;background:var(--ice);box-shadow:0 0 16px rgb(var(--ice-rgb) / .55);transition:width 80ms linear}.results{max-width:560px}.modal-scrim .results{padding:20px 22px 18px;max-height:min(92dvh,720px);overflow:auto}@media(max-width:760px){.play-choices{grid-template-columns:1fr}.play-page .play-choices{gap:10px}.shell>.back{left:20px;top:20px}.ready-meta{align-items:center;text-align:center}}@media(max-width:760px){.page{padding:calc(14px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}.shell>.page-head{position:relative;top:auto;left:auto;margin:0 0 10px;width:100%}.page-head h1,.shell-inner h1{font-size:var(--fs-title)}.page-head .back{min-height:44px;display:inline-flex;align-items:center}.shell-inner,.shell-inner.wide{width:100%;margin:0}.page.shell.play-page{padding:calc(14px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}.play-page .shell-inner{margin-top:0}.play-choices{margin-top:16px;gap:12px}.play-waiting{min-height:0}.cta{max-width:none;min-height:48px;font-size:var(--fs-body)}.ctas .cta,.result-actions .cta{width:100%;min-width:0}input,select,textarea{font-size:var(--fs-body)}.tabs{width:100%;justify-content:center;margin:12px auto 16px}.tabs button{flex:1 1 auto;padding:10px 12px;font-size:var(--fs-song)}.modal-scrim{padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px))}.results{max-width:100%;width:100%;max-height:calc(100dvh - 24px);overflow:auto;padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:18px;background:var(--bg)}.results h2{font-size:var(--fs-lyric-next)}.lyrics-now{font-size:var(--fs-menu)}.lyrics{min-height:4.2rem}.lyric-line{overflow-wrap:anywhere}.stage,.stage.stage-fit{min-height:100dvh;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:.45rem;padding:calc(8px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px))}.stage-top{flex-wrap:wrap;gap:.35rem .6rem;min-height:0}.stage-top a{min-height:36px;display:inline-flex;align-items:center}.stage-top strong{font-size:var(--fs-song)}.stage-song{font-size:var(--fs-label);flex-basis:100%}.stage-fit .lyrics{min-height:3.1rem;padding:0}.stage-fit .lyrics-now{font-size:var(--fs-menu);-webkit-line-clamp:3}.stage-fit .lyrics-next{font-size:var(--fs-desc);margin:4px 0 0}.stage-fit .pitch-guide{height:auto;min-height:110px;flex:1 1 auto}.pitch-stage{flex:1 1 auto;min-height:110px;display:flex}.stage-dock{flex-direction:column;gap:8px;width:100%}.stage-dock .cta,.stage.stage-fit button.cta{width:100%;min-width:0;min-height:48px}.room-code-bar{justify-content:center;text-align:center;gap:8px}.stage-fit .room-code-digits{font-size:var(--fs-logo)}.stage-chaos{flex:1 1 auto;min-height:0}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))}.tile .name{font-size:var(--fs-song);left:.45rem;bottom:.45rem;padding:.25rem .55rem}.cam-cue{font-size:var(--fs-lyric-next);top:.4rem;left:.45rem}.hit-callout{font-size:var(--fs-title)}}@media(max-width:760px)and (max-height:720px){.play-choices{margin-top:8px;gap:10px}.page-head h1,.shell-inner h1{font-size:var(--fs-lyric)}html:has(.play-page),body:has(.play-page){overflow:auto;height:auto}.page.shell.play-page{height:auto;min-height:100dvh;max-height:none;overflow:visible}}@media(max-height:540px){.page{overflow-y:auto;padding:calc(8px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}.shell{align-items:stretch}.shell>.page-head{position:relative;top:auto;left:auto;width:100%;margin:0 0 4px;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}.page-head h1,.shell-inner h1{font-size:var(--fs-menu)}.page-head .back{min-height:32px}.shell-inner,.shell-inner.wide{margin:0;width:100%}.stage,.stage.stage-fit{min-height:100dvh;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:.35rem;padding:calc(6px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px))}.stage-top{flex-wrap:wrap;gap:.3rem .7rem}.stage-fit .lyrics{min-height:2.6rem}.stage-fit .lyrics-now{font-size:var(--fs-menu)}.stage-fit .pitch-guide{height:auto;min-height:72px;flex:1 1 auto}.stage-dock{flex-wrap:nowrap;gap:10px 14px}.stage-dock .cta{width:auto;min-width:10rem;min-height:42px}.results{max-height:calc(100dvh - 16px);overflow:auto}}.stage-cam{position:relative}.stage .tile-menu-btn{position:absolute;top:.5rem;right:.5rem;z-index:3;width:2.25rem;height:2.25rem;padding:0;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:rgb(var(--bg-rgb) / .62);color:var(--text);font-size:var(--fs-logo);line-height:1}.stage .tile-menu-btn span{transform:translateY(-.22em)}.stage .tile-menu-btn:hover:not(:disabled),.stage .tile-menu-btn:focus-visible{border-color:var(--red);box-shadow:var(--glow-hard)}@media(hover:hover)and (pointer:fine){.stage .tile-menu-btn{opacity:.7;transition:opacity .12s ease}.stage .tile:hover .tile-menu-btn,.stage .stage-cam:hover .tile-menu-btn,.stage .tile-menu-btn:focus-visible{opacity:1}}.safety-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:var(--scrim)}.safety-sheet{width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:20px 20px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--glow-soft);color:var(--text);font-family:var(--font-body)}.safety-kicker{margin:0 0 2px;color:var(--ice);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase}.safety-title{margin:0 0 14px;font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-menu);font-weight:400;letter-spacing:.03em;line-height:1.05;overflow-wrap:anywhere}.safety-body{margin:0 0 4px;color:var(--muted)}.safety-fine{margin:12px 0 0;color:var(--muted);font-size:var(--fs-song)}.safety-actions{display:grid;gap:8px}.safety-row{display:grid;gap:2px;width:100%;padding:12px 14px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer}.safety-row strong{font-weight:600}.safety-row span{color:var(--muted);font-size:var(--fs-song)}.safety-row:hover:not(:disabled),.safety-row:focus-visible{border-color:var(--ice)}.safety-row:disabled{opacity:.5;cursor:not-allowed}.safety-reasons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.safety-chip{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-song);cursor:pointer}.safety-chip:hover,.safety-chip:focus-visible{color:var(--text);border-color:var(--ice)}.safety-chip.on{border-color:var(--red);background:var(--red);color:var(--bg)}.safety-note{display:grid;gap:6px;margin-bottom:12px;color:var(--muted);font-size:var(--fs-song)}.safety-note em{color:var(--muted);font-style:normal}.safety-note textarea{min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:var(--fs-body);resize:vertical}.safety-note textarea:focus{border-color:var(--ice)}.safety-note small{justify-self:end;color:var(--muted);font-size:var(--fs-label)}.safety-check{display:flex;align-items:center;gap:10px;font-size:var(--fs-song);cursor:pointer}.safety-check input{width:18px;height:18px;accent-color:var(--ice)}.safety-error{margin:10px 0 0;color:var(--text);font-weight:600;font-size:var(--fs-song)}.safety-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.safety-primary,.safety-ghost{display:inline-grid;place-items:center;min-height:44px;padding:10px 18px;border-radius:999px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.safety-primary{border:1px solid var(--ice);background:var(--ice);color:var(--bg)}.safety-primary:hover:not(:disabled),.safety-primary:focus-visible{box-shadow:var(--glow-hard)}.safety-primary:disabled{opacity:.45;cursor:not-allowed}.safety-ghost{border:1px solid var(--line);background:transparent;color:var(--muted)}.safety-ghost:hover:not(:disabled),.safety-ghost:focus-visible{border-color:var(--ice);color:var(--text)}@media(max-width:560px){.stage .tile-menu-btn{top:.35rem;right:.35rem;width:2.5rem;height:2.5rem}.safety-scrim{place-items:end stretch;padding:0}.safety-sheet{width:100%;max-height:88dvh;border-bottom:0;border-radius:18px 18px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0px))}.safety-foot>*{flex:1}}.results-scrim{background:var(--scrim)}.results.results-show,.results.booth-wait{position:relative;overflow-x:hidden;overflow-y:auto;max-width:34rem;max-height:calc(100dvh - 32px);padding:var(--sp-6) var(--sp-6) var(--sp-5);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);text-align:center;animation:results-in var(--dur-slow) var(--ease) both}.results.booth-wait{max-width:26rem}.results.results-show.is-versus{border-right:3px solid var(--blue)}@keyframes results-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.results.results-show h2,.results.booth-wait h2{margin:0 0 var(--sp-2);font-size:var(--fs-menu);line-height:var(--leading-tight);text-shadow:none}.booth-dots{display:flex;justify-content:center;gap:6px;margin:0 0 var(--sp-4)}.booth-dots i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:booth-dot 1.2s ease-in-out infinite}.booth-dots i:nth-child(2){animation-delay:.2s}.booth-dots i:nth-child(3){animation-delay:.4s}@keyframes booth-dot{0%,to{opacity:1}50%{opacity:.25}}.booth-wait .t-label{margin:0 0 var(--sp-2);color:var(--muted)}.booth-wait .scoring-copy{min-height:1.5em;margin:0 0 18px;color:var(--text);font-size:var(--fs-body);animation:copy-swap .35s ease both}.booth-wait .scoring-copy span{color:var(--muted);font-variant-numeric:tabular-nums}@keyframes copy-swap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.booth-wait .scoring-track{height:6px;border-radius:var(--r-pill);background:var(--line-soft)}.booth-wait .scoring-track span{border-radius:inherit;background:var(--ice);box-shadow:none}.results-blurb{position:relative;z-index:1;margin:10px auto 0;max-width:26rem;font-size:var(--fs-desc);line-height:1.35;color:var(--text);opacity:0}.results-show.is-landed .results-blurb{animation:blurb-in .45s ease both}@keyframes blurb-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes results-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.results .shared,.results .elo{margin:12px 0 0;font-size:var(--fs-body)}.results .elo.up{color:var(--ice)}.results .elo.down{color:var(--muted)}.results .verdict{margin:14px auto 0;max-width:28rem;padding:10px 14px;border-left:2px solid var(--line-strong);color:var(--ice);font-size:var(--fs-body);line-height:1.4;text-align:left;background:color-mix(in srgb,var(--surface-2) 35%,transparent)}.results .rematch-status{margin:.75rem 0 0;text-align:center;font-size:var(--fs-song);color:var(--muted);font-variant-numeric:tabular-nums}.results .rematch-status.rematch-invited{color:var(--text);font-weight:600}.results .rematch-status.rematch-lapsed,.results .rematch-status.rematch-unavailable{color:var(--ice)}.results-show .result-actions,.results-show .results-moment{opacity:0}.results-show.is-landed .result-actions,.results-show.is-landed .results-moment{animation:blurb-in .4s ease .12s both}@media(prefers-reduced-motion:reduce){.results.results-show,.results.booth-wait,.results-blurb,.results-show .result-actions,.results-show .results-moment,.booth-wait .scoring-copy,.booth-dots i{animation:none}.results-blurb,.results-show .result-actions,.results-show .results-moment{opacity:1}}@media(max-width:760px){.results.results-show,.results.booth-wait{max-width:100%;padding:var(--sp-5) var(--sp-4) var(--sp-4)}.results.results-show h2,.results.booth-wait h2{font-size:var(--fs-lyric-next)}}.results-moment{display:block;width:min(100%,12rem);margin:12px auto 0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--bg);cursor:pointer}.results-moment img,.results-moment video{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.moment-pending{display:block;aspect-ratio:16 / 9;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--ice) 18%,transparent) 50%,transparent 70%) 0 0 / 200% 100%,color-mix(in srgb,var(--surface-2) 40%,var(--bg));animation:moment-sheen 1.4s linear infinite}@keyframes moment-sheen{to{background-position:-200% 0,0 0}}@media(prefers-reduced-motion:reduce){.moment-pending{animation:none}}.moment-label{display:block;padding:6px 8px 8px;color:var(--muted);font-size:var(--fs-label);letter-spacing:.02em}.results-moment:hover,.results-moment:focus-visible{border-color:var(--red);box-shadow:var(--glow-soft)}.share-scrim{z-index:80;background:var(--scrim)}.share-sheet{width:min(28rem,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px 20px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);text-align:center}.share-sheet h2{margin:0 0 14px;font-size:var(--fs-lyric-next);line-height:1.1}.share-card{display:block;width:100%;height:auto;max-height:min(62vh,34rem);object-fit:contain;border-radius:14px;background:var(--bg)}.share-sheet video.share-card{aspect-ratio:16 / 9;object-fit:cover}.share-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.share-actions .cta{width:auto;min-width:8.5rem;max-width:none;min-height:46px;padding:12px 22px}.results.km-results{max-width:36rem}.km-res-song{margin:0 0 var(--sp-4);color:var(--muted)}.results.km-results h2.km-res-head{margin:0 0 var(--sp-5);font-family:var(--font-display);font-size:var(--fs-title);letter-spacing:var(--tr-title);text-transform:uppercase;line-height:var(--leading-tight);color:var(--text)}.km-res-num{margin:0;font-family:var(--font-display);font-size:calc(var(--fs-score) * 1.6);line-height:var(--leading-tight);color:var(--red-text)}.results.km-results h2.km-res-num{margin-bottom:var(--sp-4);font-size:calc(var(--fs-score) * 2);color:var(--red-text)}.km-res-scores{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-bottom:var(--sp-2)}.km-res-side>.t-label{margin:0 0 var(--sp-2);color:var(--red-text)}.km-res-side.them>.t-label{color:var(--blue-text)}.km-res-side.them .km-res-num{color:var(--blue-text)}.km-res-break{display:grid;gap:var(--sp-2);width:min(100%,18rem);margin:var(--sp-3) auto 0;text-align:left}.km-res-break>div{display:grid;grid-template-columns:3.5rem 1fr 3rem;align-items:center;gap:var(--sp-3)}.km-res-break dt{color:var(--muted)}.km-res-break dd{display:contents}.km-res-meter{position:relative;height:6px;border-radius:var(--r-pill);background:var(--line-soft);overflow:hidden}.km-res-meter i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--red);transform-origin:left;animation:results-fill .8s var(--ease) both}.km-res-side.them .km-res-meter i{background:var(--blue)}.km-res-break .digits{text-align:right;font-weight:600;color:var(--text)}.km-results .elo{margin:var(--sp-4) 0 0;color:var(--muted)}.km-results .elo.up{color:var(--red-text)}.km-results .results-blurb{margin:var(--sp-5) auto 0;color:var(--muted);font-size:var(--fs-body)}.km-results .result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line-soft)}@media(max-width:599px){.km-res-scores{gap:var(--sp-4)}.km-res-num{font-size:var(--fs-score)}.km-res-scores .km-res-break>div{grid-template-columns:1fr 2.6rem;row-gap:var(--sp-1)}.km-res-scores .km-res-meter{grid-column:1 / -1;grid-row:2}}
