:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:#1a1006;min-height:100vh;margin:0}.fretboard[data-v-40812e6a]{background:#3b2a1a;border-radius:8px;margin-top:1rem;padding:1rem;overflow-x:auto;box-shadow:inset 0 0 20px #0006}.fret-numbers[data-v-40812e6a]{margin-bottom:.25rem;display:flex}.nut-spacer[data-v-40812e6a]{flex-shrink:0;width:2.5rem}.fret-number[data-v-40812e6a]{text-align:center;color:#cbb896;flex-shrink:0;width:3rem;font-size:.75rem}.fret-number.marker[data-v-40812e6a]{color:#f0d9a8;font-weight:700}.strings[data-v-40812e6a]{flex-direction:column;gap:.5rem;display:flex}.string-row[data-v-40812e6a]{align-items:center;display:flex}.string-label[data-v-40812e6a]{text-align:center;color:#f0d9a8;flex-shrink:0;width:2.5rem;font-weight:700}.cells[data-v-40812e6a]{display:flex}.cell[data-v-40812e6a]{border-right:2px solid #8a7554;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:2.5rem;display:flex;position:relative}.cell.nut[data-v-40812e6a]{border-right:4px solid #f0d9a8}.cell.dim[data-v-40812e6a],.fret-number.dim[data-v-40812e6a]{opacity:.35}.string-line[data-v-40812e6a]{background:#c8b28a;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.note-dot[data-v-40812e6a]{z-index:1;color:#000000bf;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.65rem;font-weight:700;line-height:1;animation:.6s ease-out pulse-40812e6a;display:flex;position:relative}.note-dot.live[data-v-40812e6a]{background:#ff5a3c;box-shadow:0 0 12px #ff5a3ce6}.note-dot.correct[data-v-40812e6a]{background:#4caf50;box-shadow:0 0 12px #4caf50e6}.note-dot.wrong[data-v-40812e6a]{background:#e53935;box-shadow:0 0 12px #e53935e6}@keyframes pulse-40812e6a{0%{opacity:.4;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}.repeat-ring[data-v-40812e6a]{pointer-events:none;border:2px solid #fff;border-radius:50%;animation:.9s ease-out forwards repeat-ring-40812e6a;position:absolute;inset:-.35rem}@keyframes repeat-ring-40812e6a{0%{opacity:1;transform:scale(.85);box-shadow:0 0 10px #ffffffe6}to{opacity:0;transform:scale(1.5);box-shadow:0 0 #fff0}}@media (width<=480px){.nut-spacer[data-v-40812e6a],.string-label[data-v-40812e6a]{width:2rem}.fret-number[data-v-40812e6a]{width:2.4rem;font-size:.7rem}.cell[data-v-40812e6a]{width:2.4rem;height:2.2rem}.note-dot[data-v-40812e6a]{width:1.5rem;height:1.5rem;font-size:.6rem}}.app[data-v-36dabeb6]{text-align:center;color:#eee8dc;max-width:60rem;margin:0 auto;padding:1.5rem 1rem 2rem;font-family:system-ui,sans-serif}h1[data-v-36dabeb6]{letter-spacing:.05em;margin-bottom:.25rem}.subtitle[data-v-36dabeb6]{color:#a89f8f;margin-top:0;margin-bottom:1rem}.controls[data-v-36dabeb6]{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.algo-select[data-v-36dabeb6]{color:#a89f8f;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.algo-select select[data-v-36dabeb6]{color:#eee8dc;background:#2a1e12;border:1px solid #8a7554;border-radius:6px;padding:.4rem .6rem;font-size:.95rem}.exercise-picker[data-v-36dabeb6]{position:relative}.exercise-picker-button[data-v-36dabeb6]{color:#eee8dc;cursor:pointer;background:#2a1e12;border:1px solid #8a7554;border-radius:6px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.95rem;display:flex}.exercise-picker-button .caret[data-v-36dabeb6]{color:#a89f8f;font-size:.65rem}.picker-backdrop[data-v-36dabeb6]{z-index:20;position:fixed;inset:0}.picker-panel[data-v-36dabeb6]{z-index:21;text-align:left;background:#2a1e12;border:1px solid #4a3722;border-radius:10px;width:max-content;min-width:16rem;max-width:24rem;max-height:22rem;padding:.5rem;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000080}@media (width>=640px){.picker-panel[data-v-36dabeb6]{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));align-content:start;column-gap:1rem;width:min(92vw,64rem);max-width:min(92vw,64rem);max-height:32rem;display:grid}.picker-item-freeplay[data-v-36dabeb6],.picker-empty[data-v-36dabeb6]{grid-column:1/-1}}.picker-group[data-v-36dabeb6]{margin-bottom:.5rem}.picker-group-label[data-v-36dabeb6]{letter-spacing:.04em;text-transform:uppercase;color:#8a7554;padding:.5rem .6rem .15rem;font-size:.7rem}.picker-item[data-v-36dabeb6]{text-align:left;color:#eee8dc;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:.45rem .6rem;font-size:.9rem;display:block}.picker-item[data-v-36dabeb6]:hover{background:#3b2a1a}.picker-item.active[data-v-36dabeb6]{color:#1a1006;background:#ff5a3c}.picker-item-count[data-v-36dabeb6]{color:#a89f8f;font-size:.8rem}.picker-item.active .picker-item-count[data-v-36dabeb6]{color:#1a1006;opacity:.75}.picker-empty[data-v-36dabeb6]{color:#a89f8f;margin:0;padding:.45rem .6rem;font-size:.85rem}.checkbox-toggle[data-v-36dabeb6]{color:#a89f8f;cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.checkbox-toggle input[data-v-36dabeb6]{accent-color:#ff5a3c;cursor:pointer;width:1.05rem;height:1.05rem}.range-slider[data-v-36dabeb6]{color:#a89f8f;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.range-slider input[type=range][data-v-36dabeb6]{accent-color:#ff5a3c;cursor:pointer;width:7rem}.range-value[data-v-36dabeb6]{font-variant-numeric:tabular-nums;color:#cbb896;min-width:3ch;font-size:.8rem}.algo-description[data-v-36dabeb6]{color:#a89f8f;max-width:40rem;margin:.75rem auto;font-size:.85rem}.upload-button[data-v-36dabeb6]{color:#f0d9a8;cursor:pointer;background:#2a1e12;border:1px solid #8a7554;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;position:relative}.upload-button input[data-v-36dabeb6]{opacity:0;cursor:pointer;position:absolute;inset:0}.exercise-panel[data-v-36dabeb6]{background:#2a1e12;border:1px solid #4a3722;border-radius:8px;flex-direction:column;justify-content:center;gap:.35rem;max-width:32rem;min-height:7rem;margin:.75rem auto;padding:.75rem 1rem;display:flex;position:relative}.exercise-panel p[data-v-36dabeb6]{padding-right:4.5rem}.exercise-set-progress[data-v-36dabeb6]{letter-spacing:.03em;text-transform:uppercase;color:#8a7554;margin:0;font-size:.75rem}.exercise-name[data-v-36dabeb6]{color:#f0d9a8;margin:0;font-weight:700}.exercise-description[data-v-36dabeb6]{color:#eee8dc;margin:0}.exercise-meta[data-v-36dabeb6]{color:#a89f8f;margin:0;font-size:.85rem}.panel-icons[data-v-36dabeb6]{gap:.4rem;display:flex;position:absolute;top:.5rem;right:.5rem}.icon-button[data-v-36dabeb6]{color:#f0d9a8;cursor:pointer;background:0 0;border:1px solid #8a7554;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:1.05rem;line-height:1;transition:background .2s,color .2s,transform .2s;display:flex}.icon-button[data-v-36dabeb6]:hover{color:#1a1006;background:#f0d9a8}.icon-button.restart[data-v-36dabeb6]:hover{transform:rotate(-40deg)}.check-icon[data-v-36dabeb6]{color:#12250f;vertical-align:middle;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.7rem;font-weight:700;display:inline-flex}.check-icon.fail-icon[data-v-36dabeb6]{color:#2a0a0a;background:#e05252}.mic-button[data-v-36dabeb6]{color:#f0d9a8;cursor:pointer;background:0 0;border:2px solid #f0d9a8;border-radius:999px;padding:.6rem 1.5rem;font-size:1rem;transition:background .2s,color .2s}.mic-button.active[data-v-36dabeb6]{color:#1a1006;background:#ff5a3c;border-color:#ff5a3c}.error[data-v-36dabeb6]{color:#ff8a70}.readout[data-v-36dabeb6]{flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.note-display[data-v-36dabeb6]{font-size:4rem;font-weight:800;line-height:1}.note-octave[data-v-36dabeb6]{vertical-align:super;color:#a89f8f;font-size:2rem}.freq-display[data-v-36dabeb6]{color:#a89f8f;min-height:1.4em;font-size:1.1rem}.tuner-meter[data-v-36dabeb6]{width:16rem}.tuner-track[data-v-36dabeb6]{background:#2a1e12;border-radius:999px;height:.6rem;position:relative;overflow:hidden}.tuner-center[data-v-36dabeb6]{background:#f0d9a8;width:2px;position:absolute;top:0;bottom:0;left:50%}.tuner-needle[data-v-36dabeb6]{background:#ff5a3c;width:4px;transition:transform .1s linear;position:absolute;top:0;bottom:0;left:50%}.tuner-labels[data-v-36dabeb6]{color:#a89f8f;justify-content:space-between;margin-top:.25rem;font-size:.7rem;display:flex}@media (width<=480px){.app[data-v-36dabeb6]{padding:1.5rem 1rem 2rem}.note-display[data-v-36dabeb6]{font-size:3rem}.note-octave[data-v-36dabeb6]{font-size:1.5rem}.mic-button[data-v-36dabeb6],.upload-button[data-v-36dabeb6],.restart-button[data-v-36dabeb6]{padding-top:.75rem;padding-bottom:.75rem}.algo-select select[data-v-36dabeb6]{padding:.55rem .6rem}.checkbox-toggle[data-v-36dabeb6]{padding:.4rem 0}}
