@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600&family=Sora:wght@400;500;600&display=swap";:root{--font-ui: "Sora", "Segoe UI", sans-serif;--font-display: "Cormorant Garamond", "Times New Roman", serif;font-family:var(--font-ui);line-height:1.45;font-weight:400;color:#f4f7fb;background-color:#0b0d10;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-3xs: .5rem;--text-2xs: .55rem;--text-xs: .6rem;--text-sm: .65rem;--text-md: .7rem;--text-base: .75rem;--text-lg: .85rem;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 10px;--radius-3xl: 12px;--radius-4xl: 14px;--radius-pill: 999px;--bg-0: #0a0c10;--bg-1: #0f1319;--steel-0: #161c23;--steel-1: #1f2832;--steel-2: #2a3644;--glass-0: rgba(15, 20, 28, .62);--glass-1: rgba(24, 32, 42, .78);--glass-2: rgba(12, 16, 22, .7);--glass-3: rgba(12, 16, 22, .9);--glass-4: rgba(30, 40, 55, .8);--glass-5: rgba(30, 40, 55, .9);--glass-panel: rgba(50, 65, 85, .9);--glass-overlay: rgba(0, 0, 0, .3);--glass-dark: rgba(8, 12, 18, .7);--border-soft: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--text-strong: #f2f6fb;--text-muted: rgba(214, 224, 238, .72);--text-dim: rgba(214, 224, 238, .45);--accent-cool: #5bb6ff;--accent-mint: #42e2b1;--accent-mint-dark: #2eb88d;--accent-warm: #f0b06b;--accent-rose: #ff6fae;--accent-ink: #0b1115;--jack-audio: var(--accent-cool);--jack-cv: var(--accent-mint);--jack-gate: var(--accent-warm);--jack-sync: var(--accent-rose);--knob-color: var(--accent-mint);--shadow-soft: 0 12px 24px rgba(0, 0, 0, .32);--shadow-deep: 0 30px 60px rgba(0, 0, 0, .55);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .5);--shadow-glow-mint: 0 0 8px var(--accent-mint);--shadow-glow-cool: 0 0 8px var(--accent-cool);--transition-fast: all .1s ease;--transition-normal: all .15s ease;--transition-slow: all .2s ease}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;position:relative;background:radial-gradient(circle at 18% 12%,rgba(86,140,200,.24),transparent 42%),radial-gradient(circle at 90% 8%,rgba(64,175,140,.2),transparent 38%),radial-gradient(circle at 55% 85%,rgba(216,150,92,.18),transparent 48%),linear-gradient(155deg,#0b0e12,#0a0c10,#06070a);color:inherit}body:before{content:"";position:fixed;inset:0;background-image:repeating-linear-gradient(120deg,rgba(255,255,255,.05) 0px,rgba(255,255,255,.05) 1px,transparent 1px,transparent 6px),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 4px);opacity:.32;pointer-events:none;z-index:-1}body:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 20%,transparent 40%,rgba(0,0,0,.55) 100%);opacity:.6;pointer-events:none;z-index:-1}#root{min-height:100vh}a{color:inherit}.app{min-height:100vh;display:flex;flex-direction:column;gap:24px;padding:28px 36px 40px}.topbar-head{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}.topbar-body{display:flex;align-items:center;justify-content:space-between;gap:20px}.status-block{display:flex;align-items:center;gap:12px}.engine-led{width:10px;height:10px;border-radius:var(--radius-pill);background:#8ca0b499;box-shadow:0 0 #0003}.engine-led--idle{background:#788ca0cc}.engine-led--running{background:#6fe9a7;box-shadow:0 0 10px #6fe9a780}.engine-led--error{background:#ff8a8a;box-shadow:0 0 10px #ff8a8a80}.status-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.status-row{display:flex;align-items:center;gap:10px}.transport-block,.dev-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.dev-toggles{display:flex;gap:6px}.dev-toggle{--ui-btn-padding: 6px 12px;--ui-btn-font: .55rem;--ui-btn-letter: .18em;--ui-btn-bg: rgba(20, 26, 34, .9);--ui-btn-border: rgba(100, 114, 136, .8)}.action-label{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:#b2c8dab3}.power-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-pill);border:1px solid var(--border-strong);overflow:hidden;background:#0c121866}.power-toggle-btn{border:none;border-radius:0;padding:8px 14px;min-width:70px;background:transparent;color:#dce8f6e6;box-shadow:none}.power-toggle-btn.active{background:linear-gradient(135deg,#f8d087,#e8a35a);color:var(--accent-ink);box-shadow:inset 0 0 10px #1e120859}.power-toggle-btn:disabled{opacity:.55;cursor:not-allowed}.brand{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.08em;text-transform:uppercase}.subtitle{font-size:var(--text-lg);color:var(--text-muted);margin-top:4px}.status{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.status-pill{padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--text-base);letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.2);background:#0c1016b8}.status-idle{color:#c4d4e8d9;background:#1c242ebf}.status-running{color:#d8ffec;background:#185c44b3}.status-error{color:#ffe1dc;background:#88303ab3}.status-detail{font-size:var(--text-base);color:var(--text-dim)}.status-mode{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:#b2c8dab3}.actions{display:flex;align-items:center;gap:10px}.button{font:inherit;border-radius:var(--radius-pill);padding:10px 20px;border:1px solid var(--border-strong);background:#121820b3;color:var(--text-strong);cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.button:disabled{cursor:not-allowed;opacity:.6}.button.primary{background:linear-gradient(135deg,#f8d087,#e8a35a);color:var(--accent-ink);border:1px solid rgba(255,255,255,.35);box-shadow:0 14px 26px #1e120866}.button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 36px #1e120880}.button.ghost{background:#0c121859;color:var(--text-strong);border:1px solid rgba(255,255,255,.22)}.button.outline{background:transparent;color:var(--text-strong);border:1px solid var(--border-strong);width:100%}.workbench{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(220px,1fr);gap:22px;align-items:start}.rack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;position:relative;z-index:1}.rack-title{display:flex;align-items:center;gap:12px}.rack-title .panel-title{font-size:1.2rem;letter-spacing:.08em}.rack-meta{font-size:var(--text-lg);color:var(--text-dim)}.patch-layer{position:fixed;inset:0;z-index:1000;pointer-events:none}.patch-canvas{width:100%;height:100%;pointer-events:none;display:block;overflow:visible}.module-size-1x1{grid-column:span 1;grid-row:span 1}.module-size-1x2{grid-column:span 1;grid-row:span 2}.module-size-1x3{grid-column:span 1;grid-row:span 3}.module-size-2x1{grid-column:span 2;grid-row:span 1}.module-size-2x2{grid-column:span 2;grid-row:span 2}.module-size-2x3{grid-column:span 2;grid-row:span 3}.module-size-2x4{grid-column:span 2;grid-row:span 4}.module-size-2x5{grid-column:span 2;grid-row:span 5}.module-size-2x6{grid-column:span 2;grid-row:span 6}.module-size-3x2{grid-column:span 3;grid-row:span 2}.module-size-3x3{grid-column:span 3;grid-row:span 3}.module-size-3x4{grid-column:span 3;grid-row:span 4}.module-remove{padding:4px 6px;font-size:.5rem;letter-spacing:.18em}.module-remove:hover{--ui-btn-border: rgba(232, 120, 110, .8);--ui-btn-text: rgba(255, 220, 210, .95)}.rack{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 15px),linear-gradient(180deg,#0c0c0c,#1a1a1a,#0c0c0c);border-radius:var(--radius-xl);position:relative;padding:16px 24px;box-shadow:inset 0 4px 20px #000c,0 10px 40px #0009;overflow:hidden;isolation:isolate;-webkit-user-select:none;user-select:none}.rack *{-webkit-user-select:none;user-select:none}.rack:before,.rack:after{content:"";position:absolute;left:0;right:0;height:14px;background:linear-gradient(180deg,#4a4a4a,#3a3a3a 30%,#2a2a2a 70%,#1a1a1a);box-shadow:inset 0 1px #fff3,inset 0 -1px #0006,0 2px 8px #00000080;z-index:10}.rack:before{top:0;border-radius:8px 8px 0 0}.rack:after{bottom:0;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#1a1a1a,#2a2a2a 30%,#3a3a3a 70%,#4a4a4a)}.modules{position:relative;z-index:1;display:grid;--rack-unit-x: 200px;--rack-unit-y: 120px;--rack-gap: 4px;--rack-pad-y: 12px;padding:var(--rack-pad-y) 0;gap:var(--rack-gap);grid-template-columns:repeat(auto-fill,minmax(var(--rack-unit-x),var(--rack-unit-x)));grid-auto-rows:var(--rack-unit-y)}.rack-grid-overlay{position:absolute;inset:0;padding:var(--rack-pad-y) 0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.12) 1px,transparent 1px);background-size:calc(var(--rack-unit-x) + var(--rack-gap)) calc(var(--rack-unit-y) + var(--rack-gap));background-position:0 0;background-origin:content-box;background-clip:content-box;opacity:.8}.module-card{--panel-color: #1a1f2e;--control-min: 44px;--dial-size: 28px;--dial-center-inset: 7px;--dial-indicator-height: 6px;--dial-indicator-offset: -9px;--rotary-label-size: 6px;--rotary-readout-size: 6px;--rotary-readout-pad-x: 2px;--rotary-readout-pad-y: 1px;--rotary-input-width: 40px;container-type:inline-size;container-name:module-card;position:relative;z-index:1;border-radius:var(--radius-sm);background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0px,rgba(255,255,255,.015) 1px,transparent 1px,transparent 3px),linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 3%,transparent 97%,rgba(0,0,0,.2) 100%),linear-gradient(90deg,rgba(255,255,255,.05) 0%,transparent 2%,transparent 98%,rgba(0,0,0,.1) 100%),var(--panel-color);border:none;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px 0 var(--glass-overlay),2px 0 4px var(--glass-overlay),-2px 0 4px var(--glass-overlay);padding:4px 4px 6px;gap:4px;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;height:100%}@container module-card (max-width: 170px){.module-card{--control-min: 40px;--dial-size: 24px;--dial-center-inset: 6px;--dial-indicator-height: 5px;--dial-indicator-offset: -8px;--rotary-label-size: 5px;--rotary-readout-size: 5px;--rotary-readout-pad-x: 2px;--rotary-readout-pad-y: 1px;--rotary-input-width: 36px}}@container module-card (min-width: 260px){.module-card{--control-min: 52px;--dial-size: 30px;--dial-center-inset: 8px;--dial-indicator-height: 7px;--dial-indicator-offset: -10px;--rotary-label-size: 7px;--rotary-readout-size: 7px;--rotary-readout-pad-x: 3px;--rotary-readout-pad-y: 1px;--rotary-input-width: 46px}}.module-card:before,.module-card:after{display:none}.module-resize-handle{position:absolute;right:4px;bottom:4px;width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(135deg,#ffffff40,#fff0),#080c1299;box-shadow:inset 0 1px 2px #0009,0 0 6px #42e2b140;cursor:nwse-resize;opacity:.55;touch-action:none}.module-card:hover .module-resize-handle{opacity:.9}.module-drag-ghost{pointer-events:none;border-radius:var(--radius-sm);border:1px dashed rgba(66,226,177,.7);background:#42e2b114;box-shadow:inset 0 0 0 1px #42e2b140;z-index:3}.module-drag-ghost.invalid{border-color:#ff7878d9;background:#ff78781f;box-shadow:inset 0 0 0 1px #ff787859}.module-resize-ghost{pointer-events:none;border-radius:var(--radius-sm);border:1px dashed rgba(248,208,135,.8);background:#f8d08714;box-shadow:inset 0 0 0 1px #f8d08740;z-index:2}.module-resize-ghost.invalid{border-color:#ff7878d9;background:#ff78781f;box-shadow:inset 0 0 0 1px #ff787859}.module-card[data-module-type=oscillator]{--panel-color: #1a1f2e}.module-card[data-module-type=vcf]{--panel-color: #1e2a1f}.module-card[data-module-type=gain]{--panel-color: #2a1f1e}.module-card[data-module-type=adsr]{--panel-color: #2a2a1e}.module-card[data-module-type=lfo]{--panel-color: #1e1e2a}.module-card[data-module-type=mixer]{--panel-color: #1f2a2a}.module-card[data-module-type=chorus]{--panel-color: #251e2a}.module-card[data-module-type=delay]{--panel-color: #1e2528}.module-card[data-module-type=reverb]{--panel-color: #1e2025}.module-card[data-module-type=output]{--panel-color: #2a1e2a}.module-card[data-module-type=control]{--panel-color: #1a2025}.module-card[data-module-type=scope]{--panel-color: #1a2320}.module-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:2px;margin-bottom:0;border-bottom:1px solid var(--border-soft);gap:2px;cursor:grab}.module-actions{display:flex;align-items:center;gap:6px}.module-name{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.8)}.module-subtitle{display:none}.module-badge{font-size:7px;padding:3px 6px;border-radius:var(--radius-sm);background:#0006;border:1px solid rgba(255,255,255,.1)}.module-body{display:flex;flex:1;gap:4px;min-height:0;padding-top:2px}:is(.module-size-1x1,.module-size-2x1,.module-size-3x1) .module-header{gap:2px}:is(.module-size-1x1,.module-size-2x1,.module-size-3x1) .module-body{gap:2px}:is(.module-size-1x1,.module-size-2x1,.module-size-3x1) .ports-side{padding:2px}.ports-side{display:flex;flex-direction:column;gap:3px;justify-content:flex-start;padding:3px;background:#00000040;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.06)}.ports-side--left{align-items:flex-start;border-top-left-radius:4px;border-bottom-left-radius:4px}.ports-side--right{align-items:flex-end;border-top-right-radius:4px;border-bottom-right-radius:4px}.port-side-item{display:flex;align-items:center;gap:2px}.ports-side--left .port-side-item,.ports-side--right .port-side-item{flex-direction:row}.port-side-label{font-size:6px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffff80;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.8)}.module-ports,.ports-group,.ports-title,.ports-column,.port-group,.port-label,.port-kind{display:none}.jack{--jack-color: var(--accent-mint);width:18px;height:18px;min-width:18px;min-height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#555,#2a2a2a 50%,#1a1a1a);border:none;box-shadow:inset 0 1px 3px #ffffff26,inset 0 -1px 3px #00000080,0 1px 4px #0006;position:relative;flex-shrink:0}.jack:before{content:"";position:absolute;inset:2px;border-radius:50%;background:linear-gradient(145deg,#2a2a2a,#0a0a0a);box-shadow:inset 0 1px 2px #000c}.jack:after{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#1a1a1a,#000);box-shadow:inset 0 1px 1px #000000e6,0 0 0 1px var(--jack-color),0 0 4px var(--jack-color);opacity:.7}.jack.kind-audio{--jack-color: var(--accent-cool)}.jack.kind-cv{--jack-color: var(--accent-mint)}.jack.kind-gate{--jack-color: var(--accent-warm)}.jack.kind-sync{--jack-color: var(--accent-rose)}.jack.connected:after{opacity:1;background:radial-gradient(circle at 40% 40%,var(--jack-color),#000 70%);box-shadow:inset 0 1px 2px #0009,0 0 8px var(--jack-color)}.jack.valid-target{animation:jack-pulse 1s ease-in-out infinite}@keyframes jack-pulse{0%,to{box-shadow:inset 0 2px 4px #ffffff26,inset 0 -2px 4px #00000080,0 0 0 1px #fff3,0 0 8px #ffffff1a}50%{box-shadow:inset 0 2px 4px #ffffff26,inset 0 -2px 4px #00000080,0 0 0 3px #fff6,0 0 16px #ffffff4d}}.jack.hover-target{transform:scale(1.15);box-shadow:inset 0 2px 4px #fff3,inset 0 -2px 4px #00000080,0 0 0 3px var(--jack-color),0 0 20px var(--jack-color)}.jack.hover-target:after{opacity:1;background:radial-gradient(circle at 40% 40%,var(--jack-color),#000 50%)}.rotary{display:grid;gap:2px;justify-items:center;text-align:center}.rotary-dial{--knob-color: var(--accent-mint);width:var(--dial-size, 28px);height:var(--dial-size, 28px);border-radius:50%;background:radial-gradient(circle at 35% 28%,#4a4a4a,#2a2a2a 50%,#1a1a1a);border:none;box-shadow:inset 0 2px 4px #ffffff26,inset 0 -4px 8px #0009,0 4px 12px #00000080;position:relative;touch-action:none}.rotary-dial:focus-visible{outline:2px solid var(--knob-color);outline-offset:3px}.rotary-dial:before{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#3a3a3a,#2a2a2a 60%,#1a1a1a);box-shadow:inset 0 2px 4px #00000080}.rotary-center{position:absolute;inset:var(--dial-center-inset, 7px);border-radius:50%;background:radial-gradient(circle at 40% 35%,#3a3a3a,#1a1a1a 70%);box-shadow:inset 0 1px 3px #0009}.rotary-indicator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(var(--angle))}.rotary-indicator:before{content:"";width:2px;height:var(--dial-indicator-height, 6px);transform:translateY(var(--dial-indicator-offset, -9px));border-radius:var(--radius-xs);background:linear-gradient(180deg,var(--knob-color),rgba(255,255,255,.9));box-shadow:0 0 8px var(--knob-color)}.rotary-label{font-size:var(--rotary-label-size, 6px);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff9;text-shadow:0 1px 2px rgba(0,0,0,.8)}.rotary-readout{font-size:var(--rotary-readout-size, 6px);font-weight:500;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--rotary-readout-pad-y, 1px) var(--rotary-readout-pad-x, 2px);color:#ffffffd9}.rotary-input{width:var(--rotary-input-width, 40px);padding:2px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.22);background:var(--glass-3);color:var(--text-strong);font:inherit;text-align:center}.module-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;align-items:start}.module-body .module-controls{flex:1;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(var(--control-min, 44px),1fr))!important;grid-auto-rows:min-content;gap:4px 4px;min-width:0;overflow:hidden;align-content:start;padding:2px}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--control-min, 44px),1fr));gap:4px;width:100%}.module-controls .control-grid{grid-column:1 / -1}.control-grid>.rotary{min-width:0;width:100%}.control-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(120px,1fr) minmax(220px,2fr);gap:12px;align-items:start}.control-row .waveform{grid-column:auto}.module-controls .control-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.module-controls .control-row>*{flex:1 1 auto;min-width:50px}.waveform{display:grid;gap:8px;text-align:center;grid-column:1 / -1}.waveform-label{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:#c6d4e49e}.waveform-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wave-icon{width:22px;height:22px}.wave-button-label{font-size:var(--text-2xs);letter-spacing:.18em}.wave-button{border-radius:var(--radius-lg);background:var(--glass-overlay);border:1px solid rgba(255,255,255,.12);padding:6px 4px;box-shadow:inset 0 1px #ffffff0d;color:#ffffffe6}.wave-button.active{background:linear-gradient(180deg,var(--accent-mint),var(--accent-mint-dark));border-color:var(--accent-mint);color:#0a0a0a;box-shadow:0 4px 12px #42e2b166}.module-controls .waveform{grid-column:1 / -1;gap:2px}.module-controls .waveform-label{font-size:6px}.module-controls .waveform-buttons{grid-template-columns:repeat(4,1fr);gap:2px}.module-controls .wave-button{display:grid;place-items:center;padding:4px;border-radius:var(--radius-md);gap:0;line-height:1}.module-controls .wave-icon{width:18px;height:18px}.module-controls .wave-button-label{display:none}.filter-row{grid-column:1 / -1;display:grid;gap:12px}.filter-group{display:grid;gap:6px}.filter-label{font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;color:#c6d4e4ad}.filter-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.filter-buttons.filter-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.module-controls .filter-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px}.module-controls .filter-row .filter-group{flex:1 1 auto;min-width:60px;gap:2px}.module-controls .filter-row .filter-label{font-size:6px}.module-controls .filter-row .filter-buttons{gap:2px}.module-controls .filter-row .filter-btn{padding:2px 3px;font-size:6px;border-radius:var(--radius-sm)}.toggle-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-column:1 / -1}.toggle-btn{--ui-btn-padding: 6px 8px;--ui-btn-letter: .18em;--ui-btn-text: rgba(198, 212, 228, .85);--ui-btn-bg: rgba(18, 24, 32, .88)}.meter-row{grid-column:1 / -1;display:flex;align-items:center;gap:6px}.meter-label{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:#c6d4e49e;min-width:36px}.meter-track{flex:1;height:6px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:#080c10a6;overflow:hidden}.meter-fill{height:100%;width:0%;background:linear-gradient(90deg,#6fe9a7,#f5d17a 70%,#f08f5a);box-shadow:0 0 6px #6fe9a78c}.control-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-column:1 / -1}.control-button{--ui-btn-radius: 12px;--ui-btn-padding: 8px 10px;--ui-btn-font: .65rem;--ui-btn-letter: .14em;--ui-btn-bg: rgba(18, 24, 32, .9);--ui-btn-text: rgba(214, 226, 242, .92)}.control-button:active{border-color:#42e2b1e6;box-shadow:0 0 12px #42e2b199}.module-controls .toggle-group{display:flex;gap:2px;flex-wrap:wrap}.module-controls .toggle-group .toggle-btn{flex:1;min-width:50px;padding:2px 6px;font-size:7px}.module-controls .toggle-group,.module-controls .scope-view,.module-controls .scope-controls,.module-controls .seq-panel,.module-controls .midi-panel,.module-controls .poly-panel,.module-controls .mini-keys,.module-controls .control-buttons{grid-column:1 / -1}.scope-view{position:relative;background:radial-gradient(circle at 30% 30%,#0a1210,#050808);border-radius:var(--radius-md);border:2px solid #1a1a1a;box-shadow:inset 0 0 20px #000c,inset 0 0 4px #50ffa00d,0 2px 8px #00000080,0 0 0 1px var(--glass-overlay);overflow:hidden;flex:1;min-height:80px;height:auto!important}.scope-view:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,transparent 60%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:2}.scope-view:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 5%,transparent 95%,rgba(0,0,0,.1) 100%);pointer-events:none;z-index:2}.scope-canvas{display:block;width:100%;height:100%}.scope-view .scope-label{position:absolute;bottom:4px;right:6px;font-size:7px;font-weight:700;letter-spacing:.2em;color:#64ffb466;text-shadow:0 0 4px rgba(100,255,180,.3);z-index:3;pointer-events:none}.scope-mode-label{position:absolute;bottom:4px;right:6px;font-size:8px;font-weight:700;letter-spacing:.15em;color:#64ffb480;text-shadow:0 0 4px rgba(100,255,180,.3);z-index:3;pointer-events:none}.scope-controls{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;align-items:center}.scope-group{display:grid;gap:6px}.scope-label{font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;color:#c6d4e4ad}.scope-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.scope-toggle{align-self:end}.module-controls .scope-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.module-controls .scope-group{display:flex;align-items:center;gap:4px}.module-controls .scope-group .scope-label{font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:#c8dcd299}.module-controls .scope-buttons{display:flex;gap:3px}.module-controls .scope-btn{padding:4px 8px!important;font-size:8px!important;min-width:28px;border-radius:var(--radius-md)}.module-controls .scope-toggle{padding:4px 10px!important}.scope-ch{--ch-color: #64ffb4;border-color:color-mix(in srgb,var(--ch-color) 40%,transparent)!important;color:color-mix(in srgb,var(--ch-color) 70%,white)!important}.scope-ch.active{background:color-mix(in srgb,var(--ch-color) 80%,#000)!important;border-color:var(--ch-color)!important;color:#000!important;box-shadow:0 0 8px color-mix(in srgb,var(--ch-color) 50%,transparent)}.module-card[data-module-type=scope] .module-controls{display:flex!important;flex-direction:column;gap:6px;flex:1;min-height:0}.module-card[data-module-type=scope] .scope-view{flex:1 1 auto;min-height:160px;width:100%}.patch-cable{stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));opacity:.92}.patch-cable.ghost{opacity:.5;stroke-dasharray:10 8;animation:cable-flow .4s linear infinite}@keyframes cable-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-18}}.ui-btn{--ui-btn-radius: 4px;--ui-btn-padding: 5px 8px;--ui-btn-border: rgba(255, 255, 255, .15);--ui-btn-bg: rgba(0, 0, 0, .4);--ui-btn-text: rgba(255, 255, 255, .7);--ui-btn-font: 9px;--ui-btn-letter: .08em;--ui-btn-active-text: #0a0a0a;--ui-btn-active-bg: linear-gradient(180deg, var(--accent-mint), var(--accent-mint-dark));--ui-btn-active-border: var(--accent-mint);--ui-btn-active-shadow: 0 2px 8px rgba(66, 226, 177, .4);border-radius:var(--ui-btn-radius);padding:var(--ui-btn-padding);border:1px solid var(--ui-btn-border);background:var(--ui-btn-bg);color:var(--ui-btn-text);font-size:var(--ui-btn-font);font-weight:600;letter-spacing:var(--ui-btn-letter);text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}.ui-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ui-btn-bg) 80%,#fff 20%);border-color:color-mix(in srgb,var(--ui-btn-border) 60%,#fff 40%)}.ui-btn.active{color:var(--ui-btn-active-text);background:var(--ui-btn-active-bg);border-color:var(--ui-btn-active-border);box-shadow:var(--ui-btn-active-shadow)}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn--pill{--ui-btn-radius: 999px;--ui-btn-padding: 5px 10px}.ui-btn--blue{--ui-btn-active-bg: linear-gradient(180deg, var(--accent-cool), #3a8dff);--ui-btn-active-border: var(--accent-cool);--ui-btn-active-shadow: 0 2px 8px rgba(91, 182, 255, .4)}.mini-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;grid-column:1 / -1}.mini-key{border-radius:var(--radius-2xl);padding:8px 6px;border:1px solid rgba(100,118,140,.9);background:linear-gradient(160deg,#222a38f2,#10141cf2);color:#e4eefae6;font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.mini-key:active{border-color:#5bb6ffe6;box-shadow:0 0 10px #5bb6ff99}.seq-panel{grid-column:1 / -1;display:grid;gap:10px;padding:10px;border-radius:var(--radius-4xl);background:#10161ebf;border:1px solid rgba(90,104,126,.6)}.seq-header{display:flex;align-items:center;justify-content:space-between}.seq-title{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:#c6d4e4b3}.seq-toggle{--ui-btn-bg: rgba(18, 24, 32, .9)}.seq-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.seq-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.seq-step{border-radius:var(--radius-2xl);padding:6px 8px;border:1px solid rgba(90,104,126,.8);background:var(--glass-3);color:#d6e2f2d9;font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;text-align:center}.seq-step.active{color:#0b1115;background:linear-gradient(160deg,#5bb6ffeb,#368effe0);border-color:#5bb6ffe6;box-shadow:0 8px 14px #0a162873}.midi-panel{grid-column:1 / -1;display:grid;gap:10px;padding:10px;border-radius:var(--radius-4xl);background:#0e141cc7;border:1px solid rgba(90,104,126,.6)}.midi-header{display:flex;align-items:center;justify-content:space-between}.midi-title{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:#c6d4e4b3}.midi-toggle{--ui-btn-bg: rgba(18, 24, 32, .9)}.midi-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:start}.midi-options{display:flex;flex-wrap:wrap;gap:8px}.midi-option{--ui-btn-bg: rgba(20, 26, 34, .9)}.midi-field{display:grid;gap:6px}.midi-label{font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;color:#c6d4e4ad}.midi-select{border-radius:var(--radius-2xl);padding:6px 8px;border:1px solid rgba(90,104,126,.8);background:var(--glass-3);color:#d6e2f2e6;font:inherit}.midi-select:disabled{opacity:.6;cursor:not-allowed}.midi-knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.midi-status{min-height:14px;font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:#c6d4e48c}.midi-status.error{color:#ffaaa0e6}.poly-panel{grid-column:1 / -1;display:grid;gap:8px;padding:10px;border-radius:var(--radius-4xl);background:#10161ebf;border:1px solid rgba(90,104,126,.6)}.poly-label{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:#c6d4e4b3}.poly-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.poly-btn{--ui-btn-bg: rgba(20, 26, 34, .9)}.side-panel{display:flex;flex-direction:column;gap:16px}.topbar{display:grid;grid-template-rows:auto auto;gap:16px;padding:18px 22px;position:relative;overflow:hidden;background:linear-gradient(180deg,#1a1a1a,#0f0f0f);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:inset 0 1px 0 var(--border-soft),0 4px 20px #00000080}.topbar:before{display:none}.panel-section{padding:16px;background:linear-gradient(180deg,#1a1a1a,#0f0f0f);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:inset 0 1px 0 var(--border-soft),0 4px 20px #00000080}.panel-section:before{display:none}.panel-section-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.panel-section.collapsed .panel-section-header{margin-bottom:0}.panel-actions{display:flex;gap:8px;align-items:center}.panel-section-body{display:grid;gap:12px}.panel-section-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.panel-section-toggle:focus-visible{outline:1px solid rgba(140,170,200,.7);outline-offset:4px}.panel-section-toggle--icon{width:auto}.panel-title{font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#d8e6f6eb}.panel-toggle-glyph{width:18px;height:18px;border-radius:var(--radius-pill);border:1px solid rgba(120,140,170,.65);background:var(--glass-dark);display:inline-flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;box-shadow:inset 0 0 6px #0006}.panel-toggle-glyph:before{content:"";width:6px;height:6px;border-right:2px solid rgba(210,226,242,.9);border-bottom:2px solid rgba(210,226,242,.9);transform:rotate(45deg)}.panel-section-toggle.is-collapsed .panel-toggle-glyph:before{transform:rotate(-45deg)}.panel-section-toggle:hover .panel-toggle-glyph{border-color:#98b6d6e6;box-shadow:0 0 8px #36a09640}.panel-section-toggle:hover .panel-title{color:#eef6fff2}.muted{margin-top:0;margin-bottom:12px;color:var(--text-muted);font-size:var(--text-lg)}.preset-list{display:grid;gap:10px}.preset-search{width:100%;padding:8px 10px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.12);background:var(--glass-dark);color:var(--text-strong);font-size:.8rem}.preset-search::placeholder{color:#aabed299}.preset-list.compact{gap:6px}.preset-list.compact .preset-card{padding:6px 8px}.preset-list.compact .preset-name{font-size:.68rem}.preset-list.compact .preset-desc{display:none}.preset-list.compact .preset-load{--ui-btn-padding: 6px 10px}.preset-groups{display:grid;gap:12px}.preset-group{display:grid;gap:8px}.preset-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:#080c1299;color:#d8e6f6eb;letter-spacing:.12em;text-transform:uppercase;font-size:var(--text-sm);appearance:none;cursor:pointer}.preset-group-header:hover{border-color:#8296be80}.preset-group-title{font-weight:600}.preset-group-meta{display:inline-flex;align-items:center;gap:8px;color:#c6d6e8b3}.preset-group-count{padding:2px 6px;border-radius:var(--radius-pill);background:#5a687e40;font-size:var(--text-2xs)}.preset-group-arrow{font-size:var(--text-md)}.preset-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--glass-overlay);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.preset-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.preset-action{--ui-btn-padding: 7px 12px;--ui-btn-font: .6rem;--ui-btn-letter: .12em;--ui-btn-bg: rgba(16, 22, 30, .9);--ui-btn-border: rgba(90, 104, 126, .8)}.preset-file{display:none}.preset-status{margin-bottom:8px;font-size:var(--text-md);color:var(--text-muted)}.preset-error{margin-bottom:8px;font-size:var(--text-md);color:#e68686e6}.tauri-list{display:grid;gap:6px;margin-top:6px}.tauri-select-row{display:grid;grid-template-columns:60px 1fr;gap:8px;align-items:center;margin-bottom:8px}.tauri-select{appearance:none;background:var(--glass-3);border:1px solid rgba(90,104,126,.6);border-radius:var(--radius-lg);color:#d8e6f6e6;font-size:var(--text-sm);padding:6px 8px}.tauri-select:disabled{opacity:.6}.tauri-item{display:grid;grid-template-columns:60px 1fr;gap:8px;font-size:var(--text-md);color:#c6d6e8d9}.tauri-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#c6d6e899}.tauri-value{color:#d8e6f6e6}.tauri-device-list{display:grid;gap:4px;margin:0 0 6px 4px;font-size:var(--text-sm);color:#c6d6e8b3}.tauri-device{position:relative;padding-left:10px}.tauri-device:before{content:"-";position:absolute;left:0;color:#8a9cb4b3}.preset-name{font-size:var(--text-base);letter-spacing:.12em;text-transform:uppercase;color:#d8e6f6eb}.preset-desc{font-size:var(--text-md);color:#c6d6e8a6;margin-top:4px}.preset-load{--ui-btn-padding: 8px 14px;--ui-btn-font: .6rem;--ui-btn-letter: .14em;--ui-btn-bg: rgba(16, 22, 30, .9);--ui-btn-border: rgba(90, 104, 126, .8)}.macro-grid{display:grid;gap:12px}.macro-card{display:grid;gap:8px;padding:10px;border-radius:var(--radius-xl);background:#080c12a6;border:1px solid rgba(90,104,126,.5)}.macro-header{display:flex;align-items:center;gap:8px}.macro-name{flex:1;border-radius:var(--radius-lg);border:1px solid rgba(90,104,126,.6);background:var(--glass-3);color:#d8e6f6e6;font-size:var(--text-sm);letter-spacing:.08em;padding:4px 6px}.macro-id{font-size:var(--text-2xs);letter-spacing:.2em;text-transform:uppercase;color:#c6d6e899}.macro-slider{width:100%}.macro-slider:disabled{opacity:.5}.macro-readout{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#c6d6e8a6}.macro-targets{display:grid;gap:8px}.macro-target{display:grid;gap:6px;padding:8px;border-radius:var(--radius-lg);background:#0a0e14cc;border:1px solid rgba(90,104,126,.45)}.macro-target-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.macro-target-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:6px;align-items:center}.macro-select,.macro-number{border-radius:var(--radius-lg);border:1px solid rgba(90,104,126,.6);background:var(--glass-3);color:#d8e6f6e6;font-size:var(--text-xs);padding:6px}.macro-number{text-align:right}.macro-add{--ui-btn-padding: 6px 10px;--ui-btn-font: .55rem;--ui-btn-letter: .14em;--ui-btn-bg: rgba(16, 22, 30, .9);--ui-btn-border: rgba(90, 104, 126, .8);justify-self:start}.macro-remove{--ui-btn-padding: 4px 8px;--ui-btn-font: .5rem;--ui-btn-letter: .14em;--ui-btn-bg: rgba(24, 16, 18, .9);--ui-btn-border: rgba(140, 92, 92, .7)}.macro-empty{font-size:var(--text-sm);color:var(--text-muted)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 10px;border-radius:var(--radius-pill);font-size:var(--text-md);letter-spacing:.08em;background:#5bb6ff1f;border:1px solid rgba(91,182,255,.3);color:#d2e2f6e0;cursor:pointer;appearance:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.chip:hover:not(:disabled){border-color:#8296bee6;box-shadow:0 6px 12px #00000059}.chip:disabled{opacity:.45;cursor:not-allowed}.library-actions{display:flex;gap:8px;margin-bottom:10px}.library-clear{--ui-btn-padding: 6px 12px;--ui-btn-font: .55rem;--ui-btn-letter: .18em;--ui-btn-bg: rgba(24, 30, 40, .9);--ui-btn-border: rgba(120, 140, 170, .5)}.library-auto{--ui-btn-padding: 6px 12px;--ui-btn-font: .55rem;--ui-btn-letter: .18em;--ui-btn-bg: rgba(18, 24, 32, .9);--ui-btn-border: rgba(90, 104, 126, .8)}.module-search{width:100%;padding:8px 12px;margin-bottom:12px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);background:#080c12cc;color:#e6eef8f2;font-size:var(--text-base);letter-spacing:.04em}.module-search::placeholder{color:#b4c3d780}.module-search:focus{outline:none;border-color:#5bb6ff80}.module-categories{display:grid;gap:8px}.module-category{display:grid;gap:6px}.module-category-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:#080c1299;color:#d8e6f6eb;font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;appearance:none;cursor:pointer;transition:border-color .15s,background .15s}.module-category-header:hover:not(:disabled){border-color:#8296be80;background:#0c121ab3}.module-category-header:disabled{cursor:default}.module-category-icon{font-size:var(--text-lg);line-height:1}.module-category-label{flex:1;font-weight:600;text-align:left}.module-category-count{padding:2px 6px;border-radius:var(--radius-pill);background:#5a687e40;font-size:var(--text-2xs);color:#c6d6e8b3}.module-category-arrow{font-size:var(--text-md);color:#c6d6e8b3;margin-left:4px}.module-category .chip-row{padding-left:8px}.signal-strip{display:grid;gap:8px}.signal-strip span{padding:8px 12px;border-radius:var(--radius-3xl);background:#5bb6ff1f;border:1px solid rgba(91,182,255,.25);font-size:var(--text-base);letter-spacing:.08em;text-transform:uppercase}.knob{display:grid;gap:6px;font-size:var(--text-base)}.knob span{color:#cedcecc7}.knob input[type=range]{-webkit-appearance:none;width:100%;height:18px;background:linear-gradient(90deg,#5bb6ffb3,#5bb6ff33);border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 2px 6px #0000008c}.knob input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f8fbff,#9aa6b7 55%,#2b3442);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 8px #0006}.knob input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f8fbff,#9aa6b7 55%,#2b3442);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 8px #0006}.knob-value{font-size:var(--text-md);color:#c8d6e899}.select-field{display:grid;gap:6px;font-size:var(--text-base)}.layout-lab-full{grid-column:1 / -1}.layout-lab{grid-column:1 / -1;display:grid;gap:8px}.lab-test-bed{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;padding:4px}.lab-test-bed>.control-box{width:100%}.layout-lab-section{display:grid;gap:6px;padding:6px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:#0003}.layout-lab-title{font-size:7px;letter-spacing:.18em;text-transform:uppercase;color:#c6d4e4b3}.layout-lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--control-min, 44px),1fr));gap:6px}.layout-lab-stack{display:grid;gap:6px}.select-field select{padding:6px 8px;border-radius:var(--radius-2xl);background:#0c1016eb;border:1px solid rgba(255,255,255,.2);color:#d6e2f2e6;font:inherit}.module-card[data-module-type=mario]{--panel-color: #1a0a0a;background:repeating-linear-gradient(0deg,rgba(255,100,100,.02) 0px,rgba(255,100,100,.02) 1px,transparent 1px,transparent 3px),linear-gradient(180deg,#2a1010,#1a0a0a)}.module-card[data-module-type=mario] .module-controls{display:flex!important;flex-direction:column;gap:8px}.mario-display{background:#000;border:2px solid #c84c0c;border-radius:var(--radius-md);padding:8px;text-align:center;box-shadow:inset 0 0 20px #c84c0c33,0 0 10px #c84c0c4d}.mario-title{font-family:Courier New,monospace;font-size:10px;font-weight:700;color:#fcbcb0;text-shadow:0 0 6px #c84c0c;letter-spacing:2px;margin-bottom:4px}.mario-status{font-family:Courier New,monospace;font-size:9px;margin-bottom:6px}.mario-playing{color:#7cfc00;text-shadow:0 0 4px #7cfc00;animation:mario-blink .5s ease-in-out infinite}.mario-stopped{color:#888}@keyframes mario-blink{0%,to{opacity:1}50%{opacity:.7}}.mario-progress{height:6px;background:#222;border-radius:var(--radius-sm);overflow:hidden;border:1px solid #444}.mario-progress-bar{height:100%;background:linear-gradient(90deg,#c84c0c,#fcbcb0,#c84c0c);border-radius:var(--radius-xs);transition:width .05s linear}.mario-controls{display:flex;align-items:center;justify-content:center;gap:12px}.mario-btn{font-family:Courier New,monospace;font-size:10px;font-weight:700;padding:6px 14px!important;border:2px solid #c84c0c!important;background:#2a1010!important;color:#fcbcb0!important;text-shadow:0 0 4px #c84c0c;transition:var(--transition-normal)}.mario-btn:hover{background:#3a1818!important;box-shadow:0 0 12px #c84c0c80}.mario-btn.playing{background:#c84c0c!important;color:#fff!important;box-shadow:0 0 15px #c84c0cb3}.mario-channels{display:flex;justify-content:space-around;padding:4px;background:var(--glass-overlay);border-radius:var(--radius-md)}.mario-ch{font-family:Courier New,monospace;font-size:8px;color:#888;display:flex;align-items:center;gap:4px}.ch-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.ch-dot.ch1{background:#f66;box-shadow:0 0 4px #f66}.ch-dot.ch2{background:#6f6;box-shadow:0 0 4px #6f6}.ch-dot.ch3{background:#66f;box-shadow:0 0 4px #66f}.ch-dot.ch4{background:#fc6;box-shadow:0 0 4px #fc6}.ch-dot.ch5{background:#c6f;box-shadow:0 0 4px #c6f}.mario-song-select{display:flex;justify-content:center;gap:4px}.mario-song-dropdown{font-family:Courier New,monospace;font-size:10px;font-weight:700;padding:6px 24px 6px 10px;min-width:120px;border:1px solid #4a2a1a;border-radius:var(--radius-md);background:#1a0a0a;color:#fcbcb0;cursor:pointer;text-align:center;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%23fcbcb0' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.mario-song-dropdown:hover{border-color:#c84c0c;box-shadow:0 0 6px #c84c0c66}.mario-song-dropdown:focus{outline:none;border-color:#c84c0c;box-shadow:0 0 8px #c84c0c99}.mario-song-dropdown option{background:#1a0a0a;color:#fcbcb0;padding:4px}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.seq-step-grid{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px;background:#00000059;padding:10px;border-radius:var(--radius-lg);margin-top:8px}.seq-step-bank{display:flex;gap:4px}.seq-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 2px;background:#1e283299;border-radius:var(--radius-md);border:1px solid rgba(60,80,100,.3);transition:opacity .2s}.seq-step.disabled{opacity:.3;pointer-events:none}.seq-step-num{font-size:9px;font-weight:700;color:#c6d4e4b3;text-align:center;width:100%}.seq-step-gate{width:100%;height:22px;border:none;border-radius:var(--radius-sm);font-size:8px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:var(--transition-fast);background:#28323ce6;color:#c6d4e480}.seq-step-gate:hover{background:#3c5064e6}.seq-step-gate.active{background:linear-gradient(180deg,#3b8beb,#2563eb);color:#fff;box-shadow:0 0 6px #3b8beb66}.seq-step-pitch{width:100%;height:24px;display:flex;align-items:center;justify-content:center;background:#141e28e6;border:1px solid rgba(60,80,100,.4);border-radius:var(--radius-sm);font-size:10px;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:#a5d6ff;cursor:ns-resize;-webkit-user-select:none;user-select:none;transition:background .1s}.seq-step-pitch:hover{background:#1e2d3ce6;border-color:#5a789680}.seq-step-pitch:active{background:#283c50e6}.seq-step-vel{width:100%;height:28px;background:#141e28e6;border:1px solid rgba(60,80,100,.3);border-radius:var(--radius-sm);position:relative;cursor:pointer;overflow:hidden}.seq-step-vel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:calc(var(--vel, 100) * 1%);background:linear-gradient(180deg,#34d399,#10b981,#059669);border-radius:var(--radius-xs);transition:height .05s}.seq-step-slide{width:100%;height:18px;border:none;border-radius:var(--radius-sm);font-size:8px;font-weight:700;cursor:pointer;transition:var(--transition-fast);background:#28323ce6;color:#c6d4e466}.seq-step-slide:hover{background:#3c5064e6}.seq-step-slide.active{background:linear-gradient(180deg,#fbbf24,#f59e0b);color:#1a1a1a;box-shadow:0 0 6px #fbbf2466}.control-box-row{grid-column:1 / -1;display:flex;gap:6px;flex-wrap:wrap}.control-box{flex:1;min-width:80px;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--glass-overlay);border-radius:var(--radius-lg);border:1px solid rgba(60,80,100,.25)}.control-box.control-box-compact{padding:4px 6px;gap:4px;min-width:auto}.control-box.control-box-compact .control-box-label{font-size:7px}.control-box.control-box-compact .control-btn{font-size:8px;padding:3px 4px}.module-controls>.control-box{grid-column:1 / -1}.control-box-label{font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#c6d4e4b3}.control-box-content{display:flex;flex-direction:column;gap:4px}.control-box-horizontal{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px}.control-box-horizontal>.rotary{flex:0 0 auto}.control-box-display{text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--accent-mint);padding:4px;background:#00000026;border-radius:var(--radius-sm)}.control-buttons-rows{display:flex;flex-direction:column;gap:4px}.control-buttons{display:grid;gap:4px}.control-btn{padding:5px 6px;border:1px solid rgba(80,100,130,.4);border-radius:var(--radius-md);background:var(--glass-4);color:#c6d4e4e6;font-size:9px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:var(--transition-normal);text-transform:uppercase;white-space:nowrap}.control-btn:hover{background:var(--glass-panel);border-color:#6482aa99}.control-btn.active{background:linear-gradient(180deg,var(--accent-mint) 0%,var(--accent-mint-dark) 100%);border-color:var(--accent-mint);color:#0a0a0a;box-shadow:0 2px 8px #42e2b166}.seq-pattern-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:#0003;border-radius:var(--radius-lg)}.seq-pattern-btn{flex:1 1 auto;min-width:55px;padding:6px 8px;border:1px solid rgba(80,100,130,.4);border-radius:var(--radius-md);background:var(--glass-4);color:#c6d4e4e6;font-size:9px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:var(--transition-normal)}.seq-pattern-btn:hover{background:var(--glass-panel);border-color:#6482aa99}.seq-step.playing{background:#42e2b133;border-color:#42e2b180;box-shadow:0 0 8px #42e2b14d}.seq-step.playing .seq-step-num{color:var(--accent-mint);text-shadow:0 0 4px rgba(66,226,177,.6)}.seq-step-led{width:8px;height:8px;border-radius:50%;background:#3c506466;margin-bottom:2px;transition:background .1s,box-shadow .1s}.seq-step.playing .seq-step-led{background:var(--accent-mint);box-shadow:0 0 6px var(--accent-mint),0 0 10px #42e2b180}.drum-seq-grid{grid-column:1 / -1;display:flex;flex-direction:column;gap:2px;background:#00000059;border-radius:var(--radius-xl);padding:8px}.drum-track{display:flex;align-items:center;gap:4px}.drum-track-label{width:50px;font-size:9px;font-weight:700;color:#c6d4e4e6;letter-spacing:.05em;text-align:right;padding-right:6px;flex-shrink:0}.drum-track-steps{display:flex;gap:2px;flex:1}.drum-step{flex:1;aspect-ratio:1;min-width:16px;max-width:24px;border:1px solid rgba(80,100,130,.4);border-radius:var(--radius-sm);background:#1e283799;color:#788ca099;font-size:10px;font-weight:700;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:0}.drum-step:hover{background:#324155cc;border-color:#6482aa99}.drum-step.beat{border-left:2px solid rgba(255,255,255,.15)}.drum-step.active{background:linear-gradient(180deg,#f97316,#ea580c);border-color:#f97316;color:#fff;box-shadow:0 0 6px #f9731666}.drum-step.active.accent{background:linear-gradient(180deg,#ef4444,#dc2626);border-color:#ef4444;box-shadow:0 0 8px #ef444480}.drum-step.disabled{opacity:.3;pointer-events:none}.drum-step.playing{background:#42e2b14d;border-color:#42e2b199;box-shadow:0 0 8px #42e2b166}.drum-step.playing.active{background:linear-gradient(180deg,var(--accent-mint) 0%,var(--accent-mint-dark) 100%);border-color:var(--accent-mint);box-shadow:0 0 10px #42e2b199}.seq-presets{grid-column:1 / -1;display:flex;align-items:center;gap:6px;padding:4px 0}.seq-preset-btn{padding:4px 10px;border:1px solid rgba(80,100,130,.4);border-radius:var(--radius-md);background:var(--glass-4);color:#c6d4e4e6;font-size:9px;font-weight:600;cursor:pointer;transition:var(--transition-normal)}.seq-preset-btn:hover{background:var(--glass-panel);border-color:#6482aa99}.seq-knob-box{display:flex;flex-direction:column;align-items:center;gap:2px}.seq-slider{width:60px;height:4px;-webkit-appearance:none;background:#3c506466;border-radius:var(--radius-xs);cursor:pointer}.seq-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent-mint);cursor:pointer}.seq-control-value{font-size:9px;color:#96aabecc}.drum-seq-row1{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:8px;background:var(--glass-overlay);border-radius:var(--radius-xl);margin-bottom:6px}.drum-seq-play{padding:10px 20px;border:2px solid rgba(80,100,130,.5);border-radius:var(--radius-lg);background:var(--glass-5);color:#c6d4e4e6;font-size:12px;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:var(--transition-normal);min-width:90px}.drum-seq-play:hover{background:var(--glass-panel);border-color:#6482aa99}.drum-seq-play.active{background:linear-gradient(180deg,#ef4444,#dc2626);border-color:#ef4444;color:#fff;box-shadow:0 2px 10px #ef444466}.drum-seq-bpm{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#141e2899;border-radius:var(--radius-lg);border:1px solid rgba(60,80,100,.3)}.drum-seq-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c6d4e4b3}.drum-seq-bpm-input{width:60px;padding:6px 8px;border:1px solid rgba(80,100,130,.5);border-radius:var(--radius-md);background:#0f141ecc;color:var(--accent-mint);font-size:14px;font-weight:700;text-align:center;font-family:JetBrains Mono,monospace}.drum-seq-bpm-input:focus{outline:none;border-color:var(--accent-mint);box-shadow:0 0 6px #42e2b14d}.drum-seq-row3{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:6px 10px;background:#00000040;border-radius:var(--radius-lg);margin-bottom:8px}.drum-seq-patterns{display:flex;gap:6px;flex:1}.drum-seq-pattern-btn{flex:1;padding:6px 8px;border:1px solid rgba(80,100,130,.4);border-radius:var(--radius-md);background:var(--glass-4);color:#c6d4e4e6;font-size:10px;font-weight:600;cursor:pointer;transition:var(--transition-normal)}.drum-seq-pattern-btn:hover{background:#3c506ecc;border-color:#6482aa99;color:#fff}.drum-knobs-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px;padding:4px}.drum-knobs-grid .knob-container{min-width:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-mint);outline-offset:2px}.rack input,.rack textarea,.rack select,.rack [contenteditable=true]{-webkit-user-select:text;user-select:text}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s;animation-iteration-count:1;transition-duration:0s}.jack.valid-target,.patch-cable.ghost,.mario-playing{animation:none}}@media(max-width:1200px){.modules{--rack-unit-x: 180px;--rack-unit-y: 110px}}@media(max-width:960px){.topbar{gap:12px}.topbar-body{flex-direction:column;align-items:flex-start}.transport-block,.dev-tools{align-items:flex-start}.dev-toggles{flex-wrap:wrap}.power-toggle{width:100%;max-width:240px}.workbench{grid-template-columns:1fr}.modules{--rack-unit-x: 170px;--rack-unit-y: 110px}}@media(max-width:720px){.app{gap:20px;padding:20px 20px 28px}.rack{padding:12px 16px}.modules{--rack-unit-x: 150px;--rack-unit-y: 100px;--rack-gap: 3px}}@media(max-width:520px){.app{gap:18px;padding:16px 14px 22px}.rack{padding:10px 12px}.actions{flex-wrap:wrap}.modules{--rack-unit-x: 130px;--rack-unit-y: 92px}}
