@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display:"Unbounded Variable", "Space Grotesk Variable", system-ui, sans-serif;--font-ui:"Space Grotesk Variable", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--bg:#14151a;--panel:#1e2028;--panel-edge:#2c2f3a;--text:#eef0f6;--text-dim:#b8bcc8;--accent:#ffb454;--beat:#ff5e5b;--drone:#4ecdc4;--voice:#ffd166;--bass:#f78fb3;--texture:#c792ea;--fx:#6c9ef8;--modulator:#9bde7e;--rhythm:#ff9f43}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);margin:0;font-size:14px}.app{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:2px solid var(--panel-edge);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.logo{letter-spacing:4px;color:var(--accent);align-items:center;gap:10px;margin:0;font-size:24px;display:flex}.rack-logo{color:var(--text);flex:none}.logo-sub{letter-spacing:1px;color:var(--text-dim);font-size:12px}.master-scope{align-items:center;gap:10px;display:flex}.beat-led{background:#2a1010;border:2px solid #5a2020;border-radius:50%;flex-shrink:0;width:18px;height:18px;box-shadow:inset 0 0 6px #0009}.beat-led.on{background:#ff2a2a;border-color:#ff5e5b;box-shadow:0 0 14px #ff2a2a,0 0 4px #ff8080}.master-controls{flex-wrap:wrap;flex:320px;justify-content:flex-end;align-items:center;gap:8px 12px;min-width:0;display:flex}.master-controls .btn{white-space:nowrap}.master-buttons{flex:300px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:4px;min-width:0;max-width:560px;display:grid}.master-buttons .btn{text-overflow:ellipsis;padding:3px 6px;font-size:11px;overflow:hidden}.master-scope{min-width:0;max-width:100%}.master-scope canvas{max-width:100%}.btn{background:var(--panel);color:var(--text);border:1px solid var(--panel-edge);cursor:pointer;border-radius:2px;padding:6px 12px;font-family:inherit;font-size:13px}.btn:hover{border-color:var(--accent)}.btn-power{min-width:64px;color:var(--text-dim);font-size:16px;line-height:1}.btn-power.on{color:var(--modulator);border-color:var(--modulator);box-shadow:0 0 12px #9bde7e59}.btn-kill{color:var(--beat);padding:4px 8px;font-size:18px;line-height:1}.btn-duplicate{padding:4px 8px;font-size:15px;line-height:1}.btn-mute{letter-spacing:1px;white-space:nowrap;font-weight:700}.btn-mute.active{background:var(--beat);color:#14151a;border-color:var(--beat)}.btn-mutate{color:var(--texture)}.btn-forge{background:var(--accent);color:#14151a;letter-spacing:1px;font-weight:700}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-family:inherit;text-decoration:underline}.app>*{flex:none}.rack{flex-direction:column;flex:auto;align-items:stretch;gap:0;min-height:360px;padding:4px 6px 0;display:flex;overflow:auto}.voice-board{flex-direction:row;flex:1 0 auto;align-items:stretch;width:max-content;min-width:100%;display:flex}.voice-lane{background:var(--panel);border:1px solid #3a3e4c;border-bottom:none;border-radius:3px 3px 0 0;flex-direction:column;flex:none;gap:4px;width:250px;padding:4px 4px 0;display:flex}.voice-lane.is-folded{align-items:center;width:68px}.voice-lane.is-muted{border-color:var(--beat)}.voice-lane.is-muted .voice-name-input,.voice-lane.is-muted .voice-folded-name{color:var(--beat)}.voice-lane.drag-over{outline:2px dashed var(--accent);outline-offset:-2px}.voice-lane.is-drop-ready:not(.drag-over){outline:1px dashed color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:-2px}.voice-head{align-items:center;gap:6px;min-width:0;display:flex}.voice-lane.is-folded .voice-head{flex-direction:column}.voice-fold{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;padding:0;font-family:inherit;display:flex}.voice-fold:hover+.voice-name-input{color:var(--text)}.voice-fold-chevron{color:var(--text-dim);width:12px;font-size:13px}.voice-fold-count{color:var(--text-dim);border:1px solid var(--panel-edge);border-radius:3px;padding:0 7px;font-size:12px;line-height:1.6}.voice-name-input{text-transform:uppercase;min-width:0;color:var(--accent);font-family:var(--font-display);letter-spacing:.08em;background:0 0;border:none;border-bottom:1px dashed #0000;flex:1;padding:0;font-size:11px;font-weight:600}.voice-name-input::placeholder{color:var(--accent);opacity:.8}.voice-name-input:hover{border-bottom-color:var(--panel-edge)}.voice-name-input:focus{border-bottom-color:var(--accent);outline:none}.voice-folded-name{writing-mode:vertical-rl;text-align:right;text-transform:uppercase;color:var(--accent);cursor:pointer;white-space:nowrap;font-family:var(--font-display);letter-spacing:.12em;background:0 0;border:none;flex:1;padding:4px 0;font-size:11px;font-weight:600;overflow:hidden;transform:rotate(180deg)}.voice-modules{flex-direction:column;flex:1 0 auto;align-items:center;gap:4px;min-height:48px;display:flex}.voice-strip{z-index:4;background:var(--panel);border-top:1px solid var(--panel-edge);flex-direction:column;align-items:stretch;gap:6px;margin:0 -4px;padding:6px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 18px #0000004d}.voice-lane.is-folded .voice-strip{align-self:stretch;align-items:center;padding:6px 4px}.voice-mix{justify-content:space-between;align-items:flex-start;gap:2px;display:flex}.voice-lane.is-folded .voice-mix{justify-content:center}.voice-volume{border-left:1px solid var(--panel-edge);padding-left:6px;display:flex}.voice-lane.is-folded .voice-volume{border-left:none;padding-left:0}.voice-tools{gap:4px;display:flex}.voice-lane.is-folded .voice-tools{flex-direction:column}.voice-tools .btn{padding:4px 6px;font-size:12px}.voice-tools .btn-mute{flex:1}.btn-eq-reset{letter-spacing:1px;text-transform:uppercase;color:var(--text)}.voice-insert{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:6px;width:18px;padding:8px 0 0;font-family:inherit;display:flex}.voice-insert:after{content:"";background:var(--panel-edge);opacity:.35;flex:1;width:1px}.voice-insert-plus{border:1px solid var(--panel-edge);width:16px;height:18px;color:var(--text-dim);text-align:center;opacity:.75;border-radius:2px;font-size:14px;line-height:16px}.voice-insert:hover:after{background:var(--accent);opacity:.7}.voice-insert:hover .voice-insert-plus{border-color:var(--accent);color:var(--accent);opacity:1}.voice-add-menu{z-index:40;border:1px solid var(--panel-edge);background:#1a1c24;border-radius:3px;min-width:196px;padding:6px 0 8px;position:fixed;box-shadow:0 16px 40px #0000008c}.voice-add-menu-title{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-dim);margin:0;padding:4px 14px 8px;font-size:10px}.voice-add-cat-head,.voice-add-mod{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;display:flex}.voice-add-cat{position:relative}.voice-add-cat-head{padding:6px 14px}.voice-add-cat-head:hover,.voice-add-cat-head.is-open,.voice-add-mod:hover{background:#2a2d38}.voice-add-cat-count{color:var(--text-dim);margin-left:auto;font-size:11px}.voice-add-cat-chevron{width:12px;color:var(--text-dim);flex-shrink:0;font-size:16px;line-height:1}.voice-add-flyout{z-index:1;border:1px solid var(--panel-edge);background:#1a1c24;border-radius:3px;min-width:168px;max-height:min(60vh,420px);padding:6px 0;position:absolute;top:0;overflow-y:auto;box-shadow:0 16px 40px #0000008c}.voice-add-flyout.is-right{left:calc(100% - 4px)}.voice-add-flyout.is-left{right:calc(100% - 4px)}.voice-add-mod{padding:6px 16px}.empty-state{text-align:center;width:100%;color:var(--text-dim);margin-top:10vh}.empty-state.is-drop-ready{outline:2px dashed var(--accent);outline-offset:8px;color:var(--accent);border-radius:3px}.empty-hint{font-size:12px}.module{background:var(--panel);border:1px solid var(--panel-edge);border-top:4px solid var(--text-dim);box-sizing:border-box;border-radius:3px;flex-direction:column;flex:none;gap:6px;width:240px;padding:6px;display:flex;overflow:hidden}.module.is-muted{opacity:.55}.module.category-beat{border-top-color:var(--beat)}.module.category-drone{border-top-color:var(--drone)}.module.category-voice{border-top-color:var(--voice)}.module.category-bass{border-top-color:var(--bass)}.module.category-texture{border-top-color:var(--texture)}.module.category-fx{border-top-color:var(--fx)}.module.category-modulator{border-top-color:var(--modulator)}.module.category-rhythm{border-top-color:var(--rhythm)}.module .knob-body{stroke:color-mix(in srgb, var(--accent) 55%, var(--panel-edge))}.module-column{background:var(--accent);color:#14161d;text-align:center;border-radius:2px;flex:none;min-width:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:14px}.category-text-beat{color:var(--beat)}.category-text-drone{color:var(--drone)}.category-text-voice{color:var(--voice)}.category-text-bass{color:var(--bass)}.category-text-texture{color:var(--texture)}.category-text-fx{color:var(--fx)}.category-text-modulator{color:var(--modulator)}.category-text-rhythm{color:var(--rhythm)}.module-header{align-items:center;gap:4px;display:flex}.module-sub{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.drag-handle{cursor:grab;color:var(--text-dim);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:14px}.drag-handle:active{cursor:grabbing;color:var(--accent)}.module.drag-over{outline:2px dashed var(--accent);outline-offset:2px}.module-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.module-name-input{color:var(--text);width:100%;min-width:0;font-family:var(--font-display);letter-spacing:.02em;background:0 0;border:none;border-bottom:1px dashed #0000;padding:0;font-size:12px;font-weight:600}.module-kind{text-overflow:ellipsis;min-width:0;color:var(--text-dim);letter-spacing:.02em;font-size:10px;line-height:1.2;overflow:hidden}.module-name-input:hover{border-bottom-color:var(--panel-edge)}.module-name-input:focus{border-bottom-color:var(--accent);outline:none}.module-category{color:var(--text-dim);font-size:10px}.module-help-btn{border:1px solid var(--panel-edge);width:14px;height:14px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:2px;flex:none;padding:0;font-family:inherit;font-size:11px;line-height:1}.module-help-btn:hover,.module-help-btn.active{border-color:var(--accent);color:var(--accent)}.module-help-bubble{border:1px solid var(--panel-edge);background:var(--panel);color:var(--text);border-radius:3px;margin:6px 0 0;padding:6px 8px;font-size:12px;line-height:1.35;box-shadow:0 8px 24px #00000059}.module-knobs{justify-content:space-between;align-items:flex-start;gap:4px;min-width:0;display:flex}.module-knobs .knob-slot{flex:1 1 0}.module .knob-label{letter-spacing:-.01em;font-size:11.5px}.module-knobs.is-full .knob-label{letter-spacing:-.02em;font-size:10.5px}.module-mixer{border-left:1px solid var(--panel-edge);flex:0 0 54px;min-width:0;padding-left:4px}.module-mixer .knob-needle{stroke:var(--text-dim)}.module-routing{color:var(--text-dim);flex-direction:column;gap:6px;font-size:12px;display:flex}.routing-row{align-items:center;gap:8px;display:flex}.routing-row select{background:var(--bg);color:var(--text);border:1px solid var(--panel-edge);border-radius:2px;flex:1;padding:3px 6px;font-family:inherit;font-size:12px}.routing-cv{flex-direction:column;gap:6px;display:flex}.routing-chip{background:var(--bg);border:1px solid var(--panel-edge);color:var(--modulator);border-radius:2px;justify-content:space-between;align-items:center;gap:8px;padding:3px 6px 3px 8px;font-size:12px;display:flex}.routing-chip-x{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-family:inherit;font-size:14px;line-height:1}.routing-chip-x:hover{color:var(--text)}.btn-verso-on{color:var(--accent);border-color:var(--accent)}.patchbay{-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:row;align-items:flex-start;gap:18px;width:max-content;min-width:100%;padding-bottom:10px;display:flex;position:relative}.voice-lane.patchbay-lane{border-bottom:1px solid #3a3e4c;border-radius:3px;width:auto;padding-bottom:10px}.voice-lane.patchbay-lane.is-muted{border-color:var(--beat)}.patchbay-lane-head{text-transform:uppercase;color:var(--text-dim);font-family:var(--font-display);letter-spacing:.08em;font-size:11px;font-weight:600}.patchbay-plates{flex-direction:column;gap:8px;min-height:24px;display:flex}.patchbay-empty{color:var(--text-dim);margin:0;font-size:12px}.patch-plate{background:var(--panel);border:1px solid var(--panel-edge);border-top:4px solid var(--text-dim);border-radius:3px;flex-direction:column;gap:8px;width:168px;padding:10px 12px;display:flex}.patch-plate.category-beat{border-top-color:var(--beat)}.patch-plate.category-drone{border-top-color:var(--drone)}.patch-plate.category-voice{border-top-color:var(--voice)}.patch-plate.category-bass{border-top-color:var(--bass)}.patch-plate.category-texture{border-top-color:var(--texture)}.patch-plate.category-fx{border-top-color:var(--fx)}.patch-plate.category-modulator{border-top-color:var(--modulator)}.patch-plate.category-rhythm{border-top-color:var(--rhythm)}.patch-plate.is-muted{opacity:.55}.patch-plate-name{font-family:var(--font-display);flex-direction:column;gap:1px;font-size:12px;font-weight:600;display:flex}.patch-plate-kind{color:var(--text-dim);font-size:10px;font-weight:400}.patch-jacks{flex-direction:column;gap:6px;display:flex}.patch-jack{z-index:3;cursor:crosshair;align-items:center;gap:8px;padding:3px 0;display:flex;position:relative}.patch-jack-hole{border:2px solid var(--text-dim);background:#101116;border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:transform 80ms,box-shadow 80ms,border-color 80ms;box-shadow:inset 0 0 4px #0009}.patch-jack.is-source .patch-jack-hole{box-shadow:0 0 8px var(--accent);border-color:var(--accent)}.patch-jack.is-valid .patch-jack-hole{border-color:var(--accent);box-shadow:0 0 7px var(--accent)}.patch-jack.is-drop .patch-jack-hole{border-color:var(--accent);background:var(--accent);box-shadow:0 0 14px var(--accent);transform:scale(1.35)}.patch-jack.is-reject .patch-jack-hole{border-color:var(--beat);box-shadow:0 0 8px var(--beat)}.patch-jack-hole.kind-cv-out,.patch-jack.is-plugged .patch-jack-hole.kind-cv-in{border-color:var(--modulator)}.patch-jack.is-plugged .patch-jack-hole.kind-cv-out{background:var(--modulator)}.patch-jack-hole.kind-audio-out,.patch-jack-hole.kind-audio-in{border-color:var(--fx)}.patch-jack.is-plugged .patch-jack-hole.kind-audio-out,.patch-jack.is-plugged .patch-jack-hole.kind-audio-in{background:var(--fx)}.patch-jack-label{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;font-size:11px}.patchbay-cables{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.patch-cable-line{fill:none;stroke-width:2.5px;stroke-linecap:round;pointer-events:stroke;cursor:pointer}.patch-cable-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.patch-cable-line.is-preview{stroke-dasharray:6 4;pointer-events:none;opacity:.85}.patchbay.is-dragging .patchbay-cables{pointer-events:none}.module-actions{flex:none;gap:2px;display:flex}.module-actions .btn{padding:2px 5px;font-size:12px;line-height:16px}.module-actions .btn-mute{min-width:34px}.scope{border:1px solid var(--panel-edge);background:#101116;border-radius:2px;display:block}.master-controls .knob{flex:none}.knob{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;max-width:76px;display:flex}.knob-dial{cursor:ns-resize}.knob-body{fill:#262935;stroke:var(--panel-edge);stroke-width:2px}.knob-needle{stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.knob-label{color:var(--text);text-align:center;overflow-wrap:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:13px;line-height:1.15;display:-webkit-box;overflow:hidden}.knob-value{color:var(--text);text-align:center;appearance:textfield;width:100%;max-width:64px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:0 0;border:none;border-bottom:1px dashed #0000;margin:0;padding:0;font-size:12px}.knob-value:hover{border-bottom-color:var(--panel-edge);color:var(--text)}.knob-value:focus{border-bottom-color:var(--accent);color:var(--text);outline:none}.forge{border-top:2px solid var(--panel-edge);flex-direction:column;gap:6px;padding:8px 16px;display:flex}.forge-row{gap:10px;display:flex}.forge-input{background:var(--panel);color:var(--text);border:1px solid var(--panel-edge);border-radius:2px;flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.forge-input:focus{border-color:var(--accent);outline:none}.forge-status{color:var(--text-dim);font-size:12px}.forge-errors{color:var(--beat);margin:0;padding-left:18px;font-size:12px}.forge-mutate-banner{color:var(--texture);font-size:12px}.forge-settings{background:var(--panel);border:1px solid var(--panel-edge);border-radius:3px;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:12px;display:flex}.forge-settings label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}.forge-settings input{background:var(--bg);color:var(--text);border:1px solid var(--panel-edge);border-radius:2px;min-width:260px;padding:6px 10px;font-family:inherit}.forge-hint{color:var(--text-dim);max-width:320px;margin:0;font-size:11px}.drawer-backdrop{opacity:0;pointer-events:none;z-index:20;background:#0a0b0e8c;transition:opacity .25s;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-backdrop.open.is-placing{pointer-events:none;opacity:.18}.drawer{border-left:1px solid var(--panel-edge);z-index:21;background:linear-gradient(#1a1c24 0%,#15161d 100%);flex-direction:column;max-width:92vw;transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-18px 0 40px #00000073}.drawer.open{transform:translate(0)}.drawer.is-resizing{-webkit-user-select:none;user-select:none;transition:none}.drawer-resize{cursor:ew-resize;z-index:2;width:8px;position:absolute;top:0;bottom:0;left:0}.drawer-resize:hover,.drawer.is-resizing .drawer-resize{background:var(--accent);opacity:.4}.drawer-header{border-bottom:1px solid var(--panel-edge);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer-place-hint{color:var(--text-dim);margin:0 0 8px;padding:0;font-size:11px}.drawer-place-hint.is-placing{color:var(--accent)}.drawer-header h2{font-family:var(--font-display);letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin:0;font-size:13px;font-weight:600}.drawer-tabs{border-bottom:1px solid var(--panel-edge);gap:0;padding:0 18px;display:flex}.drawer-tab{color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 8px;font-family:inherit;font-size:13px}.drawer-tab:hover{color:var(--text)}.drawer-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.drawer-search{border-bottom:1px solid var(--panel-edge);align-items:center;gap:8px;padding:10px 18px;display:flex}.drawer-search-input{background:var(--bg);color:var(--text);border:1px solid var(--panel-edge);border-radius:2px;flex:1;padding:8px 10px;font-family:inherit;font-size:14px}.drawer-search-input:focus{border-color:var(--accent);outline:none}.drawer-search-input::-webkit-search-cancel-button{display:none}.drawer-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-family:inherit;font-size:14px}.drawer-search-clear:hover{color:var(--text)}.drawer-content{flex-direction:column;flex:1;gap:10px;padding:14px 18px 24px;display:flex;overflow-y:auto}.drawer-section{letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);margin:10px 0 2px;font-size:11px}.drawer-fold{flex-direction:column;gap:8px;display:flex}.drawer-fold-head{border:none;border-bottom:1px solid var(--panel-edge);width:100%;color:var(--text-dim);letter-spacing:3px;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;padding:8px 0 6px;font-family:inherit;font-size:11px;display:flex}.drawer-fold-head:hover{color:var(--text)}.drawer-fold.is-open .drawer-fold-head{color:var(--accent);border-bottom-color:#0000}.drawer-fold-chevron{flex-shrink:0;width:12px;font-size:10px}.drawer-fold-label{flex:1}.drawer-fold-count{letter-spacing:0;color:var(--text-dim);border:1px solid var(--panel-edge);border-radius:3px;padding:0 7px;font-size:11px;line-height:1.6}.drawer-fold-body{flex-direction:column;gap:10px;padding-bottom:4px;display:flex}.drawer-empty{color:var(--text-dim);margin:4px 0;font-size:12px;line-height:1.6}.library-card{background:var(--panel);border:1px solid var(--panel-edge);border-left:4px solid var(--text-dim);border-radius:3px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.library-card[draggable=true]{cursor:grab}.library-card[draggable=true]:active{cursor:grabbing}.library-card.category-beat{border-left-color:var(--beat)}.library-card.category-drone{border-left-color:var(--drone)}.library-card.category-voice{border-left-color:var(--voice)}.library-card.category-bass{border-left-color:var(--bass)}.library-card.category-texture{border-left-color:var(--texture)}.library-card.category-fx{border-left-color:var(--fx)}.library-card.category-modulator{border-left-color:var(--modulator)}.library-card.category-rhythm{border-left-color:var(--rhythm)}.library-card-header{justify-content:space-between;align-items:baseline;display:flex}.library-card-name{font-family:var(--font-display);font-size:12px;font-weight:600}.library-card-category{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-size:10px}.tag-stereo{letter-spacing:1px;opacity:.85;border:1px solid;border-radius:2px;margin-right:6px;padding:1px 5px;font-size:9px}.library-card-desc{color:var(--text-dim);margin:0;font-size:12px;line-height:1.5}.library-card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.library-card-params{flex-wrap:wrap;gap:4px;display:flex}.library-param-tag{color:var(--text-dim);border:1px solid var(--panel-edge);background:var(--bg);border-radius:3px;padding:1px 8px;font-size:10px}.library-card-actions{flex-shrink:0;gap:6px;display:flex}.btn-add{color:var(--accent);font-weight:700}.save-bar{border-bottom:1px solid var(--panel-edge);background:var(--panel);align-items:flex-end;gap:10px;padding:10px 20px;display:flex}.save-bar-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);flex-direction:column;flex:1;gap:4px;max-width:420px;font-size:11px;display:flex}.save-bar-input{background:var(--bg);color:var(--text);border:1px solid var(--panel-edge);text-transform:none;letter-spacing:0;border-radius:2px;padding:8px 10px;font-family:inherit;font-size:14px}.save-bar-input:focus{border-color:var(--accent);outline:none}.save-status{color:var(--modulator);border-bottom:1px solid var(--panel-edge);padding:6px 20px;font-size:12px}.saved-rack-card{border-left-color:var(--accent)}.suggestion-card{border-left-color:var(--voice)}.suggestion-card.is-lesson{border-left-color:var(--rhythm)}.lesson-step-badge{border:1px solid var(--rhythm);color:var(--rhythm);letter-spacing:.04em;margin-right:6px;padding:0 5px;font-size:10px;display:inline-block}.lesson-panel{border-bottom:1px solid var(--panel-edge);background:var(--panel);padding:8px 16px 10px}.lesson-panel-head{align-items:center;gap:10px;display:flex}.lesson-panel-fold,.lesson-panel-close{flex-shrink:0}.lesson-panel-title{font-family:var(--font-display);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.lesson-badge{border:1px solid var(--rhythm);color:var(--rhythm);padding:1px 6px;font-size:11px}.lesson-composition{color:var(--text-dim);margin-left:auto;font-size:12px}.lesson-panel-body{margin-top:8px}.lesson-read,.lesson-listen{color:var(--text-dim);margin:0 0 8px;font-size:13px}.lesson-listen{color:var(--text)}.lesson-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:8px;display:grid}.lesson-cols h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 4px;font-size:11px}.lesson-cols ul{margin:0;padding-left:16px;font-size:12px}.lesson-good{color:var(--modulator)}.lesson-bad{color:var(--beat)}.lesson-hints{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.lesson-hints li{border:1px solid var(--panel-edge);padding:3px 8px;font-size:12px}.lesson-hints .is-good{color:var(--modulator)}.lesson-hints .is-bad{color:var(--beat);border-color:var(--beat)}.lesson-styles{flex-wrap:wrap;gap:10px 16px;margin-top:10px;display:flex}.lesson-style{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-style-label{text-transform:uppercase;color:var(--text-dim);font-size:11px}.lesson-style-btn{font-size:12px}.lesson-next{margin-top:10px}@media (width<=820px){.lesson-cols{grid-template-columns:1fr}}.knob-slot{flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.knob-pin{z-index:1;color:var(--panel-edge);cursor:pointer;background:0 0;border:none;padding:2px;font-size:11px;line-height:1;position:absolute;top:-6px;right:-2px}.knob-pin:hover{color:var(--text-dim)}.knob-pin.active{color:var(--accent);text-shadow:0 0 6px #ffb45499}.btn-remote-on{color:var(--modulator);border-color:var(--modulator)}.btn-desk-on{color:var(--accent);border-color:var(--accent)}.remote-bar{border-bottom:1px solid var(--panel-edge);background:var(--panel);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;font-size:13px;display:flex}.remote-qr{background:var(--panel);border:1px solid var(--panel-edge);border-radius:2px;flex-shrink:0;overflow:hidden}.remote-qr svg{width:100%;height:100%;display:block}.remote-bar-copy{flex-direction:column;flex:1;gap:6px;min-width:220px;font-size:14px;display:flex}.remote-bar-url{color:var(--accent);-webkit-user-select:all;user-select:all;font-size:15px}.remote-bar-count{color:var(--modulator)}.remote-bar-hint{color:var(--text);font-size:14px}.remote-app{background:var(--bg);min-height:100dvh;color:var(--text);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.remote-app.is-split{height:100dvh;min-height:0;overflow:hidden}.remote-top{border-bottom:1px solid var(--panel-edge);background:var(--bg);z-index:2;align-items:center;gap:8px;padding:6px 10px;display:flex;position:sticky;top:0}.remote-logo{letter-spacing:2px;color:var(--accent);white-space:nowrap;font-size:13px}.remote-logo-sub{letter-spacing:1px;color:var(--text-dim);font-size:10px}.remote-status{background:#5a2020;border-radius:50%;flex-shrink:0;width:12px;height:12px}.remote-status.idle{background:var(--accent);opacity:.5}.remote-status.on{background:var(--modulator);box-shadow:0 0 8px #9bde7eb3}.remote-tabs{gap:6px;margin-left:auto;display:flex}.remote-tab{background:var(--panel);color:var(--text-dim);border:1px solid var(--panel-edge);cursor:pointer;border-radius:2px;padding:5px 10px;font-family:inherit;font-size:12px}.remote-tab.active{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:700}.remote-empty{text-align:center;color:var(--text-dim);padding:40px 24px}.remote-empty-inline{flex-basis:100%;padding:24px}.remote-hint{max-width:420px;margin:8px auto 0;font-size:12px}.remote-perf{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px;display:flex;overflow:auto}.remote-faders{flex-direction:column;align-items:stretch;gap:6px;display:flex}.remote-faders .tfader-h{background:0 0;border:none;flex:none;gap:0;width:100%;min-width:0;padding:0}.remote-faders .tfader-h .tfader-head{z-index:1;pointer-events:none;align-items:flex-start;width:auto;max-width:42%;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.remote-faders .tfader-h .tfader-label{color:inherit;text-shadow:0 0 6px var(--bg), 0 0 4px var(--bg);font-size:12px;font-weight:700}.remote-faders .tfader-h .tfader-sub{text-shadow:0 0 6px var(--bg);font-size:10px}.remote-faders .tfader-h .tfader-track{width:100%;height:48px}.remote-faders .tfader-h .tfader-value{z-index:1;pointer-events:none;width:auto;text-shadow:0 0 6px var(--bg);font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.remote-faders .tfader-h:has(.tfader-remove) .tfader-value{right:26px}.remote-faders .tfader-remove{padding:4px 6px;font-size:16px;top:50%;right:2px;transform:translateY(-50%)}.remote-picker{border-top:1px solid var(--panel-edge);padding-top:8px}.remote-picker-title{letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);margin:0 0 6px;font-size:11px}.remote-picker-list{flex-wrap:wrap;gap:4px;display:flex}.remote-pick{background:var(--panel);min-width:0;min-height:0;color:var(--text);border:1px solid var(--panel-edge);cursor:pointer;text-align:left;border-radius:2px;flex-direction:column;align-items:flex-start;gap:0;padding:4px 8px;font-family:inherit;font-size:12px;display:flex}.remote-pick.active{background:#2a2418}.remote-pick-mod{color:var(--text-dim);font-size:11px}.remote-pick-param{letter-spacing:1px;font-weight:700}.tfader-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;line-height:1;position:absolute;top:4px;right:4px}.tfader{background:var(--panel);border:1px solid var(--panel-edge);border-radius:3px;min-width:0;padding:10px;display:flex;position:relative}.tfader-v{flex-direction:column;flex-grow:1;align-items:center;gap:8px;width:calc(25% - 9px);min-width:84px;max-width:140px;height:46vh;min-height:260px}.tfader-head{flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:100%;display:flex}.tfader-label{letter-spacing:1px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:14px;font-weight:700;overflow:hidden}.tfader-sub{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.tfader-track{background:var(--bg);border:1px solid var(--panel-edge);cursor:grab;border-radius:3px;flex:1;width:100%;position:relative;overflow:hidden}.tfader-v .tfader-track{align-items:flex-end;display:flex}.tfader-fill{background:var(--accent);opacity:.85;pointer-events:none;border-radius:2px 2px 0 0}.tfader-v .tfader-fill{width:100%}.tfader-value{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:13px}.tfader-h{background:0 0;border:none;flex-direction:row;flex:1;align-items:center;gap:10px;min-width:120px;padding:6px 10px}.tfader-h .tfader-head{flex-shrink:0;align-items:flex-start;width:64px}.tfader-h .tfader-label{color:var(--text-dim);font-size:11px;font-weight:400}.tfader-h .tfader-track{height:40px}.tfader-h .tfader-fill{border-radius:2px 0 0 2px;height:100%}.tfader-h .tfader-value{text-align:right;flex-shrink:0;width:44px}.remote-mix-sheet{border-top:2px solid var(--panel-edge);background:var(--panel);flex-direction:column;flex:0 0 50%;min-height:0;display:flex}.remote-mix-handle-row{flex-shrink:0;align-items:stretch;display:flex}.remote-mix-handle-row .eq-pad{border:none;border-left:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge);border-radius:0;min-width:48px;min-height:0}.remote-mix-handle{background:var(--bg);color:var(--accent);border:none;border-bottom:1px solid var(--panel-edge);letter-spacing:1px;text-transform:uppercase;cursor:pointer;flex:1;padding:4px 10px;font-family:inherit;font-size:11px}.remote-mix{flex-direction:column;flex:1;gap:6px;min-height:0;padding:6px 8px 8px;display:flex;overflow:auto}.remote-voice-block{flex-direction:column;gap:4px;display:flex}.remote-voice-block.is-muted{opacity:.55}.remote-voice-fader{flex-direction:row;align-items:stretch;gap:4px;width:100%;display:flex}.remote-voice-fader .tfader-h{flex:1;min-width:0}.remote-voice-fader .mute-pad,.eq-pad{align-self:stretch;min-width:40px;min-height:48px;padding:0 6px;font-size:10px}.eq-pad{background:var(--panel);color:var(--text-dim);border:1px solid var(--panel-edge);letter-spacing:1px;cursor:pointer;border-radius:3px;flex-shrink:0;font-family:inherit;font-weight:700}.eq-pad.active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.remote-voice-eq{flex-direction:column;gap:4px;padding-left:4px;display:flex}.remote-voice{border:1px solid var(--panel-edge);border-radius:3px;overflow:hidden}.remote-voice.is-muted{opacity:.55}.remote-voice-strip{background:var(--panel);border-bottom:1px solid var(--panel-edge);align-items:center;gap:8px;padding:8px 10px;display:flex}.remote-voice-name{text-transform:uppercase;color:var(--accent);white-space:nowrap;font-family:var(--font-display);letter-spacing:.06em;flex-shrink:0;font-size:12px}.remote-module{border-bottom:1px solid var(--panel-edge);align-items:center;gap:8px;padding:6px 10px;display:flex}.remote-module:last-child{border-bottom:none}.remote-module.is-muted .remote-module-name,.remote-module.is-muted .tfader{opacity:.5}.remote-module-name{white-space:nowrap;text-overflow:ellipsis;width:88px;font-family:var(--font-display);flex-shrink:0;font-size:12px;overflow:hidden}.remote-module-cv{color:var(--modulator);text-align:center;letter-spacing:2px;flex:1;font-size:11px}.mute-pad{background:var(--panel);min-width:88px;min-height:52px;color:var(--text);border:1px solid var(--panel-edge);letter-spacing:1px;cursor:pointer;white-space:nowrap;border-radius:3px;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:700}.mute-pad.active{background:var(--beat);border-color:var(--beat);color:var(--bg)}.scene-bar{border-bottom:1px solid var(--panel-edge);background:var(--panel);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 20px;display:flex}.scene-bar-label,.scene-bar-fade{letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-size:11px}.scene-bar-label{margin-right:4px}.scene-bar-fade{align-items:center;gap:6px;margin-left:10px;display:flex}.scene-bar-fade select{background:var(--bg);color:var(--text);border:1px solid var(--panel-edge);border-radius:2px;padding:3px 6px;font-family:inherit}.scene-btn{border:1px solid var(--panel-edge);background:var(--bg);width:34px;height:28px;color:var(--text-dim);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:2px;font-family:inherit;font-size:13px}.scene-btn.scene-empty{opacity:.6;border-style:dashed}.scene-btn.scene-full{border-color:var(--accent);color:var(--accent)}.scene-btn.scene-active{background:var(--modulator);border-color:var(--modulator);color:var(--bg)}.scene-btn.scene-pending{border-color:var(--modulator);color:var(--modulator);animation:.6s steps(2,jump-none) infinite scene-pulse}@keyframes scene-pulse{0%{background:var(--bg)}to{background:color-mix(in srgb, var(--modulator) 35%, var(--bg))}}.partition{margin:2px 0 0}.partition-line{background:var(--bg);border:1px solid var(--panel-edge);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:4px;align-items:baseline;gap:6px;padding:2px 6px;font-size:12px;display:flex}.partition-line:hover,.partition-line.active{border-color:var(--accent)}.partition-label{color:var(--text-dim);flex:none;font-size:11px}.partition-chords{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.partition-editor{flex-direction:column;gap:4px;margin-top:2px;display:flex}.partition-form{gap:6px;display:flex}.partition-input{background:var(--bg);border:1px solid var(--panel-edge);min-width:0;color:var(--text);font-family:var(--font-mono);border-radius:4px;flex:1;padding:4px 6px;font-size:12px}.partition-input:focus{border-color:var(--accent);outline:none}.partition-error{color:#ff6b6b;margin:0;font-size:11px}.partition-help,.partition-mood{color:var(--text-dim);margin:0;font-size:11px;line-height:1.4}.partition-mood strong{color:var(--text)}.partition-chip{background:var(--bg);border:1px solid var(--panel-edge);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:2px 8px;font-size:11px}.partition-chip:hover,.partition-chip.active{border-color:var(--accent);color:var(--accent)}.grille-carte{aspect-ratio:3/2;background:linear-gradient(to right, #28325a59, #dcb45a2e), var(--bg);border:1px solid var(--panel-edge);cursor:crosshair;touch-action:none;border-radius:6px;position:relative;overflow:hidden}.grille-axe{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;opacity:.7;font-size:9px;position:absolute}.grille-axe-gauche{top:50%;left:4px;transform:translateY(-50%)}.grille-axe-droite{top:50%;right:4px;transform:translateY(-50%)}.grille-axe-haut{top:3px;left:50%;transform:translate(-50%)}.grille-axe-bas{bottom:3px;left:50%;transform:translate(-50%)}.grille-point{pointer-events:none;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;transition:transform .12s;position:absolute}.grille-point.morceaux{background:var(--text)}.grille-point.classiques{border:1.5px solid var(--text-dim)}.grille-point.survol{border-color:var(--accent);background:var(--accent);transform:scale(1.8)}.grille-point.ici{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent)}.grille-pas{grid-template-columns:1fr 1fr;gap:4px;display:grid}.grille-pas .partition-chip:disabled{opacity:.35;cursor:default}.grille-accords{font-family:var(--font-mono);color:var(--accent)}.partition-everywhere{align-self:flex-start}.partition-follow{border:1px dashed var(--panel-edge);border-radius:4px;align-items:baseline;gap:6px;margin:0;padding:2px 6px;font-size:12px;display:flex}.partition-follow .partition-chords{min-width:0;color:var(--text-dim);flex:1}.rack-title{border-left:2px solid var(--accent);max-width:260px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-display);align-self:center;padding:4px 12px;font-size:16px;font-weight:600;overflow:hidden}.rack-grid-bar{border-bottom:1px solid var(--panel-edge);padding:2px 6px 4px}.rack-grid-bar .partition{max-width:720px}.rack-grid-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rack-grid-title{color:var(--accent);text-transform:uppercase;font-family:var(--font-display);letter-spacing:.12em;font-size:10px}.rack-key{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.rack-key select{background:var(--bg);color:var(--text);border:1px solid var(--accent);font:inherit;border-radius:2px;padding:3px 6px;font-size:13px}.rack-grid-summary{color:var(--text-dim);font-size:12px}.rack-grid-bar.is-folded{padding-bottom:4px}.grid-playhead{font-family:var(--font-mono);flex-wrap:wrap;gap:2px 4px;display:inline-flex}.grid-bar{border-radius:2px;gap:4px;padding:0 2px;display:inline-flex}.grid-bar.is-bar{background:#ffb45414}.grid-sep{color:var(--text-dim)}.grid-cell{border-radius:2px;padding:0 3px;transition:background 60ms linear}.grid-cell.is-hold{color:var(--text-dim)}.grid-cell.is-playing{background:var(--accent);color:#14151a}
