@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{color:#352d3e;font-synthesis:none;--plum:#483451;--muted:#857f89;--line:#e8e3e8;background:#f8f6f2;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;transition:background .15s}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #b796ba}.layout{min-height:100vh;display:flex}aside{color:#eee7ee;background:#302838;flex-direction:column;flex-shrink:0;width:238px;padding:35px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:inherit;letter-spacing:-1px;align-items:center;gap:10px;font-size:25px;font-weight:600;text-decoration:none;display:flex}.brand svg,.brandDot{color:#d4b4cf}.navLabel{letter-spacing:2px;color:#a89aaa;margin:52px 12px 17px;font-size:9px}.nav{border-radius:9px;align-items:center;gap:12px;padding:14px 13px;font-size:12px;display:flex}.nav span{color:#b9a8c0;margin-left:auto;font-size:10px}.active{background:#493d52}.sideCopy{margin:65px 12px 0}.sideCopy p{color:#ddc8df;font-family:Instrument Serif,Georgia,serif;font-size:32px;line-height:1.1}.sideCopy>span{color:#a89aaa;font-size:11px;line-height:1.9}.staff{height:140px;padding-top:35px;position:relative;transform:rotate(-8deg)}.staff i{background:#544759;height:1px;margin:12px 0;display:block}.staff b{color:#a98cae;font-family:Georgia;font-size:95px;font-weight:400;position:absolute;top:8px;left:50px}.sideBottom{color:#c4b8c7;margin-top:auto;font-size:11px}.sideBottom small{letter-spacing:1.3px;color:#8f8396;margin-top:12px;font-size:8px;display:block}.tinyDot{background:#b5c6a6;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}main{flex:1;min-width:0;margin-left:238px}header{border-bottom:1px solid var(--line);height:77px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 45px;font-size:11px;display:flex}.slash{color:#c1b7c5;margin:0 16px}.status{font-size:10px}.content{max-width:1190px;margin:auto;padding:42px 45px 24px}.intro{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:2.3px;color:#88708e;font-size:9px;font-weight:600}h1{letter-spacing:-1.8px;margin:17px 0;font-size:48px;font-weight:500;line-height:1.05}h1 em{color:#806087;font-family:Instrument Serif,Georgia,serif;font-size:57px;font-weight:400}p{line-height:1.75}.intro p{color:var(--muted);font-size:12px}.introMark{text-align:center;color:#aa8cb0;width:160px;margin-right:40px;transform:rotate(9deg)}.introMark>span{font-family:Georgia;font-size:110px;line-height:1}.introMark>div{font-family:Instrument Serif,Georgia,serif;font-size:21px;font-style:italic}.steps{border-block:1px solid var(--line);color:#8b818c;align-items:center;gap:22px;margin-bottom:28px;padding:18px 0;font-size:11px;display:flex}.steps span{white-space:nowrap;align-items:center;gap:10px;display:flex}.steps b{color:#765e7e;background:#eae3ec;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;font-weight:500;display:grid}.steps i{background:#ddd5df;flex:1;height:1px}.workspace{grid-template-columns:310px 1fr;gap:20px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:26px}.sectionTitle{letter-spacing:1.5px;color:#8a788d;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;font-size:9px;display:flex}h2{letter-spacing:-.6px;margin:0 0 8px;font-size:20px;font-weight:500}.muted{color:var(--muted);margin:0 0 23px;font-size:11px;line-height:1.7}label{margin:20px 0 9px;font-size:11px;display:block}.segmented{background:#f4f1f5;border-radius:8px;gap:4px;padding:4px;display:flex}.segmented button{color:#87758a;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px;font-size:11px;display:flex}.segmented button.selected{color:#483451;background:#fff;box-shadow:0 1px 4px #47324b13}select{border:1px solid var(--line);color:#514657;background:#fff;border-radius:7px;width:100%;padding:11px;font-size:12px}.targetNote{align-items:center;gap:18px;padding:24px 0;display:flex}.targetNote strong{font-family:Instrument Serif,Georgia,serif;font-size:49px;font-weight:400}.targetNote span{color:#736578;font-size:13px}.targetNote small{color:#a49aa6;margin-top:4px;font-size:9px;display:block}.primary,.outline{border:1px solid var(--plum);background:var(--plum);color:#fff;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:11px;font-weight:500;display:inline-flex}.primary:hover{background:#61466c}.outline{color:var(--plum);background:#fff;border-color:#e1d7e5}.outline:hover{background:#f7f3f8}.full{width:100%}.tip{border-top:1px solid var(--line);color:#998b9b;align-items:flex-start;gap:9px;margin-top:22px;padding-top:18px;display:flex}.tip svg{flex-shrink:0}.tip p{margin:0;font-size:10px;line-height:1.7}.badge{letter-spacing:1px;color:#9b8f9d;background:#f5f2f5;border-radius:5px;padding:4px 9px;font-size:8px}.badge.live{color:#6b7b55;background:#e9f0e5}.pitchReadout{text-align:center;padding:20px 0 26px}.pitchReadout>span:first-child{font-size:11px}.pitchReadout>strong{margin:14px 0 20px;font-family:Instrument Serif,Georgia,serif;font-size:87px;font-weight:400;line-height:1.1;display:block}.pitchReadout small{color:#9e939f;margin-top:10px;font-family:DM Sans,sans-serif;font-size:11px;display:block}.pitchStatus{color:#88718e;background:#f5f0f6;border-radius:20px;padding:7px 13px;font-size:11px}.pitchStatus.good{color:#71825a;background:#edf3e7}.meter{height:55px;margin:0 20px;position:relative}.meterGood{background:#edf3e7;border-radius:5px;width:40%;height:42px;position:absolute;top:6px;left:30%}.meterLine{border-left:1px solid #b0bfa1;height:55px;position:absolute;top:0;left:50%}.ticks{justify-content:space-between;align-items:center;height:27px;display:flex;position:absolute;inset:13px 0 0}.ticks i{border-left:1px solid #c9c0cb;height:12px}.ticks i:nth-child(5n+1){height:24px}.needle{z-index:1;background:#845990;border-radius:4px;width:3px;height:53px;transition:left .15s;position:absolute;top:0}.meterLabels{letter-spacing:1px;color:#9e91a1;justify-content:space-between;margin:10px 20px 0;font-size:8px;display:flex}.tunerActions{justify-content:center;gap:10px;margin-top:35px;display:flex}.tunerFoot{text-align:center;color:#a69aa9;margin-top:15px;font-size:9px}.iconButton{border:1px solid var(--line);color:#65546d;background:#fff;border-radius:7px;padding:10px}.recording{background:#a54a63}.recordingPanel{justify-content:space-between;align-items:center;gap:25px;margin-top:20px;display:flex}.recordingPanel .muted{margin-bottom:0}.recordActions{flex-direction:column;gap:10px;min-width:260px;display:flex}.recordActions audio{width:260px;height:35px}.download{color:#8d7795;text-align:center;font-size:10px}.emptyIcon{color:#c2adca;background:#f5f0f6;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.report{margin-top:20px}.report p{color:#807287;font-size:12px}.metrics{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:16px 0;padding:24px 0;display:grid}.metrics div{border-right:1px solid var(--line);padding-left:20px}.metrics div:first-child{padding-left:0}.metrics div:last-child{border:0}.metrics strong{font-size:23px;font-weight:500}.metrics span{color:#948899;margin-top:5px;font-size:9px;display:block}.textButton{color:#8b6b91;letter-spacing:0;background:0 0;border:0;font-size:10px;text-decoration:underline}.chartTitle{color:#a08fa5;justify-content:space-between;margin:15px 0;font-size:9px;display:flex}.chart svg{width:100%;max-height:180px}.report .reportNote{color:#a397a7;font-size:10px}.error{color:#96594a;background:#fbece8;border:1px solid #eed3cb;border-radius:8px;justify-content:space-between;gap:20px;margin-bottom:20px;padding:15px;font-size:12px;display:flex}.error button{color:inherit;background:0 0;border:0}.processing{background:#f0eaf3;border-radius:9px;padding:20px;font-size:12px}.warning{background:#fff4dc;padding:10px}footer{color:#a798a9;border-top:1px solid var(--line);justify-content:space-between;margin-top:32px;padding-top:20px;font-size:9px;display:flex}footer span:first-child{align-items:center;gap:7px;display:flex}@media (width<=1100px){aside{width:190px;padding:28px 18px}main{margin-left:190px}.content{padding:32px 25px}.workspace{grid-template-columns:260px 1fr}.card{padding:22px}.introMark{margin-right:0}.recordingPanel{align-items:flex-start}}@media (width<=780px){aside{width:auto;padding:18px 20px;position:static}.brand{font-size:22px}.navLabel,.nav,.sideCopy,.sideBottom{display:none}.layout{display:block}main{margin:0}header{height:55px;padding:0 20px}.content{padding:28px 20px}.introMark{display:none}h1{font-size:42px}h1 em{font-size:50px}.steps{gap:7px;font-size:9px}.steps span{gap:5px}.steps i{min-width:3px}.workspace{grid-template-columns:1fr}.settings{display:block}.targetNote{padding:15px 0}.tuner{min-height:450px}.recordingPanel{flex-direction:column}.recordActions,.recordActions audio{width:100%}.emptyIcon{display:none}.metrics{grid-template-columns:1fr 1fr;gap:20px}.metrics div{border:0;padding:0}footer{flex-direction:column;gap:15px}.chartTitle{gap:10px}.intro p{font-size:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.melodySetup{margin-bottom:20px}.melodySetup h2{margin-top:24px}.passageControls{grid-template-columns:2fr 1fr 1fr 1.3fr;align-items:end;gap:14px;display:grid}.passageControls label{margin:12px 0;font-size:12px}input{border:1px solid var(--line);width:100%;color:var(--plum);background:#fff;border-radius:7px;padding:11px}input:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #b796ba}.score{color:#352d3e;margin:18px 0}.score [role=button]{cursor:pointer}.score [role=button]:focus{outline:2px solid #6f397e}.score .scoreActive{fill:#9c6329;stroke:#9c6329;filter:drop-shadow(0 0 3px #dab88c)}.score .score-on_target{fill:#4b7156}.score .score-wrong_note,.score .score-sharp,.score .score-flat{fill:#a13d53}.score .score-unassessed,.score .score-missed{fill:#786e7e}details{margin:16px 0;font-size:12px}summary{cursor:pointer;padding:8px 0;font-weight:600}.melodySetup p,.practiceGuide{color:#62576a;font-size:12px}.pitchStaff{max-width:270px;margin:-18px auto -30px}.pitchReadout{padding-top:0}.pitchReadout>strong{margin:4px 0 14px;font-family:DM Sans,sans-serif;font-size:72px;font-weight:600}.targetCaption{text-align:center;color:#62576a;font-size:11px}.noteDetail{background:#f5f0f6;border-left:4px solid #806087;border-radius:6px;padding:18px}.noteDetail p{margin-bottom:0}.melodyChart{margin:24px 0}.melodyChart figcaption{color:#62576a;font-size:12px}.melodyChart svg{width:100%}.melodyChart text{fill:#62576a;font:11px DM Sans,sans-serif}.tableScroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th,td{border-bottom:1px solid var(--line);min-width:100px;padding:12px}.savedTake{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.savedTake span{flex:1}.meterLabels{color:#62576a;font-size:10px}.pitchStatus{color:#62506a}.pitchStatus.good{color:#476136}@media (width<=780px){.passageControls{grid-template-columns:1fr 1fr}.passageControls label:first-child{grid-column:1/-1}.savedTake{flex-wrap:wrap}.score{min-width:0}}.scoreTransport{background:#f1e8f4;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}#score-area{scroll-margin-top:20px}.melodyChart{overflow-x:auto}.melodyChart svg{min-width:580px}.melodyChart text{font-size:14px}.score{overflow-x:auto}:root{--muted:#706775}main{margin-left:0}header{height:60px;padding-inline:max(24px,50vw - 500px)}.content{max-width:1080px;padding:32px 40px}.intro{margin-bottom:26px}h1{letter-spacing:-1.3px;margin:12px 0;font-size:38px}h1 em{font-size:44px}.intro p{margin:0;font-size:14px}.eyebrow{font-size:10px}.card{border-radius:18px;padding:28px;box-shadow:0 5px 24px #352d3e04}.modeSwitch{width:fit-content;margin-bottom:28px}.segmented button{min-height:44px;padding:11px 18px;font-size:13px}.setupHeading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.melodySetup .setupHeading h2{margin:0 0 6px;font-size:28px}.setupHeading .muted{margin:0;font-size:13px}.instrumentChoice{flex-shrink:0}.passageControls{grid-template-columns:repeat(3,1fr)}.melodySetup>.passageControls{max-width:440px;display:block}label,.passageControls label{font-size:13px}select,input{min-height:44px;font-size:14px}.passageOptions{margin:0 0 20px}summary{color:#64516e;padding-block:12px}.practiceTransport{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:22px;display:flex}.practiceTransport strong{font-size:16px;font-weight:600}.practiceTransport p{margin:5px 0 0;font-size:13px}.transportButtons{flex-shrink:0;gap:10px;display:flex}.primary,.outline{border-radius:10px;min-height:46px;font-size:14px}.primary{box-shadow:0 3px 9px #48345117}.score{background:#fffefa;border:1px solid #eee9e5;border-radius:12px;padding:12px 8px}.score .scoreActive{filter:none}.scoreTransport{margin-top:16px}.melodySetup>details:not(.passageOptions){border-top:1px solid var(--line);margin-bottom:0}.historyDrawer{border-top:1px solid var(--line);margin-top:26px;padding-top:8px}.historyDrawer>summary{font-size:15px}.recordingPanel{border-color:#c7b4cf;scroll-margin-top:24px}.recordingPanel .muted{font-size:13px}.recordActions{min-width:280px}.recordActions audio{width:100%}.textButton,.download{padding:8px;font-size:12px}footer{font-size:11px}.mode-single .melodySetup{box-shadow:none;background:0 0;border:0;padding-bottom:0;padding-left:0}.mode-single .workspace{grid-template-columns:310px 1fr}@media (width<=780px){.content{padding:24px 16px}header{padding-inline:20px}h1{font-size:30px;line-height:1.18}h1 em{font-size:35px}.card{padding:20px}.setupHeading,.practiceTransport{flex-direction:column;align-items:stretch;gap:16px}.instrumentChoice{align-self:flex-start}.transportButtons>button{flex:1}.modeSwitch{width:100%}.segmented button{padding-inline:10px}.passageControls{grid-template-columns:1fr 1fr}.passageControls label:first-child{grid-column:auto}.passageControls label:last-child{grid-column:1/-1}.recordActions{min-width:0}.mode-single .workspace{grid-template-columns:1fr}}.accountNav{z-index:5;color:#f8f6f2;background:#302838;flex-wrap:wrap;align-items:center;gap:20px;padding:16px 28px;display:flex;position:relative}.accountNav a{color:inherit;text-decoration:none}.accountNav span{margin-left:auto}.accountNav button{color:inherit;background:0 0;border:1px solid #88738d;border-radius:8px;padding:7px 14px}.authPage{place-content:center;min-height:100vh;margin:0;padding:28px;display:grid}.authCard{max-width:510px}.authCard h1,.dashboard h1{margin:12px 0;font-family:Instrument Serif,serif;font-size:44px;font-weight:400}.authCard form{gap:16px;margin:24px 0;display:grid}.authCard label,.progressFilters label{gap:8px;display:grid}.authCard input,.progressFilters input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:12px}input:focus-visible{outline-offset:3px;outline:3px solid #b796ba}.authCard .primary{width:100%}.dashboard{max-width:1180px;margin:0 auto;padding:36px 24px}.dashboard>.card{margin-top:28px;padding:24px}.dashboard a{color:var(--plum)}.dashboard a.primary{color:#fff;border-radius:8px;padding:12px 18px;text-decoration:none;display:inline-block}.progressFilters{flex-wrap:wrap;gap:20px;margin-top:24px;display:flex}.progressFilters select{padding:12px}.progressChart{border-bottom:1px solid var(--line);align-items:flex-end;gap:12px;min-height:145px;padding:12px 4px;display:flex;overflow-x:auto}.progressChart a{text-align:center;flex-direction:column;justify-content:flex-end;gap:6px;min-width:38px;font-size:11px;text-decoration:none;display:flex}.progressBar{background:#80638b;border-radius:4px 4px 0 0;display:block}.eyebrow{letter-spacing:2px;font-size:10px}.muted{color:#716878;font-size:12px}.accountNav~.layout aside{top:67px}@media (width<=700px){.accountNav{gap:12px;padding:14px}.accountNav span{margin-left:0}.authCard h1,.dashboard h1{font-size:36px}.dashboard{padding:24px 16px}}.practiceStyle{width:fit-content;margin:16px 0}.melodyLiveTuner{z-index:3;background:#fcf9fd;border:1px solid #ddd3e2;border-radius:12px;align-items:center;gap:28px;margin-top:20px;padding:18px 22px;display:flex;position:sticky;top:8px;box-shadow:0 3px 12px #352d3e0a}.melodyLiveTuner strong{min-width:100px;font-size:42px;display:block}.melodyTunerGuide{flex:1;min-width:0}.melodyTunerGuide p{margin:5px 0 12px;font-size:14px}.melodyTunerGuide .inTune{color:#376a48}.livePitchTrack{background:#e7e0ea;border-radius:6px;height:9px;position:relative}.livePitchZone{background:#cbdcc6;width:45%;height:100%;position:absolute;left:27.5%}.livePitchNeedle{background:#483451;width:3px;height:17px;transition:left .12s;position:absolute;top:-4px}.livePitchLabels{color:#706775;justify-content:space-between;margin-top:7px;font-size:10px;display:flex}.guidedHint{font-size:12px}@media (width<=480px){.melodyLiveTuner{gap:14px;padding:14px}.melodyLiveTuner strong{min-width:64px;font-size:34px}}
