.music-lab-page .performance-game .performance-journey{display:flex;align-items:center;gap:.7rem;margin:.7rem 0;color:#4d4660;font:700 .72rem/1.4 var(--font-body)}.music-lab-page .performance-journey>div{display:flex;flex:1 1;gap:5px}.music-lab-page .performance-journey i{flex:1 1;height:8px;border-radius:8px;background:#e4dff0}.music-lab-page .performance-journey i.is-complete{background:#5d45b3;box-shadow:0 0 8px #9474d944}.music-lab-page .performance-journey i.is-current{background:#d8bb68}.music-lab-page .performance-mission{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:0;margin:.5rem 0;list-style:none;font-size:.76rem;color:#706b7e}.music-lab-page .performance-mission li{display:flex;align-items:center;gap:.4rem}.music-lab-page .performance-mission b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eee9f6}.music-lab-page .performance-mission .is-active{color:#5636a3;font-weight:750}.music-lab-page .performance-mission .is-active b{color:white;background:#6947bc}.music-lab-page .performance-mission .is-done b{color:#176344;background:#ccead9}.music-lab-page .performance-tip{color:#645a74;font-size:.78rem;line-height:1.5}.music-lab-page .performance-game .pitch-lock-stage{min-height:310px;padding:1.2rem;gap:1.2rem;grid-template-columns:280px minmax(0,1fr);background:radial-gradient(ellipse at 24% 45%,#55437c,transparent 56%),linear-gradient(130deg,#191a34,#342443);border-color:#5b497b}.music-lab-page .performance-game .pitch-orbit{width:260px;height:260px;background:radial-gradient(circle,#3b2f61 0 27%,transparent 28%),radial-gradient(circle,#24213f 0 64%,#5e4e79 65% 66%,#29243f 67%);border-color:#8771a9;box-shadow:0 0 45px #b48add33,inset 0 0 30px #a58acf22}.music-lab-page .performance-game .pitch-orbit:after{background:#493562}.music-lab-page .performance-game .pitch-orbit-core{color:#ffe9a5;font-size:2.8rem}.music-lab-page .pitch-constellation-labels{position:absolute;inset:28px;z-index:6;pointer-events:none}.music-lab-page .pitch-constellation-labels>span{position:absolute;transform:translate(-50%,-50%);color:#d4c9eb;font:750 .8rem var(--font-body);white-space:nowrap}.music-lab-page .pitch-constellation-labels>span.is-selected{color:#ffe496;text-shadow:0 0 10px #f3c86588}.music-lab-page .performance-game .pitch-receiver-console{position:relative;inset:auto;grid-template-columns:1fr;padding:1rem;width:100%;background:#fcf8ff;border-color:#fff6;box-shadow:0 8px 30px #0002}.music-lab-page .performance-game .pitch-receiver-console>div{flex-wrap:wrap}.music-lab-page .performance-game .pitch-coherence{display:grid;grid-template-columns:1fr}.music-lab-page .performance-game .pitch-receiver-console .button{flex:1 1}.music-lab-page .performance-game .pulse-runner-stage{min-height:280px;gap:.75rem;padding:1.3rem;background:radial-gradient(ellipse at 50% 90%,#9c536055,transparent 65%),linear-gradient(135deg,#22243b,#42314e);border:1px solid #665274;color:#fff3d3}.music-lab-page .performance-stage-caption{color:#f5ddab;font:800 .7rem var(--font-mono);letter-spacing:.16em;text-align:center}.music-lab-page .performance-game .tempo-pulse{width:74px;height:74px}.music-lab-page .performance-game .tempo-pulse.has-tap,.music-lab-page .performance-game .tempo-pulse.is-running span{animation:performance-hit .24s ease-out}.music-lab-page .performance-game .pulse-runway{height:62px}.music-lab-page .performance-game .pulse-runway:before{background:#fff2}.music-lab-page .performance-game .pulse-runway i{position:relative;width:28px;height:28px;border-color:#b3a1c1;background:#514461;font-style:normal}.music-lab-page .performance-game .pulse-runway i span{display:grid;place-items:center;height:100%;color:white;font:700 .7rem var(--font-mono)}.music-lab-page .performance-game .pulse-runway i.is-on-time{background:#32886d}.music-lab-page .performance-game .pulse-runway i.is-early{background:#93620b}.music-lab-page .performance-game .pulse-runway i.is-late{background:#744f99}.music-lab-page .performance-game .pulse-runway b{width:14px;height:14px;top:94%}.music-lab-page .performance-game .pulse-tap-surface{width:min(100%,370px);min-height:104px;border-radius:22px;box-shadow:0 7px 0 #945657,0 10px 35px #0004}.music-lab-page .performance-game .pulse-tap-surface:active{transform:translateY(4px);box-shadow:0 3px 0 #945657}.music-lab-page .performance-award{display:grid;justify-items:center;gap:.3rem;color:#ffe3a1}.music-lab-page .performance-award strong{font:800 3rem var(--font-display)}.music-lab-page .performance-award span{font-size:.8rem}.music-lab-page .performance-game .staff-runner-stage{min-height:255px;padding:1.4rem .5rem 3.2rem;background:radial-gradient(ellipse at 50% 0,#daf8e9,transparent 70%),linear-gradient(125deg,#e7e7fb,#dceafa)}.music-lab-page .performance-game .staff-preview-note ellipse{fill:#586294}.music-lab-page .performance-game .staff-preview-note line{stroke:#586294}.music-lab-page .performance-game .staff-hit-award{position:absolute;z-index:5;bottom:.55rem;display:flex;gap:.65rem;align-items:center;border-radius:30px;padding:.5rem 1rem;background:#fffdf4;box-shadow:0 3px 16px #26375422;color:#275844;animation:performance-hit .23s ease-out}.music-lab-page .staff-hit-award strong{font:850 .8rem var(--font-body)}.music-lab-page .staff-hit-award span{font-size:.75rem}.music-lab-page .performance-game .staff-hit-award.is-miss{color:#714665}.music-lab-page .performance-game.is-rehearsal .staff-judgment-line{display:none}.music-lab-page .performance-game .staff-keyboard button{transition:transform .1s,box-shadow .1s}.music-lab-page .performance-game .staff-keyboard button:active{transform:translateY(5px)}.music-lab-page .music-concept-card,.music-lab-page .music-debrief,.music-lab-page .music-lesson{margin:.8rem 0;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted);color:var(--ink);font-size:.84rem;line-height:1.5}.music-lab-page .music-concept-card strong,.music-lab-page .music-debrief p strong,.music-lab-page .music-lesson>strong{display:block;margin-bottom:.2rem;color:var(--primary-text,var(--primary));font:800 .7rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.music-lab-page .music-debrief ul,.music-lab-page .music-lesson ul{margin:.2rem 0 0;padding-left:1.1rem}.music-lab-page .music-debrief li+li,.music-lab-page .music-lesson li+li{margin-top:.25rem}.music-lab-page .music-concept-card{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;border-left:4px solid var(--gold)}.music-lab-page .music-concept-card p{flex:1 1 18rem;margin:0}.music-lab-page .music-concept-card .button{padding:.35rem .8rem;font-size:.75rem}.music-lab-page .music-debrief{border-left:4px solid var(--primary)}.music-lab-page .music-debrief h2{margin:0 0 .3rem;font:800 1rem/1.3 var(--font-display)}.music-lab-page .music-debrief p{margin:.6rem 0 0}@keyframes performance-hit{0%{transform:scale(.88)}60%{transform:scale(1.07)}to{transform:scale(1)}}@media (max-width:640px){.music-lab-page .performance-game .pitch-lock-stage{grid-template-columns:1fr;padding:1rem}.music-lab-page .performance-game .performance-journey{gap:.4rem;font-size:.65rem}.music-lab-page .performance-journey>div{gap:3px}.music-lab-page .performance-mission{font-size:.68rem;gap:.4rem}.music-lab-page .performance-game .staff-hit-award{gap:.3rem;padding:.5rem .6rem}}@media (prefers-reduced-motion:reduce){.music-lab-page .performance-game .staff-hit-award,.music-lab-page .performance-game .tempo-pulse,.music-lab-page .performance-game .tempo-pulse span{animation:none}.music-lab-page .performance-game .pulse-tap-surface,.music-lab-page .performance-game .staff-keyboard button{transition:none}}