@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{color:#22262d;font-synthesis:none;--purple:#6554c7;--muted:#727784;--line:#e4e6ec;--navy:#192a30;background:#f7f8fa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #9987fa}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.97)}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;width:242px;padding:38px 20px 26px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.5px;align-items:center;padding:0 14px;font-family:Manrope,sans-serif;font-size:30px;font-weight:800;display:flex}.brand-light{font-weight:500}.brand-dot{color:var(--purple)}.brand-mark{background:var(--purple);color:#fff;letter-spacing:-6px;border-radius:12px;justify-content:center;align-items:center;width:37px;height:39px;margin-right:11px;padding-right:9px;font-size:28px;font-style:italic;font-weight:500;display:inline-flex}.brand-mark span{font-size:22px;font-style:normal;transform:rotate(90deg)}.sidebar-caption{letter-spacing:1.9px;color:#838793;margin:20px 14px 40px}.nav-item{color:#656a76;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:15px 13px;font-size:14px;font-weight:550;display:flex}.nav-item>span:first-child{width:21px;font-size:22px;line-height:1}.nav-item.active{color:#6554c7;background:#efecfc}.nav-end{margin-left:auto}.daily-note{border-top:1px solid var(--line);margin:40px 14px 0;padding-top:25px}.section-mini,.tiny-label{letter-spacing:1.4px;color:#717887;font-size:11px;font-weight:650}.small-orbit{letter-spacing:-2px;width:64px;height:64px;color:var(--purple);border:1px solid #c8c0e9;border-radius:50%;justify-content:center;align-items:center;gap:2px;margin:20px 0 17px;font-family:Manrope;font-size:28px;display:flex}.small-orbit span{letter-spacing:0;margin-top:12px;font:10px DM Sans}.daily-note h3{margin-bottom:9px;font-size:16px;font-weight:600}.daily-note p{color:var(--muted);font-size:14px;line-height:1.85}.sidebar-footer{color:#515966;align-items:center;gap:10px;margin-top:auto;padding:30px 12px 0;font-size:12px;display:flex}.sidebar-footer small{color:#838995;margin-top:4px;font-size:10px;display:block}.local-mark{font-size:25px}main{flex:1;min-width:0;max-width:1800px;margin-left:242px;padding:0 45px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;height:91px;display:flex}.topbar>span{letter-spacing:1.6px;color:#878b96;font-size:11px;font-weight:600}.input-status{color:#59616c;border:1px solid var(--line);background:#fff;border-radius:25px;align-items:center;gap:9px;padding:10px 15px;font-size:12px;display:flex}.input-status>span{margin-left:8px}.input-status i{background:#9c9da8;border-radius:50%;width:6px;height:6px}.input-status i.online{background:#3e9678}.page-heading{justify-content:space-between;align-items:center;gap:24px;padding:37px 0 31px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--purple);margin-bottom:10px;font-size:10px;font-weight:650}h1{letter-spacing:-1.7px;font:650 clamp(28px,3vw,39px)/1.25 Manrope,sans-serif}.page-heading p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.6}.session-length{flex-shrink:0;align-self:center}.session-length label{letter-spacing:1.5px;color:#8b8d98;margin-bottom:9px;font-size:10px;display:block}.session-length select{color:#333b45;background:0 0;border:0;padding:0 24px 0 0;font-size:17px;font-weight:600}.practice-layout{grid-template-columns:minmax(0,1fr) 285px;gap:25px;display:grid}.practice-main{min-width:0}.lesson-heading{border:1px solid var(--line);background:#fff;border-bottom:0;border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;padding:25px 26px;display:flex}.pill{letter-spacing:1px;color:#6959ba;background:#eeebfa;border-radius:4px;padding:6px 9px;font-size:9px;font-weight:700;display:inline-block}.lesson-position{color:#8c9099;margin-left:12px;font-size:11px}.lesson-heading h2{letter-spacing:-.65px;margin:13px 0 8px;font-family:Manrope;font-size:22px;font-weight:700}.lesson-heading p{color:#7d818d;font-size:12px}.separator{color:#c6c9cf;margin:0 9px}.icon-button{color:#6c6f7c;background:#fff;border:1px solid #e7e8ee;border-radius:50%;flex-shrink:0;width:32px;height:32px;font-size:18px}.piano-room{background:var(--navy);color:#fff;padding:22px 23px 18px;overflow:hidden}.room-top{letter-spacing:1.2px;color:#b6c3c6;justify-content:space-between;align-items:center;font-size:10px;display:flex}.signal-dot{background:#7b8b91;border-radius:50%;width:5px;height:5px;margin:0 7px 1px 0;display:inline-block}.signal-dot.live{background:#bcd7a3;box-shadow:0 0 8px #bcd7a350}.listen-button{letter-spacing:0;color:#e2e8e7;background:0 0;border:1px solid #536267;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:flex}.listen-button span{font-size:9px}.chord-track{justify-content:center;gap:12px;max-width:520px;margin:27px auto 21px;display:flex}.chord-stop{text-align:center;opacity:.48;flex:1;min-width:0;max-width:240px;padding:7px 10px 0}.chord-stop.current{opacity:1}.chord-number{color:#c3d8c5;margin-bottom:7px;font-size:12px;display:block}.chord-stop strong{letter-spacing:-1px;font:500 clamp(23px,2.5vw,34px)/1.3 Manrope;display:block}.chord-notes{color:#b7c7c6;margin-top:7px;font-size:11px;display:block}.chord-line{background:#506368;height:2px;margin-top:17px}.current .chord-line{background:#c5d9ab}.playing-prompt{align-items:center;gap:12px;margin:22px 0 15px;display:flex}.playing-prompt>span:first-child{letter-spacing:1.3px;color:#a6b9bd;font-size:8px}.playing-prompt strong{letter-spacing:.8px;font-size:13px;font-weight:500}.hand-label{color:#b4c3c3;letter-spacing:1px;margin-left:auto;font-size:8px}.keyboard-wrap{overflow:visible}.keyboard{background:#0c171b;border:3px solid #101c20;border-radius:5px;height:153px;display:flex;position:relative;overflow:hidden;box-shadow:0 7px #0e1d22}.piano-key{border-radius:0 0 4px 4px;padding:0;position:relative}.white-key{color:#525b53;background:linear-gradient(#fefefd,#eceeea);border-bottom:5px solid #cbd1cd;border-right:1px solid #aab0aa;flex:1;min-width:0}.white-key.chord{background:#e1e9d5}.white-key.target{background:#d0e1b3;border-bottom-color:#9aad80}.white-key.pressed{background:#b7a6f4;border-bottom-color:#7d65c4}.black-key{z-index:2;background:linear-gradient(90deg,#182226,#29353a,#111c20);border:1px solid #0a1317;border-bottom-width:5px;height:62%;position:absolute;top:0;transform:translate(-50%);box-shadow:1px 2px 2px #0004}.black-key.chord{background:#687c5c}.black-key.target{background:#8ca477;border-bottom-color:#576e45}.black-key.pressed{background:#8f77cc}.finger-dot{color:#fff;background:#789059;border-radius:50%;place-items:center;min-width:20px;height:20px;padding:2px;display:grid;bottom:32px}.finger-dot,.key-label{font-size:9px;position:absolute;left:50%;transform:translate(-50%)}.key-label{white-space:nowrap;bottom:10px}.black-label{color:#fff;font-size:8px;position:absolute;bottom:8px;left:0;right:0}.keyboard-legend{color:#b8c5c7;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;font-size:9px;display:flex}.keyboard-legend>span{align-items:center;gap:6px;display:flex}.keyboard-legend i{background:#c9dcb4;border-radius:50%;width:6px;height:6px}.keyboard-legend label{white-space:nowrap;align-items:center;gap:5px;display:flex}.keyboard-legend input{accent-color:#afc398;width:12px;height:12px}.feedback{background:#f0f4ec;border:1px solid #e1e7d9;border-top:0;gap:12px;padding:18px 22px;display:flex}.feedback-icon{color:#657c48;background:#e2e9d7;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.feedback strong{color:#425342;font-size:12px;font-weight:550;line-height:1.6;display:block}.feedback p{color:#798373;margin-top:4px;font-size:11px;line-height:1.6}.feedback.error{background:#fcf1ea;border-color:#efdfd2}.feedback.error strong{color:#a35436}.feedback.error .feedback-icon{color:#a35436;background:#f3ded0}.transport{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 12px 12px;align-items:center;gap:23px;padding:20px 22px;display:flex}.tempo-control{flex:1;max-width:190px}.tempo-control label{letter-spacing:1px;color:#8a8d95;justify-content:space-between;align-items:center;font-size:9px;display:flex}.tempo-control strong{color:#464b55;letter-spacing:0;font-size:16px;font-weight:550}.tempo-control small{color:#8a8d95;font-size:9px;font-weight:400}.tempo-control input{width:100%;height:3px;accent-color:var(--purple);margin:15px 0 5px;display:block}.metronome-control{color:#737987;font-size:11px}.metronome-control label{align-items:center;gap:5px;display:flex}.metronome-control input{accent-color:var(--purple)}.beats{gap:5px;margin:9px 0 0 24px;display:flex}.beats i{background:#d7d8e0;border-radius:50%;width:5px;height:5px}.beats i.lit{background:var(--purple);box-shadow:0 0 0 3px #eeebfc}.primary-button{background:var(--purple);color:#fff;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:10px;margin-left:auto;padding:14px 22px;font-size:12px;font-weight:600;display:inline-flex}.primary-button span{font-size:10px}.primary-button.stop{background:#33454e}.lesson-explanation{padding:29px 3px 20px}.lesson-explanation h3{color:#4a505c;margin:12px 0 10px;font-size:16px;font-weight:500;line-height:1.7}.lesson-explanation>p{color:#808490;font-size:14px;line-height:1.8}.exercise-options{color:#7b818c;flex-wrap:wrap;align-items:center;gap:15px;margin-top:20px;font-size:12px;display:flex}.exercise-options label{color:#535966}.exercise-options select{border:1px solid var(--line);color:#535966;background:#fff;border-radius:6px;margin-left:5px;padding:7px 9px}.lesson-explanation .inline-tip{color:#85693f;margin-top:12px;font-size:12px}.coach-column>section{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:18px;padding:21px}.card-heading{justify-content:space-between;align-items:center;gap:4px;display:flex}.card-heading .section-mini{font-size:9px}.privacy-label{letter-spacing:.6px;color:#7a8979;background:#f0f2f0;border-radius:3px;padding:4px 5px;font-size:8px}.input-card h3{letter-spacing:-.5px;margin:17px 0;font-size:18px;font-weight:600}.input-tabs{background:#f3f4f7;border:1px solid #eeeff3;border-radius:6px;gap:3px;padding:3px;display:flex}.input-tabs button{color:#8b8f98;background:0 0;border-radius:4px;flex:1;padding:8px 4px;font-size:11px}.input-tabs button.selected{color:#5d526f;background:#fff;box-shadow:0 1px 4px #24243e10}.input-card>p{color:#8a8e98;margin:15px 0;font-size:12px;line-height:1.8}.connect-button{width:100%;color:var(--purple);background:#ede9fb;border-radius:5px;margin-bottom:12px;padding:10px;font-size:12px}.input-readout{border-top:1px solid #f0f1f4;justify-content:space-between;align-items:center;height:43px;margin-top:12px;padding-top:12px;display:flex}.input-readout strong{color:#526054;font:600 23px Manrope}.audio-bars{align-items:center;gap:4px;height:19px;display:flex}.audio-bars i{background:#e5e9e6;border-radius:3px;width:4px;height:12px}.audio-bars i:nth-child(3n){height:19px}.audio-bars i:nth-child(2n){height:15px}.audio-bars i.filled{background:#91ad77}.input-description{color:#a1a5ad;overflow-wrap:anywhere;justify-content:space-between;gap:6px;margin-top:9px;font-size:10px;display:flex}.input-card .mic-help{margin-bottom:0;font-size:11px}.error-message{color:#ad563b;background:#fff0ec;border-radius:5px;margin-top:12px;padding:10px;font-size:12px;line-height:1.6}.coach-column .coach-card{background:#eeedf8;border-color:#e3dff4}.coach-title{align-items:center;gap:10px;display:flex}.coach-symbol{color:#7c66bd;background:#e0daf4;border-radius:9px;place-items:center;width:34px;height:34px;font-size:27px;display:grid}.coach-title h3{color:#635583;font-size:13px;font-weight:600}.coach-title div>span{letter-spacing:.7px;color:#9a8bad;margin-top:4px;font-size:7px;display:block}.coach-card>p{color:#80738e;margin:18px 0;font-size:13px;line-height:1.85}.coach-metrics{border-top:1px solid #ded9eb;grid-template-columns:1fr 1fr;padding-top:16px;display:grid}.coach-metrics>div+div{border-left:1px solid #ddd7ea;padding-left:20px}.coach-metrics strong{color:#635583;letter-spacing:-1px;font:600 26px Manrope;display:block}.coach-metrics span{color:#91869f;margin-top:5px;font-size:10px;display:block}.session-progress{margin-top:20px}.session-progress>span{color:#9689a6;justify-content:space-between;gap:8px;font-size:9px;display:flex}.session-progress b{color:#7b6c8a;font-weight:500}.session-progress>div{background:#ddd7ed;border-radius:4px;height:4px;margin-top:8px;overflow:hidden}.session-progress i{background:#9c89c7;height:100%;transition:width 1s;display:block}.coach-card>small{color:#94869e;margin-top:16px;font-size:10px;line-height:1.65;display:block}.coach-column .next-card{background:0 0;border-style:dashed}.next-card .section-mini{font-size:9px}.next-card h3{margin:14px 0 8px;font-size:14px;font-weight:550;line-height:1.6}.next-card p{color:#9195a1;font-size:11px}.text-button{color:var(--purple);background:0 0;padding:0;font-size:12px;font-weight:550}.next-card .text-button{width:100%;margin-top:20px}.next-card .text-button,.page-footer{justify-content:space-between;display:flex}.page-footer{border-top:1px solid var(--line);color:#9a9eaa;letter-spacing:1.2px;margin-top:30px;padding:24px 0;font-size:8px}.page-footer>span:last-child{letter-spacing:0;font-size:11px}.footer-star{color:#8d7aab;margin-left:9px}.path-intro{background:var(--navy);color:#fff;border-radius:12px;align-items:center;gap:35px;margin-bottom:25px;padding:32px;display:flex}.path-intro>span{color:#c5d9ab;white-space:nowrap;font:500 34px Manrope}.path-intro h2{font-size:22px;font-weight:500}.path-intro p{color:#adbfc1;max-width:650px;margin-top:9px;font-size:14px;line-height:1.8}.lesson-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.lesson-row{text-align:left;color:#333b46;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:25px;width:100%;padding:25px;display:flex}.lesson-row:last-child{border-bottom:0}.lesson-index{color:#b7b2c5;min-width:40px;font-family:Manrope;font-size:25px}.lesson-row h3{margin:8px 0;font-size:18px;font-weight:550}.lesson-row p{color:#8b8f99;font-size:13px}.lesson-row .section-mini{font-size:9px}.lesson-state{color:#888c97;align-items:center;gap:25px;margin-left:auto;font-size:12px;display:flex}.recommended{color:var(--purple);background:#efecfb;border-radius:5px;padding:7px 9px}.learned{color:#588063}.path-footer{padding:30px 0}.path-footer h3{font-size:18px;font-weight:500}.path-footer p{color:var(--muted);max-width:750px;margin-top:12px;font-size:14px;line-height:1.8}.progress-stats{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:30px;padding:30px;display:grid}.progress-stats>div+div{border-left:1px solid var(--line);padding-left:30px}.progress-stats span{letter-spacing:1.2px;color:#95919f;font-size:10px}.progress-stats strong{color:#625182;letter-spacing:-2px;margin-top:15px;font:500 48px Manrope;display:block}.progress-stats small{letter-spacing:0;color:#9992a4;margin-left:8px;font-size:18px}.history,.progress-skills{margin-top:35px}.history h2,.progress-skills h2{letter-spacing:-.5px;margin-bottom:20px;font:550 23px Manrope}.skill-row{border-bottom:1px solid var(--line);align-items:center;gap:25px;padding:23px 0;display:flex}.skill-row h3{font-size:15px;font-weight:500}.skill-row p{color:#91939e;margin-top:7px;font-size:12px}.mastery-dots{gap:5px;margin-left:auto;display:flex}.mastery-dots i{background:#e6e2ed;border-radius:3px;width:17px;height:6px}.mastery-dots i.filled{background:#9a86bc}.progress-note{color:var(--muted);margin-top:15px;font-size:12px;line-height:1.8}.empty-state{text-align:center;border:1px dashed #d9d4e4;border-radius:12px;padding:40px}.empty-state>span{color:#a78fbf;font-size:30px}.empty-state h3{margin:10px 0;font-size:20px;font-weight:500}.empty-state p{color:#888493;margin-bottom:20px;font-size:14px}.history-row{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:90px 1fr 65px 100px;align-items:center;gap:15px;padding:20px 0;font-size:12px;display:grid}.history-row strong{color:#515464;font-weight:500}.secondary-button{color:#696078;border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:6px;padding:12px 15px;font-size:12px}.session-summary{background:#eeedf8;border:1px solid #ded9ee;border-radius:10px;align-items:center;gap:20px;margin-top:20px;padding:22px;display:flex}.session-summary h3{font-size:17px;font-weight:500}.session-summary p{color:#857891;margin-top:7px;font-size:12px;line-height:1.8}.session-summary .text-button{white-space:nowrap;margin-left:auto}@media (width>=1550px){main{padding:0 65px}.practice-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px}.keyboard{height:190px}.chord-track{margin:33px auto}.piano-room{padding:26px 28px}.lesson-heading{padding:30px}.coach-column>section{padding:25px}}@media (width<=1190px){.sidebar{width:205px;padding-left:12px;padding-right:12px}main{margin-left:205px;padding:0 25px}.practice-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.coach-column>section,.transport{padding:17px}.transport{gap:14px}.primary-button{padding:13px 15px}.hand-label{display:none}.piano-room{padding:19px 16px}.lesson-heading{padding:23px 20px}.lesson-heading h2{font-size:20px}.playing-prompt{flex-wrap:wrap;gap:8px}.keyboard{height:137px}.finger-dot{min-width:16px;height:16px;font-size:8px}.brand{padding-left:10px}}@media (width<=980px){.sidebar{width:185px}.sidebar-caption{letter-spacing:1px;font-size:8px}.nav-item{gap:8px;font-size:12px}.nav-item>span:first-child{font-size:18px}.brand{font-size:27px}.brand-mark{width:30px;height:33px}main{margin-left:185px;padding:0 22px}.practice-layout{grid-template-columns:1fr}.coach-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.coach-column>section{margin:0}.coach-column .next-card{grid-column:1/-1}.page-heading{align-items:flex-start}.session-length{display:none}.keyboard{height:165px}.topbar>span{font-size:9px}.transport .primary-button{padding:14px 25px}.tempo-control{max-width:230px}.lesson-state{gap:10px}.progress-stats{gap:15px;padding:20px}.progress-stats>div+div{padding-left:15px}.skill-row{gap:12px}.mastery-dots i{width:12px}}@media (width<=680px){.app-shell,.sidebar{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;padding:18px 18px 10px;position:static}.brand{justify-content:center;padding:0;font-size:26px}.brand-mark{height:31px}.daily-note,.sidebar-caption,.sidebar-footer{display:none}.sidebar nav{gap:5px;margin-top:17px;display:flex}.nav-item{white-space:nowrap;justify-content:center;gap:6px;margin:0;padding:11px 4px;font-size:11px}.nav-item>span:first-child{width:14px;font-size:15px}.nav-end{display:none}main{margin-left:0;padding:0 18px}.topbar{height:65px}.topbar>span{letter-spacing:.8px;font-size:8px}.input-status{padding:8px 10px;font-size:10px}.input-status>span{display:none}.page-heading{flex-wrap:wrap;gap:15px;padding:27px 0 25px}h1{letter-spacing:-1.2px;font-size:30px}.eyebrow{font-size:9px}.page-heading p{max-width:310px;font-size:13px}.lesson-heading{padding:21px 17px}.lesson-heading h2{max-width:270px;font-size:20px}.lesson-heading p{font-size:11px}.lesson-position{font-size:10px}.piano-room{padding:17px 12px}.room-top{font-size:8px}.chord-track{gap:3px;margin:22px 0 18px}.chord-stop{padding:7px 6px 0}.chord-stop strong{font-size:28px}.keyboard{height:128px}.finger-dot{min-width:13px;height:13px;padding:1px;font-size:7px;bottom:27px}.key-label{font-size:7px;bottom:9px}.black-label{font-size:6px}.keyboard-legend{align-items:flex-start;font-size:8px;line-height:1.5}.keyboard-legend>span{max-width:210px}.transport{flex-wrap:wrap;gap:20px;padding:18px}.tempo-control{flex:1;min-width:140px;max-width:none}.transport .primary-button{width:100%;margin:0}.metronome-control{margin-left:auto}.feedback{padding:16px}.coach-column{grid-template-columns:1fr}.coach-column .next-card{grid-column:auto}.coach-column>section{padding:23px}.input-tabs button{font-size:13px}.coach-card>p,.input-card>p{font-size:14px}.coach-title h3{font-size:15px}.lesson-explanation{padding:24px 0}.page-footer{letter-spacing:.7px;font-size:7px}.path-intro{gap:20px;padding:22px}.path-intro>span{font-size:22px}.path-intro h2{font-size:19px}.path-intro p{font-size:12px}.lesson-row{flex-wrap:wrap;gap:13px;padding:20px 14px}.lesson-row h3{font-size:16px}.lesson-index{min-width:29px;font-size:22px}.lesson-state{justify-content:space-between;width:100%;padding-left:42px}.progress-stats{gap:10px;padding:18px 12px}.progress-stats span{letter-spacing:.5px;font-size:8px}.progress-stats strong{font-size:34px}.progress-stats small{font-size:12px}.progress-stats>div+div{padding-left:10px}.skill-row{flex-wrap:wrap}.skill-row>div:first-child{width:100%}.mastery-dots{margin-left:0}.skill-row .text-button{margin-left:auto}.history-row{grid-template-columns:70px 1fr;gap:10px}.history-row>span:nth-child(3){grid-column:1}.session-summary{flex-wrap:wrap}.session-summary .text-button{margin-left:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.card-heading .section-mini,.chord-notes,.chord-number,.coach-card>small,.coach-title div>span,.eyebrow,.hand-label,.input-description,.keyboard-legend,.lesson-position,.lesson-row .section-mini,.next-card .section-mini,.page-footer,.pill,.playing-prompt>span:first-child,.privacy-label,.progress-stats span,.room-top,.section-mini,.session-progress>span,.sidebar-caption,.tempo-control label,.tempo-control small,.tiny-label,.topbar>span{font-size:12px}.sidebar-caption{letter-spacing:1px}.sidebar-footer{font-size:13px}.sidebar-footer small{font-size:12px}.topbar>span{letter-spacing:1px}.coach-card>p,.coach-metrics span,.exercise-options,.feedback p,.input-card .mic-help,.input-card>p,.input-tabs button,.lesson-heading p,.listen-button,.metronome-control,.next-card p,.progress-note,.secondary-button,.skill-row p,.text-button{font-size:14px}.daily-note p,.lesson-explanation>p,.page-heading p,.path-footer p,.path-intro p{font-size:16px}.feedback strong{font-size:14px}.playing-prompt strong{font-size:16px}.connect-button,.primary-button{font-size:14px}.coach-title h3,.next-card h3{font-size:16px}.input-status{font-size:13px}.session-length label{font-size:12px}.coach-title div>span{letter-spacing:.3px;font-size:10px}.coach-title{gap:8px}.coach-symbol{flex-shrink:0}.card-heading{flex-wrap:wrap;gap:7px}.privacy-label{font-size:10px}.playing-prompt{flex-wrap:wrap}.hand-label{font-size:10px}.keyboard-legend{align-items:flex-start;font-size:12px;line-height:1.5}.keyboard-legend>span{max-width:75%}.keyboard-legend label{white-space:normal}.room-top{gap:8px}.lesson-position{margin-top:6px;display:inline-block}.listen-button{flex-shrink:0}.transport{flex-wrap:wrap}.tempo-control{min-width:135px}.transport .primary-button{flex-shrink:0}.page-footer,.sidebar-caption{font-size:10px}.session-progress>span{flex-wrap:wrap}.lesson-heading .pill{font-size:10px}.chord-notes{min-height:18px}.session-summary p{font-size:14px}.lesson-heading h2{line-height:1.45}.lesson-explanation .inline-tip{font-size:14px}.exercise-options span{font-size:12px}@media (width<=1190px) and (width>=981px){.transport .primary-button{width:100%;margin-left:0}.keyboard-legend{flex-wrap:wrap}.keyboard-legend>span{max-width:100%}.coach-metrics>div+div{padding-left:12px}}@media (width<=680px){.topbar>span{font-size:10px}.input-status,.nav-item{font-size:12px}.page-heading p{font-size:15px}.room-top{font-size:10px}.listen-button{font-size:12px}.playing-prompt>span:first-child{font-size:10px}.keyboard-wrap{padding-bottom:7px;overflow-x:auto}.keyboard{min-width:520px;height:150px}.finger-dot{min-width:18px;height:18px}.finger-dot,.key-label{font-size:9px}.keyboard-legend{flex-wrap:wrap}.keyboard-legend>span{max-width:100%}.coach-title div>span{font-size:11px}.progress-stats span{font-size:10px}.session-length{display:block}.page-heading .session-length select{font-size:15px}.page-footer{font-size:9px}}.piano-sound{color:#bdcecb;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;font-size:12px;line-height:1.6;display:flex}.piano-sound a{color:#a4b8b5;text-underline-offset:3px;font-size:11px;text-decoration:underline}.piano-key{touch-action:none}.piano-room{transition:background .65s,box-shadow .65s}.chord-stop{transition:opacity .5s,transform .55s cubic-bezier(.2,.8,.2,1)}.example-stage .chord-stop{opacity:.3;transform:translateY(2px)}.example-stage .chord-stop.current{opacity:1;transform:translateY(-3px)}.example-stage .chord-stop.visited{opacity:.65}.chord-stop strong{transition:color .5s,text-shadow .5s}.chord-line{position:relative;overflow:hidden}.chord-line i{transform-origin:0;background:#d7e9b8;position:absolute;inset:0;box-shadow:0 0 12px #d7e9b8}.lesson-performance{border-top:1px solid #a5c5c51c;border-bottom:1px solid #a5c5c51c;margin:5px 0 19px;padding:16px 0 14px;position:relative;overflow:hidden}.performance-heading{color:#c7d9d3;align-items:center;gap:14px;font-size:12px;display:flex}.performance-heading>span:nth-child(2){color:#dfd7ee;margin-left:auto;font-family:Manrope;font-weight:600}.performance-label{letter-spacing:1.6px;color:#9eb9b6;align-items:center;gap:8px;font-size:10px;display:flex}.performance-label i{background:#c1dec2;border-radius:50%;width:5px;height:5px;box-shadow:0 0 12px #bad4c7}.performance-count{font-variant-numeric:tabular-nums;letter-spacing:1px;color:#8ca8aa;font-size:10px}.voice-map{width:100%;height:auto;max-height:180px;margin:6px 0 1px;display:block;overflow:visible}.score-guide{stroke:#b8d2cb;stroke-opacity:.065;stroke-width:.6px}.event-guide{stroke:#b8d2cb;stroke-opacity:.08;stroke-dasharray:2 5}.voice-path{fill:none;stroke-width:1.5px;vector-effect:non-scaling-stroke}.voice-path.base{stroke:#90aca6;stroke-opacity:.17}.voice-path.traced{stroke-opacity:.75}.note-duration{fill:#b8d9c8;opacity:.09;transition:opacity .3s}.score-note{fill:#4a6366;stroke:#193239;stroke-width:2px;transition:fill .25s,stroke .25s}.score-note.voice-1{--note-color:#d8c8ef}.score-note.voice-2{--note-color:#d8dbaa}.score-event.sounding .score-note{fill:var(--note-color,#d0e9cc);stroke:#e6f7e5;stroke-width:1.5px}.score-event.passed .score-note{fill:var(--note-color,#afc7b1);opacity:.65}.score-event.sounding .note-duration{opacity:.45}.score-note-name{fill:#b2c8c4;opacity:.5;font:11px DM Sans,sans-serif;transition:opacity .3s}.score-event.sounding .score-note-name{opacity:1;fill:#eff7ef}.note-halo{fill:#c8e5ca;opacity:0;transition:opacity .3s}.score-event.sounding .note-halo{opacity:.55}.score-playhead line{stroke:#dceae4;stroke-opacity:.26;stroke-width:1px}.score-playhead circle{fill:#d2e4d6}.voice-caption{text-align:center;color:#bcd0ca;letter-spacing:.2px;min-height:21px;font-size:12px;line-height:1.7}.performance-rail{background:#9dbbb60b;height:1px;position:absolute;bottom:0;left:0;right:0}.performance-rail i{transform-origin:0;background:linear-gradient(90deg,#bfdcb8,#c0aedf);width:100%;height:100%;display:block}.performance-enter-active,.performance-leave-active{max-height:250px;transition:opacity .4s,max-height .6s cubic-bezier(.2,.7,.2,1),margin .6s,padding .6s}.performance-enter-from,.performance-leave-to{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.phrase-enter-active,.phrase-leave-active{transition:opacity .16s,transform .22s}.phrase-enter-from{opacity:0;transform:translateY(5px)}.phrase-leave-to{opacity:0;transform:translateY(-4px)}.example-stage .white-key{transition:background .22s,border-color .22s,box-shadow .22s}.example-stage .finger-dot{color:#fff;background:#668c63;transition:background .25s;box-shadow:0 0 14px #c2dfb66b}.example-stage .piano-key.sounding .finger-dot{background:#496d45}.example-stage .playing-prompt>span:first-child{color:#bfd3c6}.example-stage .playing-prompt strong{color:#e0ebd7}.example-stage .hand-label{opacity:.4}@media (width<=680px){.voice-map{min-height:110px}.score-note-name{font-size:13px}.voice-caption{min-height:40px;font-size:12px}.performance-heading{gap:10px}.lesson-performance{padding-top:12px}.performance-label{letter-spacing:1px;font-size:9px}.example-stage .chord-stop strong{font-size:26px}}@media (prefers-reduced-motion:reduce){.performance-enter-active,.performance-leave-active,.phrase-enter-active,.phrase-leave-active{transition:none!important}.example-stage .chord-stop,.example-stage .white-key.sounding{transform:none}.note-halo,.score-playhead{display:none}.voice-path.traced{stroke-opacity:.45;display:none}.voice-path.base{stroke-opacity:.35}}.piano-room{scroll-margin-top:16px}.example-transport{margin-top:8px}.scrub-timeline{align-items:center;gap:10px;height:28px;display:flex}.player-time{font-variant-numeric:tabular-nums;color:#a6c1bc;min-width:29px;font-size:11px}.player-time:last-child{text-align:right}.scrub-track{flex:1;align-items:center;height:26px;display:flex;position:relative}.scrub-track:before{content:"";background:linear-gradient(to right,#cde3bc 0,#cde3bc var(--progress),#486460 var(--progress),#486460 100%);pointer-events:none;border-radius:3px;height:3px;position:absolute;left:0;right:0}.scrub-track input{z-index:2;appearance:none;cursor:ew-resize;touch-action:none;background:0 0;width:100%;height:26px;margin:0;position:relative}.scrub-track input::-webkit-slider-runnable-track{background:0 0;height:3px}.scrub-track input::-moz-range-track{background:0 0;height:3px}.scrub-track input::-webkit-slider-thumb{appearance:none;background:#e3f2d7;border:2px solid #d9ecca;border-radius:50%;width:12px;height:12px;margin-top:-4.5px;box-shadow:0 0 0 4px #c6e0bb14}.scrub-track input::-moz-range-thumb{background:#e3f2d7;border:2px solid #d9ecca;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #c6e0bb14}.scrub-track input:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #d3c0ef}.scrub-marker{pointer-events:none;background:#9ebbac;width:1px;height:10px;position:absolute;top:8px}.player-controls{justify-content:space-between;align-items:center;gap:15px;margin-top:5px;display:flex}.player-buttons{align-items:center;gap:3px;display:flex}.player-skip{color:#cbded3;background:0 0;border-radius:5px;width:26px;height:32px;font-size:25px;line-height:1}.player-toggle{color:#253d35;background:#d4e6c7;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-width:87px;height:33px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.player-toggle span{font-size:11px}.playback-speed{align-items:center;gap:8px;display:flex}.speed-label{letter-spacing:1px;color:#a0b9b3;font-size:9px}.speed-label small{letter-spacing:0;color:#819e98;white-space:nowrap;margin-top:3px;font-size:9px;display:block}.speed-options{border:1px solid #48615e;border-radius:6px;align-items:center;gap:2px;padding:3px;display:flex}.speed-options button{font-variant-numeric:tabular-nums;color:#acbfb8;background:0 0;border-radius:3px;padding:6px 7px;font-size:11px}.speed-options button.selected{color:#263138;background:#c8badf;box-shadow:0 1px 4px #09181930}.player-close{color:#b8cdc3;white-space:nowrap;background:0 0;padding:7px 0;font-size:11px}.scrub-hint{color:#7e9d97;margin-top:8px;font-size:10px;line-height:1.6}.scrub-hint span{opacity:.75;margin-left:5px}.scrubbable{touch-action:none;cursor:ew-resize;-webkit-user-select:none;user-select:none}.scrubbable:hover .score-playhead line{stroke-opacity:.7}.scrubbing .score-playhead line{stroke:#e0d2f2;stroke-opacity:.9}.scrubbing .voice-caption{color:#dac9eb}.example-stage .chord-track{margin-top:17px;margin-bottom:12px}.example-stage .lesson-performance{margin-bottom:12px;padding-top:11px}.example-stage .voice-map{height:clamp(65px,13vh,108px);margin-top:0}.example-stage .voice-caption{min-height:20px}.performance-enter-active,.performance-leave-active{max-height:380px}@media (width<=1190px){.player-controls{flex-wrap:wrap;gap:8px}.playback-speed,.player-close{margin-left:auto}.scrub-hint span{display:none}}@media (width<=680px){.player-controls{gap:8px}.player-toggle{min-width:72px;padding:0 8px}.player-skip{width:22px}.speed-label{display:none}.speed-options button{padding:6px}.player-close{font-size:11px}.example-stage .voice-caption{min-height:32px}.example-stage .voice-map{min-height:85px}.scrub-hint{font-size:10px}}.listen-actions{align-items:center;gap:13px;display:flex}.explore-button{color:#bacec7;background:0 0;border-bottom:1px solid #648077;padding:8px 0;font-size:12px}.listen-button:disabled{opacity:.7;cursor:wait}@media (width<=680px){.listen-actions{gap:9px}.explore-button{font-size:11px}.room-top{flex-wrap:wrap;row-gap:10px}.listen-actions{margin-left:auto}}.piano-room{overflow-anchor:none}.player-controls button{min-height:36px}.speed-options button{font-size:12px}.example-transport button:focus-visible{outline-offset:3px;outline:2px solid #ddc9f5}@media (pointer:coarse){.player-controls button{min-height:44px}.speed-options button{min-width:34px}.scrub-track,.scrub-track input{height:36px}}.piano-room.example-stage{background:#15131f;box-shadow:inset 0 1px #bfa0ea20}.example-stage .room-top>span{color:#bfb1ce}.example-stage .listen-button{color:#34273f;background:#e2d7ee;border-color:#e2d7ee}.example-stage .chord-number{color:#aa94c2}.example-stage .chord-notes{color:#b4a6bf}.example-stage .chord-stop.current strong{color:#f1e5fc;text-shadow:0 0 28px #c699f440}.example-stage .chord-line{background:#3c3049}.example-stage .current .chord-line{background:#473852}.example-stage .chord-line i{background:linear-gradient(90deg,#aa83d7,#efb57d);box-shadow:0 0 12px #d09fdd}.example-stage .chord-track{margin-bottom:20px}.example-stage .keyboard-wrap{padding-bottom:0;overflow:visible}.example-stage .keyboard{border-color:currentColor #211922 #211922;border-top-style:none;border-top-width:0;border-radius:0 0 6px 6px;min-width:0;height:137px;box-shadow:0 5px #0b0a12}.example-stage .white-key{background:linear-gradient(#e8e3ec,#cfcbd7);border-bottom-color:#a59eaf;border-right-color:#99919f;transition:none}.example-stage .white-key.example-note{background:linear-gradient(#f0e5ee,#d8c9db)}.example-stage .white-key.sounding{background:linear-gradient(#ffc789,#ffd9a9 22%,#f0c391);border-bottom-color:#af794d;transform:translateY(1px);box-shadow:inset 0 15px 25px #faac5340,inset 0 0 0 1px #ffe4c9}.example-stage .black-key{background:linear-gradient(90deg,#18151e,#302837,#17121d);border-color:#100d16;transition:none}.example-stage .black-key.sounding{background:linear-gradient(#f2b06e,#b96c45);border-bottom-color:#814626;box-shadow:0 0 18px #ffac5d60}.example-stage .finger-dot{color:#fff4e9;box-shadow:none;background:#82708f;min-width:18px;height:18px;font-size:9px;bottom:27px}.example-stage .piano-key.sounding .finger-dot{color:#fff7ec;background:#965c37}.example-stage .key-label{color:#605466}.example-stage .lesson-performance{border-top:0;border-bottom-color:#ad92c31c;margin:16px 0 0;padding:0 0 12px;overflow:visible}.example-stage .voice-caption{color:#c9b5d7;min-height:22px;font-size:11px}.example-stage .player-toggle{color:#352442;background:#e1d3ef}.example-stage .speed-options{border-color:#554362}.example-stage .speed-options button.selected{background:#c4a4e3}.example-stage .player-close,.example-stage .player-time,.example-stage .speed-label,.example-stage .speed-options button{color:#bfaecc}.example-stage .speed-options button.selected{color:#281a36}.example-stage .scrub-hint,.example-stage .speed-label small{color:#9984ab}.example-stage .scrub-track:before{background:linear-gradient(to right,#cba7e8 0,#cba7e8 var(--progress),#48364f var(--progress),#48364f 100%)}.example-stage .scrub-track input::-webkit-slider-thumb{background:#f0defb;border-color:#dfc2f5;box-shadow:0 0 0 4px #b189d41a}.example-stage .scrub-marker{background:#a58ab5}.example-stage .piano-sound{color:#a294af;margin-top:14px;font-size:11px}.example-stage .piano-sound a{color:#a294af}.example-stage .keyboard-legend{display:none}@media (width<=680px){.example-stage .keyboard{height:119px}.example-stage .finger-dot{min-width:13px;height:15px;padding:1px;font-size:8px}.example-stage .key-label{font-size:8px}.example-stage .voice-caption{min-height:36px}.example-stage .chord-track{margin-bottom:16px}}.example-stage .white-key.preview-note{background:linear-gradient(#f6d8b4,#e9c69f);border-bottom-color:#ac855e}.example-stage .black-key.preview-note{background:linear-gradient(#a17a5e,#745039);border-bottom-color:#563923}.example-stage .white-key.pressed{background:linear-gradient(#ffc789,#ffd9a9 22%,#f0c391);border-bottom-color:#af794d}.example-stage .black-key.pressed{background:linear-gradient(#f2b06e,#b96c45);border-bottom-color:#814626}.player-skip:disabled{opacity:.25}.input-readout{flex-wrap:wrap;gap:10px;height:auto;min-height:50px}.input-readout strong{overflow-wrap:anywhere;text-align:right;margin-left:auto;font-size:20px}.input-description{flex-wrap:wrap}.input-description>span{color:#697c64}.practicing .keyboard-legend{display:flex}.practicing .falling-roll{cursor:default;touch-action:pan-y}.practicing .roll-status i{background:#c7e3a5}.practicing .playing-prompt{margin:12px 0}.practicing .white-key.preview-note{background:linear-gradient(#e6d8eb,#d7c3df);border-bottom-color:#a089ae}.practicing .white-key.pressed{background:linear-gradient(#d5edb7,#b8d693);border-bottom-color:#789c5e}.practicing .black-key.pressed{background:linear-gradient(#90b36f,#617e49)}.live-follow-caption{text-align:center;color:#dacbe5;flex-direction:column;align-items:center;gap:8px;min-height:83px;padding:17px 8px 12px;display:flex}.live-follow-state{letter-spacing:1.5px;color:#c4dfa9;align-items:center;gap:7px;font-size:8px;display:flex}.live-follow-state i{background:currentColor;border-radius:50%;width:4px;height:4px;box-shadow:0 0 9px}.live-follow-state.waiting{color:#b7a1c9}.live-follow-caption p{min-height:18px;font-size:12px;line-height:1.5}.live-follow-caption small{color:#90859d;font-size:9px}.practicing .piano-key{transition:background .18s,border-color .18s,box-shadow .18s}.practicing .white-key.pressed{box-shadow:inset 0 0 0 1px #e2facb,0 -4px 20px #bded7f38}.practicing .black-key.preview-note{background:linear-gradient(#79548b,#493155);border-color:#ac88bd}.practicing .black-key.pressed{background:linear-gradient(#b9dc91,#617e49);box-shadow:0 -4px 18px #bdec8150}@media (prefers-reduced-motion:reduce){.practicing .piano-key{transition:none}}.hand-coach{color:#c9b8d8;border-top:1px solid #b79ccc20;margin-top:12px;padding:15px 0 8px}.hand-coach-top{justify-content:space-between;gap:12px}.hand-coach-top,.hand-toggle{align-items:center;display:flex}.hand-toggle{cursor:pointer;letter-spacing:1.6px;color:#d4c3e2;gap:9px;font-size:9px}.hand-toggle input{accent-color:#cfb5e4;width:13px;height:13px}.finger-key{color:#a594b3;font-size:9px}.finger-key i{color:#6d5b7c;padding:0 7px;font-style:normal}.finger-assignments{letter-spacing:.3px;flex-wrap:wrap;gap:22px;margin-top:14px;font-size:12px;display:flex}.finger-assignments>span{white-space:pre;align-items:center;gap:9px;display:flex}.finger-assignments b{color:#ceafdf;background:#b78ed51c;border:1px solid #b78ed538;border-radius:5px;place-items:center;width:19px;height:19px;font-size:9px;font-weight:500;display:grid}.hand-coach p{color:#ad9bbd;max-width:650px;margin:10px 0 0;font-size:11px;line-height:1.7}.hand-coach details{color:#8b789c;margin-top:8px;font-size:9px}.hand-coach summary{cursor:pointer;width:fit-content}.hand-coach details p{font-size:10px}.hand-coach details a{color:#c8addc;margin-top:8px;font-size:10px;display:inline-block}.hand-coach+.live-follow-caption{padding-top:12px}.example-stage .keyboard{position:relative}.session-length input[type=number]{color:#51435f;width:82px;font:inherit;background:#fff;border:1px solid #d9d2e5;border-radius:8px;padding:10px 12px;font-weight:600}.session-length>span{color:#8c8198;margin-left:8px;font-size:13px}.input-status{margin-left:auto}.playroom-room{border-radius:14px;flex-direction:column;gap:0;display:flex}.playroom-bar,.playroom-room .keyboard-wrap{margin-top:16px}.playroom-bar{border-top:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:14px;padding-top:15px;display:flex}.playroom-bar .piano-input-selector{gap:8px;display:flex}.playroom-bar .piano-input-selector button{color:#cfd6e2;background:#ffffff0d;border-color:#fff2;padding:9px 14px}.playroom-bar .piano-input-selector button[aria-pressed=true]{color:#f0e6f7;box-shadow:none;background:#7d5aa640;border-color:#c5a7ef60}.playroom-bar .connect-button.playroom-connect{width:auto;color:var(--purple);background:#ede9fb;margin-bottom:0;padding:10px 18px}.playroom-bar .input-readout{border-top:0;gap:12px;height:auto;margin-top:0;margin-left:auto;padding-top:0}.playroom-bar .input-readout strong{color:#e8ecf3;font-variant-numeric:tabular-nums;font-size:13px}.playroom-error{margin-top:12px}@media (width<=680px){.playroom-bar{gap:10px}.playroom-bar .input-readout{width:100%;margin-left:0}}.learning-studio{max-width:1400px;margin:auto}.learning-hero{justify-content:space-between;align-items:center;gap:30px;padding:48px 0 25px;display:flex}.learning-hero h1{letter-spacing:-1.7px;max-width:800px;margin:14px 0;font-size:clamp(32px,3.4vw,52px);line-height:1.12}.learning-hero p{color:#787585;max-width:620px;line-height:1.7}.learning-orbit{background:radial-gradient(circle,#eae1f7,#0000 68%);border:1px solid #ddd4ee;border-radius:50%;flex:0 0 140px;place-content:center;height:140px;display:grid;position:relative}.learning-orbit span{color:#86709e;font-size:66px}.learning-orbit i{background:#bd9cdd;border-radius:50%;width:8px;height:8px;position:absolute;top:22px;left:12px}.learning-orbit b{letter-spacing:1.4px;color:#8f799f;font-size:8px}.learning-status{color:#7e7a88;justify-content:space-between;align-items:center;padding:10px 0 24px;font-size:12px;display:flex}.learning-status i{background:#92a981;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.learning-status .pending i{background:#c19b62}.learning-card{background:#fff;border:1px solid #e1dfea;border-radius:18px;margin-bottom:22px;padding:34px}.learning-card h2{letter-spacing:-.9px;margin:18px 0;font-size:clamp(24px,2.3vw,34px);line-height:1.25}.learning-card p{color:#777383;font-size:14px;line-height:1.75}.learning-card label{color:#625c72;margin:16px 0 9px;font-size:12px;font-weight:500;display:block}.learning-card .debug-form-toggle{color:#8a8293;align-items:center;gap:7px;margin:8px 0 0;font-size:10px;font-weight:500;display:inline-flex}.debug-form-toggle input{margin:0}.learning-card input[type=date],.learning-card input[type=number],.learning-card select,.learning-card textarea{color:#35303f;font:inherit;box-sizing:border-box;background:#faf9fc;border:1px solid #ddd7e8;border-radius:9px;max-width:100%;padding:12px;line-height:1.6;display:block}.learning-card textarea{resize:vertical;width:100%;margin:8px 0 18px}.learning-card input:focus,.learning-card select:focus,.learning-card textarea:focus{outline-offset:2px;outline:2px solid #b997d5}.learning-card .primary-button{gap:16px;margin-top:18px}.learning-card fieldset{border:0;margin:26px 0;padding:0}.learning-card legend{color:#625c72;margin-bottom:12px;font-size:13px}.choice-grid{flex-wrap:wrap;gap:8px;display:flex}.choice-grid button{color:#706778;min-width:120px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e1dce9;border-radius:9px;flex:1;padding:13px 10px;font-size:12px}.choice-grid button[aria-pressed=true],.outcome-grid button[aria-pressed=true]{color:#5d3e7b;background:#f0e9fa;border-color:#bda1d6;box-shadow:inset 0 0 0 1px #bda1d6}.outcome-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.outcome-grid button{text-align:left;cursor:pointer;color:#524b60;background:#fff;border:1px solid #e1dce9;border-radius:10px;padding:18px 14px}.outcome-grid strong{margin-bottom:8px;font-size:13px;display:block}.outcome-grid span{color:#81788d;font-size:12px;line-height:1.65;display:block}.profile-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.profile-fields input,.profile-fields select{width:100%;margin-top:9px}.profile-fields small{color:#a09ba8;font-size:10px}.stated-goal{border-left:2px solid #c9b2df;padding-left:16px}.fine-print{color:#93909c!important;font-size:11px!important}.goal-suggestions{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.goal-suggestions button{color:#877594;cursor:pointer;background:#fbf9fe;border:1px solid #e7e1ed;border-radius:20px;padding:9px 12px;font-size:11px}.goal-suggestions span{margin-left:8px}.journey-steps{color:#b8b0c4;gap:20px;margin:0 0 18px;padding:0;font-size:12px;list-style:none;display:flex}.journey-steps span{margin-left:6px}.journey-steps .current{color:#71518f}.instrument-details{color:#84788e;border-top:1px solid #efecf3;margin-top:20px;padding:18px 0;font-size:12px}.instrument-details summary{cursor:pointer}.instrument-details p{font-size:12px}.coach-conversation{background:linear-gradient(160deg,#f0eafa,#faf9fd);border-color:#e0d5ef;padding:26px}.coach-conversation .coach-symbol{width:48px;margin-bottom:22px;font-size:30px;display:block}.coach-conversation h2{letter-spacing:-.5px;margin:12px 0;font-size:23px;line-height:1.3}.coach-conversation .section-mini{font-size:10px}.coach-conversation .secondary-button{justify-content:space-between;width:100%}.voice-control{border-top:1px solid #ddd2eb;margin-top:22px;padding-top:20px}.voice-control small{color:#9688a4;margin-top:12px;font-size:10px;line-height:1.7;display:block}.voice-button{color:#6b498a;cursor:pointer;background:#e7dbf3;border:1px solid #cbb7de;border-radius:9px;justify-content:center;gap:12px;width:100%;padding:12px;font-size:13px;display:flex}.voice-button.listening{color:#fff;background:#6e5089}.voice-button:disabled{opacity:.5;cursor:default}.voice-caption{max-height:130px;overflow:auto;font-size:12px!important}.learning-aside-note{color:#9b91a6;padding:8px 24px}.learning-aside-note span{letter-spacing:1.8px;font-size:9px}.learning-aside-note p{margin:8px 0 25px;font-size:12px;line-height:1.8}.learning-alert{color:#846249;background:#fcf5ef;border:1px solid #e4cfc3;border-radius:10px;margin:0 0 20px;padding:15px;font-size:13px}.learning-alert button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:12px;text-decoration:underline}.probe-row{border-bottom:1px solid #efecf3;align-items:center;gap:18px;padding:24px 0;display:flex}.probe-number{color:#baa9c8;font-size:18px}.probe-row h3{margin:0;font-size:16px}.probe-row p{margin:7px 0;font-size:12px}.probe-row small{color:#ac9eb7;font-size:10px}.probe-actions{text-align:center;flex-shrink:0;gap:10px;display:grid}.probe-actions .secondary-button{padding:10px;font-size:12px}.recall-option{align-items:center;gap:8px;display:flex!important}.baseline-row{border-bottom:1px solid #efecf3;gap:16px;padding:20px 0;display:flex}.claim-dot{background:#cbc4d4;border-radius:50%;flex:0 0 9px;height:9px;margin-top:8px}.claim-dot.developing{background:#c4a36d}.claim-dot.demonstrated{background:#8caa75}.baseline-row h3{margin:0 0 6px;font-size:17px}.baseline-row strong{color:#887194;font-size:12px;font-weight:500}.baseline-row p{font-size:12px}.program-meta{border-bottom:1px solid #ebe5f2;gap:40px;margin-bottom:4px;padding:20px 0 28px;display:flex}.program-meta>span{color:#725c88;font-size:29px;font-weight:500}.program-meta small{color:#a497ad;margin-top:4px;font-size:11px;display:block}.milestone-row{border-bottom:1px solid #efecf3;align-items:center;gap:20px;padding:22px 0;display:flex}.milestone-row>span{color:#bcabc9;font-size:21px;font-weight:300}.milestone-row>div{flex:1}.milestone-row h3{margin:0 0 5px;font-size:15px}.milestone-row p{margin:0;font-size:12px}.milestone-row>small{letter-spacing:1px;color:#9b88aa;font-size:9px}.continue-program{background:#f6f1fb;border:1px solid #e7d9f1;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;padding:22px;display:flex}.continue-program h3{margin:12px 0;font-size:20px}.continue-program p{font-size:12px}.continue-program input{width:80px;margin-left:10px;display:inline-block!important}.continue-program .primary-button{white-space:nowrap;margin:0;font-size:12px}.saved-programs{padding:8px 0 22px}.saved-programs h3{color:#7c6d8a;font-size:14px}.saved-programs>button{text-align:left;color:#665676;cursor:pointer;background:0 0;border:1px solid #e6dfed;border-radius:10px;justify-content:space-between;width:100%;margin-top:8px;padding:18px;display:flex}.saved-programs small{color:#a395b0;margin-top:7px;font-size:10px;display:block}.learning-footer-actions{color:#a090ad;justify-content:space-between;gap:20px;margin:35px 0;font-size:12px;display:flex}.learning-footer-actions details{max-width:340px}.learning-footer-actions details p{font-size:11px;line-height:1.8}.learning-footer-actions details button{margin-top:12px;display:block}.managed-banner{background:linear-gradient(120deg,#e9def5,#f4f0f9);border:1px solid #d6c0e6;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin:22px 0;padding:20px 24px;display:flex}.managed-banner strong{color:#624b79;margin-bottom:8px;font-size:17px;display:block}.managed-banner p{color:#9784a6;margin:0;font-size:12px}.managed-banner .managed-actions{flex-wrap:wrap;gap:12px;display:flex}.managed-banner button{font-size:12px}.managed-actions .voice-hint{color:#776488;align-self:center;max-width:260px;font-size:12px;line-height:1.55}.managed-actions .voice-hint strong{color:#6b50a2;margin:0;font-size:12px;display:inline}.session-button{white-space:nowrap}.segmentation-toggle{color:var(--ink-soft,#555);align-items:center;gap:.5rem;margin:.75rem 0 0;font-size:.85rem;display:flex}.draft-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.preview-banner{background:linear-gradient(120deg,#dfeaf5,#f0f5f9);border-color:#c0d4e6}.preview-banner strong{color:#4b6279}.preview-banner p{color:#84959f}.preview-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.preview-chips button{border-radius:999px;padding:6px 12px;font-size:11px}.recall-stage{text-align:center;color:#c1a8da;background:radial-gradient(at bottom,#35243f,#13101d);border:1px solid #44324f;border-radius:12px 12px 0 0;place-content:center;height:220px;display:grid}.recall-stage strong{letter-spacing:-.4px;font-size:22px;font-weight:400}.recall-stage p{color:#8e7a9e;font-size:13px}.learning-card button:disabled{opacity:.55;cursor:default}@media (width<=1100px){.learning-card{padding:24px}.outcome-grid{grid-template-columns:1fr}.learning-orbit{display:none}.continue-program{display:block}.continue-program .primary-button{margin-top:15px}}@media (width<=800px){.learning-hero{padding-top:25px}.learning-card{padding:23px}.profile-fields{grid-template-columns:1fr 1fr}.probe-row{flex-wrap:wrap}.probe-actions{margin-left:35px;display:flex}.learning-footer-actions,.managed-banner{flex-direction:column}.managed-banner{align-items:flex-start}.journey-steps{gap:12px;font-size:10px}.learning-status{gap:14px}.program-meta{gap:24px}.milestone-row{gap:12px}.milestone-row>small{display:none}}.voice-activity{color:#684387;align-items:center;gap:10px;padding:14px 0;font-size:13px;font-weight:600;display:flex}.voice-activity i{background:#9d75c2;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #9d75c21a}.voice-activity[data-phase=hearing] i{background:#658d73;animation:1s ease-in-out infinite voice-pulse}.voice-heard{color:#47345d;background:#fff;border:1px solid #ded4e8;border-radius:12px;padding:14px}.voice-heard small{letter-spacing:.12em;margin-bottom:8px;font-size:10px;display:block}@keyframes voice-pulse{50%{box-shadow:0 0 0 9px #658d731a}}@media (prefers-reduced-motion:reduce){.voice-activity i{animation:none!important}}.song-choice{background:#faf7fe;border:1px solid #d9cee6;border-radius:18px;margin:24px 0;padding:24px}.song-choice input:not([type=file]){background:#fff;border:1px solid #d7c9e5;border-radius:10px;width:100%;padding:14px}.song-choice .song-ready{color:#4a7561;font-weight:600}.song-import{margin-top:16px}.song-import input{width:100%;padding:12px 0;display:block}.song-choice small{color:#80768d}.coach-conversation{background:radial-gradient(at 0 0,#e9dff6,#0000 70%),#faf8fd;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding:clamp(24px,3vw,42px);display:grid}.coach-identity{align-items:center;gap:14px;margin-bottom:22px;display:flex}.coach-conversation .coach-symbol{width:42px;margin:0}.coach-conversation h2{margin-top:0;font-size:clamp(27px,2.7vw,40px)}.coach-response{max-width:58ch;min-height:3em}.coach-composer{border-left:1px solid #e2d8ec;padding:4px 0 0 clamp(20px,3vw,42px)}.coach-composer label{margin-top:0;font-size:14px}.coach-composer textarea{background:#ffffffcf;min-height:140px}.coach-conversation .voice-control{border:0;padding-top:0}.coach-conversation .voice-button{color:#fff;background:#6a50a3;border-color:#6a50a3;min-height:48px}.coach-conversation .voice-button:hover:not(:disabled){background:#59408e}.coach-conversation .voice-button.listening{background:#493365}.coach-reassurance{margin-top:22px;font-size:12px!important}.learning-content{min-width:0}.program-dashboard h2{font-size:clamp(23px,2vw,30px)}@media (width<=900px){.coach-conversation{grid-template-columns:1fr;gap:24px}.coach-composer{border-top:1px solid #e2d8ec;border-left:0;padding:24px 0 0}}.app-shell :is(.main-workspace,.coach-dock){--workspace-surface:#17181c;--surface-raised:#202126;--surface-hover:#2b2c33;--surface-input:#1b1c21;--ink:#eeedf2;--ink-soft:#b7b5c0;--muted:#a09eac;--line:#34353d;--purple:#c6b7e9;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:#b6a2d9}.app-shell .main-workspace{scrollbar-color:#41414b transparent}.app-shell .main-workspace :is(.topbar,.page-footer){border-color:var(--line)}.app-shell .main-workspace .topbar{border-bottom:0;justify-content:flex-end}.app-shell .main-workspace .input-status{color:#c1becb;background:#23242a;border-color:#393942}.app-shell .main-workspace .input-status:hover{background:#2b2c33}.app-shell .main-workspace :is(.eyebrow,.text-button,.journey-steps .current){color:var(--purple)}.app-shell .main-workspace :is(.learning-hero p,.learning-card p,.learning-status,.learning-footer-actions,.instrument-details,.section-mini,.page-footer){color:var(--muted)}.app-shell .main-workspace :is(.learning-card,.song-choice,.continue-program){background:var(--surface-raised);border-color:var(--line);box-shadow:none}.app-shell .main-workspace .continue-program{background:#26232e;border-color:#3e354e}.app-shell .main-workspace :is(.learning-card h2,.milestone-row h3,.continue-program h3,.probe-row h3,.baseline-row h3){color:var(--ink)}.app-shell .main-workspace :is(.learning-card label,.learning-card legend,.outcome-grid span,.song-choice small,.segmentation-toggle){color:var(--ink-soft)}.app-shell .main-workspace :is(.learning-card textarea,.learning-card input:not([type=checkbox]):not([type=range]):not([type=file]),.learning-card select,.song-choice input:not([type=file])){background:var(--surface-input);color:var(--ink);border-color:#41414c}.app-shell .main-workspace :is(input,textarea)::-moz-placeholder{color:#898693}.app-shell .main-workspace :is(input,textarea)::placeholder{color:#898693}.app-shell .main-workspace :is(.choice-grid button,.outcome-grid button,.secondary-button,.goal-suggestions button,.piano-input-selector:not(.compact) button){color:var(--ink-soft);background:#25262d;border-color:#3a3944}.app-shell .main-workspace :is(.choice-grid button,.outcome-grid button,.piano-input-selector:not(.compact) button)[aria-pressed=true]{color:#e4d5f6;background:#383044;border-color:#a68bbe;box-shadow:inset 0 0 0 1px #a68bbe}.app-shell .main-workspace .primary-button{color:#24212d;background:#cabbe4;border-color:#cabbe4}.app-shell .main-workspace .primary-button:hover:not(:disabled){background:#e0d2f4}.app-shell .main-workspace :is(.program-meta,.milestone-row,.probe-row,.baseline-row,.instrument-details){border-color:var(--line)}.app-shell .main-workspace :is(.program-meta>span,.baseline-row strong,.probe-number,.milestone-row>span){color:#c0afd4}.app-shell .main-workspace :is(.program-meta small,.milestone-row>small,.probe-row small){color:#aaa0b8}.app-shell .main-workspace .stated-goal{border-color:#82689e}.app-shell .main-workspace .learning-alert{color:#e2bea0;background:#332b24;border-color:#605040}.app-shell .main-workspace .song-ready{color:#b8d3ba}.app-shell .main-workspace .fine-print{color:#a09eac!important}.app-shell .main-workspace :is(button,a,summary,input,select,textarea):focus-visible{outline-offset:3px;outline:2px solid #bca4d9}.app-shell .coach-dock .coach-composer-shell{background:#24252bf5;border-color:#404049;box-shadow:0 16px 45px -16px #0009,inset 0 1px #ffffff05}.app-shell .coach-dock .coach-composer-shell.connected{border-color:#847295;box-shadow:0 16px 45px -16px #0009,0 0 0 3px #b7a0d408}.app-shell .coach-dock :is(.composer-identity h2,.details-heading h3,.dock-focus strong){color:var(--ink)}.app-shell .coach-dock .composer-prompt{color:#ddd9e5;scrollbar-color:#504856 transparent}.app-shell .coach-dock :is(.composer-status,.composer-context,.step-total,.dock-footnote){color:#b0a8bb}.app-shell .coach-dock :is(.composer-symbol,.journey-toggle,.dock-footnote button){color:#c6b4dc}.app-shell .coach-dock :is(.journey-toggle:hover,.journey-toggle[aria-expanded=true]){background:#37313e}.app-shell .coach-dock .step-indicators i{background:#4a4353}.app-shell .coach-dock .step-indicators i.complete{background:#a4b99a}.app-shell .coach-dock .step-indicators :is(i.active,i.listening){background:#bda2dc}.app-shell .coach-dock .step-indicators i.needs-review{background:#dab284}.app-shell .coach-dock .composer-message{color:#d4b398}.app-shell .coach-dock .session-button{color:#292430;box-shadow:none;background:#dfd6eb;border-color:#dfd6eb}.app-shell .coach-dock .session-button:hover:not(:disabled){background:#f0e9f8}.app-shell .coach-dock .session-button.stop{color:#e2d2ef;background:#393140;border-color:#6b567a}.app-shell .coach-dock .finish-speaking{color:#dac5e9;background:#35303d;border-color:#5c4c68}.app-shell .coach-dock .dock-footnote{text-shadow:none}.app-shell .coach-dock .dock-details{background:#242329fa;border-color:#48414f;box-shadow:0 12px 42px #0006}.app-shell .coach-dock .icon-button{color:#d0c2de;background:#37313e}.app-shell .coach-dock :is(.privacy-copy,.dock-focus p,.details-eyebrow){color:#b9acc6}.app-shell .coach-dock .dock-focus{background:#302a37}.app-shell .coach-dock .dock-focus>span{color:#c5aed9}.app-shell .coach-dock .coach-journey{background:#242229;border-color:#494050}.app-shell .coach-dock .coach-journey li{color:#b0a2bd;border-color:#3f3649}.app-shell .coach-dock .coach-journey :is(li.active,li.listening){color:#e3d5f1;background:linear-gradient(90deg,#382c46,#29232f)}.app-shell .coach-dock .coach-journey li.complete{color:#bcd1bb}.app-shell .coach-dock .coach-journey li.needs-review{color:#dec2a6;background:#352d25}.app-shell .coach-dock .journey-index{border-color:#6a547c}.app-shell .coach-dock .complete .journey-index{background:#2f3b30;border-color:#637f62}.app-shell .coach-dock .coach-journey small{color:#c2a6dc}.app-shell .coach-dock .handoff-card{box-shadow:none;color:#e0d2ed;background:#332a3e;border-color:#645078}.app-shell .coach-dock :is(.handoff-time,.handoff-say,.handoff-say-alt,.handoff-orbit){color:#c6acdd}.app-shell .coach-dock .handoff-orbit{border-color:#806196}
