/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-bold:700;--font-weight-black:900;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.m-3{margin:calc(var(--spacing) * 3)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.ms-auto{margin-inline-start:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:0}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-64{min-width:calc(var(--spacing) * 64)}.flex-1{flex:1}.grow{flex-grow:1}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-control\)\]{border-radius:var(--radius-control)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-e-2{border-inline-end-style:var(--tw-border-style);border-inline-end-width:2px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-left{text-align:left}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--ink:#333;--paper:#fff;--card:#fff;--blue:#4f80ff;--red:#e63c48;--yellow:#ffd13b;--purple:#7b52d9;--orange:#f37021;--grade-perfect:#1e9e5a;--pink:#f280ed;--muted:#6b7280;--border:#d9dee7;--panel-alt:#eef2f7;--voice-kick:var(--blue);--voice-snare:var(--red);--voice-hihat-c:var(--yellow);--voice-hihat-o:var(--purple);--verdict-perfect:var(--grade-perfect);--verdict-good:var(--yellow);--verdict-loose:var(--orange);--verdict-extra:var(--red);--verdict-miss:var(--red);--marker-outline-width:1.5px;--marker-outline-color:var(--ink);--font-sans:"proxima-nova", "Proxima Nova", "Avenir Next", "Segoe UI", sans-serif;--type-display-size:clamp(28px, 5vw, 44px);--type-display-weight:900;--type-display-tracking:-.03em;--type-h2-size:20px;--type-h2-weight:800;--type-body-size:15px;--type-body-line:1.6;--type-body-weight:600;--type-micro-size:11px;--type-micro-min-size:10px;--type-micro-weight:900;--type-micro-tracking:.12em;--radius-control:6px;--radius-card:8px;--radius-modal:8px;--motion-fast:.12s;--motion-base:.18s;--motion-pass-max:.8s;--motion-pulse-scale:1.15;--motion-ease:cubic-bezier(.2, 0, 0, 1);--grid-cell-desktop:44px;--grid-cell-mobile:32px;--grid-cell-min:24px;--target-min:24px;--rail-width:64px;--sidebar-width:320px;--bottom-nav-height:64px}@media(prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-pass-max:0s;--motion-pulse-scale:1}}:root[data-reduced-motion=reduce]{--motion-fast:0s;--motion-base:0s;--motion-pass-max:0s;--motion-pulse-scale:1}:root{--shed-color-orange:var(--orange);--shed-color-purple:var(--purple);--shed-color-yellow:var(--yellow);--shed-color-red:var(--red);--shed-color-pink:var(--pink);--shed-color-blue:var(--blue);--shed-page:var(--paper);--shed-panel:var(--card);--shed-panel-alt:var(--panel-alt);--shed-ink:var(--ink);--shed-muted:var(--muted);--shed-border:var(--border);--shed-primary:var(--blue);--shed-primary-text:#fff;--shed-accent:var(--yellow);--shed-accent-text:#111827;--shed-support:var(--purple);--shed-danger:var(--red);--shed-success:#1b9aaa;--shed-warning:var(--orange);--shed-kick:var(--voice-kick);--shed-snare:var(--voice-snare);--shed-hihat-c:var(--voice-hihat-c);--shed-hihat-o:var(--voice-hihat-o);--shed-font-sans:var(--font-sans);--shed-radius-control:var(--radius-control);--shed-radius-card:var(--radius-card);--shed-radius-modal:var(--radius-modal);--shed-motion-fast:var(--motion-fast);--shed-motion-base:var(--motion-base);--shed-motion-ease:var(--motion-ease);--shed-target-min:var(--target-min);--shed-rail-width:var(--rail-width);--shed-sidebar-width:var(--sidebar-width);--shed-bottom-nav-height:var(--bottom-nav-height)}.shed-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shed-pill{border:2px solid var(--ink);min-block-size:44px;font-family:var(--font-sans);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding-block:8px;padding-inline:22px;font-size:19px;font-weight:800;line-height:1.2;display:inline-flex}.shed-pill:active:not(:disabled){transform:translateY(1px)}.shed-pill:disabled{opacity:.45;cursor:not-allowed}.shed-pill__symbol{vertical-align:-.08em;background:currentColor;flex:none;block-size:.8em;inline-size:.8em;display:inline-block}.shed-pill__symbol[data-symbol=play]{clip-path:polygon(6% 0%,100% 50%,6% 100%)}.shed-pill__symbol[data-symbol=record]{border-radius:50%}.shed-pill__symbol[data-symbol=pause]{background:linear-gradient(90deg,currentColor 0 38%,#0000 38% 62%,currentColor 62% 100%)}.shed-pill--primary{background:var(--blue);color:#fff}.shed-pill--secondary{background:var(--card);color:var(--ink)}.shed-pill--danger{background:var(--red);color:#fff}.shed-pill--compact{min-block-size:36px;font-size:var(--type-body-size);padding-block:4px;padding-inline:16px}.shed-tablist{border-block-end:2px solid var(--ink);gap:4px;padding-inline:4px;display:flex}.shed-tab{border:2px solid var(--ink);background:var(--card);min-block-size:40px;color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body-size);cursor:pointer;border-start-start-radius:999px;border-start-end-radius:999px;border-end-end-radius:0;border-end-start-radius:0;align-items:center;gap:6px;margin-block-end:-2px;padding-block:6px;padding-inline:16px;font-weight:800;display:inline-flex}.shed-tab[aria-selected=true]{background:var(--yellow);border-block-end-color:var(--yellow)}.shed-tab:disabled{opacity:.45;cursor:not-allowed}.shed-rail-item{z-index:0;border:2px solid var(--ink);background:var(--card);block-size:48px;inline-size:48px;color:var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.shed-rail-item:hover,.shed-rail-item:focus-within{z-index:100}.shed-rail-item[aria-current]{background:var(--blue);color:#fff}.shed-rail-item:disabled{opacity:.38;filter:grayscale();cursor:not-allowed}.shed-rail-item__icon{block-size:24px;inline-size:24px;display:inline-flex}.shed-rail-item__label{border:2px solid var(--ink);background:var(--ink);color:#fff;font-size:var(--type-body-size);white-space:nowrap;opacity:0;pointer-events:none;z-index:90;border-radius:999px;padding-block:4px;padding-inline:10px;font-weight:800;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + 10px);transform:translateY(-50%)}.shed-rail-item:hover .shed-rail-item__label,.shed-rail-item:focus-visible .shed-rail-item__label{opacity:1}@media(prefers-reduced-motion:no-preference){.shed-rail-item__label{transition:opacity var(--motion-fast) var(--motion-ease)}}.shed-grid{--grid-cell-size:clamp(var(--grid-cell-min), calc(( 100cqi - var(--grid-label-size) - var(--grid-gutter) - (var(--grid-steps,16) - 1) * var(--grid-gap) - (var(--grid-beats,4) - 1) * var(--grid-beat-extra) - (var(--grid-bars,1) - 1) * var(--grid-bar-extra) ) / var(--grid-steps,16)), var(--grid-cell-desktop));--grid-gap:4px;--grid-beat-extra:8px;--grid-bar-extra:16px;--grid-label-size:150px;--grid-gutter:10px;font-family:var(--font-sans);gap:var(--grid-gutter);padding-block:4px;display:flex;overflow-x:auto;container-type:inline-size}.shed-grid__labels{gap:var(--grid-gap);flex-direction:column;flex:none;display:flex}.shed-grid__voice-label{block-size:var(--grid-cell-size);font-weight:800;font-size:var(--type-body-size);color:var(--ink);white-space:nowrap;max-inline-size:var(--grid-label-size);align-items:center;gap:6px;display:inline-flex;overflow:hidden}.shed-grid__voice-name{text-overflow:ellipsis;min-inline-size:0;overflow:hidden}.shed-grid__voice-abbr{display:none}.shed-grid__row.is-dimmed .shed-grid-cell{opacity:.4}.shed-grid-cell.is-outlined{outline:3px dashed var(--orange);outline-offset:1px}.shed-grid-cell.is-feedback{box-shadow:0 0 0 2px var(--ink);border-width:3px}@supports (color:color-mix(in lab,red,red)){.shed-grid-cell.is-feedback{box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 18%,transparent)}}.shed-grid-cell.is-feedback{z-index:2;position:relative}.shed-grid-cell.is-feedback-perfect,.shed-grid-cell.is-feedback-good{border-color:var(--grade-perfect);box-shadow:0 0 0 3px var(--grade-perfect)}@supports (color:color-mix(in lab,red,red)){.shed-grid-cell.is-feedback-perfect,.shed-grid-cell.is-feedback-good{box-shadow:0 0 0 3px color-mix(in srgb,var(--grade-perfect) 36%,transparent)}}.shed-grid-cell.is-feedback-ok{border-color:var(--yellow);box-shadow:0 0 0 3px var(--yellow)}@supports (color:color-mix(in lab,red,red)){.shed-grid-cell.is-feedback-ok{box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow) 44%,transparent)}}.shed-grid-cell.is-feedback-miss{border-color:var(--red);box-shadow:0 0 0 3px var(--red)}@supports (color:color-mix(in lab,red,red)){.shed-grid-cell.is-feedback-miss{box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 36%,transparent)}}.shed-grid-cell.is-feedback-rainbow{--grid-feedback-fill:var(--card);background:linear-gradient(var(--grid-feedback-fill),var(--grid-feedback-fill)) padding-box,linear-gradient(135deg,#ff4d6d 0%,var(--yellow) 24%,var(--grade-perfect) 48%,var(--blue) 72%,#8c5cff 100%) border-box;box-shadow:0 0 0 3px var(--yellow),0 0 0 6px var(--blue);border-color:#0000}@supports (color:color-mix(in lab,red,red)){.shed-grid-cell.is-feedback-rainbow{box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow) 50%,transparent),0 0 0 6px color-mix(in srgb,var(--blue) 24%,transparent)}}.shed-grid-cell--kick.is-active.is-feedback-rainbow{--grid-feedback-fill:var(--voice-kick)}.shed-grid-cell--snare.is-active.is-feedback-rainbow{--grid-feedback-fill:var(--voice-snare)}.shed-grid-cell--hihatC.is-active.is-feedback-rainbow{--grid-feedback-fill:var(--voice-hihat-c)}.shed-grid-cell--hihatO.is-active.is-feedback-rainbow{--grid-feedback-fill:var(--voice-hihat-o)}@media(prefers-reduced-motion:no-preference){.shed-grid-cell.is-outlined{animation:shed-diff-pulse .8s var(--motion-ease)}.shed-grid-cell.is-feedback{animation:shed-feedback-pulse .42s var(--motion-ease)}.shed-grid-cell.is-feedback-rainbow{animation:shed-rainbow-feedback .7s var(--motion-ease)}}@keyframes shed-diff-pulse{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shed-feedback-pulse{0%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shed-rainbow-feedback{0%{filter:saturate(1.2);transform:scale(1.12)}55%{filter:saturate(1.5)}to{filter:saturate();transform:scale(1)}}.shed-grid__cells{gap:var(--grid-gap);flex-direction:column;display:flex;position:relative}.shed-grid__row{gap:var(--grid-gap);display:flex}.shed-grid__bar-label-spacer{block-size:1.45rem}.shed-grid__bar-markers{align-items:end;block-size:1.45rem}.shed-grid__bar-step{inline-size:var(--grid-cell-size);min-inline-size:var(--grid-cell-min);color:var(--ink);text-align:start;text-transform:uppercase;white-space:nowrap;flex:none;font-size:.72rem;font-weight:900;line-height:1}.shed-grid-cell{inline-size:var(--grid-cell-size);block-size:var(--grid-cell-size);min-inline-size:var(--grid-cell-min);min-block-size:var(--grid-cell-min);border:2px solid var(--border);background:var(--card);cursor:pointer;border-radius:6px;flex:none;padding:0;display:inline-block;position:relative}.shed-grid-cell.is-beat-start,.shed-grid__count.is-beat-start,.shed-grid__bar-step.is-beat-start{margin-inline-start:var(--grid-beat-extra)}.shed-grid-cell.is-bar-start,.shed-grid__count.is-bar-start,.shed-grid__bar-step.is-bar-start{scroll-snap-align:start;margin-inline-start:calc(var(--grid-beat-extra) + var(--grid-bar-extra,10px))}.shed-grid-cell.is-bar-start:before{content:"";background:var(--ink);inline-size:2px;border-radius:999px;position:absolute;inset-block:0;inset-inline-start:calc(-1 * (var(--grid-bar-extra,10px) + var(--grid-beat-extra,8px)) / 2)}@supports (color:color-mix(in lab,red,red)){.shed-grid-cell.is-bar-start:before{background:color-mix(in srgb,var(--ink) 45%,transparent)}}.shed-grid-cell.is-active{border:1.5px solid var(--marker-outline-color)}.shed-grid-cell--kick.is-active{background:var(--voice-kick)}.shed-grid-cell--snare.is-active{background:var(--voice-snare)}.shed-grid-cell--hihatC.is-active{background:var(--voice-hihat-c)}.shed-grid-cell--hihatO.is-active{background:var(--voice-hihat-o)}span.shed-grid-cell{cursor:default}.shed-grid__playhead{inline-size:var(--grid-cell-size);border:2px solid var(--ink);background:var(--yellow);border-radius:6px;position:absolute;inset-block:-2px}@supports (color:color-mix(in lab,red,red)){.shed-grid__playhead{background:color-mix(in srgb,var(--yellow) 28%,transparent)}}.shed-grid__playhead{pointer-events:none;z-index:1}.shed-grid__counting{block-size:auto}.shed-grid__count{inline-size:var(--grid-cell-size);text-align:center;font-size:var(--type-micro-size);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);flex:none;font-weight:900}@media(max-width:640px){.shed-grid{--grid-gap:3px;--grid-beat-extra:5px;--grid-cell-min:13px;--grid-label-size:64px;--grid-gutter:8px;scroll-snap-type:inline proximity}.shed-grid.has-abbr{--grid-label-size:32px}.shed-grid__voice-label{inline-size:var(--grid-label-size);font-size:13px}.shed-grid.has-abbr .shed-grid__voice-name{display:none}.shed-grid.has-abbr .shed-grid__voice-abbr{letter-spacing:.02em;font-size:10px;display:inline}.shed-grid__row-extras{display:none}.shed-grid__count{font-size:9px}}.shed-grid.shed-grid--compact{--grid-cell-size:28px;--grid-gap:3px;--grid-beat-extra:5px;--grid-cell-min:12px;gap:8px;inline-size:max-content;max-inline-size:100%;container-type:normal}.shed-grid.shed-grid--compact .shed-grid__voice-label{inline-size:auto;max-inline-size:96px;font-size:12px}@media(max-width:640px){.shed-grid.shed-grid--compact{--grid-cell-size:16px}}.shed-grid.shed-grid--card{--grid-cell-desktop:30px;--grid-cell-min:10px;--grid-gap:3px;--grid-beat-extra:5px;--grid-gutter:8px}.shed-grid.shed-grid--abbr-only{--grid-label-size:32px}.shed-grid--abbr-only .shed-grid__voice-label{inline-size:var(--grid-label-size);font-size:13px}.shed-grid--abbr-only .shed-grid__voice-name{display:none}.shed-grid--abbr-only .shed-grid__voice-abbr{letter-spacing:.02em;font-size:10px;display:inline}.shed-pad{cursor:pointer;font-family:var(--font-sans);background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;display:inline-flex}.shed-pad__surface{border:2px solid var(--ink);border-radius:12px;justify-content:flex-end;align-items:flex-start;block-size:72px;inline-size:72px;padding:6px;display:flex}.shed-pad--kick .shed-pad__surface{background:var(--voice-kick)}.shed-pad--snare .shed-pad__surface{background:var(--voice-snare)}.shed-pad--hihatC .shed-pad__surface{background:var(--voice-hihat-c)}.shed-pad--hihatO .shed-pad__surface{background:var(--voice-hihat-o)}.shed-pad--tomHi .shed-pad__surface{background:#57b368}.shed-pad--tomMid .shed-pad__surface{background:#3f9a5c}.shed-pad--tomLo .shed-pad__surface{background:#2f7d4b}.shed-pad--ride .shed-pad__surface{background:#3fb8ae}.shed-pad--crash .shed-pad__surface{background:var(--orange)}.shed-pad--sideStick .shed-pad__surface{background:#9aa6b8}.shed-pad--clap .shed-pad__surface{background:#ef6fa7}.shed-pad--rimShot .shed-pad__surface{background:#d98a4d}.shed-pad--rideBell .shed-pad__surface{background:#d9b23f}.shed-pad__key{border:1.5px solid var(--ink);background:var(--card);block-size:22px;min-inline-size:22px;color:var(--ink);font-family:var(--font-sans);font-size:var(--type-micro-size);border-radius:6px;justify-content:center;align-items:center;padding-inline:4px;font-weight:900;display:inline-flex}.shed-pad__label{font-size:var(--type-body-size);color:var(--ink);font-weight:800}.shed-pad.is-pressed .shed-pad__surface{border-width:3px;padding:5px;transform:scale(.94)}@media(prefers-reduced-motion:no-preference){.shed-pad__surface{transition:transform var(--motion-fast) var(--motion-ease)}}.shed-pad:disabled{opacity:.45;cursor:not-allowed}.shed-pad--lg .shed-pad__surface{touch-action:none;border-radius:18px;block-size:clamp(88px,27vw,148px);inline-size:clamp(88px,27vw,148px);padding:8px}.shed-pad--lg .shed-pad__key{block-size:26px;min-inline-size:26px}.shed-pad--lg.is-pressed .shed-pad__surface{padding:7px}.shed-dial{font-family:var(--font-sans);flex-direction:column;align-items:center;gap:4px;display:inline-flex}.shed-dial__face{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;block-size:48px;inline-size:48px}.shed-dial__label{font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);text-transform:uppercase;color:var(--ink);font-weight:900}.shed-dial__controls{align-items:center;gap:4px;display:flex}.shed-dial__input{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--card);min-block-size:32px;inline-size:64px;color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body-size);text-align:center;font-weight:800}.shed-dial__nudge{border:2px solid var(--ink);background:var(--card);block-size:28px;inline-size:28px;color:var(--ink);cursor:pointer;border-radius:999px;font-size:16px;font-weight:900;line-height:1}.shed-dial__nudge:disabled{opacity:.45;cursor:not-allowed}.shed-dial__unit{font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);text-transform:uppercase;color:var(--muted);font-weight:900}.shed-dial.is-disabled .shed-dial__face{opacity:.45;cursor:not-allowed}.shed-stepper{font-family:var(--font-sans);flex-direction:column;align-items:center;gap:4px;display:inline-flex}.shed-stepper__label{font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);text-transform:uppercase;color:var(--ink);font-weight:900}.shed-stepper__controls{align-items:center;gap:6px;display:flex}.shed-stepper__input{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--card);min-block-size:36px;inline-size:64px;color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body-size);text-align:center;font-weight:800}.shed-stepper__nudge{border:2px solid var(--ink);background:var(--card);block-size:36px;inline-size:36px;color:var(--ink);cursor:pointer;touch-action:none;border-radius:999px;font-size:18px;font-weight:900;line-height:1}.shed-stepper__nudge.is-at-limit{opacity:.45}.shed-stepper__nudge:disabled{opacity:.45;cursor:not-allowed}.shed-stepper__unit{font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);text-transform:uppercase;color:var(--muted);font-weight:900}.shed-stepper.is-disabled .shed-stepper__label{opacity:.6}.shed-clip{border:2px solid var(--ink);background:var(--card);border-radius:999px;flex:1;align-items:center;gap:10px;min-inline-size:220px;max-inline-size:420px;padding:8px 12px;display:flex}.shed-clip__toggle{border:2px solid var(--ink);background:var(--orange);block-size:36px;inline-size:36px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:900;display:inline-flex}.shed-clip__seek{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:999px;flex:1;block-size:10px;inline-size:100%;min-inline-size:80px}.shed-clip__seek::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--ink);background:var(--orange);border-radius:999px;block-size:20px;inline-size:20px}.shed-clip__seek::-moz-range-thumb{border:2px solid var(--ink);background:var(--orange);border-radius:999px;block-size:16px;inline-size:16px}.shed-clip__time{font-size:var(--type-micro-size);letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-weight:900}.shed-chip{border:2px solid var(--ink);background:var(--card);min-block-size:32px;color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body-size);border-radius:999px;align-items:center;gap:6px;padding-block:4px;padding-inline:14px;font-weight:800;display:inline-flex}button.shed-chip{cursor:pointer}button.shed-chip:disabled{opacity:.45;cursor:not-allowed}.shed-chip.is-selected{background:var(--yellow)}.shed-transport__toggle{min-inline-size:9em}.shed-transport{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex}.shed-modal,.shed-drawer{border:2px solid var(--ink);background:var(--card);color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight);padding:0}dialog.shed-modal[open],dialog.shed-drawer[open]{z-index:120;position:fixed;top:0;right:0;bottom:0;left:0}.shed-modal::backdrop,.shed-drawer::backdrop{background:#33333380}.shed-modal{border-radius:var(--radius-modal);max-block-size:min(80dvh,640px);inline-size:min(480px,100vw - 32px);margin:auto}.shed-modal__frame,.shed-drawer__frame{max-block-size:inherit;flex-direction:column;min-block-size:0;display:flex}.shed-drawer__frame{block-size:100%}.shed-modal__header,.shed-drawer__header{border-block-end:2px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.shed-modal__title,.shed-drawer__title{font-size:var(--type-h2-size);font-weight:800}.shed-modal__close{border:2px solid var(--ink);background:var(--card);block-size:32px;inline-size:32px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;font-weight:900}.shed-modal__body,.shed-drawer__body{padding:16px;overflow-y:auto}@media(prefers-reduced-motion:no-preference){.shed-modal[open]{animation:shed-modal-in var(--motion-base) var(--motion-ease)}}@keyframes shed-modal-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.shed-drawer{margin:0}.shed-drawer--start,.shed-drawer--end{block-size:100vh;max-block-size:100vh;inline-size:min(360px,90vw)}.shed-drawer--start{border-inline-start:0;margin-block:0;margin-inline:0 auto}.shed-drawer--end{border-inline-end:0;margin-block:0;margin-inline:auto 0}.shed-drawer--bottom{border-block-end:0;border-start-start-radius:12px;border-start-end-radius:12px;max-block-size:86dvh;inline-size:100vw;max-inline-size:100vw;margin-block:auto 0;margin-inline:0}@media(max-width:640px){.shed-modal{max-block-size:calc(100dvh - 16px);inline-size:calc(100vw - 16px)}.shed-drawer--bottom{max-block-size:calc(100dvh - 12px)}.shed-modal__frame,.shed-drawer__frame{min-block-size:0}.shed-modal__header,.shed-drawer__header{padding:10px 12px}.shed-modal__body,.shed-drawer__body{overscroll-behavior:contain;padding:12px}}@media(prefers-reduced-motion:no-preference){.shed-drawer--start[open]{animation:shed-drawer-in-start var(--motion-base) var(--motion-ease)}.shed-drawer--end[open]{animation:shed-drawer-in-end var(--motion-base) var(--motion-ease)}.shed-drawer--bottom[open]{animation:shed-drawer-in-bottom var(--motion-base) var(--motion-ease)}}@keyframes shed-drawer-in-start{0%{opacity:0;transform:translate(-24px)}}@keyframes shed-drawer-in-end{0%{opacity:0;transform:translate(24px)}}@keyframes shed-drawer-in-bottom{0%{opacity:0;transform:translateY(24px)}}.shed-toast-region{z-index:50;flex-direction:column;gap:8px;max-inline-size:min(360px,100vw - 32px);display:flex;position:fixed;inset-block-end:16px;inset-inline-end:16px}.shed-toast{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--ink);color:#fff;font-family:var(--font-sans);align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.shed-toast__message{flex:1}.shed-toast__close{color:#fff;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:999px;flex:none;block-size:28px;inline-size:28px;font-weight:900}@media(prefers-reduced-motion:no-preference){.shed-toast{animation:shed-toast-in var(--motion-base) var(--motion-ease)}}@keyframes shed-toast-in{0%{opacity:0;transform:translateY(8px)}}.shed-ring{display:inline-block;position:relative}.shed-ring svg{block-size:100%;inline-size:100%}.shed-ring__value{font-family:var(--font-sans);font-size:calc(var(--type-body-size) * .85);color:var(--ink);justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.shed-formmap{font-family:var(--font-sans)}.shed-formmap__track{gap:4px;padding-block-end:4px;display:flex;overflow-x:auto}.shed-formmap__section{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--card);min-block-size:44px;min-inline-size:76px;color:var(--ink);font-size:var(--type-body-size);flex-basis:76px;justify-content:center;align-items:center;padding-inline:4px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}button.shed-formmap__section{cursor:pointer}.shed-formmap__section.is-done{background:var(--panel-alt)}.shed-formmap__section.is-current{background:var(--yellow)}.shed-formmap__label{z-index:1;overflow-wrap:anywhere;text-align:center;line-height:1.05;position:relative}.shed-formmap__progress{background:var(--orange);position:absolute;inset-block:0;inset-inline-start:0}@supports (color:color-mix(in lab,red,red)){.shed-formmap__progress{background:color-mix(in srgb,var(--orange) 45%,transparent)}}@media(prefers-reduced-motion:no-preference){.shed-formmap__progress{transition:inline-size .24s linear}}.shed-formmap__cue{min-block-size:1.6em;color:var(--ink);margin-block-start:6px;font-weight:800}.shed-stylecard{flex-direction:column;gap:12px;max-inline-size:420px;display:flex}.shed-stylecard__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.shed-stylecard__name{font-size:var(--type-h2-size);font-weight:800}.shed-stylecard__tags{flex-wrap:wrap;gap:6px;display:flex}.shed-stylecard__minigrid{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--paper);flex-direction:column;gap:3px;padding:8px;display:flex}.shed-stylecard__minirow{gap:3px;display:flex}.shed-stylecard__minicell{background:var(--panel-alt);border-radius:3px;flex:1;block-size:10px}.shed-stylecard__minicell.is-active{border:1px solid var(--ink)}.shed-stylecard__minicell--kick.is-active{background:var(--voice-kick)}.shed-stylecard__minicell--snare.is-active{background:var(--voice-snare)}.shed-stylecard__minicell--hihatC.is-active{background:var(--voice-hihat-c)}.shed-stylecard__minicell--hihatO.is-active{background:var(--voice-hihat-o)}.shed-stylecard__blurb{color:var(--ink)}.shed-stylecard__actions{flex-wrap:wrap;gap:8px;display:flex}.shed-qr{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);max-inline-size:280px;font-family:var(--font-sans);flex-direction:column;align-items:stretch;gap:10px;padding:16px;display:inline-flex}.shed-qr__code{border:2px solid var(--ink);border-radius:var(--radius-control);background:#fff;inline-size:100%}.shed-qr__value{overflow-wrap:anywhere;color:var(--ink);font-family:ui-monospace,monospace;font-size:12px}.shed-qr__copied{min-block-size:1.6em;color:var(--ink);font-weight:800}.shed-scan{border-radius:8px}.shed-scan.is-scanned{outline:4px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 10px var(--yellow)}.shed-metronome{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);inline-size:88px;font-family:var(--font-sans);flex-direction:column;align-items:center;gap:6px;padding:10px;display:inline-flex}.shed-metronome__beat{border:2px solid var(--ink);background:var(--panel-alt);block-size:48px;inline-size:48px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;font-size:24px;font-weight:900;display:flex}.shed-metronome.is-running .shed-metronome__beat{background:var(--blue);color:#fff}.shed-metronome.is-accent .shed-metronome__beat{background:var(--yellow);color:var(--ink)}@media(prefers-reduced-motion:no-preference){.shed-metronome.is-running .shed-metronome__beat{animation:shed-beat-flash var(--motion-fast) var(--motion-ease)}}@keyframes shed-beat-flash{0%{transform:scale(1.12)}to{transform:scale(1)}}.shed-metronome__dots{gap:6px;display:flex}.shed-metronome__dot{border:1.5px solid var(--ink);background:var(--card);border-radius:999px;block-size:10px;inline-size:10px}.shed-metronome__dot.is-on{background:var(--ink)}.shed-card{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);padding:16px}@media(hover:hover)and (pointer:fine){button:not(:disabled):hover{filter:brightness(.95)saturate(1.35)}button:not(:disabled):active{filter:brightness(.88)saturate(1.35)}.shed-pill:not(:disabled):hover,.shed-chip:not(:disabled):hover,.shed-tab:not(:disabled):hover,.shed-stepper__nudge:not(:disabled):hover,.shed-modal__close:not(:disabled):hover{box-shadow:0 2px 0 var(--ink);transform:translateY(-1px)}.shed-pill:not(:disabled):active,.shed-chip:not(:disabled):active,.shed-tab:not(:disabled):active,.shed-stepper__nudge:not(:disabled):active,.shed-modal__close:not(:disabled):active{box-shadow:none;transform:translateY(0)}.shed-pad:not(:disabled):hover .shed-pad__surface{transform:scale(1.04)}.shed-pad:not(:disabled).is-pressed .shed-pad__surface,.shed-pad:not(:disabled):active .shed-pad__surface{transform:scale(.94)}button.shed-grid-cell:not(:disabled):hover{border-color:var(--ink)}}@media(prefers-reduced-motion:no-preference){button{transition:filter var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}}:root[data-reduced-motion] button:not(:disabled):hover,:root[data-reduced-motion] button:not(:disabled):active{box-shadow:none;transform:none}:root[data-reduced-motion] .shed-pad:not(:disabled):hover .shed-pad__surface{transform:none}:root{--paper:#fff}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-sans)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-line);margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}input,select{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--card);color:var(--ink);padding:.5rem .7rem}.micro-label{font-size:var(--type-micro-size);font-weight:var(--type-micro-weight);letter-spacing:var(--type-micro-tracking);text-transform:uppercase}.micro-label:before{content:"";background:var(--yellow);border:1.5px solid var(--ink);vertical-align:.05em;border-radius:50%;block-size:.55em;inline-size:.55em;margin-inline-end:.5em;display:inline-block}.ptp-rail{inline-size:var(--rail-width);flex:none}.hear-stats{grid-template-columns:repeat(auto-fit,minmax(7rem,max-content));align-items:end}.hear-stat{font-size:1.6rem;font-weight:900;line-height:1.1;display:block}.hear-pass{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--yellow);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .9rem;font-weight:800;display:flex}.hear-pass__best{border:2px solid var(--ink);background:var(--card);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:900}:root{--green:#1e9e5a;--line:#d9dee7}.chord-palette{gap:7px;padding-bottom:2px;display:grid;overflow-x:auto}.chord-palette-row{grid-template-columns:repeat(7,minmax(72px,1fr));gap:7px;min-width:546px;display:grid}.chord-chip{border:2px solid var(--ink);background:var(--blue);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:78px;min-height:62px;padding:5px 22px 5px 11px;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.chord-chip{background:color-mix(in srgb,var(--blue),white 84%)}}.chord-chip{color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:800}.chord-chip.is-color-chord{background:var(--purple)}@supports (color:color-mix(in lab,red,red)){.chord-chip.is-color-chord{background:color-mix(in srgb,var(--purple),white 84%)}}.chord-chip.is-color-chord span{color:var(--purple)}.chord-chip span{color:var(--blue);font-size:10px}.chord-chip strong{font-size:16px}.chord-chip kbd{border:1.5px solid var(--ink);text-align:center;background:#fff;border-radius:3px;min-width:18px;padding:1px 4px;font-family:inherit;font-size:9px;position:absolute;top:6px;right:6px}.chord-chip.is-pressed{color:#fff;background:var(--blue);box-shadow:inset 0 -2px 0 var(--blue);transform:translateY(2px)}@supports (color:color-mix(in lab,red,red)){.chord-chip.is-pressed{box-shadow:inset 0 -2px color-mix(in srgb,var(--blue),black 24%)}}.chord-chip.is-color-chord.is-pressed{background:var(--purple)}.chord-chip.is-pressed span,.chord-chip.is-color-chord.is-pressed span{color:#fff}.chord-chip.is-selected:not(.is-pressed){box-shadow:0 0 0 3px var(--yellow)}.chord-chip:disabled{opacity:.4;cursor:not-allowed}.chord-chip--home{background:var(--blue);color:#fff}.chord-chip--home span,.chord-chip--home .chord-chip__name{color:#fff}.chord-chip__roman{font-size:1.4rem;font-weight:900;line-height:1}.chord-chip__name{color:var(--muted);font-size:.78rem;font-weight:800}.chord-slot.is-playing,.chord-chip--home.is-playing{box-shadow:0 0 0 4px var(--yellow)}.select-menu{min-width:92px;color:var(--ink);position:relative}.select-menu-trigger{border:1.5px solid var(--ink);white-space:nowrap;background:#fff;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:29px;padding:5px 7px;font-size:11px;font-weight:900;display:flex}.select-menu-trigger[aria-expanded=true]{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.select-menu-trigger[aria-expanded=true]{background:color-mix(in srgb,var(--blue),white 88%)}}.select-menu-trigger[aria-expanded=true]{box-shadow:2px 2px 0 var(--ink)}.select-menu-trigger:disabled{opacity:.4;cursor:not-allowed}.select-menu-list{z-index:120;border:2px solid var(--ink);width:max(100%,160px);max-height:260px;box-shadow:5px 5px 0 var(--ink);background:#fff;border-radius:6px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto}.select-menu-list button{text-align:left;background:#fff;border:0;border-radius:4px;justify-content:space-between;align-items:center;width:100%;min-height:32px;padding:6px 8px;font-size:11px;font-weight:800;display:flex}.select-menu-list button.is-active{background:#edf2ff}.select-menu-list button.is-selected{color:#234fbe;background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.select-menu-list button.is-selected{background:color-mix(in srgb,var(--blue),white 86%)}}.select-menu-heading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 8px 3px;font-size:8px;font-weight:900}.hear-select{min-width:9rem}.hear-select--sound{min-width:12rem}.reharm-stage{grid-template-columns:340px minmax(260px,1fr);align-items:start;gap:1rem;display:grid}@media(max-width:900px){.reharm-stage{grid-template-columns:1fr}}.video-frame{aspect-ratio:16/9;border:2px solid var(--ink);border-radius:var(--radius-card);background:#111;position:relative;overflow:hidden}.video-frame iframe{border:0;block-size:100%;inline-size:100%;position:absolute;top:0;right:0;bottom:0;left:0}.reharm-select--song{min-width:16rem}.reharm-link{min-inline-size:18rem;padding:.35rem .6rem;font-weight:700}.reharm-link[aria-invalid=true]{border-color:var(--red)}.reharm-stepper{border:2px solid var(--ink);border-radius:var(--radius-control);align-items:center;display:inline-flex;overflow:hidden}.reharm-stepper button{background:var(--card);border:0;block-size:2.2rem;inline-size:2.2rem;font-size:1.2rem;font-weight:900}.reharm-stepper input{border:0;border-inline:2px solid var(--ink);text-align:center;border-radius:0;inline-size:4rem;padding:.3rem .2rem;font-weight:900}.reharm-number{inline-size:5.5rem;padding:.35rem .5rem;font-weight:800}.reharm-sync{border:2px solid var(--border);border-radius:var(--radius-card);background:#f5f6fa;padding:.75rem}.reharm-nudge{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--card);min-block-size:2rem;padding:.2rem .6rem;font-size:.8rem;font-weight:900}.chord-slot.is-filled.is-original{background:var(--purple);border-style:solid}@supports (color:color-mix(in lab,red,red)){.chord-slot.is-filled.is-original{background:color-mix(in srgb,var(--purple),white 84%)}}.chord-slot.is-filled.is-original{cursor:default}.chord-slots--original .chord-slot{block-size:5rem}.reharm-screen>*{min-inline-size:0}.instrument-rack{border:2px solid var(--ink);background:var(--card);max-inline-size:100%;box-shadow:4px 4px 0 var(--tone);border-radius:8px;overflow:visible}@supports (color:color-mix(in lab,red,red)){.instrument-rack{box-shadow:4px 4px color-mix(in srgb,var(--tone),transparent 30%)}}.instrument-rack{--tone:var(--blue)}.instrument-rack.tone-bass{--tone:var(--purple)}.instrument-rack.tone-drums{--tone:var(--red)}.instrument-rack.tone-chords{--tone:var(--blue)}.instrument-rack.tone-original{--tone:var(--green)}.instrument-title{border-bottom:2px solid var(--ink);background:var(--tone);padding:9px 12px}@supports (color:color-mix(in lab,red,red)){.instrument-title{background:color-mix(in srgb,var(--tone),white 82%)}}.instrument-title{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:900}.instrument-line{flex-wrap:wrap;align-items:center;gap:8px;min-height:50px;padding:7px 10px;display:flex}.instrument-line+.instrument-line{border-top:1.5px solid var(--line)}.control-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex:none;font-size:8px;font-weight:900}.instrument-line-primary .track-play{margin-inline-start:auto}.track-play,.capture-button{border:2px solid var(--ink);background:var(--card);min-height:36px;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.track-play:disabled,.capture-button:disabled{opacity:.4;cursor:not-allowed}.track-play.is-active{background:var(--tone);color:#fff}.capture-button.is-armed{background:var(--red);color:#fff}.chord-performance-options{border:2px solid var(--ink);background:#f5f6fa;border-top:0;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 10px;padding:8px 12px;display:flex}.chord-depth-control{border:1.5px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:flex}.chord-octave-control{border:1.5px solid var(--line);background:#fff;border-radius:6px;align-content:center;gap:4px;min-width:112px;padding:6px 8px;display:grid}.chord-octave-control>div{grid-template-columns:28px 26px 28px;justify-content:center;align-items:center;gap:2px;display:grid}.chord-octave-control button{border:2px solid var(--ink);background:var(--card);border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-weight:900;display:grid}.chord-octave-control button:disabled{opacity:.4;cursor:not-allowed}.chord-octave-control strong{text-align:center;color:var(--blue);font-size:14px}.chord-option-toggle{text-align:left;border:2px solid var(--ink);min-width:122px;min-height:48px;color:var(--ink);background:#fff;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:30px 1fr;align-content:center;column-gap:8px;padding:6px 10px;font-size:13px;font-weight:800;display:grid}.chord-option-toggle>span{border:2px solid var(--ink);background:#d8dbe3;border-radius:10px;grid-row:1/3;align-self:center;width:30px;height:18px;padding:2px;transition:background .15s}.chord-option-toggle>span i{width:10px;height:10px;box-shadow:0 0 0 1px var(--ink);background:#fff;border-radius:50%;transition:transform .15s;display:block}.chord-option-toggle>strong{font-size:10px}.chord-option-toggle>small{color:var(--muted);font-size:8px;font-weight:800}.chord-option-toggle.is-on{color:#fff;background:var(--blue)}.chord-option-toggle.is-on>span{background:var(--yellow)}.chord-option-toggle.is-on>span i{transform:translate(12px)}.chord-option-toggle.is-on>small{color:#fff}.palette-panel,.sequence-shell{border:2px solid var(--ink);background:var(--card);border-top:0;margin:0 10px}.palette-panel{padding:14px}.palette-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.palette-heading strong{margin-top:4px;font-size:12px;display:block}.panel-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-size:10px;font-weight:900;line-height:1;display:block}.palette-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.palette-record-status{min-width:92px;color:var(--red);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.palette-record-status.phase-recording:before{content:"";background:var(--red);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.record-quantize-control{border:1.5px solid var(--line);background:#fff;border-radius:5px;align-items:center;gap:5px;padding:3px 4px 3px 7px;display:flex}.record-quantize-control>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:900}.record-quantize-control .select-menu-trigger{min-height:27px;padding:3px 7px;font-size:9px}.sequence-shell{padding:12px;overflow-x:auto}.timeline-ruler{grid-template-columns:repeat(var(--steps),minmax(6px,1fr));min-width:calc(var(--steps) * 8px);border-bottom:2px solid var(--ink);height:28px;display:grid}.timeline-ruler>div{color:#aaa;border-left:1px solid #e1e1dd;align-items:center;min-width:0;padding:0 0 0 3px;font-size:9px;font-weight:700;display:flex}.timeline-ruler .beat-start{color:var(--muted);border-left-color:#888}.timeline-ruler .bar-start{border-left:2px solid var(--ink);color:var(--ink)}.timeline-ruler .is-current{background:var(--yellow);color:var(--ink)}.event-grid{min-width:calc(var(--steps) * 8px);background:#fafaf8;height:72px;position:relative;overflow:hidden}.event-grid.is-placing{cursor:copy;background:#f3f6ff}.grid-lines{grid-template-columns:repeat(var(--steps),1fr);display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.grid-lines>span{border-left:1px solid #e4e4df;min-width:0}.grid-lines>.beat-start{border-left-color:#999}.grid-lines>.bar-start{border-left:2px solid var(--ink)}.grid-lines>.is-current{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.grid-lines>.is-current{background:color-mix(in srgb,var(--yellow),transparent 38%)}}.sequence-event{z-index:4;border:2px solid var(--ink);background:var(--tone,var(--blue));color:#fff;box-sizing:border-box;border-radius:5px;align-items:center;min-width:14px;height:50px;padding:0 22px 0 8px;font-size:12px;font-weight:900;display:flex;position:absolute;top:11px;overflow:hidden}.sequence-event:focus-visible{box-shadow:0 0 0 3px var(--yellow)}.sequence-event.is-read-only{cursor:pointer;padding-right:8px}.event-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.event-label small{opacity:.85;font-size:10px;font-weight:700}.event-move-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-self:stretch;align-items:center;gap:4px;display:flex}.event-move-handle:active{cursor:grabbing}.event-delete{color:#fff;background:#00000040;border:0;border-radius:4px;width:19px;height:19px;padding:0;font-weight:900;line-height:1;display:none;position:absolute;top:3px;right:17px}.sequence-event:hover .event-delete,.sequence-event:focus .event-delete,.sequence-event:focus-within .event-delete{justify-content:center;align-items:center;display:inline-flex}.resize-handle{cursor:ew-resize;touch-action:none;background:#0000002e;place-items:center;width:17px;display:grid;position:absolute;top:0;bottom:0;right:0}.resize-handle i{border-left:1px solid #fff;border-right:1px solid #fff;width:4px;height:18px}.palette-group-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.palette-group-chip{border:1.5px solid var(--ink);background:#fff;border-radius:6px;min-height:33px;padding:4px 10px;font-size:10px;font-weight:900}.palette-group-chip.is-on{background:var(--ink);color:#fff}.reharm-lane-hint{color:var(--muted);margin:0;padding:8px 12px 10px;font-size:11px;font-weight:700}.reharm-racks{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.reharm-follows{color:var(--muted);font-size:11px;font-weight:700}.scrub{flex-direction:column;gap:.5rem;display:flex}.scrub-head{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.scrub-readout{font-variant-numeric:tabular-nums;margin-inline-start:auto;font-weight:900}.scrub-bar{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--card);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;block-size:56px;position:relative;overflow:hidden}.scrub-bar:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.scrub-tick{border-left:1px solid var(--border);position:absolute;inset-block:0}.scrub-tick i{color:var(--muted);font-size:9px;font-style:normal;font-weight:800;position:absolute;inset-block-end:2px;inset-inline-start:3px}.scrub-bar-tick{border-left:2px solid var(--blue);block-size:14px;position:absolute;inset-block-start:0}@supports (color:color-mix(in lab,red,red)){.scrub-bar-tick{border-left:2px solid color-mix(in srgb,var(--blue),white 40%)}}.scrub-mark{border-left:3px solid var(--blue);position:absolute;inset-block:0}.scrub-mark i{background:var(--blue);color:#fff;border-radius:3px;padding:0 4px;font-size:10px;font-style:normal;font-weight:900;position:absolute;inset-block-start:2px;inset-inline-start:4px}.scrub-mark--later{border-left-color:var(--purple)}.scrub-mark--later i{background:var(--purple)}.scrub-playhead{border-left:2px solid var(--red);pointer-events:none;position:absolute;inset-block:0}.scrub-playhead:before{content:"";border:5px solid #0000;border-top:7px solid var(--red);position:absolute;inset-block-start:0;inset-inline-start:-6px}.reharm-nudge.is-on{background:var(--yellow)}.reharm-nudge.is-strong{background:var(--blue);color:#fff}.write-steps{flex-wrap:wrap;gap:.4rem;display:flex}.write-steps .shed-chip.is-done:not(.is-selected){border-color:var(--grade-perfect);background:#eaf7ef}.write-step{flex-direction:column;gap:.75rem;display:flex}.write-step__teach{margin:0;font-weight:600;line-height:1.5}.write-check{color:var(--red);font-size:.85rem;font-weight:800}.write-check.is-ok{color:var(--grade-perfect)}.stability-chart{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);grid-template-columns:3.2rem 1fr;gap:.75rem;padding:.75rem;display:grid}.stability-chart__axis{letter-spacing:.1em;text-transform:uppercase;grid-template-rows:auto 1fr auto;justify-items:center;gap:.4rem;font-size:.65rem;font-weight:900;display:grid}.stability-chart__axis i{border:2px solid var(--ink);background:linear-gradient(to bottom,var(--blue),var(--yellow) 55%,var(--red));border-radius:999px;inline-size:10px}.stability-chart__rows{gap:.4rem;display:grid}.stability-chart__head,.stability-chart__row{grid-template-columns:6.2rem minmax(8rem,1fr) minmax(10rem,1.2fr);align-items:center;gap:.75rem;display:grid}.stability-chart__head{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.65rem;font-weight:900}.stability-chart__row{border-top:1.5px solid var(--line);padding:.35rem 0}.stability-chart__chip{min-width:0;min-height:54px;padding:4px 8px}.stability-chart__chip span{font-size:12px}.stability-chart__hint{font-size:.9rem;font-weight:700}.stability-chart__next{flex-wrap:wrap;gap:.3rem;font-weight:800;display:flex}.stability-chart__next em{color:var(--muted);font-style:normal}.stability-chart__mini{border:1.5px solid var(--ink);background:var(--blue);border-radius:6px;min-inline-size:2.4rem;padding:.2rem .5rem}@supports (color:color-mix(in lab,red,red)){.stability-chart__mini{background:color-mix(in srgb,var(--blue),white 84%)}}.stability-chart__mini{font-size:.85rem;font-weight:900}@media(max-width:700px){.stability-chart__head{display:none}.stability-chart__row{grid-template-columns:6.2rem 1fr}.stability-chart__next{grid-column:1/-1}}.landing-pair{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;display:grid}.landing-card{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.landing-card.is-kept{border-color:var(--grade-perfect);background:#eaf7ef}.landing-card__numerals{letter-spacing:.04em;font-size:1.2rem;font-weight:900}.write-purpose{flex-direction:column;gap:.6rem;display:flex}.write-response{border:2px solid var(--ink);background:var(--card);inline-size:100%;min-inline-size:0;max-inline-size:44rem;color:var(--ink);font:inherit;border-radius:6px;padding:.5rem .65rem}textarea.write-response{resize:vertical}.write-cycle summary{cursor:pointer}.write-cycle p,.write-cycle ol{margin-block-start:.6rem}.write-cycle ol{padding-inline-start:1.5rem;list-style:decimal}.write-intentions dt{font-weight:800}.write-intentions dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0 .75rem}.write-name{max-inline-size:20rem;padding:.4rem .6rem;font-weight:800}.organizer{border-collapse:collapse;inline-size:100%}.organizer th,.organizer td{border:2px solid var(--ink);text-align:center;padding:.4rem .6rem;font-weight:800}.organizer th{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.organizer th{background:color-mix(in srgb,var(--blue),white 84%)}}.organizer th{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.organizer__roman{font-size:1.3rem;font-weight:900}.step-lightbox{inline-size:min(760px,100%)}.step-lightbox__body{flex-direction:column;gap:.9rem;display:flex}.step-lightbox__teach{margin:0;font-size:1.05rem;font-weight:800;line-height:1.5}.step-lightbox__explain{margin:0;font-weight:600;line-height:1.6}.step-lightbox__examples{gap:.6rem;display:grid}.step-example{border:2px solid var(--ink);border-radius:var(--radius-card);background:var(--card);flex-direction:column;gap:.4rem;min-inline-size:0;padding:.6rem .8rem;display:flex}.step-example.is-playing{background:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.step-example.is-playing{background:color-mix(in srgb,var(--yellow),white 55%)}}.step-example__head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.step-example__lane{min-inline-size:0;overflow-x:auto}.step-example__lane .sequence-shell{border:2px solid var(--ink);border-radius:6px;margin:0;padding:8px}.step-example__lane .event-grid{height:56px}.step-example__lane .sequence-event{height:42px;top:6px}.step-example__lane .timeline-ruler{height:24px}.step-example__note{margin:0;font-size:.9rem;font-weight:600}.score-card-facts{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:0;display:grid}.score-card-facts dd{margin:0;font-size:1.1rem;font-weight:900}.chord-slots{border-radius:var(--radius-card);flex-wrap:wrap;gap:.75rem;padding:.6rem 0;display:flex}.chord-slot-wrap{position:relative}.chord-slot{border:2px dashed var(--ink);border-radius:var(--radius-card);background:var(--card);block-size:6.4rem;inline-size:5.4rem;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;display:flex}.chord-slot.is-filled{background:var(--yellow);border-style:solid}.chord-slot.is-target:not(.is-filled){border-color:var(--blue);background:#eaf0ff}.chord-slot:disabled{cursor:not-allowed;opacity:.6}.chord-slot__number{color:var(--muted);font-size:1.1rem;font-weight:900}.chord-slot__clear{border:2px solid var(--ink);background:var(--card);border-radius:50%;block-size:1.5rem;inline-size:1.5rem;font-weight:900;line-height:1;position:absolute;inset-block-start:-.5rem;inset-inline-end:-.5rem}.chord-slots.is-wrong .chord-slot.is-filled{border-color:var(--red);box-shadow:0 0 0 3px var(--red)}.chord-slots.is-passed .chord-slot.is-filled{background:var(--grade-perfect);color:#fff;animation:chord-pass var(--motion-pass-max) var(--motion-ease) 1}.chord-slots.is-passed .chord-slot.is-filled .chord-chip__name{color:#fff}@keyframes chord-pass{0%{transform:scale(1)}30%{transform:scale(var(--motion-pulse-scale))}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.chord-slots.is-passed .chord-slot.is-filled{animation:none}}.hear-scores-list{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.5rem;max-block-size:50vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.hear-scores-list li{border:2px solid var(--border);border-radius:var(--radius-control);justify-content:space-between;gap:.5rem;padding:.45rem .7rem;display:flex}.hear-scores-list li.is-done{border-color:var(--grade-perfect);background:#eaf7ef}.print-only{display:none}@media print{.print-hide,.ptp-shell-header,.ptp-rail,.hear-screen>:not(.hear-scores-modal){display:none!important}.print-only{display:block}.hear-scores-list{max-block-size:none;overflow:visible}}.color-learning,.color-task,.color-reflection,.palette-editor{gap:14px;display:grid}.color-screen h2{font-size:20px;font-weight:900}.color-screen h3,.palette-editor h3{font-weight:900}.color-route-map{grid-template-columns:minmax(0,1fr) auto minmax(100px,.8fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.color-route-map>span{font-size:26px;font-weight:900}.color-route-map label{gap:6px;display:grid}.color-route-center{border:2px solid var(--ink);background:var(--yellow);border-radius:6px;justify-items:center;padding:12px;display:grid}.color-route-center strong{font-size:26px}.color-route-center span,.color-outside{font-weight:800}.color-example{justify-items:start;gap:8px;display:grid}.color-example .chord-lane{width:100%}.color-tempo{width:100px}.color-learning iframe{aspect-ratio:16/9;border:0;width:100%;margin-top:12px}.color-replace-buttons,.palette-builder-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-reflection label{gap:8px;display:grid}.palette-entry-list{gap:8px;padding:0;list-style:none;display:grid}.palette-entry-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.palette-entry-list input{border:1.5px solid var(--ink);border-radius:4px;min-width:100px;padding:6px}.palette-color-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.palette-color-slots label{align-items:center;gap:6px;min-width:0;display:flex}.palette-builder-row .hear-select,.palette-color-slots .hear-select{min-width:0}.palette-editor .select-menu{max-width:100%}.palette-edit{margin:0 12px 8px}@media(max-width:640px){.color-route-map{grid-template-columns:1fr}.color-route-map>span{justify-self:center;transform:rotate(90deg)}.palette-color-slots{grid-template-columns:1fr}}.chord-palette-row.is-belt-row{grid-template-columns:repeat(6,minmax(0,1fr))}.chord-chip.is-belt-chord{background:#dbefe5!important}.chord-chip.is-belt-chord span{color:#146937}.chord-chip.is-belt-chord.is-pressed{background:#1e9e5a!important}.chord-chip.is-belt-chord.is-pressed span{color:#fff}.contrast-screen h2{margin-bottom:.65rem;font-weight:900}.contrast-screen .chord-lane{margin:.9rem 0}.contrast-settings{flex-wrap:wrap;align-items:end;gap:.8rem;margin:.8rem 0;display:flex}.contrast-settings>label{flex-direction:column;flex:180px;gap:.35rem;display:flex}.contrast-text-field{flex-direction:column;gap:.4rem;margin:.9rem 0;display:flex}.contrast-transition{align-items:center;gap:.8rem;margin:.8rem 0;display:flex}.contrast-transition strong{border:2px solid var(--ink);background:var(--yellow);border-radius:8px;padding:.5rem 1rem}.contrast-share{flex-wrap:wrap;align-items:end;gap:.7rem;margin:.8rem 0;display:flex}.contrast-share label{flex-direction:column;flex:260px;gap:.3rem;display:flex}.contrast-share input{border:2px solid var(--ink);border-radius:8px;width:100%;padding:.5rem}.contrast-screen details>summary{cursor:pointer;padding:.5rem 0;font-weight:800}.contrast-screen ul{margin:.7rem 0;padding-inline-start:1.2rem;list-style:outside}.texture-screen h2,.progression-save h2{margin-bottom:10px;font-size:20px;font-weight:900}.texture-screen h3{font-weight:900}.texture-screen label,.progression-save label{flex-direction:column;gap:5px;display:flex}.texture-controls{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.texture-layer{overflow:visible}.texture-layer header{border-bottom:2px solid var(--ink);background:#dae4ff;flex-wrap:wrap;align-items:center;gap:16px;padding:12px;display:flex}.texture-layer header h2{margin:0}.texture-layer header label,.texture-transport label,.texture-voices label{flex-direction:row;align-items:center}.texture-layer:nth-of-type(2n) header{background:#e4dbf6}.texture-harmony{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.texture-harmony span{border:1px solid var(--ink);background:#f4f4f4;flex-direction:column;min-width:70px;padding:8px;display:flex}.texture-transport,.texture-voices,.texture-step-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.texture-voices{border:2px solid #e0e2e8;border-left:0;border-right:0;margin:20px 0 16px;padding:16px 0}.texture-step-buttons button{border:2px solid var(--ink);text-align:left;background:#fff;border-radius:6px;padding:8px}.texture-step-buttons button[aria-pressed=true]{background:var(--yellow)}.texture-role-examples{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0;display:grid}.texture-role-examples>div{border:1px solid var(--ink);border-radius:6px;padding:12px}.texture-grid-scroll{border:2px solid var(--ink);background:#f8f8f8;margin:12px 0;padding-left:75px;overflow-x:auto}.texture-grid-ruler{height:44px;display:flex}.texture-grid-ruler span{border-left:2px solid var(--ink);flex:1;padding:0 6px}.texture-grid-ruler small{grid-template-columns:repeat(4,1fr);display:grid}.texture-grid-ruler i{font-style:normal}.texture-grid-row{background:repeating-linear-gradient(90deg,#ddd 0,#ddd 1px,#0000 1px,#0000 32px);border-top:1px solid #ccc;height:42px;position:relative}.texture-row-label{width:70px;font-size:12px;position:absolute;top:12px;left:-73px}.texture-note{border:1px solid var(--ink);background:var(--blue);color:#111;border-radius:4px;height:32px;padding:0;font-size:10px;font-weight:800;position:absolute;top:4px;overflow:hidden}.texture-note.is-removed{color:#555;background:0 0;border-style:dashed}.texture-note.is-playing{background:var(--yellow)}.texture-grid-scroll.is-muted{opacity:.55}.progression-save{flex-direction:column;gap:10px;display:flex}.progression-link{border:2px solid var(--ink);background:#fff;border-radius:6px;width:fit-content;padding:8px 12px;font-weight:800;text-decoration:underline}.progression-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.collection-chords{flex-wrap:wrap;gap:6px;display:flex}.collection-chords span{border:1px solid var(--ink);border-radius:4px;padding:4px 8px}.texture-lesson-step{border:2px solid var(--ink);background:#fff;border-radius:999px;min-width:40px;min-height:40px;padding:6px 10px;font-weight:900}.texture-lesson-step[aria-pressed=true]{background:var(--yellow)}.texture-example-grid-scroll{overflow-x:auto}.texture-example-bars{font-size:11px;font-weight:800;display:flex}.texture-example-bars>span{border-left:1px solid var(--muted);flex:1;padding:3px}.texture-example-harmony{height:22px;font-size:12px;font-weight:900;position:relative}.texture-example-harmony>span{white-space:nowrap;padding-left:3px;position:absolute;overflow:hidden}.texture-example-layer{margin:4px 0 8px}.texture-example-row{background:repeating-linear-gradient(90deg,#0000 0,#0000 calc(25% - 1px),#ddd calc(25% - 1px),#ddd 25%);border:1px solid #ddd;height:18px;margin:2px 0;position:relative}.texture-example-note{background:var(--blue);border:1px solid var(--ink);text-align:center;border-radius:2px;height:100%;font-size:10px;font-weight:800;position:absolute;overflow:hidden}.texture-example-note.is-playing{background:var(--yellow)}.texture-lesson-actions{background:var(--card);border-top:2px solid var(--ink);padding:12px 0;position:sticky;bottom:-16px}.texture-select{flex-direction:column;gap:7px;min-width:0;display:flex}.texture-select .select-menu-trigger{border:2px solid var(--ink);border-radius:20px;min-height:40px;padding:8px 12px;font-size:12px}.texture-select .select-menu-trigger>span{white-space:normal;text-align:left}.texture-select .select-menu-list{border-radius:12px}.texture-select .select-menu-list button{border-radius:7px;min-height:38px;font-size:12px}.texture-layer header{border-radius:9px 9px 0 0}.texture-toggle{border-radius:20px;grid-template-rows:auto;min-width:98px;min-height:36px;padding:6px 12px}.texture-toggle>span{grid-row:1}.texture-toggle>strong{font-size:12px}.texture-voices-heading{flex-basis:100%}.texture-voice{border:2px solid var(--ink);background:#fff;border-radius:20px;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font-size:12px;font-weight:900;display:inline-flex}.texture-voice>span{border:1.5px solid var(--ink);border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;display:grid}.texture-voice[aria-pressed=true]{background:var(--blue);color:#fff}.texture-voice[aria-pressed=true]>span{background:var(--yellow);color:var(--ink)}.texture-voice:hover,.texture-select .select-menu-trigger:hover{box-shadow:2px 2px 0 var(--ink)}.texture-level{justify-content:space-between;min-width:0}.texture-level-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.texture-level output{background:#edf2ff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:900}.texture-level input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;min-width:0;height:40px;margin:0;padding:0}.texture-level input[type=range]::-webkit-slider-runnable-track{border:2px solid var(--ink);background:#dae4ff;border-radius:8px;height:8px}.texture-level input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--ink);background:var(--yellow);width:22px;height:22px;box-shadow:1px 1px 0 var(--ink);border-radius:50%;margin-top:-9px}.texture-level input[type=range]::-moz-range-track{border:2px solid var(--ink);background:#dae4ff;border-radius:8px;height:5px}.texture-level input[type=range]::-moz-range-thumb{border:2px solid var(--ink);background:var(--yellow);width:18px;height:18px;box-shadow:1px 1px 0 var(--ink);border-radius:50%}.texture-toggle:focus-visible,.texture-voice:focus-visible,.texture-level input[type=range]:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
