@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--surface-0: oklch(.16 0 0);--surface-1: oklch(.2 0 0);--surface-2: oklch(.24 0 0);--surface-3: oklch(.28 0 0);--border: oklch(.3 0 0);--border-soft: oklch(.24 0 0);--text: oklch(.96 0 0);--text-mut: oklch(.65 0 0);--text-dim: oklch(.45 0 0);--foreground: var( --text );--accent: oklch(.63 .19 358);--accent-hi: oklch(.7 .2 358);--accent-lo: oklch(.42 .12 358);--accent-wash: oklch(.63 .19 358 / .12);--rec: oklch(.65 .22 25);--ok: oklch(.78 .16 150);--badge-recipe: oklch(.7 .15 150);--badge-recipe-text: oklch(.78 .1 150);--badge-example: oklch(.7 .13 280);--badge-example-text: oklch(.78 .08 280);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-sans: "Geist Variable", system-ui, -apple-system, Segoe UI, sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--code-sm: 13px;--code-base: 15px;--lh-xs: 16px;--lh-sm: 18px;--lh-base: 20px;--lh-md: 22px;--shadow-low: 0 1px 2px oklch(0 0 0 / .4);--shadow-pop: 0 2px 4px oklch(0 0 0 / .4), 0 8px 24px oklch(0 0 0 / .5);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--t-hover: .12s ease-out;--t-panel: .2s cubic-bezier(.16, 1, .3, 1);--t-pop-in: .12s ease-out;--t-pop-out: 80ms ease-in;--top-bar-h: 40px;--transport-h: 32px;--left-rail-w: 240px;--roll-h: 180px;--roll-min-h: 80px;--roll-max-h: 360px;--right-rail-w: 36px;--right-rail-tabs-w: 36px;--right-rail-min: 240px;--right-rail-max: 480px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--surface-0);color:var(--text);color-scheme:dark;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","ss03","cv11";overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}body{overflow:hidden}::selection{background:#dd4a8959;color:var(--text)}button,[role=button],.btn,.transport,.top-bar,.left-rail__item,.track-bar{-webkit-touch-callout:none}.dev-only{display:none!important}.dev-mode .dev-only{display:revert!important}.dev-mode .dev-only.btn{display:inline-flex!important}.shell{display:grid;grid-template-columns:var(--left-rail-w) minmax(0,1fr) var(--right-rail-w);grid-template-rows:var(--top-bar-h) 1fr var(--transport-h) auto auto auto var(--roll-h);grid-template-areas:"topbar      topbar      topbar" "rail        editor      right-rail" "transport   transport   transport" "arrangebar  arrangebar  arrangebar" "trackbar    trackbar    trackbar" "midibar     midibar     midibar" "roll        roll        roll";height:100dvh;width:100vw;overflow:hidden;transition:grid-template-rows var(--t-panel)}.boot-progress{position:absolute;top:0;left:0;z-index:100;width:100%;height:2px;background:transparent;pointer-events:none}.boot-progress:after{content:"";display:block;height:100%;width:100%;background:var(--accent);border-radius:0 1px 1px 0;transform:scaleX(var(--boot-pct, 0));transform-origin:left center;transition:transform .4s cubic-bezier(.16,1,.3,1)}.boot-progress--done:after{opacity:0;transition:transform .2s ease-out,opacity .4s .1s ease-out}.shell.is-booting .transport__status{animation:status-pulse 1.8s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.shell.shell--roll-collapsed{--roll-h: 0px}.top-bar{grid-area:topbar}.left-rail{grid-area:rail}.editor-pane{grid-area:editor}.right-rail{grid-area:right-rail}.transport{grid-area:transport}.arrange-bar{grid-area:arrangebar;min-width:0;min-height:0}.track-bar{grid-area:trackbar;min-width:0;min-height:0}.midi-bar{grid-area:midibar;min-width:0;min-height:0}.roll-pane{grid-area:roll}.top-bar{border-bottom:1px solid var(--border)}.left-rail{border-right:1px solid var(--border)}.right-rail{border-left:1px solid var(--border)}.transport,.roll-pane{border-top:1px solid var(--border)}.top-bar,.transport,.roll-pane,.left-rail,.right-rail{background:var(--surface-1);min-width:0;min-height:0}.editor-pane{display:flex;flex-direction:column;background:var(--surface-0);min-width:0;min-height:0;overflow:hidden;box-shadow:inset 4px 0 8px #00000026}.editor-pane>.editor{flex:1 1 auto;min-height:0}.btn{--btn-bg: transparent;--btn-fg: var(--text);--btn-bd: transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);height:28px;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bd);border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),box-shadow var(--t-hover)}.btn:hover{--btn-bg: var(--surface-3);--btn-bd: var(--border)}.btn:active{--btn-bg: var(--surface-2)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled{opacity:.5;cursor:progress;background:var(--btn-bg)}.btn.is-flash-ok{--btn-bg: var(--accent-wash);--btn-fg: var(--accent-hi);--btn-bd: color-mix(in oklch, var(--accent) 40%, transparent)}.btn.is-flash-err{--btn-bg: color-mix(in oklch, var(--rec) 12%, transparent);--btn-fg: var(--rec);--btn-bd: color-mix(in oklch, var(--rec) 40%, transparent)}.btn--ghost{--btn-bg: transparent;--btn-bd: transparent}.btn--icon{width:28px;padding:0;gap:0}.btn__icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor}.btn__icon svg{display:block;width:16px;height:16px;stroke:currentColor}.btn__label{font-size:var(--text-sm);letter-spacing:.01em}@supports (padding: env(safe-area-inset-top,0px)){@media(display-mode:standalone),(display-mode:fullscreen){:root{--top-bar-h: calc(40px + env(safe-area-inset-top, 0px)) ;--transport-h: calc(32px + env(safe-area-inset-bottom, 0px)) }.top-bar{padding-top:env(safe-area-inset-top,0px);align-items:flex-end}.transport{padding-bottom:env(safe-area-inset-bottom,0px);align-items:flex-start}}}@supports (height: env(titlebar-area-height,0px)){@media(display-mode:window-controls-overlay){:root{--top-bar-h: env(titlebar-area-height, 40px)}.top-bar{-webkit-app-region:drag;app-region:drag;padding-left:max(calc(env(titlebar-area-x,0px) + var(--space-4)),var(--space-4));padding-right:max(calc(100vw - env(titlebar-area-x,0px) - env(titlebar-area-width,100vw) + var(--space-4)),var(--space-4))}.top-bar>*{-webkit-app-region:no-drag;app-region:no-drag}}}.top-bar{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3) 0 var(--space-4);height:var(--top-bar-h)}.top-bar__brand{display:flex;align-items:center}.brand-mark{font-family:var(--font-sans);font-size:var(--text-md);font-weight:700;letter-spacing:-.01em;color:var(--text);user-select:none}.brand-mark__accent{color:var(--accent)}.pattern-menu{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);background:transparent;color:var(--text-mut);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover)}.pattern-menu:hover{background:var(--surface-3);border-color:var(--border);color:var(--text)}.pattern-menu:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pattern-menu__name{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.pattern-menu__chevron{display:inline-flex;align-items:center;color:var(--text-mut)}.pattern-menu__chevron svg{width:14px;height:14px}.top-bar__spacer{flex:1 1 auto}.top-bar__actions{display:flex;align-items:center;gap:var(--space-1)}.left-rail{display:flex;flex-direction:column;overflow:hidden}.left-rail__section{display:flex;flex-direction:column;min-height:0}.left-rail__header{display:flex;align-items:center;justify-content:flex-start;padding:var(--space-4) var(--space-3) var(--space-3);gap:var(--space-2)}.left-rail__title{flex:1;font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);user-select:none}.left-rail__plus{width:24px;height:24px;color:var(--text-mut);border-radius:var(--radius-sm)}.left-rail__plus:hover{background:var(--surface-2);color:var(--text)}.left-rail__plus:active{background:var(--surface-3);color:var(--text)}.left-rail__plus:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__plus svg{width:14px;height:14px}.left-rail__folder-plus{width:24px;height:24px;color:var(--text-mut);border-radius:var(--radius-sm)}.left-rail__folder-plus:hover{background:var(--surface-2);color:var(--text)}.left-rail__folder-plus:active{background:var(--surface-3);color:var(--text)}.left-rail__folder-plus:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__folder-plus svg{width:14px;height:14px}.left-rail__import{width:24px;height:24px;color:var(--text-mut);border-radius:var(--radius-sm)}.left-rail__import:hover{background:var(--surface-2);color:var(--text)}.left-rail__import:active{background:var(--surface-3);color:var(--text)}.left-rail__import:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__import svg{width:14px;height:14px}.left-rail__search{position:relative;margin:0 var(--space-3) var(--space-3)}.left-rail__search-input{width:100%;height:32px;padding:0 30px;background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-0));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);outline:none;transition:border-color var(--t-hover),background var(--t-hover),box-shadow var(--t-hover)}.left-rail__search-input::placeholder{color:var(--text-mut)}.left-rail__search-input:focus{border-color:color-mix(in oklch,var(--accent) 50%,var(--border));background:var(--surface-2);box-shadow:0 0 0 1px color-mix(in oklch,var(--accent) 24%,transparent)}.left-rail__search-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-dim);pointer-events:none}.left-rail__search-icon svg{width:14px;height:14px}.left-rail__list{flex:1 1 auto;min-height:0;overflow:hidden auto;padding:0 var(--space-2) var(--space-4);scroll-padding-block:var(--space-2);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.left-rail__list::-webkit-scrollbar{width:6px}.left-rail__list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.left-rail__item{display:grid;grid-template-columns:1px minmax(0,1fr) 20px;align-items:center;column-gap:var(--space-3);min-height:30px;padding:0 var(--space-3) 0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-mut);font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:500;letter-spacing:.01em;cursor:pointer;user-select:none;overflow:hidden;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),box-shadow var(--t-hover)}.left-rail__item:hover{background:var(--surface-2);border-color:var(--border-soft);color:var(--text)}.left-rail__item:active{background:color-mix(in oklch,var(--surface-3) 88%,var(--surface-2))}.left-rail__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__item.is-active{background:color-mix(in oklch,var(--accent) 10%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 34%,transparent);color:var(--text);box-shadow:var(--shadow-low);font-weight:600}.left-rail__item.is-selected{background:color-mix(in oklch,var(--accent) 12%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 22%,transparent);color:var(--text)}.left-rail__item.is-selected:hover{background:color-mix(in oklch,var(--accent) 18%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 30%,transparent)}.left-rail__item.is-selected.is-active{background:color-mix(in oklch,var(--accent) 22%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 40%,transparent)}.left-rail__item-accent{width:1px;height:14px;border-radius:999px;background:transparent;opacity:0;transition:opacity var(--t-hover),background var(--t-hover)}.left-rail__item.is-active .left-rail__item-accent{background:var(--accent);opacity:1}.left-rail__item-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.left-rail__item-meta{display:grid;place-items:center}.left-rail__item-match{color:var(--accent-hi);font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in oklch,var(--accent) 50%,transparent);text-decoration-thickness:1px;text-underline-offset:2px}.left-rail__item-folder-suffix{color:var(--text-dim);font-weight:400;font-size:var(--text-xs);margin-left:var(--space-1);white-space:nowrap;letter-spacing:.02em}.left-rail__more-row{padding:var(--space-2) var(--space-3);color:var(--text-mut);font-size:var(--text-xs);font-style:italic;pointer-events:none;user-select:none}.left-rail__empty{padding:var(--space-5) var(--space-2);font-size:var(--text-sm);color:var(--text-mut);text-align:center}.left-rail__dirty-dot{grid-area:1 / 1;width:6px;height:6px;border-radius:50%;background:var(--accent-hi);transition:opacity var(--t-hover)}.left-rail__item:hover .left-rail__dirty-dot{opacity:0}.left-rail__more-btn{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--t-hover),color var(--t-hover),background var(--t-hover)}.left-rail__item:hover .left-rail__more-btn,.left-rail__item:focus-within .left-rail__more-btn{opacity:1;pointer-events:auto}.left-rail__more-btn:hover{color:var(--text);background:var(--surface-3)}.left-rail__more-btn:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--accent);outline-offset:-2px}.left-rail__more-btn svg{width:12px;height:12px}.left-rail__collapse-btn{width:24px;height:24px;flex-shrink:0;color:var(--text-dim);border-radius:var(--radius-sm);transition:color var(--t-hover),background var(--t-hover),transform var(--t-panel)}.left-rail__collapse-btn:hover{background:var(--surface-2);color:var(--text)}.left-rail__collapse-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__collapse-btn svg{width:14px;height:14px}.left-rail[data-collapsed=true] .left-rail__title,.left-rail[data-collapsed=true] .left-rail__plus,.left-rail[data-collapsed=true] .left-rail__folder-plus,.left-rail[data-collapsed=true] .left-rail__import{display:none}.left-rail[data-collapsed=true] .left-rail__header{justify-content:center;padding:var(--space-2) var(--space-1)}.left-rail[data-collapsed=true] .left-rail__collapse-btn{transform:rotate(180deg)}.left-rail__search,.left-rail__list{transition:opacity var(--t-panel)}.left-rail[data-collapsed=true] .left-rail__search,.left-rail[data-collapsed=true] .left-rail__list{opacity:0;pointer-events:none}.left-rail__folder-section{display:flex;flex-direction:column;min-width:0}.left-rail__folder-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);margin:0 var(--space-1);font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);user-select:none;cursor:pointer;position:relative;border-radius:var(--radius-sm);transition:color var(--t-hover),background var(--t-hover)}.left-rail__folder-header:hover{color:var(--text-mut);background:color-mix(in oklch,var(--surface-2) 60%,transparent)}.left-rail__folder-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__folder-section+.left-rail__folder-section{margin-top:var(--space-2)}.left-rail__folder-chevron{flex:0 0 auto;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-mut);transition:transform var(--t-hover)}.left-rail__folder-chevron svg{width:12px;height:12px}.left-rail__folder-header[data-collapsed=true] .left-rail__folder-chevron{transform:rotate(-90deg)}.left-rail__folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-rail__folder-count{color:var(--text-dim);font-weight:500;font-size:var(--text-xs);letter-spacing:.02em;text-transform:none;font-variant-numeric:tabular-nums}.left-rail__folder-more{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--t-hover),color var(--t-hover),background var(--t-hover)}.left-rail__folder-header:hover .left-rail__folder-more,.left-rail__folder-header:focus-within .left-rail__folder-more{opacity:1;pointer-events:auto}.left-rail__folder-more:hover{color:var(--text);background:var(--surface-3)}.left-rail__folder-more:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--accent);outline-offset:-2px}.left-rail__folder-more svg{width:12px;height:12px}.left-rail__folder-body{display:flex;flex-direction:column}.left-rail__empty-folder-hint{margin:0 var(--space-1) var(--space-1);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-6);font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-dim);pointer-events:none;border:1px dashed var(--border-soft);border-radius:var(--radius-sm);background:transparent;letter-spacing:.01em}.left-rail__inline-edit{width:100%;min-width:0;font:inherit;font-weight:500;background:color-mix(in oklch,var(--surface-3) 80%,var(--accent));color:var(--text);border:1px solid color-mix(in oklch,var(--accent) 70%,var(--border));border-radius:var(--radius-sm);padding:1px 6px;outline:none;caret-color:var(--accent-hi);transition:border-color var(--t-hover),box-shadow var(--t-hover),background var(--t-hover)}.left-rail__inline-edit:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 25%,transparent)}.left-rail__inline-edit--error{border-color:var(--rec)}.left-rail__inline-edit--error:focus{box-shadow:0 0 0 2px color-mix(in oklch,var(--rec) 25%,transparent)}.left-rail__inline-error{color:var(--rec);font-size:var(--text-xs);line-height:var(--lh-xs);padding:2px var(--space-3);grid-column:1 / -1;flex-basis:100%}.left-rail__folder-header:has(.left-rail__inline-edit){flex-wrap:wrap}.left-rail__context-menu{position:fixed;z-index:1000;min-width:180px;padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.left-rail__context-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1) var(--space-2);background:none;border:none;border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--t-hover)}.left-rail__context-item:hover{background:var(--surface-3)}.left-rail__context-item--danger{color:var(--rec)}.left-rail__context-item--danger:hover{background:color-mix(in oklch,var(--rec) 15%,transparent)}.left-rail__context-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-rail__context-kbd{color:var(--text-dim);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.left-rail__context-item:hover .left-rail__context-kbd{color:var(--text-mut)}.left-rail__context-item--danger .left-rail__context-kbd{color:color-mix(in oklch,var(--rec) 55%,var(--text-dim))}.left-rail__context-item.is-disabled{opacity:.45;pointer-events:none}.left-rail__context-item--has-submenu{position:relative}.left-rail__context-item--has-submenu:after{content:"▸";margin-left:auto;padding-left:var(--space-2);color:var(--text-mut);font-size:var(--text-xs)}.left-rail__context-submenu{display:none;position:absolute;left:100%;top:calc(var(--space-1) * -1);min-width:160px;padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:1001}.left-rail__context-item--has-submenu:hover .left-rail__context-submenu,.left-rail__context-item--has-submenu:focus-within .left-rail__context-submenu{display:block}.left-rail__context-separator{height:1px;background:var(--border-soft);margin:var(--space-1) 0}.left-rail__search-clear{position:absolute;right:var(--space-1);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:color var(--t-hover),background var(--t-hover)}.left-rail__search-clear:hover{color:var(--text);background:var(--surface-3)}.left-rail__search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.left-rail__search-clear svg{width:12px;height:12px}.left-rail__folder-section.is-drop-target,.left-rail__folder-section.is-drop-rejected{border-radius:var(--radius-md);transition:background var(--t-hover),box-shadow var(--t-hover)}.left-rail__folder-section.is-drop-target{background:color-mix(in oklch,var(--accent) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 55%,transparent)}.left-rail__folder-section.is-drop-target .left-rail__folder-header{color:var(--text)}.left-rail__folder-section.is-drop-rejected{background:color-mix(in oklch,var(--rec) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--rec) 50%,transparent)}.left-rail__drag-ghost{position:absolute;top:-1000px;left:-1000px;padding:var(--space-1) var(--space-3);background:color-mix(in oklch,var(--surface-2) 92%,var(--accent));border:1px solid color-mix(in oklch,var(--accent) 40%,var(--border));border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:500;color:var(--text);pointer-events:none;z-index:9999;white-space:nowrap;box-shadow:var(--shadow-pop);letter-spacing:.01em}body[data-rail-dragging=true]{cursor:grabbing}.left-rail__item[draggable=true]{cursor:grab}.left-rail__item[draggable=true]:active{cursor:grabbing}@media(prefers-reduced-motion:reduce){.left-rail__item,.left-rail__item-accent,.left-rail__search-input,.left-rail__context-item,.left-rail__search-clear,.left-rail__plus,.left-rail__folder-plus,.left-rail__import,.left-rail__more-btn,.left-rail__collapse-btn,.left-rail__dirty-dot,.left-rail__search,.left-rail__list,.left-rail__folder-header,.left-rail__folder-chevron,.left-rail__folder-more,.left-rail__folder-section,.left-rail__inline-edit{transition:none}}.tab-strip{display:flex;align-items:stretch;gap:1px;height:34px;flex:0 0 auto;padding:0 var(--space-2);min-width:0;background:var(--surface-1);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;--fade: var(--space-5);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade),#000 calc(100% - var(--fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade),#000 calc(100% - var(--fade)),transparent 100%)}.tab-strip::-webkit-scrollbar{display:none}.tab-strip__tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;min-width:7.5rem;max-width:13.5rem;padding:0 var(--space-1) 0 var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-mut);cursor:pointer;white-space:nowrap;user-select:none;transition:background var(--t-hover),color var(--t-hover),box-shadow var(--t-hover)}.tab-strip__tab:hover{background:color-mix(in oklch,var(--surface-2) 70%,var(--surface-1));color:var(--text)}.tab-strip__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}.tab-strip__tab.is-active{background:var(--surface-0);color:var(--text);font-weight:600;box-shadow:inset 0 2px 0 var(--accent),inset 1px 0 0 var(--border-soft),inset -1px 0 0 var(--border-soft)}.tab-strip__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--lh-sm);letter-spacing:.01em;font-variant-numeric:tabular-nums}.tab-strip__playing-mark{flex:0 0 auto;width:7px;height:8px;background:var(--accent);clip-path:polygon(0 0,100% 50%,0 100%)}.tab-strip__dirty-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--accent-hi);transition:opacity var(--t-hover)}.tab-strip__tab:hover .tab-strip__dirty-dot{opacity:0}.tab-strip__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);cursor:pointer;opacity:0;transform:scale(.85);transition:opacity var(--t-hover),transform var(--t-hover),background var(--t-hover),color var(--t-hover)}.tab-strip__close svg{display:block;width:12px;height:12px;stroke:currentColor}.tab-strip__tab:hover .tab-strip__close,.tab-strip__tab.is-active .tab-strip__close{opacity:1;transform:none}.tab-strip__close:hover{background:var(--surface-3);color:var(--text)}.tab-strip__close:active{background:var(--surface-2);transform:scale(.9)}.tab-strip__close:focus-visible{opacity:1;transform:none;outline:2px solid var(--accent);outline-offset:-1px}.tab-strip__tab.is-dragging{opacity:.4}.tab-strip__tab.is-drop-target:before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:2px;border-radius:999px;background:var(--accent)}.tab-strip__empty{display:inline-flex;align-items:center;height:100%;padding:0 var(--space-2);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-dim);user-select:none}.editor-pane{position:relative}.editor-empty{position:absolute;inset:35px 0 0;z-index:1;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center;background:var(--surface-0);user-select:none}.editor-pane.is-empty .editor-empty{display:flex;animation:editor-empty-enter var(--t-panel)}.editor-empty__line{margin:0;font-size:var(--text-md);line-height:var(--lh-md);font-weight:500;color:var(--text-mut)}.editor-empty__hint{margin:0;max-width:32ch;font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-dim)}.editor-empty__key{display:inline-flex;align-items:center;justify-content:center;min-width:1.4em;height:1.4em;padding:0 .3em;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-mut);font-family:var(--font-mono);font-size:.92em;line-height:1;vertical-align:baseline}@keyframes editor-empty-enter{0%{opacity:0}to{opacity:1}}.transport__now-playing-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;max-width:24ch;padding:0 var(--space-2);background:var(--accent-wash);border:1px solid color-mix(in oklch,var(--accent) 32%,transparent);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:color-mix(in oklch,var(--accent-hi) 60%,var(--text));white-space:nowrap;cursor:pointer;flex-shrink:0;overflow:hidden;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.transport__now-playing-chip[hidden]{display:none}.transport__now-playing-chip:before{content:"";flex:0 0 auto;width:7px;height:8px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}.transport__now-playing-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport__now-playing-closed{flex:0 0 auto;color:var(--text-dim);font-variant:small-caps;letter-spacing:.04em}.transport__now-playing-closed:before{content:"("}.transport__now-playing-closed:after{content:")"}.transport__now-playing-chip:not([data-orphan=true]) .transport__now-playing-closed{display:none}.transport__now-playing-chip:hover{background:color-mix(in oklch,var(--accent) 20%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 48%,transparent);color:var(--text)}.transport__now-playing-chip:active{background:var(--accent-wash)}.transport__now-playing-chip:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.transport__now-playing-chip[data-orphan=true]{background:var(--surface-2);border-color:var(--border);color:var(--text-mut)}.transport__now-playing-chip[data-orphan=true]:before{background:var(--text-dim)}.transport__now-playing-chip[data-orphan=true]:hover{background:var(--surface-3);color:var(--text)}@keyframes tab-strip-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tab-strip__tab.is-entering{animation:tab-strip-enter var(--t-panel)}@keyframes now-playing-chip-enter{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.transport__now-playing-chip:not([hidden]){animation:now-playing-chip-enter var(--t-pop-in)}@media(prefers-reduced-motion:reduce){.tab-strip__tab.is-entering,.transport__now-playing-chip:not([hidden]){animation:none}.tab-strip__close,.tab-strip__close:active{transform:none}}.right-rail{position:relative;display:grid;grid-template-columns:var(--right-rail-tabs-w) 1fr;grid-template-areas:"tabs panel";overflow:hidden;background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 94%,var(--surface-2)) 0%,var(--surface-1) 100%)}.right-rail__tabs{position:relative;grid-area:tabs;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border-right:1px solid var(--border-soft);background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 86%,var(--surface-2)),color-mix(in oklch,var(--surface-1) 94%,var(--surface-0)))}.right-rail__panel{grid-area:panel;display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(180deg,color-mix(in oklch,var(--surface-2) 18%,var(--surface-1)),var(--surface-1) 88px);box-shadow:inset 1px 0 color-mix(in oklch,var(--surface-2) 55%,transparent)}.right-rail[data-collapsed=true] .right-rail__panel{visibility:hidden;pointer-events:none}.right-rail__panel-slot{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;container-type:inline-size}.right-rail__panel-slot[hidden]{display:none}.right-rail__tab{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-dim);cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),box-shadow var(--t-hover),transform var(--t-hover)}.right-rail__tab:hover{background:color-mix(in oklch,var(--surface-2) 80%,var(--surface-3));border-color:color-mix(in oklch,var(--border-soft) 82%,var(--border));color:var(--text);transform:none}.right-rail__tab:focus-visible{outline:2px solid var(--accent);outline-offset:0}.right-rail__tab svg{width:18px;height:18px;stroke:currentColor}.right-rail__tab.is-active{background:color-mix(in oklch,var(--accent) 10%,var(--surface-2));border-color:transparent;color:var(--text)}.right-rail__tab.is-active:before{content:"";position:absolute;left:-2px;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:999px}.right-rail__resize{position:absolute;top:0;left:0;width:4px;height:100%;margin-left:-2px;cursor:ew-resize;z-index:5;background:transparent;transition:background var(--t-hover)}.right-rail__resize:hover,.right-rail__resize:active{background:var(--accent-wash)}.right-rail[data-collapsed=true] .right-rail__resize{pointer-events:none}.right-rail[data-collapsed=true] .right-rail__tab[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:2px 8px;background:var(--surface-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;line-height:1.4;box-shadow:var(--shadow-low);pointer-events:none;opacity:0;transition:opacity var(--t-hover)}.right-rail[data-collapsed=true] .right-rail__tab[data-tooltip]:hover:after{opacity:1}.sound-browser{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;container-type:inline-size;background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 94%,var(--surface-2)) 0%,var(--surface-1) 100%)}.sound-browser__header{padding:var(--space-4) var(--space-3) var(--space-2);background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 88%,var(--surface-2)),color-mix(in oklch,var(--surface-1) 94%,var(--surface-2)))}.sound-browser__search{position:relative}.sound-browser__search-input{width:100%;height:32px;padding:0 var(--space-3) 0 32px;background:color-mix(in oklch,var(--surface-2) 82%,var(--surface-1));color:var(--text);border:1px solid color-mix(in oklch,var(--border-soft) 86%,var(--border));border-radius:var(--radius-md);font:inherit;font-family:var(--font-sans);font-size:var(--text-sm);outline:none;transition:border-color var(--t-hover),background var(--t-hover),box-shadow var(--t-hover);box-shadow:inset 0 1px color-mix(in oklch,var(--text) 4%,transparent)}.sound-browser__search-input:hover{background:color-mix(in oklch,var(--surface-2) 76%,var(--surface-3));border-color:var(--border)}.sound-browser__search-input::placeholder{color:var(--text-dim)}.sound-browser__search-input:focus{border-color:var(--accent);background:color-mix(in oklch,var(--surface-2) 78%,var(--accent-wash));box-shadow:inset 0 1px color-mix(in oklch,var(--text) 4%,transparent),0 0 0 1px color-mix(in oklch,var(--accent) 16%,transparent)}.sound-browser__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-dim);pointer-events:none}.sound-browser__search-icon svg{width:15px;height:15px}.sound-browser__hint{display:flex;align-items:center;gap:6px;padding:7px 0 0;font-size:10px;letter-spacing:.03em;color:var(--text-dim);opacity:1;transition:opacity .6s ease-out}.sound-browser__hint:before{content:"";width:4px;height:4px;flex:0 0 auto;border-radius:50%;background:color-mix(in oklch,var(--accent) 50%,var(--text-dim))}.sound-browser__hint.is-hidden{opacity:0;pointer-events:none}.sound-browser__pills{display:flex;flex-wrap:wrap;gap:6px;padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--border-soft);background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 94%,var(--surface-2)),color-mix(in oklch,var(--surface-1) 98%,var(--surface-2)))}.sound-browser__pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;background:color-mix(in oklch,var(--surface-2) 88%,var(--surface-1));color:var(--text-dim);border:1px solid color-mix(in oklch,var(--border-soft) 88%,transparent);border-radius:999px;font:inherit;font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),box-shadow var(--t-hover)}.sound-browser__pill:hover{background:var(--surface-3);color:var(--text);border-color:color-mix(in oklch,var(--border) 72%,var(--border-soft))}.sound-browser__pill.is-active{background:color-mix(in oklch,var(--accent) 12%,var(--surface-2));color:var(--text);border-color:color-mix(in oklch,var(--accent) 48%,var(--border-soft));font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 10%,transparent)}.sound-browser__pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sound-browser__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.sound-browser__list::-webkit-scrollbar{width:6px}.sound-browser__list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.sound-browser__empty{padding:var(--space-5) var(--space-3);font-size:var(--text-xs);color:var(--text-dim);text-align:center;background:color-mix(in oklch,var(--surface-1) 68%,var(--surface-2));border:1px solid color-mix(in oklch,var(--border-soft) 92%,transparent);border-radius:var(--radius-md)}.sound-browser__group{margin-bottom:var(--space-3);border:1px solid color-mix(in oklch,var(--border-soft) 92%,transparent);border-radius:var(--radius-md);background:color-mix(in oklch,var(--surface-1) 84%,var(--surface-2));box-shadow:inset 0 1px color-mix(in oklch,var(--text) 4%,transparent);overflow:hidden}.sound-browser__group-head{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:30px;padding:0 var(--space-3);background:color-mix(in oklch,var(--surface-2) 70%,var(--surface-1));color:var(--text-dim);border:0;border-bottom:1px solid transparent;font:inherit;font-size:10px;font-weight:600;letter-spacing:.06em;cursor:pointer;user-select:none;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.sound-browser__group-head:hover{background:color-mix(in oklch,var(--surface-2) 56%,var(--surface-3));color:var(--text)}.sound-browser__group-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sound-browser__group:not(.is-collapsed) .sound-browser__group-head{border-bottom-color:color-mix(in oklch,var(--border-soft) 90%,transparent)}.sound-browser__group-chev{display:inline-flex;color:var(--text-dim);transition:transform var(--t-hover)}.sound-browser__group-chev svg{width:11px;height:11px}.sound-browser__group.is-collapsed .sound-browser__group-chev{transform:rotate(-90deg)}.sound-browser__group.is-collapsed .sound-browser__group-items{display:none}.sound-browser__group-label{flex:1 1 auto;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-variant-numeric:tabular-nums}.sound-browser__group-meta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:22px;height:18px;padding:0 6px;background:color-mix(in oklch,var(--surface-1) 82%,var(--surface-2));border:1px solid color-mix(in oklch,var(--border-soft) 88%,transparent);border-radius:999px;font-size:10px;font-weight:500;color:var(--text-dim);font-variant-numeric:tabular-nums}.sound-browser__group-items{display:flex;flex-direction:column;gap:2px;padding:var(--space-1)}.sound-browser__item{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:26px;padding:0 var(--space-2) 0 calc(var(--space-2) + 10px);border-radius:calc(var(--radius-sm) + 1px);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--t-hover),color var(--t-hover),box-shadow var(--t-hover);outline:none}.sound-browser__item:before{content:"";position:absolute;left:var(--space-2);top:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0;transform:translateY(-50%) scale(.7);transition:opacity var(--t-hover),transform var(--t-hover)}.sound-browser__item:hover{background:color-mix(in oklch,var(--surface-2) 82%,var(--surface-3));color:var(--text)}.sound-browser__item.is-active{background:color-mix(in oklch,var(--surface-3) 84%,var(--surface-2));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--border) 72%,var(--border-soft))}.sound-browser__item.is-active:focus-visible,.sound-browser__item:focus-visible{background:color-mix(in oklch,var(--surface-3) 84%,var(--surface-2));box-shadow:inset 0 0 0 1px var(--accent)}.sound-browser__item.is-previewing{background:color-mix(in oklch,var(--accent) 12%,var(--surface-2));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 28%,transparent)}.sound-browser__item.is-in-use{color:var(--text)}.sound-browser__item.is-in-use:before{opacity:1;transform:translateY(-50%) scale(1)}.sound-browser__item-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.sound-browser__item-match{color:var(--accent-hi);font-weight:600}.sound-browser__item-meta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:18px;height:16px;padding:0 5px;background:color-mix(in oklch,var(--surface-2) 76%,var(--surface-1));border:1px solid color-mix(in oklch,var(--border-soft) 88%,transparent);border-radius:999px;color:var(--text-dim);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.sound-browser__item.is-active .sound-browser__item-meta,.sound-browser__item.is-previewing .sound-browser__item-meta{border-color:color-mix(in oklch,var(--accent) 24%,var(--border-soft))}.sound-browser__count{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border-soft);background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 78%,transparent) 0%,var(--surface-1) 100%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:.03em}@container (max-width: 300px){.sound-browser__header{padding:var(--space-3) var(--space-2) var(--space-2)}.sound-browser__pills{padding:var(--space-2) var(--space-2) var(--space-3)}.sound-browser__list{padding:var(--space-2)}.sound-browser__group-head{padding:0 var(--space-2)}.sound-browser__item{padding-right:var(--space-1)}}.reference-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:linear-gradient(180deg,color-mix(in oklch,var(--surface-2) 16%,var(--surface-1)),transparent 96px)}.reference-panel__header{padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid color-mix(in oklch,var(--border-soft) 86%,transparent)}.reference-panel__search{position:relative}.reference-panel__search-input{width:100%;height:32px;padding:0 var(--space-3) 0 30px;background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-0));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);outline:none;box-shadow:inset 0 1px #ffffff08;transition:border-color var(--t-hover),background var(--t-hover),box-shadow var(--t-hover)}.reference-panel__search-input::placeholder{color:var(--text-dim)}.reference-panel__search-input:focus{border-color:color-mix(in oklch,var(--accent) 62%,var(--border-soft));background:color-mix(in oklch,var(--surface-2) 84%,var(--surface-0));box-shadow:inset 0 1px #ffffff08,0 0 0 1px color-mix(in oklch,var(--accent) 22%,transparent)}.reference-panel__search-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-dim);pointer-events:none}.reference-panel__search-icon svg{width:14px;height:14px}.reference-panel__summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-1) 0}.reference-panel__summary-title,.reference-panel__summary-meta{font-size:var(--text-xs);line-height:var(--lh-xs)}.reference-panel__summary-title{color:var(--text-mut)}.reference-panel__summary-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.reference-panel__pills{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3)}.reference-panel__pill{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 94%,var(--surface-1));color:var(--text-mut);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;opacity:.82;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),opacity var(--t-hover)}.reference-panel__pill:hover{background:color-mix(in oklch,var(--surface-3) 82%,var(--surface-2));border-color:var(--border);color:var(--text);opacity:1}.reference-panel__pill.is-active{background:color-mix(in oklch,var(--accent) 13%,var(--surface-2));color:var(--text);border-color:color-mix(in oklch,var(--accent) 54%,var(--border-soft));font-weight:600;opacity:1}.reference-panel__pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reference-panel__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-2) var(--space-3);scroll-padding:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.reference-panel__list::-webkit-scrollbar{width:6px}.reference-panel__list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.reference-panel__empty{padding:var(--space-5) var(--space-4);font-size:var(--text-xs);color:var(--text-dim);text-align:center}.reference-panel__entry{display:flex;flex-direction:column;margin-bottom:var(--space-1);border:1px solid transparent;border-radius:var(--radius-md);outline:none;transition:background var(--t-hover),border-color var(--t-hover),box-shadow var(--t-hover)}.reference-panel__entry.is-active{background:color-mix(in oklch,var(--surface-2) 88%,var(--surface-1));border-color:color-mix(in oklch,var(--accent) 14%,var(--border-soft))}.reference-panel__entry.is-expanded{background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-1));border-color:color-mix(in oklch,var(--accent) 18%,var(--border-soft));box-shadow:var(--shadow-low)}.reference-panel__entry:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 44%,var(--surface-2))}.reference-panel__entry-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);width:100%;min-height:32px;padding:7px var(--space-2) 7px 10px;background:transparent;color:var(--text-mut);border:0;border-radius:inherit;font:inherit;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;cursor:pointer;user-select:none;text-align:left;transition:color var(--t-hover)}.reference-panel__entry-head:hover,.reference-panel__entry.is-expanded .reference-panel__entry-head{color:var(--text)}.reference-panel__entry-chev{display:inline-flex;flex:0 0 auto;color:var(--text-dim);transition:transform var(--t-hover)}.reference-panel__entry-chev svg{width:12px;height:12px}.reference-panel__entry:not(.is-expanded) .reference-panel__entry-chev{transform:rotate(-90deg)}.reference-panel__entry-text{display:flex;flex-direction:column;gap:2px;min-width:0}.reference-panel__entry-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-panel__entry-preview{display:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans);font-size:10px;line-height:1.3;color:var(--text-dim)}.reference-panel__entry-match{color:var(--accent-hi);font-weight:600}.reference-panel__entry-state,.reference-panel__entry-tag{display:inline-flex;align-items:center;min-height:16px;padding:0 6px;border-radius:var(--radius-sm);font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.reference-panel__entry-state{background:color-mix(in oklch,var(--accent) 12%,var(--surface-2));color:color-mix(in oklch,var(--accent-hi) 78%,var(--text));border:1px solid color-mix(in oklch,var(--accent) 34%,transparent)}.reference-panel__entry-tag{background:var(--surface-3);color:var(--text-dim)}.reference-panel__entry-body{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-3) var(--space-3) calc(var(--space-2) + 12px + var(--space-2))}.reference-panel__entry-overview{display:flex;flex-direction:column;gap:var(--space-2)}.reference-panel__entry-sig{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);padding:var(--space-2);background:color-mix(in oklch,var(--surface-0) 82%,var(--surface-1));border:1px solid var(--border-soft);border-radius:var(--radius-sm);word-break:break-word}.reference-panel__entry-doc{font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.reference-panel__section{display:flex;flex-direction:column;gap:var(--space-1)}.reference-panel__section-label{font-size:9px;line-height:12px;color:var(--text-dim);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.reference-panel__entry-params{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:color-mix(in oklch,var(--surface-0) 74%,var(--surface-1));border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.reference-panel__entry-param{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.reference-panel__entry-param-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1)}.reference-panel__entry-param-name{font-family:var(--font-mono);font-weight:600;color:var(--text)}.reference-panel__entry-param-type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-hi)}.reference-panel__entry-param-doc{color:var(--text-mut)}.reference-panel__entry-examples{display:flex;flex-direction:column;gap:var(--space-1)}.reference-panel__entry-example{margin:0;padding:var(--space-2);background:color-mix(in oklch,var(--surface-0) 88%,var(--surface-1));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.reference-panel__entry-synonyms{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.reference-panel__entry-synonym{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-1);background:var(--surface-3);color:var(--text-mut);border:0;border-radius:var(--radius-sm);font:inherit;font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}.reference-panel__entry-synonym:hover{background:var(--accent-wash);color:var(--text)}.reference-panel__entry-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.reference-panel__entry-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-1));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover)}.reference-panel__entry-btn:hover{background:color-mix(in oklch,var(--surface-3) 82%,var(--surface-2));border-color:var(--border)}.reference-panel__entry-btn--primary{background:color-mix(in oklch,var(--accent) 13%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 54%,var(--border-soft));color:var(--text);font-weight:600}.reference-panel__entry-btn--primary:hover{background:color-mix(in oklch,var(--accent) 22%,var(--surface-3));border-color:var(--accent)}.reference-panel__entry-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reference-panel__count{min-height:30px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-soft);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}@container (min-width: 300px){.reference-panel__entry-preview{display:block}.reference-panel__entry-head{min-height:40px}}@container (max-width: 299px){.reference-panel__summary{flex-direction:column;align-items:flex-start}.reference-panel__summary-meta{text-align:left;white-space:normal}.reference-panel__entry-body{padding-left:var(--space-3)}.reference-panel__entry-actions{flex-direction:column}.reference-panel__entry-btn{width:100%}}.learn-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:linear-gradient(180deg,color-mix(in oklch,var(--surface-2) 16%,var(--surface-1)),transparent 96px)}.learn-panel__header{padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid color-mix(in oklch,var(--border-soft) 86%,transparent)}.learn-panel__search{position:relative}.learn-panel__search-input{width:100%;height:32px;padding:0 var(--space-3) 0 30px;background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-0));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);outline:none;box-shadow:inset 0 1px #ffffff08;transition:border-color var(--t-hover),background var(--t-hover),box-shadow var(--t-hover)}.learn-panel__search-input::placeholder{color:var(--text-dim)}.learn-panel__search-input:focus{border-color:color-mix(in oklch,var(--accent) 62%,var(--border-soft));background:color-mix(in oklch,var(--surface-2) 84%,var(--surface-0));box-shadow:inset 0 1px #ffffff08,0 0 0 1px color-mix(in oklch,var(--accent) 22%,transparent)}.learn-panel__search-icon{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-dim);pointer-events:none}.learn-panel__search-icon svg{width:14px;height:14px}.learn-panel__pills{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-2)}.learn-panel__pill{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 94%,var(--surface-1));color:var(--text-mut);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;opacity:.82;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),opacity var(--t-hover)}.learn-panel__pill:hover{background:color-mix(in oklch,var(--surface-3) 82%,var(--surface-2));border-color:var(--border);color:var(--text);opacity:1}.learn-panel__pill.is-active{background:color-mix(in oklch,var(--accent) 13%,var(--surface-2));color:var(--text);border-color:color-mix(in oklch,var(--accent) 54%,var(--border-soft));font-weight:600;opacity:1}.learn-panel__pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.learn-panel__count{padding:0 var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--text-dim);font-variant-numeric:tabular-nums}.learn-panel__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-1) var(--space-2) var(--space-3);scroll-padding:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.learn-panel__list::-webkit-scrollbar{width:6px}.learn-panel__list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.learn-panel__empty{padding:var(--space-5) var(--space-4);font-size:var(--text-xs);color:var(--text-dim);text-align:center}.learn-panel__group{margin-bottom:var(--space-2)}.learn-panel__group-label{padding:var(--space-2) var(--space-2) var(--space-1);font-size:9px;line-height:12px;color:var(--text-dim);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.learn-panel__entry{display:flex;flex-direction:column;margin-bottom:var(--space-1);border:1px solid transparent;border-radius:var(--radius-md);outline:none;transition:background var(--t-hover),border-color var(--t-hover),box-shadow var(--t-hover)}.learn-panel__entry.is-active{background:color-mix(in oklch,var(--surface-2) 88%,var(--surface-1));border-color:color-mix(in oklch,var(--accent) 14%,var(--border-soft))}.learn-panel__entry.is-expanded{background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-1));border-color:color-mix(in oklch,var(--accent) 18%,var(--border-soft));box-shadow:var(--shadow-low)}.learn-panel__entry:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 44%,var(--surface-2))}.learn-panel__entry-head{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:32px;padding:7px var(--space-2) 7px 10px;background:transparent;color:var(--text-mut);border:0;border-radius:inherit;font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;user-select:none;text-align:left;transition:color var(--t-hover)}.learn-panel__entry-head:hover,.learn-panel__entry.is-expanded .learn-panel__entry-head{color:var(--text)}.learn-panel__entry-chev{display:inline-flex;flex:0 0 auto;color:var(--text-dim);transition:transform var(--t-hover)}.learn-panel__entry-chev svg{width:12px;height:12px}.learn-panel__entry.is-expanded .learn-panel__entry-chev{transform:rotate(90deg)}.learn-panel__entry-text{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto}.learn-panel__entry-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-panel__match{color:var(--accent-hi);font-weight:600}.learn-panel__entry-badge{display:inline-flex;align-items:center;flex:0 0 auto;min-height:16px;padding:0 6px;border-radius:var(--radius-sm);font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.learn-panel__entry-badge--workshop{background:color-mix(in oklch,var(--accent) 12%,var(--surface-2));color:color-mix(in oklch,var(--accent-hi) 78%,var(--text));border:1px solid color-mix(in oklch,var(--accent) 34%,transparent)}.learn-panel__entry-badge--recipe{background:color-mix(in oklch,var(--badge-recipe) 12%,var(--surface-2));color:color-mix(in oklch,var(--badge-recipe-text) 78%,var(--text));border:1px solid color-mix(in oklch,var(--badge-recipe) 34%,transparent)}.learn-panel__entry-badge--example{background:color-mix(in oklch,var(--badge-example) 12%,var(--surface-2));color:color-mix(in oklch,var(--badge-example-text) 78%,var(--text));border:1px solid color-mix(in oklch,var(--badge-example) 34%,transparent)}.learn-panel__entry-body{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-3) var(--space-3) calc(10px + 12px + var(--space-2))}.learn-panel__entry-summary{font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.learn-panel__entry-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.learn-panel__tag{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-1);background:var(--surface-3);color:var(--text-mut);border:0;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}.learn-panel__tag:hover{background:var(--accent-wash);color:var(--text)}.learn-panel__tag:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.learn-panel__code-wrap{border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}.learn-panel__code{margin:0;padding:var(--space-2);background:color-mix(in oklch,var(--surface-0) 88%,var(--surface-1));color:var(--text);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.learn-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.learn-panel__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-1));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-md);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover)}.learn-panel__btn:hover{background:color-mix(in oklch,var(--surface-3) 82%,var(--surface-2));border-color:var(--border)}.learn-panel__btn--primary{background:color-mix(in oklch,var(--accent) 13%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 54%,var(--border-soft));color:var(--text);font-weight:600}.learn-panel__btn--primary:hover{background:color-mix(in oklch,var(--accent) 22%,var(--surface-3));border-color:var(--accent)}.learn-panel__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.learn-panel__btn svg{width:12px;height:12px}@keyframes learn-btn-flash{0%{box-shadow:0 0 0 2px var(--accent-wash)}to{box-shadow:none}}.learn-panel__btn.is-feedback{border-color:var(--accent);animation:learn-btn-flash .6s ease-out}.learn-panel__btn.is-error{border-color:var(--rec)}.learn-panel__chapter-num{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 auto}.learn-panel__tried{display:inline-flex;align-items:center;color:var(--ok);opacity:.5;flex:0 0 auto}.learn-panel__tried svg{width:10px;height:10px}.learn-panel__hint{padding:var(--space-1) var(--space-3) 0;font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-dim)}.learn-panel__next-chapter{display:inline-flex;align-items:center;background:none;border:0;padding:0;color:var(--text-dim);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:color var(--t-hover)}.learn-panel__next-chapter:hover{color:var(--accent-hi)}.learn-panel__next-chapter:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:2px}.console-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.console-panel__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2)}.console-panel__levels{display:inline-flex;gap:var(--space-1);flex:0 0 auto}.console-panel__level{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),opacity var(--t-hover)}.console-panel__level:hover{background:var(--surface-3);color:var(--text)}.console-panel__level:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.console-panel__level.is-active{background:var(--accent-wash);border-color:var(--accent);color:var(--text);font-weight:600}.console-panel__level:not(.is-active){opacity:.55}.console-panel__level--warn.is-active{border-color:color-mix(in oklch,var(--rec),var(--text-dim) 35%)}.console-panel__level--error.is-active{border-color:var(--rec)}.console-panel__search{position:relative;flex:1 1 auto;min-width:0}.console-panel__search-input{width:100%;height:22px;padding:0 var(--space-2) 0 24px;background:var(--surface-2);color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);outline:none;transition:border-color var(--t-hover),background var(--t-hover)}.console-panel__search-input::placeholder{color:var(--text-dim)}.console-panel__search-input:focus{border-color:var(--accent)}.console-panel__search-icon{position:absolute;left:var(--space-1);top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-dim);pointer-events:none}.console-panel__search-icon svg{width:12px;height:12px}.console-panel__clear{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;padding:0;background:var(--surface-2);color:var(--text-mut);border:1px solid var(--border-soft);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.console-panel__clear:hover{background:var(--surface-3);color:var(--text)}.console-panel__clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.console-panel__clear svg{width:12px;height:12px}.console-panel__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-1) var(--space-2) var(--space-3);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;outline:none}.console-panel__list:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.console-panel__list::-webkit-scrollbar{width:6px}.console-panel__list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.console-panel__entry{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut);word-break:break-word}.console-panel__entry:hover{background:var(--surface-2)}.console-panel__ts{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.console-panel__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-dim);align-self:center;box-shadow:0 0 0 1px transparent}.console-panel__body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.console-panel__message-row{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0;flex-wrap:wrap}.console-panel__msg{flex:1 1 auto;min-width:0;white-space:pre-wrap;word-break:break-word}.console-panel__line-badge{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-2);background:var(--surface-2);color:var(--text-mut);border:1px solid color-mix(in oklch,var(--border) 72%,var(--border-soft));border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;transition:color var(--t-hover),background var(--t-hover),border-color var(--t-hover),text-decoration-color var(--t-hover)}.console-panel__line-badge:hover{color:var(--text);background:var(--surface-3);border-color:color-mix(in oklch,var(--rec) 24%,var(--border));text-decoration:underline}.console-panel__line-badge:active{background:var(--surface-2)}.console-panel__line-badge:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.console-panel__entry--log .console-panel__dot{background:var(--text-dim)}.console-panel__entry--log .console-panel__msg{color:var(--text-mut)}.console-panel__entry--warn .console-panel__dot{background:color-mix(in oklch,var(--rec),var(--text-dim) 35%);box-shadow:0 0 0 1px color-mix(in oklch,var(--rec) 40%,transparent)}.console-panel__entry--warn .console-panel__msg{color:color-mix(in oklch,var(--text),var(--rec) 20%)}.console-panel__entry--error .console-panel__dot{background:var(--rec);box-shadow:0 0 0 1px color-mix(in oklch,var(--rec) 30%,transparent)}.console-panel__entry--error .console-panel__msg{color:var(--text)}.console-panel__entry--error{background:color-mix(in oklch,var(--rec) 6%,transparent)}.console-panel__entry--error:hover{background:color-mix(in oklch,var(--rec) 12%,transparent)}.console-panel__hap{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.console-panel__hap-head{color:var(--text);font-weight:600}.console-panel__hap-span,.console-panel__hap-value,.console-panel__hap-loc{color:var(--text-mut)}.console-panel__hap-loc{color:var(--text-dim);font-size:var(--text-xs)}.console-panel__divider{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);margin-top:var(--space-1);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.03em;user-select:none}.console-panel__divider:before,.console-panel__divider:after{content:"";flex:1 1 auto;height:1px;background:var(--border-soft)}.console-panel__divider-label{flex:0 0 auto;padding:0 var(--space-1)}.console-panel__count{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-soft);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}.export-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--space-4);gap:var(--space-4);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.export-panel::-webkit-scrollbar{width:6px}.export-panel::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.export-panel__header{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft)}.export-panel__title-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.export-panel__eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.export-panel__title{font-family:var(--font-sans);font-size:var(--text-md);font-weight:600;color:var(--text);letter-spacing:.01em}.export-panel__meta{max-width:32ch;font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.export-panel__controls{display:flex;flex-direction:column;gap:var(--space-3)}.export-panel__row{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:var(--space-3)}.export-panel__row-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--text-mut);letter-spacing:.02em;text-transform:uppercase}.export-panel__row-control{display:flex;min-width:0;width:100%}.export-panel__field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:100%}.export-panel__suffix{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 78%,var(--surface-3));color:var(--text-dim);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.export-panel__input,.export-panel__select{width:100%;height:32px;padding:0 var(--space-3);background:var(--surface-2);color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-family:var(--font-mono);font-size:var(--text-sm);outline:none;transition:border-color var(--t-hover),background var(--t-hover)}.export-panel__input::placeholder{color:var(--text-dim)}.export-panel__input:hover,.export-panel__select:hover{background:var(--surface-3);border-color:var(--border)}.export-panel__input:focus,.export-panel__select:focus{border-color:var(--accent);background:color-mix(in oklch,var(--surface-2) 82%,var(--accent-wash))}.export-panel__input:disabled,.export-panel__select:disabled{opacity:.55;cursor:not-allowed}.export-panel__input--num{-moz-appearance:textfield;appearance:textfield}.export-panel__input--num::-webkit-outer-spin-button,.export-panel__input--num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.export-panel__select{padding-right:calc(var(--space-4) + var(--space-1));background-image:linear-gradient(45deg,transparent 50%,var(--text-mut) 50%),linear-gradient(135deg,var(--text-mut) 50%,transparent 50%);background-position:calc(100% - 13px) 14px,calc(100% - 9px) 14px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;-moz-appearance:none;-webkit-appearance:none;appearance:none;cursor:pointer}.export-panel__export{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);background:var(--accent-wash);color:var(--text);border:1px solid color-mix(in oklch,var(--accent) 52%,transparent);border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;box-shadow:var(--shadow-low);transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),opacity var(--t-hover),transform var(--t-hover),box-shadow var(--t-hover)}.export-panel__export:hover:not(:disabled){background:color-mix(in oklch,var(--accent) 18%,var(--surface-2));border-color:var(--accent-hi);transform:translateY(-1px);box-shadow:var(--shadow-pop)}.export-panel__export:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-low)}.export-panel__export:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.export-panel__export:disabled{cursor:not-allowed;opacity:.7}.export-panel__export.is-running{background:var(--surface-2);border-color:var(--border-soft);color:var(--text-mut);box-shadow:none}.export-panel__export.is-error{background:color-mix(in oklch,var(--rec) 10%,transparent);border-color:color-mix(in oklch,var(--rec) 40%,transparent);color:color-mix(in oklch,var(--text),var(--rec) 15%)}.export-panel__export-icon{display:inline-flex}.export-panel__export-icon svg{width:14px;height:14px}.export-panel__hint{margin-top:calc(var(--space-4) * -1 + var(--space-2));font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-dim)}.export-panel__progress[hidden],.export-panel__result[hidden],.export-panel__error[hidden]{display:none}.export-panel__progress{display:flex;align-items:center;gap:var(--space-2)}.export-panel__progress-bar{flex:1 1 auto;height:6px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}.export-panel__progress-fill{height:100%;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .24s linear}.export-panel__progress-label{flex:0 0 auto;min-width:36px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-mut);text-align:right;font-variant-numeric:tabular-nums}.export-panel__result{display:flex;flex-direction:column;gap:var(--space-3)}.export-panel__waveform{display:block;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}.export-panel__waveform-canvas{display:block;width:100%;height:64px}.export-panel__stats{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.export-panel__stats--name{color:var(--text);font-weight:600;word-break:break-all}.export-panel__stats--peak{color:var(--text-mut);font-variant-numeric:tabular-nums}.export-panel__stats--peak.export-panel__stats--silent{color:var(--rec);font-weight:600}.export-panel__warning{padding:var(--space-2) var(--space-3);background:color-mix(in oklch,var(--rec) 12%,transparent);color:color-mix(in oklch,var(--text),var(--rec) 30%);border:1px solid color-mix(in oklch,var(--rec) 40%,transparent);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;line-height:var(--lh-sm)}.export-panel__download-again{align-self:flex-start;height:26px;padding:0 var(--space-3);background:var(--surface-2);color:var(--text-mut);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover)}.export-panel__download-again:hover{background:var(--surface-3);color:var(--text);border-color:var(--border)}.export-panel__download-again:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.export-panel__error{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:color-mix(in oklch,var(--rec) 10%,transparent);border:1px solid color-mix(in oklch,var(--rec) 40%,transparent);border-radius:var(--radius-sm)}.export-panel__error-message{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);color:color-mix(in oklch,var(--text),var(--rec) 25%);word-break:break-word;white-space:pre-wrap}.export-panel__try-again{align-self:flex-start;height:26px;padding:0 var(--space-3);background:var(--surface-2);color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover)}.export-panel__try-again:hover{background:var(--surface-3);border-color:var(--border)}.export-panel__try-again:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@container (max-width: 290px){.export-panel{padding:var(--space-3);gap:var(--space-3)}.export-panel__row{grid-template-columns:1fr;align-items:start;gap:var(--space-1)}.export-panel__field{grid-template-columns:1fr}.export-panel__suffix{justify-self:start;height:24px}}.settings-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--space-4);gap:var(--space-5);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.settings-panel::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.settings-panel__header{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft)}.settings-panel__title-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.settings-panel__eyebrow{margin:0;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.settings-panel__title{font-family:var(--font-sans);font-size:var(--text-md);font-weight:600;color:var(--text);letter-spacing:.01em}.settings-panel__meta{max-width:32ch;font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.settings-panel__section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-panel__section-title{margin:0;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.settings-panel__section-body{display:flex;flex-direction:column;gap:var(--space-3)}.settings-panel__row{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:var(--space-3);cursor:default}.settings-panel__row-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--text-mut);letter-spacing:.02em;text-transform:uppercase}.settings-panel__row-control{display:flex;min-width:0;width:100%}.settings-panel__select{width:100%;height:32px;padding:0 calc(var(--space-4) + var(--space-1)) 0 var(--space-3);background:var(--surface-2);color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-family:var(--font-mono);font-size:var(--text-sm);outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-mut) 50%),linear-gradient(135deg,var(--text-mut) 50%,transparent 50%);background-position:calc(100% - 13px) 14px,calc(100% - 9px) 14px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;transition:border-color var(--t-hover),background-color var(--t-hover)}.settings-panel__select:focus{border-color:var(--accent);background-color:color-mix(in oklch,var(--surface-2) 82%,var(--accent-wash))}.settings-panel__select:hover{background-color:var(--surface-3);border-color:var(--border)}.settings-panel__slider{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:20px;background:transparent;cursor:pointer;margin:0}.settings-panel__slider-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:100%}.settings-panel__slider-value{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:20px;padding:0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 78%,var(--surface-3));color:var(--text-dim);border:1px solid var(--border-soft);border-radius:999px;font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums}.settings-panel__slider::-webkit-slider-runnable-track{height:7px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-soft)}.settings-panel__slider::-moz-range-track{height:7px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-soft)}.settings-panel__slider--hue::-webkit-slider-runnable-track{background:linear-gradient(to right,#de4a84,oklch(.63 .19 60),oklch(.63 .19 120),oklch(.63 .19 180),oklch(.63 .19 240),#9d67e9,#de4a84)}.settings-panel__slider--hue::-moz-range-track{background:linear-gradient(to right,#de4a84,oklch(.63 .19 60),oklch(.63 .19 120),oklch(.63 .19 180),oklch(.63 .19 240),#9d67e9,#de4a84)}.settings-panel__slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;background:var(--text);border:2px solid var(--surface-1);box-shadow:var(--shadow-low);cursor:grab}.settings-panel__slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--text);border:2px solid var(--surface-1);box-shadow:var(--shadow-low);cursor:grab}.settings-panel__slider:focus{outline:none}.settings-panel__slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--accent)}.settings-panel__slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--accent)}.settings-panel__accent-row{display:flex;align-items:center;gap:var(--space-2);width:100%}.settings-panel__accent-preview{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;height:32px;padding:0 var(--space-3);background:color-mix(in oklch,var(--surface-2) 84%,transparent);color:var(--text-mut);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.settings-panel__swatch{width:12px;height:12px;border-radius:999px;background:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--text) 28%,transparent)}.settings-panel__accent-preview-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans);font-size:var(--text-xs)}.settings-panel__reset{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 var(--space-3);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-mut);cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover),box-shadow var(--t-hover)}.settings-panel__reset:hover{background:var(--surface-3);border-color:var(--border);color:var(--text)}.settings-panel__reset:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings-panel__toggle-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover)}.settings-panel__toggle-row:hover{background:color-mix(in oklch,var(--surface-2) 86%,transparent);border-color:var(--border-soft)}.settings-panel__toggle-row.is-on{background:color-mix(in oklch,var(--accent) 8%,transparent);border-color:color-mix(in oklch,var(--accent) 24%,transparent)}.settings-panel__toggle-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--text)}.settings-panel__toggle{position:relative;width:34px;height:20px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-soft);cursor:pointer;padding:0;flex:0 0 auto;transition:background var(--t-hover),border-color var(--t-hover)}.settings-panel__toggle:hover{border-color:var(--border)}.settings-panel__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-panel__toggle.is-on{background:var(--accent);border-color:var(--accent-hi)}.settings-panel__toggle-knob{position:absolute;top:50%;left:2px;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--text);box-shadow:var(--shadow-low);transition:transform var(--t-hover)}.settings-panel__toggle.is-on .settings-panel__toggle-knob{transform:translate(14px)}.settings-panel__about-line{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut);font-variant-numeric:tabular-nums}.settings-panel__about-breakdown{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-dim);font-variant-numeric:tabular-nums;padding-left:var(--space-2)}.settings-panel__links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-1)}.settings-panel__link{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-mut);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;transition:color var(--t-hover),text-decoration-color var(--t-hover)}.settings-panel__link:hover{color:var(--accent-hi);text-decoration-color:var(--accent)}.settings-panel__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@container (max-width: 300px){.settings-panel{padding:var(--space-3);gap:var(--space-4)}.settings-panel__row{grid-template-columns:1fr;align-items:start;gap:var(--space-1)}.settings-panel__accent-row{flex-wrap:wrap}}.settings-panel__section-desc{font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-mut)}.settings-panel__reload-banner:not([hidden]){display:flex}.settings-panel__reload-banner{align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in oklch,var(--accent) 9%,var(--surface-1));border:1px solid color-mix(in oklch,var(--accent) 28%,var(--border-soft));border-radius:var(--radius-sm)}.settings-panel__reload-banner-text{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-mut)}.settings-panel__reload-btn{display:inline-flex;align-items:center;flex-shrink:0;height:22px;padding:0 var(--space-2);background:color-mix(in oklch,var(--accent) 16%,var(--surface-2));border:1px solid color-mix(in oklch,var(--accent) 42%,var(--border-soft));border-radius:var(--radius-sm);font:inherit;font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--t-hover),border-color var(--t-hover)}.settings-panel__reload-btn:hover{background:color-mix(in oklch,var(--accent) 26%,var(--surface-3));border-color:var(--accent)}.settings-panel__reload-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings-panel__toggle-row--pkg{min-height:48px}.settings-panel__pkg-info{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-panel__pkg-desc{font-family:var(--font-sans);font-size:10px;line-height:1.4;color:var(--text-dim)}.settings-panel__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);background:var(--surface-2);color:var(--text-mut);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover)}.settings-panel__btn:hover{background:var(--surface-3);border-color:var(--border);color:var(--text)}.settings-panel__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings-panel__btn--primary{background:color-mix(in oklch,var(--accent) 13%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 52%,var(--border-soft));color:var(--text);font-weight:600}.settings-panel__btn--primary:hover{background:color-mix(in oklch,var(--accent) 22%,var(--surface-3));border-color:var(--accent)}.settings-panel__btn--danger{color:#ed756e}.settings-panel__btn--danger:hover{background:color-mix(in oklch,oklch(.6 .2 25) 12%,var(--surface-2));border-color:color-mix(in oklch,oklch(.6 .2 25) 42%,var(--border-soft));color:oklch(.75 .18 25)}.settings-panel__btn-row,.settings-panel__import-row{display:flex;gap:var(--space-2)}.settings-panel__url-input{flex:1 1 auto;min-width:0;height:28px;padding:0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 92%,var(--surface-0));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);outline:none;transition:border-color var(--t-hover),box-shadow var(--t-hover)}.settings-panel__url-input:focus{border-color:color-mix(in oklch,var(--accent) 62%,var(--border-soft));box-shadow:0 0 0 1px color-mix(in oklch,var(--accent) 22%,transparent)}.settings-panel__url-input::placeholder{color:var(--text-dim)}.settings-panel__banks{display:flex;flex-direction:column;gap:var(--space-1)}.settings-panel__bank-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:color-mix(in oklch,var(--surface-2) 88%,var(--surface-1));border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.settings-panel__bank-name{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-panel__bank-del{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;color:var(--text-dim);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}.settings-panel__bank-del:hover{background:color-mix(in oklch,oklch(.6 .2 25) 14%,var(--surface-2));color:oklch(.7 .2 25)}.settings-panel__empty{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-dim);padding:var(--space-1) 0}.settings-panel__script{width:100%;min-height:100px;padding:var(--space-2);background:color-mix(in oklch,var(--surface-0) 88%,var(--surface-1));color:var(--text);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-sm);resize:vertical;outline:none;box-sizing:border-box;transition:border-color var(--t-hover),box-shadow var(--t-hover)}.settings-panel__script::placeholder{color:var(--text-dim)}.settings-panel__script:focus{border-color:color-mix(in oklch,var(--accent) 62%,var(--border-soft));box-shadow:0 0 0 1px color-mix(in oklch,var(--accent) 22%,transparent)}.settings-panel__osc{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-soft);margin-top:var(--space-1)}.settings-panel__osc-title{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}.settings-panel__osc-row{display:flex;align-items:center;gap:var(--space-2)}.settings-panel__osc-label{font:500 var(--text-xs) / 1 var(--font-sans);color:var(--text-mut)}.settings-panel__osc-value{font:var(--text-xs) / 1 var(--font-mono);color:var(--text);padding:2px var(--space-1);background:var(--surface-2);border-radius:var(--radius-sm);user-select:all}.settings-panel__osc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-dim);opacity:.4;transition:background .2s,opacity .2s}.settings-panel__osc-dot[data-status=connected]{background:#45ba50;opacity:1}.settings-panel__osc-dot[data-status=error]{background:#f14d4c;opacity:1}.settings-panel__osc-dot[data-status=connecting]{background:#d9a514;opacity:1}.settings-panel__osc-status-text{font:var(--text-xs) / 1 var(--font-sans);color:var(--text-dim)}.transport{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);padding:0 var(--space-3);height:var(--transport-h)}.transport__group{display:flex;align-items:center;gap:var(--space-2);min-width:0}.transport__group--lead{gap:var(--space-3)}.transport__group--center{justify-self:center}.transport__group--right{justify-self:end}.transport__error-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);background:color-mix(in oklch,var(--rec) 10%,var(--surface-2));color:color-mix(in oklch,var(--text) 84%,var(--rec));border:1px solid color-mix(in oklch,var(--rec) 28%,var(--border));border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--rec) 8%,transparent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;flex-shrink:0;white-space:nowrap;cursor:pointer;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.transport__error-badge[hidden]{display:none}.transport__error-badge:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:999px;background:color-mix(in oklch,var(--rec) 18%,transparent);color:var(--rec);font-size:10px;line-height:1}.transport__error-badge:hover{background:color-mix(in oklch,var(--rec) 14%,var(--surface-3));color:var(--text);border-color:color-mix(in oklch,var(--rec) 38%,var(--border))}.transport__error-badge:active{background:color-mix(in oklch,var(--rec) 18%,var(--surface-2))}.transport__error-badge:focus-visible{outline:2px solid var(--rec);outline-offset:1px}.transport__controls{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.transport .btn__icon svg{width:14px;height:14px}.transport__roll-toggle{--btn-bg: transparent;--btn-bd: var(--border-soft);--btn-fg: var(--text-mut);width:28px;height:28px;padding:0;flex-shrink:0;-webkit-tap-highlight-color:transparent}.transport__roll-toggle:hover{--btn-bg: var(--surface-3);--btn-bd: var(--border);--btn-fg: var(--text)}.transport__roll-toggle:active{--btn-bg: var(--surface-2)}.transport__action-label--optional{display:none}.transport__toggle{position:relative;justify-content:flex-start;min-width:104px;height:28px;padding:0 var(--space-2) 0 10px;gap:7px;flex-shrink:0;-webkit-tap-highlight-color:transparent;--btn-bg: color-mix(in oklch, var(--accent-wash) 84%, var(--surface-2));--btn-bd: color-mix(in oklch, var(--accent) 40%, var(--border));--btn-fg: var(--text);box-shadow:inset 0 1px color-mix(in oklch,var(--accent-hi) 20%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--accent) 10%,transparent)}.transport__toggle:hover{--btn-bg: color-mix(in oklch, var(--accent-wash) 100%, var(--surface-3));--btn-bd: color-mix(in oklch, var(--accent-hi) 48%, var(--border))}.transport__toggle:active{--btn-bg: color-mix(in oklch, var(--accent-wash) 70%, var(--surface-2));box-shadow:inset 0 1px 2px color-mix(in oklch,var(--accent) 16%,transparent)}.transport__toggle:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}.transport__toggle-label{font-size:var(--text-sm);font-weight:550;letter-spacing:.01em}.transport__toggle-icon{position:relative;display:inline-flex;width:13px;height:13px;flex-shrink:0}.transport__toggle-glyph{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;transition:opacity var(--t-hover),transform var(--t-hover)}.transport .transport__toggle-glyph svg{width:13px;height:13px;fill:currentColor;stroke:none}.transport .transport__toggle-glyph--stop svg{width:11px;height:11px}.transport__toggle-glyph--play{transform:translate(.5px)}.transport__toggle-glyph--stop{opacity:0;transform:scale(.6)}.transport:not([data-transport-state=idle]) .transport__toggle-glyph--play{opacity:0;transform:scale(.6)}.transport:not([data-transport-state=idle]) .transport__toggle-glyph--stop{opacity:1;transform:scale(1)}.transport__kbd{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:2px 5px;font:550 10px / 1 var(--font-mono);color:color-mix(in oklch,var(--text) 62%,var(--accent));background:color-mix(in oklch,var(--accent) 9%,var(--surface-1));border:1px solid color-mix(in oklch,var(--accent) 22%,var(--border));border-radius:5px;box-shadow:inset 0 -1px color-mix(in oklch,var(--accent) 14%,transparent);pointer-events:none;transition:opacity var(--t-hover)}.transport__kbd-key{display:inline-block}.transport:not([data-transport-state=idle]) .transport__kbd{opacity:0}.transport[data-transport-state=queued] .transport__toggle,.transport[data-transport-state=loading] .transport__toggle{--btn-bg: color-mix(in oklch, var(--accent) 14%, var(--surface-2));--btn-bd: color-mix(in oklch, var(--accent) 44%, var(--border));--btn-fg: var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 18%,transparent)}.transport[data-transport-state=playing] .transport__toggle{--btn-bg: var(--surface-2);--btn-bd: color-mix(in oklch, var(--accent) 30%, var(--border));--btn-fg: var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 16%,transparent)}.transport[data-transport-state=playing] .transport__toggle:hover{--btn-bg: var(--surface-3);--btn-bd: color-mix(in oklch, var(--accent) 42%, var(--border))}.transport:not([data-transport-state=idle]) .transport__toggle-glyph--stop svg{fill:var(--accent)}.transport__readout{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);height:22px;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--text-mut);font-variant-numeric:tabular-nums;white-space:nowrap;user-select:none;background:color-mix(in oklch,var(--surface-2) 86%,var(--surface-1));border:1px solid color-mix(in oklch,var(--border) 78%,var(--border-soft));border-radius:var(--radius-sm)}.transport__readout-label{color:var(--text-dim);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.transport__readout-value{min-width:3ch;color:var(--text);text-align:right;font-weight:650}.transport__readout--bpm{min-width:68px}.transport__readout--cycle{min-width:92px}.transport__playhead{position:relative;width:136px;height:6px;background:color-mix(in oklch,var(--surface-2) 88%,var(--surface-1));border:1px solid color-mix(in oklch,var(--border) 72%,var(--border-soft));border-radius:999px;overflow:visible}.transport__playhead-progress{position:absolute;inset:0 auto 0 0;width:0;background:color-mix(in oklch,var(--accent) 24%,var(--surface-2));border-radius:inherit;opacity:.72;transition:width 80ms linear,opacity var(--t-hover)}.transport__playhead-dot{position:absolute;top:50%;left:0;width:10px;height:10px;margin-top:-5px;margin-left:-5px;background:var(--accent);border:2px solid var(--surface-1);border-radius:50%;box-shadow:var(--shadow-low);transform:translate(0);transition:opacity var(--t-hover),box-shadow var(--t-hover)}.transport__playhead--idle .transport__playhead-progress{opacity:.16}.transport__playhead--idle .transport__playhead-dot{opacity:.42}.transport__status{min-width:0;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;line-height:var(--lh-sm);color:var(--text-dim)}.transport[data-transport-state=queued] .transport__status,.transport[data-transport-state=loading] .transport__status,.transport[data-transport-state=playing] .transport__status{color:var(--text-mut)}.transport__pill{display:inline-flex;align-items:center;height:22px;max-width:28ch;padding:0 var(--space-2);font-size:var(--text-sm);font-weight:500;font-family:var(--font-sans);color:var(--text-dim);background:var(--surface-1);border:1px solid var(--border-soft);border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none}.transport__pill--midi.is-idle{color:var(--text-dim)}.transport__pill--midi.is-ok{color:color-mix(in oklch,var(--ok) 72%,var(--text));background:color-mix(in oklch,var(--ok) 10%,var(--surface-1));border-color:color-mix(in oklch,var(--ok) 30%,var(--border-soft))}.transport__pill--midi.is-err{color:color-mix(in oklch,var(--rec) 72%,var(--text));background:color-mix(in oklch,var(--rec) 8%,var(--surface-1));border-color:color-mix(in oklch,var(--rec) 30%,var(--border-soft))}.keymap-chip{cursor:pointer;gap:6px;padding-right:7px;transition:color var(--t-hover),background var(--t-hover),border-color var(--t-hover)}.keymap-chip__label{letter-spacing:-.005em}.keymap-chip__mode{display:none;align-items:center;gap:5px;color:var(--text-mut)}.keymap-chip[data-modal="1"] .keymap-chip__mode{display:inline-flex}.keymap-chip__mode:before{content:"";display:block;width:1px;height:9px;background:var(--border)}.keymap-chip__mode-text{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.04em;min-width:7ch;font-variant-numeric:tabular-nums;text-align:left}.keymap-chip__chevron{width:11px;height:11px;color:var(--text-dim);flex-shrink:0;transition:transform var(--t-hover),color var(--t-hover)}.keymap-chip:hover{color:var(--text-mut);background:var(--surface-2);border-color:var(--border)}.keymap-chip:hover .keymap-chip__chevron{color:var(--text-mut)}.keymap-chip[aria-expanded=true]{color:var(--text);background:var(--surface-2);border-color:var(--border)}.keymap-chip[aria-expanded=true] .keymap-chip__chevron{color:var(--text-mut);transform:rotate(180deg)}.keymap-chip:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.keymap-popover{width:312px;padding:5px;display:flex;flex-direction:column;gap:1px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);font-family:var(--font-sans);z-index:50;animation:keymap-popover-in var(--t-pop-in) both;transform-origin:bottom left}@keyframes keymap-popover-in{0%{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.keymap-popover__row{display:grid;grid-template-columns:14px 1fr auto;align-items:start;column-gap:10px;padding:7px 9px 8px;border:none;background:transparent;text-align:left;color:var(--text);font:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--t-hover)}.keymap-popover__row:hover,.keymap-popover__row:focus-visible{background:var(--surface-3);outline:none}.keymap-popover__row--active{background:color-mix(in oklch,var(--accent-wash) 55%,transparent)}.keymap-popover__row--active:hover,.keymap-popover__row--active:focus-visible{background:color-mix(in oklch,var(--accent-wash) 90%,var(--surface-3))}.keymap-popover__check{display:flex;align-items:center;justify-content:center;height:18px;color:var(--accent)}.keymap-popover__check svg{width:12px;height:12px;stroke-width:2.5}.keymap-popover__body{display:flex;flex-direction:column;gap:3px;min-width:0;padding-top:1px}.keymap-popover__name{font-size:var(--text-base);font-weight:500;letter-spacing:-.005em;line-height:16px;color:var(--text)}.keymap-popover__row--active .keymap-popover__name{color:var(--text)}.keymap-popover__desc{font-size:11px;line-height:15px;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-variant-numeric:tabular-nums}.keymap-popover__row:hover .keymap-popover__desc,.keymap-popover__row:focus-visible .keymap-popover__desc,.keymap-popover__row--active .keymap-popover__desc{color:var(--text-mut)}.keymap-popover__tag{align-self:center;font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:2px 5px;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.keymap-chip__tooltip{padding:var(--space-1) var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--text);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-low);pointer-events:none;z-index:60;animation:keymap-tooltip-in var(--t-pop-in) both}@keyframes keymap-tooltip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.transport__status{max-width:22ch}.transport__playhead{width:96px}}@media(max-width:900px){.transport{gap:var(--space-3)}.transport__status{max-width:18ch}.transport__playhead,.transport__kbd{display:none}}@media(max-width:720px){.transport{grid-template-columns:auto 1fr auto}.transport__group--center{justify-self:start}.transport__status,.transport__readout-label{display:none}}@media(prefers-reduced-motion:reduce){.transport__playhead-progress,.transport__playhead-dot,.transport__toggle-glyph,.transport__kbd{transition:none}}@media(pointer:coarse){.transport__toggle,.transport__roll-toggle{position:relative}.transport__toggle:after,.transport__roll-toggle:after{content:"";position:absolute;inset:-8px -4px}}.transport__bank-chip{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-mut);white-space:nowrap;cursor:pointer;flex-shrink:0;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.transport__bank-chip[hidden]{display:none}.transport__bank-chip:hover{background:var(--surface-3);color:var(--text);border-color:var(--border)}.transport__bank-chip:active{background:var(--surface-2)}.transport__bank-chip:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.arrange-bar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-1);max-height:min(22vh,180px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.arrange-bar::-webkit-scrollbar{width:6px}.arrange-bar::-webkit-scrollbar-track{background:transparent}.arrange-bar::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--border) 80%,transparent);border-radius:999px}.arrange-bar[hidden]{display:none}.arrange-bar__row{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.arrange-bar__row+.arrange-bar__row{padding-top:var(--space-2);border-top:1px solid var(--border-soft)}.arrange-bar[data-density=dense]{gap:var(--space-1);padding:var(--space-1) var(--space-3)}.arrange-bar[data-density=dense] .arrange-bar__row{gap:2px}.arrange-bar[data-density=dense] .arrange-bar__row+.arrange-bar__row{padding-top:var(--space-1);border-top-color:color-mix(in oklch,var(--border-soft) 50%,transparent)}.arrange-bar[data-density=dense] .arrange-bar__strip{height:20px}.arrange-bar[data-density=dense] .arrange-bar__dot{width:8px;height:8px;margin-top:-4px;margin-left:-4px}.arrange-bar[data-density=dense] .arrange-bar__cycles,.arrange-bar[data-density=dense] .arrange-bar__total{display:none}.arrange-bar[data-density=dense] .arrange-bar__solo-btn{width:16px;height:16px;top:2px;right:2px}.arrange-bar__row--preview .arrange-bar__strip{opacity:.78}.arrange-bar__row--muted .arrange-bar__strip{opacity:.5;filter:saturate(.6)}.arrange-bar__meta{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--lh-sm);color:var(--text-dim);white-space:nowrap}.arrange-bar__title{color:var(--text-dim);font:600 9px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}.arrange-bar__current{flex:0 1 auto;min-width:0;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis}.arrange-bar__current:empty{display:none}.arrange-bar__badges{display:flex;align-items:center;gap:var(--space-1);flex:0 0 auto}.arrange-bar__badge{display:inline-flex;align-items:center;height:16px;padding:0 var(--space-2);border-radius:999px;font:500 var(--text-xs) var(--font-sans);color:var(--text-mut);background:color-mix(in oklch,var(--surface-2) 82%,transparent);border:1px solid var(--border-soft);white-space:nowrap}.arrange-bar__badge--parsed{color:color-mix(in oklch,var(--accent-hi) 52%,var(--text-mut));background:color-mix(in oklch,var(--accent-wash) 60%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 22%,var(--border-soft))}.arrange-bar__badge--muted{color:var(--text-dim)}.arrange-bar__badge--transform{color:color-mix(in oklch,var(--rec) 34%,var(--text-mut));background:color-mix(in oklch,var(--rec) 8%,var(--surface-2));border-color:color-mix(in oklch,var(--rec) 22%,var(--border-soft))}.arrange-bar__total{margin-left:auto;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;flex-shrink:0}.arrange-bar__strip{position:relative;height:26px;background:color-mix(in oklch,var(--surface-2) 88%,var(--surface-1));border:1px solid color-mix(in oklch,var(--border) 72%,var(--border-soft));border-radius:var(--radius-sm);overflow:hidden;transition:opacity var(--t-hover)}.arrange-bar__sections{position:absolute;inset:0;display:flex;align-items:stretch;z-index:1}.arrange-bar__section{position:relative;flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);padding:0 var(--space-2);background:transparent;border:0;border-right:1px solid color-mix(in oklch,var(--border) 50%,transparent);color:var(--text-mut);font-family:var(--font-sans);font-size:var(--text-xs);cursor:pointer;user-select:none;overflow:hidden;transition:background var(--t-hover),color var(--t-hover)}.arrange-bar__section:last-child{border-right:0}.arrange-bar__section:hover{background:color-mix(in oklch,var(--accent) 8%,transparent);color:var(--text)}.arrange-bar__section:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.arrange-bar__section.is-active{background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--text)}.arrange-bar__section.is-active .arrange-bar__label{font-weight:600}.arrange-bar__section.is-dimmed{opacity:.34}.arrange-bar__section.is-dimmed:hover{opacity:.7}.arrange-bar__section.is-soloed{background:color-mix(in oklch,var(--accent-wash) 78%,var(--surface-2));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 28%,transparent)}.arrange-bar__section.is-soloed .arrange-bar__label{font-weight:600}.arrange-bar__section.is-inert{cursor:default}.arrange-bar__section.is-inert:hover{background:transparent;color:var(--text-mut)}.arrange-bar__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.arrange-bar__cycles{flex-shrink:0;color:var(--text-dim);font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums}.arrange-bar__section:hover .arrange-bar__cycles,.arrange-bar__section.is-active .arrange-bar__cycles{color:var(--text-mut)}.arrange-bar__solo-pill{flex-shrink:0;padding:0 6px;height:16px;display:inline-flex;align-items:center;border:0;border-radius:999px;font:700 9px var(--font-sans);letter-spacing:.08em;color:var(--surface-0);background:var(--accent);cursor:pointer;transition:background var(--t-hover)}.arrange-bar__solo-pill:hover{background:var(--accent-hi)}.arrange-bar__solo-pill:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}.arrange-bar__solo-btn{position:absolute;top:3px;right:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0;color:var(--text-mut);background:color-mix(in oklch,var(--surface-1) 88%,transparent);border:1px solid color-mix(in oklch,var(--border) 60%,transparent);border-radius:999px;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity var(--t-hover),transform var(--t-hover),color var(--t-hover),background var(--t-hover),border-color var(--t-hover);box-shadow:var(--shadow-low)}.arrange-bar__section:hover .arrange-bar__solo-btn,.arrange-bar__section:focus-within .arrange-bar__solo-btn,.arrange-bar__solo-btn.is-active{opacity:1;transform:scale(1)}.arrange-bar__solo-btn:hover{color:var(--accent);background:var(--surface-1);border-color:color-mix(in oklch,var(--accent) 45%,var(--border))}.arrange-bar__solo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.arrange-bar__solo-btn.is-active{color:var(--surface-0);background:var(--accent);border-color:var(--accent)}.arrange-bar__solo-btn svg{display:block}.arrange-bar__progress{position:absolute;inset:0 auto 0 0;width:0;background:color-mix(in oklch,var(--accent) 14%,transparent);pointer-events:none;z-index:2}.arrange-bar__dot{position:absolute;top:50%;left:0;width:9px;height:9px;margin-top:-4.5px;margin-left:-4.5px;background:var(--accent);border:2px solid var(--surface-1);border-radius:50%;box-shadow:var(--shadow-low);pointer-events:none;z-index:3}[data-playback=idle] .arrange-bar__progress,[data-playback=idle] .arrange-bar__dot{opacity:.38}@media(prefers-reduced-motion:reduce){.arrange-bar__solo-btn,.arrange-bar__section,.arrange-bar__strip{transition:none}}@media(max-width:900px){.arrange-bar__cycles,.arrange-bar__total{display:none}}.track-bar{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);min-height:28px;background:var(--surface-1);overflow:hidden}.track-bar:empty,.track-bar[hidden]{display:none}.track-bar__meta{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;min-width:0}.track-bar__title{color:var(--text-dim);font:600 9px var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.track-bar__hint{color:var(--text-mut);font:500 var(--text-xs) var(--font-sans);white-space:nowrap}.track-bar__entries{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.track-bar__entries::-webkit-scrollbar{display:none}.track-bar__entry{--track-entry-bg: color-mix(in oklch, var(--surface-2) 82%, var(--surface-1));--track-entry-bd: transparent;--track-entry-fg: var(--text-mut);display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);height:22px;border:1px solid var(--track-entry-bd);border-radius:var(--radius-sm);background:var(--track-entry-bg);cursor:pointer;font:500 var(--text-xs) var(--font-mono);color:var(--track-entry-fg);transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover);white-space:nowrap}.track-bar__entry:hover{--track-entry-bg: color-mix(in oklch, var(--surface-3) 94%, var(--surface-1));--track-entry-bd: color-mix(in oklch, var(--border) 72%, var(--border-soft));--track-entry-fg: var(--text)}.track-bar__entry:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.track-bar__entry--muted{--track-entry-bg: color-mix(in oklch, var(--surface-2) 58%, var(--surface-1));--track-entry-bd: color-mix( in oklch, var(--text-dim) 18%, var(--border-soft) );--track-entry-fg: var(--text-dim)}.track-bar__entry--muted .track-bar__label{text-decoration:line-through;text-decoration-thickness:1px}.track-bar__entry--soloed{--track-entry-bg: color-mix( in oklch, var(--accent-wash) 78%, var(--surface-2) );--track-entry-bd: color-mix(in oklch, var(--accent) 24%, var(--border-soft));--track-entry-fg: var(--text)}.track-bar__entry--muted.track-bar__entry--soloed{--track-entry-bg: color-mix( in oklch, var(--accent-wash) 58%, var(--surface-2) );--track-entry-bd: color-mix(in oklch, var(--accent) 30%, var(--border));--track-entry-fg: var(--text)}.track-bar__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px color-mix(in oklch,var(--surface-0) 72%,transparent)}.track-bar__entry--muted .track-bar__dot{opacity:.55}.track-bar__state{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 var(--space-1);border-radius:999px;background:color-mix(in oklch,var(--surface-3) 82%,var(--surface-1));color:var(--text-dim);font:600 9px var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.track-bar__states{display:inline-flex;align-items:center;gap:var(--space-1)}.track-bar__state--muted{background:color-mix(in oklch,var(--surface-3) 92%,var(--surface-1));color:var(--text-mut)}.track-bar__state--soloed{background:color-mix(in oklch,var(--accent) 18%,var(--surface-2));color:color-mix(in oklch,var(--accent-hi) 56%,var(--text))}@media(max-width:900px){.track-bar__hint{display:none}}.midi-bar{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);height:32px;background:var(--surface-1);border-top:1px solid var(--border);overflow:hidden}.midi-bar[hidden]{display:none}.midi-bar__keyboard{width:140px;height:22px;flex-shrink:0;border-radius:var(--radius-sm);cursor:default}.midi-bar__note{font:600 var(--text-sm) var(--font-mono);color:var(--text);min-width:60px;text-align:center;transition:opacity .15s ease-out;white-space:nowrap}.midi-bar__note--faded{opacity:0;transition:opacity 1.8s ease-out}.midi-bar__octave{display:flex;align-items:center;gap:var(--space-1)}.midi-bar__oct-btn{width:20px;height:20px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:transparent;color:var(--text-mut);font:600 var(--text-xs) var(--font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--t-hover),color var(--t-hover);padding:0}.midi-bar__oct-btn:hover{background:var(--surface-3);color:var(--text)}.midi-bar__oct-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.midi-bar__oct-label{font:500 var(--text-xs) var(--font-mono);color:var(--text-mut);min-width:20px;text-align:center}.midi-bar__volume{display:flex;align-items:center;gap:var(--space-1)}.midi-bar__vol-icon{width:14px;height:14px;color:var(--text-mut);flex-shrink:0}.midi-bar__vol-slider{-webkit-appearance:none;appearance:none;width:64px;height:4px;background:var(--surface-3);border-radius:2px;outline:none;cursor:pointer}.midi-bar__vol-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-mut);cursor:pointer;transition:background var(--t-hover)}.midi-bar__vol-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;border:none;background:var(--text-mut);cursor:pointer}.midi-bar__vol-slider:hover::-webkit-slider-thumb{background:var(--text)}.midi-bar__vol-slider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.midi-bar__vol-label{font:500 var(--text-xs) var(--font-mono);color:var(--text-dim);min-width:28px;text-align:right}.midi-bar__sep{width:1px;height:16px;background:var(--border);margin:0 var(--space-2);flex-shrink:0}.midi-bar__preset-btn{height:24px;padding:0 var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:500 var(--text-xs) var(--font-sans);cursor:pointer;display:flex;align-items:center;gap:var(--space-1);transition:border-color var(--t-hover);white-space:nowrap}.midi-bar__preset-btn:hover{border-color:var(--border)}.midi-bar__preset-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.midi-bar__preset-chevron{font-size:9px;color:var(--text-mut)}.midi-bar__preset-popover{position:fixed;z-index:100;width:200px;max-height:400px;display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:var(--space-1) 0}.midi-bar__preset-popover[hidden]{display:none}.midi-bar__preset-list{overflow-y:auto;flex:1;min-height:0}.midi-bar__preset-filter{display:block;width:calc(100% - var(--space-2) * 2);margin:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2);background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text);font:500 var(--text-xs) var(--font-sans);outline:none}.midi-bar__preset-filter:focus{border-color:var(--accent);outline:none}.midi-bar__preset-filter::placeholder{color:var(--text-dim)}.midi-bar__preset-category{padding:var(--space-1) var(--space-2) 2px;font:600 9px var(--font-sans);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.midi-bar__preset-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-3);border:none;background:transparent;color:var(--text);font:500 var(--text-xs) var(--font-sans);cursor:pointer;text-align:left}.midi-bar__preset-item:hover,.midi-bar__preset-item.is-focused{background:var(--surface-3)}.midi-bar__preset-item.is-selected{color:var(--accent)}.midi-bar__preset-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.midi-bar__sustain-group{display:flex;align-items:center;gap:var(--space-1)}.midi-bar__sustain{width:8px;height:8px;border-radius:50%;background:var(--surface-3);flex-shrink:0;transition:background var(--t-hover)}.midi-bar__sustain--active{background:var(--ok);box-shadow:0 0 4px var(--ok)}.midi-bar__sustain-label{font:500 9px var(--font-sans);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.midi-bar .btn.capture{position:relative;color:var(--text-mut)}.midi-bar .btn.capture[aria-pressed=true],.midi-bar .btn.capture.recording{color:var(--rec);border-color:var(--rec);animation:midi-capture-pulse 1.2s ease-in-out infinite}.midi-bar .capture__count{position:absolute;bottom:-2px;right:-2px;display:none;min-width:14px;height:14px;padding:0 var(--space-1);background:var(--rec);color:var(--text);border-radius:7px;font-size:9px;font-weight:600;line-height:14px;text-align:center;font-variant-numeric:tabular-nums}.midi-bar .btn.capture[aria-pressed=true] .capture__count,.midi-bar .btn.capture.recording .capture__count{display:inline-block}@keyframes midi-capture-pulse{0%,to{box-shadow:0 0 #f9414473}50%{box-shadow:0 0 0 4px #f9414400}}.midi-bar__spacer{flex:1;min-width:0}.midi-bar__fx-section{border-top:1px solid var(--border);padding:var(--space-2) var(--space-2) var(--space-1);display:flex;flex-direction:column;gap:var(--space-1)}.midi-bar__fx-row{display:grid;grid-template-columns:36px 1fr 32px;align-items:center;gap:var(--space-1)}.midi-bar__fx-label{font:500 var(--text-xs) var(--font-sans);color:var(--text-dim)}.midi-bar__fx-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--surface-3);border-radius:2px;outline:none;cursor:pointer}.midi-bar__fx-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-mut);cursor:pointer;transition:background var(--t-hover)}.midi-bar__fx-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;border:none;background:var(--text-mut);cursor:pointer}.midi-bar__fx-slider:hover::-webkit-slider-thumb{background:var(--text)}.midi-bar__fx-slider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.midi-bar__fx-value{font:500 var(--text-xs) var(--font-mono);color:var(--text-dim);text-align:right}@media(prefers-reduced-motion:reduce){.midi-bar .btn.capture[aria-pressed=true],.midi-bar .btn.capture.recording{animation:none}}.midi-bar__device{display:flex;align-items:center;flex-shrink:0}.midi-bar__device[hidden]{display:none}.midi-bar__device-select{height:22px;max-width:120px;padding:0 var(--space-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:500 var(--text-xs) var(--font-sans);cursor:pointer;outline:none}.midi-bar__device-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.midi-bar__output{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.midi-bar__output[hidden]{display:none}.midi-bar__output-label{font:500 var(--text-xs) var(--font-sans);color:var(--text-muted);user-select:none}.midi-bar__output-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);opacity:.4;flex-shrink:0;transition:opacity .15s,background .15s}.midi-bar__output-dot.is-active{background:var(--accent);opacity:1}.midi-bar__velocity-curve{display:flex;align-items:center;gap:0;border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden;height:20px;flex-shrink:0}.midi-bar__vel-btn{height:100%;padding:0 var(--space-1);border:none;background:transparent;color:var(--text-dim);font:500 var(--text-xs) var(--font-sans);cursor:pointer;transition:background var(--t-hover),color var(--t-hover);line-height:1;white-space:nowrap}.midi-bar__vel-btn:not(:last-child){border-right:1px solid var(--border-soft)}.midi-bar__vel-btn:hover{background:var(--surface-3);color:var(--text)}.midi-bar__vel-btn.is-active{background:var(--accent);color:var(--surface-0)}.midi-bar__vel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.midi-bar__mod-group{display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-1)}.midi-bar__mod-bar{width:4px;height:16px;background:var(--surface-3);border-radius:2px;overflow:hidden;position:relative;flex-shrink:0}.midi-bar__mod-fill{position:absolute;bottom:0;left:0;width:100%;background:var(--accent);border-radius:2px;transition:height 60ms linear}.midi-bar__mod-label{font:500 9px var(--font-sans);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.midi-bar__metronome{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.midi-bar__met-btn{width:24px;height:24px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:transparent;color:var(--text-mut);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.midi-bar__met-btn:hover{background:var(--surface-3);color:var(--text)}.midi-bar__met-btn.is-active{color:var(--accent);border-color:var(--accent)}.midi-bar__met-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.midi-bar__met-bpm{font:500 var(--text-xs) var(--font-mono);color:var(--text-dim);min-width:0;cursor:ew-resize;user-select:none}.capture-preview{max-width:560px;width:90vw}.capture-preview__grid{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.capture-preview__grid-label{font:500 var(--text-xs) var(--font-sans);color:var(--text-mut);flex-shrink:0}.capture-preview__grid-option{display:flex;align-items:center;gap:var(--space-1);font:500 var(--text-xs) var(--font-sans);color:var(--text);cursor:pointer}.capture-preview__grid-option input[type=radio]{accent-color:var(--accent)}.capture-preview__code-wrap{max-height:300px;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-3)}.capture-preview__code{font:var(--text-sm) var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0}.roll-pane{position:relative;display:flex;flex-direction:column;overflow:hidden}.roll-pane__divider{height:var(--space-2);flex:0 0 var(--space-2);background:transparent;cursor:ns-resize;position:relative}.roll-pane__divider:after{content:"";position:absolute;left:50%;top:50%;width:32px;height:2px;margin-left:-16px;margin-top:-1px;background:var(--border);border-radius:1px;transition:background var(--t-hover)}.roll-pane__divider:hover:after{background:var(--text-dim)}.roll-canvas{display:block;width:100%;height:100%;flex:1 1 auto;min-height:0}.shell--roll-collapsed .roll-pane{border-top-color:var(--border)}.shell--roll-collapsed .roll-canvas{display:none}.shell--roll-collapsed .roll-pane__divider{cursor:pointer}.bottom-panel__bar{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2;display:inline-flex;align-items:center;gap:var(--space-2);pointer-events:none}.bottom-panel__bar>*{pointer-events:auto}.shell--roll-collapsed .bottom-panel__bar{display:none}.bottom-panel__status{display:inline-flex;align-items:center;gap:var(--space-2);height:24px;padding:0 10px 0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 92%,transparent);border:1px solid var(--border-soft);border-radius:999px;box-shadow:var(--shadow-low);color:var(--text-mut);font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;user-select:none;transition:color var(--t-hover)}.bottom-panel__status-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--text-dim);box-shadow:0 0 color-mix(in oklch,currentColor 60%,transparent);transition:background var(--t-hover),box-shadow var(--t-hover)}.bottom-panel__status[data-state=idle]{color:var(--text-dim)}.bottom-panel__status[data-state=idle] .bottom-panel__status-dot{background:var(--text-dim)}.bottom-panel__status[data-state=playing]{color:var(--text)}.bottom-panel__status[data-state=playing] .bottom-panel__status-dot{background:var(--accent);animation:bottom-panel-pulse 1.6s ease-in-out infinite}@keyframes bottom-panel-pulse{0%,to{box-shadow:0 0 color-mix(in oklch,var(--accent) 50%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in oklch,var(--accent) 0%,transparent)}}.bottom-panel__status[data-state=queued],.bottom-panel__status[data-state=loading]{color:var(--text-mut)}.bottom-panel__status[data-state=queued] .bottom-panel__status-dot,.bottom-panel__status[data-state=loading] .bottom-panel__status-dot{background:color-mix(in oklch,var(--accent) 60%,var(--text-dim))}@media(prefers-reduced-motion:reduce){.bottom-panel__status[data-state=playing] .bottom-panel__status-dot{animation:none}}.bottom-panel__modes{display:inline-flex;align-items:center;gap:2px;padding:2px;background:color-mix(in oklch,var(--surface-2) 92%,transparent);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-low)}.bottom-panel__mode-btn{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 var(--space-2);background:transparent;color:var(--text-dim);border:none;border-radius:var(--radius-sm);font:inherit;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}.bottom-panel__mode-btn:hover{color:var(--text-mut);background:var(--surface-3)}.bottom-panel__mode-btn.is-active{color:var(--text);background:color-mix(in oklch,var(--accent) 18%,var(--surface-2));font-weight:600}.bottom-panel__mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bottom-panel__mode-btn[hidden]{display:none}.scope-controls{display:inline-flex;align-items:center;gap:var(--space-2);height:24px;padding:0 var(--space-2);background:color-mix(in oklch,var(--surface-2) 92%,transparent);border:1px solid var(--border-soft);border-radius:999px;box-shadow:var(--shadow-low);color:var(--text-mut);font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;user-select:none}.scope-controls[hidden]{display:none}.scope-controls__modes{display:inline-flex;align-items:center;gap:1px}.scope-controls__mode-btn{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 var(--space-2);background:transparent;color:var(--text-dim);border:none;border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}.scope-controls__mode-btn:hover{color:var(--text-mut);background:var(--surface-3)}.scope-controls__mode-btn.is-active{color:var(--text);background:color-mix(in oklch,var(--accent) 18%,var(--surface-2));font-weight:600}.scope-controls__mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.scope-controls__field{display:inline-flex;align-items:center;gap:var(--space-1)}.scope-controls__field[hidden]{display:none}.scope-controls__label{color:var(--text-dim)}.scope-controls__value{color:var(--text-mut);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.scope-controls__slider{-webkit-appearance:none;appearance:none;width:72px;height:4px;padding:0;margin:0;background:var(--surface-3);border:none;border-radius:999px;cursor:ew-resize}.scope-controls__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--accent);border:none;cursor:ew-resize;box-shadow:var(--shadow-low)}.scope-controls__slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--accent);border:none;cursor:ew-resize;box-shadow:var(--shadow-low)}.scope-controls__slider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scope-controls__smear{display:inline-flex;align-items:center;gap:var(--space-1);height:18px;padding:0 var(--space-2);background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.scope-controls__smear:hover{color:var(--text-mut);background:var(--surface-3)}.scope-controls__smear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.scope-controls__smear[data-level=low],.scope-controls__smear[data-level=high]{color:var(--text);background:color-mix(in oklch,var(--accent) 14%,var(--surface-2))}.shell[data-playback=idle] .roll-canvas,.shell[data-playback=queued] .roll-canvas{filter:saturate(.55) brightness(.78);transition:filter var(--t-panel)}.shell[data-playback=loading] .roll-canvas{filter:saturate(.75) brightness(.88);transition:filter var(--t-panel)}.shell[data-playback=playing] .roll-canvas{filter:none;transition:filter var(--t-panel)}.beat-grid{--cell-tint-rest: 5%;--cell-tint-hover: 22%;--cell-tint-on: 55%;--cell-tint-on-hover: 70%;--cell-tint-variant: 48%;--cell-tint-off-sound: 28%;--cell-tint-paint-on: 38%;--cell-tint-paint-off: 30%;--cell-tint-dim: 22%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--surface-1);overflow:auto;padding:var(--space-7) var(--space-4) var(--space-4)}.beat-grid[hidden],.shell--beat-grid .roll-canvas{display:none}.beat-grid__empty{margin:auto;padding:var(--space-6);max-width:460px;color:var(--text-mut);font-family:var(--font-sans);text-align:center;display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.beat-grid__empty[hidden]{display:none}.beat-grid__empty-lead{color:var(--text);font-size:var(--text-base);font-weight:500}.beat-grid__empty-hint{font-size:var(--text-sm);color:var(--text-dim);line-height:1.55}.beat-grid__empty-code{display:inline-block;padding:2px var(--space-2);margin:0 2px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:11px}.beat-grid__lanes{display:flex;flex-direction:column;gap:2px}.beat-grid__lane{display:grid;grid-template-columns:minmax(140px,164px) 1fr auto;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:transparent;transition:background var(--t-hover),opacity var(--t-hover)}.beat-grid__lane:hover{background:color-mix(in oklch,var(--surface-2) 45%,transparent)}.beat-grid__lane:focus-within{background:color-mix(in oklch,var(--surface-2) 65%,transparent)}.beat-grid__lane--muted{opacity:.55}.beat-grid__lane--soloed{box-shadow:inset 2px 0 0 var(--accent)}.beat-grid__lane--readonly{background:color-mix(in oklch,var(--surface-2) 25%,transparent)}.beat-grid__lane--readonly:hover{background:color-mix(in oklch,var(--surface-2) 45%,transparent)}.beat-grid__rail{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:var(--space-2);min-width:0;padding-left:var(--space-1)}.beat-grid__lane-dot{width:10px;height:10px;border-radius:50%;padding:0;border:0;appearance:none;cursor:grab;transition:transform .12s ease-out,box-shadow .12s ease-out}.beat-grid__lane-dot:hover{transform:scale(1.35);box-shadow:0 0 0 3px color-mix(in oklch,var(--cell-accent, var(--accent)) 25%,transparent)}.beat-grid__lane-dot:active,.beat-grid__lane--dragging .beat-grid__lane-dot{cursor:grabbing}.beat-grid__lane-dot:focus-visible{outline:2px solid color-mix(in oklch,var(--cell-accent, var(--accent)) 70%,white 20%);outline-offset:3px}.beat-grid__rail-text{display:flex;flex-direction:column;min-width:0;line-height:1.25;gap:1px}.beat-grid__sound{font-family:var(--font-mono);font-size:var(--text-base);font-weight:400;color:var(--text);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beat-grid__nickname{font-family:var(--font-sans);font-size:10px;font-weight:500;color:var(--text-dim);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beat-grid__step-chip{flex:0 0 auto;padding:1px 6px;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-3) 70%,transparent);color:var(--text-mut);font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.01em}.beat-grid__cells{display:grid;gap:2px;height:36px;position:relative}.beat-grid__playhead{position:absolute;top:-2px;bottom:-2px;left:0;width:2px;pointer-events:none;background:color-mix(in oklch,var(--accent) 85%,white 12%);box-shadow:0 0 6px color-mix(in oklch,var(--accent) 55%,transparent),0 0 14px color-mix(in oklch,var(--accent) 28%,transparent);transform:translate(0);will-change:transform;opacity:1;transition:opacity .12s ease-out;z-index:2}.beat-grid__playhead[hidden]{display:none}.beat-grid__cell{display:flex;align-items:center;justify-content:center;position:relative;height:100%;padding:0;border:1px solid color-mix(in oklch,var(--cell-accent, var(--accent)) 18%,var(--border-soft));border-radius:var(--radius-sm);background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-rest),var(--surface-1));color:transparent;cursor:pointer;user-select:none;transition:background var(--t-hover),border-color var(--t-hover),transform 80ms ease-out,box-shadow var(--t-hover)}.beat-grid__cell:disabled{cursor:default}.beat-grid__cell:not(:disabled):hover{background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-hover),var(--surface-1));border-color:color-mix(in oklch,var(--cell-accent, var(--accent)) 45%,var(--border-soft))}.beat-grid__cell:not(:disabled):active{transform:scale(.94)}.beat-grid__cell:focus-visible{outline:2px solid color-mix(in oklch,var(--cell-accent, var(--accent)) 70%,white 20%);outline-offset:2px;z-index:1}.beat-grid__cell--on{background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-on),var(--surface-2));border-color:color-mix(in oklch,var(--cell-accent, var(--accent)) 65%,transparent);box-shadow:inset 0 1px color-mix(in oklch,var(--cell-accent, var(--accent)) 75%,white 20%);animation:beat-grid-cell-flip-in .14s ease-out}.beat-grid__cell--on:not(:disabled):hover{background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-on-hover),var(--surface-2))}@keyframes beat-grid-cell-flip-in{0%{transform:scale(.82);opacity:.4}to{transform:scale(1);opacity:1}}.beat-grid__cell--quarter-start{margin-left:4px}.beat-grid__variant-tag{position:absolute;top:1px;right:3px;font-family:var(--font-mono);font-size:9px;font-weight:600;color:color-mix(in oklch,var(--surface-0) 65%,white 30%);letter-spacing:-.02em;pointer-events:none}.beat-grid__cell--variant{background:color-mix(in oklch,color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-variant),var(--surface-2)) 88%,white 8%)}.beat-grid__cell--off-sound{background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-off-sound),var(--surface-3));border-color:color-mix(in oklch,var(--cell-accent, var(--accent)) 40%,var(--border-soft));box-shadow:none}.beat-grid__cell-sound{font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.02em;color:color-mix(in oklch,var(--text) 85%,transparent);text-transform:lowercase;pointer-events:none}.beat-grid__cell--off-sound.beat-grid__cell--variant .beat-grid__cell-sound{padding-top:4px}.beat-grid__lane--readonly .beat-grid__cell--on,.beat-grid__lane--muted .beat-grid__cell--on{background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-dim),var(--surface-2));border-color:color-mix(in oklch,var(--cell-accent, var(--accent)) 30%,var(--border-soft));box-shadow:none}.beat-grid__cell--painting{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--cell-accent, var(--accent)) 70%,white 15%)}.beat-grid__cell--painting-on:not(.beat-grid__cell--on){background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-paint-on),var(--surface-1))}.beat-grid__cell--painting-off.beat-grid__cell--on{background:color-mix(in oklch,var(--cell-accent, var(--accent)) var(--cell-tint-paint-off),var(--surface-2));box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--cell-accent, var(--accent)) 45%,white 10%)}.beat-grid__cell--selected{outline:2px solid color-mix(in oklch,var(--cell-accent, var(--accent)) 70%,white 20%);outline-offset:-1px;z-index:1}.beat-grid__stripe{appearance:none;font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-2) 0 var(--space-3);border:1px solid color-mix(in oklch,var(--border-soft) 90%,transparent);border-left:3px solid color-mix(in oklch,var(--text-dim) 35%,transparent);border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-2) 30%,transparent);transition:background var(--t-hover),border-color var(--t-hover)}.beat-grid__stripe:hover{background:color-mix(in oklch,var(--surface-2) 55%,transparent);border-left-color:var(--text-dim)}.beat-grid__stripe:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%,white 20%);outline-offset:1px}.beat-grid__snippet{flex:1 1 auto;min-width:0;padding:2px var(--space-2);border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-1) 80%,transparent);color:var(--text-dim);font-family:var(--font-mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beat-grid__badge{flex:0 0 auto;padding:2px var(--space-2);border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-3) 85%,transparent);color:var(--text-mut);font-family:var(--font-sans);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.beat-grid__stripe-hint{flex:0 1 auto;font-family:var(--font-sans);font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beat-grid__preview{display:grid;flex:1 1 auto;gap:2px;height:14px;margin-left:auto;max-width:50%}.beat-grid__preview-cell{background:transparent;border:1px solid color-mix(in oklch,var(--border-soft) 65%,transparent);border-radius:2px}.beat-grid__preview-cell--on{background:color-mix(in oklch,var(--text-dim) 55%,transparent);border-color:transparent}.beat-grid__controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding-right:var(--space-1)}.beat-grid__bank{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-3) 85%,transparent);color:var(--text-mut);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:0;white-space:nowrap;user-select:none}.beat-grid__bank--empty{color:var(--text-dim);background:transparent;border:1px dashed color-mix(in oklch,var(--border-soft) 70%,var(--text-dim))}.beat-grid__bank--button{appearance:none;border:0;cursor:pointer;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.beat-grid__bank--button:hover{background:color-mix(in oklch,var(--surface-3) 90%,var(--accent) 14%);color:var(--text)}.beat-grid__bank--empty.beat-grid__bank--button:hover{background:color-mix(in oklch,var(--accent) 12%,var(--surface-2));color:var(--text);border-color:var(--text-dim);border-style:solid}.beat-grid__bank--button:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%,white 20%);outline-offset:1px}.beat-grid__states{display:inline-flex;gap:2px}.beat-grid__state{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface-3) 55%,transparent);color:var(--text-dim);font-family:var(--font-sans);font-size:10px;font-weight:600;user-select:none}.beat-grid__state--button{appearance:none;border:0;cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}.beat-grid__state--button:not([aria-pressed=true]):hover{background:var(--surface-3);color:var(--text)}.beat-grid__state--button[aria-pressed=true]{color:var(--text)}.beat-grid__state--button:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%,white 20%);outline-offset:1px}.beat-grid__state--muted{background:color-mix(in oklch,var(--rec) 40%,var(--surface-3));color:var(--text)}.beat-grid__state--soloed{background:color-mix(in oklch,var(--accent) 45%,var(--surface-3));color:var(--text)}.beat-grid__sound--button{appearance:none;border:0;padding:0;text-align:left;cursor:pointer;background:transparent;color:inherit;transition:color var(--t-hover)}.beat-grid__sound--button:not(:disabled):hover{color:color-mix(in oklch,var(--accent) 75%,var(--text) 25%)}.beat-grid__sound--button:disabled{cursor:default;color:var(--text-dim)}.beat-grid__sound--button:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%,white 20%);outline-offset:2px;border-radius:2px}.beat-grid__lane--dragging{z-index:2;opacity:.95;background:color-mix(in oklch,var(--surface-2) 90%,transparent);box-shadow:var(--shadow-pop);pointer-events:auto;transition:none}.beat-grid__lane--drop-target{box-shadow:inset 0 -2px 0 var(--accent)}body.beat-grid-dragging{cursor:grabbing;user-select:none}.beat-grid__stripe-action{appearance:none;cursor:pointer;flex:0 0 auto;padding:3px var(--space-2);border-radius:var(--radius-sm);background:color-mix(in oklch,var(--accent) 20%,var(--surface-2));color:var(--text);font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.02em;border:1px solid color-mix(in oklch,var(--accent) 40%,transparent);transition:background var(--t-hover),border-color var(--t-hover)}.beat-grid__stripe-action:hover{background:color-mix(in oklch,var(--accent) 36%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 55%,transparent)}.beat-grid__stripe-action:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%,white 20%);outline-offset:1px}.beat-grid__add-row{display:flex;justify-content:flex-start;padding:var(--space-2) 0 0 calc(var(--space-2) + 2px)}.beat-grid__add-btn{appearance:none;cursor:pointer;padding:5px var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.01em;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover)}.beat-grid__add-btn--ghost{background:transparent;color:var(--text-dim);border:1px dashed color-mix(in oklch,var(--border-soft) 70%,var(--text-dim))}.beat-grid__add-btn--ghost:hover{background:color-mix(in oklch,var(--accent) 14%,var(--surface-2));color:var(--text);border-color:color-mix(in oklch,var(--accent) 45%,var(--text-dim));border-style:solid}.beat-grid__add-btn--primary{background:color-mix(in oklch,var(--accent) 28%,var(--surface-2));color:var(--text);border:1px solid color-mix(in oklch,var(--accent) 50%,transparent)}.beat-grid__add-btn--primary:hover{background:color-mix(in oklch,var(--accent) 45%,var(--surface-2));border-color:color-mix(in oklch,var(--accent) 65%,transparent)}.beat-grid__add-btn:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%,white 20%);outline-offset:2px}.beat-grid__menu{position:fixed;z-index:50;min-width:140px;max-height:60vh;overflow-y:auto;padding:var(--space-1);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:1px;animation:beat-grid-menu-in .12s ease-out}@keyframes beat-grid-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.beat-grid__menu-header{padding:var(--space-1) var(--space-2);color:var(--text-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:0;border-bottom:1px solid var(--border-soft);margin-bottom:2px}.beat-grid__menu-empty{padding:var(--space-1) var(--space-2);color:var(--text-mut);font-family:var(--font-sans);font-size:11px;font-style:italic}.beat-grid__menu-item{appearance:none;display:block;width:100%;padding:5px var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:var(--font-mono);font-size:11px;text-align:left;cursor:pointer;transition:background 80ms ease-out,color 80ms ease-out}.beat-grid__menu-item:hover,.beat-grid__menu-item:focus-visible{background:var(--surface-3);outline:none}.beat-grid__menu-item.is-current{color:color-mix(in oklch,var(--accent) 75%,var(--text) 25%);font-weight:600}.beat-grid__menu-item.is-current:before{content:"●  ";color:var(--accent)}.beat-grid__menu--list{min-width:220px;max-width:340px}.beat-grid__menu-search{margin:2px var(--space-1);padding:5px var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text);font-family:var(--font-sans);font-size:11px;outline:none;transition:border-color var(--t-hover)}.beat-grid__menu-search:focus{border-color:color-mix(in oklch,var(--accent) 70%,var(--border))}.beat-grid__menu-body{display:flex;flex-direction:column;gap:1px;max-height:50vh;overflow-y:auto}.beat-grid__menu-heading{padding:6px var(--space-2) 2px;color:var(--text-dim);font-family:var(--font-sans);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.beat-grid__menu--list .beat-grid__menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.beat-grid__menu-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beat-grid__menu-item-hint{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.beat-grid__menu-item--destructive{color:color-mix(in oklch,var(--rec, #d66) 70%,var(--text) 30%)}.beat-grid__menu-item--destructive:hover,.beat-grid__menu-item--destructive:focus-visible{background:color-mix(in oklch,var(--rec, #d66) 22%,var(--surface-3));color:var(--text)}.beat-grid__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.beat-grid{padding:var(--space-7) var(--space-2) var(--space-3)}.beat-grid__lane{grid-template-columns:104px 1fr auto;gap:var(--space-2)}.beat-grid__nickname{display:none}.beat-grid__add-row{padding-left:var(--space-2)}}.editor{display:block;width:100%;height:100%;background:var(--surface-0);overflow:hidden}.editor--midi-dragover{outline:2px dashed var(--accent);outline-offset:-2px}.editor .cm-editor{height:100%;line-height:1.55}.editor .cm-scroller{padding:var(--space-3) 0}.editor .cm-gutters{background:var(--surface-0);border-right:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:inherit}.editor .cm-line.cm-error-line{background:color-mix(in oklch,var(--rec) 15%,transparent)}.editor .cm-gutterElement.cm-error-gutter-marker{position:relative;cursor:pointer}.editor .cm-gutterElement.cm-error-gutter-marker:after{content:"";position:absolute;top:50%;right:var(--space-1);width:6px;height:6px;margin-top:-3px;border-radius:999px;background:var(--rec);box-shadow:0 0 0 1px color-mix(in oklch,var(--rec) 30%,transparent)}.editor .cm-error-widget{display:flex;align-items:flex-start;gap:var(--space-2);padding:2px 0 6px;border-left:2px solid color-mix(in oklch,var(--rec) 50%,transparent);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--rec);animation:error-widget-in var(--t-pop-in) both}@keyframes error-widget-in{0%{opacity:0;translate:0 -2px}}@media(prefers-reduced-motion:reduce){.editor .cm-error-widget{animation:none}}.editor .cm-error-widget__indent{flex:0 0 auto;visibility:hidden;pointer-events:none;white-space:pre}.editor .cm-error-widget__message{color:color-mix(in oklch,var(--text) 68%,var(--rec));white-space:pre-wrap;word-break:break-word}.editor .cm-error-widget__dismiss{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:16px;height:16px;padding:0;margin-top:-1px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:10px;line-height:1;transition:color var(--t-hover),background var(--t-hover),border-color var(--t-hover)}.editor .cm-error-widget__dismiss:hover{color:var(--text);background:color-mix(in oklch,var(--rec) 8%,var(--surface-2));border-color:color-mix(in oklch,var(--rec) 28%,var(--border-soft))}.editor .cm-error-widget__dismiss:focus-visible{outline:2px solid var(--rec);outline-offset:1px}.cm-tooltip-autocomplete{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-pop)!important;font-family:var(--font-mono);font-size:var(--code-sm);line-height:var(--lh-sm);overflow:hidden}.cm-tooltip-autocomplete>ul{max-height:300px;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.cm-tooltip-autocomplete>ul>li{padding:var(--space-1) var(--space-2);color:var(--text)}.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--accent-wash)!important;color:var(--text)!important}.cm-completionMatchedText{color:var(--accent)!important;text-decoration:none!important;font-weight:600}.cm-completionDetail{color:var(--text-dim)!important;font-style:normal!important;font-size:var(--text-xs);margin-left:var(--space-2)}.cm-completionIcon{opacity:.7}.cm-completionIcon-sound:after{content:"♪";color:var(--accent)}.cm-completionIcon-namespace:after{content:"◫";color:var(--text-mut)}.cm-completionIcon-function:after{content:"ƒ";color:var(--accent-hi)}.cm-completionIcon-constant:after{content:"♮";color:var(--ok)}.cm-completionIcon-type:after{content:"△";color:var(--text-mut)}.cm-completionIcon-keyword:after{content:"◆";color:var(--text-dim)}.cm-completionIcon-variable:after{content:"♪";color:var(--accent)}.cm-completionInfo{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-pop)!important;max-width:300px;max-height:320px;overflow-y:auto;padding:var(--space-2) var(--space-3);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.autocomplete-info-container{color:var(--text);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm)}.autocomplete-info-tooltip{background:transparent;padding:0}.autocomplete-info-function-name{font-family:var(--font-mono);font-size:var(--code-sm);line-height:var(--lh-md);color:var(--accent);font-weight:600;margin-bottom:var(--space-1)}.autocomplete-info-function-description{color:var(--text-mut);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);margin-bottom:var(--space-2)}.autocomplete-info-params-section{margin-bottom:var(--space-2)}.autocomplete-info-params-section dt,.autocomplete-info-params-section .param-name{font-family:var(--font-mono);font-size:var(--code-sm);color:var(--text);font-weight:500}.autocomplete-info-params-section dd,.autocomplete-info-params-section .param-desc{color:var(--text-mut);font-size:var(--text-sm);margin-left:var(--space-2)}.autocomplete-info-param-type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);margin-left:var(--space-1)}.autocomplete-info-param-type:before{content:": "}.autocomplete-info-param-desc{color:var(--text-mut);font-size:var(--text-xs);margin-top:1px}.autocomplete-info-param-item{padding:1px 0}.autocomplete-info-examples-section{margin-top:var(--space-2);border-top:1px solid var(--border-soft);padding-top:var(--space-2)}.hover-docs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:var(--space-2) var(--space-3);max-width:360px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text)}.hover-docs-sig{font-family:var(--font-mono);font-size:var(--code-sm);line-height:var(--lh-md);color:var(--accent);font-weight:600;margin-bottom:var(--space-1)}.hover-docs-desc{color:var(--text-mut);margin-bottom:var(--space-1);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hover-docs-details{border-top:1px solid var(--border-soft);margin-top:var(--space-1);padding-top:var(--space-1)}.hover-docs-summary{cursor:pointer;color:var(--text-dim);font-size:var(--text-xs);font-weight:500;user-select:none;list-style:none;padding:var(--space-1) 0;transition:color var(--t-hover)}.hover-docs-summary::-webkit-details-marker{display:none}.hover-docs-summary:before{content:"▸ ";display:inline;transition:transform var(--t-hover)}.hover-docs-details[open]>.hover-docs-summary:before{content:"▾ "}.hover-docs-summary:hover{color:var(--text-mut)}.hover-docs-params{margin-bottom:var(--space-2)}.hover-docs-param{padding:1px 0}.hover-docs-param-name{font-family:var(--font-mono);font-size:var(--code-sm);color:var(--text);font-weight:500}.hover-docs-param-type{font-family:var(--font-mono);font-size:var(--code-sm);color:var(--text-dim);margin-left:var(--space-1)}.hover-docs-param-type:before{content:": "}.hover-docs-param-doc{color:var(--text-mut);font-size:var(--text-sm)}.hover-docs-examples{border-top:1px solid var(--border-soft);padding-top:var(--space-2);margin-top:var(--space-2)}.hover-docs-example{font-family:var(--font-mono);font-size:var(--code-sm);line-height:var(--lh-sm);color:var(--text);background:var(--surface-1);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin:var(--space-1) 0;white-space:pre-wrap;word-break:break-word;overflow:hidden}.hover-docs-ref-link{display:inline-flex;align-items:center;margin-top:var(--space-2);padding:var(--space-1) var(--space-2);background:transparent;color:var(--accent-hi);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font:inherit;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background var(--t-hover),border-color var(--t-hover)}.hover-docs-ref-link:hover{background:var(--accent-wash);border-color:var(--accent)}.sig-hint{position:absolute;z-index:100;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-low);padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-mut);white-space:nowrap;pointer-events:none;animation:sig-hint-in var(--t-pop-in) both}.sig-hint-name{color:var(--text);font-weight:600}.sig-hint-active-param{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}@keyframes sig-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.autocomplete-info-example-code{font-family:var(--font-mono);font-size:var(--code-sm);line-height:var(--lh-md);color:var(--text);background:var(--surface-1);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);display:block;overflow-x:auto;white-space:pre;margin-top:var(--space-1)}.completion-info-audition{display:flex;align-items:center;gap:var(--space-2)}.completion-info-audition__btn{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--accent);transition:background var(--t-hover),border-color var(--t-hover),color var(--t-hover)}.completion-info-audition__btn:hover{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-hi)}.completion-info-audition__btn:active{background:var(--surface-2)}.completion-info-audition__meta{font-family:var(--font-mono);font-size:var(--code-sm);line-height:var(--lh-sm);color:var(--text-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-scrub-handle{display:inline-block;position:relative;width:0;height:1em;vertical-align:text-top}.cm-scrub-handle:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;cursor:ew-resize}.cm-scrub-literal:has(+.cm-scrub-handle:hover){text-decoration:underline 1px solid var(--accent-wash);text-underline-offset:2px}.cm-scrub-literal-active{color:var(--accent);text-decoration:underline 1px solid var(--accent);text-underline-offset:2px}.cm-scrub-chip{display:inline-block;position:relative;width:0;height:0;vertical-align:baseline;pointer-events:none}.cm-scrub-chip__inner{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow-pop);white-space:nowrap;z-index:5;animation:cm-scrub-chip-in var(--t-pop-in) both}@keyframes cm-scrub-chip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}body.cm-scrub-dragging,body.cm-scrub-dragging *{cursor:ew-resize!important;user-select:none}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006;opacity:0;transition:opacity var(--t-pop-in)}.modal-overlay--open{opacity:1}.modal-overlay--exiting{opacity:0;transition:opacity var(--t-pop-out)}.modal{min-width:360px;max-width:min(480px,calc(100vw - var(--space-6)));max-height:calc(100vh - var(--space-6));padding:var(--space-4) var(--space-4) var(--space-3);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto;transform:translateY(4px) scale(.98);transition:transform var(--t-pop-in)}.modal-overlay--open .modal{transform:translateY(0) scale(1)}.modal-overlay--exiting .modal{transform:translateY(2px) scale(.99);transition:transform var(--t-pop-out)}.modal__title{font-size:var(--text-base);line-height:var(--lh-base);font-weight:600;color:var(--text)}.modal__message{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-mut)}.modal__input{width:100%;height:32px;padding:0 var(--space-2);background:var(--surface-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--code-sm);outline:none;transition:border-color var(--t-hover),background var(--t-hover)}.modal__input::placeholder{color:var(--text-dim)}.modal__input:focus{border-color:var(--accent)}.modal__input--error,.modal__input--error:focus{border-color:var(--rec)}.modal--form{min-width:400px}.modal__field{display:flex;flex-direction:column;gap:var(--space-1)}.modal__label{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-mut);font-weight:500}.modal__select{font-family:var(--font-sans);font-size:var(--text-sm);padding-right:var(--space-5);appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-mut) 50%),linear-gradient(135deg,var(--text-mut) 50%,transparent 50%);background-position:right var(--space-3) center,right calc(var(--space-3) - 4px) center;background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer}.modal__select-divider{color:var(--text-dim);background:var(--surface-2);text-align:center}.modal__error{min-height:var(--lh-xs);font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--rec)}.modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1)}.modal__actions--stacked{flex-direction:column;align-items:stretch;justify-content:flex-start}.modal__choice{text-align:center}.modal__confirm{--btn-bg: var(--accent);--btn-fg: var(--text);--btn-bd: var(--accent)}.modal__confirm:hover{--btn-bg: var(--accent-hi);--btn-bd: var(--accent-hi)}.modal__confirm:active{--btn-bg: var(--accent-lo);--btn-bd: var(--accent-lo)}.modal__confirm.btn--destructive,.modal__choice.btn--destructive{--btn-bg: var(--rec);--btn-bd: var(--rec)}.modal__confirm.btn--destructive:hover,.modal__choice.btn--destructive:hover{--btn-bg: oklch(.7 .22 25);--btn-bd: oklch(.7 .22 25)}.midi-import{min-width:420px;max-width:min(560px,calc(100vw - var(--space-6)))}.midi-import__body{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-3)}.midi-import__drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:140px;padding:var(--space-5);border:2px dashed var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--t-hover),background var(--t-hover)}.midi-import__drop-zone:hover,.midi-import__drop-zone--active{border-color:var(--accent);background:var(--accent-wash)}.midi-import__drop-icon{color:var(--text-dim);transition:color var(--t-hover)}.midi-import__drop-zone:hover .midi-import__drop-icon,.midi-import__drop-zone--active .midi-import__drop-icon{color:var(--accent)}.midi-import__drop-text{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-mut);text-align:center}.midi-import__drop-text code{font-family:var(--font-mono);font-size:var(--code-sm);color:var(--text)}.midi-import__file-input{position:absolute;inset:0;opacity:0;cursor:pointer;pointer-events:none}.midi-import__error{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--rec);padding:var(--space-3) 0}.midi-import__name-row{display:flex;flex-direction:column;gap:var(--space-1)}.midi-import__label{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:600;color:var(--text-mut);text-transform:uppercase;letter-spacing:.05em}.midi-import__name-input{font-family:var(--font-mono)}.midi-import__name-error{min-height:var(--lh-xs)}.midi-import__meta{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-mut)}.midi-import__section-label{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:600;color:var(--text-mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.midi-import__tracks{display:flex;flex-direction:column;gap:0;max-height:280px;overflow-y:auto}.midi-import__track-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);line-height:var(--lh-sm);transition:background var(--t-hover)}.midi-import__track-row:hover{background:var(--surface-3)}.midi-import__track-row--disabled{opacity:.45;cursor:not-allowed}.midi-import__track-row--disabled:hover{background:transparent}.midi-import__track-cb{accent-color:var(--accent);flex-shrink:0}.midi-import__track-info{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0}.midi-import__track-name{font-weight:600;color:var(--text);white-space:nowrap}.midi-import__track-details{color:var(--text-mut);font-size:var(--text-xs);white-space:nowrap}.midi-import__badge{font-size:var(--text-xs);color:var(--text-dim);font-family:var(--font-mono);white-space:nowrap}.midi-import__badge--empty{font-family:var(--font-sans);font-style:italic}.midi-import__sound-select{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px var(--space-1);cursor:pointer;white-space:nowrap;max-width:160px}.midi-import__sound-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.midi-import__velocity-section{margin-top:var(--space-1)}.midi-import__velocity-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text);cursor:pointer}.midi-import__velocity-cb{accent-color:var(--accent);flex-shrink:0}.midi-import__grid-section{margin-top:var(--space-1)}.midi-import__grid-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.midi-import__grid-option{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text);cursor:pointer;white-space:nowrap}.midi-import__grid-option input[type=radio]{accent-color:var(--accent)}.midi-import__warnings{display:flex;flex-direction:column;gap:var(--space-1)}.midi-import__warning{font-size:var(--text-xs);line-height:var(--lh-xs);color:#f0a646;padding:var(--space-1) 0}.palette-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:72px;background:#00000059;opacity:0;transition:opacity var(--t-pop-in)}.palette-overlay--open{opacity:1}.palette-overlay--exiting{opacity:0;transition:opacity var(--t-pop-out)}.palette{width:min(520px,calc(100vw - var(--space-6)));max-height:min(420px,calc(100vh - 160px));display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);overflow:hidden;transform:translateY(-4px) scale(.98);transition:transform var(--t-pop-in)}.palette-overlay--open .palette{transform:translateY(0) scale(1)}.palette-overlay--exiting .palette{transform:translateY(-2px) scale(.99);transition:transform var(--t-pop-out)}.palette__input-wrap{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-soft)}.palette__chevron{flex-shrink:0;color:var(--text-dim)}.palette__input{flex:1 1 auto;height:28px;padding:0;background:transparent;color:var(--text);border:none;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);font-weight:500;outline:none}.palette__input::placeholder{color:var(--text-dim);font-weight:400}.palette__list{flex:1 1 auto;overflow-y:auto;padding:var(--space-1) 0;margin:0;list-style:none;overscroll-behavior:contain}.palette__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-3);min-height:32px;cursor:pointer;transition:background var(--t-hover)}.palette__item:hover{background:var(--surface-3)}.palette__item.is-selected{background:var(--accent-wash)}.palette__item.is-selected:hover{background:#dd4a892e}.palette__item-label{flex:1 1 auto;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette__item-kbd{flex-shrink:0;font-family:var(--font-sans);font-size:var(--text-xs);line-height:1;font-weight:500;color:var(--text-mut);padding:2px 6px;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--radius-sm);white-space:nowrap}.palette__item.is-selected .palette__item-kbd{background:color-mix(in oklch,var(--surface-1) 80%,var(--accent));border-color:color-mix(in oklch,var(--border-soft) 70%,var(--accent))}.settings-pop{position:fixed;z-index:900;width:280px;padding:var(--space-4);background:var(--surface-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:var(--space-3);opacity:0;transform:translateY(-4px) scale(.98);transform-origin:top right;transition:opacity var(--t-pop-in),transform var(--t-pop-in)}.settings-pop--open{opacity:1;transform:translateY(0) scale(1)}.settings-pop--exiting{opacity:0;transform:translateY(-2px) scale(.99);transition:opacity var(--t-pop-out),transform var(--t-pop-out)}.settings-pop__section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-pop__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.settings-pop__title{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);user-select:none}.settings-pop__swatch{width:20px;height:20px;border-radius:50%;background:var(--accent);border:1px solid var(--border);box-shadow:var(--shadow-low)}.settings-pop__field{display:flex;flex-direction:column;gap:var(--space-1)}.settings-pop__field-label{font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-mut);user-select:none}.settings-pop__slider{appearance:none;width:100%;height:14px;background:transparent;cursor:pointer;margin:0}.settings-pop__slider::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-soft)}.settings-pop__slider::-moz-range-track{height:6px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-soft)}.settings-pop__slider.settings-pop__hue-track::-webkit-slider-runnable-track{background:linear-gradient(to right,#de4a84,oklch(.63 .19 60),oklch(.63 .19 120),oklch(.63 .19 180),oklch(.63 .19 240),#9d67e9,#de4a84)}.settings-pop__slider.settings-pop__hue-track::-moz-range-track{background:linear-gradient(to right,#de4a84,oklch(.63 .19 60),oklch(.63 .19 120),oklch(.63 .19 180),oklch(.63 .19 240),#9d67e9,#de4a84)}.settings-pop__slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--text);border:2px solid var(--surface-1);box-shadow:var(--shadow-low);transition:transform var(--t-hover)}.settings-pop__slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--text);border:2px solid var(--surface-1);box-shadow:var(--shadow-low)}.settings-pop__slider:focus-visible{outline:none}.settings-pop__slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--accent)}.settings-pop__slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--accent)}.settings-pop__reset-row{display:flex;justify-content:flex-end;margin-top:var(--space-1)}.settings-pop__reset{background:transparent;border:none;padding:0;font:inherit;font-size:var(--text-xs);color:var(--text-mut);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;transition:color var(--t-hover),text-decoration-color var(--t-hover)}.settings-pop__reset:hover{color:var(--accent-hi);text-decoration-color:var(--accent)}.settings-pop__reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}
