:root{color-scheme:dark;--page:#10120f;--panel:#191c17;--raised:#22261f;--line:#30362b;--ink:#f2f4eb;--muted:#a1a89a;--lime:#c4f580;--soft:#839c66;--mono:"Cascadia Code",Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--page);color:var(--ink);font-family:"Outfit","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{cursor:wait;opacity:.65}button,select,input{touch-action:manipulation}button{transition:background .15s,color .15s,border-color .15s,transform .15s}svg{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:12px;z-index:99999;padding:12px;background:var(--lime);color:#172111}.skip-link:focus{top:10px}
#bb-header{background:#10120ff5;border-color:#2a3025;box-shadow:none}#bb-logo-text b{color:var(--lime);text-shadow:none}.chords-page{max-width:1240px;margin:auto;padding:0 38px}.intro{padding:52px 0 33px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.eyebrow{color:var(--muted);font:10px/1.5 var(--mono);font-weight:600;letter-spacing:1.7px}.intro .eyebrow{display:flex;gap:9px;align-items:center}.tiny-keyboard{color:var(--lime);font-size:17px;line-height:1}h1{font-size:clamp(36px,4.4vw,57px);letter-spacing:-2.6px;line-height:1.12;margin:13px 0 15px;font-weight:650}h1>span{color:var(--lime)}.intro p{font-size:15px;margin:0;color:var(--muted);line-height:1.6}.intro-link{font-size:12px;text-decoration:none;white-space:nowrap;padding-bottom:5px;color:#c7cdbe}.intro-link span{padding-left:9px;color:var(--lime);font-size:19px}.explorer{border:1px solid #3a4231;border-radius:14px;background:var(--panel);overflow:hidden;box-shadow:0 12px 45px #0002}.panel-heading{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;border-bottom:1px solid var(--line);font:10px var(--mono);letter-spacing:1.6px;background:#1d2119}.panel-heading>span:first-child{display:flex;gap:9px;align-items:center;color:#d0d9c3}.live-dot{width:6px;height:6px;background:var(--lime);border-radius:50%}.panel-meta{font-size:10px;letter-spacing:0;color:var(--muted)}.panel-meta b{padding:0 6px;color:#77826b;font-weight:400}.explorer-layout{display:grid;grid-template-columns:270px minmax(0,1fr)}.chord-controls{padding:24px;border-right:1px solid var(--line);background:#171a15}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.control-heading h2{font-size:12px;margin:0;font-weight:550}.control-heading h2>span{color:#8e9b80;font:10px var(--mono);padding-right:7px}.spelling-toggle{display:flex;background:#10130e;border:1px solid var(--line);border-radius:6px;padding:2px}.spelling-toggle button{border:0;border-radius:3px;background:transparent;min-width:25px;min-height:26px;font-size:17px;color:var(--muted)}.spelling-toggle button[aria-pressed=true]{background:#303927;color:var(--lime)}.root-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.root-grid button{height:40px;padding:0;border:1px solid #353d2e;border-radius:5px;background:#20251c;font-size:12px;font-weight:600}.root-grid button:hover,.type-grid button:hover{border-color:var(--lime)}.root-grid button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:#18200f}.type-heading{margin-top:24px}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.type-grid button{min-height:36px;padding:4px 2px;border:1px solid var(--line);border-radius:5px;background:#1f231b;font-size:11px;color:#c0c9b5}.type-grid button[aria-pressed=true]{border-color:var(--lime);color:var(--lime);background:#303d21}.control-tip{font-size:11px;line-height:1.75;color:#9ca68f;margin:22px 0 0;display:flex;gap:8px}.control-tip>span{color:var(--lime);font-size:17px}.instrument{padding:24px 28px 14px;min-width:0}.chord-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.chord-identity{display:flex;align-items:center;gap:20px;min-width:0}.chord-symbol{font-size:58px;line-height:1.2;letter-spacing:-2px;font-weight:550;color:var(--lime);min-width:42px;overflow-wrap:anywhere}.chord-identity h2{font-size:20px;margin:0 0 5px;letter-spacing:-.35px}.chord-identity p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.icon-button{width:35px;height:35px;border:1px solid var(--line);border-radius:6px;background:transparent;display:grid;place-items:center;flex-shrink:0;color:#bec7b1}.icon-button:hover{background:var(--raised);border-color:#9ba888}.icon-button svg{width:16px;height:16px}.notes-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 20px}.note-chips{display:flex;gap:7px;flex-wrap:wrap}.note-chip{display:inline-flex;gap:10px;align-items:center;background:#232c1b;border:1px solid #39462b;border-radius:5px;padding:6px 10px;font-size:12px;color:#d5e4c2}.note-chip.root-chip{border-color:#6f8b4e}.note-chip small{font:9px var(--mono);color:#a1b68b}.formula{display:flex;gap:12px;align-items:center;white-space:nowrap}.formula span{font:8px var(--mono);letter-spacing:1.1px;color:#98a28d}.formula strong{font:11px var(--mono);color:#cad7ba}.keyboard-case{padding:0 7px 8px;border-radius:8px;background:#0c0e0a;box-shadow:0 4px 0 #070906}.keyboard-caption{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 5px;color:#94a085;font:9px var(--mono)}.keyboard-caption>span:last-child{display:flex;align-items:center;gap:6px}.legend-root,.legend-note{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--lime)}.legend-note{background:#8fa976;margin-left:8px}.piano-keyboard{position:relative;height:165px;isolation:isolate}.piano-key{position:absolute;top:0;height:100%;border:0;border-left:1px solid #a3aa99;border-right:1px solid #d4d9cc;border-bottom:5px solid #c0c6b6;border-radius:0 0 5px 5px;color:#737a69;background:linear-gradient(#f0f1e8,#e9ecdf);display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:0 0 9px;transition:background .1s,box-shadow .1s;user-select:none}.piano-key>span{font:10px var(--mono);white-space:nowrap}.piano-key .degree-marker{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font:9px var(--mono);margin-bottom:8px;background:#314222;color:#e9f9d5}.piano-key.black-key{z-index:2;height:61%;border:1px solid #000;border-bottom:5px solid #080b07;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#262a22,#171a14 65%);box-shadow:2px 4px 4px #0005;color:#a7b09b;padding-bottom:8px}.piano-key.black-key .degree-marker{width:19px;height:19px;font-size:8px;margin-bottom:6px}.piano-key.chord-note{background:linear-gradient(#e1edcf,#a9c386);border-bottom-color:#7e9b5a;color:#233612}.piano-key.root-note{background:linear-gradient(#defbae,var(--lime));border-bottom-color:#90b954}.piano-key.black-key.chord-note{background:linear-gradient(90deg,#5d7648,#8faa70);border-color:#455c31;border-bottom-color:#455c31;color:#f6ffe9}.piano-key.black-key.root-note{background:linear-gradient(90deg,#add570,var(--lime));color:#1b2a0d;border-bottom-color:#6e9444}.piano-key:hover,.piano-key.is-sounding{box-shadow:inset 0 0 0 3px #789956}.piano-key.is-sounding{border-bottom-width:2px;padding-bottom:6px;filter:brightness(1.12)}.piano-key.black-key.is-sounding{box-shadow:inset 0 0 0 2px #d7faae}.piano-key:focus-visible{outline-offset:-4px;outline-color:#496a21;z-index:3}.hide-labels .key-name{visibility:hidden}.playback-row{display:flex;align-items:center;gap:9px;margin:21px 0 20px}.play-button,.secondary-button{border:1px solid var(--line);border-radius:6px;height:39px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600}.play-button{background:var(--lime);color:#20300d;border-color:var(--lime)}.play-button:hover{background:#d6ffa2}.play-triangle{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor}.secondary-button{background:transparent;color:#d0d7c7}.secondary-button:hover{background:#2c3325}.secondary-button>span{font-size:19px;font-weight:400}.stop-button{height:39px;width:33px;font-size:10px}.volume-control{display:flex;align-items:center;gap:9px;margin-left:auto}.volume-control svg{width:15px;height:15px;color:#a4af97}.volume-control input{width:75px;height:22px;accent-color:var(--lime)}.instrument-options{display:flex;align-items:center;gap:19px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.instrument-options>label{font:8px var(--mono);letter-spacing:1.1px;color:#9aa68c;display:flex;gap:9px;align-items:center}.instrument-options select{color:#dae2d0;background:#242b1e;border:1px solid #394330;border-radius:5px;padding:7px 22px 7px 7px;font-family:"Outfit","Segoe UI",sans-serif;font-size:11px;max-width:160px}.instrument-options .label-toggle{margin-left:auto;font:10px "Outfit","Segoe UI",sans-serif;letter-spacing:0;gap:6px;color:#b5c1a7}.label-toggle input{accent-color:var(--lime);width:13px;height:13px}.instrument-status{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:10px;color:#a1ae92;min-height:40px;line-height:1.5}.instrument-status p{margin:8px 0}.instrument-status>span{color:#849373;white-space:nowrap;font-size:9px}kbd{border:1px solid #3b4632;border-radius:3px;padding:2px 4px;font:8px var(--mono)}.no-script{padding:15px;background:var(--raised)}
.chord-library{padding:45px 0 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}h2{letter-spacing:-.5px}.section-heading h2{font-size:27px;line-height:1.2;margin:8px 0}.section-heading p{font-size:12px;color:var(--muted);margin:0}.search-wrap{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #343d2c;border-radius:7px;background:#191e15;min-width:250px}.search-wrap svg{width:15px;height:15px;color:#8d9c7e}.search-wrap input{background:none;border:0;outline:none;color:var(--ink);width:100%;min-width:0;font-size:11px;line-height:1.5}.search-wrap:focus-within{border-color:var(--lime);outline:1px solid var(--lime)}.search-wrap input::placeholder{color:#9aa68d}.library-toolbar{margin:22px 0 17px;display:flex;justify-content:space-between;align-items:center;gap:12px}.family-filters{display:flex;gap:5px;flex-wrap:wrap}.family-filters button{background:none;border:1px solid transparent;border-radius:5px;padding:8px 12px;font-size:11px;color:#a9b49c;min-height:33px}.family-filters button:hover{color:#e5efda}.family-filters button[aria-pressed=true]{color:var(--lime);background:#27331b;border-color:#445d2e}#result-count{font:10px var(--mono);color:#94a285;white-space:nowrap}.chord-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.chord-card{display:block;text-align:left;min-width:0;background:#191d16;border:1px solid #303929;border-radius:8px;padding:13px 12px 11px;position:relative}.chord-card:hover{border-color:#88a46c;transform:translateY(-2px);background:#20281a}.chord-card[aria-pressed=true]{border-color:#a5d267;background:#243019}.card-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:3px}.card-symbol{font-size:21px;font-weight:550;letter-spacing:-.5px}.card-play{font-size:10px;width:21px;height:21px;border:1px solid #455337;border-radius:50%;display:grid;place-items:center;color:#bfd6a6}.card-note-names{display:block;font-size:9px;color:#aab89a;margin:5px 0 13px}.mini-keyboard{width:100%;height:auto;display:block;border-radius:2px}.card-quality{display:block;color:#c3d1b3;font-size:9px;margin-top:10px}.library-footnote{font-size:10px;color:#8d9b7f;text-align:right;margin:14px 0 0}.empty-state{text-align:center;padding:35px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.empty-state h3{color:var(--ink)}.empty-state p{font-size:13px}.learning-section{margin-top:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:65px}.learning-intro h2{font-size:33px;line-height:1.18;letter-spacing:-1px;margin:12px 0 16px}.learning-intro p{font-size:12px;line-height:1.9;color:var(--muted);max-width:300px}.learning-intro a{display:inline-block;font-size:11px;color:var(--lime);text-decoration:none;margin-top:12px}.learning-intro a>span{margin-left:8px}.learning-steps{display:grid;gap:24px}.learning-steps article{display:flex;gap:20px}.step-number{font:11px var(--mono);color:var(--lime);padding-top:3px}.learning-steps h3{font-size:14px;margin:0 0 7px;font-weight:550}.learning-steps p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.reference-section{padding:38px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:65px;align-items:start}.reference-section h2{font-size:24px;margin:12px 0}.reference-section p{font-size:12px;line-height:1.9;color:var(--muted);max-width:300px}.reference-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th,td{padding:12px 16px;border-bottom:1px solid var(--line)}thead th{font:9px var(--mono);letter-spacing:1px;color:var(--muted);background:#1d2218}tbody th{font-weight:500}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}td{color:#b5c3a6}th button{border:0;background:none;color:var(--lime);padding:0;font:inherit}.faq-section{padding:24px 0;border-top:1px solid var(--line)}.faq-section h2{font-size:25px;margin:0 0 20px}.faq-section details{border-bottom:1px solid var(--line);font-size:13px}.faq-section summary{cursor:pointer;padding:18px 5px;color:#d1ddc5}.faq-section details p{font-size:12px;line-height:1.9;color:var(--muted);max-width:800px;margin:0 5px 20px}.ad-placement{max-width:728px;min-height:105px;margin:22px auto;text-align:center}.ad-placement>span{display:block;color:#6f7f61;font:8px var(--mono);letter-spacing:2px;margin-bottom:10px}.page-footer{border-top:1px solid var(--line);padding:25px 0 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.footer-brand{font-size:15px;text-decoration:none;color:#e7eddf}.footer-brand b{color:var(--lime)}.footer-brand span{font-size:9px;color:var(--muted);display:block;margin-top:6px}.page-footer>div{display:flex;gap:20px}.page-footer>div a{text-decoration:none}.page-footer a:hover{color:var(--lime)}
@media(min-width:1500px){.chords-page{max-width:1320px}.explorer-layout{grid-template-columns:290px minmax(0,1fr)}.piano-keyboard{height:180px}.chord-controls{padding:26px}}
@media(max-width:1050px){.chords-page{padding:0 24px}.intro-link{display:none}.explorer-layout{grid-template-columns:230px minmax(0,1fr)}.chord-controls{padding:20px 16px}.instrument{padding:20px 20px 12px}.chord-symbol{font-size:48px}.chord-identity{gap:13px}.chord-identity h2{font-size:18px}.chord-identity p{font-size:11px}.formula{gap:8px}.formula span{display:none}.instrument-options{gap:12px}.instrument-options>label{gap:6px}.instrument-options .label-toggle{margin-left:0}.volume-control input{width:56px}.play-button,.secondary-button{padding:0 11px;font-size:11px}.chord-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.learning-section,.reference-section{gap:35px}}
@media(max-width:760px){.chords-page{padding:0 18px}.intro{padding-top:32px;padding-bottom:24px}h1{letter-spacing:-1.6px;font-size:38px}.intro p{font-size:13px;max-width:320px}.intro .eyebrow{font-size:8px;letter-spacing:1.2px}.panel-meta{display:none}.panel-heading{padding:0 18px}.explorer-layout{display:flex;flex-direction:column}.chord-controls{border-right:0;border-bottom:1px solid var(--line);padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.control-heading{grid-column:1;grid-row:1;margin-bottom:10px}.type-heading{grid-column:2;grid-row:1;margin-top:0}.root-grid{grid-column:1;grid-row:2;grid-template-columns:repeat(4,1fr);gap:5px}.root-grid button{height:35px;font-size:12px}.type-grid{grid-column:2;grid-row:2;gap:5px}.type-grid button{min-height:25px;font-size:10px}.control-heading h2{font-size:11px}.control-heading h2>span{display:none}.spelling-toggle button{min-width:20px;min-height:24px}.control-tip{display:none}.instrument{padding:19px 18px 10px}.chord-identity h2{font-size:20px}.chord-symbol{font-size:52px}.notes-line{margin:14px 0 17px}.piano-keyboard{height:170px}.playback-row{margin:18px 0}.instrument-options{justify-content:space-between;gap:10px}.instrument-options>label{font-size:7px;gap:5px}.instrument-options select{font-size:10px;padding-right:12px}.instrument-options .label-toggle{font-size:9px}.instrument-status>span{display:none}.section-heading{align-items:stretch;flex-direction:column;gap:18px}.section-heading h2{font-size:25px}.search-wrap{min-width:0;max-width:360px}.chord-library{padding-top:34px}.library-toolbar{gap:10px;flex-wrap:wrap;margin:16px 0}.family-filters{gap:0}.family-filters button{font-size:10px;padding:8px 9px}.chord-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.learning-section{gap:28px;margin-top:35px;grid-template-columns:1fr}.learning-intro h2 br{display:none}.learning-intro h2{font-size:27px}.learning-intro p{max-width:500px}.learning-steps{gap:20px}.reference-section{grid-template-columns:1fr;gap:18px}.reference-section p{max-width:500px}.page-footer{flex-wrap:wrap}.page-footer>span{display:none}.page-footer>div{gap:12px;font-size:9px}.library-footnote{text-align:left;line-height:1.7}.learning-section,.reference-section{padding:28px 0}}
@media(max-width:440px){.chords-page{padding:0 12px}.intro{padding-top:27px}h1{font-size:33px}.chord-controls{padding:14px;gap:0 14px}.control-heading h2{font-size:10px}.instrument{padding:16px 12px 8px}.chord-identity{gap:13px}.chord-symbol{font-size:46px}.chord-identity h2{font-size:17px}.chord-identity p{font-size:10px}.note-chip{padding:5px 7px;gap:6px;font-size:11px}.formula strong{font-size:10px}.piano-keyboard{height:144px}.piano-key .degree-marker{width:16px;height:16px;font-size:8px}.piano-key>span{font-size:8px}.piano-key.black-key>span{font-size:6px}.piano-key.black-key .degree-marker{width:13px;height:15px;font-size:7px}.keyboard-caption{font-size:8px}.playback-row{gap:6px;flex-wrap:wrap}.play-button,.secondary-button{padding:0 10px;font-size:11px;gap:7px}.volume-control{gap:5px}.volume-control input{width:49px}.volume-control svg{width:12px}.stop-button{width:29px}.instrument-options{gap:9px}.instrument-options>label{flex-direction:column;align-items:flex-start;gap:5px}.instrument-options .label-toggle{flex-direction:row;align-items:center}.chord-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.chord-card{padding:12px}.family-filters button{padding:8px;font-size:10px}.section-heading .eyebrow{font-size:9px}.page-footer{gap:18px}.page-footer>div{flex-wrap:wrap}th,td{padding:12px}.notes-line{gap:7px}.note-chips{gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{#bb-header,#bb-nav-drawer,.intro-link,.chord-controls,.playback-row,.instrument-options,.instrument-status,.search-wrap,.family-filters,.learning-section,.faq-section,.ad-placement,.page-footer,#share-chord,.skip-link{display:none!important}body{background:#fff;color:#111}.chords-page{max-width:none;padding:0}.intro{padding:0 0 20px}.explorer-layout{display:block}.instrument{padding:16px}.chord-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.chord-card{break-inside:avoid}.chord-library{padding-top:20px}.reference-section{display:block}.chord-symbol,.chord-identity h2,h2{color:#111}.explorer,.chord-card{background:#fff}.chord-card{color:#111}.card-quality,.card-note-names,.intro p{color:#555}.chord-symbol{font-size:40px}}

.progression-note{padding:15px 17px;margin-top:20px;border-left:3px solid #8eaf64;border-radius:0 8px 8px 0;background:#202b19}.progression-note #progression-pattern{font:12px/1.7 var(--mono);color:#d7eac2;margin:0 0 7px;overflow-wrap:anywhere}.progression-note #progression-explanation{font-size:13px;line-height:1.8;color:#b5c8a4;margin:0;max-width:760px}.practice-controls .new-progression-button{border-color:#698849;color:var(--lime)}
@media(max-width:440px){.progression-note{padding:12px}.progression-note #progression-pattern{font-size:10px}.progression-note #progression-explanation{font-size:12px}.practice-controls .new-progression-button{width:100%}}

.practice-controls .progression-loop{min-height:40px;padding:0 12px;gap:7px;border:1px solid #586e42;border-radius:6px;cursor:pointer;white-space:nowrap;color:#d5e9be}.progression-loop:has(input:checked){border-color:var(--lime);background:#314525}.progression-loop:focus-within{outline:2px solid var(--lime);outline-offset:3px}.progression-loop input{width:15px;height:15px;margin:0}

.practice-controls .progression-tempo{flex:1 1 215px;max-width:265px;min-width:0;margin-left:auto;padding:12px 14px;border:1px solid #435535;border-radius:8px;background:#202b19}.tempo-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-controls .tempo-heading label{font-size:12px;color:#c9dab9;font-weight:600}.tempo-heading output{font:600 20px/1.2 var(--mono);color:var(--lime);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}#progression-bpm{display:block;width:100%;min-width:0;height:28px;margin:7px 0 0;cursor:pointer;accent-color:var(--lime)}.tempo-scale{display:flex;justify-content:space-between;font-size:9px;color:#a9be95;gap:12px}#progression-tempo-hint{font-size:9px;line-height:1.6;color:#a9be95;margin:7px 0 0}
@media(max-width:600px){.practice-controls .progression-tempo{flex-basis:100%;max-width:none;margin-left:0}}

.chord-change-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid #415332}.practice-controls .chord-change-control label{font-size:11px;color:#cadbbb;flex-shrink:0}#progression-beats{font-size:11px;min-width:0;max-width:135px;padding:8px 5px;border:1px solid #5c7842;border-radius:5px;background:#2d3c21;color:#e5f3d8}.progression-tempo #progression-tempo-hint{font-size:11px;color:#d1e4bb;margin-top:10px;line-height:1.7}

/* Each question mark opens the same readable, keyboard-accessible help menu. */
.help-button{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid #62764d;border-radius:50%;background:#27331e;color:var(--lime);font:700 15px/1 "Segoe UI",sans-serif;letter-spacing:0;vertical-align:middle}
.help-button:hover{background:#3b5028;border-color:var(--lime)}
.help-heading,.control-heading h2{display:flex;align-items:center;gap:10px}.help-heading .help-button{margin-left:2px}.control-heading{flex-wrap:wrap}.control-heading h2{gap:5px}.control-heading h2>span{padding-right:0}.control-heading .help-button{width:28px;height:28px;flex-basis:28px;font-size:13px}
.keyboard-caption{height:42px}.keyboard-caption .keyboard-range-help{display:flex;align-items:center;gap:10px}.keyboard-caption .help-button{width:28px;height:28px;flex-basis:28px;font-size:13px}
.chord-help-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:24px;margin:auto;border:1px solid #6f8854;border-radius:18px;background:#191f15;color:var(--ink);box-shadow:0 24px 100px #0008;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;font-family:"Outfit","Segoe UI",sans-serif}
.chord-help-dialog::backdrop{background:#060905bd;backdrop-filter:blur(3px)}html.help-is-open{overflow:hidden}
.help-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.help-topbar .eyebrow{color:var(--lime)}.help-close{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #48593a;border-radius:50%;color:#dce8cf;background:#28331f;font:26px/1 "Segoe UI",sans-serif}.help-close:hover{background:#3a4a2d}
.help-topic-label{display:block;font-size:13px;color:#bcccad;margin-bottom:8px}#help-topic{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #536840;border-radius:8px;background:#28331f;color:var(--ink);font-size:15px}
.help-body{margin:24px 0}.help-body h2{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:0 0 12px}.help-body h2:focus{outline:none}.help-intro{color:#d9e5ce;font-size:17px;line-height:1.6;margin:0 0 20px}.help-features{display:grid;gap:0;margin:0}.help-features>div{padding:13px 0;border-top:1px solid #35432a}.help-features dt{font-size:15px;font-weight:650;color:#e5f1da;line-height:1.5}.help-features dd{font-size:15px;line-height:1.65;color:#bbc9af;margin:5px 0 0}.help-try{border:1px solid #4b6731;border-radius:10px;background:#25351b;padding:14px;margin:18px 0 0;font-size:15px;line-height:1.6;color:#d3eabe}.help-try strong{display:block;color:var(--lime);margin-bottom:3px}.help-footer{display:flex;gap:18px;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid #3b4a2f}.help-footer p{font-size:12px;color:#afc09e;line-height:1.6;margin:0;max-width:330px}.help-footer button{flex-shrink:0;min-height:44px;padding:0 22px}
@media(max-width:440px){.control-heading{align-content:flex-start;gap:7px}.control-heading h2{width:100%;justify-content:space-between}.help-heading{gap:8px}.help-button{width:32px;height:32px;flex-basis:32px}.chord-help-dialog{padding:16px;border-radius:14px}.help-body h2{font-size:25px}.help-intro{font-size:16px}.help-footer{align-items:flex-start}.help-footer p{font-size:11px}}
@media print{.help-button,.chord-help-dialog,.chord-help-dialog::backdrop{display:none!important}html.help-is-open{overflow:visible}}

/* The complete reference and downloadable lessons also work without scripts. */
.no-js .explorer,.no-js .requires-js,.no-js .search-wrap,.no-js .family-filters,.no-js #progression-status{display:none!important}
.no-js .chord-card button,.no-js .practice-steps button{pointer-events:none;opacity:1;cursor:default}
.no-js .card-play{display:none}
.degree-explanation{font-size:10px;color:var(--muted);line-height:1.7;margin:-8px 0 14px}
.degree-explanation a{color:var(--lime);text-decoration:none;margin-left:5px}
.download-section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:24px;margin:27px 0 0;border:1px solid #34412a;border-radius:10px;background:#192015}
.download-section h2{font-size:22px;margin:7px 0 9px}.download-section p{font-size:12px;line-height:1.8;color:var(--muted);max-width:600px;margin:0}
.download-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.download-button{border:1px solid #648c3d;border-radius:6px;padding:10px 16px;font-size:12px;text-decoration:none;color:var(--lime);white-space:nowrap}.download-button:hover{background:#2c3d20}.download-button small{display:block;color:#b5c5a6;font-size:9px;margin-top:5px}.download-actions .secondary-button{grid-column:1/-1;font-size:11px}.download-actions>span{grid-column:1/-1;text-align:center;font-size:9px;color:var(--muted)}
.chord-card{cursor:default}.chord-card[data-selected=true]{border-color:#a5d267;background:#243019}.card-play-button{border:0;padding:0;background:none;text-align:left;color:inherit;width:100%;font:inherit}.card-play-button:hover{background:none}.card-play-button:disabled{opacity:1;cursor:default}.card-formula{display:block;color:#aab89a;font-size:9px;line-height:1.7;margin:4px 0 0}.card-guide{display:block;font-size:9px;line-height:1.7;text-decoration:none;color:var(--lime);border-top:1px solid #3b4b2c;padding-top:8px;margin-top:9px}.card-guide:hover{text-decoration:underline}.mini-keyboard{background:#fff}.card-full-name{font-size:11px;font-weight:500;line-height:1.5;margin:9px 0 3px}.card-quality{line-height:1.6}
.practice-section{border:1px solid var(--line);border-radius:12px;padding:26px;margin-top:34px;background:#171e13}.practice-heading{display:flex;align-items:center;justify-content:space-between;gap:22px}.practice-heading h2,.fingering-section h2{font-size:27px;margin:9px 0 12px}.practice-heading p,.fingering-section p{color:var(--muted);font-size:12px;line-height:1.9;margin:0;max-width:670px}.practice-heading>a{font-size:11px;white-space:nowrap;color:var(--lime);text-decoration:none}.practice-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.practice-steps button{display:flex;flex-direction:column;gap:7px;border:1px solid #435238;border-radius:8px;padding:14px;text-align:left;background:#222c1b}.practice-steps button:hover,.practice-steps button.is-current{border-color:var(--lime);background:#314525}.practice-steps span{font:10px var(--mono);color:#b3c79d}.practice-steps strong{font-size:28px;font-weight:500;color:#e0f5c8}.practice-steps small{font-size:10px;color:#b9caa8}.practice-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.practice-controls label{font-size:11px;color:#c6d6b5;display:flex;align-items:center;gap:5px}.practice-controls input{accent-color:var(--lime)}.practice-controls>span{font:9px var(--mono);color:var(--muted);margin-left:auto}.practice-status{font-size:11px;line-height:1.8;color:#b0c29d;min-height:20px;margin:14px 0 0}.practice-explanation{font-size:12px;line-height:1.9;border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.practice-explanation summary{cursor:pointer;color:#d3e0c5}.practice-explanation p{color:var(--muted);max-width:850px}.fingering-section{margin-top:38px;display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:start}.fingering-section p+p{margin-top:12px}.fingering-section th,.fingering-section td{font-size:10px;padding:12px 10px;white-space:nowrap}.fingering-section caption{text-align:left;font-size:10px;line-height:1.7;padding:12px;background:#222b1a;color:#d5e3c6}.fingering-section .fingering-source{font-size:10px;line-height:1.8;padding:12px;background:#1a2116}.fingering-source a{color:var(--lime)}
@media(max-width:900px){.download-section{grid-template-columns:1fr;gap:18px}.download-actions{grid-template-columns:1fr 1fr 1fr;align-items:center}.download-actions .secondary-button{grid-column:auto;height:100%}.download-actions>span{grid-column:1/-1}.fingering-section{grid-template-columns:1fr;gap:20px}.practice-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:600px){.download-section{padding:18px}.download-section h2{font-size:20px}.download-actions{grid-template-columns:1fr 1fr}.download-actions .secondary-button{grid-column:1/-1;height:37px}.degree-explanation{font-size:9px}.degree-explanation a{display:block;margin-left:0}.practice-section{padding:18px}.practice-heading h2,.fingering-section h2{font-size:23px}.practice-steps{gap:7px}.practice-steps button{padding:11px 8px}.practice-steps strong{font-size:24px}.practice-steps small{font-size:8px}.practice-controls{gap:10px}.practice-controls>span{width:100%;margin-left:0}.fingering-section{margin-top:28px}.fingering-section th,.fingering-section td{font-size:9px;padding:10px 6px}.card-guide{font-size:9px}}
@media print{
  @page{margin:12mm}
  .explorer,.download-section,.practice-section,.fingering-section,.reference-section,.library-toolbar,.no-script,.degree-explanation{display:none!important}
  .chord-card[hidden]{display:block!important}.chord-card{padding:9px;border-color:#aaa;background:white!important;color:#111!important;break-inside:avoid;box-shadow:none;transform:none!important}.card-play-button{color:#111!important}.card-play,.card-guide{display:none!important}.card-quality,.card-note-names,.card-formula,.card-full-name{color:#333!important}.card-symbol{font-size:20px}.mini-keyboard{width:100%;height:auto}.chord-library{padding-top:0}.section-heading .eyebrow{display:none}.section-heading p{color:#444}.chord-cards{gap:9px}.library-footnote{color:#444}.intro .eyebrow{color:#555}
}
