*{box-sizing:border-box;margin:0;padding:0}:root{--panel-width:200px;--panel-width-left:240px;--rail-width:48px;--param-graph-height:140px;--toolbar-height:auto}.icon,.icon-svg{justify-content:center;align-items:center;display:inline-flex}.icon-svg{width:100%;height:100%}.icon svg,.icon-svg{width:1.25em;height:1.25em;display:block}body{background:var(--bg);color:var(--text);height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#app{flex-direction:column;height:100vh;display:flex}#toolbar{background:var(--bg-light);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;padding:6px 12px;display:flex;position:relative}#toolbar-left{flex:1;min-width:0}.toolbar-zone{align-items:center;gap:12px;display:flex}.toolbar-zone.right{margin-left:auto}.toolbar-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.toolbar-group,.toolbar-toggles{align-items:center;gap:6px;display:flex}.icon-toggle{width:32px;height:32px;color:var(--icon-color);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:18px;transition:background .15s,color .15s,border-color .15s;display:flex}.icon-toggle:hover{background:rgba(var(--accent-rgb), .12);color:var(--icon-color-hover)}.icon-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.icon-toggle[aria-pressed=true]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.icon-toggle:focus-visible{outline:2px solid var(--accent-hover);outline-offset:1px}.icon-toggle:disabled{opacity:.4;cursor:default}body.perform-mode #canvas-container:after{content:"";box-shadow:inset 0 0 0 2px var(--perform);pointer-events:none;position:absolute;inset:0}.comp-name-input{color:var(--accent);background:0 0;border:1px solid #0000;border-radius:4px;width:150px;padding:3px 6px;font-size:.95rem;font-weight:600;transition:border-color .15s,background .15s}.comp-name-input:hover{border-color:var(--border)}.comp-name-input:focus{background:var(--surface);border-color:var(--accent);outline:none}.comp-length-display{color:var(--text-dim);-webkit-user-select:none;user-select:none;min-width:32px;padding:0 4px;font-family:monospace;font-size:.8rem}.menu-bar{align-items:center;gap:2px;display:flex}.menu-root{position:relative}:is(.menu-bar:has(.menu-root.open) .menu-root,.menu-root.open){z-index:950}.menu-title.active{background:var(--surface);border-color:var(--accent)}.menu-overlay{z-index:949;position:fixed;inset:0}.menu-dropdown{background:var(--bg-light);border:1px solid var(--border-strong);box-shadow:0 8px 24px rgba(var(--shadow-rgb), .5);z-index:950;border-radius:6px;min-width:220px;margin-top:4px;padding:4px 0;position:absolute;top:100%;left:0}.menu-dropdown .menu-item{width:100%;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:0;grid-template-columns:16px 1fr auto;align-items:center;gap:6px;padding:6px 14px 6px 8px;font-size:.85rem;transition:background .12s;display:grid}.menu-dropdown .menu-item:hover:not(:disabled){background:rgba(var(--accent-rgb), .12)}.menu-dropdown .menu-item:disabled{color:var(--text-dim);opacity:.55;cursor:default}.menu-check{color:var(--accent);text-align:center}.menu-shortcut{color:var(--text-dim);padding-left:18px;font-size:.78rem}.menu-divider{background:var(--border);height:1px;margin:4px 0}.history-btn{width:28px;height:28px;font-size:16px}.split-btn{align-items:stretch;display:flex}.split-btn>.record-btn{border-top-right-radius:0;border-bottom-right-radius:0}.transport .split-btn-caret{height:100%;color:var(--text-dim);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;padding:0 5px;font-size:.75rem}.split-btn .menu-dropdown{left:auto;right:0}.toolbar-group label{color:var(--text-dim);white-space:nowrap;font-size:.8rem}.toolbar-group input[type=number]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;width:60px;padding:3px 6px;font-size:.85rem}.toolbar-group select{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:3px 6px;font-size:.8rem}.toolbar-group select:disabled{opacity:.4;cursor:default}.toolbar-group input[type=checkbox]{accent-color:var(--accent)}.transport button{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:.9rem;transition:background .15s}.transport button:hover:not(:disabled){background:var(--hover-bg)}.transport button:disabled{opacity:.4;cursor:default}.toolbar-loop-label{color:var(--text-dim);cursor:pointer;border-radius:4px;align-items:center;gap:3px;padding:4px 6px;font-size:.8rem;transition:background .15s;display:flex}.toolbar-loop-label:hover{background:rgba(var(--highlight-rgb), .05)}.toolbar-loop-label input{accent-color:var(--accent)}.toggle-switch-track{background:rgba(var(--highlight-rgb), .1);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;width:30px;height:16px;transition:background .15s;position:relative}.toggle-switch-track:hover{background:rgba(var(--highlight-rgb), .15)}.toggle-switch-track input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.toggle-switch-thumb{background:var(--accent);pointer-events:none;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:1px;left:1px}.toggle-switch-track input:checked+.toggle-switch-thumb{transform:translate(14px)}.toggle-switch{color:var(--text);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.toggle-switch-label{cursor:pointer}.toggle-switch:has(input:not(:checked)) .toggle-switch-label{color:var(--text-dim)}.toggle-switch:has(input:disabled){opacity:.45}.toggle-switch:has(input:disabled) .toggle-switch-label{cursor:default}.toolbar-time-display{color:var(--text-dim);min-width:32px;font-size:.75rem}#main-area{grid-template-columns:var(--rail-width) 1fr var(--panel-width);flex:1;min-height:0;display:grid;position:relative}#property-panel{background:var(--bg-light);border-right:1px solid var(--border);border-right:none;border-left:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}#tool-prop-content{border-bottom:1px solid var(--border-faint)}#prop-content{flex:none}#tracks-section{flex-direction:column;flex:auto;min-height:80px;display:flex}#track-list{flex:auto;overflow-y:auto}.panel-header{color:var(--accent);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:.85rem;font-weight:600}.panel-header:before{content:"▾";color:var(--text-dim);margin-right:6px;font-size:.7rem;transition:transform .15s;display:inline-block}.panel-header.collapsed:before{transform:rotate(-90deg)}.panel-header:hover{background:rgba(var(--accent-rgb), .06)}#rail{background:var(--bg-light);border-right:1px solid var(--border);z-index:30;flex-direction:column;align-items:center;gap:4px;padding:6px 0;display:flex;position:relative}.rail-icon{width:36px;height:36px;color:var(--icon-color);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:background .15s,color .15s;display:flex}.rail-icon:hover{background:rgba(var(--accent-rgb), .1);color:var(--icon-color-hover)}.rail-icon.active{background:rgba(var(--accent-rgb), .16);color:var(--icon-color-active)}.rail-divider{background:var(--border);width:28px;height:1px;margin:4px 0}.tool-strip{flex-direction:column;align-items:center;gap:4px;display:flex}.strip-btn{width:36px;height:36px;color:var(--icon-color);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:background .15s,color .15s;display:flex;position:relative}.strip-btn:hover{background:rgba(var(--accent-rgb), .1);color:var(--icon-color-hover)}.strip-btn.active{background:var(--accent);color:var(--bg)}.strip-btn:disabled{opacity:.35;cursor:not-allowed}.strip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.strip-btn.perform-entry{color:var(--perform)}.strip-btn.perform-entry:hover{background:rgba(var(--perform-rgb), .15)}.strip-btn.perform-entry.active{background:var(--perform);color:var(--bg)}.strip-btn.perform-entry.active:disabled{opacity:.7;cursor:default}.strip-btn.perform-entry:focus-visible{outline-color:var(--perform)}.chord-badge{background:var(--chord-badge-bg);min-width:13px;height:13px;color:var(--text-on-bright);text-align:center;pointer-events:auto;border-radius:7px;padding:0 2px;font-size:9px;font-weight:700;line-height:13px;position:absolute;top:1px;right:1px}#drawer-host{top:0;bottom:0;left:var(--rail-width);z-index:20;pointer-events:none;position:absolute;right:0;overflow:hidden}.drawer{box-sizing:border-box;background:var(--bg-light);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:max-content;min-width:200px;max-width:calc(100% - 24px);max-height:100%;box-shadow:4px 4px 16px rgba(var(--shadow-rgb), .35);pointer-events:auto;border-bottom-right-radius:6px;flex-direction:column;transition:transform .18s;display:flex;position:absolute;top:0;left:0;overflow-y:auto;transform:translate(-105%)}.drawer.open{transform:translate(0)}.drawer-header{color:var(--accent);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:.85rem;font-weight:600}.tuning-panel .transport-row>label:not(.toggle-switch){flex:0 0 72px}.tuning-panel select{flex:1;min-width:0}.tuning-description{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin:-2px 0 6px 80px;font-size:.72rem;overflow:hidden}.tuning-files{gap:6px;margin-top:4px}.pitch-circle{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;margin-bottom:6px;display:flex}.pitch-circle svg{display:block;overflow:visible}.pitch-circle text{text-anchor:middle;dominant-baseline:central;pointer-events:none;font-family:monospace}.pitch-circle-rim{fill:none;stroke:var(--border);stroke-width:1.5px}.pitch-circle-inner{fill:none;stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.pitch-circle-standard-dot{fill:var(--text-dim);opacity:.6}.pitch-circle-standard-label{fill:var(--text-dim);opacity:.8;font-size:8px}.pitch-circle-degree{cursor:pointer}.pitch-circle-tick{stroke:var(--text-dim);stroke-width:1px}.pitch-circle-degree.in-scale .pitch-circle-tick{stroke:var(--text)}.pitch-circle-dot{fill:var(--accent)}.pitch-circle-root{fill:none;stroke:var(--accent);stroke-width:1.5px}.pitch-circle-label{fill:var(--text-dim);font-size:10px}.pitch-circle-degree.in-scale .pitch-circle-label{fill:var(--text)}.pitch-circle-degree.root .pitch-circle-label{fill:var(--accent);font-weight:700}.pitch-circle-hit{fill:#0000}.pitch-circle-degree:hover .pitch-circle-hit{fill:rgba(var(--accent-rgb), .18)}.pitch-circle-center-root{fill:var(--accent);font-size:18px;font-weight:700}.pitch-circle-center-scale{fill:var(--text-dim);font-size:10px}.pitch-circle-hint{color:var(--text-dim);font-size:.7rem}#track-list{flex:1;padding:8px}#add-track-btn{background:var(--surface);color:var(--text);border:none;border-top:1px solid var(--border);cursor:pointer;padding:8px;font-size:.85rem;transition:background .15s}#add-track-btn:hover{background:var(--hover-bg)}.placeholder-text{color:var(--text-dim);padding:12px;font-size:.8rem;font-style:italic}#center-stack{flex-direction:column;min-width:0;min-height:0;display:flex}#canvas-container{background:var(--bg);flex:1;min-height:0;position:relative;overflow:hidden}#param-container{height:var(--param-graph-height);background:var(--bg);flex-shrink:0;position:relative}#param-resize-handle{background:var(--handle-bg);border-top:1px solid var(--handle-edge-light);border-bottom:1px solid var(--handle-edge-dark);cursor:row-resize;z-index:4;height:7px;transition:background .15s;position:absolute;top:0;left:0;right:0}#param-resize-handle:after{content:"";border-top:2px dotted rgba(var(--highlight-rgb), .35);width:28px;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#param-resize-handle:hover,#param-resize-handle.dragging{background:var(--accent)}#param-canvas{touch-action:none;display:block;position:absolute;top:7px;left:0}#param-graph-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);pointer-events:none;z-index:2;font-size:.7rem;position:absolute;top:11px;left:8px}#zoom-controls{pointer-events:none;z-index:5;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}#zoom-controls>*{pointer-events:auto}.zoom-label{color:var(--text-dim);margin-bottom:2px;font-size:.7rem}#zoom-x{width:100px;accent-color:var(--accent);margin-bottom:2px}#zoom-y{width:80px;accent-color:var(--accent);writing-mode:vertical-lr;direction:rtl}#bg-canvas,#fg-canvas{position:absolute;top:0;left:0}#fg-canvas{z-index:1;touch-action:none}#pitch-hud{color:var(--accent);letter-spacing:.03em;text-shadow:0 0 10px rgba(var(--shadow-rgb), .6);z-index:12;pointer-events:none;align-items:baseline;gap:4px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:1.1rem;font-weight:600;display:flex;position:absolute;top:48px;right:12px}#pitch-hud[hidden]{display:none}.hud-slot{text-align:right;display:inline-block}.hud-note{text-align:left;min-width:3ch}.hud-cents{min-width:4ch}.hud-hz{opacity:.85;text-align:right;min-width:8ch}.hud-sep{opacity:.7;text-align:center;min-width:1ch}.hud-dyn{opacity:.85;text-align:right;min-width:10ch}.transport-hint{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:4px;font-size:.8rem}#perf-hud{color:var(--text);background:rgba(var(--overlay-rgb), .78);letter-spacing:.03em;text-shadow:0 0 8px rgba(var(--shadow-rgb), .7);z-index:12;pointer-events:none;border-radius:6px;flex-direction:column;gap:2px;min-width:180px;padding:6px 10px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.78rem;display:flex;position:absolute;top:48px;left:12px}#perf-hud[hidden]{display:none}.perf-hud-row{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.perf-hud-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.perf-hud-val{color:var(--accent);text-align:right;min-width:3ch}#countdown-overlay{color:var(--accent);text-shadow:0 0 24px rgba(var(--accent-rgb), .6);z-index:13;pointer-events:none;justify-content:center;align-items:center;font-size:8rem;font-weight:700;display:flex;position:absolute;inset:0}#afk-warning{background:rgba(var(--overlay-rgb), .92);border:1px solid var(--accent);box-shadow:0 8px 32px rgba(var(--shadow-rgb), .6), 0 0 24px rgba(var(--accent-rgb), .25);color:var(--text);z-index:14;pointer-events:none;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:16px 24px;font-family:system-ui,sans-serif;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}#afk-warning[hidden]{display:none}.afk-warning-title{color:var(--text-dim);letter-spacing:.02em;font-size:.95rem}.afk-warning-countdown{color:var(--accent);text-shadow:0 0 12px rgba(var(--accent-rgb), .5);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:700;line-height:1.1}.afk-warning-hints{color:var(--text-dim);margin-top:4px;font-size:.78rem;line-height:1.5}.metronome-volume,.gravity-slider{min-width:60px;accent-color:var(--accent);flex:1}.gravity-value{color:var(--text-dim);text-align:right;min-width:30px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.75rem}.context-menu{background:var(--bg-light);border:1px solid var(--border);min-width:180px;box-shadow:0 4px 16px rgba(var(--shadow-rgb), .5);z-index:50;-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 0;font-size:.85rem;position:fixed}.context-menu-item{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:24px;padding:6px 14px;display:flex}.context-menu-item:hover:not(.disabled){background:var(--hover-bg)}.context-menu-item.disabled{color:var(--text-dim);cursor:default}.context-menu-shortcut{color:var(--text-dim);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.75rem}#countdown-overlay[hidden]{display:none}.record-btn{background:var(--surface);color:var(--record-text);border:1px solid var(--border)}.record-btn[hidden]{display:none}.record-btn.armed{color:var(--text-on-strong);background:var(--danger);animation:1s infinite recordPulse}.record-btn.recording{color:var(--text-on-strong);background:var(--record)}.record-btn.queued{color:var(--text-on-warm);background:var(--solo);border-color:var(--solo);animation:1s infinite recordPulse}.keep-btn{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.keep-btn.keepable:not(:disabled){color:var(--text-on-warm);background:var(--gold);border-color:var(--gold)}@keyframes recordPulse{0%,to{opacity:1}50%{opacity:.45}}.drawer-section,#snap-section{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px;display:flex}.transport-buttons{align-items:center;gap:6px;display:flex}.transport-row{align-items:center;gap:6px;font-size:.8rem;display:flex}.transport-row label{color:var(--text-dim);white-space:nowrap;font-size:.8rem}.transport-row input[type=number]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;width:60px;padding:3px 6px;font-size:.85rem}.track-item{cursor:pointer;border-radius:4px;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:2px;padding:6px 8px;transition:background .15s;display:flex}.track-item:hover{background:rgba(var(--highlight-rgb), .05)}.track-item.selected{background:rgba(var(--accent-rgb), .15);outline:1px solid rgba(var(--accent-rgb), .3)}.track-item.muted{opacity:.5}.track-color{border-radius:2px;flex-shrink:0;width:8px;height:24px}.track-info{flex-direction:column;flex:1;min-width:0;display:flex}.track-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.track-tone{color:var(--text-dim);font-size:.7rem}.track-controls{flex-basis:100%;gap:3px;padding-left:16px;display:flex}.track-btn{background:var(--surface);width:22px;height:22px;color:var(--text-dim);border:1px solid var(--border);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;transition:all .15s;display:flex}.track-btn:hover{background:var(--hover-bg);color:var(--text)}.track-more{font-size:14px;font-weight:700}.track-mute.active{background:var(--danger);color:var(--text-on-strong);border-color:var(--danger)}.track-solo.active{background:var(--solo);color:var(--text-on-bright);border-color:var(--solo)}.track-hide.active{background:var(--hover-bg);color:var(--text)}.track-item.hidden .track-info{opacity:.5}.track-guide.active{background:var(--guide);color:var(--text-on-strong);border-color:var(--guide)}.track-btn:disabled{opacity:.35;cursor:default}.track-midi-arm.armed{background:var(--midi-armed);color:var(--text-on-strong);border-color:var(--midi-armed)}.track-midi-arm.recording{background:var(--record);color:var(--text-on-strong);border-color:var(--record);animation:1s infinite recordPulse}.menu-dropdown .menu-item.danger{color:var(--danger-text)}.menu-dropdown .menu-item.danger:hover{background:rgba(var(--danger-rgb), .25)}.track-panel-actions{border-top:1px solid var(--border);display:flex}.track-panel-actions button{background:var(--surface);color:var(--text);border:none;border-right:1px solid var(--border);cursor:pointer;flex:1;padding:8px;font-size:.8rem;transition:background .15s}.track-panel-actions button:last-child{border-right:none}.track-panel-actions button:hover{background:var(--hover-bg)}#prism-panel{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:8px;display:flex}.prism-status{background:rgba(var(--echo-rgb), .08);color:var(--text-dim);border:1px dashed rgba(var(--echo-rgb), .35);text-align:center;border-radius:4px;padding:4px 6px;font-size:.75rem}.prism-status-active{background:rgba(var(--echo-rgb), .18);color:var(--echo-text);border-style:solid;font-weight:600}.prism-row{align-items:center;gap:6px;font-size:.8rem;display:flex}.prism-row label:not(.toggle-switch){color:var(--text-dim);white-space:nowrap;flex-shrink:0;width:84px;font-size:.8rem}.prism-row select,.prism-row input[type=number]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:1;padding:3px 6px;font-size:.8rem}.prism-row input[type=number]{max-width:60px}.prop-selection-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.prop-selection-line .prop-label{margin-bottom:0}.modal-overlay{background:rgba(var(--shadow-rgb), .6);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-light);width:90%;max-width:520px;max-height:85vh;box-shadow:0 16px 48px rgba(var(--shadow-rgb), .5);border-radius:12px;padding:24px;overflow-y:auto}.modal h2{color:var(--accent);margin-bottom:16px;font-size:1.2rem}.settings-modal{max-width:420px}.settings-section{margin-bottom:18px}.settings-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:.8rem;font-weight:600}.settings-section .tb-row label{min-width:90px}.settings-check{cursor:pointer;align-items:flex-start;gap:8px;font-size:.85rem;display:flex}.settings-check input{accent-color:var(--accent);margin-top:3px}.settings-hint{color:var(--text-dim);margin-top:2px;font-size:.78rem;display:block}.settings-actions{justify-content:flex-end;align-items:center}.settings-build{color:var(--text-dim);margin-right:auto;font-size:.75rem}.tb-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tb-row label{color:var(--text-dim);min-width:60px;font-size:.8rem}.tb-row input[type=text],.tb-row input[type=number],.tb-row select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:.85rem}.tb-row input[type=text]{flex:1}.tb-row input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;width:36px;height:28px;padding:0}.tb-row input[type=range]{accent-color:var(--accent);flex:1}.tb-section{border:1px solid var(--border);border-radius:6px;margin-bottom:12px;padding:10px}.tb-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;font-weight:600;display:flex}.tb-toggle{color:var(--text-dim);cursor:pointer;align-items:center;gap:4px;font-size:.8rem;display:flex}.tb-toggle input{accent-color:var(--accent)}.tb-layer{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.tb-layer select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 4px;font-size:.75rem}.tb-layer input[type=range]{width:60px;accent-color:var(--accent)}.tb-layer input[type=number]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;width:55px;padding:2px 4px;font-size:.75rem}.tb-layer label{color:var(--text-dim);font-size:.7rem}.tb-layer-gain-val{color:var(--text-dim);min-width:28px;font-size:.7rem}.tb-small-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.75rem;transition:background .15s}.tb-small-btn:hover{background:var(--hover-bg)}.tb-actions{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:16px;padding-top:12px;display:flex}.tb-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 16px;font-size:.85rem;transition:background .15s}.tb-btn:hover:not(:disabled){background:var(--hover-bg)}.tb-btn:disabled{opacity:.4;cursor:default}.tb-btn.primary{background:var(--accent);color:var(--text-on-bright);border-color:var(--accent);font-weight:600}.tb-btn.primary:hover{background:var(--accent-hover)}.ps-warning{color:var(--error-text);margin:4px 0 0 68px;font-size:.75rem}.midi-arm-list{flex-direction:column;gap:2px;max-height:240px;margin-bottom:12px;display:flex;overflow-y:auto}.midi-arm-row{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:.85rem;transition:background .12s;display:flex}.midi-arm-row:hover{background:rgba(var(--accent-rgb), .08)}.midi-arm-row input[type=radio]{accent-color:var(--accent);margin:0}.midi-arm-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.midi-arm-name{color:var(--text);flex:1}.midi-arm-tone{font-size:.75rem}.midi-arm-empty{color:var(--text-dim);margin:0 0 12px;font-size:.85rem}.midi-arm-newrow{margin-bottom:8px}.snap-preset-row select{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:.8rem}.snap-preset-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.75rem;transition:background .15s}.snap-preset-btn:hover:not(:disabled){background:var(--hover-bg)}.snap-preset-btn:disabled{opacity:.4;cursor:default}.prop-section{border-bottom:1px solid var(--border-faint);padding:6px 12px}.prop-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:.7rem}.prop-value{font-size:.85rem;font-weight:500}.prop-value-sub{color:var(--text-dim);font-size:.7rem}.prop-section input[type=range]{width:100%;accent-color:var(--accent);margin-top:4px}.prop-val-text{color:var(--text-dim);font-size:.75rem}.prop-radio{cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:.8rem;display:flex}.prop-radio input[type=radio]{accent-color:var(--accent);margin:0}.prop-slider-row{color:var(--text-dim);align-items:center;gap:8px;margin-top:6px;font-size:.75rem;display:flex}.prop-slider-row label{flex-shrink:0}.prop-slider-row input[type=range]{flex:1;width:auto;min-width:0;margin-top:0}.prop-slider-row .auto-smooth-ratio-value{text-align:right;min-width:28px;font-family:ui-monospace,SF Mono,Consolas,monospace}.tone-picker-overlay{z-index:900;position:fixed;inset:0}.tone-picker-popup{background:var(--bg-light);border:1px solid var(--border-strong);box-shadow:0 8px 24px rgba(var(--shadow-rgb), .5);z-index:901;border-radius:8px;min-width:180px;max-height:300px;position:fixed;overflow-y:auto}.tone-picker-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:6px 10px;font-size:.7rem}.tone-picker-item{cursor:pointer;align-items:center;gap:8px;padding:6px 10px;transition:background .12s;display:flex}.tone-picker-item:hover{background:rgba(var(--accent-rgb), .12)}.tone-picker-item.current{background:rgba(var(--accent-rgb), .2);outline:1px solid rgba(var(--accent-rgb), .3)}.tone-picker-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.tone-picker-dash{flex-shrink:0}.tone-picker-name{flex:1;font-size:.8rem}.tone-picker-info{color:var(--text-dim);font-size:.65rem}.tone-name-clickable{cursor:pointer;transition:color .15s;position:relative}.tone-name-clickable:hover{filter:brightness(1.3);text-decoration:underline}.prop-tone-clickable{cursor:pointer;border-radius:3px;padding:2px 6px;transition:background .15s;display:inline-block}.prop-tone-clickable:hover{background:rgba(var(--highlight-rgb), .08);text-decoration:underline}
