@layer theme,base;@layer theory-ui{:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-wrap{background:linear-gradient(180deg, #fffdf9 0%, var(--staff) 100%);border-radius:22px;padding:16px 14px 12px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano{-webkit-user-select:none;user-select:none;height:132px;position:relative}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-white-row{gap:2px;height:100%;display:flex}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key{cursor:pointer;border:none;padding:0;transition:background .12s,transform .1s}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-white{background:linear-gradient(#fff 0%,#efece3 100%);border:1px solid #cfcabf;border-radius:0 0 8px 8px;justify-content:center;align-items:flex-end;height:100%;padding-bottom:6px;display:flex;position:relative}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-white:hover{background:linear-gradient(#fff 0%,#f7f4ee 100%)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-label{color:#8a8474;pointer-events:none;font-size:.62rem;font-weight:700}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-black{z-index:2;background:linear-gradient(#33333a 0%,#101013 100%);border-radius:0 0 6px 6px;justify-content:center;align-items:flex-end;height:60%;padding-bottom:5px;display:flex;position:absolute;top:0;box-shadow:0 8px 12px #00000059}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-black .piano-key-label{color:#d8d5cc}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-black:hover{background:linear-gradient(#46464e 0%,#17171a 100%)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-root{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%)!important}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-root .piano-key-label{color:#0b1220}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-target{background:linear-gradient(180deg, var(--danger-strong) 0%, var(--danger) 100%)!important}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-target .piano-key-label{color:#2a0a10}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-third{background:linear-gradient(#6facff 0%,#4a8ef0 100%)!important}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-third .piano-key-label{color:#0b1220}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-fifth{background:linear-gradient(#ffc169 0%,#f0a53c 100%)!important}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-fifth .piano-key-label{color:#2a1a00}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-quiz-note{background:linear-gradient(#c9a6ff 0%,#a675f0 100%)!important}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-quiz-note .piano-key-label{color:#1c0b33}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-gap{background:linear-gradient(#ffd76a 0%,#f0a53c 100%)!important}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key.is-gap .piano-key-label{color:#3a2400}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .half-step-bracket{pointer-events:none;border-bottom:2px solid #ffd76ad9;border-left:2px solid #ffd76ad9;border-right:2px solid #ffd76ad9;border-radius:0 0 8px 8px;height:22px;position:absolute;bottom:-30px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .half-step-bracket-label{white-space:nowrap;color:#4a3300;border-radius:var(--radius-sm);pointer-events:none;background:#ffd76a;padding:3px 8px;font-size:.7rem;font-weight:700;position:absolute;bottom:-54px;left:50%;transform:translate(-50%)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .finger-badge{color:#0b1220;pointer-events:none;z-index:3;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:6px;left:50%;transform:translate(-50%);box-shadow:0 4px 8px #00000059}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .finger-badge.badge-root{background:var(--accent)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .finger-badge.badge-third{background:#6facff}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .finger-badge.badge-fifth{background:#ffc169}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fretboard-wrap{background:linear-gradient(160deg,#43290f 0%,#241608 100%);border:1px solid #ffd6a324;border-radius:22px;padding:18px 16px 12px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-string,:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-markers,:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-numbers{grid-template-columns:repeat(13,1fr);display:grid}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell{cursor:pointer;background:linear-gradient(#ffffff0d,#0000);border:none;border-right:2px solid #ffe0b252;justify-content:center;align-items:center;height:50px;padding:0;display:flex;position:relative}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell:last-child{border-right:none}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell.is-nut{border-left:4px solid #f4e9d8}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-note-dot{background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,transform .15s;display:flex}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell:hover .fret-note-dot{background:#ffffff2e}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell.is-root .fret-note-dot{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%);transform:scale(1.08)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell.is-target .fret-note-dot{background:linear-gradient(180deg, var(--danger-strong) 0%, var(--danger) 100%);transform:scale(1.08)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-markers{margin-top:6px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-marker-cell{justify-content:center;align-items:center;gap:4px;display:flex}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-marker-dot{background:#ffe0b266;border-radius:50%;width:6px;height:6px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-numbers{margin-top:4px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-numbers span{text-align:center;color:#ffe0b28c;font-size:.72rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fretboard-caption{color:#ffe0b299;margin:10px 2px 0;font-size:.78rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-toggle{border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-toggle-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 6px 0 4px;font-size:.72rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:background .14s,color .14s,border-color .14s}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-btn:hover,:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-btn:focus-visible{color:var(--text);background:#ffffff14;outline:none}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-btn.is-active{color:#cffff0;background:#4ecca32e;border-color:#4ecca380}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .distance-readout{justify-content:center;align-items:center;gap:10px;margin:14px 0 4px;font-weight:700;display:flex}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .distance-readout .distance-count{color:var(--accent);text-align:center;min-width:2.4ch;font-size:2rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .distance-readout .distance-unit{color:var(--muted);font-size:.95rem;font-weight:600}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table-wrap{border-radius:var(--radius-md);border:1px solid #ffffff14;overflow-x:auto}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table{border-collapse:collapse;width:100%;min-width:720px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table th,:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:12px 14px;font-size:.9rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#ffffff08;font-size:.7rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table tbody tr:hover{background:#ffffff08}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-table tbody tr:last-child td{border-bottom:none}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-chip{border-radius:var(--radius-sm);padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-block}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-chip.category-perfect{color:#cffff0;background:#4ecca32e}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-chip.category-major{color:#cfe3ff;background:#5e9eff2e}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-chip.category-minor{color:#ffe2bd;background:#ffb04f2e}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .interval-chip.category-dissonant{color:#ffd6dc;background:#e945602e}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .table-listen-btn{color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;padding:7px 12px;font-size:.82rem;font-weight:600;transition:background .14s,transform .14s}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .table-listen-btn:hover,:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .table-listen-btn:focus-visible{background:#4ecca32e;outline:none;transform:translateY(-1px)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:8px 4px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell .mastery-short{font-size:.85rem;font-weight:800;display:block}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell .mastery-pct{color:var(--muted);margin-top:2px;font-size:.68rem;display:block}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell.level-strong{background:#4ecca31f;border-color:#4ecca380}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell.level-mid{background:#ffb04f1a;border-color:#ffb04f80}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell.level-weak{background:#e945601a;border-color:#e9456080}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-cell.level-new{opacity:.6}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .achievement-toast{color:#3a2400;border-radius:var(--radius-sm);opacity:0;pointer-events:none;z-index:50;background:linear-gradient(135deg,#ffd76a 0%,#ff9f4a 100%);align-items:center;gap:10px;padding:14px 22px;font-weight:800;transition:opacity .22s,transform .22s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);box-shadow:0 20px 50px #0006}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .achievement-toast.is-visible{opacity:1;transform:translate(-50%)}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .progress-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:24px;margin-top:24px;display:grid}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mastery-card,:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badges-card{border-radius:var(--radius-lg);padding:24px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badges-card h2{margin:4px 0 16px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badge-shelf{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badge-item{text-align:center;opacity:.4;filter:grayscale();background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:opacity .2s,filter .2s,transform .2s;display:flex}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badge-item.is-earned{opacity:1;filter:none;background:#ffd76a1a;border-color:#ffd76a80}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badge-icon{font-size:1.6rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .badge-label{color:var(--text);font-size:.72rem;font-weight:700}@media (width<=980px){:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .progress-layout{grid-template-columns:1fr}}@media (width<=760px){:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .fret-cell{height:40px}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .piano-key-label{font-size:.55rem}:root:is([data-page=chord-game],[data-page=chords],[data-page=guitar],[data-page=interval-game],[data-page=intervals],[data-page=note-map],[data-page=note-splitting],[data-page=piano],[data-page=rhythm-lab],[data-page=rhythm-reading],[data-page=tab-editor]) .mode-toggle{justify-content:center;width:100%}}}@layer chord-practice-ui,guitar-ui,page;
