@layer tokens{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-0:#0b0d10;--surface-1:#111418;--surface-2:#171b21;--surface-3:#1e232b;--surface-4:#262c36;--line-1:#252b34;--line-2:#333b47;--line-3:#4a5466;--line-glow:#ffffff0d;--text-1:#eef1f5;--text-2:#b4bcc8;--text-3:#8590a0;--text-4:#5f6979;--text-on-key:#0b0d10;--key:#f4f5f7;--key-hover:#fff;--key-pressed:#dde1e7;--key-soft:#f4f5f714;--key-glow:0 0 0 1px #ffffff1f, 0 0 24px #f4f5f72e;--key-halo:#f4f5f773;--focus:#fff;--selected:#f4f5f7;--down:#ff9f43;--down-edge:#c9762c;--down-dim:#9a6130;--down-tint:#ff9f431f;--up:#2fd5c8;--up-edge:#1fa69c;--up-dim:#207a73;--up-tint:#2fd5c81f;--v-perfect:#3ddc84;--v-perfect-halo:#3ddc8473;--v-good:#1f9a57;--v-early:#5b8cff;--v-early-halo:#5b8cff73;--v-late:#ee6fb4;--v-late-halo:#ee6fb473;--v-miss:#ff4d5e;--v-extra:#ff4d5e;--v-rest-hit:#ff4d5e99;--v-none:var(--line-2);--ok:#3ddc84;--ok-tint:#3ddc841a;--warn:#f5c518;--warn-tint:#f5c5181a;--warn-halo:#f5c51873;--danger:#ff4d5e;--danger-tint:#ff4d5e1f;--danger-halo:#ff4d5e73;--info-tint:#f4f5f70f;--glow-playing:0 0 20px #ff4d5e59;--glow-playhead:0 0 12px #f4f5f78c;--glow-countin:0 0 32px #f4f5f740;--shadow-dock:0 8px 24px -12px #0009;--shadow-dialog:0 32px 64px -16px #000000b3;--backdrop:#0b0d10b8;--backdrop-opaque:#0b0d10f0;--band-perfect:#3ddc841a;--band-good:#3ddc840d;--trail:#eef1f540;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--r-1:4px;--r-2:6px;--r-3:10px;--r-4:14px;--r-pill:999px;--h-sm:32px;--h-md:40px;--h-lg:56px;--header-h:56px;--card-pad:16px 20px;--range-rail:4px;--range-thumb:16px;--range-slot:20px;--range-fig:.75rem;--range-box:max(24px, var(--range-slot));--t-display:700 96px/1 var(--font-ui);--t-display-ls:-.03em;--t-score:700 56px/1 var(--font-ui);--t-score-ls:-.03em;--t-readout:650 36px/1 var(--font-ui);--t-readout-ls:-.02em;--t-bpm:650 32px/1 var(--font-ui);--t-bpm-ls:-.02em;--t-h1:650 clamp(1.375rem, 1.6vw + .75rem, 1.75rem)/1.15 var(--font-ui);--t-h1-ls:-.02em;--t-h2:600 1rem/1.3 var(--font-ui);--t-h2-ls:-.005em;--t-h3:600 .875rem/1.35 var(--font-ui);--t-h3-ls:0;--t-body:450 .875rem/1.5 var(--font-ui);--t-body-ls:0;--t-strong:600 .875rem/1.5 var(--font-ui);--t-button:600 14px/1 var(--font-ui);--t-button-ls:.01em;--t-caption:450 .75rem/1.45 var(--font-ui);--t-caption-ls:0;--t-label:600 .6875rem/1.2 var(--font-ui);--t-label-ls:.08em;--t-mono-s:500 .75rem/1.3 var(--font-mono);--t-mono-m:500 .875rem/1.3 var(--font-mono);--d-1:80ms;--d-2:.14s;--d-3:.22s;--d-4:.42s;--d-5:.7s;--e-out:cubic-bezier(.2, .7, .2, 1);--e-in:cubic-bezier(.4, 0, 1, 1);--e-snap:cubic-bezier(.3, 1.2, .4, 1)}@media (prefers-contrast:more){:root{--text-1:#fff;--text-2:#d3dae3;--text-3:#b9c1cd;--text-4:#9ba5b4;--line-1:#5c687c;--line-2:#7a879b;--line-3:#9aa6b8;--line-glow:#ffffff24}}@media (prefers-reduced-motion:reduce){:root{--d-1:1ms;--d-2:1ms;--d-3:1ms;--d-4:1ms;--d-5:1ms}}@media (pointer:coarse){:root{--range-thumb:20px}}@media (width<=760px),(pointer:coarse){:root{--range-box:44px}}}@layer base{*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--surface-0);-webkit-text-size-adjust:100%;scrollbar-color:var(--line-3) var(--surface-0)}body{background:var(--surface-0);min-height:100dvh;color:var(--text-2);font:var(--t-body);letter-spacing:var(--t-body-ls);overflow-wrap:anywhere}::selection{background:var(--key-soft);color:var(--text-1)}b,strong{color:var(--text-1);font-weight:600}h1,h2,h3,h4,h5,h6{font:inherit;letter-spacing:inherit;color:inherit;margin:0}small{font:var(--t-caption)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--text-1);text-underline-offset:3px;text-decoration-thickness:1px}canvas{display:block}summary{align-items:center;gap:var(--s-2);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"";opacity:.7;width:16px;height:16px;transition:transform var(--d-2) var(--e-out), opacity var(--d-2) var(--e-out);background:currentColor;flex:none;margin-left:auto;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4l4 4-4 4'/%3E%3C/svg%3E") 50%/16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4l4 4-4 4'/%3E%3C/svg%3E") 50%/16px 16px no-repeat}details[open]>summary:after{transform:rotate(90deg)}summary:hover:after{opacity:1}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--surface-0)}.btn--key:focus-visible,.play-btn:not(.playing):not(.btn--ghost):focus-visible,.nudge-cta:focus-visible,.setup-btn.primary:focus-visible,.save-pattern-btn:focus-visible,.skip-link:focus-visible{outline-color:var(--surface-0);box-shadow:0 0 0 4px var(--focus)}main:focus,main:focus-visible{box-shadow:none;outline:none}dialog{color:var(--text-2)}dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){dialog::backdrop{background:var(--backdrop-opaque)}}@media (prefers-reduced-transparency:reduce){dialog::backdrop{background:var(--backdrop-opaque);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-iteration-count:1!important}}}@layer primitives{.card{background:var(--surface-2);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:inset 0 1px 0 var(--line-glow);padding:var(--card-pad)}.card--well{background:var(--surface-1)}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:var(--h-md);padding:0 var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface-3);color:var(--text-1);font:var(--t-button);letter-spacing:var(--t-button-ls);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 0 var(--line-glow);transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-4);color:var(--text-1)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{color:var(--text-2);box-shadow:none;background:0 0}.btn--ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-3)}.btn--key{background:var(--key);color:var(--text-on-key);box-shadow:inset 0 1px 0 var(--key-hover);border-color:#0000}.btn--key:hover:not(:disabled){background:var(--key-hover);color:var(--text-on-key)}.btn--key:active:not(:disabled){background:var(--key-pressed)}.btn--danger{background:var(--surface-3);border-color:var(--danger);color:var(--danger);box-shadow:inset 0 1px 0 var(--line-glow)}.btn--danger .icon{filter:drop-shadow(0 0 6px var(--danger-halo))}.btn--danger:hover:not(:disabled){background:var(--surface-3);border-color:var(--danger);color:var(--danger);box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 1px var(--danger)}@media (forced-colors:active){.btn--danger{color:highlight;border-color:highlight}.btn--danger .icon{filter:none}}.btn--sm{height:var(--h-sm);border-radius:var(--r-2);padding:0 10px}.btn--lg{height:var(--h-lg);padding:0 var(--s-5);border-radius:var(--r-4)}.btn--icon{width:var(--h-md);padding:0}.btn--icon.btn--sm{width:var(--h-sm)}.btn--text{height:auto;min-height:24px;color:var(--text-3);font:var(--t-caption);text-align:center;text-underline-offset:3px;white-space:normal;box-shadow:none;background:0 0;border:0;padding:0;text-decoration:underline}.btn--text:hover:not(:disabled){color:var(--text-1);background:0 0}.btn .icon{flex:none}.led{--led:var(--line-2);--led-halo:transparent;background:var(--led);width:8px;height:8px;box-shadow:0 0 6px var(--led-halo);transition:background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out), transform var(--d-2) var(--e-snap);border-radius:50%;flex:none;display:inline-block}.led--xs{width:6px;height:6px}.led--lg{width:10px;height:10px}.led--off{--led:var(--line-2);--led-halo:transparent}.led--key{--led:var(--key);--led-halo:var(--key-halo)}.led--ok{--led:var(--ok);--led-halo:var(--v-perfect-halo)}.led--warn{--led:var(--warn);--led-halo:var(--warn-halo)}.led--danger{--led:var(--danger);--led-halo:var(--danger-halo)}.led--perfect{--led:var(--v-perfect);--led-halo:var(--v-perfect-halo)}.led--good{--led:var(--v-good);--led-halo:transparent}.led--early{--led:var(--v-early);--led-halo:var(--v-early-halo)}.led--late{--led:var(--v-late);--led-halo:var(--v-late-halo)}.led--lit{box-shadow:0 0 6px var(--led-halo)}.led--dim{--led-halo:transparent}.led--miss,.led--extra,.led--rest-hit{--led:var(--v-miss);--led-halo:transparent;box-shadow:inset 0 0 0 1.5px var(--led);background:0 0}.led--extra{box-shadow:none;background:0 0;border-radius:0;position:relative}.led--extra:before,.led--extra:after{content:"";background:var(--led);width:1.5px;height:110%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.led--extra:after{transform:translate(-50%,-50%)rotate(-45deg)}.led--rest-hit{--led:var(--v-rest-hit)}.led--breathe{animation:led-breathe 2s var(--e-out) infinite}@keyframes led-breathe{0%,to{opacity:1}50%{opacity:.45}}.stamp{border:1px solid var(--line-2);border-radius:var(--r-1);background:var(--surface-3);height:20px;color:var(--text-3);font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.stamp--ok{color:var(--ok);border-color:var(--ok);background:var(--ok-tint)}.stamp--warn{color:var(--warn);border-color:var(--warn);background:var(--warn-tint)}.stamp--danger{color:var(--danger);border-color:var(--danger);background:var(--danger-tint)}.stamp--key{color:var(--text-1);border-color:var(--line-3);background:var(--key-soft)}.stamp--mono{font:var(--t-mono-s);letter-spacing:0;text-transform:none}.chip{border:1px solid var(--line-1);border-radius:var(--r-1);background:var(--surface-3);height:22px;color:var(--text-2);font:var(--t-mono-s);font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.chip--ok{color:var(--ok)}.chip--warn{color:var(--warn)}.chip--danger{color:var(--danger)}.chip.dim{color:var(--text-3)}.field{min-width:0;color:var(--text-3);font:var(--t-caption);gap:6px;display:grid}.field>span:first-child,.field-label{color:var(--text-3);font:var(--t-caption)}.field select,.field input:not([type=range]):not([type=checkbox]):not([type=radio]),.field textarea,select.field-control,input.field-control{width:100%;min-width:0;height:var(--h-md);padding:0 var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface-3);color:var(--text-1);font:var(--t-body);box-shadow:inset 0 1px 0 var(--line-glow);transition:border-color var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out)}.field select,select.field-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%238590A0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:36px}.field input::placeholder,.field textarea::placeholder,input.field-control::placeholder{color:var(--text-3);opacity:1}.field select:hover:not(:disabled),select.field-control:hover:not(:disabled),.field input:hover:not(:disabled){border-color:var(--line-3)}.field select:disabled,.field input:disabled,select.field-control:disabled{opacity:.5;cursor:not-allowed}.field--sm select,.field--sm input,select.field-control.field--sm{height:var(--h-sm);padding-block:0}.range{--fill:0%;appearance:none;width:100%;height:var(--range-box);margin:calc((var(--range-slot) - var(--range-box)) / 2) 0;cursor:pointer;background:0 0;padding:0}.range:disabled{opacity:.5;cursor:not-allowed}.range::-webkit-slider-runnable-track{height:var(--range-rail);border-radius:calc(var(--range-rail) / 2);background:linear-gradient(var(--text-2), var(--text-2)) 0 0 / var(--fill) 100% no-repeat, var(--line-2)}.range::-moz-range-track{height:var(--range-rail);border-radius:calc(var(--range-rail) / 2);background:var(--line-2)}.range::-moz-range-progress{height:var(--range-rail);border-radius:calc(var(--range-rail) / 2);background:var(--text-2)}.range::-webkit-slider-thumb{appearance:none;width:var(--range-thumb);height:var(--range-thumb);margin-top:calc((var(--range-rail) - var(--range-thumb)) / 2);background:var(--key);box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 1px var(--surface-0);transition:transform var(--d-2) var(--e-snap), background-color var(--d-2) var(--e-out);border:0;border-radius:50%}.range::-moz-range-thumb{width:var(--range-thumb);height:var(--range-thumb);background:var(--key);box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 1px var(--surface-0);border:0;border-radius:50%}.range:hover:not(:disabled)::-webkit-slider-thumb{background:var(--key-hover);transform:scale(1.12)}.range:focus-visible::-webkit-slider-thumb{background:var(--key-hover);transform:scale(1.12)}.range:active:not(:disabled)::-webkit-slider-thumb{background:var(--key-pressed)}.range--sm{width:96px}.segmented{--seg-count:2;height:var(--h-md);border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface-1);box-shadow:inset 0 1px 0 var(--line-glow);align-items:stretch;padding:3px;display:inline-flex;position:relative}.segmented>button{border-radius:var(--r-pill);min-width:72px;color:var(--text-3);font:var(--t-button);letter-spacing:var(--t-button-ls);white-space:nowrap;cursor:pointer;transition:color var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out);background:0 0;border:0;flex:1 1 0;padding:0 14px;position:relative}.segmented>button:hover:not(:disabled){color:var(--text-1)}.segmented>button[aria-pressed=true],.segmented>button.on{background:var(--surface-4);color:var(--text-1)}.segmented:not([style*=--seg-index])>button[aria-pressed=true]:after,.segmented:not([style*=--seg-index])>button.on:after{content:"";background:var(--selected);border-radius:1px;height:2px;position:absolute;bottom:3px;left:14px;right:14px}.segmented[style*=--seg-index]:after{content:"";background:var(--selected);height:2px;width:calc((100% - 6px) / var(--seg-count) - 28px);bottom:3px;left:calc(3px + 14px + (100% - 6px) / var(--seg-count) * var(--seg-index,0));transition:left var(--d-2) var(--e-out);border-radius:1px;position:absolute}.segmented--sm{height:var(--h-sm)}.segmented--sm>button{min-width:56px;padding:0 10px}.stepper{gap:0;margin:0;padding:0;list-style:none;display:grid}.step{align-items:center;column-gap:var(--s-3);min-height:52px;padding:var(--s-2) 0;grid-template-columns:24px minmax(0,1fr) auto;display:grid;position:relative}.step:before{content:"";background:var(--line-2);width:1px;position:absolute;top:0;bottom:0;left:11.5px}.step:first-child:before{top:50%}.step:last-child:before{bottom:50%}.step:only-child:before{display:none}.step-node{z-index:1;border:1px solid var(--line-3);background:var(--surface-2);width:20px;height:20px;color:var(--text-3);font:var(--t-label);letter-spacing:0;transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out);border-radius:50%;justify-content:center;align-items:center;margin-left:2px;display:inline-flex;position:relative}.step.is-active .step-node{border-color:var(--key);box-shadow:inset 0 0 0 1px var(--key);color:var(--text-1)}.step.is-done .step-node{border-color:var(--ok);background:var(--ok);color:var(--text-on-key)}.step.is-warn .step-node{border-color:var(--warn);background:var(--warn);color:var(--text-on-key)}.step-title{font:var(--t-h3);color:var(--text-1)}.step-status{font:var(--t-caption);color:var(--text-3)}.step-action{justify-self:end}.reveal{opacity:1;transition:grid-template-rows var(--d-3) var(--e-out), opacity var(--d-3) var(--e-out);grid-template-rows:1fr;display:grid}.reveal>*{min-height:0;overflow:hidden}@starting-style{details[open]>.reveal{opacity:0;grid-template-rows:0fr}}details[data-closing]>.reveal,details:not([open])>.reveal{opacity:0;grid-template-rows:0fr}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.icon{vertical-align:middle;flex:none;width:16px;height:16px;display:inline-block}.icon--20{width:20px;height:20px}.icon--24{width:24px;height:24px}.kbd{border:1px solid var(--line-3);border-radius:var(--r-1);background:var(--surface-3);min-width:24px;height:24px;color:var(--text-1);font:var(--t-mono-s);box-shadow:inset 0 1px 0 var(--line-glow);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.row-led{align-items:center;gap:var(--s-2);display:inline-flex}}@layer components{.app{flex-direction:column;min-height:100dvh;display:flex}.skip-link{z-index:100;top:var(--s-3);left:var(--s-3);height:var(--h-md);padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--key);color:var(--text-on-key);font:var(--t-button);letter-spacing:var(--t-button-ls);opacity:0;pointer-events:none;transition:transform var(--d-2) var(--e-out), opacity var(--d-2) var(--e-out);align-items:center;text-decoration:none;display:inline-flex;position:fixed;transform:translateY(-200%)}.skip-link:focus{opacity:1;pointer-events:auto;transform:none}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--s-4);height:var(--header-h);padding:0 var(--s-5);background:var(--surface-1);border-bottom:1px solid var(--line-1);box-shadow:inset 0 1px 0 var(--line-glow);display:flex;position:sticky;top:0}.logo{color:var(--text-1);font:600 15px/1 var(--font-ui);letter-spacing:-.005em;white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.logo-mark{flex:none;display:block}.topbar-right{align-items:center;gap:var(--s-3);min-width:0;display:flex}.status-leds{align-items:center;gap:var(--s-4);margin-right:var(--s-2);appearance:none;border-radius:var(--r-2);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out);background:0 0;border:1px solid #0000;padding:4px 6px;display:flex}.status-leds:hover{background:var(--surface-3);border-color:var(--line-3)}.status-led{font:var(--t-caption);color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.status-led:not(.status-led--off) .status-led-label{color:var(--text-2)}.status-led .led{transition:background-color var(--d-2) var(--e-snap), box-shadow var(--d-2) var(--e-snap)}.audio-state{text-transform:none}.topbar-install{display:contents}.topbar-install:empty{display:none}.help-btn{color:var(--text-3)}.help-btn:hover:not(:disabled){color:var(--text-1)}.topbar[data-tight] .status-led-label{display:none}.topbar[data-tight] .status-leds{gap:0}.layout{flex:1;align-items:stretch;min-height:0;display:flex}.stage{width:100%;min-width:0;max-width:1040px;padding:var(--s-6) var(--s-5) 96px;gap:var(--s-5);scroll-margin-top:var(--header-h);flex-direction:column;flex:1;margin-inline:auto;display:flex}.zone{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.zone:empty{display:none}.stage .zone>*,.stage .feedback-row>*{margin-block:0}.stage .zone--instrument{gap:var(--s-4)}.dock-sentinel{height:1px;margin:calc(-1 * var(--s-5) - 1px) 0 0;pointer-events:none}.dock{top:var(--header-h);z-index:5;border-radius:var(--r-3);background:var(--surface-1);transition:box-shadow var(--d-3) var(--e-out), border-radius var(--d-3) var(--e-out);position:sticky}.dock>*{transition:border-radius var(--d-3) var(--e-out)}.dock.is-stuck{box-shadow:var(--shadow-dock);border-top-left-radius:0;border-top-right-radius:0}.dock.is-stuck>*{border-top-color:#0000;border-top-left-radius:0;border-top-right-radius:0}.feedback-row{gap:var(--s-5);grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.feedback-row:has(>.score-panel){grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.feedback-row:has(>.score-panel.is-review){grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.feedback-row:empty{display:none}.rig{--rig-pad:var(--s-5);--rig-glyph-inset:calc(16px + var(--s-2));gap:0;padding:0;overflow:visible}.zone.rig>details,.zone.rig>section,.zone.rig>.rig-loading{padding:0 var(--rig-pad);border:0;border-top:1px solid var(--line-1);box-shadow:none;transition:background-color var(--d-3) var(--e-out);background:0 0;border-radius:0;margin:0}.zone.rig>:first-child{border-top-left-radius:calc(var(--r-3) - 1px);border-top-right-radius:calc(var(--r-3) - 1px);border-top:0}.zone.rig>:last-child{border-bottom-left-radius:calc(var(--r-3) - 1px);border-bottom-right-radius:calc(var(--r-3) - 1px)}.zone.rig>details>summary{align-items:center;column-gap:var(--s-3);width:auto;min-height:52px;margin:0 calc(-1 * var(--rig-pad));padding:0 var(--rig-pad);color:var(--text-1);font:var(--t-h3);letter-spacing:var(--t-h3-ls);text-transform:none;white-space:nowrap;background-image:linear-gradient(var(--text-3), var(--text-3));transition:background-color var(--d-2) var(--e-out), background-size var(--d-2) var(--e-out), color var(--d-2) var(--e-out), border-radius var(--d-2) var(--e-out);background-position:0;background-repeat:no-repeat;background-size:0 100%;border:0;border-radius:0;grid-template-columns:16px minmax(0,1fr) fit-content(40%) 16px;display:grid;position:relative}.zone.rig>details>summary>:first-child:not(.rig-row-led,.rig-row-icon){padding-left:var(--rig-glyph-inset);grid-column:2}.zone.rig>details>summary>:nth-child(2):not(.rig-row-led,.rig-row-icon,.rig-row-title,.rig-row-status){grid-column:3}.zone.rig>details>summary:before{content:"";border-radius:var(--r-2);box-shadow:0 0 0 2px var(--focus);opacity:0;pointer-events:none;transition:opacity var(--d-2) var(--e-out);position:absolute;inset:3px}.zone.rig>details>summary>.rig-row-led,.zone.rig>details>summary>.rig-row-icon{grid-column:1;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;overflow:visible}.zone.rig>details>summary>.rig-row-icon{color:var(--text-3);transition:color var(--d-2) var(--e-out)}.zone.rig>details>summary:hover>.rig-row-icon,.zone.rig>details[open]>summary>.rig-row-icon{color:var(--text-2)}.zone.rig>details>summary:has(>.rig-row-icon){--rig-glyph-inset:0px;grid-template-columns:16px 16px minmax(0,1fr) fit-content(40%) 16px}.zone.rig>details>summary>.rig-row-icon{grid-column:2}.zone.rig>details>summary:has(>.rig-row-icon)>.rig-row-title:before{content:"";left:calc(var(--rig-pad) + 4px);background:var(--line-2);border-radius:50%;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%}.zone.rig>section.harmony-panel>.harmony-head{padding-left:var(--rig-glyph-inset)}.zone.rig>details>summary:has(>.rig-row-icon)>.rig-row-title{grid-column:3}.zone.rig>details>summary:has(>.rig-row-icon)>.rig-row-status{grid-column:4}.zone.rig>details>summary:has(>.rig-row-icon)>.rig-row-title{margin-left:calc(var(--s-2) - var(--s-3))}.zone.rig>details>summary:has(>.rig-row-icon):after{grid-column:5}.zone.rig>details>summary>.rig-row-title{padding-left:var(--rig-glyph-inset);text-overflow:ellipsis;min-width:0;color:var(--text-1);font:var(--t-h3);letter-spacing:var(--t-h3-ls);grid-column:2;display:block;overflow:hidden}.zone.rig>details>summary>.rig-row-title b{font-weight:inherit;color:inherit}.zone.rig>details>summary>.rig-row-status{text-overflow:ellipsis;min-width:0;max-width:100%;color:var(--text-3);font:var(--t-caption);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;transition:color var(--d-2) var(--e-out);grid-column:3;justify-self:end;overflow:hidden}.zone.rig>details.scored-setup>summary>.rig-row-status,.zone.rig>details.sound-settings>summary>.rig-row-status,.zone.rig>details.audio-device-panel>summary>.rig-row-status,.zone.rig>details.mic-panel>summary>.rig-row-status{font:var(--t-mono-s)}.zone.rig>details>summary:hover>.rig-row-status{color:var(--text-2)}.zone.rig>details[open]:not([data-closing])>summary>.rig-row-status{opacity:0;transition:color var(--d-2) var(--e-out), opacity var(--d-2) var(--e-out)}.zone.rig>details>summary>*{min-width:0}.zone.rig>details>summary>:not(:has(button,input,select,a)){text-overflow:ellipsis;overflow:hidden}.zone.rig>details>summary:after{color:var(--text-3);grid-column:4;margin-left:0}.zone.rig>details>summary:hover:after,.zone.rig>details[open]>summary:after{color:var(--text-1)}.zone.rig>details>summary:hover{background-size:2px 100%}.zone.rig>details:not([open])>summary:hover{background-color:var(--surface-3)}.zone.rig>details[open]>summary:hover{background-color:var(--surface-2)}.zone.rig>details>summary:active{background-color:var(--surface-4);transition-duration:var(--d-1)}@media (prefers-contrast:more){.zone.rig>details>summary:hover{background-size:3px 100%}}.zone.rig>details:first-child>summary{border-top-left-radius:calc(var(--r-3) - 1px);border-top-right-radius:calc(var(--r-3) - 1px)}.zone.rig>details:last-child:not([open])>summary{border-bottom-left-radius:calc(var(--r-3) - 1px);border-bottom-right-radius:calc(var(--r-3) - 1px)}.zone.rig>section,.zone.rig>.rig-loading{padding-block:var(--s-3);padding-left:calc(var(--rig-pad) + 28px)}.zone.rig>details[open]{background:var(--surface-1);padding-bottom:var(--s-4)}.zone.rig>details[open]>summary{margin-bottom:var(--s-1)}.zone.rig>details:focus-visible,.zone.rig>details>summary:focus-visible,.zone.rig>details:focus-visible>summary{box-shadow:none;outline:none}.zone.rig>details>summary:focus-visible:before,.zone.rig>details:focus-visible>summary:before{opacity:1}@media (forced-colors:active){.zone.rig>details>summary:hover,.zone.rig>details>summary:focus-visible,.zone.rig>details:focus-visible>summary{outline-offset:-3px;outline:2px solid highlight}}.rig-loading{color:var(--text-3);font:var(--t-caption)}.footer-strip{margin:var(--s-2) 0 0;padding:var(--s-3) 0 var(--s-2);border-top:1px solid var(--line-1);font:var(--t-caption);color:var(--text-3);position:relative}.footer-strip-row{align-items:center;row-gap:var(--s-1);flex-wrap:wrap;display:flex}.footer-strip-row>:not(.offline-panel),.footer-strip .offline-panel>*{align-items:center;min-height:28px;display:inline-flex}.footer-strip-row>:not(:last-child,.offline-panel):after,.footer-strip .offline-panel>:after{content:"·";text-align:center;width:20px;color:var(--text-4);display:inline-block}.footer-item{align-items:center;display:inline-flex}.footer-item>.footer-help:after{content:none}.footer-strip .offline-panel{font:inherit;color:inherit;margin:0;display:contents}.footer-strip .transfer-btn{height:28px;color:var(--text-3);border-color:#0000;padding:0 8px}.footer-strip .transfer-btn:hover:not(:disabled){border-color:var(--line-2);color:var(--text-1)}.footer-help{color:var(--text-3);border-radius:var(--r-1);gap:6px;text-decoration:none}.footer-help:hover:not(:disabled){color:var(--text-1)}.footer-help:hover:not(:disabled) .kbd{border-color:var(--line-3);color:var(--text-1)}.footer-help .kbd{min-width:20px;height:20px;color:var(--text-2);padding:0 5px}.banner{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--info-tint);color:var(--text-1);font:var(--t-body);animation:banner-in var(--d-3) var(--e-out);display:flex}.banner>.icon{color:var(--text-3);flex:none;margin-top:3px}.banner.error{border-color:var(--danger);background:var(--danger-tint)}.banner.error>.icon{color:var(--danger)}.banner.warn{border-color:var(--warn);background:var(--warn-tint)}.banner.warn>.icon{color:var(--warn)}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.help-sheet{--sheet-max:calc(100dvh - 48px);width:min(560px,100% - 32px);max-height:var(--sheet-max);border:1px solid var(--line-2);border-radius:var(--r-4);background:var(--surface-1);color:var(--text-2);box-shadow:var(--shadow-dialog), inset 0 1px 0 var(--line-glow);margin:auto;padding:0;overflow:hidden}.help-sheet[open]{animation:sheet-in var(--d-3) var(--e-out)}.help-sheet[open]::backdrop{animation:backdrop-in var(--d-3) var(--e-out)}.help-sheet[open][data-closing]{animation:sheet-out var(--d-2) var(--e-in) forwards;pointer-events:none}.help-sheet[open][data-closing]::backdrop{animation:backdrop-out var(--d-2) var(--e-in) forwards}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@keyframes sheet-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(4px)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}.help-panel{max-height:calc(var(--sheet-max) - 2px);flex-direction:column;display:flex;position:relative}.help-panel:after{content:"";background:var(--text-3);opacity:0;pointer-events:none;width:16px;height:16px;transition:opacity var(--d-2) var(--e-out);margin-left:-8px;position:absolute;bottom:4px;left:50%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") 50%/16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") 50%/16px 16px no-repeat}.help-head{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:64px;padding:var(--s-3) var(--s-4) var(--s-3) var(--s-5);border-bottom:1px solid var(--line-1);display:flex}.help-head h2{color:var(--text-1);font:var(--t-h2);letter-spacing:var(--t-h2-ls);margin:0}.help-body{padding:var(--s-2) var(--s-5) 0;overscroll-behavior:contain;overflow-y:auto}.help-body:after{content:"";height:var(--s-5);background:linear-gradient(to bottom, transparent, var(--surface-1));pointer-events:none;margin-top:0;display:block;position:sticky;bottom:0}.help-prose{max-width:62ch;color:var(--text-2);font:var(--t-body);margin:0}.help-prose b{color:var(--text-1)}.help-h3{margin:var(--s-5) 0 var(--s-3);color:var(--text-1);font:var(--t-h3)}.help-h3:first-child{margin-top:var(--s-3)}.help-shortcuts{grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.help-shortcut{grid-column:1/-1;grid-template-columns:subgrid;column-gap:var(--s-5);border-top:1px solid var(--line-1);align-items:center;min-height:36px;display:grid}.help-shortcut:first-child{border-top:0}.help-shortcut>dt,.help-shortcut>dd{padding:var(--s-1) 0;align-items:center;margin:0;display:flex}.help-shortcut>dt{justify-content:flex-end;gap:var(--s-1);white-space:nowrap}.help-shortcut>dd{color:var(--text-2);font:var(--t-body)}.help-shortcut .kbd-combo{align-items:center;gap:3px;display:inline-flex}.help-shortcut .kbd-plus{color:var(--text-4);font:var(--t-mono-s)}.help-shortcut .kbd-or{width:4px}.help-privacy{gap:var(--s-3);align-items:flex-start;display:flex}.help-privacy .icon{color:var(--text-3);flex:none;margin-top:3px}.transfer-btn,.text-btn,.secondary-btn{height:var(--h-sm);border:1px solid var(--line-2);border-radius:var(--r-2);color:var(--text-2);font:var(--t-button);letter-spacing:var(--t-button-ls);white-space:nowrap;cursor:pointer;transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.transfer-btn:hover:not(:disabled),.text-btn:hover:not(:disabled),.secondary-btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-3);color:var(--text-1)}.transfer-btn:active:not(:disabled),.text-btn:active:not(:disabled),.secondary-btn:active:not(:disabled){transform:translateY(1px)}.transfer-btn:disabled{opacity:.5;cursor:not-allowed}.toggles{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.toggle{height:var(--h-sm);border:1px solid var(--line-2);border-radius:var(--r-2);color:var(--text-2);font:var(--t-button);letter-spacing:var(--t-button-ls);white-space:nowrap;cursor:pointer;transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);background:0 0;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.toggle:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-3);color:var(--text-1)}.toggle:active:not(:disabled){transform:translateY(1px)}.toggle .toggle-dot{background:var(--line-2);width:8px;height:8px;transition:background-color var(--d-2) var(--e-snap), box-shadow var(--d-2) var(--e-snap);border-radius:50%;flex:none}.toggle.on{color:var(--text-1);border-color:var(--line-3);background:var(--surface-3)}.toggle.on .toggle-dot{background:var(--key);box-shadow:0 0 6px var(--key-halo)}@media (width<=1099px){.stage{padding-inline:20px}:is(.feedback-row:has(>.score-panel),.feedback-row:has(>.score-panel.is-review)){grid-template-columns:minmax(0,1fr)}.feedback-row>:nth-child(2){order:-1}}@media (width<=760px){:root{--header-h:48px}.layout{flex-direction:column}.topbar{padding-inline:var(--s-4)}.stage{padding:var(--s-5) var(--s-4) var(--s-8)}.topbar-install,.topbar .transfer-btn{display:none}}@media (width<=600px){:root{--card-pad:12px 16px}.logo,.topbar-right{gap:var(--s-2)}.status-leds{gap:10px;margin-right:0}.status-led{gap:6px}.status-leds .audio-state{display:none}.rig{--rig-pad:var(--s-4);--rig-glyph-inset:0px}.zone.rig>details>summary>.rig-row-icon{display:none}.zone.rig>details>summary{padding-block:var(--s-3);grid-template-columns:16px minmax(0,1fr) 16px;grid-auto-rows:auto;align-content:center;row-gap:0}.zone.rig>details>summary>.rig-row-led,.zone.rig>details>summary>.rig-row-icon{grid-row:1/-1}.zone.rig>details>summary:after{grid-area:1/3/-1}.zone.rig>details>summary>.rig-row-title,.zone.rig>details>summary>:first-child:not(.rig-row-led,.rig-row-icon){grid-area:1/2;line-height:1.25rem}.zone.rig>details>summary>.rig-row-status,.zone.rig>details>summary>:nth-child(2):not(.rig-row-led,.rig-row-icon,.rig-row-title,.rig-row-status){max-width:100%;height:1rem;transition:color var(--d-2) var(--e-out), opacity var(--d-2) var(--e-out), height var(--d-2) var(--e-out);grid-area:2/2;justify-self:start;line-height:1rem}.zone.rig>details>summary:has(>.rig-row-icon){grid-template-columns:16px minmax(0,1fr) 16px}:is(.zone.rig>details>summary:has(>.rig-row-icon)>.rig-row-title,.zone.rig>details>summary:has(>.rig-row-icon)>.rig-row-status){grid-column:2;margin-left:0}.zone.rig>details>summary:has(>.rig-row-icon):after{grid-column:3}.zone.rig>details[open]:not([data-closing])>summary>.rig-row-status{height:0}.zone.rig>details>summary>:has(button,input,select){margin-top:var(--s-2);grid-area:3/2/auto/4;justify-self:start}.zone.rig>section,.zone.rig>.rig-loading{padding-left:var(--rig-pad)}.help-sheet{--sheet-max:calc(100dvh - var(--s-5));width:calc(100% - var(--s-5))}.help-head{min-height:56px;padding-inline:var(--s-4) var(--s-3)}.help-body{padding-inline:var(--s-4)}.help-shortcut{column-gap:var(--s-4)}.help-shortcut>dt{flex-wrap:nowrap}.help-shortcut .kbd{min-width:22px;height:22px;padding:0 5px}.footer-strip-row{line-height:22px;display:block}.footer-strip-row>:not(.offline-panel),.footer-strip .offline-panel>*{vertical-align:baseline;min-height:0;display:inline}.footer-strip-row>:not(:last-child,.offline-panel):after,.footer-strip .offline-panel>:after{width:auto;margin:0 6px;display:inline}.footer-item,.footer-strip .transfer-btn,.footer-help{vertical-align:middle;min-height:22px;display:inline-flex}.footer-strip .transfer-btn{height:22px;margin:0 2px;padding:0 6px}.footer-help .kbd{min-width:18px;height:18px}}@media (width<=424px){.status-leds{margin-right:var(--s-1);padding-inline:0}}@media (hover:none) and (pointer:coarse){:is(.help-shortcuts,.help-h3--shortcuts,.footer-item:has(>.footer-help)){display:none}.status-leds{min-height:36px}.footer-strip-row>:has(+.footer-item>.footer-help):after{content:none}}@media (width<=760px) and (pointer:coarse){.btn--sm,.btn--icon.btn--sm,.transfer-btn,.toggle{min-height:var(--h-md)}.btn--icon.btn--sm{min-width:var(--h-md)}}@media (height<=560px),(width<=760px) and (height<=820px){.dock{position:static}.dock.is-stuck{box-shadow:none;border-radius:var(--r-3)}.dock.is-stuck>*{border-top-left-radius:inherit;border-top-right-radius:inherit;border-top-color:var(--line-1)}}@media (height<=420px){.topbar{position:static}}.picker{--rail-gutter:10px;--rail-pad-l:var(--s-3);--rail-ink-pad:var(--s-3);--rail-pad-r:calc(var(--rail-pad-l) + var(--rail-gutter));--wash:linear-gradient(var(--key-soft), var(--key-soft));top:var(--header-h);z-index:10;width:clamp(272px,17rem,36vw);height:calc(100dvh - var(--header-h));background:var(--surface-1);border-right:1px solid var(--line-1);min-height:0;box-shadow:inset 0 1px 0 var(--line-glow);flex-direction:column;flex:none;align-self:flex-start;display:flex;position:sticky;overflow:hidden}.picker :focus-visible{box-shadow:0 0 0 4px var(--surface-1)}.picker-head{gap:var(--s-2);padding:var(--s-4) var(--rail-pad-r) var(--s-3) var(--rail-pad-l);border-bottom:1px solid var(--line-1);flex:none;grid-template-columns:minmax(0,1fr);display:grid}.picker-heading{align-items:center;gap:var(--s-2);min-height:var(--h-sm);padding-left:var(--rail-ink-pad);display:flex}.picker-title{font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;color:var(--text-3)}.picker-fold{gap:var(--s-1);padding-inline:var(--s-2);color:var(--text-2);flex:none;display:none}.picker-fold .num{font:var(--t-mono-s);font-variant-numeric:tabular-nums}.picker-fold-list{color:var(--text-3);flex:none;display:block}.picker-fold-caret{color:var(--text-3);transition:transform var(--d-2) var(--e-out);flex:none;transform:rotate(90deg)}.picker-fold[aria-expanded=true] .picker-fold-caret{transform:rotate(-90deg)}.new-pattern-btn{flex:none;margin-inline-start:auto}.picker-filter-toggle{color:var(--text-3);flex:none;display:none}.picker-filter-toggle[data-on]{background:var(--surface-4);border-color:var(--line-3);color:var(--text-1)}.tier-glyph{flex:none;display:block}.picker-filter-word{font:var(--t-caption);color:var(--text-2)}.picker-filter-toggle[data-on] .picker-filter-word{color:var(--text-1)}.picker-filter-caret{margin-left:calc(var(--s-1) / -2);color:var(--text-3);transition:transform var(--d-2) var(--e-out);flex:none;transform:rotate(90deg)}.picker-filter-toggle[aria-expanded=true] .picker-filter-caret{transform:rotate(-90deg)}.picker-search{align-items:center;gap:var(--s-2);height:var(--h-sm);padding:0 calc(var(--rail-ink-pad) - 1px);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface-3);color:var(--text-3);box-shadow:inset 0 1px 0 var(--line-glow);transition:border-color var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out);display:flex;position:relative}.picker-search:hover{border-color:var(--line-3)}.picker-search:focus-within{border-color:var(--line-3);color:var(--text-2)}.picker-search:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px;box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 4px var(--surface-1)}.picker-search>*{z-index:1;position:relative}.picker-search-icon{pointer-events:none;flex:none}.picker-search input{z-index:0;min-width:0;padding:0 calc(var(--rail-ink-pad) - 1px + var(--s-5) + var(--s-2)) 0 calc(var(--rail-ink-pad) - 1px + var(--s-4) + var(--s-2));color:var(--text-1);font:var(--t-body);background:0 0;border:0;position:absolute;inset:0}.picker-search input:focus,.picker-search input:focus-visible{box-shadow:none;outline:none}.picker-search input::placeholder{color:var(--text-3)}.picker-search input::-webkit-search-cancel-button{appearance:none;display:none}.picker-search input::-webkit-search-decoration{appearance:none;display:none}.picker-search-key{color:var(--text-3);pointer-events:none;flex:none;margin-left:auto}.picker-search:focus-within .picker-search-key,.picker-search[data-filled] .picker-search-key{display:none}.picker-search-clear{width:22px;height:22px;margin-left:auto;margin-right:calc(var(--s-1) * -1);border-radius:var(--r-1);color:var(--text-3);transition:background-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.picker-search-clear:hover{background:var(--surface-4);color:var(--text-1)}.picker-filters{--seg-pad:3px;--seg-inset:2px;width:100%;height:auto;min-height:var(--h-sm);row-gap:var(--seg-pad);padding:var(--seg-pad);background:var(--surface-2);border-radius:var(--r-3);border-color:var(--line-2);flex-wrap:wrap;display:flex}.picker-filter{z-index:1;min-width:0;padding:0 var(--s-1);font:var(--t-caption);letter-spacing:0;text-overflow:ellipsis;flex:auto;position:relative;overflow:hidden}.picker-filters>.picker-filter[aria-pressed=true]{color:var(--text-1);background:0 0}.picker-filters>.picker-filter[aria-pressed=true]:after{content:none}.picker-filters:after{content:"";top:var(--seg-y,0px);height:var(--seg-h,0px);left:calc(var(--seg-x,0px) + var(--seg-inset));width:calc(var(--seg-w,0px) - var(--seg-inset) * 2);border-radius:calc(var(--r-3) - 1px - var(--seg-pad));background:var(--surface-4);box-shadow:inset 0 1px 0 var(--line-glow), inset 0 0 0 1px var(--key-soft);pointer-events:none;transition:left var(--d-2) var(--e-out), width var(--d-2) var(--e-out), top var(--d-2) var(--e-out), height var(--d-2) var(--e-out);position:absolute}.picker-filters>.picker-filter,.picker-filters>.picker-filter:focus-visible{border-radius:calc(var(--r-3) - 1px - var(--seg-pad))}.picker-filters>.picker-filter:focus-visible{outline-offset:-2px;box-shadow:none}.picker-list{--seam:var(--s-7);--mask-foot:0px;flex:1;min-height:0;display:flex;position:relative}.picker-scroll{-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--seam) - var(--mask-foot)), #00000040 calc(100% - var(--seam) / 2 - var(--mask-foot)), transparent calc(100% - var(--mask-foot)));-webkit-mask-image:linear-gradient(to bottom, black calc(100% - var(--seam) - var(--mask-foot)), #00000040 calc(100% - var(--seam) / 2 - var(--mask-foot)), transparent calc(100% - var(--mask-foot)));mask-image:linear-gradient(to bottom, black calc(100% - var(--seam) - var(--mask-foot)), #00000040 calc(100% - var(--seam) / 2 - var(--mask-foot)), transparent calc(100% - var(--mask-foot)));overscroll-behavior:contain;min-width:0;min-height:0;padding:0 var(--rail-pad-l) var(--seam);scroll-padding:calc(var(--s-5) + var(--s-2) + 2px) 0 var(--s-7);scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:var(--line-2) transparent;flex:1;overflow:hidden auto}.picker-scroll::-webkit-scrollbar{width:var(--rail-gutter);background:0 0}.picker-scroll::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:var(--line-2);background-clip:content-box;border:3px solid #0000}.picker-scroll::-webkit-scrollbar-thumb:hover{background:var(--line-3);background-clip:content-box}.picker-locked{z-index:6;grid-template-columns:var(--s-5) minmax(0, 1fr);height:var(--h-md);padding:0 var(--rail-pad-r) 0 0;background:var(--surface-1);color:var(--text-2);font:var(--t-caption);align-items:center;margin:0;display:grid;position:absolute;inset:auto 0 0}.picker-locked .icon{color:var(--text-3);justify-self:center}.picker-count{justify-content:space-between;align-items:center;gap:var(--s-2);margin:var(--s-1) 0 var(--s-2);padding:0 0 var(--s-2) var(--rail-ink-pad);border-bottom:1px solid var(--line-1);color:var(--text-3);font:var(--t-caption);display:flex}.picker-clear{flex:none}.picker-count>.picker-clear{margin-block:calc(var(--s-1) * -1)}.picker-group+.picker-group{margin-top:var(--s-1)}.picker-group:last-child{padding-bottom:var(--s-2)}.picker-style{z-index:4;padding:var(--s-1) var(--rail-ink-pad) 2px;background:var(--surface-1);pointer-events:none;font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;color:var(--text-3);position:sticky;top:0}.recent-group+.picker-group,.custom-group+.picker-group{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--line-1)}.pat-row{--row-bg:transparent;--row-img:none;--row-ring:none;--chip-ink:var(--text-3);--row-mark:var(--selected);--row-mark-scale:0;--diff-off:var(--text-4);border-radius:var(--r-2);background-color:var(--row-bg);background-image:var(--row-img);box-shadow:var(--row-ring);scroll-margin-block:34px var(--s-2);transition:background-color var(--d-2) var(--e-out), opacity var(--d-2) var(--e-out);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.picker:not([data-locked]) .pat-row:not([data-active]):hover{--row-bg:var(--surface-3);--chip-ink:var(--text-2);--row-mark:var(--text-3);--row-mark-scale:1}.pat-row:not([data-active]):has(:focus-visible){--row-bg:var(--surface-3);--chip-ink:var(--text-2);--row-mark:var(--text-3);--row-mark-scale:1}.picker:not([data-locked]) .pat-row:hover .pat{color:var(--text-1)}.pat-row:has(:focus-visible) .pat{color:var(--text-1)}.pat-row[data-active]{--row-bg:var(--surface-4);--row-img:var(--wash);--row-ring:inset 0 1px 0 var(--line-glow);--chip-ink:var(--text-2);--row-mark:var(--selected);--row-mark-scale:1}.picker:not([data-locked]) .pat-row[data-active]:hover{--row-img:var(--wash), linear-gradient(var(--line-glow), var(--line-glow));--row-ring:inset 0 1px 0 var(--line-glow), inset 0 0 0 1px var(--key-soft);--chip-ink:var(--text-1)}.pat-row[data-active]:has(:focus-visible){--row-img:var(--wash), linear-gradient(var(--line-glow), var(--line-glow));--row-ring:inset 0 1px 0 var(--line-glow), inset 0 0 0 1px var(--key-soft);--chip-ink:var(--text-1)}.picker-scroll{--pat-diff-w:18px;--pat-score-w:22px}.pat{grid-template-columns:minmax(0, 1fr) var(--pat-diff-w);align-items:center;column-gap:var(--s-2);min-width:0;min-height:var(--h-md);padding-block:0;padding-inline:var(--rail-ink-pad);border-radius:var(--r-2);color:var(--text-2);font:var(--t-body);text-align:left;transition:color var(--d-2) var(--e-out);background:0 0;border:0;flex:1;grid-template-areas:"name diff";display:grid;position:relative}.picker-scroll[data-scored] .pat{grid-template-columns:minmax(0, 1fr) var(--pat-score-w) var(--pat-diff-w);grid-template-areas:"name chip diff"}.picker-scroll[data-scored] .pat-name{margin-right:var(--s-2)}.pat-row:before{content:"";left:0;top:var(--s-2);bottom:var(--s-2);z-index:1;background-color:var(--row-mark);width:2px;transform:scaleY(var(--row-mark-scale));transition:transform var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out);border-radius:0 1px 1px 0;position:absolute}.pat[data-active]{color:var(--text-1)}.pat-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;overflow:hidden}.pat-hit{color:var(--text-1);font-weight:600}.pat-progress{color:var(--chip-ink);font:var(--t-mono-s);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--d-2) var(--e-out);grid-area:chip;justify-content:flex-end;align-items:center;display:inline-flex;position:relative}.pat-mark,.pattern-best-mark{width:11px;color:var(--text-3);transition:color var(--d-2) var(--e-out);justify-content:center;align-items:center;display:inline-flex}.pat-mark{margin-right:3px;position:absolute;right:100%}.pat-progress--lit .pat-mark,.pattern-best-mark--lit{color:var(--ok)}.pat-progress--lit{color:var(--text-2)}.pat-row[data-active] .pat-progress--lit{color:var(--text-1)}.pat-star{display:block}.pat-progress--pulse{animation:pat-progress-pulse var(--d-5) var(--e-out) 1}@keyframes pat-progress-pulse{0%,35%{color:var(--ok)}to{color:var(--chip-ink)}}.pat-diff{--diff-lit-h:14px;--diff-off-h:4px;height:var(--diff-lit-h);grid-area:diff;align-items:flex-end;gap:2px;display:inline-flex}.pat-diff .dot{width:2px;height:var(--diff-off-h);background-color:var(--diff-off);transform-origin:50% 100%;transition:background-color var(--d-2) var(--e-out);border-radius:1px;align-self:flex-end;display:block}.pat-diff .dot.on{height:var(--diff-lit-h);background-color:var(--text-1)}@media (forced-colors:active){.pat-row[data-active]{outline-offset:-2px;outline:2px solid highlight}.pat-row[data-active]:before{forced-color-adjust:none;background-color:highlight}.picker:not([data-locked]) .pat-row:not([data-active]):hover:before{forced-color-adjust:none;background-color:canvastext}.pat-row:not([data-active]):has(:focus-visible):before{forced-color-adjust:none;background-color:canvastext}.pat-diff .dot,.pat-diff .dot.on{forced-color-adjust:none;background-color:canvastext}}.pat-diff .dot{--lift-delay:0s}.pat-diff .dot:nth-child(2){--lift-delay:30ms}.pat-diff .dot:nth-child(3){--lift-delay:60ms}.pat-diff .dot:nth-child(4){--lift-delay:90ms}.pat-diff .dot:nth-child(5){--lift-delay:.12s}.picker:not([data-locked]) .pat-row:hover .pat-diff .dot{animation:diff-lift var(--d-3) var(--e-out) var(--lift-delay) backwards}@keyframes diff-lift{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.picker:not([data-locked]) .pat-row:hover .pat-diff .dot{animation:none}}.custom-actions{justify-content:flex-start;align-items:center;gap:var(--s-2);height:var(--h-md);display:flex}.custom-action{flex:1 1 0;justify-content:center;min-width:0}.custom-action--danger:hover:not(:disabled),.custom-action--danger:focus-visible:not(:disabled){background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.custom-actions-hint,.custom-actions .custom-action{animation:custom-actions-in var(--d-2) var(--e-out) both}@keyframes custom-actions-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.custom-actions-hint,.custom-actions .custom-action{animation:none}}.custom-actions-hint{color:var(--text-3);font:var(--t-caption);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}@media (width>=761px){.custom-actions:has(.custom-actions-hint){justify-content:center}.custom-actions-hint{text-align:center}}.picker[data-locked] .pat-row,.picker[data-locked] .picker-count,.picker[data-locked] .custom-actions{opacity:.65}.picker[data-locked] .picker-style{color:var(--text-4)}.picker[data-locked] .picker-list{--mask-foot:var(--h-md)}.picker[data-locked] .picker-scroll{padding-bottom:calc(var(--h-md) + var(--seam));scroll-padding-bottom:calc(var(--h-md) + var(--seam))}.picker[data-locked] .pat{cursor:not-allowed}.picker[data-locked] .pat-row[data-active]{opacity:1}.picker[data-locked] .pat[data-active]{cursor:default}.picker-scroll:has(.picker-empty){align-content:start;display:grid}.picker-empty{justify-items:start;gap:var(--s-2);padding:var(--s-5) var(--rail-ink-pad) 0;display:grid}.picker-empty-title{color:var(--text-1);font:var(--t-h3);overflow-wrap:anywhere;margin:0}.picker-empty-note{color:var(--text-3);font:var(--t-caption);margin:0}.picker-empty-actions{align-items:center;gap:var(--s-2);margin:var(--s-1) 0 0;flex-wrap:wrap;display:flex}.pattern-transfer{gap:var(--s-2);padding:var(--s-3) var(--rail-pad-r) var(--s-3) var(--rail-pad-l);border-top:1px solid var(--line-1);background:var(--surface-1);box-shadow:inset 0 1px 0 var(--line-glow);flex:none;display:grid}.transfer-actions{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.pattern-transfer[data-deciding] .transfer-actions{display:none}.pattern-transfer .transfer-btn{min-width:0;padding-inline:var(--s-3)}.pattern-transfer .transfer-btn--primary{border-color:var(--line-3);background:var(--key-soft);color:var(--text-1)}.pattern-transfer .transfer-btn--primary:hover:not(:disabled){border-color:var(--key);background:var(--surface-4)}.file-input{display:none}.transfer-status{padding-inline:var(--rail-ink-pad);color:var(--text-3);font:var(--t-caption);margin:0}.transfer-status b{color:var(--text-2);font-weight:600}.transfer-status:empty{display:none}.transfer-choice{gap:var(--s-2);flex-wrap:wrap;display:flex}.transfer-choice .transfer-btn{flex:96px;min-width:0}.transfer-cancel{padding-inline:calc(var(--rail-ink-pad) - 1px) var(--rail-ink-pad);box-shadow:none;color:var(--text-3);font:var(--t-caption);background:0 0;border-color:#0000;flex:0 0 100%;justify-content:flex-start}.transfer-cancel:hover:not(:disabled){border-color:var(--line-2);background:var(--surface-3);color:var(--text-1)}.pattern-info{gap:var(--s-1);display:grid}.pattern-meta{align-items:baseline;gap:var(--s-1);color:var(--text-3);font:var(--t-caption);flex-wrap:wrap;margin:0;display:flex}.pattern-meta-value{font:var(--t-mono-s);font-variant-numeric:tabular-nums}.pattern-meta-sep,.pattern-best-sep{background:var(--text-4);flex:none;align-self:center;width:1px;height:10px}.pattern-head{align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;display:flex}.pattern-head h1{color:var(--text-1);font:var(--t-h1);letter-spacing:var(--t-h1-ls);margin:0}.pattern-stamps{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.pattern-stamps:empty{display:none}.pattern-best{gap:var(--s-1);height:20px;padding:0 var(--s-2);color:var(--text-2)}.pattern-best-kind{color:var(--text-3)}.pattern-best .num{color:var(--text-1)}.pattern-best-sep{height:8px}.pattern-desc{max-width:62ch;margin:var(--s-1) 0 0;color:var(--text-2);font:var(--t-body)}@media (width<=1099px){.picker{width:clamp(240px,15rem,36vw)}.picker-filter{padding-inline:2px}.picker-filters{--seg-inset:0px;--seg-pad:2px}}@media (width<=760px){.picker{--rail-gutter:0px;--rail-pad-l:var(--s-1);--rail-ink-pad:var(--s-3);border-right:0;border-bottom:1px solid var(--line-1);width:100%;height:auto;max-height:none;position:static;overflow:visible}.picker-scroll{scrollbar-width:none}.picker-head{padding:var(--s-2) var(--rail-pad-r) var(--s-2) var(--rail-pad-l);flex-wrap:wrap;align-items:center;display:flex}.picker-heading,.picker-filters[data-open]{flex:1 0 100%}.picker-heading{min-height:0;padding-left:var(--rail-ink-pad)}.picker-fold{display:inline-flex}.picker:not([data-open]) .picker-list{display:none}.picker:not([data-open]) .pattern-transfer:not(:has(.transfer-choice,.transfer-status:not(:empty))){display:none}.picker:not([data-open]) .transfer-actions{display:none}.picker-search{flex:auto;min-width:0;max-width:360px}.picker-filter-toggle{gap:var(--s-2);padding-inline:var(--s-2);flex:none;display:inline-flex}.picker-filters{display:none}.picker-filters[data-open]{width:100%;display:flex}.picker-list{flex:none;height:clamp(206px,50dvh,460px)}.picker-list:has(.custom-group){height:clamp(250px,50dvh + 44px,504px)}.picker-search,.picker-head .btn--sm{height:var(--h-md)}.picker-search input{padding:0 calc(var(--rail-ink-pad) + var(--s-5) + var(--s-2)) 0 calc(var(--rail-ink-pad) + var(--s-4) + var(--s-2));inset:-1px}.picker-search-clear{width:var(--h-md);height:var(--h-md);margin-right:calc(var(--s-3) * -1);border-radius:var(--r-2)}.picker-scroll{padding-bottom:var(--s-3)}.picker-count,.picker-empty{max-width:480px}.picker-style{padding-block:var(--s-1) 2px}.picker-group:last-child{padding-bottom:var(--s-5)}.pattern-transfer{padding:var(--s-1) var(--rail-pad-r) var(--s-2) var(--rail-pad-l)}.recent-group+.picker-group,.custom-group+.picker-group{margin-top:var(--s-2);padding-top:var(--s-2)}.pat{min-height:44px}.custom-actions{height:44px}.custom-actions-hint{padding-inline-start:var(--rail-ink-pad)}.custom-action{height:var(--h-md);padding-inline:calc(var(--rail-ink-pad) - 1px) var(--rail-ink-pad);box-shadow:none;color:var(--text-3);font:var(--t-caption);background:0 0;border-color:#0000;flex:none}.custom-action:hover:not(:disabled){color:var(--text-1);background:0 0;border-color:#0000}.custom-action--danger:hover:not(:disabled),.custom-action--danger:focus-visible:not(:disabled){color:var(--danger);background:0 0;border-color:#0000}.custom-action:disabled{border-color:#0000}.transfer-actions{gap:var(--s-2);display:flex}.transfer-actions .transfer-btn{height:var(--h-md);padding-inline:calc(var(--rail-ink-pad) - 1px) var(--rail-ink-pad);box-shadow:none;color:var(--text-3);font:var(--t-caption);background:0 0;border-color:#0000}.transfer-actions .transfer-btn:hover:not(:disabled){color:var(--text-1);background:0 0}.transfer-actions .transfer-btn:disabled{border-color:#0000}}@media (hover:none) and (pointer:coarse){.picker-scroll{padding-right:var(--rail-pad-r);scrollbar-width:none}.picker-scroll::-webkit-scrollbar{width:0}.picker-search,.picker-head .btn--sm{height:var(--h-md)}.picker-filter-toggle{min-width:var(--h-md)}.picker-filters{min-height:var(--h-md)}.custom-actions .btn--sm,.transfer-actions .transfer-btn{height:var(--h-md)}.picker-search-key{display:none}}@media (hover:none) and (pointer:coarse) and (width<=760px){.picker-filters{--seg-pad:0px;min-height:calc(var(--h-md) + 4px)}}@media (width<=600px){.picker-head{padding-block:var(--s-1);row-gap:var(--s-1)}.pattern-head{gap:var(--s-2) var(--s-3)}}.grid-outer{--cell-min:56px;gap:var(--s-3);flex-direction:column;width:100%;min-width:0;display:flex;container-type:inline-size}.grid-wrap{--card-frame:2px;--band-w:max(calc(var(--cell-min) * var(--slots,8)), calc(100cqi - var(--card-frame)));--lane-ruler:28px;--lane-art:18px;--lane-verdict:0px;--lane-arrow:152px;--ink-frac:.5;--arrow-min:44px;--arrow-cap:142px;--arrow-slack:10px;--fade:32px;--string-ink:var(--line-2);--string-gap:17px;--string-span:calc(var(--string-gap) * 5 + 1px);--string-top:calc(var(--lane-ruler) + var(--lane-art) + (var(--lane-arrow) - var(--string-span)) / 2);--strings:linear-gradient(to bottom, var(--string-ink) 0 2px, transparent 2px calc(var(--string-gap) * 1), var(--string-ink) calc(var(--string-gap) * 1) calc(var(--string-gap) * 1 + 1.8px), transparent calc(var(--string-gap) * 1 + 1.8px) calc(var(--string-gap) * 2), var(--string-ink) calc(var(--string-gap) * 2) calc(var(--string-gap) * 2 + 1.6px), transparent calc(var(--string-gap) * 2 + 1.6px) calc(var(--string-gap) * 3), var(--string-ink) calc(var(--string-gap) * 3) calc(var(--string-gap) * 3 + 1.4px), transparent calc(var(--string-gap) * 3 + 1.4px) calc(var(--string-gap) * 4), var(--string-ink) calc(var(--string-gap) * 4) calc(var(--string-gap) * 4 + 1.2px), transparent calc(var(--string-gap) * 4 + 1.2px) calc(var(--string-gap) * 5), var(--string-ink) calc(var(--string-gap) * 5) calc(var(--string-gap) * 5 + 1px), transparent calc(var(--string-gap) * 5 + 1px));--verdict-ground:var(--surface-2);--lit-chassis:var(--surface-4);--lit-tint:transparent;--plate-edges:linear-gradient(to bottom, transparent 0 calc(var(--lane-ruler) - 1px), var(--line-1) calc(var(--lane-ruler) - 1px) var(--lane-ruler), var(--line-glow) var(--lane-ruler) calc(var(--lane-ruler) + 1px), transparent calc(var(--lane-ruler) + 1px));border-radius:var(--r-3);width:100%;padding:0;position:relative;overflow:hidden}.grid-wrap.has-lane-verdict{--lane-verdict:28px;--plate-edges:linear-gradient(to bottom, transparent 0 calc(var(--lane-ruler) - 1px), var(--line-1) calc(var(--lane-ruler) - 1px) var(--lane-ruler), var(--line-glow) var(--lane-ruler) calc(var(--lane-ruler) + 1px), transparent calc(var(--lane-ruler) + 1px)), linear-gradient(to bottom, transparent 0 calc(100% - var(--lane-verdict)), var(--line-1) calc(100% - var(--lane-verdict)) calc(100% - var(--lane-verdict) + 1px), var(--line-glow) calc(100% - var(--lane-verdict) + 1px) calc(100% - var(--lane-verdict) + 2px), transparent calc(100% - var(--lane-verdict) + 2px))}.grid-scroll{z-index:1;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;position:relative;overflow:auto hidden}.grid-scroll:focus-visible{outline:none}.grid-wrap[data-focus]{outline:2px solid var(--focus);outline-offset:2px;box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 4px var(--surface-0)}.grid-scroll{--fade-l:0px;--fade-r:0px}.grid-wrap[data-over-start] .grid-scroll{--fade-l:min(var(--fade), var(--over-l,var(--fade)))}.grid-wrap[data-over-end] .grid-scroll{--fade-r:min(var(--fade), var(--over-r,var(--fade)))}.grid-scroll[data-overflow]{-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);mask-image:linear-gradient(90deg, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%)}.edge-hint{top:calc(var(--lane-ruler) + var(--lane-art));height:var(--lane-arrow);z-index:3;pointer-events:none;align-items:center;width:20px;display:none;position:absolute}.edge-chev{fill:none;width:9px;height:14px;stroke:var(--text-3);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.edge-hint--start{justify-content:flex-start;padding-inline-start:var(--s-2);left:0}.edge-hint--end{justify-content:flex-end;padding-inline-end:var(--s-2);right:0}.grid-wrap[data-over-start] .edge-hint--start,.grid-wrap[data-over-end] .edge-hint--end{display:flex}.take-loops{top:1px;right:var(--s-3);z-index:3;width:min(calc(var(--loops,4) * 11px), 40cqi, 176px);pointer-events:none;gap:2px;height:4px;display:flex;position:absolute}.take-loop{border-radius:var(--r-pill);background:var(--line-3);min-width:0;transition:background-color var(--d-3) var(--e-out);flex:1}.take-loop.is-done{background:var(--text-2)}.take-loop.is-live{background:linear-gradient(to right, var(--text-2) 0 50%, var(--line-3) 50% 100%)}.grid-lanes{isolation:isolate;justify-content:center;width:fit-content;min-width:100%;display:flex;position:relative}.grid-lanes:before{content:"";z-index:3;box-shadow:inset 0 1px 0 var(--line-glow), inset 0 -1px 0 var(--line-glow);pointer-events:none;position:absolute;inset:0}.lane-band{background-color:var(--surface-2);background-image:var(--strings);background-repeat:no-repeat;background-position:0 var(--string-top);background-size:100% var(--string-span);width:var(--band-w);flex:none;position:relative}.lane-band:after{content:"";z-index:3;background-image:var(--plate-edges);pointer-events:none;position:absolute;inset:0}.cells{z-index:1;width:100%;display:flex;position:relative}.grid-wrap.has-lane-verdict .cells:before{content:"";z-index:0;left:0;right:0;bottom:calc(var(--lane-verdict) - 13px);background-color:var(--line-1);opacity:.5;pointer-events:none;height:1px;position:absolute}.cell{min-width:var(--cell-min);--sep:var(--line-1);border-left:1px solid #0000;flex-direction:column;flex:1 1 0;align-items:stretch;display:flex;position:relative;container-type:inline-size}.cell:before{content:"";z-index:2;pointer-events:none;background-color:var(--sep);width:1px;transition:opacity var(--d-2) var(--e-out);position:absolute;top:0;bottom:0;left:-1px}.cell.bar-start{--sep:var(--line-3)}.cells>.cell:first-child:before{display:none}.cell:after{content:"";z-index:-1;pointer-events:none;background-color:#0000;position:absolute;inset:0}@media (hover:hover){.cell:hover{outline:1px solid var(--line-2);outline-offset:-1px}}.cell-ruler{height:var(--lane-ruler);flex-direction:column;justify-content:flex-end;align-items:center;padding:5px 0 8px;display:flex;position:relative}.cell-label{height:15px;font:var(--t-label);letter-spacing:var(--t-label-ls);color:var(--text-3);transition:opacity var(--d-3) var(--e-out);align-items:center;margin-inline-end:calc(var(--t-label-ls) * -1);display:flex}.cell-ruler.on-beat .cell-label{font:var(--t-h3);letter-spacing:var(--t-h3-ls);color:var(--text-1);margin-inline-end:calc(var(--t-h3-ls) * -1)}.bar-stamp{pointer-events:none;max-width:calc(100% - 10px);height:16px;padding:0 4px;position:absolute;top:5px;left:5px;overflow:hidden}@container (width<=104px){.bar-stamp{display:none}}.cell-tick{background:var(--line-2);width:1px;height:4px;transition:opacity var(--d-3) var(--e-out);position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.cell-ruler.on-beat .cell-tick{background:var(--line-3);width:6px;height:6px;transition:background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out), width var(--d-2) var(--e-out), height var(--d-2) var(--e-out), bottom var(--d-2) var(--e-out);border-radius:50%;bottom:1px;box-shadow:0 0 #0000}.cell-ruler.on-beat .cell-tick.is-lit,.cell[data-lamp] .cell-ruler.on-beat .cell-tick{background:var(--key);box-shadow:0 0 6px var(--key-halo);transition:none}.cells:has(.cell[data-beam]) .cell:not([data-lamp]) .cell-ruler.on-beat .cell-tick.is-lit{background:var(--line-3);box-shadow:0 0 #0000}.grid-wrap.is-countin .cell-ruler.on-beat .cell-tick.is-lit{width:8px;height:8px}.cell-ruler.is-swung:after{content:"";left:calc(50% + var(--swing-mark,0px));border-left:1px dashed var(--text-2);width:0;height:4px;position:absolute;bottom:2px;transform:translate(-.5px)}.cell-ruler.is-swung .cell-tick{background:var(--line-1)}.cell.is-swung{--swing-mark:calc(var(--swing,0) * 1%)}.cell-accent{height:var(--lane-art);min-width:0;transition:height var(--d-3) var(--e-out), background-color var(--d-2) var(--e-out), opacity var(--d-3) var(--e-out);justify-content:center;align-items:flex-end;gap:5px;display:flex;position:relative;overflow:hidden}.wedge{width:12px;height:10px;fill:var(--text-1);transition:fill var(--d-2) var(--e-out);flex:none;display:block;overflow:visible}.cell[data-stroke=up] .wedge{transform:rotate(180deg)}.cell-accent.clear .wedge{fill:var(--v-perfect)}.cell-accent.developing .wedge{fill:var(--warn)}.cell-accent.blended .wedge{fill:var(--text-3)}.chuck-slot{max-width:100%;height:11px;color:var(--text-2);font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;margin-inline-end:calc(var(--t-label-ls) * -1);display:inline-flex;overflow:hidden}.chuck-slot .led{flex:none;width:4px;height:4px}@container (width<=60px){.chuck-slot{letter-spacing:0;margin-inline-end:0}}@container (width<=42px){.chuck-slot{display:none}}.cell-accent,.cell-arrow,.editor-slot-arrow{--arrow-h:min(var(--arrow-cap,116px), calc(var(--lane-arrow,100%) - var(--arrow-slack,10px)), max(var(--arrow-min,44px), calc(100cqi * var(--ink-frac,.5) * 2.25)));--arrow-w:calc(var(--arrow-h) / 2.25)}.cell-arrow{height:var(--lane-arrow);transition:height var(--d-3) var(--e-out), background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out), opacity var(--d-3) var(--e-out);justify-content:center;align-items:center;display:flex;position:relative}.cell-arrow:after{content:"";z-index:3;pointer-events:none;position:absolute;inset:0}.cell-arrow .arrow{z-index:1;position:relative}.cell-arrow .hit-ring{z-index:4}.cell:is([data-active],[data-beam]){--verdict-ground:var(--lit-chassis)}.grid-wrap.has-lane-verdict:not(.has-stats) .cell:is([data-active],[data-beam]) .cell-verdict:before{background:var(--line-2)}.cell:is([data-active],[data-beam]):after{--pulse-y:calc(var(--lane-ruler) + var(--lane-art) + var(--lane-arrow) / 2);--pulse-w:42%;--pulse-h:calc(var(--lane-arrow) * .55);background-color:var(--lit-chassis);background-image:var(--strings), radial-gradient(ellipse var(--pulse-w) var(--pulse-h) at 50% var(--pulse-y), var(--lit-tint), transparent), radial-gradient(ellipse calc(var(--pulse-w) * 1.9) calc(var(--pulse-h) * 1.35) at 50% var(--pulse-y), var(--lit-tint), transparent);background-repeat:no-repeat,no-repeat,no-repeat;background-position:0 var(--string-top), 0 0, 0 0;background-size:100% var(--string-span), auto, auto}.cell:is([data-active],[data-beam]){--string-ink:var(--line-3)}.cell:is([data-active],[data-beam]) .cell-arrow:before{content:"";left:calc(50% + var(--glyph-x,0px));width:var(--arrow-w);z-index:2;border-radius:var(--r-1);background-color:var(--lit-hue);pointer-events:none;height:3px;position:absolute;bottom:4px;transform:translate(-50%)}.cell:is([data-active],[data-beam]) .cell-label{color:var(--text-1)}.cell:is([data-active],[data-beam]) .cell-tick{background:var(--text-2)}.cell:is([data-active],[data-beam]) .chuck-slot{color:var(--text-1)}.cell[data-stroke=down]{--lit-hue:var(--down);--lit-tint:var(--down-tint)}.cell[data-stroke=up]{--lit-hue:var(--up);--lit-tint:var(--up-tint)}.cell[data-stroke=rest][data-dir=down]{--lit-hue:var(--down-dim);--lit-tint:transparent}.cell[data-stroke=rest][data-dir=up]{--lit-hue:var(--up-dim);--lit-tint:transparent}.cell:is([data-active],[data-beam]) .arrow.ghost.down{--ink:var(--down-edge);--ink-edge:var(--down-edge)}.cell:is([data-active],[data-beam]) .arrow.ghost.up{--ink:var(--up-edge);--ink-edge:var(--up-edge)}.cell:is([data-active],[data-beam]) .cell-arrow:after{background:var(--key-soft);animation:cell-decay var(--d-3) var(--e-out) forwards}.cells:has(.cell[data-beam]) .cell[data-active]:not([data-beam]):after{background-color:#0000}.cells:has(.cell[data-beam]) .cell[data-active]:not([data-beam]) .cell-arrow:before{display:none}.cells:has(.cell[data-beam]) .cell[data-active]:not([data-beam]) .cell-arrow:after{background:0 0;animation:none}@keyframes cell-decay{0%{opacity:1}to{opacity:0}}.arrow{width:var(--arrow-w,32px);height:var(--arrow-h,72px);display:block;overflow:visible}.cell .arrow{transform-origin:50%;transform:translate(var(--glyph-x,0), var(--glyph-shift,0))}.cell[data-dir=down]{--glyph-shift:-1.5%}.cell[data-dir=up]{--glyph-shift:1.5%}.cell.is-swung :is(.cell-accent,.cell-arrow){--glyph-x:min(calc(var(--swing,0) * 1cqi), calc((100cqi - var(--arrow-w)) / 2 - 4px))}.cell.is-swung .wedge{transform:translateX(var(--glyph-x,0))}.cell.is-swung[data-stroke=up] .wedge{transform:translateX(var(--glyph-x,0)) rotate(180deg)}.arrow.down{--ink:var(--down);--ink-edge:var(--down-edge)}.arrow.up{--ink:var(--up);--ink-edge:var(--up-edge)}.arrow .head{fill:var(--ink);stroke:none;transition:fill var(--d-2) var(--e-out)}.arrow .head-edge{fill:none;stroke:var(--ink-edge);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.cell .arrow :is(.head-edge,.mute-cross-edge),.legend-glyph .arrow :is(.head-edge,.mute-cross-edge){vector-effect:non-scaling-stroke;stroke-width:1.5px}.arrow .shaft{fill:none;stroke:var(--ink);stroke-width:3.4px;stroke-linecap:butt;transition:stroke var(--d-2) var(--e-out)}.arrow.ghost.down{--ink:var(--down-dim);--ink-edge:var(--down-dim)}.arrow.ghost.up{--ink:var(--up-dim);--ink-edge:var(--up-dim)}.arrow.ghost .head{fill:none;stroke:none}.cell .arrow.ghost .head-edge,.legend-glyph .arrow.ghost .head-edge{stroke:var(--ink);stroke-width:2px}.arrow .mute-cross{fill:var(--ink);stroke:none;transition:fill var(--d-2) var(--e-out)}.arrow .mute-cross-edge{fill:none;stroke:var(--ink-edge);stroke-width:1.5px;stroke-linejoin:round}.cell[data-art=ghost] .arrow.ghost .head{fill:var(--ink)}.cell[data-art=ghost] .arrow .head-edge{stroke-dasharray:3 3.5}.hit-ring{--ring:clamp(9px, calc(var(--arrow-w) * .42), 22px);left:calc(50% + var(--glyph-x,0px));top:calc(50% + var(--arrow-h) * .36);width:var(--ring);height:var(--ring);margin:calc(var(--ring) / -2) 0 0 calc(var(--ring) / -2);border:1.5px solid var(--text-2);opacity:0;pointer-events:none;border-radius:50%;position:absolute}.hit-ring:after{content:"";background:var(--text-1);border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.cell[data-dir=up] .hit-ring{top:calc(50% - var(--arrow-h) * .36)}.cell[data-hit] .hit-ring{animation:hit-ring var(--d-3) var(--e-out)}.cell[data-hit] .arrow :is(.head,.mute-cross){animation:glyph-hit var(--d-3) var(--e-out)}.cell[data-hit] .arrow .shaft{animation:shaft-hit var(--d-3) var(--e-out)}@keyframes hit-ring{0%{opacity:1;transform:scale(.5)}60%{opacity:.5}to{opacity:0;transform:scale(1.5)}}@keyframes shaft-hit{0%{stroke:var(--text-1)}to{stroke:var(--ink)}}@keyframes glyph-hit{0%{fill:var(--text-1)}to{fill:var(--ink)}}.cell-verdict{--datum-x:calc(50% + var(--vswing,0) * 1%);--led-x:clamp(min(50%, 15px), calc(var(--datum-x) + var(--vbias,0) * 1%), max(50%, calc(100% - 15px)));height:var(--lane-verdict);transition:height var(--d-3) var(--e-out), opacity var(--d-3) var(--e-out);position:relative}.grid-wrap.has-lane-verdict .cell-verdict:before{content:"";left:var(--datum-x);background:var(--line-1);width:1px;margin-left:-.5px;position:absolute;top:6px;bottom:10px}.grid-wrap.has-stats .cell-verdict:before{background:var(--line-2);top:0;bottom:0}.v-tether{--v-travel:calc(var(--vabs,0) * 1cqi);--v-weight:clamp(0px, calc(var(--v-travel) - 3px), 3px);top:calc(12.5px - var(--v-weight) / 2);height:var(--v-weight);border-radius:var(--r-1);left:min(var(--datum-x), var(--led-x));right:calc(100% - max(var(--datum-x), var(--led-x)));background:var(--text-3);pointer-events:none;transition:left var(--d-3) var(--e-out), right var(--d-3) var(--e-out);position:absolute}.cell-verdict .vdot{top:7px;left:var(--led-x);z-index:2;outline:2px solid var(--verdict-ground);transition:left var(--d-3) var(--e-out), background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out);animation:vdot-pop var(--d-2) var(--e-snap);position:absolute;transform:translate(-50%)}.cell-verdict .vdot:is(.miss,.extra){background-color:var(--verdict-ground)}.cell-verdict .vdot.extra:before,.cell-verdict .vdot.extra:after{content:"";border-radius:var(--r-1);background:var(--v-rest-hit);width:1.4px;height:5.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.cell-verdict .vdot.extra:after{transform:translate(-50%,-50%)rotate(-45deg)}@keyframes vdot-pop{0%{opacity:.5;transform:translate(-50%)scale(.8)}to{opacity:1;transform:translate(-50%)scale(1)}}.hit-rate{border-radius:var(--r-1);background:var(--line-2);pointer-events:none;width:min(24px,62cqi);height:4px;display:block;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.hit-rate:before{content:"";background:var(--line-3);width:1px;position:absolute;top:-2px;bottom:-2px;left:0}.hit-fill{border-radius:var(--r-1);background:var(--text-2);height:100%;transition:width var(--d-3) var(--e-out);display:block}.playhead{z-index:4;opacity:0;width:2px;transition:opacity var(--d-2) var(--e-out);mix-blend-mode:plus-lighter;pointer-events:none;position:absolute;top:0;bottom:0;left:0;transform:translate(-1px)}.ph-nib{background:var(--key);clip-path:polygon(0 0,100% 0,50% 100%);height:7px;position:absolute;top:0;left:-2.5px;right:-2.5px}.ph-beam{background:var(--key);-webkit-mask-image:linear-gradient(to bottom, #000 0 7px, #00000038 10px calc(var(--lane-ruler) - 3px), #000 var(--lane-ruler));-webkit-mask-image:linear-gradient(to bottom, #000 0 7px, #00000038 10px calc(var(--lane-ruler) - 3px), #000 var(--lane-ruler));mask-image:linear-gradient(to bottom, #000 0 7px, #00000038 10px calc(var(--lane-ruler) - 3px), #000 var(--lane-ruler));position:absolute;inset:0}.ph-beam:before{content:"";background:linear-gradient(90deg, transparent, var(--key-halo) 42% 58%, transparent);opacity:.42;position:absolute;inset:0 -9px}.extra-flash{z-index:4;background:var(--danger);opacity:0;pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0}.extra-flash[data-flash]{animation:extra-flash var(--d-3) var(--e-out)}@keyframes extra-flash{0%{opacity:.95}to{opacity:0}}.grid-wrap.is-countin .cell-label,.grid-wrap.is-countin .cell-tick:not(.is-lit){opacity:.55}.grid-wrap.is-countin .cell:before{opacity:.35}.countin{top:var(--lane-ruler);bottom:var(--lane-verdict);z-index:5;pointer-events:none;position:absolute;left:0;right:0}.grid-wrap.is-countin :is(.cell-accent,.cell-verdict){opacity:.55}.grid-wrap.is-countin .cell-arrow{opacity:.5}.grid-wrap.is-countin .cell[data-stroke=rest] .cell-arrow{opacity:.28}.countin-num{top:0;bottom:0;left:var(--count-x,50%);width:var(--count-w,auto);padding-inline:var(--s-3);background-color:var(--surface-1);box-shadow:inset 1px 0 0 var(--line-1), inset -1px 0 0 var(--line-1);font:var(--t-display);letter-spacing:var(--t-display-ls);color:var(--text-1);justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.countin-digit{text-shadow:var(--glow-countin);animation:countin-digit var(--d-3) var(--e-out);display:block}@keyframes countin-digit{0%{opacity:.85;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.legend{align-items:center;gap:var(--s-2) var(--s-5);width:100%;min-height:22px;padding-inline:var(--s-1);font:var(--t-caption);letter-spacing:var(--t-caption-ls);color:var(--text-3);flex-wrap:wrap;display:flex}.legend-item.legend-scale{gap:var(--s-3)}:is(.legend,.help-mark) .vk-scale{white-space:nowrap;color:var(--text-3);align-items:center;gap:6px;font-style:normal;display:inline-flex}:is(.legend,.help-mark) .vk-datum{background:var(--line-2);flex:none;width:1px;height:12px}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-glyph{--arrow-w:16px;--arrow-h:34px;justify-content:center;align-items:center;width:18px;height:34px;line-height:0;display:inline-flex}.legend-glyph .arrow{shape-rendering:geometricprecision}.brush-glyph .arrow .mute-cross-edge{stroke-width:3px}.arrow.legend-muted{--ink:var(--down);--ink-edge:var(--down-edge)}.legend-glyph--acc{width:14px;height:34px}.legend-vswatch{justify-content:center;align-items:center;width:12px;height:14px;display:inline-flex}.legend-hitrate{border-radius:var(--r-1);background:var(--line-2);width:22px;height:4px;display:block;overflow:hidden}.legend-hitrate i{border-radius:var(--r-1);background:var(--text-3);height:100%;display:block}.legend-swing{fill:none;stroke-linecap:butt;width:26px;height:15px;display:block;overflow:visible}.legend-swing .sw-base{stroke:var(--line-2);stroke-width:1px}.legend-swing .sw-tick{stroke:var(--text-2);stroke-width:1px}.legend-swing .sw-tick--swung{stroke-dasharray:2.4 2}.legend-swing .sw-move{stroke:var(--text-3);stroke-width:1px;stroke-linejoin:round;stroke-linecap:round}@media (width<=1099px){.grid-outer{--cell-min:52px}.grid-wrap{--lane-arrow:128px;--arrow-cap:118px;--string-gap:14px}.grid-scroll{scroll-snap-type:x proximity}.cells>.cell:first-child,.cell.bar-start{scroll-snap-align:start}}@media (width<=760px){.grid-outer{--cell-min:48px}.grid-wrap{--lane-arrow:104px;--arrow-min:42px;--arrow-cap:92px;--string-gap:11px}.countin-num{font:var(--t-score);letter-spacing:var(--t-score-ls)}.legend{gap:var(--s-2) var(--s-4);min-height:22px}}@media (width<=600px){.grid-outer{--cell-min:44px}}@media (forced-colors:active){.vshape{forced-color-adjust:none;box-shadow:none;background:canvas;border-radius:50%;outline-color:canvas;position:relative}.vshape.perfect{background:canvastext}.vshape.good{background:canvas;box-shadow:inset 0 0 0 2px canvastext}.vshape.early,.vshape.late{background:canvastext;border-radius:0}.vshape.early{clip-path:polygon(100% 0,100% 100%,0 50%)}.vshape.late{clip-path:polygon(0 0,0 100%,100% 50%)}.vshape.miss{box-shadow:none;background:canvas}.vshape.extra{background:canvas;border-radius:0;box-shadow:inset 0 0 0 1.5px canvastext}.vshape:is(.miss,.extra):before,.vshape:is(.miss,.extra):after{content:"";background:canvastext;border-radius:0;width:2px;height:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.vshape:is(.miss,.extra):after{transform:translate(-50%,-50%)rotate(-45deg)}.vshape.extra:before,.vshape.extra:after{height:9px}.v-tether,.grid-wrap.has-lane-verdict .cell-verdict:before{forced-color-adjust:none;background:canvastext}.hit-rate{forced-color-adjust:none;background:canvas;box-shadow:inset 0 0 0 1px canvastext}.hit-rate:before{background:canvastext}.hit-fill{forced-color-adjust:none;background:canvastext}.legend-hitrate{forced-color-adjust:none;background:canvas;box-shadow:inset 0 0 0 1px canvastext}.legend-hitrate i{forced-color-adjust:none;background:canvastext}}@media (prefers-reduced-motion:reduce){.cell:is([data-active],[data-beam]) .cell-arrow:after{animation-duration:1ms}.cell-ruler.on-beat .cell-tick,.cell-accent,.cell-arrow,.cell-verdict,.cell-label,.cell-tick,.cell:before{transition-duration:1ms}.hit-rate,.hit-fill,.wedge,.arrow .head,.arrow .shaft,.arrow .mute-cross{transition:none}.extra-flash[data-flash]{animation:none}.cell[data-hit] .hit-ring{animation:.22s linear hit-ring-flat}.cell[data-hit] .arrow :is(.head,.mute-cross,.shaft){animation-duration:.22s;animation-timing-function:linear}.countin-digit{animation-duration:.22s}@keyframes hit-ring-flat{0%{opacity:1}to{opacity:0}}.cell-verdict .vdot{transition:background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out);animation:none}.v-tether{transition:none}}.live-timing{--ribbon-h:10rem;align-content:start;align-self:start;gap:var(--s-4);grid-template-rows:auto auto auto;display:grid;container-type:inline-size}.live-timing-head{align-items:baseline;gap:var(--s-2);min-height:0;display:flex}.live-timing-head:has(>button){min-height:var(--h-sm);align-items:center}.live-timing-head h2{color:var(--text-1);font:var(--t-h2);letter-spacing:var(--t-h2-ls);margin:0}.live-timing-head .tolerance-chip{text-transform:capitalize}.live-timing-head .live-timing-phase{color:var(--text-3);font:var(--t-caption);flex:none;margin-inline-start:auto}.live-timing-head .toggle{color:var(--text-3);margin-inline-start:auto}.live-timing-head .toggle:hover:not(:disabled){color:var(--text-1)}.timing-body{gap:var(--s-4);grid-template-columns:minmax(0,1fr) 200px;align-items:stretch;min-height:0;display:grid}.live-timing .ribbon{min-width:0;height:var(--ribbon-h);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-3);max-height:224px;position:relative;overflow:hidden}.live-timing .mic-canvas{background:0 0;border:0;border-radius:0;width:100%;height:100%;margin:0;display:block;position:absolute;inset:0}.timing-result{justify-content:center;align-items:center;row-gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-3);text-align:center;flex-direction:column;display:flex;position:relative;overflow:hidden}.timing-result .timing-text{display:contents}.timing-result b{order:1}.timing-result .timing-ms{order:2}.timing-result .timing-counts{order:3}.timing-result .needle{order:4}.timing-result b{min-height:1lh;color:var(--text-1);font:var(--t-h2);letter-spacing:var(--t-h2-ls);transition:color var(--d-2) var(--e-out)}.timing-result .timing-ms{justify-content:center;align-items:center;min-height:36px;display:flex}.timing-result .timing-counts{min-height:1lh;color:var(--text-3);font:var(--t-caption);white-space:nowrap}.timing-result .timing-ms.num{color:var(--text-1);font:var(--t-readout);letter-spacing:var(--t-readout-ls);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline}.timing-ms-value{text-align:center;flex:none}.timing-ms-sign,.timing-ms-unit{width:var(--s-5);flex:none;font-style:normal}.timing-ms-sign{text-align:end}.timing-ms-unit{color:var(--text-3);font:var(--t-mono-s);text-align:start;padding-inline-start:var(--s-1)}.timing-result .timing-mark{width:36px;height:36px;display:block}.timing-result .tm-x{fill:none;stroke:var(--danger);stroke-width:3px;stroke-linecap:round}.timing-result .tm-ring{fill:none;stroke:var(--danger);stroke-width:2px;opacity:.55}.timing-result .timing-mark.rest-hit .tm-x{stroke-width:2.5px}@media (prefers-reduced-motion:no-preference){.timing-result .timing-ms{animation:ms-settle var(--d-2) var(--e-out) 1}}@keyframes ms-settle{0%{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.timing-result.perfect b{color:var(--v-perfect)}.timing-result.early b{color:var(--v-early)}.timing-result.late b{color:var(--v-late)}.timing-result.good b{color:var(--v-good)}.timing-result.extra b,.timing-result.rest-hit b{color:var(--danger)}.timing-result.waiting b{color:var(--text-2)}.timing-result.is-take b{animation:none}.timing-result .timing-ms.is-blank{color:var(--text-3);font:var(--t-caption);letter-spacing:normal}@media (prefers-reduced-motion:no-preference){.timing-result.perfect b{animation:word-lit var(--d-3) var(--e-out) 1}}@keyframes word-lit{0%{text-shadow:0 0 14px var(--v-perfect-halo)}to{text-shadow:0 0 #0000}}.needle{width:100%;max-width:160px;height:20px;display:block;overflow:visible}.needle line{vector-effect:non-scaling-stroke}.needle-track{fill:var(--line-2)}.needle-band{fill:var(--v-perfect)}.needle-band.good{opacity:.14}.needle-band.perfect{opacity:.28}.needle-grad,.needle-end,.needle-zero{shape-rendering:crispedges}.needle-grad,.needle-end{stroke:var(--line-3);stroke-width:1px}.needle-zero{stroke:var(--text-1);stroke-width:1px}.needle-pin{stroke:var(--key);stroke-width:2px;stroke-linecap:round;transition:transform var(--d-1) var(--e-out)}.needle.waiting{opacity:.72}.needle.waiting .needle-band{fill:var(--text-3)}.needle.waiting .needle-pin,.needle.waiting .needle-zero{stroke:var(--text-3)}.timing-notes{justify-items:start;gap:var(--s-2);display:grid}.live-timing .mic-legend{color:var(--text-3);font:var(--t-caption);margin:0}.live-timing .legend-keys{align-items:center;gap:var(--s-1) var(--s-4);flex-wrap:wrap;display:flex}.live-timing .legend-key{align-items:center;gap:var(--s-2);white-space:nowrap;display:inline-flex}.live-timing .legend-chip{background:var(--surface-3);width:24px;height:14px;box-shadow:inset 0 0 0 1px var(--line-1);border-radius:2px;flex:none;position:relative;overflow:hidden}.live-timing .legend-chip:before{content:"";height:var(--zone,50%);background:var(--v-perfect);inset-inline:1px;opacity:.18;position:absolute;top:50%;transform:translateY(-50%)}.live-timing .legend-sep{color:var(--text-3);flex:none}.timing-note{color:var(--text-3);font:var(--t-caption);margin:0}.live-timing-empty{column-gap:var(--s-5);grid-template-columns:minmax(24ch,34ch) minmax(260px,1fr);align-items:stretch;min-height:96px;display:grid;position:relative;overflow:hidden}.timing-plot{--gr-gutter:3.25rem;--gr-strip:1.125rem;--gr-gap:.375rem;--gr-band:min(100%, 224px);--gr-inset:calc((100% - var(--gr-band)) / 2);--plot-ground:var(--surface-2);--plot-lamp:6px;position:relative;container:plot/inline-size}.ghost-ribbon{grid-column:2;align-self:stretch;min-height:9rem}.timing-plot line{vector-effect:non-scaling-stroke}.timing-plot .gr-plot{top:calc(var(--gr-inset) + var(--gr-strip) + var(--gr-gap));width:calc(100% - var(--gr-gutter));height:calc(var(--gr-band) - 2 * (var(--gr-strip) + var(--gr-gap)));position:absolute;inset-inline-start:var(--gr-gutter)}.timing-plot .gr-band{fill:var(--v-perfect)}.timing-plot .gr-band.good{opacity:.05}.timing-plot .gr-band.perfect{opacity:.1}.timing-plot .gr-edge{stroke:var(--v-perfect);stroke-width:1px;opacity:.16}.timing-plot .gr-rail{stroke:var(--line-3);stroke-width:1px;opacity:.82}.timing-plot .gr-base{stroke:var(--line-3);stroke-width:1px}.timing-plot .gr-grid{stroke:var(--line-1);stroke-width:1px}.timing-plot .gr-grid.bar{stroke:var(--line-3)}.timing-plot .gr-grid.ahead{opacity:.5}.timing-plot .gr-tick{stroke-width:2px;stroke-linecap:round;opacity:.62}.timing-plot .gr-tick.down{stroke:var(--down)}.timing-plot .gr-tick.up{stroke:var(--up)}.timing-plot .gr-tick.rest{stroke:var(--line-3);stroke-width:1px}.timing-plot .gr-tick.ahead{opacity:.4}.timing-plot .gr-now{stroke:var(--key);stroke-width:2px;opacity:.3}.timing-plot .gr-mark{z-index:1;width:2px;box-shadow:0 0 0 1px var(--plot-ground);background:currentColor;margin-inline-start:-1px;position:absolute}.timing-plot .gr-mark.tone-perfect{color:var(--v-perfect)}.timing-plot .gr-mark.tone-good{color:var(--v-good)}.timing-plot .gr-mark.tone-early{color:var(--v-early)}.timing-plot .gr-mark.tone-late{color:var(--v-late)}.timing-plot .gr-mark:after{content:"";width:var(--plot-lamp);height:var(--plot-lamp);box-shadow:0 0 0 1px var(--plot-ground);background:currentColor;border-radius:50%;position:absolute;inset-inline-start:calc((2px - var(--plot-lamp)) / 2)}.timing-plot .gr-mark.is-early:after{top:calc(var(--plot-lamp) / -2)}.timing-plot .gr-mark.is-late:after{bottom:calc(var(--plot-lamp) / -2)}.timing-plot .gr-mark.is-worked{background:repeating-linear-gradient(currentColor 0 3px,#0000 3px 6px)}.timing-plot .gr-eg-tag{z-index:1;color:var(--text-2);font:var(--t-mono-s);overflow-wrap:break-word;position:absolute;transform:translateY(-50%)}.timing-plot .gr-eg-tag.is-flipped{text-align:end}.timing-plot .gr-stamp{top:calc(var(--gr-strip) + var(--gr-gap) + 3px);height:auto;min-height:20px;max-width:calc(100% - var(--gr-gutter) - 12px);padding-block:1px;position:absolute;inset-inline-start:calc(var(--gr-gutter) + 6px)}@container plot (width<=21em){.timing-plot .gr-stamp .stamp-word{display:none}}@container plot (width<=17.5em){.timing-plot .gr-beat:not(.is-bar){display:none}}.take-plot .gr-stamp{top:var(--gr-inset)}.timing-plot .gr-beats{top:var(--gr-inset);inset-inline:var(--gr-gutter) 0;height:var(--gr-strip);position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 14px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 14px),#0000 100%)}.timing-plot .gr-beat{height:var(--gr-strip);line-height:var(--gr-strip);color:var(--text-3);font:var(--t-label);letter-spacing:var(--t-label-ls);position:absolute;top:0;transform:translate(-50%)}.timing-plot .gr-beat.is-bar{color:var(--text-2)}.timing-plot .gr-axis{inset-block:var(--gr-inset);width:var(--gr-gutter);grid-template-rows:var(--gr-strip) 1fr var(--gr-strip);border-inline-end:1px solid var(--line-1);display:grid;position:absolute;inset-inline-start:0}.timing-plot .gr-lane{color:var(--text-3);font:var(--t-label);letter-spacing:var(--t-label-ls);text-align:end;align-self:center;padding-inline-end:calc(9px - var(--t-label-ls))}.timing-plot .gr-lane.is-early{grid-row:1}.timing-plot .gr-lane.is-late{grid-row:3}.timing-plot .gr-scale{margin-block:var(--gr-gap);grid-row:2;position:relative}.timing-plot .gr-value{color:var(--text-3);font:var(--t-mono-s);white-space:nowrap;position:absolute;inset-inline-end:9px;transform:translateY(-50%)}.timing-plot .gr-value:after{content:"";inset-inline-end:-9px;background:var(--line-2);width:4px;height:1px;position:absolute;top:50%}.timing-plot .gr-nib{background:var(--v-perfect);width:3px;height:1px;position:absolute;inset-inline-end:0}.timing-plot .gr-nib.perfect{opacity:.55}.timing-plot .gr-nib.good{opacity:.32}.take-plot{--plot-ground:var(--surface-3);--plot-lamp:10px;position:absolute;inset:0}.timing-plot .gr-fault{z-index:1;width:11px;height:11px;box-shadow:0 0 0 1px var(--plot-ground);border:1.5px solid;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.timing-plot .gr-fault.is-miss{color:var(--v-miss)}.timing-plot .gr-fault.is-rest-hit{color:var(--v-rest-hit)}@media (forced-colors:active){.timing-plot .gr-mark,.timing-plot .gr-mark:after,.timing-plot .gr-fault{forced-color-adjust:none;box-shadow:0 0 0 1px canvas}.timing-plot .gr-mark,.timing-plot .gr-mark:after,.timing-plot .gr-mark.is-worked{background:canvastext}.timing-plot .gr-fault{border-color:canvastext}}.timing-plot .gr-counts{bottom:var(--gr-inset);inset-inline:var(--gr-gutter) 0;height:var(--gr-strip);position:absolute}.timing-plot .gr-count{height:var(--gr-strip);line-height:var(--gr-strip);color:var(--text-3);font:var(--t-label);letter-spacing:var(--t-label-ls);position:absolute;top:0;transform:translate(-50%)}.timing-plot .gr-count.is-bar{color:var(--text-2)}.live-timing .empty-copy{z-index:1;align-content:center;align-self:center;justify-items:start;gap:var(--s-2);text-align:start;padding-inline-start:var(--s-2);display:grid;position:relative}.live-timing-empty .empty-copy{grid-column:1;padding-inline-start:0}.live-timing .empty-copy h3{color:var(--text-1);font:var(--t-h3);margin:0}.live-timing .empty-copy>span{color:var(--text-2);font:var(--t-caption)}.live-timing:has(.is-empty-take){align-content:center;align-items:baseline;column-gap:var(--s-3);row-gap:var(--s-1);grid-template-rows:auto auto;grid-template-columns:16px auto minmax(0,1fr) auto;min-height:52px;padding-block:0}.live-timing:has(.is-empty-take)>.live-timing-head{grid-area:1/2;min-height:0}.live-timing .empty-copy.is-empty-take{display:contents}.live-timing .is-empty-take>.live-timing-lamp{grid-area:1/1/3;justify-content:center;align-self:center;align-items:center;width:16px;height:16px;display:inline-flex}.live-timing .is-empty-take>h3{grid-area:1/3}.live-timing .is-empty-take>span:not(.live-timing-lamp){grid-area:2/3}.live-timing .is-empty-take>.nudge-cta{grid-area:1/4/3;place-self:center end;margin-top:0}@container (width<=500px){.live-timing:has(.is-empty-take)>.live-timing-head{grid-column:1/-1;align-self:start;min-height:50px}.live-timing .is-empty-take>.live-timing-lamp{display:none}.live-timing .empty-copy.is-empty-take{align-self:start;justify-items:start;gap:var(--s-2);padding-inline-start:0;padding-block:var(--s-2) var(--s-4);grid-area:2/1/auto/-1;display:grid}.live-timing .is-empty-take>h3,.live-timing .is-empty-take>span:not(.live-timing-lamp),.live-timing .is-empty-take>.nudge-cta{grid-area:auto;justify-self:start}.live-timing .is-empty-take>.nudge-cta{margin-top:var(--s-1);align-self:start}}.live-timing .nudge-cta{align-items:center;gap:var(--s-2);height:var(--h-md);margin-top:var(--s-1);padding:0 var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-2);color:var(--text-2);font:var(--t-button);letter-spacing:var(--t-button-ls);box-shadow:none;background:0 0;display:inline-flex}.live-timing .nudge-cta:hover:not(:disabled){background:var(--key-soft);border-color:var(--line-3);color:var(--text-1)}.live-timing .nudge-cta:active:not(:disabled){transform:translateY(1px)}.live-timing .nudge-cta:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--surface-3)}.meter{--seg-mask:repeating-linear-gradient(90deg, black 0 calc(100% / 24 - 1.5px), transparent calc(100% / 24 - 1.5px) calc(100% / 24));--d-meter:70ms;--clip-x:87.5%;width:var(--meter-w,160px);border-radius:2px;flex:none;height:12px;position:relative}@media (prefers-reduced-motion:reduce){.meter{--d-meter:1ms}}.meter:before{content:"";background:var(--line-2);-webkit-mask-image:var(--seg-mask);-webkit-mask-image:var(--seg-mask);mask-image:var(--seg-mask);position:absolute;inset:0}.meter-fill{background-image:linear-gradient(90deg, var(--v-perfect) 0 66.667%, var(--warn) 66.667% 87.5%, var(--danger) 87.5% 100%);-webkit-mask-image:var(--seg-mask);-webkit-mask-image:var(--seg-mask);mask-image:var(--seg-mask);clip-path:inset(0 calc(100% - var(--lit,0%)) 0 0);transition:clip-path var(--d-meter) linear;position:absolute;inset:0}.meter-peak{z-index:2;background:var(--text-1);width:2px;transition:left var(--d-meter) linear;border-radius:1px;position:absolute;inset-block:-1px}.meter.is-hot:after{content:"";z-index:1;background:var(--danger);-webkit-mask-image:var(--seg-mask);-webkit-mask-image:var(--seg-mask);mask-image:var(--seg-mask);clip-path:inset(0 0 0 var(--clip-x));position:absolute;inset:0}.meter.is-hot.is-detached{--clip-x:calc(87.5% + 4px)}.meter.is-hot.is-detached:after{z-index:3;clip-path:none;border-radius:2px;inset-inline-start:var(--clip-x);-webkit-mask-image:none;mask-image:none}.meter-clip{z-index:0;inset:0 0 0 var(--clip-x);box-shadow:0 0 6px var(--danger-halo);clip-path:inset(-6px -6px -6px 0);pointer-events:none;border-radius:1px;position:absolute}.audio-device-panel .device-inst>.lat-scale{width:var(--dev-ctl);height:var(--range-slot);grid-row:1;min-width:0;overflow:visible}.lat-scale line{vector-effect:non-scaling-stroke}.lat-track{fill:var(--line-2)}.lat-band{fill:var(--warn);opacity:.11}.lat-end,.lat-grad{stroke:var(--line-3);stroke-width:1px;shape-rendering:crispedges}.lat-pin{stroke:var(--text-1);stroke-width:2px;stroke-linecap:round;transition:transform var(--d-2) var(--e-out)}.device-latency-row.is-late .lat-pin{stroke:var(--warn)}.lat-scale.waiting{opacity:.72}.lat-scale.waiting .lat-band{fill:var(--text-3)}@media (forced-colors:active){.lat-track{forced-color-adjust:none;fill:canvas;stroke:canvastext;stroke-width:1px;vector-effect:non-scaling-stroke}.lat-band{fill:none}.lat-end,.lat-grad,.lat-pin,.device-latency-row.is-late .lat-pin{forced-color-adjust:none;stroke:canvastext}}@container (width<=860px){.timing-body{grid-template-columns:minmax(0,1fr) 180px}.timing-result{padding:var(--s-3) var(--s-2)}}@container (width<=500px){.timing-body{--ribbon-h:12.5rem;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.timing-result{width:100%;max-width:none;padding:var(--s-3) var(--s-4);align-content:center;align-items:center;column-gap:var(--s-4);row-gap:var(--s-1);text-align:start;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text value""needle needle";margin-inline:0;display:grid}.timing-result .timing-text{row-gap:var(--s-1);grid-area:text;min-width:0;display:grid}.timing-result .timing-counts:empty{min-height:0}.timing-result .timing-ms{grid-area:value;justify-self:end}.timing-result .needle{width:160px;max-width:100%;margin-top:var(--s-2);grid-area:needle;justify-self:end}}@media (width>=1100px){.feedback-row:has(>.score-panel)>.live-timing{--ribbon-h:14rem}.feedback-row:has(>.score-panel)>.live-timing:has(>.timing-body){grid-template-rows:auto minmax(var(--ribbon-h), 1fr) auto;align-content:stretch;align-self:stretch}.feedback-row:has(>.score-panel)>.live-timing .timing-body{--ribbon-h:14rem;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var(--ribbon-h), 1fr) auto}.feedback-row:has(>.score-panel)>.live-timing .ribbon{height:auto;min-height:var(--ribbon-h);max-height:none}.feedback-row:has(>.score-panel)>.live-timing .timing-result{width:100%;max-width:none;padding:var(--s-3) var(--s-4);align-content:center;align-items:center;column-gap:var(--s-4);row-gap:var(--s-1);text-align:start;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text value""needle needle";margin-inline:0;display:grid}.feedback-row:has(>.score-panel)>.live-timing .timing-text{row-gap:var(--s-1);grid-area:text;min-width:0;display:grid}.feedback-row:has(>.score-panel)>.live-timing .timing-counts:empty{min-height:0}.feedback-row:has(>.score-panel)>.live-timing .timing-result .timing-ms{grid-area:value;justify-self:end}.feedback-row:has(>.score-panel)>.live-timing .timing-result .needle{width:160px;max-width:100%;margin-top:var(--s-2);grid-area:needle;justify-self:end}}@container (width<=300px){.live-timing .legend-sep{display:none}}@container (width<=44.25em){.live-timing-empty{gap:var(--s-4);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-items:start;min-height:0}.live-timing-empty .ghost-ribbon{grid-area:2/1;height:9.25rem;min-height:0}.live-timing-empty .empty-copy{grid-area:1/1;padding-inline-start:0}}@media (width<=760px){.live-timing-head .toggle{height:var(--h-md);padding:0 var(--s-3)}}@media (width<=600px){.live-timing-head h2{margin-inline-end:auto}.live-timing-head .tolerance-chip{display:none}.live-timing-head .toggle{width:var(--h-md);justify-content:center;padding:0}.live-timing-head .toggle-text{display:none}}.controls{--ruler-lift:calc(var(--range-slot) / 2 - var(--range-thumb) / 2 - 2px);--tick-lane:9px;--fig-lane:var(--range-fig);--lane-rule:1px;--lane-air:1px;--mark-lane:12px;--ruler-h:calc(var(--tick-lane) + var(--fig-lane) + var(--lane-rule) + var(--lane-air) + var(--mark-lane));--ruler-drop:calc(var(--ruler-h) - var(--ruler-lift));--plate-overhang:max(0px, calc(var(--ruler-drop) - (var(--h-lg) - var(--range-slot)) / 2));gap:max(var(--s-3), var(--plate-overhang));padding:var(--s-4) 20px max(var(--s-4), var(--plate-overhang));border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:inset 0 1px 0 var(--line-glow);background:0 0;display:grid;container:dock/inline-size}.controls .dock-main{align-items:center;gap:var(--s-4) var(--s-5);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"key tempo mode";display:grid}.controls .play-btn{grid-area:key}.controls .bpm{grid-area:tempo}.controls .mode-switch{grid-area:mode}.controls .play-btn{--bloom-blur:12px;--bloom-inset:3px;gap:var(--s-3);min-width:192px;font:var(--t-button);letter-spacing:var(--t-button-ls);position:relative}.controls .play-btn .play-btn-text{white-space:nowrap}.controls .play-btn .key-glyph{flex:none;width:20px;height:20px}.controls .play-btn.btn--key{background:var(--key)}.controls .play-btn.btn--key:not(:focus-visible){box-shadow:none}.controls .play-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--surface-0)}.controls .play-btn.playing:focus-visible{box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 4px var(--surface-0), var(--glow-playing)}.controls .play-btn.btn--ghost:focus-visible{box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 4px var(--surface-0)}.controls .play-btn.btn--key:before{content:"";inset:var(--bloom-inset);z-index:-1;border-radius:inherit;background:var(--key);opacity:.44;filter:blur(var(--bloom-blur));transition:opacity var(--d-2) var(--e-out), transform var(--d-2) var(--e-out);position:absolute}.controls .play-btn.btn--key:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 var(--key-hover), inset 0 -3px 0 var(--surface-0);transition:opacity var(--d-1) var(--e-out), box-shadow var(--d-1) var(--e-out);opacity:.12;position:absolute;inset:-1px}.controls .play-btn.btn--key:hover:not(:disabled){background:var(--key-hover)}.controls .play-btn.btn--key:hover:not(:disabled):before{opacity:.74;transform:scale(1.06)}.controls .play-btn.btn--key:active:not(:disabled){background:var(--key-pressed)}.controls .play-btn.btn--key:active:not(:disabled):before{opacity:0;transform:scale(.98)}.controls .play-btn.btn--key:active:not(:disabled):after{box-shadow:inset 0 3px 0 var(--surface-0), inset 0 -1px 0 var(--key-hover)}.controls .play-btn:disabled:before{opacity:0}.controls .play-btn.btn--key:disabled{opacity:1;border-color:var(--line-1);color:var(--text-3);cursor:not-allowed;box-shadow:inset 0 1px 0 var(--line-glow);background:0 0}.controls .play-btn.btn--key:disabled:after{display:none}.controls .play-btn:disabled .key-glyph{color:var(--text-4)}.controls .play-btn.btn--ghost{border-color:var(--text-3);color:var(--text-1);box-shadow:inset 0 1px 0 var(--line-glow)}.controls .play-btn.btn--ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-2)}.controls .play-btn.playing{background:var(--danger-tint);border-color:var(--danger);color:var(--text-1);box-shadow:inset 0 1px 0 var(--line-glow), var(--glow-playing)}.controls .play-btn.playing .key-glyph{color:var(--danger)}.controls .play-btn.playing:hover:not(:disabled):not(:focus-visible){background:var(--danger-tint);border-color:var(--danger);box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 1px var(--danger), var(--glow-playing)}.controls .play-btn.playing:active:not(:disabled):not(:focus-visible){box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 1px var(--danger)}.controls .bpm{align-items:center;gap:var(--s-4);min-width:0;display:flex}.controls .bpm-readout{--unit-gap:6px;align-items:baseline;gap:var(--unit-gap);flex:none;display:flex;position:relative}.controls .bpm-value{min-width:calc(var(--bpm-digits,3) * 1ch);font:var(--t-bpm);letter-spacing:var(--t-bpm-ls);font-variant-numeric:tabular-nums;color:var(--text-1)}.controls .bpm-unit{font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;color:var(--text-3)}.controls .bpm-value.is-unlocked{animation:bpm-swap .16s var(--e-out)}@keyframes bpm-swap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.controls .bpm-tag{border-radius:var(--r-1);background:var(--ok-tint);color:var(--ok);font:var(--t-mono-s);animation:bpm-tag 1.2s var(--e-out) forwards;padding:0 4px;position:absolute;bottom:calc(100% - 2px);left:0}@keyframes bpm-tag{0%{opacity:0;transform:translateY(4px)}12%{opacity:1;transform:none}78%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}.controls .bpm-steppers{flex:none;align-items:center;display:inline-flex}.controls .bpm-step{width:var(--h-sm);color:var(--text-2)}.controls .bpm-steppers .bpm-step:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.controls .bpm-steppers .bpm-step:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.controls .bpm-step:hover:not(:disabled){z-index:1;color:var(--text-1)}.controls .bpm-step:focus-visible,.controls .tap-btn:focus-visible{z-index:2;box-shadow:0 0 0 4px var(--surface-0)}.controls .bpm-fader{--p:0;--limit:1;--limit-paint:linear-gradient(var(--danger-tint), var(--danger-tint)) 100% 0 / calc((1 - var(--limit)) * 100%) 100% no-repeat;--thumb:var(--range-thumb);--rail-h:var(--range-rail);--rail-y:calc((100% - var(--rail-h)) / 2);min-width:200px;height:var(--range-slot);flex:240px;position:relative}.controls .bpm-fader:before{content:"";top:var(--rail-y);inset-inline:calc(var(--thumb) / 2);height:var(--rail-h);border-radius:calc(var(--rail-h) / 2);background:var(--limit-paint), var(--limit-paint), linear-gradient(var(--text-2), var(--text-2)) 0 0 / calc(var(--p) * 100%) 100% no-repeat, var(--line-2);pointer-events:none;position:absolute}.controls .bpm-scale-end,.controls .bpm-scale-major{top:calc(100% - var(--ruler-lift) + var(--tick-lane));height:var(--fig-lane);white-space:nowrap;font:var(--t-label);letter-spacing:var(--t-label-ls);line-height:var(--fig-lane);font-variant-numeric:tabular-nums;color:var(--text-3);pointer-events:none;position:absolute}.controls .bpm-scale-end{color:var(--text-2)}.controls .bpm-scale-end,.controls .bpm-scale-major{left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--p));transform:translate(-50%)}.controls .bpm-scale-end--lo{--p:0}.controls .bpm-scale-end--hi{--p:1}.controls .bpm-range{z-index:1;border-radius:var(--r-2);display:block;position:relative}.controls .bpm-range::-webkit-slider-runnable-track{background:0 0}.controls .bpm-range::-moz-range-track{background:0 0}.controls .bpm-range::-moz-range-progress{background:0 0}.controls .bpm-ruler{top:calc(100% - var(--ruler-lift));height:var(--ruler-h);pointer-events:none;position:absolute;left:0;right:0}.controls .bpm-ruler:before{content:"";top:calc(var(--tick-lane) + var(--fig-lane));inset-inline:calc(var(--thumb) / 2);height:var(--lane-rule);background:var(--line-1);position:absolute}.controls .bpm-tick,.controls .bpm-mark{left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--p));position:absolute;transform:translate(-50%)}.controls .bpm-tick{background:var(--text-3);width:2px;height:4px;top:0}.controls .bpm-tick--major{background:var(--text-2);height:7px}.controls .bpm-tick--end{width:3px;height:var(--tick-lane);background:var(--text-1)}.controls .bpm-mark{top:calc(var(--tick-lane) + var(--fig-lane) + var(--lane-rule) + var(--lane-air));width:12px;height:var(--mark-lane);pointer-events:auto;line-height:0}.controls .bpm-mark svg{display:block;overflow:visible}.controls .bpm-mark .mark-head,.controls .bpm-mark .mark-halo{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.controls .bpm-mark .mark-halo{fill:var(--surface-1);stroke:var(--surface-1);stroke-width:3px}.controls .bpm-mark--default{color:var(--text-2)}.controls .bpm-mark--ladder{color:var(--ok);transition:left var(--d-3) var(--e-out)}.controls .bpm-mark--limit{color:var(--danger)}.controls .bpm-fader:has(.bpm-range:disabled):before{background:var(--limit-paint), var(--limit-paint), linear-gradient(var(--line-3), var(--line-3)) 0 0 / calc(var(--p) * 100%) 100% no-repeat, var(--line-2)}.controls .bpm-bubble{z-index:1;bottom:calc(100% + var(--s-1));left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--p));padding:0 var(--s-1);border:1px solid var(--line-2);border-radius:var(--r-1);background:var(--surface-3);color:var(--text-1);font:var(--t-mono-s);font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;transition:opacity var(--d-2) var(--e-out), transform var(--d-2) var(--e-out);position:absolute;transform:translate(-50%,3px)}:is(.controls .bpm-fader:has(.bpm-range:focus-visible) .bpm-bubble,.controls .bpm-fader:has(.bpm-range:active) .bpm-bubble){opacity:1;transform:translate(-50%)}.controls .bpm-range:focus-visible,.sound-settings .mix-slider:focus-visible,.audio-device-panel .device-row .range:focus-visible{box-shadow:none;outline:none}.controls .bpm-range:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.sound-settings .mix-slider:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.audio-device-panel .device-row .range:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.controls .bpm-range:focus-visible::-moz-range-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.sound-settings .mix-slider:focus-visible::-moz-range-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.audio-device-panel .device-row .range:focus-visible::-moz-range-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.controls .tap-btn{gap:var(--s-2);padding:0 var(--s-3);font:var(--t-button);letter-spacing:var(--t-button-ls);color:var(--text-2);flex:none}.controls .tap-btn:hover:not(:disabled){color:var(--text-1)}.controls .tap-led{background:var(--line-2)}.controls .tap-led.is-tapped{animation:tap-blink var(--d-3) var(--e-out)}@keyframes tap-blink{0%{background:var(--key);box-shadow:0 0 6px var(--key-halo)}to{background:var(--line-2);box-shadow:none}}.controls .mode-switch{--seg-pad:3px;--seg-bar-inset:var(--s-5);--seg-bar-max:56px;--seg-w:calc((100% - var(--seg-pad) * 2) / var(--seg-count));background:var(--surface-0);box-shadow:inset 0 1px 0 var(--line-glow)}.controls .mode-switch:after{width:min(calc(var(--seg-w) - var(--seg-bar-inset) * 2), var(--seg-bar-max));left:calc(var(--seg-pad) + var(--seg-w) * var(--seg-index,0) + max(var(--seg-bar-inset), (var(--seg-w) - var(--seg-bar-max)) / 2));bottom:calc(var(--seg-pad) + 4px)}.controls .mode-switch>button{transition:color var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out)}.controls .mode-switch>button:not(.on){color:var(--text-2)}.controls .mode-switch>button:not(.on):hover:not(:disabled){background:var(--surface-2)}.controls .mode-switch>button.on{box-shadow:inset 0 1px 0 var(--line-glow)}.controls:has(.play-btn.btn--ghost) .mode-switch>button.on{background:var(--surface-3)}.controls:has(.play-btn.btn--ghost) .mode-badge{box-shadow:none}.controls .mode-switch>button:focus-visible{box-shadow:0 0 0 4px var(--surface-0)}.controls .mode-switch>button.on:focus-visible{box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 4px var(--surface-0)}.controls .mode-badge{--pip-lift:1px;margin-left:var(--s-2);vertical-align:var(--pip-lift)}.controls .practice-options{align-items:center;gap:var(--s-2) var(--s-5);padding-top:var(--s-2);border-top:1px solid var(--line-1);flex-wrap:wrap;display:flex}.controls .practice-options:empty{display:none}.controls .opt{align-items:center;gap:var(--s-2);min-width:0;display:flex}.controls .opt-label{font:var(--t-caption);color:var(--text-3);white-space:nowrap}.controls .opt select{min-width:132px}.controls .dock-note{align-items:center;gap:var(--s-2);font:var(--t-caption);color:var(--text-3);flex-basis:100%;margin:0;display:flex}.controls .dock-note .icon{color:var(--warn);flex:none}.controls .dock-note--warn{color:var(--warn)}.sound-settings .sound-body{gap:var(--s-4);padding-bottom:var(--s-2);display:grid;container:desk/inline-size}.sound-settings .mix-desk{--key-col:140px;column-gap:var(--s-3);row-gap:var(--s-3);grid-template-rows:repeat(3,auto);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sound-settings .strip{grid-row:1/-1;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;align-items:center;column-gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-1);box-shadow:inset 0 1px 0 var(--line-glow);transition:border-color var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out), opacity var(--d-2) var(--e-out);display:grid}.sound-settings .strip.is-on{border-color:var(--line-2);background:var(--surface-2)}.sound-settings .strip-key{width:100%;min-width:0;height:var(--h-sm);padding:0 var(--s-3);border-radius:var(--r-2);grid-area:1/1;justify-content:flex-start;overflow:hidden}.sound-settings .strip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sound-settings .strip.is-on .strip-key{background:var(--key-soft);border-color:var(--line-2)}.sound-settings .strip .toggle-dot{background:var(--line-2);box-shadow:none}.sound-settings .strip.is-on .toggle-dot{background:var(--ok);box-shadow:none}.sound-settings .strip-inst-row{align-items:start;column-gap:var(--s-3);grid-area:3/1/auto/-1;grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.sound-settings .strip-value{padding-top:var(--s-1);text-align:right;white-space:nowrap;min-width:5ch;font:var(--t-mono-s);line-height:var(--range-slot);font-variant-numeric:tabular-nums;color:var(--text-1);transition:color var(--d-2) var(--e-out);justify-self:end}.sound-settings .strip-value.is-off{color:var(--text-3)}.sound-settings .strip-hint{align-self:start;align-items:flex-start;gap:var(--s-1);min-width:0;font:var(--t-caption);color:var(--text-3);grid-area:2/1/auto/-1;display:flex}.sound-settings .strip-hint .icon{flex:none;width:13px;height:13px;margin-top:1px}.sound-settings .strip.is-on .strip-key:hover:not(:disabled){background-color:var(--key-soft);background-image:linear-gradient(var(--key-soft), var(--key-soft))}.sound-settings .strip.is-locked{border-color:var(--line-1)}.sound-settings .strip.is-locked .strip-key,.sound-settings .strip.is-locked .mix-slider{opacity:1}.sound-settings .strip.is-locked .strip-key{border-color:var(--line-1);color:var(--text-3);cursor:not-allowed;background:0 0;border-style:dashed}.sound-settings .strip.is-locked .toggle-dot{background:var(--line-1)}.sound-settings .strip.is-locked .mix-slider{cursor:not-allowed}.sound-settings .strip.is-locked .mix-slider::-webkit-slider-runnable-track{background:var(--line-2)}.sound-settings .strip.is-locked .mix-slider::-moz-range-progress{background:0 0}.sound-settings .strip-inst{grid-template-rows:var(--range-slot);min-width:0;padding:var(--s-1);border-radius:var(--r-2);background:var(--surface-0);box-shadow:inset 0 0 0 1px var(--line-1);transition:box-shadow var(--d-2) var(--e-out);align-items:center;display:grid}:is(.sound-settings .strip-inst:has(.mix-slider:hover:not(:disabled)),.sound-settings .strip-inst:has(.mix-slider:focus-visible)){box-shadow:inset 0 0 0 1px var(--line-2)}.sound-settings .mix-slider{border-radius:var(--r-2);--fill:calc(var(--range-thumb) / 2 + (100% - var(--range-thumb)) * var(--p));grid-row:1;width:100%;min-width:96px}.sound-settings .strip:not(.is-on) .strip-key{color:var(--text-3)}.sound-settings .strip:not(.is-on) .strip-key:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-3);color:var(--text-1)}.sound-settings .strip:not(.is-on) .mix-slider::-webkit-slider-runnable-track{background:linear-gradient(var(--line-3), var(--line-3)) 0 0 / var(--fill) 100% no-repeat, var(--line-2)}.sound-settings .strip:not(.is-on) .mix-slider::-moz-range-progress{background:var(--line-3)}.sound-settings .strip:not(.is-on) .mix-slider::-webkit-slider-thumb{background:var(--line-3);box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 1px var(--surface-0)}.sound-settings .strip:not(.is-on) .mix-slider::-moz-range-thumb{background:var(--line-3);box-shadow:inset 0 1px 0 var(--line-glow), 0 0 0 1px var(--surface-0)}.sound-settings .strip:not(.is-on) .mix-slider:hover:not(:disabled)::-webkit-slider-thumb{background:var(--text-3)}.sound-settings .strip:not(.is-on) .mix-slider:focus-visible::-webkit-slider-thumb{background:var(--text-3)}.sound-settings .strip:not(.is-on) .mix-slider:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.sound-settings .strip:not(.is-on) .mix-slider:focus-visible::-moz-range-thumb{background:var(--text-3);box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 2px var(--surface-0), 0 0 0 4px var(--focus)}.sound-settings .sound-foot{align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.sound-settings .sound-note{font:var(--t-caption);color:var(--text-3);margin:0}.audio-device-panel .audio-device-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audio-device-panel{--dev-ctl:160px;--dev-housing-x:var(--s-1);--dev-ctl-box:calc(var(--dev-ctl) + var(--dev-housing-x) * 2);--dev-label-col:132px;--dev-val-col:52px}.audio-device-panel .device-field{width:100%}.audio-device-panel .audio-device-body{gap:var(--s-4);padding-bottom:var(--s-2);display:grid;container:rack/inline-size}.audio-device-panel .audio-device-grid{align-items:stretch;column-gap:var(--s-4);row-gap:var(--s-3);grid-template-rows:repeat(6,auto);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.audio-device-panel .audio-device-card{grid-row:1/-1;grid-template-rows:subgrid;align-content:start;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-2);box-shadow:inset 0 1px 0 var(--line-glow);display:grid}.audio-device-panel .audio-device-title{align-items:center;gap:var(--s-2) var(--s-3);grid-template-columns:auto minmax(0,1fr);display:grid}.audio-device-panel .audio-device-title .io-badge{grid-area:1/1}.audio-device-panel .audio-device-heading{grid-area:2/1/auto/-1}.audio-device-panel .io-badge{min-width:40px;color:var(--text-2);justify-content:center}.audio-device-panel .device-state{justify-self:start;align-items:center;gap:var(--s-2);font:var(--t-caption);color:var(--text-3);white-space:nowrap;grid-area:1/2;display:flex}.audio-device-panel .device-state .led{flex:none}.audio-device-panel .audio-device-heading h3{font:var(--t-h3);color:var(--text-1);margin:0}.audio-device-panel .device-well{align-content:start;align-self:start;gap:var(--s-3);width:100%;padding:var(--s-3);border-radius:var(--r-2);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line-1);display:grid;container:well/inline-size}.audio-device-panel .device-row{grid-template-columns:minmax(0, var(--dev-label-col)) var(--dev-ctl-box) minmax(var(--dev-val-col), 1fr);align-items:start;gap:var(--s-2) var(--s-3);min-height:var(--range-slot);font:var(--t-caption);color:var(--text-3);display:grid}.audio-device-panel .device-row-label{padding-top:var(--s-1);text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:var(--range-slot);grid-area:1/1;overflow:hidden}.audio-device-panel .device-row>.device-inst{grid-area:1/2;justify-self:start}.audio-device-panel .device-row-value{padding-top:var(--s-1);min-width:var(--dev-val-col);text-align:right;font:var(--t-mono-s);line-height:var(--range-slot);font-variant-numeric:tabular-nums;color:var(--text-1);grid-area:1/3;justify-self:end}.audio-device-panel .device-row.is-off .device-row-value{color:var(--text-3)}.audio-device-panel .device-inst{grid-template-rows:var(--range-slot) auto;width:var(--dev-ctl-box);padding:var(--s-1) var(--dev-housing-x);border-radius:var(--r-2);background:var(--surface-0);box-shadow:inset 0 0 0 1px var(--line-1);transition:box-shadow var(--d-2) var(--e-out);place-items:center start;row-gap:2px;display:grid}.audio-device-panel .device-inst>.range,.audio-device-panel .device-inst>.meter,.audio-device-panel .device-inst>.gauge-bar{width:var(--dev-ctl);grid-row:1;min-width:0;max-width:none}.audio-device-panel .device-inst>.meter{height:12px}.audio-device-panel .device-inst .range{z-index:1;--fill:calc(var(--range-thumb) / 2 + (100% - var(--range-thumb)) * var(--p));position:relative}:is(.audio-device-panel .device-inst:has(.range:hover:not(:disabled)),.audio-device-panel .device-inst:has(.range:focus-visible)){box-shadow:inset 0 0 0 1px var(--line-2)}.audio-device-panel .device-scale{--x0:0px;width:var(--dev-ctl);height:var(--range-fig);font:var(--t-label);letter-spacing:var(--t-label-ls);font-variant-numeric:tabular-nums;color:var(--text-3);grid-row:2;position:relative}.audio-device-panel .device-inst:has(>.range) .device-scale{--x0:calc(var(--range-thumb) / 2)}.audio-device-panel .device-scale-fig{top:0;left:calc(var(--x0) + (100% - var(--x0) * 2) * var(--p));line-height:var(--range-fig);white-space:nowrap;font-style:normal;position:absolute;transform:translate(-50%)}.audio-device-panel .device-scale-fig.is-start{left:0;transform:none}.audio-device-panel .device-scale-fig.is-end{left:auto;right:0;transform:none}.audio-device-panel .device-scale-fig.is-mark{color:var(--text-2)}.audio-device-panel .device-scale-tick{--tick-reach:calc(2px + (var(--range-slot) + var(--range-rail)) / 2);top:calc(var(--tick-reach) * -1);left:calc(var(--x0) + (100% - var(--x0) * 2) * var(--p));width:1px;height:var(--tick-reach);background:var(--line-3);position:absolute;transform:translate(-50%)}.audio-device-panel .gauge-bar{--lamps:repeating-linear-gradient(90deg, currentColor 0 5px, transparent 5px 7px, currentColor 7px 12px, transparent 12px 13px, currentColor 13px 18px, transparent 18px 20px);flex:none;height:12px;position:relative}.audio-device-panel .gauge-bar:before{content:"";background:var(--line-2);-webkit-mask-image:var(--lamps);-webkit-mask-image:var(--lamps);mask-image:var(--lamps);position:absolute;inset:0}.audio-device-panel .gauge-bar:after{content:"";inset-block:-2px;left:calc(var(--dev-ctl) * var(--grad,.6667));background:var(--line-3);width:1px;position:absolute;transform:translate(-50%)}.audio-device-panel .gauge-fill{background-image:linear-gradient(90deg, var(--text-2) 0 calc(var(--dev-ctl) * var(--grad,.6667)), var(--warn) calc(var(--dev-ctl) * var(--grad,.6667)) var(--dev-ctl));background-size:var(--dev-ctl) 12px;-webkit-mask-image:var(--lamps);-webkit-mask-image:var(--lamps);mask-image:var(--lamps);transition:width var(--d-2) var(--e-out);background-repeat:no-repeat;position:absolute;inset-block:0;inset-inline-start:0}.audio-device-panel .device-latency-row.is-late .device-row-value{color:var(--warn)}.audio-device-panel .device-help{font:var(--t-caption);color:var(--text-2);max-width:62ch;margin:0}.audio-device-panel .device-foot{align-items:flex-start;gap:var(--s-2);font:var(--t-caption);color:var(--text-3);margin:0;display:flex}.audio-device-panel .device-foot .icon{color:var(--text-3);flex:none;margin-top:1px}.audio-device-panel .audio-device-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.audio-device-panel .device-recalibrate{font:var(--t-caption);color:var(--warn);align-items:center;margin:0}.audio-device-panel .device-recalibrate .icon{margin-top:0}.audio-device-panel .audio-device-message{margin:0}@container well (width<=363px){.audio-device-panel .device-row-label{grid-area:1/1/auto/-1;padding-top:0;line-height:1.4}.audio-device-panel .device-row>.device-inst{grid-area:2/1}.audio-device-panel .device-row-value{grid-area:2/2;justify-self:end}.audio-device-panel .device-row{grid-template-columns:var(--dev-ctl-box) minmax(0, 1fr);row-gap:var(--s-1)}}@media (width>=761px){@container dock (width>=485px) and (width<=909px){.controls .dock-main{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"key tempo""mode tempo"}.controls .play-btn,.controls .mode-switch{justify-self:stretch}}@container dock (width>=485px) and (width<=719px){.controls .bpm{align-items:center;column-gap:var(--s-4);row-gap:var(--s-5);padding-bottom:var(--ruler-drop);grid-template-columns:auto auto auto minmax(0,1fr);grid-template-areas:"readout steppers tap.""fader fader fader fader";display:grid}.controls .bpm-readout{grid-area:readout}.controls .bpm-steppers{grid-area:steppers;justify-self:start}.controls .bpm-fader{grid-area:fader}.controls .tap-btn{grid-area:tap;justify-self:start}}@container dock (width<=484px){.controls .dock-main{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"key mode""tempo tempo"}.controls .mode-switch{justify-self:start}.controls .bpm{padding-bottom:var(--ruler-drop)}}@container dock (width<=520px){.controls .bpm{column-gap:var(--s-3)}.controls .bpm-readout{flex-direction:column;align-items:flex-start;gap:0}}}@media (width<=760px){@container dock (width>=485px) and (width<=909px){.controls .bpm{align-items:center;column-gap:var(--s-4);row-gap:var(--s-5);padding-bottom:var(--ruler-drop);grid-template-columns:auto auto auto minmax(0,1fr);grid-template-areas:"readout steppers tap.""fader fader fader fader";display:grid}.controls .bpm-readout{grid-area:readout}.controls .bpm-steppers{grid-area:steppers;justify-self:start}.controls .bpm-fader{grid-area:fader}.controls .tap-btn{grid-area:tap;justify-self:start}}@container dock (width<=719px){.controls .dock-main{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"key tempo""mode tempo"}.controls .play-btn,.controls .mode-switch{justify-self:stretch}}@container dock (width<=484px){.controls .dock-main{gap:var(--s-3) var(--s-2);grid-template-columns:auto auto auto minmax(0,1fr);grid-template-areas:"key key key key""readout steppers tap mode""tempo tempo tempo tempo"}.controls .bpm{display:contents}.controls .bpm-readout{grid-area:readout}.controls .bpm-steppers{grid-area:steppers}.controls .tap-btn{grid-area:tap}.controls .bpm-readout{flex-direction:column;align-items:flex-start;gap:0}.controls .bpm-readout:after{display:none}.controls .play-btn{justify-self:stretch;width:100%;min-width:0}.controls .mode-switch{--seg-bar-inset:var(--s-3);justify-self:end;width:auto}.controls .mode-switch>button{min-width:0;padding-inline:var(--s-2)}.controls .bpm-fader{flex-basis:auto;grid-area:tempo;min-width:0}.controls .bpm-steppers,.controls .bpm-fader,.controls .tap-btn{margin-block:var(--s-2)}.controls .bpm-fader{margin-block-end:var(--ruler-drop)}}}@container desk (width<=699px){.sound-settings .mix-desk{grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.sound-settings .strip{row-gap:var(--s-2);grid-row:auto;grid-template-rows:none}}@container rack (width<=599px){.audio-device-panel .audio-device-grid{row-gap:var(--s-4);grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.audio-device-panel .audio-device-card{grid-row:auto;grid-template-rows:none}}@container desk (width>=340px) and (width<=699px){.sound-settings .strip{grid-template-columns:minmax(0, var(--key-col)) minmax(160px, 1fr);column-gap:var(--s-3);row-gap:var(--s-1)}.sound-settings .strip-hint{grid-area:2/1}.sound-settings .strip-inst-row{grid-area:1/2/span 2;align-self:center}}@media (width<=760px){.controls{padding:var(--s-3) var(--s-4);gap:var(--s-3)}.controls .dock-main{gap:var(--s-3) var(--s-4)}.controls .play-btn{height:48px;padding-inline:var(--s-4)}.controls .mode-switch{height:48px}.controls .mode-switch>button{min-height:40px}.controls .bpm{column-gap:var(--s-3)}.controls .practice-options .opt{flex:180px}.controls .opt select{width:100%;min-width:0}}@media (width<=600px){.controls .tap-btn{display:none}@container dock (width>=485px) and (width<=909px){.controls .bpm{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"readout steppers""fader fader"}}@container dock (width<=484px){.controls .dock-main{gap:var(--s-3) var(--s-2);grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"key key key""readout steppers mode""tempo tempo tempo"}}@container dock (width<=279px){.controls .dock-main{gap:var(--s-3) var(--s-2);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"key key""readout steppers""tempo tempo""mode mode"}.controls .bpm-steppers{justify-self:end}.controls .tap-btn{display:none}.controls .mode-switch{justify-self:stretch;width:auto;min-width:0}.controls .mode-switch>button{padding-inline:var(--s-2)}}}@media (prefers-reduced-motion:reduce){.controls .bpm-value.is-unlocked,.controls .bpm-tag,.controls .tap-led.is-tapped{animation-duration:1ms}.controls .bpm-tag{animation-timing-function:linear}.controls .play-btn.btn--key:hover:not(:disabled):before{transform:none}}@media (forced-colors:active){.controls .bpm-fader:before{forced-color-adjust:none;outline-offset:-1px;background: repeating-linear-gradient(135deg, CanvasText 0 1px, Canvas 1px 3px) 100% 0 / calc((1 - var(--limit)) * 100%) 100% no-repeat, linear-gradient(CanvasText, CanvasText) 0 0 / calc(var(--p) * 100%) 100% no-repeat, Canvas;outline:1px solid canvastext}.controls .bpm-fader:has(.bpm-range:disabled):before{background:repeating-linear-gradient(135deg, CanvasText 0 1px, Canvas 1px 3px) 100% 0 / calc((1 - var(--limit)) * 100%) 100% no-repeat, linear-gradient(GrayText, GrayText) 0 0 / calc(var(--p) * 100%) 100% no-repeat, Canvas}.controls .bpm-tick,.controls .bpm-ruler:before{forced-color-adjust:none;background:canvastext}.controls .bpm-mark .mark-halo{forced-color-adjust:none;fill:canvas;stroke:canvas}.sound-settings .mix-slider::-webkit-slider-runnable-track{forced-color-adjust:none;outline-offset:-1px;background:linear-gradient(CanvasText, CanvasText) 0 0 / var(--fill) 100% no-repeat, Canvas;outline:1px solid canvastext}.audio-device-panel .device-inst .range::-webkit-slider-runnable-track{forced-color-adjust:none;outline-offset:-1px;background:linear-gradient(CanvasText, CanvasText) 0 0 / var(--fill) 100% no-repeat, Canvas;outline:1px solid canvastext}.sound-settings .mix-slider::-moz-range-track{forced-color-adjust:none;outline-offset:-1px;background:canvas;outline:1px solid canvastext}.audio-device-panel .device-inst .range::-moz-range-track{forced-color-adjust:none;outline-offset:-1px;background:canvas;outline:1px solid canvastext}.sound-settings .mix-slider::-moz-range-progress{forced-color-adjust:none;background:canvastext}.audio-device-panel .device-inst .range::-moz-range-progress{forced-color-adjust:none;background:canvastext}.controls .bpm-range::-webkit-slider-thumb{forced-color-adjust:none;background:canvastext;border:2px solid canvas}.sound-settings .mix-slider::-webkit-slider-thumb{forced-color-adjust:none;background:canvastext;border:2px solid canvas}.audio-device-panel .device-inst .range::-webkit-slider-thumb{forced-color-adjust:none;background:canvastext;border:2px solid canvas}.controls .bpm-range::-moz-range-thumb{forced-color-adjust:none;background:canvastext;border:2px solid canvas}.sound-settings .mix-slider::-moz-range-thumb{forced-color-adjust:none;background:canvastext;border:2px solid canvas}.audio-device-panel .device-inst .range::-moz-range-thumb{forced-color-adjust:none;background:canvastext;border:2px solid canvas}.controls .bpm-range:disabled::-webkit-slider-thumb{background:graytext}.sound-settings .mix-slider:disabled::-webkit-slider-thumb{background:graytext}.audio-device-panel .device-inst .range:disabled::-webkit-slider-thumb{background:graytext}.sound-settings .strip.is-locked .mix-slider::-webkit-slider-runnable-track{background:canvas}.controls .bpm-range:focus-visible,.sound-settings .mix-slider:focus-visible,.audio-device-panel .device-inst .range:focus-visible{outline-offset:2px;outline:2px solid highlight}.audio-device-panel .device-inst,.sound-settings .strip-inst{outline-offset:-1px;outline:1px solid canvastext}.audio-device-panel .meter:before,.audio-device-panel .gauge-bar:before{forced-color-adjust:none;outline-offset:-1px;background:canvas;outline:1px solid canvastext;-webkit-mask-image:none;mask-image:none}.audio-device-panel .meter-fill,.audio-device-panel .gauge-fill{forced-color-adjust:none;background-image:linear-gradient(canvastext,canvastext)}.audio-device-panel .meter-peak{forced-color-adjust:none;outline-offset:-1px;background:highlight;outline:1px solid canvas}.audio-device-panel .gauge-bar:after,.audio-device-panel .device-scale-tick{forced-color-adjust:none;background:canvastext}.controls .led,.sound-settings .led,.audio-device-panel .led{forced-color-adjust:none;background:canvas;outline:1px solid canvastext}.controls .led--key,.controls .led--ok,.controls .led--warn,.controls .led--danger,.sound-settings .strip.is-on .toggle-dot,.audio-device-panel .led--ok,.audio-device-panel .led--warn,.audio-device-panel .led--danger{background:highlight}.controls .tap-led.is-tapped{animation-name:tap-blink-fc}@keyframes tap-blink-fc{0%{background:highlight}to{background:canvas}}.controls .play-btn.btn--key:not(:disabled),.controls .play-btn.btn--danger{forced-color-adjust:none;color:highlighttext;background:highlight;border-color:canvastext}.controls .play-btn.btn--danger .key-glyph{color:highlighttext}.controls .mode-switch>button.on{forced-color-adjust:none;color:highlighttext;background:highlight}.controls .mode-switch:after{forced-color-adjust:none;background:highlighttext}.audio-device-panel .device-well,.controls .mode-switch{outline-offset:-1px;outline:1px solid canvastext}.sound-settings .strip.is-locked .strip-key{color:graytext;border-style:dashed}}.scored-setup,.harmony-panel,.chuck-panel,.mic-panel{--f-indent:calc(16px + var(--s-3));--measure:480px;--f-action:140px;--f-readout:166px;--f-cell-left:var(--f-indent);--f-cell-right:0px}.zone.rig>details>summary:has(>.rig-row-led)>.rig-row-title:before{content:none}.setup-body .step-status,.setup-verdict>span,.harmony-lines b,.harmony-lines small,.chuck-status,.chuck-note,.chuck-verdict>span{max-width:var(--measure);text-wrap:pretty}.cal-ticks,.chuck-pips{padding:7px var(--s-1);border:1px solid var(--line-1);border-radius:var(--r-1);background:var(--surface-1);align-items:center;gap:4px;display:inline-flex}.cal-tick,.chuck-pip{background:var(--line-1);width:6px;height:6px;transition:background-color var(--d-2) var(--e-out);border-radius:50%}.cal-ticks .cal-tick,.chuck-pips .chuck-pip{background:var(--line-2)}.cal-tick.on,.chuck-pip.on{background:var(--ok)}.cal-tick.next,.chuck-learn.is-capturing .chuck-pip.next{background:var(--key)}.nudge{align-items:center;gap:var(--s-3);min-height:48px;padding:6px var(--s-3) 6px var(--s-4);border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--surface-3);box-shadow:inset 0 1px 0 var(--line-glow);color:var(--text-2);font:var(--t-body);animation:nudge-in var(--d-3) var(--e-out);flex-wrap:wrap;display:flex}.nudge-led{flex:none;align-self:center;width:8px;height:8px;display:inline-flex}.nudge-text{flex:auto;min-width:0}.nudge-actions{align-items:center;gap:var(--s-2);flex:none;margin-left:auto;display:inline-flex}.nudge-cta{flex:none}.nudge-cta.btn--key:focus-visible,.setup-btn.primary:focus-visible{outline-color:var(--surface-0);box-shadow:inset 0 1px 0 var(--key-hover), 0 0 0 6px var(--focus)}.nudge-later{margin-inline:var(--s-1) var(--s-2);flex:none;text-decoration:none}.nudge-later:hover,.nudge-later:focus-visible{text-decoration:underline}@keyframes nudge-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.zone.rig>details.scored-setup>summary{grid-template-columns:16px 16px minmax(0,1fr) auto auto 16px}.zone.rig>details.scored-setup>summary:after{grid-column:6}.zone.rig>details.scored-setup:not(.ready)>summary{grid-template-columns:16px 16px minmax(0,1fr) auto 16px}.zone.rig>details.scored-setup:not(.ready)>summary:after{grid-column:5}.scored-setup>summary>.setup-tolerance{justify-self:end;align-items:center;gap:var(--s-2);grid-column:5;display:inline-flex}.setup-tolerance .segmented>button:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.scored-setup>summary>.setup-readout,.scored-setup>summary>.setup-progress{align-items:center;gap:var(--s-2);display:inline-flex;overflow:visible}.zone.rig>details.scored-setup.ready[open]:not([data-closing])>summary>.rig-row-status{opacity:1}.setup-body{gap:var(--s-3);margin-inline:-8px;padding-inline:8px;display:grid;container:setup-body/inline-size}.setup-body .stepper{margin:0}.setup-body .step{--ctl:var(--h-sm);--title-mid:calc(var(--ctl) / 2);--node-top:calc(var(--s-3) + var(--title-mid) - 10px);grid-template-columns:16px minmax(0,1fr) auto;grid-template-rows:minmax(var(--ctl), auto) auto;align-items:start;column-gap:var(--s-3);padding-block:var(--s-3);row-gap:2px;min-height:0}.setup-body .step-main{display:contents}.setup-body .step-title{padding-block:calc((var(--ctl) - 14px * 1.35) / 2);grid-area:1/2}.setup-body .step-status{grid-area:2/2/auto/-1}.setup-body .step-readout{align-items:center;gap:var(--s-3);grid-area:3/2/auto/-1;margin-top:6px;display:inline-flex}.setup-body .step-readout.is-empty{display:none}.step-empty,.diag-empty{min-height:22px;color:var(--text-3);font:var(--t-caption);align-items:center;margin:0;display:inline-flex}.setup-body .step-readout .chip{white-space:nowrap}.setup-body .step-readout .chip--phase{justify-content:space-between;gap:var(--s-3);min-width:152px}.setup-body .step-readout .chip--phase>.chip-phase{color:var(--text-1)}.setup-body .step:before{left:7px}.setup-body .step:first-child:before{top:calc(var(--node-top) + 20px);bottom:0}.setup-body .step:last-child:before{height:var(--node-top);top:0;bottom:auto}.setup-body .step-node{margin-top:calc(var(--title-mid) - 10px);align-self:start;margin-left:-2px}.setup-body .step:not(.is-done,.is-warn,.is-danger) .step-node{background:0 0}.setup-body .step-node .icon{width:12px;height:12px}.setup-body .step:not(.is-active,.is-done,.is-warn,.is-danger) .step-title,.setup-body .step.is-active .step-status,.setup-body .step.is-danger .step-status,.setup-body .step.is-lit :is(.step-empty,.step-status){color:var(--text-2)}.setup-body .step.is-danger .step-node{border-color:var(--danger);background:var(--danger);color:var(--text-on-key)}.setup-body .step-action{margin-top:calc(var(--title-mid) - 16px);grid-area:1/3;place-self:start end}@container setup-body (width>=838px){.setup-body .step{grid-template-columns:16px minmax(0, 1fr) var(--f-readout) var(--f-action)}.setup-body .step-action{grid-column:4}.setup-body .step-readout{grid-area:1/3;place-self:center end;margin-top:0}.setup-body .step-readout.is-empty{display:inline-flex}}.setup-body .step+.step:after{content:"";left:var(--f-cell-left);right:var(--f-cell-right);background:var(--line-1);height:1px;position:absolute;top:0}.setup-body .step-bay{inset:1px var(--f-cell-right) 0 var(--f-cell-left);z-index:-1;border-radius:var(--r-2);transition:background-color var(--d-3) var(--e-out);position:absolute}.setup-body .step{isolation:isolate}.setup-body .step.is-lit .step-bay{background:var(--surface-4)}.setup-body .step.is-done .step-bay{animation:step-done var(--d-4) var(--e-out)}@keyframes step-done{0%{background:var(--ok-tint)}to{background:0 0}}.setup-caveat{color:var(--warn)}.setup-verdict,.chuck-verdict{column-gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-3);transition:background-color var(--d-3) var(--e-out);grid-template-columns:8px minmax(0,1fr) auto;align-items:start;display:grid}.setup-verdict{margin:0 0 0 var(--f-indent);color:var(--text-2);font:var(--t-body)}.setup-verdict b{color:var(--text-1);font:var(--t-strong)}.setup-verdict>.led,.chuck-verdict>.led{align-self:start;margin-top:6px}.setup-verdict.is-uncounted{grid-template-columns:8px minmax(0,1fr)}.setup-verdict-count,.chuck-verdict-count{align-items:center;gap:var(--s-2);color:var(--text-3);font:var(--t-mono-s);font-variant-numeric:tabular-nums;white-space:nowrap;align-self:start;margin-top:3px;display:inline-flex}.setup-verdict.is-ok{background:var(--ok-tint)}.setup-verdict.is-caveat,.setup-verdict.is-incomplete{background:var(--warn-tint)}.setup-verdict.is-blocked{background:var(--danger-tint)}.setup-verdict.is-ok b{color:var(--ok)}.setup-verdict.is-caveat b,.setup-verdict.is-incomplete b{color:var(--warn)}.setup-verdict.is-blocked b{color:var(--danger)}.scored-setup .banner{margin:0 0 0 var(--f-indent)}.zone.rig>section.harmony-panel{--rig-glyph-inset:0px;column-gap:var(--s-3);row-gap:var(--s-3);padding-left:var(--rig-pad);grid-template-columns:16px 16px minmax(0,1fr) 16px;padding-top:10px;display:grid}.harmony-slot,.harmony-glyph{grid-row:1;justify-content:center;align-items:center;width:16px;height:32px;display:inline-flex;overflow:visible}.harmony-slot{grid-column:1}.harmony-glyph{color:var(--text-3);grid-column:2}.harmony-panel>.harmony-head{margin-left:calc(var(--s-2) - var(--s-3));grid-column:3}.harmony-panel>.harmony-verdict{grid-column:3/5}.harmony-head{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:32px;display:flex}.harmony-title{align-items:center;gap:var(--s-2);min-width:0;color:var(--text-1);font:var(--t-h3);letter-spacing:var(--t-h3-ls);margin:0;display:flex}.harmony-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.harmony-beta{flex:none}.chord-select{align-items:center;gap:var(--s-2);flex:none;display:inline-flex}.chord-select-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chord-select select{border-color:var(--line-2);background-color:var(--surface-1);width:auto;min-width:88px}.chord-select select:hover:not(:disabled){background-color:var(--surface-2)}.harmony-verdict{min-height:56px;padding:var(--s-3) var(--s-4);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-3);transition:background-color var(--d-3) var(--e-out);container:chord-well/inline-size}.zone.rig>section.harmony-panel.is-off{row-gap:0;padding-block:10px}.harmony-verdict.off{background:0 0;border:0;min-height:0;padding:0}.harmony-indicator{width:8px;height:8px}.harmony-panel.is-listening .harmony-indicator{animation:harmony-pulse 1s var(--e-out) infinite}@keyframes harmony-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.harmony-panel .harmony-indicator,.chuck-panel .led--breathe,.setup-verdict>.led--breathe{opacity:1;animation:none}}.harmony-lines{min-width:0;display:block}.harmony-headline{align-items:baseline;gap:2px var(--s-3);flex-wrap:wrap;display:flex}@container chord-well (width>=420px){.harmony-headline{flex-wrap:nowrap}.harmony-conf{padding-left:var(--s-4);margin-left:auto}}.harmony-lines b{color:var(--text-1);font:var(--t-h3);letter-spacing:var(--t-h3-ls)}.harmony-lines small{color:var(--text-3);font:var(--t-caption);margin-top:3px;display:block}.harmony-verdict:not(.off) small,.harmony-verdict:not(.off) .harmony-conf-value{color:var(--text-2)}.harmony-verdict.correct{background:var(--ok-tint)}.harmony-verdict.correct .harmony-lines b{color:var(--ok)}.harmony-verdict.different{background:var(--danger-tint)}.harmony-verdict.different .harmony-lines b{color:var(--danger)}.harmony-verdict.unclear{background:var(--warn-tint)}.harmony-verdict.unclear .harmony-lines b{color:var(--warn)}.harmony-conf{--seg-on:var(--text-2);align-self:center;align-items:center;gap:var(--s-2);display:inline-flex}.harmony-meter{gap:1.5px;display:inline-flex}.harmony-seg{background:var(--line-2);width:10px;height:12px;transition:background-color var(--d-2) var(--e-out);border-radius:1px}.harmony-conf-value{color:var(--text-3);font:var(--t-mono-s);font-variant-numeric:tabular-nums}.harmony-seg.on{background:var(--seg-on)}.harmony-seg.part{background:linear-gradient(to right, var(--seg-on) var(--seg-fill,0%), var(--line-2) 0)}.harmony-verdict.correct .harmony-conf{--seg-on:var(--ok)}.harmony-verdict.different .harmony-conf{--seg-on:var(--danger)}.harmony-verdict.unclear .harmony-conf{--seg-on:var(--warn)}.zone.rig>details.chuck-panel>summary>.rig-row-title{align-items:center;gap:var(--s-2);min-width:0;display:flex}.chuck-panel .rig-row-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.chuck-beta{flex:none}.chuck-body{gap:var(--s-3);padding-inline:calc(var(--f-indent) + 8px) 8px;margin-inline:-8px;display:grid;container:chuck-body/inline-size}.chuck-teach,.chuck-copy{gap:var(--s-3);align-content:start;display:grid}.chuck-note{color:var(--text-3);font:var(--t-caption);margin:0}.chuck-caveat{padding-top:var(--s-3);border-top:1px solid var(--line-1)}.chuck-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.chuck-learn{gap:var(--s-2)}.chuck-learn-label{text-align:left;flex:auto}.chuck-learn.is-capturing{border-color:var(--line-2);background:var(--surface-4);box-shadow:inset 0 1px 0 var(--line-glow);color:var(--text-1)}.chuck-status{color:var(--text-2);font:var(--t-body);margin:0}.chuck-quiet{text-decoration:none}.chuck-quiet:hover:not(:disabled),.chuck-quiet:focus-visible{text-decoration:underline}@container chuck-body (width>=820px){.chuck-teach{grid-template-columns:minmax(0, var(--measure)) minmax(0, 1fr);column-gap:var(--s-4);align-items:start}.chuck-actions{justify-content:end;gap:var(--s-2);display:grid}.chuck-quiet{justify-self:end}}.chuck-verdict{color:var(--text-1);font:var(--t-strong);margin:0}.chuck-verdict.unclear .led{--led:var(--text-3)}.chuck-verdict-eyebrow{color:var(--text-3);font:var(--t-body)}.diag-body{gap:var(--s-4);padding-inline:calc(var(--f-indent) + 8px) 8px;margin-inline:-8px;display:grid;container:diag-body/inline-size}.diag-controls{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.diag-meter{align-items:center;gap:var(--s-2);display:inline-flex}@container diag-body (width>=560px){.diag-meter{margin-left:auto}}.diag-meter-label,.diag-stat dt{color:var(--text-3);font:var(--t-caption)}.diag-stats{border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--line-1);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}@container diag-body (width>=460px){.diag-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@container diag-body (width>=880px){.diag-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}.diag-stat{min-width:0;padding:var(--s-2) var(--s-3);background:var(--surface-1);align-content:start;gap:6px;display:grid}.diag-stat dd{text-overflow:ellipsis;justify-self:start;max-width:100%;margin:0;overflow:hidden}.diag-idle{align-items:baseline;gap:var(--s-1);padding:var(--s-2) var(--s-3);background:var(--surface-1);color:var(--text-3);font:var(--t-caption);flex-wrap:wrap;grid-column:1/-1;display:flex}.diag-idle dt{color:var(--text-2)}.diag-idle dd,.mic-panel .banner{margin:0}@media (width<=560px){.nudge{padding:var(--s-3);gap:var(--s-2) var(--s-3)}.nudge-text{max-width:62ch}.nudge-actions{flex:auto;justify-content:space-between}.nudge-cta{flex:auto;justify-content:center}}@media (width<=600px){.zone.rig>section.harmony-panel{grid-template-columns:16px minmax(0,1fr) 16px}.harmony-glyph{display:none}.harmony-panel>.harmony-head{grid-column:2;margin-left:0}.harmony-panel>.harmony-verdict{grid-column:2/4}.zone.rig>details.scored-setup>summary{grid-template-columns:16px minmax(0,1fr) auto 16px}.zone.rig>details.scored-setup>summary:after{grid-column:4}.zone.rig>details.scored-setup:not(.ready)>summary{grid-template-columns:16px minmax(0,1fr) auto 16px}.zone.rig>details.scored-setup:not(.ready)>summary:after{grid-column:4}.zone.rig>details.scored-setup>summary>.setup-tolerance{grid-area:1/3/span 2;place-self:center end;margin-top:0}}@media (width<=480px){.nudge-led{align-self:flex-start;margin-top:6px}}@media (width<=430px){.scored-setup>summary>.setup-readout .setup-caveat .stamp-word{display:none}.scored-setup>summary>.setup-readout .setup-caveat{justify-content:center;min-width:18px}}@media (width<=480px){.scored-setup>summary>.setup-tolerance .segmented>button{min-width:0;padding:0 var(--s-2)}.zone.rig>details.scored-setup>summary>.setup-tolerance{margin-right:calc(-1 * var(--s-1))}}@media (width<=384px){.scored-setup>summary>.setup-readout{display:none}.zone.rig>details.scored-setup>summary>.setup-tolerance{grid-area:2/2/auto/span 2;place-self:center end}}@media (width<=600px){.setup-verdict,.chuck-verdict{row-gap:var(--s-2);grid-template-columns:8px minmax(0,1fr)}.setup-verdict-count,.chuck-verdict-count{grid-column:2;justify-self:start;margin-top:0}.harmony-head{align-items:stretch;gap:var(--s-2);flex-direction:column}.chord-select{max-width:var(--measure);justify-content:flex-start}.chord-select select{min-width:120px}.harmony-panel.is-off .harmony-head{align-items:center;gap:var(--s-3);flex-direction:row}.harmony-panel.is-off .chord-select select{min-width:88px}.zone.rig>section.harmony-panel,.zone.rig>section.harmony-panel.is-off{padding-block:var(--s-3)}.harmony-panel.is-off .harmony-head{align-items:flex-start;min-height:36px}.harmony-panel.is-off .chord-select{align-self:center}.harmony-slot{height:20px}}.score-panel{gap:var(--s-3);flex-direction:column;display:flex;position:relative;container:score/inline-size}.score-col{display:contents}.score-ladder-slot{font:var(--t-caption);min-height:calc(var(--ladder-lines,1) * 1lh);display:grid}.score-ladder{align-items:start;gap:var(--s-3);font:var(--t-caption);color:var(--text-2);grid-template-columns:8px minmax(0,1fr);margin:0;display:grid}.score-ladder>.led{margin-top:5px}.score-ladder.is-unlock{animation:ladder-in var(--d-3) var(--e-out) both}.score-ladder.is-rule{color:var(--text-3)}.score-panel:has(.score-ladder.is-unlock){border-top-color:var(--ok)}.score-panel:has(.score-ladder.is-unlock):before{content:"";background:var(--line-1);transform-origin:100%;height:1px;animation:ladder-sweep .36s var(--e-out) forwards;position:absolute;top:-1px;left:0;right:0}@keyframes ladder-sweep{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ladder-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.score-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.score-title{font:var(--t-h2);letter-spacing:var(--t-h2-ls);color:var(--text-1);margin:0}.score-phase{font:var(--t-caption);color:var(--text-3);flex:none}.guided-take{justify-content:center;gap:var(--s-2);flex-direction:column;display:flex}.loop-pips{gap:var(--s-1);height:4px;display:flex}.loop-pip{border-radius:var(--r-pill);background:var(--line-3);transition:background-color var(--d-3) var(--e-out);flex:1}.loop-pip.is-done{background:var(--key)}.loop-pip.is-live{background:linear-gradient(to right, var(--key) 0 50%, var(--line-3) 50% 100%)}.guided-copy{font:var(--t-caption);color:var(--text-2);margin:0}.guided-copy b{font-variant-numeric:tabular-nums;color:var(--text-1);font-weight:600}.score-warning{align-items:start;gap:var(--s-3);padding:var(--s-2) var(--s-3);font:var(--t-caption);grid-template-columns:8px minmax(0,1fr);display:grid}.score-warning>.led{margin-top:5px}.score-warning span,.score-ladder span,.verdict-stats dt,.storage-copy,.storage-pending p,.storage-message span{text-wrap:pretty}.coaching-copy{text-wrap:balance}.score-listening{align-items:center;gap:var(--s-3);font:var(--t-body);color:var(--text-2);margin:0;display:flex}.score-verdict{align-items:center;gap:var(--s-5);--ring-d:112px;display:flex}.score-ring{width:var(--ring-d);height:var(--ring-d);flex:none;position:relative}.score-ring svg{display:block;overflow:visible}.ring-track{fill:none;stroke:var(--line-2);transition:stroke var(--d-3) var(--e-out)}.ring-gate-zone{fill:none;stroke:var(--v-good);stroke-linecap:butt}.ring-gate{fill:none;stroke:var(--surface-2);stroke-linecap:butt}.ring-gate-tag{font:var(--t-mono-s);font-variant-numeric:tabular-nums;color:var(--v-good);pointer-events:none;line-height:1;position:absolute;transform:translate(-50%,-50%)}.ring-arc{fill:none;stroke:var(--text-1);stroke-linecap:butt;transition:stroke-dashoffset var(--d-4) cubic-bezier(.65, 0, .35, 1), stroke var(--d-3) var(--e-out)}.score-ring--weak .ring-arc{stroke:var(--danger)}.score-ring--fair .ring-arc{stroke:var(--warn)}.score-ring--strong .ring-arc{stroke:var(--text-1)}.score-ring--great .ring-arc{stroke:var(--v-perfect);filter:drop-shadow(0 0 10px var(--v-perfect-halo))}@media (forced-colors:active){.ring-track{forced-color-adjust:none;stroke:graytext}.ring-arc,.score-ring--weak .ring-arc,.score-ring--fair .ring-arc,.score-ring--strong .ring-arc,.score-ring--great .ring-arc,.score-ring.is-running .ring-arc{forced-color-adjust:none;stroke:canvastext;filter:none}.ring-gate-zone{forced-color-adjust:none;stroke:highlight}.ring-gate{forced-color-adjust:none;stroke:canvas}}.score-wait{font:var(--t-readout);letter-spacing:var(--t-readout-ls);color:var(--text-4);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.score-big[hidden],.score-wait[hidden]{display:none}.score-big{pointer-events:none;--lockup-lift:6px;--unit-drop:22px;display:block;position:absolute;inset:0}.score-num{font:var(--t-score);letter-spacing:var(--t-score-ls);font-variant-numeric:tabular-nums;color:var(--text-1);transform:translateY(calc(-1 * var(--lockup-lift)));place-items:center;display:grid;position:absolute;inset:0}.score-big[data-digits="3"]{--lockup-lift:0px}.score-big[data-digits="3"] .score-num{letter-spacing:-.04em;transform:translateY(calc(-1 * var(--lockup-lift))) scaleX(.9)}.score-ring--great .score-num{color:var(--v-perfect)}.score-ring--strong .score-num,.score-ring--fair .score-num,.score-ring--weak .score-num{color:var(--text-1)}.score-ring.is-running .score-num{color:var(--text-2)}.score-ring.is-running .ring-arc{stroke:var(--text-3);filter:none}.score-big small{left:0;right:0;bottom:var(--unit-drop);text-align:center;font:var(--t-mono-s);color:var(--text-3);position:absolute}.verdict-stats{align-items:baseline;column-gap:var(--s-4);row-gap:var(--s-2);flex:1;grid-template-columns:minmax(0,1fr) auto;min-width:0;max-width:16.25rem;margin:0 0 0 auto;display:grid}.stat-row{display:contents}.verdict-stats dt{font:var(--t-caption);color:var(--text-3);min-width:0}.verdict-stats dd{text-align:right;white-space:nowrap;font:var(--t-h2);letter-spacing:var(--t-h2-ls);font-variant-numeric:tabular-nums;color:var(--text-1);margin:0}.verdict-stats .unit{font:var(--t-mono-s);color:var(--text-3);margin:0 1px;font-style:normal}.verdict-stats .unit--of{margin:0 4px}.verdict-stats .num{font-variant-numeric:tabular-nums}.verdict-stats.is-idle dd{color:var(--text-3)}@container score (width>=30rem){.verdict-stats{column-gap:var(--s-4);row-gap:var(--s-3);grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr) auto;max-width:none;margin:0}.verdict-stats dt{text-align:right}}.score-gauges{gap:var(--s-3);min-width:0;padding-top:var(--s-3);border-top:1px solid var(--line-1);flex-direction:column;display:flex}.score-bar{border-radius:var(--r-1);background:var(--line-2);height:8px;display:flex;overflow:hidden}.score-seg{min-width:var(--s-1);background:var(--v-none);box-shadow:inset -1px 0 0 var(--surface-2);transform-origin:0;animation:seg-grow var(--d-4) var(--e-out) both;animation-delay:calc(var(--i,0) * 40ms);display:block}.score-seg:last-child{box-shadow:none}.score-seg--perfect{background:var(--v-perfect)}.score-seg--good{background:var(--v-good)}.score-seg--early{background:var(--v-early)}.score-seg--late{background:var(--v-late)}.score-seg--extra{background:repeating-linear-gradient(135deg, var(--v-extra) 0 1px, var(--danger-tint) 1px 4px)}.score-seg--miss{background:var(--v-miss)}.score-seg--miss+.score-seg--extra{margin-left:2px}.score-seg--miss:has(+.score-seg--extra){box-shadow:none}@keyframes seg-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.score-counts{align-content:center;align-items:center;column-gap:var(--s-3);row-gap:var(--s-2);--count-lh:16.6px;min-height:calc(2 * var(--count-lh) + var(--s-2));font:var(--t-mono-s);color:var(--text-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@container score (width<=329px){.score-counts{min-height:calc(3 * var(--count-lh) + 2 * var(--s-2));grid-template-columns:repeat(2,minmax(0,1fr))}}.score-counts.is-idle .led{opacity:.5}.score-counts .count{min-width:0;padding-left:calc(12px + var(--s-2));white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.score-counts .count>.led{background:var(--led);width:12px;height:6px;box-shadow:none;--led-halo:transparent;border-radius:1px;margin-top:-3px;position:absolute;top:50%;left:0}.score-counts .count--extra>.led{background:repeating-linear-gradient(135deg, var(--v-extra) 0 1px, var(--danger-tint) 1px 4px)}.score-counts .count--extra>.led:before,.score-counts .count--extra>.led:after{content:none}.score-counts b{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text-1);font-weight:600}.score-counts .count.is-zero b{color:var(--text-3)}@media (forced-colors:active){.score-bar{forced-color-adjust:none;background:canvas;outline:1px solid canvastext}.score-seg{forced-color-adjust:none;background:canvas;box-shadow:inset -1px 0 canvas}.score-seg--perfect{background:canvastext}.score-seg--good{background:repeating-linear-gradient(135deg,canvastext 0 2px,canvas 2px 4px)}.score-seg--early{background:repeating-linear-gradient(90deg,canvastext 0 2px,canvas 2px 5px)}.score-seg--late{background:repeating-linear-gradient(0deg,canvastext 0 2px,canvas 2px 4px)}.score-seg--miss{background:repeating-linear-gradient(45deg,canvastext 0 1.5px,#0000 1.5px 5px),repeating-linear-gradient(135deg,canvastext 0 1.5px,#0000 1.5px 5px),canvas}.score-seg--extra{background:repeating-linear-gradient(135deg,canvastext 0 1px,canvas 1px 6px)}.score-counts .count>.led{forced-color-adjust:none;background:canvas;box-shadow:inset 0 0 0 1px canvastext}.score-counts .count--perfect>.led{background:canvastext}.score-counts .count--good>.led{background:repeating-linear-gradient(135deg,canvastext 0 2px,canvas 2px 4px)}.score-counts .count--early>.led{background:repeating-linear-gradient(90deg,canvastext 0 2px,canvas 2px 5px)}.score-counts .count--late>.led{background:repeating-linear-gradient(0deg,canvastext 0 2px,canvas 2px 4px)}.score-counts .count--miss>.led{background:repeating-linear-gradient(45deg,canvastext 0 1.5px,#0000 1.5px 5px),repeating-linear-gradient(135deg,canvastext 0 1.5px,#0000 1.5px 5px),canvas}.score-counts .count--extra>.led{background:repeating-linear-gradient(135deg,canvastext 0 1px,canvas 1px 6px)}.score-counts.is-idle .led{opacity:1}}@container score (width<=319px){.score-verdict{align-items:stretch;gap:var(--s-3);flex-direction:column}.score-ring{align-self:center}.verdict-stats{max-width:none;margin:0}}@container score (width<=379px){.score-verdict{gap:var(--s-4)}}.score-tendency{gap:var(--s-2);flex-direction:column;display:flex}.tendency-row{row-gap:var(--s-1);grid-template-columns:minmax(0,1fr);display:grid}.tendency-ends{align-items:baseline;gap:var(--s-5);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.tendency-end{align-items:baseline;gap:var(--s-2);white-space:nowrap;min-width:0;display:inline-flex}.tendency-end--gate{justify-self:center}.tendency-end--drag{justify-self:end}@container score (width<=335px){.tendency-ends{gap:var(--s-3)}.tendency-end--gate .tendency-scale{display:none}}.tendency-label{font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;color:var(--text-3);transition:color var(--d-3) var(--e-out)}.tendency-scale{font:var(--t-mono-s);font-variant-numeric:tabular-nums;color:var(--text-3);font-style:normal}.tendency-row:has(.tendency--rush) .tendency-label--rush{color:var(--v-early)}.tendency-row:has(.tendency--drag) .tendency-label--drag{color:var(--v-late)}.tendency-row:has(.tendency--steady) .tendency-label--gate{color:var(--ok)}.tendency-meter{height:20px;position:relative}.tendency-track{background:var(--line-2);height:8px;position:absolute;top:6px;left:0;right:0;overflow:hidden}.tendency-gate{background:var(--v-good);transition:background-color var(--d-3) var(--e-out);position:absolute;top:0;bottom:0}.tendency--steady .tendency-gate{background:var(--v-perfect)}.tendency-dim{height:4px;position:relative}.tendency-dim>i{border:1px solid var(--text-3);border-bottom:0;position:absolute;top:0;bottom:0}.tendency-needle{width:2px;height:20px;top:0;left:clamp(0px, calc((100% - 2px) * var(--k,.5) + var(--nudge,0px)), calc(100% - 2px));background:var(--key);transition:left var(--d-3) var(--e-out);position:absolute}.tendency--rush .tendency-needle{--nudge:-3px}.tendency--drag .tendency-needle{--nudge:3px}.score-notes{align-items:baseline;gap:var(--s-2) var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line-1);font:var(--t-caption);grid-template-columns:8px auto minmax(0,1fr);display:grid}.score-note{display:contents}.note-label{color:var(--text-3);white-space:nowrap}.note-value{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;color:var(--text-2);overflow:hidden}.score-notes>.score-note>.led{align-self:center}.score-note{margin:0}.storage-issue>.led{margin-top:5px}.score-foot{row-gap:var(--s-3);--foot-lines:2;--ladder-lines:1;min-height:calc(2px + 2 * var(--s-3) + 12px * 1.45 + var(--s-1) + var(--foot-lines) * 14px * 1.5 + var(--s-3) + var(--ladder-lines) * 12px * 1.45);grid-template-rows:minmax(0,1fr) auto;display:grid}@container score (width<=420px){.score-foot{--ladder-lines:2}}.score-coaching,.guided-take,.score-listening{padding:var(--s-3) var(--s-4);border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--surface-3)}.score-coaching{animation:coach-in var(--d-3) var(--e-out) .3s both}.coaching-title{margin:0 0 var(--s-1);font:var(--t-caption);color:var(--text-3)}.coaching-copy{max-width:62ch;font:var(--t-body);color:var(--text-1);margin:0}@keyframes coach-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.take-history{gap:var(--s-3);--spark-h:112px;--h-cols:8ch 10ch 4ch 6ch 6ch minmax(var(--s-3), 1fr) auto;--h-tags:14ch;--h-measure:calc(34ch + var(--h-tags) + 6 * var(--s-3) + 2 * var(--s-2));flex-direction:column;display:flex;container:history/inline-size}.history-head{align-items:center;gap:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.history-id{gap:var(--s-1);flex-direction:column;min-width:0;margin-right:auto;display:flex}.history-title{font:var(--t-h2);letter-spacing:var(--t-h2-ls);color:var(--text-1);margin:0}.history-best{gap:var(--s-2);flex-wrap:wrap;display:flex}.history-best .chip{color:var(--text-3)}.history-best b{color:var(--ok);font-weight:600}.history-export{flex:none}.history-body{gap:var(--s-5);min-width:0;display:grid}.history-ledger{min-width:0;container:ledger/inline-size}@container history (width>=45rem){.history-body--split{grid-template-columns:minmax(0,1fr) minmax(0,434px);align-items:start}.history-body--split .take-spark{--spark-h:var(--ledger-h);margin-bottom:0}}.take-spark{row-gap:var(--s-1);width:100%;height:var(--spark-h);margin-bottom:var(--s-3);grid-template-rows:minmax(0,1fr) auto;display:grid}.spark-inner{--spark-gut:10px;margin:var(--s-5) 0;position:relative}.spark-axis{justify-content:space-between;align-items:baseline;gap:var(--s-3);font:var(--t-mono-s);color:var(--text-3);display:flex}@container history (width>=420px){.take-spark{--spark-h:144px}}@container history (width>=700px){.take-spark{--spark-h:176px}}.spark-plot,.spark-trace{height:100%;display:block;overflow:visible}.spark-plot{width:100%}.spark-trace{top:0;left:var(--spark-gut);width:calc(100% - 2 * var(--spark-gut));position:absolute}.spark-rule{stroke:var(--line-2);stroke-width:1px}.spark-rule--ladder{stroke:var(--ok);stroke-dasharray:3 4;opacity:.6}.spark-trace polyline{fill:none;stroke:var(--text-2);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.spark-tag{padding-right:var(--s-2);background:var(--surface-2);white-space:nowrap;font:var(--t-mono-s);font-variant-numeric:tabular-nums;color:var(--text-3);position:absolute;left:0;transform:translateY(-50%)}.spark-tag--end{padding-right:0;padding-left:var(--s-2);left:auto;right:0}.spark-tag--ladder{color:var(--ok);opacity:.72}.spark-peak{background:var(--surface-2);z-index:2;white-space:nowrap;font:var(--t-mono-s);font-variant-numeric:tabular-nums;color:var(--text-3);pointer-events:none;padding:0 2px;position:absolute;transform:translate(-50%,-50%)}.spark-peak--max{margin-top:-20px}.spark-peak--min{margin-top:20px}.spark-peak--now{color:var(--text-2)}.spark-peak.is-start{transform:translateY(-50%)}.spark-peak.is-end{transform:translate(-100%,-50%)}.spark-dot{--dot-fill:var(--text-1);--dot-edge:transparent;--dot-halo:transparent;--dot-halo-w:0px;appearance:none;cursor:pointer;z-index:1;background:0 0;border:0;width:20px;height:20px;margin:-10px 0 0 -10px;padding:0;position:absolute}.spark-dot:before{content:"";background:var(--dot-fill);box-shadow:inset 0 0 0 1.5px var(--dot-edge), 0 0 0 2px var(--surface-2);transition:box-shadow var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out);border-radius:50%;position:absolute;inset:7px}.spark-dot:after{content:"";inset:calc(5px - var(--dot-halo-w));background:var(--dot-halo);z-index:-1;transition:inset var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out);border-radius:50%;position:absolute}.spark-dot{outline:2px solid var(--dot-ring,transparent);outline-offset:-1px;transition:outline-color var(--d-2) var(--e-out);border-radius:50%}.spark-dot:focus-visible{--dot-ring:var(--focus)}.spark-dot.is-easy{--dot-fill:var(--surface-2);--dot-edge:var(--text-2)}.spark-dot.is-best{--dot-halo:var(--key-soft);--dot-halo-w:4px}.spark-dot.is-easy.is-best{--dot-edge:var(--text-1)}.spark-dot.is-best.is-clear{--dot-fill:var(--v-perfect);--dot-halo:var(--ok-tint)}.spark-dot.is-easy.is-best.is-clear{--dot-fill:var(--surface-2);--dot-edge:var(--v-perfect)}.spark-inner .spark-dot:hover{--dot-ring:var(--key)}:is(.take-history:has(.spark-dot[data-take="0"]:is(:hover,:focus-visible)) .history-row[data-take="0"],.take-history:has(.spark-dot[data-take="1"]:is(:hover,:focus-visible)) .history-row[data-take="1"],.take-history:has(.spark-dot[data-take="2"]:is(:hover,:focus-visible)) .history-row[data-take="2"],.take-history:has(.spark-dot[data-take="3"]:is(:hover,:focus-visible)) .history-row[data-take="3"],.take-history:has(.spark-dot[data-take="4"]:is(:hover,:focus-visible)) .history-row[data-take="4"],.take-history:has(.spark-dot[data-take="5"]:is(:hover,:focus-visible)) .history-row[data-take="5"],.take-history:has(.spark-dot[data-take="6"]:is(:hover,:focus-visible)) .history-row[data-take="6"],.take-history:has(.spark-dot[data-take="7"]:is(:hover,:focus-visible)) .history-row[data-take="7"]){background-color:var(--surface-3)}:is(.take-history:has(.history-row[data-take="0"]:hover) .spark-dot[data-take="0"],.take-history:has(.history-row[data-take="1"]:hover) .spark-dot[data-take="1"],.take-history:has(.history-row[data-take="2"]:hover) .spark-dot[data-take="2"],.take-history:has(.history-row[data-take="3"]:hover) .spark-dot[data-take="3"],.take-history:has(.history-row[data-take="4"]:hover) .spark-dot[data-take="4"],.take-history:has(.history-row[data-take="5"]:hover) .spark-dot[data-take="5"],.take-history:has(.history-row[data-take="6"]:hover) .spark-dot[data-take="6"],.take-history:has(.history-row[data-take="7"]:hover) .spark-dot[data-take="7"]){--dot-ring:var(--key)}.history-cols,.history-row{grid-template-columns:var(--h-cols);max-width:var(--h-measure);column-gap:var(--s-3);margin:0 calc(-1 * var(--s-2));padding:0 var(--s-2);align-items:center;display:grid}.history-cols{padding-bottom:var(--s-2);font:var(--t-mono-s);text-transform:uppercase;color:var(--text-3)}.h-cols-unit{color:var(--text-3);font-style:normal}.history-cols>:nth-child(2),.history-cols>:nth-child(3),.history-cols>:nth-child(4),.history-cols>:nth-child(5){text-align:right}.h-tags{grid-column:-2}.history-rows{margin:0;padding:0;list-style:none}.history-row{border-radius:var(--r-1);min-height:36px;font:var(--t-mono-s);transition:background-color var(--d-2) var(--e-out);--h-rule:transparent;background-image:linear-gradient(var(--h-rule), var(--h-rule));background-repeat:no-repeat;background-size:calc(100% - 2 * var(--s-2)) 1px;background-position:var(--s-2) 0}.history-row:first-child,.history-row+.history-row{--h-rule:var(--line-1)}.history-row:hover{background-color:var(--surface-3)}.history-row:hover .h-when,.history-row:hover .h-bpm,.history-row:hover .h-hit,.history-row:hover .h-loops,.history-row:hover .h-score{color:var(--text-2)}.h-when{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-3);overflow:hidden}.h-score,.h-bpm,.h-hit,.h-loops{text-align:right}.h-score{color:var(--text-3)}.h-score b,.h-bpm b,.h-hit b,.h-loops b{color:var(--text-1);font-weight:500}.h-detail{display:contents}.h-bpm,.h-hit,.h-loops{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-3);position:relative;overflow:hidden}.h-unit{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;font-style:normal;position:absolute;overflow:hidden}.h-tags{justify-content:flex-end;align-items:center;gap:var(--s-1);display:inline-flex}.h-best{border-left-width:2px;border-left-color:var(--selected);padding-left:7px}.h-best.is-clear{color:var(--ok);border-top-color:var(--ok);border-right-color:var(--ok);border-bottom-color:var(--ok);background:var(--ok-tint)}.history-more{font:var(--t-caption);color:var(--text-3);margin:0}.take-history--one .history-cols{display:none}.take-history--one .history-row{--h-rule:transparent}@container ledger (width>=26.9375rem){.take-history--one .history-row{grid-template-columns:8ch 10ch minmax(0,1fr) auto}.take-history--one .h-when{grid-area:1/1}.take-history--one .h-score{grid-area:1/2}.take-history--one .h-tags{grid-area:1/4}.take-history--one .h-detail{align-items:baseline;gap:0 var(--s-2);flex-wrap:wrap;grid-area:1/3;display:flex}}.take-history--one .h-bpm,.take-history--one .h-hit,.take-history--one .h-loops{text-align:left}.take-history--one .h-unit{clip-path:none;width:auto;height:auto;margin:0;position:static;overflow:visible}.take-history--one .h-detail>*+:before{content:"·";margin-right:var(--s-2);color:var(--text-3)}.take-history--one .h-tags:empty{display:none}.history-empty{justify-content:center;gap:var(--s-2);flex-direction:column;max-width:44ch;min-height:36px;display:flex}.history-empty-title{font:var(--t-h3);letter-spacing:var(--t-h3-ls);color:var(--text-1);margin:0}.history-empty-note{font:var(--t-caption);color:var(--text-3);margin:0}.storage-body{gap:var(--s-3);padding-left:calc(16px + var(--s-3) + var(--rig-glyph-inset,0px));flex-direction:column;display:flex}.storage-issues{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.storage-issue{align-items:start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--warn);border-radius:var(--r-3);background:var(--warn-tint);font:var(--t-caption);color:var(--text-2);grid-template-columns:8px minmax(0,1fr);display:grid}.storage-issue>span,.storage-message>span,.storage-copy,.storage-pending p{max-width:62ch}.storage-issue,.storage-message{max-width:calc(62ch + 54px)}.storage-copy{font:var(--t-caption);color:var(--text-2);text-wrap:balance;margin:0}.storage-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.storage-recovery{margin:0}.storage-locked-note{font:var(--t-caption);color:var(--text-3)}.storage-replace{box-shadow:inset 0 1px 0 var(--line-glow)}.storage-pending{gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface-2);flex-direction:column;display:flex}.storage-pending p{font:var(--t-caption);color:var(--text-1);margin:0}.storage-message{align-items:start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-3);font:var(--t-caption);color:var(--text-1);border:1px solid #0000;grid-template-columns:8px minmax(0,1fr);margin:0;display:grid}.storage-message>.led{margin-top:5px}.storage-message--ok{border-color:var(--ok);background:var(--ok-tint)}.storage-message--warn{border-color:var(--warn);background:var(--warn-tint)}.storage-message--danger{border-color:var(--danger);background:var(--danger-tint)}.storage-message:empty{display:none}.offline-panel{align-items:center;gap:var(--s-3);font:var(--t-caption);color:var(--text-3);display:flex}.offline-status .led{margin-right:var(--s-2);vertical-align:middle}.footer-strip .offline-status{color:var(--text-3)}.offline-panel--update .offline-status,.offline-panel--warn .offline-status,.footer-strip .offline-panel--update .offline-status,.footer-strip .offline-panel--warn .offline-status{color:var(--text-1)}.footer-strip{container:footerstrip/inline-size}.footer-strip-row>:not(:last-child,.offline-panel):after,.footer-strip .offline-panel>:after{color:var(--text-3)}@media (width>=601px){@container footerstrip (width<=562px){.footer-strip-row{column-gap:var(--s-5)}.footer-strip-row>:not(:last-child,.offline-panel):after,.footer-strip .offline-panel>:after{content:none}}}.install-btn .icon{color:var(--text-3)}.install-btn:hover:not(:disabled) .icon{color:var(--text-1)}@media (width<=1099px){.score-verdict{gap:var(--s-6)}}@container history (width<=26.875rem){.history-head{row-gap:var(--s-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.history-id{display:contents}.history-title{grid-area:1/1}.history-best{grid-area:2/1/3/-1}.history-export{grid-area:1/2;justify-self:end}}@container ledger (width<=26.875rem){.history-cols{display:none}.history-row{column-gap:var(--s-3);row-gap:var(--s-1);min-height:0;padding-block:var(--s-2);grid-template-columns:6.7ch minmax(0,1fr) auto}.h-when{grid-area:1/1}.h-score{text-align:left;grid-area:1/2}.h-tags{grid-area:1/3;justify-self:end}.h-detail{gap:0 var(--s-2);flex-wrap:wrap;grid-area:2/1/3/-1;display:flex}.h-bpm,.h-hit,.h-loops{text-align:left;color:var(--text-3)}.h-bpm b,.h-hit b,.h-loops b{color:var(--text-2)}.h-unit{clip-path:none;width:auto;height:auto;margin:0;position:static;overflow:visible}.h-detail>*+:before{content:"·";margin-right:var(--s-2);color:var(--text-3)}}@media (width<=760px){.storage-body{padding-left:0}}@media (width<=600px){.score-verdict{gap:var(--s-4)}.storage-actions{gap:var(--s-2);grid-template-columns:1fr;display:grid}.storage-actions .transfer-btn{justify-content:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){.score-seg,.score-coaching,.score-ladder{animation-duration:1ms;animation-delay:0s}.score-panel:has(.score-ladder.is-unlock):before{animation-duration:1ms;animation-delay:0s}}dialog.editor-backdrop{z-index:80;width:100%;max-width:none;height:100%;max-height:none;padding:var(--s-5);color:var(--text-2);background:0 0;border:0;place-items:center;margin:0;display:grid;position:fixed;inset:0;overflow:hidden}dialog.editor-backdrop:not([open]):not([data-closing]){display:none}dialog.editor-backdrop[data-closing]{pointer-events:none;transition:overlay var(--d-2) var(--e-in) allow-discrete;animation:editor-out var(--d-2) var(--e-in) forwards}dialog.editor-backdrop[data-closing]::backdrop{animation:editor-backdrop-out var(--d-2) var(--e-in) forwards}.pattern-editor{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-4);width:min(960px,100%);max-height:100%;box-shadow:var(--shadow-dialog), inset 0 1px 0 var(--line-glow);display:flex;overflow:hidden}.pattern-editor>form{flex-direction:column;width:100%;min-height:0;display:flex}.editor-backdrop[open] .pattern-editor{animation:editor-in var(--d-3) var(--e-out)}.editor-backdrop[open]::backdrop{animation:editor-backdrop-in var(--d-3) var(--e-out)}@keyframes editor-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@keyframes editor-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes editor-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)scale(.99)}}@keyframes editor-backdrop-out{0%{opacity:1}to{opacity:0}}.editor-head{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:var(--s-8);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--line-1);flex:none;display:flex}.eyebrow{color:var(--text-3);font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;margin-bottom:2px;display:block}.editor-head h2{color:var(--text-1);font:var(--t-h2);letter-spacing:var(--t-h2-ls);margin:0}.icon-btn{color:var(--text-3);flex:none}.icon-btn:hover:not(:disabled){color:var(--text-1)}.editor-body{overscroll-behavior:contain;min-height:0;padding:var(--s-5);gap:var(--s-5);flex:auto;align-content:start;scroll-padding-block-end:var(--s-5);display:grid;overflow-y:auto}.editor-body[data-more]{-webkit-mask-image:linear-gradient(to top, transparent 0, var(--surface-1) var(--s-5));-webkit-mask-image:linear-gradient(to top, transparent 0, var(--surface-1) var(--s-5));mask-image:linear-gradient(to top, transparent 0, var(--surface-1) var(--s-5))}.editor-body[data-more-above]{-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--surface-1) var(--s-5));-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--surface-1) var(--s-5));mask-image:linear-gradient(to bottom, transparent 0, var(--surface-1) var(--s-5))}.editor-body[data-more][data-more-above]{-webkit-mask-image:linear-gradient(to top, transparent 0, var(--surface-1) var(--s-5)), linear-gradient(to bottom, transparent 0, var(--surface-1) var(--s-5));-webkit-mask-image:linear-gradient(to top, transparent 0, var(--surface-1) var(--s-5)), linear-gradient(to bottom, transparent 0, var(--surface-1) var(--s-5));mask-image:linear-gradient(to top, transparent 0, var(--surface-1) var(--s-5)), linear-gradient(to bottom, transparent 0, var(--surface-1) var(--s-5));-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect}.editor-fields,.editor-tail{gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.editor-name{grid-column:span 4}.editor-time{grid-column:span 2}.editor-res,.editor-bars{grid-column:span 3}.editor-tempo{grid-column:span 4}.editor-feel{grid-column:span 5}.editor-swing{grid-column:span 3}.editor-description{grid-column:1/-1}.editor-field>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.field-note{color:var(--text-3);font:var(--t-caption)}.pattern-editor .editor-description textarea{field-sizing:content;height:auto;min-height:var(--s-8);max-height:calc(var(--s-8) * 2.5);padding:var(--s-2) var(--s-3);resize:none;line-height:1.5}@supports not (field-sizing:content){.pattern-editor .editor-description textarea{resize:vertical}}.pattern-editor input:focus-visible,.pattern-editor select:focus-visible{outline-offset:0}.pattern-editor ::selection{background:var(--key-soft);color:var(--text-1)}.editor-field[data-invalid]>span:first-child{color:var(--danger)}.pattern-editor .editor-field[data-invalid] input{border-color:var(--danger);background:var(--danger-tint)}.tempo-stepper{align-items:center;display:flex}.pattern-editor .tempo-stepper input{min-width:0;font:var(--t-h2);letter-spacing:var(--t-h2-ls);font-variant-numeric:tabular-nums;appearance:textfield;flex:auto}.tempo-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tempo-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tempo-step{width:var(--h-md);height:var(--h-md);border:1px solid var(--line-2);border-radius:var(--r-2);color:var(--text-2);transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tempo-step .step-glyph{width:16px;height:16px}.tempo-stepper .tempo-step:first-of-type{margin-left:var(--s-2);border-top-right-radius:0;border-bottom-right-radius:0}.tempo-stepper .tempo-step:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.tempo-step:hover:not(:disabled){z-index:1;background:var(--surface-3);border-color:var(--line-3);color:var(--text-1)}.tempo-step:active:not(:disabled){transform:translateY(1px)}.tempo-step:focus-visible{z-index:2}.editor-paint{gap:var(--s-3);display:grid}.editor-grid-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);display:flex}.editor-grid-head h3{color:var(--text-1);font:var(--t-h3);margin:0}.editor-grid-head p{max-width:62ch;color:var(--text-3);font:var(--t-caption);margin:2px 0 0}.editor-grid-head .kbd--mini{vertical-align:baseline}.editor-grid-head .on-coarse{display:none}@media (pointer:coarse){.editor-grid-head .on-fine{display:none}.editor-grid-head .on-coarse{display:inline}}.editor-helpers{align-items:center;gap:var(--s-2);flex:none;display:flex}.editor-count{color:var(--text-3)}.editor-count .num{color:var(--text-1);font-variant-numeric:tabular-nums}.editor-count-sep{color:var(--text-3)}.editor-count.chip--warn,.editor-count.chip--warn .num{color:var(--warn)}.editor-count.chip--warn{border-color:var(--warn);background:var(--warn-tint)}.editor-count.chip--danger,.editor-count.chip--danger .num{color:var(--danger)}.editor-count.chip--danger{border-color:var(--danger);background:var(--danger-tint)}.brushes{--brush-art-gap:2.5px;--brush-pair-gutter:var(--s-2);grid-template-columns:repeat(2, minmax(0, 1fr)) var(--brush-pair-gutter) repeat(2, minmax(0, 1fr)) var(--brush-pair-gutter) repeat(2, minmax(0, 1fr)) var(--brush-pair-gutter) minmax(0, 1fr);column-gap:var(--s-1);row-gap:var(--s-4);margin:0;display:grid}.brush:nth-child(3){grid-column:4}.brush:nth-child(4){grid-column:5}.brush:nth-child(5){grid-column:7}.brush:nth-child(6){grid-column:8}.brush:nth-child(7){grid-column:10}.brush{justify-content:flex-end;align-items:center;gap:var(--s-1);min-width:0;height:64px;padding:12px var(--s-2) 4px;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface-2);color:var(--text-2);font:var(--t-button);letter-spacing:var(--t-button-ls);box-shadow:inset 0 1px 0 var(--line-glow);transition:background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out), color var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.brush--rest{background:var(--surface-0);border-style:dashed}@media (hover:hover){.brush:hover{background:var(--surface-3);border-color:var(--line-3);color:var(--text-1)}}.brush:active{transform:translateY(1px)}.brush[data-active],.brush[data-active]:hover{background:var(--surface-4);border-color:var(--line-2);box-shadow:inset 0 2px 0 var(--selected);color:var(--text-1)}.brush-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;padding-bottom:3px;overflow:hidden}.kbd--mini{letter-spacing:0;font-variant-numeric:tabular-nums;min-width:18px;height:18px;transition:color var(--d-2) var(--e-out), background-color var(--d-2) var(--e-out);padding:0 3px}.brush-key{top:5px;color:var(--text-3);flex:none;position:absolute;inset-inline-end:5px}.brush:hover .brush-key{background:var(--surface-4);color:var(--text-2)}.brush[data-active] .brush-key{background:var(--key-soft);color:var(--text-2)}.brush-glyph{flex:none;justify-content:center;align-items:center;width:16px;height:27px;display:flex;position:relative}.brush-glyph .arrow{flex:none;width:16px;height:27px}.brush-glyph .arrow :is(.head-edge,.mute-cross-edge),.editor-slot .arrow :is(.head-edge,.mute-cross-edge){vector-effect:non-scaling-stroke;stroke-width:1.5px}.brush-glyph .arrow.ghost .head-edge,.editor-slot .arrow.ghost .head-edge{stroke-width:2px}.brush-art{left:50%;bottom:calc(100% + var(--brush-art-gap));line-height:0;display:flex;position:absolute;transform:translate(-50%)}.brush-art .wedge{width:8px;height:6.7px}.brush--up .brush-art .wedge,.editor-slot[data-stroke=up] .wedge{transform:rotate(180deg)}.editor-slot[data-art=accent] .arrow .head,.editor-slot[data-art=accent] .arrow .head-edge,.brush[data-art=accent] .arrow .head,.brush[data-art=accent] .arrow .head-edge{transform-box:view-box;transform-origin:16px 50px;transform:scale(1.15)}.editor-slot[data-art=accent] .arrow.up .head,.editor-slot[data-art=accent] .arrow.up .head-edge,.brush[data-art=accent] .arrow.up .head,.brush[data-art=accent] .arrow.up .head-edge{transform-origin:16px 22px}.editor-grid-frame{--editor-band-h:0px;--editor-ruler-h:28px;--editor-art-h:18px;--editor-strip-h:calc(var(--editor-band-h) + var(--editor-ruler-h));border:1px solid var(--line-1);border-radius:var(--r-3);background-color:var(--surface-2);background-image:linear-gradient(to bottom, var(--surface-1) 0 calc(var(--editor-strip-h) - 1px), var(--line-1) calc(var(--editor-strip-h) - 1px) var(--editor-strip-h), transparent var(--editor-strip-h));box-shadow:inset 0 1px 0 var(--line-glow);transition:border-color var(--d-2) var(--e-out);position:relative;overflow:hidden}.editor-grid-frame[data-multibar]{--editor-band-h:22px;background-image:linear-gradient(to bottom, var(--surface-1) 0 calc(var(--editor-band-h) - 1px), var(--line-1) calc(var(--editor-band-h) - 1px) var(--editor-band-h), var(--surface-1) var(--editor-band-h) calc(var(--editor-strip-h) - 1px), var(--line-1) calc(var(--editor-strip-h) - 1px) var(--editor-strip-h), transparent var(--editor-strip-h))}.editor-grid-frame:before,.editor-grid-frame:after{content:"";background-color:var(--surface-2);background-image:inherit;opacity:0;pointer-events:none;z-index:2;width:56px;transition:opacity var(--d-2) var(--e-out);position:absolute;top:0;bottom:0}.editor-grid-frame:before{-webkit-mask-image:linear-gradient(90deg, var(--surface-1), transparent);-webkit-mask-image:linear-gradient(90deg, var(--surface-1), transparent);mask-image:linear-gradient(90deg, var(--surface-1), transparent);left:0}.editor-grid-frame:after{-webkit-mask-image:linear-gradient(270deg, var(--surface-1), transparent);-webkit-mask-image:linear-gradient(270deg, var(--surface-1), transparent);mask-image:linear-gradient(270deg, var(--surface-1), transparent);right:0}.editor-grid-frame[data-fade-left]:before,.editor-grid-frame[data-fade-right]:after{opacity:1}.editor-grid-wrap{overscroll-behavior-x:contain;scroll-snap-type:x proximity;overflow-x:auto}.editor-grid-wrap::-webkit-scrollbar{height:8px}.editor-grid-wrap::-webkit-scrollbar-track{background:0 0}.editor-grid-wrap::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:var(--line-3);background-clip:padding-box;border:2px solid #0000}.editor-grid-frame:has(.editor-slot:focus-visible){border-color:var(--line-2)}.editor-paint[data-invalid] .editor-grid-frame{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-tint), inset 0 1px 0 var(--line-glow)}.editor-bar-rail{margin-bottom:calc(var(--s-1) * -1);justify-self:start}.bar-jump{min-width:var(--s-8);font:var(--t-caption);letter-spacing:0}.editor-bar-rail>.bar-jump[aria-current]{background:var(--surface-4);color:var(--text-1)}.editor-grid{--editor-slots:8;--editor-cell:56px;--editor-lane-h:98px;--editor-arrow-min:74px;--editor-arrow-h:clamp(var(--editor-arrow-min), 134cqi, calc(var(--editor-lane-h) - 20px));--editor-arrow-w:calc(var(--editor-arrow-h) / 2.25);--editor-pad-inset:max(2px, calc((var(--editor-lane-h) - var(--editor-arrow-h)) / 2 - 6px));--swing-shift:0;--editor-pad-real:min(calc(100cqi - var(--s-2)), clamp(calc(var(--editor-arrow-w) + var(--s-4)), 74cqi, calc(var(--editor-arrow-h) * .86)));--editor-pad-cap:calc(var(--editor-lane-h) - var(--editor-pad-inset) * 2);--editor-pad-half:calc(var(--editor-pad-real) / 2);--swing-travel:max(0px, min(calc(var(--swing-shift,0) * 100cqi), calc(50cqi - var(--editor-pad-half) - var(--s-2))));--paint-hint:var(--line-2);grid-template-columns:repeat(var(--editor-slots), minmax(var(--editor-cell), 1fr));min-width:calc(var(--editor-slots) * var(--editor-cell));display:grid}.editor-grid[data-touch-paint]{touch-action:pan-y}.editor-slot{min-width:0;height:calc(var(--editor-strip-h) + var(--editor-art-h) + var(--editor-lane-h));grid-template-rows:var(--editor-strip-h) var(--editor-art-h) minmax(0, 1fr);color:var(--text-1);cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative;container-type:inline-size}.editor-slot:after{content:"";left:0;top:var(--editor-band-h);background:0 0;width:1px;position:absolute;bottom:0}.editor-slot.on-beat:after{background:var(--line-1)}.editor-slot:first-child:after{display:none}.editor-slot.bar-start{scroll-snap-align:start}.editor-slot.bar-start:after{background:var(--line-3)}@media (hover:hover){.editor-slot:hover .cell-label{color:var(--text-2)}}.editor-grid[data-brush=down]{--paint-hint:var(--down)}.editor-grid[data-brush=up]{--paint-hint:var(--up)}.editor-slot:focus-visible{z-index:4;outline:none}.editor-slot-ring{width:calc(var(--editor-pad-real) + 8px);left:50%;top:calc(var(--editor-strip-h) + var(--editor-art-h) + 2px);max-height:calc(var(--editor-pad-cap) + 8px);transform:translateX(calc(-50% + var(--swing-travel)));z-index:3;border-radius:calc(var(--r-2) + 4px);pointer-events:none;transition:transform var(--d-3) var(--e-out);margin-block:auto;position:absolute;bottom:2px}.editor-slot:focus-visible .editor-slot-ring{box-shadow:0 0 0 2px var(--focus), 0 0 0 4px var(--surface-0)}@media (forced-colors:active){.editor-slot:focus-visible .editor-slot-ring{outline-offset:0;outline:2px solid highlight}.editor-slot-arrow:before{outline-offset:-1px;outline:1px solid canvastext}.brush[data-active]{outline-offset:-3px;outline:2px solid highlight}}.editor-slot .cell-ruler{--lane-ruler:var(--editor-strip-h);width:100%}.editor-slot[data-swung]{--swing-mark:var(--swing-travel)}.editor-slot[data-swung] .editor-slot-arrow{transform:translateX(var(--swing-travel))}.editor-slot-art{width:100%;height:100%;transition:transform var(--d-3) var(--e-out);justify-content:center;align-items:center;display:flex}.editor-slot[data-swung] .editor-slot-art{transform:translateX(var(--swing-travel))}.editor-slot-arrow{width:100%;height:100%;transition:transform var(--d-3) var(--e-out);justify-content:center;align-items:center;display:flex;position:relative}.editor-slot-arrow:before{content:"";width:var(--editor-pad-real);height:min(calc(100% - var(--editor-pad-inset) * 2), var(--editor-pad-cap));border-radius:var(--r-2);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line-1), inset 0 1px 0 var(--line-glow);pointer-events:none;transition:background-color var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.editor-slot[data-stroke=rest] .editor-slot-arrow:before{background:var(--surface-0);box-shadow:none}.editor-slot .arrow,.editor-paint-ring{z-index:1}.editor-slot .arrow{width:var(--editor-arrow-w);height:var(--editor-arrow-h);position:relative}@media (hover:hover){.editor-slot:hover .editor-slot-arrow:before{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--paint-hint), inset 0 1px 0 var(--line-glow)}.editor-slot[data-stroke=rest]:hover .editor-slot-arrow:before{background:var(--surface-1)}.editor-grid[data-brush=rest] .editor-slot:hover .editor-slot-arrow:before{background:var(--surface-0);box-shadow:inset 0 0 0 1px var(--line-2)}}.editor-slot:active .editor-slot-arrow{transform:translateX(var(--swing-travel)) translateY(1px);transition-duration:var(--d-1)}.editor-slot:active .editor-slot-arrow:before{background:var(--surface-4)}.editor-slot:active .editor-slot-ring{transform:translateX(calc(-50% + var(--swing-travel))) translateY(1px);transition-duration:var(--d-1)}.editor-paint-ring{border:1px solid var(--key);opacity:0;pointer-events:none;width:10px;height:10px;animation:editor-paint var(--d-3) var(--e-out);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes editor-paint{0%{opacity:.45;width:10px;height:10px}to{opacity:0;width:56px;height:56px}}.editor-bar-stamp{top:3px;left:var(--s-2);height:16px;max-width:calc(100% - var(--s-3));padding:0 var(--s-1);background:var(--surface-3);color:var(--text-2);white-space:nowrap;position:absolute;overflow:hidden}.editor-grid[data-multibar] .editor-slot.bar-start .cell-ruler:before{content:"";background:var(--line-3);width:1px;height:16px;position:absolute;top:3px;left:0}.editor-note{margin:0}.editor-footer{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line-1);background:var(--surface-1);flex-wrap:wrap;flex:none;display:flex}.editor-error{align-items:center;gap:var(--s-2);min-height:20px;color:var(--danger);font:var(--t-caption);flex:auto;display:flex}.editor-error:empty{flex-basis:0}.editor-footer .secondary-btn{height:var(--h-md);padding:0 var(--s-4)}.save-pattern-btn{height:var(--h-md);padding:0 var(--s-5)}.recovery-page{min-height:100dvh;padding:var(--s-5);background:var(--surface-0);place-items:center;display:grid}.recovery-card{width:min(480px,100%);padding:var(--s-5);gap:var(--s-3);display:grid}.recovery-head{align-items:center;gap:var(--s-2);margin:0 0 calc(var(--s-2) * -1);display:flex}.recovery-eyebrow{align-items:center;gap:var(--s-2);color:var(--text-3);font:var(--t-caption);margin:0;display:flex}.recovery-card h1{color:var(--text-1);font:var(--t-h1);letter-spacing:var(--t-h1-ls);margin:0}.recovery-lede{max-width:62ch;color:var(--text-2);font:var(--t-body);margin:0}.recovery-actions{gap:var(--s-2);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.recovery-actions .btn--ghost .icon{color:var(--text-3)}.recovery-actions .btn--key .icon{color:var(--text-on-key)}.recovery-danger{padding-top:var(--s-3);border-top:1px solid var(--line-1);display:flex}.recovery-reset{align-self:flex-start;width:auto}.recovery-reset,.recovery-reset .icon{color:var(--danger)}.recovery-reset:hover:not(:disabled){border-color:var(--danger);background:var(--danger-tint);color:var(--danger)}.recovery-alert{align-items:flex-start;gap:var(--s-2);color:var(--danger);font:var(--t-caption);margin:0;display:flex}.recovery-alert:empty{display:none}.recovery-alert .icon{flex:none;margin-top:1px}.recovery-privacy{align-items:flex-start;gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--line-1);color:var(--text-3);font:var(--t-caption);margin:0;display:flex}.recovery-privacy .icon{flex:none;margin-top:1px}.help-prose+.help-prose{margin-top:var(--s-3)}.help-marks{grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.help-mark{grid-column:1/-1;grid-template-columns:subgrid;column-gap:var(--s-5);min-height:36px;padding:var(--s-2) 0;border-top:1px solid var(--line-1);align-items:center;display:grid}.help-mark:first-child{border-top:0}.help-mark>dt{color:var(--text-2);font:var(--t-caption);letter-spacing:var(--t-caption-ls);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.help-mark--set{row-gap:var(--s-2);grid-template-columns:minmax(0,1fr)}.help-mark--set>dt{gap:var(--s-2) var(--s-4);white-space:normal;flex-wrap:wrap}.help-mark>dd{color:var(--text-2);font:var(--t-body);margin:0}.help-mark .legend-swing,.help-mark .legend-hitrate{flex:none}@media (width<=600px){.help-marks,.help-mark{grid-template-columns:minmax(0,1fr)}.help-mark{row-gap:var(--s-1);padding:var(--s-3) 0;align-items:start}}.help-body{scroll-padding-block:var(--s-5);scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;padding-top:0}.help-body:focus-visible{outline-offset:-2px;box-shadow:none}.help-body:before{content:"";z-index:1;height:var(--s-5);background:linear-gradient(to top, transparent, var(--surface-1));opacity:0;pointer-events:none;transition:opacity var(--d-2) var(--e-out);display:block;position:sticky;top:0}.help-body:after{opacity:0;transition:opacity var(--d-2) var(--e-out)}.help-body[data-more-above]:before,.help-body[data-more]:after{opacity:1}.help-panel:has(.help-body[data-more]):after{opacity:1}.help-shortcut{scroll-margin-block:var(--s-2)}.help-note{margin:var(--s-2) 0 0;max-width:62ch;color:var(--text-3);font:var(--t-caption)}.help-shortcut .kbd-thru,.editor-grid-head .kbd-thru{padding:0 var(--s-1);color:var(--text-3);font:var(--t-caption)}.help-keymap{grid-template-columns:minmax(0,1fr) max-content;display:grid}.help-keymap>.help-shortcuts{display:contents}.help-keymap .help-shortcut>dd{grid-area:1/1}.help-keymap .help-shortcut>dt{grid-area:1/2}.help-subhead{padding:var(--s-3) 0 var(--s-2);border-top:1px solid var(--line-1);color:var(--text-3);font:var(--t-caption);letter-spacing:var(--t-caption-ls);grid-column:1/-1;margin:0}.help-shortcut .kbd-or{width:auto;padding:0 var(--s-1);color:var(--text-3);font:var(--t-caption)}.help-shortcut .kbd-plus{color:var(--text-3)}@media (hover:none) and (pointer:coarse){.help-keymap{display:none}}@media (width<=900px){.editor-fields,.editor-tail{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-name{grid-column:span 3}.editor-time,.editor-res,.editor-bars,.editor-tempo,.editor-feel,.editor-swing{grid-column:span 1}}@media (width<=1000px){.brushes{grid-template-columns:repeat(2, minmax(0, 1fr)) var(--brush-pair-gutter) repeat(2, minmax(0, 1fr))}.brush:nth-child(-n+4){grid-row:1}.brush:nth-child(n+5){grid-row:2}.brush:nth-child(3),.brush:nth-child(7){grid-column:4}.brush:nth-child(4){grid-column:5}.brush:nth-child(5){grid-column:1}.brush:nth-child(6){grid-column:2}}@media (width<=540px){.brushes{grid-template-columns:repeat(2,minmax(0,1fr))}.brush:nth-child(n){grid-area:auto}}@media (width<=760px){.editor-head{min-height:var(--h-lg);padding:var(--s-2) var(--s-4)}.editor-body{padding:var(--s-4);gap:var(--s-4)}.editor-fields,.editor-tail{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}.editor-name{grid-column:span 2}.editor-time,.editor-res,.editor-bars,.editor-tempo,.editor-feel,.editor-swing{grid-column:span 1}.editor-grid-head{align-items:stretch;gap:var(--s-2);flex-direction:column}.editor-helpers{justify-content:flex-start}.editor-grid-frame[data-multibar]{--editor-band-h:20px}.editor-grid{--editor-cell:48px;--editor-lane-h:84px;--editor-arrow-min:62px}.editor-bar-stamp{height:15px;top:2px}.editor-footer{padding:var(--s-3) var(--s-4)}}@media (width<=600px){dialog.editor-backdrop{place-items:stretch stretch;padding:0}.pattern-editor{border:0;border-radius:0;align-self:stretch;width:100%;min-height:100%;max-height:100%}.editor-body,.editor-paint{flex-direction:column;display:flex}.editor-paint{flex:1 0 auto}.editor-bar-rail{align-self:flex-start}.editor-grid-frame{max-height:calc(var(--editor-strip-h) + var(--editor-art-h) + var(--editor-lane-h) + var(--s-7));flex:1 0 auto}.editor-grid,.editor-grid-wrap{height:100%}.editor-slot{grid-template-rows:var(--editor-strip-h) var(--editor-art-h) minmax(var(--editor-lane-h), 1fr);height:100%}.editor-fields,.editor-tail{gap:var(--s-3);grid-template-columns:minmax(0,1fr)}.editor-body{gap:var(--s-3)}.editor-name,.editor-time,.editor-res,.editor-bars,.editor-tempo,.editor-feel,.editor-swing{grid-column:1/-1}.editor-grid{--editor-cell:44px}.editor-grid-frame[data-multibar]{--editor-band-h:0px}.editor-bar-stamp{display:none}.editor-footer .secondary-btn,.save-pattern-btn{flex:auto}.recovery-card{padding:var(--s-4)}}@media (hover:none) and (pointer:coarse){.brush-key{display:none}.tempo-step{width:44px;height:44px}.pattern-editor .tempo-stepper input{height:44px}.editor-slot{cursor:default}}}@layer utilities{.t-display{font:var(--t-display);letter-spacing:var(--t-display-ls);font-variant-numeric:tabular-nums}.t-score{font:var(--t-score);letter-spacing:var(--t-score-ls);font-variant-numeric:tabular-nums}.t-readout{font:var(--t-readout);letter-spacing:var(--t-readout-ls);font-variant-numeric:tabular-nums}.t-bpm{font:var(--t-bpm);letter-spacing:var(--t-bpm-ls);font-variant-numeric:tabular-nums}.t-h1{font:var(--t-h1);letter-spacing:var(--t-h1-ls)}.t-h2{font:var(--t-h2);letter-spacing:var(--t-h2-ls)}.t-h3{font:var(--t-h3)}.t-body{font:var(--t-body)}.t-strong{font:var(--t-strong)}.t-button{font:var(--t-button);letter-spacing:var(--t-button-ls)}.t-caption{font:var(--t-caption)}.t-label{font:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase}.t-mono-s{font:var(--t-mono-s)}.t-mono-m{font:var(--t-mono-m)}.text-1{color:var(--text-1)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.prose{max-width:62ch}.u-hidden{display:none!important}}@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;font-display:swap;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations")}:root{--font-ui:"Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}html{font-family:var(--font-ui);font-feature-settings:"cv11", "ss01", "calt";-webkit-font-smoothing:antialiased}.num{font-variant-numeric:tabular-nums}
