.level-path{padding-block:58px 70px}.level-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:21px}.level-heading h2{font:600 31px/1.1 var(--serif);margin:0}.level-heading h2 em{color:#79942c}.level-heading>p{max-width:330px;color:var(--muted);font-size:12px;margin:0 0 3px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.level-grid>a{display:grid;gap:5px;min-height:106px;padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s}.level-grid>a:hover{background:#e8edde}.level-grid>a span,.grade-rail a span{font:8px var(--mono);letter-spacing:.09em;color:#77836a}.level-grid>a b{font:600 18px var(--serif)}.level-grid>a small{font-size:10px;color:#787b72}.chord-library-link{display:inline-flex;margin-top:22px}
.lesson-page{padding-top:34px;padding-bottom:80px}.lesson-topline{display:flex;justify-content:space-between;align-items:center;color:#73776d;font:9px var(--mono);letter-spacing:.08em}.lesson-topline a:hover{color:var(--green-dark)}.lesson-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center;margin-top:25px;padding:34px 36px;background:#e5ece5;border:1px solid #d6dfd7;background-image:radial-gradient(#cbd7ce 1px,transparent 1px);background-size:14px 14px}.grade-stamp{display:inline-flex;gap:8px;align-items:center;padding:6px 9px;background:var(--white);font:9px var(--mono);letter-spacing:.08em;color:#67765d}.grade-stamp i{width:7px;height:7px;border-radius:50%;background:var(--coral)}.lesson-hero h1,.chord-page-hero h1{font:600 clamp(36px,5vw,53px)/1.04 var(--serif);letter-spacing:-.025em;margin:17px 0 10px}.lesson-hero h1 em,.chord-page-hero h1 em{color:#79942c}.lesson-hero p{max-width:540px;margin:0;color:#626a61;font-size:13px}.lesson-hero-art{min-height:155px;display:grid;place-items:center;padding:15px;background:#26302b;color:#eef0e6}.grade-art-title{font:9px var(--mono);letter-spacing:.12em;color:#b9c3b9;text-align:center}.grade-art-main{font:600 25px var(--serif);text-align:center;margin-top:9px}.grade-art-sub{font:10px var(--mono);text-align:center;color:var(--green);margin-top:8px}.grade-rail{display:grid;grid-template-columns:repeat(9,1fr);margin:20px 0 35px;border:1px solid var(--line)}.grade-rail a{display:grid;gap:4px;padding:9px 7px;border-right:1px solid var(--line);text-align:center}.grade-rail a:last-child{border:0}.grade-rail a b{font:11px var(--mono)}.grade-rail a.is-active{background:var(--green)}.grade-rail a.is-active span{color:#465321}.outcomes-band{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:20px;margin:0 0 34px;padding:17px 20px;background:#eae9df}.outcomes-band>strong{font:600 15px var(--serif)}.outcome-list{display:flex;flex-wrap:wrap;gap:7px}.outcome-list span{padding:6px 9px;background:var(--white);font-size:9px}.grade-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.grade-section-heading h2{font:600 24px var(--serif);margin:0}.grade-section-heading span{font:9px var(--mono);color:#898c81}.lesson-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.lesson-card{display:grid;grid-template-columns:1fr 112px;gap:15px;min-height:185px;padding:18px;background:var(--white);border:1px solid var(--line)}.lesson-card .lesson-index{font:8px var(--mono);color:var(--coral);letter-spacing:.1em}.lesson-card h3{font:600 18px var(--serif);margin:5px 0}.lesson-card p{color:#767a70;font-size:10px;line-height:1.55;margin:0}.lesson-card .lesson-practice{display:block;margin-top:9px;color:#4f584a;font-size:9px}.lesson-visual{display:grid;place-items:center;align-content:center;gap:7px;min-height:115px;background:#e6eee6;text-align:center;padding:9px;color:#53624f}.lesson-visual strong{font:600 15px var(--serif)}.lesson-visual small{font:8px var(--mono);line-height:1.5}.lesson-visual .visual-notes{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.visual-notes b{min-width:25px;height:25px;display:grid;place-items:center;background:var(--white);border-radius:50%;font:9px var(--mono)}.lesson-card a{display:inline-block;color:#647e28;font-size:9px;font-weight:700;margin-top:8px}.grade-practice{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:20px 23px;background:#29312d;color:white}.grade-practice h3{font:600 18px var(--serif);margin:0 0 4px}.grade-practice p{margin:0;color:#c0c6bb;font-size:10px}.grade-practice a{padding:9px 12px;background:var(--green);color:var(--ink);font-size:10px;font-weight:700;white-space:nowrap}.grade-pagination{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.grade-pagination a{font-size:10px;color:#657b34;font-weight:700}.grade-pagination a[hidden]{visibility:hidden}.course-footer{border-top:1px solid var(--line);padding:18px 0;color:#73766c;font-size:9px}.course-footer .page-shell{display:flex;justify-content:space-between}
.chord-page-hero{padding:44px 0 27px}.chord-page-hero .eyebrow{margin-bottom:12px}.chord-page-hero h1{margin:0 0 10px}.chord-page-hero p{max-width:580px;color:#6f746a;font-size:12px;margin:0}.chord-filters{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 15px}.chord-filter{padding:7px 10px;border:1px solid var(--line);background:transparent;color:#75796f;font-size:9px;cursor:pointer}.chord-filter.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}.chord-search{width:100%;max-width:360px;padding:10px 12px;border:1px solid var(--line);background:var(--white);outline-color:var(--green-dark);font-size:11px}.chord-count{font:9px var(--mono);color:#83867c}.chord-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0 55px}.chord-directory-card{display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:10px;padding:12px;background:var(--white);border:1px solid var(--line);transition:transform .15s,border-color .15s}.chord-directory-card:hover{transform:translateY(-2px);border-color:#95a777}.chord-directory-card[hidden]{display:none}.chord-directory-mark{width:38px;height:38px;display:grid;place-items:center;background:#e8efdf;color:#4f6523;border-radius:50%;font:600 13px var(--serif)}.chord-directory-card strong{display:block;font:600 13px var(--serif)}.chord-directory-card small{display:block;color:#85877e;font:8px var(--mono);margin-top:2px}.chord-directory-card>span:last-child{color:var(--coral);font-size:14px}.chord-detail-page{padding-top:23px;padding-bottom:75px}.chord-back{font:9px var(--mono);letter-spacing:.07em;color:#7e8177}.chord-page-hero{display:flex;justify-content:space-between;align-items:end;gap:30px}.chord-picker{display:flex;gap:8px;align-items:end}.chord-picker label{display:grid;gap:5px;color:#808379;font:8px var(--mono);letter-spacing:.08em}.chord-picker select{min-width:110px;padding:8px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:11px var(--sans)}.chord-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--white);margin-top:24px}.chord-meta{padding:17px 20px;border-right:1px solid var(--line)}.chord-meta:last-child{border:0}.chord-meta span{display:block;font:8px var(--mono);letter-spacing:.1em;color:#898c81}.chord-meta strong{display:block;font:600 17px var(--serif);margin-top:6px}.chord-page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:36px 0 13px}.chord-page-heading h2{font:600 23px var(--serif);margin:0}.chord-page-heading p{font-size:9px;color:#85877c;margin:0}.voicing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.voicing-card{padding:16px 16px 13px;background:var(--white);border:1px solid var(--line)}.voicing-card h3{font:600 14px var(--serif);margin:0 0 3px}.voicing-card>p{font-size:9px;color:#83867c;margin:0}.voicing-diagram{display:block;width:100%;height:155px;margin-top:8px}.voicing-legend{font-size:8px;color:#83867c;margin:10px 0 0}.chord-explainer{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.theory-panel{padding:20px;background:#e8ebe2}.theory-panel h3{font:600 17px var(--serif);margin:0 0 8px}.theory-panel p{font-size:10px;color:#666b61;line-height:1.65;margin:0}.interval-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.interval-chips span{padding:6px 8px;background:var(--white);font:9px var(--mono)}.related-chords{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px}.related-chords a{padding:7px 10px;background:#e7ebdf;font-size:9px}.chord-not-found{padding:40px;text-align:center;border:1px solid var(--line);background:var(--white)}
@media(max-width:850px){.level-grid{grid-template-columns:repeat(3,1fr)}.chord-directory{grid-template-columns:repeat(3,1fr)}.lesson-card{grid-template-columns:1fr 95px}.voicing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.level-path{padding-block:42px 50px}.level-heading{display:block}.level-heading h2{font-size:27px}.level-heading>p{margin-top:10px}.level-grid{grid-template-columns:repeat(2,1fr)}.level-grid>a{min-height:92px;padding:13px}.level-grid>a b{font-size:16px}.level-grid>a small{font-size:9px}.lesson-page{padding-top:22px}.lesson-hero{grid-template-columns:1fr;gap:18px;padding:22px}.lesson-hero-art{min-height:100px}.grade-rail{grid-template-columns:repeat(9,minmax(43px,1fr));overflow-x:auto}.grade-rail a{padding:8px 4px}.grade-rail a span{font-size:6px}.outcomes-band{grid-template-columns:1fr;gap:10px;padding:14px}.lesson-cards{grid-template-columns:1fr}.lesson-card{grid-template-columns:1fr 95px;padding:14px}.grade-practice{align-items:flex-start;flex-direction:column}.grade-pagination{flex-wrap:wrap}.chord-page-hero{display:block;padding-top:31px}.chord-page-hero h1{font-size:40px}.chord-picker{margin-top:20px}.chord-meta-grid{grid-template-columns:1fr}.chord-meta{border-right:0;border-bottom:1px solid var(--line);padding:12px 16px}.chord-meta:last-child{border-bottom:0}.chord-page-heading{display:block}.chord-page-heading p{margin-top:6px}.voicing-grid{grid-template-columns:1fr}.chord-explainer{grid-template-columns:1fr}.chord-directory{grid-template-columns:repeat(2,1fr);gap:6px}.chord-directory-card{grid-template-columns:34px 1fr auto;gap:6px;padding:9px}.chord-directory-mark{width:32px;height:32px;font-size:11px}.chord-directory-card strong{font-size:11px}.chord-directory-card small{font-size:7px}.course-footer .page-shell{gap:10px;flex-direction:column}}.chord-meta-grid{grid-template-columns:repeat(4,1fr)}
.hear-button,.play-button{border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font:600 12px var(--sans);transition:background .15s,color .15s}.hear-button{margin-top:16px;padding:9px 14px}.hear-button:hover,.play-button:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.voicing-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.voicing-card{display:flex;flex-direction:column;gap:10px;padding:16px}.voicing-card header{display:flex;justify-content:space-between;align-items:start;gap:10px}.voicing-card header p{font-size:11px;color:var(--muted);margin:2px 0 0}.play-button{width:34px;height:34px;flex:none;border-radius:50%;font-size:12px}.voicing-card .cd{max-width:250px;margin:6px auto 0}.voicing-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:auto 0 0;padding-top:10px;border-top:1px solid var(--line)}.voicing-facts dt{font:9px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.voicing-facts dd{margin:2px 0 0;font:600 12px var(--mono)}
.legend-root{color:var(--coral)}
.neck-section{margin-top:10px}.neck-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--white);padding:14px 12px 8px}.neck-map{display:block;min-width:760px;width:100%;height:auto}.neck-map .nm-fret{stroke:var(--line);stroke-width:1.5}.neck-map .nm-nut{stroke:var(--ink);stroke-width:4}.neck-map .nm-string{stroke:var(--muted);stroke-width:1.2}.neck-map .nm-name,.neck-map .nm-num{font:11px 'DM Mono',monospace;fill:var(--muted);text-anchor:middle}.neck-map .nm-dot{fill:var(--ink)}.neck-map .nm-dot.is-root{fill:var(--coral)}.neck-map .nm-dot.tone-1{fill:var(--green-dark)}.neck-map .nm-dot.tone-3,.neck-map .nm-dot.tone-4{fill:var(--blue)}.neck-map .nm-label{font:700 10px 'DM Mono',monospace;fill:var(--paper);text-anchor:middle;pointer-events:none}.neck-map .is-root+.nm-label{fill:#fff}
.interval-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:12px}.interval-table th{text-align:left;font:9px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding:0 6px 6px 0}.interval-table td{padding:7px 6px 7px 0;border-top:1px solid var(--line)}.interval-table b{font:700 14px var(--mono)}.interval-table b.is-root{color:var(--coral)}.interval-table small{color:var(--muted)}
.theory-panel h4{font:600 14px var(--serif);margin:16px 0 6px}.tip-list{margin:0;padding-left:18px;font-size:12px;line-height:1.7;color:var(--muted)}
.chord-keys,.chord-related{margin-top:14px}.key-chips{display:flex;flex-wrap:wrap;gap:7px}.key-chip{padding:8px 11px;border:1px solid var(--line);background:var(--white);font-size:12px}.key-chip b{color:var(--coral);font-family:var(--mono);margin-right:4px}.key-chip:hover,.related-chords a:hover,.neighbour-links a:hover{border-color:var(--green-dark)}
.sub-heading{font:600 16px var(--serif);margin:22px 0 10px}.progression-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.progression-row>span{font:10px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.progression-row>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.progression-row a{display:grid;justify-items:center;min-width:58px;padding:7px 10px;border:1px solid var(--line);background:var(--white)}.progression-row a b{font:600 15px var(--serif)}.progression-row a small{font:10px var(--mono);color:var(--muted)}.progression-row a.is-self{background:var(--coral);border-color:var(--coral);color:#fff}.progression-row a.is-self small{color:#fff}.progression-row i{font-style:normal;color:var(--muted)}
.neighbour-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.neighbour-links a{display:grid;gap:2px;padding:11px 13px;border:1px solid var(--line);background:var(--white)}.neighbour-links small{font:9px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.neighbour-links b{font:600 18px var(--serif)}.related-chords{margin-top:0}.related-chords a{border:1px solid transparent;font-size:12px}.related-chords a b{margin-right:3px}.chord-all-link{display:inline-block;margin-top:20px;font-size:12px;font-weight:700;color:var(--green-dark)}
@media(max-width:850px){.chord-meta-grid{grid-template-columns:repeat(2,1fr)}.chord-meta:nth-child(2){border-right:0}.chord-meta:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:640px){.chord-meta-grid{grid-template-columns:1fr}.voicing-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.voicing-card{padding:12px}.voicing-facts{grid-template-columns:1fr}.progression-row{grid-template-columns:1fr;gap:6px}.progression-row a{min-width:48px;padding:6px 8px}}
.related-chords a{background:var(--white);border-color:var(--line)}
.voicing-card,.chord-explainer>*,.chord-keys,.chord-related,.neck-section{min-width:0}.voicing-facts dd{overflow-wrap:anywhere}
/* ---------- scales & harmony page ---------- */
.scales-page{padding-top:10px;padding-bottom:80px}.scales-hero{padding-bottom:18px}
.scale-subnav{position:sticky;top:76px;z-index:5;display:flex;gap:6px;flex-wrap:wrap;padding:10px 0;background:var(--paper);border-bottom:1px solid var(--line)}.scale-subnav a{padding:7px 11px;border:1px solid var(--line);font-size:12px;font-weight:600}.scale-subnav a b{font:10px var(--mono);color:var(--coral);margin-right:5px}.scale-subnav a:hover{border-color:var(--green-dark)}
.scale-section{padding-top:34px;scroll-margin-top:140px}.scale-section .chord-page-heading{align-items:end;margin-top:0}.scale-section .chord-page-heading .eyebrow{margin-bottom:6px}.scale-section .chord-page-heading>p{max-width:460px;font-size:13px;line-height:1.55}
.fb-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.fb-facts article{padding:14px 16px;border:1px solid var(--line);background:var(--white)}.fb-facts h3{font:600 22px var(--serif);margin:0 0 4px}.fb-facts p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.55}.fb-facts b{color:var(--ink)}
.scale-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 12px}.scale-toolbar label{display:grid;gap:5px;font:9px var(--mono);letter-spacing:.08em;color:var(--muted)}.scale-toolbar select{min-width:130px;padding:8px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:13px var(--sans)}.scale-toolbar .hear-button{margin:0}.toolbar-hint{margin:0 0 8px;font-size:12px;color:var(--muted)}
.nb{display:block;min-width:820px;width:100%;height:auto}.nb .nb-fret{stroke:var(--line);stroke-width:1.5}.nb .nb-nut{stroke:var(--ink);stroke-width:5}.nb .nb-string{stroke:var(--muted)}.nb .nb-inlay{fill:var(--line)}.nb .nb-name,.nb .nb-num{font:11px 'DM Mono',monospace;fill:var(--muted);text-anchor:middle}.nb .nb-num.is-marked{fill:var(--ink);font-weight:700}
.nb .nb-cell{cursor:pointer}.nb .nb-dot{fill:var(--ink);transition:fill .12s}.nb .nb-label{font:700 10px 'DM Mono',monospace;fill:var(--paper);text-anchor:middle;pointer-events:none}.nb .nb-label.is-long{font-size:8.5px}.nb .root .nb-dot{fill:var(--coral)}.nb .root .nb-label,.nb .blue .nb-label{fill:#fff}.nb .blue .nb-dot{fill:var(--blue)}.nb .sharp .nb-dot,.nb .faint .nb-dot{fill:var(--line)}.nb .sharp .nb-label,.nb .faint .nb-label{fill:var(--muted)}.nb .outside .nb-dot{fill:var(--white);stroke:var(--green-dark);stroke-width:2;stroke-dasharray:3 2}.nb .outside .nb-label{fill:var(--ink)}.nb .nb-ring{fill:none;stroke:var(--green);stroke-width:3}.nb .hot .nb-dot{fill:var(--ink);opacity:0}.nb .hot:hover .nb-dot{opacity:.18}.nb .is-playing .nb-dot{fill:var(--green)!important;opacity:1!important}.nb .is-playing .nb-label{fill:#182019!important}
.scale-legend-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 0;font-size:12px;color:var(--muted)}.scale-legend-line i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:-8px;vertical-align:-1px}.lg-root{background:var(--coral)}.lg-note{background:var(--ink)}.lg-faint{background:var(--line)}.lg-blue{background:var(--blue)}.lg-target{border:3px solid var(--green)}
.quiz-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:18px 20px;border:1px solid var(--line);background:var(--white)}.quiz-panel .eyebrow{margin-bottom:4px}.quiz-panel h3{font:600 20px var(--serif);margin:0 0 4px}.quiz-panel p{margin:0;font-size:13px;color:var(--muted)}.quiz-side{display:grid;justify-items:end;gap:8px}.quiz-side strong{font:600 26px var(--mono)}.quiz-board{margin-top:8px}
.scale-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px}.scale-summary p{margin:0;font-size:13px}.scale-summary code{font:600 12px var(--mono)}.scale-summary small{color:var(--muted)}.scale-notes{display:flex;flex-wrap:wrap;gap:6px}.scale-notes span{display:grid;justify-items:center;min-width:42px;padding:5px 7px;border:1px solid var(--line);background:var(--white)}.scale-notes b{font:700 15px var(--mono)}.scale-notes small{font:10px var(--mono);color:var(--muted)}.scale-notes .is-root{border-color:var(--coral)}.scale-notes .is-root b{color:var(--coral)}
.scale-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.scale-cards .theory-panel{padding:16px}.scale-cards h3{font-size:16px}.scale-cards p{font-size:12.5px}
.harmony-intro{font-size:13px;color:var(--muted);max-width:760px}.harmony-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.harmony-card{display:grid;gap:3px;padding:12px;border:1px solid var(--line);background:var(--white);min-width:0}.harmony-card.is-tonic{border-color:var(--coral)}.harmony-top{display:flex;justify-content:space-between;align-items:center}.harmony-top small{font:700 13px var(--mono);color:var(--coral)}.harmony-top .play-button{width:28px;height:28px;font-size:10px}.harmony-card>a b{font:600 21px var(--serif)}.harmony-card>span{font:11px var(--mono);color:var(--muted)}.harmony-seventh{font:12px var(--mono);color:var(--green-dark);padding-top:5px;border-top:1px solid var(--line)}
.scale-table-wrap{overflow-x:auto}.match-table{min-width:680px}.match-table td{vertical-align:top;font-size:12.5px}
.jam-chords{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.jam-chords button{display:grid;justify-items:start;min-width:110px;padding:8px 12px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;text-align:left}.jam-chords small{font:10px var(--mono);color:var(--coral)}.jam-chords b{font:600 19px var(--serif)}.jam-chords span{font:10px var(--mono);color:var(--muted)}.jam-chords .is-current{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.lead-steps{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.lead-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px;border:1px solid var(--line);background:var(--white)}.lead-steps li>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#182019;font:700 13px var(--mono)}.lead-steps h3{font:600 17px var(--serif);margin:2px 0 4px}.lead-steps p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.lead-steps b{color:var(--ink)}
.lick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.lick-card{display:grid;gap:8px;padding:14px;border:1px solid var(--line);background:var(--white);min-width:0}.lick-card header{display:flex;justify-content:space-between;align-items:start}.lick-card small{font:10px var(--mono);color:var(--coral);letter-spacing:.06em}.lick-card h4{font:600 16px var(--serif);margin:2px 0 0}.lick-card p{margin:0;font-size:12.5px;color:var(--muted)}.tab-scroll{overflow-x:auto}.tab{display:block;height:110px;max-width:none}.tab .tab-line{stroke:var(--line);stroke-width:1.2}.tab .tab-bar{stroke:var(--muted);stroke-width:1.4}.tab .tab-name{font:10px 'DM Mono',monospace;fill:var(--muted)}.tab .tab-bg{fill:var(--white)}.tab .tab-note{font:700 12px 'DM Mono',monospace;fill:var(--ink);text-anchor:middle}.tab .tab-rest{font-size:16px;fill:var(--muted)}.tab .tab-chord{font:600 12px 'DM Mono',monospace;fill:var(--coral)}.tab .is-playing .tab-note{fill:var(--coral)}.tab .is-playing .tab-bg{fill:var(--paper)}.tab-key{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0}.practice-routine{margin-top:16px}
@media(max-width:900px){.harmony-grid{grid-template-columns:repeat(4,1fr)}.scale-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.scale-subnav{top:62px}.fb-facts,.lead-steps,.scale-cards{grid-template-columns:1fr}.harmony-grid{grid-template-columns:repeat(2,1fr)}.quiz-panel{flex-direction:column;align-items:flex-start}.quiz-side{justify-items:start}.scale-toolbar select{min-width:120px}.lick-grid{grid-template-columns:1fr}}
.song-lesson{margin-top:14px;padding:20px;border:1px solid var(--line);background:var(--white);min-width:0}.song-lesson>header{display:flex;align-items:center;gap:14px;margin-bottom:10px}.song-lesson>header>span{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:#fff;font:700 16px var(--mono)}.song-lesson>header>div{flex:1}.song-lesson>header .eyebrow{margin:0 0 2px}.song-lesson>header h3{font:600 21px var(--serif);margin:0}.song-lesson>header .hear-button{margin:0}.song-lesson>p{font-size:13.5px;line-height:1.65;color:var(--muted);max-width:860px}.song-lesson>p b,.song-lesson>p a{color:var(--ink)}.song-lesson>p a{text-decoration:underline}
.workshop-chords{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.song-chord{padding:12px;border:1px solid var(--line);background:var(--paper);min-width:0}.song-chord-head{display:flex;justify-content:space-between;align-items:start}.song-chord-head small{display:block;font:700 11px var(--mono);color:var(--coral)}.song-chord-head b{font:600 22px var(--serif)}.song-chord .cd{max-width:200px;margin:4px auto}.song-chord p{margin:6px 0 0;font:12px var(--mono)}.song-chord p span{font:11px var(--sans);color:var(--muted)}
.song-try{margin-top:14px;padding:12px 16px;border-left:3px solid var(--green);background:var(--paper)}.song-try>b{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green-dark)}.song-try ul{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--muted)}.song-try ul b{color:var(--ink)}
.strum-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.strum-bar{padding:10px;border:1px solid var(--line);background:var(--paper);min-width:0}.strum-bar>b{font:600 17px var(--serif)}.strum-bar>div{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin-top:6px}.strum-bar span{display:grid;justify-items:center;padding:4px 0;border-radius:4px}.strum-bar i{font-style:normal;font:700 16px var(--mono);color:var(--line)}.strum-bar .is-hit i{color:var(--ink)}.strum-bar small{font:10px var(--mono);color:var(--muted)}.strum-bar span.is-now{background:var(--coral)}.strum-bar span.is-now i,.strum-bar span.is-now small{color:#fff}
.song-tab{margin:10px 0;padding:6px 8px;border:1px solid var(--line);background:var(--paper)}.song-tab .tab .tab-bg{fill:var(--paper)}.song-tab .tab .is-playing .tab-bg{fill:var(--coral)}.song-tab .tab .is-playing .tab-note{fill:#fff}
.target-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.target-row span{display:grid;padding:9px 12px;border:1px solid var(--line);border-left:3px solid var(--green);background:var(--paper)}.target-row small{font:10px var(--mono);color:var(--muted)}.target-row b{font:700 20px var(--mono)}.target-row em{font-style:normal;font-size:12px;color:var(--muted)}
.song-form{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}.form-part{display:grid;gap:2px;padding:12px 14px;border-right:1px solid var(--line);background:var(--paper);transition:background .2s}.form-part:last-child{border-right:0}.form-part small{font:10px var(--mono);color:var(--muted)}.form-part b{font:600 18px var(--serif)}.form-part span{font-size:12px;color:var(--muted)}.form-part em{font:normal 11px var(--mono);color:var(--coral)}.form-part.is-now{background:var(--green)}.form-part.is-now *{color:#182019}
@media(max-width:900px){.workshop-chords,.strum-grid,.target-row{grid-template-columns:repeat(2,1fr)}.song-form{grid-template-columns:repeat(2,1fr)}.form-part:nth-child(2){border-right:0}.form-part:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:640px){.song-lesson{padding:14px}.song-lesson>header{flex-wrap:wrap}.song-lesson>header .hear-button{width:100%}.strum-grid{grid-template-columns:1fr}}
/* ---------- arpeggios page ---------- */
.arp-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.arp-compare article{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);background:var(--white);min-width:0}.arp-compare h3{font:600 19px var(--serif);margin:0}.arp-compare p{margin:0;font-size:12.5px;color:var(--muted)}.arp-compare p b{color:var(--ink)}.arp-compare .hear-button{align-self:flex-start;margin-top:auto}
.arp-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:132px;padding:12px 0}.arp-stack span,.arp-scale span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--paper);font:700 14px var(--mono);transition:transform .15s,background .15s}.arp-stack span small{display:none}.arp-stack.is-now span{background:var(--coral);color:#fff;transform:scale(1.1)}
.arp-stack.is-spread{flex-direction:row;align-items:flex-end;gap:6px}.arp-stack.is-spread span{margin-bottom:calc(var(--i) * 12px);position:relative}.arp-stack.is-spread span small{display:block;position:absolute;bottom:-17px;font:10px var(--mono);color:var(--muted)}.arp-stack span.is-now,.arp-scale span.is-now{background:var(--coral)!important;color:#fff!important;transform:scale(1.15)}
.arp-scale{display:flex;flex-wrap:wrap;gap:5px;padding:12px 0;min-height:132px;align-content:center}.arp-scale span{width:32px;height:32px;font-size:12px;background:var(--line);color:var(--muted)}.arp-scale span.is-chord{background:var(--ink);color:var(--paper)}
.arp-facts{margin-top:4px}
.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px}.pattern-card{display:grid;gap:8px;align-content:start;padding:14px;border:1px solid var(--line);background:var(--white);min-width:0}.pattern-card header{display:flex;justify-content:space-between;align-items:start;gap:10px}.pattern-card small{font:10px var(--mono);color:var(--coral);letter-spacing:.04em}.pattern-card h3{font:600 17px var(--serif);margin:2px 0 0}.pattern-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.55}.pattern-card .pattern-use b{color:var(--ink)}.pattern-card .tab{height:100px}
.example-tabs{display:flex;flex-wrap:wrap;gap:6px}.example-tabs button{display:grid;justify-items:start;padding:8px 12px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:600 14px var(--serif);cursor:pointer}.example-tabs button small{font:10px var(--mono);color:var(--muted)}.example-tabs button.is-current{border-color:var(--coral);box-shadow:inset 0 -3px 0 var(--coral)}
.song-chord{transition:border-color .15s,background .15s}.song-chord.is-now{border-color:var(--green);background:var(--white);box-shadow:inset 0 0 0 1px var(--green)}
.example-info{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:12px}.example-info h4{font:600 16px var(--serif);margin:0 0 6px}.example-info p{margin:0;font-size:13.5px;line-height:1.65;color:var(--muted)}.song-map{margin:0;padding:0;list-style:none;display:grid;gap:4px;counter-reset:part}.song-map li{counter-increment:part;display:flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid var(--line);font-size:12.5px;color:var(--muted)}.song-map li::before{content:counter(part);font:700 11px var(--mono);color:var(--muted)}.song-map li.is-arp{border-color:var(--green-dark);color:var(--ink)}.song-map li.is-arp::before{color:var(--green-dark)}
.arp-practice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.arp-practice .tip-list{font-size:13px}.arp-practice .tip-list b{color:var(--ink)}.arp-links{margin-top:16px}
@media(max-width:900px){.arp-compare{grid-template-columns:1fr}.arp-stack,.arp-scale{min-height:0}.example-info,.arp-practice{grid-template-columns:1fr}}
@media(max-width:640px){.pattern-grid{grid-template-columns:1fr}}
/* ---------- progressions over a scale ---------- */
.fn-t{--fn:var(--green-dark)}.fn-s{--fn:var(--blue)}.fn-d{--fn:var(--coral)}b.fn-t,b.fn-s,b.fn-d{color:var(--fn)}
.lg-outside{background:transparent;border:2px dashed var(--green-dark)}
.pg-degrees{margin:4px 0 12px}.pg-degrees>p{margin:0 0 6px;font-size:13px;color:var(--muted)}.pg-degrees>div{display:flex;flex-wrap:wrap;gap:6px}.pg-degrees span{display:grid;justify-items:start;min-width:84px;padding:6px 10px;border:1px solid var(--line);border-top:3px solid var(--fn,var(--line));background:var(--white);opacity:.45}.pg-degrees span.is-used{opacity:1}.pg-degrees span.is-borrowed{--fn:var(--muted);border-style:dashed}.pg-degrees small{font:700 11px var(--mono);color:var(--fn,var(--muted))}.pg-degrees b{font:600 17px var(--serif)}.pg-degrees em{font:normal 10px var(--mono);color:var(--muted)}
.pg-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.pg-timeline button{display:grid;justify-items:start;gap:1px;padding:9px 12px;border:1px solid var(--line);border-left:4px solid var(--fn,var(--line));background:var(--white);color:var(--ink);cursor:pointer;text-align:left;min-width:0}.pg-timeline small{font:10px var(--mono);color:var(--muted)}.pg-timeline b{font:600 20px var(--serif)}.pg-timeline span{font:11px var(--mono);color:var(--muted)}.pg-timeline em{font:normal 11px var(--sans);color:var(--green-dark)}.pg-timeline button.is-selected{box-shadow:inset 0 0 0 1px var(--fn);border-color:var(--fn)}.pg-timeline button.is-now{background:var(--fn);color:#fff}.pg-timeline button.is-now *{color:#fff}
.pg-timeline em.is-warn{color:var(--coral)}
.pg-analysis{margin-top:14px}.pg-analysis .eyebrow b{font-weight:700}.pg-verdict{padding:10px 14px;border-left:3px solid var(--green-dark);background:var(--paper)}.pg-verdict.is-warn{border-left-color:var(--coral)}.pg-verdict b{color:var(--ink)}
.pg-roles{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.pg-roles span{display:grid;justify-items:center;min-width:92px;padding:7px 8px;border:1px solid var(--line);background:var(--paper)}.pg-roles b{font:700 17px var(--mono)}.pg-roles small{font:11px var(--mono);color:var(--muted)}.pg-roles em{font:normal 10px var(--sans);color:var(--muted);text-align:center}.pg-roles .role-land{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.pg-roles .role-land em{color:var(--green-dark)}.pg-roles .role-avoid{border-style:dashed;opacity:.8}.pg-roles .role-avoid em{color:var(--coral)}
.pg-role-key{font-size:12.5px!important}.pg-rules{margin-top:18px}
@media(max-width:900px){.pg-timeline{grid-template-columns:repeat(2,1fr)}}
