:root{--color-canvas:#f3eadb;--color-canvas-soft:#f8f0e2;--color-surface:#fffaf1;--color-surface-raised:#fffdf7;--color-surface-muted:#efe3cf;--color-ink:#24231c;--color-muted:#6f6655;--color-soft-text:#867b68;--color-line:#dfd0ba;--color-line-strong:#cdb89d;--color-olive:#3f5f4b;--color-olive-strong:#2f4537;--color-sage:#78966f;--color-sage-soft:#e4eddc;--color-clay:#b86f45;--color-clay-soft:#f4dfcf;--color-ochre:#d6a34f;--color-ochre-soft:#f7e7bf;--color-brick:#a85a46;--shadow-soft:0 18px 44px rgba(83,62,36,0.1);--shadow-card:0 10px 24px rgba(83,62,36,0.08);color:var(--color-ink);background:var(--color-canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,rgba(214,163,79,.18),transparent 32rem),linear-gradient(180deg,var(--color-canvas-soft),var(--color-canvas));margin:0}.app-shell{display:grid;grid-gap:1.25rem;gap:1.25rem;margin:0 auto;max-width:1320px;min-height:100vh;padding:1.25rem}.app-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between}.eyebrow{color:#2f6b73;font-size:.85rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}h1,h2,h3,p,small{margin:0}h1{font-size:2.6rem;line-height:1.05;margin-top:.35rem}h2{font-size:1.35rem}button{font:inherit}.app-header p:last-child{color:#52615c;font-size:1.125rem;line-height:1.55;margin-top:.65rem;max-width:720px}.completion-panel,.controls-panel,.fretboard-panel,.last-session-panel,.status-panel,.summary-panel{border:1px solid #d8dfda;border-radius:8px;background:#ffffff}.status-panel{display:grid;flex:0 0 240px;grid-gap:.25rem;gap:.25rem;padding:1rem}.status-panel small,.status-panel span{color:#66736d}.status-panel strong{font-size:1.05rem}.practice-layout{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.practice-hub{border:1px solid #d8dfda;border-radius:8px;background:#ffffff;display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.hub-heading{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between}.hub-heading p:last-child{color:#52615c;line-height:1.45;max-width:520px}.hub-heading-actions{align-items:flex-end;display:grid;grid-gap:.55rem;gap:.55rem;justify-items:end}.hub-heading-actions p{color:#52615c;line-height:1.45;max-width:520px;text-align:right}.lesson-library-link{border:1px solid #d8dfda;border-radius:7px;color:#173f43;display:inline-flex;font-weight:800;min-height:2.45rem;padding:.55rem .8rem;text-decoration:none}.lesson-library-link:hover{border-color:#2f6b73}.course-recommendation-card{align-items:center;background:#f8faf8;border:1px solid #c5d8d4;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.course-recommendation-card h3{margin-top:.25rem}.course-progress-inline{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.course-progress-inline strong,.course-progress-inline>span{color:#173f43;font-size:.85rem;font-weight:800}.course-progress-track{background:#edf1ee;border-radius:999px;flex:1 1 140px;height:.5rem;min-width:120px;overflow:hidden}.course-progress-track i{background:#2f6b73;display:block;height:100%}.course-recommendation-card p{color:#52615c;line-height:1.45;margin-top:.45rem;max-width:680px}.demo-checklist-card{border:1px solid #d8dfda;border-radius:8px;display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;padding:1rem}.demo-checklist-card h3{margin-top:.25rem}.demo-checklist-card p{color:#52615c;line-height:1.45;margin-top:.45rem;max-width:520px}.demo-checklist{display:grid;grid-gap:.45rem;gap:.45rem;list-style:none;margin:0;padding:0}.demo-checklist li{align-items:center;color:#27332f;display:grid;font-size:.93rem;grid-gap:.55rem;gap:.55rem;grid-template-columns:3.5rem 1fr}.demo-checklist li span{border:1px solid #cfd8d3;border-radius:999px;color:#52615c;display:inline-flex;font-size:.75rem;font-weight:850;justify-content:center;min-height:1.55rem;padding:.25rem .45rem}.demo-checklist li.is-complete{color:#173f43;font-weight:800}.demo-checklist li.is-complete span{background:#e7f0ea;border-color:#9bbab2;color:#173f43}.demo-reset-button{align-self:start;background:transparent;border:1px solid #cfd8d3;border-radius:7px;color:#173f43;cursor:pointer;font-weight:800;min-height:2.45rem;padding:.55rem .8rem}.demo-reset-button:hover{border-color:#2f6b73}.hub-section{display:grid;grid-gap:.85rem;gap:.85rem}.hub-section-heading{display:grid;grid-gap:.25rem;gap:.25rem}.hub-section-heading p{color:#52615c;line-height:1.45;max-width:680px}.hub-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.hub-grid-core{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-card{border:1px solid #d8dfda;border-radius:8px;display:grid;grid-gap:.85rem;gap:.85rem;padding:1rem}.hub-card-core{background:#f8faf8;border-color:#9bbab2}.hub-card h3{margin-top:.25rem}.hub-card p{color:#52615c;line-height:1.45;margin-top:.45rem}.hub-card button{border:1px solid #173f43;border-radius:7px;background:#173f43;color:#ffffff;cursor:pointer;min-height:2.45rem;padding:.55rem .8rem}.hub-card button:hover{background:#225b60;border-color:#225b60}.hub-metrics{display:flex;flex-wrap:wrap;gap:.4rem}.hub-metrics span{border:1px solid #cfd8d3;border-radius:999px;color:#27332f;font-size:.85rem;padding:.35rem .6rem}.recommendation-card{background:#f8faf8;border-color:#c5d8d4}.progress-dashboard{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:minmax(260px,1.15fr) repeat(2,minmax(220px,1fr))}.next-session-card,.progress-card{border:1px solid #d8dfda;border-radius:8px;background:#ffffff;display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.next-session-card{background:#f8faf8;border-color:#9bbab2}.next-session-card h2{margin-top:.25rem}.empty-progress-copy,.next-session-card p:last-child{color:#52615c;line-height:1.45}.next-session-card button{border:1px solid #173f43;border-radius:7px;background:#173f43;color:#ffffff;cursor:pointer;min-height:2.45rem;padding:.55rem .8rem}.next-session-card button:hover{background:#225b60;border-color:#225b60}.progress-card-heading,.recent-session-row,.weak-spot-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.progress-card-heading strong{color:#173f43;font-size:1.2rem}.recent-session-list,.weak-spot-list{display:grid;grid-gap:.55rem;gap:.55rem}.recent-session-row,.weak-spot-row{border:1px solid #d8dfda;border-radius:7px;padding:.7rem}.recent-session-row div,.weak-spot-row div{display:grid;grid-gap:.15rem;gap:.15rem}.recent-session-row span,.weak-spot-row span{color:#52615c;font-size:.88rem;line-height:1.35}.recent-session-row>span,.weak-spot-row>span{color:#173f43;font-weight:800;text-align:right}.controls-panel{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.control-group{display:grid;grid-gap:.55rem;gap:.55rem}.control-label{color:#61706a;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.note-grid,.segmented-control{display:grid;grid-gap:.4rem;gap:.4rem}.segmented-control,.segmented-control.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control.option-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control.option-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented-control.option-grid.five,.segmented-control.option-grid.six{grid-template-columns:repeat(auto-fit,minmax(6.6rem,1fr))}.segmented-control.option-grid.string-options{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control.option-grid.degree-options{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented-control.option-grid.shape-options{grid-template-columns:repeat(3,minmax(0,1fr))}.note-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.session-setup-panel{display:grid;grid-gap:.75rem;gap:.75rem;padding:1rem}.session-setup-panel,.settings-disclosure{border:1px solid #d8dfda;border-radius:8px}.settings-disclosure{background:#f8faf8;overflow:hidden}.settings-disclosure summary{align-items:center;cursor:pointer;display:grid;grid-gap:.15rem;gap:.15rem;list-style:none;min-height:2.8rem;padding:.65rem .8rem}.settings-disclosure summary::-webkit-details-marker{display:none}.settings-disclosure summary:after{color:#61706a;content:"+";font-size:1.15rem;font-weight:850;grid-column:2;grid-row:1/span 2;justify-self:end}.settings-disclosure[open] summary:after{content:"-"}.settings-disclosure summary span{color:#173f43;font-weight:850}.settings-disclosure summary small{color:#66736d;line-height:1.3}.setup-field{display:grid;grid-gap:.45rem;gap:.45rem}.setup-field>span{color:#52615c;font-size:.82rem;font-weight:700}.setup-field small{color:#66736d;line-height:1.35}.preset-grid{display:grid;grid-gap:.4rem;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 .8rem .8rem}.advanced-settings-fields{display:grid;grid-gap:.65rem;gap:.65rem;padding:0 .8rem .8rem}.preset-grid button{border:1px solid #d8dfda;border-radius:7px;background:#f8faf8;color:#27332f;cursor:pointer;min-height:2.45rem;padding:.55rem .65rem}.preset-grid button:hover{border-color:#2f6b73}.chord-answer-panel{border:1px solid #d8dfda;border-radius:8px;padding:1rem}.chord-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.note-grid button,.prompt-actions button,.segmented-control button{border:1px solid #d8dfda;border-radius:7px;background:#f8faf8;color:#27332f;cursor:pointer;min-height:2.45rem;padding:.55rem .65rem}.fret-cell:hover,.note-grid button:hover,.prompt-actions button:hover:not(:disabled),.segmented-control button:hover{border-color:#2f6b73}.note-grid button.is-selected,.segmented-control button.is-selected{background:#173f43;border-color:#173f43;color:#ffffff}.note-grid button.is-correct{background:#2f6b73;border-color:#2f6b73;color:#ffffff}.note-grid button.is-miss{background:#c77b18;border-color:#c77b18;color:#ffffff}.note-grid button:disabled{cursor:default;opacity:.9}.summary-panel{display:grid;grid-gap:.65rem;gap:.65rem;padding:1rem}.summary-panel span:first-child{color:#2f6b73;font-size:.85rem;font-weight:800}.summary-panel p{color:#52615c;line-height:1.45}.tone-list{display:flex;flex-wrap:wrap;gap:.35rem}.tone-list span{border:1px solid #cfd8d3;border-radius:999px;color:#27332f;font-size:.85rem;padding:.3rem .55rem}.drill-panel{border:1px solid #d8dfda;border-radius:8px;display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem}.drill-score{display:flex;gap:.75rem;justify-content:space-between}.progress-track{background:#edf1ee;border-radius:999px;height:.55rem;overflow:hidden}.progress-track span{background:#2f6b73;display:block;height:100%;transition:width .18s ease}.last-session-panel{display:grid;grid-gap:.45rem;gap:.45rem;padding:1rem}.last-session-panel strong{font-size:1.05rem}.last-session-panel p{color:#52615c;line-height:1.4}.fretboard-panel{display:grid;grid-gap:1rem;gap:1rem;min-width:0;padding:1rem}.fretboard-heading{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between}.mobile-fretboard-hint{color:#52615c;display:none;font-size:.9rem;line-height:1.35}.legend{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.legend span{align-items:center;color:#52615c;display:inline-flex;font-size:.9rem;gap:.35rem}.legend-dot{border-radius:999px;display:inline-block;height:.75rem;width:.75rem}.legend-dot.root{background:#d8445c}.legend-dot.tone{background:#2f6b73}.fretboard-scroll{overflow-x:auto;padding-bottom:.25rem}.fretboard-grid{display:grid;grid-gap:.35rem;gap:.35rem;grid-template-columns:5.8rem repeat(13,minmax(3.15rem,1fr));min-width:820px}.fret-cell,.fret-number,.string-corner,.string-label{min-height:3rem}.fret-number{align-items:center;color:#61706a;display:flex;font-size:.85rem;font-weight:800;justify-content:center}.string-label{align-items:center;border-right:1px solid #d8dfda;display:grid;grid-gap:.1rem;gap:.1rem;padding-right:.75rem}.string-label strong{font-size:1.05rem}.string-label span{color:#61706a;font-size:.78rem}.string-label.is-target-string{background:#e5f2ef;border-radius:7px;border-right-color:#2f6b73;padding-left:.5rem}.fret-cell{border:1px solid #d8dfda;border-radius:7px;background:linear-gradient(90deg,transparent 47%,#d8dfda 47% 53%,transparent 53%),#f8faf8;color:#27332f;cursor:pointer;display:flex;padding:.25rem;position:relative}.fret-cell,.fret-cell span{align-items:center;justify-content:center}.fret-cell span{background:rgba(255,255,255,.92);border-radius:999px;display:inline-flex;font-size:.9rem;font-weight:800;min-height:2rem;min-width:2rem;padding:.25rem .35rem}.fret-cell.is-muted{color:#8b9691}.fret-cell.is-muted span{background:rgba(255,255,255,.72);font-weight:700}.fret-cell.is-target-string:not(.is-active):not(.is-disabled){background:linear-gradient(90deg,transparent 47%,rgba(47,107,115,.28) 47% 53%,transparent 53%),#f0f7f5;border-color:#c5d8d4}.fret-cell.is-disabled,.fret-cell:disabled{background:linear-gradient(90deg,transparent 47%,#d8dfda 47% 53%,transparent 53%),#edf1ee;border-color:#d8dfda;color:#7f8b85;cursor:not-allowed}.fret-cell.is-disabled span,.fret-cell:disabled span{background:transparent;font-size:.72rem;font-weight:800;letter-spacing:.04em;min-width:0;text-transform:uppercase}.fret-cell.is-active{background:linear-gradient(90deg,transparent 47%,rgba(23,32,29,.28) 47% 53%,transparent 53%),#e9f2ef;border-color:#9bbab2}.fret-cell.variant-root{background:linear-gradient(90deg,transparent 47%,rgba(23,32,29,.28) 47% 53%,transparent 53%),#f9edf0;border-color:#d8445c}.fret-cell.variant-root span{background:#d8445c;color:#ffffff}.fret-cell.variant-answer span,.fret-cell.variant-chord span,.fret-cell.variant-scale span{background:#2f6b73;color:#ffffff}.fret-cell.variant-answer{background:linear-gradient(90deg,transparent 47%,rgba(23,32,29,.28) 47% 53%,transparent 53%),#e5f2ef;border-color:#2f6b73}.fret-cell.variant-miss{background:linear-gradient(90deg,transparent 47%,rgba(23,32,29,.28) 47% 53%,transparent 53%),#fff1df;border-color:#c77b18}.fret-cell.variant-miss span{background:#c77b18;color:#ffffff}.fret-cell.variant-note span{background:#ffffff;color:#173f43}.fret-cell.is-selected{box-shadow:0 0 0 3px rgba(216,68,92,.22)}.prompt-panel{background:#f8faf8;border:1px solid #d8dfda;border-radius:8px;display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.prompt-panel-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.prompt-panel-header strong{color:#173f43;display:block;font-size:1.2rem;line-height:1.25;margin-top:.25rem}.prompt-panel p{color:#27332f;line-height:1.45}.prompt-panel-status{color:#d8445c;font-weight:800;text-align:right;white-space:nowrap}.prompt-actions{display:flex;flex-wrap:wrap;gap:.5rem}.prompt-actions button{min-width:9rem}.prompt-actions button:disabled{color:#8b9691;cursor:not-allowed;opacity:.72}.prompt-actions button:first-child:not(:disabled){background:#173f43;border-color:#173f43;color:#ffffff}.completion-panel{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.completion-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between}.review-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.completion-heading button,.review-actions button{border:1px solid #173f43;border-radius:7px;background:#173f43;color:#ffffff;cursor:pointer;min-height:2.45rem;padding:.55rem .8rem}.review-actions button:first-child:not(:last-child){background:#ffffff;border-color:#9bbab2;color:#173f43}.review-actions button:hover{background:#225b60;border-color:#225b60;color:#ffffff}.lesson-outcome{align-items:center;border:1px solid #d8dfda;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.lesson-outcome div{display:grid;grid-gap:.35rem;gap:.35rem}.lesson-outcome strong{color:#173f43;font-size:1.1rem}.lesson-outcome p{color:#52615c;line-height:1.45}.lesson-outcome>span{border:1px solid #d8dfda;border-radius:999px;color:#173f43;flex:0 0 auto;font-size:.85rem;font-weight:800;padding:.4rem .65rem}.lesson-outcome-complete{background:#e5f2ef;border-color:#9bbab2}.lesson-outcome-in-progress{background:#fff8ed;border-color:#d9a65e}.lesson-next-link{border:1px solid #9bbab2;border-radius:8px;color:#173f43;display:inline-grid;gap:.15rem;margin-top:.4rem;padding:.6rem .7rem;text-decoration:none}.lesson-next-link span{color:#52615c;font-size:.8rem;font-weight:800;text-transform:uppercase}.lesson-next-link strong{font-size:1rem}.lesson-next-link:hover{border-color:#2f6b73}.summary-metrics{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-metrics div{border:1px solid #d8dfda;border-radius:7px;display:grid;grid-gap:.25rem;gap:.25rem;padding:.8rem}.summary-metrics strong{font-size:1.3rem}.missed-prompts{display:grid;grid-gap:.6rem;gap:.6rem}.missed-prompts ul{display:grid;grid-gap:.55rem;gap:.55rem;list-style:none;margin:0;padding:0}.missed-prompts li{border:1px solid #d8dfda;border-radius:7px;display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem}.missed-prompts li span,.missed-prompts p{color:#52615c;line-height:1.4}.performance-panel{border-top:1px solid #d8dfda;display:grid;grid-gap:1rem;gap:1rem;padding-top:1rem}.performance-section{display:grid;grid-gap:.6rem;gap:.6rem}.performance-section p{color:#52615c;line-height:1.4}.performance-card-list{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.performance-card{border:1px solid #d8dfda;border-radius:7px;display:grid;grid-gap:.25rem;gap:.25rem;padding:.75rem}.performance-card span{color:#52615c;line-height:1.35}.performance-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.performance-chip-list span{border:1px solid #cfd8d3;border-radius:999px;color:#27332f;font-size:.85rem;padding:.35rem .6rem}.lesson-shell{display:grid;grid-gap:1.25rem;gap:1.25rem;margin:0 auto;max-width:1040px;min-height:100vh;padding:1.25rem}.lesson-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between}.lesson-header p:last-child{color:#52615c;font-size:1.05rem;line-height:1.55;margin-top:.65rem;max-width:720px}.lesson-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.course-overview,.lesson-library-section{display:grid;grid-gap:1rem;gap:1rem}.course-overview{border:1px solid #d8dfda;border-radius:8px;background:#ffffff;padding:1rem}.course-overview-main{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(180px,240px)}.course-overview-main h2,.section-heading h2{margin-top:.25rem}.course-overview-main p{color:#52615c;line-height:1.5;margin-top:.5rem}.course-progress-card{border:1px solid #c5d8d4;border-radius:8px;display:grid;grid-gap:.45rem;gap:.45rem;padding:.85rem}.course-progress-card strong{color:#173f43;font-size:1.6rem}.course-progress-card span{color:#52615c;font-size:.9rem;font-weight:700}.course-progress-meter{background:#edf1ee;border-radius:999px;height:.55rem;overflow:hidden}.course-progress-meter span{background:#2f6b73;display:block;height:100%}.course-overview-actions{display:flex;flex-wrap:wrap;gap:.55rem}.course-path-list{display:grid;grid-gap:.55rem;gap:.55rem;list-style:none;margin:0;padding:0}.course-path-step{align-items:start;border:1px solid #d8dfda;border-radius:8px;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.8rem}.course-path-step.path-complete{background:#f8faf8;border-color:#9bbab2}.course-path-step.path-current{background:#e5f2ef;border-color:#2f6b73}.course-path-step.path-up-next{background:#fff8ed;border-color:#d9a65e}.course-step-marker{align-items:center;background:#173f43;border-radius:999px;color:#ffffff;display:inline-flex;font-size:.9rem;font-weight:900;height:2rem;justify-content:center;width:2rem}.path-complete .course-step-marker{background:#2f6b73}.path-later .course-step-marker,.path-up-next .course-step-marker{background:#7f8b85}.course-step-body{display:grid;grid-gap:.35rem;gap:.35rem}.course-step-body>a{color:#173f43;font-size:1.05rem;font-weight:850;text-decoration:none}.course-step-body>a:hover{text-decoration:underline}.course-step-body p,.section-heading{color:#52615c;line-height:1.4}.lesson-card,.lesson-content,.lesson-practice-card{border:1px solid #d8dfda;border-radius:8px;background:#ffffff}.lesson-card{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.lesson-card-complete{background:#f8faf8;border-color:#9bbab2}.lesson-card-actions,.lesson-card-meta,.lesson-practice-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between}.lesson-card-actions{justify-content:flex-start}.lesson-card h2,.lesson-practice-card h2{margin-top:.25rem}.lesson-card p,.lesson-practice-card p,.lesson-section p{color:#52615c;line-height:1.55}.lesson-requirements{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.lesson-requirements span{border:1px solid #cfd8d3;border-radius:999px;color:#27332f;font-size:.82rem;font-weight:700;padding:.3rem .55rem}.lesson-attempt-note{margin-top:.45rem}.lesson-cta{border:1px solid #173f43;border-radius:7px;background:#173f43;color:#ffffff;display:inline-flex;font-weight:800;justify-content:center;min-height:2.45rem;padding:.55rem .8rem;text-decoration:none}.lesson-cta:hover{background:#225b60;border-color:#225b60}.lesson-secondary-link{border:1px solid #d8dfda;border-radius:7px;color:#173f43;display:inline-flex;font-weight:800;justify-content:center;min-height:2.45rem;padding:.55rem .8rem;text-decoration:none}.lesson-secondary-link:hover{border-color:#2f6b73}.lesson-status-pill{border:1px solid #d8dfda;border-radius:999px;color:#52615c;font-size:.78rem;font-weight:800;padding:.3rem .55rem}.lesson-status-pill.status-in-progress{background:#fff1df;border-color:#d9a65e;color:#7a4b0f}.lesson-status-pill.status-complete{background:#e5f2ef;border-color:#9bbab2;color:#173f43}.lesson-page{max-width:860px}.lesson-nav{display:flex;flex-wrap:wrap;gap:.6rem}.lesson-nav a{border:1px solid #d8dfda;border-radius:999px;color:#173f43;font-weight:800;padding:.45rem .75rem;text-decoration:none}.lesson-nav a:hover{border-color:#2f6b73}.lesson-content{display:grid;grid-gap:1.25rem;gap:1.25rem;padding:1rem}.lesson-section{display:grid;grid-gap:.6rem;gap:.6rem}.lesson-guided-panel{border-left:4px solid rgba(34,197,94,.55);padding-left:1rem}.lesson-guided-block{display:grid;grid-gap:.65rem;gap:.65rem}.lesson-guided-block h3{margin:0}.lesson-guided-block ol,.lesson-guided-panel ul{margin:0;padding-left:1.25rem}.lesson-guided-block li,.lesson-guided-panel li{color:var(--color-muted);line-height:1.65}.lesson-check-list{display:grid;grid-gap:.85rem;gap:.85rem;margin:0}.lesson-check-list div{display:grid;grid-gap:.25rem;gap:.25rem}.lesson-check-list dt{font-weight:700}.lesson-check-list dd{color:var(--color-muted);margin:0}.lesson-checklist{display:grid;grid-gap:.7rem;gap:.7rem}.lesson-checklist label{align-items:flex-start;color:var(--color-muted);display:flex;gap:.65rem;line-height:1.5}.lesson-checklist input{margin-top:.2rem}.lesson-cta:disabled{cursor:default;opacity:.65}.lesson-practice-card{align-items:center;background:#f8faf8;border-color:#c5d8d4;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.lesson-sequence-nav{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-sequence-nav>a{border:1px solid #d8dfda;border-radius:8px;color:#173f43;display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem;text-decoration:none}.lesson-sequence-nav>a:last-child{justify-items:end;text-align:right}.lesson-sequence-nav span{color:#52615c;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lesson-sequence-nav a:hover{border-color:#2f6b73}.app-shell,.lesson-shell{gap:1rem;padding:1rem}.app-header,.lesson-header{background:linear-gradient(135deg,rgba(255,250,241,.94),rgba(244,223,207,.82)),var(--color-surface);border:1px solid var(--color-line);border-radius:8px;box-shadow:var(--shadow-card);padding:1.1rem}.control-label,.eyebrow{color:var(--color-clay);letter-spacing:.08em}h1,h2,h3,strong{color:var(--color-ink)}.app-header p:last-child,.course-overview-main p,.course-recommendation-card p,.course-step-body p,.demo-checklist-card p,.empty-progress-copy,.hub-card p,.hub-heading p:last-child,.hub-heading-actions p,.last-session-panel p,.legend span,.lesson-card p,.lesson-header p:last-child,.lesson-outcome p,.lesson-practice-card p,.lesson-section p,.missed-prompts li span,.missed-prompts p,.next-session-card p:last-child,.performance-section p,.prompt-panel p,.section-heading,.summary-panel p{color:var(--color-muted)}.completion-panel,.controls-panel,.course-overview,.fretboard-panel,.last-session-panel,.lesson-card,.lesson-content,.lesson-practice-card,.practice-hub,.progress-card,.status-panel,.summary-panel{background:rgba(255,250,241,.94);border-color:var(--color-line);box-shadow:var(--shadow-card)}.status-panel{background:linear-gradient(180deg,var(--color-surface-raised),var(--color-surface))}.practice-hub,.practice-layout,.progress-dashboard{gap:.85rem}.course-overview,.course-recommendation-card,.demo-checklist-card,.lesson-practice-card,.next-session-card,.recommendation-card{background:linear-gradient(135deg,rgba(228,237,220,.9),rgba(255,250,241,.9));border-color:rgba(120,150,111,.45)}.next-session-card{position:relative}.course-recommendation-card:before,.demo-checklist-card:before,.next-session-card:before{background:linear-gradient(180deg,var(--color-ochre),var(--color-clay));border-radius:999px;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:.35rem}.course-recommendation-card,.demo-checklist-card{overflow:hidden;position:relative}.chord-answer-panel,.course-path-step,.course-progress-card,.drill-panel,.hub-card,.lesson-outcome,.lesson-sequence-nav>a,.missed-prompts li,.performance-card,.prompt-panel,.recent-session-row,.session-setup-panel,.settings-disclosure,.summary-metrics div,.weak-spot-row{background:rgba(255,253,247,.86);border-color:var(--color-line)}.hub-card{box-shadow:0 1px 0 rgba(63,95,75,.08);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.course-path-step:hover,.hub-card:hover,.lesson-card:hover{border-color:var(--color-line-strong);box-shadow:var(--shadow-card);transform:translateY(-1px)}.demo-reset-button,.lesson-library-link,.lesson-nav a,.lesson-next-link,.lesson-secondary-link,.lesson-sequence-nav>a{border-color:var(--color-line);color:var(--color-olive-strong)}.demo-reset-button:hover,.lesson-library-link:hover,.lesson-nav a:hover,.lesson-next-link:hover,.lesson-secondary-link:hover,.lesson-sequence-nav a:hover{border-color:var(--color-olive)}.completion-heading button,.hub-card button,.lesson-cta,.next-session-card button,.prompt-actions button:first-child:not(:disabled),.review-actions button{background:linear-gradient(180deg,var(--color-olive),var(--color-olive-strong));border-color:var(--color-olive-strong);box-shadow:0 3px 0 rgba(36,35,28,.22);color:#fffaf1;font-weight:850}.completion-heading button:hover,.hub-card button:hover,.lesson-cta:hover,.next-session-card button:hover,.prompt-actions button:first-child:not(:disabled):hover,.review-actions button:hover{background:linear-gradient(180deg,#4f725b,var(--color-olive));border-color:var(--color-olive)}.review-actions button:first-child:not(:last-child){background:var(--color-surface-raised);border-color:var(--color-line-strong);box-shadow:none;color:var(--color-olive-strong)}.note-grid button,.preset-grid button,.prompt-actions button,.segmented-control button{background:var(--color-surface-raised);border-color:var(--color-line);color:var(--color-ink);font-weight:750}.fret-cell:hover,.note-grid button:hover,.preset-grid button:hover,.prompt-actions button:hover:not(:disabled),.segmented-control button:hover{border-color:var(--color-clay)}.note-grid button.is-selected,.segmented-control button.is-selected{background:var(--color-olive);border-color:var(--color-olive-strong);color:var(--color-surface)}.note-grid button.is-correct{background:var(--color-sage);border-color:var(--color-olive)}.note-grid button.is-miss{background:var(--color-clay);border-color:var(--color-brick)}.habit-stat-grid{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.habit-stat{background:rgba(255,253,247,.78);border:1px solid var(--color-line);border-radius:8px;display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem}.habit-stat span{color:var(--color-soft-text);font-size:.75rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.habit-stat strong{font-size:1.35rem}.habit-stat small{color:var(--color-muted);line-height:1.3}.habit-stat-streak{border-color:rgba(184,111,69,.45)}.habit-stat-xp{border-color:rgba(214,163,79,.55)}.habit-stat-mastery{border-color:rgba(120,150,111,.55)}.hub-metrics span,.lesson-requirements span,.performance-chip-list span,.tone-list span{background:rgba(255,253,247,.78);border-color:var(--color-line);color:var(--color-olive-strong)}.course-progress-meter,.course-progress-track,.progress-track{background:rgba(63,95,75,.12);box-shadow:inset 0 0 0 1px rgba(63,95,75,.08)}.course-progress-meter span,.course-progress-track i,.progress-track span{background:linear-gradient(90deg,var(--color-ochre),var(--color-sage),var(--color-olive))}.course-progress-card strong,.course-step-body>a,.lesson-outcome strong,.progress-card-heading strong,.prompt-panel-header strong,.recent-session-row>span,.summary-panel span:first-child,.weak-spot-row>span{color:var(--color-olive-strong)}.fretboard-scroll{background:linear-gradient(180deg,rgba(255,253,247,.86),rgba(239,227,207,.58));border:1px solid var(--color-line);border-radius:8px;padding:.75rem}.fret-number,.lesson-sequence-nav span,.lesson-status-pill,.recent-session-row span,.setup-field small,.setup-field>span,.status-panel small,.status-panel span,.string-label span,.weak-spot-row span{color:var(--color-muted)}.string-label{border-right-color:var(--color-line)}.string-label.is-target-string{background:var(--color-sage-soft);border-right-color:var(--color-olive)}.fret-cell{background:linear-gradient(90deg,transparent 47%,rgba(120,95,62,.22) 47% 53%,transparent 53%),#f7eddd;border-color:var(--color-line);color:var(--color-ink)}.fret-cell span{background:rgba(255,253,247,.92)}.fret-cell.is-muted span{background:rgba(255,253,247,.7)}.fret-cell.is-target-string:not(.is-active):not(.is-disabled){background:linear-gradient(90deg,transparent 47%,rgba(63,95,75,.24) 47% 53%,transparent 53%),var(--color-sage-soft);border-color:rgba(120,150,111,.55)}.fret-cell.is-disabled,.fret-cell:disabled{background:linear-gradient(90deg,transparent 47%,rgba(120,95,62,.16) 47% 53%,transparent 53%),var(--color-surface-muted);border-color:var(--color-line);color:var(--color-soft-text)}.fret-cell.is-active,.fret-cell.variant-answer{background:linear-gradient(90deg,transparent 47%,rgba(36,35,28,.2) 47% 53%,transparent 53%),var(--color-sage-soft);border-color:var(--color-olive)}.fret-cell.variant-root{background:linear-gradient(90deg,transparent 47%,rgba(36,35,28,.2) 47% 53%,transparent 53%),var(--color-clay-soft);border-color:var(--color-clay)}.fret-cell.variant-root span{background:var(--color-clay)}.fret-cell.variant-answer span,.fret-cell.variant-chord span,.fret-cell.variant-scale span{background:var(--color-olive)}.fret-cell.variant-miss{background:linear-gradient(90deg,transparent 47%,rgba(36,35,28,.2) 47% 53%,transparent 53%),var(--color-ochre-soft);border-color:var(--color-clay)}.fret-cell.variant-miss span{background:var(--color-clay)}.fret-cell.variant-note span{color:var(--color-olive-strong)}.fret-cell.is-selected{box-shadow:0 0 0 3px rgba(184,111,69,.24)}.legend-dot.root{background:var(--color-clay)}.legend-dot.tone{background:var(--color-olive)}.prompt-panel{background:linear-gradient(135deg,rgba(255,250,241,.92),rgba(247,231,191,.48))}.prompt-panel-status{color:var(--color-clay)}.course-path-step.path-complete,.lesson-card-complete,.lesson-outcome-complete,.lesson-status-pill.status-complete{background:var(--color-sage-soft);border-color:rgba(120,150,111,.6);color:var(--color-olive-strong)}.course-path-step.path-up-next,.lesson-outcome-in-progress,.lesson-status-pill.status-in-progress{background:var(--color-ochre-soft);border-color:rgba(214,163,79,.7);color:#694715}.course-path-step.path-current{background:linear-gradient(135deg,var(--color-sage-soft),var(--color-surface));border-color:var(--color-olive)}.course-step-marker{background:var(--color-olive-strong);box-shadow:0 3px 0 rgba(36,35,28,.18)}.path-complete .course-step-marker{background:var(--color-sage)}.path-up-next .course-step-marker{background:var(--color-ochre)}.path-later .course-step-marker{background:var(--color-soft-text)}@media (max-width:900px){.app-header,.completion-heading,.course-recommendation-card,.demo-checklist-card,.fretboard-heading,.lesson-header,.lesson-outcome,.lesson-practice-card,.prompt-panel-header{align-items:stretch;flex-direction:column}.review-actions{justify-content:flex-start}.hub-heading-actions{justify-items:stretch}.hub-heading-actions p{text-align:left}.prompt-panel-status{text-align:left;white-space:normal}.status-panel{flex:auto}.course-overview-main,.practice-layout,.progress-dashboard{grid-template-columns:1fr}.hub-heading{align-items:stretch;flex-direction:column}.demo-checklist-card,.hub-grid{grid-template-columns:1fr}.legend{justify-content:flex-start}.mobile-fretboard-hint{display:block}.fretboard-scroll{margin-inline:-.35rem;overscroll-behavior-x:contain;padding:.65rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.fretboard-grid{grid-template-columns:4.8rem repeat(13,minmax(3.35rem,3.35rem));min-width:max-content}.fret-cell,.fret-number,.string-corner,.string-label{min-height:3.25rem}.fret-cell{min-width:3.25rem;touch-action:manipulation}.demo-reset-button{justify-self:start}}@media (max-width:640px){.app-shell{padding:.75rem}h1{font-size:2rem}.app-header p:last-child{font-size:1rem}.note-grid,.segmented-control,.segmented-control.option-grid.degree-options,.segmented-control.option-grid.five,.segmented-control.option-grid.four,.segmented-control.option-grid.shape-options,.segmented-control.option-grid.six,.segmented-control.option-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.controls-panel,.fretboard-panel{padding:.75rem}.practice-hub{gap:.8rem}.course-recommendation-card,.demo-checklist-card,.practice-hub{padding:.85rem}.demo-checklist li{grid-template-columns:3.25rem 1fr}.fretboard-grid{grid-template-columns:4.4rem repeat(13,minmax(3.15rem,3.15rem))}.string-label{padding-right:.45rem}.string-label span{font-size:.72rem}.chord-answer-grid{grid-template-columns:repeat(3,minmax(4rem,1fr))}.prompt-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.prompt-actions button{min-width:0}.practice-layout-practice{gap:.55rem}.practice-layout-practice .controls-panel,.practice-layout-practice .fretboard-panel{gap:.55rem;padding:.6rem}.practice-layout-practice .drill-panel,.practice-layout-practice .prompt-panel,.practice-layout-practice .summary-panel{padding:.65rem}.practice-layout-practice .summary-panel{gap:.35rem}.practice-layout-practice .summary-panel p{display:none}.practice-layout-practice .summary-panel strong{font-size:1rem}.practice-layout-practice .tone-list span{font-size:.78rem;padding:.25rem .45rem}.practice-layout-practice .drill-panel{gap:.4rem}.practice-layout-practice .prompt-panel{gap:.45rem}.practice-layout-practice .prompt-panel-header{align-items:start;gap:.6rem}.practice-layout-practice .prompt-panel-header strong{font-size:1.05rem;line-height:1.16;margin-top:.15rem}.practice-layout-practice .prompt-panel p{font-size:.92rem;line-height:1.32}.practice-layout-practice .prompt-panel-status{font-size:.85rem}.practice-layout-practice .fretboard-heading,.practice-layout-practice .mobile-fretboard-hint{display:none}.practice-layout-practice .fretboard-scroll{margin-inline:0;padding:.45rem}.practice-layout-practice .fretboard-grid{gap:.25rem;grid-template-columns:3.6rem repeat(13,minmax(2.75rem,2.75rem))}.practice-layout-practice .fret-cell,.practice-layout-practice .fret-number,.practice-layout-practice .string-corner,.practice-layout-practice .string-label{min-height:2.75rem}.practice-layout-practice .fret-cell{min-width:2.75rem}.practice-layout-practice .fret-cell span{font-size:.78rem;min-height:1.75rem;min-width:1.75rem;padding:.2rem .3rem}.practice-layout-practice .string-label strong{font-size:.92rem}.practice-layout-practice .string-label span{font-size:.68rem}.lesson-sequence-nav,.performance-card-list,.summary-metrics{grid-template-columns:1fr}.lesson-sequence-nav>a:last-child{justify-items:start;text-align:left}}