@import"https://googleapis.com";.app{width:100vw;max-width:100vw;height:100vh;max-height:100vh;overflow:hidden;overflow:clip;padding:11px 11px 0;display:flex;flex-direction:column;align-items:center;gap:40px;font-family:var(--app-font);font-size:13px}button{box-shadow:var(--outset),inset 0 1px #ffffff38,inset 0 -1px #00000040,inset 0 60px 60px -60px #ffffff1f,0 18px 40px #00000073,var(--panel-glow, 0 0 0 0 transparent)}input{border:none}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}.main-container{width:100%;position:relative;z-index:1}.vvv-tooltip{display:inline;font-size:12px;font-weight:800;border:1.5px solid #939393;color:#939393;border-radius:20px;padding:0 3.5px}.vvv-tooltip:hover{color:#fff;border:1px solid white;cursor:pointer}.vvv-tooltip p{margin-bottom:10px}.panel{background:color-mix(in srgb,var(--page-bg) 72%,transparent);backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000040,inset 0 60px 60px -60px #ffffff1f,0 18px 40px #00000073,var(--panel-glow, 0 0 0 0 transparent);transition:box-shadow .25s ease-out;will-change:transform}.panel .panel{background:color-mix(in srgb,var(--accent) 5%,transparent);backdrop-filter:blur(1px) saturate(1.2);-webkit-backdrop-filter:blur(1.5px) saturate(1.2)}.panel-mine{--panel-glow: 0 0 calc(10px * var(--pulse)) calc(2px * var(--pulse)) var(--accent);animation:glowPulse 1s ease-in-out infinite}.inset{box-shadow:var(--inset)}.inset-top{box-shadow:none}.outset{box-shadow:var(--outset)}.selected{border:1px solid var(--accent);box-shadow:0 0 4px 1px var(--accent)}.rounded{border-radius:20px}.heading{padding:0 0 6px}.heading-text{color:#fff;text-transform:lowercase;margin:0;max-height:44px;font-weight:400;text-shadow:2px 2px 6px #22222292!important;padding:0 5px 0 0;border-radius:26px}.title{justify-content:center;align-items:center;display:flex}.pixel-wordmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:min(82.5vh,61.5vw * 2 / 3);aspect-ratio:3 / 2;width:auto;-webkit-user-select:none;user-select:none;pointer-events:none;transition:top 1.2s ease-in-out}.app-backdrop.intro-logo-raised .pixel-wordmark{top:calc(100% / 3)}.wordmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34vw;max-height:46vh;object-fit:contain;filter:drop-shadow(2px 3px 6px #00000066);-webkit-user-select:none;user-select:none;pointer-events:none}.player-settings{display:flex;align-items:center;gap:14px;width:100%}.avatar-preview{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;flex-shrink:0;padding:0;transition:border-color .15s;text-transform:none;letter-spacing:0;font-size:1.4rem;font-weight:400}.avatar-preview:hover{border-color:var(--accent);color:var(--text)}.avatar-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}.rapper-name-input{flex:1;font-size:1rem;font-weight:700}.lobby-entry{display:flex;flex-direction:column;gap:12px;width:100%}.lobby-entry button{width:100%}.song-list{padding:2px 16px;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000040,inset 0 20px 20px -20px #ffffff1f,0 4px 10px #00000073,var(--panel-glow, 0 0 0 0 transparent)}.queue-row-dragging{opacity:.4}.song-list li[draggable=true]{cursor:grab}.song-list li[draggable=true]:active{cursor:grabbing}.queue-remove{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0;border-radius:0;padding:0 0 0 8px;font-size:13px;line-height:1;opacity:.6;filter:grayscale(1) brightness(3.2);cursor:pointer;transition:opacity .12s}.queue-remove:hover,.queue-remove:focus-visible{opacity:1}.song-accordion.MuiPaper-root{background:transparent;background-image:none;box-shadow:none;border-radius:0;color:inherit;width:100%;margin:0}.song-accordion.MuiPaper-root:before{display:none}.song-accordion-summary.MuiAccordionSummary-root{background:transparent;padding:0;min-height:0;color:#fff}.song-accordion button.MuiAccordionSummary-root,.song-accordion .MuiAccordionSummary-root{box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-radius:0}.song-accordion-summary .MuiAccordionSummary-content{margin:0;width:100%;min-width:0}.song-accordion.MuiPaper-root,.song-accordion .MuiAccordionSummary-root{cursor:pointer}.song-accordion-hover .song-list-link,.song-accordion-selected .song-list-link,.song-accordion-selected .song-accordion-details{color:var(--accent);opacity:1}.song-accordion-details.MuiAccordionDetails-root{background:transparent;padding:0 0 12px 0okpx;font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;opacity:.72;text-shadow:2px 2px 6px #222222a8}.song-list-link{background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-radius:0;padding:0;width:100%;font-size:12px;font-family:var(--app-font);text-shadow:2px 2px 6px #222222a8!important}.join-row{display:grid;gap:8px;width:100%}.join-row input{width:100%;height:24px;box-sizing:border-box;letter-spacing:.1em;font-weight:400;font-size:1rem;border-radius:0}.join-row button{width:100%;height:44px;box-sizing:border-box;padding:0;display:flex;align-items:center;justify-content:center;white-space:nowrap}.lobby-code-input{height:24px;box-sizing:border-box;letter-spacing:.1em;font-weight:400;font-size:1rem;border-radius:0;width:100%}.lobby-button{height:24px;padding:0;width:100%}.lobby-code-inline{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:24px;font-size:.95rem;font-weight:900;letter-spacing:.2em;color:var(--accent);background:var(--glass-bg);border-radius:var(--radius);padding:0;min-width:0}.lobby-room{width:100%;display:flex;flex-direction:column;gap:20px}.lobby-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lobby-code-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.lobby-code{font-size:2rem;font-weight:900;letter-spacing:.25em;color:var(--accent);background-color:var(--surface-2)}.player-list{list-style:none;display:flex;flex-direction:column;width:100%}.player-entry{display:flex;align-items:center;gap:8px;padding:10px 24px;border-top:1px solid var(--accent-border);border-radius:0;height:32px}.player-list li:last-child{border-bottom:1px solid var(--accent-border)}.player-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid var(--border);flex-shrink:0}.player-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--border);flex-shrink:0}.player-name{flex:1;font-weight:400;font-size:11px}.host-badge{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1.5px solid var(--accent);border-radius:4px;padding:2px 7px}.player-ready{color:var(--accent)}.begin-button,.sit-out-button{height:40px;width:100%}.round-button{flex:none;height:80px;padding:0 24px;font-size:calc(35px * var(--display-font-scale, 1));font-weight:400;line-height:1;border-radius:15px;transition:background .3s ease,color .3s ease,opacity .3s ease}.round-button:disabled{background:var(--glass-bg);color:#ffffff8c;opacity:1}.round-button:not(:disabled){background:color-mix(in srgb,var(--ready-color, rgb(136, 243, 78)) 80%,transparent)!important;color:#fff;--panel-glow: 0 0 calc(16px * var(--pulse)) calc(3px * var(--pulse)) var(--ready-color, rgb(136, 243, 78));box-shadow:var(--outset),var(--panel-glow);animation:glowPulse 1s ease-in-out infinite}button.primary.round-button:hover:not(:disabled){background:color-mix(in srgb,var(--ready-color, rgb(136, 243, 78)) 80%,white 20%)!important;color:#fff}.ready-button{width:100%;height:80px;font-size:calc(50px * var(--display-font-scale, 1));font-weight:400;line-height:1;border-radius:15px;padding:0 20px;transition:height .3s ease,font-size .3s ease,background .3s ease,color .3s ease,border-color .15s}.ready-check{font-size:calc(1.8em / var(--display-font-scale, 1));line-height:1;vertical-align:middle}.ready-button[aria-pressed=true],button.primary.ready-button[aria-pressed=true]:hover:not(:disabled){height:30px;font-size:calc(.9rem * var(--display-font-scale, 1));background:var(--glass-bg);color:var(--ready-light, rgb(136, 243, 78))}button.primary.ready-button:not([aria-pressed=true]){background:var(--ready-color, var(--glass-accent));background:color-mix(in srgb,var(--ready-color, rgb(136, 243, 78)) 80%,transparent);color:#fff}button.primary.ready-button:not([aria-pressed=true]):hover:not(:disabled){background:color-mix(in srgb,var(--ready-color, rgb(136, 243, 78)) 80%,white 20%);color:#fff}.sit-out-button{height:30px;padding:4px}button.sit-out-button{background-color:color-mix(in srgb,var(--sit-out-color, rgb(255, 71, 71)) 75%,transparent)!important;color:#fff}button.sit-out-button:hover:not(:disabled){background-color:color-mix(in srgb,var(--sit-out-color, rgb(255, 71, 71)) 75%,white 20%)!important;color:#fff}.status{font-size:.8rem;color:var(--muted);text-align:center}.settings-error{font-size:.8rem;color:var(--danger)}.beat-visualizer{width:100%;flex:1 1 0;min-height:0;overflow:hidden;position:relative}.beat-visualizer-track{position:absolute;top:50%;left:24px;right:24px;display:flex;flex-direction:column;gap:var(--bar-gap, 16px);will-change:transform;transition:transform var(--scroll-ms, .2s) linear;overflow:hidden}.beat-visualizer-track.beat-visualizer-snap,.beat-visualizer-track.beat-visualizer-snap .bar-row{transition:none}.bar-stack-spacer{flex:none}.bar-row{display:block;width:100%;flex:0 0 auto;transition:opacity var(--fade-ms, .2s) linear;border-radius:20px}.bar-row.bar-faded,.bar-row.bar-pending{opacity:0}.bar-track{position:relative;height:70px;border-radius:50px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;padding:10px;background-color:var(--row-track, #6464642e);backdrop-filter:blur(1.5px) saturate(1.2);-webkit-backdrop-filter:blur(1.5px) saturate(1.2);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003,inset 0 22px 22px -22px #ffffff1f}.bar-beat-cell{position:relative;border-right:1px solid var(--border);transition:background var(--beat-ms, .8s) ease-out,box-shadow var(--beat-ms, .8s) ease-out,transform var(--beat-ms, .8s) ease-out;background:var(--row-cell-glass, rgba(255, 255, 255, .16));backdrop-filter:blur(1.5px) saturate(1.2);-webkit-backdrop-filter:blur(1.5px) saturate(1.2);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003;border-radius:25px;backdrop-filter:blur(1.2px);-webkit-backdrop-filter:blur(1.2px);height:50px}.bar-beat-cell:last-child{border-right:none}.bar-beat-cell.bar-beat-filled{background:var(--transparent-light)}.bar-row.bar-completed .bar-beat-cell.bar-beat-filled{background:#e8ff4712}.bar-beat-cell.bar-a{background:var(--row-light-glass, var(--beatA))}.bar-beat-cell.bar-b{background:var(--row-mid-glass, var(--beatB))}.bar-beat-cell.bar-beat-pulse{background:var(--row-fill, var(--accent-transparent));box-shadow:0 0 18px var(--row-light, var(--accent)),inset 0 0 14px #ffffff59;transform:scale(1.04);transition-duration:60ms;transition-timing-function:ease-out}.bar-beat-cell.bar-a.bar-beat-pulse{background:var(--row-light-glass, var(--beatA));box-shadow:0 0 22px var(--row-light, var(--beatA)),inset 0 0 14px #ffffff73}.bar-beat-cell.bar-b.bar-beat-pulse{background:var(--row-mid-glass, var(--beatB));box-shadow:0 0 22px var(--row-mid, var(--beatB)),inset 0 0 14px #ffffff73}.bar-index{font-size:.75rem;color:var(--muted);text-align:center}.waiting-screen{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:24px}.waiting-title{font-size:1.1rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--danger)}.waiting-subtitle{font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.waiting-indicator{display:flex;gap:10px}.waiting-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:waiting-pulse 1.2s ease-in-out infinite}.waiting-dot:nth-child(2){animation-delay:.2s}.waiting-dot:nth-child(3){animation-delay:.4s}@keyframes waiting-pulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.battle-screen{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:24px;position:relative}.count-in-overlay{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:center;pointer-events:none}.battle-status{color:var(--muted);font-size:.85rem;text-align:center}.battle-status-text{font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}.recording-indicator{font-size:3rem;line-height:2rem;font-weight:900;letter-spacing:.15em;color:var(--danger);opacity:1}.recording-indicator-off{opacity:0}.rec-status{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;padding-top:30px}.rec-status .battler-heads{margin:0}.rec-status .recording-indicator{margin:0;line-height:1}.rec-status .recording-clarifyer,.rec-status .battle-status-text{line-height:1.2;padding-top:16px}.recording-clarifyer{font-size:1rem;line-height:.5rem;font-weight:900;letter-spacing:.15em;color:var(--danger)}.countdown{display:flex;flex-direction:column;align-items:center;gap:24px}.countdown-label{font-size:.8rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.countdown-beats{display:flex;gap:16px}.countdown-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);background:transparent;transition:background .05s,border-color .05s}.countdown-dot.countdown-dot-active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent)}.countdown-dot.countdown-dot-past{background:var(--accent-dim, var(--accent));border-color:var(--accent-dim, var(--accent));opacity:.5}.countdown-bar{font-size:.75rem;letter-spacing:.18em;color:var(--muted);margin:0;font-variant-numeric:tabular-nums}.battle-countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:60%}.battle-countdown-label{font-size:.8rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}.battle-countdown-number{font-size:7rem;line-height:1;font-weight:800;margin:0;color:var(--accent);text-shadow:0 0 24px var(--accent-dark-transparent),2px 3px 6px #00000066;font-variant-numeric:tabular-nums;animation:countdown-pop .35s cubic-bezier(.2,.9,.3,1)}.battle-countdown-number.battle-countdown-waiting{color:var(--muted);animation:countdown-wait 1.2s ease-in-out infinite alternate}@keyframes countdown-pop{0%{scale:1.35;opacity:.4}to{scale:1;opacity:1}}@keyframes countdown-wait{0%{opacity:.35}to{opacity:.8}}@media (prefers-reduced-motion: reduce){.battle-countdown-number{animation:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.replay-back-link{background:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none!important;border:0!important;border-radius:0;align-self:flex-start;padding:0 0 4px;font-size:11px;letter-spacing:.08em;opacity:.75;cursor:pointer}.replay-back-link:hover{opacity:1;color:var(--accent)}.gallery-storage{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}.gallery-storage-track{height:6px;border-radius:50px;background:#00000059;box-shadow:var(--inset);overflow:hidden}.gallery-storage-fill{height:100%;background:var(--accent);transition:width .25s ease-out}.gallery-storage-full .gallery-storage-fill{background:var(--danger, #ff4747)}.gallery-storage-text{margin:0;font-size:9px;letter-spacing:.05em;text-transform:uppercase;opacity:.6}.gallery-storage-warning{margin:0;font-size:10px;line-height:1.4;color:var(--danger, #ff4747)}.gallery-storage-note{margin:0;font-size:10px;line-height:1.4;opacity:.5}.gallery-empty{margin:0;font-size:11px;opacity:.6;line-height:1.5}.gallery-row{display:grid;grid-template-columns:1fr 34px;gap:6px;align-items:stretch}.gallery-entry{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 12px;text-align:left;min-width:0}.gallery-rappers{font-size:12px;font-weight:900;letter-spacing:.04em}.gallery-vs{opacity:.5;font-weight:400}.gallery-meta{font-size:9px;letter-spacing:.05em;text-transform:uppercase;opacity:.55}.gallery-delete{padding:0;font-size:11px}.replay-transport{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;position:relative;z-index:2}.replay-time{font-size:10px;opacity:.6;font-variant-numeric:tabular-nums}.replay-progress{flex:1 1 auto;height:8px;padding:6px 0;background-clip:content-box;box-sizing:content-box;touch-action:none;border-radius:50px;background:#00000059;box-shadow:var(--inset);cursor:pointer;overflow:hidden}.replay-progress-fill{height:100%;background:var(--accent)}.replay-play-button{flex:none;width:32px;height:32px;padding:0;border-radius:50%;font-size:11px;line-height:1}.replay-loop-clear{flex:none;height:28px;padding:0 12px;border-radius:14px;font-size:10px;letter-spacing:.06em}.bar-track-selectable{cursor:pointer}.bar-track-selectable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit;pointer-events:none;transition:background-color .15s ease-out,box-shadow .15s ease-out}.beat-visualizer-looping .bar-row:not(.bar-row-selected) .bar-track-selectable:before{background-color:#00000061}.bar-row-selected .bar-track-selectable:before{box-shadow:inset 0 0 0 2px var(--row-base, var(--accent)),inset 0 0 14px color-mix(in srgb,var(--row-base, var(--accent)) 55%,transparent)}.playback-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none}.playback-begin-button{pointer-events:auto;padding:22px 56px;font-family:var(--display-font);font-size:calc(32px * var(--display-font-scale, 1));letter-spacing:.06em;font-weight:400;text-transform:uppercase;border-radius:18px}.playback-begin-button:disabled{opacity:.4}.playback-screen{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:24px}.playback-screen-replay{padding-bottom:calc(var(--stage-floor-h, 0px) + 8px)}.playback-screen-replay .replay-transport{margin-top:auto}.battle-recording{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:12px;overflow:visible;position:relative}.vs-header{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.vs-name{font-size:1.1rem;font-weight:800;color:var(--text)}.vs-label{font-size:.75rem;font-weight:900;letter-spacing:.15em;color:var(--accent)}.bar-prompt-inline{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;pointer-events:none}.bar-prompt-text{line-height:1;text-align:center;max-width:100%}.waveform-reveal{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.waveform-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.voting-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;pointer-events:none}.voting-screen>*{pointer-events:auto}.voting-cards{display:grid;grid-template-columns:repeat(var(--vote-cols, 2),150px);justify-content:center;gap:14px}.vote-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;height:190px;padding:14px 10px;border-radius:18px;border:1.5px solid var(--vote-edge, rgba(255, 255, 255, .25));background:var(--vote-glass, var(--glass-bg));backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;transition:background .15s,transform .15s}.vote-card:hover{background:var(--vote-glass-hover, var(--glass-bg));transform:translateY(-3px)}.app-mobile .voting-screen{overflow-y:auto;padding:16px 12px;justify-content:safe center}.app-mobile .voting-cards{grid-template-columns:minmax(0,150px);gap:10px}.app-mobile .voting-cards-multi{grid-template-columns:repeat(2,minmax(0,150px))}.app-mobile .vote-card{height:170px}.vote-card-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display-font);font-size:calc(1.3rem * var(--display-font-scale, 1));font-weight:400;color:var(--vote-color, var(--accent))}.voting-prompt{font-size:1.1rem;font-weight:900;letter-spacing:.15em;color:var(--accent)}.results-screen{width:100%;height:100%}.results-headline{font-size:1.3rem;font-weight:900;letter-spacing:.1em;color:var(--accent)}.result-banner{text-align:center;padding:20px 12px}.result-name{font-weight:700;font-size:calc(.95rem * var(--display-font-scale, 1))}.ready-button,.round-button,.game-mode-button,.result-banner .result-name,.result-banner .banner-label{font-family:var(--display-font)}.banner-label{font-size:calc(1.1rem * var(--display-font-scale, 1));font-weight:900;letter-spacing:.1em}.result-banner.goat .banner-label{color:var(--accent)}.result-banner.choked .banner-label{color:var(--danger)}.results-note{font-size:.8rem;color:var(--text);text-align:center}.champion-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px}.champion-banner{text-align:center;padding:24px;width:100%}.champion-label{font-size:.8rem;font-weight:800;letter-spacing:.2em;color:var(--muted)}.champion-name{font-size:1.6rem;font-weight:900;color:var(--accent)}.player-eliminated{opacity:.4}.out-badge{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--danger);border:1.5px solid var(--danger);border-radius:4px;padding:2px 7px}.game-settings,.rhyme-scheme,.bars-section{align-content:flex-start}.bar-row.bar-row-opponent .bar-track{opacity:.45;border-style:dashed}.game-settings{width:100%;height:auto;padding:0}.settings-panel{flex-direction:column;flex-wrap:nowrap}.ready-up-floating{position:absolute;bottom:12px;left:50%;transform:translate(-50%);width:auto;padding:0 32px;z-index:3}.beat-controls.MuiGrid-root{padding:2px 0;display:flex;flex-direction:column;flex-wrap:nowrap;height:100%;min-height:0}.beat-controls.MuiGrid-root>.MuiGrid-root{flex:0 0 auto}.beat-controls.MuiGrid-root>.song-list-section{flex:1 1 auto;min-height:0}.beat-name{text-align:center;color:var(--accent);text-shadow:1px 1px 2px #00000066}.progress-bar{padding:0 4px}.add-song-button{width:100%;height:30px;padding:0!important;font-size:18px;line-height:1}.song-owner-actions{justify-content:flex-end;gap:6px;margin-top:6px}.song-owner-button{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0;padding:0 2px;font-size:13px;line-height:1;opacity:.7}.song-owner-button:hover:not(:disabled),.song-owner-button:focus-visible,.song-owner-button-on{opacity:1}.song-owner-button-on{color:var(--accent);text-shadow:0 0 6px var(--accent)}.downloading-dots{display:block;text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.downloading-dot{animation:downloadingDot 1.2s infinite;opacity:0}.downloading-dot:nth-child(2){animation-delay:.3s}.downloading-dot:nth-child(3){animation-delay:.6s}@keyframes downloadingDot{0%,15%{opacity:0}25%,85%{opacity:1}to{opacity:0}}.add-song{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.add-song-library{display:flex;flex-direction:column;gap:6px}.add-song-beatmaker{align-self:center;width:80%;margin-top:4px}.add-song-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.add-song-field{display:flex;flex-direction:column;gap:4px;min-width:0}.add-song-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.add-song-field input[type=text],.add-song-field select{width:100%;height:32px;padding:0 10px;border-radius:10px;color:var(--text);font-family:inherit}.add-song-file-row{display:flex;align-items:center;gap:10px;min-width:0}.add-song-file-button{flex:0 0 auto;height:32px;padding:0 16px;border-radius:10px}.add-song-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;opacity:.8}.add-song-hint{margin:0;font-size:11px;opacity:.75}.add-song-bad{color:#ff8a7a;opacity:1}.add-song-note{margin:4px 0 0;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.4;background:#ffbe3c1f;border:1px solid rgba(255,190,60,.35)}.add-song-error{margin:0;font-size:12px;color:#ff8a7a}.music-volume{padding:0 0 0 6px}.music-volume-mode{margin-left:8px;padding:1px 6px;border-radius:6px;font-size:9px;letter-spacing:.1em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent)}.solo-results-screen{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px;padding:32px 0}.solo-results-title{font-size:1.4rem;font-weight:900;letter-spacing:.08em;color:var(--accent);text-shadow:1px 1px 2px #00000066}.solo-results-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.lobby-button-leave{color:var(--ready-color, var(--danger, #e05252));border-color:var(--ready-color, var(--danger, #e05252))}.lobby-code-inline{cursor:pointer;font:inherit;color:inherit;width:100%}.reconnecting-badge{font-size:9px;letter-spacing:.06em;padding:2px 6px;border-radius:3px;color:var(--warn, #e8b33c);white-space:nowrap}.player-disconnected{opacity:.55}.sitting-out-badge{font-size:9px;letter-spacing:.06em;padding:2px 6px;border-radius:3px;color:var(--danger);white-space:nowrap}.ready-badge{font-size:9px;letter-spacing:.06em;padding:2px 6px;border-radius:3px;color:var(--accent);white-space:nowrap}.speaker-icon{flex:0 0 auto;color:var(--accent);overflow:visible}.speaker-icon-inactive{opacity:.3}.speaker-bar{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;opacity:0;transition:opacity 90ms linear}.speaker-icon[data-bars="1"] .speaker-bar-1,.speaker-icon[data-bars="2"] .speaker-bar-1,.speaker-icon[data-bars="2"] .speaker-bar-2,.speaker-icon[data-bars="3"] .speaker-bar-1,.speaker-icon[data-bars="3"] .speaker-bar-2,.speaker-icon[data-bars="3"] .speaker-bar-3{opacity:1}.speaker-slash{stroke:var(--danger, #e05252);stroke-width:2;stroke-linecap:round;opacity:0}.speaker-icon-muted{color:var(--danger, #e05252);opacity:.75}.speaker-icon-muted .speaker-slash{opacity:1}.speaker-icon-muted .speaker-bar{opacity:0!important}.mic-settings{display:flex;align-items:center;gap:10px;width:100%;padding:4px 0}.mic-settings-error{font-size:11px;color:var(--danger, #e05252)}.mic-knob{position:relative;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid var(--accent);cursor:ns-resize;touch-action:none}.mic-knob:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mic-knob-muted{border-color:var(--danger, #e05252);opacity:.6}.mic-knob-indicator{position:absolute;left:50%;top:3px;width:2px;height:11px;margin-left:-1px;border-radius:1px;background:var(--accent)}.mic-knob-muted .mic-knob-indicator{background:var(--danger, #e05252)}.peer-volume{display:flex;align-items:center;flex:0 0 auto;width:100px;opacity:.5;transition:opacity .12s}.player-entry:hover .peer-volume,.peer-volume:focus-within,.peer-volume.peer-volume-set{opacity:1}.peer-volume .meter-slider>.meter-slider-rail{height:6px;margin-top:-3px}.peer-volume .meter-slider .meter-slider-input{padding:8px 0}.peer-volume .meter-slider .meter-slider-input .MuiSlider-thumb{width:10px;height:10px;border-width:1.5px}.mic-mute-button,.mic-solo-button{flex:0 0 auto;font-size:10px;letter-spacing:.05em;padding:4px 8px;cursor:pointer}.mic-settings>.mic-mute-button,.mic-buttons{width:52px}.mic-buttons{flex:0 0 auto;display:flex;flex-direction:column;gap:4px}.mic-buttons>button{width:100%}.meter-slider{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center}.meter-slider>.meter-slider-rail{position:absolute;left:0;right:0;top:50%;height:8px;margin-top:-4px;border-radius:4px}.meter-slider .meter-slider-input{color:var(--accent);padding:13px 0}.meter-slider .meter-slider-input .MuiSlider-rail{opacity:0}.meter-slider .meter-slider-input .MuiSlider-thumb{width:14px;height:14px;background:var(--text, #fff);border:2px solid var(--accent);box-shadow:0 0 8px var(--accent)}.meter-slider .meter-slider-input .MuiSlider-thumb:hover,.meter-slider .meter-slider-input .MuiSlider-thumb.Mui-focusVisible,.meter-slider .meter-slider-input .MuiSlider-thumb.Mui-active{box-shadow:0 0 8px var(--accent),0 0 0 6px color-mix(in srgb,var(--accent) 25%,transparent)}.meter-slider .meter-slider-input .MuiSlider-mark{width:2px;height:12px;border-radius:1px;background:#ffffff73}.meter-slider-muted .meter-slider-input .MuiSlider-thumb{border-color:var(--danger, #e05252);box-shadow:none}.mic-solo-button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.mic-meter-track{flex:1 1 auto;height:6px;border-radius:3px;background:#00000040;overflow:hidden}.mic-meter-fill{width:0%;height:100%;border-radius:3px;background:var(--accent)}.mic-meter-fill.mic-meter-hot{background:var(--danger, #e05252)}.volume-readout{flex:0 0 auto;min-width:34px;text-align:right;font-size:11px;letter-spacing:.05em;color:var(--accent);font-variant-numeric:tabular-nums}.progress-bar-wrap{display:flex;align-items:center;gap:8px;width:100%}.progress-bar-track{flex:1 1 auto;height:6px;border-radius:3px;background:#00000040;overflow:hidden}.progress-bar-fill{width:0%;height:100%;border-radius:3px;background:var(--accent);box-shadow:0 0 6px var(--accent-dark-transparent)}.progress-bar-time{flex:0 0 auto;font-size:11px;font-variant-numeric:tabular-nums;color:var(--accent);text-shadow:1px 1px 2px #00000066;opacity:.85}.beat-control-button{width:100%;text-align:center;padding:0;height:40px;border-radius:18px}.scheme-list{padding:0 6px}.scheme-button{text-align:center;font-size:10px;width:100%}.selected-scheme{color:var(--accent);border:1px solid var(--accent);box-shadow:0 0 4px 1px var(--accent);margin-top:-1px}.selected-scheme:disabled{opacity:1}.word-list-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:.65em 1.4em;border-radius:50px;border:0px solid var(--border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:#fff;cursor:pointer;transition:border-color .15s,background .15s,color .15s;height:30px}.word-list-select:focus{outline:none}.word-list-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.word-list-select:disabled{opacity:.85;cursor:not-allowed}.double-time-row .double-time-switch{margin:-6px 0}.double-time-row .double-time-switch .MuiSwitch-switchBase{background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.double-time-row .double-time-switch .MuiSwitch-track{background:var(--glass-bg);opacity:1;border-radius:10px;box-shadow:var(--inset)}.double-time-row .double-time-switch .MuiSwitch-thumb{background:#d8d8d8;transition:background .2s,box-shadow .2s}.double-time-row .double-time-switch .MuiSwitch-switchBase.Mui-checked .MuiSwitch-thumb{background:var(--accent);box-shadow:0 0 8px var(--accent)}.double-time-row .double-time-switch .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background:var(--accent-transparent);opacity:1}.double-time-row .double-time-switch .MuiSwitch-switchBase.Mui-disabled:not(.Mui-checked)+.MuiSwitch-track,.double-time-row .double-time-switch .MuiSwitch-switchBase.Mui-disabled:not(.Mui-checked) .MuiSwitch-thumb{opacity:.4}.double-time-row .double-time-switch .MuiSwitch-switchBase.Mui-disabled.Mui-checked+.MuiSwitch-track{opacity:1}.word-list-select option{background:var(--surface);color:var(--text)}.ready-begin-button{margin-top:auto}.circular-spectrum{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.circular-spectrum-canvas{display:block;width:100%;height:100%}.visualizer-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.visualizer-floor{position:fixed;left:0;right:0;bottom:16px;z-index:2;display:flex;justify-content:center;pointer-events:none}.visualizer-picker{pointer-events:auto;position:relative;display:flex;align-items:center;gap:20px;padding:12px 20px 26px}.visualizer-picker-middle{display:flex;flex-direction:column;align-items:center;gap:10px}.visualizer-name{min-width:260px;text-align:center;font-family:var(--display-font);font-size:calc(2em * var(--display-font-scale, 1));line-height:1.1;white-space:nowrap}.visualizer-arrow{width:48px;height:48px;border-radius:50%;padding:0;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}.visualizer-colors{display:flex;flex-direction:column;align-items:center;gap:6px}.visualizer-colors-heading{font-size:11px;letter-spacing:.12em;opacity:.75}.visualizer-colors-row{display:flex;gap:12px}.visualizer-swatch{position:relative;width:36px;height:36px;padding:0;border-radius:50%;border:2px solid var(--swatch);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:.55}.visualizer-swatch:after{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:2px;background:var(--swatch);transform:translate(-50%) rotate(45deg)}.visualizer-swatch-on{background:var(--swatch);opacity:1;box-shadow:0 0 10px var(--swatch)}.visualizer-swatch-on:after{content:none}.visualizer-back{position:absolute;left:50%;bottom:4px;transform:translate(-50%);font-size:11px;white-space:nowrap}.party-identity{display:flex;align-items:center;gap:16px;width:100%}.party-fields{flex:1 1 auto;min-width:0}.avatar-frame{flex:0 0 auto;display:block;padding:0;overflow:hidden;border-radius:12px;border:2px solid var(--accent-border);background:var(--accent-darkest-transparent);line-height:0}.avatar-image{width:100%;height:100%;display:block;image-rendering:pixelated}.avatar-sprite{position:relative;display:block;width:100%;height:100%;overflow:hidden}.avatar-sprite .sprite-frames{position:absolute;width:calc(100% * var(--sprite-w));height:auto;left:calc(-100% * var(--sprite-x));top:calc(-100% * var(--sprite-y));max-width:none;image-rendering:pixelated;animation-name:avatar-sprite;animation-duration:var(--avatar-bob-ms, 1.1s);animation-iteration-count:infinite}@keyframes avatar-sprite{0%{transform:translate(0)}to{transform:translate(calc(-100% * var(--sprite-span)))}}@media (prefers-reduced-motion: reduce){.avatar-sprite .sprite-frames{animation:none}}.avatar-empty{display:block;width:100%;height:100%}.avatar-button{cursor:pointer;transition:border-color .15s,transform .15s}.avatar-button:hover,.avatar-button:focus-visible{border-color:var(--accent);transform:scale(1.04)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000061;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.modal{width:min(560px,100%);max-height:100%;overflow-y:auto;padding:20px;border-radius:16px;border:0;background:color-mix(in srgb,var(--accent) 9%,transparent);backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000040,inset 0 60px 60px -60px #ffffff1f,0 18px 40px #00000073;transition:background .18s ease-out}.modal button:not(.character-cell):not(.character-color):not(.MuiAccordionSummary-root):not(.replay-back-link),.modal select,.modal input[type=text]{background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text)}.modal button:not(.character-cell):not(.character-color):not(.MuiAccordionSummary-root):not(.replay-back-link):hover:not(:disabled){background:color-mix(in srgb,var(--accent) 34%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.modal .fx-toggle-on,.modal .settings-toggle-on,.modal .selected-scheme,.modal button.primary{background:color-mix(in srgb,var(--accent) 46%,transparent);border-color:var(--accent)}.modal select option{background:var(--surface);color:var(--text)}.modal input[type=text]::placeholder{color:color-mix(in srgb,var(--text) 45%,transparent)}.modal-title{text-align:center;letter-spacing:.18em;font-size:13px;color:var(--text);margin-bottom:16px}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.character-cell{position:relative;padding:0;aspect-ratio:1;border-radius:10px;border:2px solid transparent;background:#00000059;cursor:pointer;overflow:hidden;line-height:0;transition:border-color .12s,transform .12s}.character-cell img{width:100%;height:100%;display:block;image-rendering:pixelated}.character-cell:hover:not(:disabled){border-color:var(--cell-base);transform:scale(1.05)}.character-cell-selected{border-color:var(--cell-base);box-shadow:0 0 16px var(--cell-base);transform:scale(1.05)}.character-cell-taken{cursor:not-allowed;filter:grayscale(1);opacity:.35}.character-cell-taken-label{position:absolute;inset:auto 0 6px 0;font-size:9px;letter-spacing:.1em;color:var(--text);line-height:1}.character-picker-name{text-align:center;margin-top:14px;letter-spacing:.14em;font-size:15px;color:var(--pick-base, var(--accent))}.character-colors{display:flex;justify-content:center;gap:8px;margin-top:10px}.character-color{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:var(--swatch);-webkit-backdrop-filter:none;backdrop-filter:none;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.character-color:nth-child(3){margin-left:10px}.character-color:hover{border-color:#fff9}.character-color-selected{border-color:#fff;box-shadow:0 0 10px var(--swatch);transform:scale(1.15)}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:14px}.settings-menu{display:flex;flex-direction:column;margin:0 25%;gap:10px}.settings-entry{width:100%;padding:12px;margin-bottom:12px;font-size:12px;letter-spacing:.12em;font-weight:900}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-dim, #ffffff8c)}.tooltips-intro-text{margin:0 0 4px;font-size:12px;line-height:1.5}.tooltips-intro-note{margin:4px 0 0;font-size:11px;opacity:.6}.settings-toggle-on{color:var(--accent);box-shadow:0 0 12px var(--accent),var(--outset)}.settings-toggle-state{font-size:10px;opacity:.8}.settings-group-title{margin:8px 0 2px;font-size:11px;letter-spacing:.18em;color:var(--text-dim, #ffffff8c)}.fx-panel{display:flex;flex-direction:column;gap:8px}.fx-row{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:12px}.hotswap-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;letter-spacing:.04em;padding-left:4px;padding-right:4px}.hotswap-pressed{transform:translateY(1px)}.hotswap-button:disabled{opacity:.35;letter-spacing:.08em}.fx-hotswap-title{margin-top:14px}.fx-hotswap-list{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.fx-hotswap-row{display:flex;flex-direction:column;gap:3px;min-width:0}.fx-hotswap-slot{font-size:9px;font-weight:900;opacity:.55;text-align:center}.fx-hotswap-select{height:28px;font-size:9px;width:100%;min-width:0;padding-left:.3em;padding-right:.3em}.fx-hotswap-empty{margin:0;font-size:11px;opacity:.5}.fx-save-row{display:grid;grid-template-columns:1fr 72px;gap:10px;align-items:center;margin-top:4px}.fx-save-name{font-size:12px;height:30px;width:100%}.fx-save-button{height:30px;padding:0;font-size:10px;letter-spacing:.12em;font-weight:900}.fx-save-button:disabled{opacity:.3;cursor:not-allowed}.fx-presets{margin-bottom:2px}.fx-toggle{padding:8px 6px;font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--text-dim, #ffffff8c)}.fx-toggle-on{color:var(--accent);box-shadow:0 0 12px var(--accent),var(--outset)}.fx-slider,.fx-fader{accent-color:var(--accent);margin:0;opacity:.45;transition:opacity .15s ease-out}.fx-row-on .fx-slider,.fx-row-on .fx-fader{opacity:1}.fx-slider{width:100%}.fx-eq{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;justify-items:center}.fx-eq-band{display:flex;flex-direction:column;align-items:center;gap:4px}.fx-fader{writing-mode:vertical-lr;direction:rtl;height:84px;width:14px}.fx-eq-hz{font-size:8px;letter-spacing:.02em;color:var(--text-dim, #ffffff8c)}.character-hidden-row{display:flex;align-items:center;gap:10px;margin-top:12px}.character-hidden-label{font-size:11px;letter-spacing:.16em;text-transform:lowercase;color:var(--text-dim, #ffffff8c);flex-shrink:0}.character-hidden-input{flex:1;min-width:0;height:26px;box-sizing:border-box;padding:0 8px;font-size:12px;letter-spacing:.08em;border-radius:0;background:#00000059;border:1px solid var(--accent-border, #ffffff33);color:var(--text, #fff)}.character-hidden-input:focus{outline:none;border-color:var(--pick-base, var(--accent))}.character-hidden-hit{text-align:center;margin:8px 0 0;font-size:11px;letter-spacing:.14em;color:var(--pick-base, var(--accent))}.character-cell-hidden:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;box-shadow:inset 0 0 0 2px var(--cell-base);opacity:.55;pointer-events:none}.battler-heads{width:100%;margin-bottom:8px}.battler-heads-row{display:flex;align-items:center;justify-content:center;gap:18px}.battler-heads-center{flex:0 1 auto;width:260px;min-width:0;display:flex;align-items:center;justify-content:center}.battler-heads-row-many{flex-wrap:wrap;gap:10px 14px}.battler-heads-row-many .battler-head{max-width:88px}.battler-heads-row-many .battler-head-name{font-size:10px;max-width:84px}.battler-heads-center-below{margin:6px auto 0}.battler-head{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:132px;min-width:0;transition:opacity .25s ease-out,filter .25s ease-out}.battler-head-dim{opacity:.4;filter:grayscale(1)}.battler-head-name{font-size:12px;max-width:100%;overflow-wrap:anywhere;text-align:center;letter-spacing:.08em;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battler-heads-vs{font-size:11px;letter-spacing:.12em;color:var(--muted);padding-bottom:18px}.battler-heads-caption{text-align:center;margin-top:6px;font-size:12px;letter-spacing:.06em;color:var(--muted)}.score-column-out{opacity:.45}.score-out{text-align:center;font-size:10px;letter-spacing:.14em;color:var(--danger);font-weight:900}.vote-clock{text-align:center;font-size:34px;line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--accent);transition:color .2s}.vote-clock-urgent{color:var(--danger)}.bar-track-reactable{cursor:pointer}.bar-track-reactable:after{content:"";position:absolute;inset:auto 0 0 0;height:40%;pointer-events:none;background:linear-gradient(to top,#ff8a1f38,#ff8a1f00);opacity:.75;animation:ember-breathe 2.2s ease-in-out infinite alternate}.bar-track-reactable:hover:after,.bar-track-reactable:focus-visible:after{opacity:1}@keyframes ember-breathe{0%{opacity:.45}to{opacity:.85}}@media (prefers-reduced-motion: reduce){.bar-track-reactable:after{animation:none}}.intro-banner{display:flex;align-items:center;justify-content:center;min-height:96px;width:100%;pointer-events:none;text-align:center}.intro-banner-text{font-size:1.35rem;font-weight:900;letter-spacing:.28em;text-indent:.28em;color:var(--accent);text-shadow:0 0 14px var(--accent-transparent);animation:intro-flash .28s ease-out}.intro-banner-count{font-size:3.2rem;font-weight:900;line-height:1;color:var(--danger);text-shadow:0 0 18px var(--danger-transparent);font-variant-numeric:tabular-nums;animation:intro-count .42s ease-out}.intro-banner-rec{display:inline-flex;align-items:center;gap:12px;font-size:2.4rem;font-weight:900;letter-spacing:.22em;text-indent:.22em;line-height:1;color:var(--danger);text-shadow:0 0 18px var(--danger-transparent);animation:intro-rec .5s ease-out}.intro-banner-rec-dot{width:22px;height:22px;border-radius:50%;background:var(--danger);box-shadow:0 0 14px var(--danger);text-indent:0;flex:0 0 auto}.intro-banner-name{font-size:1.8rem;overflow-wrap:anywhere;line-height:1.15;font-weight:900;letter-spacing:.16em;text-indent:.16em;line-height:1;color:var(--accent);text-shadow:0 0 14px #00000066;animation:intro-name .45s ease-out}@keyframes intro-rec{0%{opacity:.25;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes intro-name{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-flash{0%{opacity:.15;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes intro-count{0%{opacity:.2;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.intro-banner-text,.intro-banner-count,.intro-banner-rec,.intro-banner-name{animation:none}}.bar-row-grey{--row-base: #9a9a9a;--row-light: #d5d5d5;--row-mid: #6d6d6d;--row-track: rgba(86, 86, 86, .55);--row-light-glass: rgba(213, 213, 213, .45);--row-mid-glass: rgba(109, 109, 109, .55);--row-fill: rgba(213, 213, 213, .72)}.bar-row-grey .bar-track{backdrop-filter:grayscale(1) blur(2px);-webkit-backdrop-filter:grayscale(1) blur(2px)}.bar-row-grey .bar-beat-pulse{box-shadow:0 0 12px #ebebebbf}.bar-row-rec .bar-track{box-shadow:inset 0 0 0 2px var(--danger),0 0 18px -4px var(--danger-transparent)}.bar-rec-dot{position:absolute;left:3px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--danger);box-shadow:0 0 7px var(--danger);animation:rec-pulse 1s ease-in-out infinite;pointer-events:none;z-index:2}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.bar-rec-dot{animation:none}}.bar-track-reactable:hover,.bar-track-reactable:focus-visible{box-shadow:inset 0 0 0 2px var(--row-light, var(--accent));outline:none}.bar-track-reactable:active{box-shadow:inset 0 0 0 2px var(--row-light, var(--accent)),inset 0 0 26px var(--row-light, var(--accent))}.bar-flames{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;--fire-tip: #fffbe8;--fire-c1: #ffe884;--fire-c2: #ffc02e;--fire-c3: #ff7a10;--fire-c4: #f23806;--fire-c4-rgb: 220 40 0;--fire-lobe-a: 255 146 32;--fire-lobe-b: 255 178 48;--fire-lobe-c: 255 150 36;--fire-lobe-fade: 255 90 15;--fire-wash-lo: 255 84 14;--fire-wash-mid: 255 132 26;--fire-wash-hi: 255 60 0;--fire-core-hot: 255 240 196;--fire-core-mid: 255 190 66;--fire-core-fade: 255 150 20;--fire-glow: 255 122 26;--fire-glow-deep: 255 90 14;pointer-events:none;transform-origin:50% 100%;animation:flames-flare .5s cubic-bezier(.2,.9,.3,1)}.bar-flames:before{content:"";position:absolute;top:4%;right:-8%;bottom:-28%;left:-8%;background:radial-gradient(ellipse 46% 88% at 24% 100%,rgb(var(--fire-lobe-a) / .8),rgb(var(--fire-lobe-fade) / 0) 72%),radial-gradient(ellipse 42% 82% at 60% 100%,rgb(var(--fire-lobe-b) / .75),rgb(var(--fire-lobe-fade) / 0) 72%),radial-gradient(ellipse 44% 86% at 88% 100%,rgb(var(--fire-lobe-c) / .78),rgb(var(--fire-lobe-fade) / 0) 72%),linear-gradient(to top,rgb(var(--fire-wash-lo) / .9),rgb(var(--fire-wash-mid) / .4) 50%,rgb(var(--fire-wash-hi) / 0) 92%);filter:blur(9px);mix-blend-mode:screen;opacity:var(--fire-body, .8);animation:fire-body-breathe .9s ease-in-out infinite alternate}.bar-flames:after{content:"";position:absolute;left:0;right:0;bottom:0;height:32%;background:linear-gradient(to top,rgb(var(--fire-core-hot) / .62),rgb(var(--fire-core-mid) / .2) 52%,rgb(var(--fire-core-fade) / 0));filter:blur(7px);mix-blend-mode:screen;opacity:var(--fire-body, .8);animation:fire-core-pulse .55s ease-in-out infinite alternate}.bar-flame{position:absolute;bottom:var(--flame-sink, -14%);left:calc(var(--flame-i) * var(--flame-step, 15%) - 8% + var(--flame-xoff, 0%));width:var(--flame-w, 38%);height:calc(var(--flame-h, 90%) * var(--flame-var, 1));border-radius:50% 50% 44% 44%/62% 62% 38% 38%;background:radial-gradient(ellipse at 50% 92%,var(--fire-tip) 0%,var(--fire-c1) 13%,var(--fire-c2) 31%,var(--fire-c3) 56%,var(--fire-c4) 76%,rgb(var(--fire-c4-rgb) / 0) 88%);mix-blend-mode:screen;filter:blur(var(--flame-blur, 3px));opacity:var(--flame-o, .95);transform-origin:50% 100%;animation:flame-rise var(--rise-ms, .62s) ease-in-out infinite alternate,flame-sway var(--sway-ms, 1.15s) ease-in-out infinite alternate,flame-lick var(--lick-ms, .37s) ease-in-out infinite alternate;animation-delay:calc(var(--flame-i) * -97ms),calc(var(--flame-i) * -211ms),calc(var(--flame-i) * -53ms)}.bar-flame:nth-child(2n){--rise-ms: .79s;--sway-ms: 1.37s;--lick-ms: .43s}.bar-flame:nth-child(5n+1){--flame-var: 1;--flame-xoff: 0}.bar-flame:nth-child(5n+2){--flame-var: .6;--flame-xoff: 1.5%}.bar-flame:nth-child(5n+3){--flame-var: 1.3;--flame-xoff: -1.1%}.bar-flame:nth-child(5n+4){--flame-var: .78;--flame-xoff: 2.1%}.bar-flame:nth-child(5n+5){--flame-var: 1.12;--flame-xoff: -1.9%}.bar-flames[data-heat="1"]{--flame-w: 30%;--flame-h: 62%;--flame-o: .4;--flame-sink: -20%;--flame-blur: 5px;--fire-body: .2}.bar-flames[data-heat="2"]{--flame-w: 34%;--flame-h: 84%;--flame-o: .46;--flame-sink: -18%;--flame-blur: 6px;--fire-body: .26}.bar-flames[data-heat="3"]{--flame-w: 38%;--flame-h: 108%;--flame-o: .52;--flame-sink: -15%;--flame-blur: 7px;--fire-body: .32}.bar-flames[data-heat="4"]{--flame-w: 42%;--flame-h: 128%;--flame-o: .58;--flame-sink: -12%;--flame-blur: 8px;--fire-body: .38}.bar-flames[data-heat="5"]{--flame-w: 44%;--flame-h: 140%;--flame-o: .62;--flame-sink: -11%;--flame-blur: 8px;--fire-body: .42}.bar-flames[data-heat="6"]{--flame-w: 47%;--flame-h: 152%;--flame-o: .68;--flame-sink: -10%;--flame-blur: 9px;--fire-body: .47}.bar-flames[data-heat="7"]{--flame-w: 50%;--flame-h: 166%;--flame-o: .74;--flame-sink: -8%;--flame-blur: 10px;--fire-body: .52}.bar-flames[data-heat="5"],.bar-flames[data-heat="6"],.bar-flames[data-heat="7"]{--fire-tip: #f4fbff;--fire-c1: #c2ecff;--fire-c2: #62cbff;--fire-c3: #1f84ff;--fire-c4: #1c2fe6;--fire-c4-rgb: 20 40 220;--fire-lobe-a: 70 170 255;--fire-lobe-b: 120 205 255;--fire-lobe-c: 80 180 255;--fire-lobe-fade: 30 90 255;--fire-wash-lo: 30 100 255;--fire-wash-mid: 60 150 255;--fire-wash-hi: 20 60 255;--fire-core-hot: 214 244 255;--fire-core-mid: 110 200 255;--fire-core-fade: 60 150 255;--fire-glow: 60 150 255;--fire-glow-deep: 30 90 255}.bar-flames[data-heat="2"],.bar-flames[data-heat="3"]{box-shadow:inset 0 -14px 22px -8px rgb(var(--fire-glow) / .4)}.bar-flames[data-heat="4"],.bar-flames[data-heat="5"]{box-shadow:inset 0 -26px 34px -6px rgb(var(--fire-glow) / .6),inset 0 0 30px -4px rgb(var(--fire-glow-deep) / .45)}.bar-flames[data-heat="6"],.bar-flames[data-heat="7"]{box-shadow:inset 0 -34px 42px -4px rgb(var(--fire-glow) / .75),inset 0 0 40px -2px rgb(var(--fire-glow-deep) / .6)}@keyframes flame-rise{0%{scale:1.06 .74}to{scale:.86 1.22}}@keyframes flame-sway{0%{translate:-9% 6%}to{translate:9% -4%}}@keyframes flame-lick{0%{opacity:calc(var(--flame-o) * .55)}to{opacity:var(--flame-o)}}@keyframes fire-body-breathe{0%{opacity:calc(var(--fire-body) * .62);scale:1 .9}to{opacity:var(--fire-body);scale:1 1.06}}@keyframes fire-core-pulse{0%{opacity:calc(var(--fire-body) * .5)}to{opacity:var(--fire-body)}}@keyframes flames-flare{0%{scale:1 1.8;opacity:.15}38%{scale:1.05 1.18;opacity:1}to{scale:1 1;opacity:1}}@media (prefers-reduced-motion: reduce){.bar-flames,.bar-flames:before,.bar-flames:after,.bar-flame{animation:none}}.app:not(.app-mobile) .results-screen .score-column{min-width:190px;gap:4px}.app:not(.app-mobile) .results-screen .score-name{font-size:18px}.app:not(.app-mobile) .results-screen .score-line{font-size:17px}.app:not(.app-mobile) .results-screen .score-total{font-size:28px}.app:not(.app-mobile) .results-screen .score-out{font-size:14px}.app:not(.app-mobile) .results-screen .react-board-title{font-size:16px}.app:not(.app-mobile) .results-screen .react-board-row{font-size:19px}.app:not(.app-mobile) .results-screen .react-board-rank{font-size:16px}.app:not(.app-mobile) .results-screen .best-bar-detail{font-size:17px}.app:not(.app-mobile) .results-screen .best-bar-points{font-size:19px}.app:not(.app-mobile) .results-screen .results-note{font-size:1.1rem}.score-breakdown{margin:12px 0}.score-column{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:140px}.score-name{font-size:12px;letter-spacing:.08em;color:var(--accent);text-align:center;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-line{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.score-value{font-variant-numeric:tabular-nums;color:var(--text)}.score-total{margin-top:4px;padding-top:4px;border-top:1px solid var(--accent-border);text-align:right;font-size:18px;font-variant-numeric:tabular-nums;color:var(--text)}.react-board{margin:0 auto;width:min(320px,100%)}.react-board-title{text-align:center;font-size:11px;letter-spacing:.16em;color:var(--muted);margin-bottom:6px}.react-board-list{list-style:none}.react-board-row{padding:3px 10px;border-radius:6px;background:var(--accent-darkest-transparent);font-size:13px}.react-board-row:first-child .react-board-name,.react-board-row:first-child .react-board-count{color:var(--accent)}.react-board-rank{flex:0 0 auto;width:16px;font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.react-board-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.react-board-count{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--text)}.best-bar-award{margin:12px auto 0;padding:6px 14px;width:100%;max-width:100%;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-darkest-transparent)}.best-bar-label{font-size:11px;letter-spacing:.16em;color:var(--accent);display:block}.best-bar-detail{font-size:12px;color:var(--text)}.best-bar-points{font-size:13px;font-variant-numeric:tabular-nums;color:var(--accent)}.score-line-best{color:var(--accent)}.banner-pick{margin-top:2px;font-size:9px;font-weight:700;letter-spacing:.1em;line-height:1.3;text-align:center;color:var(--accent);opacity:.85}.latency-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.latency-modal{width:min(480px,100%);max-height:100%;overflow-y:auto;padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:color-mix(in srgb,var(--accent) 9%,transparent);backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000040,inset 0 60px 60px -60px #ffffff1f,0 18px 40px #00000073}.latency-backdrop>.latency-modal{width:min(880px,100%)}.latency-layout{align-items:center;flex-wrap:nowrap}.latency-layout>.latency-main{min-width:0}.latency-layout>.latency-aside{width:200px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.latency-aside-art{display:block;width:140px;height:140px;object-fit:contain}.latency-aside-text{margin:0;font-size:14px;line-height:1.45;color:var(--text)}@media (max-width: 900px){.latency-layout{flex-wrap:wrap}.latency-layout>.latency-main{order:-1;flex-basis:100%}.latency-layout>.latency-aside{width:50%}.latency-aside-art{width:90px;height:90px}}.latency-modal button,.latency-modal select,.latency-modal input[type=text]{background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text)}.latency-modal button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 34%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.latency-modal button.primary{background:color-mix(in srgb,var(--accent) 46%,transparent);border-color:var(--accent)}.latency-title{text-align:center;letter-spacing:.18em;font-size:13px;font-weight:900;color:var(--text);margin:0 0 16px}.latency-body{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 12px}.latency-instruction{font-size:13px;line-height:1.5;font-weight:700;color:var(--text);margin:0 0 14px;padding:10px 12px;border-radius:8px;border:1px solid var(--accent);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.latency-meta{font-size:11px;letter-spacing:.06em;color:var(--muted);margin:0 0 16px}.latency-footnote{font-size:11px;text-align:center;color:var(--muted);margin:12px 0 0}.latency-result{text-align:center;font-size:3rem;font-weight:900;color:var(--accent);margin:0 0 6px;line-height:1}.latency-result span{font-size:1rem;letter-spacing:.1em;margin-left:4px}.latency-actions{display:flex;gap:10px}.latency-actions button{flex:1;padding:10px 12px;font-size:12px;letter-spacing:.1em;font-weight:900}.latency-progress{height:10px;border-radius:999px;overflow:hidden;background:var(--glass-bg);border:1px solid var(--accent)}.latency-progress-fill{height:100%;background:var(--accent);transition:width .1s linear}.playtest-gate{position:relative;z-index:3;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.playtest-gate-form{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(380px,100%)}.playtest-gate-label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;text-shadow:2px 2px 8px #000000a8}.playtest-gate-field .MuiOutlinedInput-root{border-radius:50px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--inset);color:#fff}.playtest-gate-field .MuiOutlinedInput-notchedOutline{border:0}.playtest-gate-field input{text-align:center;font-size:18px;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;padding:10px 0}.playtest-gate-field .MuiIconButton-root{color:#fff;opacity:.6;background:none;box-shadow:none}.playtest-gate-field .MuiIconButton-root:hover{opacity:1;background:none}.playtest-gate-message{margin:0;min-height:1.4em;font-size:11px;line-height:1.4;text-align:center;opacity:.75}.account-gate-form{gap:10px}.account-gate-field .MuiOutlinedInput-root{border-radius:50px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--inset);color:#fff}.account-gate-field .MuiOutlinedInput-notchedOutline{border:0}.account-gate-field input{font-size:15px;padding:10px 18px}.account-gate-field .MuiIconButton-root{color:#fff;opacity:.6;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.account-gate-field .MuiIconButton-root:hover{opacity:1;background:none}.account-gate-submit,.account-gate-google{width:100%;padding:10px 0;letter-spacing:.14em;font-weight:900}.account-gate-error{opacity:1;color:#ff8a80}.account-gate-links{display:flex;flex-direction:column;align-items:center;gap:4px}.account-gate-link{background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;padding:2px 6px;color:#fff;font-size:12px;opacity:.7;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-gate-link:hover{opacity:1}.account-email{overflow-wrap:anywhere}.admin-warning{margin:0;font-size:10px;line-height:1.4;color:var(--danger, #ff4747)}.admin-form{display:flex;flex-direction:column;gap:8px;padding-bottom:6px}.admin-row{display:grid;grid-template-columns:1fr 120px;gap:8px}.admin-code-input,.admin-note,.admin-date,.admin-amount{height:30px;font-size:12px;width:100%;box-sizing:border-box}.admin-select{height:30px}.admin-check{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.8}.admin-save{height:32px;font-size:11px;letter-spacing:.12em;font-weight:900}.admin-entry{display:grid;grid-template-columns:1fr 34px;gap:6px}.admin-entry-main{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 12px;text-align:left;min-width:0}.admin-entry-code{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:900;letter-spacing:.06em}.admin-entry-meta{font-size:9px;letter-spacing:.04em;opacity:.55}.admin-badge{font-size:8px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:50px;background:#ffffff24}.admin-badge-admin{background:color-mix(in srgb,var(--accent) 55%,transparent)}.admin-badge-mod{background:color-mix(in srgb,var(--accent) 32%,transparent)}.admin-badge-off{background:#ff474759}.access-expired{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.access-expired-card{width:min(380px,100%);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:color-mix(in srgb,var(--accent) 9%,transparent);backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000040,0 18px 40px #00000073;text-align:center}.access-expired-title{margin:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.access-expired-count{margin:12px 0;font-size:48px;font-weight:900;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.access-expired-note{margin:0;font-size:11px;line-height:1.5;opacity:.7}.admin-code-input,.admin-note,.admin-date,.admin-amount{border:0;border-radius:50px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--inset);color:#fff;font-family:inherit;letter-spacing:.06em;padding:0 14px}.admin-code-input{text-transform:uppercase;letter-spacing:.18em;font-weight:700}.admin-code-input::placeholder,.admin-note::placeholder{color:#fff6;letter-spacing:.06em;text-transform:none;font-weight:400}.admin-date::-webkit-calendar-picker-indicator,.admin-amount::-webkit-inner-spin-button,.admin-amount::-webkit-outer-spin-button{filter:invert(1);opacity:.6;cursor:pointer}.admin-amount{text-align:center}.admin-check input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.admin-check{cursor:pointer}.modal-backdrop,.latency-backdrop,.latency-modal,.access-expired,.playtest-gate,.modal-backdrop .MuiInputBase-root,.modal-backdrop .MuiButtonBase-root,.modal-backdrop .MuiTypography-root,.playtest-gate .MuiInputBase-root,.playtest-gate .MuiButtonBase-root{font-family:var(--app-font)}.side-column{position:relative;height:calc(100vh - 22px)}.side-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center}.side-stage-figure{container-type:size;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.stage-floor{position:fixed;left:0;right:0;bottom:8px;z-index:2;display:flex;justify-content:center;pointer-events:none}.audio-settings-row{width:auto;justify-content:center;align-items:flex-start;flex-wrap:nowrap;pointer-events:auto}.audio-settings-section{width:260px}.side-sprite{position:relative;display:block;height:min(42vh,100cqh,calc(90cqw / var(--sprite-ratio, 1)));overflow:hidden}.side-sprite-portrait{aspect-ratio:1;height:auto;width:70%;border-radius:12px}.side-sprite-portrait .avatar-image{object-fit:cover}.side-sprite .side-sprite-frames{position:absolute;height:auto;max-width:none;image-rendering:pixelated;animation-name:avatar-sprite}.side-sprite{transition:filter .25s ease-out}.side-sprite.side-sprite-resting{filter:brightness(.4) saturate(.6)}.side-sprite.side-sprite-resting .side-sprite-frames{animation:none}@media (prefers-reduced-motion: reduce){.side-sprite .side-sprite-frames{animation:none}}.key-hint{transition:stroke 80ms ease-out,filter 80ms ease-out}.controls-keys{display:flex;justify-content:flex-end;gap:4px}.controls-does{font-size:13px}.key-hint text{transition:fill 80ms ease-out}.key-hint-held{stroke:var(--accent);filter:drop-shadow(0 0 3px var(--accent))}.key-hint-held text{fill:var(--accent)}.game-mode-menu{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;align-content:center;animation:gameModeMenuIn .3s ease-out both}@keyframes gameModeMenuIn{0%{opacity:0}to{opacity:1}}.game-mode-menu-docked{align-content:flex-end;margin-bottom:10px}.game-mode-slot{pointer-events:auto}.game-mode-menu-docked .game-mode-slot{height:40px}.game-mode-button{width:100%;height:100%;letter-spacing:.08em;border-radius:20px;background:color-mix(in srgb,var(--page-bg) 85%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);transition:background .15s,color .15s,box-shadow .15s,border-color .15s,font-size .45s ease,border-radius .45s ease;font-size:calc(50px * var(--display-font-scale, 1));font-weight:400;padding-bottom:30px;justify-content:center;align-content:center}.game-mode-menu-docked .game-mode-button{font-size:16px;border-radius:14px}.game-mode-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:12px;text-align:center;overflow:hidden}.game-mode-card-art{display:block;box-sizing:border-box;width:100%;aspect-ratio:1;flex:0 0 auto;pointer-events:none;background-color:var(--accent);-webkit-mask:var(--art) center / contain no-repeat content-box;mask:var(--art) center / contain no-repeat content-box;padding:0 10%;margin-top:-10%;margin-bottom:-20%}.game-mode-card-art[data-mode=versus]{box-sizing:border-box;padding:0 20%}.game-mode-card-art[data-mode=solo]{box-sizing:border-box;padding:20%}.game-mode-heading{text-align:center;font-family:var(--display-font);font-size:calc(96px * var(--display-font-scale, 1));font-weight:400;line-height:1;letter-spacing:.02em;color:var(--accent);margin-bottom:30px;margin-top:-1.3em}.game-mode-card-name{display:flex;align-items:center;justify-content:center;height:70px;font-family:var(--display-font);font-size:calc(40px * var(--display-font-scale, 1));font-weight:600;line-height:1;letter-spacing:.02em}.game-mode-card-name[data-mode=solo],.game-mode-card-name[data-mode=versus]{font-size:calc(80px * var(--display-font-scale, 1));line-height:0;font-weight:600}.game-mode-card-rule{display:block;width:50%;height:2px;border-radius:1px;background:var(--accent);flex:0 0 auto;margin:10px 0}.game-mode-card-blurb{font-family:var(--app-font);font-size:12px;line-height:1.35;letter-spacing:.02em;color:var(--accent);font-weight:600}@property --pulse{syntax: "<number>"; inherits: false; initial-value: 0;}@keyframes glowPulse{0%,to{--pulse: 0}50%{--pulse: 1}}.game-mode-button-live,.intro-host .lobby-button:not(:disabled):not(.lobby-button-leave){--panel-glow: 0 0 calc(10px * var(--pulse)) calc(2px * var(--pulse)) var(--accent);animation:glowPulse 1s ease-in-out infinite}.game-mode-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,color-mix(in srgb,var(--page-bg) 85%,transparent));color:var(--accent);border-color:var(--accent);box-shadow:var(--outset),inset 0 1px #ffffff38,inset 0 -1px #00000040,inset 0 60px 60px -60px #ffffff1f,0 18px 40px #00000073,0 0 14px 1px color-mix(in srgb,var(--accent) 55%,transparent),var(--panel-glow, 0 0 0 0 transparent)}.game-mode-menu-inline{position:static;pointer-events:auto}.game-mode-menu-inline .game-mode-slot{height:60px}.game-mode-menu-inline .game-mode-button{font-size:20px}.game-mode-button-selected{background:color-mix(in srgb,var(--accent) 22%,color-mix(in srgb,var(--page-bg) 85%,transparent));border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.settings-note{margin:auto 0;text-align:center;font-size:13px;color:var(--muted)}.intro-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;font-family:var(--app-font);font-size:13px;transition:opacity .3s ease-out}.intro-layer.intro-hidden{opacity:0}.intro-layer.intro-hidden *{pointer-events:none!important}.intro-goo{position:absolute;top:0;right:0;bottom:0;left:0;filter:url(#intro-goo)}.intro-blob{position:absolute;background:#fff;border-radius:20px;transition:border-radius .25s ease-out}.intro-card-wrap{position:absolute;top:calc(100% / 3);left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.intro-card{width:min(380px,calc(100vw - 56px));display:flex;flex-direction:column;gap:20px}.intro-host{pointer-events:auto}.intro-card-plain{gap:14px;padding:12px;border-radius:20px;background:color-mix(in srgb,var(--page-bg) 72%,transparent);backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000040,0 18px 40px #00000073}.intro-host-moving{position:fixed;margin:0;pointer-events:none}.intro-error{margin:8px 0 0;text-align:center;font-size:12px;color:#ff8a80}.mobile-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));transition:opacity .3s ease}.mobile-shell-hidden{opacity:0;pointer-events:none}.mobile-content{position:relative;flex:1 1 auto;min-height:0}.mobile-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}.mobile-pane-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .2s ease,transform .2s ease}.mobile-pane-before{transform:translate(-28px)}.mobile-pane-after{transform:translate(28px)}.mobile-pane-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.mobile-pane-fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.mobile-next{flex:none;height:48px;width:100%;border-radius:15px;display:flex;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,color-mix(in srgb,var(--page-bg) 70%,transparent));border:1.5px solid var(--accent)}.mobile-next svg{width:30px;height:30px}.mobile-mode-pane{overflow-y:auto}.mobile-mode-pane .game-mode-menu{position:relative;inset:auto;min-height:100%;align-content:center;margin:0}.game-mode-menu-grid .game-mode-heading{font-size:calc(44px * var(--display-font-scale, 1));margin:0 0 8px}.game-mode-menu-grid .game-mode-button{font-size:calc(24px * var(--display-font-scale, 1));padding-bottom:12px!important}.game-mode-menu-grid .game-mode-card{gap:4px;padding:8px}.game-mode-menu-grid .game-mode-card-art{width:62%}.game-mode-menu-grid .game-mode-card-name{height:40px;font-size:calc(22px * var(--display-font-scale, 1))}.game-mode-menu-grid .game-mode-card-name[data-mode=solo],.game-mode-menu-grid .game-mode-card-name[data-mode=versus]{font-size:calc(40px * var(--display-font-scale, 1))}.game-mode-menu-grid .game-mode-card-rule{margin:4px 0}.game-mode-menu-grid .game-mode-card-blurb{font-size:10.5px}.app-mobile .game-mode-menu-inline .game-mode-slot{height:44px}.app-mobile .game-mode-menu-inline .game-mode-button{font-size:13px;padding:0 4px!important;border-radius:12px}.mobile-mode-row{flex:none}.mobile-participation{flex:none;display:flex;flex-direction:column;gap:6px}.mobile-participation .ready-button:not([aria-pressed=true]){height:56px;font-size:calc(36px * var(--display-font-scale, 1))}.mobile-tabs{flex:none;display:grid;grid-template-columns:repeat(4,1fr);height:56px;border-radius:50px;overflow:hidden;background-color:#6464642e;backdrop-filter:blur(1.5px) saturate(1.2);-webkit-backdrop-filter:blur(1.5px) saturate(1.2);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0003,inset 0 22px 22px -22px #ffffff1f,0 10px 28px #0006}.mobile-tabs .mobile-tab{height:100%;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;display:flex;align-items:center;justify-content:center;color:var(--accent);transition:background .15s}.mobile-tabs .mobile-tab+.mobile-tab{position:relative}.mobile-tabs .mobile-tab+.mobile-tab:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:#ffffff2e}.mobile-tab svg{width:28px;height:28px}.mobile-tab-logo img{height:40px;width:auto;max-width:80%;object-fit:contain;pointer-events:none}.mobile-tab .avatar-frame{pointer-events:none}.mobile-tabs .mobile-tab.mobile-tab-on{background:color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:inset 0 -2px 0 var(--accent)}.mobile-roster-panel{padding:8px}.mobile-settings-panel{padding:16px 12px}.modal.modal-inline{width:100%;max-height:none;overflow:visible;padding:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.modal-inline .settings-menu{margin:0 4px}.mobile-round{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.mobile-shell .beat-visualizer-track{left:12px;right:12px}.mobile-shell-round .ready-up-floating{bottom:8px}.mobile-audio{flex:none}.mobile-audio .audio-settings-row{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;margin:0}.mobile-audio .audio-settings-section{flex:0 0 calc(100% - 16px);width:calc(100% - 16px);scroll-snap-align:center}.mobile-results{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:8px}.mobile-results-screen{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.mobile-results-command{flex:none;display:flex;flex-direction:column;gap:6px}.mobile-results-command .round-button{height:60px;width:100%}.mobile-results-small{display:flex;gap:6px}.mobile-results-small>*{flex:1 1 0}.app-mobile .panel,.app-mobile button,.app-mobile input,.app-mobile select,.app-mobile .bar-track,.app-mobile .bar-beat-cell,.app-mobile .mobile-tabs,.app-mobile .vote-card,.app-mobile~.intro-layer .intro-card-plain,.app-mobile~.intro-layer button,.app-mobile~.intro-layer input{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}:where(.app-mobile .panel-mine,.app-mobile .game-mode-button-live) *{--panel-glow: 0 0 0 0 transparent}.app-mobile .mobile-pane:not(.mobile-pane-open) .panel-mine,.app-mobile .mobile-pane:not(.mobile-pane-open) .game-mode-button-live,.app-mobile .mobile-pane:not(.mobile-pane-open) .round-button{animation:none}.app-mobile .panel,.app-mobile~.intro-layer .intro-card-plain{background:color-mix(in srgb,var(--page-bg) 88%,transparent)}.app-mobile .panel .panel{background:color-mix(in srgb,var(--accent) 5%,transparent)}.app-mobile .pixel-wordmark{width:calc(100vw - 24px);height:auto;image-rendering:pixelated;aspect-ratio:1 / 1}.app-mobile .app-backdrop.intro-logo-raised .pixel-wordmark{top:calc((100vw - 24px)/2 + 12px + env(safe-area-inset-top))}.app-mobile~.intro-layer .intro-card-wrap{top:calc(100vw + env(safe-area-inset-top));overflow-y:auto;align-items:flex-start;padding-bottom:max(16px,env(safe-area-inset-bottom))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0e0e0e;--surface: #181818;--surface-2: #2e2e2e;--border: #2a2a2a;--accent: #88f34e;--accent-transparent: #59ff0067;--accent-medium: #336f13;--accent-dark: #131313;--accent-darkest: #272727;--accent-dark-transparent: #347c0d7d;--accent-darkest-transparent: #1233006e;--accent-border: #3d543182;--accent-dim: rgba(72, 114, 17, .702);--transparent-light: #cecece55;--transparent-dark: #5f5f5f55;--text: #f0f0f0;--muted: #dcdcdc;--success: #88f34e;--danger: #ff4747;--danger-transparent: #ff474747;--warn: #d4eb30;--radius: 8px;--bar-height: 66px;--beatA: #1b97b6;--beatB: #1d967d;--page-bg: var(--accent-dark);--panel-bg: rgba(14, 14, 14, .224);--panel-border: rgba(255, 255, 255, .55);--app-font: "Menlo", "Monaco", "Consolas", "Fira Code", monospace;--display-font: "Vorkes Romance", system-ui, sans-serif;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--page-bg);-webkit-font-smoothing:antialiased;--glass-bg: rgba(100, 100, 100, .52);--glass-accent: rgba(136, 243, 78, .55);--glass-accent-hover: rgba(212, 235, 48, .62);--glass-danger: rgba(255, 71, 71, .5);--glass-danger-hover: rgba(212, 235, 48, .55);--glass-blur: blur(2px);--outset: 2px 2px 6px 0px #00000095, inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -1px 0 rgba(0, 0, 0, .25), inset 0 60px 60px -60px rgba(255, 255, 255, .12);--inset: inset 2px 2px 4px 0px #00000092;--inset-top: inset 0px 2px 4px 0px #00000094}body{margin:0;min-height:100vh;background:var(--page-bg)}#root{min-height:100vh;display:flex;flex-direction:column;align-items:center}h1,h2,h3{line-height:1.15;font-weight:700}button{font-family:inherit;font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.65em 1.4em;border-radius:50px;border:0px solid var(--border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,color .15s}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.3;cursor:not-allowed}button.primary{background:var(--glass-accent);color:#0e0e0e;border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--glass-accent-hover);border-color:#d4eb30;color:#0e0e0e}input[type=text]{font-family:inherit;font-size:.95rem;padding:.6em .9em;border-radius:20px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text);outline:none;transition:border-color .15s}input[type=text]:focus{border-color:var(--accent)}input[type=text]::placeholder{color:var(--muted)}.MuiOutlinedInput-root,.MuiButtonBase-root{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:50px!important;font-family:Inter,system-ui,sans-serif}.ripple-surface{position:fixed;pointer-events:none;z-index:100000;image-rendering:auto}
