:root{--paper:#f6f4ee;--ink:#343a35;--muted:#73796f;--purple:#7361ad;--purple-light:#eee9f7;--line:#e3e3d9;--green:#5b7864;--card:#fffefa}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #927ac6}a{color:inherit;text-decoration:none}.shell{max-width:1200px;margin:auto;padding:0 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex}.brand{letter-spacing:-1.5px;align-items:center;font-size:31px;font-weight:700;display:flex}.brand-mark{width:35px;height:35px;color:var(--purple);letter-spacing:0;place-items:center;margin-right:9px;font-size:26px;display:grid}.brand-dot{color:var(--purple)}.prototype{letter-spacing:2px;color:var(--muted);font-size:10px}.prototype span{color:var(--purple);margin-left:9px;font-size:17px}.intro{padding:50px 0 36px}.eyebrow{letter-spacing:2.2px;font-weight:700;color:var(--green)!important;margin:0 0 19px!important;font-size:10px!important}h1{letter-spacing:-1.8px;margin:0;font:48px/1.13 Georgia,Times New Roman,serif}h1 em{color:var(--purple);font-weight:400}.intro>p:last-child{color:var(--muted);margin:19px 0 0;font-size:14px;line-height:1.8}.mobile-break{display:none}.workspace{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:35px;display:grid}.lesson-panel{padding:28px 4px 0 0}.section-number{color:var(--purple);font:italic 28px Georgia,serif}.section-number span{letter-spacing:1.4px;color:var(--muted);margin-left:10px;font:10px Arial,sans-serif}.lesson-panel h2{letter-spacing:-.6px;margin:20px 0 12px;font:26px Georgia,serif}.lesson-panel>p{color:var(--muted);max-width:280px;font-size:13px;line-height:1.8}.mode-switch{background:#ebece4;border-radius:11px;margin:26px 0;padding:4px;display:flex}.mode-switch button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:11px 6px;font-size:12px}.mode-switch button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 2px 4px #35402b0a}.selection-label{letter-spacing:1.6px;color:var(--muted);margin-bottom:12px;font-size:9px}.note-options{gap:7px;display:flex}.note-options button{border:1px solid var(--line);min-width:0;color:var(--ink);background:0 0;border-radius:12px;flex:1;padding:12px 0 9px;font:23px Georgia,serif}.note-options small{color:var(--muted);margin-top:5px;font:10px Arial,sans-serif;display:block}.note-options button[aria-pressed=true]{background:var(--purple-light);color:var(--purple);border-color:#c1b4dd}.gentle{cursor:pointer;align-items:flex-start;gap:10px;margin:27px 0 0;font-size:12px;line-height:1.6;display:flex}.gentle input{accent-color:var(--purple);width:17px;height:17px;margin:1px 0 0}.gentle small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.little-tip{border-top:1px solid var(--line);align-items:center;gap:15px;margin-top:30px;padding-top:18px;display:flex}.little-tip>span{color:var(--purple);font-size:32px}.little-tip p{color:var(--muted);font:italic 15px/1.6 Georgia,serif}.personal-best{color:var(--muted);justify-content:space-between;align-items:center;margin-top:20px;font-size:11px;display:flex}.personal-best strong{color:var(--ink);font-size:15px}.personal-best strong span{color:#b7934e;padding-left:5px;font-size:19px}.practice-card{background:var(--card);text-align:center;border:1px solid #e2dfd5;border-radius:24px;padding:25px 35px 23px;box-shadow:0 8px 35px #4c3b1f04}.card-top{color:var(--muted);justify-content:space-between;gap:10px;font-size:10px;display:flex}.mic-status{align-items:center;gap:7px;display:flex}.mic-status i{background:#a4aaa2;border-radius:50%;width:6px;height:6px}.mic-status.live i{background:#5b9272;box-shadow:0 0 0 4px #5b927212}.target-label{color:var(--muted);letter-spacing:2px;margin:30px 0 18px;font-size:9px}.tone-orbit{background:conic-gradient(var(--purple) var(--progress), #ede9f3 0);border-radius:50%;width:184px;height:184px;margin:auto;padding:5px}.tone-core{border:6px solid var(--card);background:#f8f5fc;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.solfege{color:var(--purple);margin-bottom:0;font-size:12px}.note-name{color:var(--purple);letter-spacing:-4px;font:76px/1.1 Georgia,serif}.note-name sub{letter-spacing:0;vertical-align:baseline;color:#9c90b7;margin-left:5px;font:22px Arial,sans-serif}.tone-caption{color:#91859f;margin-top:7px;font-size:9px}.staff{color:#c5c6bf;width:205px;height:90px;margin:5px 0 0}.staff text{fill:#7d8179;font-family:Georgia,serif}.feedback{justify-content:center;align-items:center;max-width:420px;min-height:46px;margin:0 auto;font-size:13px;line-height:1.5;display:flex}.feedback strong{font-weight:500}.intonation{max-width:285px;color:var(--muted);align-items:center;gap:11px;margin:12px auto 9px;font-size:10px;display:flex}.pitch-rail{background:#eae9e3;border-radius:10px;flex:1;height:6px;position:relative}.pitch-zone{background:#d6e1cf;border-radius:10px;width:33.6%;height:100%;position:absolute;left:33.2%}.pitch-rail i{background:var(--purple);border-radius:4px;width:4px;height:14px;transition:left .1s;display:block;position:absolute;top:-4px;transform:translate(-50%)}.hidden{visibility:hidden}.heard{color:var(--muted);justify-content:center;align-items:center;gap:8px;height:19px;font-size:10px;display:flex}.heard strong{color:var(--ink);font-size:12px}.actions{gap:10px;margin-top:26px;display:flex}.actions button{border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-size:12px;display:flex}.example-button{border:1px solid var(--line);color:var(--ink);background:0 0;flex:1}.example-button>span{font-size:24px;line-height:1}.primary-button{background:var(--purple);border:1px solid var(--purple);color:#fff;flex:1.3}.primary-button:hover{background:#655199}.primary-button>span{font-size:17px}.example-button:disabled{opacity:.55}.input-meter{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:18px 0 0;font-size:9px;display:flex}.input-meter>div{background:#edece7;border-radius:5px;width:50px;height:4px;overflow:hidden}.input-meter i{background:#739782;height:100%;transition:width .12s;display:block}.error,.notice{text-align:left;border-radius:8px;margin:15px 0 0;padding:12px;font-size:12px;line-height:1.6}.error{color:#954c3e;background:#fff0eb}.notice{color:#646c60;background:#f1f1e9}.how-it-works{grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0;display:grid}.how-it-works>div{align-items:flex-start;gap:12px;display:flex}.how-it-works>div>span{color:#b3b9a8;font:italic 23px/1.8 Georgia,serif}.how-it-works p{color:var(--muted);font-size:11px;line-height:1.8}.how-it-works strong{color:var(--ink);font-weight:500}.test-details{border-top:1px solid var(--line);color:var(--muted);padding:20px 0;font-size:12px;line-height:1.8}.test-details summary{cursor:pointer;width:fit-content}.test-details p{max-width:800px}.text-button{color:var(--purple);background:0 0;border:0;padding:8px 0;text-decoration:underline}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:15px;padding:25px 0 35px;font-size:11px;display:flex}footer>span:first-child{color:var(--ink);font-weight:700}.footer-note{color:var(--muted);margin-left:8px;font-weight:400}.is-done .tone-core{background:#edf4e8}.is-done .tone-orbit{background:#8da67c}.is-done .note-name,.is-done .solfege{color:#658455}@media (min-width:1100px){.workspace{grid-template-columns:340px minmax(0,1fr);gap:65px}.lesson-panel{padding-top:35px}.practice-card{padding-left:45px;padding-right:45px}}@media (max-width:760px){.shell{padding:0 22px}.topbar{height:76px}.brand{font-size:27px}.prototype{font-size:9px}.intro{padding:32px 0 28px}h1{letter-spacing:-1.4px;font-size:38px}.intro>p:last-child{margin-top:15px;font-size:12px}.eyebrow{margin-bottom:15px!important;font-size:9px!important}.mobile-break{display:block}.workspace{grid-template-columns:1fr;gap:20px}.lesson-panel{padding:0}.section-number,.lesson-panel h2,.lesson-panel>p,.little-tip,.personal-best{display:none}.mode-switch{margin:0 0 17px}.note-options button{padding:9px 0 8px}.gentle{margin:17px 0 0}.gentle small{margin-left:7px;font-size:10px;display:inline}.gentle input{flex-shrink:0}.practice-card{border-radius:20px;padding:20px 20px 19px}.target-label{margin-top:24px}.tone-orbit{width:164px;height:164px}.note-name{font-size:65px}.staff{height:80px}.actions{margin-top:21px}.feedback{min-height:43px;font-size:12px}.how-it-works{grid-template-columns:1fr;gap:0;margin:20px 0}.how-it-works p{margin:7px 0}.how-it-works>div>span{font-size:21px}.test-details{padding:17px 0;font-size:11px}footer{gap:12px;font-size:9px}.footer-note{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.mode-grid{grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 12px;display:grid}.mode-grid button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:10px;padding:13px 8px;font-size:12px}.mode-grid button[aria-pressed=true]{background:var(--purple-light);color:var(--purple);border-color:#c1b4dd}.mode-help{min-height:65px;color:var(--muted);font-size:12px;line-height:1.7}.control-label{color:var(--muted);margin:14px 0;font-size:11px;line-height:1.7;display:block}.control-label select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:9px;margin:6px 0;padding:11px;font:13px Arial,sans-serif;display:block}.control-label small{font-size:10px}.control-label input[type=range]{width:100%;accent-color:var(--purple);margin:12px 0;display:block}.all-notes{grid-template-columns:repeat(4,1fr);display:grid}.note-options sup{color:var(--muted);margin-left:2px;font:10px Arial,sans-serif}.sequence{flex-wrap:wrap}.sequence button{flex:1 0 16%;min-width:36px}.note-options .passed-note{background:#eaf1e5;border-color:#b9cbb0}.settings{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:16px;font-size:12px}.settings summary{cursor:pointer}.settings p{font-size:10px}.fingering{text-align:left;border-top:1px solid var(--line);color:var(--muted);margin-top:24px;padding-top:18px;font-size:11px}.fingering summary{cursor:pointer;color:var(--ink);font-size:12px}.hands{grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;display:grid}.hands strong{letter-spacing:1px;font-size:9px;font-weight:500}.finger-row{text-align:center;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:9px;display:grid}.finger-row .key{color:#887a9c;background:#f9f7fc;border:1px solid #c9c2d5;border-radius:50%;place-items:center;width:29px;height:29px;margin:auto;font-size:18px;display:grid}.finger-row .pressed{background:var(--purple-light);color:var(--purple)}.finger-row small{margin-top:7px;font-size:8px;display:block}.fingering p{margin-bottom:6px;font-size:10px;line-height:1.7}.fingering a,.source-link a{color:var(--purple);text-underline-offset:3px;text-decoration:underline}.pulse{justify-content:center;gap:12px;height:8px;margin:16px 0 -5px;display:flex}.pulse i{background:#e3dfeb;border-radius:50%;width:8px;height:8px}.pulse i.active{background:var(--purple);box-shadow:0 0 0 3px #eee9f7}.basics,.history{margin:36px 0}.basics h2,.history h2,.session-summary h2{letter-spacing:-.5px;margin:0 0 20px;font:26px Georgia,serif}.basics-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.basics article{border:1px solid var(--line);border-radius:14px;padding:21px}.basics article>span{color:var(--purple);font:italic 23px Georgia,serif}.basics h3{margin:15px 0 10px;font-size:13px;font-weight:500}.basics p,.history p,.session-summary p{color:var(--muted);font-size:12px;line-height:1.8}.source-link{margin-top:16px;font-size:10px!important}.session-summary{background:#eaf0e4;border-radius:16px;margin:28px 0;padding:24px}.session-summary h2{color:#56734c;margin-bottom:9px}.session-summary small{color:var(--muted);font-size:10px}.history ol{margin:15px 0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 0;font-size:12px;display:flex}.history small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.history b{color:var(--purple)}.empty-history{font-style:italic}@media (max-width:760px){.mode-grid{margin:0 0 13px}.lesson-panel>.mode-help{max-width:none;min-height:0;margin:0 0 18px;display:block}.settings{margin:16px 0 0}.settings .gentle small{margin:0;display:block}.hands{gap:12px}.finger-row small{font-size:7px}.finger-row .key{width:26px;height:26px}.basics-grid{grid-template-columns:1fr;gap:10px}.basics article{padding:17px}.basics h3{margin:0 0 0 12px;display:inline-block}.basics p{margin-bottom:0}.basics h2,.history h2,.session-summary h2{font-size:23px}}
