:root,:root[data-theme=dark]{color-scheme:dark;--bg-app: #0b0e13;--bg-canvas: #0b0e13;--bg-panel: #161b24;--bg-sunken: #0c1017;--bg-overlay: #1f242eee;--border-hairline: rgba(255, 255, 255, .04);--border-default: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .18);--border-focus: #5ec8ff;--text-primary: #e6ecf2;--text-secondary: #c4cad4;--text-tertiary: rgba(230, 236, 242, .55);--text-disabled: rgba(230, 236, 242, .3);--text-on-color: #0b0e13;--cat-source: #5ec8ff;--cat-radar: #a78bfa;--cat-mixer: #ec4899;--cat-filter: #5be39a;--cat-dsp: #ffb95e;--cat-detector: #7CFFB2;--cat-sink: #64748b;--cat-converter: #c4b5fd;--canvas-bg: #0b0e13;--canvas-grid: rgba(255, 255, 255, .04);--canvas-grid-major: rgba(255, 255, 255, .08);--block-bg: #161b24;--block-border: rgba(255, 255, 255, .06);--block-border-active: #e6ecf2;--wire-default: #4a5568;--wire-active: #5ec8ff;--wire-selected: #5ec8ff;--wire-error: #ff6b6b;--plot-bg: #080b10;--plot-bg-sunken: #0c1017;--plot-grid-minor: rgba(255, 255, 255, .04);--plot-grid-major: rgba(255, 255, 255, .08);--plot-axis: rgba(230, 236, 242, .55);--plot-label: #c4cad4;--trace-1: #5ec8ff;--trace-2: #ffb95e;--trace-3: #ec4899;--trace-error: #ff6b6b;--trace-ref: #4a5568;--cursor: #7CFFB2;--trigger: #ffb95e;--marker-active: #5ec8ff;--heatmap-axis: rgba(230, 236, 242, .55);--heatmap-axis-label: rgba(230, 236, 242, .4);--heatmap-chip-bg: #161b24;--heatmap-chip-border: var(--cat-detector);--status-running: #5be39a;--status-paused: #ffb95e;--status-stopped: #4a5568;--status-error: #ff6b6b;--status-warning: #ffb95e;--status-info: #5ec8ff;--shadow-block: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--shadow-panel: 0 1px 2px rgba(0, 0, 0, .5);--run-bg-top: #7CFFB2;--run-bg-bottom: #42d68c;--run-border: #3fc78a;--run-text: #062010;--run-kbd-text: rgba(6, 32, 16, .7);--run-kbd-bg: rgba(6, 32, 16, .12);--run-kbd-border: rgba(6, 32, 16, .2);--hover-tint: rgba(255, 255, 255, .03);--blockcat-sources: #E89B4C;--blockcat-sources-tint: rgba(232, 155, 76, .08);--blockcat-sources-edge: #6cf;--blockcat-processing: #4C8AE8;--blockcat-processing-tint: rgba(76, 138, 232, .08);--blockcat-processing-edge: #7c4dff;--blockcat-sinks: #7CFFB2;--blockcat-sinks-tint: rgba(124, 255, 178, .08);--blockcat-sinks-edge: #4ade80;--blockcat-utility: #8a96a6;--blockcat-utility-tint: rgba(138, 150, 166, .06);--blockcat-utility-edge: #5a6776;--xray-bg: #12152a;--knob-label-color: #888;--gpu-badge-color: #a48bff;--toggle-thumb: #fff;--canvas-breadcrumb-bg: rgba(20, 24, 29, .65);--icon-cyan: #5ec8ff;--icon-violet: #d68bff;--icon-green: #5be39a;--icon-orange: #ff9b5e;--icon-amber: #ffb95e;--icon-red: #ff6b6b;--knob-body: radial-gradient(circle at 30% 30%, #2a3140, #14181f);--knob-track: rgba(255, 255, 255, .08);--knob-pointer: #fff;--knob-pointer-shadow: 0 0 4px rgba(255, 255, 255, .4);--bg: var(--bg-canvas);--panel: var(--bg-panel);--panel-2: var(--bg-overlay);--border: var(--border-default);--text: var(--text-primary);--text-dim: var(--text-tertiary);--accent: var(--border-focus)}:root[data-theme=light]{color-scheme:light;--bg-app: #fbfaf4;--bg-canvas: #f4f1e8;--bg-panel: #ffffff;--bg-sunken: #e1dccc;--bg-overlay: #fbfaf4ee;--border-hairline: #e8e3d0;--border-default: #c0baa3;--border-strong: #8e8771;--border-focus: #0e8a96;--text-primary: #1c1a14;--text-secondary: #615b4c;--text-tertiary: #8e8771;--text-disabled: #b6ae93;--text-on-color: #ffffff;--cat-source: #0891B2;--cat-radar: #6D28D9;--cat-mixer: #BE185D;--cat-filter: #047857;--cat-dsp: #C2410C;--cat-detector: #16A34A;--cat-sink: #475569;--cat-converter: #7C3AED;--canvas-bg: #f4f1e8;--canvas-grid: #e1dccc;--canvas-grid-major: #c0baa3;--block-bg: #ffffff;--block-border: #c0baa3;--block-border-active: #1c1a14;--wire-default: #8e8771;--wire-active: #0e8a96;--wire-selected: #0c7780;--wire-error: #b8412e;--plot-bg: #FFFFFF;--plot-bg-sunken: #FAFAF8;--plot-grid-minor: #ECEAE3;--plot-grid-major: #D9D6CD;--plot-axis: #8A8FA8;--plot-label: #4D5266;--trace-1: #0891B2;--trace-2: #B45309;--trace-3: #BE185D;--trace-error: #DC2626;--trace-ref: #9CA3AF;--cursor: #7C3AED;--trigger: #B45309;--marker-active: #0EA5E9;--heatmap-axis: #4D5266;--heatmap-axis-label: #8A8FA8;--heatmap-chip-bg: #FFFFFF;--heatmap-chip-border: var(--cat-detector);--status-running: #3a9d5a;--status-paused: #c8881a;--status-stopped: #968f7e;--status-error: #a8392a;--status-warning: #c8881a;--status-info: #1c92a3;--shadow-block: 0 1px 2px rgba(28,26,20,.06), 0 2px 6px rgba(28,26,20,.04);--shadow-panel: 0 1px 2px rgba(28,26,20,.07);--run-bg-top: #3a9d5a;--run-bg-bottom: #2d7e47;--run-border: #2d7e47;--run-text: #FFFFFF;--run-kbd-text: rgba(255, 255, 255, .85);--run-kbd-bg: rgba(255, 255, 255, .18);--run-kbd-border: rgba(255, 255, 255, .3);--hover-tint: rgba(28, 26, 20, .04);--blockcat-sources: #C2410C;--blockcat-sources-tint: rgba(194, 65, 12, .07);--blockcat-sources-edge: #0891B2;--blockcat-processing: #1D4ED8;--blockcat-processing-tint: rgba(29, 78, 216, .07);--blockcat-processing-edge: #7C3AED;--blockcat-sinks: #047857;--blockcat-sinks-tint: rgba(4, 120, 87, .07);--blockcat-sinks-edge: #16A34A;--blockcat-utility: #475569;--blockcat-utility-tint: rgba(71, 85, 105, .06);--blockcat-utility-edge: #475569;--xray-bg: #e1dccc;--knob-label-color: #8e8771;--gpu-badge-color: #5b3ccc;--toggle-thumb: #FFFFFF;--canvas-breadcrumb-bg: rgba(255, 255, 255, .85);--icon-cyan: #0891B2;--icon-violet: #7C3AED;--icon-green: #047857;--icon-orange: #C2410C;--icon-amber: #B45309;--icon-red: #DC2626;--knob-body: radial-gradient(circle at 30% 30%, #fbfaf4, #c0baa3);--knob-track: rgba(28, 26, 20, .1);--knob-pointer: var(--text-primary);--knob-pointer-shadow: 0 1px 2px rgba(28, 26, 20, .2);--bg: var(--bg-app);--panel: var(--bg-panel);--panel-2: var(--bg-sunken);--border: var(--border-default);--text: var(--text-primary);--text-dim: var(--text-tertiary);--accent: var(--border-focus)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:auto 1fr;grid-template-rows:56px 1fr;height:100vh}.palette-wrap{width:220px;display:flex;flex-direction:column;position:relative;overflow:hidden}.palette-wrap .palette{flex:1}.instrument-panel-wrap{display:flex;position:relative;flex-shrink:0}.panel-collapse{position:absolute;z-index:5;width:20px;height:28px;background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.panel-collapse:hover{border-color:var(--accent);color:var(--text)}.panel-collapse-left{right:0;top:50%;transform:translateY(-50%);border-radius:0 4px 4px 0;border-left:none}.panel-collapse-right{left:0;top:50%;transform:translateY(-50%);border-radius:4px 0 0 4px;border-right:none}.panel-tab{writing-mode:vertical-lr;display:flex;align-items:center;justify-content:center;width:24px;background:var(--panel);border-right:1px solid var(--border);cursor:pointer;color:var(--text-dim);font-size:12px;-webkit-user-select:none;user-select:none}.panel-tab:hover{color:var(--text);background:var(--panel-2)}.panel-tab-right{border-right:none;border-left:1px solid var(--border)}.topbar{grid-column:1 / -1;height:48px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--border);font-weight:600}.topbar-logo{display:flex;align-items:center;gap:8px;flex-shrink:0;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}.topbar-logo-icon{width:36px;height:34px;display:block;margin:0;padding:0;flex-shrink:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.topbar-logo-wordmark{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:18px;letter-spacing:-.5px;font-weight:400;color:var(--text-primary);line-height:1;-webkit-user-select:none;user-select:none}.topbar-logo-p{font-weight:700;color:var(--cat-radar)}.topbar button{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.topbar button:hover{border-color:var(--accent)}.topbar button.topbar-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim)}.topbar button.topbar-icon:hover{color:var(--text)}.settings-menu-wrap{position:relative;align-self:center}.settings-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000073;z-index:1500;padding:6px}.settings-menu-section{display:flex;flex-direction:column;gap:1px}.settings-menu-label{padding:6px 8px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.settings-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:transparent;border:none;border-radius:4px;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.settings-menu-item:hover{background:var(--panel-2)}.settings-menu-item.active{color:var(--accent)}.settings-menu-tick{display:inline-block;width:12px;color:var(--accent);font-family:ui-monospace,Menlo,monospace}.settings-menu-version{margin-top:6px;padding:8px 8px 4px;border-top:1px solid var(--border);font-family:ui-monospace,Menlo,monospace;font-size:10px;color:var(--text-dim);display:flex;align-items:center;gap:6px;-webkit-user-select:text;user-select:text}.settings-menu-version-sep{opacity:.45}.settings-menu-version-sha{color:var(--text);opacity:.7}.status-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:var(--panel-2);border:1px solid var(--border);font-size:11px;font-family:ui-monospace,Menlo,monospace;color:var(--text-dim);white-space:nowrap}.status-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.status-pill-samples{color:var(--text-dim);opacity:.75}.status-pill.status-running .status-pill-dot{background:var(--status-running);box-shadow:0 0 6px #7cffb2b3;animation:status-pulse 1.6s ease-in-out infinite}.status-pill.status-running{color:var(--text);border-color:#7cffb259}.status-pill.status-starting .status-pill-dot{background:var(--status-warning);animation:status-pulse .9s ease-in-out infinite}.status-pill.status-error .status-pill-dot{background:var(--status-error)}.status-pill.status-error{color:var(--status-error);border-color:#ff6a5b59}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.55}}.topbar-run-group{display:flex;align-items:center;gap:6px;margin-right:8px;padding-right:10px;border-right:1px solid var(--border)}.topbar button.topbar-run{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--run-bg-top) 0%,var(--run-bg-bottom) 100%);color:var(--run-text);border:1px solid var(--run-border);padding:7px 14px 7px 12px;font-weight:600;font-size:13px;letter-spacing:.02em;box-shadow:0 1px #ffffff40 inset,0 1px 6px #7cffb226;transition:box-shadow .18s ease-out,transform .12s ease-out,filter .12s ease-out}.topbar button.topbar-run:hover{border-color:var(--run-bg-top);filter:brightness(1.06)}.topbar button.topbar-run:active{transform:translateY(1px)}.topbar button.topbar-run:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.6)}.topbar button.topbar-run.topbar-run-ready{position:relative;box-shadow:0 0 0 1px #7cffb28c inset,0 1px #ffffff4d inset}.topbar button.topbar-run.topbar-run-ready:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;pointer-events:none;box-shadow:0 0 18px var(--run-bg-top);opacity:.55;animation:run-ready-pulse 2.4s ease-in-out infinite;will-change:opacity}@keyframes run-ready-pulse{0%,to{opacity:.35}50%{opacity:1}}.topbar-run-triangle{width:10px;height:12px;fill:var(--run-text);flex-shrink:0}.topbar-run-kbd{margin-left:4px;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:10px;font-weight:500;color:var(--run-kbd-text);background:var(--run-kbd-bg);border:1px solid var(--run-kbd-border);border-radius:3px;line-height:1}.topbar button.topbar-stop{display:inline-flex;align-items:center;gap:6px;padding:6px 10px}.topbar-stop-square{display:inline-block;width:8px;height:8px;background:currentColor;opacity:.75;border-radius:1px}.palette{background:var(--panel);border-right:1px solid var(--border);overflow:auto;padding:12px}.resize-splitter{background:transparent;flex-shrink:0;z-index:5}.resize-splitter-horizontal{height:5px;cursor:row-resize;margin:-2px 0}.resize-splitter-vertical{width:5px;cursor:col-resize;margin:0 -2px}.resize-splitter:hover{background:var(--accent);opacity:.3}.bottom-tray{display:flex;flex-direction:column;background:var(--panel);border-top:1px solid var(--border);min-height:32px}.bottom-tray-tabs{display:flex;align-items:center;height:32px;padding:0 8px;gap:2px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.bottom-tray-tab{padding:4px 12px;font-size:11px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.bottom-tray-tab:hover{color:var(--text)}.bottom-tray-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.bottom-tray-collapse{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:10px;padding:4px 6px}.bottom-tray-content{flex:1;overflow:auto;padding:12px}.instrument-panel{display:flex;background:var(--panel);border-left:1px solid var(--border);overflow:hidden;flex-shrink:0}.instrument-panel-content{flex:1;overflow:auto;padding:12px}.instrument-section{margin-bottom:12px}.instrument-header{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);display:flex;align-items:center}.instrument-detach{margin-left:auto;font-size:10px;padding:2px 6px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.instrument-detach:hover{border-color:var(--accent)}.floating-instrument{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:1500;display:flex;flex-direction:column;overflow:hidden}.floating-instrument-titlebar{display:flex;align-items:center;height:28px;padding:0 8px;background:var(--panel-2);cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none}.floating-instrument-titlebar:active{cursor:grabbing}.floating-instrument-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.floating-instrument-btn:first-of-type{margin-left:auto}.floating-instrument-btn{font-size:10px;padding:1px 5px;margin-left:4px;background:var(--panel);border:1px solid var(--border);border-radius:3px;color:var(--text);cursor:pointer}.floating-instrument-btn:hover{border-color:var(--accent)}.floating-instrument-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;min-width:0;min-height:0}.floating-instrument-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize}.floating-instrument:fullscreen,.floating-instrument.is-fullscreen{left:0!important;top:0!important;width:100vw!important;height:100vh!important;border-radius:0;border:0;box-shadow:none}.floating-instrument:fullscreen .floating-instrument-resize,.floating-instrument.is-fullscreen .floating-instrument-resize{display:none}.instrument-section:fullscreen,.instrument-section.is-fullscreen{background:var(--panel);width:100vw;height:100vh;margin:0;padding:16px;overflow:auto;display:flex;flex-direction:column}.instrument-section:fullscreen>:not(.instrument-header),.instrument-section.is-fullscreen>:not(.instrument-header){flex:1;min-height:0}.main-content{display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.canvas-and-right{display:flex;flex:1;overflow:hidden;min-height:0}.canvas-area{flex:1;min-width:0;min-height:0;position:relative}.canvas-area>.canvas{width:100%;height:100%}.palette h3,.instrument-header{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.palette-item{padding:5px 8px 5px 10px;margin-bottom:1px;background:transparent;border:1px solid transparent;border-left:3px solid var(--cat-color, transparent);border-radius:4px;cursor:grab;font-size:13px;color:var(--text-dim);display:flex;align-items:center;gap:8px;transition:background .12s ease-out,color .12s ease-out}.palette-item:hover{background:var(--hover-tint);color:var(--cat-color, var(--text));border-left-color:var(--cat-color, var(--accent))}.palette-item:active{cursor:grabbing}.palette-search{position:relative;margin:0 0 12px}.palette-search input{width:100%;height:28px;padding:0 26px 0 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;outline:none}.palette-search input::placeholder{color:var(--text-dim)}.palette-search input:focus{border-color:var(--accent)}.palette-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1}.palette-search-clear:hover{color:var(--text)}.palette-empty{padding:14px 4px;font-size:11px;color:var(--text-dim);text-align:center;font-style:italic}.palette-item-icon{width:22px;height:22px;flex-shrink:0;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.block-icon-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.block-icon-cell>svg{display:block}.block-icon-gpu-badge{position:absolute;bottom:-3px;right:-5px;font:700 6.5px/1 JetBrains Mono,ui-monospace,monospace;color:var(--gpu-badge-color);background:var(--bg-canvas, var(--bg));padding:1px 3px;border-radius:3px;box-shadow:inset 0 0 0 1px #a48bff66;letter-spacing:.4px;pointer-events:none}.palette-section{margin-bottom:12px}.palette-section-header{display:flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;border-radius:4px;color:var(--cat-color, var(--text-dim));background:var(--cat-tint, transparent)}.cat-sources{--cat-color: var(--blockcat-sources);--cat-tint: var(--blockcat-sources-tint)}.cat-processing{--cat-color: var(--blockcat-processing);--cat-tint: var(--blockcat-processing-tint)}.cat-sinks{--cat-color: var(--blockcat-sinks);--cat-tint: var(--blockcat-sinks-tint)}.cat-utility{--cat-color: var(--blockcat-utility);--cat-tint: var(--blockcat-utility-tint)}.canvas{background:var(--bg);position:relative}.canvas-breadcrumb{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:5px 14px;border:1px solid var(--border);border-radius:14px;background:var(--canvas-breadcrumb-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:11px;letter-spacing:.04em;color:var(--text-dim);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:4}.canvas-breadcrumb-sep{opacity:.45;font-size:10px}.react-flow__node{padding:0;background:transparent;border:none;overflow:visible!important}.block-node{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text);min-width:140px;position:relative;overflow:visible}.block-node.selected{box-shadow:0 0 0 1.5px var(--accent)}.block-node.category-sources.selected{box-shadow:0 0 0 1.5px var(--blockcat-sources-edge)}.block-node.category-processing.selected{box-shadow:0 0 0 1.5px var(--blockcat-processing-edge)}.block-node.category-sinks.selected{box-shadow:0 0 0 1.5px var(--blockcat-sinks-edge)}.block-node.category-utility.selected{box-shadow:0 0 0 1.5px var(--blockcat-utility-edge)}.block-node-xray{padding:0;background:var(--xray-bg);border:1px solid var(--border);border-radius:8px;overflow:visible;position:relative;transition:box-shadow .3s ease-out}.block-node-xray.expanded{box-shadow:0 0 0 1px #4dd0e140,0 12px 32px #0000008c}.block-node-xray-face{width:100%;display:block;overflow:hidden;border-radius:7px}.block-node-xray-svg{display:block;width:100%;height:120px;flex-shrink:0}.block-node-knobs-overlay{position:absolute;bottom:0;left:0;right:0;animation:knobs-reveal .25s cubic-bezier(.4,0,.2,1) both}.block-node-xray.expanded .block-node-xray-face{border-radius:7px 7px 0 0}.block-node-xray-face>svg,.block-node-xray-face>img{display:block;width:100%;height:100%}.block-node-knobs{width:100%;padding:4px 8px 8px;background:var(--xray-bg);border-radius:0 0 8px 8px;animation:knobs-reveal .3s .2s cubic-bezier(.32,.72,0,1) both;pointer-events:auto}.block-node-knobs .knob:nth-child(1){animation:knob-pop .25s .28s cubic-bezier(.32,.72,0,1) both}.block-node-knobs .knob:nth-child(2){animation:knob-pop .25s .34s cubic-bezier(.32,.72,0,1) both}.block-node-knobs .knob:nth-child(3){animation:knob-pop .25s .4s cubic-bezier(.32,.72,0,1) both}@keyframes knob-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes knobs-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.block-node-knobs-divider{height:1px;background:linear-gradient(to right,transparent,rgba(77,208,225,.25),transparent);margin-bottom:8px}.block-node-knobs-row{display:flex;justify-content:space-around;align-items:flex-start;gap:8px}.knob{display:flex;flex-direction:column;align-items:center}.knob-value{font-family:ui-monospace,Menlo,monospace;font-size:9px;font-weight:500;margin-top:2px;text-align:center;white-space:nowrap;min-width:44px}.knob-label{font-size:7px;color:var(--knob-label-color);text-transform:lowercase;letter-spacing:.3px;margin-top:0}.block-node-xray.selected{box-shadow:0 0 0 2px var(--accent)}.block-node-xray-face{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.block-toggle{position:absolute;top:5px;right:5px;z-index:5;width:20px;height:10px;border-radius:5px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);cursor:pointer;padding:0;transition:background .2s ease-out,border-color .2s ease-out}.block-toggle:hover{border-color:#ffffff40}.block-toggle-on{background:var(--toggle-color, var(--accent));border-color:var(--toggle-color, var(--accent))}.block-toggle-thumb{width:6px;height:6px;border-radius:50%;background:var(--toggle-thumb);position:absolute;top:50%;margin-top:-3px;left:2px;transition:left .2s cubic-bezier(.32,.72,0,1);box-shadow:0 1px 2px #0000004d}.block-toggle-on .block-toggle-thumb{left:10px}.block-node-header .block-toggle{position:relative;margin-left:auto;flex-shrink:0}.block-node.block-disabled{opacity:.35}.block-node.block-disabled .block-toggle{opacity:1}.block-bypass-line{position:absolute;top:0;left:-7px;right:-7px;bottom:0;pointer-events:none;z-index:4}.block-bypass-line line{stroke-dasharray:4 3;stroke-linecap:round}.block-node.category-sources{border-left:3px solid var(--blockcat-sources-edge)}.block-node.category-processing{border-left:3px solid var(--blockcat-processing-edge)}.block-node.category-sinks{border-left:3px solid var(--blockcat-sinks-edge)}.block-node.category-utility{border-left:3px solid var(--blockcat-utility-edge)}.port-refusal-banner{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#782828eb;color:#ffe7e7;border:1px solid rgba(255,120,120,.55);border-radius:6px;padding:6px 12px;font-size:12px;z-index:20;pointer-events:none;box-shadow:0 4px 14px #0006;animation:port-refusal-fade 2.5s ease-out forwards}@keyframes port-refusal-fade{0%{opacity:0;transform:translate(-50%,-4px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.zoom-lock-badge{position:absolute;bottom:120px;left:10px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:10px;color:var(--text-dim);z-index:5;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.detection-table{width:100%;border-collapse:collapse;font-size:11px;font-family:ui-monospace,Menlo,monospace}.detection-table th{text-align:left;padding:2px 6px;color:var(--text-dim);border-bottom:1px solid var(--border);font-weight:500}.detection-table td{padding:2px 6px;color:var(--text)}.detection-table tr:nth-child(2n) td{background:#6cccff08}.detection-table tr.detection-row-empty td{color:var(--text-dim);opacity:.4}.detection-empty{padding:12px 8px;font-size:11px;color:var(--text-dim);opacity:.55;text-align:center;font-family:ui-monospace,Menlo,monospace}.detection-count{padding:4px 8px;color:var(--text-dim);font-size:10px}.lab-browser{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0b0d1a;display:flex;flex-direction:column;overflow:hidden}.lab-browser-header{display:flex;align-items:center;gap:12px;padding:0 16px;height:48px;background:#14181d;border-bottom:1px solid #262d36;flex-shrink:0}.lab-browser-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;flex-shrink:0}.lab-browser-logo-icon{width:36px;height:34px;display:block;flex-shrink:0}.lab-browser-logo-wordmark{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:18px;font-weight:400;letter-spacing:-.5px;color:#e0e0e0;line-height:1;-webkit-user-select:none;user-select:none}.lab-browser-logo-p{font-weight:700;color:#7c4dff}.lab-browser-title{font-size:14px;color:#555}.lab-browser-search{margin-left:auto;position:relative;width:320px}.lab-browser-search input{width:100%;height:28px;padding:0 40px 0 12px;background:#12152a;border:1px solid #333;border-radius:6px;color:var(--text);font-size:12px;outline:none}.lab-browser-search input:focus{border-color:var(--accent)}.lab-browser-search kbd{position:absolute;right:8px;top:6px;font-size:10px;color:#444;font-family:ui-monospace,Menlo,monospace}.lab-browser-close{background:none;border:none;color:#555;font-size:18px;cursor:pointer;padding:4px 8px}.lab-browser-close:hover{color:var(--text)}.lab-browser-pills{display:flex;gap:8px;padding:12px 24px;flex-shrink:0}.lab-browser-pill{padding:4px 16px;border-radius:12px;border:1px solid #333;background:#12152a;color:#888;font-size:11px;cursor:pointer;white-space:nowrap}.lab-browser-pill:hover{border-color:#555;color:var(--text)}.lab-browser-pill.active{background:#7c4dff26;border-color:transparent;color:#7c4dff;font-weight:500}.lab-browser-content{flex:1;overflow-y:auto;padding:0 0 40px}.lab-browser-error,.lab-browser-loading,.lab-browser-empty{padding:40px 24px;color:var(--text-dim);font-size:13px}.lab-browser-shelf{padding:16px 0 8px}.lab-browser-shelf-header{padding:0 24px 8px}.lab-browser-shelf-title{font-size:13px;font-weight:500}.lab-browser-shelf-subtitle{font-size:12px;color:#444;margin-left:4px}.lab-browser-shelf-row{display:flex;gap:16px;padding:4px 0 8px;margin:0 24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;scrollbar-width:none}.lab-browser-shelf-row::-webkit-scrollbar{display:none}.lab-browser-searching .lab-browser-shelf-row{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none;row-gap:16px}.lab-card{flex-shrink:0;width:420px;height:240px;border-radius:10px;background:#12152a;border:1px solid #1a1e35;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;scroll-snap-align:start;transition:border-color .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out}.lab-card:hover{border-color:#7c4dff;box-shadow:0 4px 20px #7c4dff26;transform:translateY(-2px)}.lab-card-in_progress{border-color:#ff980026}.lab-card-in_progress:hover{border-color:#ff980059;box-shadow:0 4px 20px #ff98001a}.lab-card-completed{border-color:#66bb6a1f}.lab-card-completed:hover{border-color:#66bb6a4d;box-shadow:0 4px 20px #66bb6a14}.lab-card-preview{height:130px;background:#0a0c15;border-radius:10px 10px 0 0;display:flex;position:relative}.lab-card-preview-img{width:100%;height:100%;object-fit:contain;border-radius:10px 10px 0 0}.lab-card-preview-before,.lab-card-preview-after{flex:1;display:flex;flex-direction:column;padding:4px;position:relative}.lab-card-preview-before svg,.lab-card-preview-after svg{flex:1;width:100%}.lab-card-preview-label{font-size:8px;font-family:system-ui;opacity:.5;padding:2px 4px;position:absolute;top:4px;left:6px}.lab-card-preview-label-before{color:#ff6b6b}.lab-card-preview-label-after{color:#66bb6a}.lab-card-preview-divider{width:1px;background:#333;align-self:stretch}.lab-card-body{flex:1;padding:10px 14px 6px;min-height:0}.lab-card-title{font-size:14px;font-weight:500;color:#ddd;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-card-desc{font-size:11px;color:#666;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lab-card-formula{font-size:11px;font-family:ui-monospace,Menlo,monospace;color:#4dd0e1;opacity:.5;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-card-goal{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#0a0c15;border-radius:0 0 10px 10px;min-height:30px}.lab-card-goal-text{font-size:10px;color:#888;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-card-goal-best{font-size:9px;font-family:ui-monospace,Menlo,monospace;color:#ff9800}.lab-card-goal-details{font-size:10px;color:var(--text-dim);text-decoration:none;padding:2px 8px;border-radius:4px;border:1px solid var(--border);white-space:nowrap;transition:color .15s,border-color .15s}.lab-card-goal-details:hover{color:#7c4dff;border-color:#7c4dff}.lab-card-goal-badge{font-size:10px;padding:2px 10px;border-radius:4px;font-weight:500;white-space:nowrap}.lab-card-goal-start{background:#7c4dff26;color:#7c4dff}.lab-card-goal-play{background:#ff980026;color:#ff9800;padding:2px 6px}.lab-card-goal-check{background:#66bb6a26;color:#66bb6a;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0}.lab-card-goal-completed{background:#66bb6a0a}.lab-card-difficulty{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;opacity:.6}.lab-card-title-row{display:flex;align-items:center;gap:6px}.lab-card-title-row .lab-card-title{flex:1;min-width:0}.lab-card-validated{font-size:9px;padding:1px 6px;position:relative;top:-1px;border-radius:8px;background:#ffffff0f;color:#666;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}.lab-card-validated-active{background:#66bb6a26;color:#66bb6a}.lab-card-locked{opacity:.4;filter:grayscale(.7);pointer-events:none;position:relative}.lab-card-locked:hover{transform:none;box-shadow:none}.lab-card-wip-stamp{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;letter-spacing:3px;color:#ffffff2e;transform:rotate(-18deg);z-index:2;pointer-events:none}.lang-switcher{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:11px;padding:2px 4px;cursor:pointer}.react-flow__edge-interaction{stroke-width:20px!important}.react-flow__edge:hover .react-flow__edge-path{stroke-width:3.5px!important;stroke-opacity:1!important;filter:drop-shadow(0 0 4px rgba(108,204,255,.4))!important}.react-flow__edge.selected .react-flow__edge-path{stroke-width:3!important;stroke-opacity:1!important;filter:drop-shadow(0 0 6px rgba(108,204,255,.5))!important}.canvas.sim-idle .react-flow__edge-path{opacity:.35}.canvas.sim-running .react-flow__edge-path{opacity:.7;filter:drop-shadow(0 0 3px rgba(108,204,255,.3))}.canvas.sim-idle .block-node{border-color:var(--border)}.canvas.sim-running .block-node.category-sources{border-color:#6cccff80}.canvas.sim-running .block-node.category-processing{border-color:#7c4dff80}.canvas.sim-running .block-node.category-sinks{border-color:#4ade8080}.canvas.sim-running .block-node.category-utility{border-color:#5a677680}.block-node-header{padding:6px 12px;border-bottom:1px solid var(--border);font-weight:600;background:#6cccff0f;border-radius:8px 8px 0 0;display:flex;align-items:center;gap:6px;white-space:nowrap}.wire-probe{background:var(--panel-2);border:1px solid var(--accent);border-radius:6px;box-shadow:0 6px 20px #00000080;font-size:11px;color:var(--text);overflow:hidden;opacity:.85;transition:opacity .15s ease-out}.wire-probe.wire-probe-pinned{opacity:1;box-shadow:0 8px 28px #0009}.wire-probe-header{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#6cccff1a;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.wire-probe-label{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.wire-probe-rate{color:var(--text-dim);white-space:nowrap}.wire-probe-toggle{background:#ffffff0f;border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font-size:10px;font-family:ui-monospace,Menlo,monospace;font-weight:600;padding:0 4px;height:18px;cursor:pointer;line-height:1}.wire-probe-toggle:hover{color:var(--text);border-color:var(--accent)}.wire-probe-toggle.active{color:var(--accent);border-color:var(--accent);background:#6cccff1a}.wire-probe-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.wire-probe-close:hover{color:var(--text)}.wire-probe canvas{display:block}.block-node-thumb-wrap{border-top:1px solid var(--border);padding:1px 0 0;background:#00000026;border-radius:0 0 8px 8px;overflow:hidden}.block-node-thumb{display:block;width:100%;height:30px}.block-node-sink{display:flex;flex-direction:column;overflow:visible;position:relative}.block-node-sink.sink-collapsed{height:auto!important}.block-node-sink.sink-collapsed .block-node-header{border-bottom:none;border-radius:8px}.block-node-sink .block-node-header .block-toggle{position:relative;top:1px;right:auto;margin-left:auto;flex-shrink:0}.block-node-sink-canvas{flex:1;min-height:0;overflow:hidden;border-radius:0 0 7px 7px}.sink-xray-canvas{display:block;width:100%;height:100%}.block-node-sink-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;opacity:.25;background:linear-gradient(135deg,transparent 50%,var(--text-dim) 50%,transparent 55%,var(--text-dim) 65%,transparent 70%);border-radius:0 0 8px;z-index:5}.block-node-sink-resize:hover{opacity:.5}.block-node-icon{width:18px;height:18px;flex-shrink:0;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.react-flow .react-flow__handle.port-circle{width:14px!important;height:14px!important;border-width:1.2px!important;border-style:solid!important;border-radius:50%;z-index:10;transition:background .15s ease-out;isolation:isolate}.react-flow__handle.port-circle{transition:background .15s ease-out,box-shadow .25s ease-out;box-shadow:0 0 0 0 transparent}.react-flow__handle.port-circle:hover{box-shadow:0 0 4px 3px #6cccff40}.react-flow .react-flow__node .react-flow__handle.port-circle.react-flow__handle-left{left:0;transform:translate(-50%,-50%) scale(1)}.react-flow .react-flow__node .react-flow__handle.port-circle.react-flow__handle-right{right:0;transform:translate(50%,-50%) scale(1)}.react-flow .react-flow__handle.port-circle.port-compatible{border-width:2px!important;box-shadow:0 0 6px 3px #6cccff59}.react-flow .react-flow__handle.port-circle.port-incompatible{border-width:.5px!important;opacity:.15;pointer-events:none}.react-flow .react-flow__handle.port-circle.react-flow__handle-valid{box-shadow:0 0 14px 7px #6cccff8c!important;border-width:2.5px!important;transition:box-shadow 0ms!important}.port-arrow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);pointer-events:none;display:block}.inspector-content .hint{color:var(--text-dim);font-size:12px}.param-form-title{font-size:13px;font-weight:600;margin-bottom:8px}.param-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;margin-bottom:6px;font-size:12px}.param-label{color:var(--text-dim)}.param-unit{opacity:.7}.param-row input[type=number],.param-row select{width:100px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:3px 6px;font-size:12px;font-family:inherit}.param-row input[type=checkbox]{justify-self:end}.param-float{display:flex;flex-direction:column;gap:3px;width:130px}.param-float input[type=range]{width:100%}.power-readout{background:#0b0d10;border-radius:6px;padding:10px 12px;font-variant-numeric:tabular-nums}.power-row{display:grid;grid-template-columns:36px 1fr 28px;align-items:baseline;font-family:SF Mono,Menlo,monospace}.power-label{color:var(--text-dim);font-size:11px}.power-value{color:var(--accent);font-size:18px;text-align:right}.power-unit{color:var(--text-dim);font-size:11px;text-align:right}.rd-canvas{width:100%;display:block;background:#0b0d10}.session-share{position:relative}.session-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:100;width:240px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:8px}.session-popover-tabs{display:flex;gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.session-popover-tabs button{flex:1;border:none;border-radius:0;background:var(--panel-2);padding:4px;font-size:11px;text-transform:capitalize;border-right:1px solid var(--border);color:var(--text);cursor:pointer;font-family:inherit}.session-popover-tabs button:last-child{border-right:none}.session-popover-tabs button.active{background:var(--accent);color:#001018;font-weight:600}.session-qr{width:100%;height:auto;image-rendering:pixelated;border-radius:4px}.session-popover-url{display:flex;gap:4px}.session-popover-url input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:3px 6px;font-size:10px;font-family:SF Mono,Menlo,monospace;min-width:0}.session-popover-url button{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:3px 8px;font-size:11px;cursor:pointer;font-family:inherit}.session-popover-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-dim)}.session-popover-meta code{font-family:SF Mono,Menlo,monospace;color:var(--text)}.session-popover-meta button.link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:11px;padding:0;font-family:inherit}.session-popover-hint{font-size:10px;color:var(--text-dim);line-height:1.4}.session-share .broadcast-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#4a5663;vertical-align:middle}.session-share .broadcast-dot.on{background:#4ade80;box-shadow:0 0 6px #4ade80b3;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.broadcast-toggle{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.broadcast-toggle input{margin:0;cursor:pointer}.broadcast-toggle input:disabled{cursor:not-allowed;opacity:.5}.qr-disabled{position:relative;filter:grayscale(1) brightness(.45);pointer-events:none}.qr-overlay-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--accent);background:#0b0d10a6;border-radius:4px;filter:none}.sink-block{margin-bottom:12px}.sink-main{position:relative}.sink-toggle{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:4px;border:1px solid var(--border);background:#14181dcc;color:var(--text-dim);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:2;padding:0}.sink-main:hover .sink-toggle{opacity:1}.sink-toggle:hover{border-color:var(--accent);color:var(--text)}.sink-expanded{display:flex;gap:8px}.sink-expanded .sink-main{flex:1;min-width:0}.sink-expanded .sink-controls{width:140px;flex-shrink:0}.sink-canvas{border-radius:6px;background:#0b0d10;width:100%;min-height:120px;height:160px;display:block}.floating-instrument .sink-canvas{height:100%;min-height:0}.floating-instrument .sink-block{height:100%;display:flex;flex-direction:column;margin-bottom:0}.floating-instrument .sink-main{flex:1;min-height:0;display:flex;flex-direction:column}.floating-instrument .sink-main .sink-canvas{flex:1;min-height:0;height:auto}.floating-instrument .sink-controls{flex-shrink:0}.sink-controls{display:flex;flex-direction:column;gap:4px;margin-top:6px;font-size:11px;color:var(--text-dim)}.sink-controls label{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:6px}.sink-controls input[type=number],.sink-controls select{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:2px 5px;font-size:11px;font-family:inherit}.sink-controls input[type=range]{width:100%}.sink-readout{color:var(--text);font-variant-numeric:tabular-nums}.rd-pro{background:#0b0d1a;border:1px solid #1c2040;border-radius:6px;color:#e6e9f5;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column;min-height:360px;height:100%;width:100%}.rd-pro-header{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #1c2040;gap:10px}.rd-pro-title{font-size:10px;color:#6b7088;letter-spacing:.08em;text-transform:uppercase}.rd-pro-pills{display:flex;gap:6px;align-items:center;flex:1;padding-left:12px;flex-wrap:wrap;min-width:0}.rd-pro-compact .rd-pro-pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.rd-pro-compact .rd-pro-pills::-webkit-scrollbar{display:none}.rd-pro-tracks-list{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin}.rd-pill{font-family:JetBrains Mono,SF Mono,ui-monospace,Menlo,monospace;font-size:10px;padding:2px 7px;border-radius:3px;background:#4dd0e11a;color:#4dd0e1;white-space:nowrap}.rd-pill.run{background:#7cffb21f;color:#7cffb2}.rd-pill.info{background:#4dd0e11a;color:#4dd0e1}.rd-pill.warn{background:#f5c5421f;color:#f5c542}.rd-pro-toolbar{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid #1c2040;background:#0e1124;gap:16px}.rd-pro-modes{display:flex;gap:2px}.rd-mode{background:transparent;border:1px solid transparent;color:#8a8fa8;padding:3px 10px;border-radius:3px;font-size:11px;font-family:inherit;cursor:pointer}.rd-mode.active{background:#4dd0e126;border-color:#4dd0e1;color:#4dd0e1}.rd-mode:disabled{cursor:not-allowed;opacity:.55}.rd-pro-actions{margin-left:auto;display:flex;gap:10px;color:#8a8fa8;font-size:11px}.rd-toggle{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.rd-toggle input{margin:0;cursor:pointer}.rd-pro-canvas-wrap{position:relative;background:#0b0d1a;flex:1;min-height:280px;display:flex}.rd-pro-canvas{flex:1;width:100%;height:100%;display:block}.rd-pro-inset{width:100%;display:flex}.rd-pro-inset .sink-block{width:100%;margin-bottom:0}.rd-pro-actions-hint{font-size:11px;color:#6b7088;font-style:italic}.rd-pro-3d-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b0d1a}.radcube-wrap{position:relative;width:100%;height:100%;flex:1;background:#0b0d1a;display:flex}.radcube-wrap>canvas{flex:1;display:block}.radcube-hud{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#0b0d1ac7;border:1px solid #1c2040;border-radius:6px;color:var(--text-secondary);font:500 10px/1.3 JetBrains Mono,SF Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.radcube-hud label{display:grid;grid-template-columns:90px 110px 36px;align-items:center;gap:6px}.radcube-hud input[type=range]{width:110px;accent-color:var(--accent)}.radcube-val{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums}.radcube-mode-row{display:flex;align-items:center;gap:4px}.radcube-mode-label{color:#6b7088;font-size:9px;letter-spacing:.08em;text-transform:uppercase;width:30px}.radcube-mode-btn{flex:1;background:transparent;border:1px solid #1c2040;color:#8a8fa8;padding:3px 8px;border-radius:3px;font-size:10px;font-family:inherit;cursor:pointer;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out}.radcube-mode-btn:hover{color:var(--text-primary);border-color:#2a2f48}.radcube-mode-btn.active{background:#4dd0e126;border-color:#4dd0e1;color:#4dd0e1}.rd-pro-3d-hint{position:absolute;bottom:6px;left:12px;font:500 10px/1.2 JetBrains Mono,SF Mono,ui-monospace,Menlo,monospace;color:#e6ecf28c;pointer-events:none;letter-spacing:.02em}.rd-pro-3d-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7088;font-style:italic;font-size:12px}.rd-pro-3d-toggle{display:inline-flex;align-items:center;gap:2px}.rd-pro-tracks{display:flex;padding:8px 12px;gap:8px;border-top:1px solid #1c2040;border-bottom:1px solid #1c2040;background:#0e1124;font-family:JetBrains Mono,SF Mono,ui-monospace,Menlo,monospace;align-items:center}.rd-pro-tracks-label{font-size:9px;color:#6b7088;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}.rd-pro-tracks-list{display:flex;gap:6px;font-size:10px;flex:1;flex-wrap:wrap}.rd-pro-tracks-empty{color:#6b7088;font-style:italic}.rd-track-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid transparent;border-radius:3px;white-space:nowrap}.rd-pro-stats{display:flex;padding:10px 12px;gap:16px;background:#0b0d1a}.rd-stat-col{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.rd-stat-sep{width:1px;background:#1c2040}.rd-stat-h{font-size:9px;color:#6b7088;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.rd-stat-row{display:flex;justify-content:space-between;font-size:11px;gap:6px;align-items:center}.rd-stat-row>span:first-child{color:#8a8fa8}.rd-stat-mono{font-family:JetBrains Mono,SF Mono,ui-monospace,Menlo,monospace;color:#e6e9f5}.rd-stat-row input[type=number]{width:70px;background:#0e1124;border:1px solid #1c2040;color:#e6e9f5;font-family:JetBrains Mono,SF Mono,ui-monospace,Menlo,monospace;font-size:11px;padding:2px 6px;border-radius:3px}.rd-stat-select{background:#0e1124;border:1px solid #1c2040;color:#e6e9f5;font-size:11px;padding:2px 6px;border-radius:3px;cursor:pointer}.sink-expanded.digital-analyzer{flex-direction:column}.sink-expanded.digital-analyzer .sink-main,.sink-expanded.digital-analyzer .sink-controls{width:100%}.digital-analyzer .sink-controls input[type=range]{height:18px}.digital-analyzer .sink-canvas:focus{outline:1px solid var(--accent);outline-offset:-1px}.digital-analyzer .sink-canvas:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.da-root{background:transparent}.da-rich{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);overflow:hidden;display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;font-family:Inter,-apple-system,system-ui,sans-serif}.da-rich *{box-sizing:border-box}.da-rich-header,.da-rich-rows,.da-rich-row,.da-rich-axis,.da-rich-status,.da-rich-zoom,.da-rich-wave{min-width:0}.da-rich-meta{min-width:0;overflow:hidden}.da-rich-rail-stats{word-break:break-word}.da-rich-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border-default);flex-shrink:0}.da-rich-title{font-size:10px;color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase}.da-rich-meta{display:flex;gap:14px;align-items:center;font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,ui-monospace,monospace}.da-rich-throughput{color:var(--text-secondary)}.da-rich-overview{display:flex;align-items:center;padding:7px 14px;border-bottom:1px solid var(--border-default);background:var(--bg-sunken);gap:12px;flex-shrink:0}.da-rich-overview-label{min-width:80px;font-size:10px;color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase}.da-rich-overview-track{flex:1;position:relative;height:28px;background:var(--bg-sunken);border-radius:3px;cursor:pointer;overflow:hidden;min-width:0}.da-rich-overview-track svg{display:block;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.da-rich-overview-viewport{position:absolute;top:-3px;bottom:-3px;border:1.5px solid var(--cursor);background:#7cffb21a;border-radius:2px;cursor:grab;z-index:2}.da-rich-overview-viewport:active{cursor:grabbing}.da-rich-overview-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--text-secondary);min-width:82px;text-align:right}.da-rich-live-btn{border:1px solid var(--border-default);background:transparent;color:var(--text-tertiary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.06em;padding:3px 7px;border-radius:3px;cursor:pointer}.da-rich-live-btn:hover{color:var(--text-primary);border-color:var(--border-focus)}.da-rich-live-btn.live{color:var(--cursor);border-color:var(--cursor);background:#7cffb214}.da-rich-icon{font-size:13px;cursor:pointer;transition:color .15s;font-family:ui-monospace,monospace}.da-rich-icon:hover{color:var(--text-primary)}.da-rich-rows{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden}.da-rich-row{display:flex;border-bottom:1px solid var(--border-default);flex-shrink:0}.da-rich-row-error{background:#ff5a6b0a}.da-rich-rail{width:158px;padding:10px 12px 10px 16px;border-right:1px solid var(--border-default);position:relative;display:flex;flex-direction:column;flex-shrink:0}.da-rich-rail-accent{position:absolute;left:0;top:0;bottom:0;width:3px}.da-rich-rail-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.da-rich-rail-name{font-size:13px;font-weight:500;line-height:1.2}.da-rich-rail-role{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--text-tertiary);margin-bottom:8px}.da-rich-rail-stats{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--text-secondary);line-height:1.55;margin-top:auto}.da-rich-rail-disconnected{color:var(--text-tertiary);font-style:italic}.da-rich-xor-tag{font-family:JetBrains Mono,ui-monospace,monospace;font-size:8px;padding:2px 6px;background:#ff5a6b26;color:var(--status-error);border-radius:2px;letter-spacing:.06em;text-transform:uppercase}.da-rich-wave{flex:1;min-width:0;position:relative}.da-rich-wave svg{display:block;width:100%}.da-rich-axis{position:relative;height:18px;padding-left:158px;border-bottom:1px solid var(--border-default);background:var(--bg-sunken);font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;color:var(--text-tertiary);flex-shrink:0}.da-rich-axis-tick{position:absolute;top:4px;transform:translate(-50%);white-space:nowrap}.da-rich-status{display:flex;align-items:center;padding:9px 14px;gap:18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;flex-shrink:0}.da-rich-cursor{display:flex;align-items:center;gap:6px;color:var(--cursor)}.da-rich-values{display:flex;gap:12px;color:var(--text-primary);flex-wrap:wrap}.da-rich-chip{font-weight:600}.da-rich-ber{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--status-error)}.da-rich-zoom{display:flex;align-items:center;padding:9px 14px;gap:10px;border-top:1px solid var(--border-default);background:var(--bg-sunken);flex-shrink:0}.da-rich-zoom-label{font-size:11px;color:var(--text-secondary)}.da-rich-zoom-step{background:transparent;border:1px solid var(--border-default);color:var(--text-tertiary);border-radius:3px;width:22px;height:22px;cursor:pointer;font-size:12px;display:grid;place-items:center;padding:0}.da-rich-zoom-step:hover{color:var(--text-primary);border-color:var(--border-focus)}.da-rich-zoom input[type=range]{flex:1;accent-color:var(--border-focus)}.da-rich-zoom-value{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--text-primary);min-width:34px;text-align:right}.da-rich-link{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);cursor:pointer;margin-left:6px}.da-rich-link input{accent-color:var(--border-focus)}.sink-port-btn{position:absolute;left:0;width:16px;height:16px;border-radius:50%;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-dim);font-size:12px;line-height:14px;text-align:center;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity .12s ease-out,background .12s ease-out,color .12s ease-out;z-index:4}.sink-port-btn-remove{top:-9px}.sink-port-btn-add{bottom:-9px}.block-node-sink:hover .sink-port-btn,.block-node-sink.selected .sink-port-btn{opacity:1;pointer-events:auto}.sink-port-btn:hover{border-color:var(--accent);color:var(--text)}.popup-root{height:100vh;width:100vw;background:var(--bg)}.sw-root{display:grid;grid-template-rows:36px 1fr auto;height:100%;width:100%;min-height:0}@media (max-width: 767px),(pointer: coarse) and (max-height: 500px){.popup-root{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.sw-root{grid-template-rows:1fr auto}.sw-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0;background:transparent;border:none}.sw-toolbar button,.sw-toolbar select,.sw-toolbar input{min-height:40px;font-size:14px}.sw-mode{width:100%}.sw-mode button{flex:1;min-height:40px}.sw-ctrl{grid-template-columns:90px 1fr;display:grid;gap:8px}.sw-ctrl select,.sw-ctrl input{width:100%;min-height:40px;font-size:14px}.sw-hint{display:none}.sw-title{font-size:16px;font-weight:700}.sw-markers{font-size:11px;padding:6px 10px;overflow-x:auto;flex-wrap:nowrap}}.mobile-sheet-trigger{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:200;width:44px;height:44px;border-radius:50%;background:#14181dd9;border:1px solid var(--border);color:var(--text);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px #0006;font-family:inherit;-webkit-tap-highlight-color:transparent}.mobile-sheet-hint{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;background:#14181deb;border:1px solid var(--accent);color:var(--accent);padding:4px 10px;border-radius:14px;font-size:12px;pointer-events:none;animation:hint-fade 5s ease-in-out forwards}@keyframes hint-fade{0%{opacity:0;transform:translate(8px,-50%)}10%{opacity:1;transform:translateY(-50%)}85%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(-50%)}}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:198;-webkit-tap-highlight-color:transparent}.mobile-sheet{position:fixed;top:0;right:0;bottom:0;width:min(85vw,360px);background:var(--panel);border-left:1px solid var(--border);z-index:199;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s ease-out;box-shadow:-8px 0 24px #00000080;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.mobile-sheet.open{transform:translate(0)}.mobile-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px}.mobile-sheet-close{background:transparent;border:none;color:var(--text);font-size:28px;line-height:1;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;-webkit-tap-highlight-color:transparent}.mobile-sheet-body{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.sw-toolbar{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border)}.sw-title{font-weight:600}.sw-toolbar button{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit}.sw-toolbar button:hover{border-color:var(--accent)}.sw-ctrl{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim)}.sw-ctrl select,.sw-ctrl input{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:2px 5px;font-size:11px;font-family:inherit;width:70px}.sw-hint{margin-left:auto;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.sw-canvas-wrap{position:relative;overflow:hidden;background:#0b0d10;cursor:crosshair;min-height:0}.sw-canvas-wrap canvas{display:block;user-select:none;-webkit-user-select:none}.sw-canvas-stack{display:grid;min-height:0}.sw-canvas-stack.mode-line,.sw-canvas-stack.mode-waterfall{grid-template-rows:1fr}.sw-canvas-stack.mode-both{grid-template-rows:1fr 1fr}.sw-canvas-stack.mode-both .sw-canvas-wrap+.sw-canvas-wrap{border-top:1px solid var(--border)}.sw-mode{display:flex;gap:0;margin-left:8px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.sw-mode button{border:none;border-radius:0;background:var(--panel-2);padding:4px 10px;font-size:11px;text-transform:capitalize;border-right:1px solid var(--border)}.sw-mode button:last-child{border-right:none}.sw-mode button.active{background:var(--accent);color:#001018;font-weight:600}.sw-markers{display:flex;flex-wrap:wrap;gap:12px 24px;padding:8px 12px;background:var(--panel);border-top:1px solid var(--border);font-size:12px;font-variant-numeric:tabular-nums}.sw-marker-row{display:flex;align-items:center;gap:6px}.sw-marker-swatch{width:10px;height:10px;border-radius:50%;display:inline-block}.sw-marker-delta{color:var(--text-dim);margin-left:6px}.rtc-pill{font-size:10px;padding:3px 8px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);font-family:SF Mono,Menlo,monospace;cursor:default;-webkit-user-select:none;user-select:none}.rtc-pill.connected{color:#4ade80;border-color:#4ade80;box-shadow:0 0 6px #4ade8059}.sheet-knob-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.sheet-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin:0 0 12px;font-weight:600}.remote-root{height:100%;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));box-sizing:border-box}.knob-panel{display:block}.knob-panel.compact .knob-group{margin-bottom:12px}.knob-panel.compact .knob-group-title{font-size:10px}.remote-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--text)}.remote-empty p{margin:4px 0;font-size:15px}.remote-empty .hint{color:var(--text-dim);font-size:12px;max-width:280px}.knob-group{margin-bottom:20px}.knob-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin:0 0 8px;font-weight:600}.knob-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}.knob-card-header{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;background:#6cccff0f;border-bottom:1px solid var(--border)}.knob-card-label{font-weight:600;font-size:14px;color:var(--text)}.knob-card-id{font-size:10px;font-family:SF Mono,Menlo,monospace;color:var(--text-dim)}.knob-card-body{padding:8px 14px 12px}.knob-param{margin:12px 0}.knob-param:first-child{margin-top:4px}.knob-param:last-child{margin-bottom:4px}.knob-param-label-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.knob-param-label{font-size:13px;color:var(--text)}.knob-param-unit{color:var(--text-dim);font-size:11px}.knob-param-value{font-family:SF Mono,Menlo,monospace;font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}.knob-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:36px;background:transparent;margin:0;-webkit-tap-highlight-color:transparent}.knob-slider::-webkit-slider-runnable-track{height:6px;background:var(--border);border-radius:3px}.knob-slider::-moz-range-track{height:6px;background:var(--border);border-radius:3px}.knob-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--accent);border:2px solid #001018;margin-top:-11px;cursor:grab}.knob-slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--accent);border:2px solid #001018;cursor:grab}.knob-number{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:10px 12px;font-size:15px;font-family:inherit;box-sizing:border-box;-webkit-appearance:none}.knob-select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:10px 12px;font-size:15px;font-family:inherit;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.knob-switch{display:inline-block;position:relative;width:51px;height:31px;cursor:pointer}.knob-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.knob-switch-track{display:block;width:100%;height:100%;background:var(--border);border-radius:16px;transition:background .15s ease;position:relative}.knob-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006;transition:transform .15s ease}.knob-switch input:checked+.knob-switch-track{background:var(--accent)}.knob-switch input:checked+.knob-switch-track:after{transform:translate(20px)}.labs-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.labs-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #0009;position:relative}.labs-modal-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;opacity:.3;background:linear-gradient(135deg,transparent 50%,var(--text-dim) 50%,transparent 55%,var(--text-dim) 65%,transparent 70%);border-radius:0 0 12px}.labs-modal-resize:hover{opacity:.6}.labs-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.labs-modal-header h2{margin:0;font-size:16px;font-weight:600}.labs-modal-close{background:transparent;border:none;color:var(--text);font-size:24px;line-height:1;width:32px;height:32px;cursor:pointer;font-family:inherit}.labs-modal-loading,.labs-modal-empty{padding:32px;text-align:center;color:var(--text-dim)}.labs-modal-error{padding:12px 18px;background:#f871711a;border-bottom:1px solid var(--border);color:#f87171;font-size:12px}.labs-modal-tagbar{display:flex;flex-wrap:wrap;gap:4px;padding:10px 18px;border-bottom:1px solid var(--border)}.labs-modal-tag{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;color:var(--text-dim);padding:3px 10px;font-size:11px;cursor:pointer;font-family:inherit;text-transform:lowercase}.labs-modal-tag:hover{border-color:var(--accent)}.labs-modal-tag.active{background:var(--accent);color:#001018;border-color:var(--accent);font-weight:600}.labs-modal-list{overflow-y:auto;padding:12px 18px 18px}.labs-modal-group{margin-bottom:18px}.labs-modal-group h3{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.labs-modal-card{display:block;width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:8px;cursor:pointer;font-family:inherit;color:var(--text)}.labs-modal-card:hover{border-color:var(--accent)}.labs-modal-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.labs-modal-card-title{font-size:14px;font-weight:600}.labs-modal-card-difficulty{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;font-family:SF Mono,Menlo,monospace}.labs-modal-card-difficulty.diff-beginner{background:#4ade8026;color:#4ade80}.labs-modal-card-difficulty.diff-intermediate{background:#6cccff26;color:var(--accent)}.labs-modal-card-difficulty.diff-advanced{background:#fcd34d26;color:#fcd34d}.labs-modal-card-difficulty.diff-expert{background:#f8717126;color:#f87171}.labs-modal-card-desc{margin:0 0 6px;font-size:12px;color:var(--text-dim);line-height:1.4}.labs-modal-card-tags{display:flex;flex-wrap:wrap;gap:4px}.labs-modal-card-tag{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);padding:1px 6px;border-radius:4px;font-size:10px;font-family:SF Mono,Menlo,monospace}.right-rail{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:var(--panel);border-left:1px solid var(--border);position:relative}.right-rail .instrument-panel{flex:1 1 auto;min-height:0;border-left:none;width:100%!important}.right-rail-splitter{position:absolute;top:0;bottom:0;left:-2px;z-index:6}.right-rail-lab{position:relative;flex-shrink:0;max-height:45vh;overflow-y:auto;overflow-x:hidden;border-bottom:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none}.right-rail-lab::-webkit-scrollbar{width:0;height:0;display:none}.right-rail-lab.is-minimized{max-height:none;border-bottom:1px solid var(--border)}.right-rail-lab-controls{position:absolute;top:22px;right:22px;z-index:2;display:flex;gap:4px}.right-rail-lab.is-minimized .right-rail-lab-controls{top:8px;right:10px}.right-rail-lab-btn{width:22px;height:22px;padding:0;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:12px;line-height:1;cursor:pointer}.right-rail-lab-btn:hover{color:var(--text);border-color:var(--accent)}.right-rail-lab .lab-panel{margin:12px}.right-rail-lab .lab-panel-header{padding-right:96px}.lab-panel-header.is-clickable{cursor:pointer;border-radius:4px;margin:-4px -4px 4px;padding-top:4px;padding-bottom:4px;padding-left:4px;transition:background .12s ease-out}.lab-panel-header.is-clickable:hover{background:var(--hover-tint)}.right-rail-lab .lab-panel-header.is-clickable{padding-right:100px}.right-rail-lab-btn-exit{color:var(--text-dim)}.right-rail-lab-btn-exit:hover{color:#ff6a5b;border-color:#ff6a5b73}.right-rail-lab-stub{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 84px 0 14px;background:#6cccff0a;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:12px;text-align:left;cursor:pointer}.right-rail-lab-stub:hover{background:#6cccff14}.right-rail-lab-stub-tag{font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.1em;padding:2px 6px;border-radius:3px;background:#6cccff1f;color:var(--accent);flex-shrink:0}.right-rail-lab-stub-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right-rail-lab-stub-score{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--text-dim)}.lab-panel{margin-top:16px;padding:12px;background:var(--hover-tint);border:1px solid var(--border);border-radius:8px}.lab-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.lab-panel-title{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--text)}.lab-panel-difficulty{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:3px;align-self:flex-start;font-family:SF Mono,Menlo,monospace}.lab-panel-difficulty.diff-beginner{background:color-mix(in srgb,var(--status-running) 15%,transparent);color:var(--status-running)}.lab-panel-difficulty.diff-intermediate{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.lab-panel-difficulty.diff-advanced{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.lab-panel-difficulty.diff-expert{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.lab-panel-exit{background:transparent;border:none;color:var(--text);font-size:20px;line-height:1;width:24px;height:24px;cursor:pointer;font-family:inherit}.lab-panel-description{margin:0 0 12px;font-size:11px;color:var(--text-dim);line-height:1.4}.lab-panel-section{margin-bottom:12px}.lab-panel-section h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600;display:flex;align-items:baseline;justify-content:space-between}.lab-panel-score{font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--accent)}.lab-panel-objectives{margin:0;padding-left:18px;font-size:11px;color:var(--text);line-height:1.5}.lab-panel-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lab-panel-check{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;font-size:11px}.lab-panel-check-icon{font-family:SF Mono,Menlo,monospace;font-weight:700;width:14px;text-align:center;flex-shrink:0;color:var(--text-dim)}.lab-panel-check.check-pass{border-color:color-mix(in srgb,var(--status-running) 40%,transparent)}.lab-panel-check.check-pass .lab-panel-check-icon{color:var(--status-running)}.lab-panel-check.check-pass.converged{background:color-mix(in srgb,var(--status-running) 10%,transparent)}.lab-panel-check.check-fail{border-color:color-mix(in srgb,var(--status-error) 40%,transparent)}.lab-panel-check.check-fail .lab-panel-check-icon{color:var(--status-error)}.lab-panel-check-body{flex:1;min-width:0}.lab-panel-check-label{color:var(--text)}.lab-panel-check-measured{margin-top:2px;font-family:SF Mono,Menlo,monospace;font-size:10px;color:var(--text-dim)}.lab-panel-check-hint{margin-top:4px;font-size:10px;color:var(--status-warning);font-style:italic}.lab-panel-hints-header{display:flex;align-items:baseline;justify-content:space-between}.lab-panel-hint-button{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:3px 8px;font-size:10px;cursor:pointer;font-family:inherit}.lab-panel-hint-button:hover{border-color:var(--accent)}.lab-panel-hints{margin:6px 0 0;padding-left:18px;font-size:11px;color:var(--text-dim);line-height:1.5}.lab-panel-complete{margin-top:8px;padding:8px 10px;background:color-mix(in srgb,var(--status-running) 14%,transparent);border:1px solid color-mix(in srgb,var(--status-running) 40%,transparent);border-radius:4px;color:var(--status-running);font-size:12px;text-align:center;font-weight:600}.lab-panel-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.lab-panel-actions button{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:4px 10px;font-size:11px;cursor:pointer;font-family:inherit}.lab-panel-actions button:hover{border-color:var(--accent)}.bip-overlay{position:fixed;width:720px;max-width:calc(100vw - 32px);background:linear-gradient(180deg,#15112a,#0e0c1c);border:1px solid #2a2340;border-radius:14px;box-shadow:0 24px 56px #0000008c;color:#f3eefb;font-size:13px;z-index:1800;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.bip-head{display:flex;align-items:center;gap:14px;padding:16px 22px 14px;border-bottom:1px solid #221b36;cursor:grab}.bip-head:active{cursor:grabbing}.bip-head-icon{width:36px;height:36px;border-radius:9px;background:#8a7dff24;border:1px solid rgba(138,125,255,.3);display:grid;place-items:center;color:#8a7dff;flex-shrink:0;overflow:hidden}.bip-head-icon img{width:22px;height:22px;display:block}.bip-head-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.bip-head-name{font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bip-head-sub{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:10.5px;color:#5b5475;letter-spacing:.12em;text-transform:uppercase}.bip-head-what{font-size:12.5px;color:#c7bfdb;line-height:1.5;margin-left:auto;max-width:320px;padding-left:16px;border-left:1px solid #2a2340}.bip-head-actions{display:flex;gap:6px;flex-shrink:0}.bip-ibtn{width:28px;height:28px;border-radius:6px;background:#181327;border:1px solid #2a2340;color:#8a82a3;display:grid;place-items:center;cursor:pointer;font-size:14px;line-height:1}.bip-ibtn:hover{color:#f3eefb;border-color:#ff6a5b}.bip-tabs{display:flex;gap:4px;padding:10px 22px 0;border-bottom:1px solid #221b36}.bip-tab{padding:8px 14px 11px;font-size:12px;color:#8a82a3;border:0;background:transparent;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:inherit}.bip-tab.on{color:#f3eefb;border-bottom-color:#ff6a5b}.bip-tab.is-disabled{opacity:.4;cursor:not-allowed}.bip-badge{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:9px;background:#1f1a31;padding:1px 5px;border-radius:4px}.bip-body{padding:18px 22px 22px;overflow-y:auto;max-height:60vh}.bip-grp{margin-bottom:22px}.bip-grp:last-child{margin-bottom:0}.bip-grp-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.bip-grp-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a82a3;font-weight:600}.bip-grp-rule{flex:1;height:1px;background:#221b36}.bip-row{display:grid;grid-template-columns:1fr 220px 130px;align-items:center;gap:18px;padding:10px 0}.bip-row+.bip-row{border-top:1px dashed #221b36}.bip-lab{padding-top:4px}.bip-name{font-size:13px;font-weight:500;color:#f3eefb}.bip-sym{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:11px;color:#5b5475;margin-top:3px}.bip-sl-wrap{position:relative;padding:14px 0 18px}.bip-sl{position:relative;height:6px;background:#1f1a31;border:1px solid #2a2340;border-radius:999px;cursor:pointer;outline:none}.bip-sl:focus-visible{box-shadow:0 0 0 2px #ff6a5b80}.bip-sl-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#8a7dff,#ff6a5b);pointer-events:none}.bip-sl-thumb{position:absolute;top:50%;width:14px;height:14px;margin-top:-7px;margin-left:-7px;background:#f3eefb;border-radius:50%;border:2px solid #ff6a5b;box-shadow:0 2px 6px #00000080;pointer-events:none}.bip-tick{position:absolute;top:100%;width:1px;height:4px;background:#5b5475;margin-top:2px;pointer-events:none}.bip-tick-lbl{position:absolute;top:100%;transform:translate(-50%);font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:9.5px;color:#5b5475;margin-top:8px;white-space:nowrap;pointer-events:none}.bip-num-wrap{display:flex;align-items:stretch;background:#181327;border:1px solid #2a2340;border-radius:7px;overflow:hidden;height:30px}.bip-num{flex:1;padding:0 10px;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:12.5px;color:#f3eefb;text-align:right;border:0;background:transparent;outline:none;min-width:0}.bip-num:focus{background:#ff6a5b0f}.bip-unit{padding:0 10px;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:11px;color:#5b5475;display:grid;place-items:center;border-left:1px solid #2a2340;background:#1f1a31;min-width:32px}.bip-seg{display:flex;gap:2px;background:#1f1a31;border:1px solid #2a2340;border-radius:8px;padding:3px;height:30px}.bip-seg button{flex:1;padding:0 10px;font:inherit;font-size:12px;background:transparent;border:0;color:#8a82a3;cursor:pointer;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.bip-seg button.on{background:#f3eefb;color:#0b0a14}.bip-foot{display:flex;align-items:center;gap:14px;padding:12px 22px;border-top:1px solid #221b36;background:#0000002e;font-size:12px;color:#8a82a3}.bip-pv-thumb{height:36px;width:80px;border-radius:6px;background:#ff6a5b14;border:1px solid rgba(255,106,91,.25);overflow:hidden}.bip-pv-thumb svg{width:100%;height:100%}.bip-pv-cap{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:10.5px;color:#5b5475;letter-spacing:.1em;text-transform:uppercase}.bip-pv-cap b{color:#ff6a5b;font-weight:500}.lfm-node{--lfm-canvas: #0b0e13;--lfm-bg: #161b24;--lfm-strip: #0c1017;--lfm-scope: #080b10;--lfm-text: #e6ecf2;--lfm-text-dim: rgba(230, 236, 242, .55);--lfm-text-faint: rgba(230, 236, 242, .32);--lfm-cyan: #5ec8ff;--lfm-green: #5be39a;--lfm-amber: #ffb95e;--lfm-red: #ff6b6b;width:360px;border-radius:16px;background:var(--lfm-bg);color:var(--lfm-text);font-family:Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 24px #00000059;position:relative;transition:box-shadow .18s ease-out;padding:14px 16px;overflow:hidden}.lfm-node.is-expanded{border-radius:12px;padding:0}.lfm-node[data-selected=true]{box-shadow:inset 0 0 0 1px #5ec8ff8c,0 8px 24px #00000059,0 0 0 1px #5ec8ff73}.lfm-node-header{display:flex;align-items:center;gap:12px}.lfm-node.is-expanded .lfm-node-header{gap:10px;padding:10px 14px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);border-bottom:1px solid rgba(255,255,255,.04)}.lfm-node-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 1px #ffffff0a;display:grid;place-items:center;flex-shrink:0}.lfm-node.is-expanded .lfm-node-icon{width:26px;height:26px;border-radius:6px}.lfm-node-titles{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.lfm-node-title{font-size:17px;font-weight:600;letter-spacing:-.2px;color:var(--lfm-text)}.lfm-node.is-expanded .lfm-node-title{font-size:14px;letter-spacing:-.1px}.lfm-node-kind{font:500 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--lfm-text-faint);letter-spacing:.08em}.lfm-node[data-on=false] .lfm-node-title{color:var(--lfm-text-dim)}.lfm-node-dot-bare{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lfm-text-faint);flex-shrink:0;position:relative}.lfm-node-dot-bare[data-status=running]{background:var(--lfm-green);box-shadow:0 0 8px var(--lfm-green)}.lfm-node-dot-bare[data-status=running]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1.5px solid var(--lfm-green);animation:lfm-pulse 1.6s ease-out infinite}.lfm-node-dot-bare[data-status=paused]{background:var(--lfm-amber);box-shadow:0 0 8px var(--lfm-amber)}.lfm-node-dot-bare[data-status=error]{background:var(--lfm-red);box-shadow:0 0 8px var(--lfm-red);animation:lfm-blink 1s ease-in-out infinite}.lfm-node-pill{display:flex;align-items:center;gap:6px;padding:3px 7px;border-radius:5px;background:#5be39a1a;box-shadow:inset 0 0 0 1px #5be39a33}.lfm-node-pill[data-status=paused]{background:#ffb95e1a;box-shadow:inset 0 0 0 1px #ffb95e33}.lfm-node-pill[data-status=error]{background:#ff6b6b1a;box-shadow:inset 0 0 0 1px #ff6b6b33}.lfm-node-pill[data-status=idle]{background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff0f}.lfm-node-dot{width:6px;height:6px;border-radius:50%;background:var(--lfm-text-faint)}.lfm-node-pill[data-status=running] .lfm-node-dot{background:var(--lfm-green);box-shadow:0 0 6px var(--lfm-green)}.lfm-node-pill[data-status=paused] .lfm-node-dot{background:var(--lfm-amber);box-shadow:0 0 6px var(--lfm-amber)}.lfm-node-pill[data-status=error] .lfm-node-dot{background:var(--lfm-red);box-shadow:0 0 6px var(--lfm-red);animation:lfm-blink 1s ease-in-out infinite}.lfm-node-pill-text{font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--lfm-green)}.lfm-node-pill[data-status=paused] .lfm-node-pill-text{color:var(--lfm-amber)}.lfm-node-pill[data-status=error] .lfm-node-pill-text{color:var(--lfm-red)}.lfm-node-pill[data-status=idle] .lfm-node-pill-text{color:var(--lfm-text-faint)}.lfm-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease-out,box-shadow .15s ease-out}.lfm-node-toggle[data-on=true]{background:var(--lfm-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--lfm-cyan)}.lfm-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s ease-out,background .15s ease-out}.lfm-node-toggle[data-on=true] .lfm-node-toggle-knob{left:18px;background:#fff}.lfm-node-strip{margin-top:12px;height:40px;border-radius:10px;background:var(--lfm-strip);box-shadow:inset 0 0 0 1px #ffffff08;overflow:hidden;display:flex;align-items:center;justify-content:center}.lfm-node-strip[data-status=error]{background:#ff6b6b0d}.lfm-node-strip-empty{font:500 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--lfm-text-faint);letter-spacing:.12em}.lfm-node-strip svg{width:100%;height:100%;display:block;padding:4px 8px}.lfm-node-body{padding:12px 14px}.lfm-node-scope{height:56px;border-radius:8px;background:var(--lfm-scope);box-shadow:inset 0 0 0 1px #ffffff08,inset 0 0 24px #5ec8ff0d;position:relative;overflow:hidden}.lfm-node-scope-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(94,200,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(94,200,255,.06) 1px,transparent 1px);background-size:20px 14px;opacity:.6;pointer-events:none}.lfm-node-scope-axis{position:absolute;left:0;right:0;top:50%;height:1px;background:#5ec8ff14;pointer-events:none}.lfm-node-scope-wave{position:absolute;top:0;right:0;bottom:0;left:0;padding:4px 8px;pointer-events:none}.lfm-node-scope-wave svg{width:100%;height:100%;display:block}.lfm-node-scope-scan{position:absolute;top:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,rgba(94,200,255,.2),transparent);animation:lfm-scan 2.8s linear infinite;pointer-events:none}.lfm-node-scope-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--lfm-text-faint);letter-spacing:.12em}.lfm-node-scope-empty-error{color:var(--lfm-red)}.lfm-node-scope-fault{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,107,107,.07) 6px 12px);pointer-events:none}.lfm-node-params{display:flex;gap:18px;margin-top:10px;font:500 10px/1.2 JetBrains Mono,ui-monospace,Menlo,monospace}.lfm-node-param{display:flex;align-items:baseline;gap:4px}.lfm-node-param-label{color:var(--lfm-text-faint);letter-spacing:.04em}.lfm-node-param-value{color:var(--lfm-text);font-weight:600}.lfm-node-param-value.is-dim{color:var(--lfm-red)}.lfm-node-param-unit{color:var(--lfm-text-faint);font-size:9px}.lfm-node .react-flow__handle.lfm-node-port{width:14px;height:14px;border-radius:50%;background:var(--lfm-text-faint);border:none;box-shadow:0 0 0 3px var(--lfm-canvas);right:-7px;top:50%;transform:translateY(-50%);transition:background .15s ease-out,box-shadow .15s ease-out}.lfm-node[data-on=true] .react-flow__handle.lfm-node-port{background:var(--lfm-cyan);box-shadow:0 0 0 3px var(--lfm-canvas),0 0 16px #5ec8ff8c}.lfm-node[data-on=true][data-status=error] .react-flow__handle.lfm-node-port{background:var(--lfm-red);box-shadow:0 0 0 3px var(--lfm-canvas),0 0 16px #ff6b6b8c}.lfm-node[data-on=true][data-status=paused] .react-flow__handle.lfm-node-port{background:var(--lfm-amber);box-shadow:0 0 0 3px var(--lfm-canvas),0 0 16px #ffb95e8c}.lfm-node .react-flow__handle.lfm-node-port:hover{width:16px;height:16px;right:-8px}@keyframes lfm-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}@keyframes lfm-blink{0%,to{opacity:1}50%{opacity:.4}}@keyframes lfm-scan{0%{transform:translate(-100px)}to{transform:translate(420px)}}.rt-node{--rt-canvas: #0b0e13;--rt-bg: #161b24;--rt-strip: #0c1017;--rt-text: #e6ecf2;--rt-text-dim: rgba(230, 236, 242, .55);--rt-text-faint: rgba(230, 236, 242, .32);--rt-cyan: #5ec8ff;--rt-magenta: #d68bff;--rt-red: #ff6b6b;--rt-amber: #ffb95e;--rt-green: #5be39a;width:320px;border-radius:16px;background:var(--rt-bg);color:var(--rt-text);font-family:Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 24px #00000059;position:relative;padding:14px 16px;overflow:visible;transition:box-shadow .18s ease-out}.rt-node[data-selected=true]{box-shadow:inset 0 0 0 1px #d68bff8c,0 8px 24px #00000059,0 0 0 1px #d68bff73}.rt-node-header{display:flex;align-items:center;gap:12px}.rt-node-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#1f1825,#14101a);box-shadow:inset 0 0 0 1px #d68bff1f,inset 0 1px #ffffff0a;display:grid;place-items:center;flex-shrink:0}.rt-node-radar{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px #d68bff66;position:relative;overflow:hidden}.rt-node-radar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 0deg,#d68bff8c,#d68bff00 90deg,#d68bff00 360deg);animation:rt-sweep 3.2s linear infinite;animation-play-state:paused}.rt-node[data-status=running] .rt-node-radar:before{animation-play-state:running}.rt-node-radar:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3px;height:3px;border-radius:50%;background:var(--rt-magenta);box-shadow:0 0 6px var(--rt-magenta)}.rt-node[data-on=false] .rt-node-radar{box-shadow:inset 0 0 0 1px #ffffff14;opacity:.55}.rt-node[data-on=false] .rt-node-radar:before{animation:none;background:conic-gradient(from 0deg,#ffffff14,#fff0 90deg)}.rt-node[data-on=false] .rt-node-radar:after{background:var(--rt-text-faint);box-shadow:none}.rt-node[data-status=error] .rt-node-radar{box-shadow:inset 0 0 0 1px #ff6b6b66}.rt-node[data-status=error] .rt-node-radar:after{background:var(--rt-red);box-shadow:0 0 6px var(--rt-red)}.rt-node[data-status=error] .rt-node-radar:before{animation:none;background:conic-gradient(from 0deg,#ff6b6b80,#ff6b6b00 90deg)}.rt-node-title-wrap{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.rt-node-title{font-size:17px;font-weight:600;letter-spacing:-.2px;color:var(--rt-text)}.rt-node[data-on=false] .rt-node-title{color:var(--rt-text-dim)}.rt-node-status-dot{width:7px;height:7px;border-radius:50%;background:var(--rt-magenta);box-shadow:0 0 8px var(--rt-magenta);position:relative;flex-shrink:0}.rt-node-status-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1.5px solid var(--rt-magenta);animation:rt-pulse 1.6s ease-out infinite;animation-play-state:paused}.rt-node-status-dot[data-status=running]:after{animation-play-state:running}.rt-node-status-dot[data-status=idle]{background:var(--rt-text-faint);box-shadow:none}.rt-node-status-dot[data-status=idle]:after{display:none}.rt-node-status-dot[data-status=error]{background:var(--rt-red);box-shadow:0 0 8px var(--rt-red);animation:rt-blink 1s ease-in-out infinite}.rt-node-status-dot[data-status=error]:after{border-color:var(--rt-red)}.rt-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease-out,box-shadow .15s ease-out}.rt-node-toggle[data-on=true]{background:var(--rt-magenta);box-shadow:0 0 12px #d68bff59,inset 0 0 0 1px var(--rt-magenta)}.rt-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s ease-out,background .15s ease-out}.rt-node-toggle[data-on=true] .rt-node-toggle-knob{left:18px;background:#fff}.rt-node-strip{margin-top:12px;height:40px;border-radius:10px;background:var(--rt-strip);box-shadow:inset 0 0 0 1px #ffffff08;display:flex;align-items:center;justify-content:space-around;padding:0 12px}.rt-node-strip[data-status=error]{background:#ff6b6b0d;box-shadow:inset 0 0 0 1px #ff6b6b26}.rt-node-pstrip-item{display:flex;align-items:baseline;gap:4px;font:500 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace}.rt-node-pstrip-label{color:var(--rt-text-faint);letter-spacing:.04em}.rt-node-pstrip-value{color:var(--rt-text);font-weight:600}.rt-node-pstrip-unit{color:var(--rt-text-faint);font-size:9px}.rt-node[data-status=error] .rt-node-pstrip-value{color:var(--rt-red)}.rt-node-strip-empty{font:500 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--rt-text-faint);letter-spacing:.14em}.rt-node-strip-empty-error{color:var(--rt-red)}.rt-node .react-flow__handle.rt-node-port{width:14px;height:14px;border-radius:50%;background:var(--rt-text-faint);border:none;box-shadow:0 0 0 3px var(--rt-canvas);transition:background .15s ease-out,box-shadow .15s ease-out}.rt-node .react-flow__handle.rt-node-port-in{left:-7px}.rt-node .react-flow__handle.rt-node-port-out{right:-7px}.rt-node[data-on=true] .react-flow__handle.rt-node-port{background:var(--rt-cyan);box-shadow:0 0 0 3px var(--rt-canvas),0 0 14px #5ec8ff80}.rt-node[data-on=true][data-status=error] .react-flow__handle.rt-node-port{background:var(--rt-red);box-shadow:0 0 0 3px var(--rt-canvas),0 0 14px #ff6b6b8c}@keyframes rt-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rt-pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.2);opacity:0}}@keyframes rt-blink{0%,to{opacity:1}50%{opacity:.4}}.rt-node-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(214,139,255,.18),transparent);margin:16px 0 14px}.rt-node .node-knobs{animation:cw-knobs-reveal .22s cubic-bezier(.32,.72,0,1) both}.sum-node{--sum-canvas: #0b0e13;--sum-bg: #161b24;--sum-text: #e6ecf2;--sum-text-dim: rgba(230, 236, 242, .55);--sum-text-faint: rgba(230, 236, 242, .32);--sum-cyan: #5ec8ff;--sum-orange: #ff9b5e;width:96px;border-radius:14px;background:var(--sum-bg);color:var(--sum-text);font-family:Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff0f,0 6px 18px #00000059;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 8px 9px;transition:box-shadow .18s ease-out}.sum-node.is-selected{box-shadow:inset 0 0 0 1px #ff9b5e8c,0 6px 18px #00000059,0 0 0 1px #ff9b5e73}.sum-node-title{font:600 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--sum-text-dim);align-self:stretch;text-align:center;padding-top:2px}.sum-node-glyph{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 35%,rgba(255,155,94,.18),rgba(255,155,94,.04) 65%,transparent);box-shadow:inset 0 0 0 1.5px #ff9b5e8c;display:grid;place-items:center;color:var(--sum-orange)}.sum-node-glyph svg{display:block}.sum-node[data-on=false] .sum-node-glyph{background:#ffffff05;box-shadow:inset 0 0 0 1.5px #ffffff14;color:var(--sum-text-faint)}.sum-node-formula{font:500 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--sum-text-faint);letter-spacing:.08em}.sum-node .react-flow__handle.sum-node-port{width:12px;height:12px;border-radius:50%;background:var(--sum-text-faint);border:none;box-shadow:0 0 0 3px var(--sum-canvas);transition:background .15s ease-out,box-shadow .15s ease-out}.sum-node .react-flow__handle.sum-node-port-in{left:-6px}.sum-node .react-flow__handle.sum-node-port-out{width:14px;height:14px;right:-7px;top:50%;transform:translateY(-50%)}.sum-node[data-on=true] .react-flow__handle.sum-node-port{background:var(--sum-cyan);box-shadow:0 0 0 3px var(--sum-canvas),0 0 12px #5ec8ff80}.sum-node-add,.sum-node-remove{position:absolute;left:0;width:18px;height:18px;padding:0;margin:0;border:none;border-radius:50%;background:var(--sum-bg);box-shadow:inset 0 0 0 1px #ff9b5e66;color:var(--sum-orange);font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer;display:grid;place-items:center;line-height:1;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity .12s ease-out,background .12s ease-out,color .12s ease-out;z-index:4}.sum-node:hover .sum-node-add,.sum-node:hover .sum-node-remove{opacity:1;pointer-events:auto}.sum-node-add{bottom:-9px}.sum-node-remove{top:-9px}.sum-node-add:hover,.sum-node-remove:hover{background:var(--sum-orange);color:var(--sum-bg)}.cw-node{--cw-canvas: #0b0e13;--cw-bg: #161b24;--cw-strip: #0c1017;--cw-text: #e6ecf2;--cw-text-dim: rgba(230, 236, 242, .55);--cw-text-faint: rgba(230, 236, 242, .32);--cw-cyan: #5ec8ff;width:320px;border-radius:16px;background:var(--cw-bg);color:var(--cw-text);font-family:Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 24px #00000059;position:relative;padding:14px 16px;transition:box-shadow .18s ease-out}.cw-node[data-selected=true]{box-shadow:inset 0 0 0 1px #5ec8ff8c,0 8px 24px #00000059,0 0 0 1px #5ec8ff73}.cw-node-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cw-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:grid;place-items:center;flex-shrink:0;color:var(--cw-cyan)}.cw-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--cw-text)}.cw-node[data-on=false] .cw-node-title{color:var(--cw-text-dim)}.cw-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease-out,box-shadow .15s ease-out}.cw-node-toggle[data-on=true]{background:var(--cw-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--cw-cyan)}.cw-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s ease-out,background .15s ease-out}.cw-node-toggle[data-on=true] .cw-node-toggle-knob{left:18px;background:#fff}.cw-node-scope{height:124px;border-radius:10px;background:var(--cw-strip);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.cw-node-scope svg{width:100%;height:100%;display:block}.cw-node[data-on=false] .cw-node-scope path{stroke:var(--cw-text-faint);opacity:.5}.cw-node-scan{position:absolute;top:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,rgba(94,200,255,.2),transparent);animation:cw-scan 2.8s linear infinite;pointer-events:none}.cw-node-pulse{position:absolute;top:9px;right:12px;display:inline-flex;align-items:center;gap:6px;font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--cw-cyan);letter-spacing:.12em;opacity:.85}.cw-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--cw-cyan);box-shadow:0 0 6px var(--cw-cyan);animation:cw-blink 1.4s ease-in-out infinite}.cw-node-readout{position:absolute;bottom:9px;font:500 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em}.cw-node-readout-l{left:12px;color:var(--cw-text-dim)}.cw-node-readout-r{right:12px}.cw-node-readout-num{color:var(--cw-cyan);font-weight:600}.cw-node-readout-unit{color:var(--cw-text-faint);margin-left:3px}.cw-node[data-on=false] .cw-node-readout-num{color:var(--cw-text-faint)}.cw-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:600 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--cw-text-faint);letter-spacing:.16em;background:#0c101780}.cw-node .react-flow__handle.cw-node-port{width:14px;height:14px;border-radius:50%;background:var(--cw-text-faint);border:none;box-shadow:0 0 0 3px var(--cw-canvas);right:-7px;transition:background .15s ease-out,box-shadow .15s ease-out}.cw-node[data-on=true] .react-flow__handle.cw-node-port{background:var(--cw-cyan);box-shadow:0 0 0 3px var(--cw-canvas),0 0 16px #5ec8ff80}@keyframes cw-scan{0%{transform:translate(-100px)}to{transform:translate(420px)}}@keyframes cw-blink{0%,to{opacity:1}50%{opacity:.4}}.cw-node-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:16px 0 14px}.node-knobs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;animation:cw-knobs-reveal .22s cubic-bezier(.32,.72,0,1) both}.node-knob{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 0}.node-knob-dial{width:56px;height:56px;position:relative;cursor:ns-resize;touch-action:none}.node-knob-dial svg{width:100%;height:100%;display:block}.node-knob-track{fill:none;stroke:var(--knob-track);stroke-width:4;stroke-linecap:round}.node-knob-fill{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .12s ease-out}.node-knob[data-accent=cyan] .node-knob-fill{stroke:var(--icon-cyan);filter:drop-shadow(0 0 4px rgba(94,200,255,.5))}.node-knob[data-accent=orange] .node-knob-fill{stroke:var(--icon-orange);filter:drop-shadow(0 0 4px rgba(255,155,94,.45))}.node-knob[data-accent=magenta] .node-knob-fill{stroke:var(--icon-violet);filter:drop-shadow(0 0 4px rgba(214,139,255,.5))}.node-knob[data-accent=green] .node-knob-fill{stroke:#6ee7a8;filter:drop-shadow(0 0 4px rgba(110,231,168,.45))}.node-knob[data-accent=grey] .node-knob-fill{stroke:var(--text-tertiary)}.node-knob-pointer{position:absolute;top:50%;left:50%;width:2px;height:18px;background:var(--knob-pointer);border-radius:1px;transform-origin:1px 18px;box-shadow:var(--knob-pointer-shadow);pointer-events:none}.node-knob-center{position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:var(--knob-body);box-shadow:0 1px 3px #0006,inset 0 0 0 1px #ffffff0a;pointer-events:none}.node-knob-value{font:600 12px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--text-primary);display:flex;align-items:baseline;gap:3px}.node-knob-num{font-weight:600}.node-knob[data-accent=cyan] .node-knob-num{color:var(--icon-cyan)}.node-knob[data-accent=orange] .node-knob-num{color:var(--icon-orange)}.node-knob[data-accent=magenta] .node-knob-num{color:var(--icon-violet)}.node-knob[data-accent=green] .node-knob-num{color:#6ee7a8}.node-knob[data-accent=grey] .node-knob-num{color:var(--text-primary)}.node-knob-unit{font-size:9px;color:var(--text-tertiary);font-weight:500}.node-knob-label{font:500 10px/1 Inter,system-ui,sans-serif;color:var(--text-secondary);letter-spacing:.02em}.cw-node[data-on=false] .node-knobs,.rt-node[data-on=false] .node-knobs,.bpsk-node[data-on=false] .node-knobs,.bpsk-node[data-on=false] .bpsk-knob-row,.bpsk-node[data-on=false] .bpsk-slider-row{opacity:.4;pointer-events:none}@keyframes cw-knobs-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mf-node{--mf-canvas: #0b0e13;--mf-bg: #161b24;--mf-strip: #0c1017;--mf-text: #e6ecf2;--mf-text-dim: rgba(230, 236, 242, .55);--mf-text-faint: rgba(230, 236, 242, .32);--mf-orange: #ff9b5e;width:320px;border-radius:16px;background:var(--mf-bg);color:var(--mf-text);font-family:Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 24px #00000059;position:relative;padding:14px 16px 16px;transition:box-shadow .18s ease-out}.mf-node[data-selected=true]{box-shadow:inset 0 0 0 1px #ff9b5e8c,0 8px 24px #00000059,0 0 0 1px #ff9b5e73}.mf-node-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.mf-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#251c14,#1a130c);box-shadow:inset 0 0 0 1px #ff9b5e2e;display:grid;place-items:center;flex-shrink:0;color:var(--mf-orange);font:700 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace}.mf-node-title{flex:1;min-width:0;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--mf-orange)}.mf-node[data-on=false] .mf-node-title{color:#ff9b5e73}.mf-node-status{display:flex;align-items:center;gap:6px;padding:3px 7px;border-radius:5px;background:#ff9b5e14;box-shadow:inset 0 0 0 1px #ff9b5e2e}.mf-node-status-dot{width:6px;height:6px;border-radius:50%;background:var(--mf-orange);box-shadow:0 0 6px var(--mf-orange)}.mf-node-status-text{font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--mf-orange);letter-spacing:.08em}.mf-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease-out,box-shadow .15s ease-out}.mf-node-toggle[data-on=true]{background:var(--mf-orange);box-shadow:0 0 12px #ff9b5e59,inset 0 0 0 1px var(--mf-orange)}.mf-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s ease-out,background .15s ease-out}.mf-node-toggle[data-on=true] .mf-node-toggle-knob{left:18px;background:#fff}.mf-node-scope{height:84px;border-radius:10px;background:var(--mf-strip);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.mf-node-scope svg{width:100%;height:100%;display:block}.mf-node[data-on=false] .mf-node-scope path{opacity:.4}.mf-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:600 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--mf-text-faint);letter-spacing:.16em;background:#0c101780}.mf-node-formula{margin-top:12px;text-align:center;font:500 12px/1.4 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--mf-text-dim);letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:6px}.mf-node-formula-op{font-size:14px;line-height:1;transform:translateY(-1px);color:var(--mf-text-dim)}.mf-node-formula-h{color:var(--mf-orange);font-weight:600}.mf-node[data-on=false] .mf-node-formula{opacity:.4}.mf-node .react-flow__handle.mf-node-port{width:14px;height:14px;border-radius:50%;background:var(--mf-text-faint);border:none;box-shadow:0 0 0 3px var(--mf-canvas);transition:background .15s ease-out,box-shadow .15s ease-out}.mf-node .react-flow__handle.mf-node-port-in{left:-7px}.mf-node .react-flow__handle.mf-node-port-out{right:-7px}.mf-node[data-on=true] .react-flow__handle.mf-node-port{background:var(--mf-orange);box-shadow:0 0 0 3px var(--mf-canvas),0 0 16px #ff9b5e80}.topbar.topbar-zoned{height:56px;padding:0 16px;gap:0;align-items:stretch;position:relative;font-weight:400}.topbar.topbar-zoned .topbar-logo{align-self:center;padding:0 12px 0 0}.topbar.topbar-zoned>.topbar-rule{width:1px;align-self:stretch;background:#ffffff0f;margin:10px 0;flex-shrink:0}.topbar-zone{display:flex;align-items:center;gap:8px;padding:0 12px;align-self:center;min-width:0}.topbar-zone-grow{flex:1 1 auto;min-width:0}.topbar.topbar-zoned button{background:transparent;border:0;border-radius:9px;padding:0;font-family:Inter,system-ui,sans-serif}.topbar.topbar-zoned button:hover{border:0}.topbar-transport{display:flex;align-items:stretch;height:36px;border-radius:9px;background:#0000002e;box-shadow:inset 0 0 0 1px #ffffff0d;overflow:hidden}.topbar-transport-rule{width:1px;background:#ffffff14;align-self:stretch}.topbar.topbar-zoned button.topbar-clear-btn{display:inline-flex;align-items:center;gap:6px;height:100%;padding:0 12px;border-radius:0;background:transparent;color:var(--text-dim);font-weight:500;font-size:12px;cursor:pointer;transition:background .12s ease-out,color .12s ease-out}.topbar.topbar-zoned button.topbar-clear-btn:hover{color:#ff6b6b;background:#ff6b6b14}.topbar.topbar-zoned button.topbar-clear-btn:disabled{color:var(--text-faint);cursor:not-allowed;background:transparent}.topbar.topbar-zoned button.topbar-clear-btn:disabled:hover{color:var(--text-faint);background:transparent}.topbar.topbar-zoned button.topbar-run-btn,.topbar.topbar-zoned button.topbar-stop-btn,.topbar.topbar-zoned button.topbar-scene-btn{display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 14px;border-radius:0;font-weight:600;font-size:13px;color:var(--text);cursor:pointer;transition:background .12s ease-out,filter .12s ease-out,color .12s ease-out}.topbar.topbar-zoned button.topbar-scene-btn{color:var(--text-dim);padding:0 12px;min-width:84px;justify-content:center}.topbar.topbar-zoned button.topbar-scene-btn:hover{color:var(--text);background:#ffffff0a}.topbar-running-pulse[data-paused=true]{animation:none;opacity:.4}.topbar.topbar-zoned button.topbar-run-btn{background:linear-gradient(180deg,var(--run-bg-top) 0%,var(--run-bg-bottom) 100%);color:var(--run-text, #06231a);box-shadow:0 0 0 1px var(--run-border) inset,0 0 16px #0000000f;padding:0 16px}.topbar.topbar-zoned button.topbar-run-btn:hover{filter:brightness(1.06)}.topbar.topbar-zoned button.topbar-stop-btn{color:var(--text-dim);padding:0 14px}.topbar.topbar-zoned button.topbar-stop-btn:hover{color:var(--text)}.topbar.topbar-zoned button.topbar-stop-btn:disabled{opacity:.4;cursor:not-allowed}.topbar.topbar-zoned button.topbar-stop-btn[data-active=true]{background:linear-gradient(180deg,color-mix(in srgb,var(--status-error) 70%,white) 0%,var(--status-error) 100%);color:#fff;box-shadow:0 0 0 1px var(--status-error) inset,0 0 14px color-mix(in srgb,var(--status-error) 22%,transparent);opacity:1}.topbar-running-pill{display:inline-flex;align-items:center;gap:8px;height:100%;padding:0 14px;background:color-mix(in srgb,var(--status-running) 16%,transparent);color:var(--status-running);font:600 12px/1 Inter,system-ui,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:140px;justify-content:flex-start}.topbar-running-pulse{width:6px;height:6px;border-radius:50%;background:var(--status-running);box-shadow:0 0 8px color-mix(in srgb,var(--status-running) 60%,transparent);animation:topbar-blink 1.2s ease-in-out infinite}.topbar-running-timer{font:500 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--status-running);opacity:.85;display:inline-block;min-width:7ch;text-align:right;font-variant-numeric:tabular-nums}.topbar-meta-elapsed{display:inline-block;min-width:7ch;text-align:right;font-variant-numeric:tabular-nums;color:inherit}.topbar-kbd{font:500 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:#06231ab3;background:#06231a2e;box-shadow:inset 0 0 0 1px #06231a26;padding:3px 5px;border-radius:4px;letter-spacing:.04em}@keyframes topbar-blink{0%,to{opacity:1}50%{opacity:.45}}.topbar-project{padding:0 12px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.topbar.topbar-zoned button.topbar-project-name{display:inline-flex;align-items:center;gap:6px;font:600 13px/1 Inter,system-ui,sans-serif;color:var(--text);letter-spacing:-.01em;cursor:pointer;padding:4px 6px;border-radius:6px;margin-left:-6px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar.topbar-zoned button.topbar-project-name:hover{background:var(--hover-tint)}.topbar.topbar-zoned button.topbar-project-name span:first-child{overflow:hidden;text-overflow:ellipsis}.topbar-chev{color:var(--text-tertiary);font-size:10px;flex-shrink:0}.topbar-project-meta{font:500 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--text-tertiary);letter-spacing:.04em;display:flex;align-items:center;gap:6px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.topbar-project-meta.is-error{color:var(--status-error)}.topbar-meta-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.topbar-meta-dot-saved{background:var(--status-running);box-shadow:0 0 6px color-mix(in srgb,var(--status-running) 60%,transparent)}.topbar-meta-dot-running{background:var(--accent);box-shadow:0 0 6px var(--accent);animation:topbar-blink 1.2s ease-in-out infinite}.topbar-meta-dot-error{background:var(--status-error);box-shadow:0 0 6px var(--status-error);animation:topbar-blink 1s ease-in-out infinite}.topbar.topbar-zoned button.topbar-ghost-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:9px;background:transparent;color:var(--text-dim);font:600 13px/1 Inter,system-ui,sans-serif;cursor:pointer;transition:background .12s ease-out,color .12s ease-out}.topbar.topbar-zoned button.topbar-ghost-btn:hover{background:#ffffff0a;color:var(--text)}.topbar.topbar-zoned{border-bottom:none}.topbar.topbar-zoned:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border);pointer-events:none}.topbar-strip{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden;background:transparent;pointer-events:none;opacity:0;transition:opacity .2s ease-out;z-index:2}.topbar-status-running .topbar-strip,.topbar-status-starting .topbar-strip,.topbar-status-done .topbar-strip,.topbar-status-error .topbar-strip{opacity:1}.topbar-strip-fill{height:100%;width:100%;background-image:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);background-size:280px 100%;background-repeat:no-repeat}.topbar-status-running .topbar-strip-fill,.topbar-status-starting .topbar-strip-fill{animation:topbar-stripslide 1.6s linear infinite}.topbar-status-done .topbar-strip-fill{background:#5be39a;opacity:.7;animation:none}.topbar-status-error .topbar-strip-fill{background:#ff6b6b;opacity:.85;animation:none}@keyframes topbar-stripslide{0%{background-position:-280px 0}to{background-position:calc(100% + 280px) 0}}.mfa-node{--mfa-canvas: #0b0e13;--mfa-bg: #161b24;--mfa-strip: #0c1017;--mfa-text: #e6ecf2;--mfa-text-dim: rgba(230, 236, 242, .55);--mfa-text-faint: rgba(230, 236, 242, .32);--mfa-cyan: #5ec8ff;--mfa-orange: #ff9b5e;--mfa-magenta: #d68bff;position:relative;width:320px;font-family:Inter,system-ui,sans-serif;color:var(--mfa-text)}.mfa-node-layer{position:absolute;top:-12px;left:0;right:0;height:92px;border-radius:14px;background:var(--mfa-bg);box-shadow:inset 0 0 0 1px #ffffff0f,0 6px 16px #0006;pointer-events:none}.mfa-node-layer-2{top:-8px;left:8px;right:-8px;opacity:.7;transform:scale(.985)}.mfa-node-layer-3{top:-16px;left:16px;right:-16px;opacity:.45;transform:scale(.97)}.mfa-node-card{position:relative;background:var(--mfa-bg);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 24px #00000059;padding:12px 14px;z-index:1}.mfa-node[data-selected=true] .mfa-node-card{box-shadow:inset 0 0 0 1px #ff9b5e8c,0 8px 24px #00000059,0 0 0 1px #ff9b5e73}.mfa-node-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mfa-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#251c14,#1a130c);box-shadow:inset 0 0 0 1px #ff9b5e2e;display:grid;place-items:center;flex-shrink:0;color:var(--mfa-orange);font:700 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace}.mfa-node-title{flex:1;min-width:0;font-size:12px;line-height:1.2;font-weight:600;letter-spacing:-.1px;color:var(--mfa-orange);white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mfa-node[data-on=false] .mfa-node-title{color:#ff9b5e73}.mfa-node-mult{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:5px;background:#d68bff1f;box-shadow:inset 0 0 0 1px #d68bff59;font:600 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--mfa-magenta);letter-spacing:.04em;flex-shrink:0}.mfa-node-mult-x{color:var(--mfa-text-faint);font-weight:500}.mfa-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease-out,box-shadow .15s ease-out}.mfa-node-toggle[data-on=true]{background:var(--mfa-orange);box-shadow:0 0 12px #ff9b5e59,inset 0 0 0 1px var(--mfa-orange)}.mfa-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s ease-out,background .15s ease-out}.mfa-node-toggle[data-on=true] .mfa-node-toggle-knob{left:18px;background:#fff}.mfa-node-scope{position:relative;height:56px;border-radius:8px;background:var(--mfa-strip);box-shadow:inset 0 0 0 1px #ffffff08;overflow:hidden}.mfa-node-scope svg{width:100%;height:100%;display:block}.mfa-node[data-on=false] .mfa-node-scope path{opacity:.4}.mfa-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:600 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--mfa-text-faint);letter-spacing:.16em;background:#0c101780}.mfa-node-picker{margin-top:10px;padding:4px 6px;border-radius:8px;background:var(--mfa-strip);box-shadow:inset 0 0 0 1px #ffffff08}.mfa-node-pips-svg{display:block;width:100%;height:26px}.mfa-pip{cursor:pointer}.mfa-pip-rect{fill:#5ec8ff0f;stroke:#5ec8ff4d;stroke-width:1;transition:fill .12s ease-out,stroke .12s ease-out}.mfa-pip:hover .mfa-pip-rect{fill:#5ec8ff2e;stroke:#5ec8ff8c}.mfa-pip.is-active .mfa-pip-rect{fill:var(--mfa-cyan);stroke:var(--mfa-cyan);filter:drop-shadow(0 0 4px rgba(94,200,255,.6))}.mfa-pip-num{font:600 8px/1 JetBrains Mono,ui-monospace,Menlo,monospace;fill:#5ec8ffb3;pointer-events:none;-webkit-user-select:none;user-select:none}.mfa-pip.is-active .mfa-pip-num{fill:#06231a}.mfa-node .react-flow__handle.mfa-node-bus{width:8px;height:56px;border-radius:4px;background:linear-gradient(180deg,var(--mfa-cyan),var(--mfa-magenta));border:none;box-shadow:0 0 0 3px var(--mfa-canvas),0 0 14px #5ec8ff73;top:50%;transform:translateY(-50%);z-index:2}.mfa-node .react-flow__handle.mfa-node-bus-in{left:-4px}.mfa-node .react-flow__handle.mfa-node-bus-out{right:-4px}.mfa-node[data-on=false] .react-flow__handle.mfa-node-bus{background:#ffffff1f;box-shadow:0 0 0 3px var(--mfa-canvas)}.mfa-node-bus:before,.mfa-node-bus:after{content:"";position:absolute;left:1.5px;right:1.5px;height:1.5px;background:#0b0e1399;border-radius:1px;pointer-events:none}.mfa-node-bus:before{top:30%}.mfa-node-bus:after{top:60%}.react-flow__node.is-placing{opacity:.72;pointer-events:none;filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--border-focus) 45%,transparent))}.react-flow__node.is-placing>*:first-child{outline:2px dashed var(--border-focus);outline-offset:3px;border-radius:8px}body.is-placing-cursor,body.is-placing-cursor *{cursor:copy!important}.rf-node-toolbar,.rf-edge-toolbar{display:inline-flex;align-items:center;gap:0;padding:3px;background:var(--bg-panel);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow-panel);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .16s ease-out,transform .16s ease-out;white-space:nowrap;z-index:6}.rf-node-toolbar:after,.rf-edge-toolbar:after{content:"";position:absolute;bottom:-5px;width:9px;height:9px;background:var(--bg-panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.rf-node-toolbar:before,.rf-edge-toolbar:before{content:"";position:absolute;top:100%;left:0;right:0;height:12px}.rf-tool-btn{width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--text-secondary);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease-out,color .12s ease-out}.rf-tool-btn:hover{background:var(--bg-canvas);color:var(--text-primary)}.rf-tool-btn.rf-tool-danger:hover{background:color-mix(in srgb,var(--status-error) 16%,transparent);color:var(--status-error)}.rf-tool-div{width:1px;height:14px;background:var(--border);margin:0 3px}.rf-node-toolbar{position:absolute;top:-38px;right:0}.rf-node-toolbar:after{right:13px}.react-flow__node:hover>.rf-node-toolbar,.react-flow__node.selected>.rf-node-toolbar{opacity:1;pointer-events:auto;transform:translateY(0)}.rf-edge-delete-wrap{z-index:5}.rf-edge-toolbar{transform:translateY(-30px)}.rf-edge-toolbar:after{left:50%;margin-left:-4.5px}.rf-edge-toolbar:before{left:-8px;right:-8px;height:18px}.react-flow__edge:hover .rf-edge-toolbar,.react-flow__edge.selected .rf-edge-toolbar,.rf-edge-delete-wrap:hover .rf-edge-toolbar{opacity:1;pointer-events:auto;transform:translateY(-32px)}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path,.rf-edge-delete-wrap:hover~* .react-flow__edge-path{stroke:var(--status-error)!important;stroke-opacity:.95}.chat-panel{display:flex;flex-direction:column;height:100%;min-height:220px;gap:6px}.chat-history{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:4px 2px}.chat-empty{color:var(--text-dim, #888);font-size:12px;font-style:italic;padding:8px}.chat-entry{display:flex;width:100%}.chat-entry-tx{justify-content:flex-end}.chat-entry-rx{justify-content:flex-start;gap:4px;align-items:center}.chat-entry-err{justify-content:center}.chat-bubble{display:inline-block;padding:4px 8px;border-radius:8px;max-width:75%;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.3}.chat-bubble-tx{background:var(--accent, #5b9bff);color:#fff;font-weight:600}.chat-bubble-rx{background:var(--panel-2, #2a2f3a);color:var(--text);border:1px solid var(--border, #3a3f4a)}.chat-bubble-err{background:#dc3c3c2e;color:#ff6868;border:1px solid rgba(220,60,60,.45);font-style:italic;font-size:11px}.chat-copy-btn{font-size:10px;padding:2px 6px;background:transparent;border:1px solid var(--border, #3a3f4a);border-radius:3px;color:var(--text-dim, #888);cursor:pointer}.chat-copy-btn:hover{color:var(--text);border-color:var(--accent, #5b9bff)}.chat-input-row{display:flex;gap:4px;padding:4px 2px}.chat-input{flex:1;padding:6px 8px;background:var(--panel-1, #1e2230);border:1px solid var(--border, #3a3f4a);border-radius:4px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.chat-input:focus{outline:none;border-color:var(--accent, #5b9bff)}.chat-send-btn{padding:6px 12px;background:var(--accent, #5b9bff);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.chat-send-btn:hover{filter:brightness(1.1)}.chat-send-error{color:#ff6868;font-size:11px;padding:2px 6px}.chat-tg-bar{display:flex;align-items:center;gap:8px;padding:2px 2px 0}.chat-tg-btn{font-size:11px;padding:3px 8px;background:transparent;border:1px solid var(--border, #3a3f4a);border-radius:3px;color:var(--text-dim, #888);cursor:pointer}.chat-tg-btn:hover{color:var(--text);border-color:var(--accent, #5b9bff)}.chat-tg-on{font-size:11px;color:#4ade80;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chat-tg-settings{display:flex;flex-direction:column;gap:4px;padding:6px 4px;margin:2px 0;background:var(--panel-1, #1e2230);border:1px solid var(--border, #3a3f4a);border-radius:4px}.chat-tg-row{display:flex;align-items:center;gap:6px}.chat-tg-label{font-size:11px;color:var(--text-dim, #888);width:70px;flex-shrink:0}.chat-tg-input{flex:1;padding:4px 6px;background:var(--panel-2, #2a2f3a);border:1px solid var(--border, #3a3f4a);border-radius:3px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.chat-tg-input:focus{outline:none;border-color:var(--accent, #5b9bff)}.chat-tg-actions{justify-content:flex-start;gap:6px;flex-wrap:wrap}.chat-tg-test-btn{font-size:11px;padding:4px 10px;background:var(--accent, #5b9bff);color:#fff;border:none;border-radius:3px;cursor:pointer}.chat-tg-test-btn:hover{filter:brightness(1.1)}.chat-tg-clear-btn{font-size:11px;padding:4px 10px;background:transparent;border:1px solid var(--border, #3a3f4a);border-radius:3px;color:var(--text-dim, #888);cursor:pointer}.chat-tg-clear-btn:hover{color:var(--text)}.chat-tg-bury-btn{opacity:.55;border-style:dashed}.chat-tg-bury-btn:hover{opacity:.85;color:var(--text);border-style:solid}.chat-tg-link{color:#4ade80;text-decoration:underline;text-decoration-color:#4ade8080;text-underline-offset:2px}.chat-tg-link:hover{color:#6ee7a8;text-decoration-color:#6ee7a8}.chat-tg-status{font-size:11px;color:var(--text-dim, #888);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chat-tg-hint{font-size:10px;color:var(--text-dim, #888);font-style:italic;padding:2px 2px 0}.chat-tg-hint code{background:var(--panel-2, #2a2f3a);padding:0 3px;border-radius:2px;font-style:normal}.chat-tg-bury{display:flex;flex-direction:column;gap:4px;padding:4px 4px 0}.chat-tg-bury-head{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim, #888)}.chat-tg-bury-head code{background:var(--panel-2, #2a2f3a);padding:0 3px;border-radius:2px}.chat-tg-bury-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:4px 6px;background:var(--panel-2, #2a2f3a);border:1px solid var(--border, #3a3f4a);border-radius:3px;color:var(--text);resize:vertical;min-height:50px;width:100%;box-sizing:border-box}.chat-tg-bury-box:focus{outline:none;border-color:var(--accent, #5b9bff)}.bpsk-node{--bpsk-cyan: #5ec8ff;--bpsk-green: #6ee7a8;--bpsk-orange: #ff9b5e;--bpsk-node-bg: #161b24;--bpsk-strip-bg: #0c1017;--bpsk-text: #e6ecf2;--bpsk-text-dim: rgba(230, 236, 242, .55);--bpsk-text-faint: rgba(230, 236, 242, .32);--bpsk-node-border: rgba(255, 255, 255, .06);--bpsk-node-border-active: rgba(94, 200, 255, .55);width:340px;padding:18px 16px 16px;background:var(--bpsk-node-bg);border-radius:16px;box-shadow:inset 0 0 0 1px var(--bpsk-node-border),0 8px 24px #00000059;color:var(--bpsk-text);font-family:Inter,system-ui,sans-serif;position:relative}.bpsk-node[data-selected=true]{box-shadow:inset 0 0 0 1px var(--bpsk-node-border-active),0 8px 24px #00000059,0 0 0 1px var(--bpsk-node-border-active)}.bpsk-node[data-on=false] .bpsk-node-title{color:var(--bpsk-text-dim)}.bpsk-node[data-on=false] .bpsk-node-icon{opacity:.5}.bpsk-node[data-on=false] .bpsk-node-chat-body .bpsk-bubble,.bpsk-node[data-on=false] .bpsk-node-chat-header,.bpsk-node[data-on=false] .bpsk-node-rx-footer{opacity:.35}.bpsk-node[data-on=false] .bpsk-node-pulse{display:none}.bpsk-node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.bpsk-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bpsk-node-rx .bpsk-node-icon{box-shadow:inset 0 0 0 1px #6ee7a82e}.bpsk-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--bpsk-text)}.bpsk-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.bpsk-node-toggle[data-on=true]{background:var(--bpsk-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--bpsk-cyan)}.bpsk-node-rx .bpsk-node-toggle[data-on=true]{background:var(--bpsk-green);box-shadow:0 0 12px #6ee7a859,inset 0 0 0 1px var(--bpsk-green)}.bpsk-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s,background .15s}.bpsk-node-toggle[data-on=true] .bpsk-node-toggle-knob{left:18px;background:#fff}.bpsk-node-tg-toggle{width:24px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:#e6ecf252;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff0d;transition:background .15s,color .15s,box-shadow .15s}.bpsk-node-tg-toggle:hover{color:#e6ecf2a6}.bpsk-node-tg-toggle[data-on=true]{background:#6ee7a829;color:#6ee7a8;box-shadow:inset 0 0 0 1px #6ee7a88c,0 0 8px #6ee7a840}.bpsk-node-chat{border-radius:10px;background:var(--bpsk-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.bpsk-node-chat-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.04);font:600 9px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:1.1px;color:var(--bpsk-text-faint)}.bpsk-node-chat-left{display:flex;align-items:center;gap:8px;color:var(--bpsk-text-dim)}.bpsk-node-pulse{display:inline-flex;align-items:center;gap:5px;color:var(--bpsk-cyan)}.bpsk-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--bpsk-cyan);box-shadow:0 0 6px var(--bpsk-cyan);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.bpsk-node-rx .bpsk-node-pulse{color:var(--bpsk-green)}.bpsk-node-rx .bpsk-node-pulse-dot{background:var(--bpsk-green);box-shadow:0 0 6px var(--bpsk-green)}@keyframes bpsk-pulse-blink{0%,to{opacity:1}50%{opacity:.4}}.bpsk-node-chat-body{height:200px;display:flex;flex-direction:column-reverse;gap:8px;padding:16px 12px 14px;position:relative;overflow-y:auto}.bpsk-node-chat-body:before{content:"";position:absolute;top:0;left:0;right:0;height:24px;background:linear-gradient(to bottom,var(--bpsk-strip-bg) 10%,transparent);pointer-events:none;z-index:2}.bpsk-bubble{max-width:78%;padding:6px 10px 7px;border-radius:12px;font:500 12px/1.35 Inter,system-ui,sans-serif;position:relative;flex-shrink:0;word-break:break-word}.bpsk-bubble-ts{font:500 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--bpsk-text-faint);letter-spacing:.6px;display:block;margin-bottom:3px;opacity:.7}.bpsk-bubble-tx{align-self:flex-end;background:#5ec8ff24;color:var(--bpsk-text);border-bottom-right-radius:3px}.bpsk-bubble-tx .bpsk-bubble-ts{text-align:right;color:#5ec8ff99}.bpsk-bubble-rx{align-self:flex-start;background:#ffffff0d;color:var(--bpsk-text);border-bottom-left-radius:3px}.bpsk-bubble-err{background:#ff9b5e1a;box-shadow:inset 0 0 0 1px #ff9b5e52;color:var(--bpsk-orange);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.4px}.bpsk-bubble-err .bpsk-bubble-ts{color:#ff9b5e8c}.bpsk-bubble-sys{align-self:center;background:transparent;color:var(--bpsk-text-faint);font:500 9px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:1.4px;text-transform:uppercase;padding:2px 0}.bpsk-node-composer{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 12px;border-top:1px solid rgba(255,255,255,.04);background:#ffffff04}.bpsk-node-composer input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:7px 10px;font:500 12px/1 Inter,system-ui,sans-serif;color:var(--bpsk-text);letter-spacing:.1px;outline:none}.bpsk-node-composer input::placeholder{color:var(--bpsk-text-faint)}.bpsk-node-composer input:focus{border-color:#5ec8ff66;background:#5ec8ff0a}.bpsk-node-composer input:disabled{opacity:.5;cursor:not-allowed}.bpsk-node-send-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:var(--bpsk-cyan);color:#0b0e13;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.6px;padding:8px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 0 12px #5ec8ff59;transition:transform .1s,box-shadow .15s}.bpsk-node-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #5ec8ff80}.bpsk-node-send-btn:active{transform:translateY(0)}.bpsk-node-send-btn:disabled{background:#ffffff0f;color:var(--bpsk-text-faint);box-shadow:none;cursor:not-allowed;transform:none}.bpsk-node-send-err{color:var(--bpsk-orange);font:500 10px/1.3 JetBrains Mono,ui-monospace,monospace;padding:4px 12px 6px;background:#ff9b5e14}.bpsk-node-rx-footer{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.04);font:500 9px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.8px;color:var(--bpsk-text-faint)}.bpsk-node-rx-v{color:var(--bpsk-text)}.bpsk-node-rx-link-good{color:var(--bpsk-green)}.bpsk-node-rx-link-lost{color:var(--bpsk-orange)}.bpsk-node-rx-link-armed{color:var(--bpsk-text-dim)}.bpsk-node-rx-sep{width:1px;height:9px;background:#ffffff1a}.bpsk-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;color:var(--bpsk-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:10px;z-index:10}.bpsk-node-port{width:14px!important;height:14px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.bpsk-node-tx[data-on=true][data-live=true] .bpsk-node-port{background:var(--bpsk-cyan)!important;box-shadow:0 0 12px #5ec8ff80!important}.bpsk-node-rx[data-on=true][data-live=true] .bpsk-node-port{background:var(--bpsk-green)!important;box-shadow:0 0 12px #6ee7a880!important}.channel-node{--ch-cyan: #5ec8ff;--ch-orange: #ff9b5e;--ch-green: #6ee7a8;--ch-bg: #161b24;--ch-strip-bg: #0c1017;--ch-text: #e6ecf2;--ch-text-dim: rgba(230, 236, 242, .55);--ch-text-faint: rgba(230, 236, 242, .32);--ch-border: rgba(255, 255, 255, .06);--ch-border-active: rgba(94, 200, 255, .55);width:320px;padding:18px 16px 16px;background:var(--ch-bg);border-radius:16px;box-shadow:inset 0 0 0 1px var(--ch-border),0 8px 24px #00000059;color:var(--ch-text);font-family:Inter,system-ui,sans-serif;position:relative;transition:box-shadow .18s}.channel-node[data-selected=true]{box-shadow:inset 0 0 0 1px var(--ch-border-active),0 8px 24px #00000059,0 0 0 1px var(--ch-border-active)}.channel-node[data-on=false] .channel-node-title{color:var(--ch-text-dim)}.channel-node[data-on=false] .channel-node-icon{opacity:.5}.channel-node[data-on=false] .channel-node-pulse,.channel-node[data-on=false] .channel-node-readout,.channel-node[data-on=false] .channel-node-pill{display:none}.channel-node[data-on=false] .channel-node-knob-row,.channel-node[data-on=false] .channel-node-seg-row{opacity:.4}.channel-node[data-on=false] .channel-node-scope path,.channel-node[data-on=false] .channel-node-scope line{opacity:.4}.channel-node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.channel-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.channel-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--ch-text)}.channel-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.channel-node-toggle[data-on=true]{background:var(--ch-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--ch-cyan)}.channel-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s,background .15s}.channel-node-toggle[data-on=true] .channel-node-toggle-knob{left:18px;background:#fff}.channel-node-scope{height:124px;border-radius:10px;background:var(--ch-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.channel-node-scope svg{width:100%;height:100%;display:block}.channel-node-pill{position:absolute;top:9px;left:12px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ch-text-dim);letter-spacing:1px;padding:3px 6px;border-radius:4px;background:#5ec8ff0f;box-shadow:inset 0 0 0 1px #5ec8ff33}.channel-node-pulse{position:absolute;top:9px;right:12px;display:flex;align-items:center;gap:6px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ch-cyan);letter-spacing:1.2px;opacity:.85}.channel-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--ch-cyan);box-shadow:0 0 6px var(--ch-cyan);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.channel-node-readout{position:absolute;bottom:9px;display:flex;align-items:baseline;gap:4px;font:500 11px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.3px}.channel-node-readout.l{left:12px}.channel-node-readout.r{right:12px}.channel-node-readout .k{color:var(--ch-text-faint)}.channel-node-readout .v{font-weight:600}.channel-node-readout.l .v{color:var(--ch-orange)}.channel-node-readout.r .v{color:var(--ch-cyan)}.channel-node-readout .u{color:var(--ch-text-faint);font-size:9px;font-weight:500}.channel-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ch-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:10px}.channel-node-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:16px 0 14px}.channel-node-knob-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.channel-node-knob-row[data-cols="1"]{grid-template-columns:1fr}.channel-node-knob-row[data-cols="2"]{grid-template-columns:repeat(2,1fr)}.channel-node-knob{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 0}.channel-node-knob-dial{width:56px;height:56px;position:relative}.channel-node-knob-dial svg{width:100%;height:100%;display:block;transform:rotate(135deg)}.channel-node-knob-track{fill:none;stroke:#ffffff14;stroke-width:4;stroke-linecap:round}.channel-node-knob-fill{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .1s}.channel-node-knob-pointer{position:absolute;top:50%;left:50%;width:2px;height:18px;background:#fff;border-radius:1px;transform-origin:1px 18px;pointer-events:none;box-shadow:0 0 4px #fff6}.channel-node-knob-center{position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,#2a3140,#14181f);box-shadow:0 1px 3px #0006,inset 0 0 0 1px #ffffff0a;pointer-events:none}.channel-node-knob-value{font:600 12px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ch-text);letter-spacing:.2px;display:flex;align-items:baseline;gap:3px}.channel-node-knob-value .unit{font-size:9px;color:var(--ch-text-faint);font-weight:500}.channel-node-knob-label{font:500 10px/1 Inter,system-ui,sans-serif;color:var(--ch-text-dim);letter-spacing:.2px;text-align:center}.channel-node-knob[data-accent=orange] .channel-node-knob-fill{stroke:var(--ch-orange);filter:drop-shadow(0 0 4px rgba(255,155,94,.45))}.channel-node-knob[data-accent=orange] .channel-node-knob-value .num{color:var(--ch-orange)}.channel-node-knob[data-accent=cyan] .channel-node-knob-fill{stroke:var(--ch-cyan);filter:drop-shadow(0 0 4px rgba(94,200,255,.5))}.channel-node-knob[data-accent=cyan] .channel-node-knob-value .num{color:var(--ch-cyan)}.channel-node-knob[data-accent=green] .channel-node-knob-fill{stroke:var(--ch-green);filter:drop-shadow(0 0 4px rgba(110,231,168,.45))}.channel-node-knob[data-accent=green] .channel-node-knob-value .num{color:var(--ch-green)}[data-theme=light] .channel-node-knob-track{stroke:var(--knob-track)}[data-theme=light] .channel-node-knob-pointer{background:var(--knob-pointer);box-shadow:var(--knob-pointer-shadow)}[data-theme=light] .channel-node-knob-center{background:var(--knob-body);box-shadow:0 1px 2px #1c1a142e,inset 0 0 0 1px var(--border-default)}[data-theme=light] .channel-node-toggle,[data-theme=light] .bpsk-toggle,[data-theme=light] .lfm-node-toggle,[data-theme=light] .rt-node-toggle,[data-theme=light] .cw-node-toggle,[data-theme=light] .mf-node-toggle,[data-theme=light] .mfa-node-toggle,[data-theme=light] .bpsk-node-toggle,[data-theme=light] .mti-node-toggle,[data-theme=light] .noise-node-toggle,[data-theme=light] .filter-node-toggle{background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--border-default)}[data-theme=light] .channel-node-toggle-knob,[data-theme=light] .bpsk-toggle-knob,[data-theme=light] .lfm-node-toggle-knob,[data-theme=light] .rt-node-toggle-knob,[data-theme=light] .cw-node-toggle-knob,[data-theme=light] .mf-node-toggle-knob,[data-theme=light] .mfa-node-toggle-knob,[data-theme=light] .bpsk-node-toggle-knob,[data-theme=light] .mti-node-toggle-knob,[data-theme=light] .noise-node-toggle-knob,[data-theme=light] .filter-node-toggle-knob{background:var(--text-tertiary);box-shadow:0 1px 2px #1c1a1440}[data-theme=light] .bpsk-toggle[data-on=true] .bpsk-toggle-knob,[data-theme=light] .channel-node-toggle[data-on=true] .channel-node-toggle-knob,[data-theme=light] .lfm-node-toggle[data-on=true] .lfm-node-toggle-knob,[data-theme=light] .rt-node-toggle[data-on=true] .rt-node-toggle-knob,[data-theme=light] .cw-node-toggle[data-on=true] .cw-node-toggle-knob,[data-theme=light] .mf-node-toggle[data-on=true] .mf-node-toggle-knob,[data-theme=light] .mfa-node-toggle[data-on=true] .mfa-node-toggle-knob,[data-theme=light] .bpsk-node-toggle[data-on=true] .bpsk-node-toggle-knob,[data-theme=light] .mti-node-toggle[data-on=true] .mti-node-toggle-knob,[data-theme=light] .noise-node-toggle[data-on=true] .noise-node-toggle-knob,[data-theme=light] .filter-node-toggle[data-on=true] .filter-node-toggle-knob{background:#fff}.channel-node-seg-row{display:grid;grid-template-columns:1fr;gap:10px}.channel-node-seg-block{display:flex;flex-direction:column}.channel-node-seg-label{font:500 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ch-text-faint);letter-spacing:1px;margin-bottom:5px}.channel-node-seg{display:flex;background:var(--ch-strip-bg);border-radius:7px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff0a}.channel-node-seg button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--ch-text-dim);font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.6px;padding:6px 0;border-radius:5px;transition:background .12s,color .12s}.channel-node-seg button[data-active=true]{background:#5ec8ff1f;color:var(--ch-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40}.channel-node-port{width:14px!important;height:14px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.channel-node[data-on=true][data-live=true] .channel-node-port{background:var(--ch-cyan)!important;box-shadow:0 0 12px #5ec8ff80!important}.big-sink-node{--bsn-cyan: #5ec8ff;--bsn-text: #e6ecf2;--bsn-text-dim: rgba(230, 236, 242, .55);--bsn-text-faint: rgba(230, 236, 242, .32);--bsn-bg: #161b24;--bsn-strip-bg: #0c1017;--bsn-border: rgba(255, 255, 255, .06);--bsn-border-active: rgba(94, 200, 255, .55);width:340px;padding:18px 16px 16px;background:var(--bsn-bg);border-radius:16px;box-shadow:inset 0 0 0 1px var(--bsn-border),0 8px 24px #00000059;color:var(--bsn-text);font-family:Inter,system-ui,sans-serif;position:relative}.big-sink-node[data-selected=true]{box-shadow:inset 0 0 0 1px var(--bsn-border-active),0 8px 24px #00000059,0 0 0 1px var(--bsn-border-active)}.big-sink-node[data-on=false] .big-sink-node-strip{display:none}.big-sink-node[data-on=false] .big-sink-node-header{margin-bottom:0}.big-sink-node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.big-sink-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.big-sink-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--bsn-text)}.big-sink-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.big-sink-node-toggle[data-on=true]{background:var(--bsn-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--bsn-cyan)}.big-sink-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s,background .15s}.big-sink-node-toggle[data-on=true] .big-sink-node-toggle-knob{left:18px;background:#fff}.big-sink-node-strip{border-radius:10px;background:var(--bsn-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.big-sink-node-strip-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.04);font:600 9px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:1.1px;color:var(--bsn-text-faint)}.big-sink-node-strip-left{color:var(--bsn-text-dim)}.big-sink-node-pulse{display:inline-flex;align-items:center;gap:5px;color:var(--bsn-cyan)}.big-sink-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--bsn-cyan);box-shadow:0 0 6px var(--bsn-cyan);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.big-sink-node-strip-body{height:256px;position:relative}.big-sink-node-strip-body svg{width:100%;height:100%;display:block}.big-sink-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;color:var(--bsn-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:10px}.big-sink-node-port{width:14px!important;height:14px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.big-sink-node[data-on=true][data-live=true] .big-sink-node-port{background:var(--bsn-cyan)!important;box-shadow:0 0 12px #5ec8ff80!important}.mti-node{--mti-cyan: #5ec8ff;--mti-orange: #ff9b5e;--mti-text: #e6ecf2;--mti-text-dim: rgba(230, 236, 242, .55);--mti-text-faint: rgba(230, 236, 242, .32);--mti-bg: #161b24;--mti-strip-bg: #0c1017;--mti-border: rgba(255, 255, 255, .06);--mti-border-active: rgba(94, 200, 255, .55);width:320px;padding:18px 16px 16px;background:var(--mti-bg);border-radius:16px;box-shadow:inset 0 0 0 1px var(--mti-border),0 8px 24px #00000059;color:var(--mti-text);font-family:Inter,system-ui,sans-serif;position:relative}.mti-node[data-selected=true]{box-shadow:inset 0 0 0 1px var(--mti-border-active),0 8px 24px #00000059,0 0 0 1px var(--mti-border-active)}.mti-node[data-on=false] .mti-node-title{color:var(--mti-text-dim)}.mti-node[data-on=false] .mti-node-icon{opacity:.5}.mti-node[data-on=false] .mti-node-pulse,.mti-node[data-on=false] .mti-node-readout,.mti-node[data-on=false] .mti-node-pill{display:none}.mti-node[data-on=false] .mti-node-knob-row,.mti-node[data-on=false] .mti-node-seg-row{opacity:.4}.mti-node[data-on=false] .mti-node-scope path,.mti-node[data-on=false] .mti-node-scope line{opacity:.4}.mti-node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mti-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mti-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--mti-text)}.mti-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.mti-node-toggle[data-on=true]{background:var(--mti-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--mti-cyan)}.mti-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s,background .15s}.mti-node-toggle[data-on=true] .mti-node-toggle-knob{left:18px;background:#fff}.mti-node-scope{height:124px;border-radius:10px;background:var(--mti-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.mti-node-scope svg{width:100%;height:100%;display:block}.mti-node-pill{position:absolute;top:9px;left:12px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--mti-text-dim);letter-spacing:1px;padding:3px 6px;border-radius:4px;background:#5ec8ff0f;box-shadow:inset 0 0 0 1px #5ec8ff33}.mti-node-pulse{position:absolute;top:9px;right:12px;display:flex;align-items:center;gap:6px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--mti-cyan);letter-spacing:1.2px;opacity:.85}.mti-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--mti-cyan);box-shadow:0 0 6px var(--mti-cyan);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.mti-node-readout{position:absolute;bottom:9px;display:flex;align-items:baseline;gap:4px;font:500 11px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.3px}.mti-node-readout.l{left:12px;color:var(--mti-text-dim)}.mti-node-readout.r{right:12px}.mti-node-readout .k{color:var(--mti-text-faint)}.mti-node-readout .v{color:var(--mti-cyan);font-weight:600;margin-left:2px}.mti-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;color:var(--mti-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:10px}.mti-node-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:16px 0 14px}.mti-node-knob-row{display:grid;grid-template-columns:1fr;gap:4px}.mti-node-knob{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 0}.mti-node-knob-dial{width:56px;height:56px;position:relative}.mti-node-knob-dial svg{width:100%;height:100%;display:block;transform:rotate(135deg)}.mti-node-knob-track{fill:none;stroke:#ffffff14;stroke-width:4;stroke-linecap:round}.mti-node-knob-fill{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .1s}.mti-node-knob-pointer{position:absolute;top:50%;left:50%;width:2px;height:18px;background:#fff;border-radius:1px;transform-origin:1px 18px;pointer-events:none;box-shadow:0 0 4px #fff6}.mti-node-knob-center{position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,#2a3140,#14181f);box-shadow:0 1px 3px #0006,inset 0 0 0 1px #ffffff0a;pointer-events:none}.mti-node-knob-value{font:600 12px/1 JetBrains Mono,ui-monospace,monospace;color:var(--mti-text);letter-spacing:.2px;display:flex;align-items:baseline;gap:3px}.mti-node-knob-value .unit{font-size:9px;color:var(--mti-text-faint);font-weight:500}.mti-node-knob-label{font:500 10px/1 Inter,system-ui,sans-serif;color:var(--mti-text-dim);letter-spacing:.2px;text-align:center}.mti-node-knob[data-accent=orange] .mti-node-knob-fill{stroke:var(--mti-orange);filter:drop-shadow(0 0 4px rgba(255,155,94,.45))}.mti-node-knob[data-accent=orange] .mti-node-knob-value .num{color:var(--mti-orange)}.mti-node-knob[data-accent=cyan] .mti-node-knob-fill{stroke:var(--mti-cyan);filter:drop-shadow(0 0 4px rgba(94,200,255,.5))}.mti-node-knob[data-accent=cyan] .mti-node-knob-value .num{color:var(--mti-cyan)}.mti-node-knob[data-accent=green] .mti-node-knob-fill{stroke:#6ee7a8;filter:drop-shadow(0 0 4px rgba(110,231,168,.45))}.mti-node-knob[data-accent=green] .mti-node-knob-value .num{color:#6ee7a8}.mti-node-seg-row{display:grid;grid-template-columns:1fr;gap:10px}.mti-node-seg-block{display:flex;flex-direction:column}.mti-node-seg-label{font:500 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--mti-text-faint);letter-spacing:1px;margin-bottom:5px}.mti-node-seg{display:flex;background:var(--mti-strip-bg);border-radius:7px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff0a}.mti-node-seg button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--mti-text-dim);font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.6px;padding:6px 0;border-radius:5px;transition:background .12s,color .12s}.mti-node-seg button[data-active=true]{background:#5ec8ff1f;color:var(--mti-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40}.mti-node-port{width:14px!important;height:14px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.mti-node[data-on=true][data-live=true] .mti-node-port{background:var(--mti-cyan)!important;box-shadow:0 0 12px #5ec8ff80!important}.small-sink-node{--ssn-cyan: #5ec8ff;--ssn-orange: #ff9b5e;--ssn-green: #6ee7a8;--ssn-magenta: #e07ad6;--ssn-accent: var(--ssn-cyan);--ssn-accent-rgba: 94, 200, 255;--ssn-text: #e6ecf2;--ssn-text-dim: rgba(230, 236, 242, .55);--ssn-text-faint: rgba(230, 236, 242, .32);--ssn-bg: #161b24;--ssn-strip-bg: #0c1017;--ssn-border: rgba(255, 255, 255, .06);width:280px;padding:14px 14px 12px;background:var(--ssn-bg);border-radius:14px;box-shadow:inset 0 0 0 1px var(--ssn-border),0 6px 18px #0000004d;color:var(--ssn-text);font-family:Inter,system-ui,sans-serif;position:relative}.small-sink-node[data-accent=cyan]{--ssn-accent: var(--ssn-cyan);--ssn-accent-rgba: 94, 200, 255}.small-sink-node[data-accent=orange]{--ssn-accent: var(--ssn-orange);--ssn-accent-rgba: 255, 155, 94}.small-sink-node[data-accent=green]{--ssn-accent: var(--ssn-green);--ssn-accent-rgba: 110, 231, 168}.small-sink-node[data-accent=magenta]{--ssn-accent: var(--ssn-magenta);--ssn-accent-rgba: 224, 122, 214}.small-sink-node[data-selected=true]{box-shadow:inset 0 0 0 1px rgba(var(--ssn-accent-rgba),.55),0 6px 18px #0000004d,0 0 0 1px rgba(var(--ssn-accent-rgba),.55)}.small-sink-node[data-on=false] .small-sink-node-title{color:var(--ssn-text-dim)}.small-sink-node[data-on=false] .small-sink-node-icon{opacity:.5}.small-sink-node[data-on=false] .small-sink-node-strip{opacity:.4}.small-sink-node-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.small-sink-node-icon{width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px rgba(var(--ssn-accent-rgba),.16);display:flex;align-items:center;justify-content:center;flex-shrink:0}.small-sink-node-title{flex:1;font-size:14px;font-weight:600;letter-spacing:-.1px;color:var(--ssn-text)}.small-sink-node-toggle{width:32px;height:18px;border-radius:9px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.small-sink-node-toggle[data-on=true]{background:var(--ssn-accent);box-shadow:0 0 10px rgba(var(--ssn-accent-rgba),.35),inset 0 0 0 1px var(--ssn-accent)}.small-sink-node-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#3a4453;box-shadow:0 1px 2px #0000004d;transition:left .15s,background .15s}.small-sink-node-toggle[data-on=true] .small-sink-node-toggle-knob{left:16px;background:#fff}.small-sink-node-strip{border-radius:8px;background:var(--ssn-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;padding:8px 12px 10px}.small-sink-node-pill{display:inline-block;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ssn-accent);letter-spacing:1px;padding:3px 6px;border-radius:4px;background:rgba(var(--ssn-accent-rgba),.08);box-shadow:inset 0 0 0 1px rgba(var(--ssn-accent-rgba),.22)}.small-sink-node-pulse{position:absolute;top:8px;right:12px;display:inline-flex;align-items:center;gap:5px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ssn-accent);letter-spacing:1.1px}.small-sink-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--ssn-accent);box-shadow:0 0 6px var(--ssn-accent);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.small-sink-node-status{margin-top:8px;font:500 11px/1.3 JetBrains Mono,ui-monospace,monospace;color:var(--ssn-text-dim);letter-spacing:.2px}.small-sink-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 10px/1 JetBrains Mono,ui-monospace,monospace;color:var(--ssn-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:8px}.small-sink-node-port{width:12px!important;height:12px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.small-sink-node[data-on=true][data-live=true] .small-sink-node-port{background:var(--ssn-accent)!important;box-shadow:0 0 10px rgba(var(--ssn-accent-rgba),.5)!important}.noise-node{--nz-cyan: #5ec8ff;--nz-orange: #ff9b5e;--nz-text: #e6ecf2;--nz-text-dim: rgba(230, 236, 242, .55);--nz-text-faint: rgba(230, 236, 242, .32);--nz-bg: #161b24;--nz-strip-bg: #0c1017;--nz-border: rgba(255, 255, 255, .06);--nz-border-active: rgba(94, 200, 255, .55);width:320px;padding:18px 16px 16px;background:var(--nz-bg);border-radius:16px;box-shadow:inset 0 0 0 1px var(--nz-border),0 8px 24px #00000059;color:var(--nz-text);font-family:Inter,system-ui,sans-serif;position:relative}.noise-node[data-selected=true]{box-shadow:inset 0 0 0 1px var(--nz-border-active),0 8px 24px #00000059,0 0 0 1px var(--nz-border-active)}.noise-node[data-on=false] .noise-node-title{color:var(--nz-text-dim)}.noise-node[data-on=false] .noise-node-icon{opacity:.5}.noise-node[data-on=false] .noise-node-pulse,.noise-node[data-on=false] .noise-node-readout,.noise-node[data-on=false] .noise-node-pill{display:none}.noise-node[data-on=false] .noise-node-knob-row,.noise-node[data-on=false] .noise-node-seg-row{opacity:.4}.noise-node[data-on=false] .noise-node-scope path,.noise-node[data-on=false] .noise-node-scope line{opacity:.4}.noise-node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.noise-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.noise-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--nz-text)}.noise-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.noise-node-toggle[data-on=true]{background:var(--nz-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--nz-cyan)}.noise-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s,background .15s}.noise-node-toggle[data-on=true] .noise-node-toggle-knob{left:18px;background:#fff}.noise-node-scope{height:124px;border-radius:10px;background:var(--nz-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.noise-node-scope svg{width:100%;height:100%;display:block}.noise-node-pill{position:absolute;top:9px;left:12px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--nz-text-dim);letter-spacing:1px;padding:3px 6px;border-radius:4px;background:#5ec8ff0f;box-shadow:inset 0 0 0 1px #5ec8ff33}.noise-node-pulse{position:absolute;top:9px;right:12px;display:flex;align-items:center;gap:6px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--nz-cyan);letter-spacing:1.2px;opacity:.85}.noise-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--nz-cyan);box-shadow:0 0 6px var(--nz-cyan);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.noise-node-readout{position:absolute;bottom:9px;right:12px;display:flex;align-items:baseline;gap:4px;font:500 11px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.3px}.noise-node-readout .k{color:var(--nz-text-faint)}.noise-node-readout .v{color:var(--nz-cyan);font-weight:600}.noise-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;color:var(--nz-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:10px}.noise-node-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:16px 0 14px}.noise-node-knob-row{display:grid;grid-template-columns:1fr;gap:4px}.noise-node-knob{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 0}.noise-node-knob-dial{width:56px;height:56px;position:relative}.noise-node-knob-dial svg{width:100%;height:100%;display:block;transform:rotate(135deg)}.noise-node-knob-track{fill:none;stroke:#ffffff14;stroke-width:4;stroke-linecap:round}.noise-node-knob-fill{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .1s}.noise-node-knob-pointer{position:absolute;top:50%;left:50%;width:2px;height:18px;background:#fff;border-radius:1px;transform-origin:1px 18px;pointer-events:none;box-shadow:0 0 4px #fff6}.noise-node-knob-center{position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,#2a3140,#14181f);box-shadow:0 1px 3px #0006,inset 0 0 0 1px #ffffff0a;pointer-events:none}.noise-node-knob-value{font:600 12px/1 JetBrains Mono,ui-monospace,monospace;color:var(--nz-text);letter-spacing:.2px;display:flex;align-items:baseline;gap:3px}.noise-node-knob-value .unit{font-size:9px;color:var(--nz-text-faint);font-weight:500}.noise-node-knob-label{font:500 10px/1 Inter,system-ui,sans-serif;color:var(--nz-text-dim);letter-spacing:.2px;text-align:center}.noise-node-knob[data-accent=orange] .noise-node-knob-fill{stroke:var(--nz-orange);filter:drop-shadow(0 0 4px rgba(255,155,94,.45))}.noise-node-knob[data-accent=orange] .noise-node-knob-value .num{color:var(--nz-orange)}.noise-node-knob[data-accent=cyan] .noise-node-knob-fill{stroke:var(--nz-cyan);filter:drop-shadow(0 0 4px rgba(94,200,255,.5))}.noise-node-knob[data-accent=cyan] .noise-node-knob-value .num{color:var(--nz-cyan)}.noise-node-seg-row{display:grid;grid-template-columns:1fr;gap:10px}.noise-node-seg-block{display:flex;flex-direction:column}.noise-node-seg-label{font:500 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--nz-text-faint);letter-spacing:1px;margin-bottom:5px}.noise-node-seg{display:flex;background:var(--nz-strip-bg);border-radius:7px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff0a}.noise-node-seg button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--nz-text-dim);font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.6px;padding:6px 0;border-radius:5px;transition:background .12s,color .12s}.noise-node-seg button[data-active=true]{background:#5ec8ff1f;color:var(--nz-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40}.noise-node-port{width:14px!important;height:14px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.noise-node[data-on=true][data-live=true] .noise-node-port{background:var(--nz-cyan)!important;box-shadow:0 0 12px #5ec8ff80!important}.filter-node{--flt-cyan: #5ec8ff;--flt-orange: #ff9b5e;--flt-text: #e6ecf2;--flt-text-dim: rgba(230, 236, 242, .55);--flt-text-faint: rgba(230, 236, 242, .32);--flt-bg: #161b24;--flt-strip-bg: #0c1017;--flt-border: rgba(255, 255, 255, .06);--flt-border-active: rgba(94, 200, 255, .55);width:320px;padding:18px 16px 16px;background:var(--flt-bg);border-radius:16px;box-shadow:inset 0 0 0 1px var(--flt-border),0 8px 24px #00000059;color:var(--flt-text);font-family:Inter,system-ui,sans-serif;position:relative}.filter-node[data-selected=true]{box-shadow:inset 0 0 0 1px var(--flt-border-active),0 8px 24px #00000059,0 0 0 1px var(--flt-border-active)}.filter-node[data-on=false] .filter-node-title{color:var(--flt-text-dim)}.filter-node[data-on=false] .filter-node-icon{opacity:.5}.filter-node[data-on=false] .filter-node-pulse,.filter-node[data-on=false] .filter-node-readout,.filter-node[data-on=false] .filter-node-pill{display:none}.filter-node[data-on=false] .filter-node-knob-row,.filter-node[data-on=false] .filter-node-seg-row{opacity:.4}.filter-node[data-on=false] .filter-node-scope path,.filter-node[data-on=false] .filter-node-scope line{opacity:.4}.filter-node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.filter-node-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.filter-node-title{flex:1;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--flt-text)}.filter-node-toggle{width:38px;height:22px;border-radius:11px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,box-shadow .15s}.filter-node-toggle[data-on=true]{background:var(--flt-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--flt-cyan)}.filter-node-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#3a4453;box-shadow:0 1px 3px #0000004d;transition:left .15s,background .15s}.filter-node-toggle[data-on=true] .filter-node-toggle-knob{left:18px;background:#fff}.filter-node-scope{height:124px;border-radius:10px;background:var(--flt-strip-bg);box-shadow:inset 0 0 0 1px #ffffff08;position:relative;overflow:hidden}.filter-node-scope svg{width:100%;height:100%;display:block}.filter-node-pill{position:absolute;top:9px;left:12px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--flt-text-dim);letter-spacing:1px;padding:3px 6px;border-radius:4px;background:#5ec8ff0f;box-shadow:inset 0 0 0 1px #5ec8ff33}.filter-node-pulse{position:absolute;top:9px;right:12px;display:flex;align-items:center;gap:6px;font:600 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--flt-cyan);letter-spacing:1.2px;opacity:.85}.filter-node-pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--flt-cyan);box-shadow:0 0 6px var(--flt-cyan);animation:bpsk-pulse-blink 1.4s ease-in-out infinite}.filter-node-readout{position:absolute;bottom:9px;display:flex;align-items:baseline;gap:4px;font:500 11px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.3px}.filter-node-readout.l{left:12px;color:var(--flt-text-dim)}.filter-node-readout.r{right:12px}.filter-node-readout .k{color:var(--flt-text-faint)}.filter-node-readout .v{color:var(--flt-cyan);font-weight:600;margin-left:2px}.filter-node-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px/1 JetBrains Mono,ui-monospace,monospace;color:var(--flt-text-faint);letter-spacing:1.6px;background:#0c10178c;border-radius:10px}.filter-node-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:16px 0 14px}.filter-node-knob-row{display:grid;gap:4px}.filter-node-knob-row[data-cols="2"]{grid-template-columns:repeat(2,1fr)}.filter-node-knob-row[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.filter-node-knob{display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 0}.filter-node-knob-dial{width:56px;height:56px;position:relative}.filter-node-knob-dial svg{width:100%;height:100%;display:block;transform:rotate(135deg)}.filter-node-knob-track{fill:none;stroke:#ffffff14;stroke-width:4;stroke-linecap:round}.filter-node-knob-fill{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .1s}.filter-node-knob-pointer{position:absolute;top:50%;left:50%;width:2px;height:18px;background:#fff;border-radius:1px;transform-origin:1px 18px;pointer-events:none;box-shadow:0 0 4px #fff6}.filter-node-knob-center{position:absolute;top:50%;left:50%;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,#2a3140,#14181f);box-shadow:0 1px 3px #0006,inset 0 0 0 1px #ffffff0a;pointer-events:none}.filter-node-knob-value{font:600 12px/1 JetBrains Mono,ui-monospace,monospace;color:var(--flt-text);letter-spacing:.2px;display:flex;align-items:baseline;gap:3px}.filter-node-knob-value .unit{font-size:9px;color:var(--flt-text-faint);font-weight:500}.filter-node-knob-label{font:500 10px/1 Inter,system-ui,sans-serif;color:var(--flt-text-dim);letter-spacing:.2px;text-align:center}.filter-node-knob[data-accent=cyan] .filter-node-knob-fill{stroke:var(--flt-cyan);filter:drop-shadow(0 0 4px rgba(94,200,255,.5))}.filter-node-knob[data-accent=cyan] .filter-node-knob-value .num{color:var(--flt-cyan)}.filter-node-knob[data-accent=orange] .filter-node-knob-fill{stroke:var(--flt-orange);filter:drop-shadow(0 0 4px rgba(255,155,94,.45))}.filter-node-knob[data-accent=orange] .filter-node-knob-value .num{color:var(--flt-orange)}.filter-node-seg-row{display:grid;grid-template-columns:1fr;gap:10px}.filter-node-seg-block{display:flex;flex-direction:column}.filter-node-seg-label{font:500 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--flt-text-faint);letter-spacing:1px;margin-bottom:5px}.filter-node-seg{display:flex;background:var(--flt-strip-bg);border-radius:7px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff0a}.filter-node-seg button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--flt-text-dim);font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.6px;padding:6px 0;border-radius:5px;transition:background .12s,color .12s}.filter-node-seg button[data-active=true]{background:#5ec8ff1f;color:var(--flt-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40}.filter-node-port{width:14px!important;height:14px!important;border-radius:50%!important;background:#e6ecf252!important;border:3px solid var(--canvas, #0b0e13)!important;box-shadow:none!important;transition:background .15s,box-shadow .15s}.filter-node[data-on=true][data-live=true] .filter-node-port{background:var(--flt-cyan)!important;box-shadow:0 0 12px #5ec8ff80!important}[data-theme=light] .lfm-node{--lfm-bg: var(--bg-panel);--lfm-canvas: var(--bg-sunken);--lfm-strip: var(--bg-sunken);--lfm-scope: var(--bg-sunken);--lfm-text: var(--text-primary);--lfm-text-dim: var(--text-secondary);--lfm-text-faint: var(--text-tertiary);--lfm-cyan: var(--icon-cyan);--lfm-green: var(--icon-green);--lfm-amber: var(--icon-amber);--lfm-red: var(--icon-red)}[data-theme=light] .rt-node{--rt-bg: var(--bg-panel);--rt-canvas: var(--bg-sunken);--rt-strip: var(--bg-sunken);--rt-text: var(--text-primary);--rt-text-dim: var(--text-secondary);--rt-text-faint: var(--text-tertiary);--rt-cyan: var(--icon-cyan);--rt-magenta: #C026D3;--rt-red: var(--icon-red);--rt-amber: var(--icon-amber);--rt-green: var(--icon-green)}[data-theme=light] .sum-node{--sum-bg: var(--bg-panel);--sum-canvas: var(--bg-sunken);--sum-text: var(--text-primary);--sum-text-dim: var(--text-secondary);--sum-text-faint: var(--text-tertiary);--sum-cyan: var(--icon-cyan);--sum-orange: var(--icon-orange)}[data-theme=light] .cw-node{--cw-bg: var(--bg-panel);--cw-canvas: var(--bg-sunken);--cw-strip: var(--bg-sunken);--cw-text: var(--text-primary);--cw-text-dim: var(--text-secondary);--cw-text-faint: var(--text-tertiary);--cw-cyan: var(--icon-cyan)}[data-theme=light] .mf-node{--mf-bg: var(--bg-panel);--mf-canvas: var(--bg-sunken);--mf-strip: var(--bg-sunken);--mf-text: var(--text-primary);--mf-text-dim: var(--text-secondary);--mf-text-faint: var(--text-tertiary);--mf-orange: var(--icon-orange)}[data-theme=light] .mfa-node{--mfa-bg: var(--bg-panel);--mfa-canvas: var(--bg-sunken);--mfa-strip: var(--bg-sunken);--mfa-text: var(--text-primary);--mfa-text-dim: var(--text-secondary);--mfa-text-faint: var(--text-tertiary);--mfa-cyan: var(--icon-cyan);--mfa-orange: var(--icon-orange);--mfa-magenta: #C026D3}[data-theme=light] .bpsk-node{--bpsk-bg: var(--bg-panel);--bpsk-canvas: var(--bg-sunken);--bpsk-strip: var(--bg-sunken);--bpsk-text: var(--text-primary);--bpsk-text-dim: var(--text-secondary);--bpsk-text-faint: var(--text-tertiary);--bpsk-cyan: var(--icon-cyan);--bpsk-teal: var(--icon-cyan);--bpsk-green: var(--icon-green);--bpsk-orange: var(--icon-orange)}[data-theme=light] .channel-node{--ch-bg: var(--bg-panel);--ch-strip-bg: var(--bg-sunken);--ch-text: var(--text-primary);--ch-text-dim: var(--text-secondary);--ch-text-faint: var(--text-tertiary);--ch-border: var(--border-default);--ch-border-active: rgba(8, 145, 178, .55);--ch-cyan: var(--icon-cyan);--ch-orange: var(--icon-orange);--ch-green: var(--icon-green)}[data-theme=light] .big-sink-node{--bsn-bg: var(--bg-panel);--bsn-strip-bg: var(--bg-sunken);--bsn-text: var(--text-primary);--bsn-text-dim: var(--text-secondary);--bsn-text-faint: var(--text-tertiary);--bsn-border: var(--border-default);--bsn-border-active: rgba(8, 145, 178, .55);--bsn-cyan: var(--icon-cyan)}[data-theme=light] .mti-node{--mti-bg: var(--bg-panel);--mti-strip-bg: var(--bg-sunken);--mti-text: var(--text-primary);--mti-text-dim: var(--text-secondary);--mti-text-faint: var(--text-tertiary);--mti-border: var(--border-default);--mti-border-active: rgba(8, 145, 178, .55);--mti-cyan: var(--icon-cyan);--mti-orange: var(--icon-orange)}[data-theme=light] .small-sink-node{--ssn-bg: var(--bg-panel);--ssn-strip-bg: var(--bg-sunken);--ssn-text: var(--text-primary);--ssn-text-dim: var(--text-secondary);--ssn-text-faint: var(--text-tertiary);--ssn-border: var(--border-default);--ssn-cyan: var(--icon-cyan);--ssn-orange: var(--icon-orange);--ssn-green: var(--icon-green);--ssn-magenta: #C026D3;--ssn-accent-rgba: 8, 145, 178}[data-theme=light] .noise-node{--nz-bg: var(--bg-panel);--nz-strip-bg: var(--bg-sunken);--nz-text: var(--text-primary);--nz-text-dim: var(--text-secondary);--nz-text-faint: var(--text-tertiary);--nz-border: var(--border-default);--nz-border-active: rgba(8, 145, 178, .55);--nz-cyan: var(--icon-cyan);--nz-orange: var(--icon-orange)}[data-theme=light] .filter-node{--flt-bg: var(--bg-panel);--flt-strip-bg: var(--bg-sunken);--flt-text: var(--text-primary);--flt-text-dim: var(--text-secondary);--flt-text-faint: var(--text-tertiary);--flt-border: var(--border-default);--flt-border-active: rgba(8, 145, 178, .55);--flt-cyan: var(--icon-cyan);--flt-orange: var(--icon-orange)}[data-theme=light] .lfm-node-icon,[data-theme=light] .rt-node-icon,[data-theme=light] .cw-node-icon,[data-theme=light] .mf-node-icon,[data-theme=light] .mfa-node-icon,[data-theme=light] .bpsk-node-icon,[data-theme=light] .channel-node-icon,[data-theme=light] .big-sink-node-icon,[data-theme=light] .mti-node-icon,[data-theme=light] .small-sink-node-icon{background:linear-gradient(135deg,var(--bg-sunken) 0%,var(--border-hairline) 100%);box-shadow:inset 0 0 0 1px var(--border-default)}.bpsk-node{--bpsk-canvas: #0b0e13;--bpsk-bg: #161b24;--bpsk-strip: #0c0f14;--bpsk-text: #e6ecf2;--bpsk-text-dim: rgba(230, 236, 242, .55);--bpsk-text-faint: rgba(230, 236, 242, .32);--bpsk-cyan: #5ec8ff;--bpsk-teal: #5fd9d4;--bpsk-orange: #ff9b5e;--bpsk-green: #6ee7a8;position:relative;width:340px;margin-bottom:24px;padding:14px 16px 12px;border-radius:16px;background:var(--bpsk-bg);color:var(--bpsk-text);font-family:Inter,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff0f,0 8px 24px #00000059;overflow:visible;transition:box-shadow .18s ease-out}.bpsk-cat-sink,.bpsk-node[data-kind=symbol_sampler]{margin-bottom:44px}.bpsk-node[data-selected=true]{box-shadow:inset 0 0 0 1px #5ec8ff8c,0 8px 24px #00000059,0 0 0 1px #5ec8ff8c}.bpsk-cat-sink[data-selected=true]{box-shadow:inset 0 0 0 1px #6ee7a88c,0 8px 24px #00000059,0 0 0 1px #6ee7a88c}.bpsk-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.bpsk-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,#1a1f2b,#0e1218);box-shadow:inset 0 0 0 1px #5ec8ff1f}.bpsk-cat-sink .bpsk-icon{box-shadow:inset 0 0 0 1px #6ee7a82e}.bpsk-title{flex:1;min-width:0;font-size:14px;font-weight:600;letter-spacing:-.15px;color:var(--bpsk-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpsk-cat{font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.12em;padding:3px 6px;border-radius:4px;color:var(--bpsk-text-dim);background:#ffffff0a;flex-shrink:0}.bpsk-cat-sink .bpsk-cat{color:var(--bpsk-green);background:#6ee7a814}.bpsk-toggle{width:36px;height:20px;border-radius:10px;position:relative;cursor:pointer;flex-shrink:0;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0d;transition:background .15s ease-out,box-shadow .15s ease-out}.bpsk-toggle-cyan[data-on=true]{background:var(--bpsk-cyan);box-shadow:0 0 12px #5ec8ff59,inset 0 0 0 1px var(--bpsk-cyan)}.bpsk-toggle-green[data-on=true]{background:var(--bpsk-green);box-shadow:0 0 12px #6ee7a859,inset 0 0 0 1px var(--bpsk-green)}.bpsk-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#3a4453;box-shadow:0 1px 2px #00000040;transition:left .15s ease-out,background .15s ease-out}.bpsk-toggle[data-on=true] .bpsk-toggle-knob{left:18px;background:#fff}.bpsk-scope{position:relative;border-radius:10px;background:var(--bpsk-strip);box-shadow:inset 0 0 0 1px #ffffff0a;overflow:hidden}.bpsk-scope-tiny{height:64px}.bpsk-scope-medium{height:134px}.bpsk-scope svg{width:100%;height:100%;display:block}.bpsk-scope-readout-l,.bpsk-scope-readout-r,.bpsk-scope-readout-tr{position:absolute;font:500 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em;color:#5fd9d48c}.bpsk-scope-readout-l{left:12px;bottom:8px}.bpsk-scope-readout-r{right:12px;bottom:8px}.bpsk-scope-readout-tr{right:12px;top:8px}.bpsk-scope-readout-l b,.bpsk-scope-readout-r b,.bpsk-scope-readout-tr b{color:var(--bpsk-teal);font-weight:600}[data-theme=light] .bpsk-scope-readout-l,[data-theme=light] .bpsk-scope-readout-r,[data-theme=light] .bpsk-scope-readout-tr{color:#0d6e7ab3}.bpsk-scope-bypass{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:600 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.16em;color:#e6ecf28c;background:#0c10178c}.bpsk-node[data-on=false] .bpsk-scope svg{opacity:.35}[data-theme=light] .bpsk-scope-bypass{color:var(--text-secondary);background:#f2f0e9a6}.bpsk-divider{height:1px;margin:14px 0 12px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.bpsk-knob-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.bpsk-slider-row{margin-top:14px}.bpsk-slider-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.bpsk-slider-lbl{font:500 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--bpsk-text-faint)}.bpsk-slider-val{font:600 14px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--bpsk-orange);display:inline-flex;align-items:baseline;gap:4px}.bpsk-slider-unit{font-size:9px;font-weight:500;color:var(--bpsk-text-faint)}.bpsk-slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;background:transparent;cursor:pointer}.bpsk-slider-input::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#ffffff0f}.bpsk-slider-input::-moz-range-track{height:4px;border-radius:2px;background:#ffffff0f}.bpsk-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006,0 0 0 3px #ff9b5e2e}.bpsk-slider-input::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006,0 0 0 3px #ff9b5e2e}[data-theme=light] .bpsk-slider-input::-webkit-slider-runnable-track,[data-theme=light] .bpsk-slider-input::-moz-range-track{background:#1c1a142e}.bpsk-slider-axis{position:relative;margin:0 8px}.bpsk-slider-ticks{position:relative;height:6px;margin-top:2px;pointer-events:none}.bpsk-slider-tick{position:absolute;top:0;width:1px;height:6px;background:#ffffff38;border-radius:.5px;transform:translate(-50%)}.bpsk-slider-tick.is-active{background:var(--bpsk-orange);width:2px;box-shadow:0 0 4px #ff9b5e8c}[data-theme=light] .bpsk-slider-tick{background:#1c1a1452}[data-theme=light] .bpsk-slider-tick.is-active{background:var(--icon-orange);box-shadow:0 0 4px #c46a2a73}.bpsk-node .react-flow__handle.bpsk-port{width:12px;height:12px;border-radius:50%;background:#e6ecf252;border:none;box-shadow:0 0 0 3px var(--bpsk-canvas);top:50%}.bpsk-node .react-flow__handle.bpsk-port-in{left:-6px}.bpsk-node .react-flow__handle.bpsk-port-out{right:-6px}.bpsk-node[data-on=true] .react-flow__handle.bpsk-port-out{background:var(--bpsk-cyan);box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 16px #5ec8ff80}.bpsk-node[data-on=true] .react-flow__handle.bpsk-port-in{background:#e6ecf28c;box-shadow:0 0 0 3px var(--bpsk-canvas)}.bpsk-cat-sink[data-on=true] .react-flow__handle.bpsk-port-in{background:var(--bpsk-green);box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #6ee7a873}.bpsk-node .react-flow__handle.bpsk-port.bpsk-port-iq{background:#5ec8ff!important;box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #5ec8ff8c!important}.bpsk-node .react-flow__handle.bpsk-port.bpsk-port-bits{background:#6ee7a8!important;box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #6ee7a88c!important}.bpsk-node .react-flow__handle.bpsk-port.bpsk-port-real{background:#ff9b5e!important;box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #ff9b5e8c!important}.bpsk-node .react-flow__handle.bpsk-port.bpsk-port-bundle{background:#c79bff!important;box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #c79bff8c!important}.bpsk-rate-tag.bpsk-rate-iq{color:#5ec8ff;box-shadow:inset 0 0 0 1px #5ec8ff59}.bpsk-rate-tag.bpsk-rate-bits{color:#6ee7a8;box-shadow:inset 0 0 0 1px #6ee7a859}.bpsk-rate-tag.bpsk-rate-real{color:#ff9b5e;box-shadow:inset 0 0 0 1px #ff9b5e59}.bpsk-rate-tag.bpsk-rate-bundle{color:#c79bff;box-shadow:inset 0 0 0 1px #c79bff59}[data-theme=light] .bpsk-rate-tag.bpsk-rate-iq{color:#1c92a3;box-shadow:inset 0 0 0 1px #0891b266}[data-theme=light] .bpsk-rate-tag.bpsk-rate-bits{color:#3a9d5a;box-shadow:inset 0 0 0 1px #3a9d5a66}[data-theme=light] .bpsk-rate-tag.bpsk-rate-real{color:#c46a2a;box-shadow:inset 0 0 0 1px #c46a2a66}[data-theme=light] .bpsk-rate-tag.bpsk-rate-bundle{color:#8c5fb8;box-shadow:inset 0 0 0 1px #8c5fb866}.bpsk-rate-tag{position:absolute;font:600 8.5px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.08em;padding:3px 6px;border-radius:3px;color:#e6ecf2c7;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff14;pointer-events:none;white-space:nowrap}[data-theme=light] .bpsk-rate-tag{color:var(--text-primary);background:var(--bg-panel);box-shadow:inset 0 0 0 1px var(--border-default)}.bpsk-rate-out{right:-6px;top:calc(100% + 6px)}.bpsk-rate-in,.bpsk-rate-in-top{left:-6px;top:calc(100% + 6px)}.bpsk-rate-in-bot{left:-6px;top:calc(100% + 24px)}.bpsk-rate-out-top{right:-6px;top:calc(100% + 6px)}.bpsk-rate-out-bot{right:-6px;top:calc(100% + 24px)}.bpsk-ber-readout{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:14px;border-radius:10px;background:var(--bpsk-strip);box-shadow:inset 0 0 0 1px #ffffff0a}.bpsk-ber-lbl{font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.12em;color:#6ee7a8b3;display:inline-flex;align-items:center;gap:8px}.bpsk-ber-dot{width:5px;height:5px;border-radius:50%;background:var(--bpsk-green);box-shadow:0 0 4px var(--bpsk-green);animation:bpsk-blink 1.4s ease-in-out infinite}.bpsk-ber-num{font:700 30px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:-1px;color:var(--bpsk-orange)}.bpsk-ber-sub{font:500 10px/1.45 JetBrains Mono,ui-monospace,Menlo,monospace;color:#e6ecf26b;letter-spacing:.02em}.bpsk-ber-sub b{font-weight:600;color:#e6ecf2a6}.bpsk-ber-sep{color:#e6ecf238;margin:0 5px}.bpsk-ber-readout[data-state=grey] .bpsk-ber-num{color:#e6ecf26b}.bpsk-ber-readout[data-state=green] .bpsk-ber-num{color:var(--bpsk-green)}.bpsk-ber-readout[data-state=amber] .bpsk-ber-num{color:var(--bpsk-orange)}.bpsk-ber-readout[data-state=red] .bpsk-ber-num{color:#f06868}@keyframes bpsk-blink{0%,to{opacity:1}50%{opacity:.45}}.bpsk-svg-axis{stroke:#ffffff2e}.bpsk-svg-tick{stroke:#ffffff40}.bpsk-svg-tick-strong{stroke:#ffffff59}.bpsk-svg-grid{stroke:#ffffff1a}.bpsk-svg-grid-soft{stroke:#ffffff0f}.bpsk-svg-text-mid{fill:#ffffff4d}.bpsk-svg-text-accent,.bpsk-svg-dot-inner{fill:#5fd9d4a6}.bpsk-svg-dot-outer{fill:#5fd9d42e}.bpsk-svg-accent-fill{fill:#5fd9d4a6}.bpsk-svg-accent-stroke{stroke:#5fd9d4a6}.bpsk-svg-accent-stroke-dim{stroke:#5fd9d44d}[data-theme=light] .bpsk-svg-axis{stroke:#1f1d186b}[data-theme=light] .bpsk-svg-tick{stroke:#1f1d1852}[data-theme=light] .bpsk-svg-tick-strong{stroke:#1f1d189e}[data-theme=light] .bpsk-svg-grid{stroke:#1f1d182e}[data-theme=light] .bpsk-svg-grid-soft{stroke:#1f1d181a}[data-theme=light] .bpsk-svg-text-mid{fill:#1f1d188c}[data-theme=light] .bpsk-svg-text-accent,[data-theme=light] .bpsk-svg-dot-inner{fill:#0d6e7a}[data-theme=light] .bpsk-svg-dot-outer{fill:#1c92a333}[data-theme=light] .bpsk-svg-accent-fill{fill:#0d6e7a}[data-theme=light] .bpsk-svg-accent-stroke{stroke:#0d6e7a}[data-theme=light] .bpsk-svg-accent-stroke-dim{stroke:#0d6e7a80}.bpsk-cat-source .bpsk-icon{box-shadow:inset 0 0 0 1px #5ec8ff2e}.bpsk-cat-source .bpsk-cat{color:#5ec8ffbf;background:#5ec8ff14}[data-theme=light] .bpsk-cat-source .bpsk-cat{color:var(--icon-cyan);background:#0891b21a}.bpsk-cat-source[data-on=true] .react-flow__handle.bpsk-port-out{background:var(--bpsk-cyan);box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #5ec8ff73}.bpsk-seg-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.bpsk-seg-block{display:flex;flex-direction:column}.bpsk-seg-label{font:500 9px/1 JetBrains Mono,ui-monospace,monospace;color:var(--bpsk-text-faint);letter-spacing:.1em;margin-bottom:5px}.bpsk-seg{display:flex;background:var(--bpsk-strip);border-radius:7px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff0a}[data-theme=light] .bpsk-seg{box-shadow:inset 0 0 0 1px var(--border-default)}.bpsk-seg button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--bpsk-text-dim);font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.06em;padding:6px 0;border-radius:5px;transition:background .12s,color .12s}.bpsk-seg button[data-active=true]{background:#5ec8ff24;color:var(--bpsk-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40}[data-theme=light] .bpsk-seg button[data-active=true]{background:#0891b21a;color:var(--icon-cyan);box-shadow:inset 0 0 0 1px #0891b24d}.bpsk-node[data-on=false] .bpsk-seg-row{opacity:.4;pointer-events:none}.bpsk-seg-block[data-disabled=true]{opacity:.45;pointer-events:none}.bpsk-seg-block[data-disabled=true] .bpsk-seg{cursor:not-allowed}.bpsk-seg button:disabled{cursor:not-allowed}.bpsk-cat-instrument .bpsk-popbtn{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;cursor:pointer;border:0;flex-shrink:0;background:#5ec8ff1a;color:var(--bpsk-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40;padding:0}.bpsk-cat-instrument .bpsk-popbtn:hover{background:#5ec8ff2e}.bpsk-cat-instrument .bpsk-popbtn svg{width:11px;height:11px}[data-theme=light] .bpsk-cat-instrument .bpsk-popbtn{background:#0891b21f;box-shadow:inset 0 0 0 1px #0891b259}.bpsk-cat-instrument[data-selected=true]{box-shadow:inset 0 0 0 1px #5ec8ff8c,0 8px 24px #00000059,0 0 0 1px #5ec8ff8c}.bpsk-cat-instrument .bpsk-icon{box-shadow:inset 0 0 0 1px #5ec8ff2e}.bpsk-cat-instrument .bpsk-cat{color:#5ec8ffbf;background:#5ec8ff14}[data-theme=light] .bpsk-cat-instrument .bpsk-cat{color:var(--icon-cyan);background:#0891b21a}.bpsk-cat-instrument[data-on=true] .react-flow__handle.bpsk-port-in{background:var(--bpsk-cyan);box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 14px #5ec8ff73}.bpsk-scope-mini{height:152px}.bpsk-scope-square{aspect-ratio:1;height:auto}.bpsk-sink-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.bpsk-mini-pill{position:absolute;top:8px;left:10px;font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.1em;padding:3px 6px;border-radius:4px;color:#5fd9d4d9;background:#5fd9d40f;box-shadow:inset 0 0 0 1px #5fd9d440;pointer-events:none}.bpsk-mini-pulse{position:absolute;top:8px;right:10px;display:inline-flex;align-items:center;gap:5px;font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.12em;color:#5fd9d4;pointer-events:none}.bpsk-mini-pulse-dot{width:5px;height:5px;border-radius:50%;background:#5fd9d4;box-shadow:0 0 6px #5fd9d4;animation:bpsk-blink 1.4s ease-in-out infinite}.bpsk-mini-readout{position:absolute;bottom:7px;font:500 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em;color:#5fd9d48c;pointer-events:none}.bpsk-mini-readout.l{left:10px}.bpsk-mini-readout.r{right:10px}.bpsk-mini-readout .v{color:#5fd9d4;font-weight:600}.bpsk-mini-readout .u{color:#5fd9d473;margin-left:3px;font-size:9px}[data-theme=light] .bpsk-cat-source .bpsk-mini-pill{color:#0d6e7a;background:#0d6e7a14;box-shadow:inset 0 0 0 1px #0d6e7a4d}[data-theme=light] .bpsk-cat-source .bpsk-mini-readout{color:#0d6e7aa6}[data-theme=light] .bpsk-cat-source .bpsk-mini-readout .v{color:#0d6e7a}[data-theme=light] .bpsk-cat-source .bpsk-mini-readout .u{color:#0d6e7a8c}[data-theme=light] .bpsk-cat-instrument[data-kind=eye_diagram] .bpsk-mini-pill{color:#0d6e7a;background:#0d6e7a14;box-shadow:inset 0 0 0 1px #0d6e7a4d}[data-theme=light] .bpsk-cat-instrument[data-kind=eye_diagram] .bpsk-mini-pulse{color:#0d6e7a}[data-theme=light] .bpsk-cat-instrument[data-kind=eye_diagram] .bpsk-mini-pulse-dot{background:#0d6e7a;box-shadow:0 0 6px #0d6e7a8c}[data-theme=light] .bpsk-cat-instrument[data-kind=eye_diagram] .bpsk-mini-readout{color:#0d6e7aa6}[data-theme=light] .bpsk-cat-instrument[data-kind=eye_diagram] .bpsk-mini-readout .v{color:#0d6e7a}[data-theme=light] .bpsk-cat-instrument[data-kind=eye_diagram] .bpsk-mini-readout .u{color:#0d6e7a8c}.bpsk-scope-mso{height:124px}[data-theme=light] .bpsk-cat-instrument[data-kind=mso] .bpsk-mini-pill{color:#0d6e7a;background:#0d6e7a14;box-shadow:inset 0 0 0 1px #0d6e7a4d}[data-theme=light] .bpsk-cat-instrument[data-kind=mso] .bpsk-mini-pulse{color:#0d6e7a}[data-theme=light] .bpsk-cat-instrument[data-kind=mso] .bpsk-mini-pulse-dot{background:#0d6e7a;box-shadow:0 0 6px #0d6e7a8c}.mso-win{--mso-cyan: #5ec8ff;--mso-amber: #ff9b5e;--mso-violet: #c79bff;--mso-screen: #06070d;--mso-bg: #14181f;--mso-line: rgba(255, 255, 255, .06);--mso-text: #e6ecf2;--mso-mute: rgba(230, 236, 242, .55);--mso-dim: rgba(230, 236, 242, .32);display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--mso-bg);color:var(--mso-text);font-family:Inter,system-ui,sans-serif;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 24px 60px -20px #0000008c}[data-theme=light] .mso-win{--mso-cyan: #1c92a3;--mso-amber: #c46a2a;--mso-violet: #8c5fb8;--mso-screen: #fbfaf6;--mso-bg: #ffffff;--mso-line: #e3dfd0;--mso-text: #1f1d18;--mso-mute: #6b6557;--mso-dim: #968f7e;box-shadow:inset 0 0 0 1px var(--mso-line),0 24px 50px -20px #1f1d182e}.mso-titlebar{height:36px;display:flex;align-items:center;gap:12px;padding:0 14px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);border-bottom:1px solid var(--mso-line);flex-shrink:0}[data-theme=light] .mso-titlebar{background:linear-gradient(180deg,#fafaf3,#f5f2e8)}.mso-traffic{display:flex;gap:7px}.mso-traffic span{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 .5px #00000073}.mso-traffic span:nth-child(1){background:#ff5f57}.mso-traffic span:nth-child(2){background:#febc2e}.mso-traffic span:nth-child(3){background:#28c840}.mso-title{flex:1;text-align:center;font:600 12px/1 Inter,system-ui,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--mso-text)}.mso-livedot{width:6px;height:6px;border-radius:50%;background:#6ee7a8;box-shadow:0 0 6px #6ee7a8;animation:bpsk-blink 1.4s ease-in-out infinite}.mso-livedot.is-paused{background:var(--mso-amber);box-shadow:0 0 6px var(--mso-amber);animation:none}[data-theme=light] .mso-livedot{background:#3a9d5a;box-shadow:0 0 6px #3a9d5a80}.mso-meta{font:500 10px/1 JetBrains Mono,monospace;letter-spacing:.04em;color:var(--mso-dim)}.mso-toolbar{height:42px;display:flex;align-items:center;gap:14px;padding:0 14px;background:#0000002e;border-bottom:1px solid var(--mso-line);flex-shrink:0}[data-theme=light] .mso-toolbar{background:#fafaf3}.mso-run-grp{display:flex;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--mso-line)}.mso-run-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:0 10px;height:26px;display:inline-flex;align-items:center;gap:6px;font:600 10px/1 JetBrains Mono,monospace;letter-spacing:.06em;background:transparent;color:var(--mso-mute)}.mso-run-btn.is-live{background:#6ee7a81a;color:#6ee7a8;box-shadow:inset 0 0 0 1px #6ee7a840}.live-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:0;border-radius:4px;cursor:pointer;font:600 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.04em;color:#6ee7a8;background:#6ee7a81a;box-shadow:inset 0 0 0 1px #6ee7a840;transition:filter .12s ease;flex-shrink:0}.live-chip:hover{filter:brightness(1.12)}.live-chip.is-paused{color:#9cc8f5;background:#87b4e61a;box-shadow:inset 0 0 0 1px #87b4e640}[data-theme=light] .live-chip{color:#2f8d4f;background:#e3efde;box-shadow:inset 0 0 0 1px #c8dec0}[data-theme=light] .live-chip.is-paused{color:#3565a0;background:#e2ecf5;box-shadow:inset 0 0 0 1px #c2d4e6}.live-chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor;animation:live-glow 1.6s ease-in-out infinite}.live-chip.is-paused .live-chip-dot{animation:none;box-shadow:none;opacity:.65}.mso-run-btn.is-frozen{background:#87b4e61a;color:#9cc8f5;box-shadow:inset 0 0 0 1px #87b4e640}[data-theme=light] .mso-run-btn.is-live{background:#e3efde;color:#3a9d5a;box-shadow:inset 0 0 0 1px #c8dec0}[data-theme=light] .mso-run-btn.is-frozen{background:#e2ecf5;color:#3565a0;box-shadow:inset 0 0 0 1px #c2d4e6}.mso-tb-divider{width:1px;height:22px;background:var(--mso-line)}.mso-knob-mini{display:inline-flex;align-items:center;gap:8px;font:500 10px/1 JetBrains Mono,monospace}.mso-knob-lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--mso-dim)}.mso-knob-val{font-weight:600;display:inline-flex;align-items:baseline;gap:3px;padding:4px 8px;border-radius:5px;color:var(--mso-amber);background:#ff9b5e14;box-shadow:inset 0 0 0 1px #ff9b5e2e}[data-theme=light] .mso-knob-val{color:#c46a2a;background:#f6ebe0;box-shadow:inset 0 0 0 1px #ead8c5}.mso-knob-val input{width:48px;background:transparent;border:0;color:inherit;font:inherit;text-align:right;outline:none}.mso-knob-val .u{font-size:8.5px;font-weight:500;color:#ff9b5e8c}[data-theme=light] .mso-knob-val .u{color:#c46a2a8c}.mso-knob-val-static{padding:4px 8px}.mso-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;width:26px;height:26px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--mso-mute)}.mso-icon-btn:hover{background:#ffffff0f;color:var(--mso-text)}.mso-icon-btn.is-active{background:#5ec8ff1a;color:var(--mso-cyan);box-shadow:inset 0 0 0 1px #5ec8ff40}[data-theme=light] .mso-icon-btn:hover{background:#f0eadd;color:var(--mso-text)}[data-theme=light] .mso-icon-btn.is-active{background:#d8eef0;box-shadow:inset 0 0 0 1px #aedbe1}.mso-host{position:relative;flex:1;min-height:0;background:var(--mso-screen);display:flex;flex-direction:column}.mso-row{display:grid;grid-template-columns:84px 1fr;flex-shrink:0}.mso-gutter{background:#0000004d;border-right:1px solid var(--mso-line);display:flex;flex-direction:column;justify-content:space-around;padding:8px 10px;overflow:hidden}.mso-gutter-resize{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:5;background:transparent;transition:background .12s ease}.mso-gutter-resize:hover,.mso-gutter-resize:active{background:#78b4ff38}[data-theme=light] .mso-gutter-resize:hover,[data-theme=light] .mso-gutter-resize:active{background:#1c92a338}.mso-gutter.mso-gutter-resizable{justify-content:flex-start;padding:8px 10px 0}.mso-lane-splitter{flex:0 0 6px;margin:0 -10px;cursor:row-resize;background:transparent;position:relative;z-index:2}.mso-lane-block{display:flex;flex-direction:column;gap:4px}.mso-iq-row{display:flex;align-items:center;gap:8px;overflow:hidden}.mso-iq-splitter{flex:0 0 4px;margin:0 -10px;cursor:row-resize;background:transparent;position:relative;z-index:2}.mso-iq-splitter:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:1px;transform:translate(-50%,-50%);border-radius:1px;background:#ffffff14}[data-theme=light] .mso-iq-splitter:after{background:#1f1d182e}.mso-iq-splitter:hover{background:#5ec8ff1a}.mso-iq-splitter:hover:after{background:var(--mso-cyan, #5ec8ff);height:2px}.mso-lane-splitter:after{content:"";position:absolute;left:50%;top:50%;width:24px;height:2px;transform:translate(-50%,-50%);border-radius:2px;background:#ffffff1a}[data-theme=light] .mso-lane-splitter:after{background:#d6d1c2}.mso-lane-splitter:hover{background:#5ec8ff1a}.mso-lane-splitter:hover:after{background:var(--mso-cyan, #5ec8ff)}[data-theme=light] .mso-gutter{background:#f6f4ec}.mso-gutter-ruler{flex-direction:row;align-items:center;justify-content:space-between;padding:0 10px;font:600 9px/1 JetBrains Mono,monospace;letter-spacing:.08em;color:var(--mso-dim)}.mso-gutter-ruler .mso-ttag{color:var(--mso-cyan);font-weight:700}.mso-canvas-cell{position:relative}.mso-canvas-cell canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.mso-ch-row{display:flex;align-items:center;gap:8px}.mso-ch-chip{width:4px;height:28px;border-radius:2px;flex-shrink:0}.mso-ch-cyan{background:var(--mso-cyan);box-shadow:0 0 8px #5ec8ff66}.mso-ch-amber{background:var(--mso-amber);box-shadow:0 0 8px #ff9b5e59}.mso-ch-violet{background:var(--mso-violet);box-shadow:0 0 8px #c79bff59}[data-theme=light] .mso-ch-cyan,[data-theme=light] .mso-ch-amber,[data-theme=light] .mso-ch-violet{box-shadow:none}.mso-ch-name{font:700 10px/1 JetBrains Mono,monospace;letter-spacing:.06em;color:var(--mso-text)}.mso-ch-scale{margin-top:4px;font:500 9px/1 JetBrains Mono,monospace;color:var(--mso-dim)}.mso-row-divider{display:flex;align-items:center;position:relative;background:#0000004d;border-top:1px solid var(--mso-line);border-bottom:1px solid var(--mso-line);flex-shrink:0}.mso-row-divider.is-draggable{cursor:row-resize;-webkit-user-select:none;user-select:none}.mso-row-divider.is-draggable:hover{background:#5ec8ff1a}.mso-row-divider.is-draggable:hover .mso-grip{background:var(--mso-cyan, #5ec8ff)}[data-theme=light] .mso-row-divider{background:#f6f4ec}.mso-pane-label{position:absolute;left:8px;font:700 8px/1 JetBrains Mono,monospace;letter-spacing:.15em;color:var(--mso-mute)}.mso-grip{position:absolute;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:2px;background:#ffffff1a}[data-theme=light] .mso-grip{background:#d6d1c2}.mso-cursor-readout{position:absolute;right:6px;top:8px;display:flex;flex-direction:column;gap:2px;padding:4px 6px;border-radius:4px;font:600 9px/1.2 JetBrains Mono,monospace;background:#06070db3;pointer-events:none;z-index:4}[data-theme=light] .mso-cursor-readout{background:#fbfaf6e0;box-shadow:inset 0 0 0 1px #ece9dd}.mso-cursor-readout span{color:var(--mso-dim)}.mso-cursor-readout b{font-weight:700}.mso-shared-cursor{position:absolute;top:0;bottom:0;width:0;pointer-events:none;z-index:5}.mso-cursor-line{position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--mso-amber);box-shadow:0 0 6px #ff9b5e8c}[data-theme=light] .mso-cursor-line{box-shadow:0 0 4px #c46a2a66}.mso-cursor-handle{position:absolute;top:2px;left:-7px;width:14px;height:14px;background:var(--mso-amber);border-radius:3px;display:flex;align-items:center;justify-content:center;color:#06070d;font:700 9px/1 JetBrains Mono,monospace}[data-theme=light] .mso-cursor-handle{color:#fff}.mso-cursor-ttag{position:absolute;top:22px;left:6px;font:600 9px/1 JetBrains Mono,monospace;letter-spacing:.04em;color:var(--mso-amber);background:#06070dcc;padding:2px 5px;border-radius:3px;white-space:nowrap}[data-theme=light] .mso-cursor-ttag{background:#fbfaf6d9;box-shadow:inset 0 0 0 1px #ead8c5}.mso-status{height:30px;display:flex;align-items:center;gap:16px;padding:0 14px;background:#0000002e;border-top:1px solid var(--mso-line);font:500 10px/1 JetBrains Mono,monospace;letter-spacing:.04em;color:var(--mso-mute);flex-shrink:0}[data-theme=light] .mso-status{background:#fafaf3}.mso-status-item,.mso-status-cursor{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.mso-status-item .lbl,.mso-status-cursor .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--mso-dim)}.mso-status-item b{font-weight:700;color:var(--mso-text)}.mso-status-cursor,.mso-status-cursor b{color:var(--mso-amber)}.mso-status-spacer{flex:1}.mso-lane-block{display:flex;flex-direction:column;justify-content:space-around;padding:8px 10px;border-bottom:1px solid var(--mso-line);position:relative}.mso-lane-block:last-child{border-bottom:0}.mso-lane-delay-cell{position:relative;margin-top:6px}.mso-lane-delay-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border:0;border-radius:4px;cursor:pointer;font:600 10px/1.1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.01em;background:#ff9b5e1f;color:var(--mso-amber);box-shadow:inset 0 0 0 1px #ff9b5e38;transition:background .12s ease,box-shadow .12s ease;align-self:flex-start}.mso-lane-delay-pill:hover{background:#ff9b5e33;box-shadow:inset 0 0 0 1px #ff9b5e66}.mso-lane-delay-pill.is-open{background:#ff9b5e3d;box-shadow:inset 0 0 0 1px var(--mso-amber)}.mso-lane-delay-pill.is-zero{color:#ff9b5ea6;background:#ff9b5e0f;box-shadow:inset 0 0 0 1px #ff9b5e24}[data-theme=light] .mso-lane-delay-pill{color:#b95f25;background:#f6e7d6;box-shadow:inset 0 0 0 1px #ead2b7}[data-theme=light] .mso-lane-delay-pill:hover{background:#f0d9bf;box-shadow:inset 0 0 0 1px #d6b288}[data-theme=light] .mso-lane-delay-pill.is-open{background:#ebcfae;box-shadow:inset 0 0 0 1px #b95f25}[data-theme=light] .mso-lane-delay-pill.is-zero{color:#b48565;background:#f6efe5;box-shadow:inset 0 0 0 1px #ead8c5}.mso-delay-popover{z-index:1000;width:380px;box-sizing:border-box;padding:12px;background:#14181f;color:#e6ecf2;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 40px -12px #0000008c;display:flex;flex-direction:column;gap:10px}.mso-delay-popover *{box-sizing:border-box}.mso-delay-popover .mso-delay-pop-h.is-draggable{cursor:move;-webkit-user-select:none;user-select:none}[data-theme=light] .mso-delay-popover{background:#fff;color:#1f1d18;box-shadow:inset 0 0 0 1px #e3dfd0,0 18px 40px -12px #1f1d1838}[data-theme=light] .mso-delay-popover{box-shadow:inset 0 0 0 1px var(--mso-line),0 12px 28px -8px #1f1d182e}.mso-delay-pop-h{display:flex;justify-content:space-between;align-items:center;font:600 11px/1 Inter,system-ui,sans-serif;color:var(--mso-text)}.mso-delay-pop-x{width:20px;height:20px;border:0;background:transparent;cursor:pointer;border-radius:4px;color:var(--mso-mute);font:600 16px/1 Inter,system-ui,sans-serif}.mso-delay-pop-x:hover{background:#ffffff0f;color:var(--mso-text)}[data-theme=light] .mso-delay-pop-x:hover{background:var(--bg-sunken)}.mso-delay-pop-row{display:flex;gap:4px;align-items:center}.mso-delay-pop-input{flex:1 1 0;min-width:0;padding:6px 8px;font:700 13px/1 JetBrains Mono,monospace;text-align:center;background:#ff9b5e14;border:0;border-radius:5px;color:var(--mso-amber);box-shadow:inset 0 0 0 1px var(--mso-amber);outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.mso-delay-pop-nudge{flex-shrink:0}.mso-delay-pop-input::-webkit-outer-spin-button,.mso-delay-pop-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[data-theme=light] .mso-delay-pop-input{color:#c46a2a;background:#f6ebe0;box-shadow:inset 0 0 0 1px #c46a2a}.mso-delay-pop-nudge{padding:6px 8px;border:0;background:#ffffff0a;color:var(--mso-mute);font:600 10px/1 JetBrains Mono,monospace;border-radius:4px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--mso-line)}.mso-delay-pop-nudge:hover{background:#ffffff14;color:var(--mso-text)}[data-theme=light] .mso-delay-pop-nudge{background:var(--bg-sunken)}[data-theme=light] .mso-delay-pop-nudge:hover{background:#f0eadd;color:var(--mso-text)}.mso-delay-pop-reset{color:var(--mso-amber);font-weight:700}[data-theme=light] .mso-delay-pop-reset{color:#c46a2a}.mso-delay-pop-slider{width:100%;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.mso-delay-pop-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#ff9b5e2e}.mso-delay-pop-slider::-moz-range-track{height:4px;border-radius:2px;background:#ff9b5e2e}.mso-delay-pop-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--mso-amber);margin-top:-5px;border:0;box-shadow:0 1px 3px #00000059,0 0 0 2px #ff9b5e33}.mso-delay-pop-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--mso-amber);border:0;box-shadow:0 1px 3px #00000059,0 0 0 2px #ff9b5e33}.mso-delay-pop-foot{display:flex;justify-content:space-between;font:500 9px/1 JetBrains Mono,monospace;letter-spacing:.06em;color:var(--mso-dim)}.mso-delay-pop-math{margin-top:4px;padding:8px 10px;border-radius:5px;font:500 10px/1.45 JetBrains Mono,monospace;color:var(--mso-mute);background:#ffffff05;box-shadow:inset 0 0 0 1px var(--mso-line)}[data-theme=light] .mso-delay-pop-math{background:var(--bg-sunken)}.mso-delay-pop-math.is-off-grid{background:#ff9b5e0f;color:var(--mso-amber);box-shadow:inset 0 0 0 1px #ff9b5e33}[data-theme=light] .mso-delay-pop-math.is-off-grid{background:#fdf3e7;color:#b25718;box-shadow:inset 0 0 0 1px #c46a2a4d}.mso-delay-pop-math-row{display:flex;align-items:baseline;gap:6px;font-weight:700}.mso-delay-pop-math-hint{margin-top:4px;font-size:9.5px;font-weight:500;line-height:1.4}.mso-delay-pop-math-jump{display:inline;padding:1px 5px;margin:0 1px;border:0;border-radius:3px;cursor:pointer;font:700 9.5px/1.2 JetBrains Mono,monospace;background:#ff9b5e24;color:var(--mso-amber);box-shadow:inset 0 0 0 1px #ff9b5e4d}.mso-delay-pop-math-jump:hover{background:#ff9b5e38}[data-theme=light] .mso-delay-pop-math-jump{background:#f6ebe0;color:#c46a2a;box-shadow:inset 0 0 0 1px #ead8c5}[data-theme=light] .mso-delay-pop-math-jump:hover{background:#f0e2cf}.mso-lane-delay::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:#ff9b5e2e}[data-theme=light] .mso-lane-delay::-webkit-slider-runnable-track{background:#c46a2a38}.mso-lane-delay::-moz-range-track{height:3px;border-radius:2px;background:#ff9b5e2e}.mso-lane-delay::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--mso-amber);border:0;margin-top:-4.5px;box-shadow:0 1px 3px #00000059,0 0 0 2px #ff9b5e33}.mso-lane-delay::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--mso-amber);border:0;box-shadow:0 1px 3px #00000059,0 0 0 2px #ff9b5e33}.mso-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;text-align:center}.mso-empty-h{font:600 14px/1 Inter,system-ui,sans-serif;color:var(--mso-text)}.mso-empty-sub{font:500 11px/1.5 JetBrains Mono,monospace;color:var(--mso-mute);max-width:360px}.mso-empty code{padding:2px 5px;border-radius:3px;background:#ffffff0a;color:var(--mso-text)}[data-theme=light] .mso-empty code{background:var(--bg-sunken)}.bpsk-node .react-flow__handle.bpsk-port.bpsk-port-any{background:#a0a0a08c!important;box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 8px #ffffff26!important}[data-theme=light] .bpsk-node .react-flow__handle.bpsk-port.bpsk-port-any{background:#78786e8c!important;box-shadow:0 0 0 3px var(--bpsk-canvas),0 0 6px #1f1d1833!important}[data-theme=light] .bpsk-cat-instrument[data-kind=constellation] .bpsk-mini-pill{color:#0d6e7a;background:#0d6e7a14;box-shadow:inset 0 0 0 1px #0d6e7a4d}[data-theme=light] .bpsk-cat-instrument[data-kind=constellation] .bpsk-mini-pulse{color:#0d6e7a}[data-theme=light] .bpsk-cat-instrument[data-kind=constellation] .bpsk-mini-pulse-dot{background:#0d6e7a;box-shadow:0 0 6px #0d6e7a8c}[data-theme=light] .bpsk-cat-instrument[data-kind=constellation] .bpsk-mini-readout{color:#0d6e7aa6}[data-theme=light] .bpsk-cat-instrument[data-kind=constellation] .bpsk-mini-readout .v{color:#0d6e7a}[data-theme=light] .bpsk-cat-instrument[data-kind=constellation] .bpsk-mini-readout .u{color:#0d6e7a8c}.sink-win{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--bg-panel);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;border-radius:12px;overflow:hidden;box-shadow:0 1px 1px #00000080,0 22px 50px -18px #0009,inset 0 0 0 1px #ffffff12}[data-theme=light] .sink-win{background:#fafaf3;box-shadow:0 1px 1px #1f1d180a,0 22px 50px -18px #1f1d184d,inset 0 0 0 1px var(--border-default)}.sink-win-titlebar{display:flex;align-items:center;gap:10px;padding:9px 12px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);border-bottom:1px solid var(--border-hairline);flex-shrink:0}[data-theme=light] .sink-win-titlebar{background:#fafaf3}.sink-win-traffic{display:flex;gap:6px;flex-shrink:0}.sink-win-traffic span{width:11px;height:11px;border-radius:50%;display:inline-block;box-shadow:inset 0 0 0 .5px #00000073}.sink-win-traffic span:nth-child(1){background:#ff6259}.sink-win-traffic span:nth-child(2){background:#f8bd3c}.sink-win-traffic span:nth-child(3){background:#2ecc4c}.sink-win-title{flex:1;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:-.1px;color:var(--text-primary);min-width:0}.sink-win-title-src{font:500 10.5px/1 JetBrains Mono,ui-monospace,Menlo,monospace;padding:3px 6px;border-radius:4px;color:#5ec8ff;background:#5ec8ff14;box-shadow:inset 0 0 0 1px #5ec8ff38;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .sink-win-title-src{color:var(--icon-cyan);background:#0891b21a;box-shadow:inset 0 0 0 1px #0891b24d}.sink-win-actions{display:flex;gap:4px}.sink-win-actions button{width:24px;height:24px;border:0;background:transparent;cursor:pointer;border-radius:5px;display:grid;place-items:center;color:var(--text-secondary)}.sink-win-actions button:hover{background:#ffffff0d;color:var(--text-primary)}[data-theme=light] .sink-win-actions button:hover{background:var(--bg-sunken)}.sink-win-actions button.active{color:#5ec8ff;background:#5ec8ff1a;box-shadow:inset 0 0 0 1px #5ec8ff40}[data-theme=light] .sink-win-actions button.active{color:var(--icon-cyan);background:#0891b21a;box-shadow:inset 0 0 0 1px #0891b259}.sink-win-actions button svg{width:13px;height:13px}.sink-win-meta{display:flex;align-items:center;gap:12px;padding:8px 14px;font:500 10.5px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-hairline);background:#ffffff03;flex-shrink:0}[data-theme=light] .sink-win-meta{background:#fafaf3}.sink-win-meta .chip{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:4px;font-size:10px;background:#ffffff0a}[data-theme=light] .sink-win-meta .chip{background:var(--bg-sunken)}.sink-win-meta .chip.run{color:#6ee7a8;background:#6ee7a814}[data-theme=light] .sink-win-meta .chip.run{color:var(--icon-green);background:#3a9d5a1a}.sink-win-meta .chip.run.is-toggle{cursor:pointer;border:0;font:inherit;font-size:10px;letter-spacing:.04em}.sink-win-meta .chip.run.is-toggle:hover{filter:brightness(1.15)}.sink-win-meta .chip.run.is-paused{color:#9cc8f5;background:#87b4e61a}[data-theme=light] .sink-win-meta .chip.run.is-paused{color:#3565a0;background:#3565a01a}.sink-win-meta .chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor;animation:live-glow 1.6s ease-in-out infinite}.sink-win-meta .chip.run.is-paused .dot{animation:none;box-shadow:none;opacity:.65}@keyframes live-glow{0%,to{box-shadow:0 0 3px currentColor,0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 10px currentColor,0 0 3px currentColor;opacity:.85}}.sink-win-meta .spacer{flex:1}.sink-win-meta b{font-weight:600;color:var(--text-primary)}.sink-win-meta .sink-win-actions{margin:-3px -4px -3px 0}.sink-win-meta .sink-win-actions button{width:22px;height:22px}.sink-win-body{display:grid;grid-template-columns:1fr 168px;flex:1;min-height:0;position:relative}.sink-win-stats-resize{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:5;background:transparent;transition:background .12s ease}.sink-win-stats-resize:hover,.sink-win-stats-resize:active{background:#78b4ff38}[data-theme=light] .sink-win-stats-resize:hover,[data-theme=light] .sink-win-stats-resize:active{background:#1c92a338}.sink-win-screen{position:relative;background:#0c0f14;overflow:hidden;border-right:1px solid var(--border-hairline);min-height:280px}[data-theme=light] .sink-win-screen{background:#fafaf3}.sink-win-screen.square{aspect-ratio:1;height:auto;min-height:0}.sink-win-screen canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.sink-win-axis{position:absolute;font:500 9.5px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:#ffffff73;letter-spacing:.04em;pointer-events:none}.sink-win-axis.tl{top:10px;left:12px}.sink-win-axis.tr{top:10px;right:12px}.sink-win-axis.bl{bottom:10px;left:12px}.sink-win-axis.br{bottom:10px;right:12px}.sink-win-axis.t{top:10px;left:50%;transform:translate(-50%)}.sink-win-axis.b{bottom:10px;left:50%;transform:translate(-50%)}.sink-win-stats{padding:14px;display:flex;flex-direction:column;gap:4px;background:#ffffff03;overflow-y:auto}[data-theme=light] .sink-win-stats{background:#fafaf3}.sink-win-stats-head{font:600 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--text-tertiary);margin-bottom:6px}.sink-win-stat{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border-hairline)}.sink-win-stat:last-of-type{border-bottom:0}.sink-win-stat-k{font:500 10.5px/1.1 Inter,system-ui,sans-serif;color:var(--text-secondary)}.sink-win-stat-v{font:600 12px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--text-primary);display:inline-flex;align-items:baseline;gap:3px}.sink-win-stat-v .u{font:500 9px/1 JetBrains Mono,ui-monospace,Menlo,monospace;color:var(--text-tertiary)}.sink-win-stat[data-state=good] .sink-win-stat-v{color:#6ee7a8}.sink-win-stat[data-state=warn] .sink-win-stat-v{color:#ff9b5e}.sink-win-stat[data-state=accent] .sink-win-stat-v{color:#5ec8ff}[data-theme=light] .sink-win-stat[data-state=good] .sink-win-stat-v{color:var(--icon-green)}[data-theme=light] .sink-win-stat[data-state=warn] .sink-win-stat-v{color:var(--icon-orange)}[data-theme=light] .sink-win-stat[data-state=accent] .sink-win-stat-v{color:var(--icon-cyan)}.sink-win-lock{margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:5px;font:600 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.06em;color:#6ee7a8;background:#6ee7a81a;box-shadow:inset 0 0 0 1px #6ee7a840}[data-theme=light] .sink-win-lock{color:var(--icon-green);background:#3a9d5a1a;box-shadow:inset 0 0 0 1px #3a9d5a4d}.sink-win-lock .dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.sink-win-tools{display:flex;align-items:center;gap:6px;padding:10px 12px;border-top:1px solid var(--border-hairline);background:linear-gradient(180deg,rgba(255,255,255,.012),transparent);flex-shrink:0;flex-wrap:wrap}[data-theme=light] .sink-win-tools{background:#fafaf3}.sink-win-tg{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;font:500 10.5px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em;background:var(--bg-sunken);color:var(--text-secondary);box-shadow:inset 0 0 0 1px #ffffff0a}[data-theme=light] .sink-win-tg{box-shadow:inset 0 0 0 1px var(--border-default)}.sink-win-tg .lbl{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary)}.sink-win-tg b{font-weight:600;color:var(--text-primary)}.sink-win-seg{display:inline-flex;padding:2px;border-radius:6px;background:var(--bg-sunken);box-shadow:inset 0 0 0 1px #ffffff0a}[data-theme=light] .sink-win-seg{box-shadow:inset 0 0 0 1px var(--border-default)}.sink-win-seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:600 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.05em;padding:5px 9px;border-radius:4px;cursor:pointer;color:var(--text-secondary)}.sink-win-seg button.on{background:#5ec8ff24;color:#5ec8ff;box-shadow:inset 0 0 0 1px #5ec8ff40}[data-theme=light] .sink-win-seg button.on{background:#0891b21a;color:var(--icon-cyan);box-shadow:inset 0 0 0 1px #0891b24d}.sink-win-tools-spacer{flex:1}.sink-win-input{width:56px;background:transparent;border:0;color:var(--text-primary);font:600 11px/1 JetBrains Mono,ui-monospace,Menlo,monospace;text-align:right;outline:none}.sink-win-input:focus{color:#5ec8ff}.sink-win-status{display:flex;align-items:center;gap:14px;padding:7px 14px;font:500 10px/1 JetBrains Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em;color:var(--text-tertiary);border-top:1px solid var(--border-hairline);background:#0003;flex-shrink:0}[data-theme=light] .sink-win-status{background:#fafaf3;color:var(--text-secondary)}.sink-win-status b{font-weight:600;color:var(--text-secondary)}[data-theme=light] .sink-win-status b{color:var(--text-primary)}.sink-win-status .ok{color:#6ee7a8}[data-theme=light] .sink-win-status .ok{color:var(--icon-green)}.sink-win-status .spacer{flex:1}
