:root{--bg-canvas: #1f2124;--bg-module: #383b3f;--bg-module-rec: #2c2e31;--bg-module-header: #2c2e31;--bg-chrome: #2c2e31;--border-module: #4d5054;--border-faint: #2e3033;--border-strong: #5d6064;--chrome-ti-bg: rgba(80, 130, 220, .08);--chrome-ti-border: rgba(80, 130, 220, .28);--chrome-ti-text: rgba(130, 170, 230, .88);--chrome-edit-tint: rgba(200, 140, 0, .04);--chrome-edit-bg: rgba(200, 140, 0, .1);--chrome-edit-border: rgba(200, 140, 0, .3);--chrome-edit-text: rgba(220, 170, 60, .9);--chrome-system-bg: rgba(255, 150, 50, .1);--chrome-system-border: rgba(255, 150, 50, .3);--chrome-system-text: rgba(255, 160, 60, .85);--accent: #e85a28;--accent-dim: #6b2511;--border-selected: #e85a28;--accent-multi: #4dbfb8;--selection: #4fb3ea;--text-primary: #ece8e0;--text-secondary: #a09e96;--text-faint: #6a6a64;--text-ghost: rgba(236, 232, 224, .07);--port-audio: #ece8e0;--port-event: #e8c84a;--port-flexible: #7a7a72;--port-assetRef: #f472b6;--link-wire: #4fb3ea;--snap-highlight: rgba(255, 255, 255, .3);--wire-ghost: rgba(236, 232, 224, .5);--minimap-bg: #111111;--minimap-module: #4d5054;--minimap-viewport: #e85a28;--bg-panel: #1f1f1f;--bg-panel-section: #232323;--bg-recess: #1d1d1d;--font-mono: "IBM Plex Mono", monospace;--module-min-width: 48px;--module-radius: 3px;--port-row-height: 16px;--port-handle-size: 8px;--wire-width: 1.5px;--wire-width-hover: 2.5px;--wire-width-selected: 3px;--wire-bezier-offset: 80px;--minimap-width: 240px;--minimap-height: 152px;--minimap-margin: 12px;--s-1: 2px;--s-2: 4px;--s-3: 6px;--s-4: 8px;--s-5: 12px;--s-6: 16px;--s-7: 24px;--s-8: 32px;--t-fast: 80ms;--t-norm: .14s;--ease: cubic-bezier(.2, 0, .2, 1)}.m{position:absolute;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);z-index:1}.m-card{background:var(--bg-module);border:1px solid var(--border-module);border-radius:var(--module-radius);position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;min-width:var(--module-min-width);cursor:grab;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.m[data-state=selected] .m-card{border-color:var(--border-selected);box-shadow:0 0 0 1px var(--border-selected)}.m[data-state=selected]{z-index:10}.m[data-state=multi] .m-card{border-color:var(--accent-multi);box-shadow:0 0 0 1px var(--accent-multi)}.m[data-param=true][data-state=idle] .m-card{border-color:var(--border-faint)}.m[data-active=false] .m-card,.m[data-active=false] .m-val{background:var(--bg-canvas);border-color:var(--border-module)}.m[data-active=false] .m-enter{background:var(--bg-canvas)}.m-ins,.m-outs{display:flex;flex-direction:column;padding:4px 0;gap:0}.m-ins{align-items:flex-start}.m-outs{align-items:flex-end}.port{height:var(--port-row-height);display:flex;align-items:center;font-size:9px;color:var(--text-primary);gap:4px;white-space:nowrap;position:relative}.port .port-key{font-weight:500;letter-spacing:.02em}.port-in{padding-left:0;padding-right:4px}.port-out{padding-right:0;padding-left:4px}.port-dot{width:var(--port-handle-size);height:var(--port-handle-size);border-radius:50%;flex-shrink:0;cursor:crosshair;position:relative}.port-dot:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%}.port-in .port-dot{margin-left:-4px}.port-out .port-dot{margin-right:-4px}.port[data-sig=audio] .port-dot{background:var(--port-audio)}.port[data-sig=event] .port-dot{background:var(--port-event)}.port[data-sig=flex] .port-dot{background:var(--port-flexible)}.port[data-sig=assetRef] .port-dot{background:var(--port-assetRef)}.port.eligible .port-dot{box-shadow:0 0 5px 1.5px var(--snap-highlight);animation:snap 1.2s var(--ease) infinite}.port.ineligible{opacity:.35}@keyframes snap{50%{box-shadow:0 0 9px 3px var(--snap-highlight)}}.m-body{padding:6px 4px;display:flex;align-items:center;justify-content:center;min-height:32px;position:relative}.m-body svg{display:block}.m-body .glyph{stroke:var(--text-primary);stroke-width:1.25;fill:none;stroke-linecap:round;stroke-linejoin:round}.m-body .glyph-fill{fill:var(--text-primary)}.m-body .glyph.dim{stroke:var(--text-secondary)}.m-body-fallback{font-size:9px;color:var(--text-secondary);font-family:var(--font-mono)}.m-val{font-size:12px;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--bg-module-rec);border:1px solid var(--border-faint);border-radius:2px;padding:2px 6px;min-width:56px;text-align:center;box-sizing:border-box;outline:none;cursor:text}.m-val.event{color:var(--port-event)}input.m-val{width:56px;min-width:56px;max-width:80px}.m-knob{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 0;width:100%}.m-knob>div{display:flex;justify-content:center;width:100%}.m-knob .read{display:block;font-size:11px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center}.m-label{margin-top:3px;font-size:9.5px;color:var(--text-secondary);letter-spacing:.02em;display:flex;align-items:baseline;justify-content:center;gap:6px;line-height:1.2;padding:0 2px;pointer-events:none}.m-label .id{color:var(--text-faint);font-size:9px}.m[data-state=selected] .m-label{color:var(--text-primary)}.m-label[data-rename=true]{pointer-events:auto;cursor:text}.m-label-empty{color:var(--text-faint)}.m-label-input{display:block;width:100%;box-sizing:border-box;font-size:9.5px;font-family:var(--font-mono);letter-spacing:.02em;line-height:1.2;text-align:center;color:var(--text-primary);background:var(--bg-recess);border:none;outline:1px solid var(--border-selected);padding:0 2px}.m-tpl{position:absolute;top:-1px;right:-1px;font-size:7.5px;color:var(--port-event);background:var(--bg-canvas);border:1px solid var(--port-event);border-radius:0 var(--module-radius) 0 2px;padding:0 3px;line-height:11px;font-weight:700;letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none}.m-enter{position:absolute;bottom:-1px;left:2px;font-size:8px;color:var(--text-secondary);line-height:1;background:var(--bg-module);padding:0 2px;pointer-events:none;-webkit-user-select:none;user-select:none}.wire-group .wire-visible{stroke-width:var(--wire-width);opacity:.85;transition:stroke-width var(--t-fast) var(--ease);pointer-events:none}.wire-group:hover .wire-visible{stroke-width:var(--wire-width-hover);opacity:1}.wire-group.is-selected .wire-visible{stroke-width:var(--wire-width-selected);opacity:1}.wire-group.is-hovered .wire-visible{stroke-width:var(--wire-width-selected);opacity:1;filter:brightness(1.35)}.wire-hit{pointer-events:stroke;cursor:pointer;stroke-width:12;stroke:transparent;fill:none}button.breadcrumb-seg{background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;cursor:pointer;padding:0;text-decoration:none}button.breadcrumb-seg.breadcrumb-head{color:var(--text-faint)}button.breadcrumb-seg.breadcrumb-current{color:var(--text-primary);cursor:default}button.breadcrumb-seg:not(.breadcrumb-current):hover{color:var(--text-primary)}.karst-menu-scrollbar::-webkit-scrollbar{width:8px;height:8px}.karst-menu-scrollbar::-webkit-scrollbar-track{background:transparent}.karst-menu-scrollbar::-webkit-scrollbar-thumb{background:var(--border-module);border-radius:4px}.karst-menu-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.karst-menu-scrollbar::-webkit-scrollbar-corner{background:transparent}:root{--app: #0e0d0c;--surface-window: #0f1113;--surface-stage: #090b0e;--surface-slot: #13181e;--surface-tile: #262e38;--field: #221f1b;--field-line: #343a41;--grad-header: linear-gradient(180deg, #272d33, #191d22);--grad-panel: linear-gradient(180deg, #2d343f, #232a33);--grad-sunken: linear-gradient(180deg, #0a0d11, #12161b);--grad-control: linear-gradient(180deg, #2a2f36, #1f242a);--grad-accent: linear-gradient(180deg, #fa8b3f, #e8690f);--grad-rail: linear-gradient(180deg, #1a1e23, #121519);--line: #262b30;--line-soft: #2b3037;--edge: #0d0f12;--line-control: #14171b;--accent: #F2843A;--accent-bright: #F26A1B;--accent-deep: #d9631f;--accent-fg: #1c0f06;--accent-border: #99410f;--accent-soft: #F2A06A;--ok: #6fce8e;--warn: #caa53f;--teal: #46b3a6;--crit: #e0633f;--bank-pattern: #F2843A;--bank-shapes: #5FB7C4;--bank-sound: #B98BE6;--macro-group: #5f656d;--text: #ECEAE4;--text-2: #aab0b7;--text-3: #9aa0a7;--text-dim: #8d9298;--text-faint: #4f4b44;--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-face: "Archivo", sans-serif;--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 12px;--sp-5: 16px;--sp-6: 20px;--sp-7: 22px;--r-1: 3px;--r-2: 4px;--r-3: 5px;--r-4: 6px;--r-5: 12px;--e-sunken: inset 0 2px 4px rgba(0,0,0,.6);--e-raised: inset 0 1px 0 rgba(255,255,255,.07), 0 1px 2px rgba(0,0,0,.45);--e-window: 0 30px 80px -32px rgba(0,0,0,.7);--e-pop: 0 18px 44px -16px rgba(0,0,0,.8)}.cd-skin{--bg-panel: var(--surface-window);--bg-panel-section: var(--surface-slot);--bg-recess: var(--surface-stage);--bg-canvas: var(--surface-stage);--border-faint: var(--line);--border-strong: var(--line-soft);--border-selected: var(--accent-border);--text-primary: var(--text);--text-secondary: var(--text-2);--text-faint: #4f4b44;--accent: #F2843A;--accent-dim: var(--accent-deep);--accent-multi: var(--teal);--border-strong-hover: var(--text-2);--font-mono: "JetBrains Mono", monospace;--chrome-edit-tint: rgba(242, 132, 58, .08);--bg-chrome: var(--surface-slot);--bg-module-rec: var(--surface-stage);--border-module: var(--line);--module-radius: 3px}
