:root,:root[data-theme=dark]{--app-bg:#0f0f1a;--surface-bg:#1a1a2e;--surface-elevated:#14141f;--surface-border:#2a2a4a;--surface-border-strong:#3a3a5a;--text-default:#e0e0e0;--text-secondary:#a0a0c0;--text-strong:#d0d4ec;--text-muted:#d0d0e0;--accent:#00d4ff;--accent-bright:#80efff;--accent-bg-faint:#00d4ff0f;--accent-bg-light:#00d4ff1a;--accent-bg-medium:#00d4ff1f;--accent-bg-strong:#00d4ff2e;--accent-bg-overlay:#00d4ff33;--accent-bg-soft:#00d4ff4d;--success:#4ade80;--success-dark:#22c55e;--danger:#f46;--danger-dark:#e63355;--hover-bg:#2a2a4a;--shadow-strong:0 8px 24px #00000073;--shadow-soft:0 2px 8px #0000004d;--canvas-bg:#1a1a2e;--canvas-bg-deep:#0a0a1a;--canvas-grid-primary:#3a3a5a;--canvas-grid-secondary:#2a2a4a;--canvas-grid-tertiary:#33335a;--canvas-text-primary:#8a8fa8;--canvas-text-secondary:#7a7e96;--canvas-marker:#fff;--canvas-spline-perfect:#ff9d42;--playhead-rgb:74, 222, 128;--input-bg:#0e0e1e;--text:#6b6375;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--app-bg:#f4f5f7;--surface-bg:#fff;--surface-elevated:#fff;--surface-border:#d4d7de;--surface-border-strong:#b8bcc6;--text-default:#1a1a2e;--text-secondary:#5a5e70;--text-strong:#0a0a1a;--text-muted:#3a3e50;--accent:#0095c0;--accent-bright:#00b3e0;--accent-bg-faint:#0095c00f;--accent-bg-light:#0095c01a;--accent-bg-medium:#0095c026;--accent-bg-strong:#0095c038;--accent-bg-overlay:#0095c040;--accent-bg-soft:#0095c04d;--success:#16a34a;--success-dark:#15803d;--danger:#dc2626;--danger-dark:#991b1b;--hover-bg:#eaecf0;--shadow-strong:0 8px 24px #0f172a26;--shadow-soft:0 2px 8px #0f172a14;--canvas-bg:#fafbfc;--canvas-bg-deep:#eef0f4;--canvas-grid-primary:#c8ccd4;--canvas-grid-secondary:#e0e3e8;--canvas-grid-tertiary:#eaedf2;--canvas-text-primary:#5a5e70;--canvas-text-secondary:#7a7e90;--canvas-marker:#1a1a2e;--canvas-spline-perfect:#d9690a;--playhead-rgb:22, 163, 74;--input-bg:#f0f2f5;--text:#4a4854;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--module-band-width:28px;font:18px/145% var(--sans);letter-spacing:.18px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}html,body{height:100%}body{overscroll-behavior:none;margin:0;overflow:hidden}#root{box-sizing:border-box;flex-direction:column;max-width:100%;height:100%;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.overflow-toolbar{flex:1 1 0;min-width:2.25rem;position:relative}.overflow-toolbar-row{align-items:center;gap:8px;display:flex}.overflow-toolbar-visible{justify-content:flex-end;width:100%;min-width:0;overflow:hidden}.overflow-toolbar-ghost{visibility:hidden;pointer-events:none;white-space:nowrap;position:absolute;top:0;left:0}.overflow-toolbar-item{flex-shrink:0;align-items:center;display:inline-flex}.overflow-toolbar-prefix{align-self:stretch;align-items:stretch}.overflow-toolbar-trigger.has-badge{position:relative}.overflow-toolbar-trigger-badge{background:var(--accent);border:1.5px solid var(--surface-bg);pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.overflow-toolbar-backdrop{z-index:999;position:fixed;inset:0}.overflow-toolbar-popover{z-index:1000;background:var(--surface-bg);border:1px solid var(--surface-border-strong);box-shadow:var(--shadow-strong);border-radius:6px;flex-direction:column;gap:4px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.overflow-toolbar-popover:focus{outline:none}.overflow-toolbar-tray-row{white-space:nowrap;min-height:30px;color:var(--text-default);align-items:center;gap:8px;padding:2px 4px;font-size:12px;display:flex}.overflow-toolbar-tray-label{color:var(--text-secondary);font-size:12px}.piano-keyboard{-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;flex-shrink:0;width:100%;min-width:210px;height:90px;position:relative}.piano-whites{gap:1px;width:100%;height:100%;display:flex}.piano-key{cursor:pointer;box-sizing:border-box;padding:0;font-family:inherit;transition:background .1s,border-color .1s}.piano-key-white{color:#444;background:#f5f5f0;border:1px solid #1a1a1a;border-radius:0 0 4px 4px;flex:1;justify-content:center;align-items:flex-end;min-width:0;padding-bottom:4px;display:flex}.piano-key-white:hover{background:#e2e2dc}.piano-key-white.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.piano-key-white.is-playing{color:#1a1a1a;background:#ffe27a;border-color:#ffc600;box-shadow:0 0 10px #ffc60099}.piano-key-white .piano-key-label{pointer-events:none;font-family:monospace;font-size:.7rem}.piano-blacks{pointer-events:none;height:60%;position:absolute;top:0;left:0;right:0}.piano-key-black{pointer-events:auto;background:#1a1a1a;border:1px solid #0a0a0a;border-radius:0 0 3px 3px;width:8.4%;height:100%;position:absolute;transform:translate(-50%);box-shadow:0 2px 3px #0006}.piano-key-black:hover{background:#2a2a2a}.piano-key-black.is-active{background:var(--accent);border-color:var(--accent)}.piano-key-black.is-playing{background:#ffc600;border-color:#ffe27a;box-shadow:0 0 10px #ffc60099}.piano-keyboard-compact{min-width:140px;height:56px}.piano-keyboard-grid24{-webkit-user-select:none;user-select:none;flex-shrink:0;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(30,1fr);gap:2px;width:100%;height:160px;display:grid}.piano-keyboard-grid24.piano-keyboard-compact{gap:1px;height:80px}.grid24-key{cursor:pointer;border:1px solid hsl(var(--hue), 30%, 22%);color:var(--surface-bg);border-radius:3px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.7rem;transition:background .1s,border-color .1s,transform 50ms;display:flex}.grid24-key-natural{background:hsl(var(--hue), 55%, 60%)}.grid24-key-natural:hover{background:hsl(var(--hue), 60%, 68%)}.grid24-key-half-up{background:hsl(var(--hue), 50%, 45%);color:#f4f4fa}.grid24-key-half-up:hover{background:hsl(var(--hue), 55%, 53%)}.grid24-key-half-dn{background:hsl(var(--hue), 50%, 75%);color:var(--surface-bg)}.grid24-key-half-dn:hover{background:hsl(var(--hue), 60%, 82%)}.grid24-key-sharp{background:hsl(var(--hue), 60%, 30%);color:#f0f0f6}.grid24-key-sharp:hover{background:hsl(var(--hue), 65%, 38%)}.grid24-key.is-active{box-shadow:inset 0 0 0 3px var(--accent)}.grid24-key.is-playing{outline-offset:-3px;z-index:1;outline:3px solid #ffc600;box-shadow:0 0 10px #ffc60099}.grid24-key.is-active.is-playing{box-shadow:inset 0 0 0 3px var(--accent), 0 0 10px #ffc60099}.grid24-key-label{pointer-events:none;font-family:monospace}.piano-keyboard-grid24.piano-keyboard-compact .grid24-key-label{display:none}.piano-keyboard-grid22{-webkit-user-select:none;user-select:none;flex-shrink:0;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(32,1fr);gap:2px;width:100%;height:160px;display:grid}.piano-keyboard-grid22.piano-keyboard-compact{gap:1px;height:80px}.grid22-key{cursor:pointer;border:1px solid hsl(var(--hue), 30%, 22%);border-radius:3px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.7rem;transition:background .1s,border-color .1s,transform 50ms;display:flex}.grid22-key-r0{background:hsl(var(--hue), 60%, 75%);color:var(--surface-bg)}.grid22-key-r0:hover{background:hsl(var(--hue), 65%, 82%)}.grid22-key-r1{background:hsl(var(--hue), 60%, 60%);color:var(--surface-bg)}.grid22-key-r1:hover{background:hsl(var(--hue), 65%, 68%)}.grid22-key-r2{background:hsl(var(--hue), 60%, 45%);color:#f4f4fa}.grid22-key-r2:hover{background:hsl(var(--hue), 65%, 53%)}.grid22-key-r3{background:hsl(var(--hue), 60%, 30%);color:#f0f0f6}.grid22-key-r3:hover{background:hsl(var(--hue), 65%, 38%)}.grid22-key.is-active{box-shadow:inset 0 0 0 3px var(--accent)}.grid22-key.is-playing{outline-offset:-3px;z-index:1;outline:3px solid #ffc600;box-shadow:0 0 10px #ffc60099}.grid22-key.is-active.is-playing{box-shadow:inset 0 0 0 3px var(--accent), 0 0 10px #ffc60099}.grid22-key-label{pointer-events:none;font-family:monospace;font-weight:600}.piano-keyboard-grid22.piano-keyboard-compact .grid22-key-label{display:none}.piano-keyboard-grid-x-edo{-webkit-user-select:none;user-select:none;flex-shrink:0;gap:2px;width:100%;display:grid}.gridx-cell{border:1px solid hsl(var(--hue), 30%, 22%);border-radius:3px;flex-direction:row;display:flex}.gridx-cell .gridx-key:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.gridx-cell .gridx-key:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.gridx-key{cursor:pointer;background:hsl(var(--hue), 60%, var(--lightness));color:hsl(var(--hue), 30%, 15%);border:none;flex:1;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.7rem;transition:background .1s,transform 50ms;display:flex}.gridx-cell .gridx-key-shifted{border-left:2px solid hsl(var(--hue), 30%, 22%)}.piano-keyboard-grid-x-edo[data-rows="3"] .gridx-cell[style*="--lightness:30%"] .gridx-key,.piano-keyboard-grid-x-edo[data-rows="4"] .gridx-cell[style*="--lightness:30%"] .gridx-key,.piano-keyboard-grid-x-edo[data-rows="4"] .gridx-cell[style*="--lightness:45%"] .gridx-key{color:#f0f0f6}.gridx-key:hover{filter:brightness(1.1)}.gridx-key.is-active{box-shadow:inset 0 0 0 3px var(--accent)}.gridx-key.is-playing{outline-offset:-3px;z-index:1;outline:3px solid #ffc600;box-shadow:0 0 10px #ffc60099}.gridx-key.is-active.is-playing{box-shadow:inset 0 0 0 3px var(--accent), 0 0 10px #ffc60099}.gridx-key.is-cued{box-shadow:0 0 0 2px #e832e2}.gridx-key.is-active.is-cued{box-shadow:inset 0 0 0 3px var(--accent), 0 0 0 2px #e832e2}.gridx-key.is-cued.is-playing{box-shadow:0 0 0 2px #e832e2,0 0 10px #ffc60099}.gridx-key.is-active.is-cued.is-playing{box-shadow:inset 0 0 0 3px var(--accent), 0 0 0 2px #e832e2, 0 0 10px #ffc60099}.gridx-key-label{pointer-events:none;font-family:monospace;font-weight:600}.piano-keyboard-grid-x-edo.piano-keyboard-compact .gridx-key-label{display:none}.is-cued{box-shadow:0 0 0 2px #e832e2}.grid24-key.is-active.is-cued{box-shadow:inset 0 0 0 3px var(--accent), 0 0 0 2px #e832e2}.grid24-key.is-cued.is-playing{box-shadow:0 0 0 2px #e832e2,0 0 10px #ffc60099}.grid24-key.is-active.is-cued.is-playing{box-shadow:inset 0 0 0 3px var(--accent), 0 0 0 2px #e832e2, 0 0 10px #ffc60099}.piano-key.is-cued.is-playing{box-shadow:0 0 0 2px #e832e2,0 0 10px #ffc60099}.octave-selector{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.octave-btn{border:1px solid var(--surface-border-strong);background:var(--surface-bg);min-width:28px;max-width:40px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:4px;flex:1;padding:0;font-family:monospace;font-size:.8rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.octave-btn:hover{border-color:var(--accent);color:var(--accent)}.octave-btn.is-reference{background:var(--accent-bg-light);color:var(--accent);border-color:var(--accent-bg-soft)}.octave-btn.is-reference:hover{color:var(--accent);border-color:var(--accent)}.octave-btn.is-active{background:var(--accent);border-color:var(--accent);color:var(--surface-bg);font-weight:600}.octave-btn.is-active:hover{background:var(--accent-bright);color:var(--surface-bg)}.octave-selector-compact{gap:2px;margin-top:4px}.octave-selector-compact .octave-btn{min-width:22px;max-width:30px;height:22px;font-size:.7rem}.short-select{display:inline-block;position:relative}.short-select-trigger{box-sizing:border-box;border:1px solid var(--surface-border-strong);background:var(--surface-bg);min-height:32px;color:var(--text-muted);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:4px;width:100%;padding:5px 6px 5px 8px;font-family:inherit;font-size:.8rem;line-height:1.4;transition:border-color .15s,background .15s;display:inline-flex}.short-select-trigger:hover{border-color:var(--text-secondary)}.short-select-trigger:focus,.short-select-trigger.is-open{border-color:var(--accent);outline:none}.short-select-trigger-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.short-select-chevron{color:var(--text-secondary);flex-shrink:0}.short-select-menu{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:80;border-radius:6px;min-width:100%;max-width:320px;max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 6px 18px #00000073}.short-select-option{color:var(--text-muted);cursor:pointer;white-space:nowrap;padding:6px 10px;font-size:.82rem;line-height:1.4;transition:background .12s,color .12s}.short-select-option:hover,.short-select-option.is-highlighted{background:var(--accent-bg-medium);color:var(--accent)}.short-select-option.is-selected{background:var(--accent-bg-strong);color:var(--accent);font-weight:600}.short-select-option.is-selected.is-highlighted{background:#00d4ff47}.confirm-dialog-backdrop{background:var(--backdrop-bg,#00000080);z-index:1500;position:fixed;inset:0}.confirm-dialog{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:1501;width:380px;color:var(--text-strong);border-radius:8px;padding:20px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}.confirm-dialog h4{margin:0 0 12px;font-size:14px;font-weight:600}.confirm-dialog-message{color:var(--text-default);margin:0 0 16px;font-size:12px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-dialog-btn{background:var(--surface-bg);border:1px solid var(--surface-border-strong);color:var(--text-strong);cursor:pointer;border-radius:4px;padding:6px 14px;font-size:12px}.confirm-dialog-btn:hover{background:var(--surface-border)}.confirm-dialog-btn.primary{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent)}.confirm-dialog-btn.primary.danger{color:#f87171;background:#f8717126;border-color:#f87171}.preset-picker-backdrop{background:var(--backdrop-bg,#00000080);z-index:1500;position:fixed;inset:0}.preset-picker{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:1501;width:600px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);color:var(--text-strong);border-radius:8px;flex-direction:column;font-family:system-ui,sans-serif;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}.preset-picker-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.preset-picker-header h4{margin:0;font-size:14px;font-weight:600}.preset-picker-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.preset-picker-close:hover{color:var(--text-strong)}.preset-picker-body{padding:8px 20px 16px;overflow-y:auto}.preset-picker-group+.preset-picker-group{margin-top:16px}.preset-picker-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:12px 0 8px;font-size:11px;font-weight:600}.pp-thumb-btn{border:1px solid var(--surface-border);background:var(--surface-bg);color:var(--text-strong);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.pp-thumb-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.pp-thumb-btn .patch-thumbnail{width:72px;height:32px}.pp-view-label{color:var(--text-secondary);text-align:center;font-size:11px;line-height:1.3}.pp-base-list{flex-direction:column;gap:10px;display:flex}.pp-base-row{grid-template-columns:84px 1fr auto;align-items:center;gap:12px;display:grid}.pp-base-name{font-size:13px;font-weight:500}.pp-base-views{gap:8px;display:flex}.pp-base-n{text-align:right;min-width:96px}.pp-n-field{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pp-n-input{border:1px solid var(--surface-border-strong);background:var(--input-bg,var(--surface-bg));width:52px;color:var(--text-strong);text-align:right;border-radius:4px;padding:4px 6px;font-size:12px}.pp-n-fixed{color:var(--text-secondary);white-space:nowrap;font-size:12px}.pp-param-fields{flex-direction:column;align-items:flex-end;gap:6px;min-width:150px;display:flex}.pp-param-field{color:var(--text-secondary);white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;font-size:12px;display:inline-flex}.pp-timbre-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.pp-timbre-btn,.pp-timbre-btn .patch-thumbnail{width:100%}.spline-header-controls{flex:1 1 0;align-items:center;min-width:2.25rem;display:flex}.spline-interp-toggle{border:1px solid var(--surface-border-strong);border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.spline-interp-toggle .icon-btn{border:none;border-radius:0}.spline-interp-toggle .icon-btn+.icon-btn{border-left:1px solid var(--surface-border-strong)}.spline-hint{color:var(--text-secondary);opacity:.8;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 12px);margin:0;font-size:10px;position:absolute;bottom:2px;left:50%;overflow:hidden;transform:translate(-50%)}.spline-context-menu{z-index:20;background:var(--surface-elevated);border:1px solid var(--surface-border-strong);border-radius:6px;min-width:140px;padding:4px;position:absolute;box-shadow:0 6px 18px #00000059}.spline-context-menu-item{text-align:left;width:100%;color:var(--text-default);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:13px;display:block}.spline-context-menu-item:hover{background:var(--accent-bg-faint);color:var(--text-strong)}.we-canvas-area,.we-harmonics-area,.we-params-area,.we-adsr-area,.we-modulation-area{box-sizing:border-box;background:var(--surface-elevated);border:1px solid var(--surface-border-strong);border-radius:8px;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;padding:12px;font-family:system-ui,-apple-system,sans-serif;display:flex}.we-area-header{border-bottom:1px solid var(--surface-border-strong);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:6px;display:flex}.we-readonly-badge{color:var(--text-secondary);opacity:.7;align-items:center;display:inline-flex}.we-harmonics-controls{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.we-n-input{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.we-convert-btn{border:1px solid var(--surface-border-strong);background:var(--surface-bg);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:5px 9px;font-size:12px;line-height:1;transition:background .12s,color .12s,border-color .12s}.we-convert-btn:hover{background:var(--accent-bg-faint);border-color:var(--accent);color:var(--text-strong)}.we-n-value-input{text-align:center;border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:48px;color:var(--text-default);border-radius:4px;padding:2px 4px;font-size:12px}.we-anchor-count{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.we-anchor-count.is-disabled{opacity:.45;cursor:not-allowed}.we-anchor-count-readout{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.we-anchor-count-input{box-sizing:border-box;text-align:center;border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:40px;height:30px;color:var(--text-default);border-radius:4px;padding:2px 4px;font-size:12px}.we-anchor-count-input:disabled{cursor:not-allowed}.we-cap-icon{color:var(--text-secondary);flex-shrink:0;align-items:center;display:inline-flex}.we-cap-control{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:8px;font-size:12px;display:inline-flex}.we-cap-readout{align-items:center;gap:4px;display:inline-flex}.we-cap-value-input{box-sizing:border-box;text-align:center;border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:48px;height:30px;color:var(--text-default);border-radius:4px;padding:2px 4px;font-size:12px}.we-cap-suffix{white-space:nowrap}.number-input-stepper{align-items:stretch;display:inline-flex}.number-input-stepper>input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.number-input-steppers{border:1px solid var(--surface-border-strong);border-radius:0 4px 4px 0;flex-direction:column;width:18px;display:flex;overflow:hidden}.number-input-stepper-btn{background:var(--surface-bg);color:var(--text-secondary);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.number-input-stepper-btn:first-child{border-bottom:1px solid var(--surface-border)}.number-input-stepper-btn:hover{background:var(--accent-bg-faint);color:var(--text-strong)}.number-input-stepper-btn:active{background:var(--accent-bg-light)}.number-input-stepper-btn:disabled{opacity:.45;cursor:not-allowed}.number-input-stepper-btn:disabled:hover{background:var(--surface-bg);color:var(--text-secondary)}.we-harmonics-plot{flex:1;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;column-gap:4px;min-height:0;display:grid}.we-harmonics-ylabels{box-sizing:border-box;color:var(--text-secondary);-webkit-user-select:none;user-select:none;flex-direction:column;grid-area:1/1;justify-content:space-between;align-items:flex-end;padding:12px 0;font-size:10px;line-height:1;display:flex}.we-harmonics-xlabels{height:13px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;grid-area:2/2;margin-top:2px;font-size:10px;line-height:1;position:relative}.we-xlabel{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.we-harmonics-bars{background:var(--canvas-bg,var(--surface-bg));cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:6px;flex:1;grid-area:1/2;align-items:flex-end;gap:1px;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden}.we-harmonics-bars.is-readonly{cursor:default}.we-harmonics-grid{pointer-events:none;position:absolute;inset:12px}.we-grid-line{border-top:1px dashed var(--text-secondary);opacity:.22;height:0;position:absolute;left:0;right:0;transform:translateY(-50%)}.we-bar{flex:1 1 0;align-items:flex-end;min-width:0;height:100%;display:flex}.we-bar-fill{background:var(--accent);border-radius:1px 1px 0 0;width:100%;min-height:1px}.we-harmonics-bars.is-unnormalized .we-bar-fill,.we-harmonics-bars.is-readonly .we-bar-fill{background:var(--text-secondary);opacity:.55}.we-header-left{flex:0 100 auto;align-items:center;gap:10px;min-width:0;display:flex}.we-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.we-history{background:var(--surface-elevated);border:1px solid var(--surface-border-strong);border-radius:4px;align-items:center;gap:2px;padding:2px;display:inline-flex}.we-history-btn{width:24px;height:24px;color:var(--text-default);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.we-history-btn:hover:not(:disabled){background:var(--surface-border);color:var(--accent)}.we-history-btn:disabled{opacity:.3;cursor:not-allowed}.spectro-toggle{color:#a0a8b8;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--surface-border-strong);background:var(--surface-bg);border-radius:4px;flex-shrink:0;align-items:center;gap:6px;padding:3px 8px;font-size:.75rem;transition:border-color .15s,color .15s;display:inline-flex}.spectro-toggle:hover{border-color:var(--accent);color:var(--accent)}.spectro-toggle input{accent-color:var(--accent);margin:0}.we-area-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.8rem;font-weight:600;overflow:hidden}.we-area-icon{color:var(--text-secondary);flex-shrink:0;align-self:center}.we-sound-tag{color:#c084fc;white-space:nowrap;text-overflow:ellipsis;background:#c084fc1a;border:1px solid #c084fc4d;border-radius:10px;max-width:55%;padding:2px 8px;font-size:.75rem;overflow:hidden}.canvas-container{flex:1;min-width:0;min-height:200px;position:relative;overflow:hidden}.canvas-container canvas{border:1px solid var(--surface-border-strong);cursor:crosshair;background:var(--surface-bg);box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;width:100%;height:100%;display:block;position:absolute;inset:0}.canvas-container.is-readonly canvas{cursor:default}.canvas-container .label{color:#5a5a8a;pointer-events:none;font-family:monospace;font-size:.7rem;position:absolute;left:6px}.canvas-container .label.top{top:4px}.canvas-container .label.middle{top:50%;transform:translateY(-50%)}.canvas-container .label.bottom{bottom:4px}.we-normalize-legend{color:var(--text-secondary);opacity:.8;pointer-events:none;white-space:nowrap;gap:12px;font-size:10px;display:flex;position:absolute;top:2px;left:50%;transform:translate(-50%)}.we-legend-item{align-items:center;gap:4px;display:inline-flex}.we-legend-swatch{border-radius:1px;width:14px;height:2px;display:inline-block}.we-legend-swatch.swatch-current{background:var(--accent)}.we-legend-swatch.swatch-normalized{background:var(--canvas-text-primary);opacity:.6}.we-legend-swatch.swatch-spline{background:var(--canvas-spline-perfect)}.we-params-fields{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.we-params-spacer{flex:1;min-height:8px}.control-group{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.we-keyboard-area{flex:auto;align-items:stretch;width:100%;min-height:90px;display:flex}.we-keyboard-area>.piano-keyboard,.we-keyboard-area>.piano-keyboard-grid24,.we-keyboard-area>.piano-keyboard-grid-22-bhatkhande,.we-keyboard-area>.piano-keyboard-grid-22-sarngadeva,.we-keyboard-area>.piano-keyboard-grid-x-edo{width:100%;height:100%!important}.we-params-header-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.we-octave-header{align-items:center;gap:6px;display:inline-flex}.we-octave-stepper-input{box-sizing:border-box;text-align:center;border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:36px;height:30px;color:var(--text-default);border-radius:4px;padding:2px 4px;font-size:12px}.we-octave-row{flex-shrink:0;align-items:center;gap:8px;display:flex}.we-octave-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);flex-shrink:0;font-size:.72rem;font-weight:600;line-height:1}.we-octave-row .octave-selector{flex-wrap:nowrap;flex:1;gap:8px;margin-top:0}.we-octave-row .octave-selector .octave-btn{flex:1;min-width:0;max-width:none}.we-note-row{flex-shrink:0;margin-top:auto}.control-group label{color:var(--text-secondary);font-size:.85rem}.control-group strong{color:var(--accent)}.control-group input[type=range]{width:100%;accent-color:var(--accent);height:6px}.freq-label{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:.85rem;display:inline-flex}.freq-input{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:90px;color:var(--accent);text-align:right;border-radius:4px;outline:none;padding:4px 6px;font-family:monospace;font-size:.85rem;font-weight:600}.freq-input:focus{border-color:var(--accent);background:var(--app-bg)}.freq-unit{color:var(--accent);font-size:.85rem;font-weight:600}.note-display{color:#c084fc;font-weight:600}.system-label{color:var(--text-secondary);font-size:.85rem}.instrument-system-row{flex-wrap:wrap;gap:8px;display:flex}.instrument-system-field{flex-direction:column;flex:90px;gap:3px;min-width:80px;display:flex}.instrument-system-field.instrument-xedo-field,.instrument-system-field.instrument-tonic-field{flex:none;min-width:0}.instrument-system-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.72rem;font-weight:600}.instrument-system-field .short-select,.instrument-system-field .xedo-input-designer{width:100%;margin-top:auto}.instrument-system-field.instrument-xedo-field .xedo-input-designer{width:50px}.instrument-system-field.instrument-tonic-field .short-select-trigger{min-width:52px}@media (width<=1169px){.instrument-label-extension{display:none}}.instrument-modal-body .instrument-label-extension{display:inline}.instrument-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.instrument-modal{background:var(--surface-bg);border:1px solid var(--surface-border-strong);border-radius:10px;flex-direction:column;width:100%;max-width:480px;max-height:calc(100dvh - 40px);display:flex;overflow:hidden;box-shadow:0 16px 48px #00000080}.instrument-modal-header{border-bottom:1px solid var(--surface-border-strong);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.instrument-modal-header h3{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:.95rem;font-weight:600}.instrument-modal-close{border:1px solid var(--surface-border-strong);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.instrument-modal-close:hover{background:var(--surface-border);color:var(--danger);border-color:var(--danger)}.instrument-modal-body{padding:18px;overflow-y:auto}.instrument-modal-body .instrument-system-row{flex-flow:column;gap:12px}.instrument-modal-body .instrument-system-field{flex:none;width:100%;min-width:0}.instrument-modal-body .instrument-system-field.instrument-xedo-field,.instrument-modal-body .instrument-system-field.instrument-tonic-field{width:100%}.instrument-modal-body .instrument-system-field .xedo-input-designer{width:100px}.instrument-modal-body .instrument-system-field .short-select,.instrument-modal-body .instrument-system-field .xedo-input-designer{margin-top:0}.free-test-btn{border:1px solid var(--accent);background:var(--accent-bg-faint);width:100%;color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;border-radius:8px;margin-top:8px;padding:10px 14px;font-size:.95rem;font-weight:600;transition:background .15s,transform 50ms}.free-test-btn:hover{background:var(--accent-bg-strong)}.free-test-btn:active,.free-test-btn.is-active{background:#00d4ff59;transform:scale(.98)}.free-test-shortcut{color:var(--text-secondary);margin-left:4px;font-size:.8em;font-weight:400}.tuning-system-select{border:1px solid var(--surface-border-strong);background:var(--surface-bg);color:var(--text-muted);cursor:pointer;border-radius:6px;width:100%;padding:5px 8px;font-family:inherit;font-size:.8rem}.tuning-system-select:focus{border-color:var(--accent);outline:none}.xedo-control-designer{color:var(--text-secondary);align-items:center;gap:6px;margin-top:6px;font-size:.8rem;font-weight:600;display:inline-flex}.xedo-input-designer{box-sizing:border-box;border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:50px;min-height:32px;color:var(--text-muted);text-align:center;border-radius:6px;outline:none;padding:5px 6px;font-family:monospace;font-size:.8rem;line-height:1.4}.xedo-input-designer:focus{border-color:var(--accent)}.x-edo-banner{background:var(--accent-bg-faint);border:1px solid var(--accent-bg-soft);color:#c0d8e8;border-radius:4px;margin-bottom:6px;padding:6px 10px;font-size:.78rem;line-height:1.4}.x-edo-banner-text{color:#c0d8e8}.x-edo-banner-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.x-edo-banner-link:hover{color:#5ce8ff}.x-edo-banner-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.visual-cues-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.visual-cues-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.visual-cues-select{width:auto;min-width:80px}.sustain-pastille{color:var(--text-secondary);letter-spacing:.04em;cursor:pointer;border:1px solid var(--surface-border-strong);vertical-align:1px;background:0 0;border-radius:3px;align-items:center;gap:4px;margin-left:10px;padding:2px 8px;font-size:.7rem;font-weight:600;transition:background .12s,color .12s,box-shadow .12s,border-color .12s;display:inline-flex}.sustain-pastille:hover{background:var(--surface-bg);color:var(--text-primary)}.sustain-pastille.is-active{color:#1a1a1a;background:#ffc600;border-color:#ffc600;box-shadow:0 0 8px #ffc60073}.sustain-pastille.is-locked{border-color:#00000059;box-shadow:0 0 8px #ffc60099,inset 0 0 0 1px #0000002e}.control-buttons{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.designer-actions-panel{box-sizing:border-box;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.designer-actions-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.designer-actions-row{flex-wrap:wrap;gap:12px;display:flex}.designer-actions-group{gap:4px;display:flex}.designer-actions-icons{flex-direction:column;align-items:center;gap:4px;display:flex}.actions-icon-btn{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:background .15s,color .15s,border-color .15s;display:flex}.actions-icon-btn:hover{background:var(--surface-border);color:var(--accent);border-color:var(--accent)}.actions-icon-btn.update-btn-icon{color:var(--success);border-color:var(--success)}.actions-icon-btn.update-btn-icon:hover{color:var(--success);background:#4ade802e}.actions-icon-btn.save-btn-icon{color:#c084fc;border-color:#c084fc}.actions-icon-btn.save-btn-icon:hover{color:#c084fc;background:#c084fc2e}.actions-icon-btn:disabled{opacity:.35;cursor:not-allowed}.actions-icon-btn:disabled:hover{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border-strong)}.new-btn{border:1px solid var(--text-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.new-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg-faint)}.update-btn{border:1px solid var(--success);color:var(--success);cursor:pointer;background:#4ade8026;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s}.update-btn:hover{background:#4ade8040;transform:scale(1.02)}.save-btn{color:#c084fc;cursor:pointer;background:#c084fc26;border:1px solid #c084fc;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s}.save-btn:hover{background:#c084fc40;transform:scale(1.02)}.save-message-slot{flex-shrink:0;min-height:1.1em;margin-top:4px}.save-message{color:#ff9c44;font-size:.8rem;animation:.15s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.adsr-body{flex-direction:row;flex:1;gap:12px;min-height:0;display:flex}.adsr-canvas-container{flex:1;min-width:0;min-height:120px;position:relative;overflow:hidden}.adsr-canvas{border:1px solid var(--surface-border-strong);cursor:default;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;background:var(--surface-bg);box-sizing:border-box;border-radius:6px;width:100%;height:100%;display:block;position:absolute;inset:0}.adsr-tooltip{pointer-events:none;background:var(--surface-border);color:var(--text-muted);border:1px solid var(--surface-border-strong);white-space:nowrap;z-index:2;border-radius:4px;padding:3px 8px;font-family:monospace;font-size:.7rem;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 6px #0006}.adsr-tooltip-flipped{transform:translate(-50%)}.adsr-sliders{flex-direction:column;flex-shrink:0;gap:6px;width:160px;display:flex}.we-adsr-area.is-compact.view-graph .adsr-sliders,.we-adsr-area.is-compact.view-sliders .adsr-canvas-container{display:none}.we-adsr-area.is-compact.view-sliders .adsr-sliders{flex:1;grid-template-rows:repeat(3,auto);grid-auto-columns:1fr;grid-auto-flow:column;align-content:start;gap:6px 16px;width:auto;display:grid}.adsr-slider{flex-direction:column;gap:2px;display:flex}.adsr-slider label{color:#9a9ab0;justify-content:space-between;align-items:baseline;gap:6px;font-size:.75rem;display:flex}.adsr-slider strong{color:var(--accent);font-weight:600}.definition-readout{align-items:baseline;gap:2px;display:inline-flex}.definition-readout .adsr-value-input{width:40px}.definition-suffix{color:#9a9ab0;font-size:.7rem}.adsr-value-input{font-family:inherit;font-size:inherit;color:var(--accent);text-align:right;cursor:text;background:0 0;border:1px solid #0000;border-radius:3px;outline:none;width:56px;padding:0 4px;font-weight:600}.adsr-value-input:hover{border-color:var(--surface-border-strong)}.adsr-value-input:focus{border-color:var(--accent);background:var(--app-bg)}.adsr-slider input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;height:4px}.we-modulation-body{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow:auto}.we-lfo-block.is-hidden{display:none}.we-effect-btn{padding:4px 9px;font-size:12px;font-weight:500;line-height:1;position:relative}.we-effect-btn-label{white-space:nowrap}.we-effect-dot{background:var(--accent);border:1.5px solid var(--surface-bg);pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;right:-3px}.we-effect-btn.is-active .we-effect-dot{background:var(--accent-contrast,#fff);border-color:var(--accent)}.we-lfo-block{border:1px solid var(--surface-border-strong);background:var(--app-bg);border-radius:7px;flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;padding:10px;display:flex}.we-lfo-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.we-effect-hint{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;line-height:1.3;display:flex}.we-effect-hint-btn{border:1px solid var(--accent);background:var(--accent-bg-faint);color:var(--accent);cursor:pointer;border-radius:5px;flex:none;padding:2px 8px;font-size:11px}.we-effect-hint-btn:hover{background:var(--accent-bg-light)}.we-lfo-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.we-lfo-switch-input{opacity:0;width:0;height:0;position:absolute}.we-lfo-switch-track{background:var(--surface-border-strong);border-radius:9px;flex-shrink:0;width:34px;height:18px;transition:background .15s;display:inline-block;position:relative}.we-lfo-switch-thumb{background:var(--surface-elevated);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.we-lfo-switch-input:checked+.we-lfo-switch-track{background:var(--accent)}.we-lfo-switch-input:checked+.we-lfo-switch-track .we-lfo-switch-thumb{transform:translate(16px)}.we-lfo-switch-input:focus-visible+.we-lfo-switch-track{outline:2px solid var(--accent);outline-offset:2px}.we-lfo-switch-label{color:var(--text-primary);font-size:13px;font-weight:600}.we-lfo-shape .icon-btn:disabled{opacity:.4;cursor:not-allowed}.we-lfo-head-controls{align-items:center;gap:8px;display:inline-flex}.we-lfo-canvas-wrap{flex:1;min-width:0;min-height:80px;position:relative;overflow:hidden}.we-lfo-canvas{box-sizing:border-box;background:var(--surface-elevated);border:1px solid var(--surface-border-strong);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:5px;width:100%;height:100%;display:block;position:absolute;inset:0}.we-lfo-axis-label{color:var(--text-secondary);opacity:.6;pointer-events:none;z-index:1;font-size:10px;font-weight:600;line-height:1;position:absolute;left:4px}.we-lfo-axis-top{top:4px}.we-lfo-axis-bottom{bottom:4px}.we-lfo-block:not(.is-enabled) .we-lfo-axis-label{opacity:.3}.we-lfo-controls{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.we-lfo-controls--two{grid-template-columns:repeat(2,1fr)}.we-lfo-control{flex-direction:column;gap:3px;min-width:0;display:flex}.we-lfo-control>span{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.we-lfo-block:not(.is-enabled) .we-lfo-controls,.we-lfo-block:not(.is-enabled) .we-lfo-canvas{opacity:.5}.timeline{flex-direction:column;gap:10px;width:100%;height:100%;min-height:0;display:flex}.timeline-grid-wrapper{border:1px solid var(--surface-border-strong);background:var(--surface-bg);touch-action:pan-x pan-y;border-radius:8px;flex:1;align-items:stretch;min-height:0;display:flex;overflow:auto}.timeline-grid{background:var(--surface-bg);flex:none;position:relative}.timeline-extension{background:repeating-linear-gradient(135deg, #161628 0 8px, var(--surface-bg) 8px 16px);border-left:1px dashed var(--surface-border-strong);flex-direction:column;flex:none;align-items:stretch;gap:4px;min-width:60px;padding:6px 8px;display:flex}.extension-btn{background:var(--surface-border);border:1px solid var(--surface-border-strong);color:var(--text-default);cursor:pointer;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:.78rem;transition:background .12s,border-color .12s,color .12s}.extension-btn:hover{background:var(--surface-border-strong);border-color:var(--accent);color:var(--accent)}.measure-labels{border-bottom:1px solid var(--surface-border);background:var(--surface-bg);z-index:5;display:flex;position:sticky;top:0}.measure-label{text-align:center;color:var(--text-secondary);border-right:1px solid var(--surface-border);box-sizing:border-box;flex:none;padding:4px 0;font-family:monospace;font-size:.65rem;position:relative}.measure-label:last-child{border-right:none}.delete-measure-btn{color:#ff6b8a;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:.95rem;line-height:1;transition:opacity .15s,background .12s;display:inline-flex;position:absolute;top:1px;right:2px}.measure-label.is-last-measure:hover .delete-measure-btn{opacity:1}.delete-measure-btn:hover{color:#ff8ca5;background:#ff6b8a2e}.cells-wrapper{position:relative}.grid-lines-layer{pointer-events:none;position:absolute;inset:0}.grid-line{width:1px;position:absolute;top:0;bottom:0}.track-headers-column{z-index:6;background:var(--surface-bg);border-right:1px solid var(--surface-border);flex:0 0 120px;position:sticky;left:0}.track-header-spacer{z-index:7;background:var(--surface-bg);border-bottom:1px solid var(--surface-border);box-sizing:border-box;padding:4px 8px;position:sticky;top:0}.track-header-spacer:after{content:" ";font-family:monospace;font-size:.65rem;display:block}.track-header{border-bottom:1px solid var(--surface-border);box-sizing:border-box;cursor:grab;flex-direction:column;justify-content:center;gap:2px;padding:4px 8px;transition:height .35s ease-out;display:flex;position:relative;overflow:hidden}.track-header.is-selected-track{border-left:3px solid var(--accent);padding-left:5px}.track-header-row1{align-items:center;gap:6px;min-width:0;display:flex}.track-header-row2{align-items:center;gap:4px;display:flex}.track-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.track-name{color:var(--text-default);white-space:nowrap;text-overflow:ellipsis;cursor:default;flex:1;min-width:0;font-size:.72rem;overflow:hidden}.track-rename-input{min-width:0;color:var(--text-default);background:var(--surface-border);border:1px solid var(--accent);border-radius:3px;outline:none;flex:1;padding:1px 4px;font-family:inherit;font-size:.72rem}.track-delete-btn{color:#ff6b8a;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:.95rem;line-height:1;transition:opacity .15s,background .12s;display:inline-flex}.track-header:hover .track-delete-btn{opacity:1}.track-delete-btn:hover{color:#ff8ca5;background:#ff6b8a2e}.track-mute-btn,.track-solo-btn{border:1px solid var(--surface-border-strong);cursor:pointer;width:18px;height:16px;color:var(--text-secondary);background:0 0;border-radius:3px;flex-shrink:0;padding:0;font-family:inherit;font-size:.6rem;font-weight:700;line-height:1;transition:background .1s,color .1s,border-color .1s}.track-mute-btn:hover{color:#ff6b8a;border-color:#ff6b8a}.track-solo-btn:hover{color:#fbbf24;border-color:#fbbf24}.track-mute-btn.is-active{color:#fff;background:#c0392b;border-color:#c0392b}.track-solo-btn.is-active{color:#111;background:#d4a017;border-color:#d4a017}.track-volume-slider{cursor:pointer;min-width:0;height:4px;accent-color:var(--accent);flex:1}.placed-sound.is-track-muted{opacity:.35}.track-header-dragging{opacity:.3}.track-header-insert-above:before{content:"";background:var(--accent);z-index:2;height:3px;position:absolute;top:-2px;left:0;right:0}.track-header-insert-below:after{content:"";background:var(--accent);z-index:2;height:3px;position:absolute;bottom:-2px;left:0;right:0}.track-reorder-ghost{background:var(--surface-border);opacity:.8;pointer-events:none;z-index:10;border:2px solid;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;left:0;right:0;box-shadow:0 4px 12px #00000080}.track-add-btn{border:none;border-bottom:1px solid var(--surface-border);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;padding:6px 8px;font-family:inherit;font-size:.72rem;transition:color .12s,background .12s;display:block}.track-add-btn:hover{color:var(--accent);background:var(--accent-bg-faint)}html[style*=cursor] *{cursor:inherit!important}.track-corridors-layer{pointer-events:none;position:absolute;inset:0}.track-corridor{border-bottom:1px solid var(--surface-border);box-sizing:border-box;border-left:3px solid;transition:top .35s ease-out,height .35s ease-out;position:absolute;left:0;right:0}.track-corridor-odd{background:#ffffff05}.track-corridor-hover{background:var(--accent-bg-faint)}.track-corridor-paste-target{background:var(--accent-bg-faint);border-left-width:4px}.grid-line-measure,.grid-line-beat{background:var(--surface-border-strong)}.grid-line-croche{background:#5050828c}.grid-line-double{background:#50508259}.grid-line-triple{background:#5050822e}.placed-sounds-layer{pointer-events:none;position:absolute;inset:0}.placed-sound{cursor:grab;white-space:nowrap;box-sizing:border-box;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;border:1px solid;border-radius:4px;align-items:center;gap:4px;padding:0 6px;font-size:.7rem;transition:top .35s ease-out;display:flex;position:absolute;overflow:hidden;container-type:inline-size}.placed-sound.is-dragging,.placed-sound.is-resizing,.placed-sound.is-ghost{transition:none}.placed-sound.is-dragging{cursor:grabbing;opacity:.85;z-index:4}.placed-sound.is-resizing{z-index:4}.placed-sound.is-ghost{opacity:.7;z-index:5;pointer-events:none;border-style:dashed}.resize-handle{cursor:ew-resize;z-index:2;touch-action:none;width:7px;position:absolute;top:0;bottom:0}.resize-handle-left{left:0}.resize-handle-right{right:0}.placed-sound.is-selected{outline-offset:-1px;z-index:3;outline:2px solid #ffffffe6;box-shadow:0 0 10px #ffffff40}.anchor-ghost{box-sizing:border-box;border:1.5px dashed var(--accent);background:var(--accent-bg-medium);opacity:.55;pointer-events:none;z-index:1;border-radius:4px;position:absolute}.zoom-rect{pointer-events:none;z-index:6;box-sizing:border-box;background:#fbbf241f;border:2px solid #fbbf24;position:absolute}.selection-rect{border:1px dashed var(--accent);background:var(--accent-bg-medium);pointer-events:none;z-index:6;box-sizing:border-box;position:absolute}.placed-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.placed-name{color:#f0f0ff;text-shadow:0 1px 2px #0009;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.placed-note{font-weight:600}.placed-patch-name{opacity:.7;font-weight:400}@container (width<=119px){.placed-patch-name{display:none}}@container (width<=29px){.placed-dot,.placed-name{display:none}}.playback-cursor{background:var(--success);width:2px;box-shadow:0 0 8px var(--success)aa;pointer-events:none;z-index:10;transition:none;position:absolute;top:0;bottom:0}.visualizer{background:#0a0a1a;border:1px solid #2a4a3a;border-radius:8px;flex-shrink:0;overflow:hidden}.visualizer-canvas{width:100%;height:80px;display:block}.context-menu-backdrop{z-index:99;position:fixed;inset:0}.timeline-context-menu{z-index:100;background:var(--surface-bg);border:1px solid var(--surface-border-strong);border-radius:6px;padding:4px;position:fixed;box-shadow:0 4px 16px #00000080}.timeline-context-menu button{width:100%;color:var(--text-default);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:6px 16px;font-family:inherit;font-size:.82rem;display:block}.timeline-context-menu button:hover:not(:disabled){background:var(--surface-border);color:var(--accent)}.timeline-context-menu button:disabled{color:var(--surface-border-strong);cursor:default}.context-menu-separator{background:var(--surface-border-strong);height:1px;margin:3px 4px}.measure-insert-form{color:var(--text-default);padding:6px 10px;font-size:.82rem}.measure-insert-form label{white-space:nowrap;margin-bottom:6px;display:block}.measure-insert-row{align-items:center;gap:6px;display:flex}.measure-insert-row input{background:var(--surface-border);border:1px solid var(--surface-border-strong);width:48px;color:var(--text-default);text-align:center;border-radius:4px;padding:3px 6px;font-size:.82rem}.measure-insert-row span{color:var(--text-secondary);font-size:.78rem}.measure-insert-row button{color:#fff;cursor:pointer;background:#00b4d8;border:none;border-radius:4px;padding:3px 10px;font-size:.78rem}.measure-insert-row button:hover{background:var(--accent)}.timeline-hint{text-align:center;color:var(--text-secondary);flex-shrink:0;font-size:.8rem;font-style:italic}.tabs{background:var(--surface-bg);border-bottom:1px solid var(--surface-border);padding:0 16px;padding-top:env(safe-area-inset-top,0px);flex-shrink:0;align-items:stretch;gap:2px;display:flex}.tabs-title{letter-spacing:.02em;color:var(--text-strong);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:10px 16px 10px 0;font-family:Courier New,monospace;font-size:1rem;font-weight:700;display:flex}.tabs-buttons{flex:1;align-items:stretch;gap:2px;display:flex}.tabs-buttons.is-tour-hidden{visibility:hidden}.tabs-version{color:var(--text-secondary);opacity:.7;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:10px 0 10px 16px;font-family:Courier New,monospace;font-size:.75rem;font-weight:500;display:flex}.tabs .tab{color:var(--text-secondary);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.tabs .tab:hover{color:var(--text-strong);background:var(--accent-bg-faint)}.tabs .tab.active{color:var(--accent);border-bottom-color:var(--accent)}.theme-toggle{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:auto 8px;padding:0;font-size:1.05rem;line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.theme-toggle:hover{background:var(--hover-bg);color:var(--accent);border-color:var(--surface-border)}.shortcuts-toggle,.tour-toggle{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:auto 4px;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.shortcuts-toggle:hover,.tour-toggle:hover{background:var(--hover-bg);color:var(--accent);border-color:var(--surface-border)}.shortcuts-toggle.is-active,.tour-toggle.is-active{background:var(--accent-bg-medium);color:var(--accent);border-color:var(--accent)}.tabs-compact .tabs-title{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}.tabs-compact-nav{flex:1;align-items:stretch;min-width:0;display:flex}.tabs-compact-nav.is-tour-hidden{visibility:hidden}.tabs-compact-nav .overflow-toolbar-tray-row .tab{text-align:left;border-bottom:none;width:100%;margin-bottom:0;padding:4px 6px}.tabs-compact-nav .theme-toggle,.tabs-compact-nav .shortcuts-toggle,.tabs-compact-nav .tour-toggle{width:26px;height:26px;margin:0}.tabs-compact .tabs-title,.tabs-compact .tab{padding-top:5px;padding-bottom:5px}.tabs-compact-nav .tabs-version{padding:0}.tabs-version-tray{border-top:1px solid var(--surface-border-strong);color:var(--text-secondary);opacity:.7;-webkit-user-select:none;user-select:none;margin-top:4px;padding:6px 4px 2px;font-family:Courier New,monospace;font-size:.75rem}.tabs-compact-nav .overflow-toolbar-trigger{border-color:#0000}.tabs-compact{padding-right:6px;overflow-x:clip}@media (width<=600px){.tabs{padding:0 8px}.tabs .tab{flex:1;padding:10px 12px;font-size:.85rem}.tabs-title{padding-right:8px;font-size:.85rem}.tabs-version{padding-left:8px;font-size:.7rem}.theme-toggle{margin:auto 4px}}@media (width<=699px),(height<=499px){.tabs-compact{padding:0 4px 0 8px}.tabs-compact .tabs-title{font-size:.8rem}.tabs-compact .tab{padding-left:10px;padding-right:10px;font-size:.82rem}}.bib-breadcrumb{color:var(--text-strong);background:var(--input-bg);border:1px solid var(--surface-border);cursor:text;border-radius:3px;flex-wrap:wrap;align-items:center;gap:4px;margin:0 8px 8px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.bib-breadcrumb .seg-wrap{align-items:center;gap:2px;display:inline-flex}.bib-breadcrumb .seg{color:var(--accent);cursor:pointer;border-radius:2px;padding:1px 4px}.bib-breadcrumb .seg:hover{background:var(--accent-bg-light)}.bib-breadcrumb .seg.current{color:var(--text-strong);cursor:default}.bib-breadcrumb .seg.current:hover{background:0 0}.bib-breadcrumb .sep{color:var(--surface-border-strong)}.bib-breadcrumb .empty-zone{flex:1;min-width:16px;min-height:16px}.bib-breadcrumb.editing{background:var(--input-bg);border:1px solid var(--accent);border-radius:3px;margin:0 8px 8px;padding:4px 8px}.bib-breadcrumb.editing input{color:var(--text-strong);background:0 0;border:none;outline:none;width:100%;padding:0;font-family:ui-monospace,monospace;font-size:12px}.sound-bank-panel{background:var(--surface-bg);border:1px solid var(--surface-border-strong);box-sizing:border-box;border-radius:8px;flex-direction:column;width:100%;min-width:200px;height:100%;padding:12px;display:flex;overflow:hidden}.sound-bank-header{border-bottom:1px solid var(--surface-border-strong);flex-shrink:0;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;line-height:1.2;display:flex}.sound-bank-header-main{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:6px 8px;min-width:0;min-height:28px;display:flex}.sound-bank-header-toggle{flex-shrink:0;align-items:center;display:flex}.sound-bank-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;font-weight:600}.sound-bank-header-right{align-items:center;gap:8px;display:flex}.sound-bank-count{color:var(--text-secondary);align-items:center;font-family:monospace;font-size:.75rem;line-height:1;display:inline-flex}.folder-add-btn{box-sizing:border-box;border:1px solid var(--surface-border-strong);height:22px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#6464a033;border-radius:4px;align-items:center;padding:0 8px;font-size:.7rem;transition:background .12s,border-color .12s;display:inline-flex}.folder-add-btn:hover{border-color:var(--text-secondary);background:#6464a059}.sound-bank-empty{color:var(--text-secondary);margin:0;font-size:.8rem;font-style:italic}.sound-bank-body{flex:1;min-height:0;padding:0 8px;position:relative;overflow-y:auto}.bib-lasso{border:1px dashed var(--accent);background:var(--accent-bg-faint);pointer-events:none;z-index:10}.sound-bank-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.folder-item{list-style:none}.folder-row{color:var(--text-default);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:5px 8px;font-size:.8rem;transition:background .12s,border-color .15s;display:flex}.folder-row:hover{background:var(--hover-bg);border-color:var(--surface-border-strong)}.folder-row.is-drop-target{background:var(--accent-bg-medium);border-color:var(--accent);box-shadow:0 0 6px var(--accent-bg-overlay)}.folder-item.is-dragging>.folder-row{opacity:.4}.folder-chevron{color:var(--text-secondary);text-align:center;flex-shrink:0;width:12px;font-size:.55rem;transition:transform .15s}.folder-chevron.is-expanded{transform:rotate(90deg)}.folder-icon{flex-shrink:0;font-size:.85rem}.folder-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.folder-badge{color:var(--text-secondary);border:1px solid var(--surface-border);background:0 0;border-radius:8px;flex-shrink:0;padding:0 5px;font-family:monospace;font-size:.65rem;line-height:1.4}.folder-rename-input{flex:1;min-width:0}.folder-children{flex-direction:column;gap:3px;margin:0;padding:2px 0 0;list-style:none;display:flex}.sound-bank-list .sound-chip{background:color-mix(in srgb, var(--chip-color) 12%, var(--surface-bg));border:1px solid color-mix(in srgb, var(--chip-color) 35%, transparent);color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:.8rem;transition:transform .1s,border-color .15s,box-shadow .15s,opacity .15s;display:flex}.sound-bank-list .sound-chip:hover{border-color:var(--chip-color);box-shadow:0 0 6px color-mix(in srgb, var(--chip-color) 35%, transparent)}.sound-bank-list .sound-chip:active{cursor:grabbing}.sound-bank-list .sound-chip.is-current{background:color-mix(in srgb, var(--chip-color) 22%, var(--surface-bg));border-color:var(--chip-color);box-shadow:0 0 0 1px var(--chip-color), 0 0 8px color-mix(in srgb, var(--chip-color) 50%, transparent)}.sound-bank-list .sound-chip.is-dragging{opacity:.4}.sound-chip .chip-dot{background:var(--chip-color);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sound-chip .chip-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sound-chip .chip-info{color:var(--text-secondary);font-family:monospace;font-size:.7rem}.sound-chip .chip-rename,.sound-chip .chip-delete,.folder-row .chip-rename,.folder-row .chip-delete{color:#a0a8b8;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.85rem;line-height:1;transition:background .12s,color .12s;display:flex}.sound-chip .chip-rename:hover,.folder-row .chip-rename:hover{color:#c084fc;background:#c084fc33}.sound-chip .chip-delete,.folder-row .chip-delete{font-size:1rem}.sound-chip .chip-delete:hover,.folder-row .chip-delete:hover{color:var(--danger);background:#f463}.sound-chip .chip-rename-input{border:1px solid var(--chip-color);min-width:0;color:var(--text-default);background:#0000004d;border-radius:4px;outline:none;flex:1;padding:2px 6px;font-family:inherit;font-size:.8rem}.sound-chip .chip-rename-input:focus{box-shadow:0 0 4px var(--chip-color)}.folder-row .chip-rename-input{border:1px solid var(--text-secondary);min-width:0;color:var(--text-default);background:#0000004d;border-radius:4px;outline:none;flex:1;padding:2px 6px;font-family:inherit;font-size:.8rem}.folder-row .chip-rename-input:focus{box-shadow:0 0 4px var(--text-secondary)}.drop-root-zone{border:1px dashed var(--surface-border-strong);text-align:center;color:var(--text-secondary);border-radius:6px;flex-shrink:0;margin-top:6px;padding:8px;font-size:.7rem;transition:background .12s,border-color .15s,color .15s}.drop-root-zone.is-active{background:var(--accent-bg-faint);border-color:var(--accent);color:var(--accent)}@media (width<=900px){.sound-bank-panel{width:100%;max-width:none;height:auto;max-height:180px}.sound-bank-list{flex-flow:wrap;overflow-y:visible}.sound-bank-list .sound-chip{flex:none}}.bib-context-backdrop{z-index:999;position:fixed;inset:0}.bib-context-menu{z-index:1000;background:var(--surface-bg);border:1px solid var(--surface-border-strong);border-radius:4px;min-width:200px;padding:4px 0;position:fixed;box-shadow:0 4px 16px #00000080}.bib-ctx-item{text-align:left;width:100%;color:var(--text-strong);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 14px;font-family:inherit;font-size:12px;display:flex}.bib-ctx-item:hover:not(:disabled){background:var(--surface-border)}.bib-ctx-item:disabled{color:var(--surface-border-strong);cursor:not-allowed}.bib-ctx-item.delete{color:#f87171}.bib-ctx-item.delete:hover{background:#f871711a}.bib-ctx-item .shortcut{color:var(--text-secondary);font-size:10px}.bib-ctx-sep{background:var(--surface-border);height:1px;margin:4px 0}.bib-toolbar{align-items:center;gap:6px;padding:0 8px;display:flex}.bib-toggle-group{background:var(--surface-bg);border:1px solid var(--surface-border-strong);border-radius:4px;padding:1px;display:flex}.bib-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:4px 7px;line-height:1;display:flex}.bib-toggle-btn:hover{background:var(--surface-border);color:var(--text-strong)}.bib-toggle-btn.is-active{color:var(--accent);background:#003a4a}.bib-toolbar-spacer{flex:1}.bib-new-folder-btn{background:var(--surface-bg);color:var(--text-secondary);border:1px solid var(--surface-border-strong);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px}.bib-new-folder-btn:hover{background:var(--surface-border);color:var(--text-strong)}.bib-updir{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:5px 8px;font-style:italic;display:flex}.bib-updir:hover{color:var(--text-strong);background:#ffffff0a}.sound-chip.is-details{grid-template-columns:12px 1fr 42px 60px auto auto auto;align-items:center;gap:6px;padding:7px 8px;display:grid}.sound-chip.is-details .chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sound-chip.is-details .chip-meta-tuning{color:var(--text-secondary);text-overflow:ellipsis;font-size:10px;overflow:hidden}.sound-chip.is-details .chip-meta-color{border:1px solid #ffffff1a;border-radius:2px;width:12px;height:12px}.sound-chip.is-details .chip-meta-updatedAt,.sound-chip.is-details .chip-meta-usage{color:var(--text-secondary);white-space:nowrap;font-family:monospace;font-size:10px}.sound-chip.is-details .chip-meta-usage{text-align:right;min-width:24px}.folder-row.is-details{grid-template-columns:16px 16px 1fr auto auto auto;align-items:center;gap:6px;display:grid}.folder-row.is-details.is-nav{grid-template-columns:16px 1fr auto auto auto}.folder-row.is-details .folder-meta-count{color:var(--text-secondary);border:1px solid var(--surface-border);background:0 0;border-radius:8px;padding:1px 6px;font-size:10px}.sound-bank-tiles{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;display:grid}.tile{border:1px solid var(--surface-border);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;background:#ffffff0a;border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex}.tile:hover{background:#ffffff14}.tile.is-current{border-color:var(--accent);background:var(--accent-bg-light)}.tile.is-dragging{opacity:.4}.tile.is-drop-target{border-color:var(--accent);background:var(--accent-bg-medium)}.sound-chip.is-selected,.folder-row.is-selected{background:var(--accent-bg-overlay);border:1px solid #00d4ff80}.tile.is-selected{background:var(--accent-bg-medium);border-color:#00d4ff80}.sound-chip.is-cut,.folder-row.is-cut,.tile.is-cut{opacity:.4;font-style:italic}.sound-chip.is-current.is-selected{border:1px solid var(--chip-color);box-shadow:0 0 0 1px var(--chip-color), 0 0 8px color-mix(in srgb, var(--chip-color) 50%, transparent)}.tile-preview{background:#0000004d;border-radius:3px;justify-content:center;align-items:center;width:60px;height:30px;display:flex}.tile.is-folder .tile-preview,.tile.is-updir .tile-preview{color:var(--text-strong);background:#ffffff0d;font-size:18px}.tile.is-updir{color:var(--text-secondary);font-style:italic}.tile-name{color:var(--text-strong);word-break:break-word;font-size:11px;line-height:1.2}.patch-thumbnail{display:block}.bib-action-toolbar{flex-wrap:wrap;align-items:center;gap:4px;padding:0 8px;display:flex}.bib-action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:5px 7px;line-height:1;display:flex}.bib-action-btn:hover:not(:disabled){background:var(--surface-border);color:var(--text-strong);border-color:var(--surface-border-strong)}.bib-action-btn:disabled{color:var(--surface-border-strong);cursor:not-allowed}.bib-action-btn.delete:hover:not(:disabled){color:#f87171;background:#f8717126;border-color:#f871714d}.bib-action-separator{background:var(--surface-border-strong);width:1px;height:20px;margin:0 4px}.bib-clipboard-chip{background:var(--surface-bg);border:1px solid var(--surface-border-strong);color:var(--text-secondary);white-space:nowrap;border-radius:12px;align-items:center;gap:4px;margin-left:8px;padding:2px 4px 2px 8px;font-size:.7rem;font-weight:500;display:inline-flex}.bib-clipboard-chip-icon{font-size:.85rem;line-height:1}.bib-clipboard-chip-count{color:var(--text-primary)}.bib-clipboard-chip-clear{width:16px;height:16px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.85rem;line-height:1;display:inline-flex}.bib-clipboard-chip-clear:hover{color:#f87171;background:#f871712e}.bib-inline-create-folder{background:var(--accent-bg-faint);border:1px solid #00d4ff66;border-radius:4px;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:flex}.bib-inline-create-label{color:var(--text-secondary);flex-shrink:0;font-size:11px}.bib-inline-create-folder input{background:var(--input-bg);border:1px solid var(--surface-border);color:var(--text-strong);border-radius:4px;flex:1;padding:4px 8px;font-family:inherit;font-size:12px}.bib-inline-create-folder input:focus{border-color:var(--accent);outline:none}.tile-rename-input{background:var(--input-bg);border:1px solid var(--accent);width:100%;color:var(--text-strong);box-sizing:border-box;border-radius:3px;padding:2px 4px;font-family:inherit;font-size:11px}.patch-picker{background:var(--surface-bg);border:1px solid var(--surface-border-strong);box-sizing:border-box;border-radius:8px;flex-direction:column;width:100%;height:100%;padding:10px;display:flex;overflow:hidden}.patch-picker-header{flex-shrink:0;align-items:center;gap:8px;margin-bottom:6px;display:flex}.patch-picker-header .designer-actions-header{flex:1}.patch-picker-count{color:var(--text-secondary);font-family:monospace;font-size:.75rem}.patch-picker-header-toggle{flex-shrink:0;align-items:center;display:flex}.patch-picker-list{flex-direction:column;flex:1;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.patch-picker-empty{color:var(--text-secondary);text-align:center;padding:20px 8px;font-size:11px;font-style:italic;list-style:none}.patch-picker-folder-item{list-style:none}.patch-picker-folder-row{color:var(--text-default);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:.78rem;display:flex}.patch-picker-folder-row:hover{background:var(--hover-bg);border-color:var(--surface-border-strong)}.patch-picker-folder-row.is-selected{background:var(--accent-bg-strong);border-color:#00d4ff66}.patch-picker-folder-row.is-cut{opacity:.4;font-style:italic}.patch-picker-chevron{color:var(--text-secondary);text-align:center;flex-shrink:0;width:10px;font-size:.55rem;transition:transform .15s}.patch-picker-chevron.is-expanded{transform:rotate(90deg)}.patch-picker-folder-icon{flex-shrink:0;justify-content:center;width:14px;font-size:.8rem;display:inline-flex}.patch-picker-folder-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.patch-picker-chip{background:color-mix(in srgb, var(--chip-color) 12%, var(--surface-bg));border:1px solid color-mix(in srgb, var(--chip-color) 30%, transparent);color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:.78rem;list-style:none;display:flex}.patch-picker-chip:hover{border-color:var(--chip-color)}.patch-picker-chip:active{cursor:grabbing}.patch-picker-chip.is-current{background:color-mix(in srgb, var(--chip-color) 22%, var(--surface-bg));border-color:var(--chip-color);box-shadow:0 0 0 1px var(--chip-color)}.patch-picker-chip.is-selected:not(.is-current){background:var(--accent-bg-strong);border-color:#00d4ff66}.patch-picker-chip.is-cut{opacity:.4;font-style:italic}.patch-picker-chip-chevron-placeholder{flex-shrink:0;width:10px}.patch-picker-chip-dot-wrap{flex-shrink:0;justify-content:center;align-items:center;width:14px;display:inline-flex}.patch-picker-chip-dot{background:var(--chip-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.patch-picker-chip-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.patch-picker-context-backdrop{z-index:999;position:fixed;inset:0}.patch-picker-context-menu{z-index:1000;background:var(--surface-bg);border:1px solid var(--surface-border-strong);border-radius:4px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 4px 16px #00000080}.patch-picker-ctx-item{text-align:left;width:100%;color:var(--text-strong);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-family:inherit;font-size:12px}.patch-picker-ctx-item:hover{background:var(--surface-border)}.mini-player{box-sizing:border-box;align-items:center;gap:10px;padding:10px 12px;display:flex}.mini-play-btn{background:var(--success);width:36px;height:36px;color:var(--app-bg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;transition:background .15s,transform .1s;display:flex}.mini-play-btn:hover:not(:disabled){background:var(--success-dark);transform:scale(1.05)}.mini-play-btn.playing{background:var(--danger);color:#fff}.mini-play-btn.playing:hover{background:var(--danger-dark)}.mini-play-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.mini-progress-bar{border:1px solid var(--surface-border-strong);background:linear-gradient(to right, rgba(var(--playhead-rgb), .4) 0%, rgba(var(--playhead-rgb), .4) var(--progress,0%), rgba(var(--playhead-rgb), .06) var(--progress,0%), rgba(var(--playhead-rgb), .06) 100%);border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:0;height:36px;display:flex;position:relative;overflow:hidden}.mini-progress-text{color:var(--text-strong);z-index:1;font-family:monospace;font-size:.8rem}.duration-buttons{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.duration-buttons-bases,.duration-buttons-coefs{background:var(--surface-bg);border:1px solid var(--surface-border-strong);border-radius:6px;flex-wrap:wrap;gap:2px;padding:2px;display:flex}.dur-btn{background:var(--surface-border);min-width:28px;height:26px;color:var(--text-default);cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-family:monospace;font-size:.78rem;font-weight:500;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.dur-btn-base{font-family:Bravura,Segoe UI Symbol,Apple Symbols,DejaVu Sans,monospace;font-size:.95rem;line-height:1}.dur-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#3a3a6a}.dur-btn.is-active{background:var(--accent);color:var(--surface-bg);border-color:#00b8e6;font-weight:600}.dur-btn.is-active:hover:not(:disabled){color:var(--surface-bg);background:#00b8e6}.dur-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex}.toolbar-section{align-items:center;gap:8px;display:flex}.toolbar-section.toolbar-spacer{flex:1;min-width:0}.toolbar .transport-btn{background:var(--success);color:var(--app-bg);cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s,opacity .15s}.toolbar .transport-btn:hover:not(:disabled){background:var(--success-dark);transform:scale(1.02)}.toolbar .transport-btn.playing{background:var(--danger);color:#fff}.toolbar .transport-btn.playing:hover:not(:disabled){background:var(--danger-dark)}.toolbar .transport-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.toolbar .toolbar-secondary{border:1px solid var(--text-secondary);color:#8a8aaa;cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:.8rem;transition:border-color .15s,color .15s}.toolbar .toolbar-secondary:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.toolbar .toolbar-secondary:disabled{opacity:.35;cursor:not-allowed}.toolbar .toolbar-export{color:#c084fc;cursor:pointer;background:0 0;border:1px solid #c084fc;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:background .15s}.toolbar .toolbar-export:hover:not(:disabled){background:#c084fc26}.toolbar .toolbar-export:disabled{opacity:.35;cursor:not-allowed}.bpm-control{color:var(--text-secondary);letter-spacing:.05em;align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:inline-flex}.bpm-input{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:56px;color:var(--text-default);text-align:center;border-radius:4px;outline:none;padding:4px 6px;font-family:monospace;font-size:.85rem}.bpm-input:focus{border-color:var(--accent);background:var(--app-bg)}.a4-control{color:var(--text-secondary);letter-spacing:.05em;align-items:center;gap:6px;margin-left:14px;font-size:.75rem;font-weight:600;display:inline-flex}.a4-input{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:48px;color:var(--text-default);text-align:center;border-radius:4px;outline:none;padding:4px 6px;font-family:monospace;font-size:.85rem}.a4-input:focus{border-color:var(--accent);background:var(--app-bg)}.a4-unit{color:var(--text-secondary);letter-spacing:0;font-size:.7rem;font-weight:400}.xedo-control{color:var(--text-secondary);letter-spacing:.05em;align-items:center;gap:6px;margin-left:14px;font-size:.75rem;font-weight:600;display:inline-flex}.xedo-input{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:42px;color:var(--text-default);text-align:center;border-radius:4px;outline:none;padding:4px 6px;font-family:monospace;font-size:.85rem}.xedo-input:focus{border-color:var(--accent);background:var(--app-bg)}.tuning-control{color:var(--text-secondary);letter-spacing:.05em;align-items:center;gap:6px;margin-left:14px;font-size:.75rem;font-weight:600;display:inline-flex}.tuning-select{border:1px solid var(--surface-border-strong);background:var(--surface-bg);max-width:220px;color:var(--text-default);cursor:pointer;border-radius:4px;outline:none;padding:4px 6px;font-family:monospace;font-size:.8rem}.tuning-select:focus{border-color:var(--accent);background:var(--app-bg)}.duration-control-label{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-right:4px;font-size:.75rem;font-weight:600}.duration-mode-toggle{border:1px solid var(--surface-border-strong);background:var(--surface-bg);min-width:32px;height:26px;color:var(--text-secondary);cursor:pointer;border-radius:4px;margin-left:4px;padding:0 6px;font-family:monospace;font-size:.85rem;transition:background .1s,border-color .1s,color .1s}.duration-mode-toggle:hover{border-color:var(--accent);color:var(--accent)}.clipboard-hint{color:var(--text-secondary);white-space:nowrap;font-size:.65rem;font-style:italic}.zoom-h-section,.zoom-v-section,.history-section{background:var(--surface-elevated);border:1px solid var(--surface-border);border-radius:6px;padding:4px 8px}.history-btn{width:26px;height:26px;color:var(--text-default);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:1.05rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.history-btn:hover:not(:disabled){background:var(--surface-border);color:var(--accent)}.history-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-flash{color:var(--success);background:#4ade801a;border:1px solid #4ade804d;border-radius:4px;padding:4px 10px;font-size:.78rem;font-style:italic;animation:.2s ease-out toolbar-flash-in}.toolbar-octave{color:var(--surface-bg);background:var(--accent);border-radius:4px;align-items:center;gap:4px;margin-right:8px;padding:3px 10px;font-family:monospace;font-size:.72rem;font-weight:500;display:inline-flex}.toolbar-octave strong{font-size:.85rem;font-weight:700}.toolbar-octave.is-reference{color:#88c0e0;background:#243a4a}.toolbar-pressed-note{color:var(--surface-bg);background:#ffc600;border-radius:4px;align-items:center;gap:4px;margin-right:8px;padding:3px 10px;font-family:monospace;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 0 8px #ffc60080}@keyframes toolbar-flash-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.zoom-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-right:2px;font-size:.7rem;font-weight:600}.zoom-step{width:22px;height:22px;color:var(--text-default);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.zoom-step:hover:not(:disabled){background:var(--surface-border);color:var(--accent)}.zoom-step:disabled{opacity:.35;cursor:not-allowed}.zoom-slider{width:140px;accent-color:var(--accent);cursor:pointer;height:4px}.zoom-v-slider{width:100px}.zoom-value{color:var(--text-secondary);text-align:right;min-width:42px;font-family:monospace;font-size:.7rem}.properties-panel{background:var(--surface-bg);border:1px solid var(--surface-border);box-sizing:border-box;border-radius:8px;flex-direction:column;width:100%;min-width:220px;height:100%;padding:12px;display:flex}.properties-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.properties-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin:0;font-size:.85rem;font-weight:600;display:flex}.properties-badge{background:var(--accent);min-width:20px;height:20px;color:var(--app-bg);letter-spacing:0;text-transform:none;border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex}.properties-header-right{align-items:center;gap:4px;margin-left:auto;display:flex}.properties-toggle{color:#8a8aaa;cursor:pointer;background:0 0;border:none;border-radius:4px;width:22px;height:22px;font-size:.85rem;display:none}.properties-toggle:hover{background:var(--surface-border);color:var(--accent)}.properties-body{flex:1;overflow-y:auto}.properties-empty{color:var(--text-secondary);margin:0;font-size:.8rem;font-style:italic}.properties-multi{color:var(--text-default);margin:0 0 6px;font-size:.85rem;font-weight:600}.clip-editor{flex-direction:column;gap:12px;display:flex}.clip-editor .field{flex-direction:column;gap:4px;display:flex}.clip-editor .field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.clip-editor .field-input{background:var(--app-bg);color:var(--text-default);border:1px solid var(--surface-border-strong);box-sizing:border-box;border-radius:4px;width:100%;padding:6px 8px;font-family:inherit;font-size:.82rem}.clip-editor .field-input:focus{border-color:var(--accent);outline:none}.clip-editor .field-readonly{color:var(--text-default);background:0 0;font-family:monospace;font-size:.82rem}.xedo-control-properties{color:var(--text-secondary);align-items:center;gap:6px;margin-top:4px;font-size:.78rem;font-weight:600;display:inline-flex}.xedo-input-properties{border:1px solid var(--surface-border-strong);background:var(--app-bg);width:48px;color:var(--text-default);text-align:center;border-radius:4px;outline:none;padding:4px 6px;font-family:monospace;font-size:.82rem}.xedo-input-properties:focus{border-color:var(--accent)}.note-editor{flex-direction:column;gap:6px;display:flex}.note-editor-display{color:var(--text-default);font-family:monospace;font-size:.78rem}.note-editor-hz{color:var(--text-secondary)}.note-editor-free{background:var(--app-bg);border:1px solid var(--surface-border-strong);border-radius:4px;align-items:center;gap:4px;padding:6px 8px;display:flex}.note-editor-free .freq-input{color:var(--text-default);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:monospace;font-size:.82rem}.note-editor-unit{color:var(--text-secondary);font-family:monospace;font-size:.78rem}.sound-select-wrapper{align-items:center;gap:6px;display:flex}.sound-select-wrapper .sound-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.clip-delete-btn{color:var(--danger);border:1px solid var(--danger);cursor:pointer;background:0 0;border-radius:4px;margin-top:8px;padding:7px 10px;font-family:inherit;font-size:.8rem;transition:background .12s,color .12s}.clip-delete-btn:hover{background:var(--danger);color:#fff}.split-buttons{gap:6px;margin-top:4px;display:flex}.clip-split-btn{color:#c084fc;cursor:pointer;background:0 0;border:1px solid #c084fc;border-radius:4px;flex:1;padding:6px 8px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .12s,color .12s}.clip-split-btn:hover:not(:disabled){color:#fff;background:#c084fc}.clip-split-btn:disabled{opacity:.35;cursor:not-allowed}.clip-merge-btn{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:6px 8px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .12s,color .12s}.clip-merge-btn:hover:not(:disabled){background:var(--accent);color:var(--surface-bg)}.clip-merge-btn:disabled{opacity:.35;cursor:not-allowed}@media (width<=1100px){.properties-panel{width:100%;max-width:none;height:auto;max-height:240px}.properties-toggle{justify-content:center;align-items:center;display:flex}.properties-panel.collapsed{max-height:44px;overflow:hidden}.properties-panel.collapsed .properties-header{border-bottom:none;margin-bottom:0;padding-bottom:0}}.spectrogram{background:var(--surface-elevated);border:1px solid var(--surface-border-strong);box-sizing:border-box;border-radius:8px;flex-direction:column;width:100%;min-width:0;height:100%;padding:12px;display:flex}.spectrogram-header{border-bottom:1px solid var(--surface-border-strong);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:6px;display:flex}.spectrogram-controls{gap:4px;display:flex}.spectrogram-toggle{box-sizing:border-box;width:34px;height:28px;color:var(--text-secondary);border:1px solid var(--surface-border-strong);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.85em;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.spectrogram-toggle-icon{display:inline-flex}.spectrogram-toggle:hover{background:var(--hover-bg);color:var(--text-strong)}.spectrogram-toggle.is-active{background:var(--accent-bg-strong);color:var(--accent);border-color:var(--accent)}.spectrogram-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.8rem;font-weight:600;overflow:hidden}.spectrogram-canvas-container{background:var(--canvas-bg-deep);border:1px solid var(--surface-border);border-radius:6px;flex:1;min-width:0;min-height:200px;overflow:hidden}.spectrogram-canvas{width:100%;height:100%;display:block}.designer-columns{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex}.designer-columns-row{flex-direction:row;flex:1;min-width:0;min-height:0;display:flex}.designer-column{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.designer-columns-sep{cursor:col-resize;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;display:flex}.designer-columns-sep-grip{background:var(--surface-border-strong);border-radius:3px;width:3px;height:36px;max-height:60%;transition:background .12s}.designer-columns-sep:hover .designer-columns-sep-grip,.designer-columns-sep:active .designer-columns-sep-grip{background:var(--accent)}.designer-columns-sep.is-hidden{cursor:default;pointer-events:none}.designer-columns-sep.is-hidden .designer-columns-sep-grip{display:none}.module-chrome{align-items:center;gap:2px;display:inline-flex}.module-chrome-btn{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.module-chrome-btn:hover:not(:disabled){background:var(--accent-bg-faint);color:var(--text-strong)}.module-chrome-btn:disabled{opacity:.4;cursor:not-allowed}.designer-module{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.designer-module .module-chrome{z-index:3;position:absolute;top:4px;right:6px}.designer-module .we-area-header,.designer-module .spectrogram-header{padding-right:60px}.designer-module-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.designer-module.is-collapsed .designer-module-content{display:none}.designer-module.is-maximized .designer-module-content{display:flex}.module-band{background:var(--surface-bg);border:1px solid var(--surface-border);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:8px;padding:8px 0;transition:background .12s,color .12s,border-color .12s;display:flex;overflow:hidden}.module-band:hover{background:var(--accent-bg-faint);border-color:var(--accent);color:var(--text-strong)}.module-band-icon{flex-shrink:0}.module-band-label{writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.8rem;font-weight:600}.designer-toolbar{border-bottom:1px solid var(--surface-border-strong);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:4px;padding:4px 6px 8px;display:flex}.designer-toolbar-left{align-items:center;gap:10px;min-width:0;display:flex}.icon-btn{border:1px solid var(--surface-border-strong);background:var(--surface-bg);color:var(--text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn:hover{background:var(--accent-bg-faint);border-color:var(--accent);color:var(--text-strong)}.icon-btn.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast,#fff)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn:disabled:hover{background:var(--surface-bg);border-color:var(--surface-border-strong);color:var(--text-secondary)}.designer-module-switcher{flex-wrap:wrap;flex:none;align-items:center;gap:4px;display:flex}.designer-main-mobile .designer-toolbar{flex-wrap:wrap;justify-content:flex-start;overflow-x:clip}.designer-main-mobile .we-sound-tag{min-width:0}.designer-toolbar-divider{background:var(--surface-border-strong);align-self:stretch;width:1px;margin:2px 4px}.designer-toolbar-preset-btn{border:1px solid var(--surface-border-strong);background:var(--surface-elevated);color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.designer-toolbar-preset-btn:hover{background:var(--accent-bg-faint);border-color:var(--accent);color:var(--text-strong)}.designer-toolbar-preset-btn.is-active{background:var(--accent-bg-strong);color:var(--accent);border-color:var(--accent)}.designer-toolbar-preset-btn:disabled{cursor:not-allowed}@media (width<=699px),(height<=499px){.designer-main-mobile .designer-toolbar{gap:6px;margin-bottom:2px;padding:2px 2px 4px}.designer-module-switcher{gap:2px}}.sidebar-resizer{cursor:ew-resize;z-index:5;touch-action:none;-webkit-touch-callout:none;background:0 0;width:10px;transition:background .15s;position:absolute;top:0;bottom:0}.sidebar-resizer-right{right:-5px}.sidebar-resizer-left{left:-5px}.sidebar-resizer:hover{background:var(--accent-bg-overlay)}.sidebar-resizer:active{background:#00d4ff80}@media (width<=1100px){.sidebar-resizer{display:none}}.popup-resizer{cursor:ew-resize;z-index:100;touch-action:none;-webkit-touch-callout:none;width:4px;position:absolute;top:0;bottom:0;right:-2px}.popup-resizer:hover{background:var(--accent-bg-soft)}.popup-resizer:active{background:#00d4ff99}.recent-patches-list{border-top:1px solid var(--surface-border-strong);flex-direction:column;flex-shrink:1;align-items:center;gap:4px;width:100%;min-height:0;max-height:60vh;margin-top:4px;padding:6px 2px;display:flex;overflow:hidden auto}.recent-patches-header{color:var(--text-secondary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.recent-patches-empty{color:var(--surface-border-strong);text-align:center;-webkit-user-select:none;user-select:none;padding:2px;font-size:11px}.recent-patch-item{background:color-mix(in srgb, var(--chip-color) 12%, var(--surface-bg));border:1px solid color-mix(in srgb, var(--chip-color) 35%, transparent);cursor:grab;box-sizing:border-box;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:20px;padding:1px;display:flex}.recent-patch-item:hover{border-color:var(--chip-color)}.recent-patch-item:active{cursor:grabbing}.recent-patch-item .patch-thumbnail{width:100%;height:100%;display:block}.save-dialog-backdrop{z-index:1500;background:#00000080;position:fixed;inset:0}.save-dialog{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:1501;width:400px;color:var(--text-strong);border-radius:8px;padding:20px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}.save-dialog h4{color:var(--text-strong);margin:0 0 14px;font-size:14px;font-weight:600}.save-dialog-field{margin-bottom:12px}.save-dialog-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;display:block}.save-dialog-input{background:var(--input-bg);border:1px solid var(--surface-border);width:100%;color:var(--text-strong);box-sizing:border-box;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.save-dialog-input:focus{border-color:var(--accent);outline:none}.save-dialog-warning{color:#f5c542;margin:4px 0 0;font-size:11px}.save-dialog-breadcrumb{background:var(--input-bg);border:1px solid var(--surface-border);color:var(--text-strong);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:6px 8px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.save-dialog-seg{color:var(--accent);border-radius:2px;padding:1px 4px}.save-dialog-seg.current{color:var(--text-strong)}.save-dialog-sep{color:var(--surface-border-strong)}.save-dialog-spacer{flex:1}.save-dialog-caret{color:var(--text-secondary)}.save-dialog-dropdown{background:var(--input-bg);border:1px solid var(--surface-border);border-radius:4px;max-height:200px;margin-top:4px;padding:4px 0;overflow-y:auto}.save-dialog-tree-item{cursor:pointer;align-items:center;gap:6px;padding:4px 8px 4px 16px;font-size:12px;display:flex}.save-dialog-tree-item:hover{background:var(--accent-bg-light)}.save-dialog-tree-item.selected{background:var(--accent-bg-overlay);color:var(--accent)}.save-dialog-chevron{color:var(--text-secondary);text-align:center;cursor:pointer;width:10px;font-size:.55rem;transition:transform .15s}.save-dialog-chevron.is-expanded{transform:rotate(90deg)}.save-dialog-new-folder-btn{color:var(--text-secondary);border:1px dashed var(--surface-border-strong);cursor:pointer;background:0 0;border-radius:4px;width:100%;margin-bottom:12px;padding:4px 8px;font-size:11px}.save-dialog-new-folder-btn:hover{color:var(--text-strong);border-color:var(--accent)}.save-dialog-new-folder{margin-bottom:12px}.save-dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.save-dialog-btn{background:var(--surface-bg);border:1px solid var(--surface-border-strong);color:var(--text-strong);cursor:pointer;border-radius:4px;padding:6px 14px;font-size:12px}.save-dialog-btn:hover:not(:disabled){background:var(--surface-border)}.save-dialog-btn:disabled{color:var(--surface-border-strong);cursor:not-allowed}.save-dialog-btn.primary{border-color:var(--accent);color:var(--accent);background:#003a4a}.save-dialog-btn.primary:hover:not(:disabled){background:#004a5a}.delete-warning-backdrop{z-index:1500;background:#00000080;position:fixed;inset:0}.delete-warning-dialog{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:1501;width:400px;color:var(--text-strong);border-radius:8px;padding:20px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}.delete-warning-dialog h4{color:#f5c542;margin:0 0 14px;font-size:14px;font-weight:600}.delete-warning-success{color:var(--success);margin:0 0 10px;font-size:12px}.delete-warning-blocked-intro{color:var(--text-strong);margin:0 0 8px;font-size:12px}.delete-warning-list{margin:0 0 14px;padding:0;list-style:none}.delete-warning-list li{background:#f5c5420f;border-left:2px solid #f5c542;justify-content:space-between;gap:8px;margin-bottom:4px;padding:4px 8px;font-size:12px;display:flex}.delete-warning-name{color:var(--text-strong)}.delete-warning-usage{color:var(--text-secondary);font-style:italic}.delete-warning-actions{justify-content:flex-end;gap:8px;display:flex}.delete-warning-btn{background:var(--surface-bg);border:1px solid var(--surface-border-strong);color:var(--text-strong);cursor:pointer;border-radius:4px;padding:6px 14px;font-size:12px}.delete-warning-btn:hover{background:var(--surface-border)}.delete-warning-btn.primary{border-color:var(--accent);color:var(--accent);background:#003a4a}.delete-warning-btn.primary:hover{background:#004a5a}.shortcuts-overlay{z-index:9000;cursor:zoom-out;background:#00000073;position:fixed;inset:0}.shortcuts-overlay-close{background:var(--surface-elevated);border:1px solid var(--surface-border-strong);width:36px;height:36px;color:var(--text-primary);cursor:pointer;z-index:9100;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:14px;right:14px;box-shadow:0 2px 8px #0006}.shortcuts-overlay-close:hover{background:var(--surface-bg)}.shortcuts-overlay-banner{background:var(--surface-elevated);border:1px solid var(--surface-border-strong);color:var(--text-primary);z-index:9050;border-radius:6px;padding:8px 16px;font-size:.78rem;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000073}.shortcuts-overlay-fit{color:#1a1a1a;pointer-events:auto;cursor:pointer;z-index:9001;left:var(--rest-left);top:var(--rest-top);width:var(--rest-w);height:var(--rest-h);background:#ffc600eb;border:1px solid #00000038;border-radius:3px;justify-content:center;align-items:center;transition:left .16s ease-out,top .16s ease-out,width .16s ease-out,height .16s ease-out,box-shadow .16s,z-index 0s .16s;display:flex;position:fixed;overflow:hidden;box-shadow:0 1px 4px #00000059}.shortcuts-overlay-fit:hover{left:var(--hover-left);top:var(--hover-top);width:var(--hover-w);height:var(--hover-h);z-index:9100;transition:left .16s ease-out,top .16s ease-out,width .16s ease-out,height .16s ease-out,box-shadow .16s,z-index;overflow:visible;box-shadow:0 6px 20px #0000008c}.shortcuts-overlay-fit-text{white-space:pre-line;text-align:center;pointer-events:none;letter-spacing:-.02em;transform:scale(var(--text-scale,1));transform-origin:50%;font-family:system-ui,-apple-system,sans-serif;font-size:.85rem;font-weight:700;line-height:1.15;transition:transform .16s ease-out;display:inline-block}.shortcuts-overlay-fit:hover .shortcuts-overlay-fit-text{transform:scale(1)}.markdown-renderer{color:var(--text-default);max-width:72ch;padding:8px 4px 32px;font-size:.95rem;line-height:1.65}.markdown-renderer .md-h{color:var(--text-strong);margin:1.6em 0 .6em;font-weight:600;line-height:1.25}.markdown-renderer .md-h:first-child{margin-top:0}.markdown-renderer .md-h1{letter-spacing:-.01em;margin-bottom:.8em;font-size:1.8rem}.markdown-renderer .md-h2{border-bottom:1px solid var(--surface-border);padding-bottom:.3em;font-size:1.4rem}.markdown-renderer .md-h3{color:var(--accent);font-size:1.15rem}.markdown-renderer .md-h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:1rem}.markdown-renderer .md-p{margin:0 0 1em}.markdown-renderer .md-ul,.markdown-renderer .md-ol{margin:0 0 1em;padding-left:1.6em}.markdown-renderer .md-li{margin:.2em 0}.markdown-renderer .md-li>.md-ul,.markdown-renderer .md-li>.md-ol{margin:.3em 0}.markdown-renderer .md-blockquote{border-left:3px solid var(--accent);background:var(--accent-bg-faint);color:var(--text-secondary);margin:1em 0;padding:.5em 1em;font-style:italic}.markdown-renderer .md-code-inline{background:var(--surface-border);color:var(--text-strong);white-space:nowrap;border-radius:3px;padding:.1em .4em;font-family:Courier New,monospace;font-size:.88em}.markdown-renderer .md-pre{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:6px;margin:1em 0;padding:12px 14px;font-size:.85rem;line-height:1.5;position:relative;overflow-x:auto}.markdown-renderer .md-pre-lang{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;opacity:.55;-webkit-user-select:none;user-select:none;font-family:Courier New,monospace;font-size:.65rem;position:absolute;top:4px;right:8px}.markdown-renderer .md-pre .md-code{color:var(--text-default);white-space:pre;background:0 0;padding:0;font-family:Courier New,monospace}.markdown-renderer .md-link{color:var(--accent);border-bottom:1px solid var(--accent-bg-soft);text-decoration:none;transition:border-color .15s,color .15s}.markdown-renderer .md-link:hover{color:var(--accent-bright);border-bottom-color:var(--accent)}.markdown-renderer .md-doclink{cursor:pointer;border-bottom-style:dashed}.markdown-renderer .md-doclink-icon{vertical-align:-.12em;margin-left:.1em}.markdown-renderer .md-image{border-radius:4px;max-width:100%;height:auto;margin:1em 0;display:block}.markdown-renderer strong{color:var(--text-strong);font-weight:700}.markdown-renderer em{font-style:italic}.markdown-renderer .md-math-inline{white-space:nowrap}.markdown-renderer .md-math-block{text-align:center;margin:1.3em 0;font-size:1.08rem}.markdown-renderer .md-math-var{font-style:italic}.markdown-renderer .md-math sup,.markdown-renderer .md-math sub{font-size:.72em;line-height:0}.markdown-renderer .md-frac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 .18em;font-size:.85em;line-height:1.1;display:inline-flex}.markdown-renderer .md-frac-num{padding:0 .32em}.markdown-renderer .md-frac-den{border-top:1px solid;padding:0 .32em .05em}.markdown-renderer .md-sum{white-space:nowrap}.markdown-renderer .md-sum-op{font-style:normal}.markdown-renderer .md-sum-display{vertical-align:middle;justify-items:center;margin:0 .15em;line-height:1;display:inline-grid}.markdown-renderer .md-sum-display .md-sum-op{font-size:1.6em}.markdown-renderer .md-sum-upper,.markdown-renderer .md-sum-lower{font-size:.7em;line-height:1.1}.markdown-renderer .md-delim{vertical-align:middle;align-items:stretch;display:inline-flex}.markdown-renderer .md-delim-inner{align-items:center;padding:0 .08em;display:inline-flex}.markdown-renderer .md-delim+sup{vertical-align:.95em}.markdown-renderer .md-delim-edge{border:1.5px solid;flex:none;width:.3em}.markdown-renderer .md-delim-open{border-right:none}.markdown-renderer .md-delim-close{border-left:none}.markdown-renderer .md-delim-paren.md-delim-open{border-radius:.6em 0 0 .6em/50% 0 0 50%}.markdown-renderer .md-delim-paren.md-delim-close{border-radius:0 .6em .6em 0/0 50% 50% 0}.shortcuts-reference .shortcuts-section+.shortcuts-section{margin-top:2em}.shortcuts-reference .shortcuts-section-intro{color:var(--text-secondary);font-size:.88rem;font-style:italic}.shortcuts-reference .shortcuts-list{margin:.6em 0 1em;padding:0}.shortcuts-row{border-bottom:1px solid var(--surface-border);grid-template-columns:220px 1fr;align-items:baseline;gap:12px 18px;padding:8px 0;display:grid}.shortcuts-row:last-child{border-bottom:none}.shortcuts-combo{align-items:center;margin:0;display:flex}.shortcuts-combo kbd{background:var(--surface-border);color:var(--text-strong);border:1px solid var(--surface-border-strong);border-bottom-width:2px;border-radius:4px;padding:2px 7px;font-family:Courier New,monospace;font-size:.82rem;line-height:1.3;display:inline-block}.shortcuts-meta{margin:0}.shortcuts-label{color:var(--text-strong);margin-bottom:2px;font-size:.95rem;font-weight:600}.shortcuts-description{color:var(--text-secondary);font-size:.88rem;line-height:1.55}@media (width<=640px){.shortcuts-row{grid-template-columns:1fr;gap:4px}}.documentation-layout{grid-template-columns:var(--doc-sidebar-width,240px) 1fr;flex:1;grid-template-rows:1fr;grid-template-areas:"sidebar main";gap:12px;min-height:0;padding:12px;display:grid}.doc-sidebar{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;flex-direction:column;grid-area:sidebar;min-height:0;display:flex;position:relative;overflow:hidden}.doc-sidebar.is-collapsed{align-items:center;gap:6px;padding:10px 0;overflow:visible}.doc-sidebar.is-collapsed .sidebar-toggle,.doc-sidebar.is-collapsed .doc-collapsed-btn{width:30px;height:30px}.doc-collapsed-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.doc-collapsed-btn:hover{background:var(--hover-bg);color:var(--accent);border-color:var(--surface-border-strong)}.doc-collapsed-btn.is-active{background:var(--accent-bg-medium);color:var(--accent);border-color:var(--accent)}.doc-toc-popover{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:50;border-radius:8px;flex-direction:column;width:280px;max-width:calc(100vw - 60px);max-height:min(70dvh,500px);display:flex;position:absolute;top:0;left:calc(100% + 6px);overflow:hidden;box-shadow:0 8px 24px #00000073}@media (width<=700px){.doc-toc-popover{width:calc(100vw - 30px);max-width:320px;max-height:calc(100dvh - 60px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.doc-toc-popover-header{border-bottom:1px solid var(--surface-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.doc-toc-popover-header h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0;font-size:.85rem;font-weight:600}.doc-toc-popover .doc-toc{flex:1;min-height:0;overflow-y:auto}.doc-sidebar-header{border-bottom:1px solid var(--surface-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.doc-sidebar-header h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0;font-size:.85rem;font-weight:600}.doc-toc{flex:1;min-height:0;padding:8px 0 16px;overflow-y:auto}.doc-toc-empty{color:var(--text-secondary);padding:16px;font-size:.85rem;font-style:italic}.doc-toc-section+.doc-toc-section{margin-top:14px}.doc-toc-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);opacity:.8;padding:6px 12px 4px;font-size:.72rem}.doc-toc-list{margin:0;padding:0;list-style:none}.doc-toc-list li{margin:0}.doc-toc-item{text-align:left;width:100%;color:var(--text-default);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;padding:6px 12px;font-size:.88rem;line-height:1.4;transition:background .12s,color .12s,border-color .12s;display:block}.doc-toc-item:hover{background:var(--accent-bg-faint);color:var(--text-strong)}.doc-toc-item.is-active{background:var(--accent-bg-medium);color:var(--accent);border-left-color:var(--accent)}.doc-content{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;grid-area:main;min-height:0;padding:24px 32px;overflow-y:auto}.doc-home h1{color:var(--text-strong);margin:0 0 .6em;font-size:1.6rem;font-weight:600}.doc-home p{color:var(--text-secondary);max-width:60ch;margin:0 0 1.2em}.doc-home-section{margin-top:1.4em}.doc-home-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 .4em;font-size:.85rem;font-weight:600}.doc-home-section ul{margin:0;padding:0;list-style:none}.doc-home-link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-size:.95rem}.doc-home-link:hover{text-decoration:underline}@media (width<=800px){.documentation-layout{grid-template:"sidebar""main"1fr/1fr}.doc-sidebar{max-height:240px}}.tour-root{z-index:10000;position:fixed;inset:0}.tour-blocker{z-index:1;cursor:default;background:0 0;position:absolute;inset:0}.tour-spotlight{z-index:2;pointer-events:none;outline-offset:0;border-radius:6px;outline:2px solid #ffffff8c;transition:top .22s,left .22s,width .22s,height .22s;position:fixed;box-shadow:0 0 0 9999px #0009}.tour-progress{z-index:4;background:var(--surface-bg);align-items:center;gap:6px;padding:0 8px;display:flex;position:fixed}.tour-progress-seg{background:var(--surface-border-strong);cursor:pointer;border:none;border-radius:3px;flex:1;min-width:8px;height:6px;padding:0;transition:background .15s,transform .15s}.tour-progress-seg:hover{transform:scaleY(1.6)}.tour-progress-seg.is-done{background:var(--accent-bg-strong)}.tour-progress-seg.is-current{background:var(--accent);transform:scaleY(1.6)}.tour-close{z-index:5;border:1px solid var(--surface-border-strong);background:var(--surface-elevated);width:36px;height:36px;color:var(--text-default);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex;position:fixed;top:10px;right:12px;box-shadow:0 2px 8px #0006}.tour-close:hover{background:var(--accent-bg-light)}.tour-dim{z-index:2;pointer-events:none;background:#0009;position:fixed;inset:0}.tour-bubble{z-index:3;background:var(--surface-elevated);border:1px solid var(--surface-border-strong);width:320px;max-width:calc(100vw - 24px);color:var(--text-default);border-radius:10px;padding:14px 16px;transition:top .22s,left .22s;position:fixed;box-shadow:0 6px 24px #00000073}.tour-bubble-centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-bubble-title{margin:0 0 6px;font-size:1rem;font-weight:700}.tour-bubble-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.45}.tour-learn-more{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-size:.85rem;display:inline-block}.tour-learn-more:hover{text-decoration:underline}.tour-bubble-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.tour-end-options{flex-wrap:wrap;gap:8px;margin:14px 0 10px;display:flex}.tour-end-options .tour-nav-btn{flex:auto;justify-content:center}.tour-end-quit{width:100%;color:var(--text-secondary);justify-content:center}.tour-bubble-counter{font-variant-numeric:tabular-nums;color:var(--text-secondary);opacity:.8;font-size:.8rem}.tour-bubble-nav{gap:8px;display:flex}.tour-nav-btn{border:1px solid var(--surface-border-strong);background:var(--surface-bg);color:var(--text-default);cursor:pointer;border-radius:6px;align-items:center;gap:3px;padding:6px 10px;font-size:.85rem;display:inline-flex}.tour-nav-btn:hover:not(:disabled){background:var(--accent-bg-light)}.tour-nav-next{background:var(--accent,#4c8bf5);border-color:var(--accent,#4c8bf5);color:#fff}.tour-nav-btn:disabled{opacity:.4;cursor:default}@media (prefers-reduced-motion:reduce){.tour-spotlight,.tour-bubble,.tour-progress-seg{transition:none}}.toast{z-index:1000;border-radius:6px;align-items:center;gap:12px;max-width:520px;padding:10px 16px;font-size:.85rem;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}.toast-error{color:#ffb3c1;background:#2a1a1f;border:1px solid #6a2a3a}.toast-info{color:#b3d4ff;background:#1a2a3a;border:1px solid #2a4a6a}.toast-message{flex:1;line-height:1.4}.toast-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:1.1rem;line-height:1}.toast-dismiss:hover{opacity:1;background:#ffffff14}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{width:100%;max-width:480px;color:var(--text-default);background:#1a1a1a;border:1px solid #333;border-radius:8px;margin:16px;padding:20px 24px;box-shadow:0 8px 32px #0009}.modal-sm{max-width:360px}.modal-md{max-width:480px}.modal-lg{max-width:640px}.modal-title{margin:0 0 16px;font-size:1.1em;font-weight:600}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-btn{color:var(--text-default);cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:8px 16px;font-size:.95em}.modal-btn:hover:not(:disabled){background:#333}.modal-btn:disabled{opacity:.4;cursor:not-allowed}.modal-btn-primary{background:#2c5070;border-color:#3e6890}.modal-btn-primary:hover:not(:disabled){background:#356085}.modal-field{flex-direction:column;gap:4px;margin-bottom:4px;display:flex}.modal-field>span{color:#aaa;font-size:.9em}.modal-field input[type=text]{color:var(--text-default);background:#0e0e0e;border:1px solid #444;border-radius:4px;padding:8px 10px;font-size:.95em}.modal-field input[type=text]:focus{border-color:#4a8ab8;outline:none}.modal-hint{color:#888;margin:4px 0 0;font-size:.85em}.modal-summary{color:#aaa;margin:0 0 14px;font-size:.95em}.modal-radio{cursor:pointer;align-items:center;gap:8px;margin:8px 0 4px;display:flex}.modal-radio input{margin:0}.modal-field-indent{margin-left:24px}@media (width<=699px),(height<=499px){.modal-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);margin:12px}}.app{background:var(--app-bg);height:100dvh;color:var(--text-default);flex-direction:column;display:flex;overflow:hidden}.app>main[hidden]{display:none!important}.library-tab-content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-height:0;padding:16px;display:flex;overflow:hidden}.library-tab-content>.sound-bank-panel{flex:1;width:100%;height:100%;min-height:0}.designer-layout{grid-template-columns:var(--designer-sidebar-width,220px) 1fr;flex:1;grid-template-rows:1fr;grid-template-areas:"sidebar main";gap:12px;min-height:0;padding:12px;display:grid}.designer-sidebar{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;flex-direction:column;grid-area:sidebar;min-height:0;display:flex;position:relative;overflow:hidden}.designer-sidebar.is-collapsed{align-items:center;gap:6px;padding:10px 0;overflow:visible}.designer-sidebar.is-collapsed .sidebar-toggle,.designer-sidebar.is-collapsed .designer-collapsed-section-btn,.designer-sidebar.is-collapsed .actions-icon-btn{width:30px;height:30px}.designer-collapsed-spacer{flex:auto;min-height:0}.designer-collapsed-divider,.actions-mini-divider{background:var(--surface-border-strong);border:none;width:22px;height:1px;margin:4px 0}.designer-collapsed-section-btn{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.95rem;transition:background .15s,color .15s,border-color .15s;display:flex}.designer-collapsed-section-btn:hover:not(:disabled){background:var(--surface-border);color:var(--accent);border-color:var(--accent)}.designer-collapsed-section-btn.is-active{background:var(--accent-bg-strong);border-color:var(--accent);color:var(--accent)}.designer-collapsed-section-btn:disabled{opacity:.4;cursor:not-allowed}.mini-play-btn-collapsed{background:var(--success);color:var(--app-bg);border-color:var(--success)}.mini-play-btn-collapsed:hover:not(:disabled){background:var(--success-dark);border-color:var(--success-dark);color:var(--app-bg)}.mini-play-btn-collapsed.playing{background:var(--danger);border-color:var(--danger);color:#fff}.mini-play-btn-collapsed.playing:hover{background:var(--danger-dark);border-color:var(--danger-dark);color:#fff}.designer-library-popover{background:var(--surface-bg);border:1px solid var(--surface-border-strong);z-index:50;border-radius:8px;flex-direction:column;width:480px;max-width:calc(100vw - 60px);max-height:min(80dvh,600px);display:flex;position:absolute;top:0;left:calc(100% + 6px);overflow:hidden;box-shadow:0 8px 24px #00000073}@media (width<=700px){.designer-library-popover{width:calc(100vw - 30px);max-width:calc(100vw - 30px);max-height:calc(100dvh - 60px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.designer-library-popover>.sound-bank-panel{background:0 0;border:none;border-radius:0;flex:1;min-height:0}.popover-close-btn{border:1px solid var(--surface-border-strong);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.popover-close-btn:hover{background:var(--surface-border);color:var(--danger);border-color:var(--danger)}.designer-sidebar-header{border-bottom:1px solid var(--surface-border-strong);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 10px 6px;display:flex}.designer-sidebar-header h3{color:var(--text-strong);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.9rem;font-weight:600}.sidebar-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;padding:6px 10px 0;font-size:.7rem;font-weight:600}.designer-sidebar .sidebar-library{flex-direction:column;flex:1;min-height:0;display:flex}.designer-sidebar .sidebar-library .patch-picker{background:0 0;border:none;border-radius:0;flex:1;min-height:0}.designer-sidebar .sidebar-actions{border-top:1px solid var(--surface-border-strong);flex:none}.sidebar-actions>.designer-actions-panel{border-top:none}.sidebar-actions>.mini-player{border:none;border-top:1px solid var(--surface-border);background:0 0;border-radius:0}.designer-main{flex-direction:column;grid-area:main;gap:12px;min-width:0;min-height:0;display:flex}.designer-row{flex-direction:row;flex:1;gap:12px;min-width:0;min-height:0;display:flex}.designer-cell{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.designer-cell.is-collapsed{flex:0 0 var(--module-band-width)}:is(.designer-main.is-maximized .designer-columns:not(:has(.designer-module.is-maximized)),.designer-main.is-maximized .designer-row:not(:has(.designer-module.is-maximized))){display:none}:is(.designer-main.is-maximized .designer-columns:has(.designer-module.is-maximized),.designer-main.is-maximized .designer-row:has(.designer-module.is-maximized)){flex:auto}:is(.designer-main.is-maximized .designer-column:not(:has(.designer-module.is-maximized)),.designer-main.is-maximized .designer-cell:not(:has(.designer-module.is-maximized)),.designer-main.is-maximized .designer-columns-sep){display:none}:is(.designer-main.is-maximized .designer-column:has(.designer-module.is-maximized),.designer-main.is-maximized .designer-cell:has(.designer-module.is-maximized)){flex:100%!important}.designer-main.is-maximized .designer-toolbar>.overflow-toolbar{display:none}.designer-layout-mobile{grid-template-rows:1fr}.designer-layout.designer-layout-mobile{padding-left:0}.designer-main-mobile{flex-direction:column;min-height:0;display:flex}.designer-mobile-stack{flex-direction:column;flex:1;min-height:0;display:flex}.designer-mobile-panel{display:none}.designer-mobile-panel.is-active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.designer-layout-mobile .designer-sidebar .sidebar-toggle-standalone,.designer-mobile-panel .we-area-header,.designer-mobile-panel .spectrogram-header{display:none}.designer-mobile-panel .we-canvas-area,.designer-mobile-panel .we-params-area,.designer-mobile-panel .we-adsr-area,.designer-mobile-panel .spectrogram{background:0 0;border:none;height:100%;padding:0}.composer-layout{grid-template-columns:var(--composer-bank-width,280px) 1fr var(--composer-aside-width,280px);flex:1;grid-template-rows:auto 1fr;grid-template-areas:"toolbar toolbar toolbar""bank main aside";gap:12px;min-height:0;padding:12px;display:grid}.composer-toolbar{grid-area:toolbar}.composer-sidebar{grid-area:bank;min-height:0;position:relative}.composer-main{flex-direction:column;grid-area:main;min-width:0;min-height:0;display:flex}.composer-aside{grid-area:aside;min-height:0;position:relative}.sidebar-toggle{border:1px solid var(--surface-border-strong);background:var(--surface-bg);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-toggle:hover{background:var(--surface-border);color:var(--accent);border-color:var(--accent)}.sidebar-toggle-icon{font-size:.7rem;line-height:1;display:block}.composer-sidebar.is-collapsed,.composer-aside.is-collapsed{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding-top:10px;display:flex;position:relative;overflow:visible}.composer-sidebar.is-collapsed .sidebar-toggle,.composer-sidebar.is-collapsed .designer-collapsed-section-btn,.composer-aside.is-collapsed .sidebar-toggle,.composer-aside.is-collapsed .designer-collapsed-section-btn{width:30px;height:30px}.sidebar-collapsed-label{writing-mode:vertical-rl;text-orientation:mixed;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.8rem;font-weight:600}@media (width<=1100px){.designer-layout{overflow-y:auto}.composer-layout{grid-template:"toolbar toolbar""bank main"1fr"aside aside"/minmax(200px,240px) 1fr}}@media (width<=699px),(height<=499px){.designer-layout{gap:6px;padding:6px}.designer-main-mobile{gap:0}.designer-mobile-panel .we-canvas-area,.designer-mobile-panel .we-harmonics-area,.designer-mobile-panel .we-params-area,.designer-mobile-panel .we-adsr-area,.designer-mobile-panel .we-modulation-area,.designer-mobile-panel .spectrogram{padding:0}}.doc-highlight-flash{animation:doc-highlight-blink var(--doc-highlight-duration,3.6s) ease-in-out;outline-offset:3px;border-radius:4px;outline:2px solid #0000}@keyframes doc-highlight-blink{0%,32%,64%{outline-color:var(--accent-bright);box-shadow:0 0 0 4px var(--accent-bg-strong), 0 0 16px 4px var(--accent-bg-overlay)}16%,48%,80%,to{outline-color:#0000;box-shadow:0 0 #0000,0 0 #0000}}@media (prefers-reduced-motion:reduce){.doc-highlight-flash{outline-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg-medium);animation:none}}.too-small-gate{background:var(--app-bg);color:var(--text-default);z-index:10000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.too-small-gate-content{text-align:center;max-width:320px}.too-small-gate-content h1{color:var(--accent);letter-spacing:.02em;margin:0 0 14px;font-family:Courier New,monospace;font-size:1.4rem}.too-small-gate-content p{color:#c0c0d0;margin:0 0 12px;font-size:.9rem;line-height:1.5}.too-small-gate-content strong{color:#f0f0f8}
