*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;overflow-x:hidden;overflow-y:auto;background:#130f24;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.45}.app{width:100%;min-height:100vh;display:flex;align-items:flex-start;justify-content:center}.start-screen{width:min(calc(100% - 32px),1080px);padding:2.6rem 0 3.5rem;text-align:left}.studio-intro{max-width:720px;margin-bottom:1.8rem}.brand-lockup{display:inline-grid;grid-template-columns:24px auto;gap:.08rem .55rem;align-items:center;margin-bottom:.8rem}.brand-rhythm-mark{display:flex;height:20px;align-items:center;gap:3px}.brand-rhythm-mark i{width:3px;border-radius:2px;background:#ffd65a}.brand-rhythm-mark i:nth-child(1){height:9px}.brand-rhythm-mark i:nth-child(2){height:18px}.brand-rhythm-mark i:nth-child(3){height:13px;background:#72d8e8}.brand-wordmark{display:flex;gap:.35rem;align-items:baseline;font-size:.88rem;line-height:1}.brand-wordmark strong,.brand-wordmark b{letter-spacing:0}.brand-wordmark strong{color:#ffd65a;font-weight:950}.brand-wordmark b{color:#72d8e8;font-weight:900}.brand-tagline{grid-column:2;color:#9991ac;font-size:.68rem;font-weight:700;line-height:1.2}.start-screen h1{margin-bottom:.55rem;color:#ffd65a;font-size:2.85rem;line-height:1}.start-screen .sub{color:#c7c0dc;font-size:1.02rem;line-height:1.45}.session-form,.studio-sections{display:flex;flex-direction:column}.studio-sections{border-bottom:1px solid rgb(255 255 255 / 10%)}.studio-section{padding:1.55rem 1.5rem 1.7rem;border-top:1px solid rgb(255 255 255 / 10%);background:#ffffff05}.studio-section-heading{display:grid;grid-template-columns:42px auto 1fr;gap:.65rem;align-items:baseline;margin-bottom:1.1rem}.section-number{color:#786f91;font-size:.78rem;font-weight:850}.section-marker{color:#ff719f;font-size:.72rem;font-weight:850;text-transform:uppercase}.studio-section-heading h2{color:#f5f1ff;font-size:1.35rem;line-height:1}.track-strip{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:1.15rem;align-items:center;min-height:86px;padding:.85rem 1rem;border:1px solid rgb(255 255 255 / 11%);border-radius:8px;background:#1a162b;box-shadow:inset 0 1px #ffffff08}.track-emblem{height:58px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid rgb(255 214 90 / 22%);border-radius:8px;background:#241d34}.track-emblem span{width:4px;border-radius:2px;background:#ffd65a}.track-emblem span:nth-child(1),.track-emblem span:nth-child(4){height:18px}.track-emblem span:nth-child(2){height:34px}.track-emblem span:nth-child(3){height:26px}.track-identity{min-width:0}.track-title-line,.track-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.track-title-line strong{overflow:hidden;color:#fff7d7;font-size:1.18rem;text-overflow:ellipsis;white-space:nowrap}.track-meta-line{margin-top:.45rem;color:#aaa2bf;font-size:.84rem}.track-tag{display:inline-flex;min-height:25px;align-items:center;padding:.28rem .48rem;border:1px solid rgb(114 216 232 / 20%);border-radius:5px;background:#72d8e80f;color:#bce9ee;font-size:.76rem;font-weight:800}.key-tag{border-color:#ff719f3d;background:#ff719f12;color:#ffb0c8}.transport-controls{display:flex;gap:.45rem;align-items:center}.transport-controls button,.mode-switch button,.segment-btn,.scheme-card{cursor:pointer;transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .12s}.transport-icon,.transport-play{height:42px;border:1px solid rgb(255 255 255 / 12%);border-radius:6px;background:#29223d;color:#f6f2ff}.transport-icon{width:42px;font-size:1.45rem}.transport-play{min-width:138px;padding:0 .85rem;color:#171321;background:#ffd65a;font-size:.84rem;font-weight:900}.transport-play span{margin-right:.35rem}.transport-controls button:hover:not(:disabled){border-color:#ffd65a7a;transform:translateY(-1px)}.transport-controls button:active:not(:disabled){transform:translateY(1px)}.transport-play.is-playing{background:#ff9ebd}.beat-settings-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:.65rem;margin-top:.65rem}.studio-control{min-width:0;padding:.85rem;border:1px solid rgb(255 255 255 / 8%);border-radius:7px;background:#0b09164d}.beat-settings-grid .studio-control{padding:.65rem .75rem;border-color:#ffffff0f;background:transparent}.control-label,.control-label-row{color:#e7e2f2;font-size:.82rem;font-weight:800}.control-label{display:block;margin-bottom:.55rem}.control-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.control-label-row strong{color:#ffd65a;font-size:.8rem}.control-note{display:block;margin-top:.5rem;color:#9f96b7;font-size:.75rem;line-height:1.35}.mode-switch{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;padding:3px;border:1px solid rgb(255 255 255 / 8%);border-radius:6px;background:#161223}.mode-switch button{min-width:0;min-height:34px;padding:.38rem .55rem;border:1px solid transparent;border-radius:4px;background:transparent;color:#a9a1bb;font-size:.78rem;font-weight:800}.mode-switch button:hover:not(:disabled){color:#f5f1ff}.mode-switch button.active{border-color:#ffd65a57;background:#342c42;color:#fff7d7;box-shadow:inset 0 0 12px #ffd65a0d}.volume-control input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:2px;outline:none;background:#3b344a;accent-color:#ffd65a}.volume-control input[type=range]::-webkit-slider-thumb{width:15px;height:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #181321;border-radius:50%;background:#ffd65a;box-shadow:0 0 0 2px #ffd65a2e;cursor:pointer}.volume-control input[type=range]::-moz-range-thumb{width:13px;height:13px;border:2px solid #181321;border-radius:50%;background:#ffd65a;cursor:pointer}.rhyme-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.rhyme-filter-grid .studio-control{padding:.65rem .75rem;border-color:#ffffff0d;background:transparent}.scheme-selector{margin-top:1.15rem}.field-title{margin-bottom:.65rem;color:#e7e2f2;font-size:.84rem;font-weight:800}.scheme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.scheme-card{display:grid;min-width:0;min-height:200px;grid-template-rows:auto 1fr;gap:.8rem;padding:1.08rem;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;background:#211b32;color:#fff;text-align:left}.scheme-card:hover:not(:disabled){border-color:#72d8e857;background:#272039;transform:translateY(-1px)}.scheme-card:active:not(:disabled){transform:translateY(1px) scale(.995)}.scheme-card.active{border-color:#ffd65ac7;background:#332b40;box-shadow:inset 0 0 26px #ffd65a17,0 0 0 1px #ffd65a1a}.scheme-card-copy{display:grid;gap:.3rem}.scheme-name{color:#ffd65a;font-size:1.08rem;font-weight:900}.scheme-subtitle{color:#b9b1ca;font-size:.78rem;font-weight:750;line-height:1.2}.scheme-preview{display:grid;gap:.28rem;align-self:end}.scheme-preview-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem}.scheme-preview-cell{display:grid;min-height:18px;place-items:center;border:1px solid rgb(255 255 255 / 8%);border-radius:3px;background:#151120;color:#171229;font-size:.62rem;font-weight:900}.scheme-preview-cell.target{border-color:#ffd65a8c;background:#ffd65a}.scheme-preview-cell.role-B{border-color:#72d8e88c;background:#72d8e8}.round-layout{display:grid;grid-template-columns:minmax(0,1fr) auto 230px;gap:.75rem;align-items:center}.segmented-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;border:1px solid rgb(255 255 255 / 8%);border-radius:7px;background:#161223}.segment-btn{min-width:0;min-height:40px;padding:.4rem;border:1px solid transparent;border-radius:5px;background:transparent;color:#aaa2ba;font-size:.8rem;font-weight:800}.segment-btn:hover:not(:disabled){color:#f5f1ff;background:#ffffff0a}.segment-btn.active{border-color:#ffd65a6b;background:#342c42;color:#fff7d7;box-shadow:inset 0 0 12px #ffd65a0f}.segment-btn.infinite-option{border-left-color:#72d8e82e;color:#72d8e8}.round-summary{min-width:82px;color:#b9b1ca;font-size:.78rem;font-weight:800;text-align:center}.toggle-row{display:flex;align-items:center;justify-content:space-between}.studio-toggle{position:relative;gap:1rem;min-height:42px;padding:.35rem .15rem .35rem .65rem;border:0;background:transparent;color:#e7e2f2;cursor:pointer}.studio-toggle strong{font-size:.82rem}.studio-toggle small{display:block;margin-top:.18rem;color:#8f879f;font-size:.68rem;font-weight:600;line-height:1.3}.recording-toggle{grid-column:1 / -1;padding-top:.55rem;border-top:1px solid rgb(255 255 255 / 6%)}.voice-configure-button{justify-self:start;min-height:34px;margin-top:-.35rem;padding:0 .65rem;border:0;border-radius:6px;background:transparent;color:#b8eff7;cursor:pointer;font-size:.74rem;font-weight:850}.voice-configure-button:hover{background:#8be4f314;color:#d8f8fc}.recording-headphones-hint{color:#8be4f3;opacity:.78}.studio-toggle:has(input:disabled){cursor:not-allowed;opacity:.58}.studio-toggle input{position:absolute;width:1px;height:1px;opacity:0}.toggle-track{position:relative;width:42px;height:24px;flex:0 0 auto;border:1px solid rgb(255 255 255 / 14%);border-radius:12px;background:#332b45;transition:background .16s,border-color .16s}.toggle-track span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#aaa2ba;transition:background .16s,transform .16s}.studio-toggle input:checked+.toggle-track{border-color:#ffd65a7f;background:#584927}.studio-toggle input:checked+.toggle-track span{background:#ffd65a;transform:translate(18px)}.studio-toggle input:focus-visible+.toggle-track{outline:2px solid #72d8e8;outline-offset:2px}.launch-area{display:grid;justify-items:center;gap:.75rem;padding-top:1.25rem}.btn{border:none;border-radius:6px;background:#ffd65a;color:#171321;cursor:pointer;padding:.85rem 1.45rem;font-size:1.05rem;font-weight:850;transition:transform .12s,box-shadow .16s,background .16s}.start-btn{width:min(100%,480px);min-height:64px;font-size:1.02rem}.start-btn span{margin-right:.45rem}.btn:hover:not(:disabled){background:#ffe17d;box-shadow:0 0 22px #ffd65a38;transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:inset 0 4px 10px #50330029;transform:translateY(1px) scale(.995)}.btn-secondary{margin-top:.75rem;background:#332a52;color:#fff}.filter-warning{max-width:620px;padding:.7rem .8rem;border:1px solid rgb(255 107 107 / 38%);border-radius:6px;background:#ff6b6b14;color:#ffb1b1;font-size:.84rem;font-weight:700;line-height:1.4}.community-link-card{width:min(100%,480px);display:grid;gap:.22rem;justify-items:center;padding:.65rem .8rem;border:1px solid rgb(139 228 243 / 14%);border-radius:6px;background:#1411236b;color:#a9a0bf;font-size:.78rem;line-height:1.35;text-align:center}.community-link-card a{color:#8be4f3;font-weight:850;text-decoration:none}.community-link-card a:hover{color:#d9fbff}.game-screen{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgb(255 93 143 / 18%),transparent 34%),radial-gradient(circle at 78% 20%,rgb(72 210 255 / 12%),transparent 28%),linear-gradient(180deg,#1b1433,#120f21)}.game-header{position:absolute;z-index:10;top:20px;right:22px;left:22px;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#d9d1f1;font-size:.92rem}.meta-item{margin-right:1rem;color:#fff;font-weight:800}.mic-level-indicator{margin-left:.75rem;color:#8be4f3;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:800}.timer{min-width:90px;color:#ffdc75;font-size:1.18rem;font-weight:850;text-align:center}.controls{display:flex;gap:.5rem}.controls button{min-width:42px;height:38px;border:1px solid rgb(255 255 255 / 14%);border-radius:6px;background:#261f3edb;color:#fff;cursor:pointer;font-size:1rem;transition:background .2s,border-color .2s}.controls button:hover:not(:disabled){border-color:#ffffff42;background:#3a2f60}.recording-notice{position:absolute;z-index:12;top:70px;left:50%;max-width:min(92vw,540px);padding:.45rem .65rem;border:1px solid rgb(255 214 90 / 20%);border-radius:6px;background:#19132adb;color:#d8d0e7;font-size:.76rem;font-weight:700;text-align:center;transform:translate(-50%);pointer-events:none}.recording-onboarding{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 24% 18%,rgb(255 93 143 / 18%),transparent 34%),radial-gradient(circle at 75% 22%,rgb(72 210 255 / 13%),transparent 30%),linear-gradient(180deg,#1b1433,#120f21);color:#f5efff}.recording-onboarding__panel{width:min(94vw,560px);display:grid;justify-items:center;gap:.72rem;padding:clamp(1rem,3vw,1.55rem);border:1px solid rgb(255 255 255 / 10%);border-radius:8px;background:#171226b8;box-shadow:0 24px 80px #00000047;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.recording-onboarding__brand{justify-content:center;margin-bottom:.05rem}.recording-onboarding h1{margin:0;max-width:none;color:#fff;font-size:clamp(1.35rem,3.2vw,2rem);line-height:1;letter-spacing:0}.recording-onboarding p{max-width:440px;margin:0;color:#d7d0e5;font-size:.92rem;font-weight:750;line-height:1.45}.recording-onboarding__microcopy{color:#9fdbec;font-size:.9rem;font-weight:850}.recording-onboarding__copy{display:grid;justify-items:center;gap:.42rem}.recording-onboarding__instruction{color:#cfc8dc}.recording-onboarding__phrase{display:grid;gap:.22rem;min-width:min(100%,410px);padding:.72rem .85rem;border:1px solid rgb(255 255 255 / 5%);border-radius:8px;background:#ffffff06;color:#fff4c8;font-size:clamp(1.08rem,3.4vw,1.55rem);font-weight:900;line-height:1.25}.recording-onboarding__phrase-line{display:flex;justify-content:center;gap:.42rem;flex-wrap:wrap}.recording-onboarding__phrase-line span{border-radius:5px;padding:.02rem .18rem;color:#d8d0e7;transition:color .12s,background .12s,transform .12s}.recording-onboarding__phrase-line span.active{background:#ffd65a1a;color:#ffdf72;text-shadow:0 0 14px rgb(255 214 90 / 22%);transform:translateY(-1px)}.recording-onboarding__pulse{width:108px;height:108px;display:grid;place-items:center;gap:.08rem;border:1px solid rgb(255 214 90 / 22%);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgb(255 255 255 / 32%),transparent 20%),radial-gradient(circle,rgb(255 213 74 / 28%),rgb(255 94 168 / 12%) 58%,transparent 70%);box-shadow:0 0 34px #ff9a1f2e,inset 0 0 28px #ffffff0d;color:#ffde74;font-size:3rem;font-weight:950}.recording-onboarding__pulse small,.recording-onboarding__pulse em{font-size:.62rem;font-style:normal;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#b8eff7}.recording-onboarding__pulse strong{min-height:42px;color:#ffde74;font-size:2.7rem;line-height:.95}.recording-onboarding__pulse.stage-record{border-color:#8be4f357;background:radial-gradient(circle at 35% 28%,rgb(255 255 255 / 28%),transparent 20%),radial-gradient(circle,rgb(139 228 243 / 24%),rgb(255 94 168 / 12%) 58%,transparent 70%)}.recording-onboarding__pulse[data-phase=running]{animation:recordingBeatPulse .6s ease-in-out infinite}.recording-onboarding__status{min-height:22px;padding:.2rem .52rem;border-radius:999px;background:#ffffff0d;color:#b8eff7;font-size:.72rem;font-weight:900}.recording-onboarding__notice{padding:.55rem .75rem;border:1px solid rgb(255 107 107 / 30%);border-radius:6px;background:#ff6b6b17;color:#ffc4c4;font-size:.8rem;font-weight:750}.recording-onboarding__primary{min-width:min(100%,270px)}.recording-onboarding__choices{width:min(100%,380px);display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.recording-onboarding__choices .primary-choice{grid-column:1 / -1;border-color:#ffd65a6b;background:#ffd65a;color:#171321}.recording-onboarding__choices button,.recording-onboarding__skip,.recording-onboarding__text-action{min-height:42px;border:1px solid rgb(255 255 255 / 12%);border-radius:6px;background:#362c53b8;color:#f3edff;cursor:pointer;font-weight:850}.recording-onboarding__choices button:hover,.recording-onboarding__skip:hover,.recording-onboarding__text-action:hover{border-color:#ffd65a5c;background:#483a69d1}.recording-onboarding__done{padding:.55rem .75rem;border-radius:6px;background:#8be4f31f;color:#a7edf7;font-size:.88rem;font-weight:850}.recording-onboarding__skip{min-height:36px;padding:0 .9rem;border:0;background:transparent;color:#9f96b0}.recording-onboarding__text-action{min-height:34px;border:0;background:transparent;color:#b8eff7}.recording-onboarding__listen{width:min(100%,340px)}@keyframes recordingBeatPulse{0%{transform:scale(.96);box-shadow:0 0 18px #ff9a1f1a,inset 0 0 18px #ffffff0a}18%{transform:scale(1.04);box-shadow:0 0 42px #ffd65a42,inset 0 0 30px #ffffff14}to{transform:scale(.98);box-shadow:0 0 22px #ff5ea81f,inset 0 0 18px #ffffff0a}}.rhythm-board-wrap{width:min(1120px,94vw);position:relative;display:flex;flex-direction:column;gap:1rem;align-items:stretch;justify-content:center}.onboarding-cue{position:absolute;z-index:8;top:-48px;left:50%;display:grid;grid-template-columns:auto minmax(0,auto) auto;gap:.65rem;align-items:center;max-width:min(94vw,620px);min-height:34px;padding:.38rem .65rem;border:1px solid rgb(255 255 255 / 9%);border-radius:6px;background:#120e2194;color:#d9d2e9;box-shadow:0 8px 24px #0000001f;font-size:.82rem;pointer-events:none;transform:translate(-50%);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:onboardingCueIn .22s ease-out both}.onboarding-cue.is-exiting{animation:onboardingCueOut .35s ease-in both}.onboarding-cue__marker{color:#72d8e8;font-size:.72rem;font-weight:900}.onboarding-cue__text{min-width:0;white-space:nowrap}.onboarding-cue__dots{display:flex;gap:4px;align-items:center}.onboarding-cue__dots i{width:5px;height:5px;border-radius:50%;background:#ffffff2e;transition:background .16s,transform .16s}.onboarding-cue__dots i.active{background:#ffd65a;transform:scale(1.25)}.board-copy{display:flex;align-items:end;justify-content:space-between;gap:1rem}.board-copy h2{color:var(--group-color, #fff);font-size:1.65rem;line-height:1.12;text-shadow:0 0 26px color-mix(in srgb,var(--group-color, #fff) 36%,transparent)}.eyebrow{color:#70d8ff;font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.next-group{flex:0 0 auto;padding:.55rem .75rem;border:1px solid color-mix(in srgb,var(--group-color) 54%,transparent);border-radius:6px;color:var(--group-color);font-size:.9rem;font-weight:800;background:#100c1e85}.rhythm-board{--gap: 12px;position:relative;width:100%;height:min(58vh,492px);min-height:0;border:0;background:transparent;box-shadow:none;overflow:visible;opacity:1;transform:scale(1);transition:opacity .28s ease-out,transform .28s ease-out}.rhythm-board.outro-fade-board{opacity:0;transform:scale(.99)}.rhythm-board:before{position:absolute;z-index:0;top:-52px;right:-38px;bottom:-34px;left:-38px;border-radius:42%;background:radial-gradient(ellipse at 45% 25%,rgb(255 93 143 / 9%),transparent 42%),radial-gradient(ellipse at 62% 58%,rgb(112 216 255 / 4%),transparent 60%);content:"";filter:blur(14px);pointer-events:none}.ribbon-board{--row-height: 17.5%}.ribbon-viewport{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:0}.gameplay-motion-layer{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;pointer-events:none}.gameplay-motion-layer--outro{animation:gameplayMotionOutro .22s ease-out .2s both}.ribbon-row{position:absolute;left:0;right:0;height:var(--row-height);display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap);isolation:isolate;opacity:var(--row-opacity, 1);filter:none;transition:opacity .16s linear;will-change:top,opacity}.ribbon-row:before{position:absolute;z-index:-1;top:-6px;right:-10px;bottom:-6px;left:-10px;border-radius:12px;background:radial-gradient(ellipse at 42% 50%,rgb(255 213 74 / 6%),transparent 68%);content:"";opacity:0;pointer-events:none;transition:opacity .18s ease}.blank-row{display:block;pointer-events:none}.finishing-board .ribbon-viewport{animation:finalRibbonDrift .78s ease-in .24s both}.beat-cell{position:relative;display:flex;min-width:0;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;transition:border-color .14s,box-shadow .14s,transform .14s,filter .14s,background .14s}.beat-cell:before{position:absolute;z-index:0;top:1px;right:7%;left:7%;height:1px;border-radius:50%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 36%),transparent);content:"";opacity:.2;pointer-events:none}.empty-cell{background:linear-gradient(180deg,rgb(255 255 255 / 2.5%),transparent 22%),linear-gradient(180deg,#211a38,#171229);box-shadow:inset 0 1px #ffffff0a,inset 0 -8px 18px #0003,inset 0 0 18px #04020c1f,0 1px #ffffff05}.rhyme-cell{color:#151020;font-size:clamp(1.05rem,2.6vw,2.1rem);font-weight:900;line-height:1;text-align:center;background:linear-gradient(135deg,rgb(255 255 255 / 34%),transparent 52%),var(--group-color);box-shadow:inset 0 1px #ffffff73,inset 0 -4px color-mix(in srgb,var(--group-color) 72%,#1b1125 28%),inset 0 -10px 16px #44194621,inset 0 0 0 1px #fff3,0 4px 9px #00000029}.rhyme-cell span,.free-cell span{position:relative;z-index:1;max-width:92%;overflow-wrap:anywhere}.rhyme-cell .rhythm-pad__label,.free-cell .rhythm-pad__label{z-index:3}.beat-cell.rhythm-cell--landed>.rhythm-pad__label{z-index:3}.ribbon-row--warmup .empty-cell{border-color:#ffffff0a;background:linear-gradient(180deg,rgb(255 255 255 / 1.2%),transparent 18%),linear-gradient(180deg,#171226,#100d1c);box-shadow:inset 0 1px #ffffff05,inset 0 -8px 18px #00000045}.ribbon-row.ribbon-row--warmup{filter:saturate(.78) brightness(.86)}.ribbon-row--warmup .beat-cell:before{opacity:.08}.ribbon-row--warmup .beat-dot{opacity:.3}.free-cell{color:#151020;font-size:clamp(1.05rem,2.6vw,2.1rem);font-weight:900;line-height:1;text-align:center;background:linear-gradient(135deg,rgb(255 255 255 / 34%),transparent 52%),var(--group-color);box-shadow:inset 0 1px #ffffff73,inset 0 -4px color-mix(in srgb,var(--group-color) 72%,#1b1125 28%),inset 0 -10px 16px #44194621,inset 0 0 0 1px #fff3,0 4px 9px #00000029}.beat-dot{width:11px;height:11px;border-radius:999px;background:#ffffff26;box-shadow:0 1px #ffffff0a}.ribbon-row.incoming-row :is(.rhyme-cell,.free-cell):not(.active){border-color:color-mix(in srgb,var(--group-color) 52%,white 48%);box-shadow:inset 0 1px #ffffff75,inset 0 -4px color-mix(in srgb,var(--group-color) 72%,#1b1125 28%),inset 0 0 0 1px #fff3,0 0 16px color-mix(in srgb,var(--group-color) 16%,transparent)}.rhythm-cell--incoming{border-color:color-mix(in srgb,var(--group-color) 10%,rgb(255 255 255 / 15%) 90%);box-shadow:inset 0 1px #ffffff0d,inset 0 -8px 18px #00000030,inset 0 0 14px color-mix(in srgb,var(--group-color) 3%,transparent),0 1px #ffffff05;filter:brightness(1.01);transform:none}.rhythm-cell--incoming:before{opacity:.24}.beat-cell.active{border-color:#fff;box-shadow:0 0 26px #ffffff2e,inset 0 0 0 2px #ffffff29;filter:brightness(1.12);transform:translateY(-1px)}.ribbon-row--game .empty-cell.rhythm-cell--landed{animation:cellMaterialImpact .18s ease-out}.beat-cell.rhythm-cell--landed:after{position:absolute;z-index:0;width:72%;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--group-color) 56%,white 44%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--group-color) 20%,transparent),transparent 68%);box-shadow:0 0 20px color-mix(in srgb,var(--group-color) 24%,transparent);content:"";pointer-events:none;animation:cellLandingPulse .2s ease-out both}.beat-cell.rhythm-cell--landed>span{position:relative;z-index:1}:is(.rhyme-cell,.free-cell):before{right:11%;left:11%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 62%),transparent);opacity:.58}.beat-cell.rhythm-pad--hit{animation:padPressResponse .19s ease-out}.beat-cell.rhythm-pad--hit:before{animation:padSheenPress .19s ease-out}.beat-cell.rhythm-pad--hit>.rhythm-pad__label{animation:padLabelPress .19s ease-out}.rhyme-cell .rhythm-pad-hit-fx,.free-cell .rhythm-pad-hit-fx{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:block;max-width:none;overflow:visible;overflow-wrap:normal;pointer-events:none}.beat-cell.rhythm-cell--landed>.rhythm-pad-hit-fx{z-index:2}.rhythm-pad-hit-fx:before,.rhythm-pad-hit-fx:after{position:absolute;top:50%;left:50%;border-radius:50%;content:"";pointer-events:none;translate:-50% -50%}.rhythm-pad-hit-fx:before{width:31%;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--group-color) 66%,white 34%);box-shadow:0 0 9px color-mix(in srgb,var(--group-color) 25%,transparent);animation:rhymeImpactRing .19s ease-out both}.rhythm-pad-hit-fx:after{width:58%;aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--group-color) 22%,white 10%) 0%,color-mix(in srgb,var(--group-color) 10%,transparent) 42%,transparent 72%);animation:rhymeImpactBloom .17s ease-out both}.rhythm-pad-hit-fx>i{--spark-angle: 0deg;position:absolute;z-index:1;top:50%;left:50%;width:clamp(8px,5%,16px);height:2px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--group-color) 72%,white 28%),transparent);box-shadow:0 0 4px color-mix(in srgb,var(--group-color) 24%,transparent);transform-origin:left center;animation:rhymeImpactSpark .18s ease-out both}.ribbon-row--warmup .beat-cell.active{border-color:#ffffff1f;box-shadow:inset 0 1px #ffffff0a,inset 0 -8px 18px #00000038,0 0 9px #ffffff05;filter:brightness(1.01)}.ribbon-row--warmup .rhythm-cell--landed{animation:warmupMaterialImpact .2s ease-out}.ribbon-row--warmup .rhythm-cell--landed:after{border-color:#dad2f029;background:radial-gradient(circle,rgb(184 173 221 / 4%),transparent 68%);box-shadow:none}.ribbon-row--round-entry{animation:roundEntryMaterial .32s ease-out}.ribbon-row--round-entry:before{animation:roundEntryHalo .32s ease-out}.rhythm-trail-layer{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.rhythm-trail-layer line{stroke-linecap:round;stroke-linejoin:round}.rhythm-trail__glow{filter:blur(3.5px)}.rhythm-trail__core{filter:blur(.7px)}.rhythm-trail__origin-cloud{pointer-events:none}.rhythm-trail__origin-cloud-outer{fill:#ff8e3e1f;filter:blur(5px)}.rhythm-trail__origin-cloud-inner{fill:#ffd54a21;filter:blur(2.5px)}.rhythm-trail-layer--finishing{animation:rhythmTrailFinish .22s ease-out both}.rhythm-ball{position:absolute;z-index:6;width:clamp(30px,3.8vw,44px);height:clamp(30px,3.8vw,44px);border-radius:50%;pointer-events:none;will-change:left,top,transform}.rhythm-ball__impact{position:absolute;z-index:1;top:36%;right:36%;bottom:36%;left:36%;border:2px solid rgb(255 213 74 / 58%);border-radius:50%;opacity:0;box-shadow:0 0 18px #ff5ea847;animation:ballImpactPulse .18s ease-out both}.rhythm-ball__orb{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;overflow:hidden;border:2px solid rgb(255 255 255 / 78%);border-radius:50%;background:radial-gradient(circle at 32% 25%,rgb(255 255 255 / 96%) 0 7%,rgb(255 242 168 / 88%) 8% 14%,transparent 15%),radial-gradient(circle at 36% 31%,#ffd54a 0,#ffd54a 25%,#ff9a1f 53%,#ff5ea8 82%,#bd3b91);box-shadow:inset -7px -9px 13px #841f693d,inset 5px 5px 8px #ffffff2e,0 0 17px #ff5ea894,0 8px 18px #00000057;transform:scaleX(var(--flight-stretch, 1)) scaleY(var(--flight-squash, 1));animation:ballLandingSquash .17s cubic-bezier(.2,.85,.28,1.3);will-change:transform,filter}.rhythm-ball__shine{position:absolute;top:14%;left:20%;width:36%;height:21%;border-radius:50%;background:#ffffff7a;filter:blur(1.5px);transform:rotate(-28deg)}.rhythm-ball.rhyme-hit .rhythm-ball__orb{filter:brightness(1.09) saturate(1.08);box-shadow:inset -7px -9px 13px #841f6933,inset 5px 5px 8px #ffffff3d,0 0 27px #ff5ea8c2,0 0 14px #ffd54a8c,0 9px 19px #00000057}.rhythm-ball.ball-finished{animation:ballFinishFade .22s ease-out both}@keyframes ballLandingSquash{0%{scale:1.1 .9;filter:brightness(1.18) saturate(1.08)}70%{scale:.98 1.025}to{scale:1;filter:brightness(1)}}@keyframes ballImpactPulse{0%{top:32%;right:32%;bottom:32%;left:32%;opacity:.7}to{top:-48%;right:-48%;bottom:-48%;left:-48%;opacity:0}}@keyframes cellLandingPulse{0%{opacity:.62;transform:scale(.34)}to{opacity:0;transform:scale(1.5)}}@keyframes cellMaterialImpact{0%{border-color:#fffceef5;box-shadow:inset 0 1px #ffffff42,inset 0 0 0 999px color-mix(in srgb,var(--group-color) 20%,transparent),inset 0 0 24px color-mix(in srgb,var(--group-color) 22%,transparent),inset 0 0 0 2px #ffffff38,0 0 22px color-mix(in srgb,var(--group-color) 18%,transparent)}to{border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff0a,inset 0 0 0 999px color-mix(in srgb,var(--group-color) 0%,transparent),inset 0 -8px 18px #0003,inset 0 0 18px #04020c1f,0 1px #ffffff05}}@keyframes warmupMaterialImpact{0%{border-color:#e0daf42e;box-shadow:inset 0 0 16px #b8addd0d}to{border-color:#ffffff12;box-shadow:inset 0 -8px 18px #00000038}}@keyframes roundEntryMaterial{0%{filter:saturate(.88) brightness(.92)}55%{filter:saturate(1.03) brightness(1.04)}to{filter:saturate(1) brightness(1)}}@keyframes roundEntryHalo{0%{opacity:.28}to{opacity:1}}@keyframes padPressResponse{0%{filter:brightness(.9) saturate(1.04);scale:.987;box-shadow:inset 0 1px #ffffff2e,inset 0 7px 15px #2d16363d,inset 0 -6px color-mix(in srgb,var(--group-color) 60%,#1b1125 40%),inset 0 -10px 16px #260f2b33,inset 0 0 0 1px #ffffff24,0 2px 5px #00000026}62%{filter:brightness(.96) saturate(1.02);scale:.994}to{filter:brightness(1) saturate(1);scale:1;box-shadow:inset 0 1px #ffffff73,inset 0 -4px color-mix(in srgb,var(--group-color) 72%,#1b1125 28%),inset 0 -10px 16px #44194621,inset 0 0 0 1px #fff3,0 4px 9px #00000029}}@keyframes padSheenPress{0%{opacity:.2}to{opacity:.58}}@keyframes padLabelPress{0%{translate:0 1px}to{translate:0 0}}@keyframes rhymeImpactRing{0%{opacity:.5;scale:.52}to{opacity:0;scale:1.72}}@keyframes rhymeImpactBloom{0%{opacity:.34;scale:.55}60%{opacity:.16;scale:1.04}to{opacity:0;scale:1.22}}@keyframes rhymeImpactSpark{0%{opacity:.42;transform:rotate(var(--spark-angle)) translate(28px) scaleX(.42)}to{opacity:0;transform:rotate(var(--spark-angle)) translate(50px) scaleX(1)}}@keyframes ballFinishFade{0%{opacity:1;scale:1}to{opacity:0;scale:.72}}@keyframes rhythmTrailFinish{0%{opacity:1}to{opacity:0}}@keyframes finalRibbonDrift{0%{transform:translateY(0)}to{transform:translateY(-12%)}}.rhythm-hint{color:#d9d1f1;font-size:1rem;text-align:center}.debug-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem .9rem;padding:.8rem .9rem;border:1px solid rgb(112 216 255 / 24%);border-radius:8px;background:#0c0918c7;color:#d9d1f1;font-family:Consolas,Courier New,monospace;font-size:.82rem}.beat-flash{display:inline-flex;width:fit-content;min-width:68px;align-items:center;justify-content:center;padding:.28rem .45rem;border:1px solid rgb(255 255 255 / 14%);border-radius:6px;background:#211936;color:#8d85a9;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:900;letter-spacing:.08em}.beat-flash.on{border-color:#ffd86adb;background:#ffcf4d;color:#171229;box-shadow:0 0 22px #ffcf4d7a}.debug-toggle{display:flex;align-items:center;gap:.5rem;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:750}.debug-toggle input{width:18px;height:18px;accent-color:#70d8ff}.countdown-overlay{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#120f21d1;color:#fff;font-weight:900;text-shadow:0 0 60px rgb(255 93 143 / 55%);font-size:clamp(5rem,14vw,9rem);pointer-events:none}.game-screen.game-is-paused .rhythm-board,.game-screen.game-is-paused .rhythm-board *,.game-screen.game-is-paused .rhythm-board *:before,.game-screen.game-is-paused .rhythm-board *:after{animation-play-state:paused!important}.session-overlay{position:absolute;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(16px,4vw,44px);overflow:auto;background:#080711c2;-webkit-backdrop-filter:blur(7px) saturate(.82);backdrop-filter:blur(7px) saturate(.82)}.finished-overlay{animation:resultsBackdropIn .22s ease-out both}.finished-overlay .results-panel{animation:resultsPanelIn .28s ease-out .03s both}.pause-overlay{place-items:end center;padding-bottom:clamp(24px,8vh,72px);background:#0807114d;-webkit-backdrop-filter:blur(1px) saturate(.95);backdrop-filter:blur(1px) saturate(.95)}.pause-panel,.results-panel{width:min(100%,820px);border:1px solid rgb(173 155 224 / 22%);border-radius:8px;background:linear-gradient(180deg,#282041f7,#18132bfa);box-shadow:inset 0 1px #ffffff0f,0 28px 70px #0000006b}.pause-panel{width:min(100%,720px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem 1.1rem;align-items:center;padding:.85rem 1rem;text-align:left}.pause-panel h2,.results-panel h2{margin:0;color:#fff;font-size:clamp(1.7rem,4vw,2.45rem);letter-spacing:0;line-height:1.05}.pause-panel h2{grid-column:1;grid-row:1;font-size:1.05rem}.pause-panel .session-panel__brand{display:none}.session-panel__brand{margin-bottom:.55rem;color:#ffd65a;font-size:.72rem;font-weight:900;letter-spacing:.08em}.pause-actions,.results-actions{display:grid;gap:.65rem}.session-replay{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem .75rem;align-items:center;padding:.58rem .65rem;border:1px solid rgb(114 216 232 / 24%);border-radius:6px;background:radial-gradient(circle at 18% 0%,rgb(139 228 243 / 11%),transparent 46%),#0b091694;box-shadow:inset 0 1px #ffffff0d}.session-replay>span{min-width:0;display:grid;grid-template-columns:1fr auto;gap:.14rem .6rem;align-items:center;text-align:left}.session-replay strong{grid-column:1;color:#8be4f3;font-size:.76rem;letter-spacing:.08em}.session-replay small{grid-column:1;color:#9f96b6;font-size:.74rem}.session-replay>span em{grid-column:2;grid-row:1 / span 2;align-self:center;padding:.18rem .42rem;border-radius:999px;background:#8be4f31c;color:#b8eff7;font-size:.62rem;font-style:normal;font-weight:850}.session-replay button{width:auto;min-height:38px;padding:.48rem .72rem;border:1px solid rgb(255 214 90 / 30%);border-radius:5px;background:#342c42db;color:#fff4c8;cursor:pointer;font:inherit;font-size:.78rem;font-weight:850}.session-replay button:hover:not(:disabled){border-color:#ffd65a75;background:#443852eb}.session-replay__download{border-color:#8be4f33d!important;background:#202236b8!important;color:#c7f4f8!important}.session-replay__export-error{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;color:#ffcece;font-size:.7rem;font-weight:750}.session-replay__export-error button{min-height:30px;padding:.32rem .55rem;border-color:#ffd65a38;background:transparent;color:#fff4c8;font-size:.7rem}.session-replay__mix{grid-column:1 / -1;display:grid;gap:.38rem;padding-top:.1rem}.session-replay__mix>strong{color:#cfc6e5;font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.session-replay__mix label{display:grid;grid-template-columns:4.8rem minmax(5rem,1fr) 2.5rem;gap:.5rem;align-items:center;color:#ded8ee;font-size:.72rem}.session-replay__mix input[type=range]{width:100%;accent-color:#ffd65a}.session-replay__mix em{color:#9f96b6;font-size:.68rem;font-style:normal;text-align:right}.session-replay.is-preparing{opacity:.72}.session-replay button:disabled{cursor:wait;opacity:.65}.recording-dev-tools{display:grid;gap:.45rem;padding:.55rem .65rem;border:1px dashed rgb(139 228 243 / 24%);border-radius:5px;background:#08141c61}.recording-dev-tools>strong{color:#8be4f3;font-size:.62rem;letter-spacing:.08em}.recording-dev-tools__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.recording-dev-tools__actions button{min-width:0;min-height:34px;padding:.38rem .5rem;border:1px solid rgb(139 228 243 / 18%);border-radius:4px;background:#282439d6;color:#e8fbff;cursor:pointer;font:inherit;font-size:.7rem;font-weight:800}.recording-dev-tools__actions button:disabled{cursor:wait;opacity:.55}.recording-dev-tools__probe{min-height:36px;border:1px solid rgb(255 214 90 / 28%);border-radius:5px;background:#423432b8;color:#fff0b2;cursor:pointer;font:inherit;font-size:.72rem;font-weight:850}.latency-probe-overlay{position:absolute;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(16px,4vw,44px);background:#07060fe0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.latency-probe-panel{width:min(100%,620px);min-height:min(520px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgb(139 228 243 / 24%);border-radius:8px;background:#171326;box-shadow:0 22px 70px #0000006b}.latency-probe-panel>header{display:flex;align-items:start;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid rgb(255 255 255 / 8%)}.latency-probe-panel>header span{color:#8be4f3;font-size:.68rem;font-weight:900;letter-spacing:.08em}.latency-probe-panel>header h2{margin:.15rem 0 0;color:#fff;font-size:clamp(1.2rem,3vw,1.7rem);letter-spacing:0}.latency-probe-panel>header>button{width:36px;height:36px;border:1px solid rgb(255 255 255 / 12%);border-radius:5px;background:#ffffff0d;color:#d8d0e8;cursor:pointer;font-size:1.25rem}.latency-probe-intro,.latency-probe-result,.latency-probe-wait,.latency-probe-stage{min-height:0;display:grid;place-content:center;gap:1rem;padding:clamp(24px,6vw,54px);text-align:center}.latency-probe-intro p,.latency-probe-result p,.latency-probe-stage p{margin:0;color:#f5f0ff}.latency-probe-intro>div,.latency-probe-stage>span{color:#aaa0bc;font-size:.82rem}.latency-probe-intro>strong{color:#ff8e9d;font-size:.8rem}.latency-probe-intro>button,.latency-probe-again,.latency-probe-downloads button{min-height:40px;padding:.55rem .8rem;border:1px solid rgb(255 214 90 / 30%);border-radius:5px;background:#453a2c;color:#fff3be;cursor:pointer;font:inherit;font-size:.78rem;font-weight:850}.latency-probe-beat{color:#ffd65a;font-size:clamp(5rem,22vw,10rem);font-weight:950;line-height:.9;text-shadow:0 0 30px rgb(255 214 90 / 18%)}.latency-probe-stage.is-active .latency-probe-beat{color:#8be4f3;text-shadow:0 0 34px rgb(139 228 243 / 20%)}.latency-probe-meter{width:min(280px,70vw);height:6px;overflow:hidden;border-radius:3px;background:#ffffff14}.latency-probe-meter i{width:100%;height:100%;display:block;border-radius:inherit;background:#8be4f3;transform-origin:left center;transition:transform 60ms linear}.latency-probe-downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.latency-probe-analysis{display:grid;gap:.65rem;padding:.8rem;border:1px solid rgb(139 228 243 / 18%);border-radius:6px;background:#08141c61;text-align:left}.latency-probe-analysis>strong{color:#8be4f3;font-size:.68rem;letter-spacing:.08em}.latency-probe-analysis dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem;margin:0}.latency-probe-analysis dl>div{min-width:0;display:flex;gap:.5rem;justify-content:space-between;padding-bottom:.28rem;border-bottom:1px solid rgb(255 255 255 / 6%)}.latency-probe-analysis dt{color:#958ba7;font-size:.72rem}.latency-probe-analysis dd{margin:0;color:#fff;font-size:.72rem;font-weight:850;text-align:right}.latency-probe-analysis>p{margin:0;font-size:.76rem}.latency-probe-analysis>p.is-stable{color:#86e5b2}.latency-probe-analysis>p.is-unstable{color:#ffb0ba}.latency-probe-downloads button:disabled{cursor:wait;opacity:.55}.pause-actions{grid-column:2;grid-row:1;grid-template-columns:minmax(150px,1.2fr) minmax(120px,1fr) auto;gap:.5rem;margin-top:0}.pause-actions .btn,.pause-actions .session-menu-action{min-height:40px;padding:.55rem .75rem;white-space:nowrap}.session-primary-action{width:100%;min-height:46px}.session-menu-action{min-height:38px;border:0;background:transparent;color:#c8c0dc;cursor:pointer;font:inherit;font-size:.9rem;font-weight:750}.session-menu-action:hover{color:#fff}.results-panel{max-height:min(88vh,760px);display:grid;grid-template-rows:auto minmax(150px,1fr) auto;overflow:hidden}.results-panel__header{padding:1.35rem 1.4rem 1rem;border-bottom:1px solid rgb(255 255 255 / 8%);text-align:center}.results-session-meta{margin-top:.65rem;color:#e7def7;font-size:.95rem;font-weight:800}.results-track-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:center;margin-top:.35rem;color:#a9a0bf;font-size:.82rem}.results-key-tag{padding:.16rem .38rem;border:1px solid rgb(112 216 255 / 24%);border-radius:4px;color:#8be4f3;font-size:.68rem;font-weight:850}.result-route{min-height:0;padding:1rem 1.25rem;overflow:hidden}.result-route__title{margin-bottom:.65rem;color:#afa4c8;font-size:.7rem;font-weight:900;letter-spacing:.08em}.result-route__scroll{height:100%;display:grid;gap:.42rem;align-content:start;padding:0 .55rem 1rem 0;overflow-y:auto;scroll-padding-bottom:1rem;scrollbar-gutter:stable;scrollbar-color:rgb(139 119 188 / 45%) transparent;scrollbar-width:thin}.result-route__scroll::-webkit-scrollbar{width:5px}.result-route__scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#8b77bc73}.result-route__row{min-height:38px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:.55rem;align-items:center}.result-route__number{color:#706984;font-size:.7rem;font-weight:850;text-align:right}.result-route__slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.result-route__slot{min-width:0;height:34px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgb(255 255 255 / 7%);border-radius:5px;background:#0b091685;color:transparent;font-size:clamp(.68rem,1.6vw,.86rem);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.result-route__slot.is-target{border-color:color-mix(in srgb,var(--route-color) 62%,white 8%);background:color-mix(in srgb,var(--route-color) 78%,#21172e 22%);color:#171120;box-shadow:inset 0 -3px color-mix(in srgb,var(--route-color) 62%,#171120 38%)}.result-route__slot.is-free{color:color-mix(in srgb,var(--route-color) 72%,white 28%)}.results-actions{position:relative;z-index:2;padding:1rem 1.25rem 1.2rem;border-top:1px solid rgb(255 255 255 / 8%);background:#18132bfa}.result-track-picker{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:.55rem;align-items:center;padding:.45rem;border:1px solid rgb(255 255 255 / 9%);border-radius:6px;background:#0b09166b}.result-track-picker>button{width:38px;height:36px;border:1px solid rgb(255 255 255 / 10%);border-radius:5px;background:#342a51b8;color:#fff;cursor:pointer;font-size:1rem}.result-track-picker__copy{min-width:0;display:grid;gap:.1rem;text-align:center}.result-track-picker__copy strong,.result-track-picker__copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-track-picker__copy strong{color:#fff;font-size:.88rem}.result-track-picker__copy span{color:#9f96b6;font-size:.72rem}.result-secondary-actions{display:grid;gap:.28rem;justify-items:center;padding-top:.1rem;text-align:center}.result-secondary-actions .session-menu-action{min-height:32px;padding:.25rem .55rem;color:#d8d0ea}.result-secondary-actions a{color:#8be4f3;font-size:.72rem;font-weight:760;line-height:1.35;text-decoration:none}.result-secondary-actions a:hover{color:#d9fbff}@keyframes gameplayMotionOutro{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}@keyframes resultsBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes resultsPanelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes onboardingCueIn{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes onboardingCueOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}@media (max-width: 920px){.beat-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.round-layout{grid-template-columns:minmax(0,1fr) auto}.round-layout .studio-toggle{grid-column:1 / -1}}@media (max-width: 760px){body,.app,.recording-onboarding{min-height:100dvh}.game-screen{height:100dvh}.start-screen{width:min(calc(100% - 24px),1080px);padding:2rem 0 calc(3rem + env(safe-area-inset-bottom))}.start-screen h1{font-size:2.35rem}.studio-intro{margin-bottom:1.75rem}.studio-section{padding:1.5rem 1rem 1.65rem}.studio-section-heading{grid-template-columns:34px auto 1fr;margin-bottom:1.15rem}.track-strip{grid-template-columns:54px minmax(0,1fr);gap:.85rem}.transport-controls{grid-column:1 / -1;justify-content:flex-end}.beat-settings-grid,.rhyme-filter-grid{grid-template-columns:1fr}.scheme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-row{grid-template-columns:repeat(3,minmax(0,1fr))}.game-header{top:max(12px,env(safe-area-inset-top));right:12px;left:12px;flex-wrap:wrap}.recording-notice{top:calc(max(12px,env(safe-area-inset-top)) + 58px)}.timer{order:3;width:100%}.board-copy{display:block;padding-top:44px}.board-copy h2{margin-top:.3rem;font-size:1.25rem}.rhythm-board{--gap: 8px;height:min(55vh,410px)}.onboarding-cue{top:-44px;width:min(94vw,520px);gap:.45rem;font-size:.76rem}.onboarding-cue__text{white-space:normal}.ribbon-viewport{top:0;right:0;bottom:0;left:0}:is(.rhyme-cell,.free-cell){font-size:clamp(.82rem,4.2vw,1.45rem)}.beat-cell>.rhythm-pad__label{max-width:96%;overflow-wrap:normal;word-break:normal;white-space:nowrap;-webkit-hyphens:none;hyphens:none;line-height:1;text-align:center}.beat-cell>.rhythm-pad__label--medium{font-size:.88em}.beat-cell>.rhythm-pad__label--long{font-size:.74em}.rhythm-hint{font-size:.92rem}.session-overlay{place-items:start center;padding:12px}.pause-overlay{place-items:end center;padding:12px 12px 24px}.pause-panel{grid-template-columns:1fr;gap:.65rem}.pause-panel h2,.pause-actions{grid-column:1}.pause-actions{grid-row:2}.results-panel{width:100%;max-height:calc(100vh - 24px);grid-template-rows:auto minmax(120px,1fr) auto}.results-panel__header{padding:1rem .9rem .8rem}.result-route{padding:.8rem .75rem}.result-route__row{grid-template-columns:24px minmax(0,1fr);gap:.4rem}.result-route__slots{gap:.28rem}.result-route__slot{height:31px}.results-actions{padding:.8rem .75rem calc(.9rem + env(safe-area-inset-bottom))}}@media (max-width: 480px){.start-screen{width:min(calc(100% - 16px),1080px);padding-bottom:calc(3.25rem + env(safe-area-inset-bottom))}.studio-section{padding-right:.75rem;padding-left:.75rem}.track-strip{grid-template-columns:46px minmax(0,1fr);padding:.85rem}.track-emblem{height:48px}.transport-controls{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}.transport-play{min-width:0}.scheme-card{min-height:162px;padding:.75rem}.segmented-row{grid-template-columns:repeat(2,minmax(0,1fr))}.round-layout{grid-template-columns:1fr}.round-layout .studio-toggle{grid-column:auto}.start-btn{width:100%}.community-link-card{width:100%;font-size:.74rem}.pause-panel{padding:.75rem}.pause-actions{grid-template-columns:1fr}.results-panel h2{font-size:1.45rem}.session-replay{grid-template-columns:1fr;align-items:stretch}.session-replay button{width:100%}.session-replay__export-error{grid-template-columns:1fr}:is(.rhyme-cell,.free-cell){font-size:clamp(.72rem,4vw,1.18rem)}.beat-cell>.rhythm-pad__label--long{font-size:.68em}.recording-dev-tools__actions,.latency-probe-downloads,.latency-probe-analysis dl{grid-template-columns:1fr}.latency-probe-panel{min-height:min(500px,calc(100vh - 24px))}.results-session-meta{font-size:.82rem}.result-route__slot{padding:0 .2rem;font-size:.64rem}}
