:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 -apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}#root{min-height:100svh}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.content{flex:1;min-height:0;overflow-y:auto}.tab-bar{padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--hm-border);background:color-mix(in srgb, var(--hm-surface) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);gap:4px;display:flex}.tab-button{color:var(--hm-text-muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;transition:color .2s;display:flex}.tab-button:hover{color:var(--hm-text)}.tab-button:focus-visible{outline:none}.tab-button:focus-visible .tab-icon{outline:2px solid var(--hm-accent);outline-offset:2px}.tab-button.active{color:var(--hm-accent)}.tab-icon{border-radius:16px;place-items:center;width:60px;height:32px;transition:background-color .25s,transform .15s;display:grid}.tab-button:active .tab-icon{transform:scale(.94)}.tab-button.active .tab-icon{background:color-mix(in srgb, var(--hm-accent) 15%, transparent)}.tab-label{letter-spacing:.02em;font-size:.72rem;font-weight:600}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.home-tab{box-sizing:border-box;max-width:640px;color:var(--hm-text);flex-direction:column;gap:28px;margin:0 auto;padding:28px 16px 32px;display:flex}.home-tab__header h1{letter-spacing:-.01em;margin:0 0 6px;font-size:1.75rem;line-height:1.2}.home-tab__header p{color:var(--hm-text-muted);margin:0}.home-tab__section{flex-direction:column;gap:10px;display:flex}.home-tab__section-title{color:var(--hm-text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.home-tab__hint{color:var(--hm-text-muted);margin:0;font-size:.9rem}.home-tab__hint code{background:var(--hm-border);border-radius:4px;padding:1px 5px}.home-tab__links{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;overflow:hidden}.home-tab__link{width:100%;color:var(--hm-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;padding:14px 16px;display:flex}.home-tab__link+.home-tab__link{border-top:1px solid var(--hm-border)}.home-tab__link:hover{background:color-mix(in srgb, var(--hm-accent) 6%, transparent)}.home-tab__link:focus-visible{outline:2px solid var(--hm-accent);outline-offset:-2px}.home-tab__link-icon{background:color-mix(in srgb, var(--hm-accent) 12%, transparent);width:42px;height:42px;color:var(--hm-accent);border-radius:12px;flex:none;place-items:center;display:grid}.home-tab__link-text{flex-direction:column;flex:1;display:flex}.home-tab__link-text small{color:var(--hm-text-muted);font-size:.85rem}.home-tab__link-arrow{color:var(--hm-text-muted);font-size:1.4rem;line-height:1}.home-tab__section-title{align-items:center;gap:8px;display:flex}.home-tab__section-count{background:var(--hm-accent);color:#fff;letter-spacing:0;text-transform:none;border-radius:999px;padding:2px 8px;font-size:.7rem}.home-tab__error{color:var(--hm-danger);margin:0;font-size:.9rem}.home-card{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.home-card--loading{color:var(--hm-text-muted);font-size:.9rem}.home-card__title{align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;display:flex}.home-card__subtitle{color:var(--hm-text-muted);margin:6px 0 0;font-size:.8rem;font-weight:600}.home-card__hint{color:var(--hm-text-muted);margin:-6px 0 0;font-size:.8rem}.home-card--highlight{border-color:var(--hm-accent)}.home-card__count{color:var(--hm-text-muted);font-weight:500}.home-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.home-input{border:1px solid var(--hm-border);background:var(--hm-surface);min-width:0;color:var(--hm-text);font:inherit;border-radius:8px;flex:160px;padding:8px 10px}.home-input:focus-visible{outline:2px solid var(--hm-accent);outline-offset:-1px}.home-button{background:var(--hm-accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:.9rem;font-weight:600}.home-button:disabled{opacity:.55;cursor:default}.home-link-button{color:var(--hm-accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:.9rem}.home-link-button:disabled{opacity:.55;cursor:default}.home-link-button--danger{color:var(--hm-danger)}.home-link-button--small{font-size:.8rem}.home-button:focus-visible,.home-link-button:focus-visible,.home-song:focus-visible,.home-files__open:focus-visible{outline:2px solid var(--hm-accent);outline-offset:2px}.home-badge{background:color-mix(in srgb, var(--hm-accent) 15%, transparent);color:var(--hm-accent);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.home-banner{background:color-mix(in srgb, var(--hm-accent) 12%, transparent);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;display:flex}.home-banner--error{background:var(--hm-danger-soft);color:var(--hm-danger)}.home-banner__close{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1.3rem;line-height:1}.home-profile__who{align-items:center;gap:14px;display:flex}.home-profile__names{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.home-profile__handle{font-size:1.2rem}.home-profile__tag{color:var(--hm-text-muted);margin-left:1px;font-weight:400}.home-profile__invite{border-top:1px solid var(--hm-border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.home-name-form{flex-direction:column;gap:6px;width:100%;display:flex}.home-name-form__label{font-size:.9rem;font-weight:600}.home-friends{flex-direction:column;gap:10px;display:flex}.home-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-list__item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.home-list__item+.home-list__item{border-top:1px solid var(--hm-border)}.home-person{align-items:center;gap:10px;min-width:0;display:flex}.home-person__text{flex-direction:column;min-width:0;display:flex}.home-person__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.home-person__detail{color:var(--hm-text-muted);font-size:.8rem}.home-latest__top,.home-attempt__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.home-latest__headline{margin:0;font-weight:600}.home-score{font-size:1.6rem;font-weight:700;line-height:1}.home-score--up{color:#2e9e5b}.home-score--down{color:var(--hm-danger)}.home-counts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.home-counts__item{background:var(--hm-border);border-radius:999px;padding:3px 9px;font-size:.8rem}.home-counts__item--hit{background:#2e9e5b2e}.home-counts__item--close{background:#e0a10038}.home-counts__item--miss{background:#cf4b362e}.home-attempt__song{flex-direction:column;min-width:0;display:flex}.home-attempt__song small{color:var(--hm-text-muted);font-size:.85rem}.home-songs{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.home-song{border:1px solid var(--hm-border);background:var(--hm-surface);width:100%;height:100%;color:var(--hm-text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.home-song:hover{border-color:var(--hm-accent)}.home-song__title{font-weight:600}.home-song__meta{color:var(--hm-text-muted);font-size:.8rem}.home-song__scores{align-items:baseline;gap:8px;margin-top:2px;display:flex}.home-song__latest{font-size:1.1rem;font-weight:700}.home-song__change{font-size:.8rem;font-weight:600}.home-song__change--up{color:#2e9e5b}.home-song__change--down{color:var(--hm-danger)}.home-song__best{color:var(--hm-text-muted);margin-left:auto;font-size:.8rem}.home-attempts{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.home-attempt--new{border-color:var(--hm-accent)}.home-attempt__to{margin:0;font-weight:600}.home-attempt__to small{color:var(--hm-text-muted);font-weight:400}.home-thread{border-top:1px solid var(--hm-border);flex-direction:column;gap:10px;padding-top:10px;display:flex}.home-thread__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.home-thread__comment{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.home-thread__body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 0 38px}.home-thread__comment .home-link-button{margin-left:34px}.home-thread__form{align-items:flex-end;gap:8px;display:flex}.home-thread__input{resize:vertical}.home-files{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.home-files__item{align-items:center;gap:8px;padding-right:10px;display:flex}.home-files__item+.home-files__item{border-top:1px solid var(--hm-border)}.home-files__open{min-width:0;color:var(--hm-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:12px 14px;display:flex}.home-files__open:hover{background:color-mix(in srgb, var(--hm-accent) 6%, transparent)}.home-files__kind{background:color-mix(in srgb, var(--hm-accent) 12%, transparent);min-width:64px;color:var(--hm-accent);text-align:center;border-radius:6px;flex:none;padding:4px 6px;font-size:.7rem;font-weight:700}.home-files__text{flex-direction:column;min-width:0;display:flex}.home-files__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-files__text small{color:var(--hm-text-muted);font-size:.8rem}.home-page{--hp-bg:#f3f6fb;--hp-card:#fff;--hp-card-2:#f5f8fc;--hp-border:#dbe3ee;--hp-cyan:#0891b2;--hp-cyan-soft:#0891b21f;--hp-on-cyan:#fff;--hp-purple:#7c3aed;--hp-purple-soft:#7c3aed1f;--hp-text:#0f172a;--hp-muted:#5b6b80;--hp-hit:#059669;--hp-close:#b45309;--hp-miss:#e11d48;--hp-glow:0 0 0 1px #0891b240, 0 8px 30px -12px #0891b259;--hm-accent:var(--hp-cyan);--hm-surface:var(--hp-card);--hm-border:var(--hp-border);--hm-text:var(--hp-text);--hm-text-muted:var(--hp-muted);background:var(--hp-bg);min-height:100%;color:var(--hp-text)}@media (prefers-color-scheme:dark){.home-page{--hp-bg:#070d1a;--hp-card:#0d1729;--hp-card-2:#111e33;--hp-border:#1d2d47;--hp-cyan:#22d3ee;--hp-cyan-soft:#22d3ee1f;--hp-on-cyan:#04252c;--hp-purple:#a78bfa;--hp-purple-soft:#8b5cf62e;--hp-text:#eef2f8;--hp-muted:#93a2ba;--hp-hit:#34d399;--hp-close:#fbbf24;--hp-miss:#fb7185;--hp-glow:0 0 0 1px #22d3ee59, 0 10px 40px -14px #22d3ee73}}.home-tab.hp{gap:22px;max-width:1120px;padding:28px 20px 40px}.hp-muted{color:var(--hp-muted);margin:0;font-size:.92rem}.hp-small{font-size:.82rem}.hp-dot{opacity:.6;margin:0 4px}.hp-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hp-title{letter-spacing:-.02em;margin:0 0 6px;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;line-height:1.1}.hp-accent{color:var(--hp-cyan)}.hp-subtitle{color:var(--hp-muted);margin:0}.hp-account{border:1px solid var(--hp-border);background:var(--hp-card);color:var(--hp-text);font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-weight:600;display:inline-flex}.hp-account .hm-avatar{background:var(--hp-purple)}.hp-account:hover{border-color:var(--hp-cyan)}.hp-card{border:1px solid var(--hp-border);background:var(--hp-card);color:var(--hp-text);border-radius:18px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.hp-card--glow{box-shadow:var(--hp-glow);border-color:color-mix(in srgb, var(--hp-cyan) 45%, var(--hp-border))}.hp-card--loading{color:var(--hp-muted)}.hp-card__head,.hp-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.hp-section-head{margin-bottom:12px}.hp-card__title,.hp-section-title{align-items:center;gap:10px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.hp-section-title--pill{border:1px solid var(--hp-border);background:var(--hp-card);border-radius:999px;padding:6px 16px 6px 8px}.hp-card__icon{color:var(--hp-cyan);place-items:center;display:inline-grid}.hp-card__icon--bolt{color:var(--hp-cyan)}.hp-pill{border:1px solid var(--hp-border);background:var(--hp-card);color:var(--hp-muted);border-radius:999px;padding:5px 14px}.hp-pill--button{color:var(--hp-cyan);font:inherit;cursor:pointer;font-weight:600}.hp-link{color:var(--hp-cyan);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 2px;font-weight:600;display:inline-flex}.hp-button{background:var(--hp-cyan);color:var(--hp-on-cyan);font:inherit;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:700;display:inline-flex}.hp-button:hover{filter:brightness(1.08)}.hp-button--ghost{border:1px solid var(--hp-purple);color:var(--hp-purple);background:0 0}.hp-button--big{border-radius:16px;width:100%;padding:16px 22px;font-size:1.15rem}.hp-button--small{border-radius:10px;padding:7px 18px}.hp-chip{border:1px solid var(--hp-cyan);background:var(--hp-cyan-soft);color:var(--hp-cyan);font:inherit;cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:600}.hp-chip--vocal{border-color:var(--hp-purple);background:var(--hp-purple-soft);color:var(--hp-purple)}.hp-button:focus-visible,.hp-link:focus-visible,.hp-chip:focus-visible,.hp-account:focus-visible,.hp-pill--button:focus-visible,.hp-song:focus-visible,.hp-quick__card:focus-visible,.hp-trouble:focus-visible,.hp-kind:focus-visible,.hp-tab:focus-visible,.hp-back:focus-visible{outline:2px solid var(--hp-cyan);outline-offset:2px}.hp-art{border:1px solid var(--hp-border);width:64px;height:64px;color:var(--hp-cyan);background:linear-gradient(160deg, var(--hp-cyan-soft), transparent);border-radius:14px;flex:none;place-items:center;display:grid}.hp-art svg{width:34px;height:34px}.hp-art--vocal{color:var(--hp-purple);background:linear-gradient(160deg, var(--hp-purple-soft), transparent)}.hp-art--large{border-color:color-mix(in srgb, var(--hp-cyan) 40%, var(--hp-border));border-radius:18px;width:160px;height:180px}.hp-art--large.hp-art--vocal{border-color:color-mix(in srgb, var(--hp-purple) 40%, var(--hp-border))}.hp-art--large svg{width:110px;height:110px}.hp-continue{background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:0;display:grid}.hp-continue--empty{display:flex}.hp-continue__main{flex-direction:column;gap:12px;min-width:0;display:flex}.hp-continue__title{margin:0;font-size:1.6rem;font-weight:800;line-height:1.15}.hp-meta{color:var(--hp-muted);margin:0;font-size:.92rem}.hp-continue__main>.hp-meta{font-size:1rem}.hp-stats{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hp-stat{border:1px solid;border-radius:12px;flex-direction:column;align-items:center;min-width:92px;padding:8px 14px;font-size:.9rem;display:flex}.hp-stat strong{font-size:1.5rem;line-height:1.1}.hp-stat--hit{color:var(--hp-hit);background:color-mix(in srgb, var(--hp-hit) 10%, transparent)}.hp-stat--close{color:var(--hp-close);background:color-mix(in srgb, var(--hp-close) 10%, transparent)}.hp-stat--miss{color:var(--hp-miss);background:color-mix(in srgb, var(--hp-miss) 10%, transparent)}.hp-trouble{border:1px solid var(--hp-border);background:var(--hp-card-2);width:100%;color:var(--hp-text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.hp-trouble__icon{background:var(--hp-cyan-soft);width:40px;height:40px;color:var(--hp-cyan);border-radius:10px;flex:none;place-items:center;display:grid}.hp-trouble__text{flex-direction:column;flex:1;min-width:0;display:flex}.hp-trouble__text small{color:var(--hp-muted)}.hp-continue__side{flex-direction:column;align-items:center;gap:16px;min-width:220px;display:flex}.hp-ring{place-items:center;width:150px;height:150px;display:grid;position:relative}.hp-ring svg{width:100%;height:100%;position:absolute;inset:0}.hp-ring__track{fill:none;stroke:var(--hp-border);stroke-width:9px}.hp-ring__fill{fill:none;stroke:var(--hp-cyan);stroke-width:9px;stroke-linecap:round}.hp-ring__value{font-size:1.9rem;font-weight:800;line-height:1}.hp-ring__label{color:var(--hp-muted);font-size:.85rem;position:absolute;top:62%}.hp-songs{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.hp-songs>li{flex-direction:column;display:flex}.hp-song{width:100%;font:inherit;text-align:left;cursor:pointer;flex-direction:row;align-items:stretch}.hp-song:hover{border-color:var(--hp-cyan)}.hp-song .hp-art{width:80px;height:auto;min-height:120px}.hp-song .hp-art svg{width:46px;height:46px}.hp-song__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.hp-song__title{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:700;overflow:hidden}.hp-bar{background:var(--hp-border);border-radius:999px;height:8px;margin:8px 0 4px;overflow:hidden}.hp-bar span{border-radius:inherit;background:var(--hp-cyan);height:100%;display:block}.hp-bar--vocal span{background:var(--hp-purple)}.hp-song__scores{align-items:baseline;gap:8px;display:flex}.hp-song__scores>strong{font-size:1.15rem}.hp-song__sessions{align-self:flex-start;margin-top:6px;font-size:.85rem}.hp-song__best{color:var(--hp-muted);margin-left:auto;font-size:.85rem}.hp-song__best strong{color:var(--hp-text)}.hp-change{font-size:.8rem;font-weight:700}.hp-change--up{color:var(--hp-hit)}.hp-change--down{color:var(--hp-miss)}.hp-add{text-align:center;border-style:dashed;justify-content:center;align-items:center;width:100%}.hp-add__plus{border:1px solid var(--hp-border);background:var(--hp-card-2);border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.hp-add__actions{justify-content:center}.hp-quick{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;display:grid}.hp-quick__card{font:inherit;text-align:left;cursor:pointer;flex-direction:row;align-items:center;gap:16px}.hp-quick__card--guitar{border-color:color-mix(in srgb, var(--hp-cyan) 35%, var(--hp-border));background:linear-gradient(120deg, var(--hp-cyan-soft), var(--hp-card) 70%)}.hp-quick__card--vocal{border-color:color-mix(in srgb, var(--hp-purple) 35%, var(--hp-border));background:linear-gradient(120deg, var(--hp-purple-soft), var(--hp-card) 70%)}.hp-quick__card .hp-art{width:60px;height:60px}.hp-quick__card>svg{color:var(--hp-cyan)}.hp-quick__card--vocal>svg{color:var(--hp-purple)}.hp-quick__text{flex-direction:column;flex:1;display:flex}.hp-quick__text strong{font-size:1.25rem}.hp-quick__text small{color:var(--hp-muted);font-size:.92rem}.hp-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:14px;display:grid}.hp-tabs{border:1px solid var(--hp-border);background:var(--hp-card-2);border-radius:12px;align-self:flex-start;padding:3px;display:inline-flex}.hp-tab{color:var(--hp-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:6px 16px;font-weight:600;display:inline-flex}.hp-tab.is-on{background:var(--hp-cyan);color:var(--hp-on-cyan)}.hp-tab__count{background:var(--hp-miss);color:#fff;border-radius:999px;padding:0 6px;font-size:.72rem}.hp .home-attempts,[role=tabpanel]>ul{flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.hp-activity{flex-direction:column;gap:8px;display:flex}.hp-activity__box{border:1px solid var(--hp-border);background:var(--hp-card-2);border-radius:14px;gap:14px;padding:12px;display:flex}.hp-activity--new .hp-activity__box{border-color:var(--hp-cyan)}.hp-activity__body{flex-direction:column;gap:4px;min-width:0;display:flex}.hp-activity__title{font-size:1.02rem}.hp-kinds{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.hp-kind{border:1px solid var(--hp-border);background:var(--hp-card-2);width:100%;color:var(--hp-text);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.hp-kind:hover{border-color:var(--hp-cyan)}.hp-kind__icon{color:var(--hp-purple)}.hp-kind--teal .hp-kind__icon{color:var(--hp-cyan)}.hp-kind__icon svg{width:30px;height:30px}.hp-kind small{color:var(--hp-muted)}.hp-subpage{flex-direction:column;gap:14px;display:flex}.hp-back{border:1px solid var(--hp-border);background:var(--hp-card);color:var(--hp-cyan);font:inherit;cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:6px 12px 6px 6px;font-weight:600;display:inline-flex}.hp-subpage__title{margin:0;font-size:1.5rem}@media (width<=760px){.hp-continue{grid-template-columns:1fr}.hp-art--large{display:none}.hp-continue__side{flex-direction:row;min-width:0}.hp-ring{flex:none;width:110px;height:110px}.hp-ring__value{margin-top:-10px;font-size:1.4rem}.hp-ring__label{font-size:.72rem;top:60%}.hp-continue__side .hp-button--big{font-size:1rem}.hp-stat{flex:1;min-width:0}}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.hm-avatar{background:var(--hm-accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.hm-avatar img{object-fit:cover;width:100%;height:100%}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.account-card{border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-text);border-radius:12px;flex-direction:column;gap:18px;padding:20px;display:flex}.account-card__who{align-items:center;gap:14px;min-width:0;display:flex}.account-card__names{flex-direction:column;min-width:0;display:flex}.account-card__name{font-size:1.1rem;font-weight:600}.account-card__email,.account-card__method-text small{color:var(--hm-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.account-card__label{color:var(--hm-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:600}.account-card__list{border:1px solid var(--hm-border);border-radius:10px;margin:0;padding:0;list-style:none}.account-card__method{align-items:center;gap:12px;padding:10px 12px;display:flex}.account-card__method+.account-card__method{border-top:1px solid var(--hm-border)}.account-card__icon{color:var(--hm-text);display:inline-flex}.account-card__method-text{flex-direction:column;flex:1;min-width:0;font-size:.95rem;display:flex}.account-card__status{color:var(--hm-accent);font-size:.85rem;font-weight:600}.account-card__connect{border:1px solid var(--hm-border);color:var(--hm-text);font:inherit;cursor:pointer;background:0 0;border-radius:16px;padding:6px 14px;font-size:.85rem;font-weight:600}.account-card__connect:hover:not(:disabled){border-color:var(--hm-accent);color:var(--hm-accent)}.account-card__hint{color:var(--hm-text-muted);margin:8px 0 0;font-size:.8rem}.account-card__error{background:var(--hm-danger-soft);color:var(--hm-danger);border-radius:8px;margin:0;padding:10px 12px;font-size:.875rem}.account-card__signout{border:1px solid var(--hm-border);color:var(--hm-text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:8px 16px;font-size:.9rem;font-weight:600}.account-card__signout:hover:not(:disabled){border-color:var(--hm-danger);color:var(--hm-danger)}.account-card button:disabled{opacity:.6;cursor:progress}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.auth-card{border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-text);border-radius:12px;padding:20px}.auth-card__title{margin:0;font-size:1.125rem;font-weight:600}.auth-card__text{color:var(--hm-text-muted);margin:4px 0 16px;font-size:.9rem}.auth-card__buttons{flex-direction:column;gap:10px;display:flex}.auth-card__error{background:var(--hm-danger-soft);color:var(--hm-danger);border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:.875rem}.oauth-button{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:22px;justify-content:center;align-items:center;gap:12px;width:100%;height:44px;padding:0 16px;font-family:Roboto,-apple-system,Segoe UI,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;transition:background-color .15s;display:flex}.oauth-button:hover:not(:disabled){background:#f2f2f2}.oauth-button:focus-visible{outline:2px solid var(--hm-accent);outline-offset:2px}.oauth-button:disabled{opacity:.6;cursor:progress}.oauth-button--github{color:#fff;background:#24292f;border-color:#24292f}.oauth-button--github:hover:not(:disabled){background:#32383f}@media (prefers-color-scheme:dark){.oauth-button--google{color:#e3e3e3;background:#131314;border-color:#8e918f}.oauth-button--google:hover:not(:disabled){background:#232325}.oauth-button--github{border-color:#8e918f}}.guitar-tab{box-sizing:border-box;flex-direction:column;height:100%;display:flex}.guitar-tab__views{background:#e2dfd8;border-radius:10px;align-self:center;gap:4px;margin:12px 16px 0;padding:4px;display:flex}.guitar-tab__view{color:#6c6a72;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 20px;font-weight:600}.guitar-tab__view--active{color:#128789;background:#fff}.guitar-tab__body{flex:1;min-height:0;overflow-y:auto}.guitar-tab__back{color:#128789;font:inherit;cursor:pointer;background:0 0;border:none;margin:10px 16px 0;padding:0;font-weight:600;display:block}.guitar-tab__loading{text-align:center;color:#6c6a72}.guitar-tab__top{justify-content:space-between;align-items:center;gap:8px;margin:12px 16px 0;display:flex}.guitar-tab__top .guitar-tab__views{margin:0}@media (width<=480px){.guitar-tab__top .guitar-tab__view{padding:6px 7px;font-size:.9rem}.guitar-tab__top .account-chip{max-width:30%}}@media (width<=440px){.guitar-tab__top .account-chip:has(.hm-avatar){padding:0 4px}.guitar-tab__top .account-chip:has(.hm-avatar) .account-chip__name{display:none}}@media (width<=380px){.guitar-tab__top .account-chip{padding:0 4px}.guitar-tab__top .account-chip__name{display:none}}.tuner{box-sizing:border-box;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:440px;margin:0 auto;padding:24px 16px;display:flex}.tuner__header{text-align:center}.tuner__header h2{margin:0;font-size:1.5rem}.tuner__header p{color:#6c6a72;margin:4px 0 0;font-size:.9rem}.tuner__strings{grid-template-columns:repeat(6,1fr);gap:8px;width:100%;display:grid}.tuner__string{color:#24242c;font:inherit;cursor:pointer;background:#fff;border:2px solid #e2dfd8;border-radius:10px;flex-direction:column;align-items:center;padding:8px 0;display:flex}.tuner__string-label{font-size:1.2rem;font-weight:600;line-height:1.2}.tuner__string-sub{color:#6c6a72;font-size:.75rem}.tuner__string--active{background:#e3f3f3;border-color:#128789}.tuner__string--locked{border-color:#24242c}.tuner__string--done .tuner__string-sub{color:#1d6b3d;font-weight:700}.tuner__mode{color:#6c6a72;margin:-8px 0 0;font-size:.8rem}.tuner__meter{width:100%}.tuner__scale{color:#6c6a72;font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.7rem;display:flex}.tuner__track{background:linear-gradient(90deg,#f8d9d3,#fbeccc 38%,#d5f0df 45% 55%,#fbeccc 62%,#f8d9d3);border-radius:8px;height:36px;position:relative}.tuner__center{background:#1d6b3d;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.tuner__needle{background:#24242c;border-radius:2px;width:4px;margin-left:-2px;transition:left 60ms linear;position:absolute;top:-4px;bottom:-4px}.tuner__meter--in-tune .tuner__needle{background:#1d6b3d}.tuner__readout{flex-direction:column;justify-content:center;align-items:center;min-height:72px;display:flex}.tuner__note{font-size:2.2rem;font-weight:700;line-height:1.1}.tuner__cents{font-variant-numeric:tabular-nums;color:#6c6a72}.tuner__readout--in-tune .tuner__cents{color:#1d6b3d;font-weight:600}.tuner__readout--off .tuner__cents{color:#8f2c1c}.tuner__hint{color:#6c6a72}.tuner__error{color:#cf4b36;text-align:center;font-size:.9rem}.tuner__button{color:#fff;font:inherit;cursor:pointer;background:#128789;border:none;border-radius:8px;padding:10px 32px;font-weight:600}.tuner__button--stop{background:#24242c}.tuner__button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.account-chip{border:1px solid var(--hm-border);background:var(--hm-surface);max-width:45%;height:34px;color:var(--hm-text);font:inherit;cursor:pointer;border-radius:17px;flex:none;align-items:center;gap:8px;padding:0 12px 0 5px;font-size:.85rem;font-weight:600;display:inline-flex}.account-chip:hover{border-color:var(--hm-accent)}.account-chip:not(:has(.hm-avatar)){padding:0 14px}.account-chip__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chord-diagram{width:100%;max-width:220px;height:auto;display:block}.chord-diagram__nut{stroke:var(--hm-text);stroke-width:6px;stroke-linecap:square}.chord-diagram__fret,.chord-diagram__string{stroke:var(--hm-text-muted);stroke-width:1.5px}.chord-diagram__open{fill:none;stroke:var(--hm-text);stroke-width:1.8px}.chord-diagram__mute,.chord-diagram__name{fill:var(--hm-text-muted);text-anchor:middle;font-size:13px}.chord-diagram__dot circle{fill:var(--practice-good);stroke:var(--practice-good-strong);stroke-width:1.5px}.chord-diagram__dot text{fill:#fff;text-anchor:middle;font-size:12px;font-weight:700}.chord-diagram__barre{fill:var(--practice-good);opacity:.55}.chord-diagram--pulse .chord-diagram__dot{transform-box:fill-box;transform-origin:50%;animation:.5s ease-in-out 3 chord-dot-pulse}@keyframes chord-dot-pulse{50%{transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.chord-diagram--pulse .chord-diagram__dot{animation:none}}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.exercises{--practice-good:#6a9f4e;--practice-good-strong:#4f7d38;--practice-bad:#c8553d;--practice-ink:#1f1c1a;box-sizing:border-box;max-width:760px;color:var(--hm-text);margin:0 auto;padding:16px}@media (prefers-color-scheme:dark){.exercises{--practice-ink:#0f0f12}}.exercises__pick{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.exercises__pick button{border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-text-muted);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:600}.exercises__pick button[aria-pressed=true]{border-color:var(--hm-accent);color:var(--hm-accent);box-shadow:inset 0 0 0 1px var(--hm-accent)}.exercises__picks{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:680px;display:flex}.exercises__hint{color:var(--hm-text-muted);text-align:center;margin:0;font-size:.85rem}.exercises__pick-chords{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.exercises__pick-chord{border:1px solid var(--hm-border);background:var(--hm-surface);min-width:3.4em;color:var(--hm-text-muted);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;padding:4px 8px;display:flex}.exercises__pick-chord small{font-size:.7rem}.exercises__pick-chord[aria-pressed=true]{border-color:var(--hm-accent);color:var(--hm-accent);box-shadow:inset 0 0 0 1px var(--hm-accent)}.exercises__card{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;overflow:hidden}.exercises__header{background:var(--practice-ink);color:#f2f1ee;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:.95rem;display:flex}.exercises__count{color:#d99a5b;white-space:nowrap;font-size:.8rem}.exercises__intro,.exercises__question,.exercises__done{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex}.exercises__lead{max-width:360px;color:var(--hm-text-muted);margin:0;font-size:.9rem}.exercises__levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:680px;display:grid}@media (width<=480px){.exercises__levels{grid-template-columns:minmax(0,1fr)}}.exercises__level{border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.exercises__level.is-active{background:color-mix(in srgb, #c07a3e 14%, var(--hm-surface));border:2px solid #c07a3e}.exercises__level-top{justify-content:space-between;gap:8px;display:flex}.exercises__level-top strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.exercises__level-top small{color:#c07a3e;white-space:nowrap;font-weight:700}.exercises__level-text{color:var(--hm-text-muted);font-size:.8rem}.exercises__primary{background:var(--hm-accent);color:#fff;min-width:140px;font:inherit;cursor:pointer;border:none;border-radius:22px;padding:10px 22px;font-weight:700}.exercises__secondary,.exercises__quit{border:1px solid var(--hm-border);color:var(--hm-text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:.85rem}.exercises__secondary:hover,.exercises__level:hover,.exercises__choice:enabled:hover{border-color:var(--hm-accent)}.exercises__quit{color:var(--hm-text-muted);border-style:dashed}.exercises__dots{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.exercises__dot{border:2px solid var(--hm-border);border-radius:50%;width:12px;height:12px}.exercises__dot.is-current{border-color:var(--hm-accent)}.exercises__dot.is-correct{border-color:var(--practice-good-strong);background:var(--practice-good)}.exercises__dot.is-wrong{border-color:var(--practice-bad);background:var(--practice-bad)}.exercises__listen{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.exercises__play{border:2px solid var(--hm-accent);background:color-mix(in srgb, var(--hm-accent) 12%, var(--hm-surface));color:var(--hm-accent);font:inherit;cursor:pointer;border-radius:26px;padding:12px 26px;font-size:1.05rem;font-weight:700}.exercises__prompt{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700}.exercises__choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:420px;display:grid}.exercises__choice{border:2px solid var(--hm-border);background:var(--hm-surface);min-height:56px;color:var(--hm-text);font:inherit;cursor:pointer;border-radius:12px;padding:10px;font-size:1.05rem;font-weight:700}.exercises__choice:disabled{cursor:default}.exercises__choice.is-correct{border-color:var(--practice-good-strong);background:var(--practice-good);color:#fff}.exercises__choice.is-wrong{border-color:var(--practice-bad);background:var(--practice-bad);color:#fff}.exercises__choice.is-dim{opacity:.45}.exercises__reveal{flex-direction:column;align-items:center;gap:12px;width:100%;animation:.25s ease-out exercises-reveal;display:flex}@keyframes exercises-reveal{0%{opacity:0;transform:translateY(6px)}}.exercises__verdict{margin:0;font-size:1.05rem}.exercises__verdict.is-correct{color:var(--practice-good-strong)}.exercises__verdict.is-wrong{color:var(--practice-bad)}@media (prefers-color-scheme:dark){.exercises__verdict.is-correct{color:var(--practice-good)}}.exercises__shape{width:100%;max-width:180px;color:var(--hm-text-muted);flex-direction:column;align-items:center;gap:4px;font-size:.8rem;display:flex}.exercises__compare,.exercises__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.exercises__score{margin:0;font-size:1.1rem}.exercises__score strong{font-family:Georgia,Times New Roman,serif;font-size:2.2rem}.exercises__chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.exercises__chip{border:2px solid var(--practice-bad);color:var(--hm-text);font:inherit;cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;display:flex}.exercises__chip small{color:var(--hm-text-muted);font-size:.75rem}.exercises__error{color:var(--practice-bad);text-align:center;margin:0;padding:0 16px 16px;font-size:.85rem}.exercises__sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.exercises__reveal{animation:none}}:root{--hm-accent:#128789;--hm-surface:#fff;--hm-border:#e2dfd8;--hm-text:#24242c;--hm-text-muted:#6c6a72;--hm-danger:#b53a27;--hm-danger-soft:#fbeae6}@media (prefers-color-scheme:dark){:root{--hm-accent:#3fb6b8;--hm-surface:#1e1e24;--hm-border:#3a3a42;--hm-text:#f2f1ee;--hm-text-muted:#a6a4ad;--hm-danger:#f28b78;--hm-danger-soft:#3a1f1b}}.fretboard{--fb-wood:#e9dcc6;--fb-wire:#b9ab93;--fb-nut:#6c6a72;--fb-string:#8a8478;--fb-note:#fff;--fb-note-text:#24242c;box-sizing:border-box;color:var(--hm-text);flex-direction:column;gap:14px;padding:16px;display:flex}@media (prefers-color-scheme:dark){.fretboard{--fb-wood:#3a3128;--fb-wire:#6f6455;--fb-nut:#cfc8bb;--fb-string:#a49c8e;--fb-note:#26262d;--fb-note-text:#f2f1ee}}.fretboard__controls{flex-wrap:wrap;align-items:flex-end;gap:12px 20px;display:flex}.fretboard__control{flex-direction:column;gap:4px;display:flex}.fretboard__control-label{color:var(--hm-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.fretboard__select{border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-text);font:inherit;border-radius:8px;padding:8px 10px}.fretboard__toggle{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:10px;padding:3px;display:inline-flex}.fretboard__toggle-button{color:var(--hm-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:.9rem;font-weight:600}.fretboard__toggle-button.is-on{background:var(--hm-accent);color:#fff}.fretboard__select:focus-visible,.fretboard__toggle-button:focus-visible,.fretboard__clear:focus-visible{outline:2px solid var(--hm-accent);outline-offset:2px}.fretboard__tuning-note{color:var(--hm-text-muted);margin:0;font-size:.9rem}.fretboard__tuning-note strong{color:var(--hm-text);letter-spacing:.04em}.fretboard__scroll{border:1px solid var(--hm-border);background:var(--hm-surface);-webkit-overflow-scrolling:touch;border-radius:12px;overflow:auto}.fretboard__scroll--vertical{align-self:center;max-width:100%}.fretboard__neck{margin:0 auto;display:block}.fb-wood{fill:var(--fb-wood)}.fb-wire{stroke:var(--fb-wire);stroke-width:2px}.fb-nut{stroke:var(--fb-nut);stroke-width:6px}.fb-string{stroke:var(--fb-string)}.fb-fret-number{fill:var(--hm-text-muted);font-size:11px}.fb-fret-number.is-marked{fill:var(--hm-accent);font-size:12px;font-weight:700}.fb-link{fill:none;stroke:var(--hm-accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6 5;opacity:.55}.fb-link.is-chosen{stroke-dasharray:none;opacity:.9}.fb-note{cursor:pointer;transition:opacity .15s}.fb-note circle{fill:var(--fb-note);stroke:var(--fb-wire);stroke-width:1px}.fb-note text{fill:var(--fb-note-text);pointer-events:none;font-size:11px;font-weight:600}.fb-note.is-open circle{stroke-dasharray:3 2}.fb-note:hover circle{stroke:var(--hm-accent);stroke-width:2px}.fb-note:focus{outline:none}.fb-note:focus-visible circle{stroke:var(--hm-accent);stroke-width:3px}.fb-note.is-faded{opacity:.2}.fb-note.is-match circle{fill:color-mix(in srgb, var(--hm-accent) 25%, var(--fb-note));stroke:var(--hm-accent);stroke-width:2px}.fb-note.is-chosen circle{fill:var(--hm-accent);stroke:var(--hm-accent);stroke-width:4px;stroke-opacity:.35}.fb-note.is-chosen text{fill:#fff}.fretboard__info{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.fretboard__info-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fretboard__info-title{margin:0;font-size:1.2rem}.fretboard__info-title small{color:var(--hm-text-muted);margin-left:6px;font-size:.9rem;font-weight:500}.fretboard__clear{color:var(--hm-accent);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:600}.fretboard__hint{color:var(--hm-text-muted);margin:0;font-size:.9rem}.fretboard__moves,.fretboard__octaves{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fretboard__moves li{border-left:3px solid var(--hm-accent);border-radius:0;flex-direction:column;gap:2px;padding-left:10px;display:flex}.fretboard__moves li span{color:var(--hm-text-muted);font-size:.9rem}.fretboard__octaves li{font-size:.9rem}.strum-drill__steps{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.strum-drill__steps button{border:1px solid var(--hm-border);color:var(--hm-text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:.8rem}.strum-drill__steps button.is-active{border-color:var(--hm-accent);color:var(--hm-accent);font-weight:600}.strum-drill__card{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.strum-drill__text,.strum-drill__result p{margin:0;line-height:1.45}.strum-drill__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.strum-drill__primary,.strum-drill__secondary{font:inherit;cursor:pointer;border-radius:999px;padding:6px 16px}.strum-drill__primary{background:var(--hm-accent,#128789);color:#fff;border:none;font-weight:600}.strum-drill__secondary{border:1px solid var(--hm-border);color:var(--hm-text);background:0 0;font-size:.85rem}.strum-drill__live{font-variant-numeric:tabular-nums;font-weight:600}.strum-drill__hint{color:var(--hm-text-muted);margin:0;font-size:.9rem}.strum-drill__error{color:var(--practice-bad,#c8553d);margin:0}.strum-drill__result{flex-direction:column;gap:8px;display:flex}.strum-drill__beats{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.strum-drill__beat{color:#fff;border-radius:6px;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.strum-drill__beat--on{background:var(--practice-good,#6a9f4e)}.strum-drill__beat--early,.strum-drill__beat--late{background:#e0a100}.strum-drill__beat--missed{background:var(--hm-border,#e2dfd8);color:var(--hm-text-muted)}.strum-lane{align-items:stretch;gap:16px;display:flex}.strum-lane__track{background:color-mix(in srgb, var(--hm-border,#e2dfd8) 60%, transparent);border-radius:18px;width:36px;height:120px;position:relative}.strum-lane__hand{background:var(--hm-accent,#128789);border-radius:50% 50% 50% 0;width:24px;height:24px;position:absolute;top:8px;left:6px;transform:rotate(-45deg)}.strum-lane__hand--moving{animation-name:strum-swing;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:backwards}@keyframes strum-swing{0%{top:8px}50%{top:88px}to{top:8px}}.strum-lane__arrows{text-align:center;flex:1;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;margin:0;padding:0;font-size:1.6rem;list-style:none;display:grid}.strum-lane__arrows small{color:var(--hm-text-muted);font-size:.7rem;display:block}.strum-lane__arrow--hit{color:var(--hm-text);font-weight:700}.strum-lane__arrow--ghost{color:var(--hm-border)}@media (prefers-reduced-motion:reduce){.strum-lane__hand--moving{animation:none}}.check-banner{border-top:1px solid var(--hm-border);background:var(--practice-bar);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.check-banner__status{align-items:center;gap:10px;margin:0;font-weight:600;display:flex}.check-banner__icon{border:2px solid var(--hm-border);width:32px;height:32px;color:var(--hm-text-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.check-banner--verified .check-banner__icon{border-color:var(--practice-good-strong);background:var(--practice-good);color:#fff}.check-banner--wrong .check-banner__icon{border-color:var(--practice-bad);background:var(--practice-bad);color:#fff}.check-banner__actions{gap:8px;display:flex}.check-banner__actions button{border:1px solid var(--hm-border);background:var(--hm-surface);min-width:64px;color:var(--hm-text);font:inherit;cursor:pointer;border-radius:8px;padding:7px 14px;font-size:.9rem}.check-banner__actions button:hover:not(:disabled){border-color:var(--hm-accent)}.check-banner__actions button:disabled{opacity:.6;cursor:progress}.check-banner__actions .check-banner__primary{border-color:var(--hm-accent);background:var(--hm-accent);color:#fff;font-weight:600}.practice__tab{margin:8px 0 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;line-height:1.5}.play-run{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:18px 16px 20px;display:flex}.play-run--idle,.play-run--done{padding:32px 16px}.play-run__progression{letter-spacing:.02em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:700}.play-run__hint{max-width:320px;color:var(--hm-text-muted);margin:0;font-size:.9rem}.play-run__primary{background:var(--hm-accent);color:#fff;min-width:140px;font:inherit;cursor:pointer;border:none;border-radius:22px;padding:10px 22px;font-weight:700}.play-run__top{width:100%;color:var(--hm-text-muted);justify-content:space-between;font-size:.85rem;display:flex}.play-run__next{font-weight:600}.play-run__stage{flex-direction:column;align-items:center;width:100%;max-width:240px;display:flex;position:relative}.play-run__chord{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.play-run__countdown{background:color-mix(in srgb, var(--hm-surface) 78%, transparent);color:var(--hm-accent);border-radius:12px;place-items:center;font-size:4.5rem;font-weight:800;animation:1s ease-out play-count;display:grid;position:absolute;inset:0}@keyframes play-count{0%{opacity:.3;transform:scale(1.25)}}.play-run__bar{background:var(--hm-border);border-radius:3px;width:100%;max-width:320px;height:6px;overflow:hidden}.play-run__bar span{background:var(--hm-accent);transform-origin:0;border-radius:3px;height:100%;animation:linear forwards play-bar;display:block}@keyframes play-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.play-run__dots,.play-run__chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.play-run__dot{border:2px solid var(--hm-border);min-width:38px;color:var(--hm-text-muted);border-radius:16px;padding:5px 8px;font-size:.8rem;font-weight:700}.play-run__dot.is-current{border-color:var(--hm-accent);color:var(--hm-text)}.play-run__dot--verified,.play-run__chip--verified .play-run__chip-mark{border-color:var(--practice-good-strong);background:var(--practice-good);color:#fff}.play-run__dot--wrong,.play-run__chip--wrong .play-run__chip-mark{border-color:var(--practice-bad);background:var(--practice-bad);color:#fff}.play-run__stop{border:1px solid var(--hm-border);color:var(--hm-text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 16px;font-size:.85rem}.play-run__score{margin:0;font-size:1.1rem}.play-run__score strong{font-family:Georgia,Times New Roman,serif;font-size:2.2rem}.play-run__chip{flex-direction:column;align-items:center;gap:4px;min-width:64px;display:flex}.play-run__chip-mark{border:2px solid var(--hm-border);width:36px;height:36px;color:var(--hm-text-muted);border-radius:50%;place-items:center;font-weight:700;display:grid}.play-run__chip small{color:var(--hm-text-muted);font-size:.75rem}@media (prefers-reduced-motion:reduce){.play-run__countdown{animation:none}}.practice-run__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.practice-run__status{min-height:1.4em;color:var(--hm-text-muted);margin:0;font-size:.9rem;font-weight:600}.practice-run__status--verified{color:var(--practice-good-strong)}.practice-run__status--wrong{color:var(--practice-bad)}.string-states__label{color:var(--hm-text-muted);margin-bottom:8px;font-size:.8rem;display:block}.string-states__row{gap:8px;margin:0;padding:0;list-style:none;display:flex}.string-states__dot{border:2px solid var(--hm-border);width:34px;height:34px;color:var(--hm-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.string-states__dot--good{border-color:var(--practice-good-strong);background:var(--practice-good);color:#fff}.string-states__dot--bad{border-color:var(--practice-bad);background:var(--practice-bad);color:#fff}.string-states__dot--muted{opacity:.35}.chord-transition{width:100%;max-width:200px;margin:0 auto;display:block}.chord-transition__nut{stroke:var(--hm-text,#24242c);stroke-width:5px}.chord-transition__fret{stroke:var(--hm-border,#e2dfd8);stroke-width:2px}.chord-transition__string{stroke:var(--hm-text-muted,#6c6a72);stroke-width:1.5px}.chord-transition__open{fill:none;stroke:var(--hm-text-muted,#6c6a72);stroke-width:1.5px}.chord-transition__mute,.chord-transition__name{fill:var(--hm-text-muted,#6c6a72);text-anchor:middle;font-size:13px}.chord-transition__name{fill:var(--hm-text,#24242c);font-weight:700}.chord-transition__dot{transition:transform .6s ease-in-out,opacity .4s ease-in-out}.chord-transition__dot circle{fill:var(--practice-good,#6a9f4e);stroke:var(--practice-good-strong,#4f7d38);stroke-width:1.5px}.chord-transition__dot text{fill:#fff;text-anchor:middle;font-size:12px;font-weight:700}.chord-transition__dot--anchor circle{fill:#128789;stroke:#0d6466;stroke-width:3px}@media (prefers-reduced-motion:reduce){.chord-transition__dot{transition:none}}.changes-run{padding:14px 16px 18px}.changes-run__pair{flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;display:flex}.changes-run__pair select{font:inherit;border-radius:6px;padding:2px 6px}.changes-run__body{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.changes-run__shape{flex-direction:column;flex:0 200px;align-items:center;gap:8px;display:flex}.changes-run__panel{flex-direction:column;flex:240px;align-items:flex-start;gap:10px;display:flex}.changes-run__tip{margin:0;font-weight:600}.changes-run__hint,.changes-run__counts{color:var(--hm-text-muted);margin:0;font-size:.9rem}.changes-run__primary,.changes-run__secondary{font:inherit;cursor:pointer;border-radius:999px;padding:6px 16px}.changes-run__primary{background:var(--hm-accent,#128789);color:#fff;border:none;font-weight:600}.changes-run__secondary{border:1px solid var(--hm-border);color:var(--hm-text);background:0 0;font-size:.85rem}.changes-run__secondary:disabled{opacity:.5;cursor:default}.changes-run__countdown{color:var(--hm-accent,#128789);font-size:3rem;font-weight:700}.changes-run__time{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:600}.changes-run__tap{background:var(--practice-good,#6a9f4e);color:#fff;width:min(100%,260px);font:inherit;cursor:pointer;border:none;border-radius:16px;flex-direction:column;align-items:center;padding:18px 12px;font-size:1.3rem;font-weight:700;display:flex}.changes-run__tap small{font-variant-numeric:tabular-nums;font-size:2rem}.changes-run__tap:active{transform:scale(.98)}.changes-run__score{margin:0;font-size:1.1rem}.changes-run__locked,.changes-run__error{color:var(--hm-text-muted);margin:16px}.changes-run__error{color:var(--practice-bad,#c8553d)}.practice{--practice-good:#6a9f4e;--practice-good-strong:#4f7d38;--practice-bad:#c8553d;--practice-warn:#e3b341;--practice-warn-ink:#3a2c05;--practice-bar:#efece5;--practice-ink:#1f1c1a;box-sizing:border-box;max-width:760px;color:var(--hm-text);flex-direction:column;gap:14px;margin:0 auto;padding:16px;display:flex}@media (prefers-color-scheme:dark){.practice{--practice-bar:#26262d;--practice-ink:#0f0f12}}.practice__lesson{border:1px solid var(--hm-border);background:var(--hm-surface);border-radius:12px;overflow:hidden}.practice__header{background:var(--practice-ink);color:#f2f1ee;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.95rem;display:flex}.practice__chords{flex-wrap:wrap;gap:6px;padding:10px 16px 0;display:flex}.practice__chords button,.practice__labels button{border:1px solid var(--hm-border);color:var(--hm-text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:14px;padding:4px 12px;font-size:.85rem;font-weight:600}.practice__chords button.is-active,.practice__labels button.is-active{border-color:var(--hm-accent);background:var(--hm-accent);color:#fff}.practice__chords button:disabled{opacity:.5;cursor:not-allowed}.practice__chord-pill--passed:not(.is-active){border-color:var(--practice-good);color:var(--practice-good-strong)}.practice__chord-mark{margin-left:4px;font-size:.75rem}.practice__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px;display:grid}@media (width<=560px){.practice__body{grid-template-columns:minmax(0,1fr)}}.practice__chord{flex-direction:column;gap:14px;display:flex}.practice__chord-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.practice__chord-top h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.3rem}.practice__labels{gap:4px;display:flex}.practice__labels button{padding:3px 9px;font-size:.78rem}.practice__side{border-left:1px solid var(--hm-border);padding-left:16px}@media (width<=560px){.practice__side{border-top:1px solid var(--hm-border);border-left:none;padding:14px 0 0}}.practice__side-label{color:var(--hm-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.practice__side-note{color:var(--hm-text-muted);margin:0;font-size:.8rem;font-style:italic}.practice__notice{color:var(--hm-text-muted);margin:0 16px 12px;font-size:.85rem}.practice__modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (width<=560px){.practice__modes{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice__mode{border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.practice__mode.is-active{background:color-mix(in srgb, #c07a3e 14%, var(--hm-surface));border:2px solid #c07a3e}.practice__mode:disabled{opacity:.55;cursor:not-allowed}.practice__mode-top{justify-content:space-between;display:flex}.practice__mode-top strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.practice__mode-top small{color:#c07a3e;font-weight:700}.practice__mode-text{color:var(--hm-text-muted);font-size:.8rem}.practice__demo{border:1px dashed var(--hm-border);color:var(--hm-text-muted);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;display:flex}.practice__demo div{flex-wrap:wrap;gap:6px;display:flex}.practice__demo button{border:1px solid var(--hm-border);color:var(--hm-text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:.8rem}.practice__demo button:hover{border-color:var(--hm-accent)}.practice__demo .practice__demo-reset{color:var(--hm-text-muted);border-style:dashed}.practice__demo button:disabled{opacity:.45;cursor:not-allowed}.practice__demo .practice__listen.is-on{border-color:var(--practice-good);color:var(--practice-good-strong);font-weight:600}.practice__mark-label{color:var(--hm-text-muted);align-self:center;font-size:.8rem}.practice__listen-error{color:var(--practice-bad);align-self:center;font-size:.8rem}.practice__demo button{position:relative;overflow:hidden}.practice__demo button.is-lit{opacity:1;color:#fff;font-weight:600}.practice__demo button.is-verified{border-color:var(--practice-good-strong);background:var(--practice-good)}.practice__demo button.is-wrong{border-color:var(--practice-bad);background:var(--practice-bad)}.practice__demo button.is-silent{border-color:var(--practice-warn);background:var(--practice-warn);color:var(--practice-warn-ink)}.practice__flash{opacity:0;pointer-events:none;background:#fff;animation:.6s ease-out practice-flash;position:absolute;inset:0}@keyframes practice-flash{0%{opacity:.6}to{opacity:0}}@media (prefers-reduced-motion:reduce){.practice__flash{animation:none}}.practice__sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.learn{--practice-good:#6a9f4e;--practice-good-strong:#4f7d38;--practice-bad:#c8553d;--practice-ink:#1f1c1a;box-sizing:border-box;max-width:820px;color:var(--hm-text);margin:0 auto;padding:12px 16px 24px}@media (prefers-color-scheme:dark){.learn{--practice-ink:#0f0f12}}.learn__where{color:var(--hm-text-muted);margin:12px 2px 8px;font-size:.9rem}.learn__activities{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.feature-card{border:1px solid var(--hm-border);background:var(--hm-surface);width:100%;height:100%;color:var(--hm-text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.feature-card:hover{border-color:var(--hm-accent)}.feature-card__text{color:var(--hm-text-muted);font-size:.85rem}.feature-card__note{color:var(--hm-accent);font-size:.8rem;font-weight:600}.learn__activity-top{align-items:center;gap:12px;margin:12px 0 8px;display:flex}.learn__activity-top h2{margin:0;font-size:1.15rem}.learn__back{color:var(--hm-accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.tune-up-prompt{border:1px solid var(--hm-border,#e2dfd8);border-left:4px solid var(--hm-accent,#128789);background:var(--hm-surface,#fff);color:var(--hm-text,#24242c);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 16px 0;padding:8px 12px;font-size:.9rem;display:flex}.tune-up-prompt__icon{color:var(--hm-accent,#128789);font-size:1.2rem}.tune-up-prompt__text{flex:1;min-width:12em;margin:0}.tune-up-prompt__actions{gap:8px;display:flex}.tune-up-prompt__actions button{font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.85rem}.tune-up-prompt__tune{background:var(--hm-accent,#128789);color:#fff;border:none;font-weight:600}.tune-up-prompt__dismiss{border:1px solid var(--hm-border,#e2dfd8);color:var(--hm-text-muted,#6c6a72);background:0 0}.vocal-tab{box-sizing:border-box;flex-direction:column;gap:12px;height:100%;padding:20px 16px;display:flex}.vocal-tab__header h1{margin:0 0 4px;font-size:1.5rem}.vocal-tab__header p{color:#6c6a72;margin:0;font-size:.9rem}.vocal-tab__toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.vocal-tab__back{color:#128789;font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 0;font-weight:600}.vocal-tab__song-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.vocal-tab__format{letter-spacing:.02em;color:#24242c;background:#e2dfd8;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.vocal-tab__status{margin:0;font-size:.9rem}.vocal-tab__status--error{color:#cf4b36}.vocal-tab__actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.vocal-tab__section-title{letter-spacing:.04em;text-transform:uppercase;color:#6c6a72;margin:0;font-size:.85rem;font-weight:600}.vocal-tab__search-songs{color:#24242c;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #128789;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.vocal-tab__search-songs:hover{background:#f0f7f7}.vocal-tab__search-songs strong{color:#128789;font-size:1rem;display:block}.vocal-tab__search-songs small{color:#6c6a72;font-size:.85rem;display:block}.vocal-tab__search-icon{font-size:1.3rem;line-height:1}.vocal-tab__arranged{color:#3b3940;background:#f0f7f7;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:.9rem}.vocal-tab__arranged a{color:#128789}.song-library{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.song-library__item{color:#24242c;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2dfd8;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.song-library__item:hover{border-color:#128789}.song-library__item:disabled{opacity:.5;cursor:not-allowed}.song-library__item:disabled:hover{border-color:#e2dfd8}.song-library__icon{font-size:1.1rem}.song-library__empty{color:#6c6a72;font-size:.9rem}.song-library__empty code{background:#e2dfd8;border-radius:4px;padding:1px 5px}.online-songs{flex-direction:column;gap:10px;display:flex}.online-songs__search{box-sizing:border-box;width:100%;font:inherit;border:1px solid #e2dfd8;border-radius:8px;padding:11px 14px;font-size:.95rem}.online-songs__search:focus{border-color:#128789;outline:none}.online-songs__group{margin:4px 0 0;font-size:.9rem;font-weight:600}.online-songs__hint{color:#6c6a72;margin:0;font-size:.9rem}.online-songs__hint code{background:#e2dfd8;border-radius:4px;padding:1px 5px}.online-songs__error{color:#cf4b36;margin:0;font-size:.9rem}.notation-uploader{color:#fff;cursor:pointer;background:#128789;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.notation-uploader--disabled{opacity:.6;cursor:not-allowed}.notation-uploader input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.sheet-music-viewer{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2dfd8;border-radius:8px;flex:none;max-height:45dvh;padding:8px 0;position:relative;overflow:auto}.playback-controls{align-items:center;gap:10px;padding:10px 4px 0;display:flex}.playback-controls__button{color:#fff;font:inherit;cursor:pointer;background:#128789;border:none;border-radius:8px;padding:8px 18px;font-weight:600}.playback-controls__button--secondary{color:#24242c;background:#e2dfd8}.playback-controls__button:disabled{opacity:.5;cursor:not-allowed}.playback-controls__seek{accent-color:#128789;flex:1;min-width:0}.playback-controls__time{font-variant-numeric:tabular-nums;color:#6c6a72;white-space:nowrap;text-align:right;font-size:.8rem}.practice-modes{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.practice-modes__options{border:1px solid #e2dfd8;border-radius:8px;display:inline-flex;overflow:hidden}.practice-modes__option{color:#24242c;font:inherit;cursor:pointer;background:#fff;border:none;padding:6px 12px;font-size:.85rem}.practice-modes__option+.practice-modes__option{border-left:1px solid #e2dfd8}.practice-modes__option[aria-pressed=true]{color:#fff;background:#128789;font-weight:600}.practice-modes__option:disabled{opacity:.5;cursor:not-allowed}.practice-modes__hint{color:#6c6a72;font-size:.8rem}.practice-status{color:#6c6a72;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:1.6em;padding:0 4px;font-size:.9rem;display:flex}.practice-status__live{font-variant-numeric:tabular-nums;color:#24242c;background:#e2dfd8;border-radius:999px;padding:2px 10px}.practice-status__live--in-tune{color:#1d6b3d;background:#d5f0df}.practice-status__live--close{color:#7a5300;background:#fbeccc}.practice-status__live--wrong{color:#8f2c1c;background:#f8d9d3}.practice-status__count{color:#cf4b36;font-weight:600}.practice-status__link{color:#128789;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.practice-status__error{color:#cf4b36;font-size:.85rem}.practice-note--target path,.practice-note--target rect{fill:#128789;stroke:#128789}.practice-note--sung path,.practice-note--sung rect{fill:#2e9e5b;stroke:#2e9e5b}.practice-note--missed path,.practice-note--missed rect{fill:#cf4b36;stroke:#cf4b36}.part-tabs{scrollbar-width:none;flex:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.part-tabs::-webkit-scrollbar{display:none}.part-tabs__tab{color:#24242c;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2dfd8;border-radius:999px;flex:none;padding:6px 14px;font-size:.85rem}.part-tabs__tab[aria-selected=true]{color:#fff;background:#128789;border-color:#128789;font-weight:600}.part-tabs__tab:disabled{opacity:.5;cursor:not-allowed}.practice-note--other-part{opacity:.3}.practice-summary{color:#24242c;background:#fff;border:1px solid #e2dfd8;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.practice-summary__head{align-items:center;gap:14px;display:flex}.practice-summary__score{font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:flex}.practice-summary__number{font-size:2rem;font-weight:700;line-height:1}.practice-summary__out-of{color:#6c6a72;font-size:.85rem}.practice-summary__headline{flex-direction:column;gap:2px;min-width:0;font-size:.9rem;display:flex}.practice-summary__trend{color:#6c6a72;font-size:.8rem}.practice-summary__details{color:#6c6a72;flex-direction:column;gap:4px;font-size:.85rem;display:flex}.practice-summary__details p,.practice-summary__details ul{margin:0}.practice-summary__details ul{padding-left:1.2em}.practice-tally{font-variant-numeric:tabular-nums;color:#24242c;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.practice-tally li{align-items:center;gap:6px;display:inline-flex}.practice-tally li:before{content:"";border-radius:50%;width:8px;height:8px}.practice-tally__right:before{background:#2e9e5b}.practice-tally__close:before{background:#e0a100}.practice-tally__missed:before{background:#cf4b36}.run-progress{margin:0}.run-progress__plot{max-width:420px}.run-progress__plot svg{width:100%;height:auto;display:block;overflow:visible}.run-progress__grid,.run-progress__baseline{stroke:#ecebe7;stroke-width:1px}.run-progress__baseline{stroke:#d6d3cc}.run-progress__tick,.run-progress__try{fill:#6c6a72;font-variant-numeric:tabular-nums;font-size:9px}.run-progress__try--latest{fill:#24242c;font-weight:700}.run-progress__value{fill:#24242c;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.run-progress__bar{fill:#128789}.run-progress__hit{fill:#0000}.run-progress__run{cursor:default;outline:none}.run-progress__run--active .run-progress__hit{fill:#f0f7f7}.run-progress__run:focus-visible .run-progress__hit{stroke:#24242c;stroke-width:1.5px}.run-progress__caption{color:#6c6a72;margin-top:2px;font-size:.75rem}.run-progress__table{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.practice-note--close path,.practice-note--close rect,.practice-note--slow path,.practice-note--slow rect{fill:#e0a100;stroke:#e0a100}.export-buttons{gap:6px;margin-left:0;display:flex}.export-buttons button{color:#128789;font:inherit;cursor:pointer;background:0 0;border:1px solid #128789;border-radius:6px;padding:4px 10px;font-size:.8rem}.export-buttons button:disabled{opacity:.5;cursor:not-allowed}.record-panel{flex-direction:column;gap:6px;padding:6px 4px 0;display:flex}.record-panel__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.record-panel__button{color:#fff;font:inherit;cursor:pointer;background:#cf4b36;border:none;border-radius:8px;padding:8px 18px;font-weight:600}.record-panel__button--stop{background:#24242c}.record-panel__button:disabled{opacity:.5;cursor:not-allowed}.record-panel__live{font-variant-numeric:tabular-nums;color:#24242c;background:#e2dfd8;border-radius:999px;padding:4px 10px;font-size:.9rem}.record-panel__live--in-tune{color:#1d6b3d;background:#d5f0df}.record-panel__live--close{color:#7a5300;background:#fbeccc}.record-panel__live--octave{color:#2d4aa8;background:#dde5fb}.record-panel__live--wrong{color:#8f2c1c;background:#f8d9d3}.record-panel__error{color:#cf4b36;font-size:.85rem}.record-panel__result{color:#6c6a72;flex-wrap:wrap;align-items:baseline;gap:12px;font-size:.9rem;display:flex}.record-panel__link{color:#128789;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.pitch-overlay{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.pitch-overlay__dot{opacity:.85}.pitch-overlay__dot--in-tune{fill:#2e9e5b}.pitch-overlay__dot--close{fill:#e0a100}.pitch-overlay__dot--octave{fill:#5b7cf2}.pitch-overlay__dot--wrong{fill:#cf4b36}.pitch-overlay__dot--rest{fill:#9a9a9a}.share-attempt{flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;display:flex}.share-attempt__button{color:#fff;font:inherit;cursor:pointer;background:#128789;border:none;border-radius:8px;padding:7px 14px;font-size:.9rem;font-weight:600}.share-attempt__button:disabled{opacity:.6;cursor:progress}.share-attempt__option{color:inherit;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.share-attempt__link{min-width:0;font:inherit;color:#24242c;background:#fff;border:1px solid #d6d3cc;border-radius:8px;flex:220px;padding:6px 10px;font-size:.85rem}.share-attempt__hint{color:#6c6a72;margin:0;font-size:.85rem}.share-attempt__error{color:#cf4b36;font-size:.85rem}.shared-attempt__title{color:inherit;margin:0;font-size:.95rem}.shared-attempt__legend{color:#6c6a72;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.shared-attempt__legend li{align-items:center;gap:5px;display:inline-flex}.shared-attempt__swatch{border-radius:50%;width:9px;height:9px}.shared-attempt__swatch--in-tune{background:#2e9e5b}.shared-attempt__swatch--close{background:#e0a100}.shared-attempt__swatch--octave{background:#5b7cf2}.shared-attempt__swatch--wrong{background:#cf4b36}.shared-attempt__audio{width:100%;max-width:420px}.shared-gate{flex-direction:column;align-items:flex-start;gap:12px;padding:4px;display:flex}.shared-gate h2{margin:0;font-size:1.15rem}.shared-gate p{color:#6c6a72;margin:0}.shared-gate__warning{background:#fbeccc;border-radius:8px;padding:8px 12px;color:#7a5300!important}.share-attempt__button--quiet{color:#128789;background:0 0;border:1px solid #128789}.share-attempt__button--quiet:disabled{cursor:default}.share-attempt__picker{box-sizing:border-box;border:1px solid #d6d3cc;border-radius:10px;flex-direction:column;gap:10px;width:100%;padding:12px;display:flex}.share-attempt__friends{flex-direction:column;gap:6px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.share-attempt__picker-actions{gap:8px;display:flex}@media (prefers-color-scheme:dark){.share-attempt__button--quiet{color:#3fb6b8;border-color:#3fb6b8}.share-attempt__picker{border-color:#3a3a42}}.session-attempts{border-top:1px solid #e2dfd8;flex-direction:column;gap:10px;width:100%;margin-top:8px;padding-top:10px;display:flex}.session-attempts__head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.session-attempts__title{letter-spacing:.04em;text-transform:uppercase;color:#6c6a72;margin:0;font-size:.85rem;font-weight:600}.session-attempts__hint{color:#6c6a72;margin:0;font-size:.85rem}.session-attempts__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.attempt-row{color:#24242c;background:#fff;border:1px solid #e2dfd8;border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.attempt-row__head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.attempt-row__index{color:#6c6a72;font-size:.8rem;font-weight:600}.attempt-row__score{font-variant-numeric:tabular-nums;font-size:1.1rem}.attempt-row__meta{color:#6c6a72;flex:auto;min-width:0;font-size:.85rem}.attempt-row__rating{gap:2px;display:inline-flex}.attempt-row__star{font:inherit;color:#d6d3cc;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.15rem;line-height:1}.attempt-row__star.is-on{color:#e0a100}.attempt-row__star:focus-visible{outline-offset:1px;border-radius:4px;outline:2px solid #128789}.attempt-row__audio{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.attempt-row__player{flex:220px;min-width:0;max-width:420px;height:36px}.attempt-row__button{color:#128789;font:inherit;cursor:pointer;background:0 0;border:1px solid #128789;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.attempt-row__link{color:#cf4b36;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.attempt-row__link:disabled{opacity:.6;cursor:progress}.attempt-row__hint{color:#6c6a72;font-size:.85rem}.attempt-row__error{color:#cf4b36;font-size:.85rem}.attempt-row__note{flex-direction:column;gap:4px;display:flex}.attempt-row__note-label{color:#6c6a72;justify-content:space-between;gap:8px;font-size:.8rem;display:flex}.attempt-row__note-state{font-style:normal}.attempt-row__note-state--saved{color:#1d6b3d}.attempt-row__note-state--error{color:#cf4b36}.attempt-row__note textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:2.6em;font:inherit;color:#24242c;background:#fff;border:1px solid #d6d3cc;border-radius:8px;padding:6px 10px;font-size:.9rem}.attempt-row__note textarea:focus{outline-offset:0;border-color:#0000;outline:2px solid #128789}.session-budget{color:#6c6a72;flex-direction:column;gap:4px;margin:0;font-size:.8rem;display:flex}.session-budget__bar{background:#e2dfd8;border-radius:999px;width:100%;max-width:320px;height:5px;display:block;overflow:hidden}.session-budget__bar span{background:#128789;height:100%;display:block}.session-budget--high .session-budget__bar span{background:#cf4b36}@media (prefers-color-scheme:dark){.session-attempts{border-top-color:#3a3a42}.attempt-row{color:#f0efe9;background:#1f1f26;border-color:#3a3a42}.attempt-row__star{color:#4a4a54}.attempt-row__star.is-on{color:#f0b429}.attempt-row__button{color:#3fb6b8;border-color:#3fb6b8}.attempt-row__note textarea{color:#f0efe9;background:#16161b;border-color:#3a3a42}.session-budget__bar{background:#3a3a42}}.session-attempts__new{color:#128789;font:inherit;cursor:pointer;background:0 0;border:1px solid #128789;border-radius:999px;margin-left:auto;padding:4px 12px;font-weight:600}.attempt-row__notes{opacity:.8;margin:0;font-size:.9rem}.transcribe{flex-direction:column;gap:12px;display:flex}.transcribe p{margin:0}.transcribe__note,.transcribe__hint{color:#6c6a72;font-size:.85rem}.transcribe__file{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.transcribe__bar{background:#e2dfd8;border-radius:999px;height:8px;overflow:hidden}.transcribe__bar span{background:#128789;height:100%;transition:width .3s;display:block}.transcribe__stage{font-size:.9rem}.transcribe__cancel{color:#cf4b36;font:inherit;cursor:pointer;background:#fff;border:1px solid #cf4b36;border-radius:8px;align-self:flex-start;padding:6px 14px;font-size:.85rem}.my-transcriptions{flex-direction:column;gap:8px;display:flex}.my-transcriptions h3{margin:4px 0 0;font-size:1rem}.my-transcriptions__row{gap:8px;display:flex}.my-transcriptions__row .song-library__item{flex:1;min-width:0}.my-transcriptions__row .song-library__item span:last-child{flex-direction:column;min-width:0;display:flex}.my-transcriptions__row small{color:#6c6a72;font-size:.75rem;font-weight:400}.my-transcriptions__delete{color:#6c6a72;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2dfd8;border-radius:8px;padding:0 12px;font-size:.8rem}.my-transcriptions__delete:hover{color:#cf4b36;border-color:#cf4b36}.transcribe__verdict{margin:0;font-size:1.05rem}.transcribe__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.transcribe__primary{color:#fff;font:inherit;cursor:pointer;background:#128789;border:none;border-radius:8px;padding:8px 16px;font-weight:600}.transcribe__anyway{color:#6c6a72;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.arrange__field{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.arrange__field span{font-weight:600}.arrange__field input,.arrange__field select{box-sizing:border-box;color:#1f1d1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c9c5bc;border-radius:8px;padding:8px 10px}.arrange__field input[aria-invalid=true]{border-color:#cf4b36}.arrange__warning{color:#cf4b36;font-size:.85rem}.arrange__video{border:1px solid #e2dfd8;border-radius:8px;align-items:center;gap:12px;padding:8px;display:flex}.arrange__video img{object-fit:cover;border-radius:4px;flex:none}.arrange__video div{flex-direction:column;gap:2px;min-width:0;display:flex}.arrange__video strong{text-overflow:ellipsis;overflow:hidden}.arrange__video small{color:#6c6a72}.arrange__video a{color:#128789;font-size:.85rem}.arrange__options{flex-direction:column;gap:10px;display:flex}.arrange__check{align-items:flex-start;gap:8px;font-size:.9rem;display:flex}.arrange__server{flex-direction:column;gap:4px;display:flex}.arrange__server small{color:#6c6a72;font-size:.85rem}.arrange__primary,.arrange__open{color:#fff;font:inherit;cursor:pointer;background:#128789;border:none;border-radius:8px;align-self:flex-start;padding:8px 16px;font-weight:600}.arrange__primary:disabled,.arrange__open:disabled{opacity:.6;cursor:default}.arrange__jobs h3{margin:0 0 6px;font-size:.95rem}.arrange__jobs ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.arrange__jobs li{border:1px solid #e2dfd8;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.arrange__job-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.arrange__job-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.arrange__job-text small{color:#6c6a72;font-size:.8rem}.arrange__forget{color:#6c6a72;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.2rem;line-height:1}.practice-sessions{flex-direction:column;gap:12px;display:flex}.practice-sessions__intro,.practice-sessions__hint{color:#6c6a72;margin:0;font-size:.9rem}.practice-sessions__error{color:#cf4b36;margin:0;font-size:.9rem}.practice-sessions__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.practice-song{background:#fff;border:1px solid #e2dfd8;border-radius:12px;overflow:hidden}.practice-song__head{color:#24242c;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:14px 16px;display:flex}.practice-song__head:hover{background:#f0f7f7}.practice-song__title{color:#128789;flex-direction:column;min-width:140px;font-size:1.05rem;font-weight:600;display:flex}.practice-song__title small{color:#6c6a72;font-size:.8rem;font-weight:400}.practice-song__summary{color:#6c6a72;flex:220px;font-size:.85rem}.practice-song__sessions{border-top:1px solid #e2dfd8;flex-direction:column;gap:6px;margin:0;padding:0 12px 12px;list-style:none;display:flex}.practice-song__sessions>li:first-child{margin-top:10px}.practice-session{background:#faf9f6;border:1px solid #ece9e2;border-radius:10px;overflow:hidden}.practice-session__head{color:#24242c;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:9px 12px;font-size:.9rem;display:flex}.practice-session__head:hover{background:#f0f7f7}.practice-session__when{flex-direction:column;min-width:150px;font-weight:600;display:flex}.practice-session__when small{color:#6c6a72;font-size:.8rem;font-weight:400}.practice-session__summary{color:#6c6a72;flex:160px;font-size:.85rem}.practice-session__chevron{color:#6c6a72;margin-left:auto}.practice-session__body{border-top:1px solid #ece9e2;padding:0 10px 10px}.practice-session__body>*{margin-top:10px}.vocal-tab__sessions-link{color:#128789;font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.9rem;font-weight:600}@media (prefers-color-scheme:dark){.practice-song{background:#1f1f26;border-color:#3a3a42}.practice-song__head,.practice-session__head{color:#f0efe9}.practice-song__head:hover,.practice-session__head:hover{background:#26262e}.practice-song__title,.vocal-tab__sessions-link{color:#3fb6b8}.practice-song__sessions,.practice-session__body{border-top-color:#3a3a42}.practice-session{background:#1a1a20;border-color:#33333b}}.practice-song__actions{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.practice-song__button{color:#128789;font:inherit;cursor:pointer;background:0 0;border:1px solid #128789;border-radius:999px;padding:6px 14px;font-weight:600}.practice-song__button--new{color:#fff;background:#128789}.practice-runs{margin-top:12px}.practice-runs__title{margin:0 0 6px;font-size:.9rem}.practice-runs__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.practice-runs__item{border:1px solid #7f7f7f40;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 12px;display:flex}.practice-runs__score{min-width:2ch;font-size:1.1rem}.practice-runs__meta,.practice-runs__notes{opacity:.8;font-size:.9rem}.practice-runs__notes{flex-basis:100%}.metronome{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.metronome__light{background:#e2dfd8;border-radius:50%;flex:none;width:12px;height:12px}.metronome__light--beat{--metronome-flash:#7cc4c5;--metronome-scale:1.2;animation:.3s ease-out forwards metronome-flash}.metronome__light--downbeat{--metronome-flash:#128789;--metronome-scale:1.5;animation:.3s ease-out forwards metronome-flash}@keyframes metronome-flash{0%{background:var(--metronome-flash);transform:scale(var(--metronome-scale))}to{background:#e2dfd8;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.metronome__light--beat,.metronome__light--downbeat{background:var(--metronome-flash);animation:none}}.metronome__options{border:1px solid #e2dfd8;border-radius:8px;display:inline-flex;overflow:hidden}.metronome__option{color:#24242c;font:inherit;cursor:pointer;background:#fff;border:none;padding:6px 12px;font-size:.85rem}.metronome__option+.metronome__option{border-left:1px solid #e2dfd8}.metronome__option[aria-pressed=true]{color:#fff;background:#128789;font-weight:600}.metronome__option:disabled{opacity:.5;cursor:not-allowed}.metronome__volume{accent-color:#128789;flex:1;min-width:80px;max-width:180px}.tempo-control{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.tempo-control__label{color:#24242c;font-size:.85rem;font-weight:600}.tempo-control__range{accent-color:#128789;flex:1;min-width:80px;max-width:220px}.tempo-control__range:disabled{opacity:.5}.tempo-control__readout{font-variant-numeric:tabular-nums;color:#6c6a72;white-space:nowrap;font-size:.8rem}.attempt-history{gap:1.25rem;margin-top:1.25rem;display:grid}.attempt-history__section{gap:.5rem;display:grid}.attempt-history__title{margin:0;font-size:1rem}.attempt-history__summary,.attempt-history__hint{opacity:.8;margin:0;font-size:.9rem}.attempt-history__error{color:#d9534f;margin:0;font-size:.9rem}.attempt-history__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.attempt-history__actions{align-items:center;gap:.5rem;margin-left:auto;font-size:.85rem;display:inline-flex}.attempt-history__change--up{color:#3c9a5f}.attempt-history__change--down{color:#d9534f}.attempt-history__change--same{opacity:.7}.attempt-history__best{opacity:.85;border:1px solid;border-radius:999px;padding:0 .4rem;font-size:.75rem}.attempt-history__showing{opacity:.7;font-style:italic}.attempt-row--current{outline-offset:-2px;outline:2px solid #3a8a87}.social-tab{padding-bottom:40px}
