.setup{background:var(--c-bg);justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.setup__inner{flex-direction:column;gap:32px;width:100%;max-width:440px;display:flex}.setup__wordmark{color:var(--c-text);letter-spacing:-.03em;font-size:28px;font-weight:700}.setup__tagline{color:var(--c-text2);margin-top:-24px;font-size:14px}.setup__section{flex-direction:column;gap:10px;display:flex}.setup__label{text-transform:uppercase;letter-spacing:.09em;color:var(--c-text3);font-size:11px;font-weight:600}.setup__roots{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.root-btn{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);padding:10px 4px;font-size:13px;font-weight:500;transition:border-color .12s,color .12s,background .12s}.root-btn:hover{border-color:var(--c-border2);color:var(--c-text)}.root-btn.active{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af526}.setup__mode-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-btn{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);text-align:left;flex-direction:column;gap:4px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.mode-btn:hover{border-color:var(--c-border2)}.mode-btn.active{border-color:var(--c-accent);background:#7c6af51f}.mode-btn__name{color:var(--c-text);font-size:14px;font-weight:500}.mode-btn__desc{color:var(--c-text3);font-size:11px}.setup__instruments{flex-direction:column;gap:6px;display:flex}.inst-btn{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);text-align:left;flex-direction:column;gap:3px;width:100%;padding:11px 14px;transition:border-color .12s,background .12s;display:flex}.inst-btn:hover{border-color:var(--c-border2)}.inst-btn.active{border-color:var(--c-accent);background:#7c6af51f}.inst-btn__name{color:var(--c-text);font-size:14px;font-weight:500}.inst-btn.active .inst-btn__name{color:var(--c-accent)}.inst-btn__desc{color:var(--c-text3);font-size:11px}.setup__bpm-row{align-items:center;gap:12px;display:flex}.setup__bpm-presets{flex:1;gap:6px;display:flex}.bpm-preset{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;transition:border-color .12s,background .12s;display:flex}.bpm-preset:hover{border-color:var(--c-border2)}.bpm-preset.active{border-color:var(--c-accent);background:#7c6af51f}.bpm-preset__label{color:var(--c-text2);font-size:11px}.bpm-preset.active .bpm-preset__label{color:var(--c-accent)}.bpm-preset__value{color:var(--c-text);font-size:13px;font-weight:500}.setup__bpm-custom{align-items:center;gap:6px;display:flex}.bpm-input{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);width:62px;color:var(--c-text);text-align:center;outline:none;padding:7px 10px;font-size:14px;font-weight:500;transition:border-color .12s}.bpm-input:focus{border-color:var(--c-accent)}.bpm-unit{color:var(--c-text3);font-size:11px}.setup__label-hint{text-transform:none;letter-spacing:0;color:var(--c-text3);margin-left:4px;font-size:10px;font-weight:400}.progression-input{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text);resize:none;outline:none;min-height:60px;max-height:140px;padding:10px 12px;font-family:SF Mono,monospace;font-size:13px;line-height:1.45;transition:border-color .12s,background .12s}.progression-input:focus{border-color:var(--c-accent);background:var(--c-bg)}.progression-input::placeholder{color:var(--c-text3);white-space:pre-line;font-size:12px;line-height:1.45}.progression-status{flex-wrap:wrap;align-items:baseline;gap:6px;min-height:16px;padding:0 2px;font-size:11px;display:flex}.progression-status__hint{color:var(--c-text3);font-style:italic}.progression-status__ok{color:var(--cl-stable);font-weight:500}.progression-status__sections{color:var(--c-text2)}.progression-status__warn{color:var(--cl-tension)}.setup__start{border-radius:var(--radius-md);background:var(--c-accent2);border:1px solid var(--c-accent);color:#fff;letter-spacing:-.01em;padding:14px 24px;font-size:15px;font-weight:600;transition:background .12s,transform 80ms}.setup__start:hover{background:var(--c-accent)}.setup__start:active{transform:scale(.98)}.setup__import-link{appearance:none;color:var(--c-text3);cursor:pointer;letter-spacing:.01em;text-align:center;background:0 0;border:none;margin-top:10px;padding:6px 10px;font-family:inherit;font-size:12px;transition:color .12s}.setup__import-link:hover{color:var(--c-text1)}.setup__import-link code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:11px}.section-tabs-wrap{border-bottom:1px solid var(--c-border);background:var(--c-bg);position:relative}.section-tabs{scrollbar-width:none;align-items:flex-end;gap:2px;padding:8px 16px 0;display:flex;overflow-x:auto}.section-tabs::-webkit-scrollbar{display:none}.section-tab-container{align-items:flex-end;display:flex;position:relative}.section-tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--c-text2);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-bottom:none;flex-direction:column;align-items:flex-start;padding:7px 14px 10px;transition:color .12s,background .12s;display:flex;position:relative;bottom:-1px}.section-tab:hover{color:var(--c-text)}.section-tab.active{background:var(--c-surface);border-color:var(--c-border);border-bottom-color:var(--c-surface);color:var(--c-text)}.tab__label{text-transform:uppercase;letter-spacing:.08em;color:var(--tab-color,var(--c-accent));font-size:10px;font-weight:600}.tab__label-input{text-transform:uppercase;letter-spacing:.08em;color:var(--tab-color,var(--c-accent));background:#ffffff0f;border:1px solid #ffffff2e;border-radius:3px;outline:none;width:100%;min-width:32px;max-width:120px;margin:-1px -4px 0;padding:1px 4px;font-family:inherit;font-size:10px;font-weight:600}.section-context-menu{z-index:1000;background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:6px;min-width:140px;padding:4px 0;font-size:12px;position:fixed;box-shadow:0 6px 20px #00000073}.section-context-menu__item{text-align:left;width:100%;color:var(--c-text2);cursor:pointer;font:inherit;background:0 0;border:none;padding:6px 12px;transition:background .1s,color .1s;display:block}.section-context-menu__item:hover:not(:disabled){color:var(--c-text);background:#ffffff0f}.section-context-menu__item:disabled{opacity:.35;cursor:not-allowed}.section-context-menu__item--danger{color:var(--cl-tension)}.section-context-menu__item--danger:hover:not(:disabled){color:var(--cl-tension);background:#d85a3014}.section-context-menu__separator{background:var(--c-border);height:1px;margin:3px 0}.tab__name{margin-top:1px;font-size:12px}.tab__key{color:var(--c-text3);font-size:10px;font-family:var(--font-mono,monospace);letter-spacing:.04em;margin-top:3px;transition:color .12s}.section-tab--add{color:var(--c-text3);align-self:flex-end;padding-bottom:10px;font-size:12px;position:relative;bottom:-1px}.section-tab--add:hover{color:var(--c-text2)}.key-picker{z-index:100;background:var(--c-surface);border:1px solid var(--c-border2);border-radius:var(--radius-md);flex-direction:column;gap:10px;min-width:220px;padding:12px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #00000040}.key-picker__label{text-transform:uppercase;letter-spacing:.1em;color:var(--c-text3);font-size:10px;font-weight:600}.key-picker__roots{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.kp-root{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text2);cursor:pointer;padding:6px 2px;font-size:11px;font-weight:500;transition:border-color .1s,color .1s,background .1s}.kp-root:hover{border-color:var(--c-border2);color:var(--c-text)}.kp-root.active{background:#7c6af514}.key-picker__mode{grid-template-columns:1fr 1fr;gap:4px;display:grid}.kp-mode{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text2);cursor:pointer;padding:6px 8px;font-size:12px;font-weight:500;transition:border-color .1s,color .1s,background .1s}.kp-mode:hover{border-color:var(--c-border2);color:var(--c-text)}.kp-mode.active{background:#7c6af514}.rp-panel{z-index:200;background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:var(--radius-sm);width:200px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.rp-header{border-bottom:1px solid var(--c-border);align-items:center;padding:8px 10px 6px;display:flex}.rp-header__title{color:var(--c-text2);letter-spacing:.04em;font-size:11px;font-weight:600}.rp-inherit-btn{text-align:left;width:100%;color:var(--c-text3);border-bottom:1px solid var(--c-border);align-items:baseline;gap:6px;padding:6px 10px;font-size:11px;transition:background .1s,color .1s;display:flex}.rp-inherit-btn:hover{color:var(--c-text2);background:#ffffff0a}.rp-inherit-btn__sub{color:var(--c-text3);opacity:.6;font-size:10px}.rp-category{padding:4px 0 2px}.rp-category+.rp-category{border-top:1px solid var(--c-border)}.rp-category__label{letter-spacing:.08em;color:var(--c-text3);opacity:.6;text-transform:uppercase;padding:4px 10px 3px;font-size:9px;font-weight:600;display:block}.rp-row{align-items:center;width:100%;transition:background 80ms;display:flex}.rp-row:hover{background:#ffffff0d}.rp-row.active{background:#7c6af51f}.rp-row__select{text-align:left;cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;padding:5px 6px 5px 10px;display:flex}.rp-row__play{width:26px;height:26px;color:var(--c-text3);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;font-size:9px;transition:color .1s,background .1s,border-color .1s;display:flex}.rp-row__play:hover{color:var(--c-text);border-color:var(--c-border);background:#ffffff12}.rp-row__play.playing{color:var(--cl-tension,#d85a30);background:#d85a3014;border-color:#d85a304d}.rp-row__dot{border:1px solid var(--c-border2);background:0 0;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .1s,border-color .1s}.rp-row__dot.active{background:var(--c-accent);border-color:var(--c-accent)}.rp-row__name{color:var(--c-text2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.rp-row.active .rp-row__name{color:var(--c-text)}.rp-row__tag{color:var(--c-text3);opacity:.5;white-space:nowrap;font-size:9px;font-style:italic}.rp-footer{color:var(--c-text3);opacity:.4;border-top:1px solid var(--c-border);text-align:center;padding:5px 10px 7px;font-size:9px}.rp-sustain{border-top:1px solid var(--c-border);justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.rp-sustain__label{color:var(--c-text2);font-size:11px;font-weight:500}.rp-sustain__right{align-items:center;gap:6px;display:flex}.rp-sustain__tag{color:var(--c-text3);opacity:.6;font-size:9px;font-style:italic}.rp-sustain__inherit{color:var(--c-text3);border:1px solid var(--c-border);cursor:pointer;border-radius:3px;padding:1px 5px;font-size:9px;transition:color .1s,border-color .1s}.rp-sustain__inherit:hover{color:var(--c-text2);border-color:var(--c-border2)}.rp-sustain__toggle{border:1px solid var(--c-border2);background:var(--c-surface);cursor:pointer;border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .15s,border-color .15s;position:relative}.rp-sustain__toggle.on{background:var(--c-accent);border-color:var(--c-accent)}.rp-sustain__knob{background:var(--c-text3);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.rp-sustain__toggle.on .rp-sustain__knob{background:#fff;transform:translate(14px)}.performance-lane{margin-top:6px}.lane-stack__body .performance-lane{margin-top:0}.performance-lane--inactive .performance-lane__track{cursor:default}.performance-lane--inactive .performance-pill{cursor:pointer}.performance-lane--inactive .performance-pill:hover{border-color:#0000}.performance-lane__track{cursor:copy;height:28px;position:relative}.performance-lane__empty{color:var(--c-text3);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.performance-pill.performance-pill--ghost{border:1.5px dashed var(--c-border);cursor:pointer;background:0 0;transition:border-color .12s,background .12s}.performance-pill.performance-pill--ghost:hover{border-color:var(--c-border2);background:#ffffff08}.performance-pill.performance-pill--ghost .performance-pill__name{color:var(--c-text3);text-align:center;width:100%;font-weight:400}.performance-pill.performance-pill--ghost .performance-pill__resize{display:none}.performance-pill{background:var(--c-pattern-bg);border:1px solid var(--c-pattern);cursor:grab;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:3px;align-items:center;padding:0 8px;transition:background .12s,border-color .12s,filter .12s;display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.performance-pill:hover{filter:brightness(1.18);border-color:var(--c-pattern)}.performance-pill--dragging{opacity:.7;cursor:grabbing}.performance-pill__name-input{letter-spacing:.2px;color:#fffffff2;background:#00000040;border:1px solid #ffffff40;border-radius:3px;outline:none;flex:1;min-width:0;margin:0;padding:1px 5px;font-family:inherit;font-size:10.5px;font-weight:500}.performance-pill__name-input:focus{border-color:#ffffff80}.performance-pill--renaming .performance-pill__dup,.performance-pill--renaming .performance-pill__resize{display:none}.performance-pill__name{color:#fffffff2;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;pointer-events:none;flex:1;font-size:10.5px;font-weight:500;overflow:hidden}.performance-pill__dup{color:#fffffff2;cursor:pointer;opacity:0;z-index:2;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;font-size:18px;font-weight:700;line-height:1;transition:opacity .12s,background .12s;display:flex;position:absolute;top:1px;bottom:1px;right:10px}.performance-pill:hover .performance-pill__dup{opacity:1}.performance-pill__dup:hover{background:#ffffff2e}.performance-pill__resize{cursor:ew-resize;z-index:3;background:0 0;width:6px;transition:background .12s;position:absolute;top:0;bottom:0;right:0}.performance-pill__resize:hover{background:#ffffff2e}.performance-context-menu{z-index:1000;background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:var(--radius-sm);min-width:160px;padding:4px;position:fixed;box-shadow:0 6px 24px #00000080}.performance-context-menu__item{width:100%;color:var(--c-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:7px 12px;font-size:12px;transition:background 80ms;display:block}.performance-context-menu__item:hover{background:var(--c-border)}.performance-context-menu__item--danger{color:var(--cl-tension,#d85a30)}.performance-context-menu__item--danger:hover{background:#d85a3026}.performance-context-menu__separator{background:var(--c-border);height:1px;margin:4px 0}.performance-context-menu__placeholder{color:var(--c-text3);padding:7px 12px;font-size:11px;font-style:italic}.performance-context-menu__item--toggle{align-items:center;gap:8px;display:flex}.performance-context-menu__check{width:14px;height:14px;color:var(--c-accent);background:0 0;border:1px solid #fff6;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.performance-context-menu__check.on{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.performance-context-menu__field{color:var(--c-text);align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.performance-context-menu__field--decay{gap:10px;padding-top:10px;padding-bottom:10px}.performance-context-menu__field.disabled{opacity:.4;pointer-events:none}.performance-context-menu__field-label{flex:1}.performance-context-menu__decay-input{width:50px;font-size:11px;font-family:var(--font-mono,monospace);color:var(--c-text);text-align:right;background:#ffffff0f;border:1px solid #ffffff26;border-radius:3px;outline:none;padding:3px 6px}.performance-context-menu__decay-input:focus{border-color:var(--c-accent);background:#7c6af51a}.performance-context-menu__decay-input:disabled{cursor:not-allowed}.performance-context-menu__field-suffix{color:var(--c-text3);font-size:11px}.performance-picker-popover{z-index:1100;position:fixed}.lane-stack{flex-direction:column;margin-top:6px;display:flex}.lane-stack__row{align-items:stretch;height:40px;display:flex;position:relative}.lane-stack__header{width:var(--lane-header-width,160px);cursor:pointer;color:var(--c-text2,#c9c9d0);-webkit-user-select:none;user-select:none;z-index:40;background:var(--c-surface);flex:none;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:11px;font-weight:500;transition:background .12s;display:flex;position:sticky;left:0}.timeline__row-group--scroll .lane-stack__header{box-shadow:1px 0 0 var(--c-border), 6px 0 10px -4px #00000073}.lane-stack__header:hover{background:var(--c-surface2,#1e1e22)}.lane-stack__swatch{border-radius:3px;flex:none;width:11px;height:11px;box-shadow:inset 0 0 0 1px #0006}.lane-stack__name{white-space:nowrap;text-overflow:ellipsis;color:var(--c-text,#e4e4e7);flex:auto;font-weight:600;overflow:hidden}.lane-stack__name--editing{background:var(--c-surface2,#1e1e22);border:1px solid var(--c-accent,#7c6af5);min-width:0;color:var(--c-text,#e4e4e7);border-radius:3px;outline:none;margin:0;padding:2px 5px;font-family:inherit;font-size:11px;font-weight:600}.lane-stack__ms{flex:none;gap:3px;display:flex}.lane-stack__ms-btn{width:17px;height:16px;color:var(--c-text3,#71717a);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:3px;justify-content:center;align-items:center;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:700;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.lane-stack__ms-btn:hover{color:var(--c-text2,#c9c9d0);background:#ffffff14}.lane-stack__ms-btn.is-on{color:#1a1a1f;background:#e0954a;border-color:#e0954a}.lane-stack__ms-btn--solo.is-on{background:#5db1d9;border-color:#5db1d9}.lane-stack__body{background:#ffffff03;border-radius:4px;flex:auto;height:32px;margin:4px 0;position:relative;overflow:hidden}.lane-stack__gridline{pointer-events:none;background:#ffffff0a;width:1px;position:absolute;top:0;bottom:0}.lane-stack__empty-cell{cursor:pointer;background:0 0;border:1px dashed #ffffff29;border-radius:4px;justify-content:center;align-items:center;transition:border-color .12s,background .12s;display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.lane-stack__empty-cell:hover{background:#ffffff08;border-color:#ffffff57}.lane-stack__empty-cell-label{color:var(--c-text3,#71717a);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:500;transition:opacity .12s}.lane-stack__empty-cell:hover .lane-stack__empty-cell-label{opacity:1;color:var(--c-text2,#c9c9d0)}.lane-stack__row--ghost{opacity:.45;cursor:pointer;z-index:40;transition:opacity .15s;position:relative}.lane-stack__row--ghost:hover{opacity:.75}.lane-stack__row--ghost .lane-stack__header{cursor:pointer}.lane-stack__body--ghost{background:0 0}.lane-stack__row--active .lane-stack__body{box-shadow:inset 3px 0 0 0 var(--lane-color,#4ec5b9);background:color-mix(in srgb, var(--lane-color,#4ec5b9) 7%, #ffffff03)}.lane-stack__row--active .lane-stack__header{background:color-mix(in srgb, var(--lane-color,#4ec5b9) 8%, var(--c-surface,#17171a))}.lane-stack__row--active .lane-stack__name{color:var(--c-text,#fff)}.dur-toggle{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.dur-toggle__bars{align-items:center;gap:4px;display:flex}.dur-toggle__bar{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff73;border-radius:3px;width:12px;height:12px;padding:0;transition:background .1s,border-color .1s,opacity .1s}.dur-toggle__bar:hover:not(.completed):not(.translucent):not(.blocked){border-color:var(--accent,var(--c-accent));background:color-mix(in srgb, var(--accent,var(--c-accent)) 22%, transparent)}.dur-toggle__bar.completed{background:var(--accent,var(--c-accent));border-color:var(--accent,var(--c-accent))}.dur-toggle__bar.completed:hover{filter:brightness(1.15)}.dur-toggle__bar.translucent{background:color-mix(in srgb, var(--accent,var(--c-accent)) calc(var(--bar-fill,.25) * 100%), transparent);border-color:var(--accent,var(--c-accent))}.dur-toggle__bar.translucent:hover{background:color-mix(in srgb, var(--accent,var(--c-accent)) calc((var(--bar-fill,.25) + .12) * 100%), transparent)}.dur-toggle__bar.blocked{opacity:.18;cursor:not-allowed}.dur-toggle__bar-multiplier{color:var(--c-text3);font-size:9px;font-family:var(--font-mono,monospace);margin-left:2px}.dur-toggle__beats{gap:4px;display:flex}.dur-toggle__beat{cursor:pointer;background:#ffffff14;border:1.5px solid #ffffff80;border-radius:50%;width:10px;height:10px;padding:0;transition:background .1s,border-color .1s,opacity .1s}.dur-toggle__beat:hover:not(.active):not(.blocked){border-color:var(--accent,var(--c-accent));background:color-mix(in srgb, var(--accent,var(--c-accent)) 22%, transparent)}.dur-toggle__beat.active{background:var(--accent,var(--c-accent));border-color:var(--accent,var(--c-accent))}.dur-toggle__beat.blocked{opacity:.18;cursor:not-allowed}.timeline{background:var(--c-surface);border-bottom:1px solid var(--c-border);flex-shrink:0;padding:32px 16px 10px;position:relative}.timeline__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.timeline__left{align-items:center;gap:10px;display:flex}.timeline__bars-label{color:var(--c-text3);font-size:11px}.timeline__transport{align-items:center;gap:6px;display:flex}.timeline__row-group{--lane-header-width:200px;flex-direction:column;gap:0;margin-bottom:18px;display:flex;position:relative}.timeline__row-group:last-child{margin-bottom:0}.timeline__row-group--scroll{scrollbar-width:none;padding-bottom:16px;overflow-x:auto}.timeline__row-group--scroll::-webkit-scrollbar{display:none}.timeline__frozen-gutter{width:var(--lane-header-width,200px);background:var(--c-surface);z-index:35;pointer-events:none;flex:none;align-self:flex-start;position:sticky;left:0}.tl-hscroll{left:var(--lane-header-width,200px);cursor:pointer;z-index:41;background:#ffffff0d;border-radius:4px;align-self:flex-start;height:7px;position:sticky;bottom:0}.tl-hscroll__thumb{cursor:grab;background:#ffffff6b;border-radius:3px;transition:background .12s;position:absolute;top:1px;bottom:1px}.tl-hscroll__thumb:hover{background:#fff9}.tl-hscroll__thumb:active{cursor:grabbing;background:#ffffffbf}.timeline__row-group--scroll>.timeline__chord-row,.timeline__row-group--scroll>.lane-stack,.timeline__row-group--scroll>.performance-lane{min-width:calc(var(--scroll-min-width,1120px) + var(--lane-header-width,200px));flex-shrink:0}.timeline__row-group--scroll>.timeline__bar-labels,.timeline__row-group--scroll>.timeline__bar-ticks{min-width:var(--scroll-min-width,1120px);flex-shrink:0}.timeline__bar{grid-template-columns:repeat(var(--row-beats,32), 35px);border-radius:var(--radius-sm);background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:0 0;background-repeat:repeat-x;background-size:152px 100%,38px 100%;grid-auto-rows:88px;grid-auto-flow:row;align-items:stretch;gap:6px 3px;height:auto;min-height:88px;padding:0;display:grid;position:relative}.timeline__bar-ticks{height:4px;margin-bottom:4px;margin-left:var(--lane-header-width,200px);pointer-events:none;background-image:linear-gradient(90deg,#ffffff73 2px,#0000 2px);background-position:0 0;background-repeat:repeat-x;background-size:152px 100%}.timeline__bar-labels{height:14px;margin-bottom:2px;margin-left:var(--lane-header-width,200px);pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.timeline__chord-row{align-items:stretch;display:flex}.timeline__chord-row>.timeline__bar{flex:auto}.timeline__chord-track-label{width:var(--lane-header-width,160px);-webkit-user-select:none;user-select:none;z-index:45;background:var(--c-surface);flex:none;align-items:center;padding:0 10px 0 8px;display:flex;position:sticky;left:0}.timeline__row-group--scroll .timeline__chord-track-label{box-shadow:1px 0 0 var(--c-border), 6px 0 10px -4px #00000073}.timeline__chord-track-label--spacer{pointer-events:none}.timeline__chord-key-trigger{width:100%;color:var(--c-text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transition:background .1s,border-color .1s;display:flex}.timeline__chord-key-trigger:hover{background:#ffffff0a;border-color:#ffffff0f}.timeline__chord-key-trigger.is-open{background:#7c6af514;border-color:#7c6af566}.timeline__chord-key-glyph{color:var(--c-accent);text-align:center;flex:none;width:22px;font-family:ui-serif,Georgia,serif;font-size:32px;font-weight:400;line-height:.8}.timeline__chord-key-text{flex-direction:column;flex:auto;min-width:0;display:flex}.timeline__chord-key-tag{letter-spacing:1.5px;color:var(--c-text3,#71717a);font-size:9px;font-weight:500}.timeline__chord-key-name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.timeline__chord-key-picker{background:var(--c-surface2,#2a2a32);border:1px solid var(--c-border,#3a3a44);z-index:1000;border-radius:8px;flex-direction:column;gap:6px;min-width:240px;padding:8px;display:flex;position:fixed;box-shadow:0 8px 24px #0006}.timeline__chord-key-picker__keys{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.timeline__chord-key-picker__key{color:var(--c-text2,#c9c9d0);cursor:pointer;background:#ffffff0a;border:1px solid #0000;border-radius:4px;padding:7px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:500;transition:background .1s,color .1s,border-color .1s}.timeline__chord-key-picker__key:hover{color:var(--c-text);background:#ffffff17}.timeline__chord-key-picker__key.is-active{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af52e}.timeline__chord-key-picker__mode{border-top:1px solid #ffffff0f;grid-template-columns:1fr 1fr;gap:4px;padding-top:6px;display:grid}.timeline__chord-key-picker__mode-btn{color:var(--c-text2,#c9c9d0);cursor:pointer;background:#ffffff0a;border:1px solid #0000;border-radius:4px;padding:8px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;transition:background .1s,color .1s,border-color .1s}.timeline__chord-key-picker__mode-btn:hover{color:var(--c-text);background:#ffffff17}.timeline__chord-key-picker__mode-btn.is-active{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af52e}.timeline__bar-label{color:var(--c-text3,#71717a);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:500;position:absolute;top:0;transform:translate(-50%)}.timeline__scrub{pointer-events:auto;cursor:pointer;background-image:linear-gradient(90deg,#ffffff73 2px,#0000 2px);background-position:0 bottom;background-repeat:repeat-x;background-size:152px 100%;height:14px;margin-bottom:0;transition:background-color .12s}.timeline__scrub:hover{background-color:#ffffff0a}.timeline__playhead{pointer-events:none;z-index:30;background:#f0f0f0b3;width:2px;position:absolute;top:0;bottom:0}.timeline__playhead-cap{clip-path:polygon(0 0,100% 0,50% 100%);background:#f0f0f0d9;width:12px;height:8px;position:absolute;top:0;left:-5px}.timeline__bar.timeline__bar--scroll{grid-template-rows:88px;grid-template-columns:none;grid-auto-columns:35px;grid-auto-flow:column;height:88px}.timeline__bar>.tl-drop-indicator{grid-column:span 1;align-self:stretch}.timeline__bar>.tl-drop-indicator:not(.visible){display:none}.timeline__wrap-toggle{font-size:10.5px;font-family:var(--font-mono,monospace);color:var(--c-text3);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:4px;margin-left:6px;padding:4px 8px;transition:color .1s,border-color .1s,background .1s}.timeline__wrap-toggle:hover{color:var(--c-text);border-color:var(--c-border2)}.timeline__wrap-toggle.is-wrap{color:var(--c-accent);background:#7c6af514;border-color:#7c6af566}.tl-pill-wrap{align-items:stretch;min-width:0;display:flex;position:relative}.tl-drop-indicator{border-left:2px solid var(--c-accent);opacity:0;pointer-events:none;border-radius:1px;flex-shrink:0;align-self:stretch;width:0;transition:opacity 80ms}.tl-drop-indicator.visible{opacity:1;width:2px;margin:0 1px}.tl-pill{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface2);flex:1;transition:border-color .12s;position:relative;overflow:hidden}.tl-pill:hover{border-color:var(--c-border2)}.tl-pill.active,.tl-pill.in-selection{border-color:#ffffff4d}.tl-group-bracket{pointer-events:none;border-radius:var(--radius-sm);height:92px;box-shadow:0 0 0 1px var(--c-select);position:absolute;top:-2px}.tl-link-toolbar{background:var(--c-select);color:#0d1118;white-space:nowrap;z-index:20;pointer-events:auto;border-radius:5px 5px 0 0;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.3;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 1px 4px #00000059}.tl-link-toolbar__count{font-variant-numeric:tabular-nums;background:#0d11182e;border-radius:3px;padding:0 5px;font-size:10px}.tl-link-toolbar__btn{color:inherit;font:inherit;cursor:pointer;background:#0d11182e;border:none;border-radius:3px;padding:1px 7px;transition:background .12s}.tl-link-toolbar__btn:hover{background:#0d111852}.tl-pill.dragging{opacity:.35;cursor:grabbing}.tl-pill.replace-target{box-shadow:0 0 0 1px #d4860a4d;background:#d4860a26!important;border-width:2px!important;border-color:#d4860a!important}.tl-pill__remove{width:16px;height:16px;color:var(--c-text3);opacity:0;z-index:2;border-radius:3px;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:opacity .1s,color .1s,background .1s;display:flex;position:absolute;top:3px;right:4px}.tl-pill:hover .tl-pill__remove{opacity:1}.tl-pill__remove:hover{color:var(--cl-tension);background:#d85a301f}.tl-pill__inner{flex-direction:column;gap:4px;height:100%;padding:7px 12px 5px 10px;transition:padding-right .1s;display:flex;overflow:hidden}.tl-pill:hover .tl-pill__inner,.tl-pill.panel-open .tl-pill__inner{padding-right:30px}.tl-pill__name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.tl-pill__degree{color:#ffffff73;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:400;line-height:1.2;overflow:hidden}.tl-pill__name .tl-pill__off{color:var(--c-off-chord);background:var(--c-off-chord-bg);vertical-align:1px;letter-spacing:.02em;border:1px solid #e6b04259;border-radius:8px;margin-left:4px;padding:0 4px;font-size:9px;font-weight:500;line-height:1.4;display:inline-block}.tl-pill__preview{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);opacity:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:3px 5px;transition:background .1s,color .1s,border-color .1s,opacity .1s;display:flex}.tl-pill:hover .tl-pill__preview{opacity:1}.tl-pill__preview:hover{background:var(--c-surface2);border-color:var(--c-border2);color:var(--c-text)}.tl-pill__dur{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:1px;margin-top:auto;padding:0;display:flex}.tl-pill__dur-name{color:var(--c-text3);font-size:10px;display:block}.tl-pill__dur:hover .tl-pill__dur-name{color:var(--c-text2)}.tl-pill__dur-bars{color:var(--c-text3);opacity:.5;font-size:9px;display:block}.tl-pill__accent-bar{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);opacity:.95;pointer-events:none;height:3px;position:absolute;top:0;left:0;right:0}.beat-picker{gap:3px;margin-top:auto;padding-top:2px;display:flex}.beat-picker__block{border:1px solid var(--c-border2);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;width:11px;height:11px;padding:0;transition:background .1s,border-color .1s,opacity .1s}.beat-picker__block:hover:not(.blocked):not(.active){background:var(--c-border2)}.beat-picker__block.active{background:var(--c-accent);border-color:var(--c-accent)}.beat-picker__block.blocked{opacity:.18;cursor:not-allowed}.tl-remaining{border-radius:var(--radius-sm);border:1.5px dashed var(--c-border);justify-content:center;align-items:center;min-width:0;display:flex;overflow:hidden}.tl-remaining-filler{flex-shrink:0;min-width:0}.tl-remaining__label{color:var(--c-text3);white-space:nowrap;writing-mode:horizontal-tb;padding:0 6px;font-size:10px}.tl-remaining__label--inline{writing-mode:horizontal-tb;opacity:.6;padding:0}.tl-actions{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;height:100%;padding:8px 10px;display:flex}.tl-action-btn{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface2);color:var(--c-text2);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;width:fit-content;padding:3px 9px 3px 7px;font-size:11px;transition:background .1s,color .1s,border-color .1s;display:flex}.tl-action-btn:hover{background:var(--c-surface);border-color:var(--c-accent);color:var(--c-text)}.tl-action-btn__icon{opacity:.7;font-size:11px}.tl-action-btn__label{font-size:11px;font-family:var(--font-mono,monospace)}.tl-pill.playing{box-shadow:0 0 0 2px #7c6af58c;border-color:var(--c-accent)!important;background:#7c6af547!important}.tl-pill.playing .tl-pill__name{color:#e8e4ff}.timeline__play.playing{border-color:var(--cl-tension);color:var(--cl-tension)}.timeline__play.playing:hover{background:#d85a301a}.stop-sq{font-size:9px}.tl-pill__dup{width:22px;height:22px;color:var(--c-text2);z-index:2;opacity:0;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:20px;font-weight:700;line-height:1;transition:color .1s,opacity .1s;display:flex;position:absolute;top:22px;right:4px}.tl-pill:hover .tl-pill__dup{opacity:1}.tl-pill__dup:hover{color:var(--c-accent)}.tl-ctxmenu{background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;min-width:160px;padding:4px;font-size:13px;box-shadow:0 8px 24px #00000059}.tl-ctxmenu__item{text-align:left;width:100%;color:var(--c-text);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;padding:6px 10px}.tl-ctxmenu__item:hover:not(:disabled){background:#ffffff0f}.tl-ctxmenu__item:disabled{opacity:.45;cursor:not-allowed}.tl-pill__voice{width:22px;height:22px;color:var(--c-text3);background:var(--c-surface);border:1px solid var(--c-border2);border-radius:var(--radius-sm);z-index:2;opacity:0;cursor:pointer;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:color .1s,background .1s,border-color .1s,opacity .1s;display:flex;position:absolute;top:22px;right:4px}.tl-pill:hover .tl-pill__voice,.tl-pill__voice.active{opacity:1}.tl-pill__voice:hover{color:var(--c-text);background:var(--c-surface2);border-color:#ffffff40}.tl-pill__voice.active{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af526}.tl-pill__voice.active:hover{background:#7c6af538}.tl-pill__rhythm{width:22px;height:22px;color:var(--c-text3);background:var(--c-surface);border:1px solid var(--c-border2);border-radius:var(--radius-sm);z-index:2;opacity:0;cursor:pointer;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:color .1s,background .1s,border-color .1s,opacity .1s;display:flex;position:absolute;top:46px;right:4px}.tl-pill:hover .tl-pill__rhythm,.tl-pill__rhythm.active{opacity:1}.tl-pill__rhythm:hover{color:var(--c-text);background:var(--c-surface2);border-color:#ffffff40}.tl-pill__rhythm.active{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af526}.tl-pill__rhythm.has-override{color:var(--c-text2);border-color:var(--c-border2)}.tl-pill__rhythm.has-override:not(.active){opacity:.9}.tl-pill--xs .tl-pill__voice,.tl-pill--xs .tl-pill__rhythm{display:none}.tl-pill--xs:hover .tl-pill__inner,.tl-pill--xs.panel-open .tl-pill__inner{padding-right:8px}.tl-pill--xs .tl-pill__inner{padding:6px 4px 4px}.tl-pill--sm .tl-pill__inner{padding:7px 6px 5px}.tl-pill--xs .tl-pill__name,.tl-pill--sm .tl-pill__name{font-size:11px}.tl-section-rhythm{border-radius:var(--radius-sm);border:1px solid var(--c-border);color:var(--c-text3);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:background .1s,color .1s,border-color .1s;display:flex}.tl-section-rhythm:hover{background:var(--c-surface2);color:var(--c-text2);border-color:var(--c-border2)}.tl-section-rhythm.active{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af51a}.tl-pill__voice.has-override{color:var(--c-text2);border-color:var(--c-border2);opacity:.9}.tl-pill__voice.has-override.active{color:var(--c-accent);border-color:var(--c-accent2);opacity:1}.vcp-wrap{max-height:calc(100vh - 160px);font-family:var(--font-mono,"IBM Plex Mono", monospace);flex-direction:column;flex:1;display:flex;overflow:hidden}.vcp-header{border-bottom:1px solid var(--c-border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;display:flex}.vcp-header__left{align-items:baseline;gap:7px;display:flex}.vcp-label{color:var(--c-text3);font-size:11px}.vcp-current{color:var(--c-text);font-size:14px}.vcp-header__right{align-items:center;gap:6px;display:flex}.vcp-quick{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:4px 9px;font-size:11px;transition:background .1s,border-color .1s,color .1s;display:flex}.vcp-quick:hover{background:var(--c-surface2);border-color:var(--c-border2);color:var(--c-text)}.vcp-quick__icon{font-size:12px;line-height:1}.vcp-quick__label{font-size:11px;font-family:var(--font-mono,monospace)}.vcp-divider{background:var(--c-border);width:1px;height:18px;margin:0 2px}.vcp-mode-toggle{border-radius:var(--radius-sm);border:1.5px solid var(--c-border2);background:var(--c-surface2);display:flex;overflow:hidden}.vcp-mode{color:var(--c-text2);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-mono,monospace);letter-spacing:.01em;background:0 0;padding:5px 13px;transition:background .12s,color .12s}.vcp-mode:hover{color:var(--c-text);background:#ffffff0a}.vcp-mode.active{background:var(--c-accent);color:#fff;font-weight:600}.vcp-qtoggle-global{border-radius:var(--radius-sm);border:1.5px solid var(--c-border2);background:var(--c-surface2);display:flex;overflow:hidden}.vcp-gq{color:var(--c-text2);cursor:pointer;letter-spacing:.01em;background:0 0;padding:5px 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s}.vcp-gq:hover{color:var(--c-text);background:#ffffff0a}.vcp-gq.active{background:var(--c-accent);color:#fff;font-weight:600}.vcp-undo{color:var(--c-text3);border-radius:var(--radius-sm);border:1px solid var(--c-border);cursor:pointer;padding:3px 8px;font-size:11px;transition:color .1s,border-color .1s}.vcp-undo:hover{color:var(--c-text2);border-color:var(--c-border2)}.vcp-body{scrollbar-width:thin;scrollbar-color:var(--c-border2) transparent;flex-direction:column;flex:1;gap:16px;padding:14px 16px 16px;display:flex;overflow-y:auto}.vcp-body::-webkit-scrollbar{width:8px}.vcp-body::-webkit-scrollbar-thumb{background:var(--c-border2);background-clip:padding-box;border:2px solid #0000;border-radius:4px}.vcp-body::-webkit-scrollbar-thumb:hover{background:var(--c-text3);background-clip:padding-box}.vcp-section__header{align-items:center;gap:7px;margin-bottom:7px;display:flex}.vcp-section__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.vcp-section__label{letter-spacing:.16em;color:var(--c-text3);text-transform:uppercase;white-space:nowrap;font-size:9.5px}.vcp-section__rule{background:var(--c-border);flex:1;height:1px}.vcp-chips{flex-wrap:wrap;gap:5px;display:flex}.vcp-chip-wrap{flex-direction:column;display:inline-flex;position:relative}.vcp-chip{cursor:default;border-style:solid;border-radius:6px;flex-direction:column;gap:0;min-width:68px;transition:transform .1s,filter .1s,border-color .1s;display:flex;overflow:hidden}.vcp-chip.hovered{filter:brightness(1.04);transform:translateY(-1px)}.vcp-chip__top{align-items:center;gap:4px;padding:7px 5px 7px 10px;display:flex}.vcp-chip__labels{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vcp-chip__name{white-space:nowrap;font-size:12px;font-weight:500;line-height:1}.vcp-chip__sub{font-size:9.5px;line-height:1}.vcp-chip__headline{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.vcp-chip__chord-secondary{opacity:.7;font-size:10px;font-weight:400;line-height:1}.vcp-chip__play{cursor:pointer;opacity:.5;background:#fff6;border:1px solid #0000001f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding-left:1px;transition:opacity .1s,transform .1s;display:flex}.vcp-chip:hover .vcp-chip__play,.vcp-chip.hovered .vcp-chip__play{opacity:.8}.vcp-chip__play:hover{transform:scale(1.1);opacity:1!important}.vcp-chip__add{cursor:pointer;opacity:.55;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:400;line-height:1;transition:opacity .1s,transform .1s;display:flex}.vcp-chip:hover .vcp-chip__add,.vcp-chip.hovered .vcp-chip__add{opacity:.9}.vcp-chip__add:hover{transform:scale(1.1);opacity:1!important}.vcp-chip__qtrow{gap:2px;padding:0 5px 6px 10px;display:flex}.vcp-qt{color:#00000059;cursor:pointer;background:#ffffff73;border:1px solid #0000001a;border-radius:3px;flex:1;padding:2px 5px;font-size:9px;font-weight:600;transition:background .1s,color .1s,border-color .1s}.vcp-qt:hover{background:#ffffffa6}.vcp-qt.active{background:var(--qt-active,#00000026);border-color:var(--qt-active,#0003);color:#000000b3}.vcp-tooltip{z-index:200;background:var(--c-surface);border:1px solid var(--c-border2);pointer-events:none;white-space:normal;border-radius:6px;flex-direction:column;gap:4px;min-width:160px;max-width:240px;padding:8px 10px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 16px #00000059}.vcp-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--c-border2);position:absolute;top:100%;left:14px}.vcp-tooltip:before{content:"";border:4px solid #0000;border-top-color:var(--c-surface);z-index:1;position:absolute;top:100%;left:15px}.vcp-tooltip.flip{top:calc(100% + 6px);bottom:auto}.vcp-tooltip.flip:after{border-top-color:#0000;border-bottom-color:var(--c-border2);top:auto;bottom:100%}.vcp-tooltip.flip:before{border-top-color:#0000;border-bottom-color:var(--c-surface);top:auto;bottom:100%}.vcp-tooltip__title{color:var(--c-text);font-size:12px;font-weight:600;line-height:1.3}.vcp-tooltip__body{color:var(--c-text2);font-size:10.5px;line-height:1.4;font-family:var(--font-sans,sans-serif)}.vcp-footer{border-top:1px solid var(--c-border);flex-shrink:0;align-items:center;min-height:30px;padding:6px 16px 8px;display:flex}.vcp-footer__hint{color:var(--c-text3);font-size:10.5px}.vcp-empty{color:var(--c-text3);flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}.vcp-chip__voice{border-radius:3px;flex-shrink:0;padding:0 2px;font-size:12px;transition:opacity .12s}.vcp-chip__voice:hover{opacity:1!important}.vtp-panel{background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:var(--radius-md);z-index:300;width:360px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 28px #0000008c}.vtp-header{color:var(--c-text);border-bottom:1px solid var(--c-border);padding:8px 10px;font-size:11px;font-weight:600}.vtp-body{align-items:flex-start;gap:8px;max-height:320px;padding:8px;display:flex;overflow-y:auto}.vtp-col{flex-direction:column;flex:1 1 0;gap:3px;min-width:0;display:flex}.vtp-col__header{color:var(--c-text3);text-transform:uppercase;letter-spacing:.5px;opacity:.75;padding:2px 4px 4px;font-size:9px}.vtp-item{width:100%;color:var(--c-text2);background:var(--c-surface);border:1px solid var(--c-border);text-align:left;border-radius:4px;padding:5px 8px;font-size:11px;transition:background .1s,color .1s,border-color .1s;display:block}.vtp-item:hover{background:var(--c-surface2);color:var(--c-text);border-color:var(--c-text3)}.vtp-item.active{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af51f}.pattern-editor{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius-sm);margin-top:12px;padding:12px 14px}.pattern-editor--section-playback .pe-grid-area,.pattern-editor--section-playback .pe-rail--mods,.pattern-editor--section-playback .pe-name,.pattern-editor--section-playback .pe-name-input,.pattern-editor--section-playback .pe-length-stepper,.pattern-editor--section-playback .pe-grid-select,.pattern-editor--section-playback .pe-grid-toggle,.pattern-editor--section-playback .pe-revert{pointer-events:none}.pattern-editor--section-playback{outline:1px solid #ffffff0f}.pattern-editor--empty{justify-content:center;align-items:center;min-height:180px;display:flex}.pe-empty{color:var(--c-text3);text-align:center;flex-direction:column;align-items:center;gap:6px;max-width:480px;display:flex}.pe-empty__title{color:var(--c-text2);letter-spacing:.2px;font-size:13px;font-weight:600}.pe-empty__hint{font-size:12px;line-height:1.5}.pe-empty__hint code{font-family:var(--font-mono,monospace);background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text2);border-radius:3px;padding:1px 5px;font-size:11px}.pe-header{box-shadow:inset 3px 0 0 0 var(--pe-track-color,transparent);background:color-mix(in srgb, var(--pe-track-color,transparent) 6%, transparent);border-radius:4px;align-items:center;gap:12px;margin-bottom:10px;padding-left:12px;display:flex;position:relative}.pattern-editor__play{border:1px solid var(--c-border2);width:32px;height:32px;color:var(--c-text2);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s,border-color .1s;display:flex}.pattern-editor__play:hover{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af526}.pattern-editor__play.playing{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.pattern-editor__play-icon{margin-left:1px;font-size:11px;line-height:1}.pattern-editor__play.playing .pattern-editor__play-icon{margin-left:0}.pe-name{color:var(--c-text);font-size:14px;font-weight:600}.pe-name--editable{cursor:text;border-radius:4px;margin:-3px -7px;padding:3px 7px;transition:background .1s}.pe-name--editable:hover{background:#ffffff0f}.pe-name-input{color:var(--c-text);border:1px solid var(--c-accent);background:#7c6af51a;border-radius:4px;outline:none;width:220px;margin:-3px -7px;padding:3px 7px;font-family:inherit;font-size:14px;font-weight:600}.pe-edited-tag{font-size:10px;font-weight:600;font-family:var(--font-mono,monospace);color:var(--c-accent);text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;background:#7c6af526;border:1px solid #7c6af566;border-radius:3px;margin-left:8px;padding:1px 6px}.pe-meta{color:var(--c-text3);font-size:12px;font-family:var(--font-mono,monospace)}.pe-linger-chip{border:1px solid var(--c-off-chord);background:var(--c-off-chord-bg);color:var(--c-off-chord);font-size:11px;font-family:var(--font-mono,monospace);cursor:pointer;border-radius:10px;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.pe-linger-chip:hover{border-color:var(--c-off-chord);color:#f0c25a;background:#e6b04247}.pe-linger-chip.is-expanded{border-color:var(--c-accent);color:var(--c-text);background:#7c6af526}.pe-linger-chip__count{font-weight:600}.pe-linger-chip__label{opacity:.85}.pe-row--ghost{opacity:.55;border-top:1px dashed var(--c-text3);z-index:20;position:relative}.pe-row--ghost:first-of-type{margin-top:4px}.pe-pitch--ghost{opacity:.9;font-style:italic}.pe-row-ctrls--ghost{gap:4px}.pe-row-ctrls--ghost .pe-ctrl-btn--restore,.pe-row-ctrls--ghost .pe-ctrl-btn--drop{white-space:nowrap;width:auto;min-width:0;height:auto;min-height:20px;padding:2px 8px;font-size:10px;line-height:1.2}.pe-row-ctrls--ghost .pe-ctrl-btn--restore{color:var(--c-text2);border-color:#7c6af573}.pe-row-ctrls--ghost .pe-ctrl-btn--restore:hover:not(:disabled){color:var(--c-text);border-color:var(--c-accent);background:#7c6af52e}.pe-row-ctrls--ghost .pe-ctrl-btn--drop{color:var(--c-text3);border-color:var(--c-text3)}.pe-row-ctrls--ghost .pe-ctrl-btn--drop:hover{color:#e0595a;background:#e0595a1a;border-color:#e0595a}.pe-cell--ghost-empty{pointer-events:none;background:#ffffff0a;border-radius:2px;height:100%}.pe-cell--ghost{z-index:1;pointer-events:auto;cursor:help;background:#bebed759;border:1px dashed #dcdcf08c;border-radius:2px;height:100%}.pe-cell--ghost.is-filled{background:#bebed780}.pe-cell--ghost:hover{background:#dcdcf599}.pe-stepper{background:var(--c-surface);border:1px solid var(--c-border);border-radius:4px;align-items:center;gap:4px;padding:3px 7px;display:flex}.pe-stepper__btn{border:1px solid var(--c-border2);width:22px;height:22px;color:var(--c-text2);cursor:pointer;background:0 0;border-radius:3px;font-size:12px;line-height:1;transition:background .1s,color .1s,border-color .1s}.pe-stepper__btn:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-accent);background:#7c6af526}.pe-stepper__btn:disabled{opacity:.3;cursor:not-allowed}.pe-stepper__val{font-size:13px;font-family:var(--font-mono,monospace);color:var(--c-text);text-align:center;min-width:14px;font-weight:600}.pe-stepper__unit{color:var(--c-text3);text-transform:lowercase;letter-spacing:.3px;font-size:10px}.pe-grid-toggle{background:var(--c-surface);border:1px solid var(--c-border);font-family:var(--font-mono,monospace);border-radius:4px;align-items:stretch;font-size:11px;font-weight:500;display:inline-flex;overflow:hidden}.pe-grid-toggle__btn{appearance:none;color:var(--c-text2);cursor:pointer;text-align:center;border:0;border-right:1px solid var(--c-border);background:0 0;min-width:32px;padding:4px 9px;transition:background .1s,color .1s}.pe-grid-toggle__btn:last-child{border-right:0}.pe-grid-toggle__btn:hover{color:var(--c-text);background:#ffffff0d}.pe-grid-toggle__btn.is-active{background:var(--c-accent);color:#fff}.pe-grid-toggle__btn.is-active:hover{filter:brightness(1.08)}.pe-brush-toggle{border:1px solid var(--c-border);background:var(--c-surface);width:28px;height:28px;color:var(--c-text2);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.pe-brush-toggle:hover{border-color:var(--c-accent);color:var(--c-text)}.pe-brush-toggle.is-active{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.pe-brush-toggle.is-active:hover{filter:brightness(1.08)}.pe-velocity-toggle{border:1px solid var(--c-border);background:var(--c-surface);width:28px;height:28px;color:var(--c-text2);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.pe-velocity-toggle:hover{border-color:var(--c-accent);color:var(--c-text)}.pe-velocity-toggle.is-active{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.pe-velocity-toggle.is-active:hover{filter:brightness(1.08)}.pattern-editor--velocity-layer .pe-cell.filled{cursor:ns-resize}.pattern-editor--select-mode .pe-cell{cursor:crosshair}.pattern-editor--select-mode .pe-cell:not(.filled):hover{background:#ffffff0a}.pattern-editor--select-mode .pe-cell.beat:not(.filled):hover{background:#ffffff14}.pattern-editor--select-mode .pe-cell__resize-edge{pointer-events:none;cursor:crosshair}.pattern-editor--select-mode .pe-cell.is-selected .pe-cell__resize-edge{pointer-events:auto;cursor:ew-resize}.pattern-editor{-webkit-user-select:none;user-select:none}.pattern-editor input,.pattern-editor textarea{-webkit-user-select:text;user-select:text}.pe-close{border:1px solid var(--c-border);width:28px;height:28px;color:var(--c-text2);cursor:pointer;background:0 0;border-radius:4px;font-size:16px;line-height:1;transition:background .1s,color .1s}.pe-close:hover{background:var(--c-surface);color:var(--c-text)}.pe-save-btn{border:1px solid var(--c-border);background:var(--c-surface);height:28px;color:var(--c-text2);cursor:pointer;white-space:nowrap;border-radius:4px;margin-right:auto;padding:0 10px;font-size:12px;transition:background .1s,color .1s,border-color .1s}.pe-save-btn:hover{border-color:var(--c-accent);color:var(--c-text)}.pe-save-btn.is-saved{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.pe-save-btn.is-error{color:#fff;background:#c0392b;border-color:#c0392b}.pe-reident{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:linear-gradient(90deg,#7c6af50f,#7c6af500);align-items:center;gap:10px;min-height:36px;margin-bottom:8px;padding:8px 12px;display:flex}.pe-reident__left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.pe-reident__name{color:var(--c-text);font-size:15px;font-weight:700;font-family:var(--font-mono,monospace);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:8px;display:inline-flex}.pe-reident__name.is-edited{color:#eed972}.pe-reident__badge{letter-spacing:0;border:1px solid;border-radius:10px;padding:1px 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:500}.pe-reident__badge--miss{color:#eed972;background:#eed97214;border-color:#eed97266}.pe-reident__badge--extra{color:var(--cl-tension);background:#d85a3014;border-color:#d85a3066}.pe-strand{letter-spacing:.04em;border:1px solid;border-radius:10px;align-items:center;gap:5px;padding:2px 7px 2px 6px;font-size:10px;font-weight:500;display:inline-flex}.pe-strand:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pe-strand--stable{color:var(--cl-stable);border-color:var(--cl-stable);background:var(--cl-stable-bg)}.pe-strand--tension{color:var(--cl-tension);border-color:var(--cl-tension);background:var(--cl-tension-bg)}.pe-strand--color{color:var(--cl-color);border-color:var(--cl-color);background:var(--cl-color-bg)}.pe-strand--momentum{color:var(--cl-momentum);border-color:var(--cl-momentum);background:var(--cl-momentum-bg)}.pe-strand--nonstr,.pe-strand--none{color:#8d8da0;background:#8d8da00d;border-color:#8d8da04d}.pe-mood{color:var(--c-text3);font-size:11px;font-style:italic}.pe-revert{color:var(--c-accent);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;background:#7c6af514;border:1px solid #7c6af54d;flex-shrink:0;padding:4px 10px 4px 8px;font-size:11px;transition:background .1s,border-color .1s,opacity .1s}.pe-revert:hover:not(:disabled){border-color:var(--c-accent);background:#7c6af533}.pe-revert:disabled{opacity:.35;cursor:not-allowed}.pe-resort-anchor{width:var(--pe-row-left-w,240px);z-index:25;pointer-events:none;justify-content:center;align-items:center;height:56px;display:flex;position:absolute;top:0;left:0}.pe-resort{pointer-events:auto;letter-spacing:.3px;color:#eed972;border-radius:var(--radius-sm);cursor:pointer;background:#eed9721a;border:1px solid #eed97273;padding:4px 14px;font-size:11px;font-weight:600;transition:background .1s,border-color .1s,transform 80ms;animation:1.6s ease-in-out 2 pe-resort-pulse}.pe-resort:hover{background:#eed97238;border-color:#eed972}.pe-resort:active{transform:translateY(1px)}@keyframes pe-resort-pulse{0%,to{box-shadow:0 0 #eed97200}50%{box-shadow:0 0 0 4px #eed97240}}.pe-body{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);align-items:stretch;gap:0;display:flex;overflow:hidden}.pe-rail{background:var(--c-surface2);flex-direction:column;flex-shrink:0;display:flex}.pe-rail--mods{border-left:1px solid var(--c-border);width:220px}.pe-rail__title{color:var(--c-text3);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--c-border);padding:8px 12px;font-size:10px}.pe-rail__body{flex:1;padding:8px 10px;overflow-y:auto}.pe-mod-section__label{color:var(--c-text3);text-transform:uppercase;letter-spacing:.5px;opacity:.75;padding:2px 4px 4px;font-size:9px}.pe-mod-section__label:not(:first-child){margin-top:8px}.pe-mod-chips{flex-direction:column;gap:4px;display:flex}.pe-mod-row{gap:4px;display:flex}.pe-mod-row .pe-mod-chip{flex:1 1 0;width:auto;min-width:0}.pe-mod-chip{text-align:center;border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text2);letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;padding:6px 10px;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;font-weight:600;transition:background .1s,border-color .1s,color .1s;display:block}.pe-mod-chip:hover:not(:disabled){background:var(--c-surface2);color:var(--c-text);border-color:var(--c-text3)}.pe-mod-chip.on{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af51f}.pe-mod-chip.on:hover:not(:disabled){background:#7c6af533}.pe-mod-chip:disabled,.pe-mod-chip.disabled{opacity:.35;cursor:not-allowed}.pe-tools-divider{background:var(--c-border);height:1px;margin:12px -10px 8px}.pe-tools{align-items:center;gap:4px;margin-top:6px;display:flex}.pe-tools__label{color:var(--c-text3);text-transform:uppercase;letter-spacing:.5px;margin-right:4px;font-size:10px}.pe-tool-btn{color:var(--c-text3);border:1px solid var(--c-border);background:var(--c-surface);cursor:pointer;border-radius:4px;flex:1 1 0;padding:5px 7px;font-size:10.5px;transition:color .1s,border-color .1s}.pe-tool-btn:hover:not(:disabled){color:var(--c-text2);border-color:var(--c-border2)}.pe-tool-btn:disabled{opacity:.35;cursor:not-allowed}.pe-voicing-btn{border:1px solid var(--c-border);background:var(--c-surface);height:28px;color:var(--c-text2);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:0 10px;font-size:12px;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.pe-voicing-btn:hover{border-color:var(--c-accent);color:var(--c-text)}.pe-voicing-corner{width:var(--pe-row-left-w,240px);pointer-events:none;z-index:25;flex-direction:row;align-items:center;gap:10px;height:58px;margin-bottom:-58px;padding-left:10px;display:flex;position:sticky;left:0}.pe-voicing-corner>*{pointer-events:auto}.pe-voicing-corner__label{color:var(--c-text3);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600;line-height:1}.pe-voicing-btn--prominent{color:var(--c-text);background:#7c6af51f;border-color:#7c6af573;justify-content:center;min-width:140px;font-weight:600}.pe-voicing-btn--prominent:hover{border-color:var(--c-accent);background:#7c6af538}.pe-voicing-btn--prominent[aria-expanded=true]{border-color:var(--c-accent);background:#7c6af547}.pe-all-controls{flex-wrap:nowrap;flex:auto;gap:3px;min-width:0;margin-right:8px;display:flex}.pe-all-btn{font-variant-numeric:tabular-nums;color:var(--c-text3);border:1px solid var(--c-border);background:var(--c-surface);cursor:pointer;border-radius:4px;min-width:28px;padding:3px 6px;font-size:10.5px;transition:color .1s,border-color .1s,background .1s}.pe-all-btn:hover:not(:disabled){color:var(--c-text2);border-color:var(--c-border2)}.pe-all-btn:disabled{opacity:.35;cursor:not-allowed}.pe-all-btn--resort{color:var(--c-accent);border-color:var(--c-accent)}.pe-all-btn--resort:hover:not(:disabled){color:var(--c-text);background:#7c6af52e}.pe-frozen-gutter{width:var(--pe-row-left-w,240px);background:var(--c-surface);z-index:15;pointer-events:none;position:sticky;left:0}.pe-grid-area{background:var(--c-surface);flex:1;min-width:0;padding:8px 10px 10px 0;position:relative;overflow-x:auto}.pattern-editor__playhead{pointer-events:none;z-index:10;background:#f0f0f0;border-radius:1px;width:2px;position:absolute;top:8px;bottom:10px;box-shadow:0 0 8px #f0f0f0bf,0 0 18px #7c6af58c}@keyframes pe-cell-ignite{0%{box-shadow:0 0 12px 1px rgba(var(--pe-cell-rgb,124, 106, 245), .55), 0 0 24px 2px rgba(var(--pe-cell-rgb,124, 106, 245), .22);transform:scale(1.08)}to{box-shadow:0 0 0 0 rgba(var(--pe-cell-rgb,124, 106, 245), 0);transform:scale(1)}}.pe-cell.filled.is-igniting{transform-origin:50%;animation:.18s ease-out pe-cell-ignite}.pe-row,.pe-ruler-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.pe-row:last-child,.pe-ruler-row:last-child{margin-bottom:0}.pe-ruler-row--beats{margin-bottom:12px}.pe-row-left{--pe-row-left-w:240px;width:var(--pe-row-left-w);z-index:20;background:var(--c-surface);flex-shrink:0;align-self:stretch;align-items:center;gap:6px;padding-left:10px;display:flex;position:sticky;left:0}.pe-grid-area.is-scrolled .pe-row-left{box-shadow:1px 0 0 var(--c-border), 6px 0 10px -4px #00000073}.pe-row-left--drum{padding-right:8px}.pe-row-left--drum .pe-drum-piece{width:100%;height:28px;color:var(--c-text2);font-size:12px;font-family:var(--font-mono,monospace);cursor:pointer;text-align:left;background:#ffffff0a;border:.5px solid #ffffff14;border-radius:4px;align-items:center;gap:8px;padding:0 10px;transition:background 80ms,color 80ms,border-color 80ms;display:flex}.pe-row-left--drum .pe-drum-piece:hover:not(:disabled){color:var(--c-text);background:#ffffff14;border-color:#ffffff29}.pe-row-left--drum .pe-drum-piece:active:not(:disabled){transform:translateY(1px)}.pe-row-left--drum .pe-drum-piece:disabled{opacity:.45;cursor:default}.pe-row-left--drum .pe-drum-piece__icon{text-align:center;width:14px;color:var(--c-text);font-size:14px;line-height:1}.pe-row-left--drum .pe-drum-piece__name{letter-spacing:.02em;flex:1}.pe-row-ctrls{align-items:center;gap:4px;display:flex}.pe-ctrl-pair{gap:1px;display:flex}.pe-ctrl-btn{width:22px;height:22px;font-size:11px;font-family:var(--font-mono,monospace);color:var(--c-text2);text-align:center;cursor:pointer;background:#ffffff0a;border:.5px solid #ffffff14;border-radius:3px;padding:0;line-height:1.2;transition:background 80ms,color 80ms,border-color 80ms}.pe-ctrl-btn:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-text);background:#7c6af533}.pe-ctrl-btn:disabled{opacity:.3;cursor:default}.pe-ctrl-btn--dup{width:auto;min-width:26px;padding:0 3px}.pe-role{color:rgb(var(--row-rgb,114 114 138));background:rgba(var(--row-rgb,114, 114, 138), .1);border:1px solid rgba(var(--row-rgb,114, 114, 138), .35);width:40px;min-width:0;font-size:13px;font-family:var(--font-mono,monospace);text-align:center;box-sizing:border-box;cursor:pointer;appearance:none;font-weight:inherit;border-radius:4px;flex:0 0 40px;padding:2px 4px;line-height:normal;transition:background .12s,border-color .12s,transform 60ms}.pe-role:hover:not(:disabled){background:rgba(var(--row-rgb,114, 114, 138), .22);border-color:rgba(var(--row-rgb,114, 114, 138), .65)}.pe-role:active:not(:disabled){transform:translateY(1px)}.pe-role:disabled{cursor:default;opacity:.55}.pe-role.is-extra{background:var(--c-off-chord-bg);border-style:dashed;border-color:#e6b04266}.pe-pitch-wrap{justify-content:center;align-items:center;gap:2px;width:76px;display:inline-flex}.pe-pitch{font-size:14px;font-weight:600;font-family:var(--font-mono,monospace);color:rgb(var(--row-rgb,240 240 240));letter-spacing:.3px;text-align:center;width:56px}.pe-pitch.is-muted{opacity:.5;text-decoration:line-through}.pe-semi{color:#eed972;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;width:14px;height:18px;padding:0;font-size:11px;transition:opacity .1s,color .1s,background .1s}.pe-row:hover .pe-semi:not(:disabled){opacity:1}.pe-semi:hover:not(:disabled){color:#fff;background:#eed9722e}.pe-semi:disabled{opacity:0;cursor:default}.pe-cells{grid-template-columns:repeat(var(--steps,32), 32px);z-index:0;flex-shrink:0;gap:2px;height:32px;display:grid;position:relative}.pe-ruler-cells{grid-template-columns:repeat(var(--steps,32), 32px);z-index:0;flex-shrink:0;gap:2px;display:grid;position:relative}.pe-cell{cursor:pointer;background:#ffffff0a;border:none;border-radius:2px;height:100%;padding:0;transition:background 80ms,box-shadow 80ms;position:relative}.pe-cell:hover{background:rgba(var(--pe-cluster-rgb,124, 106, 245), .25)}.pe-cell.beat{background:#ffffff14}.pe-cell.beat:hover{background:rgba(var(--pe-cluster-rgb,124, 106, 245), .3)}.pe-cell.bar-start{box-shadow:inset 1px 0 #ffffff2e}.pe-cell.chord-start{box-shadow:inset 2px 0 0 var(--pe-cluster,var(--c-accent))}.pe-cell.filled{background:var(--pe-cluster,var(--c-accent));cursor:pointer}.pe-cell.filled:hover{filter:brightness(1.15)}.pe-cell.filled.is-selected{outline-offset:-2px;z-index:1;outline:2px solid #fff}.pe-cell.is-column-hover{background:rgba(var(--pe-cluster-rgb,124, 106, 245), .25)}.pe-cell.beat.is-column-hover{background:rgba(var(--pe-cluster-rgb,124, 106, 245), .3)}.pe-cell.filled.is-column-hover{filter:brightness(1.15)}.pe-cell.filled.chord-start{box-shadow:inset 2px 0 #ffffffd9}.pe-cell.filled.pending{opacity:.6;outline-offset:-2px;outline:1px dashed #ffffff8c}.pe-cell.filled.fading{opacity:.22}.pe-cell.filled{position:relative}.pe-cell__resize-edge{cursor:ew-resize;pointer-events:auto;background:0 0;width:6px;position:absolute;top:0;bottom:0;right:0}.pe-cell.filled.pending .pe-cell__resize-edge{display:none}.pattern-editor--paintmode .pe-cell:not(.inactive):not(.off-grid){cursor:cell}.pattern-editor--paintmode .pe-cell__resize-edge{cursor:inherit;pointer-events:none}.pe-cell.inactive{cursor:not-allowed;background:0 0;border:1px dashed #ffffff1a}.pe-cell.inactive:hover{background:#ffffff0a}.pe-cell.off-grid{cursor:not-allowed;pointer-events:none;opacity:.4;background:#ffffff04;border:1px solid #ffffff0a}.pe-cell.off-grid:hover{background:#ffffff04}.pe-ruler-row{margin-bottom:2px}.pe-ruler-row--chords .pe-ruler-cells{height:22px}.pe-ruler-row--bars .pe-ruler-cells,.pe-ruler-row--beats .pe-ruler-cells{height:14px}.pe-bar-mark{height:100%;color:var(--c-text2);font-size:9.5px;font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.6px;border-left:2px solid #fff3;justify-content:flex-start;align-items:center;padding:0 6px;font-weight:700;display:flex}.pe-bar-mark.inactive{opacity:.35}.pe-chord-band{background:var(--cluster-bg,#7c6af51a);border:1px solid var(--cluster-color,#7c6af538);font-size:11px;font-weight:600;font-family:var(--font-mono,monospace);color:var(--c-text2);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;height:100%;padding:0 6px;transition:background .1s,border-color .1s,color .1s,box-shadow .1s;display:flex;overflow:hidden}.pe-chord-band:hover:not(.is-active){color:var(--cluster-color,var(--c-accent));filter:brightness(1.35)}.pe-chord-band.is-active{background:var(--cluster-color,var(--c-accent));color:#fff;border-color:var(--cluster-color,var(--c-accent));box-shadow:0 0 0 1px var(--cluster-color,var(--c-accent)) inset}.pe-chord-band--inactive{color:var(--c-text3);cursor:default;background:0 0;border:1px dashed #ffffff14}.pe-chord-band{position:relative}.pe-chord-band__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pe-chord-band__split{width:18px;height:18px;color:inherit;opacity:0;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:opacity .1s,background .1s,border-color .1s;display:inline-flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.pe-chord-band:hover .pe-chord-band__split{opacity:.7}.pe-chord-band__split:hover{background:#ffffff1a;border-color:#fff3;opacity:1!important}.pe-chord-band.is-active .pe-chord-band__split:hover{background:#00000026}.pe-row.pe-row--beyond{opacity:.32;pointer-events:none;filter:saturate(.5)}.pe-beat-mark{height:100%;font-family:var(--font-mono,monospace);color:var(--c-text3);justify-content:flex-start;align-items:center;padding-left:4px;font-size:10px;display:flex}.pe-beat-mark.bar{color:var(--c-text2);border-left:2px solid #ffffff2e}.pe-beat-mark.inactive{opacity:.35}.pe-row--articulations{border-top:1px dashed var(--c-border);margin-top:6px;padding-top:6px}.pe-strum-label{color:var(--c-text3);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-family:var(--font-mono,monospace);text-align:center;width:76px;margin-left:auto}.pe-cells--strum{height:38px}.pe-strum-cell{flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;display:flex}.pe-strum-cell.inactive{opacity:.35;pointer-events:none}.pe-strum-cell--empty{opacity:0;pointer-events:none}.pe-strum-arrow{cursor:ns-resize;border:none;width:14px;height:14px;padding:0;transition:filter .1s;position:relative}.pe-strum-arrow:hover{filter:brightness(1.4)}.pe-strum-arrow--up{clip-path:polygon(50% 0%,100% 100%,0% 100%);background:linear-gradient(to top, var(--c-accent) calc(var(--fill,0) * 100%), #ffffff1a calc(var(--fill,0) * 100%))}.pe-strum-arrow--down{clip-path:polygon(0% 0%,100% 0%,50% 100%);background:linear-gradient(to bottom, var(--c-accent) calc(var(--fill,0) * 100%), #ffffff1a calc(var(--fill,0) * 100%))}.pe-row{transition:opacity .15s}.pe-row.muted{opacity:.45}.pe-ctxmenu{z-index:50;background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:4px;min-width:140px;padding:4px 0;position:absolute;box-shadow:0 4px 14px #00000059}.pe-ctxmenu__item{text-align:left;width:100%;color:var(--c-text);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:12px;display:block}.pe-ctxmenu__item:hover{background:#7c6af52e}.pe-ctxmenu__item--danger{color:var(--cl-tension)}.pe-ctxmenu__item--danger:hover{background:#d85a302e}.pe-footer{color:var(--c-text3);text-align:right;margin-top:8px;font-size:11px;font-style:italic}.pe-footer__hint{opacity:.8}.start-modal{justify-content:center;align-items:center;padding:32px 16px;display:flex}.start-modal__inner{width:100%;max-width:380px}.start-modal__title{color:var(--c-text);margin-bottom:4px;font-size:17px;font-weight:500}.start-modal__key-section{margin-bottom:20px}.start-modal__key-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.start-modal__roots{flex-wrap:wrap;flex:1;gap:4px;display:flex}.sm-root{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);min-width:32px;padding:5px 6px;font-size:11px;font-weight:500;transition:border-color .1s,color .1s,background .1s}.sm-root:hover{border-color:var(--c-border2);color:var(--c-text)}.sm-root.active{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af526}.start-modal__mode-toggle{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.sm-mode{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);padding:5px 10px;font-size:11px;font-weight:500;transition:border-color .1s,color .1s,background .1s}.sm-mode:hover{border-color:var(--c-border2);color:var(--c-text)}.sm-mode.active{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af526}.start-modal__sub{color:var(--c-text2);font-size:12px}.start-modal__grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px;display:grid}.start-chord-btn{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);flex-direction:column;align-items:center;gap:4px;padding:10px 8px;transition:border-color .12s,background .12s;display:flex}.start-chord-btn:hover{border-color:var(--c-border2)}.start-chord-btn.selected{border-color:var(--c-accent);background:#7c6af51f}.scb__roman{color:var(--c-text3);text-transform:uppercase;font-size:10px}.scb__chord{color:var(--c-text);font-size:14px;font-weight:500}.start-modal__actions{min-height:36px}.start-modal__confirm{border-radius:var(--radius-sm);border:1px solid var(--c-accent2);background:var(--c-accent2);color:#fff;padding:8px 20px;font-size:13px;font-weight:500;transition:background .1s}.start-modal__confirm:hover{background:var(--c-accent)}.start-modal__quality-toggle{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.qual-btn{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);text-align:left;flex-direction:column;gap:3px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.qual-btn:hover{border-color:var(--c-border2)}.qual-btn.active{border-color:var(--c-accent);background:#7c6af51f}.qual-btn__name{color:var(--c-text);font-size:13px;font-weight:500}.qual-btn__desc{color:var(--c-text3);font-size:11px}.daw-toggle{align-items:center;gap:4px;display:inline-flex}.daw-toggle__btn{border:1px solid var(--c-border);background:var(--c-surface);height:28px;color:var(--c-text);letter-spacing:.02em;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.daw-toggle__btn:hover:not(:disabled){border-color:var(--c-border2);background:var(--c-surface2)}.daw-toggle__btn:disabled{opacity:.4;cursor:not-allowed}.daw-toggle__btn--connected{border-color:color-mix(in srgb, var(--cl-stable) 60%, transparent);background:color-mix(in srgb, var(--cl-stable) 12%, var(--c-surface))}.daw-toggle__btn--connecting{border-color:color-mix(in srgb, var(--cl-tension) 60%, transparent)}.daw-toggle__btn--error{border-color:color-mix(in srgb, var(--cl-remote) 60%, transparent)}.daw-toggle__label{letter-spacing:.08em;color:var(--c-text2);font-family:SF Mono,Fira Code,monospace;font-size:11px}.daw-toggle__pill{background:var(--c-bg);height:18px;color:var(--c-text3);border-radius:9px;align-items:center;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.daw-toggle__pill--connected{background:color-mix(in srgb, var(--cl-stable) 22%, var(--c-bg));color:color-mix(in srgb, var(--cl-stable) 80%, var(--c-text))}.daw-toggle__pill--connecting{background:color-mix(in srgb, var(--cl-tension) 22%, var(--c-bg));color:color-mix(in srgb, var(--cl-tension) 80%, var(--c-text))}.daw-toggle__pill--error{background:color-mix(in srgb, var(--cl-remote) 22%, var(--c-bg));color:color-mix(in srgb, var(--cl-remote) 80%, var(--c-text))}.daw-toggle__help{border:1px solid var(--c-border);background:var(--c-surface);width:18px;height:18px;color:var(--c-text2);cursor:pointer;border-radius:50%;padding:0;font-size:11px;line-height:1}.daw-toggle__help:hover{border-color:var(--c-border2);color:var(--c-text)}.daw-setup__backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.daw-setup__panel{background:var(--c-surface);border:1px solid var(--c-border2);width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);color:var(--c-text);border-radius:14px;padding:24px 28px 20px;overflow-y:auto;box-shadow:0 8px 28px #0000008c}.daw-setup__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.daw-setup__header h2{margin:0;font-size:18px;font-weight:500}.daw-setup__close{width:28px;height:28px;color:var(--c-text2);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:22px;line-height:1}.daw-setup__close:hover{background:var(--c-surface2);color:var(--c-text)}.daw-setup__error{background:color-mix(in srgb, var(--cl-remote) 14%, var(--c-bg));border:1px solid color-mix(in srgb, var(--cl-remote) 40%, transparent);color:var(--c-text);border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:13px}.daw-setup__steps{margin:0;padding-left:24px;line-height:1.55}.daw-setup__steps>li{margin-bottom:14px;font-size:14px}.daw-setup__steps strong{font-weight:500}.daw-setup__step-body{color:var(--c-text2);margin-top:4px;font-size:13px}.daw-setup__steps code{background:var(--c-bg);border:1px solid var(--c-border);color:var(--c-text);border-radius:4px;padding:1px 5px;font-family:SF Mono,Fira Code,monospace;font-size:12px}.daw-setup__footer{border-top:1px solid var(--c-border);color:var(--c-text3);flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding-top:12px;font-size:12px;display:flex}.daw-setup__link{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px;transition:border-color .12s,background .12s}.daw-setup__link:hover{border-color:var(--c-border2);background:var(--c-surface2)}.cm-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:fixed;inset:0}.cm-card{background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:var(--radius-md);width:calc(100% - 40px);max-width:420px;color:var(--c-text);padding:18px 20px 14px;box-shadow:0 12px 40px #00000080}.cm-title{color:var(--c-text);margin-bottom:8px;font-size:14px;font-weight:600}.cm-body{color:var(--c-text2);margin-bottom:16px;font-size:12px;line-height:1.5}.cm-actions{justify-content:flex-end;gap:8px;display:flex}.cm-btn{border:1px solid var(--c-border2);background:var(--c-surface);color:var(--c-text2);border-radius:5px;padding:6px 14px;font-size:12px;transition:background .1s,color .1s,border-color .1s}.cm-btn:hover{color:var(--c-text);border-color:var(--c-text3)}.cm-btn--primary{background:var(--c-accent);border-color:var(--c-accent2);color:#fff}.cm-btn--primary:hover{background:var(--c-accent2);border-color:var(--c-accent);color:#fff}.tpe-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.tpe-card{background:var(--c-surface);border:1px solid var(--c-border2);border-radius:var(--radius-lg);flex-direction:column;width:min(900px,100vw - 48px);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000080}.tpe-header{border-bottom:1px solid var(--c-border);background:var(--c-surface2);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;font-size:13px;display:flex}.tpe-badge{background:var(--c-accent);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-family:SF Mono,monospace;font-size:13px;font-weight:600;display:inline-flex}.tpe-label{color:var(--c-text);font-weight:500}.tpe-help{color:var(--c-text2);font-size:12px}.tpe-help kbd{background:var(--c-surface);border:1px solid var(--c-border2);color:var(--c-text);border-radius:3px;padding:1px 6px;font-family:SF Mono,monospace;font-size:11px}.tpe-target{color:var(--c-text2);align-items:baseline;gap:8px;margin-left:auto;font-size:12px;display:flex}.tpe-target__name{color:var(--c-text);font-weight:500}.tpe-target__key{color:var(--c-text3);font-family:SF Mono,monospace;font-size:11px}.tpe-input{background:var(--c-surface);width:100%;color:var(--c-text);border:none;border-bottom:1px solid var(--c-border);resize:none;outline:none;min-height:60px;max-height:180px;padding:16px 18px;font-family:SF Mono,monospace;font-size:18px;line-height:1.4;overflow-y:auto}.tpe-input::placeholder{color:var(--c-text3);white-space:pre-line;font-size:13px;line-height:1.4}.tpe-input:focus{background:var(--c-bg)}.tpe-preview{background:var(--c-surface);flex-direction:column;flex:auto;align-items:stretch;gap:12px;min-height:84px;padding:16px 18px;display:flex;overflow-y:auto}.tpe-preview__hint{color:var(--c-text3);font-size:13px;font-style:italic}.tpe-preview-section{flex-direction:column;gap:6px;display:flex}.tpe-preview-section__label{letter-spacing:.06em;text-transform:uppercase;color:var(--c-text2);border-bottom:1px solid var(--c-border);padding-bottom:2px;font-size:11px;font-weight:600}.tpe-preview-section--named .tpe-preview-section__label{color:var(--cl-stable);border-bottom-color:var(--cl-stable)}.tpe-preview-section__pills{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.tpe-pill{border-radius:var(--radius-md);border:1px solid var(--c-border2);background:var(--c-surface2);text-align:left;min-width:78px;font:inherit;color:inherit;flex-direction:column;gap:2px;padding:8px 12px 12px;transition:transform 80ms,box-shadow .12s,border-color .12s;display:flex;position:relative}.tpe-pill--actionable{cursor:pointer}.tpe-pill--actionable:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000059}.tpe-pill--actionable:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.tpe-pill__name{color:var(--c-text);justify-content:space-between;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.tpe-pill__glyph{font-family:SF Mono,monospace;font-size:10px}.tpe-pill__glyph--ok{color:var(--cl-stable)}.tpe-pill__glyph--warn,.tpe-pill__glyph--err{color:var(--cl-tension)}.tpe-pill__glyph--rest{color:var(--c-text3)}.tpe-pill__sub{color:var(--c-text2);letter-spacing:.01em;font-size:11px}.tpe-pill__accent{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);height:3px;position:absolute;bottom:0;left:0;right:0}.tpe-pill__roman{color:var(--c-accent);border-bottom:1px dotted var(--c-accent2);padding-bottom:1px;font-family:SF Mono,monospace;font-size:11px;display:inline-block}.tpe-pill__alt-link{color:var(--c-accent);border-bottom:1px dashed var(--c-accent2);padding-bottom:1px;font-weight:500}.tpe-pill--actionable:hover .tpe-pill__alt-link{border-bottom-style:solid}.tpe-pill--unknown{background:0 0;border-style:dashed}.tpe-pill--unknown .tpe-pill__name{color:var(--c-text3);font-family:SF Mono,monospace;font-size:13px}.tpe-pill--rest{opacity:.6;background:0 0;border-style:dashed;min-width:36px}.tpe-pill--rest .tpe-pill__name{color:var(--c-text3);justify-content:center}.tpe-pill--rest .tpe-pill__accent{display:none}.tpe-pill--ambig{border-color:var(--cl-tension)}.tpe-pill--typo{border-color:var(--cl-tension);background:0 0;border-style:dashed}.tpe-pill--typo .tpe-pill__name{color:var(--c-text2);font-family:SF Mono,monospace;font-size:13px}.tpe-footer{border-top:1px solid var(--c-border);background:var(--c-surface2);align-items:center;gap:12px;padding:12px 18px;display:flex}.tpe-stats{color:var(--c-text2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.tpe-actions{gap:8px;display:flex}.tpe-btn{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border2);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-size:13px;transition:background 80ms,border-color 80ms}.tpe-btn:hover{background:var(--c-surface2);border-color:var(--c-text3)}.tpe-btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:#fff;font-weight:500}.tpe-btn--primary:hover{background:var(--c-accent2);border-color:var(--c-accent2)}.tpe-btn--primary:disabled{background:var(--c-surface2);border-color:var(--c-border);color:var(--c-text3);cursor:not-allowed}.knob{cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;display:block}.knob:active{cursor:grabbing}.knob__bg{fill:#ffffff0f;stroke:#fff6;stroke-width:1.5px;transition:stroke .12s,fill .12s}.knob:hover .knob__bg{stroke:var(--c-accent);fill:#7c6af51f}.knob__indicator{stroke:var(--c-accent);stroke-width:2px;stroke-linecap:round;transition:stroke .12s}.knob--unset .knob__indicator{stroke:var(--c-text3)}.knob--unset:hover .knob__indicator{stroke:var(--c-accent)}.knob--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.synth-panel{align-items:center;gap:10px;display:flex}.synth-panel--stacked{flex-direction:column;align-items:stretch;gap:8px}.synth-panel--stacked .synth-panel__group{padding:6px 10px 8px}.synth-panel__group{border-radius:var(--radius-sm);border:1px solid #ffffff14;flex-direction:column;align-items:stretch;padding:5px 12px 6px;display:flex}.synth-panel__group-label{letter-spacing:.08em;color:var(--c-text2);text-transform:uppercase;-webkit-user-select:none;user-select:none;pointer-events:none;text-align:left;margin-bottom:4px;font-size:9px}.synth-panel__group-row{flex-wrap:wrap;align-items:center;gap:16px 14px;display:flex}.synth-panel__macro{flex-direction:row;align-items:center;gap:5px;min-width:0;display:flex}.synth-panel__label{order:-1}.synth-panel__macro{position:relative}.synth-panel__value,.synth-panel__value-input{color:var(--c-text);background:var(--c-surface2);border:1px solid var(--c-border2);text-align:center;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;opacity:0;z-index:10;border-radius:3px;min-width:88px;padding:1px 6px;font-size:10px;transition:opacity 80ms;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.synth-panel__macro:hover .synth-panel__value,.synth-panel__macro.is-dragging .synth-panel__value,.synth-panel__macro .synth-panel__value-input{opacity:1;pointer-events:auto}.synth-panel--disabled .synth-panel__value,.synth-panel--disabled .synth-panel__value-input{pointer-events:none;opacity:0!important}.synth-panel__beat{color:#ffffff52;margin-left:2px;font-weight:400;transition:color 80ms}.synth-panel__beat.is-match{color:var(--c-text)}.synth-panel__value{color:var(--c-text2);cursor:text;text-align:center;-webkit-user-select:none;user-select:none;border-radius:3px;min-width:26px;padding:1px 5px;font-size:10px;transition:background .1s,color .1s}.synth-panel__value:hover{color:var(--c-text);background:#ffffff0f}.synth-panel--disabled{cursor:not-allowed}.synth-panel__value--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.synth-panel__value-input{color:var(--c-text);border:1px solid var(--c-accent);text-align:center;-moz-appearance:textfield;background:#7c6af51a;border-radius:3px;outline:none;width:36px;padding:0 4px;font-family:inherit;font-size:10px}.synth-panel__value-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.synth-panel__value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.synth-panel__label{letter-spacing:.06em;color:var(--c-text3);text-transform:uppercase;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:9px}.tracks{flex-direction:column;gap:10px;height:100%;display:flex;position:relative}.tracks__empty{color:var(--c-text3);text-align:center;padding:32px 12px;font-size:12px;font-style:italic}.tracks__empty-sub{opacity:.75;margin-top:6px;font-size:11px;font-style:normal;display:block}.tracks__list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.tracks__row{background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:4px;flex-direction:column;gap:6px;padding:7px 10px;transition:background .1s,border-color .1s,opacity .15s;display:flex}.tracks__row:hover{background:var(--c-surface2);border-color:var(--c-border2)}.tracks__row.is-active{border-color:var(--c-accent);background:#7c6af51a}.tracks__row.is-muted{opacity:.5}.tracks__row.is-soloed{box-shadow:inset 0 0 0 1px #eed972}.tracks__row-main{align-items:center;gap:8px;display:flex}.tracks__row-mixer{align-items:center;gap:6px;padding-left:22px;display:flex}.tracks__swatch{border-radius:3px;flex-shrink:0;width:14px;height:14px}.tracks__name-col{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tracks__name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.tracks__inst{color:var(--c-text3);font-size:10px;font-family:var(--font-mono,monospace)}.tracks__name-input{color:var(--c-text);border:1px solid var(--c-accent);background:#7c6af51a;border-radius:3px;outline:none;width:100%;min-width:0;margin:-1px 0;padding:1px 4px;font-family:inherit;font-size:12.5px;font-weight:600}.tracks__inst-select{color:var(--c-text);border:1px solid var(--c-accent);cursor:pointer;background:#7c6af51a;border-radius:3px;outline:none;align-self:flex-start;width:auto;max-width:100%;margin:0;padding:1px 2px;font-family:inherit;font-size:10.5px}.tracks__btn{width:22px;height:22px;font-size:10.5px;font-weight:700;font-family:var(--font-mono,monospace);color:var(--c-text3);background:var(--c-surface2);border:1px solid var(--c-border);cursor:pointer;border-radius:3px;transition:background .1s,color .1s,border-color .1s}.tracks__btn:hover{color:var(--c-text);border-color:var(--c-border2)}.tracks__btn.on{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af526}.tracks__btn--solo.on{color:#eed972;background:#eed97226;border-color:#eed97266}.tracks__btn--settings{width:22px;height:22px;color:var(--c-text3);cursor:pointer;background:0 0;border:none;padding:0;font-size:17px;line-height:1;transition:color .1s,transform .1s}.tracks__btn--settings:hover{color:var(--c-text)}.tracks__btn--settings.on{color:var(--c-accent)}.tracks__settings{border-top:1px dashed var(--c-border2);background:var(--c-surface);border-radius:0 0 4px 4px;flex-direction:column;gap:10px;margin:6px -10px -7px;padding:10px;display:flex}.tracks__settings-row{align-items:center;gap:8px;display:flex;position:relative}.tracks__settings-label{letter-spacing:.08em;text-transform:uppercase;color:var(--c-text3);-webkit-user-select:none;user-select:none;min-width:62px;font-size:9px}.tracks__settings-btn{color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;text-align:left;border-radius:3px;flex:1;padding:4px 8px;font-family:inherit;font-size:11.5px;transition:background .1s,border-color .1s}.tracks__settings-btn:hover{background:var(--c-surface2);border-color:var(--c-border2)}.tracks__settings-btn.active{border-color:var(--c-accent);background:#7c6af51f}.tracks__settings-instrument{color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:3px;flex:1;padding:3px 4px;font-family:inherit;font-size:11.5px}.tracks__oct{align-items:center;gap:4px;display:flex}.tracks__oct-btn{width:22px;height:22px;font-size:13px;font-weight:700;font-family:var(--font-mono,monospace);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:3px;line-height:1;transition:background .1s,border-color .1s,opacity .1s}.tracks__oct-btn:hover:not(:disabled){background:var(--c-surface2);border-color:var(--c-border2)}.tracks__oct-btn:disabled{opacity:.3;cursor:default}.tracks__oct-value{text-align:center;min-width:56px;color:var(--c-text);-webkit-user-select:none;user-select:none;cursor:default;font-size:11px}.tracks__oct-value.is-active{color:var(--c-accent)}.tracks__add{color:var(--c-accent);cursor:pointer;background:#7c6af51f;border:1px dashed #7c6af566;border-radius:4px;flex-shrink:0;padding:8px 10px;font-size:12px;font-weight:600;transition:background .1s,border-style .1s}.tracks__add:hover{background:#7c6af538;border-style:solid}.tracks__picker{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:4px;flex-direction:column;flex-shrink:0;gap:3px;padding:8px;display:flex}.tracks__picker-title{color:var(--c-text3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:10px}.tracks__picker-row{color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);text-align:left;cursor:pointer;border-radius:3px;padding:6px 10px;font-size:12px;transition:background .1s}.tracks__picker-row:hover{background:#7c6af526}.tracks__picker-cancel{color:var(--c-text3);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:4px 8px;font-size:11px}.tracks__picker-cancel:hover{color:var(--c-text)}.tracks__vol{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:60px;height:14px;margin:0;padding:0}.tracks__vol::-webkit-slider-runnable-track{background:var(--c-border2);border-radius:2px;height:3px}.tracks__vol::-webkit-slider-thumb{appearance:none;background:var(--c-accent);cursor:grab;border:1px solid #0000004d;border-radius:50%;width:12px;height:12px;margin-top:-4.5px}.tracks__vol::-webkit-slider-thumb:active{cursor:grabbing}.tracks__vol::-moz-range-track{background:var(--c-border2);border-radius:2px;height:3px}.tracks__vol::-moz-range-thumb{background:var(--c-accent);cursor:grab;border:1px solid #0000004d;border-radius:50%;width:12px;height:12px}.tracks__vol-label,.tracks__pan-label{color:var(--c-text3);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:9px}.tracks__vol-label{text-align:right;min-width:46px}.tracks__pan-label{text-align:left;min-width:26px}.tracks__ctx{z-index:200;background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:4px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 4px 14px #0006}.tracks__ctx-item{text-align:left;width:100%;color:var(--c-text);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:12px;display:block}.tracks__ctx-item:hover{background:#7c6af52e}.tracks__ctx-item--danger{color:var(--cl-tension)}.tracks__ctx-item--danger:hover{background:#d85a302e}.midi-export-btn{color:inherit;letter-spacing:.4px;text-transform:uppercase;cursor:grab;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:3px;align-items:center;gap:4px;padding:3px 7px;font-family:inherit;font-size:10px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.midi-export-btn:hover{background:#ffffff24;border-color:#ffffff57}.midi-export-btn:active{cursor:grabbing;background:#fff3}.midi-export-btn:focus-visible{outline-offset:1px;outline:2px solid}.midi-export-btn svg{opacity:.85;flex-shrink:0}.midi-export-btn--sm{gap:3px;padding:2px 5px;font-size:9px}.midi-export-btn--md{padding:4px 8px;font-size:10px}.midi-export-btn--lg{padding:6px 10px;font-size:11px}.midi-export-btn--xs{padding:2px 4px}.midi-export-btn--xs .midi-export-btn__label{display:none}.arrangement{border-top:1px solid var(--c-border);background:var(--c-bg);padding:14px 16px}.arrangement__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.arrangement__actions{align-items:center;gap:8px;display:flex}.arrangement__export{border-color:var(--c-border2);color:var(--c-text2)}.arrangement__export:hover{color:var(--c-text);border-color:var(--c-text3)}.arrangement__title{text-transform:uppercase;letter-spacing:.08em;color:var(--c-text3);font-size:11px;font-weight:600}.arrangement__play{border-radius:var(--radius-sm);border:1px solid var(--c-border2);color:var(--c-text2);align-items:center;gap:6px;padding:5px 13px;font-size:12px;transition:background .1s,color .1s,border-color .1s;display:flex}.arrangement__play:hover{background:var(--c-surface);color:var(--c-text)}.arrangement__play.playing{border-color:var(--cl-tension);color:var(--cl-tension)}.stop-icon{font-size:9px}.arrangement__blocks{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.arr-block-wrap{align-items:center;gap:6px;display:flex}.arr-block{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);cursor:pointer;min-width:70px;padding:5px 48px 5px 11px;transition:border-color .12s,background .12s;position:relative}.arr-block:hover{border-color:var(--c-border2)}.arr-block.active{border-color:var(--block-color);background:color-mix(in srgb, var(--block-color) 12%, transparent)}.arr-block__label{text-transform:uppercase;letter-spacing:.07em;color:var(--block-color);font-size:10px;font-weight:600;display:block}.arr-block__name{color:var(--c-text2);font-size:11px;display:block}.arr-block__actions{align-items:center;gap:3px;display:flex;position:absolute;top:3px;right:4px}.arr-block__export{opacity:.55;color:var(--block-color);background:0 0;border-color:#0000;transition:opacity .1s,background .1s}.arr-block__export:hover{background:#ffffff1a}.arr-block:hover .arr-block__export{opacity:1}.arr-block__remove{color:var(--c-text3);opacity:0;padding:0 3px;font-size:13px;line-height:1;transition:opacity .1s,color .1s;position:static}.arr-block:hover .arr-block__remove{opacity:1}.arr-block__remove:hover{color:var(--cl-tension)}.arr-arrow{color:var(--c-text3);font-size:12px}.arr-add-menu{gap:5px;margin-left:4px;display:flex}.arr-add-btn{color:var(--btn-color,var(--c-text3));border-radius:var(--radius-sm);opacity:.6;border:1px dashed;padding:4px 9px;font-size:11px;transition:opacity .1s}.arr-add-btn:hover{opacity:1}.arr-block.playing{border-color:var(--c-accent)!important;background:#7c6af526!important}.patdrawer{flex-direction:column;height:100%;display:flex;position:relative}.patdrawer__list{flex-direction:column;flex:1;gap:6px;padding:4px;display:flex;overflow-y:auto}.patdrawer__empty{text-align:center;color:var(--c-text2);padding:24px 12px;font-size:12px;line-height:1.6}.patdrawer__empty-sub{opacity:.75;font-size:11px}.patdrawer__pill{border:1px solid var(--c-border);background:var(--c-surface);border-radius:6px;align-items:center;gap:8px;padding:7px 8px;transition:border-color .1s,background .1s;display:flex}.patdrawer__pill:hover{border-color:var(--c-accent)}.patdrawer__pill-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.patdrawer__name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.patdrawer__meta{color:var(--c-text2);font-size:10px}.patdrawer__btn{border:1px solid var(--c-border);background:var(--c-surface);width:24px;height:24px;color:var(--c-text2);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.patdrawer__btn:hover{border-color:var(--c-accent);color:var(--c-text)}.patdrawer__btn--add{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.patdrawer__btn--add:hover{filter:brightness(1.08);color:#fff}.patdrawer__ctx{z-index:1000;background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;min-width:120px;padding:4px;position:fixed;box-shadow:0 4px 16px #00000040}.patdrawer__ctx-item{text-align:left;width:100%;color:var(--c-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:12px;display:block}.patdrawer__ctx-item:hover{background:var(--c-border)}.patdrawer__ctx-item--danger{color:#ff6b6b}.patdrawer__ctx-note{color:var(--c-text2);padding:6px 10px;font-size:11px;font-style:italic;display:block}.patdrawer__error{color:#ff6b6b;background:#c0392b1f;border:1px solid #c0392b66;border-radius:4px;margin:4px;padding:6px 8px;font-size:11px;line-height:1.4}.favorites{flex-direction:column;gap:10px;height:100%;display:flex;position:relative}.favorites__tabs{border-bottom:1px solid var(--c-border);gap:4px;padding-bottom:6px;display:flex}.favorites__tab{color:var(--c-text3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:6px 10px;font-size:11.5px;transition:background .1s,color .1s,border-color .1s}.favorites__tab:hover{color:var(--c-text);background:#ffffff0a}.favorites__tab.is-active{color:var(--c-accent);background:#7c6af51a;border-color:#7c6af54d}.favorites__list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.favorites__empty{color:var(--c-text3);text-align:center;padding:32px 12px;font-size:12px;font-style:italic}.favorites__empty-sub{opacity:.75;margin-top:6px;font-size:11px;font-style:normal;display:block}.favorites__row{background:var(--c-surface);border:1px solid var(--c-border);text-align:left;border-radius:4px;flex-direction:column;align-items:stretch;gap:3px;padding:8px 10px;transition:background .1s,border-color .1s;display:flex}.favorites__row:hover{background:var(--c-surface2);border-color:var(--c-border2)}.favorites__row--pattern{cursor:default}.favorites__row-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.favorites__name{color:var(--c-text);font-size:12px;font-weight:600}.favorites__preview{font-size:11px;font-family:var(--font-mono,monospace);color:var(--c-text2);letter-spacing:.2px}.favorites__insert{gap:6px;margin-top:4px;display:flex}.favorites__insert-btn{color:var(--c-text2);background:var(--c-surface2);border:1px solid var(--c-border);cursor:pointer;border-radius:4px;flex:1;padding:5px 8px;font-size:11px;font-weight:600;transition:background .1s,color .1s,border-color .1s}.favorites__insert-btn:hover{color:var(--c-accent);background:#7c6af529;border-color:#7c6af566}.favorites__insert-btn:disabled{opacity:.4;cursor:not-allowed}.favorites__insert-btn:disabled:hover{background:var(--c-surface2);color:var(--c-text2);border-color:var(--c-border)}.favorites__save{background:var(--c-surface2);border:1px dashed var(--c-border);border-radius:4px;flex-direction:column;flex-shrink:0;gap:6px;padding:8px 10px;display:flex}.favorites__input{color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:4px;outline:none;padding:6px 8px;font-size:12px}.favorites__input:focus{border-color:var(--c-accent)}.favorites__save-btn{color:var(--c-accent);cursor:pointer;background:#7c6af51f;border:1px solid #7c6af566;border-radius:4px;padding:7px 10px;font-size:12px;font-weight:600;transition:background .1s}.favorites__save-btn:hover{background:#7c6af538}.favorites__ctx{z-index:200;background:var(--c-surface2);border:1px solid var(--c-border2);border-radius:4px;min-width:160px;padding:4px 0;position:fixed;box-shadow:0 4px 14px #0006}.favorites__ctx-item{text-align:left;width:100%;color:var(--c-text);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:12px;display:block}.favorites__ctx-item:hover{background:#7c6af52e}.favorites__ctx-item--danger{color:var(--cl-tension)}.favorites__ctx-item--danger:hover{background:#d85a302e}.favorites__ctx-note{color:var(--c-text3);padding:6px 12px;font-size:11px;font-style:italic;display:block}.favorites__error{color:var(--cl-tension);background:#d85a301a;border:1px solid #d85a3066;border-radius:4px;flex-shrink:0;padding:6px 8px;font-size:11px;line-height:1.4}.favorites__save-head{color:var(--c-text);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.favorites__pending-preview{font-size:11px;font-family:var(--font-mono,monospace);color:var(--c-accent);letter-spacing:.2px}.favorites__save-row{gap:6px;display:flex}.favorites__save-row .favorites__save-btn{flex:1}.favorites__cancel-btn{color:var(--c-text2);border:1px solid var(--c-border);cursor:pointer;background:0 0;border-radius:4px;padding:7px 10px;font-size:12px;transition:background .1s,color .1s}.favorites__cancel-btn:hover{background:var(--c-surface);color:var(--c-text)}.favorites__save-hint{color:var(--c-text3);text-align:center;border:1px dashed var(--c-border);border-radius:4px;flex-shrink:0;padding:10px 12px;font-size:11px;font-style:italic;line-height:1.5}.macro-shell{background:var(--c-surface2);border-left:1px solid var(--c-border);flex-direction:row;flex-shrink:0;height:100%;display:flex}.macro-shell__drawer{width:var(--drawer-w,600px);background:var(--c-surface);flex-direction:column;transition:width .22s cubic-bezier(.2,.7,.2,1);display:flex;position:relative;overflow:hidden}.macro-shell__surface{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.macro-shell__surface-head{border-bottom:1px solid var(--c-border);background:var(--c-surface2);flex-shrink:0;padding:10px 14px}.macro-shell__surface-title{color:var(--c-text2);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.macro-shell__surface-body{flex:1;padding:12px;overflow-y:auto}.macro-shell__rail{background:var(--c-surface2);border-left:1px solid var(--c-border);flex-direction:column;flex-shrink:0;align-items:stretch;gap:4px;width:60px;padding:8px 0;display:flex}.macro-shell__rail-btn{color:var(--c-text3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;margin:0 3px;padding:8px 2px;transition:background .12s,color .12s,border-color .12s;display:flex;overflow:hidden}.macro-shell__rail-btn:hover{color:var(--c-text);background:#ffffff0a}.macro-shell__rail-btn.is-active{color:var(--c-accent);background:#7c6af524;border-color:#7c6af552}.macro-shell__rail-icon{font-size:16px;line-height:1}.macro-shell__rail-label{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:8.5px;font-weight:600;overflow:hidden}.pd-panel{z-index:900;background:var(--c-surface);border:1px solid var(--c-border2);border-radius:10px;flex-direction:column;max-width:calc(100vw - 16px);max-height:88vh;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 56px #0009}.pd-header{border-bottom:1px solid var(--c-border);background:var(--c-surface2);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:10px;padding:9px 12px;display:flex}.pd-header__grip{color:var(--c-text3);letter-spacing:-2px;font-size:12px}.pd-header__title{color:var(--c-text);letter-spacing:.02em;font-size:13px;font-weight:600}.pd-header__badge{letter-spacing:.08em;color:var(--c-accent);border:1px solid var(--c-accent);border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.pd-ab{align-items:center;gap:6px;margin-left:4px;display:flex}.pd-ab__toggle{border:1px solid var(--c-border2);border-radius:5px;display:flex;overflow:hidden}.pd-ab__slot{color:var(--c-text2);background:var(--c-surface);cursor:pointer;border:none;padding:3px 10px;font-size:10px;font-weight:700;transition:color .1s,background .1s}.pd-ab__slot+.pd-ab__slot{border-left:1px solid var(--c-border2)}.pd-ab__slot:hover{color:var(--c-text)}.pd-ab__slot.is-active{background:var(--c-accent);color:#fff}.pd-ab__copy{color:var(--c-text2);background:var(--c-surface2);border:1px solid var(--c-border2);cursor:pointer;white-space:nowrap;border-radius:5px;padding:3px 8px;font-size:9px;font-weight:600;transition:color .1s,border-color .1s}.pd-ab__copy:hover{color:var(--c-text);border-color:var(--c-accent)}.pd-library{border-bottom:1px solid var(--c-border);background:var(--c-surface2);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.pd-library__select,.pd-library__name{background:var(--c-surface);min-width:0;height:26px;color:var(--c-text);border:1px solid var(--c-border2);border-radius:5px;outline:none;flex:auto;padding:0 8px;font-family:inherit;font-size:11px}.pd-library__select{cursor:pointer}.pd-library__name:focus,.pd-library__select:focus{border-color:var(--c-accent)}.pd-library__btn{height:26px;color:var(--c-text2);background:var(--c-surface);border:1px solid var(--c-border2);cursor:pointer;border-radius:5px;flex-shrink:0;padding:0 11px;font-size:10px;font-weight:600;transition:color .1s,border-color .1s}.pd-library__btn:hover:not(:disabled){color:var(--c-text);border-color:var(--c-accent)}.pd-library__btn:disabled{opacity:.35;cursor:default}.pd-library__btn--danger:hover:not(:disabled){color:#ff6b6b;border-color:#ff6b6b}.pd-header__track{color:var(--c-text2);align-items:center;gap:5px;margin-left:auto;font-size:11px;display:flex}.pd-header__swatch{border-radius:2px;flex-shrink:0;width:9px;height:9px}.pd-header__close{color:var(--c-text3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:13px}.pd-header__close:hover{color:var(--c-text);background:var(--c-border)}.pd-body{flex:1;align-items:flex-start;gap:10px;padding:12px;display:flex;overflow-y:auto}.pd-column{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.pd-group{border:1px solid var(--c-border);background:var(--c-bg);border-radius:8px;padding:8px 10px 10px}.pd-group__label{letter-spacing:.09em;text-transform:uppercase;color:var(--c-text3);margin:0 0 8px;font-size:10px;font-weight:700}.pd-group__enums{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.pd-group__knobs{grid-template-columns:repeat(auto-fill,60px);justify-content:start;gap:12px 6px;display:grid}.pd-group__sliders{flex-direction:column;gap:9px;margin-top:13px;display:flex}.pd-sliderrow{align-items:center;gap:8px;display:flex}.pd-sliderrow__label{letter-spacing:.03em;width:62px;color:var(--c-text2);flex-shrink:0;font-size:9px;font-weight:600}.pd-param{flex-direction:column;align-items:center;gap:3px;width:100%;display:flex}.pd-param__label{letter-spacing:.03em;color:var(--c-text2);text-align:center;white-space:nowrap;font-size:9px;font-weight:600}.pd-param__value{color:var(--c-text3);text-align:center;white-space:nowrap;font-size:9px}.pd-param--enum{flex-direction:row;align-items:center;gap:8px;width:auto}.pd-param--enum .pd-param__label{text-align:left;flex-shrink:0;width:44px}.pd-enum{flex-wrap:wrap;gap:3px;display:flex}.pd-enum__chip{letter-spacing:.02em;color:var(--c-text2);background:var(--c-surface2);border:1px solid var(--c-border2);cursor:pointer;text-transform:capitalize;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:600;transition:color .1s,background .1s,border-color .1s}.pd-enum__chip:hover{color:var(--c-text);border-color:var(--c-accent)}.pd-enum__chip.is-active{color:#fff;background:var(--c-accent);border-color:var(--c-accent)}.pd-srow{align-items:center;gap:8px;padding:6px 0;display:flex}.pd-srow+.pd-srow{border-top:1px solid var(--c-border)}.pd-srow__name{width:42px;color:var(--c-text2);flex-shrink:0;font-size:10px;font-weight:600}.pd-slider{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.pd-slider__input{appearance:none;background:var(--c-surface2);border:1px solid var(--c-border2);cursor:pointer;border-radius:3px;outline:none;flex:1;min-width:36px;height:4px}.pd-slider__input::-webkit-slider-thumb{appearance:none;background:var(--c-accent);cursor:pointer;border-radius:50%;width:12px;height:12px}.pd-slider__input::-moz-range-thumb{background:var(--c-accent);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.pd-slider__value{color:var(--c-text3);text-align:right;white-space:nowrap;flex-shrink:0;min-width:34px;font-size:9px}.pd-footer{border-top:1px solid var(--c-border);background:var(--c-surface2);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;display:flex}.pd-footer__group{align-items:center;gap:8px;display:flex}.pd-footer__label{letter-spacing:.04em;text-transform:uppercase;color:var(--c-text3);font-size:10px;font-weight:600}.pd-footer__sub{color:var(--c-text2);font-size:9px;font-weight:600}.pd-footer .pd-slider{flex:0 0 190px}.pd-numbox{border:1px solid var(--c-border2);border-radius:5px;align-items:center;display:flex;overflow:hidden}.pd-numbox__btn{background:var(--c-surface);width:20px;height:20px;color:var(--c-text2);cursor:pointer;border:none;font-size:13px;line-height:1;transition:background .1s,color .1s}.pd-numbox__btn:hover:not(:disabled){background:var(--c-accent);color:#fff}.pd-numbox__btn:disabled{opacity:.3;cursor:default}.pd-numbox__value{text-align:center;width:26px;color:var(--c-text);border-left:1px solid var(--c-border2);border-right:1px solid var(--c-border2);font-size:11px;font-weight:600}.pd-clip{letter-spacing:.08em;color:var(--c-text3);align-items:center;gap:5px;font-size:9px;font-weight:700;transition:color .12s;display:flex}.pd-clip__dot{background:var(--c-border2);border-radius:50%;width:8px;height:8px;transition:background .12s,box-shadow .12s}.pd-clip.is-clipping{color:#ff5b5b}.pd-clip.is-clipping .pd-clip__dot{background:#ff3b3b;box-shadow:0 0 7px #ff3b3bd9}.pd-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 24px;display:flex}.pd-empty p{color:var(--c-text2);margin:0;font-size:12px}.pd-empty__sub{color:var(--c-text3)!important;font-size:11px!important}.pd-empty__cta{color:#fff;background:var(--c-accent);border:1px solid var(--c-accent);cursor:pointer;border-radius:6px;margin-top:8px;padding:7px 14px;font-size:12px;font-weight:600}.pd-empty__cta:hover{background:var(--c-accent2)}.pd-trigger{color:var(--c-accent);border:1px solid var(--c-accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600}.pd-trigger:hover{background:#7c6af524}.pd-trigger.is-open{background:var(--c-accent);color:#fff}.dev-persistence{gap:4px;margin-right:8px;display:inline-flex}.dev-persistence__btn{appearance:none;color:#fff9;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;background:0 0;border:1px solid #ffffff2e;border-radius:4px;padding:3px 8px;font-family:inherit;font-size:11px;font-weight:500;transition:border-color .12s,color .12s}.dev-persistence__btn:hover{color:#ffffffeb;border-color:#fff6}.dev-persistence__btn:active{transform:translateY(1px)}:root{--c-bg:#0f0f11;--c-surface:#17171a;--c-surface2:#1e1e22;--c-border:#ffffff14;--c-border2:#ffffff24;--c-text:#f0f0f0;--c-text2:#a8a8bc;--c-text3:#72728a;--c-accent:#7c6af5;--c-accent2:#534ab7;--c-select:#4dabf7;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--cl-stable:var(--c-accent);--cl-stable-bg:#7c6af526;--cl-tension:#e07050;--cl-tension-bg:#e0705026;--cl-color:#c66ad8;--cl-color-bg:#c66ad826;--cl-momentum:#4ea0d8;--cl-momentum-bg:#4ea0d826;--cl-modal:#c06090;--cl-modal-bg:#c0609026;--cl-remote:#cc3a3a;--cl-remote-bg:#cc3a3a26;--c-off-chord:#e6b042;--c-off-chord-bg:#e6b0422e;--c-pattern:#7d8a9c;--c-pattern-bg:#7d8a9c8c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--c-bg);height:100%;color:var(--c-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}code,.mono{font-family:SF Mono,Fira Code,monospace}.play-btn{border:1px solid var(--c-border2);width:32px;height:32px;color:var(--c-text2);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s,border-color .1s;display:flex}.play-btn:hover{border-color:var(--c-accent);color:var(--c-accent);background:#7c6af526}.play-btn.playing{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.play-btn__icon{margin-left:1px;font-size:11px;line-height:1}.play-btn.playing .play-btn__icon{margin-left:0}.play-btn:disabled{opacity:.4;cursor:not-allowed}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--c-border);background:var(--c-bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;height:72px;padding:6px 14px;display:flex}.app-header__left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.app-brand{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:0;line-height:1;display:flex}.app-title{color:var(--c-text);letter-spacing:-.01em;font-size:15px;font-weight:700}.app-version{color:var(--c-text3);font-size:9.5px;font-family:var(--font-mono,monospace);letter-spacing:.4px;text-transform:lowercase;margin-top:2px}.app-voicing__btn{letter-spacing:.2px;color:var(--c-text2);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600;transition:color .12s,border-color .12s,background .12s}.app-voicing__btn:hover{color:var(--c-text);border-color:var(--c-border2)}.app-voicing__btn.active{color:var(--c-accent);border-color:var(--c-accent2);background:#7c6af51a}.app-key-select,.app-mode-select{letter-spacing:.4px;color:var(--c-text2);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--c-text3) 50%), linear-gradient(135deg, var(--c-text3) 50%, transparent 50%);background-position:calc(100% - 11px) calc(50% - 1px),calc(100% - 7px) calc(50% - 1px);background-repeat:no-repeat;background-size:4px 4px;border-radius:4px;flex-shrink:0;padding:4px 22px 4px 8px;font-size:11px;font-weight:700;transition:border-color .1s,color .1s}.app-key-select{text-transform:none;min-width:56px}.app-mode-select{text-transform:uppercase;min-width:76px}.app-key-select:hover,.app-mode-select:hover{color:var(--c-text);border-color:var(--c-border2)}.app-key-select:focus,.app-mode-select:focus{border-color:var(--c-accent);outline:none}.instrument-select.instrument-select--inline{color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--c-text3) 50%), linear-gradient(135deg, var(--c-text3) 50%, transparent 50%);background-position:calc(100% - 13px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px);background-repeat:no-repeat;background-size:4px 4px;border-radius:4px;flex-shrink:0;padding:5px 24px 5px 8px;font-size:12px;transition:border-color .1s}.instrument-select.instrument-select--inline:hover{border-color:var(--c-border2)}.instrument-select.instrument-select--inline:focus{border-color:var(--c-accent);outline:none}.app-header__right{align-items:center;gap:12px;display:flex}.app-bpm{color:var(--c-text3);font-size:11px}.app-bpm--editable{cursor:text;border-radius:3px;margin:-2px -6px;padding:2px 6px;transition:background .1s,color .1s}.app-bpm--editable:hover{color:var(--c-text);background:#ffffff0f}.app-bpm--locked{cursor:default;color:color-mix(in srgb, var(--cl-stable) 80%, var(--c-text));background:color-mix(in srgb, var(--cl-stable) 10%, transparent);border-radius:3px;align-items:center;gap:4px;margin:-2px -6px;padding:2px 6px;display:inline-flex}.app-bpm__lockglyph{opacity:.8;font-size:10px}.app-bpm__input{color:var(--c-text);border:1px solid var(--c-accent);text-align:right;-moz-appearance:textfield;background:#7c6af51a;border-radius:3px;outline:none;width:44px;padding:1px 4px;font-family:inherit;font-size:11px}.app-bpm__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.app-bpm__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.app-bpm__unit{margin-left:2px}.app-active-track{color:var(--c-text2);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-family:inherit;font-size:11px;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.app-active-track:hover{background:var(--c-surface2);border-color:var(--c-border2);color:var(--c-text)}.app-active-track__swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:inset 0 0 0 1px #00000040}.app-active-track__name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.app-active-voicing{color:var(--c-text2);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-family:inherit;font-size:11px;transition:background .1s,border-color .1s,color .1s;display:inline-flex;position:relative}.app-active-voicing:hover{background:var(--c-surface2);border-color:var(--c-accent);color:var(--c-text)}.app-workspace{flex-direction:row;flex:1;min-height:0;display:flex}.app-main{scrollbar-width:thin;scrollbar-color:var(--c-border) transparent;flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.instrument-row{background:#ffffff04;border-bottom:1px solid #ffffff0a;flex-shrink:0;align-items:center;gap:16px;margin-bottom:14px;padding:8px 16px 10px;display:flex}.instrument-select{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text2);cursor:pointer;outline:none;padding:4px 8px;font-family:inherit;font-size:11px;transition:border-color .1s,color .1s}.instrument-select:hover{border-color:var(--c-border2);color:var(--c-text)}.instrument-select:focus{border-color:var(--c-accent)}.tpe-trigger{border-radius:var(--radius-sm);border:1px solid var(--c-border2);background:var(--c-surface);color:var(--c-text2);cursor:pointer;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:11px;transition:border-color 80ms,color 80ms,background 80ms;display:inline-flex}.tpe-trigger:hover{border-color:var(--c-accent);color:var(--c-text);background:var(--c-surface2)}.tpe-trigger__slash{background:var(--c-accent);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-family:SF Mono,monospace;font-size:11px;font-weight:600;display:inline-flex}.tpe-toast{background:var(--c-surface2);border:1px solid var(--c-border2);border-left:3px solid var(--cl-stable);border-radius:var(--radius-md);color:var(--c-text);z-index:1100;cursor:pointer;align-items:center;gap:8px;max-width:calc(100vw - 48px);padding:10px 16px;font-size:13px;animation:.18s ease-out tpeToastIn;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.tpe-toast--warn{border-left-color:var(--cl-tension)}.tpe-toast__count{font-weight:500}.tpe-toast__unknown{color:var(--c-text2);font-size:12px}.tpe-toast__unknown code{background:var(--c-surface);border:1px solid var(--c-border);color:var(--cl-tension);border-radius:3px;padding:1px 6px;font-family:SF Mono,monospace;font-size:11px}@keyframes tpeToastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}
