:root{--text:#b7a189;--text-h:#f3e7d3;--bg:#1a1109;--border:#43301f;--code-bg:#2e2016;--accent:#e8842b;--accent-bg:#e8842b1f;--accent-border:#e8842b80;--social-bg:#2e201680;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Iowan Old Style", "Palatino Linotype", Palatino, "Georgia", "Times New Roman", serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#b7a189;--text-h:#f3e7d3;--bg:#1a1109;--border:#43301f;--code-bg:#2e2016;--accent:#e8842b;--accent-bg:#e8842b26;--accent-border:#e8842b80;--social-bg:#2e201680;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;display:flex;position:fixed;inset:0}html,body{overflow:hidden}body{background:#160e07;margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--smoor-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Georgia", "Times New Roman", serif;--control-radius:999px;--control-height:34px;--control-pad-x:12px;--control-font-size:14px}.app-shell,.confirm-sheet__backdrop{--bg:#1a1109;--panel:#241811;--panel2:#2e2016;--muted:#b7a189;--accent:#e8842b;--accent2:#b3541e;--paper:#fbf3e3;--ember:var(--accent);--ember-soft:#e8842b26;--espresso:#f3e7d3;--cream:var(--bg);--cream-panel:var(--panel);--ink:#f3e7d3;--ink-soft:var(--muted);--line:#43301f;--danger:#d9563f;--danger-soft:#d9563f29;--bottom-nav-height:73px}.app-shell{background:radial-gradient(135% 95% at 50% -10%, #2a1a10 0%, var(--bg) 68%);min-height:0;color:var(--ink);text-align:left;flex-direction:column;flex:1;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--line);background:var(--cream-panel);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 24px;display:flex}.account-icon{border:1px solid var(--ember);width:36px;height:36px;color:var(--ember);font:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-self:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.account-icon svg{fill:var(--ember-soft);stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.account-menu{flex-direction:column;gap:12px;padding:20px;display:flex}.account-menu__email,.account-menu__field{flex-direction:column;gap:8px;display:flex}.account-menu__value{font:inherit;color:var(--ink);text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.account-menu__value:disabled{cursor:default;text-decoration:none}.account-menu__label{font-weight:600}.account-menu__input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:10px 12px}.account-menu__action{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}.account-menu__action:hover{background:var(--ember-soft)}.account-menu__action:disabled{opacity:.6;cursor:default}.account-menu__identity,.account-menu__message{margin:0}.account-menu__sync{color:var(--ink-soft);margin:0;font-size:.875rem}.account-menu__message--error{color:var(--danger)}.change-password{z-index:80;position:fixed;inset:0}.auth-screen{background:radial-gradient(60% 50% at 18% 12%,#e8842b24 0%,#0000 70%),radial-gradient(50% 45% at 85% 90%,#b3541e1f 0%,#0000 70%);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.auth-screen__layout{box-sizing:border-box;flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,420px);grid-template-areas:"intro card""features card";align-items:center;gap:0 clamp(32px,6vw,88px);width:100%;max-width:1080px;margin:0 auto;padding:clamp(32px,7vh,80px) 24px 24px;display:grid}.auth-screen__intro{grid-area:intro;align-self:end}.auth-screen__card{grid-area:card}.auth-screen__intro .app-title{font-size:clamp(34px,4vw,44px)}.auth-screen__tagline{color:var(--ember);font-family:var(--smoor-serif);margin:12px 0 0;font-size:1.05rem;font-style:italic}.auth-screen__pitch{max-width:18ch;font-family:var(--smoor-serif);letter-spacing:-.5px;color:var(--ink);margin:28px 0 0;font-size:clamp(30px,3.6vw,44px);font-weight:600;line-height:1.12}.auth-screen__features{grid-area:features;align-self:start;gap:18px;max-width:34rem;margin:32px 0 0;padding:0;list-style:none;display:grid}.auth-screen__feature{align-items:flex-start;gap:14px;display:flex}.auth-screen__feature-icon{background:var(--ember-soft);width:40px;height:40px;color:var(--ember);border:1px solid #e8842b4d;border-radius:10px;flex:none;place-items:center;display:grid}.auth-screen__feature-icon svg{width:20px;height:20px}.auth-screen__feature-title{color:var(--ink);font-weight:600;display:block}.auth-screen__feature-text{color:var(--ink-soft);margin-top:2px;font-size:.95rem;line-height:1.45;display:block}.auth-screen__card{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel2) 0%, var(--panel) 100%);border-radius:18px;flex-direction:column;gap:14px;padding:32px 28px 28px;display:flex;box-shadow:inset 0 1px #f3e7d30f,0 24px 48px -16px #0009,0 0 0 1px #e8842b0f}.auth-screen__title{font-family:var(--smoor-serif);color:var(--ink);margin:0;font-size:1.75rem}.auth-screen__subtitle{color:var(--ink-soft);margin:-6px 0 6px;font-size:.95rem}.auth-screen__google,.auth-screen__primary{width:100%;min-height:48px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:600;transition:background-color .12s,border-color .12s,transform .12s;display:flex}.auth-screen__google{color:#1f1f1f;background:#fff;border:1px solid #dadce0}.auth-screen__google:hover:not(:disabled){background:#f3f3f3}.auth-screen__google-logo{width:18px;height:18px}.auth-screen__primary{background:var(--ember);color:#1a1109;border:1px solid #0000}.auth-screen__primary:hover:not(:disabled){background:#f0994a}.auth-screen__google:active:not(:disabled),.auth-screen__primary:active:not(:disabled){transform:translateY(1px)}.auth-screen__google:disabled,.auth-screen__primary:disabled{opacity:.55;cursor:default}.auth-screen__google:focus-visible,.auth-screen__primary:focus-visible,.auth-screen__switch-link:focus-visible,.auth-screen__legal a:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.auth-screen__divider{color:var(--ink-soft);align-items:center;gap:12px;font-size:.85rem;display:flex}.auth-screen__divider:before,.auth-screen__divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-screen__email{flex-direction:column;gap:8px;display:flex}.auth-screen__subtitle a{color:var(--ember);font-weight:600}.auth-screen__subtitle a:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.auth-screen__label{color:var(--ink);font-size:.9rem;font-weight:600}.auth-screen__input{min-height:48px;color:var(--ink);font:inherit;box-sizing:border-box;background:#140d07;border:1px solid #5a4230;border-radius:10px;padding:0 14px}.auth-screen__input::placeholder{color:#7d6a57}.auth-screen__input:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft);outline:none}.auth-screen__email .auth-screen__primary{margin-top:4px}.auth-screen__password{display:flex;position:relative}.auth-screen__password .auth-screen__input{flex:1;min-width:0;padding-right:72px}.auth-screen__reveal{min-width:64px;font:inherit;color:var(--ember);cursor:pointer;background:0 0;border:none;padding:0 14px;font-size:.85rem;font-weight:600;position:absolute;top:0;bottom:0;right:0}.auth-screen__reveal:focus-visible{outline:2px solid var(--ember);outline-offset:-4px;border-radius:10px}.auth-screen__resend{align-self:flex-start}.auth-screen__forgot{align-self:flex-end;font-size:.9rem}.auth-screen__resend:disabled{opacity:.55;cursor:default}.auth-screen__notice{border:1px solid var(--line);color:var(--ink);background:#0000002e;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}.auth-screen__notice--sent{background:var(--ember-soft);border-color:#e8842b73}.auth-screen__notice--error{background:var(--danger-soft);color:#f2b5a8;border-color:#d9563f80}.auth-screen__switch{text-align:center;color:var(--ink-soft);margin:6px 0 0;font-size:.95rem}.auth-screen__switch-link{font:inherit;color:var(--ember);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-screen__switch-link:hover{text-decoration:underline}.auth-screen__legal{color:var(--ink-soft);justify-content:center;gap:10px;padding:24px 16px 32px;font-size:.85rem;display:flex}.auth-screen__legal a{color:inherit;text-decoration:none}.auth-screen__legal a:hover{color:var(--ink);text-decoration:underline}@media (width<=860px){.auth-screen__layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""card""features";row-gap:24px;max-width:460px;padding-top:32px}.auth-screen__pitch{max-width:none;margin-top:16px;font-size:28px}.auth-screen__features{gap:14px;margin-top:4px}.auth-screen__card{padding:24px 20px 20px}}.bottom-nav{z-index:50;border-top:1px solid var(--line);box-sizing:border-box;height:var(--bottom-nav-height);background:#140c06;flex:none;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 0 8px;display:grid;position:relative}.bottom-nav__link{color:var(--ink-soft);font-variant:small-caps;letter-spacing:.6px;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-family:inherit;font-size:12px;text-decoration:none;display:flex}.bottom-nav__link:hover{color:var(--ink)}.bottom-nav__link.active{color:var(--ember)}.bottom-nav__icon{font-size:18px;line-height:1}.bottom-nav__svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;margin:-1px 0;display:block}.more{box-sizing:border-box;flex:1;width:100%;max-width:620px;min-height:0;margin:0 auto;padding:24px;overflow-y:auto}.more__title{font-family:var(--smoor-serif);color:var(--espresso);margin:0 0 16px}.more__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.more__link{border:1px solid var(--line);background:var(--cream-panel);border-radius:10px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.more__link:hover{border-color:var(--ember)}.more__link-name{color:var(--espresso);font-weight:600}.more__link-hint{color:var(--ink-soft);font-size:13px}.more__section{margin-top:24px}.more__section-title{font-family:var(--smoor-serif);color:var(--espresso);margin:0 0 10px;font-size:17px}.more__attribution{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.more__attribution-title{font-family:var(--smoor-serif);color:var(--espresso);margin:0 0 6px;font-size:15px}.more__attribution-text{color:var(--ink-soft);margin:0;font-size:12px}.more__attribution-text a{color:var(--ink-soft);text-decoration:underline}.more__footer{color:var(--ink-soft);text-align:center;margin-top:1.5rem;font-size:.8rem}.more__version{color:var(--ink-soft);text-align:center;margin:.25rem 0 0;font-size:.75rem}.legal{box-sizing:border-box;flex:1;width:100%;max-width:42rem;min-height:0;margin:0 auto;padding:1rem 1rem 6rem;line-height:1.55;overflow-y:auto}.legal__back{color:inherit;margin-bottom:.75rem;display:inline-block}.legal__title{margin:0 0 .25rem}.legal__updated{color:var(--ink-soft);margin:0 0 1.25rem;font-size:.85rem}.legal__heading{margin:1.5rem 0 .5rem;font-size:1.1rem}.legal__text,.legal__list{margin:0 0 .75rem}.legal__list{padding-left:1.25rem}.licences__text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-soft);margin:.5rem 0 .75rem;font-size:.75rem}.app-header__controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.app-nav{gap:4px;display:flex}.app-nav__link{color:var(--ink-soft);border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:6px 12px;font-size:15px;font-weight:600;text-decoration:none}.app-nav__link:hover{color:var(--espresso);background:var(--ember-soft)}.app-nav__link.active{color:var(--ember);border-bottom-color:var(--ember)}.app-branding{color:inherit;cursor:pointer;text-decoration:none;display:inline-block}.app-title{font-family:var(--smoor-serif);color:var(--espresso);letter-spacing:-.5px;margin:0;font-size:28px}.wordmark__play{color:#c9441f}.wordmark__play--burn{animation:3.4s ease-in-out both wordmark-burn}@keyframes wordmark-burn{0%{color:#2e1d12;text-shadow:none}22%{color:#5c1a0a;text-shadow:0 0 4px #96280a73}45%{color:#c2410c;text-shadow:0 0 6px #e85a14bf,0 0 16px #e85a1459}62%{color:#ffd27a;text-shadow:0 0 4px #fff1c1,0 0 14px #ff9a2e,0 0 30px #e8501499}72%{color:#ffb04a;text-shadow:0 0 4px #ffd27a,0 0 12px #ff8a1e,0 0 26px #e8501480}to{color:#c9441f;text-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.wordmark__play--burn{animation:none}}.app-tagline{color:var(--ember);margin:2px 0 0;font-size:15px;font-style:italic}.library-index__heading,.tune-detail__title,.add-tunes__title,.capture__title,.tune-detail__stub-title{font-family:var(--smoor-serif)}.set-player__field input,.set-player__field select{background:var(--cream-panel);color:var(--ink)}.library{flex:1;grid-template-columns:minmax(260px,340px) 1fr;min-height:0;display:grid}.library__index-pane{border-right:1px solid var(--line);scrollbar-gutter:stable;background:var(--cream-panel);overflow-y:auto}.library__detail-pane{padding:24px}.breadcrumb{align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.breadcrumb__back{border:1px solid var(--line);background:var(--panel2);width:28px;height:28px;color:var(--ember);cursor:pointer;border-radius:7px;flex:none;font-size:18px;line-height:1}.breadcrumb__back:hover{background:var(--ember-soft)}.breadcrumb__trail{font-variant:small-caps;letter-spacing:.5px;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:13px;display:flex}.breadcrumb__crumb{align-items:baseline;gap:4px;display:inline-flex}.breadcrumb__link{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.breadcrumb__link:hover{color:var(--ember)}.breadcrumb__current{color:var(--espresso);font-weight:600}.breadcrumb__sep{color:var(--ink-soft);opacity:.6}.card-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin:0;padding:8px 14px 20px;list-style:none;display:grid}.browse-card{box-sizing:border-box;border:1px solid var(--line);background:linear-gradient(160deg, var(--panel2), var(--panel));width:100%;min-height:92px;color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;justify-content:space-between;gap:18px;padding:12px 13px;display:flex;box-shadow:0 8px 20px #0000004d}.browse-card:hover{border-color:var(--ember)}.browse-card__name{font-family:var(--smoor-serif);color:var(--espresso);font-size:17px;font-weight:600;line-height:1.2}.browse-card__count{font-variant-numeric:tabular-nums;color:var(--ember);align-self:flex-start;font-size:13px}.browse-card[data-kind=import] .browse-card__name:before{content:"📥 ";opacity:.7}.tune-list{margin:0;padding:4px 0 16px;list-style:none}.tune-list__item{touch-action:pan-y;align-items:stretch;transition:transform .15s;display:flex}.tune-list__row{text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:none;border-left:3px solid #0000;flex:1;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 16px 8px 4px;display:flex}.tune-list__row:hover{background:var(--ember-soft)}.tune-list__row[aria-current=true]{background:var(--ember-soft);border-left-color:var(--ember);color:var(--espresso);font-weight:600}.tune-list__key{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:14px}.tune-list__actions{flex:none;align-items:center;gap:6px;padding-right:12px;display:inline-flex}.tune-list__graduate{border:1px solid var(--ember);background:var(--ember-soft);color:var(--espresso);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.tune-list__graduate:hover{background:var(--ember);color:#1a1109}.tune-list__drop{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.tune-list__drop:hover{color:var(--ember)}.browse-card[data-kind=woodshed],.browse-card[data-kind=repertoire],.browse-card[data-kind=favorites]{border-color:var(--ember)}.browse-card[data-kind=woodshed] .browse-card__name:before{content:"🎯 "}.browse-card[data-kind=repertoire] .browse-card__name:before{content:"✓ "}.browse-card[data-kind=favorites] .browse-card__name:before{content:"★ "}.filter-sort{padding:4px 14px 8px}.filter-sort__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-sort__toggle{border:1px solid var(--line);background:var(--panel2);color:var(--espresso);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.filter-sort__toggle:hover{border-color:var(--ember)}.filter-sort__badge{background:var(--ember);color:#1a1109;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:12px;font-weight:700}.filter-sort__count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.filter-sort__panel{flex-direction:column;gap:12px;margin-top:10px;display:flex}.filter-sort__section{border:1px solid var(--line);border-radius:8px;margin:0;padding:8px 10px 10px}.filter-sort__legend{font-variant:small-caps;letter-spacing:.6px;color:var(--espresso);padding:0 4px;font-size:12px}.filter-sort__hint{color:var(--ink-soft);font-variant:normal;letter-spacing:0;font-style:italic}.filter-sort__radio{color:var(--ink);cursor:pointer;align-items:center;gap:6px;margin-right:14px;font-size:13px;display:inline-flex}.filter-sort__radio input{accent-color:var(--ember)}.filter-sort__options{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.filter-sort__option{border:1px solid var(--line);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.filter-sort__option:hover{border-color:var(--ember);color:var(--ink)}.filter-sort__option[aria-pressed=true]{background:var(--ember);border-color:var(--ember);color:#1a1109;font-weight:600}.filter-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.filter-chip{border:1px solid var(--ember);background:var(--ember-soft);color:var(--espresso);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.filter-chip__x{opacity:.8;font-size:11px}.filter-chip:hover .filter-chip__x{opacity:1}.filter-chips__clear{color:var(--ember);font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:13px;text-decoration:underline}.empty-state{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 16px;display:flex}.empty-state__message{color:var(--ink-soft);margin:0;font-style:italic}.empty-state__action{border:1px solid var(--line);background:var(--panel2);color:var(--ember);font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px}.empty-state__action:hover{background:var(--ember-soft)}.empty-state__link{color:var(--accent);font:inherit;text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:10px 0;text-decoration:underline}.empty-state--screen{text-align:center;color:var(--text-h);align-items:center;gap:8px;padding:40px 8px 24px;font-size:15px}.empty-state--screen .empty-state__title{font-family:var(--heading);margin:0;font-size:22px}.empty-state--screen .empty-state__message{color:var(--muted);margin:0 0 8px;font-style:normal}.empty-state--screen .empty-state__action{border:1px solid var(--accent);background:var(--accent);color:var(--bg);white-space:nowrap;border-radius:10px;padding:9px 14px;font-weight:600}.empty-state--screen .empty-state__action:hover{background:var(--accent)}.empty-state--screen .empty-state__link{text-align:center}.library__subtitle{color:var(--ink-soft);margin:0;padding:12px 16px 4px;font-size:.9rem}.library-index{padding:8px 0}.library-index__empty{color:var(--ink-soft);padding:24px 16px;font-style:italic;line-height:1.5}.library-index__heading{font-size:inherit;font-weight:inherit;margin:16px 0 4px;padding:0}.library-index__toggle{cursor:pointer;text-align:left;width:100%;color:var(--ink-soft);font:inherit;font-size:15px;font-family:var(--smoor-serif);font-variant:small-caps;letter-spacing:.6px;background:0 0;border:none;align-items:center;gap:8px;padding:4px 16px;display:flex}.library-index__toggle:hover{color:var(--ink);background:var(--ember-soft)}.library-index__chevron{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--ember);flex:none;width:0;height:0;transition:transform .15s}.library-index__toggle[aria-expanded=false] .library-index__chevron{transform:rotate(-90deg)}.library-index__heading-text{flex:1}.library-index__count{font-variant-numeric:tabular-nums;color:var(--ink-soft);opacity:.8}.library-index__list{margin:0;padding:0;list-style:none}.library-index__item{align-items:stretch;display:flex}.library-index__row{text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:none;border-left:3px solid #0000;flex:1;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 16px 7px 4px;display:flex}.status-toggle{cursor:pointer;color:var(--ink-soft);font:inherit;background:0 0;border:none;align-items:center;gap:8px;display:inline-flex}.status-toggle--row{border-left:3px solid #0000;justify-content:center;width:28px;padding:0 0 0 12px}.status-toggle__mark{font-size:15px;line-height:1}.status-toggle[data-status=none] .status-toggle__mark{opacity:.35}.status-toggle[data-status=want] .status-toggle__mark,.status-toggle[data-status=learning] .status-toggle__mark,.status-toggle[data-status=known] .status-toggle__mark{color:var(--ember)}.status-toggle:hover .status-toggle__mark{opacity:1}.status-toggle--detail{border:1px solid var(--line);background:var(--cream-panel);color:var(--espresso);border-radius:6px;margin-left:auto;padding:6px 10px}.favorite-toggle{cursor:pointer;color:var(--ink-soft);font:inherit;background:0 0;border:none;align-items:center;gap:8px;display:inline-flex}.favorite-toggle--row{justify-content:center;width:28px}.favorite-toggle__mark{opacity:.35;font-size:15px;line-height:1}.favorite-toggle[aria-pressed=true] .favorite-toggle__mark{color:var(--ember);opacity:1}.favorite-toggle:hover .favorite-toggle__mark{opacity:1}.favorite-toggle--detail{border:1px solid var(--line);background:var(--cream-panel);color:var(--espresso);border-radius:6px;padding:6px 10px}.library-index__row:hover{background:var(--ember-soft)}.library-index__row[aria-current=true]{background:var(--ember-soft);border-left-color:var(--ember);color:var(--espresso);font-weight:600}.library-index__key{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:14px}.tune-detail--empty{place-items:center;height:100%;display:grid}.tune-detail__hint{color:var(--ink-soft);font-style:italic}.tune-detail__header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;row-gap:4px;margin-bottom:8px;display:grid}.tune-detail__header>.favorite-toggle{grid-area:1/1;margin-right:10px;padding-top:4px}.tune-detail__title{color:var(--espresso);text-wrap:balance;grid-area:1/2;margin:0;font-size:25px;line-height:1.15}.tune-detail__actions{grid-area:1/3;align-items:center;gap:8px;margin-left:10px;display:flex;position:relative}.tune-detail__header .favorite-toggle__mark{font-size:22px}.tune-detail__line{color:var(--ink-soft);grid-area:2/2/auto/-1;margin:0;font-size:14px}.tune-detail__your-copy{color:var(--ember);font-weight:600}.abc-score{background:var(--paper);color:#2b2118;border:1px solid #e6d4b5;border-radius:10px;padding:16px 26px;overflow-x:auto;box-shadow:0 2px #d9c39c,0 16px 36px #00000059}.abc-score svg{max-width:100%}.abc-score svg text{fill:#2b2118}.player{background:var(--cream-panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;display:flex}.player__toggle,.player__stop,.set-player__play,.set-player__stop{border:1px solid var(--line);background:var(--cream);width:40px;height:40px;color:var(--ember);cursor:pointer;border-radius:999px;flex:none;font-size:15px;line-height:1}.player__toggle:hover:not(:disabled),.player__stop:hover:not(:disabled),.set-player__play:hover:not(:disabled),.set-player__stop:hover:not(:disabled){background:var(--ember-soft)}.player__toggle:disabled,.player__stop:disabled,.set-player__play:disabled,.set-player__stop:disabled{opacity:.4;cursor:default}.player__seek-track{flex:1;align-items:center;min-width:0;display:flex;position:relative}.player__seek{width:100%;accent-color:var(--ember);margin:0}.player__seek-band{background:var(--accent-border);pointer-events:none;border-radius:3px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.top-play-bar{z-index:5;background:var(--cream-panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;margin:8px 0 10px;padding:6px 10px;font-size:13px;display:flex;position:sticky;top:0}.top-play-bar__transport{flex:1;min-width:0}.top-play-bar__tempo{flex:none}.top-play-bar .player{background:0 0;border:none;gap:8px;margin:0;padding:0}.top-play-bar .player__seek-track{min-width:60px}.top-play-bar__trailing{flex:none}.top-play-bar--with-trailing .player__toggle{background:var(--ember);border-color:var(--ember);width:44px;height:44px;color:var(--cream);font-size:16px}.top-play-bar--with-trailing .player__toggle:hover:not(:disabled){background:var(--ember);filter:brightness(1.08)}.top-play-bar--with-trailing .player__stop{width:38px;height:38px}.practice-toggle{height:var(--control-height);padding:0 var(--control-pad-x);border:1px solid var(--accent-border);border-radius:var(--control-radius);color:var(--ember);font:inherit;font-size:var(--control-font-size);white-space:nowrap;cursor:pointer;background:0 0}.practice-toggle:hover,.practice-toggle[aria-expanded=true]{background:var(--ember-soft)}.practice-tray{background:var(--cream-panel);border:1px solid var(--line);border-radius:8px;gap:14px;margin:-2px 0 10px;padding:12px 14px 14px;display:grid}.practice-tray[hidden]{display:none}.practice-tray__section{min-width:0}.practice-tray__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px}.practice-tray .loop-panel,.practice-tray .practice-controls,.practice-tray .recording-adjust{margin:0;padding:0}.practice-tray .recording-adjust__row>.recording-adjust__slider{flex:1 1 0;min-width:48px}.practice-tray .volume__slider{flex:1;width:auto}.practice-tray .volume{display:flex}.segmented{border:1px solid var(--line);border-radius:999px;flex-wrap:wrap;max-width:100%;display:inline-flex;overflow:hidden}.segmented__option{background:var(--cream-panel);max-width:14em;min-height:32px;color:var(--ink);font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;padding:6px 12px;font-size:13px;overflow:hidden}.segmented__option+.segmented__option{border-left:1px solid var(--line)}.segmented__option[aria-checked=true]{background:var(--ember);color:var(--cream);font-weight:600}.segmented--vertical{border-radius:8px;flex-flow:column}.segmented--vertical .segmented__option{text-align:left;max-width:none}.segmented--vertical .segmented__option+.segmented__option{border-left:0;border-top:1px solid var(--line)}.player-switch{flex-direction:column;gap:4px;margin-top:8px;display:flex}.player-switch__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.player-switch__notation{border:1px solid var(--line);background:var(--cream-panel);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.player-switch__notation[aria-pressed=true]{background:var(--ember);color:var(--cream);font-weight:600}.player-switch .settings-toggle{display:contents}.player-switch .settings-toggle__toggle{border:1px solid var(--line);background:var(--cream-panel);min-width:0;max-width:100%;min-height:32px;color:var(--ink);border-radius:999px;align-items:center;gap:.3em;padding:6px 12px;font-size:13px;display:inline-flex}.player-switch__chosen{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.player-switch__count{white-space:nowrap;flex-shrink:0}.player-switch .settings-toggle>div{flex-basis:100%;order:1;min-width:0}.player-switch__add{border:1px solid var(--line);min-height:32px;color:var(--ember);cursor:pointer;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;display:inline-flex;position:relative}.player-switch__add:focus-within{outline:2px solid var(--ember);outline-offset:2px}.player-switch__add[aria-disabled=true]{opacity:.5;cursor:default}.player-switch__name-input{box-sizing:border-box;background:var(--panel);min-width:0;min-height:32px;color:var(--ink);border:1px solid var(--ember);font:inherit;border-radius:6px;padding:4px 10px;font-size:13px}.player-switch__file{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.chip-row{margin:0 0 8px;position:relative}.chip-row__chips{scrollbar-width:none;align-items:center;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row__chips::-webkit-scrollbar{display:none}.chip-row__chips:empty{display:none}.chip-row__chips>*,.chip-row .player-switch__row>*{flex:none}.chip-row .player-switch,.chip-row .player-switch__row,.chip-row .settings-toggle{display:contents}.chip-row .overflow-menu{position:static}.chip-row__below:empty{display:none}.chip-row .settings-toggle__toggle,.chip-row .player-switch__notation,.chip-row .player-switch__add{min-height:var(--control-height);padding:6px var(--control-pad-x);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--cream-panel);color:var(--espresso);font:inherit;font-size:var(--control-font-size);white-space:nowrap;box-sizing:border-box;align-items:center;display:inline-flex}.chip-row .player-switch__notation[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-bg);color:var(--ember);font-weight:400}.chip-row .player-switch__add{color:var(--ember);background:0 0;border-style:dashed}.chip-row .player-switch .settings-toggle__toggle{flex:0 auto;min-width:0}.chip-row .player-switch__chosen{min-width:3em}.chip-row .player-switch .settings-toggle__toggle[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-bg);color:var(--ember)}.recording-list{border:1px solid var(--line);background:var(--cream-panel);border-radius:10px;margin:6px 0 4px;padding:4px}.recording-list__row{align-items:center;gap:4px;display:flex;position:relative}.recording-list__row+.recording-list__row,.recording-list__row+.recording-list__add{border-top:1px solid var(--line)}.recording-list__pick,.recording-list__add{min-width:0;min-height:44px;color:var(--espresso);font:inherit;font-size:var(--control-font-size);text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:10px;padding:6px 10px;display:flex;position:relative}.recording-list__pick:before,.recording-list__add:before{text-align:center;flex:none;width:1.4em}.recording-list__pick:before{content:"🎙"}.recording-list__add:before{content:"+"}.recording-list__pick[aria-checked=true]{background:var(--accent-bg);color:var(--ember);font-weight:600}.recording-list__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.recording-list__length{opacity:.7;font-variant-numeric:tabular-nums;flex:none}.recording-list__add{color:var(--ember);border-radius:0}.recording-list__add:focus-within{outline:2px solid var(--ember);outline-offset:-2px}.recording-list__add[aria-disabled=true]{opacity:.5;cursor:default}.recording-list__rename{flex:1}.chip-row .recording-list__row .overflow-menu{flex:none;position:relative}.recording-transport__step{height:var(--control-height);padding:0 var(--control-pad-x);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--cream);color:var(--ink);font:inherit;font-size:var(--control-font-size);cursor:pointer;flex:none}.recording-transport__step:hover:not(:disabled){background:var(--ember-soft)}.recording-transport__step:disabled{opacity:.4;cursor:default}.recording-transport__time{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;margin-left:auto}.recording-waveform{border:1px solid var(--line);background:var(--cream-panel);border-radius:8px;min-height:48px;margin:0 0 10px;overflow:hidden}.recording-adjust__tempo,.recording-adjust{border:0;min-width:0;margin:0;padding:0}.recording-adjust{flex-direction:column;gap:8px;margin:10px 0;font-size:13px;display:flex}.recording-adjust__row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.recording-adjust__label{align-items:center;gap:6px;display:inline-flex}.recording-adjust__slider{min-width:100px;max-width:260px;accent-color:var(--ember);cursor:pointer;flex:120px}.recording-adjust__readout{min-width:5.5em;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted)}.recording-adjust:disabled{opacity:.5}.recording-player__message{color:var(--muted);margin:6px 0;font-size:13px}.recording-player__message[role=alert]{color:var(--ink)}.tune-detail__settings{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 0;display:flex}.tune-detail--focus .top-play-bar,.focus-mode--set .top-play-bar,.focus-mode--set .set-open__title--focus{padding-left:max(10px,166px + -1*max(0px,50vw - 560px) - 6vw)}.focus-mode--set .set-open__title--focus{align-items:center;min-height:56px;margin-bottom:8px;font-size:26px;display:flex}@media (width<=720px){.top-play-bar{gap:6px;padding:4px 6px}.top-play-bar .player{gap:6px}.top-play-bar .player__toggle,.top-play-bar .player__stop,.top-play-bar .set-player__play,.top-play-bar .set-player__stop{width:34px;height:34px}.top-play-bar .player__seek-track{min-width:40px}.top-play-bar--with-trailing .player__toggle{width:42px;height:42px}.practice-toggle{padding:0 8px}.tune-detail--focus .top-play-bar,.focus-mode--set .top-play-bar{padding-left:6px;top:78px}.focus-mode--set .set-open__title--focus{padding-left:64px;font-size:20px}}.volume{flex:none;align-items:center;gap:6px;display:flex}.volume__mute{border:1px solid var(--line);background:var(--cream);cursor:pointer;border-radius:999px;flex:none;width:32px;height:32px;font-size:14px;line-height:1}.volume__mute:hover{background:var(--ember-soft)}.volume__mute[aria-pressed=true]{opacity:.55}.volume__slider{width:80px;accent-color:var(--ember);cursor:pointer;flex:none}.sets{--rh:var(--muted);flex-direction:column;flex:1;min-height:0;display:flex}.sets [data-rhythm=reel]{--rh:#e8842b}.sets [data-rhythm=jig]{--rh:#d4a93a}.sets [data-rhythm=slip-jig]{--rh:#c06a3c}.sets [data-rhythm=hop-jig]{--rh:#b98a4a}.sets [data-rhythm=slide]{--rh:#d9563f}.sets [data-rhythm=hornpipe]{--rh:#5fa39b}.sets [data-rhythm=polka]{--rh:#a88ad1}.sets [data-rhythm=march]{--rh:#8aa05a}.sets [data-rhythm=waltz]{--rh:#6f9bd1}.sets [data-rhythm=strathspey]{--rh:#cf7fa0}.sets__pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.sets__pane>.sets__list-pane,.sets__pane>.sets__detail-pane{flex:1;min-height:0}.sets__list-top{align-items:center;gap:8px;margin-bottom:16px;display:flex}.sets__list-top .sets__new{flex:1;min-width:0;margin-bottom:0}.sets__pane-controls{flex:none;align-items:center;gap:8px;display:flex}.sets__browse-open{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);cursor:pointer;border-radius:6px;padding:8px 12px}.sets__browse-target{border-bottom:1px solid var(--accent2);background:var(--accent);color:var(--bg);font:500 14px/1.3 var(--sans,system-ui);flex:none;margin:0;padding:10px 20px}@media (width<=720px){.sets__list-pane,.sets__detail-pane{padding:12px}.set-open__header{flex-wrap:wrap;gap:8px}.set-open__title{overflow-wrap:anywhere;min-width:0;font-size:18px}}.set-open__header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.set-open__title{color:var(--espresso);flex:1;margin:0;font-size:20px;font-weight:600}.set-open__fullscreen{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;padding:0;font-size:17px;line-height:1;display:grid}.set-open__fullscreen:hover{background:var(--ember);border-color:var(--ember);color:#1a120b}.set-open__fullscreen:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.sets__list-pane{background:linear-gradient(180deg, #22160e, var(--bg));padding:16px;overflow-y:auto}.sets__detail-pane{padding:24px;overflow-y:auto}.sets__new{gap:8px;margin-bottom:16px;display:flex}.sets__new-input{border:1px solid var(--line);background:var(--panel2);min-width:0;color:var(--ink);border-radius:10px;flex:1;padding:8px 10px}.sets__new-add{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:10px;padding:8px 12px;font-weight:700}.sets__detail-pane button{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);cursor:pointer;border-radius:6px;padding:8px 12px}.sets__list{flex-direction:column;gap:22px;display:flex}.sets__group-heading{color:var(--rh);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 4px;padding:0 4px 8px;font:800 13px/1 system-ui,sans-serif;display:flex}.sets__group-heading:before{content:"";background:var(--rh);width:10px;height:10px;box-shadow:0 0 10px var(--rh);border-radius:50%}.sets__group-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sets__list-entry{border:1px solid var(--line);border-left:6px solid var(--rh);background:linear-gradient(90deg, color-mix(in srgb, var(--rh) 14%, var(--panel2)), var(--panel2) 55%);border-radius:12px}.sets__list-entry[data-open]{padding:8px 8px 10px}.sets__list-item{width:100%;color:var(--espresso);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;display:flex}.sets__list-item[aria-current=true]{background:var(--ember-soft);border-color:var(--ember)}.sets__list-name{color:var(--ink);font-size:18px;font-weight:700}.sets__list-tunes{color:var(--muted);font-size:13px}.sets__list-key{color:var(--accent)}.sets__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sets__row .sets__list-item{flex:1;min-width:0}.sets__list-entry[data-open] .sets__row>.sets__play-mode{order:1}.sets__list-entry[data-open] .sets__row>.sets__browse-open{order:2}.sets__list-entry[data-open] .sets__row>.sets__incipits{order:3}.sets__list-entry[data-open] .sets__row>.sets__delete{order:4;margin-left:auto}.sets__collapse{background:color-mix(in srgb, var(--rh) 22%, transparent);color:var(--rh);cursor:pointer;border:none;border-radius:10px;flex:none;padding:6px 10px;font-size:22px;line-height:1}.sets__open-head{flex-direction:column;flex:calc(100% - 72px);align-items:flex-start;gap:2px;min-width:0;display:flex}.sets__rename{font:inherit;color:var(--ink);text-align:left;cursor:text;background:0 0;border:none;padding:0;font-size:18px;font-weight:700}.sets__rename-input{width:100%;font:inherit}.sets__delete{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:8px 12px;font-size:13px}.sets__play-mode{background:var(--rh);color:var(--bg);cursor:pointer;border:none;border-radius:10px;flex:none;padding:8px 12px;font-weight:800}.sets__play-mode:before{content:"▶ ";font-size:.8em}.sets__list-entry .sets__browse-open{border-color:color-mix(in srgb, var(--rh) 50%, transparent);color:var(--rh);background:0 0;border-radius:10px}.set-cards{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.set-cards__empty{margin:4px 0 8px 12px}.set-card{border:1px solid var(--line);border-left:5px solid var(--rh);touch-action:pan-y;background:#00000040;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 8px 6px;transition:transform .15s;display:flex}.set-card--dragging{z-index:1;position:relative}.set-card__grip{color:var(--espresso);opacity:.6;cursor:grab;touch-action:none;background:0 0;border:none;flex:none;padding:4px 6px;font-size:18px;line-height:1}.set-card--dragging .set-card__grip{cursor:grabbing}.set-card__remove{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);cursor:pointer;border-radius:6px;padding:4px 9px}.set-card__body{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:2px;margin:0;padding:0 46px 0 0;display:flex;position:relative}.set-card__incipit{flex:0 0 100%;min-width:0}.abc-score--incipit{border-radius:6px;padding:6px 8px;box-shadow:0 1px #d9c39c}.abc-score--incipit svg{pointer-events:none;display:block}.set-card__title{color:var(--espresso);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.set-card__rhythm{color:var(--rh);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.set-card__key{border:1px solid var(--rh);min-width:34px;color:var(--rh);text-align:center;font:700 13px/1 var(--smoor-serif);border-radius:6px;padding:5px 6px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.set-card__actions{flex:none;gap:4px;display:inline-flex}.set-card__actions button{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);cursor:pointer;border-radius:6px;padding:4px 9px}.set-card__actions button:disabled{opacity:.35;cursor:default}.sets__empty,.sets__hint,.set-empty-hint{color:var(--espresso);opacity:.7}.set-player{margin-bottom:20px}.set-player__transport{flex-direction:column;gap:2px;min-width:0;display:flex}.set-player__row{align-items:center;gap:8px;min-width:0;display:flex}.top-play-bar .set-player__bar{flex:1;min-width:60px;margin:0}.top-play-bar .set-player__status{margin:0;font-size:12px}.set-player__settings{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 0;display:flex}.set-player__settings .set-player__note{flex-basis:100%}.set-score{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.set-score--paged{gap:4px}.set-score__pager{justify-content:center}.set-score__tune{border-left:3px solid #0000;border-radius:8px;padding:6px 8px 8px;scroll-margin-top:96px}.set-score__tune--current{border-left-color:var(--ember);background:var(--ember-soft)}.set-score__title{color:var(--espresso);margin:0 0 6px;font-size:16px;font-weight:600}.set-score__no-notation,.set-card__no-notation{color:var(--espresso);opacity:.7;margin:0;font-size:13px}.set-score__announce{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.top-play-bar .set-player__bar{min-width:40px}.set-score__tune{padding:4px 4px 6px}}.set-player__field{color:var(--espresso);align-items:center;gap:6px;font-size:13px;display:inline-flex}.set-player__field input,.set-player__field select{border:1px solid var(--line);border-radius:6px;padding:5px 8px}.set-player__field input{width:66px}.set-player__bar{background:var(--cream);border:1px solid var(--line);cursor:pointer;border-radius:999px;height:12px;margin:14px 0 8px;position:relative;overflow:hidden}.set-player__fill{background:var(--ember-soft);position:absolute;top:0;bottom:0;left:0}.set-player__marker{background:var(--espresso);opacity:.4;width:2px;position:absolute;top:0;bottom:0}.set-player__marker--tag{background:var(--ember);opacity:1;width:3px}.set-player__status{color:var(--ember);min-height:1.2em;margin:4px 0 0;font-size:13px}.set-player__note{color:var(--espresso);opacity:.7;margin:2px 0 0;font-size:12px}.practice-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0;padding:0 14px;font-size:13px;display:flex}.practice-control__select{height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--cream-panel);color:var(--espresso);padding:0 var(--control-pad-x);font-size:var(--control-font-size);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"6\" viewBox=\"0 0 10 6\"><path d=\"M1 1l4 4 4-4\" fill=\"none\" stroke=\"%23b7a189\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>");background-repeat:no-repeat;background-position:right var(--control-pad-x) center;flex-shrink:0;max-width:100%;padding-right:30px;font-family:inherit}.tempo-control{flex-shrink:0;display:inline-flex;position:relative}.tempo-chip{box-sizing:border-box;min-height:var(--control-height);border:1px solid var(--line);background:var(--panel2);border-radius:var(--control-radius);padding:2px var(--control-pad-x);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-end;line-height:1.1;display:flex}.tempo-chip[aria-expanded=true]{border-color:var(--accent-border)}.tempo-chip__percent{color:var(--muted);font-size:11px}.tempo-chip__percent:only-child{font-size:inherit;color:var(--ink)}.tempo-chip:disabled{opacity:.5;cursor:default}.tempo-popover{z-index:20;box-sizing:border-box;background:var(--panel2);border:1px solid var(--line);border-radius:14px;gap:12px;width:250px;max-width:calc(100vw - 32px);padding:14px;font-size:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #00000080}.tempo-popover__stepper{justify-content:space-between;align-items:center;gap:10px;display:flex}.tempo-popover__step{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.tempo-popover__readout{font:600 26px var(--smoor-serif);color:var(--ink);font-variant-numeric:tabular-nums}.tempo-popover__readout small{font:13px var(--sans);color:var(--muted)}.tempo-popover__presets{flex-wrap:wrap;gap:6px;display:flex}.tempo-popover__preset{height:var(--control-height);border:1px solid var(--line);background:var(--panel);border-radius:var(--control-radius);padding:0 var(--control-pad-x);font:inherit;font-size:var(--control-font-size);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;flex:none}.tempo-popover__preset[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.tempo-control__bpm{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.tempo-control__bpm-input{box-sizing:border-box;width:5.5em;height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--panel);color:var(--espresso);padding:0 var(--control-pad-x);font-size:var(--control-font-size);font-family:inherit}.abc-score .abc-bar--playing{fill:var(--ember)}.loop-panel{flex-direction:column;gap:10px;margin:0 0 10px;font-size:14px;display:flex}.loop-panel__row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.loop-panel button{height:var(--control-height);padding:0 var(--control-pad-x);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--cream);color:var(--ink);font:inherit;font-size:var(--control-font-size);cursor:pointer}.loop-panel button:hover:not(:disabled){background:var(--ember-soft)}.loop-panel button[aria-pressed=true]{background:var(--ember);border-color:var(--ember);color:var(--cream)}.loop-panel button:disabled{opacity:.4;cursor:default}.loop-panel__notice{color:var(--muted);margin:0}.loop-panel__status{font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:15px}.loop-panel__status em{color:var(--ember);font-style:normal}.loop-panel__steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.loop-panel .loop-panel__steps button{white-space:nowrap;padding:0 4px}.loop-panel .loop-panel__mark{border-color:var(--accent-border);background:var(--ember-soft);color:var(--ember)}.loop-panel__save{flex-wrap:nowrap}.loop-panel__name{min-width:0;height:var(--control-height);padding:0 var(--control-pad-x);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--cream);color:var(--ink);font:inherit;font-size:var(--control-font-size);flex:160px}.loop-panel__name::placeholder{color:var(--muted)}.loop-panel__save button{flex-shrink:0}.loop-panel__saved{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.loop-panel__saved li{align-items:center;gap:6px;display:flex}.loop-panel .loop-panel__pick{text-align:left;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.loop-panel .loop-panel__pick[aria-pressed=true]{background:var(--ember-soft);border-color:var(--ember);color:var(--ink)}.loop-panel__pick-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loop-panel__pick-times{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0}.add-tunes{box-sizing:border-box;flex-direction:column;flex:1;gap:20px;width:100%;max-width:760px;min-height:0;margin:0 auto;padding:24px;display:flex;overflow:auto}.add-tunes__title{color:var(--espresso);margin:0;font-size:24px}.add-tunes__hint{color:var(--ink-soft);margin:6px 0 0;font-size:15px}.add-tunes__hint code{background:var(--ember-soft);border-radius:4px;padding:1px 5px}.add-tunes__field{flex-direction:column;gap:6px;display:flex}.add-tunes__label{color:var(--espresso);font-size:14px;font-weight:600}.add-tunes__batch{align-items:baseline;gap:12px;display:flex}.add-tunes__summary{color:var(--ink-soft);font-size:14px;font-weight:600}.add-tunes__skipped{color:var(--ink-soft);margin:0;padding:0;font-size:14px;list-style:none}.add-tunes__done{background:var(--ember-soft);color:var(--espresso);border-radius:8px;padding:12px 14px}.add-tunes__link{color:var(--ember);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.add-tunes__add{background:var(--ember);color:var(--cream-panel);font:inherit;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:10px 18px;font-weight:600}.add-tunes__add:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed}.add-tunes__recording{border-top:1px solid var(--line);flex-direction:column;gap:16px;padding-top:20px;display:flex}.add-tunes__subtitle{color:var(--espresso);margin:0;font-size:18px}.capture{flex-direction:column;flex:1;gap:20px;width:100%;max-width:620px;min-height:0;margin:0 auto;padding:24px;display:flex;overflow:auto}.capture__title{color:var(--espresso);margin:0;font-size:24px}.capture__hint{color:var(--ink-soft);margin:6px 0 0;font-size:15px}.capture__form{align-items:flex-end;gap:12px;display:flex}.capture__field{flex-direction:column;flex:1;gap:6px;display:flex}.capture__label{color:var(--espresso);font-size:14px;font-weight:600}.capture__input{border:1px solid var(--line);background:var(--cream-panel);color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px}.capture__add{background:var(--ember);color:var(--cream-panel);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-weight:600}.capture__add:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed}.capture__mic{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:10px 14px}.capture__mic:hover{background:var(--ember-soft)}.capture__mic--listening{background:var(--ember);color:var(--cream-panel);border-color:var(--ember)}.repertoire{flex-direction:column;flex:1;min-height:0;display:flex}.repertoire__toolbar{border-bottom:1px solid var(--line);background:var(--cream-panel);padding:10px 16px}.backup{flex:1;max-width:640px;min-height:0;padding:24px;overflow-y:auto}.backup__intro{margin-bottom:20px}.backup__hint{color:var(--espresso);opacity:.8}.backup__actions{align-items:center;gap:12px;display:flex}.backup__export,.backup__import{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}.backup__export:hover,.backup__import:hover{background:var(--ember-soft)}.backup__file{display:none}.backup__message{margin-top:16px}.backup__message--ok{color:var(--ember)}.backup__message--error{color:#b00020}.backup__offline-audio{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.backup__subtitle{color:var(--espresso);margin:0 0 8px}.tune-detail__make-copy{border:1px solid var(--line);background:var(--cream-panel);color:var(--ember);font:inherit;cursor:pointer;border-radius:6px;margin-top:12px;padding:6px 12px}.tune-detail__make-copy:hover{background:var(--ember-soft)}.tune-detail__now-editing{background:var(--ember-soft);color:var(--espresso);border-radius:6px;margin:8px 0 0;padding:6px 12px;font-size:.9em}.settings-toggle{margin:8px 0 0}.settings-toggle__toggle{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:.9em}.setting-chooser{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.setting-card{border:1px solid var(--line);border-left:5px solid var(--line);background:#00000040;border-radius:8px;align-items:stretch;gap:8px;padding:8px;display:flex}.setting-card--selected{border-left-color:var(--ember)}.setting-card__pick{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:auto;gap:4px;padding:0;display:flex}.setting-card__meta{gap:8px;font-size:.9em;display:flex}.setting-card__key{font-weight:600}.setting-card__places,.setting-card__posted{opacity:.8;font-size:.85em}.setting-card__default,.setting-card__in-collection{font-size:.85em;font-weight:600}.setting-card__play{border:1px solid var(--line);min-width:44px;color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none}.tune-detail__source-note{color:var(--muted,#6b6b6b);margin:16px 0 0;font-size:.8em;line-height:1.4}.fork-gate{z-index:50;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fork-gate__sheet{background:var(--cream-panel);border-radius:10px;width:100%;max-width:420px;padding:20px;box-shadow:0 8px 30px #00000040}.fork-gate__title{color:var(--espresso);margin:0 0 8px}.fork-gate__body{color:var(--espresso);margin:0 0 16px}.fork-gate__actions{justify-content:flex-end;gap:8px;display:flex}.fork-gate__cancel{border:1px solid var(--line);background:var(--cream-panel);color:var(--espresso);font:inherit;cursor:pointer;border-radius:6px;padding:8px 14px}.fork-gate__confirm{background:var(--ember);color:var(--cream-panel);font:inherit;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-weight:600}.capture__done{background:var(--ember-soft);color:var(--espresso);border-radius:8px;padding:12px 14px}.capture__link{color:var(--ember);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.tune-detail__stub{border:1px dashed var(--line);text-align:center;color:var(--ink-soft);border-radius:8px;padding:24px}.tune-detail__stub-title{color:var(--espresso);margin:0;font-weight:600}.tune-detail__stub-hint{margin:6px 0 0;font-size:14px}.floating-bar__fab{z-index:40;background:var(--ember);color:#1a120b;cursor:pointer;border:none;border-radius:50%;width:56px;height:56px;font-size:22px;position:fixed;bottom:88px;right:24px;box-shadow:0 10px 26px #00000080}.floating-bar__fab:hover{background:var(--accent2)}.floating-bar-wrap{z-index:40;flex-direction:column;gap:10px;width:min(900px,100vw - 24px);display:flex;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.floating-bar{background:var(--panel2);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 14px 40px #0000008c}.search-results{background:var(--panel2);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 14px 40px #0000008c}.search-results .collection-picker__menu{min-width:0;box-shadow:none;margin:6px 12px 8px;position:static}.search-results__row{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:11px 14px;font-size:14px;display:flex}.search-results__row:hover{background:var(--panel)}.search-results__meta{color:var(--ink-soft);white-space:nowrap;font-size:12px}.search-results__aka{color:var(--muted);font-weight:400}.search-results__none{color:var(--ink-soft);border-bottom:1px solid var(--line);padding:12px 14px;font-size:13px;font-style:italic}.search-results__group{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);padding:8px 14px 4px;font-size:12px;font-weight:600}.search-results__ext{background:var(--panel);width:100%;color:var(--ember);font:inherit;cursor:pointer;text-align:left;border:none;padding:12px 14px;font-size:14px}.search-results__ext:hover:not(:disabled){background:var(--ember-soft)}.search-results__ext:disabled{cursor:progress;opacity:.8}.search-results__tune{border-bottom:1px solid var(--line)}.search-results__tune-head{align-items:stretch;display:flex}.search-results__tune-head .search-results__row{border-bottom:none;flex:1;min-width:0}.search-results__add{border:none;border-left:1px solid var(--line);min-width:44px;color:var(--ember);font:inherit;cursor:pointer;background:0 0;flex:none;font-size:18px}.search-results__add:hover:not(:disabled){background:var(--ember-soft)}.search-results__tune .settings-toggle{margin:0;padding:0 14px 10px}.floating-bar__search{border:1px solid var(--line);background:var(--panel);min-width:160px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:10px 12px;font-size:15px}.floating-bar__field{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.floating-bar__key{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;border-radius:7px;padding:7px 8px;font-size:13px}.floating-bar__jump{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;padding:9px 12px;font-size:14px}.floating-bar__jump:hover{background:var(--ember-soft)}.floating-bar__jump--primary{background:var(--ember);color:#1a120b;border-color:var(--ember)}.floating-bar__jump--primary:hover{background:var(--accent2)}.floating-bar__close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:6px;font-size:16px}.floating-bar__close:hover{color:var(--ink)}.focus-mode{z-index:60;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto}.focus-mode__stage{box-sizing:border-box;flex:1;width:100%;max-width:1120px;margin:0 auto;padding:28px 6vw 128px}.tune-detail--focus .tune-detail__title{font-size:32px}.tune-detail--focus .abc-score{min-height:60vh}.focus-mode__bar{z-index:61;background:var(--panel2);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;max-width:min(900px,100vw - 24px);padding:10px 12px;display:flex;position:fixed;top:24px;left:24px;box-shadow:0 14px 40px #0000008c}.focus-mode__exit{border:1px solid var(--ember);background:var(--ember);color:#1a120b;font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;padding:9px 14px;font-size:14px}.focus-mode__exit:hover{background:var(--accent2)}.focus-mode__jump{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;padding:9px 12px;font-size:14px}.focus-mode__jump:hover{background:var(--ember-soft)}.focus-mode__restore{z-index:61;background:var(--ember);color:#1a120b;cursor:pointer;border:none;border-radius:50%;width:54px;height:54px;font-size:22px;display:none;position:fixed;top:16px;left:16px;box-shadow:0 8px 22px #0000008c}.focus-mode__restore:hover{background:var(--accent2)}.tune-detail__paper{position:relative}.tune-detail__focus-corner{z-index:2;color:#f3e7d3;cursor:pointer;background:#1a120b8c;border:1px solid #1a120b2e;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;font-size:16px;line-height:1;transition:background .12s,border-color .12s;display:grid;position:absolute;top:8px;right:8px}.tune-detail__focus-corner:hover{background:var(--ember);border-color:var(--ember);color:#1a120b}.tune-detail__focus-corner:focus-visible{outline:2px solid var(--ember);outline-offset:2px}@media (width<=720px){.floating-bar{flex-wrap:wrap;max-width:none;left:12px;right:12px;transform:none}.floating-bar__search{min-width:120px}.focus-mode__bar{display:none}.focus-mode__restore{justify-content:center;align-items:center;display:inline-flex}.focus-mode__stage{padding:20px 16px 96px}}.collection-rail{border-bottom:1px solid var(--line);padding:10px 8px 8px}.collection-rail__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.collection-rail__item{border-radius:6px;align-items:stretch;display:flex}.collection-rail__item[data-selected=true]{background:var(--ember-soft)}.collection-rail__select{cursor:pointer;text-align:left;color:var(--ink);font:inherit;background:0 0;border:none;border-radius:6px;flex:1;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 10px;display:flex}.collection-rail__select:hover{background:var(--ember-soft)}.collection-rail__item[data-selected=true] .collection-rail__name{color:var(--ember);font-weight:600}.collection-rail__item[data-kind=import] .collection-rail__name:before{content:"📥 ";opacity:.7}.collection-rail__count{font-variant-numeric:tabular-nums;color:var(--ink-soft);opacity:.8;font-size:13px}.collection-rail__actions{align-items:center;gap:2px;padding-right:4px;display:none}.collection-rail__item:hover .collection-rail__actions,.collection-rail__item[data-selected=true] .collection-rail__actions{display:flex}.collection-rail__action{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px}.collection-rail__action:hover{color:var(--ink);background:var(--panel2)}.collection-rail__new-toggle{border:1px dashed var(--line);color:var(--ink-soft);cursor:pointer;font:inherit;text-align:left;background:0 0;border-radius:6px;width:100%;margin-top:6px;padding:6px 10px;font-size:13px}.collection-rail__new-toggle:hover{color:var(--ink);border-color:var(--ember)}.collection-rail__new{gap:6px;margin-top:6px;display:flex}.collection-rail__new-input{background:var(--panel2);border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;border-radius:6px;flex:1;padding:6px 8px}.collection-rail__new-add,.collection-picker__new-add{background:var(--ember);color:#1c140f;cursor:pointer;font:inherit;border:none;border-radius:6px;padding:6px 12px;font-weight:600}.collection-rail__new-add:disabled,.collection-picker__new-add:disabled{opacity:.45;cursor:default}.collection-picker{position:relative}.collection-picker__toggle{border:1px solid var(--line);background:var(--panel2);color:var(--ink);cursor:pointer;font:inherit;border-radius:6px;padding:6px 10px;font-size:13px}.collection-picker__toggle:hover{border-color:var(--ember)}.collection-picker__menu{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.collection-picker__empty{color:var(--ink-soft);margin:0 0 6px;font-size:13px;font-style:italic}.collection-picker__list{max-height:220px;margin:0 0 6px;padding:0;list-style:none;overflow-y:auto}.collection-picker__label{cursor:pointer;color:var(--ink);align-items:center;gap:8px;padding:4px 2px;display:flex}.collection-picker__new{border-top:1px solid var(--line);gap:6px;padding-top:8px;display:flex}.collection-picker__new-input{background:var(--panel2);border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;border-radius:6px;flex:1;padding:6px 8px}.collection-picker__done{border:1px solid var(--line);background:var(--panel2);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;margin-top:8px;padding:6px 12px;font-weight:600}.collection-picker__done:hover{border-color:var(--accent);color:var(--accent)}.set-picker{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.set-picker__empty{color:var(--ink-soft);margin:0 0 6px;font-size:13px;font-style:italic}.set-picker__list{max-height:220px;margin:0 0 6px;padding:0;list-style:none;overflow-y:auto}.set-picker__pick{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 4px;display:block}.set-picker__pick:hover{background:var(--panel2)}.set-picker__pick--ticked{font-weight:600}.set-picker__tick{float:right;margin-left:8px}.set-picker__new{border-top:1px solid var(--line);gap:6px;padding-top:8px;display:flex}.set-picker__new-input{background:var(--panel2);border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;border-radius:6px;flex:1;padding:6px 8px}.set-picker__new-add{background:var(--ember);color:#1c140f;cursor:pointer;font:inherit;border:none;border-radius:6px;padding:6px 12px;font-weight:600}.set-picker__new-add:disabled{opacity:.45;cursor:default}.add-tunes__field--name{margin-bottom:12px}.add-tunes__also-add{color:var(--ink);cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.add-tunes__name{box-sizing:border-box;background:var(--panel2);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:6px;width:100%;padding:8px 10px}.overflow-menu{flex:none;display:inline-flex;position:relative}.overflow-menu__trigger{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:18px;line-height:1}.overflow-menu__trigger:hover{color:var(--ink);background:var(--panel2)}.overflow-menu__list{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:200px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0006}.overflow-menu__item{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;display:block}.overflow-menu__item:hover{background:var(--panel2)}.overflow-menu__divider{background:var(--danger);opacity:.55;height:1px;margin:4px 6px}.overflow-menu__item--destructive{color:var(--danger)}.overflow-menu__item--destructive:hover{background:var(--danger-soft)}.browse-card__wrap{position:relative}.browse-card__wrap .overflow-menu{position:absolute;top:6px;right:6px}.confirm-sheet__backdrop{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}@media (width>=640px){.confirm-sheet__backdrop{align-items:center}}.confirm-sheet{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:440px;padding:20px;box-shadow:0 12px 40px #00000080}.confirm-sheet[data-severity=danger]{border-top:3px solid var(--danger)}.confirm-sheet__title{color:var(--ink);margin:0 0 10px;font-size:18px}.confirm-sheet__body{margin:0 0 12px}.confirm-sheet__line{color:var(--ink-soft);margin:0 0 6px;font-size:14px}.confirm-sheet__ties{background:var(--danger-soft);border-radius:8px;margin:0 0 14px;padding:10px 12px;list-style:none}.confirm-sheet__tie{color:var(--ink);justify-content:space-between;padding:3px 0;font-size:14px;display:flex}.confirm-sheet__tie-count{font-variant-numeric:tabular-nums;font-weight:600}.confirm-sheet__gate{margin:0 0 14px;display:block}.confirm-sheet__gate-prompt{color:var(--ink-soft);margin-bottom:6px;font-size:13px;display:block}.confirm-sheet__gate-input{background:var(--panel2);border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:8px 10px}.confirm-sheet__actions{justify-content:flex-end;gap:8px;display:flex}.confirm-sheet__cancel{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px}.confirm-sheet__confirm{border:1px solid var(--danger);background:var(--danger);color:#1a1109;font:inherit;cursor:pointer;border-radius:8px;padding:8px 16px;font-weight:600}.confirm-sheet__confirm[data-severity=notice]{border-color:var(--ember);background:var(--ember)}.confirm-sheet__confirm:disabled{opacity:.4;cursor:not-allowed}.toast-host{z-index:90;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;left:0;right:0}.toast-host--bottom{bottom:84px}.toast-host--top{top:calc(16px + env(safe-area-inset-top,0px))}.toast{background:var(--accent);border:1px solid var(--accent2);max-width:480px;color:var(--bg);pointer-events:auto;border-radius:999px;align-items:center;gap:16px;padding:10px 18px;display:inline-flex;box-shadow:0 8px 24px #0006}.toast__message{font-size:14px;font-weight:500}.toast__action{color:var(--bg);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.hint-banner{background:var(--ember-soft);border:1px solid var(--accent2);color:var(--ink);border-radius:8px;flex:none;align-items:center;gap:10px;margin:8px 12px 0;padding:8px 12px;display:flex}.hint-banner__text{flex:1;margin:0;font-size:13px;line-height:1.4}.hint-banner__action{border:1px solid var(--accent2);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:4px 10px;font-size:13px}.hint-banner__dismiss{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex:none;padding:0 4px;font-size:20px;line-height:1}.hint-banner__dismiss:hover{color:var(--ink)}.scope-switcher,.scope-sheet__card,.graze__section{border:1px solid var(--line);border-left:5px solid var(--accent);border-right:5px solid var(--accent);cursor:pointer;color:var(--ink);font:600 16px/1.2 var(--sans,system-ui);background:#00000040;border-radius:8px}.scope-switcher:hover,.scope-sheet__card:hover,.graze__section:hover{border-color:var(--accent)}.scope-switcher{flex:none;align-items:center;gap:6px;max-width:55%;padding:7px 10px;display:inline-flex}.scope-switcher__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scope-switcher__caret{color:var(--accent);flex:none;font-size:14px}.scope-sheet__backdrop{inset:0 0 var(--bottom-nav-height) 0;z-index:50;background:#00000080;align-items:flex-end;display:flex;position:fixed}.scope-sheet{background:var(--panel);width:100%;max-height:70vh;padding:12px 0 max(12px, env(safe-area-inset-bottom));border-top-left-radius:16px;border-top-right-radius:16px;overflow-y:auto;box-shadow:0 -8px 24px #0006}.scope-sheet__title{color:var(--muted);font:600 13px/1 var(--sans,system-ui);text-transform:uppercase;letter-spacing:.06em;margin:0;padding:4px 20px 10px}.scope-sheet__list{flex-direction:column;gap:6px;margin:0;padding:0 14px;list-style:none;display:flex}.scope-sheet__card{align-items:center;padding-right:6px;display:flex}.scope-sheet__row{cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:12px 8px 12px 14px;display:flex}.scope-sheet__new{color:var(--accent)}.scope-sheet__name-input{box-sizing:border-box;background:var(--panel2);min-width:0;color:var(--ink);border:1px solid var(--accent);font:inherit;border-radius:6px;flex:1;margin:6px 0 6px 8px;padding:6px 8px}.scope-sheet__submit{background:var(--accent);color:var(--bg);border:1px solid var(--accent);font:inherit;cursor:pointer;border-radius:6px;flex:none;margin:6px 0 6px 8px;padding:6px 12px;font-weight:600}.scope-sheet__display-name{flex-direction:column;flex:1;min-width:0;padding:6px 0;display:flex}.scope-sheet__display-name .scope-sheet__name-input{margin-top:4px}.scope-sheet__hint{color:var(--muted);font:500 13px/1.3 var(--sans,system-ui);margin:0 0 0 8px}.scope-sheet__row[aria-current=true]{color:var(--accent)}.scope-sheet__row-count{color:var(--muted);flex:none;font-size:14px;font-weight:500}.scope-sheet__backdrop--contained{z-index:4;position:absolute;inset:0}.scope-sheet__backdrop--contained .scope-sheet{max-height:85%}@media (width<=720px){.scope-sheet__backdrop:not(.scope-sheet__backdrop--contained) .scope-sheet{box-sizing:border-box;height:100%;max-height:none;box-shadow:none;padding-top:max(12px, env(safe-area-inset-top));border-radius:0}}.graze-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.graze-filters__count{color:var(--accent);white-space:nowrap;margin-left:auto;font-size:12px}.graze-filters__view{gap:4px;display:inline-flex}.graze-search{flex:1;min-width:0;position:relative}.graze-search__input{box-sizing:border-box;background:var(--panel2);width:100%;color:var(--ink);border:1px solid var(--line);font:500 14px/1.2 var(--sans,system-ui);border-radius:10px;padding:8px 12px}.graze-search__dropdown{bottom:var(--bottom-nav-height);z-index:30;background:var(--bg);flex-direction:column;display:flex;position:fixed}.graze-search__dropdown .search-results{background:var(--panel);border:0;border-top:1px solid var(--line);min-height:0;box-shadow:none;border-radius:0;flex:1;overflow-y:auto}.graze-topbar{flex-direction:column;flex:none;gap:8px;padding:12px 14px 8px;display:flex}.graze-topbar__row{align-items:center;gap:10px;display:flex}.graze{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.graze__scroll{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:1;min-height:0;position:relative;overflow-y:auto}.graze-rail-wrap{position:relative}.graze-rail-wrap:before,.graze-rail-wrap:after{content:"";pointer-events:none;opacity:0;z-index:1;width:32px;transition:opacity .15s;position:absolute;top:0;bottom:1px}.graze-rail-wrap:before{background:linear-gradient(to right, var(--panel), transparent);left:0}.graze-rail-wrap:after{background:linear-gradient(to left, var(--panel), transparent);right:0}.graze-rail-wrap[data-more-left=true]:before,.graze-rail-wrap[data-more-right=true]:after{opacity:1}.graze-rail{border-bottom:1px solid var(--line);background:var(--panel);scrollbar-width:none;flex:none;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.graze-rail::-webkit-scrollbar{height:0}.graze-rail__chip{cursor:pointer;background:var(--panel2);color:var(--muted);border:1px solid var(--line);font:600 12px/1 var(--sans,system-ui);border-radius:999px;flex:none;padding:5px 11px}.graze-rail__chip:hover{color:var(--accent);border-color:var(--accent)}.graze-rail__chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--panel)}.graze__inner{width:100%;position:relative}.graze__headerRow{width:100%}.graze__header{color:var(--accent);font:700 15px/1 var(--sans,system-ui);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin:0;padding:16px 14px 8px}.graze__headerToggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:0;display:flex}.graze__headerCaret{flex:none;width:1em;font-size:21px;line-height:15px}.graze__sectionRow{box-sizing:border-box;background:var(--bg);width:100%;padding:6px 8px 4px}.graze__section{box-sizing:border-box;background-color:var(--panel);height:100%;margin:0}.graze__sectionToggle{width:100%;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:0 14px 0 10px;display:flex}.graze__sectionToggle .graze__headerCaret{color:var(--accent)}.graze__sectionName{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.graze__sectionCount{color:var(--muted);flex:none;font-size:14px;font-weight:500}.graze__noteRow{box-sizing:border-box;text-align:center;color:var(--muted);padding:16px 24px 20px}.graze__pair{grid-template-columns:repeat(var(--graze-columns,2), 1fr);align-items:start;gap:2px 10px;padding:0 12px;display:grid}.graze-cell{align-items:start;gap:4px;width:100%;display:flex}.graze-cell__open{text-align:left;cursor:pointer;min-width:0;color:var(--ink);font:600 13px/1.28 var(--sans,system-ui);overflow-wrap:anywhere;background:0 0;border:none;flex:1;padding:7px 2px}.graze-cell__open:hover{color:var(--accent)}.graze__scroll[data-columns="3"] .graze-cell__open{font-size:14px}.graze__scroll[data-columns="4"] .graze-cell__open{font-size:15px}.graze-cell__key{color:var(--muted);white-space:nowrap;font-weight:500}.graze-cell__add{cursor:pointer;width:28px;color:var(--ember);font:600 20px/1 var(--sans,system-ui);background:0 0;border:none;flex:none;padding:4px 0}.graze-cell__add:hover{color:var(--accent)}.graze-cell__count{color:var(--muted);font:600 12px/1 var(--sans,system-ui);white-space:nowrap;align-self:center;padding:0 4px}.graze-cell__actions{flex:none;align-items:start;display:flex;position:relative}:is(.graze__pairRow:has(.overflow-menu__list),.graze__pairRow:has(.collection-picker__menu),.graze__pairRow:has(.set-picker)){z-index:20}:is(.graze-cell:has(.overflow-menu__list),.graze-cell:has(.collection-picker__menu),.graze-cell:has(.set-picker)){background:var(--panel2);border-radius:8px}@media (width<=720px){.graze-cell__actions,.graze-cell .overflow-menu,.graze-cell .collection-picker{position:static}.graze-cell .overflow-menu__list,.graze-cell .collection-picker__menu,.graze-cell .set-picker{min-width:0;left:8px;right:8px}}.graze__empty{text-align:center;color:var(--muted);padding:48px 24px}.graze__empty-title{color:var(--ink);margin:0 0 6px;font-weight:600}.graze__empty-hint{margin:0;font-size:14px}.page-track{display:flex;overflow:hidden}.page-track__track{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.page-track__page{pointer-events:none;background:var(--bg);width:100%;position:absolute;top:0;bottom:0;overflow:hidden}.page-track__page--previous{right:100%}.page-track__page--next{left:100%}.page-track__body--turning{touch-action:pan-y pinch-zoom}.page-counter{align-items:center;gap:2px;display:flex}.page-counter__turn{cursor:pointer;color:var(--accent);font:600 22px/1 var(--sans,system-ui);background:0 0;border:none;min-width:40px;min-height:40px;padding:0 8px}.page-counter__turn:disabled{color:var(--text);opacity:.4;cursor:default}.page-counter__count{color:var(--text);font:500 14px/1 var(--sans,system-ui);font-variant-numeric:tabular-nums;white-space:nowrap}.graze-reader{inset:0 0 var(--bottom-nav-height) 0;z-index:40;background:var(--bg);flex-direction:column;display:flex;position:fixed}.graze-reader--contained{z-index:3;position:absolute;inset:0}.graze-reader__bar{border-bottom:1px solid var(--line);background:var(--panel);flex:none;align-items:center;padding:8px 12px;display:flex}.graze-reader__back{cursor:pointer;color:var(--accent);font:600 15px/1 var(--sans,system-ui);background:0 0;border:none;padding:8px 6px}.graze-reader__viewport{flex:1;min-height:0}.graze-reader__body{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.graze-reader__pager{margin-left:auto}.graze-home,.graze-home__surface{flex-direction:column;flex:1;min-height:0;display:flex}.graze-home--scoped{position:relative}.slide-over__backdrop{inset:0 0 var(--bottom-nav-height) 0;z-index:45;background:#00000080;justify-content:flex-end;display:flex;position:fixed}.slide-over{background:var(--bg);border-left:1px solid var(--line);outline:none;flex-direction:column;width:min(520px,100%);height:100%;animation:.18s ease-out slide-over-in;display:flex;position:relative;box-shadow:-8px 0 24px #0006}.slide-over--full{width:100%;box-shadow:none;border-left:none}@keyframes slide-over-in{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.slide-over{animation:none}}.slide-over__bar{border-bottom:1px solid var(--line);background:var(--panel);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px 8px 20px;display:flex}.slide-over__title{color:var(--muted);font:600 13px/1 var(--sans,system-ui);text-transform:uppercase;letter-spacing:.06em;margin:0}.slide-over__close{cursor:pointer;color:var(--ink);font:400 24px/1 var(--sans,system-ui);background:0 0;border:none;padding:6px 10px}.slide-over__body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.catalog{box-sizing:border-box;flex:1;width:100%;max-width:620px;min-height:0;margin:0 auto;padding:8px 16px 24px;overflow-y:auto}.catalog__title{font-family:var(--smoor-serif);color:var(--espresso);margin:6px 0 4px;font-size:26px}.catalog__section{margin-top:18px}.catalog__section-title{font-family:var(--smoor-serif);color:var(--espresso);margin:0 0 8px;font-size:19px}.catalog__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.catalog-row{border:1px solid var(--line);background:var(--cream-panel);color:inherit;border-radius:14px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.catalog-row:hover{border-color:var(--ember)}.catalog-row__chevron{color:var(--ink-soft);margin-left:auto;font-size:20px}.catalog-row__tile{background:var(--ember-soft);width:44px;height:44px;color:var(--paper);font:700 15px/1 var(--smoor-serif);border-radius:10px;flex:none;place-items:center;display:inline-grid}.catalog-row__body{flex-direction:column;gap:2px;min-width:0;display:flex}.catalog-row__name{font-family:var(--smoor-serif);color:var(--espresso);font-size:17px}.catalog-row__description,.catalog-row__meta{color:var(--ink-soft);font-size:13px}.catalog-row__meta{align-items:center;gap:6px;display:flex}.catalog-row__badge{border:1px solid var(--line);background:var(--panel2);color:var(--espresso);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.catalog-page{flex-direction:column;flex:1;min-height:0;display:flex}.catalog-head{align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.catalog-row__tile--large{border-radius:14px;width:64px;height:64px;font-size:22px}.catalog-head__body{flex-direction:column;gap:4px;min-width:0;display:flex}.catalog-head__name{font-family:var(--smoor-serif);color:var(--espresso);margin:0;font-size:22px;line-height:1.15}.catalog-head__body p{margin:0}.catalog-section{margin:16px 0}.catalog-section__heading{color:var(--ink-soft);font:700 12px/1 var(--sans,system-ui);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}.catalog-section__list{margin:0;padding:0;list-style:none}.catalog-tune{border-bottom:1px solid var(--line);color:var(--espresso);align-items:baseline;gap:8px;padding:10px 0;text-decoration:none;display:flex}.catalog-tune:hover .catalog-tune__title{color:var(--ember)}.catalog-tune__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.catalog-tune__key{color:var(--ink-soft);flex:none;font-size:13px}.catalog-add{background:var(--ember);color:var(--bg);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;margin:4px 0 8px;padding:10px 16px;font-weight:600}.catalog-add:disabled{opacity:.55;cursor:default}.catalog-add:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.catalog-in-collection{border:1px solid var(--line);background:var(--panel2);color:var(--espresso);border-radius:8px;margin:4px 0 8px;padding:10px 16px;font-weight:600;display:inline-block}.catalog-report__open,.catalog-report__cancel{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 8px;padding:4px 0;font-size:13px;text-decoration:underline;display:block}.catalog-report{flex-direction:column;gap:6px;max-width:480px;margin:4px 0 12px;display:flex}.catalog-report__label{color:var(--espresso);font-size:14px;font-weight:600}.catalog-report__reason{border:1px solid var(--line);background:var(--panel2);color:var(--espresso);font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}.catalog-report__actions{align-items:center;gap:16px;display:flex}.catalog-report__actions .catalog-report__cancel{margin:0}.catalog-own__actions{flex-wrap:wrap;gap:8px;display:flex}.catalog-row__mark{color:var(--ember);font-size:12px;font-weight:700}.catalog__intro{color:var(--ink-soft);margin:8px 0 12px;font-size:14px}.hearth{box-sizing:border-box;flex-direction:column;flex:1;gap:12px;width:100%;max-width:620px;min-height:0;margin:0 auto;padding:8px 16px 24px;display:flex;overflow-y:auto}.hearth__title{font-family:var(--smoor-serif);color:var(--espresso);margin:6px 0 0;font-size:26px}.hearth__intro,.hearth__hint{color:var(--ink-soft);margin:0}.hearth__notice{border:1px solid var(--line);background:var(--cream-panel);color:var(--espresso);border-radius:10px;margin:0;padding:10px 12px}.hearth__display-name{flex-direction:column;gap:8px;display:flex}.hearth__label{color:var(--ink-soft);font-size:13px}.hearth__input{box-sizing:border-box;border:1px solid var(--line);background:var(--panel2);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 12px}.hearth__code-input{text-transform:uppercase;letter-spacing:2px;flex:1;min-width:0}.hearth__primary,.hearth__secondary{min-height:44px;font:inherit;cursor:pointer;border-radius:10px;padding:0 16px;font-weight:600}.hearth__primary{background:var(--ember);color:#1a1109;border:1px solid #0000}.hearth__secondary{border:1px solid var(--line);background:var(--panel2);color:var(--ember)}.hearth__primary:disabled,.hearth__secondary:disabled{opacity:.55;cursor:default}.hearth__join{flex-direction:column;gap:6px;display:flex}.hearth__join-row{gap:8px;display:flex}.hearth__code-card{border:1px solid var(--line);background:var(--cream-panel);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:16px;display:flex}.hearth__code{letter-spacing:4px;color:var(--espresso);font:700 34px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hearth__section-title{font-family:var(--smoor-serif);color:var(--espresso);margin:6px 0 0;font-size:19px}.hearth__players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hearth-player{align-items:center;gap:10px;min-width:0;display:flex}.hearth-player__initials{width:36px;height:36px;color:var(--paper);font:700 14px/1 var(--smoor-serif);border-radius:50%;flex:none;place-items:center;display:inline-grid}.hearth-player__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--espresso);overflow:hidden}.hearth-player__host{border:1px solid var(--line);background:var(--panel2);color:var(--espresso);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:700}.hearth__tunebooks,.hearth__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hearth__tunebooks{gap:8px}.hearth-tunebook{align-items:center;gap:10px;min-width:0;display:flex}.hearth-tunebook__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--espresso);overflow:hidden}.hearth-row__name{overflow-wrap:anywhere;min-width:0;color:var(--espresso)}.hearth-tunebook__name{flex:1}.hearth-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:8px 0;display:flex}.hearth-row__tune{flex-direction:column;flex:1;min-width:0;display:flex}.hearth-row__type{color:var(--ink-soft);font-size:13px}.hearth-row__players{flex:none;align-items:center;display:inline-flex}.hearth-row__players>*+*{margin-left:-6px}.hearth-player__initials--small{border:2px solid var(--paper);width:26px;height:26px;font-size:11px}.hearth-player__initials--star{isolation:isolate;border:none;border-radius:0;width:32px;height:32px;padding-top:2px;font-size:10px;position:relative}.hearth-player__star{z-index:-1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hearth-player__star polygon{stroke:var(--paper);stroke-width:6px;stroke-linejoin:round;paint-order:stroke}.hearth-row__players--counts{gap:4px}.hearth-row__players--counts>*+*{margin-left:0}.hearth-row__certainty{border-radius:50%;flex:none;width:10px;height:10px}.hearth-row__certainty--sure{background:var(--ember)}.hearth-row__certainty--less-sure{background:var(--ink-soft)}.hearth__leave{align-self:flex-start}.hearth__leave-choice{flex-direction:column;align-items:stretch;gap:8px;display:flex}
