:root{--bg-deep: #0e0e0d;--bg-canvas: #f5f0e6;--bg-panel: rgba(244, 243, 238, .92);--bg-panel-solid: #f4f3ee;--bg-panel-hover: #ebeae5;--color-offblack: #1a1a19;--color-offwhite: #fefefe;--color-muted: #8a857b;--color-light-gray: #e5e2da;--color-dark-gray: #3a3835;--accent-blue: #007aff;--accent-orange: #ff5722;--accent-yellow: #ffcc00;--accent-green: #2eba5e;--accent-red: #ff3b30;--border-thin: 1px solid var(--color-offblack);--shadow-flat: 2px 2px 0px var(--color-offblack);--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--font-family: "JetBrains Mono", "Outfit", system-ui, -apple-system, monospace;--transport-height: 52px;--topbar-height: 36px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg-canvas);color:var(--color-offblack);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{width:100vw;height:100vh;overflow:hidden;position:relative;display:flex;flex-direction:column}.topbar{position:absolute;top:0;left:0;right:0;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none}.topbar>*{pointer-events:auto}.topbar-brand{font-size:.65rem;font-weight:800;letter-spacing:.1em;color:var(--color-offblack);opacity:.7}.topbar-status{display:flex;align-items:center;gap:10px}.live-pill{display:flex;align-items:center;gap:5px;font-size:.55rem;font-weight:800;color:var(--accent-red);letter-spacing:.05em;background:#ff3b3014;padding:3px 8px;border-radius:10px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-red);animation:pulse-glow 1.2s infinite ease-in-out}.canvas-fullbleed{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.instruments-panel{position:absolute;top:10px;left:16px;z-index:15;display:flex;flex-direction:column;gap:6px;pointer-events:auto;-webkit-user-select:none;user-select:none}.instruments-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.trigger-mode-row{display:flex;flex-direction:row;gap:3px;padding:0;width:min-content;height:min-content}.trigger-mode-label{font-family:var(--font-family);font-size:.38rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#6b6d72;writing-mode:vertical-lr;transform:rotate(180deg);display:flex;align-items:center;flex-shrink:0}.trigger-mode-group{display:flex;flex-direction:row;gap:3px;flex:1}.trigger-mode-btn{width:min-content;height:min-content;padding:8px 4px;border:1px solid #2e2f33;border-radius:4px;background:#1a1b1e;color:#6b6d72;font-family:var(--font-family);font-size:.42rem;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:all .1s ease;text-align:center;white-space:nowrap;writing-mode:vertical-lr;transform:rotate(180deg)}.trigger-mode-btn:hover{background:#232832;color:#c8c9cc}.trigger-mode-btn--active{background:#e5e2da;color:#121417;border-color:#e5e2da;font-weight:900}.instruments-overlay{display:flex;gap:16px;padding:6px 12px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-thin);border-radius:6px;box-shadow:var(--shadow-sm);transition:all .15s ease}.instruments-overlay:hover{box-shadow:var(--shadow-flat);transform:translate(-1px,-1px)}.instrument-card{display:flex;align-items:center;gap:8px}.compass-cardinal-text{font-family:var(--font-family);font-size:.42rem;font-weight:800;fill:var(--color-muted)}.instrument-circle-wrapper{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:grab}.instrument-card--spinning .instrument-circle-wrapper{cursor:grabbing}.instrument-dial-bg--glow-time{filter:drop-shadow(0 0 5px var(--accent-orange)) drop-shadow(0 0 2px var(--accent-orange));transition:filter .1s ease}.instrument-dial-bg--glow-wind{filter:drop-shadow(0 0 5px var(--accent-blue)) drop-shadow(0 0 2px var(--accent-blue));transition:filter .1s ease}.instrument-title-text--scrub{color:var(--accent-orange);letter-spacing:.06em}.instrument-title-text--override{color:var(--accent-blue);letter-spacing:.06em}.instrument-card--decaying .instrument-dial-bg{animation:dial-decay-pulse 1.5s ease-in-out infinite}@keyframes dial-decay-pulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 3px rgba(0,122,255,.3))}}.instrument-svg--active{transform:scale(1.04);transition:transform .1s ease}.instrument-svg{display:block;overflow:visible;transition:transform .2s ease}.instrument-dial-bg{fill:var(--color-offwhite);stroke:var(--color-offblack);stroke-width:1px}.instrument-label{display:flex;flex-direction:column;gap:1px}.instrument-title-text{font-size:.45rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;transition:color .15s ease}.instrument-value-text{font-size:.58rem;font-weight:800;color:var(--color-offblack);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.floating-hud{position:absolute;top:10px;right:46px;z-index:15;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:auto;-webkit-user-select:none;user-select:none}.hud-pill{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-thin);border-radius:6px;box-shadow:var(--shadow-sm);font-size:.6rem;font-weight:700;letter-spacing:.04em;color:var(--color-offblack);cursor:pointer;transition:all .2s ease}.hud-pill:hover{box-shadow:var(--shadow-lg)}.hud-stat{display:flex;align-items:center;gap:4px}.hud-stat-value{font-weight:800;font-variant-numeric:tabular-nums}.hud-stat-unit{color:var(--color-muted);font-size:.5rem}.hud-divider{width:1px;height:12px;background:var(--color-light-gray)}.hud-expanded{padding:12px 14px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-thin);border-radius:6px;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:200px;animation:fadeIn .2s ease both}.hud-expanded-item{display:flex;flex-direction:column;gap:2px}.hud-expanded-label{font-size:.45rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.hud-expanded-value{font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}.floating-layers{position:absolute;bottom:calc(var(--transport-height) + 12px);left:12px;z-index:15;pointer-events:auto;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:4px;max-height:400px;animation:fadeIn .3s ease both}.layer-item{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-thin);border-radius:6px;box-shadow:var(--shadow-sm);font-size:.58rem;font-weight:700;cursor:pointer;transition:all .15s ease;overflow:hidden;min-width:0}.layer-item:hover,.layer-item--active{background:var(--bg-panel-solid);box-shadow:var(--shadow-flat);transform:translate(-1px,-1px)}.layer-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-green);flex-shrink:0}.layer-name{flex:1;font-weight:800}.layer-voice{font-size:.45rem;color:var(--accent-blue);font-weight:700}.layer-delete{border:none;background:none;color:var(--accent-red);cursor:pointer;font-size:.7rem;font-weight:800;padding:0 2px;opacity:0;transition:opacity .15s ease}.layer-item:hover .layer-delete{opacity:.7}.layer-delete:hover{opacity:1!important}.place-fab{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:var(--border-thin);background:var(--color-offwhite);color:var(--color-offblack);font-size:1.1rem;cursor:pointer;box-shadow:var(--shadow-flat);transition:all .12s ease;-webkit-user-select:none;user-select:none}.place-fab:hover{transform:translate(.5px,.5px);box-shadow:1px 1px 0 var(--color-offblack)}.place-fab:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--color-offblack)}.place-fab--active{background:var(--accent-red);color:var(--color-offwhite);border-color:var(--accent-red);box-shadow:2px 2px #ff3b304d}.place-hint{font-size:.5rem;font-weight:700;color:var(--color-offwhite);background:var(--color-offblack);padding:4px 8px;border-radius:4px;letter-spacing:.04em;white-space:nowrap;animation:fadeIn .2s ease both}.transport-bar{position:absolute;bottom:0;left:0;right:0;height:var(--transport-height);z-index:20;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:var(--border-thin);-webkit-user-select:none;user-select:none}.transport-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;border:var(--border-thin);border-radius:6px;background:var(--color-offwhite);color:var(--color-offblack);font-family:var(--font-family);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:var(--shadow-flat);transition:all .1s cubic-bezier(.4,0,.2,1);flex-shrink:0;-webkit-user-select:none;user-select:none;overflow:hidden}.transport-btn:hover{transform:translate(.5px,.5px);box-shadow:1px 1px 0 var(--color-offblack)}.transport-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--color-offblack)}.transport-btn--active{background:var(--color-offblack);color:var(--color-offwhite);transform:translate(2px,2px);box-shadow:0 0 0 var(--color-offblack)}.transport-btn--play{padding:6px 16px;font-size:.65rem;font-weight:800}.transport-btn--play.transport-btn--active{background:var(--accent-orange);border-color:var(--accent-orange)}.transport-btn--rec{padding:6px 10px}.transport-btn--rec.transport-btn--active{border-color:var(--accent-red)}.rec-led{width:6px;height:6px;border-radius:50%;background:var(--color-muted);flex-shrink:0}.rec-led--on{background:var(--accent-red);animation:pulse-glow 1s infinite}.transport-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:var(--border-thin);border-radius:4px;background:var(--color-offwhite);color:var(--color-offblack);font-size:.8rem;cursor:pointer;box-shadow:1px 1px 0 var(--color-offblack);transition:all .1s ease;flex-shrink:0}.transport-icon-btn:hover{background:var(--bg-panel-hover)}.transport-icon-btn:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--color-offblack)}.transport-icon-btn--active{background:var(--color-offblack);color:var(--color-offwhite);transform:translate(1px,1px);box-shadow:0 0 0 var(--color-offblack)}.transport-toggle{display:flex;align-items:center;justify-content:center;padding:5px 8px;border:var(--border-thin);border-radius:3px;background:var(--color-offwhite);color:var(--color-muted);font-family:var(--font-family);font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .1s ease;flex-shrink:0}.transport-toggle:hover{color:var(--color-offblack)}.transport-toggle--active{background:var(--color-offblack);color:var(--color-offwhite);border-color:var(--color-offblack)}.transport-toggle--beats.transport-toggle--active{border-color:var(--accent-green)}.transport-toggle--bass.transport-toggle--active{border-color:var(--accent-blue)}.transport-scrubber{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.transport-time{display:flex;justify-content:space-between;font-size:.48rem;font-weight:600;color:var(--color-muted)}.speed-group{display:flex;border:var(--border-thin);border-radius:3px;overflow:hidden;flex-shrink:0}.speed-btn{padding:5px 7px;border:none;border-right:var(--border-thin);background:var(--color-offwhite);color:var(--color-muted);font-family:var(--font-family);font-size:.5rem;font-weight:700;cursor:pointer;transition:all .1s ease}.speed-btn:last-child{border-right:none}.speed-btn:hover{color:var(--color-offblack);background:var(--bg-panel-hover)}.speed-btn--active{color:var(--color-offwhite);background:var(--color-offblack)}.transport-bpm{font-size:.55rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-offblack);min-width:48px;text-align:center;flex-shrink:0}.transport-bpm-unit{font-weight:600;color:var(--color-muted);font-size:.45rem;margin-left:2px}.transport-divider{width:1px;height:24px;background:var(--color-light-gray);flex-shrink:0}.synth-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;background:#00000014;animation:fadeIn .15s ease both}.synth-drawer{position:absolute;bottom:var(--transport-height);left:0;right:0;z-index:25;isolation:isolate;background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:var(--border-thin);padding:16px 20px;animation:slideUp .25s cubic-bezier(.16,1,.3,1) both;max-height:50vh;overflow-y:auto}.synth-drawer-content{display:flex;gap:24px;align-items:flex-start}.synth-section{display:flex;flex-direction:column;gap:8px;min-width:0}.synth-section--vibe{flex:0 0 auto}.synth-section--sliders{flex:1;min-width:200px}.synth-section--presets{flex:0 0 auto;min-width:140px}.synth-section-label{font-size:.5rem;font-weight:800;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-light-gray);padding-bottom:4px}.vibe-grid{display:flex;gap:4px}.vibe-btn{padding:6px 12px;border:var(--border-thin);border-radius:3px;background:var(--color-offwhite);color:var(--color-offblack);font-family:var(--font-family);font-size:.52rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .1s ease;box-shadow:1px 1px 0 var(--color-offblack)}.vibe-btn:hover{background:var(--bg-panel-hover)}.vibe-btn--active{background:var(--color-offblack);color:var(--color-offwhite);transform:translate(1px,1px);box-shadow:0 0 0 var(--color-offblack)}.mode-group{display:flex;gap:3px}.mode-btn{padding:4px 8px;border:var(--border-thin);border-radius:2px;background:var(--color-offwhite);color:var(--color-muted);font-family:var(--font-family);font-size:.48rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .1s ease}.mode-btn:hover{color:var(--color-offblack)}.mode-btn--active{background:var(--color-offblack);color:var(--color-offwhite)}.slider-row{display:flex;align-items:center;gap:10px}.slider-label{font-size:.48rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;min-width:54px;flex-shrink:0}.slider-value{font-size:.5rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-offblack);min-width:42px;text-align:right;flex-shrink:0}.synth-select{padding:5px 8px;background:var(--color-offwhite);border:var(--border-thin);border-radius:3px;color:var(--color-offblack);font-family:var(--font-family);font-size:.58rem;font-weight:700;text-transform:uppercase;cursor:pointer;outline:none;width:100%}.synth-select:hover,.synth-select:focus{background:var(--bg-panel-hover)}.chord-readout{font-size:.55rem;font-weight:800;color:var(--accent-orange);letter-spacing:.04em;padding:4px 8px;background:#ff57220f;border-radius:3px;text-align:center}.synth-divider{width:1px;align-self:stretch;background:var(--color-light-gray);flex-shrink:0}.arrangement-drawer{position:absolute;bottom:var(--transport-height);left:0;right:0;z-index:25;background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:var(--border-thin);padding:12px 20px;animation:slideUp .25s cubic-bezier(.16,1,.3,1) both;height:220px;display:flex;flex-direction:column}.arrangement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--color-light-gray)}.arrangement-title{font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.arrangement-actions{display:flex;gap:6px}.arrangement-action-btn{padding:3px 8px;border:var(--border-thin);border-radius:3px;background:var(--color-offwhite);color:var(--color-offblack);font-family:var(--font-family);font-size:.5rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .1s ease}.arrangement-action-btn:hover{background:var(--bg-panel-hover)}.arrangement-action-btn:disabled{opacity:.4;cursor:default}.arrangement-action-btn--primary{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}.arrangement-action-btn--primary:hover{background:#c0392b}.arrangement-empty{display:flex;flex:1;align-items:center;justify-content:center;text-align:center;font-size:.55rem;font-weight:700;color:var(--color-muted);letter-spacing:.04em;border:1px dashed var(--color-light-gray);border-radius:4px;margin-top:4px}.arrangement-lane{display:flex;gap:8px;padding:8px;background:#00000008;border:1px solid var(--color-light-gray);border-radius:4px;overflow-x:auto;overflow-y:hidden;align-items:center;height:120px}.arrangement-clip{position:relative;height:100%;border-radius:4px;border:1px solid rgba(0,0,0,.12);box-shadow:inset 0 1px #ffffff40,0 1px 3px #0000000f;padding:10px;display:flex;flex-direction:column;justify-content:space-between;min-width:140px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.arrangement-clip:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff40,0 4px 8px #00000014}.arrangement-clip--selected{border:2px solid var(--color-offblack)!important;box-shadow:inset 0 1px #ffffff40,0 4px 12px #0000001f!important}.arrangement-clip--active{animation:clipPulse 2s infinite ease-in-out}@keyframes clipPulse{0%{opacity:1}50%{opacity:.85}to{opacity:1}}.arrangement-clip-top{display:flex;justify-content:space-between;align-items:flex-start;gap:4px}.arrangement-clip-label{font-size:.58rem;font-weight:800;color:var(--color-offblack);text-transform:uppercase;letter-spacing:.02em;background:transparent;border:none;outline:none;width:75%;padding:0;text-overflow:ellipsis}.arrangement-clip-label:focus{background:#fffc;border-radius:2px;padding:0 4px;margin-left:-4px}.arrangement-clip-delete{background:none;border:none;color:#0006;font-size:.65rem;cursor:pointer;padding:0 4px;font-weight:700;transition:color .1s ease}.arrangement-clip-delete:hover{color:var(--accent-red)}.arrangement-clip-info{display:flex;flex-direction:column;gap:2px;margin-top:6px}.arrangement-clip-duration{font-size:.48rem;font-weight:800;font-variant-numeric:tabular-nums;color:#0009;text-transform:uppercase}.arrangement-clip-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.arrangement-clip-badge{font-size:.42rem;font-weight:800;background:#fff6;border:1px solid rgba(0,0,0,.1);padding:1px 4px;border-radius:2px;color:#000000b3;text-transform:uppercase;letter-spacing:.02em}.arrangement-clip-actions{display:flex;justify-content:flex-end;gap:3px;margin-top:auto}.arrangement-clip-btn{background:#ffffff80;border:1px solid rgba(0,0,0,.08);border-radius:2px;font-size:.45rem;cursor:pointer;padding:1px 4px;font-weight:800;transition:all .1s ease}.arrangement-clip-btn:hover{background:#fff;border-color:#0003}.arrangement-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent-red);box-shadow:0 0 6px var(--accent-red);z-index:10;pointer-events:none;transition:left 60ms linear}.drum-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;background:#00000014;animation:fadeIn .15s ease both}.drum-drawer{position:absolute;bottom:var(--transport-height);left:0;right:0;z-index:25;isolation:isolate;background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:var(--border-thin);padding:16px 20px;animation:slideUp .25s cubic-bezier(.16,1,.3,1) both;max-height:50vh;overflow-y:auto}.drum-drawer-content{display:flex;gap:24px;align-items:flex-start}.drum-section{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1;min-width:140px}.drum-section-label{font-size:.5rem;font-weight:800;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-light-gray);padding-bottom:4px}.drum-divider{width:1px;align-self:stretch;background:var(--color-light-gray);flex-shrink:0}.drum-toggle-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:var(--border-thin);border-radius:3px;background:var(--color-offwhite);color:var(--color-muted);font-family:var(--font-family);font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:all .12s ease}.drum-toggle-btn:hover{background:var(--bg-panel-hover)}.drum-toggle-btn--active{background:var(--color-offblack);color:var(--color-offwhite);border-color:var(--color-offblack)}.drum-toggle-led{width:6px;height:6px;border-radius:50%;background:var(--color-muted);transition:all .2s ease;flex-shrink:0}.drum-toggle-btn--active .drum-toggle-led{background:#2eba5e;box-shadow:0 0 6px #2eba5e99}.slider-row--poly{flex-wrap:wrap}.drum-poly-group{display:flex;gap:3px;flex:1}.drum-poly-btn{flex:1;padding:4px 6px;border:var(--border-thin);border-radius:3px;background:var(--color-offwhite);color:var(--color-muted);font-family:var(--font-family);font-size:.48rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:all .1s ease;text-align:center}.drum-poly-btn:hover{background:var(--bg-panel-hover);color:var(--color-offblack)}.drum-poly-btn--active{background:var(--color-offblack);color:var(--color-offwhite);border-color:var(--color-offblack);box-shadow:1px 1px #0000004d}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--color-light-gray);border:none;border-radius:2px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:16px;border:var(--border-thin);border-radius:2px;background:var(--color-offblack);cursor:pointer;transition:transform .1s ease;box-shadow:1px 1px #0000004d}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}input[type=range]::-moz-range-thumb{width:10px;height:16px;border:var(--border-thin);border-radius:2px;background:var(--color-offblack);cursor:pointer}.slider--volume::-webkit-slider-thumb{background:var(--accent-blue)}.slider--volume::-moz-range-thumb{background:var(--accent-blue)}.slider--reverb::-webkit-slider-thumb{background:var(--accent-orange)}.slider--reverb::-moz-range-thumb{background:var(--accent-orange)}.slider--filter::-webkit-slider-thumb{background:var(--accent-yellow)}.slider--filter::-moz-range-thumb{background:var(--accent-yellow)}.slider--density::-webkit-slider-thumb{background:var(--accent-green)}.slider--density::-moz-range-thumb{background:var(--accent-green)}.slider--swing::-webkit-slider-thumb{background:var(--accent-red)}.slider--swing::-moz-range-thumb{background:var(--accent-red)}.slider--ghost::-webkit-slider-thumb{background:#e58e73}.slider--ghost::-moz-range-thumb{background:#e58e73}.slider--choke::-webkit-slider-thumb{background:#d4745e}.slider--choke::-moz-range-thumb{background:#d4745e}.slider--shuffle::-webkit-slider-thumb{background:var(--accent-orange)}.slider--shuffle::-moz-range-thumb{background:var(--accent-orange)}.slider--comp-mix::-webkit-slider-thumb{background:var(--accent-blue)}.slider--comp-mix::-moz-range-thumb{background:var(--accent-blue)}.slider--comp-ratio::-webkit-slider-thumb{background:#5a9fd4}.slider--comp-ratio::-moz-range-thumb{background:#5a9fd4}.slider--delay-send::-webkit-slider-thumb{background:var(--accent-green)}.slider--delay-send::-moz-range-thumb{background:var(--accent-green)}.slider--delay-time::-webkit-slider-thumb{background:#4dad7c}.slider--delay-time::-moz-range-thumb{background:#4dad7c}.slider--kick-decay::-webkit-slider-thumb{background:var(--accent-red)}.slider--kick-decay::-moz-range-thumb{background:var(--accent-red)}.slider--snare-snap::-webkit-slider-thumb{background:var(--accent-yellow)}.slider--snare-snap::-moz-range-thumb{background:var(--accent-yellow)}.slider--drum-volume::-webkit-slider-thumb{background:var(--color-offblack)}.slider--drum-volume::-moz-range-thumb{background:var(--color-offblack)}.slider--drum-reverb::-webkit-slider-thumb{background:var(--accent-orange)}.slider--drum-reverb::-moz-range-thumb{background:var(--accent-orange)}.slider--drum-sat::-webkit-slider-thumb{background:#c39bd3}.slider--drum-sat::-moz-range-thumb{background:#c39bd3}.transport-slider{height:5px}.transport-slider::-webkit-slider-thumb{width:6px;height:18px;border-radius:1px;background:var(--color-offblack)}.transport-btn--audio-rec{gap:6px;padding:6px 10px;border-color:var(--color-muted)}.transport-btn--audio-rec-active{background:var(--accent-red);color:var(--color-offwhite);border-color:var(--accent-red);box-shadow:0 0 0 2px #ff3b3033;transform:translate(2px,2px)}.transport-btn--audio-rec-active:hover{transform:translate(2px,2px);box-shadow:0 0 0 3px #ff3b3040}.audio-rec-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-red);flex-shrink:0;opacity:.5;transition:opacity .2s ease}.audio-rec-dot--on{opacity:1;animation:pulse-record 1.2s infinite ease-in-out}.audio-rec-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:.58rem;letter-spacing:.05em}.export-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000040;animation:fadeIn .15s ease both}.export-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:51;background:var(--bg-panel-solid);border:var(--border-thin);border-radius:8px;box-shadow:4px 4px 0 var(--color-offblack);padding:24px;min-width:340px;max-width:420px;animation:slideUpCenter .25s cubic-bezier(.16,1,.3,1) both}.export-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--color-light-gray)}.export-title{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.export-close{border:none;background:none;color:var(--color-muted);font-size:1rem;cursor:pointer;padding:2px 6px;transition:color .12s ease}.export-close:hover{color:var(--accent-red)}.export-meta{display:flex;gap:20px;margin-bottom:14px}.export-meta-item{display:flex;flex-direction:column;gap:2px}.export-meta-label{font-size:.45rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.export-meta-value{font-size:.7rem;font-weight:800;font-variant-numeric:tabular-nums}.export-audio-preview{width:100%;height:36px;margin-bottom:16px;border-radius:4px;outline:none}.export-audio-preview::-webkit-media-controls-panel{background:var(--bg-panel-hover)}.export-actions{display:flex;gap:8px;margin-bottom:10px}.export-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:var(--border-thin);border-radius:4px;font-family:var(--font-family);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .1s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-flat)}.export-btn:hover{transform:translate(.5px,.5px);box-shadow:1px 1px 0 var(--color-offblack)}.export-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--color-offblack)}.export-btn--primary{background:var(--color-offblack);color:var(--color-offwhite)}.export-btn--primary:disabled{opacity:.6;cursor:not-allowed}.export-btn--secondary{background:var(--color-offwhite);color:var(--color-offblack)}.export-spinner{width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-offwhite);border-radius:50%;animation:spin .6s linear infinite}.export-hint{font-size:.45rem;color:var(--color-muted);text-align:center;letter-spacing:.02em}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-record{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 #ff3b3066}50%{transform:scale(1.2);opacity:.8;box-shadow:0 0 0 4px #ff3b3000}}@keyframes slideUpCenter{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-muted);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-offblack)}.placing-mode{cursor:crosshair!important}.placing-mode canvas{cursor:crosshair!important}.debug-toggle-btn{position:fixed;top:10px;right:16px;z-index:10001;width:24px;height:24px;border:var(--border-thin);border-radius:4px;background:var(--bg-panel);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--color-muted);font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease;opacity:.4;box-shadow:var(--shadow-sm)}.debug-toggle-btn:hover{opacity:1;box-shadow:var(--shadow-flat);color:var(--color-offblack)}.debug-panel{position:fixed;top:42px;right:16px;z-index:10000;min-width:240px;background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--border-thin);border-radius:6px;box-shadow:var(--shadow-lg);padding:10px 14px;font-family:var(--font-family);font-size:.52rem;color:var(--color-offblack);line-height:1.6;animation:fadeIn .15s ease both}.debug-section-label{font-weight:800;font-size:.48rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.debug-fps-summary{font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:6px}.debug-section-entries{border-top:1px solid var(--color-light-gray);padding-top:4px}.debug-entry{margin-bottom:3px}.debug-entry-row{display:flex;justify-content:space-between;align-items:baseline}.debug-entry-value{font-weight:700;font-variant-numeric:tabular-nums}.debug-bar-track{height:2px;background:var(--color-light-gray);border-radius:1px;margin-top:1px}.debug-bar-fill{height:100%;border-radius:1px;transition:width .25s ease}.debug-divider{height:1px;background:var(--color-light-gray);margin:8px 0}.debug-toggles{display:flex;flex-direction:column;gap:2px}.debug-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px 0;-webkit-user-select:none;user-select:none;transition:opacity .12s ease}.debug-toggle-row:hover{opacity:.8}.debug-toggle-row--disabled{opacity:.25;pointer-events:none}.debug-checkbox{width:10px;height:10px;border-radius:2px;border:var(--border-thin);background:var(--color-offwhite);flex-shrink:0;transition:all .1s ease;box-shadow:1px 1px 0 var(--color-offblack)}.debug-checkbox--active{background:var(--color-offblack);box-shadow:0 0 0 var(--color-offblack);transform:translate(1px,1px)}.debug-toggle-label--off{color:var(--color-muted)}.performance-drawer{background:#121417!important;border-top:2px solid var(--color-offblack);max-height:60vh;box-shadow:0 -8px 32px #0006;color:#e5e2da}.perf-deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;width:100%}@media(min-width:1200px){.perf-deck-grid{grid-template-columns:1.1fr 1.6fr 1.1fr 1.2fr}}.perf-deck-cell{background:#191c22;border:1px solid #232832;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.perf-cell-header{display:flex;align-items:center;gap:6px;font-family:var(--font-family);font-size:.5rem;font-weight:800;color:#8a857b;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #232832;padding-bottom:4px}.perf-cell-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.perf-cell-title{flex:1}.perf-cell-badge{font-size:.42rem;background:#2eba5e26;color:#2eba5e;padding:1px 4px;border-radius:2px;font-weight:900}.perf-cell-reset-btn{background:#232832;border:1px solid #3a3f4b;color:#e5e2da;font-size:.42rem;font-weight:800;padding:1px 6px;border-radius:2px;cursor:pointer;transition:all .1s ease}.perf-cell-reset-btn:hover{background:#323846;color:var(--color-offwhite)}.scope-container{flex:1;display:flex;align-items:center;justify-content:center;border-radius:4px;overflow:hidden;border:1px solid #101216}.oscilloscope-canvas{width:100%;height:100px;display:block}.pads-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:8px;flex:1}.perf-pad{border:1.5px solid #000;border-radius:6px;padding:12px 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;cursor:pointer;font-family:var(--font-family);-webkit-user-select:none;user-select:none;transition:all .1s cubic-bezier(.19,1,.22,1);box-shadow:2px 2px #000;position:relative;overflow:hidden}.perf-pad:hover{transform:translate(.5px,.5px);box-shadow:1.5px 1.5px #000}.perf-pad:active,.perf-pad--active{transform:translate(2px,2px)!important;box-shadow:0 0 #000!important;animation:pad-pulse .35s ease infinite}@keyframes pad-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}.pad-key{font-size:.52rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:5px}.pad-shortcut{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid currentColor;border-radius:2px;font-size:.42rem;font-weight:800;opacity:.6;flex-shrink:0;line-height:1}.perf-pad--active .pad-shortcut{opacity:1;border-color:#ffffffb3}.pad-sub{font-size:.38rem;font-weight:700;margin-top:3px;opacity:.6}.perf-pad--stutter{background:#251714;color:#ff8a65;border-color:#5d2516}.perf-pad--stutter:hover{background:#2e1c18}.perf-pad--stutter.perf-pad--active{background:#ff5722!important;color:#fff!important;border-color:#ff5722!important;box-shadow:0 0 14px #ff572299,inset 0 0 10px #ff572240!important}.perf-pad--dub{background:#111d2b;color:#64b5f6;border-color:#172d47}.perf-pad--dub:hover{background:#15263a}.perf-pad--dub.perf-pad--active{background:#007aff!important;color:#fff!important;border-color:#007aff!important;box-shadow:0 0 14px #007aff99,inset 0 0 10px #007aff40!important}.perf-pad--tape{background:#242211;color:#ffd54f;border-color:#383416}.perf-pad--tape:hover{background:#2f2c16}.perf-pad--tape.perf-pad--active{background:#fc0!important;color:#121417!important;border-color:#fc0!important;box-shadow:0 0 14px #fc09,inset 0 0 10px #ffcc0040!important}.perf-pad--reverb{background:#1d182b;color:#b39ddb;border-color:#2b2144}.perf-pad--reverb:hover{background:#261f3a}.perf-pad--reverb.perf-pad--active{background:#9b5de5!important;color:#fff!important;border-color:#9b5de5!important;box-shadow:0 0 14px #9b5de599,inset 0 0 10px #9b5de540!important}.perf-pad--gater{background:#12241b;color:#81c784;border-color:#183325}.perf-pad--gater:hover{background:#172d21}.perf-pad--gater.perf-pad--active{background:#2eba5e!important;color:#fff!important;border-color:#2eba5e!important;box-shadow:0 0 14px #2eba5e99,inset 0 0 10px #2eba5e40!important}.perf-pad--choke{background:#2c1417;color:#ef9a9a;border-color:#44181a}.perf-pad--choke:hover{background:#3a191d}.perf-pad--choke.perf-pad--active{background:#ff3b30!important;color:#fff!important;border-color:#ff3b30!important;box-shadow:0 0 14px #ff3b3099,inset 0 0 10px #ff3b3040!important}.xy-pad{flex:1;position:relative;background-color:#0d0f12;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:16px 16px;border:1px solid #101216;border-radius:4px;overflow:hidden;cursor:crosshair;min-height:120px;-webkit-user-select:none;user-select:none}.xy-label{position:absolute;font-family:var(--font-family);font-size:.38rem;font-weight:800;color:#4b4f58;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.xy-label--left{left:6px;top:50%;transform:translateY(-50%)}.xy-label--right{right:6px;top:50%;transform:translateY(-50%)}.xy-label--top{top:6px;left:50%;transform:translate(-50%)}.xy-label--center{left:50%;top:50%;transform:translate(-50%,-50%);color:#2b2f36;font-size:.42rem;border:1px dashed rgba(255,255,255,.015);padding:4px 8px;border-radius:3px}.xy-crosshair{position:absolute;width:1px;height:1px;pointer-events:none}.xy-ring{position:absolute;width:24px;height:24px;border:1.5px solid var(--accent-orange);border-radius:50%;top:-12px;left:-12px;box-shadow:0 0 10px #ff572266;animation:pulse-glow 1.5s infinite}.xy-dot{position:absolute;width:6px;height:6px;background:var(--accent-orange);border-radius:50%;top:-3px;left:-3px}.perf-sliders-container{display:flex;flex-direction:column;gap:12px;justify-content:center;flex:1}.perf-param-row{display:flex;align-items:center;gap:10px}.perf-param-label{font-size:.45rem;font-weight:800;color:#8a857b;text-transform:uppercase;min-width:60px}.perf-param-val{font-size:.48rem;font-weight:800;color:var(--color-offwhite);min-width:30px;text-align:right}.perf-selector-group{display:flex;border:1px solid #232832;border-radius:4px;overflow:hidden;flex:1}.perf-selector-btn{flex:1;background:#191c22;border:none;border-right:1px solid #232832;color:#8a857b;font-family:var(--font-family);font-size:.44rem;font-weight:800;padding:4px 0;cursor:pointer;transition:all .1s ease;text-transform:uppercase}.perf-selector-btn:last-child{border-right:none}.perf-selector-btn:hover{background:#232832;color:var(--color-offwhite)}.perf-selector-btn--active{background:#e5e2da!important;color:#121417!important;font-weight:900}.perf-slider-input{flex:1;-webkit-appearance:none;background:#0d0f12;height:6px;border-radius:3px;outline:none;border:1px solid #232832}.perf-slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#e5e2da;border:1px solid #000;cursor:pointer;box-shadow:1px 1px #000;transition:background .1s ease}.perf-slider-input--dub::-webkit-slider-thumb{background:#64b5f6;border-color:#000}.perf-slider-input::-webkit-slider-thumb:hover{background:#fff}.region-picker{position:absolute;bottom:calc(var(--transport-height) + 12px);right:12px;z-index:16;pointer-events:auto;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.region-pill{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-thin);border-radius:5px;box-shadow:var(--shadow-sm);font-family:var(--font-family);font-size:.55rem;font-weight:700;color:var(--color-offblack);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.04em}.region-pill:hover{box-shadow:var(--shadow-flat);transform:translate(-.5px,-.5px)}.region-pill--open{background:var(--color-offblack);color:var(--color-offwhite);box-shadow:0 0 0 var(--color-offblack);transform:translate(1px,1px)}.region-pill-icon{font-size:.7rem;color:var(--accent-orange);line-height:1}.region-pill--open .region-pill-icon{color:var(--accent-orange)}.region-pill-label{font-weight:800}.region-pill-pressure{color:var(--color-muted);font-size:.48rem;font-weight:600;font-variant-numeric:tabular-nums}.region-pill--open .region-pill-pressure{color:#ffffff80}.region-dropdown{background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--border-thin);border-radius:6px;box-shadow:var(--shadow-lg);min-width:180px;max-height:320px;overflow:hidden;display:flex;flex-direction:column;animation:fadeIn .15s ease both}.region-dropdown-header{padding:8px 12px 6px;font-size:.45rem;font-weight:800;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-light-gray)}.region-dropdown-list{overflow-y:auto;padding:4px 0}.region-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:transparent;color:var(--color-offblack);font-family:var(--font-family);font-size:.52rem;font-weight:700;cursor:pointer;transition:all .1s ease;text-align:left}.region-option:hover{background:var(--bg-panel-hover)}.region-option--active{background:#ff57220f}.region-option--active:hover{background:#ff57221a}.region-option-dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--color-muted);flex-shrink:0;transition:all .12s ease}.region-option-dot--active{background:var(--accent-orange);border-color:var(--accent-orange);box-shadow:0 0 4px #ff57224d}.region-option-label{flex:1}.region-option-pressure{font-size:.48rem;font-weight:600;color:var(--color-muted);font-variant-numeric:tabular-nums}.region-option--active .region-option-label{color:var(--accent-orange);font-weight:800}.region-option--active .region-option-pressure{color:var(--accent-orange);opacity:.7}.perf-cell-toggle-btn{background:#232832;border:1px solid #3a3f4b;color:#8a857b;font-family:var(--font-family);font-size:.42rem;font-weight:900;padding:2px 8px;border-radius:3px;cursor:pointer;transition:all .12s ease;letter-spacing:.06em;text-transform:uppercase}.perf-cell-toggle-btn:hover{background:#323846;color:#e5e2da}.perf-cell-toggle-btn--active{background:#e0948e!important;color:#121417!important;border-color:#e0948e!important;box-shadow:0 0 6px #e0948e66}.wind-bind-empty{font-size:.48rem;color:#4b4f58;text-align:center;padding:16px 8px;font-weight:600;font-style:italic}.wind-bind-controls{display:flex;gap:12px;align-items:flex-start}.wind-bind-compass{position:relative;width:64px;height:64px;border-radius:50%;background:#0d0f12;border:1.5px solid #232832;flex-shrink:0}.wind-bind-compass-needle{position:absolute;top:8px;left:50%;width:2px;height:24px;margin-left:-1px;background:linear-gradient(to bottom,#e0948e 60%,transparent 60%);transform-origin:bottom center;transition:transform .4s cubic-bezier(.25,.46,.45,.94);border-radius:1px}.wind-bind-compass-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:.42rem;font-weight:800;color:#e5e2da;font-variant-numeric:tabular-nums}.wind-bind-compass-cardinal{position:absolute;font-size:.34rem;font-weight:900;color:#4b4f58;letter-spacing:0}.wind-bind-compass-n{top:2px;left:50%;transform:translate(-50%);color:#e0948e}.wind-bind-compass-e{right:4px;top:50%;transform:translateY(-50%)}.wind-bind-compass-s{bottom:2px;left:50%;transform:translate(-50%)}.wind-bind-compass-w{left:4px;top:50%;transform:translateY(-50%)}.wind-bind-params{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1}.wind-bind-param-btn{display:flex;flex-direction:column;align-items:center;padding:8px 4px;background:#191c22;border:1.5px solid #232832;border-radius:5px;cursor:pointer;transition:all .12s ease;font-family:var(--font-family);box-shadow:1.5px 1.5px #000}.wind-bind-param-btn:hover:not(:disabled){background:#232832;transform:translate(.5px,.5px);box-shadow:1px 1px #000}.wind-bind-param-btn:disabled{opacity:.35;cursor:not-allowed}.wind-bind-param-btn--active{background:#e0948e1f!important;border-color:#e0948e!important;box-shadow:0 0 6px #e0948e33}.wind-bind-param-name{font-size:.44rem;font-weight:800;color:#e5e2da;text-transform:uppercase;letter-spacing:.04em}.wind-bind-param-btn--active .wind-bind-param-name{color:#e0948e}.wind-bind-param-desc{font-size:.36rem;font-weight:700;color:#4b4f58;margin-top:2px}.layer-dot--windsock{background:#e0948e!important}.place-fab--windsock{background:var(--color-offwhite);font-size:.75rem;line-height:1}.place-fab--windsock:hover,.place-fab--windsock.place-fab--active{background:#e0948e;color:#fff}@media(min-width:1200px){.perf-deck-grid{grid-template-columns:1.1fr 1.6fr 1.1fr 1.2fr 1.2fr}}.dice-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:var(--border-thin);border-radius:5px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);cursor:pointer;perspective:200px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;pointer-events:auto;flex-shrink:0;transition:all .15s ease}.dice-button:hover{box-shadow:var(--shadow-flat);transform:translate(-1px,-1px)}.dice-button:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--color-offblack)}.dice-button--rolling{pointer-events:none;box-shadow:0 0 8px #007aff4d;border-color:var(--accent-blue)}.dice-scene{width:18px;height:18px;perspective:180px}.dice-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.22,1.2,.36,1)}.dice-button--rolling .dice-cube{transition:transform .8s cubic-bezier(.12,0,.39,0)}.dice-face{position:absolute;width:18px;height:18px;border:1.5px solid var(--color-offblack);border-radius:2.5px;background:var(--color-offwhite);display:grid;padding:2.5px;box-shadow:inset 0 0 0 .5px #0000000a}.dice-face--1{transform:translateZ(9px);place-items:center;grid-template:1fr / 1fr}.dice-face--2{transform:rotateY(90deg) translateZ(9px);grid-template-rows:1fr 1fr;grid-template-columns:1fr;align-items:center;justify-items:center}.dice-face--2 .dice-pip:nth-child(1){justify-self:end;align-self:start}.dice-face--2 .dice-pip:nth-child(2){justify-self:start;align-self:end}.dice-face--3{transform:rotateX(90deg) translateZ(9px);grid-template:1fr 1fr 1fr / 1fr;align-items:center;justify-items:center}.dice-face--3 .dice-pip:nth-child(1){justify-self:end;align-self:start}.dice-face--3 .dice-pip:nth-child(2){justify-self:center;align-self:center}.dice-face--3 .dice-pip:nth-child(3){justify-self:start;align-self:end}.dice-face--4{transform:rotateX(-90deg) translateZ(9px);grid-template:1fr 1fr / 1fr 1fr;align-items:center;justify-items:center}.dice-face--5{transform:rotateY(-90deg) translateZ(9px);grid-template:1fr 1fr 1fr / 1fr 1fr;align-items:center;justify-items:center}.dice-face--5 .dice-pip:nth-child(5){grid-column:1 / -1;justify-self:center}.dice-face--6{transform:rotateY(180deg) translateZ(9px);grid-template:1fr 1fr 1fr / 1fr 1fr;align-items:center;justify-items:center}.dice-pip{width:3px;height:3px;border-radius:50%;background:var(--color-offblack)}.dice-button--rolling .dice-face{box-shadow:inset 0 0 0 .5px #0000000a,0 0 4px #007aff33}.mixer-strip{width:min-content;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 10px 8px;background:#1a1b1e;border:1px solid #2e2f33;border-radius:6px;box-shadow:0 2px 12px #0006,inset 0 1px #ffffff0a;-webkit-user-select:none;user-select:none;animation:fadeIn .25s ease both}.mixer-strip-label{font-size:.38rem;font-weight:800;color:#6b6d72;text-transform:uppercase;letter-spacing:.12em}.mixer-channels{display:flex;gap:8px}.mixer-channel{display:flex;flex-direction:column;align-items:center;gap:5px;padding:2px 0;transition:opacity .2s ease}.mixer-channel--inactive{opacity:.25;pointer-events:none}.mixer-led{width:5px;height:5px;border-radius:50%;flex-shrink:0;transition:opacity .15s ease,background .15s ease}.mixer-fader-track{width:14px;height:120px;position:relative;cursor:ns-resize;touch-action:none;border-radius:3px;background:#ffffff05}.mixer-fader-track:hover{background:#ffffff0a}.mixer-fader-groove{position:absolute;left:50%;top:4px;bottom:4px;width:3px;transform:translate(-50%);background:#2a2b2f;border-radius:1.5px;overflow:hidden}.mixer-fader-fill{position:absolute;left:0;right:0;bottom:0;border-radius:1.5px;transition:height 30ms linear}.mixer-fader-thumb{position:absolute;left:50%;width:12px;height:5px;transform:translate(-50%,50%);background:#c8c9cc;border-radius:1px;pointer-events:none;box-shadow:0 0 3px #00000080;transition:background .1s ease,box-shadow .1s ease,width .1s ease}.mixer-fader-track:hover .mixer-fader-thumb{background:var(--fader-color, #c8c9cc);box-shadow:0 0 6px color-mix(in srgb,var(--fader-color, #c8c9cc) 50%,transparent);width:14px}.mixer-fader-track:active .mixer-fader-thumb{background:var(--fader-color, #c8c9cc);box-shadow:0 0 10px color-mix(in srgb,var(--fader-color, #c8c9cc) 60%,transparent);width:16px}.mixer-channel-label{font-size:.35rem;font-weight:800;color:#6b6d72;text-transform:uppercase;letter-spacing:.06em;line-height:1;transition:color .15s ease}.mixer-channel:hover .mixer-channel-label{color:#a0a2a6}.master-bus-floating{position:absolute;top:52px;right:12px;z-index:15;pointer-events:auto;-webkit-user-select:none;user-select:none}.master-bus-section{width:180px;display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#1a1b1e;border:1px solid #2e2f33;border-radius:6px;box-shadow:0 2px 12px #0006,inset 0 1px #ffffff0a;-webkit-user-select:none;user-select:none;animation:fadeIn .25s ease both;transition:opacity .2s ease}.master-bus-section--bypassed{opacity:.4}.master-bus-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.master-bus-title{font-size:.38rem;font-weight:800;color:#6b6d72;text-transform:uppercase;letter-spacing:.12em}.master-bus-bypass{font-family:var(--font-family);font-size:.32rem;font-weight:900;color:#2eba5e;background:#2eba5e14;border:1px solid rgba(46,186,94,.2);border-radius:3px;padding:1px 5px;cursor:pointer;transition:all .12s ease;text-transform:uppercase;letter-spacing:.06em}.master-bus-bypass:hover{background:#2eba5e26}.master-bus-bypass--off{color:#ff3b30;background:#ff3b3014;border-color:#ff3b3033}.master-bus-bypass--off:hover{background:#ff3b3026}.master-meters{display:flex;flex-direction:column;gap:3px}.master-meter-row{display:flex;align-items:center;gap:5px}.master-meter-row--compact{gap:4px}.master-meter-label{font-size:.32rem;font-weight:800;color:#5a5c60;text-transform:uppercase;letter-spacing:.04em;min-width:22px;text-align:right;flex-shrink:0}.master-meter-label--corr{min-width:10px;margin-left:4px;text-align:center;font-size:.36rem;color:#6b6d72}.master-meter-track{flex:1;height:6px;background:#0d0f12;border-radius:3px;border:1px solid #232832;position:relative;overflow:hidden;min-width:80px}.master-meter-track--gr{min-width:50px;flex:.6}.master-meter-fill{position:absolute;left:0;top:0;bottom:0;border-radius:2px;transition:width 80ms linear,background .2s ease}.master-meter-fill--peak{background:linear-gradient(to right,#2eba5e,#fc0 70%,#ff3b30 95%)}.master-meter-fill--gr{background:#e5a84b;right:0;left:auto}.master-meter-value{font-size:.34rem;font-weight:800;color:#8a8c90;min-width:28px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.master-meter-target{position:absolute;top:0;bottom:0;width:1px;background:#ffffff40;z-index:1}.master-meter-target--club{background:#ff572259}.master-correlation-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .2s ease;box-shadow:0 0 4px currentColor}.master-knobs{display:flex;gap:6px;justify-content:space-between}.master-knob-group{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.master-knob-input{-webkit-appearance:none;width:100%;height:5px;background:#0d0f12;border-radius:2.5px;outline:none;border:1px solid #232832}.master-knob-input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:#c8c9cc;border:1px solid #000;cursor:pointer;box-shadow:1px 1px #000;transition:background .1s ease}.master-knob-input::-webkit-slider-thumb:hover{background:#e5e2da}.master-knob-input::-webkit-slider-thumb:active{background:#fff;box-shadow:0 0 6px #ffffff4d}.master-knob-label{font-size:.3rem;font-weight:800;color:#5a5c60;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.master-knob-group:hover .master-knob-label{color:#a0a2a6}
