@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-ext-wght-normal-C8S-KRRz.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#293c33;font-synthesis:none;--green:#264a3b;--deep:#243e33;--muted:#778078;--line:#e3e7de;--paper:#fff;--serif:Georgia, "Times New Roman", serif;background:#f8f9f5;font-family:DM Sans Variable,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.46}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline-offset:4px;outline:3px solid #b38445}button{min-height:44px}a{color:inherit}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}svg{flex-shrink:0}button svg{vertical-align:middle}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:5;background:#f0f2eb;flex-direction:column;width:242px;padding:40px 22px 22px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:-2px;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 13px;font-family:Manrope Variable,sans-serif;font-size:35px;font-weight:750;display:flex}.brand-symbol{background:var(--deep);color:#f6eedc;border-radius:12px;place-items:center;width:40px;height:43px;font-family:Georgia,serif;font-size:41px;font-style:italic;font-weight:400;line-height:1;display:grid}.brand-dot{color:#a69c71}.brand-caption{letter-spacing:1.45px;color:#87917f;margin:16px 0 48px 13px;font-size:8px;font-weight:650}.sidebar nav{flex-direction:column;gap:8px;display:flex}.nav-item{color:#69776c;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;width:100%;min-height:48px;padding:14px 15px;font-size:13px;font-weight:500;display:flex}.nav-item.current{color:#284b3b;background:#e0e7d9;font-weight:650}.nav-item:hover{background:#e6ebdf}.nav-dot{background:#648056;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.side-note{color:#87947a;padding:24px 15px 38px}.side-note p{font-family:var(--serif);margin:12px 0 0;font-size:14px;font-style:italic;line-height:1.65}.local-profile{border-top:1px solid #dfe4d8;align-items:center;gap:10px;margin-top:15px;padding-top:22px;display:flex}.avatar{color:#8c8167;background:#e4dbc5;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.local-profile strong{font-size:11px;font-weight:600;display:block}.local-profile small{color:#92978c;margin-top:4px;font-size:10px;display:block}.online-dot{background:#9aac7d;border-radius:100%;width:6px;height:6px;margin-left:auto}.main-wrap{margin-left:242px}.topbar{border-bottom:1px solid var(--line);color:#92998e;letter-spacing:1.25px;justify-content:space-between;align-items:center;height:80px;padding:0 48px;font-size:10px;display:flex}.topbar>div{letter-spacing:0;align-items:center;gap:22px;font-size:11px;display:flex}.pill{letter-spacing:.3px;white-space:normal;border-radius:5px;align-items:center;gap:7px;width:fit-content;padding:6px 10px;font-size:10px;font-weight:600;line-height:1.5;display:inline-flex}.pill.sage{color:#526947;background:#e9eee3}.pill.sand{color:#8b7b4e;background:#efeada}.pill.plain{color:#6d7868;background:0 0;border:1px solid #dce2d7}.topbar .pill{border-radius:20px;padding:5px 10px}.tiny-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}main{max-width:1370px;margin:0 auto;padding:44px 48px 16px}main:focus{outline:0}.page-heading{margin-bottom:29px}.eyebrow{letter-spacing:1.8px;color:#849074;align-items:center;gap:9px;font-size:10px;font-weight:650;display:flex}.tiny-line{background:#98a08a;width:22px;height:1px}h1{font-family:var(--serif);letter-spacing:-1.65px;margin:15px 0 12px;font-size:42px;font-weight:400;line-height:1.2}.page-heading>p{color:#7f867c;margin-bottom:0;font-size:13px}.hero-card{color:#f9f8ec;background:#243f33;border-radius:13px;min-height:326px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:1;flex:1;padding:33px 38px}.hero-copy .pill{color:#e0dcbb;letter-spacing:1px;background:#465643;padding:5px 10px;font-size:9px}.hero-copy h2{font-family:var(--serif);letter-spacing:-.8px;color:#fffced;margin:19px 0 12px;font-size:37px;line-height:1.16}.hero-copy p{color:#b8c3b2;margin-bottom:16px;font-size:12px;line-height:1.7}.hero-meta{color:#c4ccba;gap:21px;margin-bottom:24px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:6px;display:flex}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 18px;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .15s;display:inline-flex}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#37604b}.button.light{color:#34452c;background:#f5f0d9;min-width:166px}.button.light:hover{background:#fff9e7}.button.secondary{color:#4f624c;background:#fff;border-color:#dce2d7}.button.secondary:hover{background:#eff2e9}.button.danger{color:#915640;background:#fbf2ef;border-color:#e8d9d1}.button.full{width:100%}.hero-art{flex-shrink:0;align-self:stretch;width:42%;position:relative}.orb{background:#b3b99109;border:1px solid #8d9b7330;border-radius:50%;width:280px;height:280px;position:absolute;top:47px;left:0}.orb-two{background:#b3b99106;width:224px;height:224px;top:76px;left:28px}.music-glyph{color:#e0d8b3;text-shadow:2px 4px 22px #132f28;font-family:Georgia,serif;font-size:204px;line-height:1.6;position:absolute;top:29px;left:84px;transform:rotate(-13deg)}.art-lines{width:110%;position:absolute;top:141px;left:-28px;transform:rotate(-13deg)}.art-lines span{background:linear-gradient(90deg,#0000,#8292756a,#0000);height:1px;margin-bottom:15px;display:block}.art-note{color:#c3c9a38a;font-family:Georgia,serif;font-size:62px;position:absolute}.note-one{top:85px;left:21px;transform:rotate(-14deg)}.note-two{top:208px;left:254px;transform:rotate(14deg)}.art-caption{letter-spacing:2.8px;color:#adbb9a;font-size:8px;position:absolute;bottom:31px;left:56px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 18px;display:flex}.section-heading h2{font-family:var(--serif);letter-spacing:-.35px;margin:0;font-size:22px}.section-heading>span{color:#93998f;font-size:10px}.path-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.path-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;padding:25px 23px 22px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.path-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #263d3208}.card-icon{border-radius:10px;place-items:center;width:39px;height:39px;margin-bottom:22px;display:grid}.card-icon svg{stroke-width:1.5px;width:21px;height:21px}.sage-icon{color:#718360;background:#edf0e5}.peach-icon{color:#b18968;background:#f5eae1}.lavender-icon{color:#9086a6;background:#ecebf2}.overline{letter-spacing:1.25px;color:#92998d;font-size:8px;font-weight:650}.path-card h3{font-family:var(--serif);letter-spacing:-.4px;margin:12px 0;font-size:23px;line-height:1.2}.path-card p{color:#8b9186;margin-bottom:21px;font-size:11px;line-height:1.8}.card-link{color:#5b7150;align-items:center;gap:11px;font-size:11px;font-weight:600;display:flex}.card-number{font-size:11px;font-family:var(--serif);color:#b9bfaf;position:absolute;top:26px;right:19px}.journey-banner{background:#f0f1e7;border:1px solid #e2e4d8;border-radius:9px;align-items:center;gap:20px;margin-top:23px;padding:23px;display:flex}.journey-mark{color:#8a9274;border:1px solid #d9ddce;border-radius:7px;flex-shrink:0;place-items:center;width:50px;height:56px;display:grid}.journey-copy{flex:1}.journey-copy .eyebrow{letter-spacing:1.2px;font-size:8px}.journey-copy h3{font-family:var(--serif);margin:8px 0 5px;font-size:21px}.journey-copy p{color:#8a907f;margin:0;font-size:10px;line-height:1.6}.journey-end{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.journey-end .pill{font-size:8px}.text-button{color:#5a6e50;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:8px 0;font-size:11px;font-weight:600;display:inline-flex}.text-button:hover{color:#243e33}.quiet-footer{color:#a0a595;justify-content:center;align-items:center;gap:9px;margin:27px 0;font-size:10px;display:flex}.app-footer{border-top:1px solid var(--line);color:#9ca392;align-items:center;gap:14px;margin:0 48px;padding:22px 0 28px;font-size:10px;display:flex}.app-footer>span{letter-spacing:-.9px;font-family:Manrope Variable,sans-serif;font-size:17px;font-weight:700}.app-footer p{margin:0}.app-footer button{color:#929c87;background:0 0;border:0;margin-left:auto;font-size:10px}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:22px;padding:27px}.panel h2{font-family:var(--serif);font-size:26px;line-height:1.25}.panel h3{font-family:var(--serif);letter-spacing:-.4px;font-size:24px}.panel .section-heading{margin-top:0}.compact{margin-bottom:31px}.compact h1{font-size:38px}.practice-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start;gap:22px;display:grid}.score-panel{padding:26px 24px}.score-header{justify-content:space-between;align-items:center;display:flex}.score-header h2{margin:15px 0 9px;font-size:28px}.score-header p{color:#8c9584;margin:0;font-size:11px}.score-header p span{padding:0 5px}.phrase-number{font-family:var(--serif);white-space:nowrap;margin-left:8px;font-size:24px}.phrase-number span{color:#a8ae9c;font-size:16px}.study-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:22px;padding-top:10px;display:flex}.study-nav>span{text-align:center;color:#929b88;font-size:10px}.icon-button{background:#fff;border:1px solid #e3e7db;border-radius:7px;justify-content:center;align-items:center;width:44px;min-width:44px;min-height:44px;display:inline-flex}.icon-button svg{width:18px}.score{flex-direction:column;justify-content:center;min-height:176px;margin:20px 0 12px;display:flex;overflow:hidden}.engraving{color:#293c33;width:100%}.engraving>svg{width:100%;height:auto;max-height:240px;display:block}.engraving svg .note{fill:currentColor;stroke:currentColor}.engraving .active-note{color:#9a772b;fill:#9a772b;stroke:#9a772b}.engraving .target-note{color:#478369;fill:#478369;stroke:#478369}.score-loading{color:var(--muted);text-align:center;padding:40px;font-size:12px}.note-aids{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 10px 10px 14%;display:grid}.note-aids>div{text-align:center;color:#808c77;background:#f4f5ef;border-radius:5px;flex-direction:column;gap:3px;padding:6px 2px;font-size:9px;display:flex}.note-aids strong{color:#516549;font-size:12px}.note-aids .active{background:#eae3c9}.score-instruction{font-family:var(--serif);color:#8a967b;text-align:center;justify-content:center;align-items:center;gap:9px;margin-bottom:27px;font-size:13px;font-style:italic;display:flex}.score-settings{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.score-settings label{color:#87927e;align-items:center;gap:10px;font-size:11px;display:flex}select{color:#4a5e42;background:#f9faf6;border:1px solid #e0e5d8;border-radius:5px;min-height:44px;padding:5px;font-size:16px}.aids{border:1px solid var(--line);border-radius:7px;grid-template-columns:1fr 1fr;gap:5px;margin:14px 0;padding:10px;display:grid}.aids legend{color:#7d8a71;padding:0 5px;font-size:10px}.aids label{cursor:pointer;align-items:center;gap:6px;min-height:44px;font-size:12px;display:flex}.aids input{accent-color:#3c644b;width:18px;height:18px}.practice-controls{gap:10px;margin-top:17px;display:flex}.practice-controls .button{flex:1;padding-left:8px;padding-right:8px}.micro-copy{color:#8d9784;margin:14px 0 0;font-size:10px;line-height:1.8}.score-panel>.micro-copy{text-align:center}.listening-panel .eyebrow{letter-spacing:1px;font-size:8px}.listening-panel h3{margin:12px 0 22px}.practice-steps{margin:0 0 24px;padding:0;list-style:none}.practice-steps li{gap:12px;margin-bottom:18px;display:flex}.practice-steps li>span{color:#81916f;background:#f0f3e9;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.practice-steps strong{font-size:11px;font-weight:600}.practice-steps p{color:#8b9581;margin:5px 0 0;font-size:11px;line-height:1.7}.mic-status{color:#8c9485;background:#f8f9f5;border:1px solid #e5e8df;border-radius:6px;align-items:center;gap:7px;padding:12px 10px;font-size:10px;display:flex}.mic-status.enabled{color:#517840;background:#edf3e7;border-color:#dce5d4}.listen-block{margin-top:14px}.listen-block small{text-align:center;color:#99a08d;margin-top:8px;font-size:10px;line-height:1.6;display:block}.privacy-note{color:#97a08c;justify-content:center;align-items:flex-start;gap:5px;margin-top:14px;font-size:9px;line-height:1.65;display:flex}.privacy-note svg{margin-top:2px}.study-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.study-item{text-align:left;background:#fafbf7;border:1px solid #e4e8df;border-radius:7px;align-items:center;gap:13px;padding:12px 14px;display:flex}.study-item>span{color:#94a183;font-family:var(--serif);font-size:16px}.study-item strong{flex:1;font-size:11px;font-weight:500}.study-item.selected{background:#edf3e7;border-color:#819c6f}.study-item>svg{color:#9dab8d}.feedback{color:#4f6840;background:#eef4e7;border:1px solid #dce7d1;border-radius:8px;margin-top:18px;padding:18px;font-size:12px;line-height:1.65}.feedback strong{font-size:14px;font-weight:650}.feedback p{margin:8px 0 12px;font-size:12px}.feedback.neutral{color:#776c4d;background:#f6f3e9;border-color:#e9e3d2}.feedback .text-button{display:flex}.cents{color:#7e8f71;font-size:11px;display:block}.notice{color:#80704a;background:#fff5df;border:1px solid #eddfbd;border-radius:8px;margin-bottom:20px;padding:13px 16px;font-size:12px;line-height:1.65}.training-intro{background:#eef1e5;border:1px solid #e0e6d5;border-radius:12px;justify-content:space-between;align-items:center;padding:32px;display:flex}.training-intro h2{font-family:var(--serif);margin:18px 0 12px;font-size:31px}.training-intro p{color:#89967d;font-size:12px}.listening-illustration{color:#8b9c76;flex-direction:column;align-items:center;gap:15px;padding:20px;display:flex}.listening-illustration span{font-family:var(--serif);font-size:13px;font-style:italic}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.exercise-family{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;align-items:center;gap:15px;padding:19px;display:flex}.exercise-family:hover{border-color:#9bac8e}.exercise-family .card-icon{flex-shrink:0;margin:0}.exercise-family>div{flex:1}.exercise-family h3{margin:0 0 5px;font-size:15px}.exercise-family p{color:#8d9684;margin:0;font-size:10px}.exercise-family>svg{color:#94a286}.diagnostic-banner{justify-content:space-between;align-items:center;gap:15px;margin:28px 0;display:flex}.diagnostic-banner h3{font-family:var(--serif);margin:0 0 7px;font-size:22px}.diagnostic-banner p{color:#8b9581;margin:0;font-size:11px}.exercise-panel{text-align:center;max-width:680px;margin:0 auto 50px;padding:30px 38px}.exercise-top{justify-content:space-between;align-items:center;font-size:13px;display:flex}.muted{color:#8f9985;font-size:12px}.progress-track{background:#ebeee3;border-radius:4px;height:4px;margin:20px 0 36px;overflow:hidden}.progress-track>span{background:#8aa170;height:100%;transition:width .2s;display:block}.exercise-context{text-transform:uppercase;letter-spacing:1.1px;color:#899578;font-size:10px}.exercise-panel h2{max-width:430px;margin:12px auto 25px;font-size:30px}.sound-button{color:#557246;background:#eef4e7;border:1px solid #d6e2ca;border-radius:50%;place-items:center;width:94px;height:94px;display:inline-grid;box-shadow:0 0 0 11px #f7f9f3}.sound-button:hover,.sound-button.is-playing{background:#e0ebd6}.sound-caption{color:#929d87;margin:22px 0;font-size:11px}.exercise-panel .loop-chip{margin-top:-8px}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:23px 0 20px;display:grid}.answer-button{background:#fff;border:1px solid #dfe4d6;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:59px;font-size:16px;display:flex}.answer-button:not(:disabled):hover{background:#f1f5eb;border-color:#90a579}.answer-button.correct{color:#4e7439;opacity:1;background:#e7f1dd;border-color:#a9c48f}.answer-button.incorrect{color:#8a7050;opacity:1;background:#f5eee4;border-color:#d9c9ae}.exercise-panel .feedback{text-align:left}.exercise-panel .feedback .button{margin-top:5px}.end-session{color:#98a18d;margin:12px auto 0;font-weight:400}.session-summary{text-align:center;margin-bottom:24px}.session-summary .card-icon{margin:0 auto 18px}.session-summary p{color:#829071;font-size:13px}.summary-tip{text-align:left;background:#f4f6ed;border-radius:8px;max-width:480px;margin:20px auto;padding:18px;font-size:13px}.summary-tip p{margin:7px 0 0}.stats-grid{grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:25px;display:grid}.stats-grid>div{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;gap:14px;padding:24px;display:flex}.stats-grid strong{font-family:var(--serif);font-size:41px;font-weight:400;line-height:1}.stats-grid strong small{color:#a4ae97;font-size:23px}.stats-grid>div>span:last-child{color:#939d88;font-size:10px}.empty-state{text-align:center;padding:35px 20px}.empty-icon{color:#9da98c;background:#f1f4e9;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:20px;display:inline-grid}.empty-state h3{font-family:var(--serif);margin-bottom:10px;font-size:24px}.empty-state p{color:#929e84;max-width:390px;margin:0 auto;font-size:12px}.skills-grid{grid-template-columns:1fr 1fr;column-gap:30px;display:grid}.skill-row{border-bottom:1px solid #edf0e5;justify-content:space-between;align-items:center;gap:10px;padding:17px 0;display:flex}.skill-row strong{font-size:12px;font-weight:550}.skill-row>div>span{color:#95a088;margin-top:6px;font-size:10px;display:block}.journey-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.journey-row{border:1px solid #e7ebdf;border-radius:8px;align-items:center;gap:13px;padding:15px;display:flex}.journey-row>span{color:#8e9f7b;background:#eff3e8;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.journey-row strong{font-size:11px;font-weight:500}.journey-row small{color:#9ba48e;margin-top:5px;font-size:9px;display:block}.journey-row .icon-button{background:0 0;border:0;width:35px;min-width:44px;margin-left:auto}.journey-row.next{background:#f4f7ed;border-color:#b3c3a0}.history-row{color:#8c9980;border-top:1px solid #e8ecdf;justify-content:space-between;gap:14px;padding:17px 0;font-size:11px;display:flex}.history-row>span:first-child{color:#5d7350;align-items:center;gap:10px;display:flex}.settings-panel{max-width:780px}.settings-panel p{color:#7c8b70;font-size:13px}.settings-actions{flex-wrap:wrap;gap:12px;margin:24px 0 0;display:flex}.delete-confirm{background:#faf4eb;border:1px solid #eadbc9;border-radius:8px;margin-top:24px;padding:20px}.delete-confirm .button{margin:0 10px 7px 0}.fatal{max-width:700px;padding:60px}.fatal button{color:#fff;background:#294a38;border:0;border-radius:8px;padding:14px 20px}.skip-link{z-index:99;background:#fff;padding:15px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.mobile-only{display:none}@media (min-width:1500px){main{padding-top:54px}.hero-card{min-height:370px}.hero-copy{padding:40px 45px}.hero-copy h2{font-size:43px}.hero-art{width:43%}.orb-one{width:325px;height:325px;top:25px}.orb-two{width:265px;height:265px;top:55px;left:30px}.music-glyph{font-size:224px;top:6px;left:115px}.hero-art .note-two{left:302px}.art-caption{left:85px}.path-card{padding:28px}.path-card h3{font-size:25px}}@media (max-width:1190px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.brand-caption{letter-spacing:1px;font-size:7px}.main-wrap{margin-left:210px}.topbar{padding:0 30px}main{padding:35px 30px 15px}.app-footer{margin:0 30px}.hero-art{width:39%}.hero-copy{padding:30px}.music-glyph{left:45px}.orb-one{left:-24px}.orb-two{left:4px}.note-one{left:0}.note-two{left:200px}.art-caption{left:12px}.path-card{padding:21px 17px}.path-card h3{font-size:21px}.journey-banner{gap:14px;padding:20px}.journey-end{max-width:180px}.practice-layout{grid-template-columns:minmax(0,1fr)}.practice-side{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.listening-panel{grid-row:span 3;margin:0}.privacy-note{margin:0}.score-panel{margin-bottom:0}.practice-layout{margin-bottom:24px}.score{min-height:195px}.training-intro{padding:25px}.listening-illustration{padding:10px}.exercise-family{gap:10px;padding:15px}.exercise-family h3{font-size:14px}.journey-list{grid-template-columns:1fr}}@media (max-width:900px){.sidebar{width:180px;padding:28px 10px 16px}.brand{gap:9px;padding-left:7px;font-size:30px}.brand-symbol{width:34px;height:38px;font-size:36px}.brand-caption{letter-spacing:.9px;margin-left:7px;font-size:6px}.nav-item{gap:9px;padding:12px 10px;font-size:11px}.nav-item svg{width:17px}.main-wrap{margin-left:180px}.topbar{height:64px;padding:0 25px}.topbar>span{letter-spacing:1px;font-size:8px}.topbar .desktop-only{display:none}main{padding:30px 25px 15px}h1{font-size:34px}.hero-copy h2{font-size:32px}.hero-copy{padding:28px}.hero-art{opacity:.7;width:30%}.music-glyph{font-size:170px;top:70px;left:-13px}.hero-art .orb{left:-60px}.note-one,.note-two,.art-caption{display:none}.hero-meta{gap:12px;font-size:9px}.path-grid{gap:10px}.path-card{padding:18px 13px}.path-card h3{font-size:19px}.path-card p{font-size:10px}.card-link{gap:5px;font-size:10px}.overline{font-size:7px}.journey-mark{display:none}.journey-end{max-width:150px}.section-heading>span,.local-profile strong,.local-profile small{font-size:9px}.local-profile{gap:6px}.local-profile .online-dot{display:none}.app-footer{margin:0 25px}.exercise-grid{grid-template-columns:1fr}.stats-grid{gap:10px}.stats-grid>div{padding:19px}.skills-grid{grid-template-columns:1fr}.training-intro h2{font-size:28px}.listening-illustration{display:none}.diagnostic-banner{flex-direction:column;align-items:flex-start}.compact h1{font-size:33px}}@media (max-width:700px){.sidebar{width:100%;height:auto;padding:4px 6px calc(4px + env(safe-area-inset-bottom));z-index:10;background:#f7f8f1;border-top:1px solid #dfe5d6;border-right:0;position:fixed;inset:auto 0 0}.sidebar .brand,.brand-caption,.sidebar-bottom{display:none}.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;display:grid}.nav-item{white-space:normal;text-align:center;border-radius:7px;flex-direction:column;justify-content:center;gap:5px;min-height:57px;padding:7px 0 5px;font-size:9px}.nav-item svg{width:19px;height:19px}.nav-dot{display:none}.main-wrap{margin-left:0;padding-bottom:80px}.topbar{height:62px;padding:0 21px}.topbar>span{letter-spacing:1px;font-size:8px}.topbar .pill{font-size:9px}.topbar>div{gap:0}main{padding:30px 21px 12px}.page-heading{margin-bottom:24px}.eyebrow{letter-spacing:1.3px;font-size:9px}h1{letter-spacing:-1.1px;margin:14px 0 12px;font-size:35px;line-height:1.17}.page-heading>p{max-width:340px;font-size:12px;line-height:1.7}.hero-card{border-radius:11px;min-height:321px}.hero-copy{padding:27px 24px}.hero-copy h2{margin-top:20px;font-size:31px;line-height:1.18}.hero-copy p{max-width:225px;font-size:11px}.hero-meta{flex-wrap:wrap;gap:13px;margin-bottom:21px;font-size:9px}.hero-meta svg{width:14px}.hero-art{opacity:.22;pointer-events:none;width:160px;position:absolute;top:0;bottom:0;right:-20px}.hero-copy .button{position:relative}.hero-art .orb-one{width:280px;height:280px;top:70px;left:5px}.hero-art .orb-two{width:220px;height:220px;top:100px;left:35px}.music-glyph{font-size:200px;top:60px;left:40px}.hero-art .art-lines{top:160px;left:0}.section-heading{margin:26px 0 16px}.section-heading h2{font-size:21px}.section-heading>span{display:none}.path-grid{grid-template-columns:1fr;gap:12px}.path-card{min-height:139px;padding:21px 22px 21px 82px}.path-card .card-icon{width:40px;height:40px;position:absolute;top:25px;left:22px}.path-card .overline{font-size:8px}.path-card h3{margin:10px 0 8px;font-size:24px;line-height:1.2}.path-card h3 br{display:none}.path-card p{margin-bottom:10px;font-size:11px;line-height:1.6}.path-card p br{display:none}.card-link{font-size:11px}.card-number{font-size:10px;top:21px}.journey-banner{padding:21px;display:block}.journey-copy h3{margin:10px 0;font-size:23px}.journey-copy p{font-size:11px}.journey-end{align-items:flex-start;gap:4px;max-width:none;margin-top:15px}.journey-end .pill{font-size:9px}.quiet-footer{text-align:center;align-items:flex-start;gap:6px;padding:0 14px;font-size:9px;line-height:1.6}.quiet-footer svg{width:14px;margin-top:1px}.app-footer{gap:12px;margin:0 21px;padding:18px 0 16px}.app-footer p{max-width:140px;font-size:9px}.app-footer button{font-size:9px}.compact h1{font-size:33px}.panel{border-radius:10px;padding:22px 20px}.practice-layout{gap:16px}.score-panel{padding:20px 16px}.score-header h2{margin-top:12px;font-size:25px}.score-header .pill{font-size:8px}.phrase-number{font-size:21px}.score-header p{font-size:10px}.study-nav{margin-top:17px}.study-nav>span{font-size:9px}.score{min-height:135px;margin-top:16px;margin-bottom:8px}.score-instruction{align-items:flex-start;margin-bottom:21px;font-size:12px}.score-instruction svg{margin-top:2px}.score-settings{gap:7px}.score-settings label{gap:6px}.score-settings .text-button{gap:4px;font-size:10px}.practice-controls{gap:8px}.practice-controls .button{padding:12px 8px;font-size:11px}.practice-side{display:block}.practice-side>.button{margin-top:15px}.privacy-note{margin-top:12px}.listening-panel{padding:22px}.practice-steps p,.practice-steps strong{font-size:12px}.mic-status{font-size:11px}.study-grid{grid-template-columns:1fr}.study-library .section-heading h2{font-size:23px}.study-item{min-height:52px}.study-item strong{font-size:12px}.micro-copy{font-size:10px}.training-intro{padding:24px}.training-intro h2{font-size:29px}.training-intro p{font-size:12px}.training-intro p br{display:none}.exercise-family{gap:13px;padding:17px}.exercise-family h3{font-size:15px}.exercise-family p{font-size:10px}.exercise-family>svg{width:17px}.diagnostic-banner{margin:25px 0}.diagnostic-banner p{font-size:12px}.exercise-panel{padding:23px 20px}.exercise-panel h2{font-size:28px;line-height:1.25}.progress-track{margin-bottom:28px}.answer-button{min-height:56px;font-size:16px}.exercise-context{font-size:9px}.feedback{padding:16px}.stats-grid{grid-template-columns:1fr;gap:10px}.stats-grid>div{grid-template-columns:1fr auto;gap:10px;padding:20px;display:grid}.stats-grid .overline{font-size:9px}.stats-grid strong{grid-area:1/2/span 2;font-size:37px}.stats-grid>div>span:last-child{font-size:11px}.stats-grid strong small{font-size:20px}.empty-state{padding:22px 0}.empty-state h3{font-size:23px}.journey-row{gap:10px;padding:13px 10px}.journey-row strong{font-size:12px}.journey-row small{font-size:10px}.history-row{flex-wrap:wrap;gap:10px;font-size:10px}.history-row>span:first-child{flex:1}.settings-panel p{font-size:13px}.settings-panel h2{font-size:26px}.settings-actions{flex-direction:column;align-items:stretch}.mobile-only{display:block}.desktop-only{display:none}.fatal{padding:30px}.fatal h1{font-size:31px}}@media (max-width:360px){main{padding:24px 14px 10px}.topbar{padding:0 14px}.topbar>span{letter-spacing:.8px;font-size:7px}.topbar .pill{font-size:8px}h1,.compact h1{font-size:30px}.hero-copy{padding:23px 20px}.hero-copy h2{font-size:29px}.hero-meta{gap:10px}.path-card{padding-left:73px;padding-right:16px}.path-card .card-icon{left:17px}.path-card h3{font-size:22px}.score-panel{padding:18px 12px}.score-header h2{font-size:23px}.score-settings select{max-width:97px}.score-settings .text-button{font-size:9px}.score-settings label{font-size:10px}.panel{padding:20px 16px}.app-footer{gap:9px;margin:0 14px}.nav-item,.hero-copy .pill,.note-aids span{font-size:8px}.note-aids{gap:3px;margin-left:12%}.aids{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.note-aids{width:100%;margin:10px 0;display:block;position:relative}.note-aids>div{background:0 0;gap:5px;min-width:12%;max-width:22%;padding:3px 0;position:absolute;top:0;transform:translate(-50%)}.note-aids .active{background:#eae3c9;border-radius:5px}.note-aids span{white-space:nowrap;font-size:10px}.note-aids strong{font-size:12px}.page-heading>p,.path-card p,.journey-copy p,.micro-copy,.practice-steps p,.sound-caption,.settings-panel p,.exercise-family p,.empty-state p,.privacy-note{color:#67745f}.page-heading>p{font-size:14px}.path-card p{font-size:12px}.path-card .overline{color:#6f7e63;font-size:9px}.card-link{font-size:12px}.section-heading>span,.quiet-footer,.app-footer,.app-footer button,.topbar,.overline,.eyebrow,.exercise-context,.study-nav>span,.score-header p,.score-settings label,.score-instruction,.stats-grid>div>span:last-child,.skill-row>div>span,.journey-row small{color:#6a785f}.hero-copy p{color:#c9d3c2}.hero-meta{color:#d5ddcb}.topbar>div{color:#6b7961}.nav-item{font-size:14px}.practice-steps strong,.practice-steps p,.exercise-family p{font-size:12px}.history-row{color:#66775c}.study-item strong{font-size:12px}.muted{color:#6a785f}.pill.plain{color:#5c6c51}.mic-status{color:#66765c}.skill-row .pill.plain{color:#5c6c51}.micro-copy{font-size:11px}.card-number{color:#738167}.journey-copy .eyebrow{font-size:9px}.app-footer p,.app-footer button{font-size:11px}@media (max-width:900px) and (min-width:701px){.nav-item{font-size:12px}.path-card p{font-size:11px}}@media (max-width:700px){.nav-item{font-size:9px}.page-heading>p{font-size:13px}.hero-copy p{font-size:12px}.hero-copy h2{font-size:31px}.card-link,.path-card p{font-size:12px}.topbar>span{font-size:8px}.app-footer p,.app-footer button{font-size:10px}.micro-copy{font-size:11px}.note-aids span{font-size:8px}.note-aids strong{font-size:11px}}@media (max-width:360px){.nav-item{font-size:8px}.hero-copy h2{font-size:29px}.topbar>span{font-size:7px}}@media (max-width:700px){.main-wrap[data-page=practice] .topbar{height:46px}.main-wrap[data-page=practice] main{padding-top:16px}.main-wrap[data-page=practice] .page-heading{margin-bottom:16px}.main-wrap[data-page=practice] .page-heading h1{margin:7px 0 0;font-size:27px}.main-wrap[data-page=practice] .page-heading>p{display:none}.main-wrap[data-page=practice] .score-header h2{margin:10px 0 7px;font-size:23px}.main-wrap[data-page=practice] .score-panel{padding:16px 14px}.main-wrap[data-page=practice] .study-nav{margin-top:13px;padding-top:8px}.main-wrap[data-page=practice] .score{min-height:105px;margin:8px 0}.main-wrap[data-page=practice] .engraving>svg{max-height:115px}.main-wrap[data-page=practice] .score-instruction{margin-bottom:12px;font-size:11px}.main-wrap[data-page=practice] .score-settings{padding-top:8px}.main-wrap[data-page=practice] .practice-controls{margin-top:10px}.main-wrap[data-page=practice] .score-panel>.micro-copy{margin-top:8px;font-size:10px}}@media (max-width:360px){.main-wrap[data-page=practice] .page-heading .eyebrow{display:none}.main-wrap[data-page=practice] .page-heading h1{margin:0;font-size:24px}.main-wrap[data-page=practice] .score-instruction{display:none}.main-wrap[data-page=practice] .score-header h2{font-size:22px}.main-wrap[data-page=practice] .study-nav>span{font-size:8px}.main-wrap[data-page=practice] .score{min-height:95px;margin:0}.main-wrap[data-page=practice] .engraving>svg{max-height:95px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chip{color:#5d6e55;background:#fafbf7;border:1px solid #e4e8df;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:7px 13px;font-size:11px;display:inline-flex}.chip.selected{color:#3f5c34;background:#edf3e7;border-color:#819c6f}.practice-tools,.listen-mode{flex-wrap:wrap;gap:8px;display:flex}.practice-tools{margin-top:10px}.listen-mode{margin-bottom:12px}.recording{background:#fdf6f4;border:1px solid #ecd8d2;border-radius:8px;margin-bottom:12px;padding:13px 14px 11px}.recording-head{color:#9b5741;align-items:center;gap:8px;font-size:11px;display:flex}.recording-head strong{letter-spacing:.04em;text-transform:uppercase;flex:1;font-size:10px;font-weight:650}.rec-time{font-variant-numeric:tabular-nums;color:#a5705c;align-items:center;gap:4px;display:inline-flex}.rec-dot{background:#c0442a;border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.25}}.level{background:#f3e2dc;border-radius:999px;height:8px;margin:10px 0 12px;overflow:hidden}.level-fill{background:linear-gradient(90deg,#d9674a,#c0442a);width:0%;height:100%;transition:width 90ms linear}.live-note{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:34px;display:grid}.live-note>strong{font-family:var(--serif);color:#3c5a34;min-width:46px;font-size:21px}.live-note .cents{font-variant-numeric:tabular-nums;text-align:right;min-width:66px}.live-idle{color:#a08477;grid-column:1/-1;font-size:11px}.needle{background:#f1eee6;border-radius:4px;height:20px;position:relative}.needle-band{background:#dcead2;border-radius:4px;position:absolute;top:0;bottom:0}.needle-centre{background:#8ea77f;width:1px;position:absolute;top:2px;bottom:2px;left:50%}.needle-mark{background:#2f4a2a;border-radius:2px;width:3px;margin-left:-1.5px;transition:left 90ms linear;position:absolute;top:-2px;bottom:-2px}.review{color:#4f6840;background:#eef4e7;border:1px solid #dce7d1;border-radius:8px;margin-top:16px;padding:16px;font-size:12px}.review>strong{font-size:14px;font-weight:650}.review>p{margin:6px 0 12px;font-size:12px}.review>small{color:#7c8c6f;margin-top:10px;font-size:10px;display:block}.review-notes{gap:7px;margin:0;padding:0;list-style:none;display:grid}.review-notes li{background:#fbfcf8;border:1px solid #e4ead9;border-left-width:3px;border-radius:6px;grid-template-columns:44px auto;align-items:baseline;gap:4px 10px;padding:8px 11px;display:grid}.review-name{font-family:var(--serif);font-size:16px}.review-cents{font-variant-numeric:tabular-nums;color:#6d7f61;font-size:11px}.review-message{color:#64755a;grid-column:2;font-size:11px;line-height:1.55}.review-notes li.centred{border-left-color:#5c8a4c}.review-notes li.flat,.review-notes li.sharp{border-left-color:#b58a37}.review-notes li.different{border-left-color:#b4664a}.review-notes li.missed{color:#8d9784;border-left-color:#cdd3c6}.engraving .heard-centred{color:#4a7a3f;fill:#4a7a3f;stroke:#4a7a3f}.engraving .heard-flat,.engraving .heard-sharp{color:#9a772b;fill:#9a772b;stroke:#9a772b}.engraving .heard-different{color:#a2543a;fill:#a2543a;stroke:#a2543a}.note-aids .heard-centred strong{color:#4a7a3f}.note-aids .heard-flat strong,.note-aids .heard-sharp strong{color:#9a772b}.note-aids .heard-different strong{color:#a2543a}.listen-count{color:#a5806f;margin:10px 0 0;font-size:10px}.tolerance-choice{border:0;gap:9px;margin:4px 0 0;padding:0;display:grid}.tolerance-choice label{cursor:pointer;background:#fafbf7;border:1px solid #e4e8df;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 14px;font-size:12px;display:grid}.tolerance-choice label.selected{background:#edf3e7;border-color:#819c6f}.tolerance-choice span{color:#7c8c6f;font-variant-numeric:tabular-nums;font-size:11px}@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}.level-fill,.needle-mark{transition:none}}.tune-parts{flex-wrap:wrap;gap:8px;margin:14px 0 4px;display:flex}.provenance-panel{margin-top:18px;font-size:12px}.provenance-panel h3{font-family:var(--serif);margin:0 0 10px;font-size:17px}.provenance-panel p{color:#5f705a;margin:0 0 12px;font-size:12px}.provenance-panel details{border-top:1px solid var(--line);padding:10px 0 2px}.provenance-panel summary{cursor:pointer;color:#4f624c;min-height:28px;font-size:11px}.provenance-panel ul{color:#6b7a64;margin:8px 0 10px;padding-left:18px;font-size:11px;line-height:1.7}.engraving .note[role=button]{cursor:pointer}.engraving .note-hit-area{fill:#0000;stroke:none;pointer-events:all}.engraving .note:focus-visible{outline-offset:3px;outline:2px solid #9a772b}.engraving .selected-note,.engraving .active-note{color:#9a772b;fill:#9a772b;stroke:#9a772b}.fingerboard{background:#f5f6ef;border:1px solid #e3e7d8;border-radius:10px;margin:0 0 18px;padding:14px 16px 10px}.fingerboard-heading{color:#647458;justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;display:flex}.fingerboard-heading>span:first-child{letter-spacing:.1em;font-size:9px;font-weight:650}.fingerboard-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:8px;max-width:510px;margin:10px auto;display:grid}.fingerboard-diagram{width:100%;max-height:260px;display:block;overflow:visible}.violin-wood{fill:#eadcc3;stroke:#bba483;stroke-width:1.5px}.violin-neck{fill:#30483c;stroke:#23392f;stroke-width:1.5px}.violin-nut{fill:#d0c9ae}.violin-bridge{fill:#f8efdc;stroke:#bba483}.violin-string line{stroke:#9ba79a}.violin-string text{fill:#647458;font-size:14px;font-weight:650}.violin-string.current line{stroke:#e1b452}.violin-string.current text{fill:#876220}.finger-guide line{stroke:#849382;stroke-width:1px}.finger-guide text{fill:#5d7055;font-size:14px;font-weight:650}.finger-guide-placement{font-size:12px;font-weight:400}.finger-guide.current line{stroke:#e1b452;stroke-width:2px}.finger-guide.current text{fill:#876220}.finger-marker>circle:first-child{fill:#e9bd59;opacity:.23}.finger-dot{fill:#edc366;stroke:#fff4d1;stroke-width:2px}.finger-dot.open{fill:#30483c;stroke:#edc366;stroke-width:3px}.finger-marker text{fill:#30432d;font-size:14px;font-weight:750}.finger-marker.open text{fill:#ffe0a1}.finger-pulse{transform-origin:0 0;animation:.6s ease-out finger-land}@keyframes finger-land{0%{opacity:.6;transform:scale(.65)}to{opacity:.23;transform:scale(1.25)}}.fingerboard-state{color:#647458;font-size:10px}.fingerboard-pitch{font-family:var(--serif);color:var(--green);margin:5px 0 12px;font-size:48px;font-weight:400;line-height:1.2;display:block}.fingerboard-placement{color:#4d6346;gap:4px;font-size:12px;display:grid}.fingerboard-placement strong{font-weight:600}.fingerboard-hint{color:#647458;max-width:175px;margin:10px 0 14px;font-size:11px;line-height:1.6}.fingerboard-next{border-top:1px solid #dde3d3;gap:4px;padding-top:10px;font-size:12px;display:grid}.fingerboard-next>span,.fingerboard-next strong span{color:#647458;font-size:10px;font-weight:400}.fingerboard-transport{border-top:1px solid #dde3d3;align-items:center;gap:8px;padding-top:10px;display:flex}.fingerboard-transport .icon-button{background:#fcfdf9}.fingerboard-transport .fingerboard-play{background:var(--green);color:#fff;border-color:var(--green)}.fingerboard-scrubber{text-align:center;flex:1;min-width:0;font-size:11px}.fingerboard-scrubber>span>span{color:#647458}.fingerboard-scrubber input{accent-color:#8c7036;cursor:pointer;width:100%;min-width:0;height:25px;margin:0;display:block}.fingerboard-caption{color:#647458;text-align:center;margin:9px 0 0;font-size:10px;line-height:1.5}@media (max-width:700px){.fingerboard{margin-bottom:12px;padding:12px 10px 10px}.fingerboard-body{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4px;margin:8px auto}.fingerboard-pitch{margin:3px 0 8px;font-size:36px}.fingerboard-hint{margin:7px 0 10px;font-size:10px}.fingerboard-placement{font-size:11px}.fingerboard-next{padding-top:7px}.fingerboard-heading{font-size:9px}.fingerboard-heading>span:first-child{font-size:8px}}
