:root{color-scheme:dark;--bg: #141A22;--surface: #1F2B3A;--surface-raised: #263445;--hairline: rgba(255, 255, 255, .1);--shadow: 0 10px 30px rgba(0, 0, 0, .45), 0 1px 0 rgba(255, 255, 255, .04) inset;--text: #E6EAF0;--text-muted: #9AA7B6;--text-faint: #6B7683;--accent: #F5A524;--accent-hover: #FFB640;--accent-press: #E0951A;--accent-soft: rgba(245, 165, 36, .18);--accent-tint: rgba(245, 165, 36, .11);--on-accent: #1F2B3A;--danger: #D9534F;--danger-hover: #E4645F;--danger-press: #C6443F;--danger-text: #F2A19E;--toggle-off: rgba(255, 255, 255, .06);--toggle-hover: rgba(255, 255, 255, .11);--toggle-press: rgba(255, 255, 255, .16);--bar-current: rgba(255, 255, 255, .055);--ink: rgba(230, 234, 240, .92);--ink-staff: rgba(230, 234, 240, .32);--ink-barline: rgba(230, 234, 240, .6);--ink-muted: #9AA7B6;--ink-header: rgba(230, 234, 240, .8);--paper: #FAF9F5;--paper-ink: #1A1A1A;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-title: Georgia, "Times New Roman", Times, serif;--target: 44px;--radius: 12px;--radius-lg: 18px;--content-w: 960px;--dock-h: 100px;--editor-dock-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--appbar-h: 52px;--scroll-margin: 88px}*,*:before,*:after{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}html{font-variant-numeric:lining-nums}body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:15px/1.4 var(--font-ui);letter-spacing:.005em}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--target);min-width:var(--target);padding:0 16px;border-radius:10px;background:var(--toggle-off);color:var(--text);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .12s ease,color .12s ease}.btn:hover{background:var(--toggle-hover)}.btn:active:not(:disabled){background:var(--toggle-press)}.btn--primary{background:var(--accent);color:var(--on-accent);font-weight:600}.btn--primary:hover{background:var(--accent-hover)}.btn--primary:active:not(:disabled){background:var(--accent-press)}.btn--quiet{background:transparent;color:var(--text-muted)}.btn--quiet:hover{background:var(--toggle-off);color:var(--text)}.btn--danger{background:var(--danger);color:#fff;font-weight:600}.btn--danger:hover{background:var(--danger-hover)}.btn--danger:active:not(:disabled){background:var(--danger-press)}.toggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:var(--target);min-width:var(--target);padding:0 8px;border-radius:10px;background:var(--toggle-off);color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.02em;line-height:1.1;white-space:nowrap;transition:background-color .12s ease,color .12s ease}.toggle:hover{background:var(--toggle-hover);color:var(--text)}.toggle:active:not(:disabled){background:var(--toggle-press)}.toggle[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.toggle[aria-pressed=true]:hover{background:#f5a5243d}.toggle__state{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.toggle[aria-pressed=true] .toggle__state{color:var(--accent)}.segmented{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--toggle-off);max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented__item{min-height:var(--target);padding:0 16px;border-radius:9px;font-size:14px;color:var(--text-muted);white-space:nowrap;transition:background-color .12s ease,color .12s ease}.segmented__item:hover{color:var(--text)}.segmented__item:active{background:var(--toggle-off)}.segmented__item[aria-pressed=true]{background:var(--surface-raised);color:var(--text)}.segmented--fill{display:flex;flex-wrap:wrap;width:100%;overflow:visible}.segmented--fill .segmented__item{flex:1 1 auto;padding:0 10px}.segmented--halves .segmented__item{flex:1 1 0}.field{display:block;width:100%;min-height:var(--target);padding:0 16px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface);color:var(--text);font-size:16px}.field::placeholder{color:var(--text-muted)}.field::-webkit-search-cancel-button{-webkit-appearance:none}.screen{width:100%;max-width:var(--content-w);margin:0 auto;padding:0 16px}.appbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:calc(var(--appbar-h) + var(--safe-t));margin:0 -8px;padding:var(--safe-t) 0 0;background:var(--bg)}.appbar--scrolls{position:static}.appbar__lead{display:flex;align-items:center;min-width:0}.appbar__wordmark{display:inline-flex;align-items:center;min-height:var(--target);padding:0 8px;color:var(--text)}.appbar__wordmark h1{font:italic 400 24px/1 var(--font-title);letter-spacing:-.01em;white-space:nowrap}.appbar__back{display:inline-flex;align-items:center;gap:4px;min-height:var(--target);padding:0 12px 0 8px;border-radius:10px;color:var(--text-muted);font-size:14px;font-weight:500}.appbar__back:hover{color:var(--text)}.appbar__back svg{width:20px;height:20px}.appbar__menu{display:inline-flex;align-items:center;gap:6px;min-height:var(--target);min-width:var(--target);padding:0 14px 0 10px;border-radius:999px;background:var(--toggle-off);color:var(--text-muted);font-size:13px;font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:background-color .12s ease,color .12s ease}.appbar__menu:hover{background:var(--toggle-hover);color:var(--text)}.appbar__menu:active{background:var(--toggle-press)}.appbar__menu[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.appbar__menu svg{width:20px;height:20px}.appbar__menu-mark{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex:0 0 auto}.appbar__menu-mark.is-synced{background:var(--accent)}.menu{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(320px,86vw);display:flex;flex-direction:column;padding:var(--safe-t) 0 calc(var(--safe-b) + 16px);background:var(--surface);border-left:1px solid var(--hairline);box-shadow:-8px 0 24px #00000059;animation:menu-in .2s ease}@keyframes menu-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.menu__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--appbar-h);padding:0 8px 0 20px}.menu__title{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.menu__body{display:grid;gap:16px;align-content:start;padding:4px 12px 0;overflow-y:auto}.menu__account{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 12px 12px 14px;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--hairline)}.menu__account:hover{background:var(--toggle-hover)}.menu__account svg{width:22px;height:22px;color:var(--text-muted);flex:0 0 auto}.menu__account-body{flex:1 1 auto;min-width:0;display:grid;gap:2px}.menu__account-title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu__account-line{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;line-height:1.35}.menu__dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex:0 0 auto}.menu__dot.is-synced{background:var(--accent)}.menu__list{list-style:none;margin:0;padding:0;display:grid}.menu__item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 8px 0 14px;border-radius:10px;color:var(--text);font-size:15px;text-align:left}.menu__item:hover{background:var(--toggle-off)}.menu__item:active{background:var(--toggle-hover)}.menu__item svg{width:20px;height:20px;color:var(--text-muted);flex:0 0 auto}.menu__item-label{flex:1 1 auto;min-width:0}.menu__item[aria-current=page]{background:var(--toggle-off)}.menu__note{padding:4px 14px 8px 46px;color:var(--text-muted);font-size:13px;line-height:1.45}.menu__foot{margin-top:auto;padding:16px 20px 0;color:var(--text-muted);font-size:13px;line-height:1.45}.library{padding-top:16px;padding-bottom:48px}.library .appbar{margin-bottom:12px}.not-found__back{margin-top:16px}.library__first-run{display:grid;gap:10px;justify-items:start;margin-bottom:20px;padding:14px 16px;border-radius:var(--radius);background:var(--accent-tint);font-size:14px;line-height:1.45}.library__find{display:flex;align-items:center;gap:8px}.library__find>.library__search{flex:1 1 auto;min-width:0}.library__find>.btn{flex:0 0 auto}.library__note{color:var(--danger-text);font-size:14px;line-height:1.45}.library__search{position:relative}.library__search.is-clearable .field{padding-right:72px}.library__clear{position:absolute;top:0;right:0;bottom:0;min-width:var(--target);padding:0 12px;border-radius:0 12px 12px 0;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;letter-spacing:.02em;line-height:1;white-space:nowrap;transition:background-color .12s ease,color .12s ease}.library__clear:hover{background:var(--toggle-off);color:var(--text)}.library__clear:active{background:var(--toggle-hover)}.empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.landing{max-width:720px;padding-top:20px;padding-bottom:40px;display:grid;gap:20px;align-content:start}.landing__head{display:flex;flex-direction:column;gap:8px}.landing__title{font:italic 400 32px/1.1 var(--font-title);letter-spacing:-.01em;white-space:nowrap}.landing__hero{margin:0;display:grid;gap:8px}.landing__stage{position:relative;overflow-x:auto;overflow-y:hidden}.landing__caption{font-size:14px}.landing__controls{display:flex;gap:8px}.landing__lead{font-size:18px;line-height:1.4}.landing__open{padding:0 24px;font-size:16px}.landing__points{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:62ch}.landing__point{display:grid;gap:2px;align-content:start}.landing__point h2{font-size:16px;font-weight:600;line-height:1.3}.landing__point p{color:var(--text-muted);font-size:14px;line-height:1.45}.landing__hint{display:grid;gap:8px;padding:12px 16px;border-radius:var(--radius);background:var(--accent-tint);font-size:14px;line-height:1.45}.landing__hint .btn{justify-self:start}.landing__foot{display:grid;gap:4px;padding-top:12px;border-top:1px solid var(--hairline);font-size:13px;line-height:1.45}.landing__foot a{justify-self:start;color:var(--text);text-decoration:underline;text-underline-offset:3px}.roadmap{max-width:860px;padding-top:16px;padding-bottom:48px;display:grid;gap:20px;align-content:start}.roadmap .appbar{margin-bottom:4px}.roadmap__head{display:grid;gap:10px}.roadmap__title{font:italic 400 28px/1.15 var(--font-title);letter-spacing:-.005em}.roadmap__honesty{font-size:16px;line-height:1.5}.roadmap__note{font-size:14px;line-height:1.45}.roadmap__buckets{display:grid;gap:16px;align-items:start}.roadmap__bucket{display:grid;gap:8px;align-content:start;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline)}.roadmap__bucket-title{font-size:18px;font-weight:600;line-height:1.3}.roadmap__release{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.roadmap__bucket--building .roadmap__release{color:var(--accent)}.roadmap__done{margin-top:4px;padding:12px;border-radius:10px;background:var(--accent-tint);font-size:14px;line-height:1.5}.roadmap__items{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}.roadmap__item{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5}.roadmap__item-text{min-width:0;overflow-wrap:break-word}.roadmap__mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:3px;border-radius:50%}.roadmap__mark--shipped{background:var(--accent-soft);color:var(--accent)}.roadmap__mark--building{border:2px solid var(--accent)}.roadmap__mark--later:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-faint)}.roadmap__foot{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--hairline);font-size:13px;line-height:1.45}.library__filters{display:grid;gap:12px;margin-bottom:8px}.library__icon{flex:0 0 auto;position:relative;width:var(--target);min-width:var(--target);padding:0}.library__icon.is-on{background:var(--accent-tint);border-color:var(--accent-soft);color:var(--accent)}.library__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.filters__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#080b0f9e}.filters{position:fixed;z-index:41;left:0;right:0;bottom:0;max-width:560px;margin-inline:auto;display:flex;flex-direction:column;max-height:72vh;background:var(--surface);border-top:1px solid var(--hairline);border-radius:20px 20px 0 0;box-shadow:var(--shadow);animation:filters-up .2s ease}@keyframes filters-up{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.filters:focus{outline:none}.filters__grab{width:36px;height:4px;margin:8px auto 6px;border-radius:2px;background:var(--text-faint);opacity:.5}.filters__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--target);padding:0 16px}.filters__head:has(.filters__back){justify-content:center;position:relative}.filters__head:has(.filters__back) .filters__back{position:absolute;left:12px}.filters__head:has(.filters__back)>.filters__close:last-child{position:absolute;right:12px}.filters__title{margin:0;font-size:17px;font-weight:600}.filters__close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--toggle-off);color:var(--text-muted)}.filters__close:hover{background:var(--toggle-hover);color:var(--text)}.filters__scroll{overflow-y:auto;overscroll-behavior:contain;padding:8px 16px 4px}.filters__door{display:grid;gap:3px;width:100%;padding:14px 16px;text-align:left;text-decoration:none}.filters__door-label{font-size:16px;font-weight:600;color:var(--accent)}.filters__door-line{font-size:13px;color:var(--text-muted);line-height:1.4}.picker{border-radius:14px;background:var(--surface-raised);border:1px solid var(--hairline);overflow:hidden;margin-bottom:12px}.picker__row{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--target);padding:12px 16px;border-top:1px solid var(--hairline);text-align:left}.picker>.picker__row:first-child{border-top:0}.picker__row.is-open{background:var(--surface)}.picker__row.is-open .picker__row-label{font-weight:600}.picker__row-label{flex:1 1 auto;font-size:16px;color:var(--text);white-space:nowrap}.picker__row-value{font-size:15px;color:var(--text-muted);max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker__row-value.is-set{color:var(--accent)}.picker__row-chevron{display:inline-flex;color:var(--text-faint)}.picker__row.is-off{margin:0}.picker__row.is-off .picker__row-label,.picker__row.is-off .picker__row-value{color:var(--text-faint)}.picker__ask{margin:0;padding:0 16px 8px;background:var(--surface);color:var(--text-muted);font-size:14px;font-weight:400;line-height:1.45}.picker__options{list-style:none;margin:0;padding:0 6px 10px;display:grid;background:var(--surface)}.picker__option{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--target);padding:8px 10px;border-radius:10px;text-align:left}.picker__option:hover{background:var(--toggle-off)}.picker__box{flex:0 0 auto;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--text-faint);display:inline-flex;align-items:center;justify-content:center;color:transparent}.picker__option.is-on .picker__box{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.picker__option-body{flex:1 1 auto;display:grid;gap:1px;min-width:0}.picker__option-name{font-size:15px;color:var(--text)}.picker__option-line{font-size:13px;color:var(--text-muted);line-height:1.35}.picker__option-count{font-size:12px;color:var(--text-faint)}.picker__option.is-one:disabled{opacity:.45}.picker__option.is-one:disabled:hover{background:none}.picker__dot{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--text-faint);position:relative}.picker__option.is-one.is-on .picker__dot{border-color:var(--accent)}.picker__option.is-one.is-on .picker__dot:after{content:"";position:absolute;top:3.5px;right:3.5px;bottom:3.5px;left:3.5px;border-radius:50%;background:var(--accent)}.picker__chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px;background:var(--surface)}.picker__chip{min-height:38px;padding:0 14px;border-radius:10px;background:var(--toggle-off);color:var(--text-muted);font-size:14px;border:1px solid transparent}.picker__chip:hover{background:var(--toggle-hover);color:var(--text)}.picker__chip[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent-soft);color:var(--accent)}.filters__foot{display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--hairline);background:var(--surface)}.filters__clear{flex:1 1 0}.filters__show{flex:1.4 1 0}.filters__foot .btn{min-height:48px}@media (orientation: landscape) and (max-height: 500px){.filters{max-height:94vh}.filters__grab{margin-top:6px}.filters__head{min-height:40px}.filters__door{padding:10px 16px}.filters__foot{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.filters__foot .btn{min-height:42px}}.library__start{display:grid;gap:10px;justify-items:start;margin:0 0 12px;padding:12px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline)}.library__start p{margin:0;font-size:15px;line-height:1.5;color:var(--text)}.library__start-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.library__all{color:var(--text-muted);font-size:14px;font-weight:500;text-decoration:none;min-height:var(--target);display:inline-flex;align-items:center}.library__all:hover{color:var(--text);text-decoration:underline}.list{list-style:none;margin:0;padding:0}.list__item{position:relative;display:flex;align-items:center;gap:8px;padding:0 4px;border-radius:10px;border-bottom:1px solid var(--hairline);transition:background-color .12s ease}.list__item:last-child{border-bottom:0}.list__item:hover{background:var(--toggle-off)}.list__item:active{background:var(--toggle-hover)}.list__link{display:flex;align-items:center;flex:1 1 auto;min-width:0;min-height:64px;padding:12px 0;border-radius:10px}.list__link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px}.list__link:focus-visible{outline:none}.list__link:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.list__body{flex:1 1 auto;min-width:0;display:grid;gap:4px}.list__fav{position:relative;z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--target);min-height:var(--target);border-radius:10px;color:var(--text-muted);transition:background-color .12s ease,color .12s ease}.list__fav:hover{background:var(--toggle-hover);color:var(--text)}.list__fav[aria-pressed=true]{color:var(--accent)}.list__title,.continue__title{font-size:17px;font-weight:500;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.list__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;color:var(--text-muted);font-size:13px}.list__sep{color:var(--text-faint)}.list__chevron{flex:0 0 auto;margin-inline-start:4px;color:var(--text-faint)}.list__level{white-space:nowrap}.dots{display:inline-flex;gap:3px;align-items:center;vertical-align:middle}.dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--text-faint);opacity:.45}.dots i.on{background:var(--text-muted);opacity:1}.empty{display:grid;justify-items:center;gap:16px;padding:40px 4px;color:var(--text-muted);text-align:center}.continue{display:flex;align-items:center;gap:12px;min-height:var(--target);margin-bottom:20px;padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline);transition:background-color .12s ease}.continue:hover{background:var(--surface-raised)}.continue:active{background:var(--toggle-hover)}.continue__body{flex:1 1 auto;min-width:0;display:grid;gap:4px}.continue__kicker{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-weight:600}.lists{margin-bottom:20px}.lists__head{margin:0 4px 4px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.lists__rows{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.lists__rows .list__item:last-child{border-bottom:0}.chart-list{padding-top:12px;padding-bottom:48px;display:grid;gap:16px;align-content:start;max-width:560px}.chart-list__card{display:grid;gap:12px;padding:20px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline)}.chart-list__kicker{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-weight:600}.chart-list__title{font:italic 400 28px/1.15 var(--font-title);letter-spacing:-.005em}.chart-list__intro{font-size:15px;line-height:1.45;color:var(--text-muted);padding-bottom:8px;border-bottom:1px solid var(--hairline)}.chart-list__rows{list-style:none;margin:0;padding:0;display:grid}.chart-list__row{border-bottom:1px solid var(--hairline)}.chart-list__row:last-child{border-bottom:0}.chart-list__link{display:flex;align-items:center;gap:10px;min-height:var(--target);padding:10px 4px;margin:0 -4px;border-radius:10px;color:var(--text);text-decoration:none;transition:background-color .12s ease}.chart-list__link:hover{background:var(--toggle-off)}.chart-list__link:active{background:var(--toggle-hover)}.chart-list__link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chart-list__num{flex:0 0 24px;text-align:right;font-size:15px;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.chart-list__body{flex:1 1 auto;min-width:0;display:grid;gap:2px}.chart-list__name{font-size:16px;font-weight:500;line-height:1.3}.chart-list__line{font-size:14px;line-height:1.4;color:var(--text)}.chart-list__trace{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.chart-list__here{flex:0 0 auto;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--accent)}.chart-list__row.is-here .chart-list__link{background:var(--accent-tint)}.chart-list__row.is-here .chart-list__num{color:var(--accent)}.chart-list__after-head{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--text-muted)}.chart-list__rows--after .chart-list__link{padding-left:38px}.continue__summary{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums}.account,.report{padding-top:12px;padding-bottom:48px;display:grid;gap:16px;align-content:start;max-width:560px}.report__card{display:grid;gap:14px}.report__title{font:italic 400 28px/1.15 var(--font-title);letter-spacing:-.005em}.report__field{display:grid;gap:6px}.report__label{font-size:14px;font-weight:600;color:var(--accent)}.report__text{width:100%;min-height:140px;padding:12px 14px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface);color:var(--text);font:16px/1.5 var(--font-ui);resize:vertical}.report__text:focus{outline:none;border-color:var(--accent)}.report__note{margin:0;font-size:14px;color:var(--text-muted)}.report__error{margin:0;font-size:14px;color:var(--danger-text)}.report__done{margin:0;font-size:16px}.account__card{display:grid;gap:12px;padding:20px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline)}.account__card--danger{border-color:#d9534f59}.account__title{font:italic 400 28px/1.15 var(--font-title);letter-spacing:-.005em}.account__subtitle{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.account__field{display:grid;gap:6px}.account__label{font-size:14px;color:var(--text)}.account__code{font-size:28px;font-weight:600;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;min-height:56px}.account__submit{width:100%}.account__row{display:flex;flex-wrap:wrap;gap:8px}.account__row .btn{flex:1 1 auto}.account__email{font-size:17px;font-weight:500;overflow-wrap:anywhere}.account__sync{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px}.account__dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex:0 0 auto}.account__dot--idle{background:var(--accent)}.account__dot--syncing{background:var(--accent);opacity:.6}.account__dot--error{background:var(--danger)}.account__note{color:var(--text-muted);font-size:14px;line-height:1.45}.account__error{color:var(--danger-text);font-size:14px;line-height:1.45}.account__done{padding:12px 16px;border-radius:var(--radius);background:var(--accent-tint);color:var(--text);font-size:14px}.account__privacy{background:transparent;border-color:transparent;padding:8px 0 0}.account .field:disabled{opacity:.6}.account__card--ask{border-color:var(--accent)}.account__ask{font-size:15px;line-height:1.45}.account__file{position:relative;cursor:pointer}.account__file:focus-within{outline:2px solid var(--accent);outline-offset:2px}.account__file.is-disabled{opacity:.45;cursor:default;pointer-events:none}.practice{padding-top:12px;padding-bottom:48px;display:grid;gap:16px;align-content:start;max-width:560px}.practice__card{display:grid;gap:12px;padding:20px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline)}.practice__kicker{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-weight:600}.practice__title{font:italic 400 28px/1.15 var(--font-title);letter-spacing:-.005em}.practice__total{font-size:15px;line-height:1.45;padding-bottom:8px;border-bottom:1px solid var(--hairline);font-variant-numeric:tabular-nums}.practice__days{list-style:none;margin:0;padding:0;display:grid}.practice__day{padding:10px 0;border-bottom:1px solid var(--hairline);font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}.practice__day:last-child{border-bottom:0;padding-bottom:0}.practice__empty{display:grid;gap:6px;font-size:15px;line-height:1.45}.practice__all-link{margin:16px 0 0}.practice__day-head{font-size:14px;font-weight:600;color:var(--text-muted)}.practice__chart{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;color:var(--text);text-decoration:none}.practice__chart:hover .practice__chart-title{text-decoration:underline}.practice__chart-body{flex:1 1 auto;min-width:0;display:grid;gap:2px}.practice__chart-title{font-weight:500}.practice__chart-record{color:var(--text-muted);font-size:14px;font-variant-numeric:tabular-nums}.practice__empty .muted{font-size:14px}.practice__weeks{display:grid;gap:10px}.practice__grid{display:grid;grid-template-columns:auto repeat(8,minmax(0,1fr));gap:4px;align-items:center;max-width:400px}.practice__grid-label{font-size:13px;line-height:1;color:var(--text-muted);text-align:right;padding-right:4px}.practice__cell{display:block;width:100%;min-height:0;line-height:0;aspect-ratio:1 / 1;margin:0;padding:0;box-sizing:border-box;border-radius:4px;background:var(--bg);border:0;box-shadow:inset 0 0 0 1px #ffffff12;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit}button.practice__cell{cursor:pointer}.practice__cell--logged{background:transparent;box-shadow:inset 0 0 0 2px var(--accent)}.practice__cell--1{background:#f5a5244d}.practice__cell--2{background:#f5a52480}.practice__cell--3{background:#f5a524bf}.practice__cell--4{background:var(--accent)}.practice__cell--picked,.practice__cell:focus-visible{outline:2px solid var(--text);outline-offset:2px}.practice__legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;max-width:400px;margin-top:-2px}.practice__legend .practice__cell{width:12px}.practice__legend-word{font-size:12px;color:var(--text-muted);margin:0 4px}.practice__day-card{display:grid;gap:4px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-raised)}.practice__day-card .practice__day:last-child{border-bottom:0}.practice__weeks-line{font-size:15px;line-height:1.45}.chart-screen{padding-top:20px;padding-bottom:calc(var(--dock-h) + var(--safe-b) + 32px)}.chart-head{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:8px}.title-block{text-align:center;display:grid;gap:4px;padding:8px 0 4px}.title-block__title{font:italic 400 28px/1.15 var(--font-title);letter-spacing:-.005em;text-wrap:balance}.title-block__meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 8px;color:var(--text-muted);font-size:14px}.title-block__subtitle{color:var(--text);font-size:14px;line-height:1.35;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.title-block__sep{color:var(--text-faint)}.title-block__hint{margin-top:4px;min-height:2.7em;color:var(--text-muted);font-size:12px;line-height:1.35;opacity:.85}.chart-surface{position:relative;margin:0 -16px;padding:8px 8px 16px;overflow-x:auto;overflow-y:hidden;background:var(--bg)}.chart-stage{position:relative}.chart-svg{display:block;touch-action:pan-y;user-select:none;-webkit-user-select:none}.chart-svg text{-webkit-user-select:none;user-select:none}.loop-handle{pointer-events:none}.loop-grab{position:absolute;z-index:1;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;border-radius:8px}.loop-grab:hover,.loop-grab:active{background:var(--accent-tint)}.loop-grab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.loop-handle__line{stroke:var(--accent);stroke-width:2}.loop-handle__pill{fill:var(--accent)}.loop-handle__grip{stroke:var(--on-accent);stroke-width:1.3;stroke-linecap:round;opacity:.8}.loop-tint{fill:var(--accent);opacity:.11}.bar-current{fill:var(--bar-current)}.bar-selected{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 4}.playhead{fill:var(--accent)}.chart-notes{display:grid;gap:8px;margin-top:20px;padding:12px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--hairline)}.chart-notes__title{font-size:14px;font-weight:600;color:var(--accent)}.chart-notes__toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;margin:-4px 0;color:inherit;font:inherit;text-align:left}.chart-notes__chevron{display:inline-flex;color:var(--text-muted);transition:transform .16s ease}.chart-notes.is-open .chart-notes__chevron{transform:rotate(90deg)}.chart-notes__body{margin:0 0 4px;font-size:15px;line-height:1.6;color:var(--text)}.title-block__refusal{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.title-block__timer{display:none;margin:0;font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}.dock__grab--status{height:auto;min-height:28px;flex-direction:column;gap:3px;padding-bottom:6px}.dock__status{font-size:12px;line-height:1.3;color:var(--accent);text-align:center;padding:0 16px;font-variant-numeric:tabular-nums}.sheet-section--practice{gap:8px}.practice-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:12px;font-size:15px}.practice-row.btn{width:100%}.practice-row--logged{justify-content:space-between;padding:0 6px 0 14px;background:var(--toggle-off)}.practice-row__mark{display:inline-flex;align-items:center;gap:8px}.practice-row__mark svg{color:var(--accent)}.practice-row--target{background:var(--toggle-off);overflow:hidden;gap:0}.practice-row__step{width:56px;align-self:stretch;font-size:20px;font-weight:500;color:var(--text-muted);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.practice-row__step:hover{background:var(--toggle-hover);color:var(--text)}.practice-row__step:active:not(:disabled){background:var(--toggle-press);color:var(--text)}.practice-row__step:disabled{opacity:.4}.practice-row__field{flex:1 1 auto;display:flex;align-items:center;justify-content:center;align-self:stretch;border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);font-size:16px;font-weight:600;cursor:text}.practice-row--clock{background:var(--toggle-off);padding:0 12px;gap:10px;font-variant-numeric:tabular-nums;text-align:center}.practice-row__clock{font-size:22px;font-weight:600;letter-spacing:.01em}.practice-row__clock-label{font-size:13px;color:var(--text-muted)}.practice-row__chart{font-size:14px;font-weight:500}.practice-row__main{flex:1 1 auto;min-height:48px}.practice-row__stop{flex:0 0 auto;min-height:48px}.practice-row--note{flex-direction:column;align-items:stretch;gap:8px;min-height:0}.practice-row--note .sheet-note{margin:0}.nudge-row__field{gap:10px;font-weight:500}.nudge-row__label{color:var(--text-muted);font-size:14px}.nudge-row__value{min-width:6ch;text-align:left;font-variant-numeric:tabular-nums}.numfield{display:inline-flex;align-items:center;gap:3px}.numfield__input{min-width:2.5ch;padding:0 2px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:16px;text-align:center;font-variant-numeric:tabular-nums}.numfield__input:focus{outline:none;background:var(--accent-tint)}.numfield__prefix,.numfield__suffix{color:inherit}.numfield__suffix{font-size:12px;font-weight:500;color:var(--text-muted)}.editor__bpm .numfield__input{font-weight:500}.title-block__month{display:inline-block;margin:0 0 2px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-weight:600;text-decoration:none}.title-block__month:hover{text-decoration:underline}.chart-notes__next{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--hairline)}.chart-notes__next-label{margin:0;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.chart-notes__next-body{margin:0;font-size:15px;line-height:1.6;color:var(--text)}.chart-notes__next .btn{justify-self:start}.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-direction:column;padding-bottom:var(--safe-b);background:var(--surface);border-radius:18px 18px 0 0;box-shadow:0 -1px 0 var(--hairline),0 -12px 32px #00000059}.dock__grab{position:relative;display:flex;align-items:center;justify-content:center;height:28px;width:100%;border-radius:18px 18px 0 0}.dock__grab:before{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-4px}.dock__grab-bar{width:44px;height:4px;border-radius:2px;background:var(--text-faint);transition:background-color .12s ease}.dock__grab:hover .dock__grab-bar,.dock__grab:active .dock__grab-bar{background:var(--text-muted)}.dock__sheet{max-height:0;overflow:hidden;visibility:hidden;overscroll-behavior:contain;transition:max-height .24s ease,visibility 0s linear .24s}.dock__sheet.is-open{max-height:55vh;overflow-y:auto;visibility:visible;transition:max-height .24s ease}.dock__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:transparent}.menu__version{margin-top:6px;color:var(--text-faint);font-variant-numeric:lining-nums tabular-nums}.dock__sheet-inner{display:grid;align-items:start;gap:20px;padding:8px 16px 20px;border-bottom:1px solid var(--hairline)}.dock__row{touch-action:none;display:flex;align-items:stretch;gap:4px;padding:4px 6px 8px;min-height:72px}.dock__play{flex:0 0 52px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1;transition:background-color .12s ease}.dock__play:hover{background:var(--accent-hover)}.dock__play:active{background:var(--accent-press)}.dock__play svg{width:20px;height:20px}.dock__play-count{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.tempo{flex:0 0 auto;display:inline-flex;align-items:stretch;border-radius:12px;background:var(--toggle-off);overflow:hidden}.tempo__step{width:44px;font-size:20px;font-weight:500;color:var(--text-muted);transition:background-color .12s ease,color .12s ease}.tempo__step,.editor__step{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tempo__step:hover{background:var(--toggle-hover);color:var(--text)}.tempo__step:active:not(:disabled){background:var(--toggle-press);color:var(--text)}.tempo__readout{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:48px;padding:0 4px;border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);line-height:1;transition:background-color .12s ease}.tempo__bpm{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.tempo__readout{cursor:text}.tempo__label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.tempo__count{display:none;font-size:14px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.tempo__count:not(:empty){display:inline}.tempo__count:not(:empty)+.tempo__label{display:none}.dock__toggles{display:flex;flex:1 1 auto;min-width:0;gap:4px}.dock__toggle{flex:1 1 0;min-width:0;padding:0 2px;font-size:11px;letter-spacing:.01em}.dock__toggle .toggle__state{white-space:normal;text-align:center;letter-spacing:.02em;line-height:1.1}.dock__tools{display:none;flex:0 0 auto;gap:2px;margin-left:auto}.dock--play-right .dock__play{order:4}.dock--play-right .tempo{order:3}.dock--play-right .dock__toggles{order:2}.dock--play-right .dock__tools{order:1;margin-left:0;margin-right:auto}.dock__tool{display:inline-flex;align-items:center;justify-content:center;width:var(--target);min-height:var(--target);border-radius:10px;color:var(--text-muted);transition:background-color .12s ease,color .12s ease}.dock__tool svg{width:20px;height:20px}.dock__tool:hover{background:var(--toggle-off);color:var(--text)}.dock__tool:active{background:var(--toggle-hover);color:var(--text)}.dock__tool[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.sheet-section{display:grid;gap:12px}.sheet-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sheet-section__title{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.sheet-section__value{font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums}.sheet-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sheet-row--grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.sheet-row--grid .btn{min-width:0;padding:0 8px;white-space:nowrap}.sheet-row--grid .btn--wide{grid-column:span 2}.sheet-row .toggle{flex-direction:row;gap:8px;font-size:14px;padding:0 16px}.sheet-row--grid .toggle{flex-direction:column;gap:3px;padding:0 6px;font-size:13px;min-height:52px}.sheet-note{color:var(--text-muted);font-size:13px;line-height:1.45}.sheet-field{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sheet-field__label{font-size:14px;color:var(--text)}.sheet-field__value{font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums}.btn--tap{font-variant-numeric:tabular-nums}.btn--tap.is-live{background:var(--accent-soft);color:var(--accent)}.btn--tap .btn__sep{color:var(--text-faint)}.btn--tap.is-live .btn__sep{color:var(--accent);opacity:.6}.btn--tap .btn__num{font-weight:600}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:0}.slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--toggle-hover)}.slider::-moz-range-track{height:4px;border-radius:2px;background:var(--toggle-hover)}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:var(--accent);border:0;box-shadow:0 1px 4px #0006}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--accent);border:0}.slider:focus-visible{outline:none}.slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:3px}.slider:focus-visible::-moz-range-thumb{outline:2px solid var(--accent);outline-offset:3px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#080c128c}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:85vh;display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--hairline);border-radius:18px 18px 0 0;box-shadow:0 -12px 32px #00000073;padding-bottom:calc(var(--safe-b) + 12px);animation:sheet-up .22s ease}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 8px}.sheet__title{font-size:18px;font-weight:600}.sheet__body{overflow-y:auto;padding:4px 0 8px;display:grid;gap:20px}.sheet__group{display:grid;gap:8px}.sheet__group-title{padding:0 16px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.sheet__note{padding:0 16px}.key-group__note{margin:0;font-size:14px;line-height:1.45;color:var(--text-muted)}.key-list{list-style:none;margin:0;padding:0 16px;display:grid;gap:14px}.key-row{display:flex;align-items:flex-start;gap:12px}.key-row__art{flex:0 0 132px;width:132px;display:flex;align-items:center;min-height:44px}.key-row__art svg{display:block;width:100%;height:auto}.key-row__body{flex:1 1 auto;min-width:0;display:grid;gap:2px}.key-row__label{font-size:15px;font-weight:500}.key-row__muted{font-size:13px;color:var(--text-muted)}.key-row__meaning{font-size:14px;line-height:1.45;color:var(--text)}.words{display:grid;gap:20px}.words__group{display:grid;gap:10px}.words__group-title{font-size:14px;font-weight:600;color:var(--accent)}.words__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.words__word{display:grid;gap:2px}.words__term{font-size:15px;font-weight:500}.words__line{margin:0;font-size:15px;line-height:1.5;color:var(--text)}.words__more{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted)}.scroll-row{position:relative;min-width:0;max-width:100%}.scroll-x{overflow-x:auto;padding:0 16px;scrollbar-width:thin;scrollbar-color:var(--text-faint) transparent}.scroll-x svg{display:block}.scroll-row:before,.scroll-row:after{content:"";position:absolute;top:0;bottom:0;width:56px;pointer-events:none;opacity:0;transition:opacity .12s ease}.scroll-row:before{left:0;background:linear-gradient(to right,var(--surface) 20%,transparent)}.scroll-row:after{right:0;background:linear-gradient(to left,var(--surface) 20%,transparent)}.scroll-row.has-left:before,.scroll-row.has-right:after{opacity:1}.scroll-row__nudge{position:absolute;top:50%;z-index:1;width:var(--target);height:var(--target);margin-top:calc(var(--target) / -2);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .12s ease}.scroll-row__nudge:hover{color:var(--text)}.scroll-row__nudge--left{left:0}.scroll-row__nudge--right{right:0}.scroll-row__nudge span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface-raised);border:1px solid var(--hairline);box-shadow:0 2px 8px #00000059}.scroll-row__nudge svg{width:16px;height:16px}.legend-label{fill:var(--text);font:12px var(--font-ui)}.legend-label--muted{fill:var(--text-muted);font-size:11px}@media (min-width: 768px){html{scrollbar-gutter:stable}.library{padding-top:48px}.landing{padding-top:40px;gap:24px}.roadmap{padding-top:32px}.roadmap__buckets{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.roadmap__bucket--shipped{grid-row:1 / 3}.account,.practice{padding-top:32px}.library__filters .segmented{display:flex;flex-wrap:wrap;overflow:visible}.chart-screen{padding-top:28px;padding-bottom:24px}.chart-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.title-block{text-align:left}.title-block__meta{justify-content:flex-start}.title-block__title{font-size:32px}.chart-surface{margin:0;border-radius:14px;padding:12px 12px 20px}.dock{position:sticky;left:auto;right:auto;bottom:16px;width:100%;margin-top:24px;border-radius:18px;border:1px solid var(--hairline);box-shadow:0 12px 32px #00000059}.dock__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:16px;padding:4px 16px 12px;min-height:0}.dock__play,.tempo,.dock__toggle{min-height:56px}.dock__play{justify-self:start;flex:none;width:160px;flex-direction:row;gap:10px;font-size:14px}.dock__play-count{font-size:20px}.tempo__readout{min-width:72px}.dock__toggles{justify-self:end;flex:none;gap:8px}.dock--play-right .dock__play{justify-self:end}.dock--play-right .dock__toggles{justify-self:start}.dock__toggle{flex:0 0 auto;min-width:72px;padding:0 16px;font-size:12px;letter-spacing:.02em}.dock__toggle .toggle__state{white-space:nowrap;letter-spacing:.04em}.dock__sheet-inner{grid-template-columns:1fr 1fr;gap:20px 32px;padding:8px 20px 20px}.sheet-section--wide{grid-column:1 / -1}.sheet,.scrim{left:50%;right:auto;width:min(100%,720px);transform:translate(-50%)}.scrim{width:100%}.sheet{border-radius:18px;bottom:24px;border:1px solid var(--hairline)}}@media (min-width: 1024px){.roadmap{max-width:var(--content-w)}.roadmap__buckets{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap__bucket--shipped{grid-row:auto}}@media (max-height: 520px) and (orientation: landscape){:root{--dock-h: 60px;--scroll-margin: 48px}.chart-screen{padding-top:6px;padding-bottom:calc(var(--dock-h) + var(--safe-b) + 34px)}.chart-head{display:block;margin-bottom:4px}.title-block{display:flex;align-items:baseline;gap:12px;min-width:0;min-height:32px;padding:0;text-align:left}.title-block__title{flex:0 1 auto;min-width:0;font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-wrap:wrap}.title-block__meta{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-start;font-size:13px;white-space:nowrap}.title-block__subtitle,.title-block__month,.title-block__hint{position:absolute;width:1px;height:1px;margin:-1px;padding:0;min-height:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.dock .dock__sheet-tools{display:none}.title-block__timer{display:block;flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock__status,.chart-screen .appbar{display:none}.chart-surface{margin:0;padding:4px 8px 12px;border-radius:12px}.dock{position:fixed;left:0;right:0;bottom:0;width:auto;margin:0;border:0;border-radius:0;padding-bottom:var(--safe-b);box-shadow:0 -1px 0 var(--hairline),0 -8px 24px #00000059}.dock__grab{display:none}.dock__row{display:flex;align-items:stretch;gap:6px;height:var(--dock-h);min-height:0;padding:6px 8px}.dock__play,.tempo,.dock__toggle,.dock__tool{min-height:0}.dock__play{flex:0 0 auto;width:auto;min-width:80px;padding:0 14px;flex-direction:row;gap:8px;font-size:13px}.dock__play-count{font-size:20px}.tempo{flex:0 0 auto}.tempo__readout{min-width:60px}.dock__toggles{flex:1 1 auto;justify-self:auto;justify-content:flex-start;min-width:0;gap:6px}.dock__toggle{flex:1 1 0;min-width:0;max-width:92px;padding:0 6px;font-size:11px;letter-spacing:.01em}.dock__toggle .toggle__state{white-space:nowrap;letter-spacing:.03em}.dock__tools{display:flex}.dock__sheet{position:fixed;top:0;right:0;bottom:calc(var(--dock-h) + var(--safe-b));width:min(360px,60vw);max-height:none;background:var(--surface);border-left:1px solid var(--hairline);box-shadow:-8px 0 24px #00000059;transform:translate(100%);transition:transform .24s ease,visibility 0s linear .24s}.dock__sheet.is-open{max-height:none;transform:none;transition:transform .24s ease}.dock__sheet-inner{grid-template-columns:1fr;gap:16px;padding:12px 16px 20px;border-bottom:0}.sheet-section--wide{grid-column:auto}.sheet{max-height:calc(100vh - 16px);bottom:8px}}.editor{padding-bottom:calc(var(--editor-dock-h) + var(--safe-b) + 16px)}.editor__head{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.editor__title{width:100%;min-height:var(--target);padding:4px 8px;margin:0 -8px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--text);font:400 22px/1.2 var(--font-title);letter-spacing:-.01em}.editor__title{border-bottom-color:var(--hairline)}.editor__title:hover{border-bottom-color:var(--text-muted)}.editor__meter{min-height:var(--target);padding:0 10px;border-radius:10px;border:1px solid var(--hairline);background:var(--bg);color:var(--text);font-size:14px}.editor__notice{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.editor__notes{display:flex;flex-direction:column;gap:6px;margin:16px 0 4px}.editor__notes-title{font-size:14px;font-weight:600;color:var(--accent)}.editor__notes-field{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--hairline);background:var(--bg);color:var(--text);font:400 15px/1.45 inherit;font-family:inherit;resize:none}.editor__notes-field:focus{outline:none;border-color:var(--accent)}.editor__notes-field::placeholder{color:var(--text-faint)}.editor__title:focus{outline:none;border-bottom-color:var(--accent)}.editor__title::placeholder{color:var(--text-faint)}.editor__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor__tempo{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:12px;background:var(--toggle-off)}.editor__step{width:var(--target);min-height:var(--target);border-radius:10px;color:var(--text-muted);font-size:20px;font-weight:600}.editor__step:hover{background:var(--toggle-hover);color:var(--text)}.editor__step:active{background:var(--toggle-press)}.editor__bpm{min-width:64px;text-align:center;font-size:15px;font-variant-numeric:tabular-nums}.editor__counts{font-size:13px}.editor__counts.is-on{background:var(--accent-soft);color:var(--accent)}.editor__preview{position:sticky;top:0;z-index:5;background:var(--surface);box-shadow:0 8px 16px -8px #00000080;overflow-x:auto;overflow-y:auto;max-height:40vh;scroll-behavior:smooth;margin:0 -16px 12px;padding:8px 16px;border-radius:var(--radius)}.pad{display:flex;flex-direction:column;gap:12px}.pad__bar{margin:0 -16px;border:1px solid var(--hairline);border-left-width:0;border-right-width:0;background:var(--surface)}.pad__barhead{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--hairline)}.pad__barno{flex:0 0 auto;font-size:12px;color:var(--text-muted)}.pad__label{flex:1 1 60px;min-width:0;min-height:var(--target);padding:0 10px;border-radius:10px;border:1px solid var(--hairline);background:var(--bg);color:var(--text);font-size:16px}.pad__label::placeholder{color:var(--text-faint)}.pad__res{display:inline-flex;gap:2px;padding:2px;border-radius:10px;background:var(--toggle-off)}.pad__res-btn{min-height:40px;padding:0 8px;border-radius:8px;font-size:12px;color:var(--text-muted)}.pad__res-btn.is-on{background:var(--surface-raised);color:var(--text)}.pad__barbtn{min-height:var(--target);padding:0 8px;font-size:12px;color:var(--text-muted)}.pad__barbtn:hover:not(:disabled){color:var(--danger-text)}.pad__barhead--closed{width:100%;text-align:left;background:transparent;cursor:pointer}.pad__barhead--closed:hover{background:var(--toggle-off)}.pad__barlabel{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--text)}.pad__barres{font-size:12px;color:var(--text-muted)}.pad__bar.is-open{border-color:var(--accent)}.repeats{display:grid;gap:8px;margin:0 0 12px}.repeats__line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px}.repeat__step{display:inline-flex;align-items:center;gap:4px}.repeats__play{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.repeats__remove{min-height:32px;padding:0 8px;border-radius:8px;font-size:12px;color:var(--text-muted)}.repeats__add{justify-self:start}.menu__list--actions{margin-top:12px;border-top:1px solid var(--hairline);padding-top:8px}.menu__item--button{width:100%;text-align:left;background:transparent}.menu__item--danger .menu__item-label{color:var(--danger-text)}.menu__item--update .menu__item-label,.menu__item--update svg{color:var(--accent)}.menu__item--update:disabled{opacity:.7}.editor__dock .editor__tempo{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}.editor__dock .editor__step{min-width:36px;width:36px;padding:0}.editor__dock .editor__bpm{min-width:52px;font-size:14px}.editor__dock .editor__tool{min-width:0;padding:0 8px;font-size:12px}.editor__dock .editor__play,.editor__dock .editor__save{flex:1 1 auto;min-width:0;padding:0 10px}.editor__dock{gap:6px;padding-left:10px;padding-right:10px}.pad__repeats{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px 6px;border-bottom:1px solid var(--hairline)}.pad__repeat{min-height:32px;padding:0 10px;border-radius:8px;background:var(--toggle-off);font-size:12px;color:var(--text-muted)}.pad__repeat.is-on{background:var(--surface-raised);color:var(--text)}.pad__times{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text)}.pad__step{min-width:32px;min-height:32px;border-radius:8px;background:var(--toggle-off);color:var(--text)}.pad__step:disabled{opacity:.4}.pad__scroll{overflow-x:auto;overscroll-behavior-x:contain}.pad__rows{display:flex;flex-direction:column;gap:2px;padding:6px;width:max-content;min-width:100%}.pad__row{display:flex;align-items:stretch;gap:2px}.pad__rowname{position:sticky;left:0;z-index:1;flex:0 0 56px;display:flex;align-items:center;gap:4px;padding-right:4px;white-space:nowrap;background:var(--surface);color:var(--text-muted);font-size:12px;line-height:1.1}.pad__rowname--swap{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:36px;text-align:left;color:var(--text)}.pad__swap{padding:1px 6px;border-radius:999px;background:var(--toggle-off);color:var(--text-muted);font-size:10px;letter-spacing:.02em}.pad__rowname--swap:hover .pad__swap{background:var(--accent-soft);color:var(--accent)}.pad__row--counts .pad__rowname{min-height:20px}.pad__count{flex:1 0 36px;text-align:center;color:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.pad__count.is-beat{color:var(--text-muted)}.pad__cell{position:relative;flex:1 0 36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--toggle-off);transition:background-color .1s ease}.pad__cell.is-beat{background:#ffffff1a}.pad__cell:active{background:var(--toggle-press)}.pad__cell.is-on{background:var(--accent)}.pad__cell.is-open{outline:2px solid var(--accent);outline-offset:-2px}.pad__dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.pad__cell.is-on .pad__dot{background:var(--on-accent);width:12px;height:12px}.pad__mark{position:absolute;top:1px;right:3px;color:var(--accent);font-size:11px;font-weight:700}.pad__cell.is-on .pad__mark{color:var(--on-accent)}.pad__add{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0 8px}.pad__hint{color:var(--text-muted);font-size:12px}.marks{position:fixed;left:12px;right:12px;bottom:calc(var(--editor-dock-h) + var(--safe-b) + 12px);z-index:30;max-width:420px;margin:0 auto;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface-raised);box-shadow:var(--shadow)}.marks__where{margin-bottom:8px;color:var(--text-muted);font-size:12px}.marks__row{display:flex;gap:8px;flex-wrap:wrap}.marks__btn{flex:1 1 auto;font-size:13px}.marks__btn.is-on{background:var(--accent-soft);color:var(--accent)}.marks__kept{margin-top:8px;color:var(--text-muted);font-size:12px}.marks__done{margin-top:8px;width:100%}.editor__dock{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;align-items:center;gap:8px;padding:10px 16px calc(10px + var(--safe-b));background:var(--surface);border-radius:18px 18px 0 0;box-shadow:0 -1px 0 var(--hairline),0 -12px 32px #00000059}.editor__tool{flex:0 0 auto;min-height:var(--target);min-width:var(--target);padding:0 12px;border-radius:10px;background:var(--toggle-off);color:var(--text-muted);font-size:13px;font-weight:500}.editor__tool:hover:not(:disabled){background:var(--toggle-hover);color:var(--text)}.editor__play{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--target);border-radius:12px;background:var(--toggle-off);color:var(--text);font-size:14px;font-weight:600}.editor__play:hover{background:var(--toggle-hover)}.editor__play svg{width:20px;height:20px}.editor__save{flex:1 1 auto}.editor__saved{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.editor__saved--ask{color:var(--accent);font-weight:600}.editor__title[data-asking=true]{border-color:var(--accent)}.editor__problem{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--danger-text, var(--danger, #E5484D))}.editor--refused{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.editor__title-static{font:400 22px/1.2 var(--font-title)}.editor__refusal{color:var(--text-muted);max-width:44ch}@media (min-width: 768px){.editor__dock{left:50%;transform:translate(-50%);width:100%;max-width:var(--content-w);border-radius:18px 18px 0 0}.pad__bar{margin:0;border-left-width:1px;border-right-width:1px;border-radius:var(--radius)}.pad__cell,.pad__count{flex-basis:44px}.pad__rowname{flex-basis:88px;font-size:13px}.pad__rowname--swap{flex-direction:row;align-items:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media print{:root{--bg: #FFFFFF;--text: #1A1A1A;--text-muted: #555555;--text-faint: #777777;--ink: #1A1A1A;--ink-staff: #6A6A6A;--ink-barline: #333333;--ink-muted: #555555;--ink-header: #1A1A1A}body{background:#fff;color:#1a1a1a}.dock,.dock__scrim,.toolbar,.sheet,.scrim,.appbar,.menu,.editor__dock,.marks,.title-block__hint{display:none!important}.chart-screen{padding-bottom:0}.chart-surface{overflow:visible}.loop-tint,.bar-current,.bar-selected,.playhead,.loop-handle{display:none}}.print-screen{padding-bottom:32px}.print-screen__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0 12px}.print-screen__line{margin:0;font-size:13px;color:var(--text-muted)}.print-screen__print{flex:0 0 auto}.print-sheet{--bg: var(--paper);--text: var(--paper-ink);--text-muted: #444444;--ink: #000000;--ink-staff: #000000;--ink-barline: #000000;--ink-header: #000000;--ink-muted: #444444;box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;padding:24px 20px 20px;border-radius:6px;background:var(--bg);color:var(--text);overflow-x:auto}.print-sheet__head{margin:0 0 12px}.print-sheet__title{margin:0;font-family:var(--font-title);font-size:26px;font-weight:600;line-height:1.2}.print-sheet__subtitle{margin:4px 0 0;font-size:15px;line-height:1.4}.print-sheet__key{margin:0 0 8px}.print-sheet__key-svg,.print-sheet__systems{display:block}.print-sheet__system{display:block;margin:0 0 4px}.print-sheet__notes{margin:16px 0 0;max-width:680px}.print-sheet__notes-title{margin:0 0 4px;font-size:14px;font-weight:600}.print-sheet__notes-body{margin:0;font-size:14px;line-height:1.5;white-space:pre-line}.print-sheet__foot{margin:24px 0 0;font-size:11px;color:var(--text-muted)}@media print{@page{margin:15mm}.print-screen{width:auto;max-width:none;margin:0;padding:0}.print-screen__bar{display:none!important}.print-sheet{max-width:none;margin:0;padding:0;border-radius:0;overflow:visible;background:#fff}.print-sheet__title,.print-sheet__subtitle,.print-sheet__notes-body{color:#000}.print-sheet__head,.print-sheet__key{break-after:avoid;page-break-after:avoid}.print-sheet__system{break-inside:avoid;page-break-inside:avoid}.print-sheet__system--first{break-before:avoid;page-break-before:avoid}.print-sheet__system--last{break-after:avoid;page-break-after:avoid}.print-sheet__notes{break-inside:avoid;page-break-inside:avoid;break-before:avoid;page-break-before:avoid}.print-sheet__foot{break-before:avoid;page-break-before:avoid}}.shared{padding:0 12px 32px}.shared__head{margin:8px 0 12px}.shared__from{margin:0;font-size:13px;color:var(--text-muted)}.shared__title{margin:2px 0 0;font-size:22px}.shared__meta{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.shared__notes{margin:12px 0 0;font-size:14px;line-height:1.5}.shared__actions{margin:16px 0 0}.shared__actions .btn{width:100%}.shared__note{margin:10px 0 0;font-size:13px;color:var(--text-muted)}.shared__problem{margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--danger-text)}.title-block__own{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;min-width:0}.title-block__own>.btn{flex:1 1 0;min-width:96px}.title-block__own>.btn:only-child{flex:0 0 auto}@media (min-width: 768px){.title-block__own>.btn{flex:0 0 auto}}.title-block__own--mine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.title-block__own--mine>.btn{min-width:0}.title-block__own--mine>.title-block__edit{grid-column:1 / -1}@media (min-width: 768px){.title-block__own--mine{grid-template-columns:repeat(3,auto);justify-content:start;justify-items:start}}.chart-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-items:stretch;padding:8px 0 0}.chart-actions__confirm{display:grid;gap:8px}.chart-actions__ask{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.chart-actions .title-block__refusal{margin:0}.chart-actions .title-block__sent{margin:0;overflow-wrap:anywhere;font-size:13px}.chart-actions .title-block__sent-at{margin:0;font-size:13px;color:var(--text-muted)}.own-tags{display:grid;gap:10px}.own-tags__q{display:grid;gap:6px}.own-tags__label{margin:0;font-size:13px;color:var(--text-muted)}.own-tags--folded{display:flex;align-items:center;justify-content:space-between;gap:8px}.own-tags__line{margin:0;font-size:14px}.own-tags__change{flex:0 0 auto}.library__first-actions{display:flex;gap:8px;flex-wrap:wrap}.keep-copy__title{margin:0;font-size:15px;font-weight:600}.keep-copy p{margin:0;line-height:1.45}.library__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 4px 4px}.library__count{margin:0;font-size:13px;color:var(--text-muted)}.library__count b{font-weight:500;color:var(--text)}.library__order-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:36px;padding:0 10px 0 8px;border-radius:8px;font-size:13px;color:var(--text-muted)}.library__order-btn:hover{color:var(--text);background:var(--toggle-off)}.dock__sheet-tools{display:flex;justify-content:space-around;gap:2px;padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid var(--hairline)}.sheet-tool{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:56px;min-height:var(--target);padding:4px 6px;border-radius:10px;color:var(--text-muted);font-size:12px}.sheet-tool svg{width:20px;height:20px}.sheet-tool:hover,.sheet-tool[aria-pressed=true]{color:var(--text);background:var(--toggle-off)}.dock__tool-word{font-size:13px;font-weight:600}.library__unreadable{margin:0 0 8px;font-size:13px;color:var(--text-muted)}.title-block__sent{margin:6px 0 0;font-size:13px;color:var(--text-muted);overflow-wrap:anywhere}.editor__offer{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--accent)}
