.music-lab-page .performance-game .pitch-lock-stage{align-items:stretch}.music-lab-page .performance-game .pitch-lock-stage>.pitch-orbit{align-self:center;justify-self:center}.music-lab-page .pitch-sky{position:relative;z-index:3;display:grid;align-content:center;gap:.9rem;min-width:0}.music-lab-page .pitch-constellation{position:relative;margin:0;padding:.4rem .6rem .2rem;border-radius:18px;background:radial-gradient(ellipse at 50% 40%,rgba(120,96,190,.28),transparent 70%)}.music-lab-page .pitch-constellation svg{display:block;width:100%;max-height:250px;overflow:visible}.music-lab-page .pitch-constellation figcaption{position:absolute;bottom:.35rem;left:.75rem;display:grid;gap:.1rem;pointer-events:none}.music-lab-page .pitch-constellation figcaption span{color:#bfb2e3;font:800 .62rem/1 var(--font-mono);letter-spacing:.28em;text-transform:uppercase}.music-lab-page .pitch-constellation figcaption strong{color:#ffe3a1;font:500 1.7rem/1 var(--font-display)}.music-lab-page .pitch-constellation figcaption small{margin-left:.2rem;color:#cfc3ee;font:700 .7rem var(--font-body)}.lyra-dust circle{fill:#e9e1ff;opacity:.35;animation:lyra-twinkle 4.2s ease-in-out infinite alternate}.lyra-frame line,.lyra-strings line{stroke:rgba(210,196,255,.34);stroke-width:1;stroke-dasharray:2 4;transition:stroke .5s ease,stroke-width .5s ease}.lyra-strings line{stroke-dasharray:1 5}.lyra-frame line.is-lit{stroke:#ffd46b;stroke-width:1.8;stroke-dasharray:none;filter:drop-shadow(0 0 4px #ffc85a);animation:lyra-draw .7s ease-out both}.lyra-strings line.is-lit{stroke:#fff0c2;stroke-width:1;stroke-dasharray:none;opacity:.75}.lyra-star .lyra-spark{fill:#a99be0;transform:scale(.7);transition:fill .4s ease,transform .4s cubic-bezier(.2,.9,.3,1.5)}.lyra-star text{fill:#ffe9b0;font:800 10px var(--font-mono,monospace);text-anchor:middle}.lyra-star.is-lit .lyra-spark{fill:#fff8dc;transform:scale(1.25);animation:lyra-ignite .8s cubic-bezier(.2,.9,.3,1.4) both}.lyra-star.is-lit .lyra-halo{animation:lyra-pulse 2.6s ease-in-out infinite}.lyra-star.is-missed .lyra-spark{fill:#a4595c;transform:scale(.75) rotate(45deg)}.lyra-star.is-missed text{fill:#e2a3a0}.lyra-star.is-current .lyra-spark{fill:#d8cbff;transform:scale(.85)}.lyra-seek{fill:none;stroke:#f2cf75;stroke-width:1.3;stroke-dasharray:3 3;animation:lyra-seek 5s linear infinite;transform-box:fill-box;transform-origin:center}.pitch-constellation.is-complete .lyra-frame line.is-lit{stroke-width:2.4;animation:lyra-blaze 1.8s ease-in-out infinite alternate}.pitch-constellation.is-complete figcaption strong{color:#fff3c4;text-shadow:0 0 18px #ffc85a}@keyframes lyra-twinkle{0%{opacity:.15}to{opacity:.6}}@keyframes lyra-draw{0%{stroke-dasharray:0 200}to{stroke-dasharray:200 0}}@keyframes lyra-ignite{0%{transform:scale(.4)}55%{transform:scale(2.1) rotate(45deg)}to{transform:scale(1.25)}}@keyframes lyra-pulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes lyra-seek{to{transform:rotate(1turn)}}@keyframes lyra-blaze{0%{filter:drop-shadow(0 0 3px #ffc85a)}to{filter:drop-shadow(0 0 9px #ffe08a)}}.music-lab-page .pitch-sound-rings{position:absolute;inset:38%;z-index:4;pointer-events:none}.music-lab-page .pitch-sound-rings i{position:absolute;inset:0;border:2px solid #ffd978;border-radius:50%;opacity:0}.music-lab-page .pitch-orbit.is-comparing .pitch-sound-rings i,.music-lab-page .pitch-orbit.is-sounding .pitch-sound-rings i{animation:pitch-ripple 1.8s ease-out infinite}.music-lab-page .pitch-sound-rings i:nth-child(2){animation-delay:.6s!important}.music-lab-page .pitch-sound-rings i:nth-child(3){animation-delay:1.2s!important}.music-lab-page .pitch-orbit.is-comparing .pitch-sound-rings i{border-color:#ff9f8a}.music-lab-page .pitch-orbit.is-sounding .pitch-orbit-core{animation:pitch-core-hum .46s ease-in-out infinite alternate}@keyframes pitch-ripple{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(3.6)}}@keyframes pitch-core-hum{0%{text-shadow:0 0 6px #ffd97855}to{text-shadow:0 0 22px #ffd978;transform:scale(1.08)}}.music-lab-page .pitch-receiver-beam{position:absolute;top:50%;left:50%;z-index:4;width:112px;height:2px;margin-top:-1px;transform-origin:0 50%;pointer-events:none;opacity:0;background:linear-gradient(90deg,#ffd978,#ff9f8a);box-shadow:0 0 10px #ffb48a;transition:opacity .2s ease}.music-lab-page .pitch-orbit.is-comparing .pitch-receiver-beam{opacity:.9;animation:pitch-beam .3s ease-in-out infinite alternate}@keyframes pitch-beam{0%{opacity:.5}to{opacity:1}}.music-lab-page .pitch-orbit.is-solved{box-shadow:0 0 60px #ffd46b66,inset 0 0 40px #ffd46b33}.music-lab-page .pitch-orbit.is-missed{box-shadow:0 0 40px #d8756466,inset 0 0 30px #d8756422}@media (max-width:640px){.music-lab-page .pitch-constellation svg{max-height:170px}.music-lab-page .pitch-constellation figcaption strong{font-size:1.35rem}}@media (prefers-reduced-motion:reduce){.lyra-dust circle,.lyra-frame line.is-lit,.lyra-seek,.lyra-star.is-lit .lyra-halo,.lyra-star.is-lit .lyra-spark,.pitch-constellation.is-complete .lyra-frame line.is-lit{animation:none}.lyra-star .lyra-spark{transition:none}.music-lab-page .pitch-orbit.is-comparing .pitch-sound-rings i,.music-lab-page .pitch-orbit.is-sounding .pitch-sound-rings i{animation:none;opacity:.5;transform:scale(1.6)}.music-lab-page .pitch-orbit.is-comparing .pitch-receiver-beam,.music-lab-page .pitch-orbit.is-sounding .pitch-orbit-core{animation:none}}.music-lab-page .pitch-howto{margin:0;color:#3c3552;font-size:.86rem;line-height:1.45}.music-lab-page .pitch-howto[hidden]{display:none}.music-lab-page .pitch-challenge{margin:.8rem 0;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted)}.music-lab-page .pitch-challenge>summary{min-height:44px;display:flex;align-items:center;padding:0 1rem;color:var(--ink);font:700 .86rem var(--font-body);cursor:pointer}.music-lab-page .pitch-challenge[open]>summary{border-bottom:1px solid var(--line)}.music-lab-page .pitch-challenge .pitch-overdrive-decision{margin:0;border:0;box-shadow:none;background:transparent}@media (max-width:640px){.music-lab-page .performance-game .pitch-anchor-decision{padding:.6rem}}.music-lab-page .performance-game .pulse-runner-stage{gap:.7rem;background:radial-gradient(ellipse 60% 45% at 50% 8%,rgba(255,214,140,.2),transparent 70%),radial-gradient(ellipse 80% 40% at 50% 100%,rgba(216,85,63,.22),transparent 70%),linear-gradient(180deg,#1c1626,#2a1e2c 55%,#3a2622)}.music-lab-page .groove-kit{position:relative;z-index:3;display:block;width:min(100%,540px);height:auto;overflow:visible}.groove-kit .kit-beams polygon{fill:url(#groove-beam);opacity:calc(.08 + var(--kit-lit, .2) * .5);transition:opacity .26s ease}.groove-kit.is-lost .kit-beams polygon{fill:#d8553f;opacity:.12}.groove-kit .kit-rug{fill:#0d0a10;opacity:.55}.groove-kit .kit-stand line,.groove-kit .kit-stand-line{stroke:#b9a27a;stroke-width:2;stroke-linecap:round}.groove-kit .kit-lug{stroke:#f0b43c;stroke-width:1.2;opacity:.7}.groove-kit .kit-head{stroke:#d9c6a3;stroke-width:1;transition:filter .2s ease}.groove-kit .kit-badge{fill:#1c1626;stroke:#f0b43c;stroke-width:1.4}.groove-kit .kit-badge-mark{fill:none;stroke:#f0b43c;stroke-width:1.2;stroke-dasharray:2 2.2}.groove-kit .kit-badge-dot{fill:#d8553f}.groove-kit .kit-ripple{fill:none;stroke:#ffe7a8;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}.groove-kit .kit-piece{transform-box:fill-box;transform-origin:50% 100%}.groove-kit .kit-crash,.groove-kit .kit-hat{transform-origin:center}.groove-kit .kit-piece.is-struck{animation:kit-thump .3s cubic-bezier(.2,1.6,.4,1) both}.groove-kit .kit-piece.is-struck .kit-head{animation:kit-flash .42s ease-out both}.groove-kit .kit-piece.is-struck .kit-ripple{animation:kit-ripple .52s ease-out both}.groove-kit .kit-crash.is-struck,.groove-kit .kit-hat.is-struck{animation:kit-shimmer .38s ease-out both}.groove-kit.is-count .kit-piece.is-struck .kit-ripple{stroke:#9fd0ff}.groove-kit .kit-lamps circle{fill:#3b2d3a;stroke:#6b5566;stroke-width:1;transition:fill .16s ease,filter .16s ease}.groove-kit .kit-lamps circle.is-on{fill:#ffd46b;stroke:#fff2c4;stroke-width:2.5;stroke-opacity:.6}.groove-kit.is-locked .kit-lamps circle.is-on{animation:kit-lamp-chase 1.2s ease-in-out infinite alternate}.groove-kit.is-locked .kit-lamps circle:nth-child(2n){animation-delay:.3s}.groove-kit.is-locked .kit-head{stroke:#ffd46b;stroke-width:2}.groove-kit.is-lost .kit-head{filter:saturate(.6) brightness(.8)}@keyframes kit-thump{0%{transform:translateY(0) scale(1)}30%{transform:translateY(3px) scale(1.04,.95)}to{transform:none}}@keyframes kit-flash{0%{fill:#fffdf6;stroke:#ffd46b;stroke-width:3}to{stroke-width:1}}@keyframes kit-ripple{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}@keyframes kit-shimmer{0%{transform:rotate(0);opacity:.75}35%{transform:rotate(-6deg);opacity:1}70%{transform:rotate(3deg)}to{transform:none}}@keyframes kit-lamp-chase{0%{opacity:.55}to{opacity:1}}.music-lab-page .performance-game .pulse-tap-surface{position:relative;border:3px solid #f0b43c;color:#3a1d18;background:radial-gradient(circle at 50% 30%,#fffaf0,#f2e6cf 58%,#d9c6a3);box-shadow:0 0 0 6px #7d241c,0 7px 0 6px #4f1712,0 16px 38px rgba(0,0,0,.45)}.music-lab-page .performance-game .pulse-tap-surface:active{transform:translateY(4px);box-shadow:0 0 0 6px #7d241c,0 3px 0 6px #4f1712,0 0 44px rgba(255,212,107,.55)}.music-lab-page .performance-game .pulse-tap-surface span{color:#6b2a1f}.music-lab-page .groove-proof{position:relative;z-index:3;width:min(100%,560px);margin:0;padding:.4rem .5rem .2rem;border:1px solid rgba(240,180,60,.35);border-radius:16px;background:rgba(20,14,22,.72);animation:groove-proof-in .42s cubic-bezier(.2,.9,.3,1.2) both}.music-lab-page .groove-proof svg{display:block;width:100%;height:auto;overflow:visible}.music-lab-page .groove-proof figcaption{color:#f5ddab;font:800 .62rem/1.4 var(--font-mono);letter-spacing:.16em;text-align:center;text-transform:uppercase}.groove-proof-band{fill:rgba(95,159,128,.22);stroke:rgba(95,159,128,.55);stroke-dasharray:3 3}.groove-proof-center{stroke:#f0b43c;stroke-width:1.5;opacity:.85}.groove-proof-grid{stroke:rgba(245,221,171,.18);stroke-dasharray:2 4}.groove-proof-axis{fill:#bda98a;font:800 8px var(--font-mono,monospace);letter-spacing:.14em}.groove-proof-path{fill:none;stroke:#ffe7a8;stroke-width:1.4;stroke-linejoin:round;opacity:.55}.groove-proof-tap{animation:groove-proof-tap .38s cubic-bezier(.2,1.5,.4,1) both;transform-box:fill-box;transform-origin:50% 50%}.groove-proof-tap line{stroke-width:2;stroke:currentColor;opacity:.7}.groove-proof-tap circle{fill:currentColor;stroke:#fff6dc;stroke-width:1.4}.groove-proof-tap text{fill:#1c1626;font:800 8px var(--font-mono,monospace);text-anchor:middle}.groove-proof-tap.is-inside{color:#5f9f80}.groove-proof-tap.is-early{color:#f0b43c}.groove-proof-tap.is-late{color:#d8553f}.groove-proof-tap.is-late text{fill:#fff6dc}.music-lab-page .groove-proof.is-hit{border-color:rgba(95,159,128,.6);box-shadow:0 0 30px rgba(95,159,128,.25)}@keyframes groove-proof-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes groove-proof-tap{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}.music-lab-page .groove-trail{position:relative;z-index:3;width:min(100%,560px);margin:.1rem 0 0}.music-lab-page .groove-trail svg{display:block;width:100%;height:auto;overflow:visible}.groove-trail-wire{fill:none;stroke:rgba(240,180,60,.35);stroke-width:1.2;stroke-dasharray:2 4}.groove-trail-disc circle{fill:#2b2130;stroke:#6b5566;stroke-width:1.2;transition:fill .3s ease,stroke .3s ease}.groove-trail-disc polyline{fill:none;stroke:#1c1626;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.groove-trail-disc text{fill:#d8c6a4;font:700 9px var(--font-mono,monospace);text-anchor:middle}.groove-trail-disc.is-locked circle{fill:#ffd46b;stroke:#fff2c4;stroke-width:2.5;animation:trail-land .52s cubic-bezier(.2,1.6,.4,1) both;transform-box:fill-box;transform-origin:center}.groove-trail-disc.is-lost circle{fill:#7d3a30;stroke:#d8553f;animation:trail-land .52s ease-out both;transform-box:fill-box;transform-origin:center}.groove-trail-disc.is-lost polyline{stroke:#f5ddab}.groove-trail-disc.is-current circle{fill:transparent;stroke:#f0b43c;stroke-width:1.6;stroke-dasharray:3 3}@keyframes trail-land{0%{transform:scale(.3)}to{transform:none}}@media (max-width:640px){.music-lab-page .groove-kit{width:100%}.music-lab-page .performance-game .pulse-runner-stage{gap:.5rem}}@media (prefers-reduced-motion:reduce){.groove-kit .kit-crash.is-struck,.groove-kit .kit-hat.is-struck,.groove-kit .kit-piece.is-struck,.groove-kit .kit-piece.is-struck .kit-head,.groove-kit .kit-piece.is-struck .kit-ripple,.groove-kit.is-locked .kit-lamps circle.is-on,.groove-proof-tap,.groove-trail-disc circle,.music-lab-page .groove-proof{animation:none!important}.groove-kit .kit-piece.is-struck .kit-head{filter:brightness(1.15)}.groove-kit .kit-beams polygon,.groove-kit .kit-lamps circle{transition:none}}.music-lab-page .performance-game .pulse-runway[data-count="4"]{grid-template-columns:repeat(4,1fr)}.music-lab-page .performance-game .pulse-runway[data-count="16"]{grid-template-columns:repeat(16,1fr);padding-inline:4px}.music-lab-page .performance-game .pulse-runway[data-count="16"] i{width:18px;height:18px}.music-lab-page .performance-game .pulse-runway[data-count="16"] i span{font-size:.55rem}.music-lab-page .bpm-name-step{margin:.9rem 0;padding:1rem;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px;background:var(--surface-muted);color:var(--ink)}.music-lab-page .bpm-name-step h2{margin:0 0 .2rem;font:700 1.1rem/1.3 var(--font-display)}.music-lab-page .bpm-name-step p{margin:0 0 .7rem;color:var(--muted-strong);font-size:.88rem}.music-lab-page .bpm-name-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.music-lab-page .bpm-name-options .button{min-height:48px;white-space:normal}.music-lab-page .bpm-summary{display:grid;gap:.3rem;margin:.5rem 0 .2rem;padding:0;list-style:none}.music-lab-page .bpm-summary li{display:flex;flex-wrap:wrap;gap:.3rem;align-items:baseline}.music-lab-page .bpm-summary li>span[aria-hidden]{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;color:#fff;font-size:.72rem;font-weight:800}.music-lab-page .bpm-summary li.is-pass>span[aria-hidden]{background:#2f7d62}.music-lab-page .bpm-summary li.is-miss>span[aria-hidden]{background:#b4473a}@media (max-width:640px){.music-lab-page .bpm-name-options{grid-template-columns:1fr}.music-lab-page .performance-game .pulse-runway[data-count="16"] i{width:12px;height:12px;border-width:1px}.music-lab-page .performance-game .pulse-runway[data-count="16"] i span{display:none}}.music-lab-page .performance-game .staff-runner-stage{background:radial-gradient(ellipse 55% 60% at 38% 0,rgba(255,214,140,.28),transparent 70%),radial-gradient(ellipse 70% 50% at 50% 110%,rgba(47,127,208,.28),transparent 70%),linear-gradient(180deg,#16192b,#1f2238 60%,#2b2533);border-color:rgba(240,180,60,.3)}.music-lab-page .staff-stage-lamp{position:absolute;z-index:1;top:0;left:30%;width:28%;height:100%;pointer-events:none;background:linear-gradient(180deg,rgba(255,231,168,.22),transparent 80%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}.music-lab-page .staff-runner-stage[data-flow-tier=fading] .staff-stage-lamp{opacity:.35}.music-lab-page .performance-game .staff-stage .staff-note{border:1px solid #c9a15a;background:linear-gradient(180deg,#fffaf0,#f4ead6);box-shadow:0 0 0 4px rgba(240,180,60,.14),0 12px 24px rgba(0,0,0,.4)}.music-lab-page .staff-judgment-line{stroke:#f0b43c}.music-lab-page .staff-judgment-line.is-perfect{stroke:#ffd46b;stroke-width:5;filter:drop-shadow(0 0 10px #ffc85a)}.staff-note-trail{stroke:#f0b43c;stroke-width:5;stroke-linecap:round;opacity:.28}.music-lab-page .staff-note-flight.is-resolved{animation-play-state:paused!important}.staff-note-flight .staff-note-body{transform-box:view-box}.staff-note-flight.is-good .staff-note-body,.staff-note-flight.is-perfect .staff-note-body{animation:staff-note-rise .5s cubic-bezier(.3,0,.7,1) forwards}.staff-note-flight.is-good .note-head{fill:#5f9f80}.staff-note-flight.is-perfect .note-head{fill:#e8a321;stroke:#ffd46b;stroke-width:2}.staff-note-flight.is-miss .note-head{fill:#d8553f}.staff-note-flight.is-miss .staff-note-body{animation:staff-note-shake .32s ease-out both}.staff-note-flight.is-resolved .staff-note-trail{opacity:0}.staff-gate-burst circle{fill:none;stroke:#5f9f80;stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:staff-burst-ring .52s ease-out both}.staff-gate-burst.is-perfect circle{stroke:#ffd46b;stroke-width:3}.staff-gate-burst line{stroke:#ffd46b;stroke-width:2.4;stroke-linecap:round;animation:staff-burst-ray .52s ease-out both}@keyframes staff-note-rise{0%{transform:none;opacity:1}35%{transform:translateY(-6px);opacity:1}to{transform:translateY(46px);opacity:0}}@keyframes staff-note-shake{0%,to{transform:none}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}@keyframes staff-burst-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(3.2)}}@keyframes staff-burst-ray{0%{opacity:1}to{opacity:0}}.music-lab-page .phrase-bloom{position:relative;contain:paint;margin:.8rem 0 0;padding:.55rem .7rem .35rem;border:1px solid #d9c6a3;border-radius:16px;background:linear-gradient(180deg,#fffaf0,#f6ecd8);box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(58,38,34,.1)}.music-lab-page .phrase-bloom svg{display:block;width:100%;height:auto;max-height:150px;overflow:visible}.music-lab-page .phrase-bloom figcaption{position:absolute;top:.45rem;right:.8rem;display:flex;gap:.5rem;align-items:baseline;pointer-events:none}.music-lab-page .phrase-bloom figcaption span{color:#7a5a2c;font:800 .6rem/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase}.music-lab-page .phrase-bloom figcaption strong{color:#3a2622;font:500 1.25rem/1 var(--font-display)}.music-lab-page .phrase-bloom figcaption small{color:#6b5a48;font:700 .7rem var(--font-body)}.phrase-bloom-line{stroke:#b9a27a;stroke-width:1}.phrase-bloom-ledger{stroke:#8f7a58;stroke-width:1}.phrase-bloom-count{fill:#7a5a2c;font:800 9px var(--font-mono,monospace)}.phrase-bloom-empty{fill:#7a6a55;font:600 11px var(--font-body,sans-serif);text-anchor:middle}.phrase-bloom-note ellipse{fill:#2b2533}.phrase-bloom-stem{stroke:#2b2533;stroke-width:1.3}.phrase-bloom-note text{fill:#5a4a3a;font:800 10px var(--font-mono,monospace);text-anchor:middle}.phrase-bloom-bud.is-perfect ellipse{fill:#f0b43c;stroke:#c98612;stroke-width:.6}.phrase-bloom-bud.is-perfect circle{fill:#d8553f}.phrase-bloom-bud.is-leaf{fill:#5f9f80}.phrase-bloom-note.is-new .phrase-bloom-bud{animation:phrase-bud .7s cubic-bezier(.2,1.6,.4,1) .26s both;transform-box:fill-box;transform-origin:50% 100%}@keyframes phrase-bud{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}.phrase-bloom-note.is-perfect>ellipse{fill:#c98612}.phrase-bloom-note.is-perfect text{fill:#8a5a0a}.phrase-bloom-note.is-new{animation:phrase-settle .62s cubic-bezier(.2,1.4,.4,1) both}.phrase-bloom-bar{stroke:#8f7a58;stroke-width:1.4}.phrase-bloom-flower ellipse{fill:#d8553f;opacity:.92;stroke:#fffaf0;stroke-width:.8}.phrase-bloom-flower circle{fill:#f0b43c}.phrase-bloom-flower{animation:phrase-flower .9s cubic-bezier(.2,1.5,.4,1) both;transform-box:fill-box}@keyframes phrase-settle{0%{opacity:0;transform:translateY(-34px)}60%{opacity:1;transform:translateY(3px)}to{transform:none}}@keyframes phrase-flower{0%{opacity:0}to{opacity:1}}.music-lab-page .performance-game .staff-keyboard{position:relative;border-color:#c9a15a;background:linear-gradient(180deg,#3a2622,#2b1c19);box-shadow:inset 0 2px 0 rgba(255,255,255,.08),0 12px 28px rgba(58,38,34,.3)}.music-lab-page .performance-game .staff-keyboard button{position:relative;border-color:#cdbd9f;background:linear-gradient(180deg,#fffdf6,#efe4cd);box-shadow:inset 0 -7px rgba(143,101,23,.1),0 5px 0 #a8916a}.music-lab-page .performance-game .staff-keyboard button:disabled{opacity:.9;filter:saturate(.85)}.music-lab-page .staff-keyboard-sharps{position:absolute;inset:.55rem .55rem auto;height:46%;pointer-events:none}.music-lab-page .staff-keyboard-sharps i{position:absolute;top:0;width:7%;height:100%;border-radius:0 0 5px 5px;background:linear-gradient(180deg,#1c1626,#3a3040);box-shadow:0 3px 0 #0d0a10,inset 0 -3px rgba(255,255,255,.1);transform:translateX(-50%)}.music-lab-page .staff-keyboard button.is-struck-a,.music-lab-page .staff-keyboard button.is-struck-b{z-index:1}.music-lab-page .staff-keyboard button.is-struck-a{animation:key-spring-a .34s cubic-bezier(.2,1.6,.4,1)}.music-lab-page .staff-keyboard button.is-struck-b{animation:key-spring-b .34s cubic-bezier(.2,1.6,.4,1)}.music-lab-page .staff-keyboard button.is-right{background:linear-gradient(180deg,#f5fff9,#c8ecd9);box-shadow:inset 0 -7px rgba(95,159,128,.18),0 5px 0 #5f9f80,0 0 22px rgba(95,159,128,.55)}.music-lab-page .staff-keyboard button.is-wrong{background:linear-gradient(180deg,#fff6f3,#f5d0c7);box-shadow:inset 0 -7px rgba(216,85,63,.14),0 5px 0 #d8553f,0 0 18px rgba(216,85,63,.4)}.music-lab-page .staff-keyboard button.is-preview{background:linear-gradient(180deg,#f3f8ff,#cfe2f6);box-shadow:0 5px 0 #2f7fd0,0 0 18px rgba(47,127,208,.4)}.music-lab-page .staff-keyboard button.is-correction{background:linear-gradient(180deg,#f5fff9,#c8ecd9)}@keyframes key-spring-a{0%{transform:translateY(6px)}60%{transform:translateY(-3px)}to{transform:none}}@keyframes key-spring-b{0%{transform:translateY(6px)}60%{transform:translateY(-3px)}to{transform:none}}@media (max-width:640px){.music-lab-page .phrase-bloom{padding:.45rem .4rem .3rem}.music-lab-page .phrase-bloom figcaption{position:static;justify-content:space-between;padding:0 .3rem .2rem}.music-lab-page .performance-game .staff-keyboard{gap:2px;margin-inline:-8px;padding:4px}.music-lab-page .staff-keyboard-sharps{inset:4px 4px auto}}@media (prefers-reduced-motion:reduce){.music-lab-page .staff-keyboard button.is-struck-a,.music-lab-page .staff-keyboard button.is-struck-b,.phrase-bloom-flower,.phrase-bloom-note.is-new,.phrase-bloom-note.is-new .phrase-bloom-bud,.staff-gate-burst circle,.staff-gate-burst line,.staff-note-flight .staff-note-body{animation:none!important}.staff-gate-burst{display:none}}.music-lab-page .performance-game .staff-note-flight.is-running{animation-name:staff-flight-lane}@keyframes staff-flight-lane{0%{transform:translateX(50px);opacity:.6}to{transform:translateX(-52px);opacity:1}}.staff-preview-lane line{stroke:#c9a15a;stroke-width:1.2;stroke-dasharray:3 4;opacity:.6}.staff-preview-lane text{fill:#8a6d3e;font:800 9px var(--font-mono,monospace);letter-spacing:.18em;text-anchor:middle}.music-lab-page .phrase-bloom svg{max-height:190px}.phrase-bloom-clef{fill:#5a4a3a;font-size:34px}.music-lab-page .note-advanced{margin:.8rem 0;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted);color:var(--ink)}.music-lab-page .note-advanced>summary{min-height:44px;display:flex;align-items:center;padding:0 1rem;font:700 .86rem var(--font-body);cursor:pointer}.music-lab-page .note-advanced[open]>summary{border-bottom:1px solid var(--line)}.music-lab-page .note-advanced .note-flow-decision{margin:0;border:0;box-shadow:none;background:transparent}.music-lab-page .note-ladder-status{margin:.3rem 0 .6rem}.music-lab-page .staff-heat-map{margin:.8rem 0;padding:.7rem .9rem;border:1px solid #d9c6a3;border-radius:14px;background:linear-gradient(180deg,#fffaf0,#f6ecd8);color:#3a2622}.music-lab-page .staff-heat-map figcaption{display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:space-between;align-items:baseline;font-size:.8rem}.music-lab-page .staff-heat-map figcaption strong{font:800 .7rem/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#7a5a2c}.music-lab-page .staff-heat-map figcaption span{display:flex;gap:.35rem;align-items:center;color:#5a4a3a}.music-lab-page .staff-heat-map figcaption i{display:inline-block;width:10px;height:10px;border-radius:50%}.music-lab-page .staff-heat-map svg{display:block;width:100%;max-width:560px;height:auto;max-height:180px;margin:.3rem auto 0;overflow:visible}.staff-heat-line{stroke:#b9a27a;stroke-width:1}.staff-heat-clef{fill:#5a4a3a;font-size:44px}.staff-heat-cell text{fill:#5a4a3a;font:700 8px var(--font-mono,monospace);text-anchor:middle}.staff-heat-cell ellipse{stroke:#3a2622;stroke-width:.8}.staff-heat-cell.is-strong ellipse,.staff-heat-map i.is-strong{fill:#2f7d62;background:#2f7d62}.staff-heat-cell.is-shaky ellipse,.staff-heat-map i.is-shaky{fill:#d69a2d;background:#d69a2d}.staff-heat-cell.is-weak ellipse,.staff-heat-map i.is-weak{fill:#c0453a;background:#c0453a}@media (max-width:640px){.music-lab-page .performance-game .staff-runner-stage{padding-inline:0}.music-lab-page .performance-game .staff-stage .staff-note{width:100%;padding:.25rem 0;border-radius:12px}.music-lab-page .staff-note .note-head{rx:15px;ry:10.5px}.music-lab-page .staff-preview-note ellipse{rx:11px;ry:8px}}@media (prefers-reduced-motion:reduce){.music-lab-page .performance-game .staff-note-flight.is-running{animation:none;opacity:1;transform:none}}