@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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans Variable,Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,sans-serif;color:#1b3052;background:#e1e5eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #e1e5eb;--surface: #f3f5f8;--ink: #1b3052;--muted: #53637a;--navy: #233b63;--dark-navy: #172a49;--mist: #e1e7ef;--line: #bdc8d7;--soft-line: #cbd5e2;--orange: #b48449}*{box-sizing:border-box}body{margin:0;min-width:360px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}button,a,input,select,summary{outline-offset:4px}:focus-visible{outline:2px solid #3d567c}button{transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:disabled:hover{transform:none}button svg{flex-shrink:0}a{color:var(--navy)}h1,h2,h3,h4,p{margin:0}input[type=checkbox]{accent-color:var(--navy);width:13px;height:13px;cursor:pointer}input[type=range]{accent-color:var(--navy);cursor:pointer;height:4px}select{color:var(--ink);cursor:pointer}input[type=search]::-webkit-search-cancel-button{cursor:pointer}::selection{background:var(--line);color:var(--dark-navy)}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;border-radius:8px}.skip-link:focus{top:10px}.primary-button,.secondary-button,.cream-button,.danger-button{min-height:41px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;font-size:12px;font-weight:550;white-space:nowrap}.primary-button{background:var(--navy);color:#fff;border:1px solid var(--navy);box-shadow:0 2px 3px #1b30520b}.primary-button:hover:not(:disabled){background:#1b3052;border-color:#1b3052;box-shadow:0 3px 9px #1b305220}.secondary-button{border:1px solid var(--line);background:var(--surface)}.secondary-button:hover:not(:disabled){border-color:#a0aec4;background:var(--paper)}.cream-button{background:#f3f1de;color:#1b3052}.cream-button:hover{background:#fffdeb}.danger-button{color:#fff;background:#ae4e3f;border:1px solid #ae4e3f}.danger-button:hover{background:#933f33}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#53637a;padding:0}.icon-button:hover:not(:disabled){background:var(--mist);color:var(--navy)}.icon-button.tiny{width:22px;height:24px}.text-button{display:inline-flex;align-items:center;gap:5px;padding:0;font-size:11px;color:#53637a}.text-button:hover{color:var(--navy)}.section-label{display:flex;align-items:center;gap:8px}.section-label h3{font-size:12px;font-weight:550}.muted-text{font-size:11px;color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#53637a}.level-badge{font-size:10px;background:var(--mist);color:#53637a;border:1px solid var(--line);padding:3px 9px;border-radius:4px;white-space:nowrap;font-weight:500}.level-badge.intermediate{color:#ae864c;background:#f8f2e5;border-color:#f0e7d1}.check-label{font-size:10px;font-weight:400;color:#53637a;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.check-label input{margin:0}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:var(--paper);border-right:1px solid var(--line);padding:31px 18px 15px;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:9px;padding:0 9px;text-align:left}.brand-icon{width:35px;height:39px;flex-shrink:0;border-radius:9px;background:var(--dark-navy);color:var(--mist);display:flex;align-items:center;justify-content:center}.brand>span:last-child{font:26px/1.1 Georgia,Times New Roman,serif;letter-spacing:-1px}.brand small{display:block;font:7px/1.4 DM Sans Variable,sans-serif;letter-spacing:1.25px;color:#53637a;margin-top:7px}.nav-eyebrow{font-size:8px;letter-spacing:1.8px;margin:46px 0 14px 14px;color:#53637a}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;min-height:45px;border-radius:7px;padding:0 13px;text-align:left;color:#53637a;font-size:12px}.nav-item:hover{background:var(--mist);color:var(--navy)}.nav-item.active{background:var(--line);color:var(--navy);font-weight:600}.nav-active-dot{width:5px;height:5px;background:#3d567c;border-radius:50%;margin-left:auto}.sidebar-note{margin:41px auto 24px;width:120px;text-align:center;color:#53637a}.sidebar-note p{font-size:10px;line-height:1.95;letter-spacing:1px}.little-score{height:56px;width:105px;margin:auto auto 15px;position:relative}.little-score i{position:absolute;left:0;right:0;top:17px;height:1px;background:var(--line)}.little-score i:nth-child(2){top:27px}.little-score i:nth-child(3){top:37px}.little-score span{position:absolute;font:37px Georgia,serif;top:-1px;left:10px;transform:rotate(-8deg);color:#53637a}.little-score span:nth-of-type(2){top:6px;left:43px}.little-score span:nth-of-type(3){top:-7px;left:77px}.sidebar-bottom{margin-top:auto;padding-top:30px}.midi-card{border:1px solid var(--line);padding:17px 14px 13px;border-radius:9px;background:var(--mist)}.midi-card-icon{color:#53637a;display:inline-flex;margin-bottom:9px}.midi-card h3{font-size:11px;font-weight:550;margin-bottom:7px}.midi-card p{font-size:10px;color:#53637a;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.midi-card button{margin-top:15px;padding:0;display:flex;width:100%;align-items:center;justify-content:space-between;font-size:11px;color:#3d567c;font-weight:600}.midi-card button:hover{color:#1b3052}.midi-card.connected{background:var(--mist);border-color:#c1cede}.sidebar-account{display:flex;gap:9px;align-items:center;width:100%;border-top:1px solid #6d83a2;border-radius:0 0 6px 6px}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;color:#53637a;font-size:6px;letter-spacing:.6px;border-top:1px solid var(--line);padding:14px 3px 0}.sidebar-footer span:last-child{font-size:8px;letter-spacing:0}.topbar{height:68px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:var(--surface)}.topbar-left{display:flex;align-items:center;gap:12px;color:#53637a;font-size:10px}.topbar-left>span{color:#53637a;letter-spacing:.2px}.topbar-left>strong{font-weight:400;color:#3d567c}.topbar-right{display:flex;gap:13px;align-items:center}.midi-status{display:flex;gap:7px;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:10px;color:#53637a}.status-dot{width:5px;height:5px;border-radius:50%;background:#a0aec4;display:inline-block}.midi-status:hover{background:var(--mist)}.midi-status.connected{border-color:#c1cede;color:var(--navy);background:var(--mist)}.midi-status.connected .status-dot{background:#53637a;box-shadow:0 0 0 3px var(--line)}.topbar-divider{height:19px;width:1px;background:var(--line)}.help-button{display:flex;align-items:center;gap:6px;font-size:10px;padding:0;color:#53637a}.help-button:hover{color:var(--navy)}.mobile-menu-button{display:none}.main-content{max-width:1510px;margin:0 auto;padding:31px 38px 0}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 31px;min-height:79px}.page-intro .eyebrow{margin-bottom:11px}.page-intro h1{font-size:clamp(23px,2.15vw,32px);font-weight:550;letter-spacing:1.5px;line-height:1.45;color:#1b3052}.heading-dot{color:#53637a}.page-description{color:#53637a;font-size:11px;letter-spacing:.25px;margin-top:10px;line-height:1.8}.intro-mark{display:flex;gap:11px;align-items:center;color:#53637a;padding-right:11px}.intro-mark span{height:1px;width:24px;background:var(--line)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 243px;gap:24px;align-items:start}.workspace-main{min-width:0}.practice-tabs{display:flex;align-items:stretch;height:43px;margin-bottom:18px;gap:8px;border-bottom:1px solid var(--line)}.practice-tabs button{position:relative;display:flex;gap:8px;align-items:center;padding:0 16px 12px;font-size:12px;color:#53637a}.practice-tabs button:first-child{padding-left:3px;padding-right:24px}.practice-tabs button>span{font-size:8px;letter-spacing:1.1px;opacity:.7;padding-top:2px;margin-left:5px}.practice-tabs button.active{color:var(--navy);font-weight:550}.practice-tabs button.active:after{content:"";position:absolute;bottom:-1px;height:2px;background:var(--navy);left:0;right:0}.practice-tabs button:hover{color:var(--navy)}.exercise-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 2px 5px #1b305203}.exercise-card-top{padding:13px 22px 0;display:flex;align-items:center;justify-content:space-between}.exercise-overline{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.5px;color:#53637a}.lesson-number{background:var(--mist);border-radius:4px;width:23px;height:21px;display:flex;align-items:center;justify-content:center;color:#53637a;font-size:9px;letter-spacing:0}.exercise-card-top .icon-button{width:25px;height:25px;color:#53637a}.exercise-title-row{display:flex;align-items:center;gap:12px;margin:7px 22px 0}.exercise-title-row h2{font-size:19px;letter-spacing:.15px;font-weight:600}.exercise-description{font-size:10px;color:#53637a;line-height:1.8;margin:8px 22px 0}.exercise-selectors{margin:17px 22px 0;display:grid;grid-template-columns:1.45fr .85fr 1fr;gap:13px}.select-field{display:flex;flex-direction:column;gap:6px;min-width:0}.select-field>span{font-size:9px;color:#53637a}.select-field select,.modal-select select{width:100%;height:34px;border:1px solid var(--line);background-color:var(--surface);border-radius:5px;padding:0 26px 0 10px;font-size:10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%2353637a' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;text-overflow:ellipsis}.select-field select:hover{border-color:#a0aec4}.chord-progression{margin:21px 22px 18px;display:flex;gap:21px}.chord-step-wrap{position:relative;flex:1;min-width:0}.chord-step{display:flex;flex-direction:column;width:100%;min-height:100px;text-align:left;border:1px solid var(--line);border-radius:7px;padding:11px 14px 10px;background:var(--surface)}.chord-step:hover{background:var(--paper);border-color:#a0aec4}.chord-step.current{border-color:#7c8da8;background:var(--mist);box-shadow:0 0 0 1px #7c8da809}.chord-step.completed{background:var(--paper)}.chord-step-top{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:13px;color:#53637a;gap:3px}.roman{font:italic 11px/1.2 Georgia,serif}.current-caption{font-size:7px;white-space:nowrap;color:#53637a;display:flex;align-items:center;gap:4px}.current-caption i{height:4px;width:4px;display:inline-block;background:#53637a;border-radius:50%}.step-count{font-size:8px;color:#53637a}.chord-symbol{font-size:28px;font-weight:500;line-height:1.2;margin-top:7px;letter-spacing:-.8px;color:var(--navy)}.current .chord-symbol{color:var(--navy)}.chord-notes{font-size:9px;color:#53637a;letter-spacing:.5px;margin-top:7px}.current .chord-notes{color:#53637a}.chord-arrow{position:absolute;right:-19px;top:calc(50% - 8px);color:#53637a;width:14px}.four-chords{gap:16px}.four-chords .chord-step{padding-left:10px;padding-right:10px}.four-chords .chord-symbol{font-size:24px}.four-chords .chord-arrow{right:-16px;width:13px}.four-chords .current-caption{font-size:6px}.score-section{margin:0 22px;padding:11px 12px 0;border:1px solid var(--mist);border-radius:7px;background:var(--surface)}.score-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.score-heading>span{display:flex;align-items:center;gap:5px;color:#53637a;font-size:9px}.score-heading .check-label{font-size:8px}.score-heading input{width:11px;height:11px}.score-scroll{width:100%;overflow-x:auto;overflow-y:hidden;padding-top:2px;scrollbar-width:thin;scrollbar-color:#c1cede transparent}.score{display:block;width:100%;min-width:460px;height:137px}.phrase-score .score{min-width:700px;height:150px}.staff-line{stroke:var(--line);stroke-width:1}.bar-line{stroke:#c1cede;stroke-width:1}.final-bar{stroke-width:2.5}.treble-clef,.bass-clef{fill:#53637a}.time-signature{font-family:Georgia,serif;font-size:24px;font-weight:700;text-anchor:middle;fill:#53637a}.score-chord{fill:#53637a;font-family:DM Sans Variable,sans-serif;font-size:15px;font-weight:500}.score-chord.active{fill:var(--navy)}.bar-number{fill:#a0aec4;font-size:9px;font-family:DM Sans Variable,sans-serif;letter-spacing:1px}.measure-highlight{fill:var(--mist);fill-opacity:.68}.score-note{color:#53637a}.score-note.active{color:var(--navy)}.note-head{fill:currentColor;stroke:currentColor;stroke-width:1.4}.note-head.hollow{fill:var(--surface);stroke-width:2.1}.note-stem{stroke:currentColor;stroke-width:1.4}.note-flag{fill:currentColor}.ledger-line{stroke:#a0aec4;stroke-width:1}.accidental{fill:currentColor}.practice-feedback{display:flex;align-items:center;gap:7px;min-height:36px;padding:8px 22px 0;color:#53637a;font-size:9px}.feedback-icon{display:flex;color:#53637a}.practice-feedback.feedback-wrong,.feedback-wrong .feedback-icon{color:#b3854b}.played-notes{margin-left:auto;color:#3d567c;white-space:nowrap;font-size:9px;font-variant-numeric:tabular-nums}.transport{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 17px;gap:10px}.transport-primary{display:flex;gap:9px}.transport .primary-button,.transport .secondary-button{min-height:38px;font-size:10px;padding:9px 14px}.practice-start{min-width:142px}.demo-button{color:#3d567c}.demo-button.is-playing{background:#f3eddf;border-color:#d9c6a5;color:#a9844d}.transport-tools{display:flex;align-items:center;gap:4px}.transport-tools .icon-button{width:27px;height:29px}.icon-button.active-tool{background:var(--mist);color:#3d567c}.transport-divider{width:1px;height:19px;background:var(--line);margin:0 8px}.session-timer{display:flex;align-items:center;gap:6px;font-size:11px;font-variant-numeric:tabular-nums;color:#53637a}.session-timer svg{color:#53637a}.tempo-row{display:flex;align-items:center;gap:12px;padding:11px 22px;background:var(--surface);border-top:1px solid var(--mist)}.tempo-label{color:#53637a;font-size:8px;letter-spacing:1.25px}.tempo-value{display:flex;align-items:center;gap:5px;white-space:nowrap}.tempo-value strong{font-size:13px;font-weight:550;color:#3d567c;font-variant-numeric:tabular-nums;min-width:24px;text-align:center}.tempo-value>span{font-size:7px;color:#53637a}.tempo-value .icon-button{width:18px}.tempo-slider{width:100%;min-width:40px;max-width:157px;margin:0 auto 0 0;appearance:none;background:linear-gradient(to right,#7c8da8 var(--range-progress),var(--line) var(--range-progress));border-radius:4px;height:3px!important}.tempo-slider::-webkit-slider-thumb{appearance:none;border-radius:50%;height:10px;width:10px;background:#53637a;box-shadow:0 0 0 3px #53637a12}.tempo-slider::-moz-range-thumb{border:none;border-radius:50%;height:10px;width:10px;background:#53637a}.piano-card{background:var(--surface);margin-top:18px;border:1px solid var(--line);border-radius:9px;padding:0 17px}.piano-heading{min-height:47px;display:flex;align-items:center;gap:12px}.piano-heading .section-label{color:#3d567c;gap:7px}.piano-heading .section-label h3{font-size:10px}.key-legend{display:flex;gap:11px;margin-left:auto}.key-legend>span{display:flex;align-items:center;gap:5px;font-size:8px;color:#53637a}.key-legend i{display:inline-block;width:7px;height:7px;border-radius:2px}.legend-target{background:var(--line);border:1px solid #c1cede}.legend-played{background:var(--navy)}.piano-overflow{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c1cede transparent}.piano-keys{height:137px;position:relative;min-width:500px;-webkit-user-select:none;user-select:none;background:#1b3052;border-radius:4px 4px 5px 5px;padding-top:4px;overflow:hidden;border:1px solid #c1cede;box-shadow:0 2px 4px #1b305210}.white-keys{height:100%;display:flex;gap:0}.piano-key{touch-action:none;-webkit-tap-highlight-color:transparent;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;transition:none}.white-key{flex:1;min-width:0;border-right:1px solid var(--line);border-bottom:4px solid var(--mist);border-radius:0 0 3px 3px;background:linear-gradient(#d5dee8,#eef1f5 21%,#e6ebf2 94%)}.white-key:last-child{border-right:0}.black-key{z-index:2;position:absolute;top:3px;height:82px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#1b3052,var(--navy) 65%,#1b3052);border-left:2px solid var(--navy);border-right:2px solid #1b3052;border-bottom:6px solid #1b3052;box-shadow:1px 2px 2px #14233d20;color:#53637a}@media(hover:hover)and (pointer:fine){.white-key:hover{background:var(--mist)}.black-key:hover{background:var(--navy)}}.piano-key:focus-visible{outline:2px solid #b99052;outline-offset:-3px;z-index:3}.white-key.target-key{background:var(--line);border-bottom-color:#c1cede}.black-key.target-key{background:#53637a;border-color:#3d567c;border-bottom-color:var(--navy)}.white-key.pressed-key{background:#3d567c;border-bottom-color:var(--navy)}.black-key.pressed-key{background:var(--navy);border-color:var(--navy)}.white-key.demo-key{background:#f0e2c1;border-bottom-color:#d5bd87}.black-key.demo-key{background:#a18a5d;border-color:#7a6948}.key-note{position:absolute;bottom:41px;font-size:10px;color:#3d567c}.black-key .key-note{bottom:27px;font-size:8px;color:var(--line)}.pressed-key .key-note{color:var(--line)}.demo-key .key-note{color:#99804d}.key-octave{position:absolute;bottom:22px;font-size:8px;color:#53637a}.pressed-key .key-octave{color:#c1cede}.piano-footer{min-height:39px;display:flex;align-items:center;gap:14px}.piano-footer .check-label{margin-left:auto;font-size:8px}.piano-footer .check-label input{height:11px;width:11px}.release-button{font-size:8px;white-space:nowrap;color:#53637a}.piano-footer .release-button:last-child{margin-left:auto}.under-piano{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 2px 0;color:#53637a;font-size:8px}.under-piano>span{display:flex;align-items:center;gap:5px}.under-piano .text-button{font-size:8px;color:#53637a}.small-status-dot{width:4px;height:4px;border-radius:50%;background:#a0aec4}.next-practice{margin-top:26px}.subsection-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.subsection-heading h3{font-size:12px;font-weight:500}.subsection-heading h2{font-size:17px;font-weight:550}.subsection-heading .text-button{font-size:9px}.recommendation-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:12px}.recommendation{display:flex;align-items:center;gap:11px;text-align:left;min-height:76px;padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.recommendation:hover{border-color:#a0aec4;background:var(--surface);transform:translateY(-2px)}.recommendation-icon{flex-shrink:0;width:38px;height:40px;border:1px solid var(--line);background:var(--mist);color:#53637a;border-radius:7px;display:flex;align-items:center;justify-content:center}.recommendation-icon.phrases{background:#f6f0e5;color:#b09a70;border-color:#ede4d3}.recommendation>div:nth-child(2){min-width:0}.recommendation>div>span{font-size:8px;color:#53637a}.recommendation h4{font-size:10px;font-weight:500;margin-top:5px;line-height:1.6}.recommendation>svg{color:#53637a;margin-left:auto}.practice-aside{padding-top:0}.daily-card{color:var(--line);background:#1b3052;border-radius:10px;padding:21px 20px 0;position:relative;overflow:hidden}.daily-card:after{content:"";position:absolute;right:-55px;top:-70px;width:210px;height:210px;border:1px solid #a0aec409;border-radius:50%;pointer-events:none}.daily-card-heading{display:flex;align-items:center;justify-content:space-between;color:#53637a}.daily-card-heading>span{font-size:8px;letter-spacing:1.6px}.daily-card h2{font-size:16px;font-weight:450;letter-spacing:.5px;margin-top:15px}.daily-card>p{margin-top:9px;font-size:9px;color:#53637a;letter-spacing:.5px}.daily-ring{width:150px;height:150px;position:relative;margin:20px auto 6px}.daily-ring>svg{width:100%;height:100%;transform:rotate(-90deg)}.daily-ring circle{fill:none;stroke-width:3}.ring-track{stroke:#3d567c;opacity:.5}.ring-fill{stroke:#a0aec4;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.daily-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:4px}.daily-ring strong{font-size:37px;font-weight:400;letter-spacing:-1px;color:var(--mist);font-variant-numeric:tabular-nums}.daily-ring strong span{font-size:20px;font-weight:400;color:#53637a;letter-spacing:-.3px}.daily-ring>div>span{font-size:9px;color:#53637a;margin-top:4px}.ring-leaf{position:absolute;bottom:4px;right:17px;font-family:Georgia,serif;font-size:21px;color:#53637a;width:25px;height:25px;border-radius:50%;background:var(--navy);text-align:center}.daily-card-footer{border-top:1px solid #3d567c48;display:flex;align-items:center;justify-content:space-between;min-height:45px;gap:5px;color:#53637a}.daily-card-footer>span{display:flex;align-items:center;gap:7px;font-size:9px}.daily-card-footer button{display:flex;align-items:center;color:#53637a;padding:5px 0 5px 10px}.daily-card-footer button:hover{color:var(--line)}.session-card{margin-top:19px;padding:19px 18px 0;background:var(--surface);border:1px solid var(--line);border-radius:9px}.aside-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.aside-section-title h3{font-size:11px;font-weight:500;color:#3d567c}.live-dot{width:5px;height:5px;background:#c1cede;border-radius:50%}.live-dot.running{background:#53637a;box-shadow:0 0 0 3px #53637a15}.session-stat{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:35px}.session-stat>span{font-size:10px;color:#53637a}.session-stat>strong{color:#3d567c;font-size:21px;font-weight:400;font-variant-numeric:tabular-nums}.session-stat small{font-size:9px;color:#53637a;margin-left:4px}.session-card>p{border-top:1px solid var(--mist);color:#53637a;font-size:8px;text-align:center;margin-top:13px;padding:12px 0;letter-spacing:.5px}.tip-card{margin-top:19px;background:#f2f1e6;border:1px solid var(--line);border-radius:8px;padding:19px 18px 13px}.tip-label{display:flex;align-items:center;gap:7px;color:#a0966f}.tip-label span{font-size:8px;letter-spacing:1.6px}.tip-card h3{font-size:13px;font-weight:500;color:#3d567c;margin-top:14px;letter-spacing:.4px}.tip-card>p{font-size:10px;color:#53637a;line-height:2.05;margin-top:10px}.tip-footer{display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:#b3b190}.tip-footer>span:first-child{font-size:7px;letter-spacing:1.7px}.tip-footer>span:last-child{font-size:28px;color:#c4c09a}.guide-link{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:20px 5px;color:#53637a}.guide-link>span{font-size:10px;line-height:1.5}.guide-link small{display:block;color:#53637a;font-size:8px;margin-top:4px}.guide-link>svg:last-child{margin-left:auto}.guide-link:hover{color:var(--navy)}.page-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:23px 0 25px;margin-top:34px;color:#53637a;font-size:8px;letter-spacing:.4px}.footer-brand{font:15px Georgia,serif;letter-spacing:-.5px;color:#53637a}.footer-brand span{margin-left:7px;color:#53637a;font-size:17px}.page-footer>span:nth-child(2){margin-left:auto;font-size:9px}.page-footer>span:last-child{margin-left:16px}.page-count{color:#53637a;letter-spacing:1px;font-size:10px;white-space:nowrap}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:37px 0 23px}.filter-tabs{display:flex;gap:5px}.filter-tabs button{display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:6px;font-size:11px;color:#53637a;padding:9px 12px}.filter-tabs button.selected{background:var(--mist);border-color:var(--line);color:#3d567c}.filter-tabs button>span{font-size:9px;color:#53637a}.filter-tabs button:hover{background:var(--mist)}.search-field{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 11px;color:#53637a}.search-field input{border:0;outline:0;background:transparent;font-size:10px;width:165px;color:var(--ink)}.search-field:focus-within{outline:2px solid #7c8da8;outline-offset:2px}.search-field input::placeholder{color:#53637a}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.library-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:left;padding:0;display:flex;flex-direction:column}.library-card:hover{transform:translateY(-4px);border-color:#a0aec4;box-shadow:0 8px 22px #1b305210}.library-art{height:149px;background:var(--mist);position:relative;display:flex;align-items:center;padding:23px;width:100%}.phrases .library-art{background:#f2eddc}.library-art-index{position:absolute;left:19px;top:15px;font-size:7px;color:#53637a;letter-spacing:1.7px}.art-mode{position:absolute;right:17px;bottom:12px;font-size:7px;letter-spacing:1.5px;color:#53637a;display:flex;align-items:center;gap:6px}.phrases .art-mode,.phrases .library-art-index{color:#bbae86}.library-art-chords{width:100%;display:flex;justify-content:center;gap:6px;font-size:clamp(13px,1.45vw,22px);font-weight:450;color:#53637a;letter-spacing:-.5px}.library-art-chords>span{display:flex;align-items:center;gap:6px}.library-art-chords i{font-size:14px;font-style:normal;color:#53637a}.phrase-art{width:100%;height:70px;position:relative}.phrase-art i{display:block;position:absolute;top:15px;height:1px;background:#d9cfaf;width:100%}.phrase-art i:nth-child(2){top:25px}.phrase-art i:nth-child(3){top:35px}.phrase-art i:nth-child(4){top:45px}.phrase-art i:nth-child(5){top:55px}.phrase-art>span{position:absolute;font:38px Georgia,serif;color:#a99768}.library-card-content{padding:19px 20px 0;display:flex;flex-direction:column;flex:1}.library-meta{display:flex;align-items:center;gap:12px}.library-meta>span:last-child{font-size:9px;display:flex;align-items:center;gap:4px;color:#53637a}.library-card h2{font-size:14px;font-weight:500;margin-top:17px;line-height:1.7}.library-card-content>p{color:#53637a;font-size:10px;margin:7px 0 21px}.library-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--mist);padding:15px 0;margin-top:auto}.library-card-footer>span:first-child{font-size:9px;color:#53637a}.library-card-footer>span:last-child{font-size:10px;color:#53637a;display:flex;align-items:center;gap:4px}.library-footnote{margin:30px 0 0;background:var(--mist);border:1px solid var(--line);color:#53637a;padding:20px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;line-height:1.8}.empty-state{padding:53px 20px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;color:#53637a}.empty-state h2,.empty-state h3{font-size:16px;font-weight:500;color:#3d567c}.empty-state p{font-size:11px;color:#53637a;line-height:1.9}.empty-state .primary-button,.empty-state .secondary-button{margin-top:8px}.progress-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:31px}.summary-card{padding:22px;border:1px solid var(--line);background:var(--surface);border-radius:9px}.summary-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:7px;background:var(--mist);color:#53637a;margin-bottom:15px}.summary-card>p{font-size:13px;color:#53637a}.summary-card>strong{display:block;font-size:35px;font-weight:450;color:#3d567c;margin-top:8px;line-height:1.2}.summary-card small{font-size:12px;font-weight:400;color:#53637a;margin-left:5px}.weekly-card,.history-card{margin-top:24px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:27px 27px 20px}.weekly-card .eyebrow{margin-bottom:8px}.week-total{font-size:12px;color:#53637a}.week-total strong{color:#3d567c;font-size:13px;font-weight:500;margin:0 3px;font-variant-numeric:tabular-nums}.weekly-chart{height:270px;display:flex;justify-content:space-around;gap:17px;padding:25px 44px 0;position:relative;margin-top:15px}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;z-index:1}.bar-space{height:185px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:100%}.bar-space>span{font-size:11px;color:#53637a;margin-bottom:10px}.chart-bar{min-height:3px;max-width:52px;width:65%;background:#c1cede;border-radius:4px 4px 0 0}.today .chart-bar{background:#53637a}.today .bar-space>span{color:#3d567c}.chart-date{min-height:40px;width:100%;text-align:center;padding-top:11px;font-size:12px;color:#53637a}.chart-date>small{display:block;font-size:11px;margin-top:5px;color:#53637a}.today .chart-date{color:var(--navy)}.history-card{padding-bottom:0}.history-card .subsection-heading{padding-bottom:20px;border-bottom:1px solid var(--mist)}.empty-icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;background:var(--mist);border-radius:50%;margin-bottom:9px;color:#53637a}.history-row{display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--mist)}.history-row:last-child{border:0}.history-title h3{font-size:13px;font-weight:500}.history-title p{font-size:11px;color:#53637a;margin-top:7px}.history-time{margin-left:auto;display:flex;align-items:center;gap:6px;color:#53637a;font-size:12px}.history-row>strong{font-size:17px;font-weight:500;color:#3d567c;min-width:61px;text-align:right;margin-right:12px}.history-row>strong small{font-size:11px;margin-left:3px}.history-check{color:#53637a}.progress-footer{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:12px;color:#53637a;line-height:1.8}.progress-footer .text-button{font-size:12px;white-space:nowrap;color:#765a2b;text-decoration:underline;text-underline-offset:3px}kbd{font-family:DM Sans Variable,sans-serif;font-size:10px;background:var(--surface);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px;color:#53637a;white-space:nowrap}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:11px;color:#53637a;padding-right:8px}details>p{font-size:10px;color:#53637a;line-height:2;padding:12px 0 0 14px}details .text-button{font-size:10px;margin:10px 0 0 14px}.modal{width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 42px);border:1px solid var(--line);border-radius:14px;padding:0;background:var(--surface);color:var(--ink);box-shadow:0 24px 100px #1b30522c;overflow-y:auto}.modal::backdrop{background:#14233d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[open]{animation:modal-appear .16s ease-out}.modal-inner{padding:26px 29px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-heading h2{font-size:17px;font-weight:500;letter-spacing:.4px}.modal-heading .icon-button{color:#53637a}.modal-description{font-size:13px;color:#53637a;line-height:2;margin:24px 0 29px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.modal-actions button{flex:1;font-size:13px;min-height:43px}.modal-footnote{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:#53637a;margin-top:18px;line-height:1.8;text-align:center}.midi-dialog-visual{display:flex;align-items:center;justify-content:center;gap:20px;position:relative;margin:34px 0 23px}.midi-dialog-visual>span{width:76px;height:76px;border:1px solid var(--line);border-radius:17px;background:var(--mist);display:flex;align-items:center;justify-content:center;color:#53637a}.midi-dialog-visual>div{display:flex;gap:7px}.midi-dialog-visual i{width:4px;height:4px;border-radius:50%;background:#c1cede}.midi-dialog-visual.connected i{background:#53637a}.midi-dialog-visual.connected>span{border-color:#a0aec4;color:#3d567c}.connection-check{color:#53637a;background:var(--surface);border:3px solid #f8faff;border-radius:50%;position:absolute;left:calc(50% + 82px);bottom:-8px;width:28px;height:28px}.midi-dialog-status{text-align:center}.midi-dialog-status h3{font-size:16px;font-weight:500}.midi-dialog-status p{font-size:13px;line-height:1.9;color:#53637a;margin-top:12px}.connection-steps{list-style:none;padding:17px;margin:25px 0 0;background:var(--mist);border-radius:8px;display:flex;flex-direction:column;gap:13px}.connection-steps li{font-size:12px;display:flex;align-items:center;gap:10px;color:#53637a}.connection-steps li>span{width:20px;height:20px;border-radius:50%;background:var(--line);color:#53637a;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.modal-select{display:flex;flex-direction:column;gap:9px;margin-top:25px}.modal-select>span{font-size:13px;color:#53637a}.modal-select select{height:42px;font-size:14px;background-color:var(--surface)}.settings-field{padding:26px 0 22px;border-bottom:1px solid var(--line)}.settings-field>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px}.settings-field>div:first-child>span{color:#53637a;font-size:13px}.settings-field input[type=range]{width:100%;margin:24px 0 12px}.settings-field>p{font-size:12px;color:#53637a;line-height:1.9;margin-top:7px}.volume-setting{display:flex;align-items:center;gap:13px;margin-top:12px}.volume-setting input[type=range]{margin:0}.volume-setting .icon-button{color:#53637a}.settings-switch{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer}.settings-switch strong{font-size:14px;font-weight:450}.settings-switch small{font-size:12px;display:block;line-height:1.8;color:#53637a;margin-top:7px}.settings-switch input{appearance:none;width:32px;height:18px;background:var(--line);border-radius:20px;position:relative;flex-shrink:0}.settings-switch input:after{content:"";width:12px;height:12px;border-radius:50%;position:absolute;left:3px;top:3px;background:var(--surface);box-shadow:0 1px 3px #1b305222;transition:transform .15s ease}.settings-switch input:checked{background:#53637a}.settings-switch input:checked:after{transform:translate(14px)}.completion-modal .modal-heading h2{font-size:12px;color:#53637a}.completion-art{display:flex;align-items:center;justify-content:center;gap:27px;margin:20px 0 24px;color:#53637a}.completion-art>span{width:88px;height:88px;background:var(--mist);border:1px solid #c1cede;color:#53637a;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 0 0 8px var(--paper)}.completion-art>svg:first-child{transform:translateY(-15px)}.completion-art>svg:last-child{transform:translateY(15px)}.completion-modal .eyebrow{text-align:center;font-size:9px;color:#53637a}.completion-modal h3{font-size:25px;letter-spacing:1px;font-weight:500;text-align:center;color:#3d567c;margin-top:14px}.completion-description{font-size:11px;text-align:center;color:#53637a;line-height:1.9;margin-top:15px}.completion-stats{display:flex;background:var(--mist);border-radius:9px;margin:26px 0 0;padding:20px 0}.completion-stats>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;border-right:1px solid var(--line)}.completion-stats>div:last-child{border:0}.completion-stats strong{font-size:23px;font-weight:450;color:#53637a;font-variant-numeric:tabular-nums}.completion-stats strong>small{font-size:11px;margin-left:3px}.completion-stats>div>span{font-size:8px;color:#53637a}.practice-advance-settings{padding-bottom:20px;border-bottom:1px solid var(--line)}.practice-advance-settings>.settings-switch{padding-bottom:0;border-bottom:0}.practice-advance-suboption{margin:14px 0 0 10px;padding-left:14px;border-left:2px solid var(--line)}.practice-advance-suboption .settings-switch{padding:4px 0;gap:16px;border-bottom:0}.practice-advance-suboption .settings-switch strong{font-size:13px}.practice-advance-suboption .settings-switch small{font-size:11px;line-height:1.7;margin-top:4px}.notice{border:1px solid #e3d6b7;border-radius:7px;background:#faf4e5;color:#765a2b;font-size:13px;line-height:1.8;padding:12px 16px;margin-bottom:20px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modal-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.main-content{padding-left:46px;padding-right:46px}.workspace-grid{grid-template-columns:minmax(0,1fr) 267px;gap:28px}.exercise-card-top,.exercise-title-row,.exercise-description,.exercise-selectors,.chord-progression,.score-section{margin-left:26px;margin-right:26px}.exercise-card-top{padding-left:0;padding-right:0}.score{height:146px}.daily-card{padding:24px 23px 0}.daily-card h2{font-size:18px}.daily-ring{margin-top:26px;margin-bottom:11px}.daily-card-footer{min-height:49px}}@media(max-width:1200px){.sidebar{width:193px;padding-left:13px;padding-right:13px}.brand{padding-left:5px;gap:7px}.brand>span:last-child{font-size:24px}.brand-icon{width:32px;height:36px}.brand small{font-size:6px;letter-spacing:1px}.main-shell{margin-left:193px;width:calc(100% - 193px)}.main-content{padding:27px 25px 0}.topbar{padding:0 25px}.workspace-grid{grid-template-columns:minmax(0,1fr) 213px;gap:18px}.exercise-card-top{padding:13px 18px 0}.exercise-title-row,.exercise-description,.exercise-selectors,.chord-progression,.score-section{margin-left:18px;margin-right:18px}.transport{padding-left:18px;padding-right:18px}.transport-divider{margin:0 4px}.session-timer{gap:3px;font-size:10px}.transport .primary-button,.transport .secondary-button{padding:9px 11px;font-size:9px;gap:7px}.practice-start{min-width:123px}.tempo-row{padding-left:18px;padding-right:18px;gap:9px}.tempo-label{display:none}.tempo-slider{max-width:120px}.chord-step{padding-left:11px;padding-right:11px}.current-caption{font-size:6px}.exercise-selectors{gap:9px;grid-template-columns:1.4fr .8fr 1fr}.select-field select{font-size:9px;padding-left:8px}.daily-card{padding:19px 17px 0}.daily-card h2{font-size:14px}.daily-card-heading>span{font-size:7px;letter-spacing:1.2px}.daily-ring{width:139px;height:139px}.daily-card-footer>span{font-size:8px}.piano-heading,.key-legend{gap:8px}.key-legend>span{font-size:7px}.piano-card{padding:0 13px}.practice-tabs button>span{font-size:7px}.recommendation{padding:12px;gap:9px}.recommendation h4{font-size:9px}.recommendation-icon{width:32px;height:36px}.library-art{padding:18px 13px}.library-art-chords,.library-art-chords>span{gap:4px}.library-card-content{padding-left:16px;padding-right:16px}.library-card h2{font-size:12px}}@media(max-width:1050px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.practice-aside{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:10px}.daily-card{padding:20px 17px 0}.daily-card h2{font-size:13px}.daily-card>p{font-size:8px}.daily-ring{width:106px;height:106px;margin:14px auto 0}.daily-ring strong{font-size:28px}.daily-ring strong span{font-size:16px}.daily-ring>div>span{font-size:7px}.ring-leaf{font-size:16px;width:21px;height:21px;right:7px;bottom:0}.daily-card-footer>span{font-size:7px;gap:4px}.session-card,.tip-card{margin:0}.session-card{display:flex;flex-direction:column}.session-card>p{margin-top:auto}.session-stat{min-height:50px}.session-stat>span{font-size:9px}.tip-card{display:flex;flex-direction:column}.tip-label{gap:5px}.tip-label>span{font-size:7px;letter-spacing:1px}.tip-card h3{font-size:12px}.tip-card>p{font-size:9px}.tip-footer{margin-top:auto}.tip-footer>span:first-child{font-size:6px;letter-spacing:1.2px}.guide-link,.intro-mark{display:none}.practice-tabs button>span{font-size:8px}.chord-step{min-height:99px}.current-caption{font-size:7px}.transport .primary-button,.transport .secondary-button{font-size:10px;padding:10px 15px}.tempo-slider{max-width:190px}.tempo-label{display:initial}.piano-heading .section-label h3{font-size:11px}.piano-keys{height:145px}.black-key{height:88px}.key-legend>span{font-size:8px}.page-footer>span:last-child{display:none}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.library-card h2{font-size:14px}.library-art-chords{font-size:22px}.library-toolbar{gap:12px}.search-field input{width:115px}.filter-tabs button{padding:8px;font-size:10px;gap:5px}.progress-summary{gap:12px}.summary-card{padding:16px}.summary-card>p{font-size:13px}.summary-card>strong{font-size:28px}.summary-icon{width:30px;height:30px}.page-progress .page-intro{align-items:flex-start}.page-progress .page-intro .secondary-button{font-size:9px;padding:8px 10px;gap:6px;margin-top:17px}.page-progress .page-intro h1{font-size:23px}.weekly-card{padding:24px 20px 20px}.weekly-chart{padding-left:10px;padding-right:10px}.week-total{font-size:12px}.week-total strong{font-size:11px}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .2s ease;width:218px;padding:26px 18px 15px}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:29;background:#1b305266;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.brand{padding-left:7px;gap:9px}.brand>span:last-child{font-size:26px}.brand-icon{width:35px;height:39px}.brand small{font-size:7px}.main-shell{width:100%;margin-left:0}.topbar{height:59px;padding:0 20px}.topbar-left{gap:9px}.topbar-left>svg:first-of-type,.topbar-left>span,.topbar-left>svg:nth-of-type(2){display:none}.topbar-left>strong{font-size:11px}.mobile-menu-button{display:inline-flex;color:#53637a;margin-left:-6px}.topbar-right{gap:9px}.topbar-divider{display:none}.midi-status{padding:5px 8px;font-size:9px}.help-button{font-size:9px}.help-button>span{display:none}.sound-toggle{width:25px}.main-content{padding:27px 23px 0}.page-intro{margin-bottom:24px}.page-intro .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:10px}.page-intro h1{font-size:25px;letter-spacing:.6px}.page-description{font-size:10px;margin-top:9px}.page-count{font-size:8px}.workspace-grid{gap:19px}.practice-tabs{height:39px;margin-bottom:17px}.practice-tabs button{font-size:12px}.practice-tabs button>span{font-size:7px}.exercise-title-row h2{font-size:19px}.exercise-card-top{padding-top:14px}.exercise-title-row{margin-top:9px}.exercise-description{font-size:10px}.chord-symbol{font-size:29px}.piano-keys{height:148px}.recommendation h4{font-size:10px}.practice-aside{gap:12px}.daily-card{padding:18px 14px 0}.daily-card-heading>span{font-size:6px;letter-spacing:1px}.daily-card h2{font-size:12px}.daily-card-heading svg{width:13px}.daily-card-footer{min-height:38px}.daily-card-footer>span{font-size:6px}.daily-card-footer>span svg{width:11px}.daily-card-footer button svg{width:12px}.session-card,.tip-card{padding:18px 14px 0}.aside-section-title h3{font-size:10px}.session-stat{min-height:42px}.session-stat>span{font-size:8px}.session-stat>strong{font-size:18px}.session-card>p{font-size:7px}.tip-card>p{font-size:8px}.tip-card h3{font-size:11px}.tip-label>span{font-size:6px}.tip-footer{padding-bottom:12px}.tip-footer>span:first-child{font-size:5px;letter-spacing:1px}.tip-footer>span:last-child{font-size:25px}.page-footer{margin-top:26px}.progress-summary{margin-top:23px}.library-toolbar{margin-top:26px}}@media(max-width:520px){body{min-width:360px}.main-content{padding:23px 16px 0}.topbar{padding:0 16px}.topbar-left>strong{font-size:10px}.topbar-right{gap:7px}.midi-status{font-size:8px;gap:5px}.page-intro{min-height:85px;margin-bottom:21px;gap:10px}.page-intro .eyebrow{font-size:6.5px;letter-spacing:1.3px}.page-intro h1{font-size:22px;letter-spacing:.25px}.page-description{font-size:9px;line-height:1.9;margin-top:8px}.practice-tabs{gap:3px}.practice-tabs button{font-size:11px;gap:6px;padding:0 10px 10px}.practice-tabs button:first-child{padding-right:16px}.practice-tabs button>span{font-size:6px;letter-spacing:.7px;margin-left:3px}.practice-tabs button svg{width:16px}.exercise-card-top{padding:12px 14px 0}.exercise-title-row,.exercise-description,.exercise-selectors,.chord-progression{margin-left:14px;margin-right:14px}.exercise-title-row{gap:9px}.exercise-title-row h2{font-size:17px}.exercise-title-row .level-badge{font-size:8px;padding:3px 7px}.exercise-description{font-size:9px;line-height:1.9;margin-top:9px}.exercise-overline{font-size:7px;letter-spacing:1.2px}.exercise-selectors{grid-template-columns:1fr 1fr;gap:12px 9px;margin-top:16px}.exercise-select{grid-column:span 2}.select-field>span{font-size:8px}.select-field select{font-size:10px;height:34px;padding-left:10px}.chord-progression{gap:13px;margin-top:20px;margin-bottom:16px}.chord-step{min-height:94px;padding:10px 9px}.chord-symbol{font-size:25px;margin-top:9px}.chord-step-top{font-size:7px}.roman{font-size:10px}.current-caption{font-size:0}.current-caption i{width:4px;height:4px}.chord-notes{font-size:7px;letter-spacing:0;white-space:nowrap;margin-top:7px}.chord-arrow{right:-13px;width:12px}.four-chords{gap:8px}.four-chords .chord-step{padding:9px 7px;min-height:88px}.four-chords .chord-symbol{font-size:19px}.four-chords .chord-notes{font-size:6px}.four-chords .chord-arrow{right:-9px;width:9px}.four-chords .current-caption{font-size:0}.score-section{margin-left:14px;margin-right:14px;padding:11px 9px 0}.score-heading>span{font-size:7px;gap:3px}.score-heading>span svg{width:11px}.score-heading .check-label{font-size:7px;gap:3px}.score-heading .check-label input{width:10px;height:10px}.score{min-width:425px;height:123px}.phrase-score .score{min-width:720px;height:151px}.practice-feedback{padding:10px 14px 0;font-size:8px;align-items:flex-start;line-height:1.9;min-height:37px}.feedback-icon{padding-top:1px}.feedback-icon svg{width:13px}.played-notes{display:none}.transport{padding:12px 14px 14px;flex-wrap:wrap;gap:9px}.transport-primary{width:100%;gap:8px}.transport .primary-button,.transport .secondary-button{flex:1;font-size:10px;padding:10px 11px;min-height:39px}.transport-tools{width:100%;justify-content:flex-end;gap:7px}.transport-tools .icon-button:first-child{margin-right:auto}.transport-tools .icon-button{width:28px;height:25px}.session-timer{font-size:11px}.tempo-row{padding:12px 14px;gap:7px}.tempo-label{display:none}.tempo-value{gap:3px}.tempo-value strong{font-size:12px;min-width:23px}.tempo-slider{max-width:none}.piano-card{margin-top:16px;padding:0 10px}.piano-heading{gap:7px;flex-wrap:wrap;padding:11px 0;min-height:44px}.piano-heading .section-label h3{font-size:9px}.piano-heading .section-label svg{width:15px}.piano-heading .section-label{gap:5px}.key-legend{gap:6px}.key-legend>span{font-size:6px;gap:3px}.key-legend i{width:6px;height:6px}.piano-keys{min-width:520px;height:144px}.black-key{height:85px}.piano-footer{flex-wrap:wrap;gap:7px;min-height:48px;padding:6px 0}.piano-footer .check-label{font-size:7px;gap:4px}.piano-footer .check-label input{height:10px;width:10px}.release-button{font-size:7px}.under-piano{font-size:7px;line-height:1.8;align-items:flex-start;padding-top:9px}.under-piano .text-button{font-size:7px;white-space:nowrap}.under-piano .small-status-dot{flex-shrink:0}.next-practice{margin-top:24px}.subsection-heading h3{font-size:11px}.subsection-heading .text-button{font-size:8px}.recommendation-grid{grid-template-columns:1fr;gap:9px;margin-top:13px}.recommendation{min-height:72px;padding:12px 14px}.recommendation h4{font-size:11px}.recommendation>div>span{font-size:8px}.recommendation-icon{width:38px;height:41px}.practice-aside{grid-template-columns:1fr 1fr;margin-top:6px;gap:12px}.daily-card h2{font-size:13px}.daily-card-heading>span{font-size:6px}.daily-card-footer>span{font-size:7px}.daily-ring{width:113px;height:113px;margin-top:17px}.session-card{padding-top:20px}.aside-section-title h3{font-size:11px}.session-stat{min-height:46px}.session-stat>span{font-size:9px}.session-stat>strong{font-size:21px}.session-card>p{font-size:7px}.tip-card{display:none}.page-footer{padding:20px 0;margin-top:25px}.footer-brand{font-size:14px}.page-footer>span:nth-child(2){font-size:7px;letter-spacing:0}.library-toolbar{flex-direction:column;align-items:stretch;margin-top:20px;gap:15px}.filter-tabs{gap:5px}.filter-tabs button{padding:8px 12px;font-size:11px;gap:7px}.search-field{padding:11px}.search-field input{width:100%;font-size:11px}.page-count{display:none}.library-grid{gap:13px}.library-art{height:118px;padding:20px 10px}.library-art-index{top:13px;left:12px;font-size:6px}.library-art-chords{font-size:13px;gap:2px;letter-spacing:-.6px}.library-art-chords>span{gap:2px}.library-art-chords i{font-size:9px}.art-mode{font-size:6px;right:10px;bottom:10px}.art-mode svg{width:11px}.phrase-art{transform:scale(.8);transform-origin:center}.library-card-content{padding:13px 12px 0}.library-meta{gap:7px}.library-meta .level-badge{font-size:8px;padding:2px 6px}.library-meta>span:last-child{font-size:7px;gap:3px}.library-meta svg{width:10px}.library-card h2{font-size:11px;line-height:1.8;margin-top:13px}.library-card-content>p{font-size:8px;line-height:1.8;margin:6px 0 15px}.library-card-footer{padding:12px 0;gap:5px;flex-wrap:wrap}.library-card-footer>span:first-child{font-size:7px}.library-card-footer>span:last-child{font-size:8px;gap:3px;margin-left:auto}.library-card-footer svg{width:12px}.library-footnote{margin-top:22px;padding:16px;align-items:flex-start;font-size:9px;gap:10px}.library-footnote svg{flex-shrink:0}.page-progress .page-intro{flex-direction:column;gap:16px}.page-progress .page-intro h1{font-size:23px}.page-progress .page-intro .secondary-button{margin-top:0;font-size:10px}.progress-summary{grid-template-columns:1fr;margin-top:21px;gap:12px}.summary-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:19px}.summary-card>p{font-size:13px}.summary-card>strong{font-size:32px;margin-top:0}.summary-icon{width:33px;height:33px;margin-bottom:0}.weekly-card,.history-card{margin-top:18px;padding:21px 16px 15px}.weekly-card .subsection-heading{flex-direction:column;align-items:flex-start;gap:12px}.subsection-heading h2{font-size:15px}.weekly-card .eyebrow{font-size:7px}.week-total{font-size:12px}.weekly-chart{padding:25px 0 0;gap:8px}.chart-bar{width:65%}.chart-date{font-size:12px}.chart-date small{font-size:11px}.bar-space>span{font-size:11px}.history-card{padding-bottom:0}.history-card .subsection-heading{padding-bottom:15px}.history-card .muted-text{font-size:12px}.empty-state{padding:35px 8px;gap:10px}.empty-state p{font-size:9px}.empty-state h3{font-size:14px}.empty-state .primary-button{font-size:10px}.history-row{gap:9px;padding:18px 0;flex-wrap:wrap}.history-row .recommendation-icon{width:32px;height:36px}.history-title h3{font-size:13px}.history-title p{font-size:11px}.history-time{font-size:12px;gap:4px}.history-time svg{width:11px}.history-row>strong{min-width:38px;font-size:14px;margin-right:0}.history-row>strong small{font-size:11px}.history-check{display:none}.progress-footer{font-size:12px;flex-direction:column;gap:12px}.progress-footer .text-button{font-size:12px;align-self:flex-end}.modal-inner{padding:22px 21px}.modal-heading h2{font-size:15px}.modal-actions{gap:8px}.modal-actions button{font-size:13px;padding:10px;gap:6px}.midi-dialog-status h3{font-size:16px}.midi-dialog-status p{font-size:13px}.connection-steps{padding:15px}.connection-steps li{font-size:12px;gap:8px}.modal-footnote{font-size:12px}.settings-field>div:first-child,.settings-switch strong{font-size:14px}.settings-field>p,.settings-switch small{font-size:12px}.completion-stats strong{font-size:22px}.completion-stats>div>span{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.nav-item{font-size:13px;color:#53637a}.sidebar-note,.sidebar-footer{color:#53637a}.midi-card p{font-size:11px;color:#53637a}.midi-card h3,.midi-card button{font-size:12px}.page-description,.exercise-description{color:#53637a;font-size:12px}.exercise-overline{color:#53637a;font-size:9px}.select-field>span{color:#3d567c;font-size:10px}.select-field select{font-size:11px;height:36px}.chord-notes,.current .chord-notes{font-size:11px;color:#53637a}.current-caption{color:#3d567c;font-size:8px}.score-heading>span,.score-heading .check-label{font-size:10px;color:#53637a}.practice-feedback{font-size:11px;color:#3d567c}.transport .primary-button,.transport .secondary-button{font-size:12px;min-height:40px}.tempo-label,.tempo-value>span{color:#53637a;font-size:9px}.tempo-value strong{font-size:14px}.session-timer{font-size:12px;color:#3d567c}.piano-heading .section-label h3{font-size:12px}.key-legend>span{color:#53637a;font-size:9px}.key-octave,.piano-footer .check-label,.release-button,.under-piano,.under-piano .text-button{font-size:9px;color:#53637a}.daily-card-heading{color:#53637a}.daily-card>p{font-size:10px;color:#53637a}.daily-ring strong span,.daily-ring>div>span{color:#53637a}.daily-card-footer,.daily-card-footer button{color:#53637a}.aside-section-title h3{font-size:12px}.session-stat>span{font-size:11px;color:#53637a}.session-card>p{font-size:9px;color:#53637a}.tip-card>p{font-size:11px;color:#83825e}.tip-label{color:#8c8156}.guide-link>span{font-size:11px}.guide-link small{font-size:9px;color:#53637a}.recommendation h4{font-size:12px}.recommendation>div>span{font-size:9px;color:#53637a}.subsection-heading .text-button{color:#53637a;font-size:10px}.page-footer{color:#53637a}.library-card-content>p{font-size:11px;color:#53637a}.library-meta>span:last-child,.library-card-footer>span:first-child{color:#53637a}.library-footnote{color:#3d567c;font-size:11px}.summary-card>p,.history-title p{color:#53637a}.week-total,.muted-text,.empty-state p,.progress-footer{color:#53637a}details>p{color:#53637a;font-size:11px}.modal-description,.midi-dialog-status p,.settings-field>p,.settings-switch small,.completion-description{color:#53637a}.modal-footnote{color:#53637a}.connection-steps li{color:#3d567c}@media(max-width:1200px)and (min-width:1051px){.transport .primary-button,.transport .secondary-button{font-size:10px}.current-caption{font-size:7px}.chord-notes,.piano-heading .section-label h3{font-size:10px}}@media(max-width:760px){.page-description,.exercise-description{font-size:11px}.practice-feedback{font-size:10px}.session-stat>span{font-size:10px}}@media(max-width:520px){.page-description{font-size:10px}.history-title{flex:1 1 calc(100% - 41px);min-width:0}.exercise-description{font-size:10px}.exercise-overline{font-size:8px}.select-field>span{font-size:10px}.select-field select{font-size:11px}.current-caption,.four-chords .current-caption{font-size:0}.chord-notes,.current .chord-notes{font-size:9px}.four-chords .chord-notes{font-size:7px}.score-heading>span,.score-heading .check-label{font-size:8px}.practice-feedback{font-size:9px}.transport .primary-button,.transport .secondary-button{font-size:11px;min-height:42px}.tempo-value>span{font-size:8px}.piano-heading .section-label h3{font-size:10px}.key-legend>span{font-size:8px}.piano-footer .check-label,.release-button,.under-piano,.under-piano .text-button{font-size:8px}.daily-card>p{font-size:9px}.daily-card-footer>span{font-size:8px}.session-stat>span{font-size:9px}.session-card>p{font-size:8px}.recommendation h4{font-size:12px}.recommendation>div>span{font-size:10px}.library-card-content>p{font-size:9px}.library-meta>span:last-child,.library-card-footer>span:first-child{font-size:8px}.library-footnote,details>p{font-size:10px}}.sidebar{width:218px;padding:30px 14px 20px;background:#2b3f5c;color:#e1e8f3;border-color:#34465f;scrollbar-gutter:stable}.sidebar .brand,.sidebar .nav-item,.sidebar .sidebar-account{color:#edf2fa}.sidebar-note,.sidebar-footer{color:#d2deee}.sidebar .brand-icon{background:#edf0f4;color:#1b3052;border:1px solid #fff9}.sidebar .nav-item:hover,.sidebar .sidebar-account:hover{background:#3b5476;color:#fff}.sidebar .nav-item.active,.sidebar .nav-item.active:hover{background:#e1e9f4;color:#1b3052;font-weight:600;box-shadow:inset 3px 0 #92abc9}.sidebar .nav-parent.section-active{color:#fff}.sidebar .nav-item small,.sidebar .brand small,.sidebar .nav-eyebrow{color:#d2deee}.sidebar .nav-item.active small{color:#3d567c}.sidebar .nav-active-dot{flex-shrink:0;background:currentColor}.sidebar .nav-submenu,.sidebar-footer{border-color:#6d83a2}.sidebar :focus-visible{outline-color:#fff}.sidebar .nav-item>svg,.sidebar .sidebar-account>svg{stroke-width:1.9}.sidebar .brand{padding:0 7px;gap:10px}.sidebar .brand>span:last-child{font-size:23px;line-height:1.15;letter-spacing:-.7px}.sidebar nav{margin-top:26px;gap:6px;flex-shrink:0}.sidebar .nav-item{min-height:42px;padding-inline:10px;gap:8px;font-size:14px;font-weight:500;white-space:nowrap}.nav-parent{width:100%}.nav-parent.section-active{color:var(--navy);font-weight:600}.nav-parent-chevron{margin-left:auto;flex-shrink:0}.nav-parent[aria-expanded=true] .nav-parent-chevron{transform:rotate(180deg)}.nav-submenu{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 22px;padding-left:10px;border-left:1px solid var(--line)}.nav-submenu[hidden]{display:none}.sidebar .nav-subitem{min-height:36px;padding:0 10px;font-size:13px;gap:7px}.sidebar .nav-learn-group .nav-subitem{padding:8px 4px;white-space:normal;text-wrap:balance;line-height:1.6}.nav-item small{margin-left:auto;flex-shrink:0;white-space:nowrap;font-size:10px;font-weight:500;color:#53637a}.sidebar .nav-subitem small{flex-shrink:1;white-space:normal}.nav-item small+.nav-active-dot{margin-left:0}.nav-secondary-start{margin-top:18px}.sidebar-bottom{padding-top:20px}.sidebar .sidebar-account{padding:16px 10px 12px;font-size:13px;font-weight:500;white-space:nowrap}.sidebar-account>svg{flex-shrink:0}.sidebar-account-info{display:grid;min-width:0;gap:2px;text-align:left;line-height:1.5}.sidebar-account-name{overflow:hidden;text-overflow:ellipsis}.sidebar-account-status{color:#d2deee;font-size:11px;font-weight:400}.main-shell{margin-left:218px;width:calc(100% - 218px)}.topbar{height:64px;background:transparent;padding:0 36px}.topbar-left>strong{font-size:13px}.topbar .midi-status{min-height:34px;font-size:12px}.topbar-left{min-width:0}.topbar-left>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{flex-shrink:0;gap:8px}.topbar .icon-button{flex-shrink:0;width:36px;height:36px}.midi-status-short{display:none}.settings-language{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.settings-language select{min-width:0;max-width:65%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:13px}.main-content{padding-bottom:36px}.page-studio{max-width:980px;padding:34px 36px}.page-studio .page-intro{min-height:0;margin-bottom:28px}.page-studio .page-intro h1{font-size:27px;letter-spacing:0}.page-studio .page-description{margin-top:8px;font-size:13px;color:#53637a}.page-studio .workspace-grid{display:block}.course-coming-soon{max-width:640px;margin-top:12px;padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:12px;background:var(--surface)}.course-coming-soon h1{font-size:26px;margin-top:12px}.course-coming-soon>p:not(.eyebrow){margin-top:20px;font-size:13px;color:#53637a;line-height:2}.course-coming-soon .primary-button{margin-top:28px}.page-studio .exercise-card{border-radius:12px;box-shadow:none}.page-studio .exercise-title-row{margin:24px 24px 0}.page-studio .exercise-title-row h2{font-size:21px}.page-studio .exercise-description{margin:8px 24px 0;font-size:12px;color:#53637a}.page-studio .exercise-select{grid-column:auto}.page-studio .exercise-selectors{grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin:22px 24px 0;gap:16px}.page-studio .select-field>span{font-size:12px;color:#3d567c}.page-studio .select-field select{height:42px;font-size:13px;background-color:var(--surface)}.page-studio .chord-progression{margin:24px;gap:18px}.page-studio .chord-step{min-height:103px;padding:14px;background:var(--surface)}.page-studio .chord-step.current{background:var(--mist);border-color:#53637a}.page-studio .chord-symbol{font-size:30px}.page-studio .chord-notes{font-size:11px;color:#3d567c}.page-studio .roman{font-size:12px}.page-studio .current-caption{font-size:9px}.page-studio .chord-arrow{right:-17px}.practice-disclosure{padding:0;border-bottom:0}.practice-disclosure>summary{cursor:pointer;padding:15px 0;font-size:12px;color:#3d567c}.practice-disclosure>summary::marker{font-size:10px}.practice-disclosure>summary>span{float:right;font-size:11px;font-weight:400;color:#53637a}.practice-disclosure[open]>summary{font-weight:600}.page-studio .score-disclosure{margin:0 24px;border-top:1px solid var(--line)}.page-studio .score-section{margin:0 0 14px;padding:8px}.page-studio .practice-feedback{margin:0 24px;padding:12px 0 0;min-height:40px;font-size:12px;line-height:1.7;color:#3d567c}.page-studio .practice-feedback.feedback-wrong{color:#9c6c35}.page-studio .played-notes{font-size:11px}.page-studio .transport{padding:16px 24px 24px;gap:14px}.page-studio .transport .primary-button,.page-studio .transport .secondary-button{min-height:44px;padding:11px 18px;font-size:13px}.page-studio .transport-tools{gap:8px}.page-studio .session-timer{font-size:12px}.page-studio .practice-options{border-top:1px solid var(--line);padding:0 24px}.practice-option-fields{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:6px 0 20px}.practice-option-fields .select-field{min-width:190px}.page-studio .check-label{font-size:12px;color:#3d567c;gap:7px}.page-studio .check-label input{width:15px;height:15px}.page-studio .tempo-row{padding:16px 0 20px;background:transparent;gap:12px;flex-wrap:wrap}.page-studio .tempo-label{display:inline;font-size:12px}.page-studio .tempo-slider{flex:1;max-width:none;min-width:70px}.page-studio .piano-card{margin-top:20px;padding:0 20px;border-radius:12px}.page-studio .piano-heading{min-height:52px;padding:12px 0;justify-content:space-between}.page-studio .section-label h3{font-size:13px}.page-studio .key-legend{margin-left:auto;gap:14px}.page-studio .key-legend>span{font-size:11px}.page-studio .piano-keys{height:160px}.keyboard-options{margin-top:12px;border-top:1px solid var(--line)}.page-studio .piano-footer{padding:4px 0 18px;gap:14px;flex-wrap:wrap;border:0}.page-studio .release-button{font-size:11px}.page-studio .keyboard-options .release-button{margin:0 0 0 auto}.page-studio .session-details{margin-top:20px;border-top:1px solid var(--line)}.session-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.session-summary .session-stat{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0;border:0}.daily-summary{padding:12px 0;font-size:12px;color:#53637a}@media(max-width:760px){.sidebar{width:218px}.main-shell{margin-left:0;width:100%}.topbar{padding:0 20px;height:60px}.topbar .icon-button{width:40px;height:40px}.topbar-right{gap:2px}.topbar .midi-status{min-height:40px;margin-inline:6px}.midi-status-label{display:none}.midi-status-short{display:inline}.settings-language{flex-direction:column;align-items:stretch;gap:10px;padding-block:18px}.settings-language select{max-width:none;width:100%}.page-studio{padding:24px 20px}.page-studio .page-intro h1{font-size:24px}.page-studio .page-intro{margin-bottom:24px}.page-studio .exercise-title-row{margin:20px 18px 0}.page-studio .exercise-title-row h2{font-size:19px}.page-studio .exercise-description{margin:8px 18px 0}.page-studio .exercise-selectors{margin:20px 18px 0;gap:12px}.page-studio .chord-progression{margin:20px 18px;gap:12px}.page-studio .chord-step{padding:12px 9px;min-height:98px}.page-studio .chord-symbol{font-size:25px}.page-studio .chord-notes{font-size:10px;letter-spacing:0;line-height:1.6}.page-studio .current-caption{display:none}.page-studio .chord-arrow{width:10px;right:-12px}.page-studio .four-chords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.page-studio .four-chords .chord-arrow{display:none}.page-studio .score-disclosure,.page-studio .practice-feedback{margin:0 18px}.page-studio .transport{padding:14px 18px 20px;flex-wrap:wrap}.page-studio .transport-primary{width:100%}.page-studio .transport .primary-button,.page-studio .transport .secondary-button{flex:1;min-width:0;padding:10px 8px;font-size:12px;gap:6px}.page-studio .transport-tools{width:100%}.page-studio .practice-options{padding:0 18px}.practice-options>summary>span{float:none;display:block;margin:6px 0 0 14px}.practice-option-fields{gap:18px}.practice-option-fields .select-field{width:100%}.page-studio .tempo-label{display:none}.page-studio .piano-card{padding:0 12px}.page-studio .key-legend{gap:10px}.page-studio .key-legend>span{font-size:10px}.page-studio .session-summary{gap:12px}.session-summary .session-stat>span{font-size:10px}}.legend-target{background:#edca75;border-color:#967022}.legend-played{background:#2476bb}.white-key.target-key,.white-key.demo-key{background:#dfc994;border-color:#a08750}.black-key.target-key,.black-key.demo-key{background:#ac8036;border-color:#765722}.white-key.completed-key,.white-key.pressed-key{background:#2879b9;border-color:#175484}.black-key.completed-key,.black-key.pressed-key{background:#16578c;border-color:#103c61}.target-key .key-note,.demo-key .key-note,.target-key .key-octave,.demo-key .key-octave{color:#533d0f}.black-key.target-key .key-note,.black-key.demo-key .key-note{color:#241900}.completed-key .key-note,.pressed-key .key-note,.black-key.completed-key .key-note,.black-key.pressed-key .key-note,.completed-key .key-octave,.pressed-key .key-octave{color:#fff}.key-check{position:absolute;top:10px;color:#fff;font-size:16px;font-weight:700}.black-key .key-check{top:auto;bottom:4px;font-size:12px;line-height:1}.midi-auto-connect{margin-top:16px}.midi-auto-connect label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;line-height:1.7}.midi-auto-connect input{flex-shrink:0;width:16px;height:16px;margin:3px 0 0}.midi-auto-connect label:has(input:disabled){color:#6c7c91;cursor:default}.midi-auto-connect p{margin:6px 0 0 26px;color:#53637a;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.microphone-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--border, #d5dce5);border-radius:6px;background:transparent;color:var(--muted, #637087);font-size:11px;white-space:nowrap}.microphone-status.connected{color:#26755d;background:#e4f0eb;border-color:#bad8ca}.microphone-dialog .modal-inner{display:flex;flex-direction:column;gap:20px;padding:24px 26px}.microphone-dialog .modal-heading h2{display:flex;align-items:center;gap:9px}.microphone-dialog .modal-description{margin:0;line-height:1.8}.microphone-input-note{display:block;margin-top:8px;font-size:12px;line-height:1.65}.microphone-information{display:grid;gap:0;min-width:0}.microphone-dialog .microphone-help{padding:0;border:0;color:var(--muted);font-size:8pt;line-height:1.75}.microphone-help>summary{min-height:28px;padding:5px 0;font-size:inherit;line-height:1.6}.microphone-help>p{margin:8px 0 12px;padding:0;font-size:inherit;line-height:inherit}.microphone-help>ol{margin:8px 0 12px 20px;padding:0}.microphone-help li+li{margin-top:10px}.microphone-help li p{margin:4px 0 0}.microphone-input-settings{display:grid;gap:12px;min-width:0}.microphone-preparation{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:13px;line-height:1.65}.microphone-preparation p{margin:0}.microphone-dialog .modal-select{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:16px;min-width:0;margin:0}.microphone-dialog .modal-select select{min-width:0}.microphone-dialog .notice{margin:0}.microphone-meter,.microphone-notes{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:16px;margin:0;font-size:13px;line-height:1.6}.microphone-meter meter{width:100%;height:15px}.microphone-notes output{min-height:21px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.microphone-dialog .modal-actions{flex-wrap:wrap;margin:0}.microphone-dialog .modal-actions button{flex:1 1 130px;min-height:44px}.microphone-dialog .modal-footnote{align-items:flex-start;justify-content:flex-start;gap:7px;margin:0;padding-top:14px;border-top:1px solid var(--soft-line);line-height:1.7;text-align:left}.microphone-dialog .modal-footnote svg{flex-shrink:0;margin-top:3px}@media(max-width:480px){.microphone-dialog .modal-inner{padding:20px}.microphone-dialog .modal-select{grid-template-columns:minmax(0,1fr);gap:6px}.microphone-meter,.microphone-notes{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px}}@media(max-height:440px){.microphone-dialog .modal-inner{gap:14px;padding:16px 20px}}@media(max-width:760px),(max-height:440px){.microphone-status{padding:6px;min-width:30px;justify-content:center}.microphone-status>span{display:none}}.intro-overview{max-width:1040px;margin:0 auto}.intro-overview .page-intro{align-items:center}.intro-overview .page-description{line-height:1.9}.intro-overview-icon{display:grid;place-items:center;width:84px;height:84px;flex-shrink:0;color:var(--navy);background:var(--mist);border-radius:24px}.intro-overview-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.intro-overview-list-heading h2{font-size:20px;font-weight:550}.intro-overview-list-heading p{font-size:12px;color:#3d567c;margin-top:6px}.intro-overview-list-heading>span{font-size:12px;color:#3d567c;white-space:nowrap}.intro-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}.lesson-theme{padding:22px;margin-bottom:20px;border:1px solid #a6b7ce;border-radius:14px;background:var(--surface)}.lesson-theme-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;color:#3d567c;font-size:11px}.lesson-theme-heading h3{color:var(--navy);font-size:21px;font-weight:550;line-height:1.6}.lesson-theme-description{margin:8px 0 20px;font-size:13px;line-height:1.9;color:#3d567c}.lesson-theme-description:last-child{margin-bottom:0}.lesson-theme.is-collapsible{padding:0;border-color:#a6b7ce;background:var(--surface);box-shadow:0 2px 6px #1b30520a}.lesson-theme.is-collapsible .lesson-theme-heading{display:block}.lesson-theme-toggle{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;padding:18px 22px;border:0;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left}.lesson-theme-toggle:hover{background:#eaf0f7}.lesson-theme-toggle:focus-visible{outline:2px solid var(--navy);outline-offset:-4px}.lesson-theme-name{flex:1;min-width:0}.lesson-theme-phrase{white-space:nowrap}.lesson-theme-count{flex-shrink:0;color:#3d567c;font-size:11px;font-weight:400;white-space:nowrap}.lesson-theme-chevron{flex-shrink:0}.lesson-theme-toggle[aria-expanded=true]{border-radius:13px 13px 0 0}.lesson-theme-toggle[aria-expanded=true] .lesson-theme-chevron{transform:rotate(180deg)}.lesson-theme.is-collapsible .lesson-theme-content{padding:18px 22px 22px;border-top:1px solid var(--line);border-radius:0 0 13px 13px;background:var(--mist)}.lesson-theme .intro-course-grid{grid-template-columns:1fr;gap:8px}.library-lesson-theme{display:block;margin-top:14px;font-size:11px;line-height:1.7;color:#3d567c}.intro-course-card{display:flex;flex-direction:column;width:100%;height:100%;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--navy);text-align:left;transition:border-color .15s,background .15s}.intro-course-card:hover,.intro-course-card:focus-visible{border-color:#a0aec4;background:var(--surface)}.intro-course-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:16px}.intro-course-card-top .intro-lesson-number{width:26px;height:26px;background:var(--mist)}.intro-course-item{position:relative;min-width:0}.favorite-number-space{visibility:hidden}.lesson-favorite{position:absolute;top:12px;left:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--navy);transition:none}.lesson-favorite svg{width:32px;height:32px;overflow:visible;transition:transform .12s ease-out}.lesson-favorite[aria-pressed=true][data-interaction=preview] svg{transform:scale(1.12)}.lesson-favorite[aria-pressed=false][data-interaction=preview]:active svg{transform:scale(1.3)}.lesson-favorite-outline{d:var(--favorite-outline);fill:var(--mist);stroke:#a0aec4;stroke-width:1.3;stroke-linejoin:round;transition:d .28s cubic-bezier(.2,.7,.2,1),fill .28s,stroke .28s}.lesson-favorite[data-shape=star] .lesson-favorite-outline{fill:#fff8e8;stroke:#997230;stroke-width:1.7}.lesson-favorite-number{position:absolute;font-size:11px;font-variant-numeric:tabular-nums;transition:opacity .16s,transform .22s}.lesson-favorite[data-shape=star] .lesson-favorite-number{opacity:0;transform:scale(.6)}.lesson-favorite[data-interaction=settled] svg,.lesson-favorite[data-interaction=settled] .lesson-favorite-outline,.lesson-favorite[data-interaction=settled] .lesson-favorite-number{transition:none}.lesson-favorite:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.intro-course-item.is-compact .lesson-favorite{top:50%;left:8px;width:36px;height:36px;transform:translateY(-50%)}.intro-course-item.is-compact .lesson-favorite svg{width:27px;height:27px}.lesson-favorite-hint{margin:-4px 0 18px;color:#3d567c;font-size:11px;line-height:1.8}.favorites-count{margin:0 0 22px;color:#3d567c;font-size:12px}.favorites-course{margin-bottom:32px}.favorites-course>h2{margin-bottom:16px;color:var(--navy);font-size:20px;font-weight:550}.favorites-course .lesson-theme{padding:0;overflow:hidden}.favorites-course .lesson-theme-heading{margin:0;padding:18px 22px}.favorites-course .lesson-theme>:is(.intro-course-grid,.scale-lesson-list){padding:18px 22px 22px;border-top:1px solid var(--line);background:var(--mist)}.favorites-empty{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:28px;padding:48px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center;color:var(--navy)}.favorites-empty>svg{color:#997230}.favorites-empty h2{font-size:20px;font-weight:550}.favorites-empty p{color:#3d567c;font-size:12px;line-height:1.9}.favorites-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}@media(prefers-reduced-motion:reduce){.lesson-favorite svg,.lesson-favorite-outline,.lesson-favorite-number{transition:none}}.lesson-status-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:4px;padding:5px 7px;border:1px solid transparent;border-radius:6px;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap}.lesson-status-badge.is-passed{background:#fff1cc;color:#7a5518;border-color:#dcc079}.lesson-status-badge.is-pending{background:var(--paper);color:#3d567c;border-color:var(--line)}.intro-pass-total{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #a6b7ce;background:var(--surface);border-radius:9px}.intro-pass-total>span{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--navy)}.intro-pass-total strong{font-size:19px;font-weight:600;color:var(--navy)}.intro-pass-total small{font-size:10px;font-weight:400}.intro-course-card h3,.intro-course-card h4{font-size:21px;font-weight:550}.intro-course-card .intro-chord-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;min-height:31px;line-height:1.45}.intro-chord-symbol{flex-shrink:0;white-space:nowrap}.intro-chord-reading{min-width:0;color:var(--muted);font-size:12px;font-weight:400;line-height:1.6}.chord-voicing-title{display:inline-flex;align-items:center;gap:.6em;max-width:100%;vertical-align:middle;line-height:1.35;white-space:nowrap}.chord-voicing-symbol{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:2.4em;padding:.12em .5em;border-radius:6px;background:var(--navy);color:var(--surface);font-size:.9em;font-weight:650;line-height:1.2;letter-spacing:0}.chord-voicing-degrees{color:var(--navy);font-size:.9em;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.035em}.chord-progression-title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 .4em;max-width:100%;vertical-align:middle}.chord-progression-name,.chord-progression-start{white-space:nowrap}.intro-current-lesson .chord-progression-title{justify-content:center}.intro-course-formula{font-size:13px;margin:8px 0 10px;letter-spacing:.5px}.intro-course-description{font-size:11px;color:#53637a;line-height:1.8;margin-bottom:20px}.intro-course-card-action{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.intro-practice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-left:auto}.intro-practice-toolbar .text-button{font-size:13px;white-space:nowrap}.intro-order-select{grid-area:order;display:flex;align-items:center;gap:8px;font-size:13px;color:#3d567c;white-space:nowrap}.intro-order-select select{border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--surface);color:var(--navy);font:inherit}.intro-order-select select:disabled{opacity:.6}.page-studio.chord-studio-page{max-width:1100px;padding:12px 28px}.chord-workspace{--lesson-display-height: 250px;--lesson-description-height: 32px;--lesson-feedback-height: 32px;display:flex;flex-direction:column;gap:8px}.chord-workspace-heading{display:flex;align-items:center;gap:12px;min-height:34px}@media(pointer:coarse)and (orientation:landscape)and (max-height:500px)and (max-width:1000px){.chord-workspace.is-learning .chord-workspace-heading h1{font-size:9px;line-height:1.2;white-space:normal}}.chord-workspace-heading h1{font-size:22px;font-weight:600}.intro-lesson-navigation{display:grid;grid-template-columns:92px minmax(0,1fr) 92px;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--soft-line);border-radius:12px;background:#e9edf3}.intro-lesson-arrow{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px;border:1px solid #c1cede;border-radius:8px;background:var(--surface);color:var(--navy);font-size:12px}.intro-lesson-arrow:hover:not(:disabled){background:var(--paper);border-color:#7c8da8}.intro-lesson-arrow:disabled{opacity:.35;cursor:default}.intro-current-lesson{min-width:0;text-align:center}.intro-current-lesson-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:24px;margin-bottom:4px}.intro-current-lesson-meta p{font-size:12px;color:#3d567c}.intro-current-lesson h2{font-size:21px;font-weight:600;line-height:1.5;color:var(--navy);overflow-wrap:anywhere}.intro-current-lesson .lesson-status-badge{font-size:9px;padding:3px 5px}.intro-lesson-navigation.has-theme .intro-current-lesson-meta{flex-wrap:nowrap;min-height:20px}.intro-lesson-navigation.has-theme .intro-current-lesson-meta p{white-space:nowrap}.intro-lesson-navigation.has-theme .lesson-status-badge{padding:2px 5px}.intro-current-lesson-theme{font-size:11px;line-height:1.5;color:#3d567c;white-space:nowrap}.intro-lesson-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--surface);font-size:11px;flex-shrink:0}.intro-lesson-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"status order";align-items:center;gap:16px;border-bottom:1px solid var(--soft-line);padding-bottom:10px}.intro-lesson-heading>.intro-stage-badge{grid-area:status;justify-self:start}.intro-stage-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:112px;gap:6px;padding:6px 10px;border-radius:6px;font-size:13px;color:#3d567c;background:var(--mist);white-space:nowrap}.intro-stage-badge.is-running{color:var(--navy);background:var(--mist);font-weight:600}.intro-stage-badge>i{width:6px;height:6px;border-radius:50%;background:currentColor}.intro-lesson-display{height:var(--lesson-display-height);display:grid;grid-template-rows:var(--lesson-description-height) minmax(0,1fr) 21px var(--lesson-feedback-height)}.intro-ready-panel{grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0;padding:20px 12px;text-align:center}.intro-ready-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:var(--navy);background:var(--mist)}.intro-ready-panel h3{font-size:19px;font-weight:550;margin-top:4px}.intro-ready-panel p{font-size:12px;line-height:1.8;color:#3d567c}.intro-test-rules{margin:22px 0;display:grid;gap:15px}.intro-test-rules>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;font-size:13px;line-height:1.6}.intro-test-rules dt{color:#53637a}.intro-test-rules dd{margin:0;font-weight:550;color:var(--navy)}.intro-test-start-note{font-size:12px;line-height:1.8;margin-top:16px;color:#3d567c}.intro-countdown{grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0;padding:12px 0;color:var(--navy)}.intro-countdown strong{display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:var(--mist);font-size:64px;font-weight:500;font-variant-numeric:tabular-nums}.intro-countdown p{font-size:12px;color:#3d567c}.intro-start-actions{display:flex;gap:8px}.intro-start-actions>button{min-width:176px}.intro-start-actions>button:disabled{opacity:1;cursor:default}.question-navigation{--question-navigation-height: 44px;position:relative;display:inline-flex;align-items:center;min-width:176px;height:var(--question-navigation-height);flex-shrink:0;border:1px solid transparent;border-radius:999px;background:#e4ebf3;color:var(--muted)}.question-navigation:before{content:"";position:absolute;left:50%;top:27%;bottom:27%;width:1px;background:var(--line);pointer-events:none}.question-navigation>button{display:inline-flex;align-items:center;justify-content:center;flex:1;gap:6px;min-width:44px;height:calc(var(--question-navigation-height) - 2px);padding:0 10px;border:0;background:transparent;color:inherit;font-size:12px;line-height:1.2;white-space:nowrap}.question-navigation>button:first-child{border-radius:999px 0 0 999px}.question-navigation>button:last-child{border-radius:0 999px 999px 0}.question-navigation>button:hover:not(:disabled){background:#d5e0ed;color:var(--ink)}.question-navigation>button:focus-visible{outline:2px solid #6b87ae;outline-offset:2px}.question-navigation>button:disabled{opacity:.3;cursor:default}.question-navigation svg{flex-shrink:0;stroke-width:1.7}.intro-stage-description{font-size:13px;color:#53637a;padding-top:9px;line-height:1.6}.intro-test-prompt{display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:16px;border-radius:8px;background:var(--paper)}.intro-test-prompt strong{font-size:13px;font-weight:500;color:#3d567c}.intro-test-prompt p{font-size:11px;color:#53637a;line-height:1.8;margin-top:8px}.intro-question-progress{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,5px);align-content:start;gap:5px;padding-top:6px}.intro-question-progress>span{height:5px;border-radius:2px;background:var(--mist)}.intro-question-progress>.done{background:#7c8da8}.intro-question-progress>.current{background:var(--navy)}.intro-result-lesson{font-size:12px;line-height:1.7;color:#3d567c}.intro-result-score{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 0;color:var(--navy)}.intro-result-score strong{font-size:46px;font-weight:500}.intro-result-score small{font-size:22px}.intro-result-score>span{font-size:11px}.intro-result-score.needs-practice{color:#a37a3f}.lesson-result-passed{border-color:#dcc079;border-top:4px solid #d1aa53;background:linear-gradient(180deg,#fffaf0,var(--surface) 65%)}.lesson-result-passed .modal-inner{position:relative;padding:28px 30px 30px}.lesson-result-passed .modal-heading{justify-content:center}.lesson-result-passed .modal-heading h2{display:flex;flex-direction:column;align-items:center;gap:17px;color:#7a5518;font-size:34px;font-weight:750;line-height:1.25;text-align:center}.lesson-result-passed .modal-heading .icon-button{position:absolute;top:12px;right:12px}.lesson-result-emblem{position:relative;display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin-top:5px;border:1px solid #dcc079;border-radius:50%;background:#fff1cc;box-shadow:0 0 0 7px #f4e6c266}.lesson-result-trophy{display:block;flex-shrink:0}.lesson-result-sparkles{position:absolute;top:-5px;right:-13px}.lesson-result-congratulations{margin:10px 0 20px;font-size:16px;font-weight:600;text-align:center}.lesson-result-passed .intro-result-lesson{text-align:center}.lesson-result-passed .intro-result-score,.lesson-result-passed .phrase-result-summary{margin:16px 0 0;padding:14px 12px;border:1px solid var(--soft-line);border-radius:10px;background:var(--surface);text-align:center}.lesson-result-passed .intro-result-score strong{font-size:32px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.lesson-result-passed .intro-result-score small{font-size:17px;font-weight:500}.lesson-result-passed .phrase-result-summary{font-size:14px;font-weight:600;line-height:1.8}.lesson-result-passed .modal-description{margin:16px 0 0;text-align:center;text-wrap:balance;line-height:1.8}.lesson-result-passed .modal-description>span{display:inline-block;max-width:100%}.lesson-result-passed .modal-actions{margin-top:24px}.lesson-result-passed .modal-actions button{min-height:46px}@media(max-width:520px){.lesson-result-passed .modal-inner{padding:28px 21px 24px}.lesson-result-passed .modal-heading h2{font-size:30px}.lesson-result-congratulations{font-size:15px}}@media(max-height:500px)and (min-width:600px){.lesson-result-passed{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 24px)}.lesson-result-passed .modal-inner{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto auto;column-gap:24px;padding:16px 24px}.lesson-result-passed .modal-heading{grid-column:1;grid-row:1;align-self:end;padding-top:5px}.lesson-result-passed .modal-heading h2{gap:12px;font-size:26px}.lesson-result-passed .modal-heading .icon-button{top:3px;right:3px}.lesson-result-emblem{width:64px;height:64px}.lesson-result-trophy{width:56px;height:56px}.lesson-result-congratulations{grid-column:1;grid-row:2;margin:10px 0 0;font-size:13px}.lesson-result-passed .lesson-result-body{grid-column:2;grid-row:1 / 3;padding-top:12px}.lesson-result-passed .intro-result-score,.lesson-result-passed .phrase-result-summary{margin-top:10px;padding:8px}.lesson-result-passed .intro-result-score strong{font-size:26px}.lesson-result-passed .modal-description{margin-top:10px;font-size:12px;line-height:1.6}.lesson-result-passed .modal-actions{margin-top:12px}.lesson-result-passed .modal-actions button{min-height:40px}}@media(prefers-reduced-motion:reduce){.lesson-result-passed[open]{animation:none}}.course-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;border:1px solid var(--line);background:var(--mist);border-radius:9px;gap:4px}.course-levels>button,.course-levels>span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:28px;padding:5px;color:#53637a;font-size:13px;border-radius:6px}.course-levels>.selected{background:var(--surface);color:var(--navy);font-weight:600;box-shadow:0 1px 3px #1b305210}.course-levels>button:disabled{opacity:.7}.course-levels small{font-size:9px;font-weight:400}.chord-lesson{border:1px solid var(--soft-line);border-radius:14px;background:var(--surface);padding:12px 18px}.chord-lesson.is-running{border-color:var(--line)}.chord-study{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:18px;align-items:start;padding:8px 0}.chord-prompt-label{display:flex;justify-content:space-between;color:#53637a;font-size:10px;gap:8px}.chord-question-number{margin-left:auto}.current-chord{font-size:36px;font-weight:550;letter-spacing:-1px;line-height:1.25;margin:2px 0;overflow-wrap:anywhere}.chord-type-name{font-size:12px;color:#3d567c}.chord-formula{display:flex;gap:16px;margin-top:8px}.chord-formula>span{display:flex;align-items:baseline;gap:8px}.chord-formula small{font-size:10px;color:#53637a}.chord-formula strong{font-size:15px;font-weight:500}.single-chord-study .current-chord{font-size:42px}.single-chord-study{position:relative}.single-chord-study:not(.is-testing){align-items:center}.single-chord-study:not(.is-testing) .current-chord{font-size:56px;line-height:1.1}.single-chord-study .chord-prompt-label{position:absolute;top:8px;right:0}.single-chord-study .chord-formula small{font-size:12px}.single-chord-study .chord-formula strong{font-size:23px}.single-chord-study.is-testing{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.single-chord-study.is-testing .chord-prompt-label{position:absolute;top:8px;right:0}.single-chord-test-answer{position:relative;transform:translateY(-10px)}.single-chord-test-answer:after{content:"";position:absolute;top:50%;left:50%;width:160px;aspect-ratio:1;box-sizing:border-box;transform:translate(-50%,-50%);border:5px solid transparent;border-radius:50%;pointer-events:none}.single-chord-test-answer.is-correct:after{border-color:color-mix(in srgb,var(--navy) 45%,var(--surface))}.single-chord-test-answer.has-medium-name .current-chord{font-size:32px}.single-chord-test-answer.has-long-name .current-chord{font-size:26px}.single-chord-test-degrees{margin-top:6px;color:var(--navy);font-size:18px;font-weight:500;line-height:1.4;letter-spacing:.04em}.single-chord-test-degrees.is-long{font-size:16px;letter-spacing:.02em}.single-chord-study.is-testing .intro-test-prompt{min-height:0;padding:0;background:none}.chord-meaning{font-size:13px;color:#53637a;line-height:1.7;margin-top:8px}.chord-score{min-width:0;align-self:center}.chord-studio-page .single-chord-score{overflow:visible;padding:0}.chord-studio-page .single-chord-score .score{width:100%;min-width:0;height:154px}.single-chord-score .measure-highlight,.single-chord-score .bar-number{display:none}.chord-feedback{font-size:13px;line-height:1.6;min-height:27px;padding:8px 0 0;color:#3d567c}.chord-feedback.feedback-wrong{color:#a46b32}.chord-actions{display:flex;align-items:center;gap:10px;padding-top:8px}.chord-actions .primary-button,.chord-actions .secondary-button{font-size:14px;min-height:44px;padding:9px 15px}.chord-action-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.chord-action-tools .icon-button{width:auto;min-width:36px;height:40px;padding:0 8px;gap:8px;font-size:13px;color:var(--navy);white-space:nowrap}.demo-toggle[aria-pressed=true]{background:var(--mist)}.playback-stop-icon{transform:scale(.75)}.chord-studio-page .piano-card{margin:0;padding:0 14px 12px}.chord-studio-page .piano-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"label note legend";gap:4px 16px;padding:6px 0;min-height:34px}.chord-studio-page .piano-heading>.section-label{grid-area:label}.chord-studio-page .piano-heading>.key-legend{grid-area:legend}.piano-octave-note{grid-area:note;min-width:0;font-size:11px;color:#3d567c;line-height:1.8;text-align:center}.chord-studio-page .piano-keys{height:clamp(95px,13vh,125px);min-width:0}.chord-studio-page .black-key{height:60%;border-bottom-width:3px;box-shadow:0 1px 2px #14233d15}.chord-workspace .modal .piano-footer{flex-wrap:wrap;padding:20px 0;gap:20px;justify-content:flex-start}.chord-workspace .modal .check-label,.chord-workspace .modal .release-button{font-size:12px}.library-curriculum{margin:20px 0}.library-curriculum p{font-size:12px;margin-top:12px;color:#53637a}.library-art-chords .library-progression-symbols{font-size:26px;letter-spacing:-.03em}.lesson-theme .intro-course-card.is-compact{display:grid;grid-template-columns:28px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:12px 14px;border-radius:9px}.is-compact .intro-lesson-number{background:var(--mist)}.intro-lesson-summary{min-width:0}.intro-lesson-summary .chord-progression-title,.intro-current-lesson .chord-progression-title{gap:5px 10px}.intro-lesson-summary .chord-progression-start,.intro-current-lesson .chord-progression-start{padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:var(--mist);font-size:.85em;font-weight:500;line-height:1.4;letter-spacing:.035em;white-space:nowrap}.intro-current-lesson .chord-progression-start{background:var(--surface)}.is-compact .intro-lesson-summary h4{font-size:16px;line-height:1.5}.intro-lesson-record{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.single-chord-practice-display,.progression-workspace .intro-lesson-display{grid-template-rows:minmax(0,1fr) 21px var(--lesson-feedback-height)}.progression-study{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;gap:3px;padding-top:6px}.progression-current{display:flex;align-items:center;gap:14px;min-width:0;min-height:34px;color:var(--navy)}.progression-key{font-size:12px;line-height:1.4}.progression-key small{display:block;font-size:9px;color:var(--muted)}.progression-current .current-chord{font-size:34px;margin:0;transform:translateY(2px)}.progression-current .current-voicing{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:4px;text-align:center;letter-spacing:.02em;white-space:nowrap}.progression-current-degrees{min-height:1.4em;margin:0;font-size:17px;font-weight:500;line-height:1.4;letter-spacing:.04em}.progression-current .progression-alternative{font-size:14px}.progression-current .chord-type-name{margin-left:auto;text-align:right}.progression-score{min-height:0;min-width:0}.progression-score .score-scroll{height:100%;overflow-x:auto;padding:0}.progression-score .score{width:100%;min-width:0;height:100%}.progression-score .score-chord{font-family:inherit;font-size:22px;font-weight:550;letter-spacing:-.03em}.progression-test-chords{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));container-type:inline-size;gap:8px;list-style:none;padding:10px 0;margin:0}.progression-test-chords li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;color:#53637a}.progression-test-chords [aria-current=step]{border-color:var(--navy);background:var(--mist);color:var(--navy);box-shadow:inset 0 3px var(--navy)}.progression-current .current-voicing:has(.progression-alternative){display:grid;grid-template-columns:auto auto;column-gap:12px}.current-voicing:has(.progression-alternative) .current-chord{grid-column:1;grid-row:1}.current-voicing:has(.progression-alternative) .progression-current-degrees{grid-column:1;grid-row:2}.current-voicing .progression-alternative{grid-column:2;grid-row:1 / 3}.score-alternative-label{font-size:14px;fill:var(--muted)}.progression-alternative{display:block;font-size:11px;line-height:1.4;font-weight:500}.progression-alternative span{display:block}.progression-test-chords small{font-size:11px}.progression-test-chords strong{font-size:28px;font-weight:550}.progression-test-degrees{font-size:15px;letter-spacing:.04em}.progression-test-chords:has(.progression-test-choices){grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,3fr)}.progression-test-chords li.progression-test-choices{display:grid;grid-template-columns:repeat(3,max-content);justify-content:center;align-content:center;gap:clamp(4px,.8vw,10px);min-width:0;padding:5px 12px}.progression-test-option{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:inherit;font-weight:inherit;line-height:inherit;white-space:nowrap}.progression-test-or{line-height:1.2}.progression-study .intro-test-prompt{min-height:0}.intro-ready-panel .progression-voicings{font-size:11px;color:var(--navy)}@media(min-width:761px)and (pointer:fine),(min-width:761px)and (min-height:501px){.progression-study:has(.current-voicing){grid-template-columns:minmax(190px,24%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:24px}.progression-study:has(.current-voicing) .progression-current{flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}.progression-study:has(.current-voicing) .progression-key{display:flex;align-items:baseline;gap:12px;font-size:14px}.progression-study:has(.current-voicing) .progression-key small{font-size:10px}.progression-study .current-voicing,.progression-study .current-voicing:has(.progression-alternative){display:flex;align-items:flex-start;padding-top:0;text-align:left}.progression-study .current-chord{transform:none}}@media(max-width:1100px){.chord-action-label{display:none}}@media(max-width:960px){.intro-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chord-workspace{--lesson-display-height: 260px;--lesson-feedback-height: 40px}}@media(max-width:760px){.progression-test-chords li.progression-test-choices{padding-inline:4px}.progression-test-chords:has(.progression-test-choices) strong{font-size:min(18px,4.8cqi)}.progression-test-chords .progression-test-or{font-size:9px}.intro-overview-icon{width:52px;height:52px;border-radius:16px}.intro-overview-icon svg{width:27px}.intro-overview-list-heading h2{font-size:18px}.intro-overview-list-heading p,.intro-overview-list-heading>span{font-size:11px}.intro-pass-total{padding:8px;gap:5px}.intro-pass-total>svg{display:none}.intro-pass-total strong{font-size:17px}.intro-course-grid{gap:12px}.intro-course-card{padding:16px 12px}.lesson-favorite{top:8px;left:4px}.favorites-empty{padding:32px 16px}.favorites-empty h2{font-size:18px}.favorites-empty-actions{flex-direction:column;width:100%}.intro-course-card h3,.intro-course-card h4{font-size:17px}.intro-course-card .intro-chord-heading{flex-direction:column;align-items:flex-start;gap:2px;min-height:46px}.intro-chord-reading{font-size:11px}.lesson-theme{padding:16px 12px}.lesson-theme-heading h3{font-size:18px}.lesson-theme-toggle{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:4px 10px;padding:16px}.lesson-theme-name{grid-column:1;grid-row:1}.lesson-theme-count{grid-column:1;grid-row:2;font-size:12px}.lesson-theme-chevron{grid-column:2;grid-row:1 / 3}.favorites-course .lesson-theme-heading{flex-direction:column;align-items:flex-start;gap:4px;padding:16px;font-size:12px}.favorites-course .lesson-theme>:is(.intro-course-grid,.scale-lesson-list){padding:14px 12px 16px}.lesson-theme.is-collapsible .lesson-theme-content{padding:14px 12px 16px}.lesson-theme-description{font-size:12px;margin-bottom:16px}.lesson-theme .intro-course-grid{grid-template-columns:1fr}.lesson-theme .intro-course-card{padding:18px 16px}.library-lesson-theme{font-size:10px}.intro-course-formula{font-size:11px}.intro-course-card-action,.intro-practice-toolbar .text-button,.intro-order-select{font-size:10px}.intro-practice-toolbar{flex-basis:100%}.chord-workspace-heading{flex-wrap:wrap;row-gap:4px}.intro-order-select{flex-direction:column;align-items:flex-end;align-self:start;gap:5px}.page-studio.chord-studio-page{padding:12px 16px}.chord-workspace{--lesson-display-height: 255px;--lesson-description-height: 24px;gap:10px}.chord-workspace-heading h1{font-size:19px}.intro-lesson-navigation{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding:10px 8px}.intro-lesson-arrow>span{display:none}.intro-current-lesson-meta{gap:4px 6px}.intro-current-lesson-meta p{font-size:10px}.intro-current-lesson h2{font-size:16px}.intro-current-lesson .intro-chord-lesson-title{display:block;font-size:min(1em,14px);line-height:1.35}.intro-lesson-navigation.has-theme{padding-block:8px}.intro-lesson-navigation.has-theme .intro-current-lesson{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:inherit;column-gap:inherit;row-gap:4px}.intro-lesson-navigation.has-theme .intro-current-lesson-meta{grid-column:1 / -1;margin-bottom:0}.intro-lesson-navigation.has-theme .intro-current-lesson h2{grid-column:2;display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px}.intro-lesson-navigation.has-theme .chord-progression-title{row-gap:2px}.intro-lesson-navigation.has-theme>.intro-lesson-arrow{grid-row:1;align-self:end;z-index:1}.intro-lesson-navigation.has-theme>.intro-lesson-arrow:first-child{grid-column:1}.intro-lesson-navigation.has-theme>.intro-lesson-arrow:last-child{grid-column:3}.intro-current-lesson-theme{font-size:10px}.intro-lesson-heading{gap:8px;padding-bottom:8px}.chord-studio-page .piano-heading{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label legend" "note note"}.piano-octave-note{font-size:10px}.intro-stage-badge{min-width:100px;font-size:10px;padding:5px 8px}.intro-ready-panel{padding:20px 4px}.intro-ready-panel h3{font-size:16px}.intro-ready-panel p{font-size:11px}.intro-test-rules>div{grid-template-columns:64px minmax(0,1fr);gap:8px;font-size:12px}.intro-stage-description{font-size:10px;padding-top:8px}.intro-test-prompt{padding:10px}.intro-test-prompt strong{font-size:11px}.intro-test-prompt p{font-size:10px}.course-levels>button,.course-levels>span{flex-direction:column;gap:2px;min-height:28px;font-size:12px}.course-levels small{font-size:8px}.chord-lesson{padding:10px 12px}.chord-study{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:10px;padding:8px 0;align-items:start}.single-chord-study{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.current-chord{font-size:clamp(25px,6.7vw,36px);letter-spacing:-.8px;margin:4px 0}.chord-prompt-label{font-size:9px}.chord-type-name{font-size:10px;min-height:15px}.chord-formula{justify-content:flex-start;gap:16px;margin-top:8px}.chord-formula>span{flex-direction:column;align-items:flex-start;gap:1px}.chord-formula small{font-size:9px}.chord-formula strong{font-size:12px}.single-chord-study .current-chord,.single-chord-study:not(.is-testing) .current-chord{font-size:clamp(30px,8.2vw,42px);line-height:1.25}.single-chord-test-answer{transform:translateY(-2px)}.single-chord-study .chord-formula strong{font-size:16px}.chord-meaning{font-size:10px;margin-top:8px}.chord-score{padding-left:0;border:0;align-self:center}.chord-studio-page .single-chord-score .score{height:132px}.chord-feedback{font-size:10px;min-height:25px;padding-top:8px}.chord-actions{gap:6px;flex-wrap:wrap;padding-top:8px}.intro-start-actions{width:100%;gap:8px}.intro-start-actions>button{min-width:0}.question-navigation{--question-navigation-height: 40px;min-width:0;flex:1}.question-navigation>button{gap:5px;padding-inline:5px;font-size:10px}.chord-actions .primary-button,.chord-actions .secondary-button{flex:1;font-size:10px;padding:8px 5px;min-height:38px;gap:4px}.chord-action-tools{gap:6px;margin-left:auto}.chord-studio-page .piano-card{padding:0 10px 10px}.chord-studio-page .piano-keys{min-width:var(--piano-min-width, 480px);height:95px}.chord-studio-page .key-note{font-size:9px}.chord-action-tools .icon-button{width:32px;min-width:32px;height:32px;padding:0}.lesson-theme .intro-course-card.is-compact{grid-template-columns:22px minmax(0,1fr) auto 12px;gap:8px;padding:11px 9px}.intro-course-item.is-compact .lesson-favorite{left:3px}.is-compact .intro-lesson-summary h4{font-size:14px}.intro-lesson-record .lesson-status-badge{font-size:9px;padding:4px 5px}.progression-current{gap:10px}.progression-current .current-chord{font-size:29px}.progression-current-degrees{font-size:16px}.progression-current .chord-type-name{font-size:9px}.progression-key{font-size:11px}.progression-test-chords strong{font-size:24px;letter-spacing:-.04em}.progression-test-degrees{letter-spacing:-.04em;white-space:nowrap}}.progression-test-chords.four-chord-progression{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.four-chord-progression{gap:4px}.four-chord-progression strong{font-size:min(17px,4.1cqi)}.four-chord-progression .progression-test-degrees{font-size:12px;letter-spacing:0;white-space:nowrap}}.home-page{max-width:1160px;margin:0 auto}.home-hero{--midi-icon-width: 70px;--midi-icon-height: 58px;--midi-link-width: 78px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:center;gap:40px;padding:32px 40px;background:var(--surface);color:var(--ink);border:1px solid var(--soft-line);border-radius:16px}.home-hero-copy{min-width:0}.home-hero .eyebrow{color:var(--muted);font-size:11px;letter-spacing:2px}.home-hero h1{font-size:clamp(32px,3.2vw,44px);line-height:1.4;letter-spacing:.5px;font-weight:600;margin:12px 0 18px}.home-hero-description{font-size:15px;line-height:1.8;color:var(--muted)}.home-hero-detail{display:block}.home-midi-connect-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:26px;margin-top:26px}.home-hero-actions{display:flex;flex:0 0 auto;align-items:center;height:var(--midi-icon-height)}.home-hero-actions>button{position:relative;left:6px;min-height:47.92px;padding:11.98px 18.43px;font-size:13.82px;gap:10.14px;border-radius:8px}.home-hero-actions>button>svg{width:19.35px;height:19.35px;flex-shrink:0}.home-art-connection{display:grid;flex:0 0 auto;grid-template-columns:var(--midi-icon-width) var(--midi-link-width) var(--midi-icon-width);justify-content:start;align-items:start;color:var(--navy)}.home-art-device{display:grid;justify-items:center;gap:9px;font-size:13px;font-weight:550;white-space:nowrap}.home-art-device-icon{display:grid;place-items:center;width:var(--midi-icon-width);height:var(--midi-icon-height);border:1px solid #a0b3cc;border-radius:11px;background:var(--mist)}.home-art-device-icon>svg{width:32px;height:32px}.home-art-device-label{position:relative;top:-2px}.home-art-link{position:relative;height:var(--midi-icon-height);color:#48638a}.home-art-link>span{position:absolute;left:50%;top:6px;transform:translate(-50%);font-size:12px;font-weight:500;white-space:nowrap}.home-art-link>svg{display:block;width:var(--midi-link-width);height:var(--midi-icon-height)}.home-microphone-card{display:flex;flex-direction:column;align-items:center;justify-content:center;height:324px;min-width:0;margin:8px 6px;padding:23px;background:var(--surface);border:1px solid var(--soft-line);border-radius:14px;color:var(--muted);text-align:center;box-shadow:8px 8px #233b6309}.home-microphone-devices{display:inline-flex;align-items:center;flex-shrink:0;gap:6px;height:47px;margin-bottom:18px;color:#768aa3}.home-microphone-devices>svg:first-child{transform:rotate(90deg)}.home-microphone-card h2{font-size:19px;font-weight:550;line-height:1.6;letter-spacing:.2px;margin:0}.home-microphone-description{font-size:13px;line-height:1.8;margin-top:14px;color:var(--muted)}.home-microphone-action{display:flex;justify-content:center;width:100%;border-top:1px solid var(--soft-line);margin-top:20px;padding-top:18px}.home-microphone-button{gap:8px;min-height:40px;padding:10px 15px;border:1px solid var(--soft-line);border-radius:7px;color:var(--muted);background:transparent;font-size:12px;font-weight:500}.home-microphone-button>svg{flex-shrink:0}.home-microphone-button:hover,.home-microphone-button:focus-visible{color:var(--navy);background:var(--mist)}.home-practice-section{margin-top:30px}.home-section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px}.home-section-heading h2{font-size:23px;font-weight:600;line-height:1.5}.home-section-heading>span{font-size:13px;color:var(--muted);line-height:1.7}.home-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-practice-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;align-items:start;gap:14px;min-width:0;padding:22px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:0 2px 8px #1b305204}.home-practice-card:hover,.home-practice-card:focus-visible{border-color:#7c8da8;box-shadow:0 4px 12px #1b30520c}.home-practice-icon{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border-radius:12px;background:var(--mist);color:var(--navy)}.home-practice-copy{min-width:0}.home-practice-meta{display:flex;align-items:center;color:var(--muted);font-size:13px}.home-practice-meta .level-badge{border:0;padding:3px 8px;font-size:12px}.home-practice-copy h3{font-size:20px;font-weight:600;line-height:1.5;margin:8px 0 4px}.home-practice-copy p{font-size:14px;line-height:1.75;color:var(--muted)}.home-practice-card-footer{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--soft-line);color:var(--muted);font-size:13px}.home-practice-card-footer>span:last-child{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-weight:550}.home-mobile-count,.home-mobile-arrow,.home-mobile-break{display:none}.home-phrases-link{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:14px 20px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface);color:var(--muted);text-align:left}.home-phrases-link .home-practice-icon{width:44px;height:44px;border-radius:10px}.home-phrases-link strong{font-size:17px;font-weight:550}.home-phrases-link .level-badge{font-size:12px;border:0}.home-phrases-link>svg{margin-left:auto}.home-phrases-link:hover{border-color:#7c8da8;color:var(--navy)}.home-progress{margin-top:18px;padding:24px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface)}.home-progress-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:24px}.home-progress-heading h2{font-size:20px;font-weight:600}.home-progress-heading .text-button{min-height:32px;font-size:13px;gap:8px}.home-progress-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.home-progress-grid>div{display:flex;flex-direction:column;gap:12px;min-width:0;padding-inline:20px}.home-progress-grid>div:first-child{padding-left:0}.home-progress-grid>div:last-child{padding-right:0}.home-progress-grid>div+div{border-left:1px solid var(--soft-line)}.home-progress dt{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6;color:var(--muted)}.home-progress dt svg{flex-shrink:0}.home-progress dd{margin:0}.home-progress strong{font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--navy)}.home-progress small{font-size:21px;font-weight:400;white-space:nowrap}.home-learning-summary{margin-top:28px;color:var(--muted);font-size:14px;line-height:1.8}.home-learning-summary h2{margin-bottom:8px;color:var(--ink);font-size:16px;font-weight:600}.home-learning-summary p+p{margin-top:8px}.home-language-links{display:flex;gap:16px;margin-top:16px;font-size:13px}.home-language-links a{color:inherit;text-underline-offset:3px}.home-language-links a[aria-current=page]{color:var(--ink);font-weight:600}@media(max-width:1200px){.home-hero{padding:28px;gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr)}.home-microphone-card{margin-inline:3px;padding:18px}.home-microphone-card h2{font-size:18px}.home-microphone-description{font-size:12px}.home-practice-card{padding:18px}.home-practice-icon{width:44px;height:44px}.home-practice-copy h3{font-size:18px}.home-progress-grid>div{padding-inline:14px}.home-progress dt{gap:6px;font-size:12px}}@media(min-width:1001px)and (max-width:1200px){.home-hero{--midi-icon-width: 52px;--midi-icon-height: 46px;--midi-link-width: 60px}.home-hero .eyebrow{font-size:10px}.home-hero-description{font-size:14px}.home-midi-connect-row{gap:16px}.home-art-device{font-size:11px;gap:7px}.home-art-device-icon>svg{width:27px;height:27px}.home-art-link>span{font-size:10px;top:2px}.home-hero-actions>button{min-height:42.68px;padding:11.06px;font-size:11.98px;gap:7.37px}.home-hero-actions>button>svg{width:18.43px;height:18.43px}}@media(min-width:761px)and (max-width:1000px){.home-hero{grid-template-columns:minmax(0,1fr);gap:26px}.home-microphone-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 22px;height:auto;margin:0;padding:22px;text-align:left}.home-microphone-devices{grid-column:1;grid-row:1 / 3;margin:0;align-self:center}.home-microphone-card h2{grid-column:2;font-size:19px}.home-microphone-description{grid-column:2;margin-top:9px}.home-microphone-action{grid-column:1 / -1;justify-content:start;margin-top:18px;padding-top:16px}.home-practice-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:14px}.home-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}.home-progress-grid>div:nth-child(odd){padding-left:0;border-left:0}}@media(max-width:760px){.main-content.page-home{padding-top:16px}.home-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding:22px;border-radius:12px}.home-hero h1{font-size:clamp(28px,7.7vw,32px);line-height:1.4;letter-spacing:0;margin:10px 0 14px}.home-hero .eyebrow{font-size:10px;letter-spacing:1.7px}.home-hero-description{line-height:1.65}.home-hero-detail{display:none}.home-midi-connect-row{flex-direction:column;align-items:stretch;gap:18px;margin-top:22px}.home-art-connection{justify-content:center}.home-art-device{gap:7px}.home-hero-actions{flex-direction:column;align-items:stretch;height:auto;width:100%}.home-hero-actions>button{left:0;width:92.15%;align-self:center;min-height:46.08px;padding:11.06px 12.9px;font-size:12.9px}.home-microphone-card{height:auto;margin:0;padding:20px 16px;box-shadow:5px 5px #233b6309}.home-microphone-devices{height:38px;margin-bottom:14px}.home-microphone-devices>svg:first-child{width:39px;height:39px}.home-microphone-devices>svg:last-child{width:28px;height:28px}.home-microphone-description{margin-top:10px}.home-microphone-action{margin-top:16px;padding-top:14px}.home-microphone-button{min-height:44px;font-size:13px;padding:10px 13px}.home-practice-section{margin-top:26px}.home-section-heading{gap:6px 12px;margin-bottom:14px}.home-section-heading h2{font-size:19px}.home-practice-grid{grid-template-columns:minmax(0,1fr);gap:12px}.home-practice-card{grid-template-columns:52px minmax(0,1fr) 20px;grid-template-rows:auto;align-items:center;min-height:108px;gap:14px;padding:16px}.home-practice-icon{width:52px;height:52px}.home-practice-meta{font-size:12px;white-space:nowrap}.home-practice-meta .level-badge{padding:0;background:transparent;color:inherit}.home-practice-copy h3{font-size:18px;margin:5px 0 3px}.home-practice-copy p{font-size:13px;line-height:1.6}.home-mobile-count,.home-mobile-arrow,.home-mobile-break{display:inline}.home-practice-card-footer{display:none}.home-phrases-link{padding:12px 16px;gap:12px}.home-phrases-link strong{font-size:16px}.home-progress{padding:20px;margin-top:18px}.home-progress-heading{margin-bottom:12px}.home-progress-heading h2{font-size:18px}.home-progress-heading .text-button{font-size:12px}.home-progress-grid{grid-template-columns:minmax(0,1fr)}.home-progress-grid>div{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.home-progress-grid>div+div{border-left:0;border-top:1px solid var(--soft-line)}.home-progress dt{font-size:13px}.home-progress strong{font-size:27px}.home-progress small{font-size:18px}}.guide-page{max-width:1100px;margin:0 auto;font-size:14px;line-height:1.8}.guide-page p{color:var(--muted)}.guide-page h1,.guide-page h2,.guide-page h3{color:var(--ink);font-weight:600}.guide-hero{padding:28px 32px;border:1px solid var(--soft-line);border-radius:16px;background:var(--surface)}.guide-hero-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.guide-hero .eyebrow{font-size:11px;letter-spacing:.1em}.guide-hero h1{margin-top:4px;font-size:32px;line-height:1.4}.guide-guest-note{display:inline-flex;align-items:center;gap:6px;font-size:12px}.guide-guest-note svg{flex-shrink:0}.guide-hero .guide-lead{margin-top:12px;font-size:16px;color:var(--navy)}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:22px 0 0;list-style:none}.guide-step{position:relative;min-width:0;padding:18px 20px;border-radius:10px;background:var(--mist)}.guide-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--navy)}.guide-step-top>span{font-size:24px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}.guide-step h2{margin-bottom:6px;font-size:16px;line-height:1.5}.guide-step p{font-size:13px;line-height:1.8}.guide-step-arrow{position:absolute;top:50%;right:-23px;transform:translateY(-50%);color:var(--muted)}.guide-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.guide-hero-actions button{min-height:44px;font-size:13px;white-space:normal}.guide-section{margin-top:38px}.guide-section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.guide-section-number{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;margin-top:2px;border:1px solid var(--line);border-radius:50%;color:var(--navy);font-size:12px;font-variant-numeric:tabular-nums}.guide-section-heading h2{font-size:22px;line-height:1.5}.guide-section-heading p{margin-top:3px;font-size:13px}.guide-input-grid,.guide-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guide-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface)}.guide-card h3{display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.6}.guide-card h3 svg{flex-shrink:0;color:var(--navy)}.guide-card-footnote{margin-top:auto;padding-top:16px;border-top:1px solid var(--soft-line);font-size:13px}.guide-card-footnote p+p{margin-top:10px}.guide-card .guide-card-lead{margin:7px 0 18px;font-size:13px}.guide-instructions{padding:0;margin:0 0 20px;list-style:none;counter-reset:guide-instructions}.guide-instructions li{display:flex;align-items:baseline;gap:10px;counter-increment:guide-instructions;color:var(--muted)}.guide-instructions li+li{margin-top:16px}.guide-instructions li:before{content:counter(guide-instructions);display:inline-grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--mist);color:var(--navy);font-size:12px;font-weight:600}.guide-key-example{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.guide-screen-keyboard .guide-key-example{justify-content:flex-start;max-width:520px}.guide-key-example>div:first-child{flex-shrink:0}.guide-key-example strong,.guide-key-example>div:first-child>span{display:block;font-size:12px}.guide-key-example>div:first-child>span{color:var(--muted)}.guide-key-preview{position:relative;display:flex;flex:1;max-width:260px;height:80px;border:1px solid #a9b7c8;border-radius:5px;overflow:hidden;background:var(--surface)}.guide-key-preview>span{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:4px;gap:1px;color:var(--navy)}.guide-key-preview>span+span{border-left:1px solid #a9b7c8}.guide-key-preview>span.is-played{background:#77c8ee}.guide-key-preview b{font-size:10px;font-weight:500;line-height:1.4}.guide-key-preview>i{position:absolute;top:0;width:8%;height:45%;transform:translate(-50%);border-radius:0 0 3px 3px;background:var(--dark-navy)}.guide-key-colors{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 18px;font-size:12px}.guide-key-colors>span{display:inline-flex;align-items:center;gap:7px}.guide-key-colors i{width:12px;height:15px;border:1px solid;border-radius:3px}.guide-key-demo{background:#dfc98c;border-color:#95712e}.guide-key-played{background:#77c8ee;border-color:#2175b4}.guide-page .guide-note{padding:12px 14px;border-radius:8px;background:var(--mist);color:var(--navy);font-size:13px}.guide-mode-card .guide-mode-message{margin-top:16px;color:var(--navy);font-size:19px;font-weight:550;line-height:1.6}.guide-mode-test{background:var(--mist)}.guide-check-list{padding:0;margin:14px 0 0;list-style:none}.guide-check-list li{display:flex;align-items:baseline;gap:8px;color:var(--muted);font-size:13px}.guide-check-list li+li{margin-top:8px}.guide-check-list svg{position:relative;top:3px;flex-shrink:0;color:var(--navy)}.guide-detail-list,.guide-faq-list{margin-top:16px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface);overflow:hidden}.guide-page details{padding:0;border-bottom:1px solid var(--soft-line)}.guide-detail-list details:last-child,.guide-faq-list details:last-child{border-bottom:0}.guide-page summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:15px 24px;font-size:14px;line-height:1.7;font-weight:550;color:var(--navy);cursor:pointer;list-style:none}.guide-page summary::-webkit-details-marker{display:none}.guide-page summary:after{content:"+";flex-shrink:0;font-size:22px;line-height:1;font-weight:400}.guide-page details[open]>summary:after{content:"−"}.guide-page summary:hover{background:var(--mist)}.guide-page summary:focus-visible{outline-offset:-4px}.guide-answer{padding:0 24px 22px}.guide-answer p+p{margin-top:12px}.guide-compact-steps{margin:12px 0 16px}.guide-compact-steps li+li{margin-top:8px}.guide-inline-action{align-self:flex-start;min-height:44px;margin-top:16px;font-size:13px;white-space:normal}.guide-option-list{margin:16px 0}.guide-option-list>div+div{margin-top:16px}.guide-option-list dt{color:var(--navy);font-weight:550}.guide-option-list dd{margin:4px 0 0;color:var(--muted)}.guide-test-table{width:100%;margin-top:18px;border-collapse:collapse;table-layout:fixed;font-size:13px;text-align:left}.guide-test-table th,.guide-test-table td{padding:12px 10px;border-bottom:1px solid var(--soft-line);overflow-wrap:anywhere}.guide-test-table thead{background:var(--mist);color:var(--navy)}.guide-test-table th{font-weight:550}.guide-test-table thead th:first-child{width:38%}.guide-test-table td{color:var(--muted)}.guide-test-table td:last-child{color:var(--navy)}.guide-test-table tbody span{display:inline-block}.guide-question-count span+span:before{content:"・"}.guide-test-table-wrap>p{font-size:13px}.guide-test-table+p{margin-top:16px}.guide-phrase-overview{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:24px;padding:24px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface)}.guide-phrase-overview>div{display:flex;align-items:flex-start;gap:14px}.guide-phrase-overview>div>svg{flex-shrink:0;margin-top:3px}.guide-phrase-overview h3{margin-bottom:6px;font-size:16px}.guide-phrase-overview p{font-size:13px}.guide-phrase-notes{margin-top:14px;font-size:13px}.guide-phrase-notes p+p{margin-top:8px}.guide-phrase-arrow{color:var(--muted)}.guide-page .guide-credits{margin-top:28px;border:1px solid var(--soft-line);border-radius:12px;background:var(--surface);overflow:hidden}.guide-credit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;padding:4px 24px 24px}.guide-credit-grid h2{margin-bottom:8px;font-size:15px}.guide-credit-grid p{font-size:13px}.guide-credit-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;margin-top:8px}.guide-credit-links a{display:inline-flex;align-items:center;min-height:40px;font-size:13px;text-underline-offset:4px}@media(max-width:1100px){.guide-hero{padding:24px}.guide-steps{gap:22px}.guide-step{padding:16px}.guide-step-arrow{right:-20px;width:16px}.guide-card{padding:20px}.guide-key-example{flex-direction:column;align-items:stretch;gap:8px}.guide-key-example>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.guide-key-preview{flex:auto;width:100%;max-width:none}}@media(max-width:960px){.guide-hero-heading{align-items:flex-start}.guide-guest-note{max-width:160px}.guide-steps{gap:16px}.guide-step{padding:14px}.guide-step-arrow{right:-16px;width:14px}.guide-step h2{font-size:15px}.guide-input-grid,.guide-mode-grid{grid-template-columns:minmax(0,1fr)}.guide-key-example{flex-direction:row;align-items:center;gap:18px}.guide-key-example>div:first-child{display:block}.guide-key-preview{max-width:300px}.guide-phrase-overview{gap:16px}}@media(max-width:760px){.guide-page{font-size:13px}.guide-hero{padding:20px;border-radius:12px}.guide-hero-heading{flex-direction:column;gap:7px}.guide-hero h1{font-size:27px}.guide-guest-note{max-width:none;font-size:11px}.guide-hero .guide-lead{margin-top:14px;font-size:14px}.guide-steps{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}.guide-step{display:flex;align-items:flex-start;gap:14px;padding:14px}.guide-step-top{flex:0 0 27px;flex-direction:column;gap:12px;margin:2px 0 0}.guide-step-top>span{font-size:22px}.guide-step-top>svg{width:21px;height:21px}.guide-step h2{margin-bottom:4px;font-size:15px}.guide-step p{font-size:12px;line-height:1.7}.guide-step-arrow{display:none}.guide-hero-actions{flex-direction:column;margin-top:18px}.guide-hero-actions button{width:100%;min-height:44px;padding-inline:8px;font-size:12px}.guide-section{margin-top:30px}.guide-section-heading{gap:10px;margin-bottom:14px}.guide-section-heading h2{font-size:19px}.guide-section-heading p{font-size:12px}.guide-section-number{width:28px;height:28px}.guide-card{padding:20px}.guide-card h3{font-size:15px}.guide-key-example{flex-direction:column;align-items:stretch;gap:8px}.guide-key-example>div:first-child{display:flex}.guide-key-preview{max-width:none}.guide-mode-card .guide-mode-message{font-size:18px}.guide-page summary{gap:12px;padding:14px 18px;font-size:13px}.guide-answer{padding:0 18px 18px}.guide-test-table-wrap{padding-inline:12px}.guide-test-table{font-size:12px}.guide-test-table th,.guide-test-table td{padding:10px 6px;vertical-align:top}.guide-test-table thead th:first-child{width:36%}.guide-test-table .guide-question-count span{display:block}.guide-question-count span+span:before{content:none}.guide-phrase-overview{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}.guide-phrase-overview>div:last-child{padding-top:18px;border-top:1px solid var(--soft-line)}.guide-phrase-overview h3{font-size:15px}.guide-phrase-arrow{display:none}.guide-credit-grid{grid-template-columns:minmax(0,1fr);gap:22px;padding:0 18px 18px}}.scale-lesson-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.scale-course-item .scale-lesson-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:16px 14px}.scale-lesson-card .intro-lesson-summary :is(h3,h4){font-size:17px;line-height:1.6}.scale-lesson-card .intro-course-formula{margin:5px 0 0}.page-library .library-toolbar,.page-library .filter-tabs{flex-wrap:wrap}.page-library .filter-tabs button{white-space:nowrap}.page-studio.scale-studio-page{max-width:1100px;padding:8px 28px}.scale-workspace{--lesson-display-height: 250px;--lesson-description-height: 32px;--lesson-feedback-height: 32px}.scale-workspace .intro-current-lesson h2>span{display:inline-block}.scale-lesson-display{height:calc(var(--lesson-display-height) + 8px)}.scale-lesson-display:not(.is-testing){grid-template-rows:minmax(0,1fr) 21px var(--lesson-feedback-height)}.scale-study{position:relative;display:grid;grid-template-rows:max-content 40px minmax(0,1fr);min-width:0;min-height:0;padding-top:4px}.scale-study:not(.is-testing){margin-bottom:8px}.scale-test-answer{text-align:center;color:var(--navy)}.scale-study:not(.is-testing) .scale-test-answer{padding-bottom:10px}.scale-study:not(.is-testing) .scale-question-heading{padding-top:4px;padding-inline:36px}.scale-related-chords,.intro-ready-panel .scale-related-chords{margin:3px 0 0;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted)}.scale-workspace .intro-ready-panel{gap:8px;padding-block:12px}.current-scale{min-width:0;font-size:23px;font-weight:550;line-height:1.3}.scale-question-number{position:absolute;top:7px;right:0;font-size:10px;color:#53637a}.scale-note-progress{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:4px;font-size:19px;color:var(--navy);background:var(--surface)}.scale-note-progress:not(.is-complete){width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.scale-note-progress strong{font-weight:650}.scale-tones{display:grid;grid-template-columns:repeat(var(--scale-note-count, 8),minmax(0,1fr));gap:3px}.scale-tones>span{display:flex;flex-direction:column;align-items:center;gap:1px;padding:2px 0;border-radius:6px;color:var(--navy)}.scale-tones>.is-current,.scale-degree.is-current{background:var(--mist)}.scale-tones strong{font-size:17px;font-weight:550}.scale-tones small{font-size:12px;color:#3d567c}.scale-study .scale-score{min-height:0;padding:0}.scale-transition-prompt{grid-row:2 / -1;min-height:0;text-align:center}.scale-score .score{display:block;width:100%;min-width:510px;height:96px}.scale-note-pointer{fill:var(--navy)}.scale-score .score-note.active{color:var(--navy)}.scale-study.is-testing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.is-testing .scale-test-answer{position:relative;max-width:100%;transform:translateY(-15px)}.is-testing .scale-test-answer:after{content:"";position:absolute;top:50%;left:50%;width:calc(100% + 48px);height:calc(100% + 72px);min-height:154px;box-sizing:border-box;transform:translate(-50%,-50%);border:5px solid transparent;border-radius:50%;pointer-events:none}.is-testing .scale-test-answer.is-correct:after{border-color:color-mix(in srgb,var(--navy) 45%,var(--surface))}.scale-test-degrees{display:grid;grid-template-columns:repeat(var(--scale-note-count, 8),minmax(0,1fr));gap:4px;width:304px;max-width:100%;margin:8px auto 0;font-size:24px;font-variant-numeric:tabular-nums}.scale-degree-item{min-width:0}.scale-degree-divider{display:none}.scale-degree{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 0;border-radius:6px;font-weight:550}.scale-degree.is-current{color:var(--navy)}.scale-degree.is-done{color:#3d567c}.scale-paused-note{font-size:12px;color:#3d567c}.scale-studio-page .piano-card{margin:0;padding:0 14px 12px}.scale-studio-page .piano-heading{min-height:34px;padding:6px 0}.scale-studio-page .piano-keys{height:95px;min-width:var(--piano-min-width)}.scale-studio-page .black-key{height:64%}@media(max-width:760px){.page-library .filter-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.page-library .filter-tabs button{justify-content:center}.page-studio.scale-studio-page{padding:10px 14px 2px}.scale-workspace{--lesson-display-height: 270px;--lesson-description-height: 36px;--lesson-feedback-height: 36px;gap:8px}.scale-workspace .intro-current-lesson h2{flex-wrap:wrap;line-height:1.35}.scale-course-item .scale-lesson-card{grid-template-columns:22px minmax(0,1fr) auto 12px;gap:8px;padding:12px 9px}.scale-lesson-card .intro-lesson-summary :is(h3,h4){font-size:14px}.scale-lesson-card .intro-course-formula{font-size:10px}.current-scale{font-size:21px}.scale-study:not(.is-testing) .scale-question-heading{padding-inline:0 30px}.scale-test-degrees{width:280px;font-size:22px}.scale-studio-page .piano-heading:has(.piano-octave-note){padding-block:4px}}@media(min-width:761px)and (min-height:501px)and (max-height:740px){.page-studio.chord-studio-page,.page-studio.scale-studio-page{padding-block:8px}.chord-workspace{--lesson-display-height: 235px;gap:6px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:500px)and (max-width:1000px){body:has(.page-studio) .sidebar{transform:translate(-100%)}body:has(.page-studio) .sidebar.open{transform:translate(0)}body:has(.page-studio) .sidebar-backdrop{position:fixed;inset:0;z-index:29;background:#1b305266}body:has(.page-studio) .main-shell{margin-left:0;width:100%}body:has(.page-studio) .mobile-menu-button{display:inline-flex}body:has(.page-studio) .topbar{height:32px;max-width:760px;margin-inline:auto;padding-inline:max(50px,env(safe-area-inset-left)) max(50px,env(safe-area-inset-right))}body:has(.page-studio) .topbar-left,body:has(.page-studio) .topbar-right{gap:8px}body:has(.page-studio) .topbar strong,body:has(.page-studio) .midi-status{font-size:10px}body:has(.page-studio) .topbar .icon-button,body:has(.page-studio) .topbar .midi-status{height:30px;min-height:30px}.page-studio.chord-studio-page,.page-studio.scale-studio-page{padding:4px max(50px,env(safe-area-inset-right)) 20px max(50px,env(safe-area-inset-left));max-width:760px}.chord-workspace,.scale-workspace{height:calc(100dvh - 56px);min-height:244px;display:grid;grid-template-columns:114px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr) clamp(88px,calc(100dvh - 212px),96px);gap:4px 8px}.chord-workspace-heading{grid-row:1;grid-column:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;align-content:center}.chord-workspace-heading h1{font-size:11px;white-space:nowrap}.chord-workspace-heading .level-badge{font-size:7px;padding:1px 2px}.intro-practice-toolbar{grid-column:1 / -1;min-height:18px;margin:0}.intro-practice-toolbar .text-button{font-size:9px}.intro-lesson-navigation,.intro-lesson-navigation.has-theme{grid-row:1;grid-column:2;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;padding:2px 6px}.intro-lesson-navigation.has-theme .intro-current-lesson{display:block;grid-column:2;grid-row:1}.intro-lesson-navigation.has-theme>.intro-lesson-arrow{align-self:center}.intro-lesson-arrow{min-height:32px;padding:3px}.intro-lesson-arrow>span{display:none}.intro-current-lesson-meta,.intro-lesson-navigation.has-theme .intro-current-lesson-meta{min-height:12px;margin:0;gap:5px}.intro-current-lesson-meta p,.intro-current-lesson-theme{font-size:9px}.intro-current-lesson h2,.intro-lesson-navigation.has-theme .intro-current-lesson h2{min-height:0;font-size:13px;line-height:1.35}.chord-workspace>.chord-lesson{grid-column:1 / -1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 160px;grid-template-rows:24px minmax(0,1fr);gap:2px 10px;padding:4px 8px}.chord-lesson>div:has(>.intro-lesson-display){display:contents}.intro-lesson-heading{grid-column:1;grid-row:1;gap:8px;padding:0;border:0}.intro-stage-badge{min-width:90px;font-size:9px;padding:3px 6px}.intro-order-select{flex-direction:row;align-items:center;gap:6px;font-size:9px}.intro-order-select select{min-height:22px;height:22px;padding-block:0;font-size:10px}.intro-lesson-display,.progression-workspace .intro-lesson-display{grid-column:1;grid-row:2;height:auto;min-height:0;grid-template-rows:minmax(0,1fr) 14px;row-gap:2px}.intro-stage-description,.chord-meaning{display:none}.chord-feedback{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chord-study{grid-row:1;padding:0;align-items:center;gap:8px}.current-chord,.single-chord-study .current-chord,.single-chord-study:not(.is-testing) .current-chord{font-size:26px;margin:0}.chord-formula{margin-top:2px;gap:12px}.chord-formula>span{flex-direction:row;align-items:baseline;gap:3px}.single-chord-study .chord-formula small{font-size:10px}.single-chord-study .chord-formula strong{font-size:13px}.chord-score,.chord-score .score-scroll,.chord-score .score{height:100%;min-height:0;max-height:106px;padding:0}.chord-score .intro-test-prompt{height:100%;min-height:0;gap:2px;padding:4px 8px}.chord-score .intro-test-prompt strong{font-size:11px;line-height:1.3}.chord-score .intro-test-prompt p{margin:0;font-size:10px;line-height:1.3}.chord-studio-page .single-chord-score .score{height:100%}.intro-question-progress{grid-row:2;margin:0;align-self:end;grid-template-rows:repeat(2,4px);gap:3px;padding-top:3px}.intro-question-progress>span{height:4px}.chord-actions{grid-column:2;grid-row:1 / -1;padding:0;flex-direction:column;flex-wrap:nowrap;justify-content:center;gap:4px}.intro-start-actions{width:100%;flex-direction:column;gap:4px}.chord-actions .primary-button,.chord-actions .secondary-button{min-height:32px;padding:4px;font-size:10px}.intro-start-actions>button{min-width:0;width:100%;min-height:30px;padding:4px;font-size:10px}.question-navigation{--question-navigation-height: 32px;min-width:0;width:100%;flex:none}.question-navigation>button{gap:3px;padding-inline:4px;font-size:10px}.chord-action-tools{margin:0;gap:12px}.chord-action-tools .icon-button{width:28px;min-width:28px;height:28px;padding:0}.chord-action-label{display:none}.chord-workspace>.piano-card{grid-column:1 / -1;padding:0 8px 4px}.chord-studio-page .piano-heading,.scale-studio-page .piano-heading{min-height:20px;height:20px;padding:2px 0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"label note legend";gap:8px}.piano-octave-note{font-size:9px}.chord-studio-page .piano-keys,.scale-studio-page .piano-keys{height:clamp(60px,calc(100dvh - 240px),68px);min-width:var(--piano-min-width)}.chord-studio-page .black-key,.scale-studio-page .black-key{height:64%}.key-note{bottom:22px}.black-key .key-note{bottom:12px}.key-octave{bottom:6px}.intro-ready-panel{padding:2px;gap:3px}.intro-ready-icon{display:none}.intro-ready-panel h3{font-size:14px;margin:0}.intro-ready-panel p{font-size:10px;line-height:1.4}.intro-countdown{display:grid;grid-template-columns:48px minmax(0,max-content);grid-template-rows:repeat(2,auto);align-content:center;gap:2px 10px;padding:0}.intro-countdown strong{grid-column:1;grid-row:1 / -1;width:48px;height:48px;font-size:30px;line-height:1}.intro-countdown p{grid-column:2;font-size:10px;line-height:1.4}.intro-countdown p:first-child{align-self:end}.intro-countdown p:last-child{align-self:start}.single-chord-test-answer{transform:none}.single-chord-test-answer:after{width:88px;border-width:3px}.single-chord-test-answer>.chord-formula{font-size:13px}.progression-study{padding:0;grid-template-rows:26px minmax(0,1fr)}.progression-current{min-height:0}.progression-study:has(.progression-score){grid-template-columns:112px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px}.progression-study:has(.progression-score) .progression-current{flex-direction:column;align-items:center;justify-content:center;gap:2px}.progression-key{font-size:10px;line-height:1.2}.progression-study:has(.progression-score):not(.four-step-progression):not(.has-alternatives) .progression-key{display:flex;align-items:baseline;justify-content:center;gap:6px}.progression-current .current-voicing{padding-top:0;gap:1px}.progression-current .current-chord{font-size:28px;line-height:1.1;transform:none}.progression-study:has(.progression-test-chords){grid-template-columns:54px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:4px}.progression-test-chords{min-height:0;padding:0;gap:4px}.progression-test-chords li{min-height:0;gap:2px}.progression-test-chords strong,.progression-test-degrees{line-height:1.2}.four-step-progression:has(.progression-score){grid-template-columns:150px minmax(0,1fr)}.four-step-progression:has(.progression-score) .progression-current{flex-direction:row;justify-content:flex-start;gap:6px}.four-step-progression .progression-current .current-voicing{padding-top:0}.four-step-progression .progression-current .current-chord{font-size:22px}.four-step-progression .progression-test-chords strong{font-size:min(clamp(15px,2.4vw,19px),4.1cqi)}.four-step-progression .progression-test-degrees{font-size:11px}.shell-workspace .intro-ready-panel h3{display:none}.shell-workspace .intro-ready-panel p{font-size:9px;line-height:1.3}.has-alternatives:has(.progression-score){grid-template-columns:150px minmax(0,1fr)}.has-alternatives:has(.progression-score) .progression-current{flex-direction:row;justify-content:flex-start;gap:6px}.has-alternatives .progression-current .current-voicing{padding-top:0}.has-alternatives .current-voicing:has(.progression-alternative){column-gap:5px}.has-alternatives .progression-current .current-chord{font-size:22px}.has-alternatives .progression-alternative{font-size:9px}.has-alternatives .progression-current .progression-alternative{font-size:11px}.has-alternatives .progression-test-chords li{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:2px}.has-alternatives .progression-test-chords strong{font-size:min(18px,4.8cqi)}.has-alternatives .progression-test-degrees{font-size:11px}.has-alternatives .progression-test-chords li.progression-test-choices{grid-template-columns:repeat(3,max-content);gap:3px;padding:3px 2px}.has-alternatives .progression-test-option{flex-direction:column;justify-content:center;gap:2px}.has-alternatives .progression-test-or{font-size:9px;text-align:center}.progression-current-symbol{font-size:20px}.progression-current-degrees{font-size:13px;line-height:1.2;min-height:1.2em}.page-studio.scale-studio-page{padding-bottom:0}.scale-workspace{height:calc(100dvh - 36px);min-height:264px}.scale-study{padding:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:max-content minmax(0,1fr);gap:8px}.scale-study:not(.is-testing) .scale-test-answer{padding-bottom:0}.scale-lesson-display:not(.is-testing){grid-template-rows:minmax(0,1fr) 14px}.scale-related-chords,.intro-ready-panel .scale-related-chords{margin-top:1px;font-size:9px;line-height:1.25}.scale-study:has(>.scale-transition-prompt) .scale-related-chords{display:none}.scale-workspace .intro-ready-panel{padding:0;gap:3px}.scale-workspace .intro-ready-panel h3,.scale-workspace .intro-ready-panel>p:first-of-type{display:none}.scale-study>.scale-test-answer{grid-column:1 / -1;grid-row:1}.scale-study:not(.is-testing) .scale-question-heading{padding-inline:0 28px}.scale-study>.scale-tones{grid-column:1;grid-row:2;grid-template-columns:repeat(var(--scale-note-count, 8),minmax(0,1fr));gap:0}.scale-tones>span{justify-content:center;gap:1px;padding:0;line-height:1.2}.scale-study>.scale-score{grid-column:2;grid-row:2;height:100%}.scale-transition-prompt{grid-column:1 / -1;grid-row:2;gap:2px;padding:4px 8px}.scale-transition-prompt strong{font-size:11px;line-height:1.3}.scale-transition-prompt p{margin:0;font-size:10px;line-height:1.3}.current-scale{font-size:14px;line-height:1.15}.scale-tones strong{font-size:13px}.scale-tones small{font-size:11px}.scale-score .score{height:100%;min-width:0}.scale-study.is-testing{gap:2px}.is-testing .scale-test-answer{transform:none}.scale-test-degrees{margin:0 auto;font-size:18px}.scale-degree{min-height:30px;padding:2px}.is-testing .scale-test-answer:after{height:calc(100% + 36px);min-height:94px;border-width:3px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:300px)and (max-width:1000px){.progression-study:not(.four-step-progression):not(.has-alternatives) .progression-current{gap:0}.progression-current .current-voicing{gap:0}.progression-current .current-chord{font-size:25px;line-height:1}.progression-current-degrees{font-size:12px}.progression-test-chords strong{line-height:1}}.account-page{max-width:650px;margin:0 auto;padding:28px 8px 48px}.account-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--navy, #1b3052)}.account-heading h1{font-size:26px}.account-page p{line-height:1.8}.account-name,.account-email{font-weight:650;overflow-wrap:anywhere}.account-form{display:grid;gap:20px;max-width:440px;margin:26px 0}.account-form label,.account-password{display:grid;gap:8px;font-weight:600}.account-form input,.account-password input{width:100%;min-width:0;padding:12px;border:1px solid #c1cede;border-radius:8px;background:var(--surface);color:#1b3052;font:inherit}.account-form input:focus-visible,.account-password input:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.account-page.account-login{max-width:456px}.account-login .account-form{margin:24px 0 12px}.account-form .account-remember{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;cursor:pointer}.account-remember-copy{display:grid;gap:2px;line-height:1.5}.account-remember input[type=checkbox]{width:18px;height:18px;margin:3px 0 0;padding:0;accent-color:var(--navy)}.account-form .account-remember .account-help{margin:0;font-weight:400;line-height:1.6}.account-remember .account-help>span{white-space:nowrap}.account-login .account-form>.primary-button{min-height:44px;margin-top:4px}.account-login .account-links{justify-content:space-between;gap:4px 16px;margin:12px 0 0}.account-login .account-links .text-button{min-height:44px}.account-help{color:#3d567c;font-size:13px}.account-form .account-help{margin:-8px 0 0}.account-form .account-field-error{margin:-8px 0 0;color:#933f33;font-size:14px}.account-form input[aria-invalid=true]{border-color:#ae4e3f}.account-edit-modal .account-form{margin-bottom:0;max-width:none}.account-edit-modal .account-form>p:not(.account-help,.account-field-error){font-size:14px;line-height:1.8}.account-edit-modal .modal-actions{margin-top:4px}.account-actions,.account-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.account-card{margin:20px 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.account-card h2{margin:0 0 16px;font-size:17px;line-height:1.6}.account-card>p{margin:12px 0;font-size:14px}.account-card>.account-help{font-size:13px}.account-card>button{margin-top:8px}.account-setting-list{margin:0}.account-settings h2{margin-bottom:4px}.account-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:16px 0}.account-setting-row+.account-setting-row{border-top:1px solid var(--line)}.account-setting-row:last-child{padding-bottom:0}.account-setting-row dt{grid-column:1;color:#3d567c;font-size:12px;font-weight:550}.account-setting-row dd{margin:0;min-width:0}.account-setting-value{grid-column:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:15px;line-height:1.7}.account-setting-action{grid-column:2;grid-row:1 / 3;align-self:center}.account-setting-action .secondary-button{min-height:40px;padding:8px 12px;font-size:13px;gap:6px}.account-verification{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:550}.account-verification.is-verified{background:var(--mist);color:var(--navy)}.account-verification.is-pending{background:#faf4e5;color:#815c2d}.account-verification-card h2{display:flex;align-items:center;gap:8px}.account-verification-card{border-color:#e3d6b7}.account-sync-status{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;background:var(--mist);color:var(--navy)}.account-sync-status>svg{flex-shrink:0;margin-top:3px}.account-sync-status.is-error,.account-sync-status.is-paused{background:#faf4e5;color:#815c2d}.account-page .account-sync-label{margin:0;font-size:14px;font-weight:650;line-height:1.7}.account-page .account-sync-description{margin:4px 0 0;font-size:12px;line-height:1.8}.account-sync-status.is-syncing>svg{animation:account-sync-spin 1.5s linear infinite}.account-sync-details{margin-top:12px;padding:0;border:0;color:#3d567c}.account-sync-details summary{width:fit-content;padding:8px 0;color:inherit;font-size:12px;cursor:pointer}.account-sync-details p{margin:4px 0 0;padding:0;color:#3d567c;font-size:13px}.account-session-actions{display:grid;justify-items:start;gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.account-delete{width:100%;padding:0;border:0;font-size:13px}.account-delete summary{padding:6px 0;color:#3d567c;font-size:13px;cursor:pointer}.account-delete p{margin:12px 0;padding:0;color:#3d567c;font-size:13px}.account-page .text-button{text-decoration:underline;text-underline-offset:3px}@keyframes account-sync-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.account-sync-status.is-syncing>svg{animation:none}}@media(max-width:600px){.account-page{padding:10px 0 36px}.account-heading{margin-bottom:20px}.account-heading h1{font-size:23px}.account-card{padding:18px}.account-setting-row{column-gap:12px}.account-setting-value{font-size:14px}.account-sync-status{padding:14px 12px;gap:10px}}.phrase-workspace{--lesson-display-height: 250px;--lesson-feedback-height: 32px;--phrase-cursor: #c65d24}.phrase-studio .intro-lesson-heading{grid-template-columns:minmax(0,1fr) 144px minmax(0,1fr);grid-template-areas:"status preparation order";column-gap:8px;min-height:44px}.phrase-studio .intro-order-select{justify-self:end}.phrase-backing-toggle[aria-pressed=true]{background:var(--mist)}.phrase-workspace .intro-stage-badge{line-height:1.5}.phrase-preparation{grid-area:preparation;justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:112px;height:32px;border-radius:6px;background:var(--mist)}.phrase-preparation-dots{display:inline-flex;align-items:center;gap:10px}.phrase-preparation-dots>i{display:block;width:7px;height:7px;border-radius:50%;background:var(--line)}.phrase-preparation-dots>i.is-current{background:var(--phrase-cursor)}.phrase-preparation.is-counting-in{width:144px;background:transparent}.phrase-preparation.is-counting-in .phrase-preparation-dots{gap:8px}.phrase-preparation.is-counting-in i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);background:var(--mist);font-style:normal}.phrase-preparation.is-counting-in i.is-current{border-color:var(--navy);background:var(--navy);color:var(--surface)}.phrase-preparation strong{font-size:20px;line-height:1;font-weight:650;font-variant-numeric:tabular-nums}.phrase-preparation.is-counting-in i.is-entry{border-style:dashed}.phrase-preparation.is-counting-in i.is-entry.is-current{border-style:solid}.phrase-entry-label{font-size:10px;line-height:1;font-weight:650}.phrase-lesson-display{grid-template-rows:minmax(0,1fr) 16px var(--lesson-feedback-height)}.phrase-study{display:grid;grid-template-rows:30px minmax(0,1fr);min-width:0;min-height:0;padding-top:6px}.phrase-session-status{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:11px}.phrase-session-status strong{margin-right:auto;color:var(--navy);font-size:16px;font-weight:550}.phrase-score-panel{min-width:0;min-height:0;display:flex;align-items:center;overflow:hidden}.phrase-notation-scroll{width:100%;height:100%;display:flex;align-items:center;overflow:auto;overscroll-behavior:contain}.phrase-notation-scroll.is-testing{scrollbar-width:none}.phrase-notation-scroll.is-testing::-webkit-scrollbar{display:none}.phrase-notation{display:block;width:100%;height:100%;max-height:180px;margin-inline:auto;flex-shrink:0;color:var(--navy);fill:currentColor}.phrase-notation .ledger-line{stroke:currentColor;stroke-width:1.1}.phrase-time{font:700 24px Georgia,serif;text-anchor:middle}.phrase-chord{font-size:18px;font-weight:550;letter-spacing:-.02em}.phrase-pickup{font-size:10px;fill:var(--muted)}.phrase-note{color:var(--navy)}.phrase-note-hitbox{fill:transparent}.phrase-note.active{color:#147daf}.phrase-note.correct{color:#287b56}.phrase-note.wrong,.phrase-wrong-text{color:#b54b40}.phrase-note.selected .phrase-note-hitbox,.phrase-note[role=button]:focus .phrase-note-hitbox{fill:#147daf20;stroke:#147daf}.phrase-note[role=button]{cursor:pointer}.phrase-playhead{stroke:var(--phrase-cursor);stroke-width:2px;pointer-events:none}.phrase-tuplet{font:italic 13px Georgia,serif;text-anchor:middle;paint-order:stroke fill;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.phrase-workspace .intro-question-progress{grid-template-rows:5px}.phrase-workspace .intro-ready-panel{gap:8px;padding-block:12px}@media(max-width:760px){.phrase-workspace{--lesson-display-height: 270px;--lesson-feedback-height: 36px}.phrase-workspace .intro-stage-badge{min-width:0;max-width:100%;white-space:normal;text-align:center;font-size:11px}.phrase-session-status{gap:8px;font-size:10px}.phrase-session-status strong{font-size:13px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:500px)and (max-width:1000px){.phrase-workspace{height:calc(100dvh - 36px);min-height:264px}.phrase-workspace>.chord-lesson{grid-template-rows:32px minmax(0,1fr)}.phrase-workspace .phrase-lesson-display{grid-template-rows:minmax(0,1fr) 10px}.phrase-study{grid-template-rows:18px minmax(0,1fr);padding:0}.phrase-session-status{font-size:9px;gap:6px}.phrase-session-status strong{font-size:10px}.phrase-workspace .intro-question-progress{grid-template-rows:4px}.phrase-workspace .intro-ready-panel{padding:0;gap:3px}.phrase-workspace .intro-ready-panel h3{display:none}.phrase-studio .intro-lesson-heading{min-height:0}.phrase-studio .intro-stage-badge{min-width:0;font-size:9px}.phrase-studio .intro-order-select{align-self:center}.phrase-preparation{height:22px}.phrase-preparation.is-counting-in{height:32px}.phrase-notation{max-height:none}}.learn-course,.learn-lesson{width:min(100%,980px);margin-inline:auto}.learn-heading{margin:8px 0 28px}.learn-heading .eyebrow{font-size:11px;line-height:1.8;letter-spacing:.08em}.learn-heading h1{margin-top:9px;font-size:clamp(24px,3vw,32px);line-height:1.5;letter-spacing:.02em}.learn-heading>p:last-child:not(.eyebrow){max-width:680px;margin-top:16px;font-size:15px;line-height:1.9;color:var(--muted)}.learn-lesson-part{white-space:nowrap}.learn-lesson-part-number{display:inline-block;width:1ch;text-align:center}.lesson-read-status{display:inline-flex;align-items:center;justify-content:center;color:var(--navy)}.learn-lesson-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.learn-back{font-size:13px;min-height:44px}.learn-lesson-navigation{display:flex;gap:8px;margin-left:auto}.learn-lesson-navigation .secondary-button{min-height:44px;padding-inline:12px}.lesson-dialogue{display:grid;grid-template-columns:108px minmax(0,1fr) 108px;align-items:center;column-gap:16px;margin-block:22px}.lesson-dialogue-portrait{grid-row:1;display:grid;justify-items:center}.lesson-dialogue-portrait img{display:block;width:108px;height:108px;object-fit:contain}.is-teacher .lesson-dialogue-portrait{grid-column:3}.is-student .lesson-dialogue-portrait{grid-column:1}.lesson-dialogue-bubble{grid-column:2;grid-row:1;position:relative;padding:21px 24px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:16px;line-height:1.9;overflow-wrap:anywhere}.lesson-inline-rehearsal-mark{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;margin-inline:.14em;border:1.5px solid currentColor;font-size:.95em;font-weight:700;line-height:1;vertical-align:.08em;white-space:nowrap}.lesson-note-name{white-space:nowrap}.lesson-note-reference{margin:22px 124px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:14px;line-height:1.85}.lesson-note-reference>figcaption{font-size:16px;font-weight:600}.lesson-note-reference p{margin-top:10px}.lesson-note-reference table{width:100%;margin-top:14px;border:1px solid var(--line);border-radius:6px;border-collapse:separate;border-spacing:0;table-layout:fixed;overflow:hidden;text-align:center}.lesson-note-reference th{width:88px;padding:8px 6px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--muted)}.lesson-note-reference td{padding:8px 0;font-size:14px;white-space:nowrap}.lesson-note-reference tr>*+*{border-left:1px solid var(--line)}.lesson-note-reference tr+tr>*{border-top:1px solid var(--line)}.lesson-note-reference tr:last-child td{font-size:17px;font-weight:600}.lesson-dialogue-bubble:before{content:"";position:absolute;top:29px;width:12px;height:12px;background:inherit;transform:rotate(45deg)}.is-teacher .lesson-dialogue-bubble:before{right:-7px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.is-student .lesson-dialogue-bubble{background:#eaf0f7}.is-student .lesson-dialogue-bubble:before{left:-7px;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}.lesson-section-title{margin:48px 124px 18px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:20px;line-height:1.6}.lesson-subsection-title{margin:32px 124px 16px;font-size:18px;line-height:1.7}.lesson-keyboard{margin:16px 124px 24px;padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.lesson-keyboard figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:15px}.lesson-keyboard-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.lesson-keyboard figcaption strong{font-size:22px}.lesson-keyboard-play{min-height:44px;font-size:14px}.lesson-keyboard-play:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.lesson-keyboard-hint{margin:8px 0 10px;font-size:13px;line-height:1.7}.lesson-keyboard-error{margin-top:12px;font-size:14px;line-height:1.7}.lesson-keyboard-diagram{display:block;width:90%;max-width:336px;height:auto;margin-inline:auto}.lesson-diagram-key rect{fill:#fff;stroke:var(--line);stroke-width:1}.lesson-diagram-key text{fill:var(--muted);font-size:13px;text-anchor:middle}.lesson-diagram-key.is-selected rect{fill:#deebfa;stroke:#5779a4;stroke-width:2}.lesson-diagram-key.is-selected text{fill:var(--navy);font-weight:600}.lesson-diagram-key .lesson-key-note{font-size:17px}.lesson-diagram-key circle{fill:var(--navy)}.lesson-diagram-key .lucide-check{color:#fff}.lesson-diagram-key.is-black rect{fill:var(--navy);stroke:var(--navy)}.lesson-diagram-key.is-black.is-selected rect{stroke:#8daacf}.lesson-diagram-key.is-black text{fill:#fff}.lesson-diagram-key.is-black circle{fill:#fff}.lesson-diagram-key.is-black .lucide-check{color:var(--navy)}.lesson-diagram-key.is-playing rect{fill:#3571b4;stroke:var(--navy)}.lesson-diagram-key.is-playing text{fill:#fff}.lesson-diagram-key.is-playing circle{fill:#fff}.lesson-diagram-key.is-playing .lucide-check{color:#245fa4}.lesson-interval-number-diagram{width:min(100%,420px);margin:16px auto 24px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.lesson-interval-number-diagram>figcaption{font-size:14px;font-weight:600;line-height:1.7}.lesson-interval-number-examples{display:grid;gap:8px;margin-top:10px}.lesson-interval-number-example+.lesson-interval-number-example{padding-top:8px;border-top:1px solid var(--line)}.lesson-interval-number-example h4{margin-bottom:4px;color:var(--muted);font-size:13px;font-weight:500;line-height:1.6}.lesson-interval-number-sequence{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-interval-note-counts{display:flex;align-items:center;gap:8px}.lesson-interval-note-counts>svg{flex:none;color:var(--muted)}.lesson-interval-counted-note{display:grid;justify-items:center;gap:3px;min-width:32px;font-size:16px;font-weight:600;line-height:1.4}.lesson-interval-counted-note b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px}.lesson-interval-number-result{color:var(--navy);font-size:15px;white-space:nowrap}.lesson-triad-degree-notes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:14px 0 10px;padding:0;list-style:none}.lesson-triad-degree-notes>li{display:grid;justify-items:center;gap:6px;min-width:0;padding:10px 4px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.lesson-triad-degree-notes>li.is-chord-tone{border-color:#a5bddc;background:#deebfa;color:var(--navy)}.lesson-triad-degree-notes span{font-size:12px}.lesson-triad-degree-notes strong{font-size:16px}.lesson-triad-degree-diagram>p{color:var(--muted);font-size:13px;line-height:1.7}.lesson-interval-diagram{margin:20px 124px 28px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.lesson-interval-diagram>figcaption{font-size:15px;font-weight:600;line-height:1.7}.lesson-interval-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-block:12px 18px;color:var(--muted);font-size:12px}.lesson-interval-legend>span{display:inline-flex;align-items:center;gap:7px}.lesson-interval-legend i{display:inline-grid;place-items:center;width:20px;height:22px;border-radius:3px;font-size:12px;font-style:normal;font-weight:600}.lesson-interval-legend .is-boundary{border:2px dashed var(--navy);background:#eaf0f7}.lesson-interval-legend .is-counted{background:#3571b4;color:#fff}.lesson-interval-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}.lesson-interval-example{min-width:0;text-align:center}.lesson-interval-example h4{margin-bottom:12px;font-size:15px;line-height:1.7}.lesson-interval-example>svg{display:block;width:100%;max-width:250px;height:auto;margin-inline:auto}.lesson-interval-key rect{fill:#fff;stroke:var(--line);stroke-width:1}.lesson-interval-key text{fill:var(--muted);font-size:14px;text-anchor:middle}.lesson-interval-key.is-black rect{fill:var(--navy);stroke:var(--navy)}.lesson-interval-key.is-black text{fill:#fff;font-size:13px}.lesson-interval-key.is-boundary rect{fill:#eaf0f7;stroke:var(--navy);stroke-width:2;stroke-dasharray:4 3}.lesson-interval-key.is-boundary text{fill:var(--navy);font-weight:700}.lesson-interval-key.is-counted rect{fill:#3571b4;stroke:var(--navy)}.lesson-interval-key.is-counted .lesson-interval-key-name{fill:#fff;font-weight:600}.lesson-interval-key circle{fill:#fff}.lesson-interval-key text.lesson-interval-number{fill:var(--navy);font-size:15px;font-weight:700}.lesson-interval-counted-notes{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.7}.lesson-interval-result{margin-top:4px;color:var(--navy);font-size:14px;font-weight:600;line-height:1.7}.lesson-minor-interval-diagram{margin:16px 124px 24px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.lesson-minor-interval-diagram>figcaption{font-size:14px;font-weight:600;line-height:1.7}.lesson-minor-interval-diagram .lesson-interval-legend{gap:8px 14px;margin-block:8px 12px}.lesson-minor-interval-diagram .lesson-interval-legend .is-upper{color:var(--ink);background:#e88932}.lesson-minor-interval-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.lesson-minor-interval-example{min-width:0;text-align:center}.lesson-minor-interval-example h4{margin-bottom:8px;font-size:15px;line-height:1.7}.lesson-minor-interval-example>svg{display:block;width:100%;max-width:210px;height:auto;margin-inline:auto}.lesson-minor-interval-diagram .lesson-interval-key.is-black.is-boundary rect{fill:var(--navy);stroke:#a5bddc}.lesson-minor-interval-diagram .lesson-interval-key.is-black.is-boundary text{fill:#fff}.lesson-minor-interval-diagram .lesson-interval-key .lesson-interval-key-name{font-size:16px}.lesson-minor-interval-diagram .lesson-interval-key.is-upper rect{fill:#e88932}.lesson-minor-interval-diagram .lesson-interval-key.is-upper .lesson-interval-key-name{fill:var(--ink)}.lesson-minor-interval-steps{display:grid;gap:4px;width:fit-content;max-width:100%;margin:8px auto 0;font-size:12px;line-height:1.7;text-align:left}.lesson-minor-interval-steps p{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.lesson-minor-interval-steps p>span{min-width:61px}.lesson-minor-interval-steps strong{color:#3571b4;font-weight:600}.lesson-minor-interval-steps .is-upper strong{color:#ba4f00}.lesson-triad-table{width:calc(100% - 248px);margin:20px 124px;border-collapse:collapse;background:var(--surface);font-size:15px;line-height:1.7}.lesson-triad-table caption{margin-bottom:12px;font-weight:600;text-align:left}.lesson-triad-table th,.lesson-triad-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}.lesson-triad-table thead th{font-size:13px}.lesson-triad-answer>summary{width:fit-content;margin:12px 124px 24px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:15px;line-height:1.7;cursor:pointer}.lesson-answer-note{margin:20px 124px 32px;font-size:13px;line-height:1.9;color:var(--muted)}.lesson-triad-answer>summary:focus-visible{outline:2px solid var(--navy);outline-offset:4px}.lesson-seventh-diagram,.lesson-chord-conversions{margin:20px 124px 28px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.lesson-seventh-diagram>figcaption,.lesson-chord-conversions>figcaption{font-size:15px;font-weight:600;line-height:1.7}.lesson-seventh-formula{display:grid;grid-template-columns:minmax(0,1.7fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:20px}.lesson-seventh-part{display:grid;justify-items:center;gap:10px;min-width:0;text-align:center}.lesson-seventh-part>strong{font-size:24px}.lesson-seventh-part>span{color:var(--muted);font-size:12px;line-height:1.6}.lesson-seventh-notes{display:flex;justify-content:center;gap:4px}.lesson-seventh-notes>span{display:grid;place-items:center;min-width:28px;min-height:34px;padding:4px;border:1px solid #a5bddc;border-radius:6px;background:#deebfa;color:var(--navy);font-size:14px;font-weight:600}.lesson-seventh-notes.is-added>span{background:#fff0df;border-color:#d99b5e}.lesson-seventh-operator{color:var(--muted);font-size:20px}.lesson-seventh-part.is-result>strong{color:var(--navy)}.lesson-chord-conversion-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;margin-top:16px;padding:0;list-style:none}.lesson-chord-conversion-list>li{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 10px;border:1px solid var(--line);border-radius:8px;font-size:21px}.lesson-chord-conversion-list .lucide-arrow-right{flex-shrink:0;color:var(--muted)}.lesson-conversion-before{white-space:nowrap}.lesson-conversion-before del{color:#a04d0c;text-decoration-thickness:2px;text-decoration-color:currentColor;background:#fff0df}.lesson-chord-conversion-list strong{color:var(--navy);font-weight:600;white-space:nowrap}.lesson-chord-conversions>p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.8}.lesson-arrangement-diagram{margin:20px 124px 28px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.lesson-arrangement-diagram>figcaption{font-size:15px;font-weight:600;line-height:1.7}.lesson-arrangement-diagram>p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.8}.lesson-chord-tone-row{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:12px;margin-top:18px}.lesson-chord-tone-row>strong{color:var(--navy);font-size:21px;white-space:nowrap}.lesson-chord-tones{display:flex;gap:6px}.lesson-chord-tone{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;max-width:78px;padding:8px 3px;border:1px solid #a5bddc;border-radius:8px;background:#deebfa;color:var(--navy);text-align:center}.lesson-chord-tone>strong{font-size:16px;font-weight:600}.lesson-chord-tone>span{font-size:12px}.lesson-chord-tone .lesson-chord-tone-degree{font-size:12px;color:var(--muted)}.lesson-chord-tone.is-changed{border-color:#d99b5e;background:#fff0df}.lesson-chord-tone-step{display:flex;align-items:center;gap:10px}.lesson-chord-tone-step>svg{flex-shrink:0;color:var(--navy)}.lesson-arrangement-pair{position:relative;display:grid;grid-template-columns:minmax(0,160px) minmax(0,240px);align-items:center;gap:18px;width:100%;max-width:418px;margin-inline:auto}.lesson-arrangement-pair.has-playback{grid-template-columns:minmax(0,160px) minmax(0,240px) 44px;max-width:480px}.lesson-arrangement-play{width:44px;height:44px;padding:0;transition:none}.lesson-arrangement-play:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.lesson-arrangement-play[aria-pressed=true],.lesson-arrangement-play[aria-pressed=true]:hover{background:var(--navy);color:#fff}.lesson-arrangement-loading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lesson-arrangement-pair>.lesson-arrangement-status{grid-column:1 / -1;margin:0;font-size:13px}.lesson-arrangement-staff,.lesson-arrangement-keyboard{display:block;width:100%;height:auto}.lesson-arrangement-staff{fill:currentColor}.lesson-arrangement-staff text{font-size:16px}.lesson-arrangement-staff-line{stroke:#758294;stroke-width:1}.lesson-arrangement-staff-range{fill:#deebfa}.lesson-register-diagram>.lesson-arrangement-pair{margin-top:18px}.lesson-arrangement-key rect{fill:#fff;stroke:#758294;stroke-width:1}.lesson-arrangement-key.is-black rect{fill:var(--navy)}.lesson-arrangement-key.is-range rect,.lesson-arrangement-key.is-selected rect{fill:#deebfa}.lesson-arrangement-key.is-black.is-range rect,.lesson-arrangement-key.is-black.is-selected rect{fill:#3571b4}.lesson-arrangement-key circle{fill:#3571b4}.lesson-arrangement-key>svg{color:#fff}.lesson-arrangement-key.is-black circle{fill:#fff}.lesson-arrangement-key.is-black>svg{color:#3571b4}.lesson-arrangement-key.is-playing rect{fill:#245fa4;stroke:var(--navy)}.lesson-arrangement-key.is-playing circle{fill:#fff}.lesson-arrangement-key.is-playing>svg{color:#245fa4}.lesson-arrangement-key.is-black.is-playing rect{fill:#edca75;stroke:#967022}.lesson-arrangement-key.is-black.is-playing circle{fill:var(--navy)}.lesson-arrangement-key.is-black.is-playing>svg{color:#fff}.lesson-arrangement-keyboard text{fill:var(--ink);font-size:24px}.lesson-arrangement-keyboard[data-wide] text{font-size:28px}.lesson-keyboard-reference path{stroke:var(--muted);stroke-width:1.5}.lesson-register-legend{display:flex;align-items:center;gap:8px}.lesson-register-legend>span{flex-shrink:0;width:16px;height:16px;border:1px solid #758294;background:#deebfa}.lesson-keyboard-comparison{display:grid;gap:12px;margin-top:16px}.lesson-keyboard-comparison-row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px}.lesson-keyboard-comparison-row+.lesson-keyboard-comparison-row{border-top:1px solid var(--line);padding-top:12px}.lesson-keyboard-comparison-row h3{display:grid;gap:6px}.lesson-keyboard-comparison-row h3>span{color:var(--muted);font-size:13px;font-weight:400;line-height:1.6}.lesson-keyboard-comparison-row h3>strong{font-size:20px;font-weight:600}.lesson-octave-comparison .lesson-keyboard-comparison-row{grid-template-columns:90px minmax(0,1fr);gap:18px;width:100%;max-width:588px;margin-inline:auto}.lesson-octave-comparison .lesson-keyboard-comparison-row h3{display:flex;align-items:center;gap:8px}.lesson-octave-comparison .lesson-keyboard-comparison-row h3>span{padding:3px 8px;border-radius:4px;background:#e8edf3;color:var(--navy);font-size:14px;font-weight:600;white-space:nowrap}.lesson-octave-comparison .lesson-keyboard-comparison-row h3>strong{font-size:18px}.lesson-octave-comparison .lesson-keyboard-comparison-row+.lesson-keyboard-comparison-row h3>span{background:#deebfa}.lesson-inversion-forms{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:20px}.lesson-inversion-form{text-align:center}.lesson-inversion-form h3{display:grid;align-content:center;min-height:3.2em;font-size:14px;line-height:1.6}.lesson-inversion-form>p{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.7}.lesson-inversion-arrows{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:var(--muted);pointer-events:none}.lesson-inversion-arrow{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.lesson-note-stack{display:grid;gap:5px;max-width:110px;margin:12px auto 0}.lesson-note-stack>span{padding:6px;border:1px solid var(--line);border-radius:6px;background:#e8edf3;color:var(--navy);font-size:17px;font-weight:600}.lesson-note-stack .is-root{background:#deebfa;border-color:#a5bddc}.lesson-note-stack .is-third{background:#fff0df;border-color:#d99b5e}.lesson-arrangement-diagram .lesson-diagram-takeaway{color:var(--ink)}.lesson-bass-line-score{display:block;width:100%;max-width:520px;height:auto;margin:16px auto 0;color:var(--ink);fill:currentColor}.lesson-bass-line-note.is-bass{color:#2367ad;fill:currentColor}.lesson-bass-line-stem{stroke:currentColor;stroke-width:1.3}.lesson-bass-line-chord{fill:var(--ink);font-size:17px;font-weight:600}.lesson-bass-line-label{fill:#2367ad;font-size:18px;font-weight:600}.lead-sheet .lead-sheet-measure-number{fill:var(--muted);font-family:var(--font-ui, sans-serif);font-size:18px;font-weight:500}.lead-sheet .lead-sheet-rehearsal-mark rect{fill:var(--surface);stroke:currentColor;stroke-width:2}.lead-sheet .lead-sheet-rehearsal-mark text{fill:currentColor;font-family:var(--font-ui, sans-serif);font-size:26px;font-weight:700}.lead-sheet-grand .lead-sheet-rehearsal-mark text{font-size:29px}.lesson-rhythm-grid{width:100%;margin-top:20px;table-layout:fixed;border-collapse:collapse;font-size:13px;line-height:1.6}.lesson-rhythm-grid th{padding:8px 4px;font-weight:500;text-align:center;overflow-wrap:anywhere}.lesson-rhythm-grid th:first-child{width:28%}.lesson-rhythm-grid th[scope=row]{text-align:left;font-weight:700}.lesson-rhythm-grid th[scope=row] span{display:block;font-size:11px;font-weight:400}.lesson-rhythm-grid td{padding:4px 2px;text-align:center}.lesson-rhythm-action{display:block;padding:10px 2px;border-radius:4px}.lesson-rhythm-action.is-attack{background:#2b3f5c;color:#fff;font-weight:700}.lesson-rhythm-action.is-hold{background:#deebfa;color:#2b3f5c}.lesson-rhythm-rest{color:var(--muted)}.lead-sheet-viewer{position:relative;width:min(100%,800px);margin:26px auto 38px}.lead-sheet-controls{position:absolute;top:8px;right:24px;z-index:1;display:flex;gap:12px}.lead-sheet-controls .icon-button{position:relative;border:1px solid var(--line);background:#fffffff0;box-shadow:0 2px 6px #1b305218}.lead-sheet-controls .icon-button:hover{background:var(--mist)}.lead-sheet-viewer>.lead-sheet-viewport .lead-sheet-heading h2{padding-inline:84px}.lead-sheet-fullscreen.modal{width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;overflow:hidden}.lead-sheet-fullscreen.modal[open]{animation:none}.lead-sheet-fullscreen .modal-inner,.lead-sheet-page{--lead-sheet-toolbar-height: calc(64px + env(safe-area-inset-top)) ;position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding-block:calc(var(--lead-sheet-toolbar-height) + 8px) max(8px,env(safe-area-inset-bottom));padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right));background:var(--paper)}.lead-sheet-page{height:100dvh}.lead-sheet-toolbar{position:absolute;inset:0 0 auto;height:var(--lead-sheet-toolbar-height);display:flex;align-items:center;justify-content:center;padding-top:env(safe-area-inset-top);background:var(--surface);box-shadow:0 1px 0 var(--line)}.lead-sheet-zoom-controls{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.lead-sheet-toolbar .icon-button{width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;transition:none}.lead-sheet-toolbar button:enabled:hover{background:var(--surface)}.lead-sheet-page-error{align-items:center;justify-content:center;gap:24px;text-align:center}.lead-sheet-fullscreen .modal-heading{position:absolute;top:calc(10px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:1}.lead-sheet-fullscreen .modal-heading h2{display:none}.lead-sheet-fullscreen .modal-heading .secondary-button{height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px}.lead-sheet-fullscreen .modal-heading .secondary-button:hover{background:var(--paper)}.lead-sheet-expanded .lead-sheet-viewport{flex:1;align-self:center;min-height:0;max-width:800px;max-height:none;border:0;border-radius:0;overscroll-behavior:contain}.lead-sheet-viewport{container-type:inline-size;width:100%;max-height:clamp(360px,68vh,640px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain auto;border:1px solid var(--line);border-radius:10px;background:#d3dae4;scrollbar-gutter:stable}.lead-sheet-viewport.is-fitted{position:relative;overflow:clip;scrollbar-gutter:auto;background:transparent}.lead-sheet-expanded .lead-sheet-viewport.is-zoomable{max-width:none;overflow:auto}.lead-sheet-zoom-stage{position:relative;min-width:100%;min-height:100%;overflow:clip}.lead-sheet-fitted-page{position:absolute;top:50%;left:50%;width:800px;container-type:inline-size;transform-origin:center}.lead-sheet-fitted-page .lead-sheet{min-height:0}.lead-sheet{--surface: #fff;width:100%;min-height:min(900px,118.42cqw);margin:0;padding:clamp(14px,4.21cqw,32px);color:#181818;background:var(--surface);box-shadow:0 3px 12px #1b305218}.lead-sheet-heading{margin-bottom:14px}.lead-sheet-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(18px,3.95cqw,30px);font-weight:500;line-height:1.2;text-align:center}.lead-sheet.is-excerpt{min-height:0}.lead-sheet.is-excerpt .lead-sheet-heading h2{font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:clamp(14px,2.8cqw,20px);line-height:1.6}.lead-sheet-composer{margin-top:10px;font-family:Times New Roman,serif;font-size:clamp(12px,1.97cqw,15px);line-height:1.5;text-align:right}.lead-sheet .lead-sheet-change-highlight{fill:#deebfa;stroke:none}.lead-sheet-systems{display:grid;gap:clamp(7.085550733734375px,1.665104422427578125cqw,12.6527691673828125px);min-width:0}.lead-sheet-grand .lead-sheet-systems{gap:clamp(5.6684405869875px,1.3320835379420625cqw,10.12221533390625px)}.lead-sheet .phrase-notation-scroll{height:auto;overflow:visible}.lead-sheet .phrase-notation{height:auto;max-height:none;margin:0;color:inherit}@container (max-width: 540px){.lead-sheet-viewer>.lead-sheet-viewport .lead-sheet-heading{padding-top:36px}.lead-sheet-viewer>.lead-sheet-viewport .lead-sheet-heading h2{padding-inline:32px}}.lead-sheet .phrase-note{color:inherit}.lead-sheet .phrase-note.is-arrangement-change{--surface: #deebfa;color:#3571b4}.lead-sheet .staff-line{stroke:currentColor;stroke-width:1.1}.lead-sheet .bar-line{stroke:currentColor;stroke-width:1.2}.lead-sheet .phrase-chord{font-family:Times,Times New Roman,serif;font-size:33.174px;font-weight:400;letter-spacing:0}.lead-sheet-chord-major{font-size:.65em;stroke:currentColor;stroke-width:.35}.lead-sheet-chord-suffix{font-size:.9em}.lead-sheet-chord-accidental{font-size:.8em}.lead-sheet-chord-extension{font-size:.7em}.lead-sheet-ending{font-family:Times New Roman,serif}.learn-lesson-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.learn-lesson-footer .secondary-button,.learn-lesson-footer .primary-button{min-height:44px;font-size:13px}.learn-lesson-footer .primary-button{margin-left:auto}@media(pointer:coarse){.lead-sheet-controls .icon-button:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.lesson-arrangement-play .spin{animation:none}}@media(max-width:1000px){.lesson-dialogue{grid-template-columns:84px minmax(0,1fr) 84px;gap:12px}.lesson-dialogue-portrait img{width:84px;height:84px}.lesson-section-title{margin-inline:96px}.lesson-subsection-title,.lesson-keyboard,.lesson-interval-diagram,.lesson-minor-interval-diagram,.lesson-triad-answer>summary,.lesson-answer-note{margin-inline:96px}.lesson-seventh-diagram,.lesson-chord-conversions,.lesson-arrangement-diagram{margin-inline:96px}.lesson-register-diagram,.lesson-octave-comparison,.lesson-chord-connection{margin-inline:0}.lesson-keyboard-comparison-row{grid-template-columns:minmax(0,1fr);gap:8px}.lesson-keyboard-comparison-row h3{display:flex;align-items:baseline;gap:12px}.lesson-arrangement-pair{grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:12px;max-width:362px}.lesson-arrangement-pair.has-playback{grid-template-columns:minmax(0,110px) minmax(0,1fr) 44px;max-width:418px}.lesson-triad-table{width:calc(100% - 192px);margin-inline:96px}}@media(max-width:600px){.lesson-note-reference{margin-inline:0;padding:14px}.learn-heading{margin-bottom:22px}.learn-heading>p:last-child:not(.eyebrow){font-size:14px}.lesson-dialogue{grid-template-columns:62px minmax(0,1fr) 62px;align-items:start;gap:10px;margin-block:24px}.lesson-dialogue-portrait img{width:62px;height:62px}.lesson-dialogue-bubble{padding:14px 16px;font-size:15px;line-height:1.85}.is-teacher .lesson-dialogue-bubble{grid-column:1 / 3}.is-student .lesson-dialogue-bubble{grid-column:2 / 4}.lesson-section-title{margin:36px 0 12px;font-size:18px}.lesson-subsection-title,.lesson-keyboard,.lesson-interval-diagram,.lesson-minor-interval-diagram,.lesson-triad-answer>summary,.lesson-answer-note{margin-inline:0}.lesson-seventh-diagram,.lesson-chord-conversions,.lesson-arrangement-diagram{margin-inline:0;padding:14px}.lesson-octave-comparison .lesson-keyboard-comparison-row{grid-template-columns:minmax(0,1fr);gap:8px}.lesson-octave-comparison .lesson-keyboard-comparison-row h3{gap:6px}.lesson-octave-comparison .lesson-keyboard-comparison-row h3>span{padding-inline:6px;font-size:13px}.lesson-octave-comparison .lesson-arrangement-pair{grid-template-columns:minmax(0,80px) minmax(0,1fr) 44px;gap:8px}.lesson-inversion-forms{gap:20px}.lesson-chord-conversion-list{grid-template-columns:1fr}.lesson-chord-tone-row{grid-template-columns:minmax(0,1fr);gap:8px}.lesson-subsection-title{font-size:17px}.lesson-keyboard{padding:12px}.lesson-interval-number-diagram{padding:12px 14px}.lesson-interval-diagram{padding:14px}.lesson-triad-table{width:100%;margin-inline:0}.lesson-triad-table th,.lesson-triad-table td{padding:10px 12px}.lead-sheet-viewer{margin-block:22px 30px}}.arrangement-score{width:100%;height:100%;min-height:0}.arrangement-score-row{height:100%;min-width:0;min-height:0}.arrangement-score .phrase-notation{max-height:100%}.arrangement-score .lead-sheet-rehearsal-mark rect{fill:none;stroke:currentColor;stroke-width:2}.arrangement-score .lead-sheet-rehearsal-mark text{font-weight:650}.arrangement-score.is-two-row{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:6px}.arrangement-score.is-two-row .arrangement-score-row{display:grid;grid-template-rows:20px minmax(0,1fr);border:1px solid var(--soft-line);border-radius:6px;padding:2px 6px}.arrangement-score.is-two-row .arrangement-score-row.is-current{border-color:var(--navy)}.arrangement-score.is-two-row .phrase-notation-scroll{overflow:hidden}.arrangement-score-row-heading{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:11px;line-height:1.2}.arrangement-score-row-heading strong{font-weight:550}.arrangement-score-row.is-current .arrangement-score-row-heading{color:var(--navy)}.arrangement-studio .intro-question-progress{grid-template-columns:repeat(32,minmax(0,1fr));gap:3px}.arrangement-studio .phrase-session-status strong{white-space:nowrap}.arrangement-studio .phrase-session-status small{font-size:.75em;font-weight:400}.arrangement-studio .phrase-preparation i{font-size:17px}.arrangement-count-in-progress{grid-area:order;justify-self:end;color:var(--muted);font-size:12px;white-space:nowrap}.arrangement-test-info{grid-area:order;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2}.arrangement-test-status{display:flex;gap:12px;color:var(--muted);font-size:11px;white-space:nowrap}.arrangement-studio.is-testing{height:calc(100dvh - 88px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:24px 52px minmax(0,1fr) 88px;gap:6px}.arrangement-studio.is-testing .chord-workspace-heading{min-height:0;flex-wrap:nowrap}.arrangement-studio.is-testing .chord-workspace-heading h1{font-size:14px}.arrangement-studio.is-testing .intro-practice-toolbar{flex-basis:auto;margin-left:auto}.arrangement-studio.is-testing .intro-lesson-navigation{padding-block:4px}.arrangement-studio.is-testing .intro-current-lesson-meta{min-height:14px;margin-bottom:0}.arrangement-studio.is-testing .intro-current-lesson-meta p{font-size:10px}.arrangement-studio.is-testing .intro-current-lesson-theme{display:none}.arrangement-studio.is-testing .intro-current-lesson h2{min-height:0;font-size:15px;line-height:1.4}.arrangement-studio.is-testing .intro-lesson-arrow{min-height:32px;padding-block:4px}.arrangement-studio.is-testing>.chord-lesson{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:36px minmax(0,1fr) 54px;padding:6px 14px}.arrangement-studio.is-testing .intro-lesson-heading{min-height:0;padding-bottom:4px}.arrangement-studio.is-testing .phrase-lesson-display{height:auto;min-height:0;grid-template-rows:minmax(0,1fr) 20px 28px}.arrangement-studio.is-testing .phrase-study{grid-template-rows:minmax(0,1fr);padding-top:4px}.arrangement-studio.is-testing .intro-question-progress{padding-block:10px 5px}.arrangement-studio.is-testing .chord-feedback{padding-top:4px;min-height:0;font-size:11px}.arrangement-studio.is-testing .chord-actions{padding-top:8px;flex-wrap:nowrap}.arrangement-studio.is-testing .intro-start-actions{width:auto}.arrangement-studio.is-testing .intro-start-actions>button{min-width:0;min-height:36px;padding:6px 12px;font-size:12px}.arrangement-studio.is-testing .chord-action-tools .icon-button{height:32px}@media(max-width:760px){.arrangement-studio.is-testing{grid-template-rows:24px 64px minmax(0,1fr) 88px}.arrangement-studio.is-testing .chord-workspace-heading h1{font-size:12px}.arrangement-studio.is-testing .intro-practice-toolbar .text-button{font-size:10px}.arrangement-studio.is-testing .intro-current-lesson h2{font-size:13px}.arrangement-studio.is-testing .intro-start-actions{flex:1}.arrangement-studio.is-testing .intro-start-actions>button{padding-inline:5px;font-size:10px}.arrangement-studio.is-testing .chord-action-tools{gap:4px}.arrangement-studio.is-testing .chord-action-tools .icon-button{min-width:28px;padding:0 4px}.arrangement-test-status{gap:6px;font-size:10px}}@media(min-width:1001px)and (min-height:740px){.arrangement-studio{--lesson-display-height: 280px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:500px)and (max-width:1000px){.arrangement-studio{grid-template-rows:34px minmax(0,1fr) 64px}.arrangement-studio .chord-workspace-heading h1{font-size:9px;line-height:1.2;white-space:normal}.arrangement-studio .intro-current-lesson-theme{display:none}.arrangement-studio .intro-current-lesson h2{font-size:11px}.arrangement-studio>.chord-lesson{grid-template-rows:24px minmax(0,1fr)}.arrangement-studio .piano-heading{min-height:16px;height:16px}.arrangement-studio .piano-keys{height:42px}.arrangement-studio .key-note{bottom:18px}.arrangement-studio .key-octave{bottom:3px}.arrangement-studio .intro-order-select>span{display:none}.arrangement-studio .phrase-preparation.is-counting-in{height:24px}.arrangement-studio .phrase-preparation.is-counting-in i{width:24px;height:24px}.arrangement-studio .phrase-preparation strong{font-size:17px}.arrangement-count-in-progress{font-size:9px}.arrangement-studio.is-testing{height:calc(100dvh - 36px);min-height:0;grid-template-columns:114px minmax(0,1fr);grid-template-rows:28px minmax(0,1fr) 42px;gap:2px 8px}.arrangement-studio.is-testing .chord-workspace-heading{display:grid}.arrangement-studio.is-testing .chord-workspace-heading h1{font-size:9px}.arrangement-studio.is-testing .intro-practice-toolbar{margin-left:0}.arrangement-studio.is-testing .intro-current-lesson-meta{display:none}.arrangement-studio.is-testing .intro-current-lesson h2{font-size:11px}.arrangement-studio.is-testing>.chord-lesson{grid-template-columns:minmax(0,1fr) 136px;grid-template-rows:78px minmax(0,1fr);padding:2px 8px}.arrangement-studio.is-testing .intro-lesson-heading{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);grid-template-rows:22px 28px 26px;grid-template-areas:"status" "preparation" "order";gap:0;padding:0}.arrangement-studio.is-testing .intro-stage-badge,.arrangement-studio.is-testing .arrangement-test-info{justify-self:center}.arrangement-studio.is-testing .arrangement-test-info{align-items:center}.arrangement-studio.is-testing .phrase-lesson-display{grid-column:1;grid-row:1 / -1;grid-template-rows:minmax(0,1fr) 16px}.arrangement-studio.is-testing .intro-question-progress{padding-block:6px}.arrangement-studio.is-testing .chord-actions{grid-column:2;grid-row:2;padding:0;gap:6px}.arrangement-studio.is-testing .intro-start-actions{flex:none;width:100%;gap:6px}.arrangement-studio.is-testing .intro-start-actions>button{min-height:30px;font-size:10px}.arrangement-score.is-two-row{gap:3px}.arrangement-score.is-two-row .arrangement-score-row{grid-template-rows:12px minmax(0,1fr);padding:0 3px}.arrangement-score-row-heading{font-size:9px}.arrangement-test-status{gap:6px;font-size:9px}}@media(max-width:760px){.arrangement-studio .intro-lesson-heading{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr)}.arrangement-studio .phrase-preparation.is-counting-in{width:84px}.arrangement-studio .phrase-preparation-dots{gap:3px}.arrangement-studio .phrase-preparation.is-counting-in i{width:24px;height:24px}.arrangement-count-in-progress{font-size:10px}}
