.global-nav{height:68px;background:rgba(248,249,250,.92);border-bottom:1px solid #E8ECEF;position:sticky;top:0;z-index:1000;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 10px #00000008;font-family:Sora,-apple-system,BlinkMacSystemFont,sans-serif}.global-nav__inner{width:100%;max-width:var(--w-page, 1160px);margin:0 auto;padding:0 1.5rem;height:100%;display:grid;grid-template-columns:200px 1fr 200px;align-items:center}.global-nav__logo{display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:transform .2s ease}.global-nav__logo:hover{transform:scale(1.02)}.global-nav__logo-mark{font-size:1.25rem;color:var(--p-melody, #F4A261);line-height:1;transition:transform .3s ease}.global-nav__logo:hover .global-nav__logo-mark{transform:rotate(45deg) scale(1.15)}.global-nav__logo-word{font-family:Sora,sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#1e293b}.global-nav__center{display:flex;align-items:center;justify-content:center;gap:1.25rem;justify-self:center;height:100%}.global-nav__tabs{display:flex;height:100%;gap:.5rem}.global-nav__tab{background:transparent;border:none;color:#64748b;font-family:Sora,sans-serif;font-size:.88rem;font-weight:600;letter-spacing:-.01em;padding:0 1rem;height:100%;display:flex;align-items:center;cursor:pointer;transition:color .15s ease;position:relative;white-space:nowrap}.global-nav__tab:hover{color:#1e293b}.global-nav__tab.active{color:#1e293b;font-weight:700}.global-nav__tab:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--p-melody, #F4A261);border-radius:3px 3px 0 0;transition:width .25s cubic-bezier(.16,1,.3,1)}.global-nav__tab.active:after{width:80%}.global-nav__warmup{background:#FDF9EE;border:1px solid rgba(233,196,106,.5);color:#b48220;font-family:Sora,sans-serif;font-size:.78rem;font-weight:700;padding:.4rem .9rem;border-radius:10px;cursor:pointer;box-shadow:0 2px #cca447;transition:all .15s ease;display:flex;align-items:center;gap:.4rem}.global-nav__warmup:hover{background:#FCF4DD;transform:translateY(-1px);box-shadow:0 3px #cca447}.global-nav__warmup:active{transform:translateY(2px);box-shadow:0 0 #cca447}.global-nav__warmup--done{opacity:.6;cursor:default;background:#F1F3F5;border-color:#e2e8f0;color:#94a3b8;box-shadow:0 1px #cbd5e1}.global-nav__warmup--done:hover{transform:none;background:#F1F3F5;box-shadow:0 1px #cbd5e1}.global-nav__right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.global-nav__settings-wrapper{position:relative;display:inline-block}.global-nav__settings-btn,.global-nav__admin-btn{background:#FFFFFF;border:1px solid #E8ECEF;color:#475569;font-family:Sora,sans-serif;font-size:.78rem;font-weight:600;padding:.45rem .85rem;border-radius:10px;cursor:pointer;white-space:nowrap;box-shadow:0 2px #cbd5e1;transition:all .15s ease;display:flex;align-items:center;gap:6px}.global-nav__settings-btn:hover,.global-nav__admin-btn:hover{background:#F8F9FA;color:#1e293b;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 3px #cbd5e1}.global-nav__settings-btn:active,.global-nav__admin-btn:active{transform:translateY(2px);box-shadow:0 0 #cbd5e1}.global-nav__settings-btn.active{border-color:var(--p-melody, #F4A261);color:#1e293b;background:#FEF6EF}.global-nav__settings-chevron{font-size:.65rem;transition:transform .25s ease}.global-nav__settings-btn.active .global-nav__settings-chevron{transform:rotate(180deg)}.global-nav__admin-btn--on{background:#F2F6FB;border-color:#7da0ca;color:#2563eb}.global-nav__popover{position:absolute;top:calc(100% + 10px);right:0;width:270px;background:#FFFFFF;border:1px solid #E8ECEF;border-radius:16px;padding:1.25rem;box-shadow:0 10px 30px #00000014,0 2px 8px #0000000a;z-index:1000;display:flex;flex-direction:column;gap:1.1rem;animation:nav-popover-in .2s cubic-bezier(.16,1,.3,1);transform-origin:top right}@keyframes nav-popover-in{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.global-nav-popover__title{font-family:Sora,sans-serif;font-size:.88rem;font-weight:700;letter-spacing:-.01em;color:#1e293b;border-bottom:1px solid #F1F3F5;padding-bottom:.5rem}.global-nav-popover__section{display:flex;flex-direction:column;gap:.45rem}.global-nav-popover__label{font-size:.72rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.global-nav-popover__choices{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#F8F9FA;padding:4px;border-radius:12px;border:1px solid #E8ECEF}.global-nav-popover__choice-btn{padding:.55rem;background:transparent;border:none;border-radius:8px;font-family:Sora,sans-serif;font-size:.75rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s ease}.global-nav-popover__choice-btn:hover{color:#1e293b;background:#FFFFFF}.global-nav-popover__choice-btn.active{background:#FFFFFF;color:var(--p-melody-text, #C45C42);border:1px solid rgba(244,162,97,.3);box-shadow:0 2px 6px #0000000a;font-weight:700}@media (max-width: 900px){.global-nav__inner{grid-template-columns:auto 1fr auto;padding:0 1rem}}@media (max-width: 700px){.global-nav{height:auto;padding:.5rem 0}.global-nav__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.global-nav__center{order:3;width:100%;margin-top:.5rem}}.lp25-pref-container{position:relative;flex-shrink:0}.lp25-pref-trigger{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:0 14px;height:40px;font-size:.84rem;font-weight:700;box-sizing:border-box}.lp25-pref-trigger__text{white-space:nowrap;display:inline-flex;align-items:center;gap:2px}.lp25-pref-trigger__notation{white-space:nowrap}.lp25-pref-trigger__arrow{font-size:.7rem;line-height:1;opacity:.7}.lp25-popover{position:absolute;top:calc(100% + 10px);right:0;width:260px;max-width:calc(100vw - 24px);background:#FFFFFF;border:1px solid var(--lp25-border, #E2E8F0);border-radius:18px;padding:16px;box-shadow:0 10px 30px #00000014,0 4px #cbd5e1;z-index:200;animation:pref-pop .18s cubic-bezier(.175,.885,.32,1.275)}@keyframes pref-pop{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lp25-popover__title{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--lp25-text-muted, #94A3B8);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--lp25-border, #E2E8F0)}.lp25-popover__label{font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary, #64748B);margin-bottom:8px}.lp25-popover__choice-btn{background:#F8FAFC;border:1px solid var(--lp25-border, #E2E8F0);border-radius:10px;padding:7px 10px;font-family:Sora,sans-serif;font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary, #64748B);cursor:pointer;transition:all .12s ease}.lp25-popover__choice-btn:hover{background:#F1F5F9;color:var(--lp25-text, #1E293B)}.lp25-popover__choice-btn.is-active{background:var(--p-melody-soft, #EDE9FE);border-color:var(--p-melody, #8B5CF6);color:var(--p-melody-text, #5B21B6);box-shadow:0 2px 0 var(--p-melody-shade, #7C3AED)}@media (max-width: 640px){.lp25-pref-trigger{height:36px;padding:0 10px;font-size:.78rem;gap:4px;border-radius:10px}}:root{--p-coral: #E07A5F;--p-coral-shade: #C45C42;--p-sage: #81B29A;--p-sage-shade: #62967D;--p-sand: #F4F1DE;--p-sand-shade: #E2DCB8;--p-dark: #3D405B;--p-border: #E2E8F0;--p-border-shade: #CBD5E1}.affordance-wrapper{position:relative;width:7.5rem;height:7.5rem;display:flex;align-items:center;justify-content:center}.affordance__ground-shadow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:5.5rem;height:14px;border-radius:50%;background:rgba(61,64,91,.12);pointer-events:none;transition:transform .35s cubic-bezier(.34,1.4,.64,1),opacity .25s ease,width .35s ease;z-index:0}.affordance[data-dragging=true]~.affordance__ground-shadow,.affordance-wrapper:has(.affordance[data-dragging=true]) .affordance__ground-shadow{transform:translate(-50%) scale(calc(1 - var(--fling, 0) * .45));opacity:calc(.12 * (1 - var(--fling, 0) * .5))}.affordance-wrapper:has(.affordance[data-state=sounding]) .affordance__ground-shadow{animation:shadow-sound-resonate 1.1s cubic-bezier(.25,1,.5,1) forwards}.affordance-wrapper:has(.affordance[data-state=chosen]) .affordance__ground-shadow,.affordance-wrapper:has(.affordance[data-state=chosen-correct]) .affordance__ground-shadow{transform:translate(-50%) scale(1.08,.88);opacity:.16}@keyframes shadow-sound-resonate{0%{transform:translate(-50%) scale(1);opacity:.12}25%{transform:translate(-50%) scale(1.04);opacity:.14}to{transform:translate(-50%) scale(1);opacity:.12}}.affordance__soap-neck-wrap{position:absolute;top:3.5rem;left:50%;transform:translate(-50%);width:60px;height:calc(-1 * var(--fling-y, 0px));max-height:70px;pointer-events:none;opacity:0;z-index:1;transition:opacity .12s ease;display:flex;flex-direction:column;align-items:center}.affordance-wrapper:has(.affordance[data-dragging=true]) .affordance__soap-neck-wrap{opacity:calc(var(--fling, 0) * .95)}.affordance__soap-neck-svg{width:100%;height:100%;overflow:visible}.affordance__soap-neck-path{fill:#e0f2febf;stroke:#bae6fde6;stroke-width:2;transition:all .1s ease}.affordance__soap-puddle{position:absolute;bottom:-4px;width:44px;height:8px;border-radius:50%;background:#BAE6FD;border:1.5px solid #FFFFFF}.affordance-wrapper:has(.affordance[data-threshold-passed=true]) .affordance__soap-neck-wrap{opacity:0!important;transform:translate(-50%) scaleY(0);transition:all .08s ease-out!important}.affordance__micro-bubbles{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:calc(-1 * var(--fling-y, 0px));pointer-events:none;opacity:0;z-index:2}.affordance-wrapper:has(.affordance[data-dragging=true]) .affordance__micro-bubbles{opacity:1}.affordance__micro-bubble{position:absolute;border-radius:50%;background:#BAE6FD;border:1.5px solid #FFFFFF;box-shadow:0 2px #93c5fd}.affordance__micro-bubble--1{width:14px;height:14px;left:20%;bottom:15%;animation:micro-bubble-float .8s ease-out infinite}.affordance__micro-bubble--2{width:10px;height:10px;right:25%;bottom:40%;animation:micro-bubble-float .8s ease-out infinite .25s}.affordance__micro-bubble--3{width:7px;height:7px;left:45%;bottom:65%;animation:micro-bubble-float .8s ease-out infinite .5s}@keyframes micro-bubble-float{0%{transform:translateY(0) scale(1);opacity:.9}to{transform:translateY(-20px) scale(.6);opacity:0}}.affordance{width:7.5rem;height:7.5rem;border-radius:50%!important;border:3px solid var(--p-border);background:#FFFFFF;cursor:pointer;position:relative;outline:none;box-shadow:0 8px 0 var(--p-border-shade);transform:translateY(var(--fling-y, 0px));transition:transform .3s cubic-bezier(.25,1,.5,1),box-shadow .2s ease,border-color .2s ease,background-color .2s ease,opacity .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center;overflow:visible;z-index:2}.affordance:disabled{cursor:default}.affordance:active:not(:disabled):not([data-dragging=true]){transform:translateY(4px);box-shadow:0 4px 0 var(--p-border-shade)}.affordance[data-dragging=true]{transition:none!important;cursor:grabbing;box-shadow:0 calc(8px * (1 - var(--fling, 0))) 0 var(--p-border-shade);transform:translateY(var(--fling-y, 0px)) scaleX(calc(1 - var(--fling, 0) * .05)) scaleY(calc(1 + var(--fling, 0) * .08))}.affordance[data-threshold-passed=true]{border-color:var(--p-coral)!important;box-shadow:0 2px 0 var(--p-coral-shade)}.affordance[data-bouncing=true]{animation:affordance-pastel-hop .4s cubic-bezier(.34,1.56,.64,1)!important;border-color:var(--p-coral)!important}@keyframes affordance-pastel-hop{0%{transform:translateY(0)}25%{transform:translateY(3px) scale(1.04,.96)}60%{transform:translateY(-16px) scale(.96,1.05)}to{transform:translateY(0) scale(1)}}.affordance[data-state=chosen]{border-color:var(--p-coral)!important;box-shadow:0 4px #9e432e!important;transform:translateY(4px)!important}.affordance[data-skin=pebble]{background:radial-gradient(circle at 38% 30%,#ffffff 0%,#fdf0ed 35%,#e07a5f 85%,#c45c42 100%);border:3.5px solid #ffffff;box-shadow:0 8px #c45c42,0 16px 28px #c45c4238;transition:transform .6s cubic-bezier(.2,.9,.3,1),box-shadow .4s ease,background .4s ease,border-color .3s ease}.affordance[data-skin=pebble]:active:not(:disabled):not([data-dragging=true]){transform:translateY(4px);box-shadow:0 4px #c45c42,0 8px 16px #c45c422e}.affordance[data-skin=pebble][data-dragging=true]{box-shadow:0 calc(8px * (1 - var(--fling, 0))) 0 #c45c42}.affordance[data-skin=pebble][data-threshold-passed=true]{border-color:#fff!important;box-shadow:0 0 20px #e07a5fa6,0 2px #c45c42!important}.affordance[data-skin=pebble][data-bouncing=true]{animation:pebble-hop-hint .42s cubic-bezier(.34,1.56,.64,1)!important}@keyframes pebble-hop-hint{0%{transform:translateY(0)}25%{transform:translateY(3px) scale(1.04,.96)}60%{transform:translateY(-18px) scale(.96,1.05)}to{transform:translateY(0) scale(1)}}.affordance__pebble{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.affordance__pebble-body{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;transition:all .3s ease}.affordance__pebble-core{position:absolute;top:14px;left:20px;width:32px;height:16px;background:rgba(255,255,255,.92);border-radius:999px;transform:rotate(-28deg);box-shadow:0 1px 4px #fffc;pointer-events:none}.affordance__pebble-glow{position:absolute;bottom:20px;right:24px;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.75);pointer-events:none}.affordance__pebble-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1.5px solid var(--p-coral);border-radius:50%;opacity:0;pointer-events:none}.affordance[data-skin=pebble][data-state=sounding] .affordance__pebble-ring--1{animation:pebble-wave-expand 1.1s cubic-bezier(.16,1,.3,1) forwards}.affordance[data-skin=pebble][data-state=sounding] .affordance__pebble-ring--2{animation:pebble-wave-expand 1.1s cubic-bezier(.16,1,.3,1) .18s forwards}@keyframes pebble-wave-expand{0%{transform:scale(1);opacity:.75}40%{opacity:.45}to{transform:scale(1.45);opacity:0}}.affordance[data-skin=pebble][data-state=sounding]{animation:pebble-resonate-beat 1.1s cubic-bezier(.25,1,.5,1) forwards}@keyframes pebble-resonate-beat{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-3px) scale(1.04,.98)}50%{transform:translateY(0) scale(.99,1.02)}to{transform:translateY(0) scale(1)}}.affordance__victory-halo{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2.5px solid #F4A261;opacity:0;transform:scale(.88);transition:all .5s cubic-bezier(.16,1,.3,1);pointer-events:none}.affordance[data-skin=pebble][data-state=correct] .affordance__victory-halo,.affordance[data-skin=pebble][data-state=chosen-correct] .affordance__victory-halo{opacity:1;transform:scale(1);box-shadow:0 0 24px #f4a26180,0 0 36px #e9c46a59}.affordance[data-skin=pebble][data-state=correct]{border-color:#fff!important;box-shadow:0 8px #c45c42,0 0 24px #f4a26180,0 0 36px #e9c46a59!important}.affordance[data-skin=pebble][data-state=chosen-correct]{transform:translateY(4px)!important;border-color:#fff!important;box-shadow:0 4px #9e432e,0 0 24px #f4a26180,0 0 36px #e9c46a59!important}.affordance__victory-resonance{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:2px solid #F4A261;opacity:0;pointer-events:none;animation:victory-resonance-expand 1.4s cubic-bezier(.16,1,.3,1) forwards}@keyframes victory-resonance-expand{0%{transform:scale(.92);opacity:.8;box-shadow:inset 0 0 14px #e9c46a73}50%{opacity:.4;box-shadow:inset 0 0 20px #e9c46a40}to{transform:scale(1.36);opacity:0;box-shadow:inset 0 0 24px #f4a26100}}.discrimination[data-outcome=wrong] .affordance[data-skin=pebble][data-state=chosen]{box-shadow:0 4px #a84e38!important;animation:pebble-wrong-shake .38s cubic-bezier(.36,.07,.19,.97) forwards}@keyframes pebble-wrong-shake{0%,to{transform:translate(0)}20%{transform:translate(-3.5px)}40%{transform:translate(3.5px)}60%{transform:translate(-2px)}80%{transform:translate(1.5px)}}.affordance[data-skin=bubble]{background:#E0F2FE;border:3px solid #FFFFFF;box-shadow:0 8px #bae6fd}.affordance[data-skin=bubble]:active:not(:disabled):not([data-dragging=true]){transform:translateY(4px);box-shadow:0 4px #bae6fd}.affordance[data-skin=bubble][data-dragging=true]{box-shadow:0 calc(8px * (1 - var(--fling, 0))) 0 #bae6fd}.affordance__bubble{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.affordance__bubble-body{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;transition:all .3s ease}.affordance__bubble-iris{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;border:2px solid transparent;border-top-color:#a8dadc;border-right-color:#e8d7f1;border-bottom-color:#fee8d6;border-left-color:#a8dadc;opacity:.6;transition:transform .3s ease}.affordance[data-skin=bubble][data-state=sounding]{animation:bubble-sound-resonate 1.1s cubic-bezier(.25,1,.5,1) forwards}.affordance[data-skin=bubble][data-state=sounding] .affordance__bubble-iris{animation:bubble-iris-spin 1.2s cubic-bezier(.1,.7,.2,1) forwards}@keyframes bubble-sound-resonate{0%{transform:translateY(0) scale(1)}25%{transform:translateY(0) scale(1.03)}60%{transform:translateY(0) scale(1.01)}to{transform:translateY(0) scale(1)}}@keyframes bubble-iris-spin{0%{transform:rotate(0);opacity:.85}40%{transform:rotate(180deg);opacity:.65}80%{transform:rotate(300deg);opacity:.4}to{transform:rotate(340deg);opacity:.2}}.affordance__bubble-glint-main{position:absolute;top:12px;left:16px;width:22px;height:14px;border-radius:50%;background:rgba(255,255,255,.85);transform:rotate(-35deg)}.affordance__bubble-glint-sub{position:absolute;bottom:16px;right:18px;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.65)}.affordance__pearl-core{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;background:#38BDF8;border:3px solid #FFFFFF;opacity:0;transform:scale(.8);transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;box-shadow:0 8px #0284c7}.affordance[data-skin=bubble][data-state=correct] .affordance__pearl-core,.affordance[data-skin=bubble][data-state=chosen-correct] .affordance__pearl-core{opacity:1;transform:scale(1)}.affordance[data-skin=bubble][data-state=correct]{box-shadow:0 8px #0284c7,0 0 24px #38bdf880!important;border-color:#38bdf8!important}.affordance[data-skin=bubble][data-state=chosen-correct]{transform:translateY(4px)!important;box-shadow:0 4px #0369a1,0 0 24px #38bdf880!important;border-color:#38bdf8!important}.affordance[data-skin=bubble][data-state=chosen]{transform:translateY(4px)!important;box-shadow:0 4px #0369a1!important;border-color:#38bdf8!important}.discrimination[data-outcome=wrong] .affordance[data-skin=bubble][data-state=chosen]{border-color:#cbd5e1!important;background:#F1F5F9!important;box-shadow:0 3px #94a3b8!important;animation:bubble-deflate-sink .6s cubic-bezier(.34,1.2,.64,1) forwards}@keyframes bubble-deflate-sink{0%{transform:scale(1)}40%{transform:translateY(6px) scale(1.08,.88)}to{transform:translateY(12px) scale(1.14,.72);opacity:.75}}.affordance[data-spatial=higher]{transform:translateY(-52px)!important;transition:transform .6s cubic-bezier(.34,1.4,.64,1)!important}.affordance[data-skin=pebble][data-spatial=higher]{animation:pebble-float-high 2.2s cubic-bezier(.25,1,.5,1) infinite!important}.affordance[data-skin=pebble][data-spatial=higher][data-state=chosen],.affordance[data-skin=pebble][data-spatial=higher][data-state=chosen-correct]{animation:pebble-float-high-chosen 2.2s cubic-bezier(.25,1,.5,1) infinite!important}@keyframes pebble-float-high{0%{transform:translateY(-52px)}50%{transform:translateY(-57px)}to{transform:translateY(-52px)}}@keyframes pebble-float-high-chosen{0%{transform:translateY(-48px)}50%{transform:translateY(-53px)}to{transform:translateY(-48px)}}.affordance[data-skin=bubble][data-spatial=higher]{animation:round-float-high 1.8s cubic-bezier(.25,1,.5,1) forwards!important}@keyframes round-float-high{0%{transform:translateY(-52px) rotate(0)}35%{transform:translateY(-56px) rotate(-1.5deg)}70%{transform:translateY(-50px) rotate(1deg)}to{transform:translateY(-52px) rotate(0)}}.affordance[data-spatial=lower]{transform:translateY(0) scale(1.02,.98)!important;transition:transform .5s cubic-bezier(.34,1.4,.64,1)!important}.affordance[data-spatial=lower][data-state=chosen],.affordance[data-spatial=lower][data-state=chosen-correct]{transform:translateY(4px) scale(1.02,.98)!important}.affordance[data-skin][data-spatial=higher][data-state=chosen],.affordance[data-skin][data-spatial=higher][data-state=chosen-correct]{transform:translateY(-48px)!important;transition:transform .6s cubic-bezier(.34,1.4,.64,1)!important}.affordance[data-spatial=higher]~.affordance__ground-shadow,.affordance-wrapper:has(.affordance[data-spatial=higher]) .affordance__ground-shadow{transform:translate(-50%) scale(.55);opacity:.04;transition:transform .6s cubic-bezier(.34,1.4,.64,1),opacity .5s ease}.affordance[data-spatial=lower]~.affordance__ground-shadow,.affordance-wrapper:has(.affordance[data-spatial=lower]) .affordance__ground-shadow{transform:translate(-50%) scale(1.15);opacity:.22;transition:transform .5s cubic-bezier(.34,1.4,.64,1),opacity .4s ease}.affordance:focus-visible{outline:none;box-shadow:0 8px #c45c42,0 0 0 3px #fff,0 0 0 6px #e07a5f,0 0 20px #e07a5f73!important}.affordance[data-state=chosen]:focus-visible,.affordance[data-state=chosen-correct]:focus-visible{box-shadow:0 4px #9e432e,0 0 0 3px #fff,0 0 0 6px #e07a5f,0 0 20px #e07a5f73!important}.affordance[data-skin=bubble]:focus-visible{outline:none;box-shadow:0 8px #0284c7,0 0 0 3px #fff,0 0 0 6px #38bdf8,0 0 20px #38bdf873!important}@media (prefers-reduced-motion: reduce){.affordance{transition:none!important;animation:none!important}.affordance__hint,.affordance__ground-shadow,.affordance__soap-neck-wrap,.affordance__micro-bubbles{animation:none!important}}.discrimination{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2.75rem 2.25rem 2.25rem;background:#FFFFFF;border-radius:28px;border:1px solid #E8ECEF;box-shadow:0 16px 40px #0f172a0f,0 2px 6px #0f172a08;max-width:580px;width:100%;box-sizing:border-box;margin:0 auto;position:relative;animation:discrimination-fadein .25s ease-out}@keyframes discrimination-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.discrimination:before{content:"✦ ÉCOUTE & PERCEPTION";font-family:Sora,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;color:#e07a5f;background:linear-gradient(135deg,#FDF0ED 0%,#FFF5F2 100%);border:1px solid #F4D0C7;padding:5px 16px;border-radius:999px;margin-bottom:-.75rem;box-shadow:0 2px 6px #e07a5f14}.discrimination__question{font-family:Sora,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.35rem;font-weight:700;color:#1e293b;text-align:center;margin:0;line-height:1.45;letter-spacing:-.01em}.discrimination__arena{position:relative;width:100%;background:#FAF8F5;border:1.5px solid #EAE5DE;border-radius:24px;box-shadow:inset 0 2px 8px #0f172a08,0 4px 16px #0f172a05;padding:2.75rem 1.5rem;box-sizing:border-box;overflow:visible}.discrimination__guides{position:absolute;top:1.6rem;right:1.5rem;bottom:1.6rem;left:1.5rem;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;z-index:0}.discrimination__guide{display:flex;align-items:center;gap:.75rem;width:100%}.discrimination__guide-label{font-family:Sora,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.discrimination__guide--high .discrimination__guide-label{color:#e07a5f}.discrimination__guide--low .discrimination__guide-label{color:#94a3b8}.discrimination__guide-arrow{display:inline-block;font-size:.75rem;font-weight:900}.discrimination__guide-track{flex:1;height:0;border-top:2px solid #E2E8F0;transition:border-color .3s ease}.discrimination__guide--high .discrimination__guide-track{border-top:2px solid rgba(224,122,95,.4)}.discrimination__guide--mid .discrimination__guide-track--dashed{border-top:2px dashed rgba(203,213,225,.6)}.discrimination__guide--low .discrimination__guide-track{border-top:2px solid rgba(148,163,184,.4)}.discrimination[data-phase=revealing] .discrimination__guide--high .discrimination__guide-track,.discrimination[data-phase=done] .discrimination__guide--high .discrimination__guide-track{border-top:2.5px solid #E07A5F}.discrimination[data-phase=revealing] .discrimination__guide--low .discrimination__guide-track,.discrimination[data-phase=done] .discrimination__guide--low .discrimination__guide-track{border-top:2.5px solid #94A3B8}.discrimination__affordances{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:3.5rem;width:100%;min-height:220px}.discrimination__slot{position:relative;display:flex;align-items:center;justify-content:center}.discrimination__pedestal{position:absolute;width:7.5rem;height:7.5rem;border-radius:50%;border:2px solid #EAE5DE;background:radial-gradient(ellipse at center,#F1F5F9 0%,#FAF8F5 70%);box-shadow:inset 0 2px 6px #0f172a0d,0 2px #cbd5e1;pointer-events:none;z-index:0;transition:all .3s ease}.discrimination__gestural-hint{display:inline-flex;align-items:center;gap:.5rem;font-family:Sora,sans-serif;font-size:.82rem;font-weight:700;color:#9e381e;background:#FDF0ED;border:1px solid #F4D0C7;border-radius:999px;padding:6px 16px;margin-top:-.75rem;animation:hint-fade-slide .35s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #e07a5f1f}@keyframes hint-fade-slide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.discrimination__gestural-hint-icon{font-size:1rem;font-weight:800;color:#e07a5f;animation:hint-arrow-pulse 1.4s ease-in-out infinite}@keyframes hint-arrow-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.discrimination__controls{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;flex-wrap:wrap}.discrimination__controls button{font-family:Sora,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.02em;border:none;border-radius:14px;padding:12px 24px;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease,background .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center}.discrimination__controls button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.discrimination__button--replay,.discrimination__controls button:first-child:not(.discrimination__button--next):not(.discrimination__button--leave){background:#FFFFFF;color:#475569;border:1.5px solid #E2E8F0;box-shadow:0 4px #cbd5e1}.discrimination__button--replay:hover:not(:disabled),.discrimination__controls button:first-child:not(.discrimination__button--next):not(.discrimination__button--leave):hover:not(:disabled){background:#F8FAFC;color:#1e293b}.discrimination__button--replay:active:not(:disabled),.discrimination__controls button:first-child:not(.discrimination__button--next):not(.discrimination__button--leave):active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #cbd5e1}.discrimination__button--next,.discrimination__controls button.discrimination__button--next{background:#81B29A;color:#fff;border:none;box-shadow:0 4px #63967e}.discrimination__button--next:hover:not(:disabled),.discrimination__controls button.discrimination__button--next:hover:not(:disabled){filter:brightness(1.05)}.discrimination__button--next:active:not(:disabled),.discrimination__controls button.discrimination__button--next:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #63967e}.discrimination__button--start{background:#E07A5F;color:#fff;border:none;box-shadow:0 4px #c45c42;gap:8px}.discrimination__button--start:hover:not(:disabled){filter:brightness(1.05)}.discrimination__button--start:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #c45c42}.discrimination__button--leave,.discrimination__controls button.discrimination__button--leave{background:transparent;color:#94a3b8;border:none;box-shadow:none;font-weight:600;font-size:.88rem;padding:10px 18px}.discrimination__button--leave:hover:not(:disabled),.discrimination__controls button.discrimination__button--leave:hover:not(:disabled){color:#64748b;background:#F8FAFC}.discrimination__button--leave:active:not(:disabled),.discrimination__controls button.discrimination__button--leave:active:not(:disabled){transform:translateY(1px)}.capsule-runner .discrimination,.skill-stage .discrimination,.topo-lab__stage .discrimination{background:transparent;border:none;box-shadow:none;padding:0;max-width:580px;width:100%;animation:none}.capsule-runner .discrimination:before,.skill-stage .discrimination:before,.topo-lab__stage .discrimination:before{display:none}.discrimination__question:empty{display:none}.discrimination[data-count="3"]{max-width:620px}.discrimination[data-count="3"] .discrimination__affordances{gap:2.25rem}.discrimination[data-count="3"] .discrimination__pedestal,.discrimination[data-count="3"] .affordance-wrapper,.discrimination[data-count="3"] .affordance{width:6.75rem;height:6.75rem}.discrimination[data-count="3"] .affordance__ground-shadow{width:5rem}.register-lab-shell{width:100%;max-width:1220px;margin:0 auto;box-sizing:border-box}.register-lab-shell .topo-lab__form:before,.register-lab-shell .topo-lab__registry:before{color:#8e3622;background:#FDF0ED;border-color:#f4d0c7;box-shadow:0 2px #e07a5f}.register-lab-shell .topo-lab__form input:where(:not([type=checkbox],[type=radio],[type=range])):focus,.register-lab-shell .topo-lab__form select:focus{border-color:#e07a5f;outline:none;box-shadow:0 2px #c45c42,0 0 0 3px #e07a5f38;background:#FFFFFF}.register-lab-shell .topo-lab__form input[type=checkbox],.register-lab-shell .topo-lab__form input[type=radio]{accent-color:#C45C42}.register-lab-shell .topo-lab__actions button:first-child,.register-lab-shell .topo-lab__registry li button:first-of-type{background:#E07A5F;border:1.5px solid #C45C42;color:#fff;box-shadow:0 3px #c45c42}.register-lab-shell .topo-lab__actions button:first-child:hover:not(:disabled),.register-lab-shell .topo-lab__registry li button:first-of-type:hover{background:#D46C51}.register-lab-shell .topo-lab__registry li strong{color:#8e3622;background:#FDF0ED;border:1.5px solid #E07A5F;box-shadow:0 1.5px #c45c42}.register-lab-shell .topo-lab__registry li:before{color:#8e3622;border-color:#f4d0c7;box-shadow:0 3px #e07a5f}@media (max-width: 540px){.discrimination{padding:2.25rem 1.25rem 1.75rem;gap:1.5rem;border-radius:22px}.discrimination__question{font-size:1.18rem}.discrimination__arena{padding:2.25rem .75rem}.discrimination__affordances{gap:1.75rem}.discrimination[data-count="3"] .discrimination__arena{padding:2rem .5rem}.discrimination[data-count="3"] .discrimination__affordances{gap:.9rem;min-height:185px}.discrimination[data-count="3"] .discrimination__pedestal,.discrimination[data-count="3"] .affordance-wrapper,.discrimination[data-count="3"] .affordance{width:5.25rem;height:5.25rem}.discrimination[data-count="3"] .affordance__ground-shadow{width:3.9rem;height:11px}.discrimination[data-count="3"] .affordance__pebble-core{top:10px;left:14px;width:22px;height:11px}.discrimination[data-count="3"] .affordance__pebble-glow{bottom:14px;right:16px;width:7px;height:7px}.discrimination__controls{flex-direction:column;gap:.75rem}.discrimination__controls button{width:100%}}@media (max-width: 380px){.discrimination[data-count="3"] .discrimination__affordances{gap:.6rem}.discrimination[data-count="3"] .discrimination__pedestal,.discrimination[data-count="3"] .affordance-wrapper,.discrimination[data-count="3"] .affordance{width:4.65rem;height:4.65rem}}.gt-step{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:680px;margin:0 auto;animation:gt-fade-in .25s ease-out}@keyframes gt-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gt-step-header{display:flex;align-items:center;justify-content:center}.gt-step-badge{font-family:Sora,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.08em;padding:6px 16px;border-radius:999px;border:1px solid;-webkit-user-select:none;user-select:none}.gt-step--ear .gt-step-badge{background:var(--p-ear-soft, #FDF0ED);color:var(--p-ear-text, #9E381E);border-color:#f4d0c7}.gt-step--rhythm .gt-step-badge{background:var(--p-rhythm-soft, #FDF9EE);color:var(--p-rhythm-text, #8D6B14);border-color:#f6e7b9}.gt-step--harmony .gt-step-badge{background:var(--p-harmony-soft, #F1F7F4);color:var(--p-harmony-text, #2E634B);border-color:#c9e2d5}.gt-step--melody .gt-step-badge{background:var(--p-melody-soft, #FEF6EF);color:var(--p-melody-text, #C05621);border-color:#fbd38d}.gt-step--keyboard .gt-step-badge{background:var(--p-keyboard-soft, #F5F5FC);color:var(--p-keyboard-text, #4338CA);border-color:#d8d6f7}:root{--lp25-bg: #F8F9FA;--lp25-bg-alt: #F1F3F5;--lp25-surface: #FFFFFF;--lp25-border: #E8ECEF;--lp25-border-hover: #D0D7DE;--lp25-text: #1E293B;--lp25-text-secondary: #475569;--lp25-text-muted: #94A3B8;--p-ear: #E07A5F;--p-ear-soft: #FDF0ED;--p-ear-shade: #C45C42;--p-ear-text: #B3472C;--p-melody: #F4A261;--p-melody-soft: #FEF6EF;--p-melody-shade: #D88442;--p-melody-text: #BF6B28;--p-rhythm: #E9C46A;--p-rhythm-soft: #FDF9EE;--p-rhythm-shade: #CCA447;--p-rhythm-text: #A37D1A;--p-harmony: #81B29A;--p-harmony-soft: #F1F7F4;--p-harmony-shade: #63967E;--p-harmony-text: #477660;--p-theory: #7DA0CA;--p-theory-soft: #F2F6FB;--p-theory-shade: #5F84B0;--p-theory-text: #436691;--p-keyboard: #9B98E6;--p-keyboard-soft: #F5F5FC;--p-keyboard-shade: #7C79CD;--p-keyboard-text: #5E5BB0;--p-expression: #C89FD9;--p-expression-soft: #F9F4FC;--p-expression-shade: #AB7FBF;--p-expression-text: #8C5DA3}.lp25-page{min-height:100vh;background-color:var(--lp25-bg);color:var(--lp25-text);font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased}.lp25-preview-bar{background:linear-gradient(90deg,#FEF6EF 0%,#F5F5FC 100%);border-bottom:1px solid #E8ECEF;padding:8px 16px;font-size:.8rem;font-weight:700;color:var(--lp25-text-secondary);display:flex;justify-content:space-between;align-items:center;z-index:110;position:relative}.lp25-preview-bar__back{background:#FFFFFF;border:1px solid #D0D7DE;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:700;color:var(--lp25-text);cursor:pointer;transition:background .15s ease;text-decoration:none}.lp25-preview-bar__back:hover{background:#F1F3F5}.lp25-container{max-width:1160px;margin:0 auto;padding:0 24px}.lp25-nav{position:sticky;top:0;z-index:100;background:rgba(248,249,250,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--lp25-border);transition:all .2s ease}.lp25-nav__inner{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.lp25-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--lp25-text);font-weight:800;font-size:1.25rem;letter-spacing:-.02em}.lp25-logo__star{color:var(--p-melody);font-size:1.35rem;transition:transform .3s ease}.lp25-logo:hover .lp25-logo__star{transform:rotate(45deg) scale(1.15)}.lp25-logo__badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--p-melody-soft);color:var(--p-melody-text);padding:3px 8px;border-radius:999px}.lp25-nav__links{display:flex;align-items:center;gap:24px}.lp25-nav__link{color:var(--lp25-text-secondary);text-decoration:none;font-size:.92rem;font-weight:600;transition:color .15s ease}.lp25-nav__link:hover{color:var(--lp25-text)}.lp25-nav__link--highlight{color:#c2410c;background:var(--p-melody-soft);padding:6px 14px;border-radius:999px;border:1px solid rgba(251,146,60,.35);font-weight:700;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.lp25-nav__link--highlight:hover{background:#FEE7D6;color:#9a3412;transform:translateY(-1px)}.lp25-nav__actions{display:flex;align-items:center;gap:12px;position:relative;flex-shrink:0}.lp25-nav__cta{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.lp25-nav__cta-short{display:none}.lp25-popover{position:absolute;top:calc(100% + 12px);right:0;width:260px;background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:18px;padding:16px;box-shadow:0 10px 30px #00000014,0 4px #cbd5e1;z-index:200;animation:lp25-pop .2s cubic-bezier(.175,.885,.32,1.275)}.lp25-popover__title{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--lp25-text-muted);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--lp25-border)}.lp25-popover__section{margin-bottom:14px}.lp25-popover__section:last-child{margin-bottom:0}.lp25-popover__label{font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary);margin-bottom:8px}.lp25-popover__choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lp25-popover__choice-btn{background:#F8FAFC;border:1px solid var(--lp25-border);border-radius:10px;padding:7px 10px;font-family:Sora,sans-serif;font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary);cursor:pointer;transition:all .12s ease}.lp25-popover__choice-btn:hover{background:#F1F5F9;color:var(--lp25-text)}.lp25-popover__choice-btn.is-active{background:var(--p-melody-soft);border-color:var(--p-melody);color:var(--p-melody-text);box-shadow:0 2px 0 var(--p-melody-shade)}.lp25-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;font-family:Sora,sans-serif;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease;text-decoration:none}.lp25-btn--primary{background:var(--p-melody);color:#fff;box-shadow:0 4px 0 var(--p-melody-shade);padding:12px 24px;font-size:.95rem}.lp25-btn--primary:hover{filter:brightness(1.04)}.lp25-btn--primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--p-melody-shade)}.lp25-btn--subtle{background:#FFFFFF;color:var(--lp25-text);border:1px solid var(--lp25-border);box-shadow:0 3px #cbd5e1;padding:10px 18px;font-size:.88rem}.lp25-btn--subtle:hover{background:#F8FAFC}.lp25-btn--subtle:active{transform:translateY(2px);box-shadow:0 1px #cbd5e1}.lp25-hero-section{padding:56px 0 64px}.lp25-hero-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:48px;align-items:start}.lp25-hero-badge{display:inline-flex;align-items:center;gap:6px;background:#FFFFFF;border:1px solid var(--lp25-border);padding:6px 14px;border-radius:999px;font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary);box-shadow:0 2px 6px #00000008;margin-bottom:20px}.lp25-hero-badge__star{color:var(--p-melody)}.lp25-hero-title{font-size:clamp(2.2rem,4.2vw,3.4rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--lp25-text);margin:0 0 20px}.lp25-hero-title__highlight{position:relative;white-space:nowrap}.lp25-hero-title__highlight:after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:12px;background:var(--p-melody-soft);z-index:-1;border-radius:4px}.lp25-hero-subtitle{font-size:1.12rem;line-height:1.6;color:var(--lp25-text-secondary);margin:0 0 32px;max-width:540px}.lp25-waitlist-form{display:flex;gap:10px;max-width:480px;margin-bottom:20px}.lp25-waitlist-input{flex:1;background:#FFFFFF;border:2px solid var(--lp25-border);border-radius:14px;padding:14px 18px;font-family:Sora,sans-serif;font-size:.95rem;color:var(--lp25-text);transition:border-color .15s ease,box-shadow .15s ease}.lp25-waitlist-input:focus{outline:none;border-color:var(--p-melody);box-shadow:0 0 0 4px var(--p-melody-soft)}.lp25-waitlist-msg{font-size:.88rem;font-weight:600;margin-top:8px}.lp25-waitlist-msg--success{color:#166534;background:#DCFCE7;padding:10px 16px;border-radius:12px;display:inline-block}.lp25-waitlist-msg--error{color:#991b1b}.lp25-hero-demo-action{margin-top:-6px;margin-bottom:24px}.lp25-hero-demo-btn{display:inline-flex;align-items:center;justify-content:space-between;width:100%;max-width:480px;padding:11px 16px;background:#FFFFFF;border:1.5px solid #E2E8F0;border-radius:14px;box-shadow:0 4px #cbd5e1,0 8px 16px #0f172a0a;color:var(--lp25-text);font-size:.92rem;font-weight:700;text-decoration:none;box-sizing:border-box;transition:transform .08s ease,box-shadow .08s ease,border-color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.lp25-hero-demo-btn:hover{border-color:var(--p-melody);background:#FFFBF8}.lp25-hero-demo-btn:active{transform:translateY(3px);box-shadow:0 1px #cbd5e1}.lp25-hero-demo-sub{font-size:.78rem;font-weight:600;color:var(--p-melody-text);background:var(--p-melody-soft);padding:3px 8px;border-radius:6px}.lp25-hero-proof{display:flex;align-items:center;flex-wrap:wrap;column-gap:20px;row-gap:8px;font-size:.82rem;font-weight:600;color:var(--lp25-text-muted)}.lp25-hero-proof__item{display:flex;align-items:center;gap:6px}.lp25-hero-widget{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:24px;padding:28px;box-shadow:0 12px 36px #0000000f,0 4px #e2e8f0;position:relative;min-height:520px;display:flex;flex-direction:column}.lp25-widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.lp25-widget-badge{background:var(--p-ear-soft);color:var(--p-ear-text);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.lp25-widget-hint{font-size:.78rem;color:var(--lp25-text-muted);font-weight:600}.lp25-widget-title{font-size:1.22rem;font-weight:800;color:var(--lp25-text);margin:0 0 8px}.lp25-widget-desc{font-size:.88rem;color:var(--lp25-text-secondary);line-height:1.5;margin:0 0 20px}.lp25-listen-trigger{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px 0 24px}.lp25-listen-btn{width:64px;height:64px;border-radius:50%;background:#FFFFFF;border:2px solid var(--p-melody);box-shadow:0 5px 0 var(--p-melody-shade);color:var(--p-melody);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease}.lp25-listen-btn:hover{filter:brightness(1.05)}.lp25-listen-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--p-melody-shade)}.lp25-listen-btn.is-playing{background:var(--p-melody);color:#fff;animation:lp25-pulse 1.2s infinite ease-in-out}@keyframes lp25-pulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.lp25-listen-label{font-size:.82rem;font-weight:700;color:var(--lp25-text-muted)}.lp25-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lp25-choice-btn{background:#FFFFFF;border:2px solid var(--lp25-border);border-radius:16px;padding:14px 16px;box-shadow:0 4px #cbd5e1;cursor:pointer;display:flex;align-items:center;gap:12px;text-align:left;transition:transform .08s ease,box-shadow .08s ease,border-color .15s ease,background .15s ease;position:relative}.lp25-choice-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:0 2px #cbd5e1}.lp25-choice-btn:not(:disabled):hover{border-color:#94a3b8;filter:brightness(1.02)}.lp25-choice-btn:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #cbd5e1}.lp25-choice-btn.is-active-a,.lp25-choice-btn.is-correct{border-color:#22c55e;background:#F0FDF4;box-shadow:0 4px #16a34a,0 6px 16px #22c55e1f}.lp25-choice-btn.is-active-b,.lp25-choice-btn.is-suspension{border-color:#f59e0b;background:#FFFBEB;box-shadow:0 4px #d97706,0 6px 16px #f59e0b1f}.lp25-choice-btn.is-preview-selected{border-color:var(--p-melody);background:#EEF2FF;box-shadow:0 4px 0 var(--p-melody-shade),0 6px 16px #6366f11f}.lp25-choice-btn.is-wrong,.lp25-choice-btn.is-error{border-color:#ef4444;background:#FEF2F2;box-shadow:0 4px #dc2626,0 6px 16px #ef44441f}.lp25-choice-btn.is-sounding{transform:translateY(2px);animation:lp25-choice-pulse .9s infinite ease-in-out}@keyframes lp25-choice-pulse{0%{transform:translateY(2px) scale(1)}50%{transform:translateY(2px) scale(1.02)}to{transform:translateY(2px) scale(1)}}.lp25-choice-btn__icon{font-size:1.45rem;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px}.lp25-choice-btn__content{flex:1;min-width:0}.lp25-choice-btn__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.lp25-choice-btn__label{display:block;font-size:.96rem;font-weight:800;color:var(--lp25-text);letter-spacing:-.01em}.lp25-choice-btn__sub{display:block;font-size:.74rem;font-weight:600;color:var(--lp25-text-muted);margin-top:2px}.lp25-choice-pill{font-size:.65rem;font-weight:800;padding:2px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;animation:lp25-pop .2s cubic-bezier(.175,.885,.32,1.275)}.lp25-choice-pill--home{background:#DCFCE7;color:#15803d;border:1px solid #86EFAC}.lp25-choice-pill--tension{background:#FEF3C7;color:#b45309;border:1px solid #FCD34D}.lp25-hero-status-zone{margin-top:auto;min-height:136px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.lp25-hero-idle-msg{margin:0;font-size:.86rem;font-weight:700;color:var(--lp25-text-muted);text-align:center;line-height:1.4}.lp25-feedback-banner{margin:0;width:100%;box-sizing:border-box;padding:12px 16px;border-radius:14px;font-size:.86rem;font-weight:700;text-align:center;line-height:1.4;animation:lp25-pop .25s cubic-bezier(.175,.885,.32,1.275)}@keyframes lp25-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.lp25-feedback-banner--home{background:#E8F5E9;color:#1b5e20;border:1px solid #C8E6C9}.lp25-feedback-banner--tension{background:#FFF8E1;color:#e65100;border:1px solid #FFE082}.lp25-hero-prompt-msg{margin:0;font-size:.88rem;font-weight:800;color:var(--p-melody-shade);text-align:center;animation:lp25-pop .25s ease;line-height:1.4}.lp25-hero-validate-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;animation:lp25-pop .22s cubic-bezier(.175,.885,.32,1.275)}.lp25-hero-validate-btn{background:var(--p-melody);color:#fff;border:none;border-radius:14px;padding:11px 22px;font-family:Sora,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 0 var(--p-melody-shade);transition:transform .08s ease,box-shadow .08s ease,filter .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.lp25-hero-validate-btn:hover{filter:brightness(1.05)}.lp25-hero-validate-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--p-melody-shade)}.lp25-hero-compare-hint{margin:0;font-size:.74rem;font-weight:600;color:var(--lp25-text-muted);text-align:center}.lp25-values-section{padding:48px 0 64px}.lp25-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.lp25-value-card{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:20px;padding:24px;box-shadow:0 4px 16px #00000008,0 3px #e2e8f0;transition:transform .2s ease,box-shadow .2s ease}.lp25-value-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000000f,0 5px #cbd5e1}.lp25-value-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px}.lp25-value-icon--ear{background-color:var(--p-ear-soft);color:var(--p-ear-text)}.lp25-value-icon--rhythm{background-color:var(--p-rhythm-soft);color:var(--p-rhythm-text)}.lp25-value-icon--harmony{background-color:var(--p-harmony-soft);color:var(--p-harmony-text)}.lp25-value-icon--keyboard{background-color:var(--p-keyboard-soft);color:var(--p-keyboard-text)}.lp25-section-pill--ear{background:var(--p-ear-soft);color:var(--p-ear-text)}.lp25-compare-item__icon--check{color:#2e7d32}.lp25-final-cta-form-wrap{max-width:440px;margin:0 auto}.lp25-value-title{font-size:1.05rem;font-weight:800;color:var(--lp25-text);margin:0 0 8px}.lp25-value-desc{font-size:.85rem;color:var(--lp25-text-secondary);line-height:1.5;margin:0}.lp25-pillars-section{padding:64px 0 80px}.lp25-section-center{text-align:center;max-width:640px;margin:0 auto 40px}.lp25-section-pill{display:inline-block;background:var(--p-theory-soft);color:var(--p-theory-text);font-size:.78rem;font-weight:800;padding:4px 12px;border-radius:999px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.lp25-section-title{font-size:clamp(1.8rem,3.2vw,2.4rem);font-weight:800;color:var(--lp25-text);margin:0 0 12px;letter-spacing:-.02em}.lp25-section-sub{font-size:1.02rem;color:var(--lp25-text-secondary);line-height:1.55;margin:0}.lp25-pillars-nav-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:28px}.lp25-pillar-pill-btn{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:16px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 3px #e2e8f0;transition:transform .1s ease,box-shadow .1s ease,border-color .15s ease}.lp25-pillar-pill-btn:hover{transform:translateY(-2px);box-shadow:0 5px #cbd5e1}.lp25-pillar-pill-btn.is-active{transform:translateY(2px)}.lp25-pillar-pill-icon{font-size:1.4rem}.lp25-pillar-pill-name{font-size:.82rem;font-weight:700;color:var(--lp25-text)}.lp25-stage-card{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:24px;padding:32px;box-shadow:0 10px 30px #0000000a,0 4px #e2e8f0;max-width:860px;margin:0 auto}.lp25-stage-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--lp25-border);padding-bottom:20px;margin-bottom:28px}.lp25-stage-tag{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--lp25-text-muted)}.lp25-stage-heading{font-size:1.3rem;font-weight:800;color:var(--lp25-text);margin:4px 0 0}.lp25-mini-piano{--piano-white-w: 44px;--piano-white-h: 140px;--piano-black-w: 26px;--piano-black-h: 88px;display:flex;position:relative;width:calc(8 * var(--piano-white-w));height:var(--piano-white-h);margin:0 auto 16px;padding:0;user-select:none;-webkit-user-select:none;touch-action:manipulation;box-sizing:content-box}.lp25-piano-key-white{width:var(--piano-white-w);height:var(--piano-white-h);flex-shrink:0;box-sizing:border-box;background:#FAFAFA;border:1px solid #CBD5E1;border-radius:0 0 8px 8px;box-shadow:0 4px #94a3b8;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;font-size:.78rem;font-weight:700;color:var(--lp25-text-secondary);transition:transform .04s cubic-bezier(.2,.8,.4,1),box-shadow .04s cubic-bezier(.2,.8,.4,1),background .08s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none}.lp25-piano-key-white:focus-visible{outline:2px solid var(--p-keyboard);outline-offset:2px}.lp25-piano-key-white.is-pressed{transform:translateY(3px);box-shadow:0 1px #94a3b8;background:var(--p-keyboard-soft);color:var(--p-keyboard-text)}.lp25-piano-key-black{width:var(--piano-black-w);height:var(--piano-black-h);box-sizing:border-box;position:absolute;top:0;z-index:2;background:#1E293B;border:1px solid #0F172A;border-radius:0 0 6px 6px;box-shadow:0 3px #000;cursor:pointer;transition:transform .04s cubic-bezier(.2,.8,.4,1),box-shadow .04s cubic-bezier(.2,.8,.4,1),background .08s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none}.lp25-piano-key-black:focus-visible{outline:2px solid var(--p-keyboard);outline-offset:2px}.lp25-piano-key-black.is-pressed{transform:translateY(2px);box-shadow:0 1px #000;background:#334155}.lp25-piano-key-white.is-guided-target{background:var(--p-keyboard-soft);border-color:var(--p-keyboard);color:var(--p-keyboard-text);animation:lp25-key-glow 1.4s infinite ease-in-out}@keyframes lp25-key-glow{0%,to{box-shadow:0 4px #94a3b8,0 0 #818cf800}50%{box-shadow:0 4px 0 var(--p-keyboard-shade),0 0 14px #818cf873}}.lp25-keyboard-toggle-group{display:inline-flex;background:#F1F5F9;border-radius:12px;padding:3px;margin-bottom:16px;box-shadow:inset 0 1px 3px #0000000f}.lp25-keyboard-toggle-btn{border:none;background:transparent;padding:6px 14px;border-radius:10px;font-size:.8rem;font-weight:700;color:var(--lp25-text-muted);cursor:pointer;transition:all .15s ease}.lp25-keyboard-toggle-btn.is-active{background:#FFFFFF;color:var(--p-keyboard-text);box-shadow:0 2px 6px #00000014,0 1px #cbd5e1}.lp25-mini-staff-card{background:#FFFFFF;border:1px solid #CBD5E1;border-radius:16px;height:112px;position:relative;margin:0 auto 16px;max-width:380px;overflow:hidden;box-shadow:0 3px 10px #00000008}.lp25-mini-staff-line{position:absolute;left:0;right:0;height:1px;background:#CBD5E1}.lp25-staff-clef{position:absolute;left:10px;top:10px;font-size:2.8rem;color:#64748b;-webkit-user-select:none;user-select:none}.lp25-staff-timesig{position:absolute;left:42px;top:22px;height:48px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;font-weight:900;font-size:1.15rem;line-height:1;color:#64748b;-webkit-user-select:none;user-select:none}.lp25-staff-measure-bar{position:absolute;right:18px;top:22px;height:48px;width:2px;background:#CBD5E1;transition:all .3s ease}.lp25-staff-measure-bar.is-double-bar{background:var(--p-harmony);box-shadow:-4px 0 0 var(--p-harmony),0 0 10px #34d39966}.lp25-staff-note-token{position:absolute;transform:translate(-50%,-50%);width:18px;height:12px;transition:all .2s ease;pointer-events:none}.lp25-staff-noire{position:absolute;top:0;left:2px;width:14px;height:12px}.lp25-staff-noire-head{width:14px;height:10px;border-radius:50%;background:#475569;transform:rotate(-25deg);transition:all .2s ease}.lp25-staff-noire-stem{position:absolute;right:-1px;bottom:4px;width:2px;height:28px;background:#475569;border-radius:1px;transition:all .2s ease}.lp25-staff-ledger-line{position:absolute;left:-5px;right:-5px;top:4.5px;height:1.5px;background:#475569}.lp25-staff-note-token--hit .lp25-staff-noire-head,.lp25-staff-note-token--hit .lp25-staff-noire-stem{background:var(--p-harmony)}.lp25-staff-note-token--hit .lp25-staff-noire-head{box-shadow:0 0 10px #34d399b3}.lp25-staff-note-token--target .lp25-staff-noire-head,.lp25-staff-note-token--target .lp25-staff-noire-stem{background:var(--p-keyboard)}.lp25-staff-note-token--target .lp25-staff-noire-head{box-shadow:0 0 12px #818cf8cc;animation:lp25-noire-pulse 1s infinite alternate ease-in-out}@keyframes lp25-noire-pulse{0%{transform:rotate(-25deg) scale(1)}to{transform:rotate(-25deg) scale(1.15)}}.lp25-staff-note-label{position:absolute;top:14px;left:50%;transform:translate(-50%);font-size:.74rem;font-weight:800;color:var(--lp25-text-muted);white-space:nowrap}.lp25-staff-note-token--hit .lp25-staff-note-label{color:var(--p-harmony-shade)}.lp25-staff-note-token--target .lp25-staff-note-label{color:var(--p-keyboard-text)}.lp25-piano-hint{margin:2px 0 0;font-size:.82rem;color:var(--lp25-text-secondary);font-weight:500;letter-spacing:-.01em}.lp25-harmony-stepper{display:flex;flex-direction:column;align-items:center}.lp25-harmony-orb-wrapper{display:flex;justify-content:center;align-items:center;padding:18px 0}.lp25-harmony-orb{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.lp25-harmony-orb--idle{background:#F1F5F9;border:3px solid #CBD5E1;box-shadow:0 4px #94a3b8;color:#64748b}.lp25-harmony-orb--rest{background:var(--p-harmony-soft);border:3px solid var(--p-harmony);box-shadow:0 6px 0 var(--p-harmony-shade),0 0 24px #81b29a59;animation:lp25-pop .35s ease}.lp25-harmony-orb--tension{background:var(--p-melody-soft);border:3px solid var(--p-melody);box-shadow:0 6px 0 var(--p-melody-shade),0 0 24px #f4a26173;animation:lp25-shake .4s infinite ease-in-out}.lp25-harmony-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;margin-top:10px}.lp25-harmony-btn{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;box-shadow:0 4px #e2e8f0;transition:transform .1s ease,box-shadow .1s ease,border-color .15s ease,background .15s ease}.lp25-harmony-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #cbd5e1}.lp25-harmony-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:0 2px #e2e8f0}.lp25-harmony-btn--tension.is-active{border-color:var(--p-melody);background:var(--p-melody-soft);box-shadow:0 2px 0 var(--p-melody-shade);transform:translateY(2px)}.lp25-harmony-btn--rest.is-active{border-color:var(--p-harmony);background:var(--p-harmony-soft);box-shadow:0 2px 0 var(--p-harmony-shade);transform:translateY(2px)}.lp25-harmony-btn.is-pulse-invitation{animation:lp25-pulse-glow 1.2s infinite ease-in-out;border-color:var(--p-harmony);font-weight:700}@keyframes lp25-pulse-glow{0%{box-shadow:0 4px 0 var(--p-harmony-shade),0 0 #34d39900;transform:scale(1)}50%{box-shadow:0 6px 0 var(--p-harmony-shade),0 0 16px #34d39973;transform:scale(1.02)}to{box-shadow:0 4px 0 var(--p-harmony-shade),0 0 #34d39900;transform:scale(1)}}.lp25-harmony-message-wrap{margin-top:18px;min-height:52px;display:flex;align-items:center;justify-content:center;width:100%}.lp25-harmony-msg{font-size:.88rem;font-weight:600;line-height:1.45;margin:0;padding:10px 16px;border-radius:12px}.lp25-harmony-msg--tension{background:var(--p-melody-soft);color:#c2410c;border:1px solid var(--p-melody);animation:lp25-pop .25s ease}.lp25-harmony-msg--rest{background:var(--p-harmony-soft);color:#065f46;border:1px solid var(--p-harmony);animation:lp25-pop .25s ease}.lp25-harmony-resolved-box{display:flex;flex-direction:column;align-items:center;gap:8px}.lp25-harmony-reset-btn{background:none;border:none;color:var(--lp25-text-muted);font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:underline;padding:4px 8px;transition:color .15s ease}.lp25-harmony-reset-btn:hover{color:var(--lp25-text)}.lp25-harmony-hint{font-size:.82rem;color:var(--lp25-text-muted);font-style:italic;margin:0}.lp25-ear-pads-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 20px}.lp25-ear-pad{background:#FFFFFF;border:2.5px solid var(--lp25-border);border-radius:20px;padding:22px 16px;box-shadow:0 5px #cbd5e1;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transition:transform .08s cubic-bezier(.2,.8,.4,1),box-shadow .08s cubic-bezier(.2,.8,.4,1),border-color .2s ease,background-color .2s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation;outline:none}.lp25-ear-pad:hover:not(:disabled){border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 7px #94a3b8}.lp25-ear-pad:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #94a3b8}.lp25-ear-pad:disabled{opacity:.7;cursor:not-allowed}.lp25-ear-pad__icon{font-size:2.2rem;line-height:1}.lp25-ear-pad__content{display:flex;flex-direction:column;gap:2px}.lp25-ear-pad__title{font-size:1.05rem;font-weight:800;color:var(--lp25-text);letter-spacing:-.01em}.lp25-ear-pad__sub{font-size:.76rem;font-weight:600;color:var(--lp25-text-muted)}.lp25-ear-pad--major.is-active{background:#FEF9C3;border-color:#f59e0b;box-shadow:0 4px #d97706,0 0 22px #f59e0b40;transform:translateY(2px)}.lp25-ear-pad--major.is-active .lp25-ear-pad__title{color:#92400e}.lp25-ear-pad--minor.is-active{background:#EDE9FE;border-color:#8b5cf6;box-shadow:0 4px #6d28d9,0 0 22px #8b5cf640;transform:translateY(2px)}.lp25-ear-pad--minor.is-active .lp25-ear-pad__title{color:#5b21b6}.lp25-ear-pad.is-waiting-guess{animation:lp25-ear-pulse 1.4s infinite ease-in-out}@keyframes lp25-ear-pulse{0%,to{border-color:#cbd5e1;box-shadow:0 5px #cbd5e1}50%{border-color:var(--p-ear);box-shadow:0 5px #cbd5e1,0 0 16px #f8717159}}.lp25-ear-feedback-wrap{min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 12px}.lp25-ear-msg{margin:0;font-size:.94rem;font-weight:700;line-height:1.45;animation:lp25-fade-in .25s ease}.lp25-ear-msg--major{color:#b45309}.lp25-ear-msg--minor{color:#6d28d9}.lp25-ear-msg--success{color:#15803d;font-size:1rem}.lp25-ear-msg--recast{color:#334155;font-size:.92rem}.lp25-ear-prompt{margin:0;font-size:.96rem;font-weight:800;color:var(--p-ear);animation:lp25-fade-in .25s ease}.lp25-ear-hint{font-size:.85rem;color:var(--lp25-text-muted);font-style:italic;margin:0}.lp25-ear-mystery-btn{background:#FFFFFF;border:1.5px dashed #CBD5E1;border-radius:20px;padding:8px 18px;font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary);cursor:pointer;box-shadow:0 2px #e2e8f0;transition:all .15s ease}.lp25-ear-mystery-btn:hover:not(:disabled){border-color:var(--p-ear);color:var(--p-ear);background:#FFF1F2;transform:translateY(-1px);box-shadow:0 3px #cbd5e1}.lp25-ear-mystery-btn:disabled{opacity:.5;cursor:not-allowed}.lp25-ear-resolved-box{display:flex;flex-direction:column;align-items:center;gap:10px}.lp25-rhythm-pad{max-width:480px;margin:0 auto;text-align:center}.lp25-rhythm-tempo-badge{display:inline-flex;align-items:center;gap:8px;background:#FFFFFF;border:1.5px solid #CBD5E1;color:#475569;font-size:.82rem;font-weight:700;padding:5px 14px;border-radius:999px;margin-bottom:14px;box-shadow:0 3px #cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:all .12s ease;font-family:inherit}.lp25-rhythm-tempo-badge:hover{background:#FDF9EE;border-color:#e9c46a;color:#8d6b14;box-shadow:0 4px #cca447;transform:translateY(-1px)}.lp25-rhythm-tempo-badge:active{transform:translateY(2px);box-shadow:0 1px #cca447}.lp25-rhythm-tempo-badge.is-active{background:#FEF9EE;border-color:#e9c46a;color:#8d6b14;box-shadow:0 3px #cca447,0 0 14px #e9c46a4d}.lp25-rhythm-tempo-icon{font-size:.95rem;line-height:1}.lp25-rhythm-tempo-sep{opacity:.4;font-size:.72rem}.lp25-rhythm-tempo-label{font-size:.78rem;font-weight:700}.lp25-rhythm-pulse-dot{width:7px;height:7px;border-radius:50%;background:#94A3B8;transition:background .15s ease}.lp25-rhythm-pulse-dot.is-pulsing{background:#E9C46A;animation:lp25-pulse-dot .75s infinite ease-in-out}@keyframes lp25-pulse-dot{0%{transform:scale(.8);opacity:.4}50%{transform:scale(1.4);opacity:1}to{transform:scale(.8);opacity:.4}}.lp25-rhythm-aura-wrap{width:100%;margin:8px 0 16px;position:relative;background:#FAFAFA;border:1px solid var(--lp25-border);border-radius:20px;padding:10px 16px;box-shadow:inset 0 2px 4px #00000005}.lp25-rhythm-aura-wrap .aura-view{height:100px;margin:0}.lp25-rhythm-aura-wrap .aura-track-line{background:#CBD5E1;height:3px}.lp25-rhythm-aura-wrap .aura-playhead{top:-38px;bottom:-38px;width:3px;background:var(--p-rhythm);box-shadow:0 0 10px var(--p-rhythm)}.lp25-rhythm-aura-wrap .aura-orb__core{box-shadow:0 2px 6px #00000026}.lp25-tap-button{width:100%;padding:20px;background:#FFFFFF;border:2px solid var(--p-rhythm);border-radius:18px;box-shadow:0 6px 0 var(--p-rhythm-shade);font-size:1.15rem;font-weight:800;color:var(--p-rhythm-text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .06s ease,box-shadow .06s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none}.lp25-tap-button:active,.lp25-tap-button.is-pressed{transform:translateY(4px);box-shadow:0 2px 0 var(--p-rhythm-shade);background:var(--p-rhythm-soft)}.lp25-rhythm-score-area{margin-top:14px;min-height:40px;display:flex;align-items:center;justify-content:center}.lp25-rhythm-score-msg{font-size:.95rem;font-weight:800;color:var(--p-rhythm-text);animation:lp25-pop .15s ease}.lp25-rhythm-score-hint{font-size:.78rem;color:var(--lp25-text-muted)}.lp25-expression-card{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:20px;padding:20px;box-shadow:0 4px 16px #00000005}.lp25-expression-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.8rem}.lp25-expression-badge{background:var(--p-expression-soft);color:var(--p-expression-text);font-weight:700;padding:4px 10px;border-radius:999px}.lp25-expression-live-tag{color:var(--p-expression-text);font-weight:600;display:inline-flex;align-items:center;gap:4px}.lp25-piano-key-white.is-expression-active{background:var(--p-expression-soft);color:var(--p-expression-text);border-color:var(--p-expression);transform:translateY(3px);box-shadow:0 1px 0 var(--p-expression-shade),0 0 14px #c084fc80}.lp25-piano-key-black.is-expression-active{background:var(--p-expression);border-color:var(--p-expression-shade);transform:translateY(2px);box-shadow:0 1px #000,0 0 14px #c084fc99}.lp25-mini-piano--readonly{pointer-events:none;-webkit-user-select:none;user-select:none}.lp25-mini-piano--readonly .lp25-piano-key-white,.lp25-mini-piano--readonly .lp25-piano-key-black{cursor:default}.lp25-compare-section{padding:64px 0}.lp25-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:980px;margin:0 auto}.lp25-compare-card{border-radius:24px;padding:32px;box-shadow:0 4px 16px #00000008}.lp25-compare-card--trad{background:#FFFFFF;border:1px solid var(--lp25-border);box-shadow:0 4px #e2e8f0}.lp25-compare-card--ours{background:#FFFFFF;border:2px solid var(--p-melody);box-shadow:0 6px 0 var(--p-melody-shade),0 12px 30px #f4a26114}.lp25-compare-card__header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.lp25-compare-card__badge{font-size:1.6rem}.lp25-compare-card__title{font-size:1.25rem;font-weight:800;margin:0;color:var(--lp25-text)}.lp25-compare-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.lp25-compare-item{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.5;color:var(--lp25-text-secondary)}.lp25-compare-item__icon{font-size:1.1rem;flex-shrink:0;margin-top:2px}.lp25-faq-section{padding:64px 0 80px}.lp25-faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.lp25-faq-item{background:#FFFFFF;border:1px solid var(--lp25-border);border-radius:18px;box-shadow:0 3px #e2e8f0;overflow:hidden;transition:border-color .15s ease}.lp25-faq-item.is-open{border-color:#cbd5e1}.lp25-faq-question{width:100%;padding:20px 24px;background:none;border:none;font-family:Sora,sans-serif;font-size:1.05rem;font-weight:700;color:var(--lp25-text);text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}.lp25-faq-icon{width:28px;height:28px;border-radius:50%;background:var(--lp25-bg);color:var(--lp25-text-secondary);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;flex-shrink:0}.lp25-faq-answer{padding:0 24px 22px;font-size:.95rem;line-height:1.6;color:var(--lp25-text-secondary)}.lp25-final-cta-section{padding:40px 0 80px}.lp25-final-cta-card{background:linear-gradient(135deg,#FEF6EF 0%,#F5F5FC 100%);border:2px solid #F1F3F5;border-radius:28px;padding:56px 36px;text-align:center;box-shadow:0 16px 40px #0000000a,0 5px #cbd5e1;max-width:860px;margin:0 auto}.lp25-final-cta-title{font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:800;color:var(--lp25-text);margin:0 0 14px}.lp25-final-cta-sub{font-size:1.1rem;color:var(--lp25-text-secondary);max-width:580px;margin:0 auto 32px;line-height:1.6}.lp25-footer{border-top:1px solid var(--lp25-border);padding:48px 0 36px;background:#FFFFFF}.lp25-footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.lp25-footer-copy{font-size:.88rem;color:var(--lp25-text-muted);margin:0}.lp25-footer-links{display:flex;gap:24px}.lp25-footer-link{color:var(--lp25-text-secondary);text-decoration:none;font-size:.88rem;font-weight:600;transition:color .15s ease}.lp25-footer-link:hover{color:var(--lp25-text)}@media (max-width: 960px){.lp25-hero-grid{grid-template-columns:1fr;gap:40px}.lp25-values-grid{grid-template-columns:1fr 1fr}.lp25-pillars-nav-grid{grid-template-columns:repeat(4,1fr)}.lp25-compare-grid{grid-template-columns:1fr}}@media (max-width: 640px){.lp25-container{padding:0 16px}.lp25-nav__inner{height:56px;gap:8px}.lp25-logo{font-size:1.05rem;gap:6px}.lp25-logo__star{font-size:1.15rem}.lp25-logo__badge,.lp25-nav__links{display:none}.lp25-nav__actions{gap:8px;flex-shrink:0}.lp25-nav__cta{height:36px;padding:0 12px;font-size:.8rem;border-radius:10px;box-shadow:0 3px 0 var(--p-melody-shade)}.lp25-nav__cta:active{transform:translateY(2px);box-shadow:0 1px 0 var(--p-melody-shade)}.lp25-nav__cta-full{display:none}.lp25-nav__cta-short{display:inline}.lp25-values-grid{grid-template-columns:1fr}.lp25-pillars-nav-grid{grid-template-columns:repeat(2,1fr)}.lp25-waitlist-form{flex-direction:column}.lp25-stage-header{flex-direction:column;align-items:flex-start;gap:14px}.lp25-stage-card{padding:20px 14px;border-radius:18px}.lp25-hero-widget{padding:20px 14px;min-height:auto;border-radius:18px}.lp25-mini-staff-card{max-width:100%;width:100%}.lp25-mini-piano{--piano-white-w: clamp(34px, 9.8vw, 42px);--piano-white-h: 124px;--piano-black-w: clamp(20px, 5.8vw, 25px);--piano-black-h: 78px}.lp25-tap-button{padding:16px 14px;font-size:1.05rem}.lp25-pillar-pill-btn{padding:10px 8px}.lp25-footer-inner{flex-direction:column;align-items:center;text-align:center;gap:14px}.lp25-footer-links{justify-content:center;flex-wrap:wrap;gap:16px}}@media (max-width: 380px){.lp25-container{padding:0 10px}.lp25-logo{font-size:.95rem;gap:4px}.lp25-logo__star{font-size:1rem}.lp25-nav__actions{gap:6px}.lp25-nav__cta{padding:0 10px;font-size:.76rem}.lp25-stage-card{padding:16px 10px;border-radius:14px}.lp25-hero-widget{padding:16px 10px}.lp25-mini-piano{--piano-white-w: 34px;--piano-white-h: 114px;--piano-black-w: 20px;--piano-black-h: 70px}.lp25-piano-key-white{font-size:.72rem;padding-bottom:6px}}.lp25-feedback-banner-text{margin:0;line-height:1.5}.lp25-btn-spacing-top{margin-top:8px}.lp25-stage-heading-sub{font-weight:500;font-size:1.05rem;color:var(--lp25-text-secondary)}.lp25-demo-prompt-wrap{max-width:480px;margin:0 auto;text-align:center}.lp25-demo-prompt-wrap--narrow{max-width:440px;margin:0 auto;text-align:center}.lp25-demo-prompt-wrap--wide{max-width:520px;margin:0 auto;text-align:center}.lp25-demo-prompt-desc{margin:0 0 16px;font-size:.92rem;color:var(--lp25-text-secondary)}.lp25-demo-actions-row{display:flex;justify-content:center;margin-bottom:20px}.lp25-demo-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lp25-demo-grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lp25-demo-result-box{margin-top:16px;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center}.lp25-demo-idle-hint{margin:0;font-size:.86rem;color:var(--lp25-text-muted);font-weight:600}.lp25-demo-recast-space{margin:0 0 10px}.lp25-living-staff-wrap{max-width:420px;margin:0 auto 16px}.lp25-rhythm-sub-label{font-size:.82rem;color:var(--lp25-text-muted);font-weight:600}.lp25-theory-staff-card{background:#FFFFFF;border:1.5px solid var(--lp25-border);border-radius:16px;height:96px;position:relative;margin:0 auto 20px;max-width:280px;overflow:hidden;box-shadow:0 3px 0 var(--border-shade)}.lp25-theory-staff-line{position:absolute;left:0;right:0;height:1px;background:var(--lp25-border)}.lp25-theory-clef{position:absolute;left:16px;top:10px;font-size:2.8rem;color:var(--lp25-text-muted)}.lp25-theory-note-token{position:absolute;left:55%;top:51px;width:18px;height:14px;border-radius:50%;background:var(--p-theory);box-shadow:0 2px 6px #7da0ca80;transform:rotate(-20deg)}.lp25-theory-btn-label{font-weight:800;font-size:1.1rem;margin:0 auto}.lp25-keyboard-prompt-wrap{text-align:center}.lp25-keyboard-success-box{margin-bottom:14px}.lp25-keyboard-success-title{margin:0 0 6px;font-weight:800;color:var(--p-harmony-shade);font-size:.94rem}.lp25-keyboard-prompt-msg{margin:0 0 12px;font-size:.84rem;color:var(--p-keyboard-text);font-weight:700}.lp25-expression-header--centered{justify-content:center}.lp25-mini-piano--standalone{margin-top:20px;padding-bottom:8px}.lp25-honeypot{display:none}.lp25-hero-grid .gt-step{max-width:520px;gap:12px;margin:0 auto}.lp25-hero-grid .gt-step-header{margin-bottom:2px}.lp25-hero-grid .gt-step-badge{box-shadow:0 2px 6px #e07a5f1f}.lp25-hero-grid .discrimination{box-shadow:0 16px 40px #0f172a14,0 4px #cbd5e1}.discrimination__button--start{background:var(--p-melody)!important;color:#fff!important;box-shadow:0 4px 0 var(--p-melody-shade)!important;font-family:Sora,sans-serif!important;font-size:.96rem!important;font-weight:800!important;gap:8px;padding:13px 28px!important;border-radius:14px!important;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease!important}.discrimination__button--start:hover{filter:brightness(1.05)!important}.discrimination__button--start:active{transform:translateY(3px)!important;box-shadow:0 1px 0 var(--p-melody-shade)!important}.sls-controls-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.sls-loop-status{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--lp25-text-secondary, #475569);background:#FFFFFF;border:1px solid var(--lp25-border, #E8ECEF);border-radius:999px;padding:6px 14px;box-shadow:0 2px 4px #00000005}.sls-loop-pulse{width:8px;height:8px;border-radius:50%;background:#10B981;animation:sls-pulse-dot 1.5s ease-in-out infinite}@keyframes sls-pulse-dot{0%{transform:scale(.9);opacity:.7;box-shadow:0 0 #10b98166}70%{transform:scale(1.15);opacity:1;box-shadow:0 0 0 6px #10b98100}to{transform:scale(.9);opacity:.7;box-shadow:0 0 #10b98100}}.sls-sound-toggle-btn{display:inline-flex;align-items:center;gap:8px;font-family:Sora,sans-serif;font-size:.82rem;font-weight:700;border-radius:999px;padding:8px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;border:1px solid var(--lp25-border, #E8ECEF);box-shadow:0 3px 0 var(--lp25-border, #CBD5E1)}.sls-sound-toggle-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--lp25-border, #CBD5E1)}.sls-sound-toggle-btn.is-muted{background:#FFFFFF;color:#64748b}.sls-sound-toggle-btn.is-muted:hover{background:#F8FAFC;color:#1e293b;border-color:#cbd5e1}.sls-sound-toggle-btn.is-active{background:#ECFDF5;color:#065f46;border-color:#a7f3d0;box-shadow:0 3px #6ee7b7}.sls-stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--lp25-border, #E8ECEF);padding-bottom:20px;margin-bottom:24px}.sls-stage-public-desc{font-size:.94rem;color:var(--lp25-text-secondary, #475569);line-height:1.6;margin:8px 0 0;max-width:620px}.sls-stage-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-height:400px}.sls-stage-content:not(:has(.pillar-showcase)){min-height:400px;display:flex;align-items:center;justify-content:center}.sls-widget-live-badge{display:inline-flex;align-items:center;gap:6px;background:var(--lp25-bg, #F8F9FA);border:1px solid var(--lp25-border, #E8ECEF);border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:700;color:var(--lp25-text-secondary, #475569);margin-bottom:20px;box-shadow:0 1px 3px #00000005;letter-spacing:.02em}.pillar-showcase{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:330px;padding-bottom:76px;box-sizing:border-box;flex:1 1 auto}.pillar-showcase .discrimination,.pillar-showcase .register-stage{background:transparent!important;border:none!important;box-shadow:none!important;padding:.5rem 0!important;width:100%;max-width:620px;margin:0 auto}.pillar-showcase .discrimination:before{display:none!important}.pillar-showcase .discrimination__question{display:none!important}.pillar-showcase .discrimination__arena{padding:1rem 0!important;width:100%}.pillar-showcase .contour-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:620px;margin:0 auto}.pillar-showcase .contour-stage__arena-wrap{width:100%}.pillar-showcase .melody-arena{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;width:100%}.pillar-showcase .melody-arena__feedback-bar{display:none!important}.pillar-showcase .lste-wrapper{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;width:100%;max-width:620px;margin:0 auto}.pillar-showcase .lste-header{display:none!important}.pillar-showcase .duo-stage,.pillar-showcase .topo-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%!important;max-width:620px!important;margin:0 auto;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;box-sizing:border-box}.pillar-showcase .duo-piano,.pillar-showcase .topography-piano,.pillar-showcase .studio-piano{width:100%!important;max-width:620px!important;margin:0 auto}.pillar-showcase .staff-write-stage{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;width:100%;max-width:620px;margin:0 auto;gap:10px!important}.pillar-showcase .sw-pad-card{padding:16px 14px 14px!important}.pillar-showcase .staff-write-stage__header{display:flex;justify-content:center;width:100%;margin-bottom:8px}.pillar-showcase .ending-lab{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;width:100%;max-width:620px;margin:0 auto;gap:1.25rem}.pillar-showcase .piano-case,.pillar-showcase .piano-keyboard{width:100%!important;max-width:620px!important;margin:0 auto}.sls-sound-cta{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:25;display:inline-flex;align-items:center;gap:10px;padding:12px 26px;background:linear-gradient(180deg,#FFFFFF 0%,#F0FDF4 100%);color:#065f46;border:2px solid #10B981;border-radius:999px;box-shadow:0 8px 24px #10b98138,0 4px #059669;font-family:Sora,sans-serif;font-size:.96rem;font-weight:800;letter-spacing:-.01em;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;white-space:nowrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1),background .15s ease;animation:sls-sound-cta-glow 3s ease-in-out infinite}.sls-sound-cta:hover{background:#ECFDF5;transform:translate(-50%) translateY(-2px);box-shadow:0 12px 30px #10b98152,0 6px #059669}.sls-sound-cta:active{transform:translate(-50%) translateY(2px);box-shadow:0 2px 8px #10b98133,0 1px #059669}.sls-sound-cta__icon{font-size:1.15rem;line-height:1;display:inline-block;animation:sls-sound-icon-pulse 2s ease-in-out infinite}@keyframes sls-sound-cta-glow{0%,to{box-shadow:0 8px 24px #10b98138,0 4px #059669}50%{box-shadow:0 10px 32px #10b9816b,0 4px #059669}}@keyframes sls-sound-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}.gt-step--standalone{gap:0;max-width:100%}.gt-card--standalone,.harmony-proto-container--standalone,.kb-proto-card--standalone{box-shadow:none;border:none;background:transparent;padding:.5rem 0;gap:1.5rem}@media (max-width: 768px){.sls-stage-header,.sls-controls-bar{flex-direction:column;align-items:stretch}.sls-stage-content,.sls-stage-content:not(:has(.pillar-showcase)){min-height:340px}.pillar-showcase{min-height:280px;padding-bottom:60px}.sls-sound-cta{bottom:10px;padding:10px 20px;font-size:.88rem}}.lp25-legal-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--lp25-bg, #F8F9FA);font-family:Sora,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--lp25-text, #1E293B);-webkit-font-smoothing:antialiased}.lp25-legal-page .lp25-nav__actions .lp25-btn--subtle{display:inline-flex;align-items:center;gap:6px}.lp25-legal-home-link{font-size:.85rem;text-decoration:none}.lp25-legal-body--pre{white-space:pre-line}.lp25-legal-page .lp25-nav__actions .lp25-btn--subtle:before{content:"";display:inline-block;width:5px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}.lp25-legal-page .lp25-nav__actions .lp25-btn--subtle:hover:before{transform:translate(-2px) rotate(45deg)}.lp25-legal-container{flex:1;max-width:840px;width:100%;margin:0 auto;padding:40px 24px 64px;box-sizing:border-box}.lp25-legal-card{background:#FFFFFF;border:1px solid var(--lp25-border, #CBD5E1);border-radius:24px;padding:40px 48px;box-shadow:0 12px 36px #0000000a,0 4px #e2e8f0;text-align:left}.lp25-legal-badge{display:inline-flex;align-items:center;gap:6px;background:var(--p-melody-soft, #E0E7FF);color:var(--p-melody-text, #4338CA);font-size:.76rem;font-weight:700;padding:4px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.lp25-legal-title{font-size:2.2rem;font-weight:800;color:var(--lp25-text, #1E293B);letter-spacing:-.03em;margin:0 0 32px;line-height:1.2}.lp25-legal-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #F1F5F9}.lp25-legal-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.lp25-legal-h2{font-size:1.18rem;font-weight:800;color:var(--lp25-text, #1E293B);margin:0 0 12px}.lp25-legal-body{font-size:.95rem;line-height:1.7;color:var(--lp25-text-secondary, #475569);margin:0}.lp25-legal-body a{color:var(--p-melody, #6366F1);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--p-melody-soft, #C7D2FE);transition:all .15s ease}.lp25-legal-body a:hover{color:var(--p-melody-shade, #4F46E5);border-bottom-color:var(--p-melody, #6366F1)}@media (max-width: 640px){.lp25-legal-container{padding:20px 14px 48px}.lp25-legal-card{padding:24px 16px;border-radius:18px}.lp25-legal-title{font-size:1.55rem;margin-bottom:20px}.lp25-legal-h2{font-size:1.05rem;margin:0 0 8px}.lp25-legal-body{font-size:.9rem;line-height:1.6}.lp25-legal-section{margin-bottom:20px;padding-bottom:18px}}*{box-sizing:border-box}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}*,*:before,*:after{box-sizing:border-box}:root{--bg: #F8F9FA;--bg-dark: #060408;--surface: #0e0a17;--surface-raised: #130f1e;--surface-glow: #1a1520;--border: rgba(255, 255, 255, .07);--border-light: rgba(255, 255, 255, .04);--border-shade: rgba(0, 0, 0, .45);--text: #e2d9f3;--text-secondary: #c0b4d8;--text-muted: #9580c0;--text-subtle: #4a3d6b;--brand: #c8aa78;--brand-glow: rgba(200, 170, 120, .12);--brand-border: rgba(200, 170, 120, .25);--gold: #e8b84b;--gold-muted: #c89a30;--gold-light: #1a1508;--gold-border: #5a4010;--gold-glow: rgba(232, 184, 75, .22);--success: #34d399;--success-bg: #031a0e;--success-text: #6ee7b7;--error: #f87171;--error-bg: #1e0808;--error-text: #fca5a5;--warning: #fbbf24;--warning-bg: #1a1000;--warning-text: #fcd34d;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 18px;--r-2xl: 24px;--r-full: 999px;--shadow-card: 0 2px 12px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-card-hover: 0 8px 40px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .07)}html{font-family:Sora,DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;color:var(--text, #1E293B);background-color:var(--bg)}button{font-family:inherit;cursor:pointer}h1,h2,h3{font-family:Sora,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2}.arcana-display{font-family:Sora,sans-serif;font-weight:800;letter-spacing:-.02em}.arcana-label{font-family:Sora,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-subtle)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}:root{--bg-page: #F8F9FA;--bg-page-alt: #F1F3F5;--surface-card: #FFFFFF;--surface-card-raised: #FFFFFF;--border-subtle: #E8ECEF;--border-strong: #CBD5E1;--shadow-25d: 0 4px 0 #CBD5E1;--text-main: #1E293B;--text-secondary: #475569;--text-muted: #94A3B8;--text-disabled: #CBD5E1;--ear-main: #E07A5F;--ear-soft: #FDF0ED;--ear-shade: #C45C42;--ear-text: #B3472C;--p-ear: var(--ear-main);--p-ear-soft: var(--ear-soft);--p-ear-shade: var(--ear-shade);--p-ear-text: var(--ear-text);--ear: var(--ear-main);--ear-hover: var(--ear-shade);--ear-muted: #F8B4A2;--ear-light: var(--ear-soft);--ear-border: var(--ear-shade);--ear-shadow: rgba(224, 122, 95, .28);--melody-main: #F4A261;--melody-soft: #FEF6EF;--melody-shade: #D88442;--melody-text: #BF6B28;--p-melody: var(--melody-main);--p-melody-soft: var(--melody-soft);--p-melody-shade: var(--melody-shade);--p-melody-text: var(--melody-text);--melody: var(--melody-main);--melody-hover: var(--melody-shade);--melody-muted: #FBD5B5;--melody-light: var(--melody-soft);--melody-border: var(--melody-shade);--melody-shadow: rgba(244, 162, 97, .28);--rhythm-main: #E9C46A;--rhythm-soft: #FDF9EE;--rhythm-shade: #CCA447;--rhythm-text: #A37D1A;--p-rhythm: var(--rhythm-main);--p-rhythm-soft: var(--rhythm-soft);--p-rhythm-shade: var(--rhythm-shade);--p-rhythm-text: var(--rhythm-text);--rhythm: var(--rhythm-main);--rhythm-hover: var(--rhythm-shade);--rhythm-muted: #F6E3B5;--rhythm-light: var(--rhythm-soft);--rhythm-border: var(--rhythm-shade);--rhythm-shadow: rgba(233, 196, 106, .28);--harmony-main: #81B29A;--harmony-soft: #F1F7F4;--harmony-shade: #63967E;--harmony-text: #477660;--p-harmony: var(--harmony-main);--p-harmony-soft: var(--harmony-soft);--p-harmony-shade: var(--harmony-shade);--p-harmony-text: var(--harmony-text);--harmony: var(--harmony-main);--harmony-hover: var(--harmony-shade);--harmony-muted: #C0D9CD;--harmony-light: var(--harmony-soft);--harmony-border: var(--harmony-shade);--harmony-shadow: rgba(129, 178, 154, .28);--theory-main: #7DA0CA;--theory-soft: #F2F6FB;--theory-shade: #5F84B0;--theory-text: #436691;--p-theory: var(--theory-main);--p-theory-soft: var(--theory-soft);--p-theory-shade: var(--theory-shade);--p-theory-text: var(--theory-text);--theory: var(--theory-main);--theory-hover: var(--theory-shade);--theory-muted: #BED0E5;--theory-light: var(--theory-soft);--theory-border: var(--theory-shade);--theory-shadow: rgba(125, 160, 202, .28);--keyboard-main: #9B98E6;--keyboard-soft: #F5F5FC;--keyboard-shade: #7C79CD;--keyboard-text: #5C59AF;--p-keyboard: var(--keyboard-main);--p-keyboard-soft: var(--keyboard-soft);--p-keyboard-shade: var(--keyboard-shade);--p-keyboard-text: var(--keyboard-text);--keyboard: var(--keyboard-main);--keyboard-hover: var(--keyboard-shade);--keyboard-muted: #CDCCF3;--keyboard-light: var(--keyboard-soft);--keyboard-border: var(--keyboard-shade);--keyboard-shadow: rgba(155, 152, 230, .28);--expression-main: #C89FD9;--expression-soft: #F9F4FC;--expression-shade: #AB7FBF;--expression-text: #8E5FA3;--p-expression: var(--expression-main);--p-expression-soft: var(--expression-soft);--p-expression-shade: var(--expression-shade);--p-expression-text: var(--expression-text);--expression: var(--expression-main);--expression-hover: var(--expression-shade);--expression-muted: #E4CFED;--expression-light: var(--expression-soft);--expression-border: var(--expression-shade);--expression-shadow: rgba(200, 159, 217, .28);--w-page: 680px;--w-lesson-item: 544px;--w-exercise: 480px;--w-exercise-piano: 580px;--w-result: 440px;--staff-lines: repeating-linear-gradient(180deg, transparent 0px, transparent 11px, rgba(0, 0, 0, .04) 11px, rgba(0, 0, 0, .04) 12px)}[data-course^=course-ear],[data-pillar=ear]{--p: var(--ear-main);--p-main: var(--ear-main);--p-soft: var(--ear-soft);--p-shade: var(--ear-shade);--p-text: var(--ear-text);--p-light: var(--ear-soft);--p-border: var(--ear-shade);--p-shadow: var(--ear-shadow)}[data-course^=course-melody],[data-pillar=melody]{--p: var(--melody-main);--p-main: var(--melody-main);--p-soft: var(--melody-soft);--p-shade: var(--melody-shade);--p-text: var(--melody-text);--p-light: var(--melody-soft);--p-border: var(--melody-shade);--p-shadow: var(--melody-shadow)}[data-course^=course-rhythm],[data-pillar=rhythm]{--p: var(--rhythm-main);--p-main: var(--rhythm-main);--p-soft: var(--rhythm-soft);--p-shade: var(--rhythm-shade);--p-text: var(--rhythm-text);--p-light: var(--rhythm-soft);--p-border: var(--rhythm-shade);--p-shadow: var(--rhythm-shadow)}[data-course^=course-harmony],[data-pillar=harmony]{--p: var(--harmony-main);--p-main: var(--harmony-main);--p-soft: var(--harmony-soft);--p-shade: var(--harmony-shade);--p-text: var(--harmony-text);--p-light: var(--harmony-soft);--p-border: var(--harmony-shade);--p-shadow: var(--harmony-shadow)}[data-course^=course-theory],[data-pillar=theory]{--p: var(--theory-main);--p-main: var(--theory-main);--p-soft: var(--theory-soft);--p-shade: var(--theory-shade);--p-text: var(--theory-text);--p-light: var(--theory-soft);--p-border: var(--theory-shade);--p-shadow: var(--theory-shadow)}[data-course^=course-keyboard],[data-pillar=keyboard]{--p: var(--keyboard-main);--p-main: var(--keyboard-main);--p-soft: var(--keyboard-soft);--p-shade: var(--keyboard-shade);--p-text: var(--keyboard-text);--p-light: var(--keyboard-soft);--p-border: var(--keyboard-shade);--p-shadow: var(--keyboard-shadow)}[data-course^=course-expression],[data-pillar=expression]{--p: var(--expression-main);--p-main: var(--expression-main);--p-soft: var(--expression-soft);--p-shade: var(--expression-shade);--p-text: var(--expression-text);--p-light: var(--expression-soft);--p-border: var(--expression-shade);--p-shadow: var(--expression-shadow)}[data-course=course-staging-01]{--p: #94a3b8;--p-main: #94a3b8;--p-soft: #f1f5f9;--p-shade: #64748b;--p-text: #475569;--p-light: #f1f5f9;--p-border: #cbd5e1;--p-shadow: rgba(148, 163, 184, .2)}.back-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);color:var(--text-muted);font-family:Sora,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:.35rem .8rem;border-radius:20px;margin-bottom:.75rem;cursor:pointer;transition:all .2s cubic-bezier(.25,.8,.25,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.back-btn:before{content:"";display:inline-block;width:4px;height:4px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s cubic-bezier(.25,.8,.25,1)}.back-btn:hover{background:rgba(255,255,255,.1);color:var(--text);border-color:#fff3;transform:translateY(-1px)}.back-btn:hover:before{transform:translate(-2px) rotate(45deg)}.back-btn:active{transform:translateY(0)}.reading-exercise,.playing-exercise,.rtap-exercise,.rhythm-exercise,.ear-exercise,.audiation-exercise,.impro-exercise,.harmony-exercise,.tmem{animation:exercise-enter .35s ease-out both}@keyframes exercise-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-label{font-family:Sora,sans-serif;font-size:.85rem;font-weight:700;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.15) 0%,transparent 100%)}:root{--salience: 1}html[data-salience=soft] .quest-toast,html[data-salience=soft] .quest-toast-container{opacity:.65}html[data-salience=soft] .dash-page__brand-star{opacity:.8;animation-duration:4.5s}html[data-salience=soft] .dash-page__streak-pill{box-shadow:0 1px #cbd5e1}html[data-salience=zen] .quest-toast,html[data-salience=zen] .quest-toast-container,html[data-salience=zen] .lab-feedback-toast,html[data-salience=zen] [class*=celebration-particles],html[data-salience=zen] [class*=confetti],html[data-salience=zen] .bass-anchor__celebration{display:none!important}html[data-salience=zen] .dash-page__brand-star{animation:none!important;opacity:.6}html[data-salience=zen] .dash-page__streak-pill{background:transparent;border-color:#e2e8f0;box-shadow:none}html[data-salience=zen] .dash-page__streak-pill[data-resting]{background:transparent;border-color:#cfe3d8;box-shadow:none}html[data-salience=zen] .dash-page__streak-pill .dash-page__streak-icon{filter:grayscale(.25)}
