:root{--bg-canvas: #1f2124;--bg-module: #383b3f;--bg-module-rec: #2c2e31;--bg-module-header: #2c2e31;--bg-chrome: #2c2e31;--border-module: #4d5054;--border-faint: #2e3033;--border-strong: #5d6064;--chrome-ti-bg: rgba(80, 130, 220, .08);--chrome-ti-border: rgba(80, 130, 220, .28);--chrome-ti-text: rgba(130, 170, 230, .88);--chrome-edit-tint: rgba(200, 140, 0, .04);--chrome-edit-bg: rgba(200, 140, 0, .1);--chrome-edit-border: rgba(200, 140, 0, .3);--chrome-edit-text: rgba(220, 170, 60, .9);--chrome-system-bg: rgba(255, 150, 50, .1);--chrome-system-border: rgba(255, 150, 50, .3);--chrome-system-text: rgba(255, 160, 60, .85);--accent: #e85a28;--accent-dim: #6b2511;--border-selected: #e85a28;--accent-multi: #4dbfb8;--selection: #4fb3ea;--text-primary: #ece8e0;--text-secondary: #a09e96;--text-faint: #6a6a64;--text-ghost: rgba(236, 232, 224, .07);--port-audio: #ece8e0;--port-event: #e8c84a;--port-flexible: #7a7a72;--port-assetRef: #f472b6;--link-wire: #4fb3ea;--snap-highlight: rgba(255, 255, 255, .3);--wire-ghost: rgba(236, 232, 224, .5);--minimap-bg: #111111;--minimap-module: #4d5054;--minimap-viewport: #e85a28;--bg-panel: #1f1f1f;--bg-panel-section: #232323;--bg-recess: #1d1d1d;--font-mono: "IBM Plex Mono", monospace;--module-min-width: 48px;--module-radius: 3px;--port-row-height: 16px;--port-handle-size: 8px;--wire-width: 1.5px;--wire-width-hover: 2.5px;--wire-width-selected: 3px;--wire-bezier-offset: 80px;--minimap-width: 240px;--minimap-height: 152px;--minimap-margin: 12px;--s-1: 2px;--s-2: 4px;--s-3: 6px;--s-4: 8px;--s-5: 12px;--s-6: 16px;--s-7: 24px;--s-8: 32px;--t-fast: 80ms;--t-norm: .14s;--ease: cubic-bezier(.2, 0, .2, 1)}.m{position:absolute;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);z-index:1}.m-card{background:var(--bg-module);border:1px solid var(--border-module);border-radius:var(--module-radius);position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;min-width:var(--module-min-width);cursor:grab;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.m[data-state=selected] .m-card{border-color:var(--border-selected);box-shadow:0 0 0 1px var(--border-selected)}.m[data-state=selected]{z-index:10}.m[data-state=multi] .m-card{border-color:var(--accent-multi);box-shadow:0 0 0 1px var(--accent-multi)}.m[data-param=true][data-state=idle] .m-card{border-color:var(--border-faint)}.m[data-active=false] .m-card,.m[data-active=false] .m-val{background:var(--bg-canvas);border-color:var(--border-module)}.m[data-active=false] .m-enter{background:var(--bg-canvas)}.m-ins,.m-outs{display:flex;flex-direction:column;padding:4px 0;gap:0}.m-ins{align-items:flex-start}.m-outs{align-items:flex-end}.port{height:var(--port-row-height);display:flex;align-items:center;font-size:9px;color:var(--text-primary);gap:4px;white-space:nowrap;position:relative}.port .port-key{font-weight:500;letter-spacing:.02em}.port-in{padding-left:0;padding-right:4px}.port-out{padding-right:0;padding-left:4px}.port-dot{width:var(--port-handle-size);height:var(--port-handle-size);border-radius:50%;flex-shrink:0;cursor:crosshair;position:relative}.port-dot:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%}.port-in .port-dot{margin-left:-4px}.port-out .port-dot{margin-right:-4px}.port[data-sig=audio] .port-dot{background:var(--port-audio)}.port[data-sig=event] .port-dot{background:var(--port-event)}.port[data-sig=flex] .port-dot{background:var(--port-flexible)}.port[data-sig=assetRef] .port-dot{background:var(--port-assetRef)}.port.eligible .port-dot{box-shadow:0 0 5px 1.5px var(--snap-highlight);animation:snap 1.2s var(--ease) infinite}.port.ineligible{opacity:.35}@keyframes snap{50%{box-shadow:0 0 9px 3px var(--snap-highlight)}}.m-body{padding:6px 4px;display:flex;align-items:center;justify-content:center;min-height:32px;position:relative}.m-body svg{display:block}.m-body .glyph{stroke:var(--text-primary);stroke-width:1.25;fill:none;stroke-linecap:round;stroke-linejoin:round}.m-body .glyph-fill{fill:var(--text-primary)}.m-body .glyph.dim{stroke:var(--text-secondary)}.m-body-fallback{font-size:9px;color:var(--text-secondary);font-family:var(--font-mono)}.m-val{font-size:12px;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--bg-module-rec);border:1px solid var(--border-faint);border-radius:2px;padding:2px 6px;min-width:56px;text-align:center;box-sizing:border-box;outline:none;cursor:text}.m-val.event{color:var(--port-event)}input.m-val{width:56px;min-width:56px;max-width:80px}.m-knob{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 0;width:100%}.m-knob>div{display:flex;justify-content:center;width:100%}.m-knob .read{display:block;font-size:11px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center}.m-label{margin-top:3px;font-size:9.5px;color:var(--text-secondary);letter-spacing:.02em;display:flex;align-items:baseline;justify-content:center;gap:6px;line-height:1.2;padding:0 2px;pointer-events:none}.m-label .id{color:var(--text-faint);font-size:9px}.m[data-state=selected] .m-label{color:var(--text-primary)}.m-label[data-rename=true]{pointer-events:auto;cursor:text}.m-label-empty{color:var(--text-faint)}.m-label-input{display:block;width:100%;box-sizing:border-box;font-size:9.5px;font-family:var(--font-mono);letter-spacing:.02em;line-height:1.2;text-align:center;color:var(--text-primary);background:var(--bg-recess);border:none;outline:1px solid var(--border-selected);padding:0 2px}.m-tpl{position:absolute;top:-1px;right:-1px;font-size:7.5px;color:var(--port-event);background:var(--bg-canvas);border:1px solid var(--port-event);border-radius:0 var(--module-radius) 0 2px;padding:0 3px;line-height:11px;font-weight:700;letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none}.m-enter{position:absolute;bottom:-1px;left:2px;font-size:8px;color:var(--text-secondary);line-height:1;background:var(--bg-module);padding:0 2px;pointer-events:none;-webkit-user-select:none;user-select:none}.wire-group .wire-visible{stroke-width:var(--wire-width);opacity:.85;transition:stroke-width var(--t-fast) var(--ease);pointer-events:none}.wire-group:hover .wire-visible{stroke-width:var(--wire-width-hover);opacity:1}.wire-group.is-selected .wire-visible{stroke-width:var(--wire-width-selected);opacity:1}.wire-group.is-hovered .wire-visible{stroke-width:var(--wire-width-selected);opacity:1;filter:brightness(1.35)}.wire-hit{pointer-events:stroke;cursor:pointer;stroke-width:12;stroke:transparent;fill:none}button.breadcrumb-seg{background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;cursor:pointer;padding:0;text-decoration:none}button.breadcrumb-seg.breadcrumb-head{color:var(--text-faint)}button.breadcrumb-seg.breadcrumb-current{color:var(--text-primary);cursor:default}button.breadcrumb-seg:not(.breadcrumb-current):hover{color:var(--text-primary)}.karst-menu-scrollbar::-webkit-scrollbar{width:8px;height:8px}.karst-menu-scrollbar::-webkit-scrollbar-track{background:transparent}.karst-menu-scrollbar::-webkit-scrollbar-thumb{background:var(--border-module);border-radius:4px}.karst-menu-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.karst-menu-scrollbar::-webkit-scrollbar-corner{background:transparent}.karst-beta-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#060709b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:karst-beta-fade .18s ease-out;font-family:Archivo,Helvetica Neue,Helvetica,Arial,sans-serif}@keyframes karst-beta-fade{0%{opacity:0}to{opacity:1}}.karst-beta-card{--beta-surface: #15181c;--beta-surface-2: #1c2027;--beta-line: #2a2f38;--beta-line-soft: #24282e;--beta-text: #F1EFE9;--beta-text-2: #aeb4bb;--beta-text-3: #8b9097;--beta-accent: #F2843A;--beta-accent-deep: #d9631f;--beta-accent-fg: #1c0f06;--beta-teal: #7fd0c5;position:relative;width:460px;max-width:calc(100vw - 40px);border-radius:18px;overflow:hidden;color:var(--beta-text);background:linear-gradient(180deg,var(--beta-surface-2),var(--beta-surface));border:1px solid var(--beta-line);box-shadow:0 24px 60px #0000008c,0 0 0 1px #ffffff05 inset;animation:karst-beta-in .26s cubic-bezier(.2,.7,.2,1)}@keyframes karst-beta-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.karst-beta-banner{position:relative;height:132px;background:radial-gradient(120% 90% at 20% -10%,rgba(242,132,58,.22),transparent 55%),radial-gradient(120% 90% at 90% 110%,rgba(127,208,197,.18),transparent 60%),linear-gradient(160deg,#2a1f18,#17181d 60%);overflow:hidden;display:flex;align-items:flex-end;padding:12px 16px}.karst-beta-banner-strata{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(170deg,rgba(255,255,255,.03) 0 2px,transparent 2px 12px);pointer-events:none;opacity:.85}.karst-beta-banner-orb{position:absolute;top:20px;right:24px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(242,132,58,.85),rgba(217,99,31,.3) 55%,transparent 72%);filter:blur(2px);pointer-events:none}.karst-beta-banner-logo{position:absolute;top:44px;left:50%;transform:translate(-50%) rotate(45deg);width:42px;height:42px;border-radius:6px;background:linear-gradient(135deg,var(--beta-accent),var(--beta-accent-deep));color:var(--beta-accent-fg);display:flex;align-items:center;justify-content:center;font:800 18px/1 Archivo,sans-serif;box-shadow:0 6px 18px #f2843a59}.karst-beta-banner-logo>*{transform:rotate(-45deg)}.karst-beta-eyebrow{position:relative;z-index:2;font:700 10px/1 Archivo,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--beta-text-2)}.karst-beta-close{position:absolute;top:8px;right:10px;width:28px;height:28px;border-radius:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--beta-text-2);font:500 18px/1 Archivo,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:background .12s ease,color .12s ease}.karst-beta-close:hover{background:#ffffff14;color:var(--beta-text)}.karst-beta-close:focus{outline:2px solid var(--beta-accent);outline-offset:2px}.karst-beta-body{padding:22px 26px 24px;display:flex;flex-direction:column;gap:14px}.karst-beta-title{margin:0;font:800 25px/1.15 Archivo,sans-serif;color:var(--beta-text);letter-spacing:-.005em}.karst-beta-sub{margin:0 0 4px;font:400 13px/1.55 Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--beta-text-2)}.karst-beta-perks{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.karst-beta-perk{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#ffffff05;border:1px solid var(--beta-line-soft);border-radius:10px;font:500 13px/1.35 Archivo,sans-serif;color:var(--beta-text)}.karst-beta-perk-glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#f2843a1a;color:var(--beta-accent);font:600 13px/1 Archivo,sans-serif;flex:none}.karst-beta-perk-text{flex:1;min-width:0}.karst-beta-perk-tag{flex:none;font:700 10px/1 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid transparent}.karst-beta-perk-tag-now{color:var(--beta-accent);background:#f2843a1f;border-color:#f2843a3d}.karst-beta-perk-tag-later{color:var(--beta-teal);background:#7fd0c51a;border-color:#7fd0c53d}.karst-beta-price{display:flex;align-items:baseline;gap:12px;padding:6px 2px 2px}.karst-beta-price-primary{font:800 34px/1 Archivo,sans-serif;color:var(--beta-text)}.karst-beta-price-anchor{color:var(--beta-text-3);font:500 15px/1 Archivo,sans-serif}.karst-beta-price-badge{font:700 10px/1 Archivo,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--beta-accent);background:#f2843a1f;border:1px solid rgba(242,132,58,.24);padding:4px 8px;border-radius:999px}.karst-beta-cta-primary{height:54px;margin-top:6px;border:none;border-radius:12px;background:linear-gradient(180deg,var(--beta-accent),var(--beta-accent-deep));color:var(--beta-accent-fg);font:700 15px/1 Archivo,sans-serif;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 22px #f2843a47;transition:transform .08s ease,box-shadow .15s ease}.karst-beta-cta-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px #f2843a5c}.karst-beta-cta-primary:active{transform:translateY(0);box-shadow:0 6px 16px #f2843a3d}.karst-beta-cta-primary:focus{outline:2px solid var(--beta-text);outline-offset:2px}.karst-beta-cta-secondary{height:40px;background:none;border:none;color:var(--beta-text-3);font:500 13px/1 Archivo,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.karst-beta-cta-secondary:hover{color:var(--beta-text-2)}:root{--app: #0e0d0c;--surface-window: #0f1113;--surface-stage: #090b0e;--surface-slot: #13181e;--surface-tile: #262e38;--field: #221f1b;--field-line: #343a41;--grad-header: linear-gradient(180deg, #272d33, #191d22);--grad-panel: linear-gradient(180deg, #2d343f, #232a33);--grad-sunken: linear-gradient(180deg, #0a0d11, #12161b);--grad-control: linear-gradient(180deg, #2a2f36, #1f242a);--grad-accent: linear-gradient(180deg, #fa8b3f, #e8690f);--grad-rail: linear-gradient(180deg, #1a1e23, #121519);--line: #262b30;--line-soft: #2b3037;--edge: #0d0f12;--line-control: #14171b;--accent: #F2843A;--accent-bright: #F26A1B;--accent-deep: #d9631f;--accent-fg: #1c0f06;--accent-border: #99410f;--accent-soft: #F2A06A;--ok: #6fce8e;--warn: #caa53f;--teal: #46b3a6;--crit: #e0633f;--bank-pattern: #F2843A;--bank-shapes: #5FB7C4;--bank-sound: #B98BE6;--macro-group: #5f656d;--text: #ECEAE4;--text-2: #aab0b7;--text-3: #9aa0a7;--text-dim: #8d9298;--text-faint: #4f4b44;--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-face: "Archivo", sans-serif;--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 12px;--sp-5: 16px;--sp-6: 20px;--sp-7: 22px;--r-1: 3px;--r-2: 4px;--r-3: 5px;--r-4: 6px;--r-5: 12px;--e-sunken: inset 0 2px 4px rgba(0,0,0,.6);--e-raised: inset 0 1px 0 rgba(255,255,255,.07), 0 1px 2px rgba(0,0,0,.45);--e-window: 0 30px 80px -32px rgba(0,0,0,.7);--e-pop: 0 18px 44px -16px rgba(0,0,0,.8)}*{scrollbar-width:thin;scrollbar-color:var(--line, #262b30) var(--surface-stage, #090b0e)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--surface-stage, #090b0e)}*::-webkit-scrollbar-thumb{background:var(--line, #262b30);border-radius:4px;border:2px solid var(--surface-stage, #090b0e);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--line-soft, #2b3037);background-clip:padding-box}*::-webkit-scrollbar-corner{background:var(--surface-stage, #090b0e)}.karst-upsell-support-now:hover{filter:brightness(1.07)}.cd-skin{--bg-panel: var(--surface-window);--bg-panel-section: var(--surface-slot);--bg-recess: var(--surface-stage);--bg-canvas: var(--surface-stage);--border-faint: var(--line);--border-strong: var(--line-soft);--border-selected: var(--accent-border);--text-primary: var(--text);--text-secondary: var(--text-2);--text-faint: #4f4b44;--accent: #F2843A;--accent-dim: var(--accent-deep);--accent-multi: var(--teal);--border-strong-hover: var(--text-2);--font-mono: "JetBrains Mono", monospace;--chrome-edit-tint: rgba(242, 132, 58, .08);--bg-chrome: var(--surface-slot);--bg-module-rec: var(--surface-stage);--border-module: var(--line);--module-radius: 3px}@keyframes kDice1{0%{transform:rotate(0) scale(1)}40%{transform:rotate(40deg) scale(1.03)}70%{transform:rotate(8deg) scale(.99)}to{transform:rotate(0) scale(1)}}@keyframes kDice2{0%{transform:rotate(0) scale(1)}35%{transform:rotate(120deg) scale(1.05)}75%{transform:rotate(170deg) scale(1.01)}to{transform:rotate(180deg) scale(1)}}@keyframes kDice3{0%{transform:rotate(0) scale(1)}30%{transform:rotate(210deg) scale(1.08)}70%{transform:rotate(330deg) scale(1.03)}to{transform:rotate(360deg) scale(1)}}@keyframes kDice4{0%{transform:rotate(0) scale(1)}20%{transform:rotate(280deg) scale(1.12)}55%{transform:rotate(470deg) scale(1.08)}85%{transform:rotate(540deg) scale(.98)}to{transform:rotate(540deg) scale(1)}}@keyframes kDice5{0%{transform:rotate(0) scale(1)}16%{transform:rotate(360deg) scale(1.16)}48%{transform:rotate(620deg) scale(1.12)}80%{transform:rotate(700deg) scale(.97)}to{transform:rotate(720deg) scale(1)}}@keyframes kDice6{0%{transform:rotate(0) scale(1)}12%{transform:rotate(440deg) scale(1.22)}40%{transform:rotate(820deg) scale(1.18)}68%{transform:rotate(1010deg) scale(1.06)}86%{transform:rotate(1090deg) scale(.94)}to{transform:rotate(1080deg) scale(1)}}.km-dice-r1{animation:kDice1 .42s ease-out both}.km-dice-r2{animation:kDice2 .48s cubic-bezier(.3,.7,.3,1) both}.km-dice-r3{animation:kDice3 .54s cubic-bezier(.3,.7,.3,1) both}.km-dice-r4{animation:kDice4 .6s cubic-bezier(.3,.7,.3,1) both}.km-dice-r5{animation:kDice5 .66s cubic-bezier(.3,.7,.3,1) both}.km-dice-r6{animation:kDice6 .74s cubic-bezier(.28,.8,.3,1) both}@keyframes kLoadShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.km-load-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-4, 6px);pointer-events:none;background:linear-gradient(90deg,#f2a06a00,#f2a06a2e 40%,#f2a06a47,#f2a06a2e 60%,#f2a06a00);background-size:200% 100%;animation:kLoadShimmer 1.2s ease-in-out infinite;z-index:1}.km-canvas-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:var(--surface-stage, #090b0e);display:flex;align-items:center;justify-content:center;pointer-events:auto;animation:kCanvasLoadingFadeIn 50ms ease-out both;opacity:0}@keyframes kCanvasLoadingFadeIn{0%{opacity:0}to{opacity:1}}.km-canvas-loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#f2a06a00,#f2a06a24 40%,#f2a06a38,#f2a06a24 60%,#f2a06a00);background-size:200% 100%;animation:kLoadShimmer 1.6s ease-in-out infinite}.km-canvas-loading-label{position:relative;font:500 14px var(--font-face, "Archivo", "Helvetica Neue", sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft, #F2A06A);padding:10px 20px;border:1px solid rgba(242,160,106,.28);border-radius:var(--r-4, 6px);background:#0e0d0c99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
