@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:400 900;src:url(./unbounded-latin-wght-normal-D5afBTBx.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:400 900;src:url(./unbounded-cyrillic-wght-normal-C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400 900;src:url(./golos-text-latin-wght-normal-BS5oQT7X.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400 900;src:url(./golos-text-cyrillic-wght-normal-mKek_fSS.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Music;font-style:normal;font-display:swap;font-weight:400;src:url(./noto-music-music-400-normal-CksxHXl6.woff2)format("woff2");unicode-range:U+2669-266F}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1120;--surface:#141c2e;--surface-2:#1b2540;--line:#263150;--text:#f1f4fa;--text-muted:#8a94ad;--accent:#f2b65b;--on-accent:#1a1405;--ring-next:#8e7cff;--hand-l:#8e7cff;--on-hand-l:#0b1120;--hand-r:#f2b65b;--on-hand-r:#1a1405;--chord-fill:#5ab0f0;--on-chord:#0b1120;--warning:#ff7a6b;--contour:#ffffff14;--font-display:"Golos Text", "Noto Music", system-ui, sans-serif;--fw-display:600;--fs-display:40px;--lh-display:1.1;--ls-display:-.01em;--font-display-landing:"Golos Text", "Noto Music", system-ui, sans-serif;--fw-display-landing:600;--fs-display-landing:56px;--lh-display-landing:1.05;--ls-display-landing:-.01em;--font-title:"Golos Text", "Noto Music", system-ui, sans-serif;--fw-title:600;--fs-title:28px;--lh-title:1.2;--font-wordmark:"Unbounded", "Golos Text", "Noto Music", system-ui, sans-serif;--fw-wordmark:600;--fs-wordmark:24px;--lh-wordmark:1.1;--ls-wordmark:.3em;--font-body:"Golos Text", "Noto Music", system-ui, sans-serif;--fw-body:400;--fs-body:16px;--lh-body:1.5;--font-label:"Golos Text", "Noto Music", system-ui, sans-serif;--fw-label:500;--fs-label:13px;--lh-label:1.4;--font-note-label:"JetBrains Mono", "Noto Music", ui-monospace, monospace;--fw-note-label:600;--fs-note-label:24px;--font-tab-play:"JetBrains Mono", "Noto Music", ui-monospace, monospace;--fw-tab-play:600;--fs-tab-play:28px;--font-mono:"JetBrains Mono", "Noto Music", ui-monospace, monospace;--fw-mono:500;--fs-mono:16px;--font-music-glyph:"Noto Music", system-ui, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f3ec;--surface:#fffdfa;--surface-2:#efe8dd;--line:#ddd4c7;--text:#2a2520;--text-muted:#6b6259;--accent:#9a5a2c;--on-accent:#fff;--ring-next:#3f6d5d;--hand-l:#4b3ed0;--on-hand-l:#fff;--hand-r:#f2b65b;--on-hand-r:#1a1405;--chord-fill:#166fb3;--on-chord:#fff;--warning:#b3261e;--contour:#2a252022}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f3ec;--surface:#fffdfa;--surface-2:#efe8dd;--line:#ddd4c7;--text:#2a2520;--text-muted:#6b6259;--accent:#9a5a2c;--on-accent:#fff;--ring-next:#3f6d5d;--hand-l:#4b3ed0;--on-hand-l:#fff;--hand-r:#f2b65b;--on-hand-r:#1a1405;--chord-fill:#166fb3;--on-chord:#fff;--warning:#b3261e;--contour:#2a252022}*,:before,:after{box-sizing:border-box}:root{--pan-shell-hi:#2e3a5a;--pan-shell-mid:#1b2440;--pan-shell-lo:#0e1526;--pan-field-hi:#2a3552;--pan-field-lo:#161e33;--pan-rim:#3c4a6e;--pan-rim-lit:#ffffff59;--pan-label:var(--text);--pan-label-muted:var(--text-muted);--pan-photo-filter:brightness(.72) saturate(.9);--hero-text:#f1f4fa;--glow:0 0 24px color-mix(in srgb, var(--glow-color,var(--ring-next)) 40%, transparent)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--pan-shell-hi:#cda57c;--pan-shell-mid:#a98258;--pan-shell-lo:#6e4e33;--pan-field-hi:#c49c74;--pan-field-lo:#8e6a48;--pan-rim:#5e4430;--pan-rim-lit:#ffffff73;--pan-label:#1e1813;--pan-label-muted:#3e342b;--pan-photo-filter:none;--hero-text:var(--text)}}:root[data-theme=light]{--pan-shell-hi:#cda57c;--pan-shell-mid:#a98258;--pan-shell-lo:#6e4e33;--pan-field-hi:#c49c74;--pan-field-lo:#8e6a48;--pan-rim:#5e4430;--pan-rim-lit:#ffffff73;--pan-label:#1e1813;--pan-label-muted:#3e342b;--pan-photo-filter:none;--hero-text:var(--text)}html{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;caret-color:var(--accent);-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100dvh;margin:0}#app{overflow-x:clip}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--ring-next);outline-offset:2px}.column{gap:var(--space-md);padding:var(--space-md);padding-top:max(var(--space-md), env(safe-area-inset-top));padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));flex-direction:column;max-width:480px;margin-inline:auto;display:flex}.topbar{z-index:5;align-self:stretch;align-items:center;gap:var(--space-md);min-height:48px;margin-inline:calc(-1 * var(--space-md));margin-top:calc(-1 * max(var(--space-md), env(safe-area-inset-top)));padding:max(var(--space-md), env(safe-area-inset-top)) var(--space-md) var(--space-sm);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.topbar-compact{gap:var(--space-sm);min-height:40px}.topbar-compact .title{font-size:20px}.topbar-compact .btn-icon{width:40px;height:40px}.action-bar{z-index:5;align-self:stretch;align-items:center;gap:var(--space-sm);margin-top:auto;margin-inline:calc(-1 * var(--space-md));margin-bottom:calc(-1 * max(var(--space-lg), env(safe-area-inset-bottom)));padding:var(--space-sm) var(--space-md) max(var(--space-md), env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;display:flex;position:sticky;bottom:0}.action-bar>*{width:100%;max-width:480px}.topbar .title{flex:1;min-width:0}.row{gap:var(--space-sm);flex-wrap:wrap;display:flex}h1,h2,p,dl{margin:0}.display{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display)}.title{font-family:var(--font-title);font-weight:var(--fw-title);font-size:var(--fs-title);line-height:var(--lh-title)}.wordmark{font-family:var(--font-wordmark);font-weight:var(--fw-wordmark);font-size:var(--fs-wordmark);line-height:var(--lh-wordmark);letter-spacing:var(--ls-wordmark);text-transform:uppercase}.tagline{color:var(--text-muted);margin-top:var(--space-xs)}.section{font-family:var(--font-body);font-weight:600;font-size:var(--fs-body);color:var(--text-muted);padding-top:var(--space-xs)}.label{font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-label);line-height:var(--lh-label)}.muted{color:var(--text-muted)}.warning{color:var(--warning)}.mono{font-family:var(--font-mono);font-weight:var(--fw-mono);font-variant-numeric:tabular-nums}.measure{font-size:var(--fs-note-label);font-weight:var(--fw-note-label)}.field{gap:var(--space-xs);flex-direction:column;display:flex}.input{min-height:48px;padding:0 var(--space-md);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%238A94AD' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.kv{gap:var(--space-xs) var(--space-md);grid-template-columns:auto 1fr;display:grid}.kv dd{margin:0}.btn-primary,.btn-secondary,.btn-icon,.btn-round-main{font:inherit;color:var(--text);cursor:pointer;touch-action:manipulation;font-weight:600}.btn-primary,.btn-secondary{min-height:52px;padding:0 var(--space-lg);border-radius:var(--radius-md)}.btn-primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.btn-secondary{background:var(--surface-2);border:1px solid var(--line)}.btn-icon{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);place-items:center;width:48px;min-width:48px;height:48px;padding:0;font-size:22px;line-height:1;display:inline-grid}.btn-icon svg{fill:currentColor;stroke:none;width:22px;height:22px}.btn-round-main{border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--ring-next);width:72px;min-width:72px;height:72px;box-shadow:var(--glow);place-items:center;padding:0;display:inline-grid}.btn-round-main svg{fill:currentColor;stroke:none;width:28px;height:28px}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-icon:active:not(:disabled),.btn-round-main:active:not(:disabled){filter:brightness(.92)}.btn-primary:disabled,.btn-secondary:disabled,.btn-icon:disabled{opacity:.45;cursor:not-allowed}.level{width:100%;height:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.column-flush{gap:var(--space-md);flex-direction:column;display:flex}.btn-wide{flex:100%;min-height:56px}.card{gap:var(--space-sm);padding:var(--space-md);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex}.card-nav{align-items:center;gap:var(--space-md);width:100%;min-height:72px;padding:var(--space-sm) var(--space-md);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;display:flex}.card-nav:active{filter:brightness(.92)}.card-nav-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-nav-title{font-weight:600}.card-nav-sub{font-size:var(--fs-label);line-height:var(--lh-label);color:var(--text-muted)}.icon-well{border-radius:var(--radius-pill);background:var(--surface-2);width:44px;height:44px;color:var(--accent);flex:0 0 44px;place-items:center;display:grid}.icon-well svg{fill:currentColor;stroke:none;width:22px;height:22px}.chevron{color:var(--text-muted);font-size:22px;line-height:1}.toggle{justify-content:space-between;align-items:center;gap:var(--space-md);cursor:pointer;min-height:44px;display:flex}.toggle input{appearance:none;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;flex:0 0 44px;width:44px;height:26px;margin:0;transition:background .15s ease-out;position:relative}.toggle input:after{content:"";background:var(--text-muted);border-radius:50%;width:20px;height:20px;transition:transform .15s ease-out,background .15s ease-out;position:absolute;top:2px;left:2px}.toggle input:checked{background:var(--accent);border-color:var(--accent)}.toggle input:checked:after{background:var(--on-accent);transform:translate(18px)}input[type=range]{width:100%;min-height:44px;accent-color:var(--ring-next)}.pan-stage{align-self:center;position:relative}.pan-stage:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--ring-next) 18%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;position:absolute;inset:-12%}.pan-stage>svg,.pan-stage>canvas{position:absolute;inset:0}.pan-stage>canvas,.pan-stage>.pan-overlay{pointer-events:none}.pan-svg text{font-variant-numeric:tabular-nums}.pan-photo{filter:var(--pan-photo-filter)}.pan-label-halo{paint-order:stroke;stroke:color-mix(in srgb, var(--bg) 75%, transparent);stroke-width:4px;stroke-linejoin:round}.hub{padding-top:0}.hub-hero{isolation:isolate;margin-inline:calc(-1 * var(--space-md));padding:max(var(--space-xl), env(safe-area-inset-top)) var(--space-md) 0;aspect-ratio:3/4;text-align:center;background-color:var(--bg);background-position:50% 78%;background-repeat:no-repeat;background-size:cover;flex-direction:column;align-items:center;min-height:280px;max-height:min(62svh,100svh - 296px);display:flex;position:relative}.hub-hero:after{content:"";z-index:-1;background:linear-gradient(to bottom, transparent 80%, var(--bg) 100%);pointer-events:none;position:absolute;inset:0}.hub-hero .wordmark{margin-top:var(--space-lg);color:var(--hero-text)}.hub-hero .tagline{color:color-mix(in srgb, var(--hero-text) 72%, transparent)}.hub-gear{top:max(var(--space-md), env(safe-area-inset-top));right:var(--space-md);position:absolute}.hub-menu{gap:var(--space-md);flex-direction:column;display:flex}.hub-wide{--hub-fade:74%;--hub-overlap:48px;max-width:none;min-height:100svh;padding:0 0 max(40px, env(safe-area-inset-bottom));grid-template-rows:minmax(360px,1fr) auto;gap:0;display:grid}:root[data-theme=light] .hub-wide{--hub-fade:92%;--hub-overlap:-24px}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .hub-wide{--hub-fade:92%;--hub-overlap:-24px}}.hub-wide .hub-hero{padding-top:max(48px, env(safe-area-inset-top));aspect-ratio:auto;background-position:50% 70%;min-height:0;max-height:none;margin-inline:0}.hub-wide .hub-hero:after{background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 35%, transparent) 0, transparent 22%, transparent var(--hub-fade), var(--bg) 100%)}.hub-wide .hub-menu{z-index:1;width:100%;max-width:1080px;margin:calc(-1 * var(--hub-overlap)) auto 0;padding-inline:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid;position:relative}.hub-wide .hub-menu>:not(.card-nav){grid-column:1/-1}.pan-hero{margin-block:var(--space-sm)}.key-legend{text-align:center}.play{justify-content:flex-start;align-items:center;gap:var(--space-md);min-height:100dvh;padding:var(--space-md);padding-top:max(var(--space-md), env(safe-area-inset-top));padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;display:flex}.play>.topbar{width:calc(100% + 2 * var(--space-md))}.play>.topbar .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.play-wide{height:100dvh}.play-body{grid-template-columns:var(--pan-px) var(--side-px);justify-content:center;align-self:stretch;column-gap:var(--space-xl);flex:1 1 0;grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.play-pan{justify-content:center;align-items:center;display:flex;overflow:clip}.play-side{gap:var(--space-md);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.play-side .play-status,.play-side .play-controls,.play-side .sheet{width:100%;max-width:none}.play-tape{flex:1 1 0;min-height:0}.play-status-row .mono{white-space:nowrap}.play-steps{align-items:center;gap:var(--space-sm);min-height:48px;display:flex}.play-steps .segmented{flex:1;min-width:0}.play-steps .segmented button{min-height:42px}.play-status{gap:var(--space-sm);flex-direction:column;width:100%;max-width:480px;display:flex}.play-status-row{justify-content:space-between;gap:var(--space-md);color:var(--text-muted);display:flex}.play-status-row .play-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.progress{border-radius:var(--radius-pill);background:var(--surface-2);height:4px;overflow:hidden}.progress>div{border-radius:inherit;background:var(--ring-next);width:0;height:100%}.play-controls{justify-content:center;align-items:center;gap:var(--space-md);width:100%;max-width:480px;display:flex}.tabline{justify-content:center;align-items:baseline;gap:var(--space-sm) var(--space-md);font-size:var(--fs-tab-play);font-weight:var(--fw-tab-play);flex-wrap:wrap;margin:0;display:flex}.tabline-bar{font-size:var(--fs-body);color:var(--text-muted)}.tab-now{color:var(--accent);border-bottom:4px solid var(--accent)}table.sheet{border-collapse:collapse;width:100%;font-size:var(--fs-body)}table.sheet th,table.sheet td{border-bottom:1px solid var(--contour);padding:var(--space-xs);text-align:left}table.sheet td:last-child{min-width:64px}@media print{html,body{color:#000;background:#fff}.no-print{display:none!important}table.sheet th,table.sheet td{border-bottom:1px solid #000}}.segmented{background:var(--surface-2);border-radius:var(--radius-pill);gap:2px;padding:3px;display:flex}.segmented button{min-height:44px;padding:0 var(--space-sm);border-radius:var(--radius-pill);color:var(--text-muted);font:inherit;font-size:var(--fs-label);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:1;font-weight:600}.segmented .seg-on{background:var(--surface);color:var(--text)}.segmented button:disabled{opacity:.45;cursor:not-allowed}.sheet{width:100%;max-width:480px}.sheet-window{--sheet-row-h:76px;height:calc(var(--sheet-rows) * var(--sheet-row-h));position:relative;overflow:hidden}.sheet-track{transition:transform .25s ease-in-out;position:relative}.sheet-seek .sheet-row[data-row]{cursor:pointer}.sheet-scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;overflow-y:auto}.sheet-scroll::-webkit-scrollbar{display:none}.sheet-scroll .sheet-track{transition:none}.row-nowrap{flex-wrap:nowrap}.btn-grow{flex:1;min-height:64px}.pause-bar{gap:var(--space-sm);flex-direction:column;width:100%;max-width:480px;display:flex}.sheet-row{min-height:var(--sheet-row-h);align-items:stretch;display:flex}.sheet-head{min-height:0;padding-bottom:var(--space-xs)}.sheet-track .sheet-row{height:var(--sheet-row-h)}.sheet-bar{box-sizing:border-box;text-align:right;font-family:var(--font-mono);font-size:var(--fs-label);color:var(--text-muted);flex:0 0 22px;align-self:center;padding-right:6px;overflow:hidden}.sheet-slots{border-left:2px solid var(--line);flex:1;align-items:center;display:grid;position:relative}.sheet-head .sheet-slots{border-left-color:#0000}.sheet-count{text-align:center;font-family:var(--font-mono);font-size:var(--fs-label);color:var(--text-muted)}.sheet-beatline{background:var(--contour);width:1px;position:absolute;top:12%;bottom:12%}.sheet-cell{flex-direction:column;align-items:center;display:flex;overflow:visible}.sheet-strike{border-radius:var(--radius-sm);flex-direction:column;align-items:center;padding:3px 4px 0;line-height:1;display:flex;position:relative}.sheet-hand{font-family:var(--font-label);font-size:var(--fs-label);color:var(--text-muted);font-weight:600}.sheet-tab{font-family:var(--font-tab-play);font-size:var(--fs-tab-play);font-weight:var(--fw-tab-play);font-variant-numeric:tabular-nums;border-bottom:4px solid #0000;padding-bottom:3px}.sheet-stack .sheet-strike{flex-direction:row;align-items:center;gap:2px;padding:0 4px 0 3px}.sheet-stack .sheet-hand{font-size:11px}.sheet-stack .sheet-tab{font-size:min(calc(var(--fs-tab-play) * .85), calc(66px / var(--stack) - 5px));border-bottom-width:3px;padding-bottom:1px}.sheet-stack .sheet-accent{top:-2px;right:-6px}.sheet-accent{font-family:var(--font-label);font-size:var(--fs-label);font-weight:700;line-height:1;position:absolute;top:0;right:-7px}.perc-ghost .sheet-tab{font-size:calc(var(--fs-tab-play) * 1.4);line-height:var(--fs-tab-play)}.hand-L .sheet-tab{border-bottom-color:var(--hand-l)}.hand-R .sheet-tab{border-bottom-color:var(--hand-r)}.cell-now .hand-L{--glow-color:var(--hand-l);background:var(--hand-l);box-shadow:var(--glow)}.cell-now .hand-R{--glow-color:var(--hand-r);background:var(--hand-r);box-shadow:var(--glow)}.cell-now .hand-L,.cell-now .hand-L .sheet-hand{color:var(--on-hand-l)}.cell-now .hand-R,.cell-now .hand-R .sheet-hand{color:var(--on-hand-r)}.cell-now .perc-ghost .sheet-tab{color:inherit}.cell-now .sheet-accent{color:var(--text)}.cell-now .sheet-tab{border-bottom-color:#0000}.sheet-cursor{border-radius:var(--radius-pill);background:var(--ring-next);width:16px;height:6px;box-shadow:var(--glow);pointer-events:none;position:absolute;top:0;left:-8px}.sheet-cursor-frame{box-sizing:border-box;border:2px solid var(--ring-next);width:auto;height:auto;box-shadow:var(--glow);background:0 0;border-radius:12px;left:0}@media (prefers-reduced-motion:reduce){.sheet-track{transition:none}}.sheet-seek{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.sheet-seek .sheet-track{touch-action:pan-y}.sheet-sel{background:color-mix(in srgb, var(--ring-next) 14%, transparent);pointer-events:none;position:absolute;top:8px;bottom:8px}.sheet-sel-first{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.sheet-sel-last{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.sheet-sel-handle{background:color-mix(in srgb, var(--ring-next) 70%, transparent);cursor:ew-resize;touch-action:none;width:2px;margin-left:-1px;position:absolute;top:8px;bottom:8px}.sheet-sel-handle:before{content:"";background:var(--ring-next);border-radius:50%;width:10px;height:10px;position:absolute;left:50%;transform:translate(-50%)}.sheet-sel-start:before{top:-6px}.sheet-sel-end:before{bottom:-6px}.sheet-sel-handle:after{content:"";position:absolute;top:-8px;bottom:-8px}.sheet-sel-start:after{left:-8px;right:-24px}.sheet-sel-end:after{left:-24px;right:-8px}.chord-strip{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.chord-row{justify-content:center;align-items:baseline;gap:var(--space-sm);white-space:nowrap;flex-wrap:nowrap;max-width:100%;display:flex}.chord-now{font-family:var(--font-display);font-weight:var(--fw-display);font-size:clamp(22px, 6.5vw, var(--fs-display));color:var(--chord-fill)}.chord-other{font-family:var(--font-title);font-weight:var(--fw-title);font-size:clamp(14px, 4vw, var(--fs-title));color:var(--text-muted)}.jam-progress{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.jam-progress>p{text-align:right;color:var(--text-muted);margin:0}.progress-bar{height:6px;position:relative}.beat-tick{background:var(--bg);width:3px;margin-left:-1px;position:absolute;top:0;bottom:0}.jam-controls{gap:var(--space-md);flex-direction:column;width:100%;max-width:480px;display:flex}.column.split-wide{max-width:none}.split-body{grid-template-columns:var(--pan-px) var(--side-px);justify-content:center;align-self:stretch;column-gap:var(--space-xl);align-items:start;display:grid}.split-stage{top:calc(64px + var(--space-md));align-items:center;gap:var(--space-md);flex-direction:column;display:flex;position:sticky}.split-side{gap:var(--space-md);flex-direction:column;min-width:0;display:flex;position:relative}.split-stage>.readout{align-self:stretch}.split-actions{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.split-actions>*{width:100%}.jam-stage{container-type:inline-size}.jam-actions{z-index:4;padding-block:var(--space-sm);background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;display:flex;position:sticky;top:64px}.jam-wide .jam-controls{max-width:none}.jam-wide .chord-now{font-size:clamp(22px, 6.5cqi, var(--fs-display))}.jam-wide .chord-other{font-size:clamp(14px, 4cqi, var(--fs-title))}.chips{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.chip{min-height:44px;padding:0 var(--space-md);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:var(--fs-label);cursor:pointer;touch-action:manipulation;font-weight:600}.chip-on{background:var(--surface);color:var(--text);border-color:var(--ring-next)}.part-row{align-items:center;gap:var(--space-md);min-height:44px;display:flex}.part-row .toggle{flex:1;min-height:0}.part-row .toggle span{flex:1}.part-sub{padding-left:calc(44px + var(--space-md));gap:var(--space-xs);flex-direction:column;display:flex}.tempo-row{align-items:center;gap:var(--space-sm);display:flex}.tempo-slider{width:100%;margin-top:var(--space-sm)}.tempo-label{flex:1}.tempo-value{margin-right:var(--space-sm);flex-direction:column;align-items:flex-end;display:flex}.chip-wide{min-height:48px;padding:var(--space-xs) var(--space-md);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left}.subs{padding-left:var(--space-md);gap:var(--space-xs);flex-direction:column;margin:0;display:flex}.done{gap:var(--space-md)}.done .btn-wide{min-height:56px}.pan-field-tap{cursor:pointer}.pan-field-tap:active{filter:brightness(1.25)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spread{justify-content:space-between}.hub-row{min-height:60px;font-size:18px}.card-grid{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.card-pattern{align-items:center;gap:var(--space-xs);min-height:140px;padding:var(--space-sm);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--text);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;flex-direction:column;display:flex}.card-pattern:active:not(:disabled){filter:brightness(.92)}.card-pattern:disabled{opacity:.5;cursor:not-allowed}.card-pattern-title{font-size:var(--fs-label);font-weight:600;line-height:var(--lh-label)}.card-pattern-meta{font-size:11px;line-height:var(--lh-label);color:var(--text-muted)}.card-pattern{position:relative}.card-pattern-num,.card-pattern-mark{top:var(--space-xs);font-size:11px;line-height:var(--lh-label);color:var(--text-muted);position:absolute}.card-pattern-num{left:var(--space-sm)}.card-pattern-mark{right:var(--space-sm);color:var(--ring-next);display:inline-flex}.card-pattern-mark svg{fill:currentColor;width:16px;height:16px}.level-sum{color:var(--text-muted);font-weight:500}.chapter-block{gap:var(--space-xs);flex-direction:column;display:flex}.chapter{padding-top:var(--space-sm);font-family:var(--font-body);font-size:var(--fs-label);color:var(--text-muted);margin:0;font-weight:600}.card-pattern-tags{font-size:11px;line-height:var(--lh-label);color:var(--text-muted)}.level-section{gap:var(--space-sm);flex-direction:column;display:flex}.chips-row{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.chips-row::-webkit-scrollbar{display:none}.chips-row .chip{flex:none}.column.patterns-wide{max-width:1280px}.patterns-body{column-gap:var(--space-xl);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.patterns-side{top:calc(64px + var(--space-md));max-height:calc(100dvh - 64px - 2 * var(--space-md));gap:var(--space-md);flex-direction:column;display:flex;position:sticky;overflow-y:auto}.patterns-side .segmented{background:0 0;border-radius:0;flex-direction:column;padding:0}.patterns-side .segmented button{min-height:40px;padding-inline:var(--space-md);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-body);position:relative}.patterns-side .segmented button:hover{color:var(--text)}.patterns-side .segmented .seg-on:before{content:"";border-radius:var(--radius-pill);background:var(--ring-next);width:3px;position:absolute;top:8px;bottom:8px;left:0}.patterns-side .chips-row{flex-wrap:wrap;overflow-x:visible}.patterns-list{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.patterns-wide .card-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.melody-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.link{padding:var(--space-xs) 0;color:var(--ring-next);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;min-height:44px;text-decoration:underline}.file-button{justify-content:center;align-items:center;display:flex}.readout{gap:var(--space-xs);flex-direction:column;display:flex}.candidates{padding-left:var(--space-lg);gap:var(--space-xs);flex-direction:column;margin:0;display:flex}.group{padding:0 var(--space-md);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex}.group>*+*{border-top:1px solid var(--line)}.settings-block{gap:var(--space-md);flex-direction:column;display:flex}.column.settings-wide{max-width:1000px}.settings-body{gap:var(--space-md);flex-direction:column;display:flex}.settings-wide .settings-body{columns:2;column-gap:var(--space-xl);display:block}.settings-wide .settings-block{break-inside:avoid;margin-bottom:var(--space-md)}.group-row{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:52px;padding:var(--space-sm) 0;display:flex}button.group-row,label.group-row{border:0;border-top:inherit;width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0}.group>button.group-row+*,.group>label.group-row+*,.group>*+button.group-row,.group>*+label.group-row{border-top:1px solid var(--line)}button.group-row:disabled{opacity:.45;cursor:not-allowed}.group-value{color:var(--text-muted);align-items:center;gap:var(--space-sm);display:flex}.group-stack{align-items:stretch;gap:var(--space-sm);flex-direction:column}.group-line{justify-content:space-between;gap:var(--space-md);display:flex}.sheet-panel{gap:var(--space-sm);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--line);flex-direction:column;display:flex}.sheet-actions{bottom:calc(-1 * var(--space-md));margin-bottom:calc(-1 * var(--space-md));padding-block:var(--space-sm) var(--space-md);background:var(--surface);flex-direction:column;display:flex;position:sticky}.loop-phrase{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.loop-part{align-items:center;gap:var(--space-sm);white-space:nowrap;display:inline-flex}.loop-phrase .input{width:auto;min-width:72px}.profile-row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.profile-name{text-align:left;justify-content:space-between;gap:var(--space-sm);flex:100%;display:flex}.sheet-backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent);z-index:10;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop .sheet-panel{width:100%;max-width:480px;max-height:92dvh;overflow-y:auto}.term{padding-right:.12em;font-style:italic}.title-btn{align-items:center;gap:var(--space-xs);max-width:100%;min-height:40px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.title-btn .title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.title-btn .title-num{color:var(--text-muted);font-weight:500}.title-btn svg{width:16px;height:16px;color:var(--text-muted);fill:currentColor;flex:none}.lesson-nav{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);flex:none;display:inline-flex}.topbar .lesson-nav .btn-icon{background:0 0;border:0;width:36px;min-width:36px;height:38px}.topbar .lesson-nav .btn-icon svg{width:18px;height:18px}.toc-nav{gap:var(--space-sm);display:flex}.toc-neighbour{justify-content:center;align-items:center;gap:var(--space-xs);flex:1 1 0;min-width:0;display:inline-flex}.toc-neighbour svg{fill:currentColor;flex:none;width:20px;height:20px}.toc-neighbour-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toc-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.toc-row{align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.toc-row[aria-current=page]{background:var(--surface-2)}.toc-row:disabled{opacity:.5;cursor:not-allowed}.toc-num{text-align:right;width:2ch;color:var(--text-muted);flex:none}.toc-main{flex-direction:column;flex:1;min-width:0;display:flex}.toc-title{font-weight:600}.toc-mark{color:var(--ring-next);flex:none;display:inline-flex}.toc-mark svg{fill:currentColor;width:22px;height:22px}.play-next{gap:var(--space-sm);display:flex}.play-next>*{flex:1 1 0;min-width:0}.play-next-link{color:var(--ring-next);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.lesson-legend{gap:var(--space-xs);flex-direction:column;margin:0;padding-left:1.2em;display:flex}.lesson-block{gap:var(--space-xs);flex-direction:column;display:flex}.lesson-block p{margin:0}.lesson-videos{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lesson-videos li{flex-direction:column;gap:2px;display:flex}.lesson-videos+p{margin-top:var(--space-xs)}.lesson-before{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lesson-before li{gap:2px var(--space-sm);flex-wrap:wrap;align-items:baseline;display:flex}.lesson-link:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.lesson-video,.lesson-link{font:inherit;text-align:left;color:var(--ring-next);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.sheet-video{z-index:11}.video-frame{aspect-ratio:16/9;border-radius:var(--radius-md);background:#000;width:100%;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-offline{padding:var(--space-md);text-align:center;place-items:center;display:grid;position:absolute;inset:0}.sheet-video a{color:var(--ring-next);text-underline-offset:3px}.video-title{margin:0;font-weight:600}.lesson-videos a{color:var(--ring-next);text-underline-offset:3px;font-weight:600}.calib-stage{align-self:center;place-items:center;width:200px;height:200px;display:grid;position:relative}.calib-field,.calib-ring{border-radius:50%;width:72px;height:72px;position:absolute}.calib-field{border:1.5px solid var(--line);background:var(--surface-2)}.calib-flash{--glow-color:var(--accent);background:var(--accent);box-shadow:var(--glow)}.calib-ring{border:4px solid var(--ring-next)}.pan-picker{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.pan-picker-row{align-items:flex-end;gap:var(--space-sm);display:flex}.pan-picker-field{flex:1;min-width:0}.star{font-size:20px}.star-on{color:var(--accent)}.part-block{align-items:stretch;gap:var(--space-sm);flex-direction:column}.icon-well[data-part]{color:var(--well-ink,var(--accent));background:color-mix(in srgb, var(--well-ink,var(--accent)) 18%, var(--surface-2))}.icon-well[data-part=perc]{--well-ink:var(--hand-r)}.icon-well[data-part=drone]{--well-ink:var(--ring-next)}.icon-well[data-part=bass]{--well-ink:var(--chord-fill)}.icon-well[data-part=pad]{--well-ink:var(--ring-next)}.icon-well[data-part=arp]{--well-ink:var(--accent)}.icon-well[data-part=ambience]{--well-ink:var(--chord-fill)}input[type=range].part-gain{min-height:32px;accent-color:var(--text-muted)}.part-sub .segmented{flex-wrap:wrap}.part-sub .segmented button{flex:auto}.field-inline{align-items:center;gap:var(--space-md);display:flex}.field-inline .input{flex:1;min-width:0}.btn-text{font:inherit;color:var(--ring-next);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.btn-text:disabled{color:var(--text-muted);cursor:not-allowed}.paywall-features{gap:var(--space-xs);flex-direction:column;margin:0;padding-left:1.2em;display:flex}.plan-list{gap:var(--space-sm);flex-direction:column;display:flex}.plan{align-items:center;gap:var(--space-xs) var(--space-sm);min-height:56px;padding:var(--space-sm) var(--space-md);background:var(--surface-2);border:2px solid var(--line);border-radius:var(--radius-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;flex-wrap:wrap;display:flex}.plan-on{border-color:var(--accent)}.plan-name{align-items:center;gap:var(--space-sm);flex:1;font-weight:600;display:flex}.plan-badge{padding:2px var(--space-sm);border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600;line-height:var(--lh-label)}.plan-price{font-weight:600}.plan-sub{flex-basis:100%}.paywall-status{align-items:center;gap:var(--space-sm);min-height:48px;margin:0;display:flex}.paywall-done{color:var(--ring-next);font-weight:600}.paywall-done svg{fill:currentColor;width:24px;height:24px}.spinner{border:3px solid var(--line);border-top-color:var(--ring-next);border-radius:50%;width:20px;height:20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.checkbox{align-items:flex-start;gap:var(--space-sm);cursor:pointer;display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:1px 0 0}.checkbox>span{gap:var(--space-xs);flex-direction:column;display:flex}.sheet-actions-two{gap:var(--space-sm);flex-direction:row}.sheet-actions-two .btn-wide{flex:1}.signin{gap:var(--space-md);flex-direction:column;display:flex}.locked-lesson{align-items:center;gap:var(--space-md);padding-top:var(--space-xl);text-align:center;flex-direction:column;display:flex}.locked-icon{background:var(--surface-2);width:72px;height:72px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.locked-icon svg{fill:currentColor;width:36px;height:36px}.card-pattern-locked .card-pattern-title,.card-pattern-locked .card-pattern-meta,.card-pattern-locked .card-pattern-tags,.card-pattern-lock{color:var(--text-muted)}.toc-lock,.seg-lock,.lesson-lock{width:16px;height:16px;color:var(--text-muted);vertical-align:-2px;flex:none;display:inline-flex}.toc-lock svg,.seg-lock svg,.lesson-lock svg{fill:currentColor;width:16px;height:16px}.segmented .seg-locked{justify-content:center;align-items:center;gap:4px;display:inline-flex}.lesson-link .lesson-lock{margin-left:4px}.pro-badge{border-radius:var(--radius-pill);background:linear-gradient(100deg, var(--accent), var(--hand-l));height:22px;color:var(--on-accent);font-family:var(--font-label);letter-spacing:.08em;white-space:nowrap;vertical-align:middle;align-items:center;gap:4px;padding:0 9px 0 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.pro-badge svg{width:11px;height:11px}.pro-badge-lg{height:28px;padding:0 12px 0 9px;font-size:12px}.pro-badge-lg svg{width:13px;height:13px}.pro-badge{box-shadow:0 0 14px color-mix(in srgb, var(--hand-l) 35%, transparent)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .pro-badge{box-shadow:none}}:root[data-theme=light] .pro-badge{box-shadow:none}.hub-pro{top:calc(max(var(--space-md), env(safe-area-inset-top)) + 10px);right:calc(var(--space-md) + 48px + var(--space-sm));border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.sub-status{align-items:center;gap:var(--space-sm);display:inline-flex}
