.cookie-banner[data-v-41727e78]{position:fixed;bottom:env(safe-area-inset-bottom);left:0;right:0;z-index:200;padding:.75rem 1rem;border-top:1px solid var(--border);background:linear-gradient(180deg,rgb(255 255 255 / .03),transparent),var(--surface-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -8px 32px #0003}.cookie-banner--with-player[data-v-41727e78]{bottom:72px}.cookie-banner__content[data-v-41727e78]{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1440px,100%);margin:0 auto}.cookie-banner__text[data-v-41727e78]{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.42}.cookie-banner__link[data-v-41727e78]{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.cookie-banner__link[data-v-41727e78]:hover{color:var(--accent-dark)}.cookie-banner__actions[data-v-41727e78]{display:flex;gap:.5rem;flex-shrink:0}.cookie-banner__btn[data-v-41727e78]{min-height:2.35rem;padding:.45rem .9rem;white-space:nowrap}.cookie-banner-enter-active[data-v-41727e78],.cookie-banner-leave-active[data-v-41727e78]{transition:transform .28s ease,opacity .28s ease}.cookie-banner-enter-from[data-v-41727e78],.cookie-banner-leave-to[data-v-41727e78]{transform:translateY(100%);opacity:0}@media(max-width:600px){.cookie-banner[data-v-41727e78]{bottom:env(safe-area-inset-bottom);padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom))}.cookie-banner--with-player[data-v-41727e78]{bottom:var(--player-bar-mobile-height, 260px)}.cookie-banner__content[data-v-41727e78]{display:grid;gap:.55rem}.cookie-banner__actions[data-v-41727e78]{width:100%;gap:.45rem}.cookie-banner__text[data-v-41727e78]{font-size:.74rem;line-height:1.3}.cookie-banner__btn[data-v-41727e78]{flex:1;min-height:2.05rem;padding:.28rem .65rem;font-size:.78rem}}.ko-fi-button[data-v-e0e4058d]{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.35rem;padding:.45rem .82rem;border:1px solid transparent;border-radius:999px;background:#d95d39;color:#fff;font-size:.92rem;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow);transition:opacity .14s ease,transform .14s ease}.ko-fi-button[data-v-e0e4058d]:hover{opacity:.9;transform:translateY(-1px)}.ko-fi-button__icon[data-v-e0e4058d]{width:1.2rem;height:.86rem;object-fit:contain;flex-shrink:0}.ko-fi-button__text[data-v-e0e4058d]{min-width:0;overflow:hidden;text-overflow:ellipsis}.milestone-toast-region[data-v-65f022dd]{position:fixed;top:calc(env(safe-area-inset-top) + var(--top-navbar-offset, 0px) + .75rem);right:1.2rem;z-index:300;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.milestone-toast[data-v-65f022dd]{pointer-events:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-width:min(26rem,calc(100vw - 2.4rem));max-width:min(30rem,calc(100vw - 2.4rem));padding:1rem 1.1rem;border-radius:20px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--entry-background);box-shadow:var(--entry-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.milestone-toast__eyebrow[data-v-65f022dd],.milestone-toast__title[data-v-65f022dd],.milestone-toast__body[data-v-65f022dd]{margin:0}.milestone-toast__eyebrow[data-v-65f022dd]{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.milestone-toast__title[data-v-65f022dd]{margin-top:.2rem;font-size:1rem;font-weight:800}.milestone-toast__body[data-v-65f022dd]{margin-top:.3rem;color:var(--text-muted);font-size:.9rem}.milestone-toast__dismiss[data-v-65f022dd]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1}@media(max-width:700px){.milestone-toast-region[data-v-65f022dd]{left:1rem;right:1rem;top:calc(env(safe-area-inset-top) + var(--top-navbar-offset, 0px) + .6rem)}.milestone-toast[data-v-65f022dd]{min-width:0;max-width:none}}.volume-control[data-v-777d8efe]{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary)}.volume-control--inline[data-v-777d8efe]{gap:.45rem;min-width:7.25rem}.volume-control__button[data-v-777d8efe],.volume-control__inline-icon[data-v-777d8efe]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:inherit;border-radius:999px;width:2.65rem;height:2.65rem;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.volume-control__button[data-v-777d8efe]{cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.volume-control__button[data-v-777d8efe]:disabled{cursor:not-allowed;opacity:.55}@media(hover:hover)and (pointer:fine){.volume-control__button[data-v-777d8efe]:not(:disabled):hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}}.volume-control.is-open .volume-control__button[data-v-777d8efe]{background:color-mix(in srgb,var(--accent) 16%,var(--surface-strong));border-color:color-mix(in srgb,var(--accent) 48%,var(--border))}.volume-control__icon[data-v-777d8efe]{width:1.35rem;height:1.35rem;display:block}.volume-control__speaker[data-v-777d8efe]{fill:currentColor}.volume-control__bar[data-v-777d8efe]{fill:color-mix(in srgb,currentColor 22%,transparent)}.volume-control__bar.is-active[data-v-777d8efe]{fill:currentColor}.volume-control__slider[data-v-777d8efe]{accent-color:var(--accent);cursor:pointer}.volume-control__slider[data-v-777d8efe]:disabled{cursor:not-allowed;opacity:.55}.volume-control__slider--horizontal[data-v-777d8efe]{width:min(6.5rem,18vw);min-width:4.6rem}.volume-control__popover[data-v-777d8efe]{position:absolute;left:50%;bottom:calc(100% + .65rem);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:3.25rem;padding:.75rem .6rem .55rem;border-radius:18px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,white);box-shadow:0 18px 42px #00000029;z-index:10}.volume-control__slider--vertical[data-v-777d8efe]{width:6.75rem;height:1.4rem;transform:rotate(-90deg);margin:2.8rem -2.55rem}.volume-control__percent[data-v-777d8efe]{color:var(--text-muted);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums}.looper-transport-controls[data-v-62385f49]{display:flex;flex-direction:column;gap:1rem}.looper-transport-controls--compact[data-v-62385f49]{flex-direction:row;align-items:center;gap:1.25rem;flex:1;min-width:0}.looper-transport-controls__header[data-v-62385f49]{display:flex;flex-direction:column;gap:.35rem}.looper-transport-controls__title[data-v-62385f49]{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.looper-transport-controls__status[data-v-62385f49]{margin:0;color:var(--text-muted);font-size:.92rem}.looper-transport-controls__status--error[data-v-62385f49]{color:var(--accent)}.looper-transport-controls__transport[data-v-62385f49]{display:flex;align-items:center;gap:.75rem}.looper-transport-controls__mobile-extra[data-v-62385f49]{display:none}.looper-transport-controls__mobile-trailing[data-v-62385f49]{display:flex;align-items:center;gap:.75rem}.looper-transport-controls__mobile-leading[data-v-62385f49]{display:contents}.looper-transport-controls__skip-group[data-v-62385f49]{display:inline-flex;align-items:center;gap:.6rem}.looper-transport-controls__skip-icon[data-v-62385f49]{fill:currentColor;stroke:none}.ltc-btn--icon svg.looper-transport-controls__skip-icon[data-v-62385f49]{fill:currentColor;stroke:none;stroke-width:0;width:2rem;height:2rem}.looper-transport-controls__skip-icon path[data-v-62385f49]{fill:currentColor;stroke:none}.looper-transport-controls__skip-icon text[data-v-62385f49]{fill:currentColor;stroke:none}.looper-transport-controls__transport-divider[data-v-62385f49]{width:1px;align-self:stretch;background:var(--border);margin:0 .25rem}.looper-transport-controls__mobile-header[data-v-62385f49]{display:none}.looper-transport-controls__mobile-header-buttons[data-v-62385f49]{display:inline-flex;align-items:center;gap:.6rem}.looper-transport-controls__mobile-header-text[data-v-62385f49]{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:0;flex:1}.looper-transport-controls__mobile-header-title[data-v-62385f49]{font-size:1rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.looper-transport-controls__mobile-header-error[data-v-62385f49]{margin-top:.15rem;color:var(--accent);font-size:.78rem}.looper-transport-controls__theme-icon[data-v-62385f49]{position:relative;display:inline-grid;place-items:center;width:1.2rem;height:1.2rem}.looper-transport-controls__icon-image[data-v-62385f49]{display:block;width:1.2rem;height:1.2rem;object-fit:contain}.looper-transport-controls__icon-image--theme-dark[data-v-62385f49],html[data-theme=dark] .looper-transport-controls__icon-image--theme-light{display:none}html[data-theme=dark] .looper-transport-controls__icon-image--theme-dark{display:block}.ltc-btn[data-v-62385f49]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:var(--text-primary);border-radius:999px;min-height:3rem;padding:0 1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.ltc-btn[data-v-62385f49]:disabled{cursor:not-allowed;opacity:.55}@media(hover:hover)and (pointer:fine){.ltc-btn[data-v-62385f49]:not(:disabled):hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}}.ltc-btn--icon[data-v-62385f49]{width:3rem;padding:0}.ltc-btn--icon svg[data-v-62385f49]{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ltc-btn--primary[data-v-62385f49]{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,white) 0%,var(--accent) 100%);color:#fff;border-color:transparent;box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 28%,transparent)}.ltc-btn--primary svg[data-v-62385f49]{fill:currentColor;stroke:currentColor}.looper-transport-controls--compact .ltc-btn[data-v-62385f49]{min-height:2.65rem}.looper-transport-controls--compact .ltc-btn--icon[data-v-62385f49]{width:2.65rem;height:2.65rem}.looper-transport-controls--compact .ltc-btn--icon svg[data-v-62385f49]{width:1.2rem;height:1.2rem}.looper-transport-controls--compact .ltc-btn--icon .looper-transport-controls__theme-icon[data-v-62385f49],.looper-transport-controls--compact .ltc-btn--icon .looper-transport-controls__icon-image[data-v-62385f49]{width:1.2rem;height:1.2rem}.looper-transport-controls--compact .ltc-btn--primary[data-v-62385f49]{background:var(--accent);box-shadow:none}.ltc-btn--toggle.is-active[data-v-62385f49]{background:color-mix(in srgb,var(--accent) 16%,var(--surface-strong));border-color:color-mix(in srgb,var(--accent) 48%,var(--border))}@media(min-width:721px){.looper-transport-controls--compact .looper-transport-controls__mobile-extra--loop .looper-transport-controls__theme-icon[data-v-62385f49],.looper-transport-controls--compact .looper-transport-controls__mobile-extra--count-in .looper-transport-controls__theme-icon[data-v-62385f49],.looper-transport-controls--compact .looper-transport-controls__mobile-extra--loop .looper-transport-controls__icon-image[data-v-62385f49],.looper-transport-controls--compact .looper-transport-controls__mobile-extra--count-in .looper-transport-controls__icon-image[data-v-62385f49]{width:2.4rem;height:2.4rem}}.looper-transport-controls__spinner[data-v-62385f49]{width:1rem;height:1rem;border-radius:999px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:looper-transport-spin-62385f49 .9s linear infinite}.looper-transport-controls__timeline[data-v-62385f49]{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.8rem}.looper-transport-controls__timeline--without-volume[data-v-62385f49]{grid-template-columns:auto minmax(0,1fr) auto}.looper-transport-controls__mobile-volume[data-v-62385f49]{display:none}.looper-transport-controls--compact .looper-transport-controls__timeline[data-v-62385f49]{flex:1;min-width:180px;border-left:1px solid var(--border);padding-left:1.25rem}.looper-transport-controls__time[data-v-62385f49]{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.82rem}.looper-transport-controls--compact .looper-transport-controls__time[data-v-62385f49]{font-size:.9rem}.looper-transport-controls__track[data-v-62385f49]{position:relative;height:.7rem}.looper-transport-controls--compact .looper-transport-controls__track[data-v-62385f49]{height:20px;display:flex;align-items:center}.looper-transport-controls__section[data-v-62385f49]{position:absolute;left:var(--looper-section-start, 0%);width:var(--looper-section-width, 0%);top:0;bottom:0;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none;z-index:1}.looper-transport-controls__track[data-v-62385f49]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:color-mix(in srgb,var(--border) 72%,transparent);z-index:0}.looper-transport-controls--compact .looper-transport-controls__track[data-v-62385f49]:before{inset:50% 0 auto;height:4px;transform:translateY(-50%);background:color-mix(in srgb,var(--text-muted) 28%,transparent)}.looper-transport-controls--compact .looper-transport-controls__section[data-v-62385f49]{top:50%;bottom:auto;height:8px;transform:translateY(-50%);background:color-mix(in srgb,var(--accent) 34%,transparent)}.looper-transport-controls__progress[data-v-62385f49]{position:absolute;left:var(--looper-progress-start, 0%);width:var(--looper-progress-width, 0%);inset-block:0;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,white) 0%,var(--accent) 100%);z-index:2}.looper-transport-controls__cue-marker[data-v-62385f49]{position:absolute;left:var(--looper-cue-position, 0%);top:50%;width:.35rem;height:1.15rem;border-radius:999px;background:var(--accent-dark);border:1px solid var(--surface-strong);box-shadow:0 .18rem .6rem #0000002e;transform:translate(-50%,-50%);pointer-events:none;z-index:3}.looper-transport-controls--compact .looper-transport-controls__progress[data-v-62385f49]{top:50%;bottom:auto;height:4px;transform:translateY(-50%);background:var(--accent)}.looper-transport-controls--compact .looper-transport-controls__cue-marker[data-v-62385f49]{width:4px;height:16px;border-width:0;background:color-mix(in srgb,var(--accent-dark) 88%,white)}.looper-transport-controls__thumb[data-v-62385f49]{position:absolute;top:50%;left:var(--looper-progress, 0%);width:.9rem;height:.9rem;border-radius:999px;background:#fff;border:2px solid var(--accent);transform:translate(-50%,-50%);box-shadow:0 .2rem .9rem #00000026;pointer-events:none;z-index:4}.looper-transport-controls--compact .looper-transport-controls__thumb[data-v-62385f49]{width:12px;height:12px;background:var(--surface-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.looper-transport-controls__input[data-v-62385f49]{position:absolute;top:-.45rem;right:0;bottom:-.45rem;left:0;width:100%;opacity:0;cursor:pointer}.looper-transport-controls__speed-trigger[data-v-62385f49]{position:relative}.looper-transport-controls__speed-trigger--mobile[data-v-62385f49]{display:none}.looper-transport-controls__speed-trigger--desktop-inline[data-v-62385f49]{display:inline-flex}.looper-transport-controls__speed-button[data-v-62385f49]{font-weight:800;letter-spacing:-.01em}.looper-transport-controls__speed-button-text[data-v-62385f49]{font-size:.72rem;line-height:1;font-variant-numeric:tabular-nums}.looper-transport-controls__speed-menu[data-v-62385f49]{position:absolute;left:50%;bottom:calc(100% + .65rem);transform:translate(-50%);min-width:5.25rem;display:flex;flex-direction:column;gap:.25rem;padding:.45rem;border-radius:18px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,white);box-shadow:0 18px 42px #00000029;z-index:10}.looper-transport-controls__speed-menu--desktop[data-v-62385f49]{left:auto;right:0;transform:none}.looper-transport-controls__speed-option[data-v-62385f49]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:700;padding:.55rem .8rem;cursor:pointer;white-space:nowrap}.looper-transport-controls__speed-option.is-active[data-v-62385f49]{background:color-mix(in srgb,var(--accent) 16%,var(--surface-strong));color:var(--accent-dark, var(--text-primary))}.looper-transport-controls--compact .looper-transport-controls__spinner[data-v-62385f49]{width:.95rem;height:.95rem}@media(max-width:980px){.looper-transport-controls--compact[data-v-62385f49]{flex-wrap:wrap;justify-content:center}.looper-transport-controls--compact .looper-transport-controls__desktop-volume[data-v-62385f49]{display:none}.looper-transport-controls--compact .looper-transport-controls__timeline[data-v-62385f49]{order:3;width:100%;min-width:0;border-left:0;padding-left:0;grid-template-columns:auto minmax(0,1fr) auto}}@media(max-width:720px){.looper-transport-controls__count-in-text[data-v-62385f49]{display:none}.looper-transport-controls__mobile-extra[data-v-62385f49],.looper-transport-controls__speed-trigger--mobile[data-v-62385f49]{display:inline-flex}.looper-transport-controls__speed-trigger--desktop-inline[data-v-62385f49]{display:none}.looper-transport-controls--compact .looper-transport-controls__mobile-header[data-v-62385f49]{display:grid;grid-template-columns:1fr 4.35rem 1fr;align-items:center;column-gap:.9rem;width:100%;order:0}.looper-transport-controls--compact .looper-transport-controls__mobile-header-buttons[data-v-62385f49]{grid-column:1;justify-self:end;display:inline-flex;align-items:center;gap:.9rem;position:relative;z-index:2}.looper-transport-controls--compact .looper-transport-controls__mobile-volume[data-v-62385f49]{display:inline-flex}.looper-transport-controls--compact .looper-transport-controls__mobile-volume[data-v-62385f49] .volume-control__button{width:3.1rem;height:2.3rem;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 55%,transparent);box-shadow:none}.looper-transport-controls--compact .looper-transport-controls__mobile-header-text[data-v-62385f49]{grid-column:2 / -1;justify-self:stretch;align-self:center;text-align:right;min-width:0;max-width:100%;overflow:hidden;pointer-events:none}.looper-transport-controls--compact .looper-transport-controls__mobile-header-button.ltc-btn[data-v-62385f49]{width:3.1rem;height:2.3rem;min-height:0;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 55%,transparent);box-shadow:none;padding:0}@media(hover:hover)and (pointer:fine){.looper-transport-controls--compact .looper-transport-controls__mobile-header-button.ltc-btn[data-v-62385f49]:not(:disabled):hover{transform:none;background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong));border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}}.looper-transport-controls--compact .looper-transport-controls__mobile-header-button.ltc-btn--toggle.is-active[data-v-62385f49]{background:color-mix(in srgb,var(--accent) 18%,var(--surface-strong));border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--accent)}.looper-transport-controls--compact .looper-transport-controls__mobile-header-button .looper-transport-controls__theme-icon[data-v-62385f49],.looper-transport-controls--compact .looper-transport-controls__mobile-header-button .looper-transport-controls__icon-image[data-v-62385f49]{width:1.65rem;height:1.65rem}.looper-transport-controls--compact .looper-transport-controls__transport-divider[data-v-62385f49],.looper-transport-controls--compact .looper-transport-controls__mobile-trailing .looper-transport-controls__mobile-extra--loop[data-v-62385f49],.looper-transport-controls--compact .looper-transport-controls__mobile-trailing .looper-transport-controls__mobile-extra--count-in[data-v-62385f49]{display:none}.looper-transport-controls--compact .looper-transport-controls__skip-group[data-v-62385f49]{gap:.6rem}.looper-transport-controls--compact .looper-transport-controls__skip-button svg[data-v-62385f49]{width:1.5rem;height:1.5rem}.looper-transport-controls__mobile-trailing[data-v-62385f49]{display:inline-flex;align-items:center;gap:.9rem}.looper-transport-controls__mobile-leading[data-v-62385f49]{display:inline-flex;align-items:center;justify-self:end;gap:.9rem}.looper-transport-controls--compact[data-v-62385f49]{width:100%;flex-direction:column;align-items:stretch;gap:.8rem}.looper-transport-controls--compact .looper-transport-controls__transport[data-v-62385f49]{order:1;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.9rem}.looper-transport-controls--compact .ltc-btn--icon[data-v-62385f49]{width:3.4rem;height:3.4rem;box-shadow:0 10px 28px #00000014}.looper-transport-controls--compact .ltc-btn--icon svg[data-v-62385f49]{width:1.55rem;height:1.55rem}.looper-transport-controls--compact .ltc-btn--icon .looper-transport-controls__theme-icon[data-v-62385f49]{width:1.6rem;height:1.6rem}.looper-transport-controls--compact .ltc-btn--icon .looper-transport-controls__icon-image[data-v-62385f49]{width:1.55rem;height:1.55rem}.looper-transport-controls--compact .looper-transport-controls__mobile-extra[data-v-62385f49]{display:none}.looper-transport-controls--compact .looper-transport-controls__transport>.looper-transport-controls__mobile-leading[data-v-62385f49]{grid-column:1}.looper-transport-controls--compact .looper-transport-controls__transport>.ltc-btn--primary[data-v-62385f49]{grid-column:2;justify-self:center}.looper-transport-controls--compact .looper-transport-controls__transport>.looper-transport-controls__mobile-extra[data-v-62385f49]{grid-column:3;justify-self:start}.looper-transport-controls--compact .looper-transport-controls__transport>.looper-transport-controls__skip-group[data-v-62385f49]{grid-column:3;justify-self:start}.looper-transport-controls--compact .looper-transport-controls__transport>.looper-transport-controls__mobile-trailing .looper-transport-controls__theme-icon[data-v-62385f49]{width:1.85rem;height:1.85rem}.looper-transport-controls--compact .looper-transport-controls__transport>.looper-transport-controls__mobile-trailing .looper-transport-controls__icon-image[data-v-62385f49]{width:1.8rem;height:1.8rem}.looper-transport-controls--compact .ltc-btn--primary[data-v-62385f49]{width:4.35rem;height:4.35rem;background:linear-gradient(180deg,#ffb057,#ff9d43);color:#151515}.looper-transport-controls--compact .ltc-btn--primary svg[data-v-62385f49]{width:1.82rem;height:1.82rem}.looper-transport-controls--compact .looper-transport-controls__timeline[data-v-62385f49]{order:2;width:100%;min-width:0;border-left:0;padding-left:0}}@keyframes looper-transport-spin-62385f49{to{transform:rotate(360deg)}}.timer-dialog-backdrop[data-v-74e59b99]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at top,rgb(217 93 57 / .2),transparent 36%),#05080cad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.timer-dialog[data-v-74e59b99]{position:relative;width:min(100%,22rem);display:flex;flex-direction:column;gap:1rem;padding:1.6rem;border:1px solid rgb(255 255 255 / .08);border-radius:26px;background:linear-gradient(180deg,rgb(255 255 255 / .05),transparent),var(--entry-background);box-shadow:0 30px 80px #00000059,inset 0 1px #ffffff14}.timer-dialog__close[data-v-74e59b99]{position:absolute;top:.9rem;right:.9rem;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background-color .12s ease}.timer-dialog__close[data-v-74e59b99]:hover{background:#ffffff14}.timer-dialog__eyebrow[data-v-74e59b99]{margin:0;padding-right:2.4rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.timer-dialog__title[data-v-74e59b99]{margin:0;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.2}.timer-dialog__picker-section[data-v-74e59b99]{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 0}.timer-dialog__picker-wrap[data-v-74e59b99]{position:relative;width:5.5rem;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--input-background);box-shadow:inset 0 2px 8px #0000001a}.timer-dialog__picker-wrap[data-v-74e59b99]:before{content:"";position:absolute;top:50%;transform:translateY(-50%);height:44px;left:0;right:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 10%,transparent);pointer-events:none;z-index:1}.timer-dialog__picker-wrap[data-v-74e59b99]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--input-background) 0%,transparent 30%,transparent 70%,var(--input-background) 100%);pointer-events:none;z-index:2}.timer-dialog__picker[data-v-74e59b99]{height:220px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.timer-dialog__picker[data-v-74e59b99]::-webkit-scrollbar{display:none}.timer-dialog__picker-item[data-v-74e59b99]{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:1.55rem;font-variant-numeric:tabular-nums;font-weight:400;color:var(--text-muted);opacity:.3;transition:opacity .1s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.timer-dialog__picker-item.is-selected[data-v-74e59b99]{color:inherit;opacity:1;font-weight:700}.timer-dialog__picker-unit[data-v-74e59b99]{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-shrink:0}.timer-dialog__actions[data-v-74e59b99]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.25rem}@media(max-width:640px){.timer-dialog-backdrop[data-v-74e59b99]{align-items:flex-end;padding:1rem 1rem calc(var(--player-bar-mobile-height, 280px) + .75rem)}.timer-dialog[data-v-74e59b99]{width:100%;padding:1.15rem;border-bottom-left-radius:18px;border-bottom-right-radius:18px}.timer-dialog__picker[data-v-74e59b99]{height:132px}.timer-dialog__actions[data-v-74e59b99]{flex-direction:column-reverse}.timer-dialog__actions[data-v-74e59b99]>*{width:100%}}.player-bar__status[data-v-a822c320]{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--text-muted);white-space:nowrap}.player-bar__status--error[data-v-a822c320]{color:var(--accent)}.player-bar__tempo-track--display-only[data-v-a822c320]{flex:0 0 auto;padding:0}.player-bar__tempo-track--display-only[data-v-a822c320]:before{content:none}.player-bar__karaoke-icon[data-v-a822c320]{display:block;width:1.15rem;height:1.15rem;background:currentColor;mask:url(/microphone.svg) center / contain no-repeat;-webkit-mask:url(/microphone.svg) center / contain no-repeat}.player-bar__karaoke-hint-trigger[data-v-a822c320]{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate}.player-bar__karaoke-hint-trigger>.pb-btn[data-v-a822c320]{position:relative;overflow:hidden}.player-bar__karaoke-hint-trigger>.pb-btn[data-v-a822c320]:after{content:"";position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;z-index:0;background:linear-gradient(120deg,transparent 34%,color-mix(in srgb,var(--accent) 28%,white) 48%,transparent 64%);opacity:0;transform:translate(-85%) rotate(8deg);pointer-events:none}.player-bar__karaoke-hint-trigger>.pb-btn[data-v-a822c320]>*{position:relative;z-index:1}.player-bar__karaoke-hint-trigger--active>.pb-btn[data-v-a822c320]:after{animation:player-bar-karaoke-glimmer-a822c320 1.15s ease both;opacity:1}.player-bar__karaoke-hint[data-v-a822c320]{position:absolute;right:-.35rem;bottom:calc(100% + .75rem);z-index:3;display:inline-grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;width:max-content;max-width:min(15rem,calc(100vw - 2rem));border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:14px;padding:.5rem .5rem .5rem .7rem;background:color-mix(in srgb,var(--surface-strong) 94%,var(--accent) 6%);box-shadow:0 16px 34px #0000002e,0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-dark);font-size:.78rem;font-weight:800;line-height:1.25;text-align:left;opacity:0;pointer-events:auto;transform:translateY(.35rem) scale(.98);transition:opacity .15s ease,transform .15s ease}.player-bar__karaoke-hint[data-v-a822c320]:after{content:"";position:absolute;right:1rem;bottom:-.38rem;width:.7rem;height:.7rem;border-right:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));background:inherit;transform:rotate(45deg)}.player-bar__karaoke-hint-trigger--active .player-bar__karaoke-hint[data-v-a822c320]{opacity:1;transform:translateY(0) scale(1)}.player-bar__karaoke-hint-close[data-v-a822c320]{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--text-muted);cursor:pointer;transition:background-color .14s ease,color .14s ease,transform .14s ease}.player-bar__karaoke-hint-close[data-v-a822c320]:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent-dark);transform:translateY(-1px)}.player-bar__karaoke-hint-close svg[data-v-a822c320]{width:.82rem;height:.82rem;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}.player-bar__karaoke-popover[data-v-a822c320]{position:fixed;left:50%;bottom:calc(72px + 1.1rem);z-index:260;display:grid;gap:.7rem;width:min(320px,calc(100vw - 2rem));border:1px solid color-mix(in srgb,var(--accent) 54%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 90%,black 10%);box-shadow:0 18px 46px #0000003d,0 0 0 5px color-mix(in srgb,var(--accent) 14%,transparent);padding:.75rem .75rem .75rem 1rem;pointer-events:auto;transform:translate(-50%)}.player-bar__karaoke-popover--silent[data-v-a822c320]{border-color:color-mix(in srgb,var(--text-muted) 42%,var(--border));box-shadow:0 18px 46px #00000038,0 0 0 5px color-mix(in srgb,var(--text-muted) 12%,transparent)}.player-bar__karaoke-popover-summary[data-v-a822c320]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.player-bar__karaoke-popover-text[data-v-a822c320]{display:grid;justify-items:center;gap:.15rem;min-width:0}.player-bar__karaoke-popover-label[data-v-a822c320]{font-size:.68rem;font-weight:900;letter-spacing:.1em;line-height:1.1;text-transform:uppercase;color:var(--text-muted)}.player-bar__karaoke-popover-count[data-v-a822c320]{font-size:1.15rem;font-weight:900;line-height:1.1;color:var(--accent-dark)}.player-bar__karaoke-popover--silent .player-bar__karaoke-popover-count[data-v-a822c320]{color:var(--text-muted)}.player-bar__karaoke-popover-toggle[data-v-a822c320]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent-dark);cursor:pointer;transition:transform .14s ease,background-color .14s ease}.player-bar__karaoke-popover-toggle[data-v-a822c320]:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 15%,transparent)}.player-bar__karaoke-popover-toggle svg[data-v-a822c320]{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.player-bar__karaoke-popover--expanded .player-bar__karaoke-popover-toggle svg[data-v-a822c320]{transform:rotate(180deg)}.player-bar__karaoke-popover-body[data-v-a822c320]{margin:0;padding:.75rem .1rem .05rem;border-top:1px solid color-mix(in srgb,var(--border) 78%,transparent);color:var(--text-muted);font-size:.82rem;font-weight:600;line-height:1.35;text-align:center}.player-bar-karaoke-popover-enter-active[data-v-a822c320],.player-bar-karaoke-popover-leave-active[data-v-a822c320]{transition:opacity .16s ease,transform .16s ease}.player-bar-karaoke-popover-enter-from[data-v-a822c320],.player-bar-karaoke-popover-leave-to[data-v-a822c320]{opacity:0;transform:translate(-50%,.35rem)}.player-bar__mobile-volume[data-v-a822c320]{display:none}.player-bar__desktop-volume[data-v-a822c320]{flex-shrink:0;border-left:1px solid var(--border);padding-left:1.25rem}.player-bar__desktop-volume+.player-bar__tempo[data-v-a822c320]{flex-basis:360px;border-left:0;padding-left:0}.player-bar__spinner[data-v-a822c320]{width:.82rem;height:.82rem;border-radius:999px;border:2px solid color-mix(in srgb,currentColor 26%,transparent);border-top-color:currentColor;animation:player-bar-spin-a822c320 .9s linear infinite}.player-bar__spinner--button[data-v-a822c320]{width:1rem;height:1rem;color:currentColor}.player-bar__bpm-label[data-v-a822c320]{margin-left:.2rem}.player-bar__bpm-value[data-v-a822c320]{--bpm-reel-row-height: 1.16em;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;inline-size:2.2em;padding:0;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:0;line-height:var(--bpm-reel-row-height)}.player-bar__bpm-badge-value.player-bar__bpm-value[data-v-a822c320]{font-size:.94rem;font-weight:800;letter-spacing:0;text-shadow:none}.player-bar__bpm-badge-label[data-v-a822c320]{font-size:.94rem;font-weight:800;letter-spacing:.02em;text-shadow:none}.player-bar__bpm-value--active[data-v-a822c320]{color:var(--accent-dark);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 34%,transparent)}.player-bar__bpm-badge-value.player-bar__bpm-value--active[data-v-a822c320]{color:var(--accent-dark)}.player-bar__digit-group[data-v-a822c320]{position:relative;display:inline-flex;align-items:center;justify-content:center;height:var(--bpm-reel-row-height);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}.player-bar__digit-reel[data-v-a822c320]{--slot-start-offset: 0px;--slot-resting-offset: 0px;--slot-rolling-offset: 0px;display:inline-block;width:.66em;height:var(--bpm-reel-row-height);overflow:hidden}.player-bar__digit-strip[data-v-a822c320]{display:flex;flex-direction:column;transform:translateY(var(--slot-resting-offset));will-change:transform}.player-bar__digit[data-v-a822c320]{display:flex;align-items:center;justify-content:center;height:var(--bpm-reel-row-height);line-height:var(--bpm-reel-row-height);text-align:center}.player-bar__bpm-value--active .player-bar__digit-strip[data-v-a822c320]{animation:player-bar-bpm-reel-a822c320 1.65s cubic-bezier(.12,.72,.12,1) both}.player-bar__looper-progress[data-v-a822c320]{display:flex;align-items:center;gap:.9rem;flex:1;min-width:180px;border-left:1px solid var(--border);padding-left:1.25rem}.player-bar__timeline[data-v-a822c320]{--looper-progress: 0%;--looper-progress-start: 0%;--looper-progress-width: 0%;--looper-section-start: 0%;--looper-section-width: 0%;position:relative;flex:1;height:20px;display:flex;align-items:center}.player-bar__timeline[data-v-a822c320]:before{content:"";position:absolute;inset:50% 0 auto;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 28%,transparent);transform:translateY(-50%)}.player-bar__timeline-section[data-v-a822c320],.player-bar__timeline-progress[data-v-a822c320],.player-bar__timeline-thumb[data-v-a822c320]{position:absolute;pointer-events:none}.player-bar__timeline-section[data-v-a822c320]{left:var(--looper-section-start);width:var(--looper-section-width);top:50%;height:8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 34%,transparent);transform:translateY(-50%)}.player-bar__timeline-progress[data-v-a822c320]{left:var(--looper-progress-start);width:var(--looper-progress-width);top:50%;height:4px;border-radius:999px;background:var(--accent);transform:translateY(-50%)}.player-bar__timeline-thumb[data-v-a822c320]{left:var(--looper-progress);top:50%;width:12px;height:12px;border-radius:999px;background:var(--surface-strong);border:2px solid var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);transform:translate(-50%,-50%)}.player-bar__timeline-input[data-v-a822c320]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;opacity:0;cursor:pointer}.player-bar__timeline-input[data-v-a822c320]:disabled{cursor:not-allowed}.player-bar__timeline-input[data-v-a822c320]:focus-visible{opacity:1}.player-bar__timeline-input[data-v-a822c320]:focus-visible::-webkit-slider-runnable-track{height:20px;background:transparent}.player-bar__timeline-input[data-v-a822c320]:focus-visible::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:999px;background:transparent;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 64%,white)}@media(max-width:980px){.player-bar__desktop-volume[data-v-a822c320]{display:none}.player-bar__looper-progress[data-v-a822c320]{order:4;width:100%;padding-left:0;border-left:none}}@media(max-width:720px){.player-bar__mobile-volume[data-v-a822c320]{display:inline-flex}.player-bar__karaoke-popover[data-v-a822c320]{bottom:calc(var(--player-bar-mobile-height, 260px) - 1.8rem);width:min(260px,calc(100vw - 1rem))}.player-bar__karaoke-hint-trigger--desktop[data-v-a822c320]{display:none}.player-bar__karaoke-hint[data-v-a822c320]{left:-.35rem;right:auto;max-width:min(13.5rem,calc(100vw - 1rem))}.player-bar__karaoke-hint[data-v-a822c320]:after{left:1rem;right:auto}.player-bar__mobile-volume[data-v-a822c320] .volume-control__button{width:3.1rem;height:2.3rem;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 55%,transparent);box-shadow:none}}@keyframes player-bar-karaoke-glimmer-a822c320{0%{transform:translate(-85%) rotate(8deg)}to{transform:translate(85%) rotate(8deg)}}@keyframes player-bar-spin-a822c320{to{transform:rotate(360deg)}}@keyframes player-bar-bpm-reel-a822c320{0%{filter:blur(.8px);transform:translateY(var(--slot-start-offset))}72%{filter:blur(.35px)}to{filter:blur(0);transform:translateY(var(--slot-rolling-offset))}}.qr-code-svg[data-v-105b5464]{display:inline-flex;padding:.85rem;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #11111114}.qr-code-svg[data-v-105b5464] svg{display:block;width:min(100%,12rem);height:auto}.remote-discovery[data-v-feea62be]{--remote-discovery-closed-width: 3.28rem;--remote-discovery-open-width: 15.75rem;position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:calc(72px + 1rem + env(safe-area-inset-bottom));z-index:190;width:min(var(--remote-discovery-open-width),calc(100vw - 2rem));max-width:var(--remote-discovery-closed-width);display:grid;grid-template-columns:auto minmax(0,0fr);align-items:center;justify-content:center;gap:0;padding:.58rem .68rem;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 92%,transparent),color-mix(in srgb,var(--surface) 94%,transparent));box-shadow:0 10px 24px #0000001f,var(--shadow);color:inherit;cursor:pointer;overflow:hidden;text-align:left;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform-origin:right center;transition:border-color .22s ease,box-shadow .22s ease,transform .36s cubic-bezier(.16,1,.3,1),max-width .92s cubic-bezier(.34,0,.18,1),grid-template-columns .92s cubic-bezier(.34,0,.18,1),gap .36s ease}.remote-discovery[data-v-feea62be]:hover,.remote-discovery[data-v-feea62be]:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));box-shadow:0 14px 32px #00000029,var(--shadow);transform:translateY(-2px)}.remote-discovery[data-v-feea62be]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:3px}.remote-discovery--animate[data-v-feea62be]{animation:remote-discovery-arrive-feea62be 1.8s cubic-bezier(.2,.85,.2,1) both}.remote-discovery__phone[data-v-feea62be]{position:relative;width:1.78rem;height:2.5rem;display:grid;place-items:center;border:2px solid var(--accent-dark);border-radius:.58rem;background:color-mix(in srgb,var(--accent) 13%,var(--surface-strong));box-shadow:inset 0 -.34rem color-mix(in srgb,var(--accent) 12%,transparent);flex-shrink:0;transition:background .26s ease,box-shadow .26s ease,transform .48s cubic-bezier(.16,1,.3,1)}.remote-discovery__phone[data-v-feea62be]:before{content:"";position:absolute;top:.28rem;width:.52rem;height:.14rem;border-radius:999px;background:var(--accent-dark)}.remote-discovery__copy[data-v-feea62be]{min-width:0;display:grid;gap:.08rem;overflow:hidden;opacity:0;transform:translate(.4rem);white-space:nowrap;transition:opacity .32s ease,transform .52s cubic-bezier(.16,1,.3,1)}.remote-discovery__eyebrow[data-v-feea62be],.remote-discovery-dialog__eyebrow[data-v-feea62be],.remote-discovery-dialog__label[data-v-feea62be]{color:var(--accent-dark);font-size:.64rem;font-weight:900;letter-spacing:.12em;line-height:1.15;text-transform:uppercase}.remote-discovery__title[data-v-feea62be]{overflow:hidden;color:inherit;font-size:.86rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.remote-discovery-dialog-backdrop[data-v-feea62be]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:1rem;background:#05080cad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.remote-discovery-dialog[data-v-feea62be]{position:relative;width:min(100%,32rem);display:grid;gap:1rem;padding:1.25rem;border:1px solid rgb(255 255 255 / .08);border-radius:26px;background:linear-gradient(180deg,rgb(255 255 255 / .05),transparent),var(--entry-background);box-shadow:0 30px 80px #00000059,inset 0 1px #ffffff14}.remote-discovery-dialog__close[data-v-feea62be]{position:absolute;top:.85rem;right:.85rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text-muted);cursor:pointer}.remote-discovery-dialog__close svg[data-v-feea62be]{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.remote-discovery-dialog__copy[data-v-feea62be]{display:grid;gap:.7rem;padding-right:2.2rem}.remote-discovery-dialog__eyebrow[data-v-feea62be],.remote-discovery-dialog__body[data-v-feea62be],.remote-discovery-dialog__status[data-v-feea62be]{margin:0}.remote-discovery-dialog__title[data-v-feea62be]{margin:0;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.2}.remote-discovery-dialog__body[data-v-feea62be],.remote-discovery-dialog__status[data-v-feea62be]{color:var(--text-muted);line-height:1.55}.remote-discovery-dialog__qr-panel[data-v-feea62be],.remote-discovery-dialog__code-card[data-v-feea62be]{display:grid;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface-strong) 82%,transparent)}.remote-discovery-dialog__qr-panel[data-v-feea62be]{place-items:center;min-height:16.25rem;padding:1rem}.remote-discovery-dialog__qr-panel[data-v-feea62be] .qr-code-svg{border-radius:16px}.remote-discovery-dialog__qr-panel[data-v-feea62be] .qr-code-svg svg{width:min(100%,13.375rem)}.remote-discovery-dialog__qr-skeleton[data-v-feea62be]{width:13.375rem;max-width:100%;aspect-ratio:1;border-radius:16px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 84%,transparent),color-mix(in srgb,var(--accent) 15%,var(--surface-strong)),color-mix(in srgb,var(--surface) 84%,transparent));background-size:240% 100%;animation:remote-discovery-loading-feea62be 1.35s ease-in-out infinite}.remote-discovery-dialog__code-card[data-v-feea62be]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.85rem .9rem .85rem 1rem}.remote-discovery-dialog__code-copy[data-v-feea62be]{min-width:0;display:grid;justify-items:start;gap:.35rem}.remote-discovery-dialog__copy-button[data-v-feea62be]{flex-shrink:0;white-space:nowrap}.remote-discovery-dialog__code[data-v-feea62be]{color:inherit;font-size:clamp(1.8rem,7vw,2.55rem);letter-spacing:.18em;line-height:1}.remote-discovery-dialog__status--error[data-v-feea62be]{color:var(--accent);font-weight:700}.remote-discovery-dialog__actions[data-v-feea62be]{display:flex;justify-content:flex-end;gap:.75rem}.remote-discovery-dialog-enter-active[data-v-feea62be],.remote-discovery-dialog-leave-active[data-v-feea62be]{transition:opacity .16s ease}.remote-discovery-dialog-enter-active .remote-discovery-dialog[data-v-feea62be],.remote-discovery-dialog-leave-active .remote-discovery-dialog[data-v-feea62be]{transition:transform .16s ease,opacity .16s ease}.remote-discovery-dialog-enter-from[data-v-feea62be],.remote-discovery-dialog-leave-to[data-v-feea62be]{opacity:0}.remote-discovery-dialog-enter-from .remote-discovery-dialog[data-v-feea62be],.remote-discovery-dialog-leave-to .remote-discovery-dialog[data-v-feea62be]{opacity:0;transform:translateY(.45rem) scale(.98)}@keyframes remote-discovery-arrive-feea62be{0%{opacity:0;transform:translateY(1rem) scale(.96)}38%{opacity:1;transform:translateY(-.18rem) scale(1.02)}64%{transform:translateY(0) scale(1);box-shadow:0 18px 48px #0003,0 0 0 6px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes remote-discovery-loading-feea62be{0%{background-position:120% 0}to{background-position:-120% 0}}@media(max-width:720px){.remote-discovery[data-v-feea62be]{--remote-discovery-closed-width: 3.08rem;right:max(.85rem,env(safe-area-inset-right));bottom:calc(var( --player-bar-current-height, calc( var(--player-bar-mobile-height, 72px) + env(safe-area-inset-bottom) ) ) + .35rem);padding:.54rem .62rem}.remote-discovery__phone[data-v-feea62be]{width:1.65rem;height:2.32rem}.remote-discovery__title[data-v-feea62be]{font-size:.82rem}.remote-discovery-dialog[data-v-feea62be]{max-height:calc(100dvh - 2rem);overflow:auto;padding:1.1rem}.remote-discovery-dialog__actions[data-v-feea62be]{flex-direction:column-reverse}.remote-discovery-dialog__code-card[data-v-feea62be]{grid-template-columns:minmax(0,1fr)}.remote-discovery-dialog__copy-button[data-v-feea62be]{width:100%}.remote-discovery-dialog__actions[data-v-feea62be]>*{width:100%}}@media(min-width:721px)and (hover:hover)and (pointer:fine){.remote-discovery[data-v-feea62be]:hover,.remote-discovery[data-v-feea62be]:focus-visible{max-width:min(var(--remote-discovery-open-width),calc(100vw - 2rem));grid-template-columns:auto minmax(0,1fr);justify-content:start;gap:.62rem}.remote-discovery:hover .remote-discovery__phone[data-v-feea62be],.remote-discovery:focus-visible .remote-discovery__phone[data-v-feea62be]{background:color-mix(in srgb,var(--accent) 19%,var(--surface-strong));box-shadow:inset 0 -.34rem color-mix(in srgb,var(--accent) 18%,transparent),0 0 0 .22rem color-mix(in srgb,var(--accent) 10%,transparent);transform:translate(-.04rem) rotate(-2deg) scale(1.03)}.remote-discovery:hover .remote-discovery__copy[data-v-feea62be],.remote-discovery:focus-visible .remote-discovery__copy[data-v-feea62be]{opacity:1;transform:translate(0);transition-delay:.18s}}@media(prefers-reduced-motion:reduce){.remote-discovery[data-v-feea62be],.remote-discovery--animate[data-v-feea62be],.remote-discovery-dialog-enter-active[data-v-feea62be],.remote-discovery-dialog-leave-active[data-v-feea62be],.remote-discovery-dialog-enter-active .remote-discovery-dialog[data-v-feea62be],.remote-discovery-dialog-leave-active .remote-discovery-dialog[data-v-feea62be]{animation:none;transition:none}}.streak-badge[data-v-4fb2475f]{padding:1rem 0 0;border-top:1px solid var(--border)}.streak-badge__text[data-v-4fb2475f]{margin:0;color:var(--accent-dark);font-size:.95rem;font-weight:800}.streak-badge__icon[data-v-4fb2475f]{margin-right:.35rem}.streak-badge__hint[data-v-4fb2475f]{margin-left:.35rem;color:var(--text-muted);font-weight:600}.streak-badge--muted .streak-badge__text[data-v-4fb2475f]{color:var(--text-muted)}.mobile-menu-toggle[data-v-a934a1d2]{display:none;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:inherit;border-radius:999px;width:2.5rem;height:2.5rem;font-size:1.1rem;cursor:pointer;flex-shrink:0}.mobile-theme-btn[data-v-a934a1d2],.mobile-auth-btn[data-v-a934a1d2]{display:none;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:inherit;border-radius:999px;height:2.5rem;padding:0 .78rem;font-size:.88rem;font-weight:700;cursor:pointer;flex-shrink:0;white-space:nowrap;text-decoration:none}.mobile-auth-btn--signin[data-v-a934a1d2]{background:var(--accent);border-color:transparent;color:#fff}.mobile-theme-btn.top-navbar__desktop-action[data-v-a934a1d2]{display:inline-flex;width:2.35rem;height:2.35rem;padding:0;font-size:1rem}.top-navbar__links[data-v-a934a1d2]{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.top-navbar__link[data-v-a934a1d2]{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.35rem;padding:.45rem .78rem;border:1px solid transparent;border-radius:999px;color:var(--text-muted);font-weight:800;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.top-navbar__link-icon[data-v-a934a1d2]{width:1.1rem;height:1.1rem;flex-shrink:0}.top-navbar__link[data-v-a934a1d2]:hover,.top-navbar__link.router-link-exact-active[data-v-a934a1d2]{background:var(--theme-toggle-background);border-color:var(--theme-toggle-border);color:var(--accent-dark)}.top-navbar__kofi[data-v-a934a1d2]{box-shadow:none}.mobile-nav__kofi[data-v-a934a1d2]{justify-self:stretch}@media(max-width:820px){.mobile-menu-toggle[data-v-a934a1d2],.mobile-theme-btn[data-v-a934a1d2],.mobile-auth-btn[data-v-a934a1d2]{display:inline-flex}.top-navbar__desktop-action[data-v-a934a1d2]{display:none!important}.top-navbar__path[data-v-a934a1d2],.top-navbar__links[data-v-a934a1d2]{display:none}}.app-shell--immersive[data-v-a934a1d2]{width:min(100%,44rem);min-height:100dvh;padding:0}.app-shell--full-viewport[data-v-a934a1d2]{width:100%;max-width:none;min-height:0;margin:0}.app-shell--landing[data-v-a934a1d2]{width:min(1180px,calc(100% - 2rem));padding-top:.85rem;padding-bottom:1.25rem}.app-shell--landing .top-navbar[data-v-a934a1d2]{top:.75rem;margin-bottom:0;padding:.7rem .85rem .7rem 1rem;border-radius:24px;box-shadow:0 14px 32px #33291814}.app-shell--landing .brand[data-v-a934a1d2]{font-size:1.45rem;letter-spacing:0}.app-shell--landing .top-navbar__brand[data-v-a934a1d2],.app-shell--landing .top-navbar__actions[data-v-a934a1d2]{gap:.65rem}.app-shell--landing .theme-toggle[data-v-a934a1d2],.app-shell--landing .signin-link[data-v-a934a1d2],.app-shell--landing .signout-btn[data-v-a934a1d2],.app-shell--landing .top-navbar__link[data-v-a934a1d2]{min-height:2.35rem;padding:.45rem .78rem;box-shadow:none}.app-shell--landing .theme-toggle__state[data-v-a934a1d2]{min-width:2.9rem;padding:.2rem .48rem}.app-shell--landing .mobile-menu-toggle[data-v-a934a1d2],.app-shell--landing .mobile-theme-btn[data-v-a934a1d2]{width:2.35rem;height:2.35rem;padding:0}.app-shell--landing .mobile-auth-btn[data-v-a934a1d2]{height:2.35rem;padding:0 .7rem;font-size:.8rem}@media(min-width:821px){.app-shell--landing[data-v-a934a1d2]{padding-top:1.25rem}.app-shell--landing .top-navbar[data-v-a934a1d2]{top:1rem;width:min(1440px,calc(100vw - 2rem));max-width:none;margin-bottom:1.25rem;margin-left:50%;box-shadow:var(--shadow);transform:translate(-50%)}.app-shell--landing .brand[data-v-a934a1d2]{font-size:clamp(1.2rem,3vw,1.65rem);letter-spacing:.02em}.app-shell--landing .top-navbar__brand[data-v-a934a1d2],.app-shell--landing .top-navbar__actions[data-v-a934a1d2]{gap:1rem}}.app-layout--single-column[data-v-a934a1d2]{grid-template-columns:minmax(0,1fr);min-height:100%}.app-sidebar__streak[data-v-a934a1d2],.mobile-nav__streak[data-v-a934a1d2]{padding:0 .9rem}@media(max-width:820px){.app-shell--landing .top-navbar[data-v-a934a1d2]{gap:.45rem;padding:.52rem .55rem .52rem .8rem;border-radius:22px}.app-shell--landing .brand[data-v-a934a1d2]{font-size:1.28rem}.app-shell--landing .top-navbar__actions[data-v-a934a1d2]{gap:.35rem}}@media(max-width:600px){.app-shell--landing[data-v-a934a1d2]{width:calc(100% - .75rem);padding-top:.5rem}.app-shell--landing .top-navbar[data-v-a934a1d2]{top:.4rem}}.notation-thumbnail[data-v-05cf4f4e]{display:flex;align-items:center;overflow:hidden;pointer-events:none;height:7.5rem;min-height:3rem;margin:.5rem -.2rem 0}.notation-thumbnail__score[data-v-05cf4f4e]{display:flex;align-items:center;width:100%;height:100%;min-height:3rem}.notation-thumbnail__score[data-v-05cf4f4e] svg{display:block;width:100%;height:100%}:root[data-theme=dark] .notation-thumbnail__score[data-v-05cf4f4e] svg{filter:invert(1)}.notation-thumbnail__loading[data-v-05cf4f4e]{color:var(--text-muted);font-size:.75rem;margin:0;padding:.5rem 0}.basics-entry-grid[data-v-bf8d7cac]{align-items:stretch}.basics-entry-card__badges[data-v-bf8d7cac]{margin-top:1rem}.basics-entry-card__instruments[data-v-bf8d7cac]{color:var(--text-muted);font-size:.9rem;line-height:1.45;margin:0 0 1rem}.xml-preview-tools[data-v-43146612]{display:grid;gap:.85rem;margin-top:1rem}.xml-preview-tools__download[data-v-43146612]{justify-self:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:inherit;border-radius:999px;width:2.5rem;height:2.5rem;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.xml-preview-tools__download[data-v-43146612]:hover{background:var(--surface)}.xml-preview-tools__download svg[data-v-43146612]{width:1.1rem;height:1.1rem}.xml-preview[data-v-43146612]{margin:0}.xml-preview summary[data-v-43146612]{cursor:pointer}.xml-preview pre[data-v-43146612]{margin:.85rem 0 0;padding:1rem;border-radius:1rem;border:1px solid var(--border);background:var(--surface-strong);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.confirm-dialog-backdrop[data-v-af05c622]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at top,rgb(217 93 57 / .2),transparent 36%),#05080cad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.confirm-dialog[data-v-af05c622]{position:relative;width:min(100%,30rem);display:flex;flex-direction:column;gap:.9rem;padding:1.4rem;border:1px solid rgb(255 255 255 / .08);border-radius:26px;background:linear-gradient(180deg,rgb(255 255 255 / .05),transparent),var(--entry-background);box-shadow:0 30px 80px #00000059,inset 0 1px #ffffff14}.confirm-dialog__close[data-v-af05c622]{position:absolute;top:.9rem;right:.9rem;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text-muted);cursor:pointer}.confirm-dialog__close[data-v-af05c622]:disabled{cursor:not-allowed;opacity:.5}.confirm-dialog__eyebrow[data-v-af05c622]{margin:0;padding-right:2.4rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.confirm-dialog__title[data-v-af05c622]{margin:0;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.2}.confirm-dialog__body[data-v-af05c622]{margin:0;color:var(--text-muted);line-height:1.6}.confirm-dialog__error[data-v-af05c622]{margin:0;color:var(--accent);line-height:1.5;font-size:.92rem}.confirm-dialog__actions[data-v-af05c622]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.35rem}.confirm-dialog__confirm[data-v-af05c622]{min-width:7.5rem}.confirm-dialog__confirm--destructive[data-v-af05c622]{background:#c0392b;border-color:#a93324;color:#fff}.confirm-dialog__confirm--destructive[data-v-af05c622]:hover:not(:disabled){background:#a93324;border-color:#8e2a1d}@media(max-width:640px){.confirm-dialog[data-v-af05c622]{padding:1.15rem}.confirm-dialog__actions[data-v-af05c622]{flex-direction:column-reverse}.confirm-dialog__actions[data-v-af05c622]>*{width:100%}}.favorite-button[data-v-75846144]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--input-border);border-radius:999px;background:var(--input-background);color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,transform .15s ease}@media(hover:hover)and (pointer:fine){.favorite-button[data-v-75846144]:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--input-border));color:var(--accent);transform:translateY(-1px)}}.favorite-button[data-v-75846144]:disabled{opacity:.6;cursor:wait}.favorite-button.is-active[data-v-75846144]{border-color:color-mix(in srgb,var(--accent) 60%,var(--input-border));background:color-mix(in srgb,var(--accent) 12%,var(--input-background));color:var(--accent)}.favorite-button svg[data-v-75846144]{width:1.1rem;height:1.1rem;fill:currentColor}.pattern-card__header-slot[data-v-7d35a81a]{display:inline-flex;align-items:center;min-height:2.25rem}.pattern-card__header-slot--controls[data-v-7d35a81a]{gap:.5rem}.pattern-card__header-slot--end[data-v-7d35a81a]{justify-content:flex-end}.pattern-card__new-badge[data-v-7d35a81a]{position:absolute;top:1.2rem;right:1.2rem;display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:0 .75rem;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--input-border));border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--input-background));color:var(--accent-dark);font-size:.72rem;font-weight:800;letter-spacing:.05em;line-height:1;text-transform:uppercase}.pattern-card__info-button[data-v-7d35a81a]{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--input-border);border-radius:999px;background:var(--input-background);color:var(--text-muted);font-size:.85rem;font-weight:700;line-height:1;cursor:help}.pattern-filters.pattern-filters label[data-v-b40ea087]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,8rem);align-items:center;gap:.5rem;min-width:0}.pattern-filters.pattern-filters label span[data-v-b40ea087]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-filters.pattern-filters select[data-v-b40ea087]{width:100%;min-width:0;max-width:100%}@media(max-width:820px){.pattern-filters.pattern-filters label[data-v-b40ea087]{grid-template-columns:1fr}}.pattern-list-mode-toggle[data-v-d897bef6]{display:inline-flex;align-self:flex-start;gap:.25rem;padding:.25rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pattern-list-mode-toggle__button[data-v-d897bef6]{min-height:2.25rem;padding:.45rem .85rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:700;letter-spacing:0}.pattern-list-mode-toggle__button--active[data-v-d897bef6]{background:var(--surface-strong);border-color:var(--border);color:inherit;box-shadow:var(--shadow)}.pattern-list-mode-toggle__button[data-v-d897bef6]:hover:not(.pattern-list-mode-toggle__button--active){color:inherit}.fills-view__layout[data-v-efaf15e5]{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.25rem;align-items:start}.fills-view__main[data-v-efaf15e5]{min-width:0;order:-1}.fills-view__header[data-v-efaf15e5]{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.75rem}.fills-view__header .lead[data-v-efaf15e5]{margin:0}.fills-view__filters[data-v-efaf15e5]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.5rem;margin-bottom:0;padding:.75rem;position:sticky;top:1rem}.fills-view__filters[data-v-efaf15e5] label{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.fills-view__filters[data-v-efaf15e5] label span{font-size:.8rem;white-space:nowrap}.fills-view__filters[data-v-efaf15e5] label select{padding:.35rem .5rem;font-size:.85rem;border-radius:10px}.fills-view__filters[data-v-efaf15e5] .pattern-filters__chips{flex:unset;gap:.4rem}.fills-view__filters[data-v-efaf15e5] .pattern-filters__chip{padding:.3rem .6rem;font-size:.78rem;border-radius:999px}.fills-view__filters[data-v-efaf15e5] .pattern-filters__label{font-size:.78rem}.fills-view__filters[data-v-efaf15e5] .pattern-filters__actions{margin-left:0;width:100%}.fills-view__filters[data-v-efaf15e5] .pattern-filters__actions button{width:100%;padding:.4rem .75rem;font-size:.85rem}.fills-view__state[data-v-efaf15e5]{color:var(--text-muted)}.fills-view__state--error[data-v-efaf15e5]{color:var(--accent)}@media(max-width:820px){.fills-view__layout[data-v-efaf15e5]{grid-template-columns:1fr}.fills-view__main[data-v-efaf15e5]{order:0}.fills-view__filters[data-v-efaf15e5]{position:static}}.grooves-view__layout[data-v-6dcc91b5]{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.25rem;align-items:start}.grooves-view__main[data-v-6dcc91b5]{min-width:0;order:-1}.grooves-view__header[data-v-6dcc91b5]{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.75rem}.grooves-view__header .lead[data-v-6dcc91b5]{margin:0}.grooves-view__filters[data-v-6dcc91b5]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.5rem;margin-bottom:0;padding:.75rem;position:sticky;top:1rem}.grooves-view__filters[data-v-6dcc91b5] label{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.grooves-view__filters[data-v-6dcc91b5] label span{font-size:.8rem;white-space:nowrap}.grooves-view__filters[data-v-6dcc91b5] label select{padding:.35rem .5rem;font-size:.85rem;border-radius:10px}.grooves-view__filters[data-v-6dcc91b5] .pattern-filters__chips{flex:unset;gap:.4rem}.grooves-view__filters[data-v-6dcc91b5] .pattern-filters__chip{padding:.3rem .6rem;font-size:.78rem;border-radius:999px}.grooves-view__filters[data-v-6dcc91b5] .pattern-filters__label{font-size:.78rem}.grooves-view__filters[data-v-6dcc91b5] .pattern-filters__actions{margin-left:0;width:100%}.grooves-view__filters[data-v-6dcc91b5] .pattern-filters__actions button{width:100%;padding:.4rem .75rem;font-size:.85rem}.grooves-view__state[data-v-6dcc91b5]{color:var(--text-muted)}.grooves-view__state--error[data-v-6dcc91b5]{color:var(--accent)}@media(max-width:820px){.grooves-view__layout[data-v-6dcc91b5]{grid-template-columns:1fr}.grooves-view__main[data-v-6dcc91b5]{order:0}.grooves-view__filters[data-v-6dcc91b5]{position:static}}.song-card[data-v-a66e8e85]{display:flex;align-items:center;gap:.85rem;padding:.55rem;border:1px solid var(--entry-border);border-radius:22px;background:var(--entry-background);box-shadow:var(--entry-shadow);transition:background-color .15s,border-color .15s}.song-card[data-v-a66e8e85]:hover{border-color:var(--entry-border-hover);background:var(--entry-background-hover);box-shadow:var(--entry-shadow)}.song-card__link[data-v-a66e8e85]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;min-width:0;padding:.8rem .95rem;border-radius:16px;text-decoration:none;color:inherit;transition:background-color .15s}.song-card__link[data-v-a66e8e85]:hover{background:color-mix(in srgb,var(--surface-strong) 42%,transparent)}.song-card__main[data-v-a66e8e85]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.95rem;min-width:0}.song-card__source-logo[data-v-a66e8e85]{display:inline-grid;place-items:center;width:3.65rem;height:2.7rem;flex-shrink:0}.song-card__source-logo-img[data-v-a66e8e85]{display:block;max-width:100%;max-height:100%;object-fit:contain}.song-card__source-logo-img--youtube[data-v-a66e8e85]{width:3.05rem}.song-card__source-logo-img--mp3[data-v-a66e8e85]{height:2.25rem}.song-card__body[data-v-a66e8e85]{display:flex;flex-direction:column;gap:.24rem;min-width:0}.song-card__title[data-v-a66e8e85]{font-size:1rem;font-weight:800;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card__private[data-v-a66e8e85]{display:inline-block;padding:.1rem .45rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;vertical-align:middle}.song-card__review[data-v-a66e8e85]{display:inline-block;padding:.1rem .45rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-dark);background:var(--surface-strong);border:1px solid var(--accent);border-radius:999px;vertical-align:middle}.song-card__artist[data-v-a66e8e85]{font-size:.875rem;color:var(--text-muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card__badges[data-v-a66e8e85]{font-size:.75rem;color:var(--text-muted);margin:0;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.song-card__duration[data-v-a66e8e85]{font-size:.875rem;color:var(--text-muted);margin:0;white-space:nowrap}.song-card__actions[data-v-a66e8e85]{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto}.song-card__favorite[data-v-a66e8e85]{flex:0 0 auto}@media(max-width:640px){.song-card[data-v-a66e8e85]{align-items:stretch;flex-direction:column;gap:.45rem;position:relative}.song-card__link[data-v-a66e8e85]{padding:.85rem .9rem}.song-card__main[data-v-a66e8e85]{grid-template-columns:minmax(0,1fr);align-items:start;gap:.45rem}.song-card__source-logo[data-v-a66e8e85]{justify-content:start;width:2.6rem;height:1.75rem}.song-card__source-logo-img--youtube[data-v-a66e8e85]{width:2.35rem}.song-card__source-logo-img--mp3[data-v-a66e8e85]{height:1.55rem}.song-card__title[data-v-a66e8e85]{overflow:hidden;white-space:normal;text-overflow:clip}.song-card__artist[data-v-a66e8e85]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.song-card__actions[data-v-a66e8e85]{align-self:stretch;flex-wrap:wrap;justify-content:flex-end;padding:0 .25rem .15rem}.song-card__favorite[data-v-a66e8e85]{position:absolute;top:.85rem;right:.85rem;z-index:1}}.library-overview__intro[data-v-ff139f63]{margin-bottom:1rem}.library-overview[data-v-ff139f63]{display:grid;gap:2rem}.library-overview__section[data-v-ff139f63]{display:grid;gap:.9rem}.library-overview__section h2[data-v-ff139f63]{margin:0;font-size:clamp(1.35rem,2vw,1.85rem)}.library-overview__title-link[data-v-ff139f63]{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 24%,transparent);text-decoration-thickness:.08em;text-underline-offset:.2em}.library-overview__title-link[data-v-ff139f63]:hover{color:var(--accent-dark)}.library-overview__pattern-grid[data-v-ff139f63]{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.library-overview__song-list[data-v-ff139f63]{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.library-overview__empty[data-v-ff139f63]{display:grid;justify-items:start;gap:.35rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.library-overview__empty p[data-v-ff139f63]{margin:0;color:var(--text-muted)}.library-overview__empty-link[data-v-ff139f63],.library-overview__section-link[data-v-ff139f63]{color:var(--accent-dark);font-weight:800;text-decoration:none}.library-overview__section-link[data-v-ff139f63]{justify-self:start}.library-overview__empty-link[data-v-ff139f63]:hover,.library-overview__section-link[data-v-ff139f63]:hover{text-decoration:underline;text-underline-offset:.18em}@media(max-width:640px){.library-overview[data-v-ff139f63]{gap:1.5rem}}.ai-chat[data-v-716d7bae]{display:grid;grid-template-columns:1fr}.ai-chat__conversation[data-v-716d7bae]{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.ai-chat__toolbar[data-v-716d7bae]{display:flex;justify-content:flex-end;padding:.4rem .75rem;border-bottom:1px solid var(--border)}.ai-chat__toolbar-btn[data-v-716d7bae]{background:none;border:1px solid var(--border);border-radius:8px;padding:.25rem .65rem;font-size:.78rem;color:var(--text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.ai-chat__toolbar-btn[data-v-716d7bae]:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.ai-chat__toolbar-btn[data-v-716d7bae]:disabled{opacity:.4;cursor:not-allowed}.ai-chat__history[data-v-716d7bae]{min-height:200px;max-height:340px;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.ai-chat__empty[data-v-716d7bae]{color:var(--text-muted);padding:.5rem 0}.ai-chat__empty p[data-v-716d7bae]{margin:0 0 .5rem}.ai-chat__hint[data-v-716d7bae]{font-size:.9rem}.ai-chat__message[data-v-716d7bae]{max-width:88%;border-radius:16px;padding:.65rem .9rem;line-height:1.5}.ai-chat__message--user[data-v-716d7bae]{align-self:flex-end;background:var(--accent);color:#fff}.ai-chat__message--assistant[data-v-716d7bae]{align-self:flex-start;background:var(--subtle-surface)}.ai-chat__message-text[data-v-716d7bae]{margin:0;white-space:pre-wrap;word-break:break-word}.ai-chat__message-text--thinking[data-v-716d7bae]{color:var(--text-muted);font-style:italic}.ai-chat__image-preview[data-v-716d7bae]{margin-bottom:.5rem}.ai-chat__image-preview img[data-v-716d7bae]{max-width:200px;max-height:160px;border-radius:10px;object-fit:cover;display:block}.ai-chat__pattern-card[data-v-716d7bae]{border-top:1px solid var(--border);display:flex;flex-direction:column}.ai-chat__pattern-header[data-v-716d7bae]{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem}.ai-chat__pattern-reset[data-v-716d7bae]{padding:.25rem .65rem;font-size:.8rem}.ai-chat__save-bar[data-v-716d7bae]{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-top:1px solid var(--border);flex-wrap:wrap}.ai-chat__save-title[data-v-716d7bae]{flex:1 1 160px;min-width:120px}.ai-chat__input-area[data-v-716d7bae]{border-top:1px solid var(--border);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.5rem}.ai-chat__attached-image[data-v-716d7bae]{position:relative;display:inline-block;align-self:flex-start}.ai-chat__attached-image img[data-v-716d7bae]{display:block;max-width:80px;max-height:64px;border-radius:8px;object-fit:cover}.ai-chat__remove-image[data-v-716d7bae]{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--text);color:var(--surface);border:none;font-size:.65rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.ai-chat__input-row[data-v-716d7bae]{display:flex;gap:.5rem;align-items:flex-end}.ai-chat__textarea[data-v-716d7bae]{flex:1;min-width:0;resize:none;padding:.65rem .8rem;border-radius:14px;border:1px solid var(--input-border);background:var(--input-background);color:inherit;font:inherit;line-height:1.5}.ai-chat__textarea[data-v-716d7bae]:focus{outline:2px solid var(--accent);outline-offset:1px}.ai-chat__file-input[data-v-716d7bae]{display:none}.ai-chat__input-actions[data-v-716d7bae]{display:flex;flex-direction:column;gap:.4rem;flex-shrink:0}.ai-chat__icon-btn[data-v-716d7bae]{background:var(--subtle-surface);border:1px solid var(--border);border-radius:10px;padding:.45rem .55rem;font-size:1rem;line-height:1;transition:transform .12s ease}.ai-chat__icon-btn[data-v-716d7bae]:hover:not(:disabled){transform:translateY(-1px)}.ai-chat__icon-btn[data-v-716d7bae]:disabled,.ai-chat__send-btn[data-v-716d7bae]:disabled{opacity:.45;cursor:not-allowed}.ai-chat__send-btn[data-v-716d7bae]{padding:.45rem .9rem;font-weight:700;white-space:nowrap}.manage-form__success[data-v-716d7bae]{color:#2a7a56;font-weight:600}.manage-card[data-v-a98fe86d]{display:grid;gap:1rem;margin-bottom:1.5rem;padding:1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.manage-card__tabs[data-v-a98fe86d]{display:flex;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.manage-card__tab[data-v-a98fe86d]{padding:.45rem 1rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-weight:600;font-size:.9rem;transition:background-color .12s ease,color .12s ease}.manage-card__tab[data-v-a98fe86d]:hover:not(.manage-card__tab--active){background:var(--subtle-surface);color:inherit}.manage-card__tab--active[data-v-a98fe86d]{background:var(--accent);border-color:var(--accent);color:#fff}.manage-card__header[data-v-a98fe86d]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.manage-card__header--nested[data-v-a98fe86d]{align-items:center}.manage-preview[data-v-a98fe86d]{display:grid;gap:.9rem;padding-top:.4rem;border-top:1px solid var(--border)}.manage-preview__header[data-v-a98fe86d]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.manage-preview__reset[data-v-a98fe86d]{padding:.25rem .65rem;font-size:.8rem}.manage-preview__loading[data-v-a98fe86d]{padding:1rem 0;color:var(--text-muted)}.manage-preview__summary[data-v-a98fe86d]{margin:0;color:var(--text-muted);font-size:.92rem}.manage-preview__features[data-v-a98fe86d]{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong)}.manage-preview__features-title[data-v-a98fe86d]{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.manage-preview__feature-grid[data-v-a98fe86d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:0}.manage-preview__feature-item[data-v-a98fe86d]{display:grid;gap:.2rem}.manage-preview__feature-item dt[data-v-a98fe86d]{font-size:.8rem;color:var(--text-muted)}.manage-preview__feature-item dd[data-v-a98fe86d]{margin:0;font-weight:600;word-break:break-word}.manage-card__header h2[data-v-a98fe86d],.manage-card__header h3[data-v-a98fe86d],.imported-list__item h3[data-v-a98fe86d]{margin:.2rem 0 0}.manage-card__divider[data-v-a98fe86d]{height:1px;background:var(--border)}.manage-form[data-v-a98fe86d]{display:grid;gap:1rem}.manage-form__theme-toggle[data-v-a98fe86d]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:var(--text-primary);border-radius:999px;min-height:2.75rem;padding:.55rem .9rem;display:inline-flex;align-items:center;gap:.55rem;font-weight:700;cursor:pointer;flex-shrink:0}.manage-form__theme-toggle-state[data-v-a98fe86d]{color:var(--text-muted);font-size:.88rem}.midi-import-card[data-v-a98fe86d]{display:grid;gap:1rem;padding:1rem;border:1px dashed rgba(148,163,184,.45);border-radius:1rem;background:#0f172a47;margin-bottom:1rem}.midi-import-card h3[data-v-a98fe86d]{margin:.35rem 0 .5rem}.midi-import-card p[data-v-a98fe86d]{margin:0;color:#e2e8f0c7}.midi-import-card code[data-v-a98fe86d]{font-size:.92em}.manage-form__row[data-v-a98fe86d]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.manage-form__row--compact[data-v-a98fe86d]{align-items:start}.manage-form__field[data-v-a98fe86d]{display:grid;gap:.45rem}.manage-form__field small[data-v-a98fe86d],.imported-list__description[data-v-a98fe86d]{color:var(--text-muted)}.manage-form__input[data-v-a98fe86d]{width:100%;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--input-border);background:var(--input-background);color:inherit}.manage-form__textarea[data-v-a98fe86d]{resize:vertical}.manage-form__textarea--code[data-v-a98fe86d]{min-height:14rem;font-family:SFMono-Regular,SF Mono,Cascadia Code,JetBrains Mono,Fira Code,monospace;font-size:.92rem}.manage-form__actions[data-v-a98fe86d],.imported-list__actions[data-v-a98fe86d]{display:flex;flex-wrap:wrap;gap:.65rem}.manage-form__success[data-v-a98fe86d]{margin:0;color:var(--accent-dark);font-weight:600}.imported-list[data-v-a98fe86d]{display:grid;gap:.9rem}.imported-list__item[data-v-a98fe86d]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem;border-radius:18px;background:var(--subtle-surface)}.empty-state--embedded[data-v-a98fe86d]{margin:0}@media(max-width:720px){.manage-form__theme-toggle[data-v-a98fe86d]{width:100%;justify-content:space-between}.imported-list__item[data-v-a98fe86d]{flex-direction:column}}.similarity-panel[data-v-a98fe86d]{display:grid;gap:.6rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong, var(--surface))}.similarity-panel__header[data-v-a98fe86d]{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.similarity-panel__status[data-v-a98fe86d]{font-size:.8rem;color:var(--text-muted)}.similarity-panel__hint[data-v-a98fe86d]{margin:0;font-size:.85rem;color:var(--text-muted)}.similarity-panel__error[data-v-a98fe86d]{margin:0;font-size:.85rem;color:var(--accent)}.similarity-panel__empty[data-v-a98fe86d]{margin:0;font-size:.85rem;color:var(--text-muted)}.similarity-panel__list[data-v-a98fe86d]{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.similarity-match[data-v-a98fe86d]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--input-background, var(--surface))}.similarity-match--duplicate[data-v-a98fe86d]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.similarity-match--related[data-v-a98fe86d]{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.similarity-match__main[data-v-a98fe86d]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.similarity-match__title[data-v-a98fe86d]{font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.similarity-match__title[data-v-a98fe86d]:hover,.similarity-match__title[data-v-a98fe86d]:focus-visible{color:var(--accent-dark, var(--accent))}.similarity-match__collection[data-v-a98fe86d],.similarity-match__meta[data-v-a98fe86d]{font-size:.78rem;color:var(--text-muted)}.similarity-match__score-block[data-v-a98fe86d]{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.similarity-match__score[data-v-a98fe86d]{font-weight:700;font-variant-numeric:tabular-nums}.similarity-match__tier[data-v-a98fe86d]{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.similarity-match--duplicate .similarity-match__tier[data-v-a98fe86d]{color:var(--accent-dark, var(--accent))}.similarity-panel__footer[data-v-a98fe86d]{display:flex;justify-content:flex-end;gap:.5rem}.button-link[data-v-a98fe86d]{background:transparent;border:none;padding:0;color:var(--accent);font-size:.8rem;cursor:pointer;text-decoration:underline}.add-pattern-view[data-v-0747bb86]{display:grid;gap:1.25rem}.add-pattern-view__header[data-v-0747bb86]{flex-direction:column;align-items:flex-start;gap:.75rem}.add-pattern-view__tabs[data-v-0747bb86]{display:inline-flex;flex-wrap:wrap;gap:.4rem;width:fit-content;padding:.25rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.add-pattern-view__tab[data-v-0747bb86]{min-height:2.35rem;padding:.45rem .85rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);font-weight:800}.add-pattern-view__tab[data-v-0747bb86]:hover{color:inherit;background:var(--surface-strong)}.add-pattern-view__tab--active[data-v-0747bb86]{border-color:var(--accent);background:var(--accent);color:#fff}.add-pattern-view__instructions[data-v-0747bb86],.add-pattern-view__imports[data-v-0747bb86]{display:grid;gap:1rem;padding:1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.add-pattern-view__instructions h2[data-v-0747bb86],.add-pattern-view__imports h2[data-v-0747bb86],.add-pattern-view__item h3[data-v-0747bb86]{margin:.2rem 0 0}.add-pattern-view__instructions ul[data-v-0747bb86]{display:grid;gap:.55rem;margin:0;padding-left:1.1rem;color:var(--text-muted)}.add-pattern-view__templates[data-v-0747bb86],.add-pattern-view__section-heading[data-v-0747bb86],.add-pattern-view__actions[data-v-0747bb86]{display:flex;flex-wrap:wrap;gap:.65rem}.add-pattern-view__section-heading[data-v-0747bb86]{align-items:flex-start;justify-content:space-between}.add-pattern-view__state[data-v-0747bb86]{margin:0;color:var(--text-muted)}.add-pattern-view__list[data-v-0747bb86]{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.add-pattern-view__item[data-v-0747bb86]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong)}.add-pattern-view__item p[data-v-0747bb86]{margin:.35rem 0 0;color:var(--text-muted)}@media(max-width:720px){.add-pattern-view__tabs[data-v-0747bb86]{width:100%}.add-pattern-view__tab[data-v-0747bb86]{flex:1 1 9rem}.add-pattern-view__item[data-v-0747bb86]{flex-direction:column}}.login-page[data-v-4f793af0]{min-height:calc(100dvh - 8rem);display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2.5rem)}.login-card[data-v-4f793af0]{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:2.5rem 2rem;width:100%;max-width:380px}.login-title[data-v-4f793af0]{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.login-subtitle[data-v-4f793af0]{color:var(--text-muted);font-size:.875rem;margin:0 0 2rem}.login-form[data-v-4f793af0]{display:flex;flex-direction:column;gap:1.25rem}.form-field[data-v-4f793af0]{display:flex;flex-direction:column;gap:.375rem}.form-label[data-v-4f793af0]{font-size:.875rem;font-weight:500}.form-input[data-v-4f793af0]{background:var(--input-background);border:1px solid var(--input-border);border-radius:8px;color:inherit;font-family:inherit;font-size:1rem;padding:.625rem .75rem;transition:border-color .15s;width:100%}.form-input[data-v-4f793af0]:focus{border-color:var(--accent);outline:none}.form-input[data-v-4f793af0]:disabled{opacity:.6}.form-error[data-v-4f793af0]{color:var(--accent);font-size:.875rem;margin:0}.login-btn[data-v-4f793af0]{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;margin-top:.25rem;padding:.7rem 1rem;transition:opacity .15s;width:100%}.login-btn[data-v-4f793af0]:hover:not(:disabled){opacity:.88}.login-btn[data-v-4f793af0]:disabled{cursor:not-allowed;opacity:.5}.auth-footer[data-v-4f793af0]{color:var(--text-muted);font-size:.875rem;margin:0;text-align:center}.auth-link[data-v-4f793af0]{color:var(--accent);text-decoration:none}.auth-link[data-v-4f793af0]:hover{text-decoration:underline}.reset-block[data-v-4f793af0]{background:var(--surface-strong);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem}.reset-row[data-v-4f793af0]{display:flex;gap:.5rem}.reset-input[data-v-4f793af0]{flex:1}.reset-btn[data-v-4f793af0]{white-space:nowrap}.reset-success[data-v-4f793af0]{color:var(--text-muted);font-size:.875rem;margin:0}@media(max-width:640px){.reset-row[data-v-4f793af0]{flex-direction:column}.reset-btn[data-v-4f793af0]{width:100%}}.merch-view__header[data-v-858cf6a0]{align-items:flex-start}.merch-view__header .lead[data-v-858cf6a0]{max-width:30rem;margin:0;color:var(--text-muted);font-weight:600}.merch-view__coming-soon[data-v-858cf6a0]{display:grid;gap:.75rem;max-width:720px}.merch-view__coming-soon h2[data-v-858cf6a0],.merch-view__coming-soon p[data-v-858cf6a0]{margin:0}.merch-view__coming-soon p[data-v-858cf6a0]:not(.eyebrow){color:var(--text-muted)}.practice-feedback-dialog-backdrop[data-v-b6c25c95]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;background:radial-gradient(circle at top,rgb(217 93 57 / .2),transparent 36%),#05080cad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.practice-feedback-dialog[data-v-b6c25c95]{position:relative;width:min(100%,30rem);display:flex;flex-direction:column;gap:.95rem;padding:1.4rem;border:1px solid rgb(255 255 255 / .08);border-radius:26px;background:linear-gradient(180deg,rgb(255 255 255 / .05),transparent),var(--entry-background);box-shadow:0 30px 80px #00000059,inset 0 1px #ffffff14}.practice-feedback-dialog__close[data-v-b6c25c95]{position:absolute;top:.9rem;right:.9rem;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text-muted);cursor:pointer}.practice-feedback-dialog__close[data-v-b6c25c95]:disabled{cursor:not-allowed;opacity:.5}.practice-feedback-dialog__eyebrow[data-v-b6c25c95]{margin:0;padding-right:2.4rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.practice-feedback-dialog__title[data-v-b6c25c95]{margin:0;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.2}.practice-feedback-dialog__session[data-v-b6c25c95]{display:flex;flex-direction:column;gap:.2rem;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.practice-feedback-dialog__pattern[data-v-b6c25c95],.practice-feedback-dialog__meta[data-v-b6c25c95],.practice-feedback-dialog__note[data-v-b6c25c95],.practice-feedback-dialog__error[data-v-b6c25c95]{margin:0}.practice-feedback-dialog__pattern[data-v-b6c25c95]{font-weight:800}.practice-feedback-dialog__meta[data-v-b6c25c95]{color:var(--text-muted);font-size:.92rem}.practice-feedback-dialog__note[data-v-b6c25c95]{padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:.92rem;line-height:1.5}.practice-feedback-dialog__options[data-v-b6c25c95]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.practice-feedback-dialog__option[data-v-b6c25c95]{min-height:3rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit;cursor:pointer;font-size:.95rem;font-weight:800;letter-spacing:0}.practice-feedback-dialog__option[data-v-b6c25c95]:hover:not(:disabled),.practice-feedback-dialog__option--selected[data-v-b6c25c95]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.practice-feedback-dialog__option[data-v-b6c25c95]:disabled{cursor:not-allowed;opacity:.65}.practice-feedback-dialog__error[data-v-b6c25c95]{color:var(--accent);line-height:1.5;font-size:.92rem}.practice-feedback-dialog__actions[data-v-b6c25c95]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.2rem}.practice-feedback-dialog__save[data-v-b6c25c95]{min-width:7.5rem}@media(max-width:640px){.practice-feedback-dialog-backdrop[data-v-b6c25c95]{align-items:flex-start;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}.practice-feedback-dialog[data-v-b6c25c95]{padding:1.15rem}.practice-feedback-dialog__options[data-v-b6c25c95]{grid-template-columns:1fr}.practice-feedback-dialog__actions[data-v-b6c25c95]{flex-direction:column-reverse}.practice-feedback-dialog__actions[data-v-b6c25c95]>*{width:100%}}.dropdown-select-field[data-v-189a39da]{position:relative;display:grid;gap:.5rem;width:100%}.dropdown-select-field__label[data-v-189a39da]{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark)}.dropdown-select-field__trigger[data-v-189a39da]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:3.5rem;padding:.85rem 3.1rem .85rem 1rem;border:1px solid var(--input-border);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 78%,transparent),transparent),var(--input-background);color:inherit;box-shadow:inset 0 1px color-mix(in srgb,white 36%,transparent),var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background-color .14s ease}.dropdown-select-field__trigger[data-v-189a39da]:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 28%,var(--input-border))}.dropdown-select-field__trigger[data-v-189a39da]:focus{outline:none}.dropdown-select-field__trigger[data-v-189a39da]:focus-visible,.dropdown-select-field__trigger[aria-expanded=true][data-v-189a39da]{border-color:color-mix(in srgb,var(--accent) 55%,var(--input-border));box-shadow:inset 0 1px color-mix(in srgb,white 42%,transparent),0 0 0 4px #d95d3924,var(--shadow)}html[data-theme=dark] .dropdown-select-field__trigger[data-v-189a39da]{background:var(--input-background);box-shadow:none}html[data-theme=dark] .dropdown-select-field__trigger[data-v-189a39da]:focus-visible,html[data-theme=dark] .dropdown-select-field__trigger[aria-expanded=true][data-v-189a39da]{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.dropdown-select-field__trigger[data-v-189a39da]:disabled{opacity:.62;cursor:not-allowed;transform:none}.dropdown-select-field__trigger-copy[data-v-189a39da]{display:grid;gap:.18rem;min-width:0}.dropdown-select-field__value[data-v-189a39da],.dropdown-select-field__meta[data-v-189a39da],.dropdown-select-field__option-main[data-v-189a39da],.dropdown-select-field__option-meta[data-v-189a39da]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-select-field__value[data-v-189a39da]{font-weight:700}.dropdown-select-field__meta[data-v-189a39da]{color:var(--text-muted);font-size:.88rem}.dropdown-select-field__chevron[data-v-189a39da]{position:relative;width:.85rem;height:.85rem;flex:0 0 auto;transition:transform .14s ease}.dropdown-select-field__chevron.is-open[data-v-189a39da]{transform:rotate(180deg)}.dropdown-select-field__chevron[data-v-189a39da]:before,.dropdown-select-field__chevron[data-v-189a39da]:after{content:"";position:absolute;top:50%;width:.55rem;height:2px;border-radius:999px;background:var(--accent-dark)}.dropdown-select-field__chevron[data-v-189a39da]:before{left:.02rem;transform:translateY(-50%) rotate(45deg)}.dropdown-select-field__chevron[data-v-189a39da]:after{right:.02rem;transform:translateY(-50%) rotate(-45deg)}.dropdown-select-field__menu[data-v-189a39da]{position:absolute;top:calc(100% + .6rem);left:0;right:0;z-index:30;display:grid;gap:.3rem;max-height:min(18rem,calc(100vh - 8rem));padding:.45rem;overflow-y:auto;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 88%,transparent),transparent),var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}html[data-theme=dark] .dropdown-select-field__menu[data-v-189a39da]{background:var(--surface-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.dropdown-select-field__option[data-v-189a39da]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:.8rem .9rem;border:0;border-radius:14px;background:transparent;color:inherit;display:grid;gap:.14rem;text-align:left}.dropdown-select-field__option-copy[data-v-189a39da]{display:grid;gap:.14rem;min-width:0}.dropdown-select-field__option[data-v-189a39da]:hover,.dropdown-select-field__option.is-highlighted[data-v-189a39da]{background:color-mix(in srgb,var(--accent) 10%,var(--surface-strong))}.dropdown-select-field__option[data-v-189a39da]:focus{outline:none;background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong))}.dropdown-select-field__option.is-active[data-v-189a39da]{background:color-mix(in srgb,var(--accent) 16%,var(--surface-strong))}.dropdown-select-field__option-main[data-v-189a39da]{font-weight:700}.dropdown-select-field__option-meta[data-v-189a39da]{color:var(--text-muted);font-size:.88rem}.dropdown-select-field__option[data-v-189a39da] .notation-thumbnail{height:5.75rem;margin:.35rem 0 0}.pattern-toolbar[data-v-f0d5282b]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:1rem}.pattern-toolbar__info-button[data-v-f0d5282b]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--input-border);border-radius:999px;background:var(--input-background);color:var(--text-muted);font-size:.95rem;font-weight:700;line-height:1;cursor:help;transition:border-color .15s ease,color .15s ease,transform .15s ease}.pattern-toolbar__info-button[data-v-f0d5282b]:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--input-border));color:var(--accent);transform:translateY(-1px)}.pattern-toolbar__edit-link[data-v-f0d5282b]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:4rem;height:2.25rem;padding:0 .85rem;border:1px solid var(--input-border);border-radius:999px;background:var(--input-background);color:inherit;font-size:.92rem;font-weight:700;line-height:1;text-decoration:none;transition:border-color .15s ease,color .15s ease,transform .15s ease}.pattern-toolbar__edit-link[data-v-f0d5282b]:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--input-border));color:var(--accent);transform:translateY(-1px)}.pattern-view__not-found[data-v-f0d5282b]{align-items:flex-start;text-align:left}.pattern-view__not-found h1[data-v-f0d5282b]{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.pattern-view__not-found p[data-v-f0d5282b]{max-width:36rem}.pattern-embed-modal[data-v-f0d5282b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:grid;place-items:center;padding:1rem;background:#0000006b}.pattern-embed-panel[data-v-f0d5282b]{display:grid;gap:.85rem;width:min(48rem,100%);max-height:min(90vh,44rem);overflow:auto;padding:1.1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);box-shadow:0 22px 70px #00000047}.pattern-embed-panel__header[data-v-f0d5282b],.pattern-embed-panel__actions[data-v-f0d5282b]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pattern-embed-panel__header h2[data-v-f0d5282b]{margin:.1rem 0 0;font-size:1rem;line-height:1.2}.pattern-embed-panel__close[data-v-f0d5282b]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);color:var(--text-muted);font-weight:800}.pattern-embed-panel__controls[data-v-f0d5282b]{display:grid;grid-template-columns:minmax(8rem,1fr) auto minmax(8rem,1fr) minmax(10rem,1fr) minmax(12rem,1fr);gap:1rem;align-items:start}.pattern-embed-panel__field[data-v-f0d5282b],.pattern-embed-panel__code[data-v-f0d5282b],.pattern-embed-panel__theme[data-v-f0d5282b]{display:grid;gap:.35rem;min-width:0}.pattern-embed-panel__field span[data-v-f0d5282b],.pattern-embed-panel__code span[data-v-f0d5282b],.pattern-embed-panel__theme legend[data-v-f0d5282b]{color:var(--text-muted);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pattern-embed-panel__field input[type=number][data-v-f0d5282b],.pattern-embed-panel__code textarea[data-v-f0d5282b]{width:100%;border:1px solid var(--input-border);border-radius:8px;background:var(--input-background);color:inherit}.pattern-embed-panel__field input[type=number][data-v-f0d5282b]{min-height:2.45rem;padding:0 .75rem}.pattern-embed-panel__field--tempo input[type=number][data-v-f0d5282b]{max-width:12rem}.pattern-embed-panel__field input[type=color][data-v-f0d5282b]{width:4.8rem;height:2.45rem;padding:.15rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-background)}.pattern-embed-panel__theme[data-v-f0d5282b]{margin:0;padding:0;border:0}.pattern-embed-panel__theme label[data-v-f0d5282b]{display:inline-flex;align-items:center;gap:.4rem;min-height:1.7rem;color:var(--text-muted);font-size:.9rem;font-weight:700}.pattern-embed-panel__toggle[data-v-f0d5282b]{display:flex;gap:.45rem;align-items:flex-start;min-height:2.45rem;padding-top:1.4rem;color:var(--text-muted);font-size:.9rem;font-weight:700;line-height:1.35}.pattern-embed-panel__theme input[type=radio][data-v-f0d5282b],.pattern-embed-panel__toggle input[type=checkbox][data-v-f0d5282b]{flex:0 0 auto;margin-top:.1rem;accent-color:var(--accent)}.pattern-embed-panel__code textarea[data-v-f0d5282b]{resize:vertical;min-height:5.25rem;padding:.7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.pattern-embed-panel__actions[data-v-f0d5282b]{justify-content:flex-start;flex-wrap:wrap}.pattern-embed-panel__message[data-v-f0d5282b]{margin:0;color:var(--text-muted);font-size:.86rem;font-weight:700}.pattern-view-layout[data-v-f0d5282b]{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);gap:1rem;align-items:start}.pattern-view-layout__main[data-v-f0d5282b]{min-width:0}.up-next-panel[data-v-f0d5282b]{position:sticky;top:1rem;display:grid;gap:.75rem;min-width:0;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.up-next-panel__header[data-v-f0d5282b]{display:flex;gap:.6rem;align-items:baseline}.up-next-panel__header h2[data-v-f0d5282b]{margin:0;font-size:1rem;line-height:1.2}.up-next-panel__state[data-v-f0d5282b]{color:var(--text-muted);font-size:.82rem}.up-next-panel__state[data-v-f0d5282b]{margin:0;line-height:1.45}.up-next-list[data-v-f0d5282b]{display:grid;gap:.25rem;width:100%;margin:0;padding:0;list-style:none}.up-next-list__item[data-v-f0d5282b]{min-width:0;width:100%}.up-next-list__link[data-v-f0d5282b]{display:grid;gap:.35rem;width:100%;padding:.55rem;border-radius:7px;box-sizing:border-box;color:inherit;text-decoration:none;transition:background-color .15s ease,color .15s ease}.up-next-list__link[data-v-f0d5282b]:hover,.up-next-list__link[data-v-f0d5282b]:focus-visible{background:var(--surface-strong);color:var(--accent);outline:none}.up-next-list__thumbnail[data-v-f0d5282b]{display:block;min-width:0;width:100%;height:5.5rem;overflow:hidden}.up-next-list__thumbnail[data-v-f0d5282b] .notation-thumbnail{height:5.5rem;min-height:5.5rem;margin:0}.up-next-list__title[data-v-f0d5282b]{display:-webkit-box;overflow:hidden;font-size:.9rem;font-weight:750;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.up-next-list__title[data-v-f0d5282b]{min-width:0;overflow-wrap:anywhere}.pattern-description-panel[data-v-f0d5282b]{display:grid;gap:.55rem;margin-top:.85rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong)}.pattern-description-panel__text[data-v-f0d5282b]{margin:0;color:inherit;font-size:.98rem;line-height:1.55;overflow-wrap:anywhere}.pattern-description-panel__text[data-v-f0d5282b] *{margin-top:0}.pattern-description-panel__text[data-v-f0d5282b] *:last-child{margin-bottom:0}.pattern-description-panel__text[data-v-f0d5282b] p,.pattern-description-panel__text[data-v-f0d5282b] ul,.pattern-description-panel__text[data-v-f0d5282b] ol,.pattern-description-panel__text[data-v-f0d5282b] blockquote{margin-bottom:.75rem}.pattern-description-panel__text[data-v-f0d5282b] ul,.pattern-description-panel__text[data-v-f0d5282b] ol{padding-left:1.3rem}.pattern-description-panel__text[data-v-f0d5282b] a{color:var(--accent);font-weight:700;text-decoration:none}.pattern-description-panel__text[data-v-f0d5282b] a:hover{color:var(--accent-dark);text-decoration:underline}.pattern-description-panel__text[data-v-f0d5282b] code{padding:.1rem .28rem;border-radius:5px;background:var(--input-background);font-size:.92em}.pattern-description-panel__text--collapsed[data-v-f0d5282b]{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.pattern-description-panel__toggle[data-v-f0d5282b]{justify-self:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}.pattern-description-panel__toggle[data-v-f0d5282b]:hover{color:var(--accent-dark);text-decoration:underline}.pattern-merge-panel[data-v-f0d5282b]{display:block;margin-bottom:1.5rem}.pattern-merge-panel[data-v-f0d5282b] .dropdown-select-field{max-width:28rem}@media(max-width:720px){.pattern-view-layout[data-v-f0d5282b]{grid-template-columns:minmax(0,1fr)}.up-next-panel[data-v-f0d5282b]{position:static;order:2}.pattern-description-panel[data-v-f0d5282b]{margin-top:.7rem;padding:.8rem}.pattern-description-panel__text[data-v-f0d5282b]{font-size:.94rem;line-height:1.5}.pattern-description-panel__text--collapsed[data-v-f0d5282b]{-webkit-line-clamp:5}.pattern-embed-panel__controls[data-v-f0d5282b]{grid-template-columns:minmax(0,1fr)}.pattern-embed-panel__toggle[data-v-f0d5282b]{padding-top:0}.pattern-embed-panel__header[data-v-f0d5282b]{align-items:flex-start}}.practice-summary__header[data-v-e053c053],.practice-summary__section[data-v-e053c053]{display:flex;flex-direction:column;gap:1rem}.practice-summary__section[data-v-e053c053]{margin-top:1rem}.practice-summary__lede[data-v-e053c053]{max-width:44rem;margin:.35rem 0 0;color:var(--text-muted)}.practice-summary__streak[data-v-e053c053]{margin:.7rem 0 0;color:var(--accent-dark);font-weight:800}.practice-summary__streak--muted[data-v-e053c053]{color:var(--text-muted)}.practice-summary__section-header h2[data-v-e053c053],.practice-summary__title[data-v-e053c053],.practice-summary__meta[data-v-e053c053],.practice-summary__value[data-v-e053c053]{margin:0}.practice-summary__list[data-v-e053c053]{display:grid;gap:.85rem}.practice-summary__row[data-v-e053c053]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--entry-border);border-radius:22px;background:var(--entry-background);color:inherit;text-decoration:none;box-shadow:var(--entry-shadow);transition:transform .15s,background-color .15s,border-color .15s,box-shadow .15s}.practice-summary__row[data-v-e053c053]:hover{transform:translateY(-1px);border-color:var(--entry-border-hover);background:var(--entry-background-hover);box-shadow:var(--entry-shadow)}.practice-summary__row--unavailable[data-v-e053c053]{border-style:dashed}.practice-summary__title[data-v-e053c053]{font-weight:800}.practice-summary__meta[data-v-e053c053]{margin-top:.25rem;color:var(--text-muted);font-size:.88rem}.practice-summary__value[data-v-e053c053]{white-space:nowrap;font-weight:800}@media(max-width:700px){.practice-summary__row[data-v-e053c053]{align-items:flex-start;flex-direction:column}}.legal-page[data-v-a31da0af]{width:min(760px,100%);margin:0 auto;padding:3rem 0 5rem}.legal-page__header[data-v-a31da0af]{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.legal-page h1[data-v-a31da0af]{margin:.35rem 0 0;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.legal-page__updated[data-v-a31da0af]{margin:.75rem 0 0;color:var(--text-muted);font-weight:600}.legal-page__section[data-v-a31da0af]{padding:1.75rem 0 0}.legal-page h2[data-v-a31da0af]{margin:0;font-size:1.2rem}.legal-page p[data-v-a31da0af]{margin:.75rem 0 0;color:var(--text-muted);line-height:1.7}.legal-page a[data-v-a31da0af]{color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.login-page[data-v-f3662406]{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2.5rem)}.login-card[data-v-f3662406]{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:2.5rem 2rem;width:100%;max-width:380px}.login-title[data-v-f3662406]{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.login-subtitle[data-v-f3662406]{color:var(--text-muted);font-size:.875rem;margin:0 0 2rem}.login-form[data-v-f3662406]{display:flex;flex-direction:column;gap:1.25rem}.form-field[data-v-f3662406]{display:flex;flex-direction:column;gap:.375rem}.form-label[data-v-f3662406]{font-size:.875rem;font-weight:500}.form-input[data-v-f3662406]{background:var(--input-background);border:1px solid var(--input-border);border-radius:8px;color:inherit;font-family:inherit;font-size:1rem;padding:.625rem .75rem;transition:border-color .15s;width:100%}.form-input[data-v-f3662406]:focus{border-color:var(--accent);outline:none}.form-input[data-v-f3662406]:disabled{opacity:.6}.form-error[data-v-f3662406]{color:var(--accent);font-size:.875rem;margin:0}.login-btn[data-v-f3662406]{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;margin-top:.25rem;padding:.7rem 1rem;transition:opacity .15s;width:100%}.login-btn[data-v-f3662406]:hover:not(:disabled){opacity:.88}.login-btn[data-v-f3662406]:disabled{cursor:not-allowed;opacity:.5}.auth-footer[data-v-f3662406]{color:var(--text-muted);font-size:.875rem;margin:0;text-align:center}.auth-link[data-v-f3662406]{color:var(--accent);text-decoration:none}.auth-link[data-v-f3662406]:hover{text-decoration:underline}.reset-success[data-v-f3662406]{color:var(--text-muted);font-size:.875rem;margin:0}@media(max-width:640px){.login-card[data-v-f3662406]{padding:2rem 1.5rem}.login-title[data-v-f3662406]{font-size:1.375rem}}.settings-view__header[data-v-14f39822]{margin-bottom:1.5rem}.settings-view__panel[data-v-14f39822]{display:grid;gap:1.25rem;padding:1.25rem;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 92%,transparent),transparent),var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-view__copy h2[data-v-14f39822]{margin:.15rem 0 0}.settings-view__copy p[data-v-14f39822]{margin:0}.settings-view__copy p[data-v-14f39822]:not(.eyebrow){color:var(--text-muted)}.settings-view__form[data-v-14f39822]{display:grid;gap:1rem;max-width:30rem}.settings-view__field[data-v-14f39822]{display:grid;gap:.55rem}.settings-view__field-label[data-v-14f39822]{font-size:.95rem;font-weight:700}.settings-view__input[data-v-14f39822]{width:100%;padding:.9rem 1rem;border:1px solid var(--input-border);border-radius:16px;background:var(--input-background);color:inherit;font:inherit}.settings-view__status[data-v-14f39822]{margin:0;font-weight:600}.settings-view__status--error[data-v-14f39822]{color:var(--accent)}.settings-view__status--success[data-v-14f39822]{color:var(--accent-dark)}.settings-view__actions[data-v-14f39822]{display:flex;gap:.75rem}.rudiments-view__layout[data-v-831571d4]{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.25rem;align-items:start}.rudiments-view__main[data-v-831571d4]{min-width:0;order:-1}.rudiments-view__header[data-v-831571d4]{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.75rem}.rudiments-view__header .lead[data-v-831571d4]{margin:0}.rudiments-view__filters[data-v-831571d4]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.5rem;margin-bottom:0;padding:.75rem;position:sticky;top:1rem}.rudiments-view__filters[data-v-831571d4] label{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.rudiments-view__filters[data-v-831571d4] label span{font-size:.8rem;white-space:nowrap}.rudiments-view__filters[data-v-831571d4] label select{padding:.35rem .5rem;font-size:.85rem;border-radius:10px}.rudiments-view__filters[data-v-831571d4] .pattern-filters__chips{flex:unset;gap:.4rem}.rudiments-view__filters[data-v-831571d4] .pattern-filters__chip{padding:.3rem .6rem;font-size:.78rem;border-radius:999px}.rudiments-view__filters[data-v-831571d4] .pattern-filters__label{font-size:.78rem}.rudiments-view__filters[data-v-831571d4] .pattern-filters__actions{margin-left:0;width:100%}.rudiments-view__filters[data-v-831571d4] .pattern-filters__actions button{width:100%;padding:.4rem .75rem;font-size:.85rem}.rudiments-view__state[data-v-831571d4]{color:var(--text-muted)}.rudiments-view__state--error[data-v-831571d4]{color:var(--accent)}@media(max-width:820px){.rudiments-view__layout[data-v-831571d4]{grid-template-columns:1fr}.rudiments-view__main[data-v-831571d4]{order:0}.rudiments-view__filters[data-v-831571d4]{position:static}}.login-page[data-v-ba126dca]{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2.5rem)}.login-card[data-v-ba126dca]{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:2.5rem 2rem;width:100%;max-width:380px}.login-title[data-v-ba126dca]{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.login-subtitle[data-v-ba126dca]{color:var(--text-muted);font-size:.875rem;margin:0 0 2rem}.login-form[data-v-ba126dca]{display:flex;flex-direction:column;gap:1.25rem}.form-field[data-v-ba126dca]{display:flex;flex-direction:column;gap:.375rem}.form-label[data-v-ba126dca]{font-size:.875rem;font-weight:500}.form-input[data-v-ba126dca]{background:var(--input-background);border:1px solid var(--input-border);border-radius:8px;color:inherit;font-family:inherit;font-size:1rem;padding:.625rem .75rem;transition:border-color .15s;width:100%}.form-input[data-v-ba126dca]:focus{border-color:var(--accent);outline:none}.form-input[data-v-ba126dca]:disabled{opacity:.6}.form-error[data-v-ba126dca]{color:var(--accent);font-size:.875rem;margin:0}.login-btn[data-v-ba126dca]{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;margin-top:.25rem;padding:.7rem 1rem;transition:opacity .15s;width:100%}.login-btn[data-v-ba126dca]:hover:not(:disabled){opacity:.88}.login-btn[data-v-ba126dca]:disabled{cursor:not-allowed;opacity:.5}.auth-footer[data-v-ba126dca]{color:var(--text-muted);font-size:.875rem;margin:0;text-align:center}.auth-link[data-v-ba126dca]{color:var(--accent);text-decoration:none}.auth-link[data-v-ba126dca]:hover{text-decoration:underline}.success-message[data-v-ba126dca]{color:var(--text-muted);font-size:.9375rem;line-height:1.6}.success-message p[data-v-ba126dca]{margin:0}.legal-page[data-v-ea7b166f]{width:min(760px,100%);margin:0 auto;padding:3rem 0 5rem}.legal-page__header[data-v-ea7b166f]{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.legal-page h1[data-v-ea7b166f]{margin:.35rem 0 0;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.legal-page__updated[data-v-ea7b166f]{margin:.75rem 0 0;color:var(--text-muted);font-weight:600}.legal-page__section[data-v-ea7b166f]{padding:1.75rem 0 0}.legal-page h2[data-v-ea7b166f]{margin:0;font-size:1.2rem}.legal-page p[data-v-ea7b166f]{margin:.75rem 0 0;color:var(--text-muted);line-height:1.7}.legal-page a[data-v-ea7b166f]{color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.workout-view__layout[data-v-90c9d750]{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.25rem;align-items:start}.workout-view__main[data-v-90c9d750]{min-width:0;order:-1}.workout-view__filters[data-v-90c9d750]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.5rem;margin-bottom:0;padding:.75rem;position:sticky;top:1rem}.workout-view__filters[data-v-90c9d750] label{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.workout-view__filters[data-v-90c9d750] label span{font-size:.8rem;white-space:nowrap}.workout-view__filters[data-v-90c9d750] label select{padding:.35rem .5rem;font-size:.85rem;border-radius:10px}.workout-view__filters[data-v-90c9d750] .pattern-filters__chips{flex:unset;gap:.4rem}.workout-view__filters[data-v-90c9d750] .pattern-filters__chip{padding:.3rem .6rem;font-size:.78rem;border-radius:999px}.workout-view__filters[data-v-90c9d750] .pattern-filters__label{font-size:.78rem}.workout-view__filters[data-v-90c9d750] .pattern-filters__actions{margin-left:0;width:100%}.workout-view__filters[data-v-90c9d750] .pattern-filters__actions button{width:100%;padding:.4rem .75rem;font-size:.85rem}.workout-view__header[data-v-90c9d750]{align-items:center;display:flex;gap:1rem;justify-content:space-between}.workout-view__generate[data-v-90c9d750]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:#d95d39;color:#fff7f2;cursor:pointer;font:inherit;font-weight:700;padding:.9rem 1.4rem}.workout-view__generate[data-v-90c9d750]:hover{background:#bf4c2a}@media(max-width:820px){.workout-view__layout[data-v-90c9d750]{grid-template-columns:1fr}.workout-view__main[data-v-90c9d750]{order:0}.workout-view__filters[data-v-90c9d750]{position:static}}@media(max-width:720px){.workout-view__header[data-v-90c9d750]{align-items:stretch;flex-direction:column}.workout-view__generate[data-v-90c9d750]{width:100%}}.landing[data-v-8ab62fd5]{display:grid;gap:0;overflow:clip}.section-heading[data-v-8ab62fd5]{font-size:2.35rem;line-height:1.15;letter-spacing:0;margin:.4rem 0 0}.section-subcopy[data-v-8ab62fd5]{color:var(--text-muted);max-width:38rem;margin:.75rem 0 0;line-height:1.6}.hero[data-v-8ab62fd5]{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);gap:3rem;align-items:center;padding:2.2rem 0 4.5rem;min-height:calc(100dvh - 6.5rem)}.hero__copy[data-v-8ab62fd5]{position:sticky;top:6rem;max-width:32rem}.hero__headline[data-v-8ab62fd5]{font-size:3.55rem;line-height:1.08;letter-spacing:0;margin:0}.hero__mobile-headline[data-v-8ab62fd5]{display:none}.hero__subcopy[data-v-8ab62fd5]{color:var(--text-muted);font-size:1.08rem;line-height:1.55;max-width:30rem;margin:1rem 0 0}.hero__cta-group[data-v-8ab62fd5]{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.55rem}.hero__cta[data-v-8ab62fd5]{display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;padding:.72rem 1.45rem;border-radius:999px;font-size:.96rem;font-weight:700;border:1px solid transparent;transition:transform .14s ease,opacity .14s ease}.hero__cta[data-v-8ab62fd5]:hover{transform:translateY(-1px)}.hero__cta--primary[data-v-8ab62fd5]{background:var(--accent);color:#fff}.hero__cta--secondary[data-v-8ab62fd5]{min-height:2.55rem;padding:.6rem 1rem;background:var(--surface-strong);border-color:var(--border);color:inherit;font-size:.9rem}.hero__microproof[data-v-8ab62fd5]{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;margin:1.2rem 0 0;color:var(--text-muted);font-size:.82rem;font-weight:600}.hero__microproof li[data-v-8ab62fd5]{padding:.42rem .62rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.hero__microproof li[data-v-8ab62fd5]:before{content:"✓ ";color:var(--accent);font-weight:800}.support-section[data-v-8ab62fd5]{display:none}.hero__surface[data-v-8ab62fd5]{display:grid;gap:.85rem;align-self:center}.hero-player[data-v-8ab62fd5]{width:100%;padding:1rem;border-radius:22px;background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:0 22px 56px #3329181f;display:grid;gap:.95rem}.hero-player--loading[data-v-8ab62fd5]{min-height:280px;place-content:center}.hero-player__header[data-v-8ab62fd5]{display:grid;gap:.25rem}.hero-player__title[data-v-8ab62fd5]{font-size:1.15rem}.hero-player__loading[data-v-8ab62fd5],.hero-player__error[data-v-8ab62fd5]{text-align:center;color:var(--text-muted);padding:2rem 0}.hero-notation-wrapper[data-v-8ab62fd5]{border-radius:12px;overflow:hidden;pointer-events:none}.hero-notation-wrapper[data-v-8ab62fd5] .notation-placeholder{border:none}.hero-notation-wrapper[data-v-8ab62fd5] .beat-strip{display:none}.hero-notation-wrapper[data-v-8ab62fd5] .osmd-container{min-width:0}.hero-notation-wrapper[data-v-8ab62fd5] .notation-stage__viewport{overflow-x:hidden;overflow-y:auto;max-height:min(46dvh,340px)}.hero-player__transport[data-v-8ab62fd5]{display:flex;align-items:center;gap:1rem}.hero-player__play-btn[data-v-8ab62fd5]{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;border:none;background:var(--accent);color:#fff;flex-shrink:0;transition:transform .14s ease}.hero-player__play-btn[data-v-8ab62fd5]:hover{transform:scale(1.06)}.hero-player__play-btn svg[data-v-8ab62fd5]{width:1.2rem;height:1.2rem;fill:currentColor}.hero-player__bpm-value[data-v-8ab62fd5]{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.hero-player__prompt[data-v-8ab62fd5]{text-align:center;color:var(--text-muted);font-size:.88rem;margin:0}.library-preview[data-v-8ab62fd5]{padding:4rem 0;border-top:1px solid var(--border)}.library-preview__header[data-v-8ab62fd5]{margin-bottom:2.5rem}.library-preview__grid[data-v-8ab62fd5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.library-card[data-v-8ab62fd5]{display:grid;gap:.5rem;min-height:13rem;padding:1.6rem 1.35rem;border-radius:16px;background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.library-card[data-v-8ab62fd5]:hover{border-color:color-mix(in srgb,var(--text-muted) 32%,var(--border));background:color-mix(in srgb,var(--surface-strong) 54%,var(--surface))}html[data-theme=dark] .library-card[data-v-8ab62fd5]:hover{border-color:#ffffff2e;background:#11171d}.library-card__count[data-v-8ab62fd5]{font-size:3rem;font-weight:800;line-height:1;color:var(--accent)}.library-card__label[data-v-8ab62fd5]{font-size:1.2rem;font-weight:700}.library-card__desc[data-v-8ab62fd5]{color:var(--text-muted);font-size:.92rem;line-height:1.5}.library-card--grooves[data-v-8ab62fd5]{background:linear-gradient(135deg,rgba(217,93,57,.14),transparent 68%),var(--surface)}.party-games-section[data-v-8ab62fd5]{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;overflow:hidden;min-height:15rem;padding:1.75rem 1.35rem 1.75rem 15rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(217,93,57,.08),transparent 56%),color-mix(in srgb,var(--surface) 92%,transparent)}.party-games-section[data-v-8ab62fd5]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/bpm_knokout.png);background-position:left center;background-size:auto 112%;background-repeat:no-repeat;opacity:.92;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 34%,transparent 68%);mask-image:linear-gradient(to right,#000 0%,#000 34%,transparent 68%);pointer-events:none}.party-games-section__copy[data-v-8ab62fd5]{position:relative;z-index:1;min-width:0}.party-games-section .eyebrow[data-v-8ab62fd5]{margin-bottom:.2rem}.party-games-section__heading[data-v-8ab62fd5]{margin:0;color:var(--text);font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.25}.party-games-section__subcopy[data-v-8ab62fd5]{margin:.34rem 0 0;color:var(--text-muted);font-size:.93rem;line-height:1.45}.party-games-section__link[data-v-8ab62fd5]{position:relative;z-index:1;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:999px;background:var(--surface-strong);color:var(--accent-dark);padding:.62rem .95rem;font:inherit;font-weight:800;white-space:nowrap;transition:transform .14s ease,background-color .14s ease}.party-games-section__link[data-v-8ab62fd5]:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface-strong));transform:translateY(-1px)}.looper-section[data-v-8ab62fd5]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(340px,1.15fr);gap:3rem;align-items:start;margin-top:2rem;padding:4rem 0;border-bottom:1px solid var(--border)}.looper-section__points[data-v-8ab62fd5]{list-style:none;padding:0;margin:1.25rem 0 2rem;display:grid;gap:.75rem;color:var(--text-muted);font-size:.95rem;line-height:1.55}.accent-text[data-v-8ab62fd5]{color:var(--accent);font-weight:700}.looper-song-browser[data-v-8ab62fd5]{display:grid;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}html[data-theme=dark] .looper-song-browser[data-v-8ab62fd5]{border-color:#ffffff1a;background:#07090d;box-shadow:none}.looper-song-browser__search[data-v-8ab62fd5]{position:relative}.looper-song-browser__search-icon[data-v-8ab62fd5]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;color:var(--text-muted);pointer-events:none}.looper-song-browser__input[data-v-8ab62fd5]{width:100%;padding:.75rem 1rem .75rem 2.75rem;border-radius:14px;border:1px solid var(--input-border, var(--border));background:var(--input-background, var(--surface));color:inherit;font-size:.95rem;outline:none;transition:border-color .15s}.looper-song-browser__input[data-v-8ab62fd5]:focus{border-color:var(--accent)}html[data-theme=dark] .looper-song-browser__input[data-v-8ab62fd5]{border-color:#ffffff1c;background:#040609;box-shadow:none}html[data-theme=dark] .looper-song-browser__input[data-v-8ab62fd5]:focus{border-color:color-mix(in srgb,var(--accent) 56%,rgb(255 255 255 / .16));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}.looper-song-browser__list[data-v-8ab62fd5]{display:grid;gap:.5rem;min-height:340px;max-height:340px;overflow-y:auto;align-content:start}html[data-theme=dark] .looper-song-browser__list[data-v-8ab62fd5]{gap:.65rem;padding:.25rem;border-radius:15px;border:1px solid rgb(255 255 255 / .055);background:#040609;box-shadow:none}.looper-song-browser__empty[data-v-8ab62fd5]{text-align:center;color:var(--text-muted);font-size:.92rem;padding:1.5rem 0;margin:0}.looper-auto-sections-preview[data-v-8ab62fd5]{display:grid;gap:.75rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 56%),var(--surface-strong)}.looper-auto-sections-preview__header[data-v-8ab62fd5]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.looper-auto-sections-preview__header>div[data-v-8ab62fd5]{display:grid;gap:.12rem;min-width:0}.looper-auto-sections-preview__eyebrow[data-v-8ab62fd5]{color:var(--accent-dark);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.looper-auto-sections-preview__header strong[data-v-8ab62fd5]{color:var(--text);font-size:.9rem;line-height:1.25}.looper-auto-sections-preview__badge[data-v-8ab62fd5],.looper-auto-sections-preview__list em[data-v-8ab62fd5]{border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:999px;color:color-mix(in srgb,var(--accent) 86%,white);background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong));font-size:.62rem;font-style:normal;font-weight:800;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.looper-auto-sections-preview__badge[data-v-8ab62fd5]{flex:0 0 auto;padding:.22rem .48rem}.looper-auto-sections-preview__action[data-v-8ab62fd5]{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;border:1px solid color-mix(in srgb,var(--accent) 46%,var(--border));border-radius:12px;color:color-mix(in srgb,var(--accent) 88%,white);background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-size:.82rem;font-weight:800}.looper-auto-sections-preview__list[data-v-8ab62fd5]{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.looper-auto-sections-preview__list li[data-v-8ab62fd5]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.56rem .65rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.looper-auto-sections-preview__list span[data-v-8ab62fd5]{overflow:hidden;color:var(--text);font-size:.82rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.looper-auto-sections-preview__list strong[data-v-8ab62fd5]{color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.looper-auto-sections-preview__list em[data-v-8ab62fd5]{padding:.14rem .36rem}html[data-theme=dark] .looper-auto-sections-preview[data-v-8ab62fd5]{background:linear-gradient(135deg,rgba(217,93,57,.12),transparent 62%),#0d1218}html[data-theme=dark] .looper-auto-sections-preview__list li[data-v-8ab62fd5]{background:#07090d}.youtube-extension-section[data-v-8ab62fd5]{display:grid;grid-template-columns:minmax(0,.86fr) minmax(320px,1.14fr);gap:3rem;align-items:center;padding:4rem 0;border-bottom:1px solid var(--border)}.youtube-extension-section__copy[data-v-8ab62fd5]{max-width:36rem}.youtube-extension-section__actions[data-v-8ab62fd5]{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin-top:1.4rem}.youtube-extension-section__store-status[data-v-8ab62fd5]{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--text-muted);font-size:.82rem;font-weight:700}.youtube-extension-section__store-status span[data-v-8ab62fd5]{border:1px solid var(--border);border-radius:999px;padding:.36rem .66rem;background:var(--surface-strong)}.youtube-extension-preview[data-v-8ab62fd5]{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}html[data-theme=dark] .youtube-extension-preview[data-v-8ab62fd5]{border-color:#ffffff1a;background:#07090d;box-shadow:none}.youtube-extension-preview__browser[data-v-8ab62fd5]{display:flex;gap:.42rem;padding:.9rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-strong)}.youtube-extension-preview__browser span[data-v-8ab62fd5]{width:.72rem;height:.72rem;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 42%,transparent)}.youtube-extension-preview__video[data-v-8ab62fd5]{min-height:210px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(217,93,57,.24),transparent 58%),linear-gradient(180deg,#20252c,#0f141a)}.youtube-extension-preview__play[data-v-8ab62fd5]{display:grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:999px;background:#ffffffeb;color:var(--accent);box-shadow:0 14px 36px #00000047}.youtube-extension-preview__play svg[data-v-8ab62fd5]{width:1.55rem;height:1.55rem;fill:currentColor}.youtube-extension-preview__panel[data-v-8ab62fd5]{display:grid;gap:.7rem;padding:1rem}.youtube-extension-preview__panel-header[data-v-8ab62fd5],.youtube-extension-preview__loop[data-v-8ab62fd5]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.youtube-extension-preview__panel-header[data-v-8ab62fd5]{color:var(--text-muted);font-size:.82rem}.youtube-extension-preview__panel-header strong[data-v-8ab62fd5]{color:inherit}.youtube-extension-preview__panel-header span[data-v-8ab62fd5]{flex-shrink:0;border:1px solid var(--border);border-radius:999px;padding:.28rem .58rem;color:var(--accent);font-size:.74rem;font-weight:800;text-transform:uppercase}.youtube-extension-preview__loop[data-v-8ab62fd5]{border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem;background:var(--surface-strong)}.youtube-extension-preview__loop span[data-v-8ab62fd5]{color:var(--text-muted);font-size:.88rem}.youtube-extension-preview__loop strong[data-v-8ab62fd5]{font-variant-numeric:tabular-nums;font-size:.88rem}.youtube-extension-preview__loop--active[data-v-8ab62fd5]{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:linear-gradient(135deg,rgba(217,93,57,.14),transparent),var(--surface-strong)}.remote-section[data-v-8ab62fd5]{position:relative;margin-left:calc(-1 * var(--page-gutter, 0px));width:calc(100% + 2 * var(--page-gutter, 0px));min-height:520px;background-size:cover;background-position:center 30%;background-repeat:no-repeat;border-radius:28px;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;margin-top:4rem;margin-bottom:4rem}.remote-section[data-v-8ab62fd5]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#000000b8,#0000007a,#0000001a);pointer-events:none}.remote-section__card[data-v-8ab62fd5]{position:relative;z-index:1;padding:3rem;max-width:34rem;color:#fff}.remote-section__card .eyebrow[data-v-8ab62fd5]{color:var(--accent)}.remote-section__heading[data-v-8ab62fd5]{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15;margin:.4rem 0 0;color:#fff}.remote-section__subcopy[data-v-8ab62fd5]{color:#ffffffb8;max-width:26rem;margin:.75rem 0 0;line-height:1.6}.remote-section__points[data-v-8ab62fd5]{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.85rem}.remote-section__points li[data-v-8ab62fd5]{line-height:1.5;color:#ffffffd1}.remote-section__points strong[data-v-8ab62fd5]{color:#fff}.remote-section__qr-area[data-v-8ab62fd5] .qr-code-svg svg{width:min(280px,100%)}.remote-section__qr-area[data-v-8ab62fd5]{position:relative;z-index:1;padding:2.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;align-self:flex-end}.remote-section__qr-hint[data-v-8ab62fd5]{color:#ffffffd1;font-size:.85rem;text-align:center;margin:0;font-weight:600;letter-spacing:.02em}.remote-section__qr-hint--sub[data-v-8ab62fd5]{opacity:.6;font-size:.78rem;font-weight:500;margin-top:-.4rem}.remote-section__qr-skeleton[data-v-8ab62fd5]{width:280px;height:280px;border-radius:20px;background:#ffffff1f;animation:qr-pulse-8ab62fd5 1.6s ease-in-out infinite}@keyframes qr-pulse-8ab62fd5{0%,to{opacity:.4}50%{opacity:.8}}.karaoke-section[data-v-8ab62fd5]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin:0 0 .75rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.karaoke-section__icon[data-v-8ab62fd5]{display:block;width:2.35rem;height:2.35rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,var(--surface-strong));color:var(--accent-dark);position:relative}.karaoke-section__icon[data-v-8ab62fd5]:before{content:"";position:absolute;top:.72rem;right:.72rem;bottom:.72rem;left:.72rem;background:currentColor;mask:url(/microphone.svg) center / contain no-repeat;-webkit-mask:url(/microphone.svg) center / contain no-repeat}.karaoke-section__copy[data-v-8ab62fd5]{min-width:0}.karaoke-section .eyebrow[data-v-8ab62fd5]{margin-bottom:.2rem}.karaoke-section__heading[data-v-8ab62fd5]{margin:0;color:var(--text);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.25}.karaoke-section__subcopy[data-v-8ab62fd5]{margin:.32rem 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.45}.karaoke-section__link[data-v-8ab62fd5]{border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:999px;padding:.58rem .9rem;color:var(--accent-dark);font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .14s ease,background-color .14s ease}.karaoke-section__link[data-v-8ab62fd5]:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px)}.progress-section[data-v-8ab62fd5]{padding:4rem 0}.progress-section__cards[data-v-8ab62fd5]{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:.85rem;margin-top:2rem}.progress-card[data-v-8ab62fd5]{padding:1.35rem;border-radius:16px;background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:none;display:grid;gap:.5rem;align-content:start}.progress-card[data-v-8ab62fd5]:first-child{background:linear-gradient(135deg,rgba(217,93,57,.16),transparent 70%),var(--surface)}.progress-card__icon[data-v-8ab62fd5]{display:inline-grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:999px;background:var(--subtle-surface);font-size:1.25rem}.progress-card__label[data-v-8ab62fd5]{font-size:1.05rem}.progress-card__desc[data-v-8ab62fd5]{margin:0;color:var(--text-muted);line-height:1.5;font-size:.92rem}.final-cta[data-v-8ab62fd5]{text-align:center;padding:4rem 0 4.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.final-cta__heading[data-v-8ab62fd5]{font-size:2.55rem;line-height:1.1;letter-spacing:0;margin:0}.final-cta__subcopy[data-v-8ab62fd5]{color:var(--text-muted);font-size:1.1rem;max-width:32rem;margin:1rem auto 0;line-height:1.55}.final-cta__actions[data-v-8ab62fd5]{display:flex;justify-content:center;gap:.75rem;margin-top:2rem}.landing-footer[data-v-8ab62fd5]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:2rem;padding:2.5rem 0 1rem;border-top:1px solid var(--border)}.landing-footer__brand[data-v-8ab62fd5]{display:grid;gap:.85rem;align-content:start}.landing-footer__logo[data-v-8ab62fd5]{width:fit-content;font-size:1.35rem;font-weight:800;letter-spacing:.02em}.landing-footer__brand p[data-v-8ab62fd5],.landing-footer__bottom[data-v-8ab62fd5]{margin:0;color:var(--text-muted);line-height:1.6}.landing-footer__brand p[data-v-8ab62fd5]{max-width:22rem}.landing-footer__nav[data-v-8ab62fd5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.landing-footer__group[data-v-8ab62fd5]{display:grid;gap:.65rem;align-content:start}.landing-footer__group h2[data-v-8ab62fd5]{margin:0 0 .15rem;color:var(--accent-dark);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.landing-footer__link[data-v-8ab62fd5]{width:fit-content;color:var(--text-muted);font-weight:650;transition:color .14s ease,transform .14s ease}.landing-footer__link[data-v-8ab62fd5]:hover{color:var(--accent-dark);transform:translate(2px)}.landing-footer__bottom[data-v-8ab62fd5]{grid-column:1 / -1;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.9rem;text-align:center}@media(max-width:820px){.section-heading[data-v-8ab62fd5]{font-size:1.9rem}.hero[data-v-8ab62fd5]{grid-template-columns:1fr;gap:1.35rem;padding:1rem 0 2.75rem;min-height:auto}.hero__surface[data-v-8ab62fd5]{order:-1}.hero__copy[data-v-8ab62fd5]{position:static}.hero-player[data-v-8ab62fd5]{max-width:100%;padding:.7rem .45rem .8rem;gap:.7rem;border-radius:18px}.hero-player__transport[data-v-8ab62fd5]{gap:.75rem;padding:0 .35rem}.hero-player__play-btn[data-v-8ab62fd5]{width:2.55rem;height:2.55rem}.hero-notation-wrapper[data-v-8ab62fd5] .notation-placeholder{padding:.25rem}.hero-notation-wrapper[data-v-8ab62fd5] .notation-stage__viewport{max-height:180px}.hero__headline[data-v-8ab62fd5]{font-size:2.45rem}.hero__copy .hero__headline[data-v-8ab62fd5]{display:none}.hero__mobile-headline[data-v-8ab62fd5]{display:block;font-size:2.2rem;line-height:1.08;letter-spacing:0;margin:0 0 .1rem}.hero__subcopy[data-v-8ab62fd5]{font-size:1rem;margin-top:.8rem}.hero__cta-group[data-v-8ab62fd5]{margin-top:1.15rem}.hero__cta--primary[data-v-8ab62fd5]{flex:1 1 12rem}.hero__cta--secondary[data-v-8ab62fd5]{flex:0 1 auto}.library-preview__grid[data-v-8ab62fd5]{grid-template-columns:1fr}.support-section[data-v-8ab62fd5]{display:grid;gap:1rem;margin:1rem 0 1.6rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.support-section__heading[data-v-8ab62fd5]{margin:.2rem 0 0;font-size:1.2rem;line-height:1.2;letter-spacing:0}.support-section__button[data-v-8ab62fd5]{justify-self:stretch}.library-card--grooves[data-v-8ab62fd5]{grid-row:auto}.party-games-section[data-v-8ab62fd5]{grid-template-columns:1fr;align-items:start;min-height:20rem;padding:12rem 1rem 1rem}.party-games-section[data-v-8ab62fd5]:before{background-position:center top;background-size:100% auto;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 82%);mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 82%)}.party-games-section__link[data-v-8ab62fd5]{justify-self:start}.steps[data-v-8ab62fd5]{grid-template-columns:1fr 1fr}.looper-section[data-v-8ab62fd5],.youtube-extension-section[data-v-8ab62fd5]{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.youtube-extension-section__actions[data-v-8ab62fd5]{align-items:flex-start}.remote-section[data-v-8ab62fd5]{min-height:420px;border-radius:18px;flex-direction:column;align-items:stretch;justify-content:flex-end}.remote-section__card[data-v-8ab62fd5]{padding:2rem}.remote-section__qr-area[data-v-8ab62fd5]{padding:1.5rem 2rem 2rem;align-self:auto}.remote-section__qr-area[data-v-8ab62fd5] .qr-code-svg svg{width:min(160px,100%)}.remote-section__qr-skeleton[data-v-8ab62fd5]{width:160px;height:160px}.karaoke-section[data-v-8ab62fd5]{grid-template-columns:auto minmax(0,1fr);align-items:start}.karaoke-section__link[data-v-8ab62fd5]{grid-column:2;justify-self:start}.progress-section__cards[data-v-8ab62fd5],.landing-footer[data-v-8ab62fd5]{grid-template-columns:1fr}}@media(max-width:520px){.section-heading[data-v-8ab62fd5]{font-size:1.65rem}.steps[data-v-8ab62fd5]{grid-template-columns:1fr}.hero__headline[data-v-8ab62fd5]{font-size:2.05rem}.hero__mobile-headline[data-v-8ab62fd5]{font-size:1.95rem}.hero__microproof[data-v-8ab62fd5]{gap:.4rem}.hero__microproof li[data-v-8ab62fd5]{padding:.34rem .5rem;font-size:.78rem}.hero__cta-group[data-v-8ab62fd5]{gap:.55rem}.hero__cta[data-v-8ab62fd5]{min-height:2.65rem;padding-inline:1rem}.hero__cta--primary[data-v-8ab62fd5]{flex-basis:100%}.hero__cta--secondary[data-v-8ab62fd5]{flex:0 1 auto;min-height:2.5rem;padding-inline:.85rem;font-size:.86rem}.final-cta__heading[data-v-8ab62fd5]{font-size:1.9rem}.landing-footer__nav[data-v-8ab62fd5]{grid-template-columns:1fr}}:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#18211f;background:radial-gradient(circle at top left,rgba(255,214,153,.55),transparent 30%),linear-gradient(180deg,#fff9ef,#f2efe8);--app-background: radial-gradient(circle at top left, rgba(255, 214, 153, .55), transparent 30%), linear-gradient(180deg, #fff9ef 0%, #f2efe8 100%);--surface: rgba(255, 255, 255, .82);--surface-strong: #fffdf8;--chrome-background: rgba(255, 255, 255, .72);--border: rgba(24, 33, 31, .12);--accent: #d95d39;--accent-dark: #8f341a;--text-muted: #55635e;--shadow: 0 10px 24px rgba(51, 41, 24, .06);--entry-background: linear-gradient(180deg, var(--surface-strong) 0%, var(--surface) 100%);--entry-background-hover: color-mix(in srgb, var(--surface-strong) 64%, var(--surface));--entry-border: var(--border);--entry-border-hover: color-mix(in srgb, var(--text-muted) 34%, var(--border));--entry-shadow: var(--shadow);--input-background: rgba(255, 255, 255, .88);--input-border: rgba(24, 33, 31, .18);--subtle-surface: rgba(24, 33, 31, .06);--notation-surface: rgba(255, 253, 248, .78);--notation-border: rgba(24, 33, 31, .22);--theme-toggle-background: rgba(255, 255, 255, .72);--theme-toggle-border: rgba(24, 33, 31, .12)}:root[data-theme=dark]{color-scheme:dark;color:#edf2ef;background:#0b0f14;--html-background: #0b0f14;--app-background: radial-gradient(ellipse 82% 44% at 0% 0%, rgba(255, 126, 79, .13), transparent 62%), #0b0f14;--surface: #11171d;--surface-strong: #1a2129;--chrome-background: rgb(17 23 29 / .76);--border: rgba(236, 242, 239, .12);--accent: #ff8e63;--accent-dark: #ffc2ad;--text-muted: #a7b4ae;--shadow: none;--entry-background: #080b10;--entry-background-hover: #0b0f15;--entry-border: rgb(255 255 255 / .12);--entry-border-hover: rgb(255 255 255 / .18);--entry-shadow: none;--input-background: #181f26;--input-border: rgba(236, 242, 239, .14);--subtle-surface: rgba(236, 242, 239, .08);--notation-surface: rgba(248, 244, 236, .96);--notation-border: rgba(236, 242, 239, .16);--theme-toggle-background: #11171d;--theme-toggle-border: rgba(236, 242, 239, .12)}*{box-sizing:border-box}html{min-height:100%;background:var(--html-background, var(--app-background))}body{margin:0;min-width:320px;min-height:100vh;position:relative;isolation:isolate;background:var(--app-background);color:inherit;transition:background .18s ease,color .18s ease}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}#app{min-height:100vh}.app-shell{width:min(1440px,calc(100% - 2rem));min-height:100vh;margin:0 auto;padding:1.25rem 0 calc(72px + 1.5rem)}.app-shell--no-player{padding-bottom:1.25rem}.top-navbar{position:sticky;top:1rem;z-index:240;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:.7rem .85rem .7rem 1rem;border-radius:24px;background:var(--chrome-background);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:var(--shadow);min-width:0;max-width:100%;box-sizing:border-box}html[data-theme=dark] .app-sidebar,html[data-theme=dark] .mobile-nav,html[data-theme=dark] .theme-toggle,html[data-theme=dark] .signout-btn,html[data-theme=dark] .filter-panel,html[data-theme=dark] .pattern-card,html[data-theme=dark] .notation-card,html[data-theme=dark] .control-card,html[data-theme=dark] .empty-state{-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=dark] .app-shell--landing .top-navbar{box-shadow:none}.top-navbar__brand,.top-navbar__actions{display:flex;align-items:center;gap:1rem;min-width:0}.top-navbar__brand{flex:1 1 auto;min-width:0}.top-navbar__actions{flex:0 0 auto}@media(max-width:480px){.top-navbar{gap:.5rem;padding:.55rem .6rem}.top-navbar__brand,.top-navbar__actions{gap:.4rem}}.top-navbar__path{display:flex;align-items:center;gap:.55rem;min-width:0;margin:0;color:var(--text-muted);font-weight:600}.top-navbar__section,.top-navbar__detail{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-navbar__detail{color:var(--accent-dark)}.top-navbar__separator{color:var(--text-muted);font-weight:700}.app-layout{position:relative;z-index:0;display:grid;grid-template-columns:minmax(165px,190px) minmax(0,1fr);gap:1.25rem;align-items:start}.app-sidebar{position:sticky;top:1rem;display:grid;gap:1rem;padding:1.1rem;border-radius:28px;background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:var(--shadow)}.app-content{min-width:0}.brand{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0;font-size:clamp(1.2rem,3vw,1.65rem);font-weight:800;letter-spacing:.02em;text-decoration:none;color:inherit}.brand__logo{display:block;height:clamp(2.4rem,6.5vw,3.2rem);width:clamp(2.4rem,6.5vw,3.2rem);background-color:var(--accent);-webkit-mask:url(/logo.png) center / contain no-repeat;mask:url(/logo.png) center / contain no-repeat;transform:translateY(-.18em)}.brand__text{line-height:1}.tagline,.lead{color:var(--text-muted);max-width:38rem}.theme-toggle{display:inline-flex;align-items:center;gap:.75rem;min-height:2.35rem;padding:.45rem .78rem;border-radius:999px;border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-background);color:inherit;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle__label{font-weight:700}.theme-toggle__state{display:inline-flex;align-items:center;justify-content:center;min-width:3.6rem;padding:.28rem .65rem;border-radius:999px;background:#d95d3929;color:var(--accent-dark);font-size:.85rem;font-weight:700}.signout-btn,.signin-link{display:inline-flex;align-items:center;min-height:2.35rem;padding:.45rem .78rem;border-radius:999px;font-size:inherit;font-weight:700;text-decoration:none;transition:opacity .15s,transform .14s ease;cursor:pointer}.signout-btn{border:1px solid var(--border);background:var(--theme-toggle-background);color:inherit;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.signout-btn:hover{transform:translateY(-1px)}.signin-link{border:none;background:var(--accent);color:#fff;box-shadow:var(--shadow)}.signin-link:hover{opacity:.88;transform:translateY(-1px)}.page-intro{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-intro h1,.metronome-pulse strong,.notation-card h2,.pattern-card h2{margin:.2rem 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--accent-dark);margin:0}.filter-panel,.pattern-card,.notation-card,.control-card,.empty-state{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.filter-panel{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;margin-bottom:1.5rem}.filter-panel label{display:grid;gap:.45rem;min-width:180px}.pattern-filters{align-items:flex-end}.pattern-filters__label{color:var(--text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem}.pattern-filters__features{display:flex;flex-direction:column;gap:.55rem;flex:1 1 100%}.pattern-filters__feature-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pattern-filters__feature-label{font-size:.8rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-filters__segments{display:flex;flex-shrink:0;border:1px solid var(--border);border-radius:999px;overflow:hidden}.pattern-filters__segment{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-left:1px solid var(--border);background:var(--surface-strong);color:var(--text-muted);cursor:pointer;font:inherit;font-size:.72rem;padding:.25rem .45rem;line-height:1;transition:background-color .12s ease,color .12s ease}.pattern-filters__segment:first-child{border-left:none}.pattern-filters__segment--active-any{background:var(--subtle-surface);color:inherit}.pattern-filters__segment--active-require{background:var(--accent);color:#fff}.pattern-filters__segment--active-exclude{background:var(--accent-dark);color:#fff}.pattern-filters__actions{margin-left:auto}.filter-panel select,input[type=range]{width:100%}select,input[type=range]{accent-color:var(--accent)}select{padding:.7rem .8rem;border-radius:14px;border:1px solid var(--input-border);background:var(--input-background);color:inherit}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem}.pattern-card{position:relative;display:flex;flex-direction:column;height:100%;padding:1.2rem}.pattern-card h2{margin:.65rem 0 0}.pattern-card__description{margin:.6rem 0 0;color:var(--text-muted)}.pattern-card__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:auto}.pattern-card__badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.pattern-card__badge{font-size:.8rem}.pattern-card__header,.notation-card__header,.tempo-header,.control-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.control-row--transport{flex-wrap:nowrap}.control-row--transport>*{flex:1 1 0;min-width:0}.pill,.status-chip{background:#d95d391f;color:var(--accent-dark);padding:.35rem .7rem;border-radius:999px;font-size:.9rem;font-weight:700}.pattern-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.2rem}.pattern-meta dt{color:var(--text-muted);font-size:.88rem}.pattern-meta dd{margin:.2rem 0 0;font-weight:700}.button-link,.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;padding:.45rem .8rem;font-size:.9rem;transition:transform .14s ease,background-color .14s ease}.button-link,.button-primary{background:var(--accent);color:#fff}.button-secondary{background:var(--surface-strong);border-color:var(--border);color:inherit}.button-link:hover,.button-primary:hover,.button-secondary:hover{transform:translateY(-1px)}.pattern-layout{display:flex;flex-direction:column;gap:.75rem}.pattern-layout__main{min-width:0}.pattern-layout__sidebar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}.pattern-layout__sidebar>*{flex:1 1 180px}.notation-card,.empty-state{padding:1.2rem}.control-card{padding:.65rem .85rem}.beat-strip{display:flex;align-items:center;gap:.45rem;margin:0 0 .65rem}.sidebar-nav{display:grid;gap:.6rem}.sidebar-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;border-radius:16px;color:var(--text-muted);border:1px solid transparent;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.sidebar-link:hover{transform:translate(2px);background:var(--subtle-surface);color:inherit}.sidebar-link--disabled{flex-direction:column-reverse;align-items:flex-start;justify-content:center;gap:.35rem;cursor:default;opacity:.62}.sidebar-link--disabled:hover{transform:none;background:transparent;color:var(--text-muted)}.sidebar-link__badge{align-self:flex-start;padding:.15rem .45rem;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border);color:var(--text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.sidebar-link.router-link-exact-active{background:#d95d3924;border-color:#d95d3938;color:var(--accent-dark)}.metronome-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:1rem}.metronome-layout--compact{grid-template-columns:minmax(0,1fr)}.basics-grid{display:grid;gap:1rem}.basics-card{gap:1rem}.basics-card__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:start}.basics-pill{max-width:100%;line-height:1.35}.metronome-hero{display:grid;gap:1rem;align-content:start}.metronome-pulse{display:grid;gap:.35rem;place-items:center;text-align:center;padding:2.5rem 1.5rem;min-height:320px;border-radius:28px;background:radial-gradient(circle at top,rgba(217,93,57,.24),transparent 52%),linear-gradient(180deg,rgba(255,255,255,.18),transparent 100%),var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}html[data-theme=dark] .metronome-pulse{background:var(--surface)}.metronome-pulse strong{font-size:clamp(4rem,10vw,7rem);line-height:1}.metronome-pulse__meter,.meter-copy{color:var(--text-muted)}.metronome-pulse .metronome-accent-map{width:min(100%,34rem);align-self:end}.meter-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 .8rem}.meter-button{padding:1rem;border-radius:18px;border:1px solid var(--input-border);background:var(--input-background);color:inherit;font-weight:700;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.meter-button:hover{transform:translateY(-1px)}.meter-button--active{background:#d95d3924;border-color:#d95d3966;color:var(--accent-dark)}.metronome-controls{display:grid;gap:.95rem;margin:1rem 0}.metronome-field{display:grid;gap:.45rem}.metronome-field__label{color:var(--accent-dark);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.metronome-select-shell{position:relative;display:block}.metronome-select-shell:after{content:"";position:absolute;right:1rem;top:50%;width:.52rem;height:.52rem;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:translateY(-65%) rotate(45deg);pointer-events:none}.metronome-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:3.15rem;border-radius:18px;border:1px solid var(--input-border);background:var(--input-background);color:var(--text-primary);padding:.82rem 2.7rem .82rem 1rem;font:inherit;font-weight:700;line-height:1.2;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.metronome-select:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 32%,var(--input-border))}.metronome-select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 72%,var(--input-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.metronome-accent-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(2.1rem,1fr));gap:.45rem;margin-top:1rem}.metronome-accent-map__pulse{display:inline-grid;place-items:center;min-height:2.2rem;border-radius:999px;border:1px solid var(--input-border);background:var(--input-background);color:var(--text-muted);font-weight:800;font-size:.82rem;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.metronome-accent-map__pulse.is-accented{border-color:color-mix(in srgb,var(--accent) 44%,var(--input-border));background:color-mix(in srgb,var(--accent) 14%,var(--input-background));color:var(--accent-dark)}.metronome-accent-map__pulse.is-active{transform:translateY(-1px) scale(1.04);border-color:color-mix(in srgb,var(--accent) 72%,var(--input-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}@media(max-width:980px){.app-layout,.metronome-layout{grid-template-columns:1fr}.app-sidebar{position:static}.metronome-pulse{min-height:240px}}@media(max-width:640px){.metronome-layout{gap:.75rem}.metronome-pulse{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"beat label" "beat meter" "map map";justify-items:start;place-items:center start;text-align:left;min-height:0;padding:.85rem 1rem;border-radius:20px}.metronome-pulse .eyebrow{grid-area:label;margin:0}.metronome-pulse strong{grid-area:beat;min-width:3.3rem;font-size:3rem;text-align:center}.metronome-pulse__meter{grid-area:meter;max-width:100%;line-height:1.35}.metronome-pulse .metronome-accent-map{grid-area:map;width:100%;margin-top:.55rem}}.beat-strip__beat{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:.45rem;border-radius:999px;background:var(--subtle-surface);transition:background .14s ease,transform .14s ease}.beat-strip__beat.is-active{background:linear-gradient(135deg,#d95d39,#ee8f52);color:#fff;transform:scaleY(1.6)}.notation-placeholder{min-height:220px;border:1px dashed var(--notation-border);border-radius:18px;padding:1rem;background:var(--notation-surface)}.notation-stage{position:relative}.notation-stage__viewport{max-height:26rem;overflow-x:auto;overflow-y:auto;padding-right:.25rem;scroll-behavior:smooth}.osmd-container{min-width:720px}.osmd-container svg{max-width:100%;height:auto}.osmd-container.is-hidden{display:none}@media(max-width:720px){.app-shell{padding-bottom:calc(var(--player-bar-current-height, calc(var(--player-bar-mobile-height, 260px) + env(safe-area-inset-bottom))) + 1rem)}.notation-card,.notation-placeholder,.notation-stage,.notation-stage__viewport,.osmd-container{min-width:0;max-width:100%}.notation-placeholder{padding:.25rem}.notation-stage__viewport{max-height:360px;overflow-x:hidden;overflow-y:auto;padding-right:0}.osmd-container svg{display:block;width:calc(100vw - 3.75rem);transform:translate(-.35rem)}}.toggle-row{display:flex;align-items:center;gap:.7rem;min-width:0;flex-wrap:wrap}.transport-loop-row{padding-top:.1rem;border-top:1px solid var(--border)}.toggle-row+.toggle-row{margin-top:.4rem}.toggle-row input[type=checkbox]{width:1.05rem;height:1.05rem}.xml-preview{margin-top:1rem}.xml-preview summary{cursor:pointer;color:var(--text-muted)}.xml-preview pre{overflow:auto;padding:1rem;border-radius:18px;background:var(--subtle-surface);white-space:pre-wrap;font-size:.82rem}.mobile-nav{position:sticky;top:5rem;z-index:19;display:grid;gap:.6rem;padding:1.1rem;border-radius:28px;background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:1.25rem;max-height:calc(100vh - 6rem);overflow-y:auto}.mobile-nav__links{display:grid;gap:.6rem}@media(max-width:820px){.app-sidebar{display:none}.app-layout{grid-template-columns:1fr}}.toggle-row{display:flex;gap:.65rem;align-items:center}.control-card{display:grid;gap:.5rem;min-width:0}.empty-state{display:grid;gap:1rem;justify-items:start}.player-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;align-items:center;gap:1.25rem;height:72px;padding:0 1.5rem;background:var(--surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid var(--border);box-shadow:0 -6px 32px #0000001a}html[data-theme=dark] .player-bar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 -1px 0 var(--border)}.player-bar__info{display:flex;flex-direction:column;gap:.1rem;min-width:120px;max-width:200px;border-right:1px solid var(--border);padding-right:1.25rem}.player-bar__context{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark)}.player-bar__title{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-bar__transport{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.player-bar__tempo{display:flex;align-items:center;gap:.6rem;flex:0 1 360px;border-left:1px solid var(--border);padding-left:1.25rem;min-width:0}.player-bar__tempo-track{display:flex;align-items:center;gap:.6rem;flex:1 1 auto;min-width:0}.player-bar__bpm{white-space:nowrap;font-size:.9rem;min-width:62px}.player-bar__bpm--leading{flex-shrink:0}.player-bar__bpm-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.player-bar__slider{flex:1;min-width:60px;max-width:180px;accent-color:var(--accent)}.player-bar__options{display:none;align-items:center;gap:1rem;flex-shrink:0;border-left:1px solid var(--border);padding-left:1.25rem}.player-bar__icon-image{display:block;width:1.1rem;height:1.1rem;object-fit:contain}.player-bar__icon-image--metronome{width:1.2rem;height:1.2rem}.player-bar__theme-icon{position:relative;display:inline-grid;place-items:center;width:1.2rem;height:1.2rem}.player-bar__icon-image--theme-dark,html[data-theme=dark] .player-bar__icon-image--theme-light{display:none}html[data-theme=dark] .player-bar__icon-image--theme-dark{display:block}.player-bar__bpm-badge,.player-bar__mobile-transport-extra,.player-bar__mobile-left-controls,.player-bar__mobile-transport-trailing{display:none}.player-bar__transport-trailing{display:inline-flex;align-items:center;gap:.75rem}.player-bar__mobile-tempo-extra{display:none}.player-bar__dial-image{display:block;width:1.75rem;height:1.75rem;object-fit:contain}.player-bar__bpm-badge-value{font-size:.82rem;font-weight:900;letter-spacing:.02em;color:#151515;text-shadow:0 1px 2px rgba(255,255,255,.2)}.player-bar__bpm-badge-label{font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#151515;text-shadow:0 1px 2px rgba(255,255,255,.2)}html[data-theme=dark] .player-bar__bpm-badge-value,html[data-theme=dark] .player-bar__bpm-badge-label{color:#f5f5f5;text-shadow:0 1px 2px rgba(0,0,0,.45)}.player-bar__looper-time{display:flex;align-items:center;flex-shrink:0;border-left:1px solid var(--border);padding-left:1.25rem}.player-bar__time{font-variant-numeric:tabular-nums;font-size:.9rem;display:flex;gap:.3rem;align-items:center}.player-bar__time-sep{color:var(--color-text-muted, #94a3b8)}.player-bar__loop-hint{font-size:.8rem;color:var(--accent);margin-left:.5rem;white-space:nowrap}.player-bar__info-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.player-bar__timer--in-info{display:none}.player-bar__timer--desktop{display:flex;align-items:center;gap:.55rem;border-left:1px solid var(--border);padding-left:1.25rem;flex-shrink:0}.player-bar__timer-trigger{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid var(--border);padding:.3rem .75rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-strong);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:transform .12s ease,color .12s ease}.player-bar__timer-trigger:hover{transform:translateY(-1px);color:inherit}.player-bar__timer-trigger svg{width:.9rem;height:.9rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.player-bar__timer-trigger--icon-only{padding:.3rem .45rem}.player-bar__timer-trigger--icon-only svg{width:1.1rem;height:1.1rem}.player-bar__timer-cancel{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);padding:.28rem .75rem;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-dark);cursor:pointer;white-space:nowrap;transition:transform .12s ease,background-color .12s ease}.player-bar__timer-cancel svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.player-bar__timer-cancel:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 18%,transparent)}.player-bar__timer-display{font-variant-numeric:tabular-nums}.pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;border:1px solid var(--border);padding:.4rem 1rem;font-size:.88rem;background:var(--surface-strong);color:inherit;cursor:pointer;white-space:nowrap;transition:transform .12s ease,background-color .12s ease}.pb-btn svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pb-btn:hover{transform:translateY(-1px)}.pb-btn:disabled{cursor:not-allowed;opacity:.52;transform:none}.pb-btn:disabled:hover{transform:none}.pb-btn--primary{background:var(--accent);color:#fff;border-color:transparent;min-width:76px}.pb-btn--primary svg{fill:currentColor;stroke:currentColor}.player-bar--pattern .player-bar__transport>.pb-btn--primary{width:3rem;height:3rem;min-width:0;padding:0;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,white) 0%,var(--accent) 100%);box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 28%,transparent)}html[data-theme=dark] .player-bar--pattern .player-bar__transport>.pb-btn--primary,html[data-theme=dark] .player-bar--pattern .player-bar__transport .pb-btn{box-shadow:none}.pb-btn--icon{width:2.65rem;height:2.65rem;padding:0}.player-bar__transport .pb-btn--icon{width:2.65rem;height:2.65rem}.player-bar__transport .pb-btn--icon svg{width:1.2rem;height:1.2rem}.pb-btn--sm{width:2.2rem;height:2.2rem;font-size:.82rem}.pb-btn--toggle.is-active{background:#d95d3924;border-color:#d95d396b;color:var(--accent-dark)}@media(min-width:721px){.player-bar--pattern .player-bar__transport>.player-bar__mobile-transport-extra--metronome{display:none}.player-bar--pattern .player-bar__transport .player-bar__transport-extra--metronome .player-bar__theme-icon,.player-bar--pattern .player-bar__transport .player-bar__transport-extra--metronome .player-bar__icon-image--metronome{width:1.35rem;height:1.35rem}.player-bar--pattern .player-bar__mobile-transport-extra--metronome .player-bar__theme-icon,.player-bar--pattern .player-bar__mobile-transport-extra--loop .player-bar__theme-icon,.player-bar--pattern .player-bar__mobile-transport-extra--count-in .player-bar__theme-icon{width:2.4rem;height:2.4rem}.player-bar--pattern .player-bar__mobile-transport-extra--metronome .player-bar__icon-image,.player-bar--pattern .player-bar__mobile-transport-extra--loop .player-bar__icon-image,.player-bar--pattern .player-bar__mobile-transport-extra--count-in .player-bar__icon-image{width:2.2rem;height:2.2rem}.player-bar--pattern .player-bar__mobile-transport-extra--metronome .player-bar__icon-image--metronome,.player-bar--pattern .player-bar__mobile-transport-extra--count-in .player-bar__icon-image--metronome{width:2.4rem;height:2.4rem}}@media(max-width:980px){.player-bar{height:auto;padding:.9rem 1rem;flex-wrap:wrap;justify-content:center}.player-bar__info,.player-bar__tempo,.player-bar__options{border:0;padding:0}.player-bar__info{align-items:center;text-align:center;max-width:none;width:100%}.player-bar__tempo{flex:1 1 220px;min-width:0}.player-bar__slider{max-width:none}}@media(max-width:720px){:root{--player-bar-mobile-height: 260px}.player-bar__mobile-transport-extra{display:inline-flex}.player-bar__mobile-left-controls{display:inline-flex;align-items:center;gap:.45rem}.player-bar__mobile-transport-trailing{display:inline-flex;align-items:center;gap:.9rem}.player-bar__mobile-tempo-extra{display:grid}.player-bar{gap:.8rem;padding:.8rem .85rem calc(.8rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 34%,transparent),color-mix(in srgb,var(--surface-strong) 52%,transparent) 42%,color-mix(in srgb,var(--surface) 78%,transparent));-webkit-backdrop-filter:blur(30px) saturate(1.1);backdrop-filter:blur(30px) saturate(1.1)}html[data-theme=dark] .player-bar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.player-bar__info{order:1;align-items:flex-end;text-align:right}.player-bar--looper .player-bar__info{order:1;width:100%;align-items:flex-end;text-align:right;display:none}.player-bar--looper .looper-transport-controls--compact{order:2;width:100%}.player-bar__context{letter-spacing:.14em}.player-bar__context--now-playing{display:none}.player-bar__title{font-size:1.05rem}.player-bar--pattern .player-bar__transport,.player-bar__options{width:100%}.player-bar--pattern .player-bar__transport{order:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.9rem;flex-wrap:nowrap}.player-bar--pattern .player-bar__transport>.pb-btn--primary{grid-column:2;justify-self:center}.player-bar--pattern .player-bar__transport>.player-bar__mobile-left-controls{grid-column:1;justify-self:end}.player-bar--pattern .player-bar__transport>.pb-btn:not(.pb-btn--primary):not(.player-bar__mobile-transport-extra){display:none}.player-bar--tempo-display-only .player-bar__info{display:none}.player-bar--pattern.player-bar--tempo-display-only .player-bar__transport>.pb-btn:not(.pb-btn--primary):not(.player-bar__mobile-transport-extra){display:inline-flex;grid-column:1;justify-self:end}.player-bar--pattern .player-bar__transport>.player-bar__transport-trailing{grid-column:3;justify-self:start}.player-bar--pattern .player-bar__transport .player-bar__transport-extra--metronome,.player-bar--pattern .player-bar__transport .player-bar__transport-extra--karaoke{display:none}.player-bar--pattern .player-bar__tempo{order:4;width:100%;border:0;padding:0;gap:.7rem;align-items:center}.player-bar__tempo-track{position:relative;flex:1;min-width:0;padding:.9rem 0;gap:.7rem;background:transparent}.player-bar__tempo-track .player-bar__bpm,.player-bar--pattern .player-bar__bpm--leading,.player-bar__bpm--desktop-metronome{display:none}.player-bar__slider{min-width:0}.player-bar__options{display:flex;order:3;justify-content:center;flex-wrap:wrap;gap:.55rem}.player-bar__options .pb-btn{padding-inline:.85rem;min-height:2.45rem;border-radius:999px;font-size:.82rem}.player-bar__option--metronome,.player-bar__option--loop,.player-bar__option--count-in{display:none}.player-bar--pattern .player-bar__transport .pb-btn{width:3.4rem;height:3.4rem;box-shadow:0 10px 28px #00000014}html[data-theme=dark] .player-bar--pattern .player-bar__transport .pb-btn{box-shadow:none}.player-bar--pattern .player-bar__transport .pb-btn svg{width:1.55rem;height:1.55rem}.player-bar--pattern .player-bar__transport .player-bar__theme-icon{width:1.6rem;height:1.6rem}.player-bar--pattern .player-bar__transport .player-bar__icon-image{width:1.55rem;height:1.55rem}.player-bar--pattern .player-bar__transport .player-bar__icon-image--metronome{width:1.68rem;height:1.68rem}.player-bar--pattern .player-bar__transport .player-bar__mobile-transport-extra--loop .player-bar__theme-icon{width:1.85rem;height:1.85rem}.player-bar--pattern .player-bar__transport .player-bar__mobile-transport-extra--loop .player-bar__icon-image{width:1.8rem;height:1.8rem}.player-bar--pattern .player-bar__transport .pb-btn--primary{width:4.35rem;height:4.35rem;min-width:0;background:linear-gradient(180deg,#ffb057,#ff9d43);color:#151515}.player-bar--pattern .player-bar__transport .pb-btn--primary svg{width:1.82rem;height:1.82rem}.player-bar__bpm-badge{position:absolute;left:50%;top:-.45rem;transform:translate(-50%);display:inline-flex;align-items:baseline;justify-content:center;gap:.25rem;width:auto;height:auto;flex-shrink:0;margin:0;padding:0;border:0;background:transparent;z-index:2}.player-bar__tempo .pb-btn--sm{width:2.8rem;height:2.8rem;flex-shrink:0}.player-bar__tempo-decrease{order:1}.player-bar__tempo-track{order:2}.player-bar__tempo-increase{order:3}.player-bar--tempo-display-only{gap:.5rem}.player-bar--tempo-display-only .player-bar__tempo{order:3;justify-content:center;width:100%;min-height:1.8rem;padding:0}.player-bar--tempo-display-only .player-bar__tempo-track{display:inline-flex;justify-content:center;flex:0 0 auto;padding:0}.player-bar--tempo-display-only .player-bar__tempo-track:before{content:none}.player-bar--tempo-display-only .player-bar__bpm-badge{position:static;transform:none;display:inline-flex;align-items:baseline;gap:.25rem;padding:.2rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong)}.player-bar__tempo-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 82%,transparent);opacity:.22;pointer-events:none;transform:translateY(-50%)}.player-bar__slider{position:relative;z-index:1;margin-top:0}.player-bar__timer--desktop{display:none}.player-bar__timer--in-info{display:flex;align-items:center;gap:.9rem;flex-shrink:0}.player-bar__timer--in-info .player-bar__timer-trigger,.player-bar__timer--in-info .player-bar__timer-cancel{width:3.1rem;height:2.3rem;min-height:0;justify-content:center;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 55%,transparent);box-shadow:none;padding:0}.player-bar__timer--in-info .player-bar__timer-cancel{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 18%,var(--surface-strong));width:auto;min-width:5.4rem;gap:.35rem;padding:0 .55rem}.player-bar__timer--in-info .player-bar__timer-trigger svg,.player-bar__timer--in-info .player-bar__timer-cancel svg{width:1.35rem;height:1.35rem}.player-bar__timer--in-info .player-bar__timer-cancel .player-bar__timer-display{display:inline}.player-bar__info--with-timer{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;text-align:left}.player-bar__info--with-timer .player-bar__info-text{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.player-bar__timer--in-info .player-bar__timer-cancel{font-size:.78rem}}
