:root{--bg:#141917;--panel:#1c2320;--panel2:#202823;--line:#303a33;--text:#f0f2ec;--muted:#9ba99f;--accent:#c8e7a0;--accent-text:#1d321e;--sidebar:#101612;--score:#f4f3e9;--danger:#efb4a7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{transition:background .18s,color .18s,transform .18s,border-color .18s}a{color:inherit;text-decoration:none}button,.button{border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:11px 17px;font-weight:500;line-height:1.35;display:inline-flex}button:hover,.button:hover{background:#354237;border-color:#65755c}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.primary:hover,button.primary:hover{background:#ddf6bd;border-color:#ddf6bd;transform:translateY(-1px)}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid #4c5a4f;border-radius:6px;max-width:100%;padding:10px 12px}input[type=range]{accent-color:var(--accent);padding:0}input[type=checkbox]{accent-color:#90bb72;width:17px;height:17px}input[type=number]{max-width:140px}textarea{resize:vertical;width:100%;min-height:135px}select{cursor:pointer}label{color:var(--muted);flex-direction:column;gap:7px;font-size:13px;display:flex}label.check{color:var(--text);flex-direction:row;align-items:center;gap:8px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.3px;font-size:36px;font-weight:550;line-height:1.2}h2{letter-spacing:-.5px;font-size:23px;font-weight:500;line-height:1.35}h3{font-size:17px;font-weight:500}p{color:var(--muted)}small{color:var(--muted);font-size:11px}.app-shell{min-height:100vh}.sidebar{background:var(--sidebar);z-index:30;border-right:1px solid #29312b;flex-direction:column;width:244px;padding:32px 18px 15px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:-1.3px;align-items:center;gap:10px;padding:0 14px 33px;font-size:29px;font-weight:650;line-height:1;display:flex}.brand-mark{width:34px;height:38px;color:var(--accent);justify-content:center;align-items:center;display:flex}.brand-dot{color:var(--accent);margin-left:-9px}.workspace-label{letter-spacing:1.5px;color:#7e8c80;justify-content:space-between;padding:0 15px 14px;font-size:9px;display:flex}.workspace-label span{letter-spacing:0;border:1px solid #384239;border-radius:3px;padding:0 4px;font-size:9px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav a{color:#a1afa4;border-radius:6px;align-items:center;gap:13px;min-height:42px;padding:10px 14px;font-size:12px;display:flex}.sidebar nav a svg{color:#8c9c8e;flex-shrink:0}.sidebar nav a.active{color:#dcf1c6;background:#29372a}.sidebar nav a.active svg{color:var(--accent)}.sidebar nav a:hover{color:var(--text);background:#243026}.sidebar nav a b{color:#dfedc7;background:#3b4f38;border-radius:20px;margin-left:auto;padding:1px 6px;font-size:10px}.new-tag{color:#b5cd97;letter-spacing:.5px;background:#2b3a2b;border-radius:3px;padding:2px 4px;margin-left:auto!important;font-size:8px!important}.sidebar nav .nav-separator{margin-top:23px}.sidebar-bottom{align-items:center;gap:12px;margin-top:auto;padding:25px 9px 18px;display:flex}.mini-icon{width:35px;height:38px;color:var(--accent);background:#253027;border:1px solid #384837;border-radius:7px;place-items:center;display:grid}.sidebar-bottom strong{font-size:11px;font-weight:500;display:block}.sidebar-bottom small{margin-top:3px;font-size:9px;display:block}.local{color:#7e8f80;border-top:1px solid #29312b;align-items:center;gap:7px;padding:16px 12px 0;font-size:9px;display:flex}.local>span{background:#9ecf85;border-radius:50%;width:5px;height:5px}main{min-height:100vh;margin-left:244px}.topbar{border-bottom:1px solid #2b332d;justify-content:space-between;align-items:center;height:74px;padding:0 47px;font-size:11px;display:flex}.topbar>div{color:#819284;align-items:center;gap:14px;display:flex}.topbar strong{color:#d1dacf;font-weight:400}.topbar-right{color:#8c9d8f;align-items:center;gap:8px;font-size:10px;display:flex}.avatar{color:#d6e9bd;background:#344032;border:1px solid #4b5b43;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:16px;font-size:9px;display:grid}.page-content{max-width:1450px;margin:0 auto;padding:44px 47px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:1.6px;color:#a4b690;margin-bottom:12px;font-size:9px;font-weight:500;display:block}.page-heading p{color:#8f9c92;margin-top:12px;font-size:12px}.day-badge{white-space:nowrap;color:#c4d7ad;background:#212c22;border:1px solid #394a35;border-radius:20px;align-items:center;gap:7px;padding:7px 12px;font-size:10px;display:flex}.day-badge>span{background:var(--accent);border-radius:50%;width:5px;height:5px}.dashboard-top{grid-template-columns:minmax(0,3.25fr) minmax(190px,1fr);gap:18px;margin-bottom:38px;display:grid}.continue-panel{background:#242e25;border:1px solid #3b4b36;border-radius:11px;grid-template-columns:1.05fr 1fr;min-height:268px;display:grid;position:relative;overflow:hidden}.continue-copy{z-index:1;padding:30px 0 27px 28px;position:relative}.continue-copy h2{letter-spacing:-1px;max-width:260px;font-size:31px;line-height:1.15}.continue-copy p{color:#acb9a7;max-width:250px;margin:13px 0 22px;font-size:11px;line-height:1.8}.continue-copy .primary{padding:12px 17px;font-size:11px}.duration{color:#94a58b;align-items:center;gap:5px;margin-top:12px;font-size:8px;display:flex}.hero-score{flex-direction:column;justify-content:center;align-self:stretch;padding:24px 15px 0 8px;display:flex;position:relative;overflow:hidden}.score-caption{text-align:center;letter-spacing:1.4px;color:#82967a;margin:0 0 -10px;font-size:7px}.hero-score .score{filter:invert(.85)sepia(.35);background:0 0;border:none;min-height:0;margin:0;padding:0;overflow:visible}.hero-score .score>div{width:360px;margin-left:-25px}.hero-notes{color:#d4dfc4;justify-content:space-evenly;margin-top:-4px;margin-bottom:14px;padding:0 20px;font-family:Georgia,serif;font-size:13px;display:flex}.hero-piano{opacity:.8;pointer-events:none;filter:drop-shadow(0 12px 14px #0006);margin-bottom:-38px;margin-left:20px;margin-right:-55px;transform:rotate(-8deg)}.hero-piano .piano{border-radius:4px;min-width:240px!important;height:112px!important}.hero-piano .white-key{padding:0}.hero-piano .white-key span{display:none}.hero-piano .black-key{height:59%!important;top:0!important}.hero-piano .black-key span{display:none}.daily-panel{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:11px;flex-direction:column;align-items:center;padding:23px 15px 16px;display:flex}.small-label{letter-spacing:1.2px;color:#b0bfa4;align-items:center;gap:8px;font-size:8px;display:flex}.small-label svg{color:#b6d698}.progress-ring{--progress:0deg;background:conic-gradient(var(--accent) var(--progress), #354031 0);border-radius:50%;width:126px;height:126px;margin:22px 0 17px;padding:5px;transform:rotate(-20deg)}.progress-ring>div{background:var(--panel);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:rotate(20deg)}.progress-ring strong{letter-spacing:-1px;font-size:32px;font-weight:400;line-height:1.3}.progress-ring strong span{color:#84927f;font-size:17px}.progress-ring small{font-size:8px}.daily-panel p{color:#c5cebd;font-size:9px}.daily-caption{color:#788b77;margin-top:5px;font-size:8px}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin:28px 0 20px;display:flex}.section-heading h2{font-size:20px}.section-heading p{margin-top:6px;font-size:11px}.subtle-label{letter-spacing:1.2px;color:#7f9180;font-size:8px}.section-heading a{color:#becfaf;align-items:center;gap:7px;font-size:10px;display:flex}.week-plan{border-top:1px solid var(--line)}.day-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;min-height:86px;padding:14px 15px 14px 0;display:flex}.day-row.current{background:linear-gradient(90deg,#25302288,#0000 90%);border-radius:6px 6px 0 0;margin-left:-13px;padding-left:13px}.day-number{color:#82917f;background:0 0;border:1px solid #3b483b;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;padding:0;font-size:11px;display:grid}.current .day-number{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.day-number.complete{color:#d9efbd;background:#314a30;border-color:#63825a}.day-description{flex:1}.day-description small{letter-spacing:1px;align-items:center;gap:12px;font-size:7px;line-height:1.5;display:flex}.day-description small span{color:var(--accent);letter-spacing:.8px;font-size:6px}.day-description a{margin-top:2px;font-size:13px;font-weight:500;display:block}.day-description p{color:#81907f;margin-top:3px;font-size:10px}.day-ear{color:#8d9e88;align-items:center;gap:8px;margin-right:20px;font-size:9px;display:flex}.row-arrow{color:#9eb18e;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.row-arrow:hover{background:#354832}.bottom-learning{grid-template-columns:1.25fr 1fr;gap:40px;margin-top:32px;display:grid}.bottom-learning .section-heading{margin:0 0 20px}.topic-progress{align-items:center;gap:15px;margin:17px 0;font-size:11px;display:flex}.topic-progress>span{flex:1}.topic-progress>div{background:#303e30;border-radius:5px;width:110px;height:4px;overflow:hidden}.topic-progress i{background:var(--accent);height:100%;display:block}.topic-progress small{text-align:right;width:28px;font-size:9px}.ear-invite{border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:7px 0 10px 34px;display:flex}.ear-invite>svg{color:var(--accent);margin-bottom:16px}.ear-invite .eyebrow{margin-bottom:8px;font-size:8px}.ear-invite h2{font-size:26px}.ear-invite p{max-width:300px;margin:9px 0 18px;font-size:11px;line-height:1.8}.ear-invite small{margin-top:16px;font-size:8px}.text-link{color:var(--accent);align-items:center;gap:10px;font-size:11px;display:flex}.study-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:15px;margin-top:36px;padding:22px 0;display:flex}.study-note>svg{color:var(--accent);flex-shrink:0}.bulb{color:var(--accent);font-size:22px}.study-note p{flex:1;font-size:10px;line-height:1.8}.study-note strong{color:#c9d4be;font-weight:400}.study-note a{color:#b3c7a0;white-space:nowrap;align-items:center;gap:8px;font-size:9px;display:flex}footer{color:#697e6c;border-top:1px solid #273129;justify-content:space-between;align-items:center;gap:15px;margin-top:45px;padding:23px 0;font-size:8px;display:flex}footer>span:first-child{letter-spacing:1px;align-items:center;gap:7px;display:flex}footer p{color:#697e6c;font-size:9px}.tabs{flex-wrap:wrap;gap:6px;margin:0 0 25px;display:flex}.tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;padding:10px 14px;font-size:11px}.tabs button.active{color:var(--accent);background:#273626;border-color:#667e51}.workspace,.exercise{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:22px 0;padding:30px}.workspace>p,.studio>p{margin:15px 0;font-size:13px;line-height:1.8}.workspace .section-heading{margin-top:0}.notice{color:#b7c7a6;background:#253024;border:1px solid #4c5944;border-radius:7px;align-items:center;gap:10px;margin-bottom:24px;padding:14px 18px;font-size:11px;display:flex}.notice svg{flex-shrink:0}.score{background:var(--score);color:#263629;border:1px solid #c9cdbb;border-radius:8px;min-height:150px;margin:22px 0;padding:0 12px;position:relative;overflow:auto}.score>div{min-width:500px}.score svg{display:block}.score.editable{cursor:crosshair}.score .hidden-score{background:#e8ebdf;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:150px;display:flex}.hidden-score span{color:#3f4d3b;font-family:Georgia,serif;font-size:21px}.hidden-score small{color:#70816a}.piano-scroll{max-width:100%;margin:15px 0 10px;padding:10px 0;overflow:auto}.piano{isolation:isolate;background:#111b13;border:1px solid #344d34;border-radius:6px;height:172px;padding:3px;display:flex;position:relative;overflow:hidden}.white-key{color:#3e493b;z-index:1;background:linear-gradient(#e1e5d9,#f9faef);border:1px solid #9da394;border-radius:0 0 5px 5px;flex:1;align-items:flex-end;height:100%;padding:0 0 15px;font-size:11px;display:flex;position:relative;box-shadow:inset 0 -5px #c3c8b6}.white-key:hover{background:#dcebbd;border-color:#a3be80}.white-key small{color:#9aa48b;font-size:8px;display:block}.white-key.pressed{color:#233a1e;background:#badb90}.black-key{z-index:2;color:#88977f;background:linear-gradient(90deg,#17201b,#29322c 65%,#121c16);border:1px solid #142016;border-radius:0 0 4px 4px;align-items:flex-end;height:62%;padding:0 1px 9px;font-size:8px;position:absolute;top:3px;box-shadow:inset 0 -5px #0d140e,0 3px 4px #0005}.black-key.pressed{color:#fff;background:#688950}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:20px 0;display:flex}.toolbar.compact{gap:7px}.toolbar button{padding:9px 12px;font-size:11px}.toolbar label{font-size:10px}.toolbar .check{padding:10px 0}.toolbar select{min-width:100px;font-size:11px}.note-strip{flex-wrap:wrap;gap:6px;margin:18px 0;display:flex}.note-strip button{flex-direction:column;min-width:52px;padding:9px 12px;display:flex}.note-strip small{font-size:8px}.selected,button.selected{color:#e1f5c7;background:#30442b;border-color:#a1c67b}.actions{flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0;display:flex}.actions button,.actions .button{font-size:12px}.two-col{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:30px;margin:28px 0;padding-top:25px;display:grid}.two-col h3{margin-bottom:12px}.two-col p{margin:12px 0;font-size:12px}.exercise-meta{color:#9eb38d;justify-content:space-between;gap:20px;margin-bottom:18px;font-size:10px;display:flex}.exercise-meta span{align-items:center;gap:7px;display:flex}.exercise h2{letter-spacing:-.7px;max-width:700px;margin-bottom:12px;font-size:27px}.exercise .muted{font-size:11px}.choices{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:28px;display:grid}.choices button{text-align:left;justify-content:flex-start;padding:18px 12px}.choice-notes{gap:10px;margin-top:25px;margin-bottom:12px;display:flex}.choice-notes button{width:62px;height:65px;font-family:Georgia,serif;font-size:22px}.answer-label{margin:25px 0}.answer-label input{max-width:520px;font-size:16px}.exercise-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:30px;padding-top:23px;display:flex}.exercise-footer span{color:#8a9d80;font-size:9px}.feedback,.hint{background:#253323;border:1px solid #465d39;border-radius:7px;margin-top:22px;padding:20px}.feedback p,.hint p{color:#bdcbb3;margin:8px 0 12px;font-size:12px;line-height:1.8}.feedback.incorrect{background:#322b25;border-color:#715749}.feedback.incorrect strong{color:#f0d1af}.feedback.correct strong{color:var(--accent)}.feedback button,.hint button{font-size:11px}.feedback small{margin-top:12px;display:block}.hint{background:#252c23}.audio-stage{background:#17211a;border:1px solid #303e2e;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;margin:25px 0;display:flex}.waveform{opacity:.5;align-items:center;gap:4px;height:70px;display:flex}.waveform i{background:#a8c882;border-radius:3px;width:4px;transition:height .3s}.audio-stage.is-playing .waveform{opacity:1}.audio-stage.is-playing i{animation:.7s infinite alternate wave}.audio-stage>span{color:#9aae8f;margin-top:15px;font-size:11px}@keyframes wave{to{transform:scaleY(.3)}}.lesson-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.lesson-header a{color:#a4b794;font-size:10px}.lesson h2{margin:14px 0;font-size:32px}.lesson-steps{gap:9px;margin:24px 0;display:flex}.lesson-steps button{background:0 0;border-radius:50%;width:30px;height:30px;padding:0;font-size:10px}.lesson-steps button.active{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.lesson .lesson-copy{color:#d7e0cf;max-width:800px;min-height:100px;font-size:19px;line-height:1.7}.lesson-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:20px;display:flex}.source-tasks{margin:35px 0}.source-tasks>p{max-width:700px;margin:12px 0 20px;font-size:12px}.source-tasks>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:14px 0;display:flex}.source-tasks a{align-items:center;gap:10px;font-size:12px;display:flex}.source-tasks .button{margin-top:20px}.ear-mode-list{border-top:1px solid var(--line);flex-direction:column;margin:24px 0;display:flex}.ear-mode-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;border-radius:0;justify-content:flex-start;gap:24px;padding:22px 10px}.ear-mode-list>button:hover{background:#273326;transform:translate(3px)}.mode-num{color:#8d9f80;letter-spacing:1px;font-size:11px}.ear-mode-list>button>div{flex:1}.ear-mode-list strong{font-size:16px;font-weight:450}.ear-mode-list p{margin-top:6px;font-size:11px}.ear-mode-list svg{color:#9ab184;flex-shrink:0}.mode-score{color:#b8d39b;text-align:right;font-size:14px}.mode-score small{margin-top:6px;font-size:9px;display:block}.ear-intro>p{max-width:800px;font-size:16px;line-height:1.8}.circle-layout{grid-template-columns:340px 1fr;align-items:center;gap:35px;margin:25px 0;display:grid}.circle{background:radial-gradient(circle,#0000 47%,#34452e55 48% 49%,#0000 50%);border:1px solid #45573d;border-radius:50%;width:330px;height:330px;position:relative}.circle>button{background:var(--panel);border-radius:50%;flex-direction:column;gap:0;width:44px;height:44px;padding:2px;display:flex;position:absolute;transform:translate(-50%,-50%)}.circle>button strong{font-size:13px;font-weight:500}.circle>button small{font-size:8px}.circle>button.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.circle>button.selected small{color:#52633f}.circle-center{text-align:center;font-family:Georgia,serif;font-size:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.circle-center small{white-space:nowrap;font-family:Arial,sans-serif;font-size:9px;display:block}.circle-layout p{margin:13px 0}.circle-layout .piano{height:115px}.circle-layout .piano-scroll{margin-top:20px}.section-title{margin-top:35px}.tap-workspace{margin:25px 0}.tap-workspace>p{margin:15px 0;font-size:12px}.tap{-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:190px;height:115px;margin:20px 0;font-size:30px;display:flex}.tap small{font-size:10px}.tap.recording{border-color:var(--accent);color:var(--accent);background:#30432a;box-shadow:0 0 0 4px #b3d58a15}.tap:active{background:#536c3e;transform:scale(.96)}.tap-results{flex-direction:column;margin-top:20px;display:flex}.tap-results>div{border-bottom:1px solid #46533a;align-items:center;gap:20px;padding:8px 0;display:flex}.tap-results>div>span{min-width:130px;font-size:11px}.tap-results strong{font-size:11px;font-weight:400}.tap-results small{margin:0}.barline-editor{flex-wrap:wrap;align-items:center;gap:0;margin:20px 0;display:flex}.barline-editor>span{align-items:center;gap:3px;display:flex}.barline-editor span span{padding:5px;font-size:11px}.barline-editor button{background:0 0;border-style:dashed;padding:8px 4px}.barline-editor button.selected{background:#536d39}.exam-start{text-align:center;flex-direction:column;align-items:center;gap:24px;padding:55px 35px;display:flex}.exam-start>svg{color:var(--accent)}.exam-start p{max-width:600px;margin:0}.exam-progress{color:#bbceaa;align-items:center;gap:18px;margin-top:35px;font-size:12px;display:flex}.exam-progress>div{background:#34472e;border-radius:5px;flex:1;height:5px;overflow:hidden}.exam-progress i{background:var(--accent);height:100%;display:block}.exam-progress>span:last-child{align-items:center;gap:7px;display:flex}.exam-result{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:15px 0;display:flex}.exam-result small{max-width:800px}.material-list{margin:25px 0}.material-list>div{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:18px 0;display:flex}.file-type{color:#acc695;background:#243121;border:1px solid #4b5c42;border-radius:6px;flex-shrink:0;place-items:center;width:45px;height:46px;font-size:9px;display:grid}.material-list>div>div{flex:1;min-width:0}.material-list strong{overflow-wrap:anywhere;font-size:12px;font-weight:400}.material-list small{margin-top:5px;font-size:10px;display:block}.material-list button,.material-list .button{font-size:10px}.pdf-preview{background:#ededdf;border:1px solid #526249;border-radius:7px;width:100%;height:780px;margin:20px 0}.settings-panel{max-width:800px}.settings-panel>label{max-width:500px;margin:24px 0}.settings-panel label strong{color:var(--text);font-weight:400}.settings-panel input[type=range]{width:100%}.settings-panel>p{font-size:12px}.divider{border-top:1px solid var(--line);margin:32px 0}.empty{text-align:center;padding:60px 25px}.empty svg{color:var(--accent);margin-bottom:20px}.empty p{max-width:500px;margin:15px auto 30px}.mobile-toggle{display:none}.muted{color:var(--muted)}[data-theme=light]{--bg:#f0f0e8;--panel:#fafbf4;--panel2:#e9eddf;--line:#d0d9c4;--text:#243126;--muted:#65765f;--sidebar:#e8ecdf;--accent:#c8e7a0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .sidebar nav a{color:#536749}[data-theme=light] .topbar strong{color:#3b5431}[data-theme=light] .continue-panel{background:#dce7cc}[data-theme=light] .continue-copy p{color:#5c714d}[data-theme=light] .continue-copy h2{color:#283c20}[data-theme=light] .lesson-copy{color:#3b5032}[data-theme=light] .audio-stage{background:#e3ead8}[data-theme=light] .feedback p,[data-theme=light] .hint p{color:#d6e5cc}@media (min-width:1500px){.page-content{padding-top:52px}.dashboard-top{grid-template-columns:3fr 1fr}.continue-panel{min-height:310px}.continue-copy{padding:37px}.continue-copy h2{max-width:280px;font-size:36px}.continue-copy p{max-width:280px;font-size:12px}.hero-score .score>div{width:450px}.daily-panel{padding-top:28px}.progress-ring{margin-top:30px}.day-row{min-height:92px}}@media (max-width:1150px){.sidebar{width:215px;padding-left:12px;padding-right:12px}.sidebar nav a{gap:10px;font-size:11px}.brand{font-size:27px}main{margin-left:215px}.page-content{padding:32px 28px 0}.topbar{padding:0 28px}.dashboard-top{grid-template-columns:minmax(0,1fr) 175px;gap:14px}.continue-copy{padding-left:22px}.continue-copy h2{font-size:27px}.continue-copy p{max-width:210px;font-size:10px}.hero-score{padding-right:0}.hero-score .score>div{width:300px;margin-left:-40px}.hero-notes{font-size:11px}.hero-piano{margin-left:10px}.daily-panel{padding-left:10px;padding-right:10px}.daily-panel .small-label{font-size:7px}.progress-ring{width:112px;height:112px}.day-ear{margin-right:5px}.bottom-learning{gap:25px}.ear-invite{padding-left:25px}.topic-progress>div{width:75px}.workspace,.exercise{padding:24px}.circle-layout{grid-template-columns:290px 1fr;gap:20px}.circle{width:285px;height:285px}}@media (max-width:900px){.sidebar{width:190px;padding-left:8px;padding-right:8px}.brand{padding-left:10px;font-size:25px}.workspace-label{font-size:8px}.sidebar nav a{padding-left:11px;font-size:10px}.sidebar nav a svg{width:16px}.new-tag{display:none}.sidebar-bottom{gap:7px;padding-left:5px}.sidebar-bottom strong{font-size:10px}.sidebar-bottom small{font-size:8px}.local{padding-left:7px;font-size:8px}main{margin-left:190px}.page-content{padding:30px 24px 0}.topbar{padding:0 24px}h1{font-size:30px}.eyebrow{font-size:8px}.dashboard-top{grid-template-columns:minmax(0,1fr)}.daily-panel{display:none}.continue-panel{grid-template-columns:1.2fr 1fr;min-height:255px}.bottom-learning{grid-template-columns:1fr}.ear-invite{border-left:0;border-top:1px solid var(--line);grid-template-columns:35px 1fr;gap:4px 15px;padding:25px 0;display:grid}.ear-invite>svg{grid-row:1/4}.ear-invite .eyebrow,.ear-invite h2,.ear-invite p,.ear-invite a,.ear-invite small{grid-column:2}.ear-invite p{max-width:400px;margin-bottom:10px}.study-note{flex-wrap:wrap}.study-note p{min-width:250px}.study-note a{margin-left:35px}.two-col{grid-template-columns:1fr}.circle-layout{grid-template-columns:1fr;justify-items:center}.circle-layout>div:last-child{width:100%}.lesson .lesson-copy{font-size:17px}.exercise h2{font-size:23px}.source-tasks>div{flex-direction:column;gap:5px}.lesson-bottom{flex-wrap:wrap}.day-ear span{display:none}.day-ear{margin-right:2px}.day-row{gap:15px}}@media (max-width:650px){.sidebar{width:244px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar nav a{font-size:12px}.sidebar nav a svg{width:18px}.brand{font-size:29px}.sidebar-bottom strong{font-size:12px}.mobile-toggle{z-index:40;background:var(--panel);width:36px;height:36px;padding:6px;display:flex;position:fixed;top:17px;left:13px}main{margin-left:0}.topbar{height:70px;padding:0 20px 0 63px}.topbar>div{gap:7px;font-size:10px}.topbar-right{gap:0;font-size:0}.topbar-right>svg{display:none}.avatar{width:26px;height:26px;margin-left:6px;font-size:8px}.page-content{padding:27px 20px 0}.page-heading{align-items:flex-start;gap:12px;margin-bottom:24px}.page-heading .eyebrow{letter-spacing:1.1px;font-size:6px}.page-heading h1{font-size:27px}.page-heading p{max-width:260px;margin-top:10px;font-size:11px;line-height:1.7}.day-badge{margin-top:20px;padding:6px 9px;font-size:8px}.continue-panel{grid-template-columns:1fr;min-height:0}.continue-copy{padding:25px}.continue-copy h2{max-width:100%;font-size:30px}.continue-copy p{max-width:290px;font-size:11px}.hero-score{display:none}.dashboard-top{margin-bottom:25px}.section-heading{align-items:flex-start}.section-heading h2{font-size:19px}.section-heading p{max-width:260px;font-size:10px}.subtle-label{white-space:nowrap;margin-top:7px;font-size:6px}.day-row{gap:12px;min-height:92px;padding-right:0}.day-description a{font-size:12px}.day-description p{max-width:200px;font-size:9px}.day-number{width:31px;height:31px;font-size:10px}.day-ear{display:none}.day-description small{font-size:7px}.topic-progress>div{width:110px}.topic-progress{font-size:11px}.study-note p{min-width:0}.study-note a{margin-left:35px}footer{flex-wrap:wrap;font-size:7px}footer>span:last-child{display:none}.workspace,.exercise{border-radius:8px;margin:20px 0;padding:20px 16px}.exercise h2{font-size:23px}.exercise-meta{gap:8px;font-size:8px}.exercise-meta>span{max-width:50%}.exercise-footer{flex-direction:column;align-items:flex-start}.actions{gap:7px}.actions button{padding:10px 12px;font-size:10px}.tabs{gap:5px}.tabs button{padding:9px 11px;font-size:10px}.score{min-height:130px;padding:0}.score>div{min-width:400px}.notice{padding:12px;font-size:10px}.choice-notes{gap:6px}.choice-notes button{width:44px;height:54px;padding:4px;font-size:20px}.choices{grid-template-columns:1fr 1fr}.choices button{padding:16px 10px;font-size:12px}.lesson h2{font-size:26px}.lesson .lesson-copy{font-size:16px}.lesson-header{align-items:flex-start}.lesson-header a{font-size:8px}.ear-mode-list>button{gap:14px;padding:20px 0}.ear-mode-list strong{font-size:13px}.ear-mode-list p{font-size:10px}.mode-num{font-size:9px}.mode-score{font-size:11px}.mode-score small{font-size:8px}.ear-mode-list svg{width:16px}.ear-intro>p{font-size:14px}.material-list>div{gap:12px}.material-list strong{font-size:11px}.material-list small{font-size:8px}.material-list button,.material-list .button{padding:9px;font-size:9px}.material-list .file-type{width:35px;height:40px;font-size:8px}.pdf-preview{height:530px}.two-col{gap:20px}.toolbar{gap:9px}.toolbar label{max-width:48%}.toolbar select{font-size:10px}.toolbar.compact button{padding:8px 10px;font-size:10px}.tap-results>div{gap:10px}.tap-results>div>span{min-width:110px}.circle{width:285px;height:285px}.lesson-bottom button{font-size:11px}.lesson-bottom small{font-size:9px}}@media (prefers-reduced-motion:no-preference){.page-heading{animation:.35s ease-out enter}.dashboard-top,.workspace,.exercise{animation:.45s ease-out enter}.day-row{transition:background .2s}.day-row:hover{background:#25302366}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.score .hidden-score{text-align:center;min-width:0;padding:20px}.hidden-score span{white-space:normal}.score svg [role=button]:focus{stroke:#548f37;stroke-width:2px;outline:none}.timing-timeline{padding:15px 0}.timing-timeline svg{width:100%;max-height:150px;overflow:visible}.timing-timeline line{stroke:#8ca574;stroke-width:1.5px}.timing-timeline text{fill:#b2c69c;font-size:11px}.timing-timeline .hit{fill:#c8e7a0}.timing-timeline .miss{fill:#efb4a7}.timing-timeline .connector{stroke:#617453;stroke-dasharray:3}.mic-status{color:#edbaac;align-items:center;gap:8px;margin:15px 0;font-size:11px;display:flex}.mic-status>span{background:#ef9f8f;border-radius:50%;width:8px;height:8px}.mic-status button{margin-left:10px;padding:7px;font-size:10px}.beat-dots{justify-content:center;gap:12px;margin:20px 0;display:flex}.beat-dots span{color:#9bb287;border:1px solid #516647;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.beat-dots span.active{background:var(--accent);color:#24361d;box-shadow:0 0 0 5px #c8e7a020}.reading-score-wrap{background:var(--score);border:1px solid #c9cdbb;border-radius:8px;min-width:0;margin:24px 0;overflow:auto}.reading-score{min-width:360px}.reading-score svg{display:block}.reading-meter{color:var(--muted);white-space:nowrap;font-size:11px}.rhythm-reader .reading-hint{margin:8px 0;font-size:11px}.reading-options label select{max-width:290px}.reading-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:10px 22px;padding:14px 0;font-size:10px;display:flex}.reading-controls{background:var(--panel2);border:1px solid var(--line);z-index:15;border-radius:8px;padding:15px 18px}.reading-controls.is-running{position:sticky;bottom:14px;box-shadow:0 8px 35px #0006}.reading-status{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.reading-status small{white-space:nowrap}.reading-controls .actions{margin:14px 0 0}.reading-tap{color:#e2f3cf;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#32462a;border-color:#829f67;min-width:130px}.reading-tap small{font-size:8px}.reading-tap:active:not(:disabled){background:#5a7741;transform:scale(.97)}.reading-input{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.reading-input>small{flex-basis:100%;font-size:10px}.reading-input .mic-status{margin:0}.reading-calibration{font-size:10px!important}.reading-source{margin-top:22px;display:block}.rhythm-reader details{margin-top:20px}.rhythm-reader summary{cursor:pointer;font-size:12px}.rhythm-reader .tap-results>div>span{min-width:170px}.settings-panel .sound-description{max-width:600px;font-size:12px}.settings-panel .sound-status{margin:12px 0;font-size:11px}.settings-panel>small a{text-underline-offset:3px;text-decoration:underline}[data-theme=light] .reading-controls{box-shadow:0 8px 25px #26322220}@media (max-width:650px){.rhythm-reader .section-heading{flex-wrap:wrap}.reading-status{flex-direction:column;align-items:flex-start;gap:5px;font-size:12px}.reading-controls{padding:12px}.reading-controls .actions{gap:7px}.reading-controls .actions button{padding:10px 9px;font-size:9px}.reading-controls.is-running{bottom:8px}.reading-tap{flex:1;min-width:100px}.reading-options label{width:100%;max-width:100%}.reading-options label.check{width:auto}.reading-legend{gap:8px;font-size:9px}.rhythm-reader .tap-results>div>span{min-width:140px}.reading-input button{font-size:11px}}.floating-piano{right:max(22px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:45;pointer-events:none;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed}.floating-piano>*{pointer-events:auto}.piano-launcher{background:var(--accent);width:54px;height:54px;color:var(--accent-text);border:1px solid #d6edb4;border-radius:17px;padding:0;box-shadow:0 5px 25px #0005}.piano-launcher:hover{background:#d9efbb;transform:translateY(-2px)}.piano-launcher.is-open{background:var(--panel2);color:var(--accent);border-color:#71865d}.floating-piano-panel{background:var(--panel);border:1px solid #57674b;border-radius:12px;width:min(600px,100vw - 44px);max-height:calc(100dvh - 110px);padding:16px 18px 13px;animation:.18s ease-out enter;overflow:auto;box-shadow:0 14px 65px #0008}.floating-piano-panel header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.floating-piano-panel header>div{align-items:center;gap:10px;display:flex}.floating-piano-panel header svg{color:var(--accent)}.floating-piano-panel header strong{font-size:14px;font-weight:500}.floating-piano-panel header span{color:var(--muted);font-size:10px}.piano-close{background:0 0;border:0;width:30px;height:30px;padding:5px}.floating-piano-tools{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.piano-range{align-items:center;gap:9px;display:flex}.piano-range button{width:28px;height:28px;padding:5px}.piano-range span{text-align:center;min-width:60px;font-size:11px}.floating-piano-tools label{font-size:10px}.piano-silence{padding:7px 9px;font-size:10px}.floating-piano-keys{overflow:auto}.floating-piano-keys .piano{height:136px;min-width:0!important}.floating-piano-keys .white-key{padding-bottom:9px;font-size:10px}.floating-piano-keys .black-key{font-size:7px}.floating-piano-panel>p{margin-top:10px;font-size:9px}.floating-piano-panel [role=alert]{color:var(--danger);margin-top:10px;font-size:11px}[data-theme=light] .floating-piano-panel header svg{color:#4b713a}[data-theme=light] .piano-launcher.is-open{color:#345828}@media (max-width:650px){.floating-piano{right:12px;bottom:max(12px, env(safe-area-inset-bottom));gap:10px}.piano-launcher{border-radius:15px;width:48px;height:48px}.floating-piano-panel{width:calc(100vw - 24px);padding:13px 12px 12px}.floating-piano-panel header span{display:none}.floating-piano-tools{gap:7px}.piano-range{gap:5px}.piano-range span{min-width:50px;font-size:10px}.piano-silence span{display:none}.floating-piano-keys .piano{height:118px}.floating-piano-keys .white-key{font-size:9px}.floating-piano-panel>p{font-size:8px}}.exam-date-setting{border-bottom:1px solid var(--line);margin-bottom:28px;padding:24px 0}.exam-date-setting>p{max-width:600px;margin:10px 0;font-size:12px}.exam-date-setting>label{max-width:300px;margin:20px 0}.exam-date-setting input[type=date]{min-width:240px}.plan-calendar-caption{max-width:800px;margin:16px 0 24px;font-size:11px}.plan-tasks{margin-top:9px;font-size:10px}.plan-tasks summary{cursor:pointer;color:#b6cda1}.plan-tasks[open] summary{margin-bottom:7px}.plan-tasks a{justify-content:space-between;align-items:center;gap:12px;max-width:560px;padding:5px 0;display:flex;font-size:11px!important;font-weight:400!important}.plan-tasks a small{white-space:nowrap;font-size:9px}.practice-options{flex-wrap:wrap;align-items:flex-end;gap:15px;margin:20px 0;display:flex}.practice-options p{flex-basis:100%;font-size:11px}.difficulty-picker{max-width:260px;margin:25px 0}.learning-guide{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:22px 0}.learning-guide.compact{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:22px}.guide-heading{align-items:center;gap:10px;display:flex}.guide-heading svg{color:var(--accent);flex-shrink:0}.guide-heading h3{letter-spacing:-.3px;font-size:19px}.learning-guide .guide-summary{color:var(--text);max-width:850px;margin:14px 0;font-size:15px;line-height:1.8}.learning-guide ol{max-width:880px;margin:18px 0;padding-left:23px}.learning-guide li{color:var(--muted);padding:6px 0 6px 7px;font-size:13px;line-height:1.8}.learning-guide details{margin:16px 0;font-size:12px}.learning-guide summary{cursor:pointer;color:var(--accent)}.learning-guide details p{max-width:800px;margin:12px 0}.guide-examples{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.guide-examples button{padding:10px 13px;font-size:11px}.guide-pitfall{max-width:850px;font-size:11px;line-height:1.8}.guide-pitfall strong{color:var(--text);font-weight:500}.teacher-source{border-bottom:1px solid var(--line);color:var(--muted);margin:12px 0 25px;padding:14px 0;font-size:10px}.teacher-source p{margin-bottom:12px;font-size:11px}.teacher-source a{text-underline-offset:3px;text-decoration:underline}.teacher-trainer .section-heading{align-items:flex-start}.teacher-trainer .section-heading button{white-space:nowrap;font-size:10px}.teacher-answer-grid{grid-template-columns:1fr 1fr;gap:8px;margin:25px 0;display:grid}.teacher-answer-grid button{text-align:center;flex-direction:column;gap:4px;min-height:70px;padding:12px;display:flex}.teacher-answer-grid strong{font-size:14px;font-weight:500}.teacher-answer-grid span{color:var(--muted);font-size:10px}.teacher-answer-grid button:first-child:last-child{grid-column:1/-1}.teacher-answer-grid .answer-correct{opacity:1;color:#e5f4cf;background:#304b2d;border-color:#8fb870}.teacher-answer-grid .answer-wrong{opacity:1;color:#f5d5c5;background:#4a3028;border-color:#b57f65}.teacher-customize{border:1px solid var(--line);background:var(--bg);border-radius:8px;margin:20px 0;padding:20px}.teacher-selection{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.teacher-selection label{font-size:11px}.teacher-selection small{font-size:9px}.teacher-customize>.check{margin:18px 0}.teacher-customize .toolbar{align-items:flex-start}.teacher-customize .toolbar label{font-size:10px}.teacher-customize select{max-width:280px;font-size:11px}.teacher-intro .learning-guide{border-top:none;margin-top:0}.teacher-trainer .audio-stage{min-height:170px}.teacher-trainer .feedback .score{max-width:900px}.teacher-trainer .learning-guide.compact{margin-top:25px}[data-theme=light] .learning-guide summary,[data-theme=light] .plan-tasks summary{color:#365d28}@media (max-width:650px){.learning-guide .guide-summary{font-size:14px}.guide-heading h3{font-size:17px}.learning-guide li{padding-left:4px;font-size:12px}.learning-guide.compact{padding:15px}.guide-examples{gap:7px}.guide-examples button{font-size:10px}.teacher-selection{grid-template-columns:1fr}.teacher-trainer .section-heading{flex-wrap:wrap}.teacher-answer-grid button{min-height:64px;padding:10px}.teacher-answer-grid strong{font-size:12px}.teacher-answer-grid span{font-size:9px}.teacher-customize{padding:15px}.plan-tasks a{font-size:10px!important}.day-row:has(.plan-tasks[open]){align-items:flex-start;padding-top:20px;padding-bottom:20px}.plan-calendar-caption{font-size:10px}.exam-date-setting input[type=date]{width:100%;min-width:0}}.auth-page{background:var(--bg,#141a17);min-height:100svh;color:var(--text,#ebeee7)}.auth-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:30px 5vw;display:flex}.auth-brand{letter-spacing:-1.5px;color:inherit;align-items:center;gap:12px;font-size:30px;font-weight:800;text-decoration:none;display:flex}.auth-brand svg,.auth-brand>span{color:#cfe5a8}.auth-main{grid-template-columns:1.4fr 1fr;align-items:center;gap:9vw;max-width:1480px;margin:auto;padding:9vh 7vw 6vh;display:grid}.auth-story h1{letter-spacing:-.055em;margin:24px 0;font-size:clamp(44px,5.4vw,84px);font-weight:650;line-height:1.08}.auth-story h1 em{color:#cfe5a8;font-style:normal}.auth-story>p{color:#adb7ad;max-width:450px;font-size:17px;line-height:1.8}.auth-score{height:150px;margin:32px 0;position:relative;overflow:hidden}.score-lines{background:repeating-linear-gradient(#8d9b884f 0 1px,#0000 1px 16px);width:100%;height:65px;position:absolute;top:45px;transform:rotate(-4deg)}.score-note{background:#cfe5a8;border-radius:50%;width:25px;height:18px;position:absolute;transform:rotate(-22deg)}.score-note:after{content:"";background:#cfe5a8;width:2px;height:60px;position:absolute;bottom:6px;right:0}.n1{top:110px;left:8%}.n2{top:94px;left:27%}.n3{top:78px;left:46%}.n4{top:94px;left:65%}.n5{top:62px;left:84%}.auth-benefits{color:#aebaa4;flex-wrap:wrap;gap:20px;font-size:12px;display:flex}.auth-benefits>span{align-items:center;gap:6px;display:flex}.auth-form-section{border-left:1px solid #ffffff19;max-width:460px;padding-left:5vw}.auth-form-section>svg{color:#cfe5a8;margin-bottom:20px}.auth-form-section h2{letter-spacing:-1px;margin:0 0 15px;font-size:30px;line-height:1.15}.auth-form-section>p{color:#adb7ad;margin-bottom:24px;line-height:1.7}.auth-form-section form{gap:20px;display:grid}.auth-form-section label{gap:8px;font-size:13px;display:grid}.auth-form-section input{width:100%;color:inherit;background:#ffffff05;border:1px solid #ffffff25;border-radius:7px;min-height:48px;padding:13px}.auth-form-section input:focus{outline-offset:2px;outline:2px solid #cfe5a8}.auth-form-section label small{color:#aab3a4}.auth-form-section .primary{justify-content:center;width:100%;min-height:48px}.auth-secondary{justify-content:center;width:100%;margin-top:12px}.auth-text{color:#cfe5a8;background:0 0;border:0;padding:12px 0;font-size:13px;display:block}.auth-privacy{color:#879382;margin-top:30px;font-size:11px;line-height:1.7;display:block}.auth-form-section .auth-setup{color:#e0c58a;margin-top:22px;font-size:12px}.auth-error{color:#efad9d!important}.auth-message{color:#cfe5a8!important}.auth-footer{color:#86917f;letter-spacing:1px;justify-content:space-between;padding:30px 5vw;font-size:11px;display:flex}.account-loading{max-width:760px;margin:12vh auto;padding:32px;line-height:1.8}.account-loading h1{font-size:32px}.account-loading .auth-brand{margin-bottom:40px}.account-menu{align-items:center;gap:10px;font-size:11px;display:flex}.account-menu>span{text-overflow:ellipsis;max-width:160px;overflow:hidden}.account-menu button{min-height:32px;padding:7px;font-size:10px}.sync-announcement:empty{display:none}.sync-announcement{color:#f2dca9;z-index:25;background:#3f3521;padding:10px 24px;font-size:12px;position:relative}@keyframes auth-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-story,.auth-form-section{animation:.55s both auth-enter}.auth-form-section{animation-delay:80ms}.auth-score .score-note{transition:top .3s}.auth-score:hover .n2,.auth-score:hover .n4{top:62px}@media (max-width:800px){.auth-main{grid-template-columns:1fr;gap:40px;padding:40px 7vw}.auth-form-section{border-top:1px solid #ffffff19;border-left:0;max-width:none;padding:30px 0 0}.auth-story h1{font-size:52px}.auth-score{height:125px;margin:12px 0}.auth-benefits{gap:12px}.auth-header{padding:22px 7vw}.auth-footer{padding:24px 7vw}.account-menu>span{max-width:100px}.account-menu button span{display:none}}@media (prefers-reduced-motion:reduce){.auth-story,.auth-form-section{animation:none}.auth-score .score-note{transition:none}}.auth-main{min-height:calc(100svh - 175px)}
