.apa-stages{overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(7.4rem,1fr));max-width:100%;padding-bottom:.3rem;overflow-x:auto}.apa-stages button{white-space:nowrap;min-width:7.4rem}.apa-classroom,.apa-stage-content,.apa-stage-content>*,#apa-micro-stage{min-width:0;max-width:100%}.apa-stage-content p,.apa-stage-content strong,.apa-stage-content h4,.apa-stage-content summary{overflow-wrap:anywhere}.apa-stage-content select{max-width:100%}@media (width<=640px){.apa-hero,.apa-classroom{padding:1rem}.apa-overall-progress{width:100%;min-width:0}.apa-stages{grid-template-columns:repeat(7,minmax(5.8rem,1fr))}.apa-stages button{min-width:5.8rem;min-height:3rem;padding-inline:.45rem}.apa-keyboard{height:210px}.apa-practice-goal{flex-wrap:wrap}.apa-score{margin-left:0}}.apa-shell{background:radial-gradient(circle at 8% 0,#22d3ee1c,#0000 28%),radial-gradient(circle at 94% 8%,#a855f721,#0000 31%),linear-gradient(145deg,#050814eb,#070a1ad1);border:1px solid #67e8f92e;border-radius:2rem;overflow:hidden;box-shadow:0 28px 80px #00000047,inset 0 1px #ffffff0b}.apa-hero{border-bottom:1px solid #94a3b81f;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.2rem;padding:1.35rem;display:flex}.apa-eyebrow{color:#67e8f9;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.68rem;font-weight:900;display:inline-flex}.apa-hero h2{letter-spacing:-.045em;max-width:48rem;margin-top:.45rem;font-size:clamp(1.45rem,3vw,2.35rem);font-weight:950;line-height:1.05}.apa-hero>div:first-child>p:last-child{max-width:52rem;color:hsl(var(--muted-foreground));margin-top:.65rem;font-size:.84rem;line-height:1.65}.apa-overall-progress{background:#facc150b;border:1px solid #facc152e;border-radius:1.1rem;min-width:13rem;padding:.85rem}.apa-overall-progress>div:first-child{color:#fde047;justify-content:space-between;align-items:center;display:flex}.apa-overall-progress strong{font-size:1.4rem}.apa-overall-progress>span{color:#94a3b8;margin-top:.25rem;font-size:.66rem;display:block}.apa-progress-track{background:#94a3b81f;border-radius:999px;height:.4rem;margin-top:.65rem;overflow:hidden}.apa-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#22d3ee,#a855f7,#facc15);height:100%;display:block}.apa-layout{grid-template-columns:minmax(14rem,.76fr) minmax(0,2fr);gap:0;display:grid}.apa-curriculum{scrollbar-width:thin;background:#02061747;border-right:1px solid #94a3b81f;max-height:78vh;padding:1rem;overflow-y:auto}.apa-level+.apa-level{margin-top:1.05rem}.apa-level-title{color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 .25rem;font-size:.64rem;font-weight:850;display:flex}.apa-level-title small{letter-spacing:0}.apa-lesson-list{gap:.4rem;margin-top:.45rem;display:grid}.apa-lesson-button{color:#cbd5e1;text-align:left;background:#0f172a52;border:1px solid #94a3b81f;border-radius:.9rem;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.6rem;width:100%;padding:.65rem;transition:border-color .16s,background .16s,transform .16s;display:grid}.apa-lesson-button:hover:not([aria-disabled=true]),.apa-lesson-button.is-active{background:#22d3ee12;border-color:#67e8f94d;transform:translate(2px)}.apa-lesson-button.is-done{border-color:#34d3992e}.apa-lesson-button[aria-disabled=true]{opacity:.45}.apa-lesson-button>span{color:#67e8f9;background:#94a3b814;border-radius:999px;place-items:center;width:2rem;height:2rem;display:grid}.apa-lesson-button.is-done>span{color:#6ee7b7}.apa-lesson-button strong,.apa-lesson-button small{display:block}.apa-lesson-button strong{font-size:.72rem;line-height:1.35}.apa-lesson-button small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:.58rem;line-height:1.35;overflow:hidden}.apa-classroom{min-width:0;padding:1.2rem}.apa-lesson-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.apa-lesson-heading p{color:#67e8f9;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:850}.apa-lesson-heading h3{letter-spacing:-.025em;margin-top:.3rem;font-size:clamp(1.2rem,2.4vw,1.75rem);font-weight:900}.apa-lesson-heading span{color:#94a3b8;margin-top:.25rem;font-size:.72rem;display:block}.apa-lesson-heading>button,.apa-keyboard-actions button,.apa-practice-toolbar button,.apa-navigation button{color:#cbd5e1;background:#0f172a75;border:1px solid #94a3b82e;border-radius:.8rem;justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:.55rem .8rem;font-size:.68rem;font-weight:780;display:inline-flex}.apa-lesson-heading>button.is-active{color:#fecdd3;border-color:#fb718559}.apa-stages{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin-top:1rem;display:grid}.apa-stages button{color:#64748b;background:#0f172a52;border:1px solid #94a3b81f;border-radius:.8rem;justify-content:center;align-items:center;gap:.38rem;min-height:2.7rem;font-size:.64rem;font-weight:800;display:flex}.apa-stages button.is-active{color:#cffafe;background:linear-gradient(135deg,#22d3ee1a,#a855f714);border-color:#67e8f952}.apa-stage-content{margin-top:1rem}.apa-objective,.apa-practice-goal,.apa-application{color:#67e8f9;background:#22d3ee0d;border:1px solid #67e8f92e;border-radius:1rem;align-items:flex-start;gap:.75rem;padding:.9rem;display:flex}.apa-objective span,.apa-practice-goal span,.apa-application span{letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:850;display:block}.apa-objective strong,.apa-practice-goal strong{color:#e2e8f0;margin-top:.22rem;font-size:.78rem;line-height:1.45;display:block}.apa-explanation{gap:.7rem;margin-top:1rem;display:grid}.apa-explanation p{color:#cbd5e1;font-size:.78rem;line-height:1.72}.apa-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.apa-two-columns>div{background:#02061738;border:1px solid #94a3b81f;border-radius:1rem;padding:.9rem}.apa-two-columns h4,.apa-transfer h4{color:#e2e8f0;align-items:center;gap:.42rem;font-size:.75rem;font-weight:850;display:flex}.apa-two-columns ol,.apa-two-columns ul{gap:.55rem;margin-top:.7rem;display:grid}.apa-two-columns ol li{grid-template-columns:1.55rem 1fr;align-items:start;gap:.5rem;display:grid}.apa-two-columns ol span{color:#67e8f9;background:#22d3ee17;border-radius:999px;place-items:center;width:1.55rem;height:1.55rem;font-size:.62rem;font-weight:850;display:grid}.apa-two-columns li p,.apa-two-columns ul li,.apa-mistake p,.apa-transfer p{color:#94a3b8;font-size:.7rem;line-height:1.55}.apa-two-columns ul{padding-left:1rem;list-style:outside}.apa-mistakes-title{margin-top:1rem;color:#fdba74!important}.apa-mistake{border-left:2px solid #fb923c6b;margin-top:.55rem;padding-left:.65rem}.apa-mistake strong{color:#fed7aa;font-size:.68rem}.apa-primary{box-shadow:0 8px 30px #22d3ee14;color:#e0f2fe!important;background:linear-gradient(135deg,#22d3ee33,#a855f72e)!important;border:1px solid #67e8f957!important;border-radius:.8rem!important;justify-content:center!important;align-items:center!important;gap:.42rem!important;min-height:2.6rem!important;padding:.6rem .9rem!important;font-size:.7rem!important;font-weight:850!important;display:inline-flex!important}.apa-stage-content>.apa-primary{margin-top:1rem}.apa-primary:disabled,.apa-navigation button:disabled,.apa-practice-toolbar button:disabled{cursor:not-allowed;opacity:.38}.apa-demo-copy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.apa-demo-copy span{color:#a78bfa;letter-spacing:.09em;text-transform:uppercase;font-size:.62rem;font-weight:850}.apa-demo-copy h4{margin-top:.25rem;font-size:1rem;font-weight:850}.apa-demo-copy p{color:#94a3b8;max-width:42rem;margin-top:.3rem;font-size:.7rem;line-height:1.5}.apa-fingering{scrollbar-width:thin;gap:.45rem;margin-top:.9rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.apa-fingering>span,.apa-fingering>div{background:#0f172a59;border:1px solid #94a3b81f;border-radius:.75rem;flex:none;padding:.5rem .65rem}.apa-fingering>span{color:#94a3b8;place-items:center;font-size:.62rem;font-weight:800;display:grid}.apa-fingering strong,.apa-fingering small{display:block}.apa-fingering strong{font-size:.72rem}.apa-fingering small{color:#67e8f9;font-size:.58rem}.apa-keyboard-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;touch-action:pan-x;background:linear-gradient(#ffffff06,#0000 18%),#03050b;border:1px solid #94a3b821;border-radius:1.15rem;margin-top:.9rem;padding:.75rem .75rem 1rem;overflow-x:auto}.apa-keyboard{-webkit-user-select:none;user-select:none;height:240px;position:relative}.apa-white-key,.apa-black-key{touch-action:none;transition:transform 90ms,box-shadow .12s,filter .12s;position:absolute}.apa-white-key{background:linear-gradient(100deg,#fff,#f8fafc 52%,#e2e8f0);border:1px solid #64748b80;border-bottom:4px solid #475569b3;border-radius:0 0 .42rem .42rem;height:100%;bottom:0;box-shadow:inset 0 -18px 24px #64748b1f,0 5px #4755695c}.apa-black-key{z-index:2;background:linear-gradient(100deg,#334155,#020617 50%,#000);border:1px solid #000;border-bottom-width:4px;border-radius:0 0 .4rem .4rem;height:62%;top:0;box-shadow:inset 0 -18px 22px #000000ad,0 8px 13px #0009}.apa-white-key.is-target{background:linear-gradient(100deg,#ecfeff,#a5f3fc,#cffafe);box-shadow:inset 0 -18px 24px #06b6d42e,0 0 20px #22d3ee2e}.apa-black-key.is-target{background:linear-gradient(100deg,#0e7490,#082f49,#020617);box-shadow:0 0 18px #22d3ee47,0 8px 13px #0000009e}.apa-white-key.is-selected,.apa-black-key.is-selected{outline-offset:-3px;outline:2px solid #facc15cc}.apa-white-key.is-active,.apa-black-key.is-active{filter:saturate(1.3)brightness(1.03);transform:translateY(3px)}.apa-white-key span,.apa-black-key span{font-weight:850;position:absolute;left:50%;transform:translate(-50%)}.apa-white-key span{color:#475569;font-size:.58rem;bottom:.6rem}.apa-black-key span{color:#ffffffad;font-size:.5rem;bottom:.45rem;transform:translate(-50%)rotate(-90deg)}.apa-keyboard-actions,.apa-practice-toolbar,.apa-navigation{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.apa-keyboard-actions .apa-primary,.apa-practice-toolbar .apa-primary,.apa-navigation .apa-primary{margin-left:auto}.apa-practice-goal{align-items:center}.apa-practice-goal>div:nth-child(2){flex:1}.apa-score{text-align:center;border:1px solid #94a3b824;border-radius:.8rem;min-width:4rem;padding:.45rem}.apa-score strong,.apa-score small{display:block}.apa-score strong{color:#e2e8f0;font-size:1rem}.apa-score small{color:#64748b;font-size:.55rem}.apa-score.is-pass{background:#34d39914;border-color:#34d3994d}.apa-score.is-pass strong{color:#6ee7b7}.apa-feedback{color:#c4b5fd;background:#8b5cf60e;border:1px solid #a78bfa2e;border-radius:.85rem;align-items:flex-start;gap:.5rem;margin-top:.7rem;padding:.65rem;font-size:.68rem;line-height:1.45;display:flex}.apa-feedback svg{flex:none;margin-top:.08rem}.apa-quiz>p{color:#facc15;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:850}.apa-quiz h4{margin-top:.35rem;font-size:1.05rem;font-weight:850}.apa-quiz>div:first-of-type{gap:.5rem;margin-top:.8rem;display:grid}.apa-quiz button{color:#cbd5e1;text-align:left;background:#0f172a59;border:1px solid #94a3b824;border-radius:.8rem;align-items:center;gap:.55rem;width:100%;min-height:2.8rem;padding:.55rem .7rem;font-size:.7rem;display:flex}.apa-quiz button>span{background:#94a3b817;border-radius:999px;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.62rem;font-weight:900;display:grid}.apa-quiz button.is-correct{color:#a7f3d0;background:#34d39914;border-color:#34d39957}.apa-quiz button.is-wrong{color:#fecdd3;background:#fb718512;border-color:#fb71854d}.apa-quiz-explanation{color:#cbd5e1;background:#fb71850a;border-left:3px solid #fb718580;margin-top:.7rem;padding:.55rem .7rem;font-size:.7rem;line-height:1.55}.apa-quiz-explanation.is-pass{background:#34d3990a;border-color:#34d3998c}.apa-mastery-gate{background:#02061738;border:1px solid #94a3b81f;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;margin-top:1rem;padding:.9rem;display:grid}.apa-mastery-gate span{color:#a78bfa;letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:850}.apa-mastery-gate strong{margin-top:.2rem;font-size:.82rem;display:block}.apa-mastery-gate p{color:#64748b;max-width:42rem;margin-top:.3rem;font-size:.64rem;line-height:1.45}.apa-gate-checks{gap:.38rem;display:grid}.apa-gate-checks span{color:#64748b;letter-spacing:0;text-transform:none;white-space:nowrap;border:1px solid #94a3b824;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .6rem;display:inline-flex}.apa-gate-checks span.is-pass{color:#6ee7b7;border-color:#34d39947}.apa-complete{width:100%;margin-top:.8rem!important}.apa-application{color:#facc15;background:#facc150b;border-color:#facc1533;align-items:flex-start}.apa-application h4{color:#fef08a;margin-top:.25rem;font-size:1rem;font-weight:850}.apa-application p{color:#cbd5e1;margin-top:.4rem;font-size:.75rem;line-height:1.65}.apa-transfer{background:#8b5cf60b;border:1px solid #a78bfa29;border-radius:1rem;margin-top:.8rem;padding:.85rem}@media (width<=1020px){.apa-layout{grid-template-columns:1fr}.apa-curriculum{border-bottom:1px solid #94a3b81f;border-right:0;gap:.8rem;max-height:none;display:flex;overflow-x:auto}.apa-level{min-width:15rem}.apa-level+.apa-level{margin-top:0}}@media (width<=720px){.apa-hero,.apa-classroom{padding:.9rem}.apa-overall-progress{width:100%}.apa-stages{padding-bottom:.2rem;display:flex;overflow-x:auto}.apa-stages button{flex:none;min-width:8.2rem}.apa-two-columns,.apa-mastery-gate{grid-template-columns:1fr}.apa-keyboard{height:225px}.apa-keyboard-actions .apa-primary,.apa-practice-toolbar .apa-primary,.apa-navigation .apa-primary{margin-left:0}}@media (width<=480px){.apa-shell{border-radius:1.35rem}.apa-curriculum{padding:.75rem}.apa-level{min-width:13.5rem}.apa-lesson-heading>button{width:100%}.apa-practice-goal{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.apa-lesson-button,.apa-white-key,.apa-black-key{transition:none}}.lcr-shell{background:linear-gradient(145deg,#0e0a20eb,#040c1be6);border:1px solid #a78bfa2e;border-radius:1.5rem;margin-top:1rem;overflow:hidden}.lcr-toggle{color:#fff;align-items:center;gap:.8rem;width:100%;min-height:4.75rem;padding:1rem;display:flex}.lcr-toggle-icon{color:#ddd6fe;background:#8b5cf61a;border:1px solid #c4b5fd40;border-radius:.9rem;flex:none;place-items:center;width:2.75rem;height:2.75rem;display:grid}.lcr-toggle small,.lcr-toggle strong,.lcr-toggle span span{display:block}.lcr-toggle small{color:#c4b5fd;letter-spacing:.12em;text-transform:uppercase;font-size:.58rem;font-weight:900}.lcr-toggle strong{margin-top:.12rem;font-size:.92rem}.lcr-toggle span span{color:#94a3b8;margin-top:.18rem;font-size:.68rem;line-height:1.45}.lcr-body{border-top:1px solid #94a3b81a;min-width:0;padding:1rem}.lcr-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.lcr-topbar label>span{color:#cbd5e1;margin-bottom:.3rem;font-size:.65rem;font-weight:850;display:block}.lcr-topbar select{color:#fff;background:#020617;border:1px solid #94a3b829;border-radius:.8rem;width:100%;min-height:2.75rem;padding:0 .7rem;font-size:.72rem;font-weight:750}.lcr-progress{text-align:center;background:#34d3990d;border:1px solid #34d39926;border-radius:.8rem;min-width:6.8rem;padding:.55rem .7rem}.lcr-progress strong,.lcr-progress span{display:block}.lcr-progress strong{color:#a7f3d0;font-size:1rem}.lcr-progress span{color:#64748b;font-size:.55rem}.lcr-explanation,.lcr-message{border-radius:.85rem;align-items:flex-start;gap:.55rem;margin-top:.75rem;padding:.7rem;font-size:.7rem;line-height:1.55;display:flex}.lcr-explanation{color:#94a3b8;background:#22d3ee0a;border:1px solid #67e8f91f}.lcr-explanation svg{color:#67e8f9;flex:none}.lcr-explanation strong{color:#cffafe}.lcr-fragment{background:#facc1509;border:1px solid #facc151f;border-radius:1rem;margin-top:.85rem;padding:.85rem}.lcr-fragment>div:first-child>span{color:#fde047;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:900}.lcr-fragment h4{margin-top:.2rem;font-size:.9rem;font-weight:850}.lcr-note-row{gap:.45rem;margin-top:.65rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.lcr-note{background:#0f172a80;border:1px solid #ffffff1a;border-radius:.75rem;flex:none;min-width:5.4rem;padding:.55rem}.lcr-note strong,.lcr-note small{display:block}.lcr-note strong{font-size:.78rem}.lcr-note small{color:#c4b5fd;align-items:center;gap:.25rem;margin-top:.18rem;font-size:.58rem;display:flex}.lcr-message{color:#cbd5e1;background:#8b5cf60d;border:1px solid #a78bfa24}.lcr-message.is-good{color:#d1fae5;background:#34d3990f;border-color:#34d39933}.lcr-message svg{flex:none}.lcr-actions{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.lcr-actions button{color:#cbd5e1;background:#0f172a80;border:1px solid #94a3b829;border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;min-height:2.55rem;padding:.5rem .75rem;font-size:.66rem;font-weight:800;display:inline-flex}.lcr-actions .lcr-primary{color:#fff;background:linear-gradient(135deg,#8b5cf629,#22d3ee1a);border-color:#a78bfa4d}.lcr-keyboard-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;background:#03050b;border:1px solid #94a3b81f;border-radius:1rem;max-width:100%;margin-top:.8rem;padding:.65rem .65rem .85rem;overflow-x:auto}.lcr-keyboard{-webkit-user-select:none;user-select:none;height:190px;position:relative}.lcr-white,.lcr-black{touch-action:none;transition:transform 80ms,box-shadow .1s,filter .1s;position:absolute}.lcr-white{background:linear-gradient(100deg,#fff,#f8fafc,#e2e8f0);border:1px solid #64748b80;border-bottom:3px solid #475569b8;border-radius:0 0 .35rem .35rem;height:100%;bottom:0}.lcr-black{z-index:2;background:linear-gradient(100deg,#334155,#020617,#000);border:1px solid #000;border-bottom-width:3px;border-radius:0 0 .35rem .35rem;height:61%;top:0}.lcr-white.is-target{background:linear-gradient(100deg,#fef9c3,#fde047,#fef08a);box-shadow:0 0 18px #facc1547}.lcr-black.is-target{background:linear-gradient(100deg,#7e22ce,#4c1d95,#1e1b4b);box-shadow:0 0 18px #a78bfa59}.lcr-white.is-selected,.lcr-black.is-selected{outline-offset:-3px;outline:2px solid #34d399}.lcr-white.is-active,.lcr-black.is-active{filter:brightness(1.07);transform:translateY(3px)}.lcr-white span,.lcr-black span{font-weight:850;position:absolute;left:50%;transform:translate(-50%)}.lcr-white span{color:#475569;font-size:.52rem;bottom:.45rem}.lcr-black span{color:#ffffffb8;font-size:.45rem;bottom:.35rem;transform:translate(-50%)rotate(-90deg)}@media (width<=640px){.lcr-topbar{grid-template-columns:minmax(0,1fr)}.lcr-progress{width:100%}.lcr-actions button{flex:9rem}.lcr-keyboard{height:175px}}
