:root{color-scheme:light;--bg-base: #e8e8ea;--text-primary: #17171a;--text-muted: #5d5d66;--text-dim: #8d8d96;--accent: #17171a;--accent-hover: #2c2c31;--accent-soft: rgba(var(--ink-rgb), .28);--on-accent: #ffffff;--ink-rgb: 23, 23, 26;--paper-rgb: 255, 255, 255;--paper-solid: #ffffff;--knob: #ffffff;--rim-rgb: 255, 255, 255;--ring-rgb: 23, 23, 26;--shadow-rgb: 23, 23, 26;--backdrop-rgb: 222, 222, 228;--shadow-contact: .04;--shadow-lift: .1;--danger-text: #b02a2a;--port-render-text: #9333ea;--port-image: #2f6fd6;--port-image-soft: rgba(47, 111, 214, .5);--port-mod: #d97a1e;--port-mod-soft: rgba(217, 122, 30, .6);--port-render: #a855f7;--port-render-soft: rgba(168, 85, 247, .6);--port-sound: #1f9d55;--port-sound-soft: rgba(31, 157, 85, .55);--port-text: #c2378a;--port-text-soft: rgba(194, 55, 138, .55);--port-invalid: #d6453a;--key: #c0950f;--key-ease: #1f9d8f;--key-linear: #d4613a;--key-hold: #8a8a94;--marker: #7c5cd6;--work: #2f6fd6;--curve-x: #d6453a;--curve-y: #3f9a4c;--curve-z: #3b6fd6;--tint-1: #e0913a;--tint-2: #3a9fd6;--tint-3: #b05ad6;--tint-4: #3fae7a;--tint-5: #d65a7c;--tint-6: #8f9a3a;--record: #e5484d;--glass-fill: rgba(var(--paper-rgb), .82);--glass-fill-strong: rgba(var(--paper-rgb), .9);--glass-border: rgba(var(--paper-rgb), .8);--glass-blur: blur(24px) saturate(170%) brightness(1.05);--glass-shadow: inset 0 1px 0 rgba(var(--rim-rgb), .95), inset 0 -1px 0 rgba(var(--rim-rgb), .55), 0 0 0 1px rgba(var(--ring-rgb), .07), 0 1px 2px rgba(var(--shadow-rgb), var(--shadow-contact)), 0 12px 30px rgba(var(--shadow-rgb), var(--shadow-lift));--hairline: rgba(var(--ink-rgb), .09);--radius-lg: 20px;--radius-md: 14px;--radius-sm: 9px;--font-display: "Bricolage Grotesque", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--font-ui: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "DM Mono", ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--gutter: 18px;--edge-top: calc(var(--gutter) + env(safe-area-inset-top, 0px));--edge-right: calc(var(--gutter) + env(safe-area-inset-right, 0px));--edge-bottom: calc(var(--gutter) + env(safe-area-inset-bottom, 0px));--edge-left: calc(var(--gutter) + env(safe-area-inset-left, 0px));--control-line: 14px}:root[data-theme=dark]{color-scheme:dark;--bg-base: #141416;--text-primary: #ececf0;--text-muted: #a4a4ad;--text-dim: #74747d;--accent: #ececf0;--accent-hover: #d2d2d8;--on-accent: #17171a;--ink-rgb: 236, 236, 240;--paper-rgb: 36, 36, 41;--paper-solid: #3a3a41;--knob: #b4b4bc;--rim-rgb: 42, 42, 47;--ring-rgb: 0, 0, 0;--shadow-rgb: 0, 0, 0;--backdrop-rgb: 12, 12, 14;--shadow-contact: .15;--shadow-lift: .28;--danger-text: #f87171;--port-render-text: #c084fc;--port-sound: #34c472;--port-sound-soft: rgba(52, 196, 114, .55);--port-text: #ec6fb5;--port-text-soft: rgba(236, 111, 181, .55);--key: #e6bf3c;--key-ease: #3cc7b6;--key-linear: #f08257;--key-hold: #a0a0aa;--marker: #a891f5;--work: #6b9cf0;--curve-x: #f07167;--curve-y: #6fcf7c;--curve-z: #6f9cf5;--tint-1: #f2a95b;--tint-2: #62b8ec;--tint-3: #c784ea;--tint-4: #63c896;--tint-5: #ec7d9c;--tint-6: #b3bd5c}:root[data-theme=dark] .node{--text-dim: #8a8a93}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden}body{margin:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden;-webkit-user-select:none;user-select:none}input:not([type=range]):not([type=checkbox]):not([type=color]),textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}.app{position:relative;height:100%;height:100dvh;width:100%;overflow:clip}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-track{margin:6px}::-webkit-scrollbar-thumb{background:rgba(var(--ink-rgb),.18);background-clip:content-box;border:6px solid transparent;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--ink-rgb),.3);background-clip:content-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(var(--ink-rgb),.22) transparent}}.glass{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.autosave-notice{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:50;max-width:min(560px,calc(100vw - 32px));padding:10px 16px;font-size:13px;line-height:1.4;text-align:center}.canvas-area{position:absolute;top:0;right:0;bottom:0;left:0}.toolbar{position:absolute;top:var(--edge-top);left:var(--edge-left);z-index:10;display:flex;flex-direction:column;align-items:flex-start;max-height:calc(100% - var(--gutter) * 2);min-height:0}.toolbar-pill{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;flex:none}.brand{padding:0 8px 0 6px;font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--text-primary)}.toolbar-sep{width:1px;height:18px;background:var(--hairline)}.toolbar-button{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-weight:500;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.toolbar-icon-button{padding:7px}.toolbar-button:disabled{opacity:.45;cursor:default;pointer-events:auto}.toolbar-button:hover:not(:disabled){background:rgba(var(--ink-rgb),.07);color:var(--text-primary)}.toolbar-button.is-active{background:var(--paper-solid);border-color:var(--hairline);color:var(--text-primary)}.toolbar-menu{margin-top:8px;padding:6px;min-width:200px;border-radius:var(--radius-md);min-height:0;overflow-y:auto;overscroll-behavior:contain}.toolbar-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 11px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:grab}.toolbar-menu-item:active{cursor:grabbing}.toolbar-menu-item:hover{background:rgba(var(--ink-rgb),.07)}.preset-entry{padding-top:6px;padding-bottom:6px;min-height:34px;cursor:grab}.preset-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-actions{display:flex;gap:2px;flex:none;opacity:0;transition:opacity .14s ease}.preset-entry:hover .preset-actions,.preset-entry:focus-within .preset-actions{opacity:1}.preset-action{display:flex;align-items:center;gap:4px;padding:4px 6px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:10.5px;cursor:pointer}.preset-action:hover{background:rgba(var(--ink-rgb),.08);color:var(--text-primary)}.preset-action.is-confirming{background:#dc26261a;color:var(--danger-text)}.toolbar-menu-empty{max-width:220px;margin:0;padding:8px 11px;color:var(--text-muted);font-size:12px;line-height:1.45}.tag{padding:2px 6px;border-radius:999px;background:rgba(var(--ink-rgb),.07);color:var(--text-muted);font-size:10px;letter-spacing:.04em}.tag-beta{background:var(--port-sound-soft);color:var(--on-accent);font-weight:600;text-transform:uppercase;line-height:1.2}.toolbar-menu-item .tag-beta,.quick-add-item .tag-beta{margin-left:auto}.node-title .tag-beta{margin-left:auto;padding:1px 5px;font-size:9px;letter-spacing:.06em}.timeline-dock{position:absolute;bottom:var(--edge-bottom);left:var(--edge-left);right:var(--edge-right);z-index:10;display:flex;flex-direction:column;gap:8px;pointer-events:none}.timeline-dock>*{pointer-events:auto}.timeline{position:relative;display:flex;align-items:center;gap:4px;padding:5px 8px 5px 5px;border-radius:999px}.timeline-wide{display:contents}.timeline-ruler{position:relative;flex:1;min-width:60px;height:36px;margin:0 4px;border-radius:var(--radius-sm);background:rgba(var(--ink-rgb),.045);overflow:hidden;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.timeline-ticks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.timeline-tick{position:absolute;bottom:0;width:1px;height:5px;background:rgba(var(--ink-rgb),.16)}.timeline-tick.is-major{height:11px;background:rgba(var(--ink-rgb),.32)}.timeline-tick-label{position:absolute;left:4px;bottom:12px;font-family:var(--font-mono);font-size:10px;line-height:1;color:var(--text-dim);white-space:nowrap}.timeline-outside{position:absolute;top:0;bottom:0;background:rgba(var(--ink-rgb),.07);pointer-events:none}.timeline-work{position:absolute;top:0;height:6px;border-radius:0 0 3px 3px;background:var(--work);opacity:.55;cursor:grab}.timeline-work:hover{opacity:.85}.timeline-work-handle{position:absolute;top:0;width:8px;height:14px;border-radius:2px;background:var(--work);cursor:ew-resize}.timeline-work-handle.is-start{left:-4px}.timeline-work-handle.is-end{right:-4px}.timeline-marker{position:absolute;top:0;bottom:0;width:0;cursor:grab}.timeline-marker:after{content:"";position:absolute;top:0;bottom:0;left:-.5px;width:1px;background:var(--marker);opacity:.6;pointer-events:none}.timeline-marker-pin{position:absolute;top:6px;left:-5px;width:10px;height:10px;border-radius:2px 2px 5px 5px;background:var(--marker)}.timeline-marker-label{position:absolute;top:5px;left:7px;max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:600;line-height:12px;color:var(--marker);white-space:nowrap;pointer-events:none}.timeline-marker-input{position:absolute;top:3px;left:7px;z-index:3;width:110px;height:18px;padding:0 4px;border:1px solid var(--marker);border-radius:4px;background:var(--surface, rgba(var(--paper-rgb), .95));color:var(--text-primary);font:inherit;font-size:11px}.timeline-playhead{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;will-change:transform}.timeline-playhead-line{position:absolute;top:0;bottom:0;left:-1px;width:2px;border-radius:1px;background:var(--accent)}.timeline-playhead-line:before{content:"";position:absolute;top:0;left:-3px;width:8px;height:6px;border-radius:0 0 3px 3px;background:var(--accent)}.timeline-field{width:66px;height:26px;padding:0 4px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.5);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;text-align:center;font-variant-numeric:tabular-nums}.timeline-field:hover{border-color:rgba(var(--ink-rgb),.2)}.timeline-field:focus{outline:2px solid var(--accent-soft);outline-offset:1px;color:var(--text-primary)}.timeline-loop{position:relative;margin-left:2px}.timeline-loop:not(.is-on){color:var(--text-dim);opacity:.6}.timeline-loop:not(.is-on):after{content:"";position:absolute;top:50%;left:50%;width:20px;height:1.5px;border-radius:1px;background:currentColor;box-shadow:0 0 0 1px rgba(var(--paper-rgb),.7);transform:translate(-50%,-50%) rotate(-45deg);pointer-events:none}.timeline-loop:not(.is-on):hover{opacity:1}.timeline-loop.is-on{color:var(--accent)}.timeline-fps{margin-left:2px;font-family:var(--font-mono)}.timeline-sheet-toggle.is-on{color:var(--text-primary);background:rgba(var(--ink-rgb),.07)}.dope-sheet{position:relative;border-radius:var(--radius-lg);overflow:hidden;outline:none}.dope-sheet-resize{position:absolute;top:0;left:0;right:0;z-index:2;height:6px;cursor:ns-resize;touch-action:none}.dope-sheet-head{position:absolute;top:8px;left:10px;z-index:2;display:flex;align-items:center;gap:8px;min-width:0}.dope-sheet-scope{margin-left:auto;padding:2px 7px;border-radius:999px;background:rgba(var(--ink-rgb),.06);font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap}.dope-sheet-well{position:absolute;top:0;bottom:0;left:var(--track-left);width:var(--track-width);background:rgba(var(--ink-rgb),.035);box-shadow:inset 1px 0 rgba(var(--ink-rgb),.07),inset -1px 0 rgba(var(--ink-rgb),.07),inset 6px 0 8px -6px rgba(var(--shadow-rgb),.14),inset -6px 0 8px -6px rgba(var(--shadow-rgb),.14);pointer-events:none}.dope-sheet-views .export-format-btn{padding:4px 10px}.dope-sheet-option{position:absolute;top:6px;z-index:3;opacity:.55;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .14s ease;padding:3px 8px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:10px;font-weight:500;cursor:pointer}.dope-sheet-option:hover,.dope-sheet-option:focus-visible{opacity:1}.dope-sheet-option.is-on{border-color:transparent;background:rgba(var(--ink-rgb),.08);color:var(--text-primary)}.dope-sheet-scroll{position:absolute;top:0;bottom:0;left:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.dope-sheet-scroll::-webkit-scrollbar,.curve-list::-webkit-scrollbar{display:none}.dope-sheet-content{position:relative;min-height:100%}.dope-row{position:absolute;left:6px;width:calc(var(--track-left) - 14px);display:flex;align-items:center;gap:4px;padding:0 6px 0 4px;border-radius:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.dope-row.is-hover{background:rgba(var(--ink-rgb),.05)}.dope-row-module{color:var(--text-primary);font-weight:650}.dope-row-module+.dope-row-param+.dope-row-module,.dope-row-param+.dope-row-module{box-shadow:0 -1px rgba(var(--ink-rgb),.08)}.dope-row-param{padding-left:34px}.dope-row.is-picked{color:var(--accent)}.dope-row-dot{flex:none;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px rgba(var(--paper-rgb),.6)}.dope-row-value{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding-left:8px;font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-dim)}.dope-row-swatch{width:9px;height:9px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.2)}.dope-row-label{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:0 2px;border:0;background:transparent;color:inherit;font:inherit;text-align:left}button.dope-row-label{cursor:pointer;border-radius:4px}button.dope-row-label:hover{background:rgba(var(--ink-rgb),.06)}.dope-row-toggle{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer}.dope-row-toggle:hover{background:rgba(var(--ink-rgb),.06);color:var(--text-primary)}.dope-sheet-keys{position:absolute;display:block;top:0;left:var(--track-left);width:var(--track-width);touch-action:none}.dope-sheet-empty{position:absolute;top:50%;left:var(--track-left);width:var(--track-width);display:flex;flex-direction:column;align-items:center;gap:3px;transform:translateY(-50%);font-size:11px;color:var(--text-dim);text-align:center;pointer-events:none}.dope-sheet-empty strong{font-size:13px;font-weight:600;color:var(--text-muted)}.dope-sheet-playhead{position:absolute;top:0;bottom:0;left:var(--track-left);width:var(--track-width);pointer-events:none}.dope-sheet-carrier{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.dope-sheet-carrier>span{position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--accent);opacity:.7}.dope-sheet-curves{position:absolute;top:0;right:0;bottom:0;left:0}.curve-list{position:absolute;top:34px;bottom:8px;left:0;display:flex;flex-direction:column;gap:1px;padding:0 4px 0 10px;overflow-y:auto;scrollbar-width:none}.curve-list-item{display:flex;align-items:center;gap:6px;min-height:20px;padding:0 4px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;text-align:left;cursor:pointer}.curve-list-module{display:flex;flex:none;align-items:center;gap:4px;min-height:22px;margin-top:2px}.curve-list-module:first-child{margin-top:0}.curve-list-module.is-hidden{opacity:.45}.curve-list-module-label{min-width:0;overflow:hidden;padding:1px 4px;border:0;border-radius:4px;background:transparent;color:var(--text-primary);font:inherit;font-size:11px;font-weight:650;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.curve-list-module-label:hover{background:rgba(var(--ink-rgb),.06)}.curve-list-param{flex:none;margin-left:22px}.curve-list-item:hover{background:rgba(var(--ink-rgb),.06);color:var(--text-primary)}.curve-list-item.is-hidden{opacity:.4}.dope-row.is-driven .dope-row-label,.curve-list-item.is-driven .curve-list-label{color:var(--text-dim)}.dope-row-driven{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:1px 6px;border-radius:999px;background:rgba(var(--ink-rgb),.07);font-size:9.5px;font-weight:600;color:var(--text-muted);white-space:nowrap}.curve-list-driven{flex:none;margin-left:auto;color:var(--text-dim)}.dope-sheet-notice{position:absolute;bottom:8px;z-index:3;display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(var(--paper-rgb),.85);box-shadow:0 1px 4px rgba(var(--shadow-rgb),.18),inset 0 0 0 1px rgba(var(--ink-rgb),.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:10.5px;color:var(--text-muted);pointer-events:none}.dope-sheet-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-list-item.is-picked{color:var(--accent);font-weight:600}.curve-list-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-swatch{flex:none;width:10px;height:3px;border-radius:2px}.curve-list-empty{padding:4px;font-size:11px;color:var(--text-dim)}.curve-canvas{position:absolute;display:block;top:0;touch-action:none}.curve-playhead{position:absolute;top:0;pointer-events:none}.dope-sheet-side{position:absolute;top:8px;right:10px;bottom:8px;overflow-y:auto;border-radius:10px;background:rgba(var(--paper-rgb),.45);box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.07)}.key-inspector{display:flex;flex-direction:column;gap:4px;padding:9px 10px 10px}.key-inspector-title{display:flex;align-items:baseline;gap:6px;font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text-primary)}.key-inspector-count{margin-left:auto;font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--accent)}.key-inspector-sub{margin-top:-2px;font-size:10px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.key-inspector-fields{display:flex;flex-direction:column;gap:4px;margin:4px 0 2px}.key-inspector-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted)}.key-inspector-field .timeline-field{width:86px}.key-inspector-readout{font-family:var(--font-mono);font-size:11px;color:var(--text-primary)}.key-inspector-heading{margin-top:6px;font-size:9.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.key-inspector-shapes{display:flex;gap:3px}.key-inspector-shape{display:grid;flex:1;place-items:center;height:24px;padding:0;border:1px solid var(--hairline);border-radius:6px;background:transparent;cursor:pointer}.key-inspector-shape:hover{background:rgba(var(--ink-rgb),.06)}.key-inspector-shape.is-on{border-color:var(--accent);background:rgba(var(--ink-rgb),.07);box-shadow:0 0 0 1px var(--accent)}.key-inspector-caption{font-size:10px;color:var(--text-muted)}.key-shape-icon path{stroke:rgba(var(--ink-rgb),.5);stroke-width:.8;stroke-linejoin:round}.key-inspector.is-empty .key-inspector-title{color:var(--text-muted)}.key-inspector-tips{display:flex;flex-direction:column;gap:5px;margin:6px 0 0;padding:0;list-style:none;font-size:10.5px;color:var(--text-dim)}.key-inspector-tips span{display:inline-block;min-width:34px;font-weight:650;color:var(--text-muted)}.key-inspector-tips kbd{padding:0 4px;border:1px solid rgba(var(--ink-rgb),.12);border-radius:4px;font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted)}.timeline-dock>.timeline-hints{position:absolute;right:14px;bottom:calc(100% + 6px);pointer-events:none;white-space:nowrap}@media(max-width:860px){.timeline-dock>.timeline-hints{display:none}}.key-menu{position:fixed;z-index:120;display:flex;flex-direction:column;min-width:200px;max-width:240px;padding:5px;border-radius:var(--radius-md)}.key-menu-heading{padding:4px 8px 3px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.key-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer}.key-menu-item:hover,.key-menu-item:focus-visible{background:rgba(var(--ink-rgb),.07);outline:none}.key-menu-item.is-danger{color:var(--danger-text, #d6453a)}.key-menu-label{display:inline-flex;align-items:center;gap:8px}.key-menu-label path{stroke:rgba(var(--ink-rgb),.55);stroke-width:.8;stroke-linejoin:round}.key-menu-item kbd{font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.key-menu-row{display:flex;flex-wrap:wrap;gap:3px;padding:0 6px 4px}.key-menu-chip{padding:3px 7px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:11px;cursor:pointer}.key-menu-chip:hover{color:var(--text-primary);background:rgba(var(--ink-rgb),.06)}.key-menu-chip.is-on{border-color:transparent;background:var(--accent);color:var(--on-accent)}.key-menu-row.is-flush{padding:0}.key-menu-item:disabled{opacity:.45;cursor:default}.key-menu-sep{height:1px;margin:4px 6px;background:var(--hairline)}.transport-button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.transport-button svg{fill:currentColor}.transport-button:hover{background:rgba(var(--ink-rgb),.07);color:var(--text-primary)}.transport-button:active{transform:scale(.94)}.transport-button:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.transport-play{width:34px;height:34px;background:var(--accent);color:var(--on-accent);box-shadow:0 2px 6px rgba(var(--shadow-rgb),.25)}.transport-play:hover{background:var(--accent-hover);color:var(--on-accent)}.glyph-playpause{position:relative;width:12px;height:12px}.glyph-half{position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;transition:clip-path .26s cubic-bezier(.65,0,.35,1)}.glyph-half-a{clip-path:polygon(20% 0,66% 30.67%,66% 69.33%,20% 100%)}.glyph-half-b{clip-path:polygon(57.5% 25%,95% 50%,95% 50%,57.5% 75%)}.glyph-playpause.is-playing .glyph-half-a{clip-path:polygon(15% 0,40% 0,40% 100%,15% 100%)}.glyph-playpause.is-playing .glyph-half-b{clip-path:polygon(60% 0,85% 0,85% 100%,60% 100%)}.transport-sep{width:1px;height:18px;margin:0 4px;background:var(--hairline)}.deck{display:flex;align-items:baseline;justify-content:center;width:86px;height:26px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;cursor:text;contain:strict;font-family:var(--font-display);font-optical-sizing:none;font-variation-settings:"opsz" 12;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:26px;white-space:nowrap;color:var(--text-muted);transition:color .16s ease,background .14s ease}.deck:hover{background:rgba(var(--ink-rgb),.06)}.deck:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}.timeline.is-playing .deck{color:var(--text-primary)}.deck-fraction{margin-left:1px;font-size:12px;font-weight:600;color:var(--text-dim)}.deck-input{border:1px solid var(--hairline);background:rgba(var(--paper-rgb),.6);color:var(--text-primary);font-size:14px;text-align:center;cursor:text;contain:size layout}.deck-input:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.render-range-panel{display:flex;flex-direction:column;gap:7px;padding:8px;border-radius:var(--radius-sm);background:rgba(var(--ink-rgb),.035);box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.07)}.render-range-span{display:grid;grid-template-columns:auto auto auto 1fr;align-items:end;gap:8px;padding:0 2px}.render-range-arrow{padding-bottom:2px;font-size:11px;color:var(--text-dim)}.render-range-cell.is-length{align-items:flex-end}.render-range-cell{display:flex;flex-direction:column;gap:1px;min-width:0}.render-range-key{font-size:9.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.render-range-value{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.render-range-cell.is-length .render-range-value{color:var(--accent)}.render-range-track{display:flex;flex-direction:column;gap:4px}.render-range-bar{position:relative;height:8px;border-radius:3px;background:rgba(var(--ink-rgb),.06);box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.08)}.render-range-bar>span{position:absolute;top:0;bottom:0;min-width:3px;border-radius:3px;border-left:2px solid var(--work);border-right:2px solid var(--work);background:color-mix(in srgb,var(--work) 30%,transparent);box-sizing:border-box}.render-range-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-dim);white-space:nowrap}.render-range-hint{overflow:hidden;text-overflow:ellipsis}.render-range-hint.is-warning{color:var(--text-muted)}.render-range-actions{display:flex;align-items:center;gap:6px}.render-range-actions .render-range-key{margin-right:auto}@media(prefers-reduced-motion:reduce){.glyph-half{transition:none}}.node-output{position:relative;display:flex;flex-direction:column;width:auto}.render-grip{position:absolute;right:0;bottom:0;z-index:2;width:20px;height:20px;cursor:ew-resize;touch-action:none}.render-grip:after{content:"";position:absolute;right:5px;bottom:5px;width:9px;height:9px;border-right:2px solid var(--accent-soft);border-bottom:2px solid var(--accent-soft);border-bottom-right-radius:4px;opacity:0;transition:opacity .15s ease}.render-grip:hover:after,.render-grip:focus-visible:after{opacity:1}.render-grip:focus-visible{outline:none}.render-head,.render-foot{display:flex;align-items:center;gap:8px;padding:13px 16px}.render-head{justify-content:space-between;border-bottom:1px solid var(--hairline)}.render-title{font-weight:600;letter-spacing:.04em}.bitrate-readout{margin-top:-4px;text-align:right;font-size:10px;font-family:var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums}.render-info,.render-fps,.render-chain{color:var(--text-dim);font-variant-numeric:tabular-nums}.render-chain{margin-left:auto}.render-stage{position:relative;flex:none;width:100%;aspect-ratio:var(--stage-ratio, 1.7778);display:flex;align-items:center;justify-content:center;min-height:0}.render-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.render-empty{pointer-events:none;position:relative;max-width:230px;margin:0;color:var(--text-dim);text-align:center;line-height:1.6}.render-empty strong{color:var(--text-muted);font-weight:600}.render-foot{border-top:1px solid var(--hairline);color:var(--text-muted)}.render-dot{width:7px;height:7px;border-radius:50%;background:rgba(var(--ink-rgb),.22)}.render-dot.is-live{background:var(--accent)}.render-head .render-info{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.render-head .render-title,.render-head-button{flex:none}.render-head-button{display:inline-flex;align-items:center;gap:5px;margin:-5px -6px -5px 0;padding:4px 9px 4px 7px;border:1px solid var(--hairline);border-radius:999px;background:rgba(var(--paper-rgb),.7);color:var(--text-primary);font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease}.render-head-button:hover{background:var(--paper-solid);border-color:rgba(var(--ink-rgb),.22)}.floating-viewer-dock{display:grid;place-items:center;width:24px;height:24px;margin:-4px -6px -4px 0;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease}.floating-viewer-dock:hover{background:rgba(var(--ink-rgb),.07);color:var(--text-primary)}.render-docked{display:flex;align-items:center;gap:8px;margin:10px 12px;padding:9px 12px;border:1px dashed rgba(var(--ink-rgb),.18);border-radius:10px;background:rgba(var(--ink-rgb),.03);color:var(--text-muted);font:inherit;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.render-docked:hover{background:rgba(var(--ink-rgb),.06);border-color:rgba(var(--ink-rgb),.3);color:var(--text-primary)}.render-docked-action{margin-left:auto;font-weight:600;color:var(--text-primary)}.floating-viewer{position:fixed;z-index:40;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-md);animation:scaleIn .18s cubic-bezier(.16,1,.3,1)}.floating-viewer-head{display:flex;align-items:center;gap:8px;flex:none;height:42px;padding:0 14px;border-bottom:1px solid var(--hairline);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.floating-viewer-head:active{cursor:grabbing}.floating-viewer-head .render-info{margin-left:auto}.floating-viewer-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.floating-viewer-edge{position:absolute;z-index:1;touch-action:none}.floating-viewer-edge.is-n,.floating-viewer-edge.is-s{left:0;right:0;height:6px;cursor:ns-resize}.floating-viewer-edge.is-e,.floating-viewer-edge.is-w{top:0;bottom:0;width:6px;cursor:ew-resize}.floating-viewer-edge.is-n{top:0}.floating-viewer-edge.is-s{bottom:0}.floating-viewer-edge.is-e{right:0}.floating-viewer-edge.is-w{left:0}.floating-viewer-edge.is-ne,.floating-viewer-edge.is-nw,.floating-viewer-edge.is-se,.floating-viewer-edge.is-sw{z-index:2;width:16px;height:16px}.floating-viewer-edge.is-ne{top:0;right:0;cursor:nesw-resize}.floating-viewer-edge.is-nw{top:0;left:0;cursor:nwse-resize}.floating-viewer-edge.is-se{bottom:0;right:0;cursor:nwse-resize}.floating-viewer-edge.is-sw{bottom:0;left:0;cursor:nesw-resize}.floating-viewer-edge.is-se:after{content:"";position:absolute;right:6px;bottom:6px;width:9px;height:9px;border-right:2px solid var(--accent-soft);border-bottom:2px solid var(--accent-soft);border-bottom-right-radius:4px;opacity:.6;transition:opacity .15s ease}.floating-viewer-edge.is-se:hover:after{opacity:1}.node{--text-dim: #6e6e77;width:196px;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);color:var(--text-primary)}.node-title{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid var(--hairline);border-radius:var(--radius-md) var(--radius-md) 0 0;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.node-body{display:flex;flex-direction:column;gap:14px;padding:12px}.node-notice-slot{padding:10px 10px 0}.node-body>.node-notice-slot{padding:0}.node-notice{--notice-tint: var(--ink-rgb);--notice-ink: var(--text-muted);display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:10px;background:rgba(var(--notice-tint),.045);box-shadow:inset 0 0 0 1px rgba(var(--notice-tint),.07);font-size:11px;line-height:1.4;color:var(--text-muted)}.node-notice.is-warning{--notice-tint: 217, 122, 30;--notice-ink: var(--port-mod);background:rgba(var(--notice-tint),.09);box-shadow:inset 0 0 0 1px rgba(var(--notice-tint),.2)}.node-notice.is-error{--notice-tint: 214, 69, 58;--notice-ink: var(--danger-text);background:rgba(var(--notice-tint),.08);box-shadow:inset 0 0 0 1px rgba(var(--notice-tint),.2)}.node-notice.is-ok{--notice-ink: var(--port-sound)}.node-notice-icon{flex:none;margin-top:1px;color:var(--notice-ink)}.node-notice.is-busy .node-notice-icon,.node-notice.is-info .node-notice-icon{color:var(--text-primary)}.node-notice-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.node-notice-title{font-size:11.5px;font-weight:600;color:var(--text-primary)}.node-notice-message{color:var(--text-primary)}.node-notice-detail,.node-notice-message{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.node-notice-figures,.node-notice-figures-inline{font-variant-numeric:tabular-nums}.node-notice-figures{display:flex;justify-content:space-between;color:var(--text-dim);font-size:10px}.node-notice-track{position:relative;height:3px;margin:4px 0 2px;border-radius:2px;background:rgba(var(--ink-rgb),.1);overflow:hidden}.node-notice-bar{height:100%;border-radius:2px;background:var(--accent);transition:width .15s linear}.node-notice-track.is-indeterminate .node-notice-bar{width:35%;animation:noticeSweep 1.2s ease-in-out infinite}@keyframes noticeSweep{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.node-notice-track.is-indeterminate .node-notice-bar{animation:none;width:100%;opacity:.4}}.node-meta{display:flex;flex-direction:column;gap:2px;padding:0 12px 11px;color:var(--text-dim);font-size:11px;line-height:1.4}.node-meta-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.node-meta-detail{display:flex;flex-wrap:wrap;font-variant-numeric:tabular-nums}.node-meta-detail>span+span:before{content:"·";margin:0 5px}.react-flow__node.selected .node,.node-drop-active{box-shadow:var(--glass-shadow),0 0 0 2px var(--accent-soft)}.node-group{--group-rim: inset 0 1px 0 rgba(var(--rim-rgb), .95), inset 0 -1px 0 rgba(var(--rim-rgb), .55), 0 0 0 1px rgba(var(--ring-rgb), .07);--group-stack: 0 9px 0 -4px rgba(var(--paper-rgb), .82), 0 9px 0 -3px rgba(var(--ring-rgb), .1), 0 17px 0 -8px rgba(var(--paper-rgb), .6), 0 17px 0 -7px rgba(var(--ring-rgb), .07);--group-lift: 0 1px 2px rgba(var(--shadow-rgb), var(--shadow-contact)), 0 20px 34px rgba(var(--shadow-rgb), var(--shadow-lift));width:220px;box-shadow:var(--group-rim),var(--group-stack),var(--group-lift)}.react-flow__node.selected .node-group{box-shadow:var(--group-rim),0 0 0 2px var(--accent-soft),var(--group-stack),var(--group-lift)}.group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.group-name-input{flex:1;min-width:0;padding:1px 4px;margin:-2px -4px;border:1px solid var(--hairline);border-radius:4px;background:rgba(var(--paper-rgb),.9);color:var(--text-primary);font:inherit;letter-spacing:inherit;text-transform:inherit}.group-ungroup{display:flex;align-items:center;gap:4px;flex:none;padding:2px 8px 2px 6px;margin:-3px -4px -3px 0;border:1px solid var(--hairline);border-radius:999px;background:rgba(var(--paper-rgb),.7);color:var(--text-muted);font:inherit;font-size:10.5px;font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.group-ungroup:hover{background:var(--paper-solid);border-color:rgba(var(--ink-rgb),.18);color:var(--text-primary)}.group-body{gap:0}.group-members{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.group-member{max-width:100%;padding:2px 8px;border-radius:999px;background:rgba(var(--ink-rgb),.055);color:var(--text-muted);font-size:10.5px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-params{display:flex;flex-direction:column;gap:12px;margin:12px -12px 0;padding:11px 12px 0;border-top:1px solid var(--hairline)}.group-params-module{display:flex;flex-direction:column;gap:10px}.group-params-heading{margin-bottom:-4px;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.group-ports{display:flex;flex-direction:column;gap:9px;margin:12px -12px 0;padding:11px 12px 0;border-top:1px solid var(--hairline)}.group-port-row{display:flex;gap:8px}.group-port{position:relative;display:flex;flex:1;align-items:center;min-width:0;min-height:16px}.group-port-out{justify-content:flex-end;text-align:right}.group-port-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:11px}.group-port-module{color:var(--text-dim)}.group-port>.react-flow__handle.port{top:50%}.group-port-in>.react-flow__handle.port{left:-12px}.group-port-out>.react-flow__handle.port{right:-12px;left:auto}.snap-guide{position:absolute;top:0;left:0;z-index:-1;opacity:.3;pointer-events:none}.snap-guide-horizontal{background:repeating-linear-gradient(to right,var(--accent) 0 var(--dash),transparent var(--dash) calc(var(--dash) * 2))}.snap-guide-vertical{background:repeating-linear-gradient(to bottom,var(--accent) 0 var(--dash),transparent var(--dash) calc(var(--dash) * 2))}.image-drop{align-items:center;justify-content:center;width:100%;min-height:92px;padding:10px;border:0;background:transparent;color:var(--text-dim);font:inherit;cursor:pointer}.image-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;box-sizing:border-box;padding:16px 8px;border:1px dashed rgba(var(--ink-rgb),.22);border-radius:var(--radius-sm);line-height:1.5}.image-drop.has-media{min-height:0}.image-frame{position:relative;display:block;width:fit-content;max-width:100%;margin:0 auto;border-radius:var(--radius-sm);background:repeating-conic-gradient(rgba(var(--ink-rgb),.08) 0 25%,transparent 0 50%) 0 0 / 12px 12px;box-shadow:0 0 0 1px var(--hairline)}.image-thumb{display:block;max-width:100%;max-height:120px;margin:0 auto;border-radius:var(--radius-sm)}.image-badge{position:absolute;right:5px;bottom:5px;padding:1px 6px;border-radius:999px;background:rgba(var(--ink-rgb),.62);color:var(--on-accent);font-size:10px;line-height:16px;font-variant-numeric:tabular-nums;pointer-events:none}.audio-frame{width:100%;height:48px;background:rgba(var(--ink-rgb),.04)}.image-drop.synth-frame{cursor:default}.audio-wave{display:block;width:100%;height:100%;fill:var(--port-sound);opacity:.85}.audio-playhead{position:absolute;top:2px;bottom:2px;left:0;right:0;pointer-events:none;will-change:transform}.audio-playhead:before{content:"";position:absolute;top:0;bottom:0;left:-.75px;width:1.5px;background:var(--text-primary);border-radius:1px}.mod-scope{position:relative;height:34px;border-radius:var(--radius-sm);background:rgba(var(--ink-rgb),.04)}.shape-preview{height:56px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(var(--ink-rgb),.08)}.shape-preview.is-transparent{background:repeating-conic-gradient(rgba(var(--ink-rgb),.1) 0 25%,transparent 0 50%) 0 0 / 10px 10px}.shape-preview svg{display:block;width:100%;height:100%}.mod-scope svg{display:block;width:100%;height:100%}.mod-scope-bound{position:absolute;right:5px;color:var(--text-dim);font-size:9px;font-variant-numeric:tabular-nums;line-height:1;pointer-events:none}.mod-scope-bound.is-high{top:3px}.mod-scope-bound.is-low{bottom:3px}.mod-scope-window{position:absolute;left:5px;bottom:3px;color:var(--text-dim);font-size:9px;font-variant-numeric:tabular-nums;line-height:1;pointer-events:none}.mod-scope-trace{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}.react-flow__handle.port{pointer-events:all;z-index:3;width:16px;height:16px;border-radius:50%;border:1px solid var(--glass-border);background:rgba(var(--paper-rgb),.92);box-shadow:inset 0 1px rgba(var(--rim-rgb),.95),0 0 0 1px rgba(var(--ink-rgb),.08),0 1px 3px rgba(var(--shadow-rgb),.14);transition:box-shadow .14s ease}.react-flow__handle.port:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--port-image-soft);transition:background .14s ease,inset .14s ease}.react-flow__handle.port:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%}.react-flow__handle.port:hover,.react-flow__handle.port.connectingfrom,.react-flow__handle.port.connectingto{box-shadow:inset 0 1px rgba(var(--rim-rgb),.95),0 0 0 1px rgba(var(--ink-rgb),.16),0 2px 6px rgba(var(--shadow-rgb),.2)}.react-flow__handle.port:hover:after,.react-flow__handle.port.connectingfrom:after,.react-flow__handle.port.connectingto:after{background:var(--port-image);top:3px;right:3px;bottom:3px;left:3px}.react-flow__handle.port-mod:after{background:var(--port-mod-soft)}.react-flow__handle.port-mod:hover:after,.react-flow__handle.port-mod.connectingfrom:after,.react-flow__handle.port-mod.connectingto:after{background:var(--port-mod)}.react-flow__handle.port-render:after{background:var(--port-render-soft)}.react-flow__handle.port-render:hover:after,.react-flow__handle.port-render.connectingfrom:after,.react-flow__handle.port-render.connectingto:after{background:var(--port-render)}.react-flow__handle.port-sound:after{background:var(--port-sound-soft)}.react-flow__handle.port-sound:hover:after,.react-flow__handle.port-sound.connectingfrom:after,.react-flow__handle.port-sound.connectingto:after{background:var(--port-sound)}.react-flow__handle.port-text:after{background:var(--port-text-soft)}.react-flow__handle.port-text:hover:after,.react-flow__handle.port-text.connectingfrom:after,.react-flow__handle.port-text.connectingto:after{background:var(--port-text)}.react-flow__handle.port-dual:after{background:linear-gradient(135deg,var(--port-image-soft) 0% 50%,var(--port-render-soft) 50% 100%)}.react-flow__handle.port-dual:hover:after,.react-flow__handle.port-dual.connectingfrom:after,.react-flow__handle.port-dual.connectingto:after{background:linear-gradient(135deg,var(--port-image) 0% 50%,var(--port-render) 50% 100%);top:3px;right:3px;bottom:3px;left:3px}.react-flow__handle.port-in{left:0}.react-flow__handle.port-out{right:0}.react-flow__handle.port-title{top:16px}.node-output>.react-flow__handle.port-title{top:22px}.node-input,.param-row{position:relative}.param-row.is-inactive>.param-control,.node-input.is-inactive>.control-label{opacity:.4;transition:opacity .16s ease}.node-input{display:flex;align-items:center;min-height:16px}.node-input>.react-flow__handle.port-in,.param-row>.react-flow__handle.port-param{left:-12px}.react-flow__handle.port-param{top:calc(var(--control-line) / 2);width:11px;height:11px}.param-row.is-one-line>.react-flow__handle.port-param{top:50%}.react-flow__handle.port-param:after{top:2px;right:2px;bottom:2px;left:2px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--port-mod-soft)}.react-flow__handle.port-param:hover:after,.react-flow__handle.port-param.connectingfrom:after,.react-flow__handle.port-param.connectingto:after{background:var(--port-mod);box-shadow:none}.react-flow__handle.port-param:before{top:-6px;right:-6px;bottom:-6px;left:-6px}.react-flow__handle.port-param.port-field:after,.react-flow__handle.port-param.port-field:hover:after,.react-flow__handle.port-param.port-field.connectingfrom:after,.react-flow__handle.port-param.port-field.connectingto:after{top:1px;right:1px;bottom:1px;left:1px;border-radius:0;box-shadow:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(90deg,var(--port-mod-soft) 0% 50%,var(--port-image-soft) 50% 100%)}.react-flow__handle.port-param.port-field:hover:after,.react-flow__handle.port-param.port-field.connectingfrom:after,.react-flow__handle.port-param.port-field.connectingto:after{background:linear-gradient(90deg,var(--port-mod) 0% 50%,var(--port-image) 50% 100%)}.react-flow__handle.port-param.port-field.is-field-wired:after{background:var(--port-image)}.react-flow__handle.port-mod.is-field:after,.react-flow__handle.port-mod.is-field:hover:after,.react-flow__handle.port-mod.is-field.connectingfrom:after,.react-flow__handle.port-mod.is-field.connectingto:after{top:3px;right:3px;bottom:3px;left:3px;border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:var(--port-image-soft)}.react-flow__handle.port-mod.is-field:hover:after,.react-flow__handle.port-mod.is-field.connectingfrom:after,.react-flow__handle.port-mod.is-field.connectingto:after{background:var(--port-image)}.param-control.is-locked{opacity:.38;filter:grayscale(1);pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__handle.port-param.is-invalid:after{-webkit-mask:none;mask:none;padding:0;background:transparent;box-shadow:inset 0 0 0 1.5px var(--port-invalid)}.stat-readout{display:flex;align-items:baseline;justify-content:space-between;font-variant-numeric:tabular-nums}.stat-readout-value{font-size:15px;color:var(--port-mod)}.control-track{position:relative;display:flex;align-items:center}.control-live-rail{position:absolute;top:50%;left:6.5px;right:6.5px;height:0;pointer-events:none}.control-live-dot{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.control-live-dot:before{content:"";position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:var(--port-mod);transform:translate(-50%,-50%)}.control.is-wired .control-value{color:var(--port-mod);font-weight:600}.param-row.is-keyed .control-value,.param-row-bare.is-keyed .control-value,.control.is-animated .control-value{color:var(--key);font-weight:600}.control.is-animated .control-live-dot:before{background:var(--key)}.control.is-animated .control-slider{cursor:default}.control.is-animated .control-slider::-webkit-slider-thumb{visibility:hidden}.control.is-animated .control-slider::-moz-range-thumb{visibility:hidden}.param-row-bare{display:contents}.key-diamond{display:inline-grid;flex:none;place-items:center;width:14px;height:14px;margin:0 auto 0 -5px;padding:0;border:0;border-radius:3px;background:transparent;color:rgba(var(--ink-rgb),.35);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.key-diamond svg path{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}.param-row:hover .key-diamond,.param-row-bare:hover .key-diamond,.key-diamond:focus-visible,.key-diamond.is-animated{opacity:1}@media(hover:none){.key-diamond{opacity:.7}}.key-diamond:hover,.key-diamond.is-animated{color:var(--key)}.key-diamond.is-on-key svg path{fill:currentColor}.key-diamond.is-overridden{opacity:.45}.key-diamond:focus-visible{outline:2px solid var(--accent-soft);outline-offset:0}.control.is-derived .control-value{color:var(--text-dim)}.control.is-wired .control-slider{cursor:default}.control.is-wired .control-slider::-webkit-slider-thumb{visibility:hidden}.control.is-wired .control-slider::-moz-range-thumb{visibility:hidden}.control-value-button{padding:0 3px;margin-right:-3px;border:0;border-radius:4px;background:transparent;font:inherit;font-size:11px;font-variant-numeric:tabular-nums;line-height:var(--control-line);cursor:text}.control-value-button:hover,.control-value-button:focus-visible{background:rgba(var(--ink-rgb),.07);outline:none}.control-value-edit{flex:none;width:64px;height:var(--control-line);margin-right:-3px;padding:0 3px;border:1px solid var(--accent-soft);border-radius:4px;background:var(--paper-solid);color:var(--text-primary);font:inherit;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;outline:none}.control-row .control-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-row .control-value{flex:none;white-space:nowrap}.control{display:flex;flex-direction:column;gap:8px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:8px;height:var(--control-line);line-height:var(--control-line)}.control-label{color:var(--text-muted);font-size:11px}.control-value{color:var(--text-primary);font-size:11px;font-variant-numeric:tabular-nums}.control-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;margin:-7px 0;background:transparent;outline:none;cursor:pointer}.control-slider::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:rgba(var(--ink-rgb),.14)}.control-slider::-moz-range-track{height:4px;border-radius:999px;background:rgba(var(--ink-rgb),.14)}.control-axis{display:grid;grid-template-columns:10px 1fr 42px;align-items:center;gap:8px}.control-axis-name{color:var(--text-dim);font-size:10px;font-weight:600}.control-axis .control-value{text-align:right}.control-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;margin-top:-4.5px;border:1px solid rgba(var(--ink-rgb),.2);border-radius:50%;background:var(--knob);box-shadow:0 1px 3px rgba(var(--shadow-rgb),.25);cursor:grab}.control-slider::-moz-range-thumb{width:13px;height:13px;border:1px solid rgba(var(--ink-rgb),.2);border-radius:50%;background:var(--knob);box-shadow:0 1px 3px rgba(var(--shadow-rgb),.25);cursor:grab}.control-slider:active{cursor:grabbing}.control-slider:active::-webkit-slider-thumb{cursor:grabbing}.control-slider:active::-moz-range-thumb{cursor:grabbing}.control-inline{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.control-toggle{position:relative;flex:0 0 auto;width:30px;height:18px;padding:0;border:0;border-radius:999px;background:rgba(var(--ink-rgb),.12);box-shadow:inset 0 0 0 1px var(--hairline);cursor:pointer;transition:background .15s ease}.control-toggle.is-on{background:var(--accent);box-shadow:none}.control-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--knob);box-shadow:0 1px 2px rgba(var(--shadow-rgb),.3);transition:transform .15s ease,background .15s ease}.control-toggle.is-on .control-toggle-knob{background:var(--on-accent);transform:translate(12px)}.control-toggle:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.control-select{flex:0 1 auto;min-width:0;padding:3px 6px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.7);color:var(--text-primary);font:inherit;font-size:11px;cursor:pointer}.dropdown-trigger{display:inline-flex;align-items:center;gap:6px;max-width:100%;text-align:left;transition:border-color .15s ease}.dropdown-trigger:hover:not(:disabled),.dropdown-trigger.is-open{border-color:rgba(var(--ink-rgb),.2)}.dropdown-trigger:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}.dropdown-trigger:disabled{opacity:.5;cursor:default}.dropdown-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-value.is-placeholder{color:var(--text-dim)}.dropdown-chevron{flex:none;color:var(--text-muted);transition:transform .15s ease}.dropdown-trigger.is-open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{position:fixed;z-index:110;max-width:min(320px,calc(100vw - 16px));padding:6px;border-radius:var(--radius-md);overflow-y:auto;overscroll-behavior:contain;outline:none;font-family:var(--font-ui);font-size:12px}.dropdown-group+.dropdown-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--hairline)}.dropdown-heading{padding:5px 10px 3px;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--text-primary);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dropdown-item.is-active{background:rgba(var(--ink-rgb),.07)}.dropdown-item.is-selected{font-weight:600}.dropdown-check{flex:none}.control-scrub{cursor:ew-resize;touch-action:none}.control-scrub:hover{color:var(--text-primary)}.control-field{width:72px;padding:3px 6px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.7);color:var(--text-primary);font:inherit;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.control-field::-webkit-inner-spin-button,.control-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.control-field-live{padding:3px 7px}.control-swatch{position:relative;overflow:hidden;flex:0 0 auto;width:28px;height:16px;border-radius:var(--radius-sm);background:var(--swatch, transparent);box-shadow:inset 0 0 0 1px var(--hairline),inset 0 1px #ffffff2e;cursor:pointer;transition:box-shadow .12s ease}.control-swatch:hover{box-shadow:inset 0 0 0 1px var(--text-dim),inset 0 1px #ffffff2e}.control-swatch:focus-within{outline:2px solid var(--accent);outline-offset:1px}.control-swatch input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}.control-color{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.control-color .control-swatch{width:20px;height:20px}.control-hex{display:inline-flex;align-items:center;height:20px;padding:0 6px 0 5px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.7);color:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums;cursor:text}.control-hex:focus-within{border-color:var(--accent)}.control-hex input{width:6ch;padding:0;border:0;background:none;color:var(--text-primary);font:inherit;letter-spacing:.02em;outline:none}.toolbar-menu-group{display:flex;flex-direction:column}.toolbar-menu-group+.toolbar-menu-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--hairline)}.toolbar-menu-heading{padding:5px 11px 3px;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.toolbar-menu-categorized{display:flex;flex-direction:column;max-height:460px;padding:0;overflow:hidden}.category-menu{display:grid;grid-template-columns:auto 240px;grid-template-rows:minmax(0,1fr);flex:1 1 auto;min-height:0}.category-menu-sizer{display:flex;flex-direction:column;height:0;margin-top:-2px;overflow:hidden;visibility:hidden}.category-menu-index{display:flex;gap:2px;flex-direction:column;padding:6px;border-right:1px solid var(--hairline);overflow-y:auto;overscroll-behavior:contain}.category-menu-tab{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-weight:500;text-align:left;white-space:nowrap;cursor:pointer}.category-menu-tab:hover{background:rgba(var(--ink-rgb),.07);color:var(--text-primary)}.category-menu-tab.is-active{background:var(--paper-solid);border-color:var(--hairline);color:var(--text-primary)}.category-menu-count{color:var(--text-dim);font-family:var(--font-mono);font-size:10px}.category-menu-entries{padding:6px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.quick-add{position:fixed;z-index:30}.quick-add-panel{display:flex;flex-direction:column;width:200px;padding:6px;border-radius:var(--radius-md)}.quick-add-folders{display:flex;flex-direction:column;max-height:calc(100vh - var(--gutter) * 2 - 50px);overflow-y:auto;overscroll-behavior:contain}.quick-add-section+.quick-add-section{margin-top:4px;padding-top:4px;border-top:1px solid var(--hairline)}.quick-add-folder{padding-top:6px;padding-bottom:6px}.quick-add-sub{position:absolute;left:calc(100% + 4px);width:210px;max-height:calc(100vh - var(--gutter) * 2);overflow-y:auto;overscroll-behavior:contain}.quick-add-sub.is-flipped{left:auto;right:calc(100% + 4px)}.quick-add-search{margin-bottom:4px;padding:7px 10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.6);color:var(--text-primary);font:inherit;outline:none}.quick-add-search:focus{border-color:rgba(var(--ink-rgb),.24);background:rgba(var(--paper-rgb),.9)}.quick-add-search::-webkit-search-cancel-button{display:none}.quick-add-list{max-height:320px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.quick-add-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 11px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;outline:none}.quick-add-item:hover,.quick-add-item:focus-visible,.quick-add-folder.is-open{background:rgba(var(--ink-rgb),.07)}.quick-add-folder svg{color:var(--text-muted)}.quick-add-text{display:flex;flex-direction:column;gap:1px;min-width:0}.quick-add-label,.quick-add-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-add-hint{color:var(--text-muted);font-size:10px}.quick-add-item .tag{flex:none}.quick-add-empty{padding:8px 11px;color:var(--text-muted)}.quick-add-context{padding:2px 11px 6px;color:var(--text-muted);font-size:10px}.react-flow{background:transparent}.react-flow__pane.selection{cursor:default}.react-flow__selection{background:rgba(var(--ink-rgb),.05);border:1px solid rgba(var(--ink-rgb),.28);border-radius:2px}.link-edge-halo{fill:none;stroke:rgba(var(--paper-rgb),.88);stroke-width:4.2;stroke-linecap:round;pointer-events:none}.react-flow__edge.selected .link-edge-halo,.react-flow__edge:hover .link-edge-halo{stroke:var(--paper-solid);stroke-width:5.4;filter:drop-shadow(0 0 2px rgba(var(--paper-rgb),.95))}.react-flow__edge-path{stroke:rgba(var(--ink-rgb),.7);stroke-width:1.8}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path{stroke:var(--accent);stroke-width:2.2}.react-flow__edge-path.link-edge-mod{stroke:var(--port-mod);stroke-width:1.8;stroke-dasharray:4 4}.react-flow__edge.selected .react-flow__edge-path.link-edge-mod,.react-flow__edge:hover .react-flow__edge-path.link-edge-mod{stroke:var(--port-mod);stroke-width:2.2;filter:drop-shadow(0 0 2px rgba(217,122,30,.6))}.react-flow__edge-path.link-edge-field{stroke:var(--port-image);stroke-width:1.8;stroke-dasharray:5 3}.react-flow__edge.selected .react-flow__edge-path.link-edge-field,.react-flow__edge:hover .react-flow__edge-path.link-edge-field{stroke:var(--port-image);stroke-width:2.2;filter:drop-shadow(0 0 2px rgba(47,111,214,.55))}.link-edge-flow-field{stroke:#4483eebf;stroke-dasharray:16 64;animation:linkModFlow 1.8s linear infinite}.react-flow__edge-path.link-edge-invalid{stroke:var(--port-invalid);stroke-width:1.8}.react-flow__edge.selected .react-flow__edge-path.link-edge-invalid,.react-flow__edge:hover .react-flow__edge-path.link-edge-invalid{stroke:var(--port-invalid);stroke-width:2.2}.react-flow__edge-path.link-edge-render{stroke:var(--port-render);stroke-width:1.8}.react-flow__edge.selected .react-flow__edge-path.link-edge-render,.react-flow__edge:hover .react-flow__edge-path.link-edge-render{stroke:var(--port-render);stroke-width:2.2;filter:drop-shadow(0 0 3px rgba(168,85,247,.5))}.react-flow__edge-path.link-edge-sound{stroke:var(--port-sound);stroke-width:1.8;stroke-dasharray:1 3;stroke-linecap:round}.react-flow__edge.selected .react-flow__edge-path.link-edge-sound,.react-flow__edge:hover .react-flow__edge-path.link-edge-sound{stroke:var(--port-sound);stroke-width:2.2}.react-flow__edge-path.link-edge-text{stroke:var(--port-text);stroke-width:1.8;stroke-dasharray:6 3}.react-flow__edge.selected .react-flow__edge-path.link-edge-text,.react-flow__edge:hover .react-flow__edge-path.link-edge-text{stroke:var(--port-text);stroke-width:2.2}.react-flow__edge.edge-insert-target .react-flow__edge-path{stroke:var(--accent);stroke-width:2.6;stroke-dasharray:6 5}.react-flow__edge.edge-insert-target .link-edge-halo{stroke:var(--paper-solid);stroke-width:6;filter:drop-shadow(0 0 3px rgba(var(--paper-rgb),.95))}.link-edge-flow{fill:none;stroke:#4483eeb3;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:24 96;pointer-events:none;animation:linkFlow 2.6s linear infinite}.link-edge-flow-render{stroke:#c084fcb3}.link-edge-flow-sound{stroke:#34c472b3;stroke-dasharray:16 64;animation:linkModFlow 1.8s linear infinite}.link-edge-flow-mod{stroke:#fb923cb3;stroke-dasharray:16 64;animation:linkModFlow 1.8s linear infinite}@keyframes linkFlow{0%{stroke-dashoffset:120}to{stroke-dashoffset:0}}@keyframes linkModFlow{0%{stroke-dashoffset:80}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.link-edge-flow{display:none}}.link-edge-hit{fill:none;stroke:transparent;stroke-width:22;pointer-events:stroke;cursor:pointer}.link-edge-remove{position:absolute;pointer-events:all;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--hairline);border-radius:50%;background:rgba(var(--paper-rgb),.9);color:var(--text-muted);cursor:pointer;box-shadow:0 1px 4px rgba(var(--shadow-rgb),.18)}.link-edge-remove:hover{background:var(--accent);border-color:transparent;color:var(--on-accent)}.react-flow__connection-path{stroke:var(--accent);stroke-width:2;filter:drop-shadow(0 0 1.5px var(--paper-solid)) drop-shadow(0 0 3px rgba(var(--paper-rgb),.95))}.pending-wire{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.is-wire-pinned .react-flow__connectionline{display:none}.react-flow__node{font-family:var(--font-ui);font-size:13px}.react-flow__attribution{background:transparent;color:var(--text-dim)}.node-render,.node-formatter{width:240px}.node-background,.node-text,.node-ai-image{width:220px}.text-node-field{display:block;width:100%;box-sizing:border-box;min-height:64px;max-height:240px;padding:6px 8px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.7);color:var(--text-primary);font:inherit;font-size:11.5px;line-height:1.4;resize:vertical}.text-node-field:focus{outline:none;border-color:rgba(var(--ink-rgb),.3)}.ai-inputs{display:flex;flex-direction:column;gap:6px}.ai-input{gap:8px;min-width:0}.ai-input>.control-label{flex:none}.ai-input-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--text-primary);font-size:11px}.ai-input-preview.is-empty{color:var(--text-dim)}.ai-picture{display:flex;justify-content:center}.ai-empty{color:var(--text-dim);font-size:11px}.ai-spin{animation:aiSpin .9s linear infinite}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-settings{display:flex;flex-direction:column;gap:6px}.ai-model{max-width:130px}.ai-generate-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;margin-top:4px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer}.ai-generate-btn:hover:not(:disabled){background:var(--accent-hover)}.ai-generate-btn:active:not(:disabled){transform:scale(.98)}.ai-generate-btn:disabled{opacity:.4;cursor:not-allowed}.ai-generate-btn.is-running,.ai-generate-btn.is-running:hover{background:rgba(var(--ink-rgb),.1);color:var(--text-primary)}.scope-stage,.recorder-stage{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#0a0b0e}.scope-canvas,.recorder-canvas{display:block;width:100%;height:100%}.scope-stage{aspect-ratio:560 / 300}.scope-source{display:none}.scope-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:12px;text-align:center;font-size:11px;color:#ffffff8c}.node-scope .export-format-btn{font-size:9.5px;letter-spacing:.02em}.node-projector .render-action-btn{background:var(--port-image);box-shadow:0 2px 6px #2f6fd659}.node-projector .render-action-btn:hover:not(:disabled){background:#2558ad}.recorder-icon{color:var(--record);fill:var(--record)}.recorder-counter{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:999px;background:#0009;color:#fff;font-size:10px;font-variant-numeric:tabular-nums}.recorder-counter-dot{width:7px;height:7px;border-radius:50%;background:var(--record);animation:recorder-blink 1s steps(2,start) infinite}@keyframes recorder-blink{to{visibility:hidden}}.node-recorder .recorder-action-btn{background:var(--record);box-shadow:0 2px 6px #e5484d59}.node-recorder .recorder-action-btn:hover:not(:disabled){background:#c93a3f}.node-recorder .recorder-action-btn.is-recording{background:var(--text-primary);color:rgb(var(--paper-rgb));box-shadow:none}.node-recorder.is-recording{box-shadow:0 0 0 1.5px var(--record),0 8px 24px #e5484d2e}.fullscreen-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0;transition:opacity .25s cubic-bezier(.16,1,.3,1)}.fullscreen-background-canvas,.fullscreen-background-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.bg-toggle-btn{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.6);color:var(--text-muted);font-family:var(--font-ui);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.bg-toggle-btn:hover{background:rgba(var(--paper-rgb),.9);color:var(--text-primary);border-color:rgba(var(--ink-rgb),.2)}.bg-toggle-btn.is-active{background:var(--accent);color:var(--on-accent);border-color:transparent}.bg-toggle-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);transition:background .15s ease}.bg-toggle-btn.is-active .bg-toggle-dot{background:#22c55e}.bg-segmented-control{display:inline-flex;padding:2px;background:rgba(var(--ink-rgb),.06);border-radius:var(--radius-sm);gap:2px}.bg-seg-btn{padding:3px 8px;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:10px;font-weight:600;cursor:pointer;transition:all .15s ease}.bg-seg-btn:hover{color:var(--text-primary)}.bg-seg-btn.is-active{background:var(--paper-solid);color:var(--text-primary);box-shadow:0 1px 3px rgba(var(--shadow-rgb),.1)}.export-recipe-card{display:flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(var(--ink-rgb),.04);border:1px solid var(--hairline);border-radius:var(--radius-sm)}.export-recipe-card.is-default{opacity:.8;border-style:dashed}.export-recipe-tag{font-size:10px;font-weight:600;letter-spacing:.05em;padding:2px 6px;border-radius:4px;background:var(--accent);color:var(--on-accent)}.export-recipe-card.is-default .export-recipe-tag{background:var(--text-dim)}.export-recipe-desc{display:flex;flex-direction:column;font-size:10px;color:var(--text-muted);line-height:1.35}.formatter-loop-toggle{padding-top:4px;border-top:1px solid var(--hairline)}.export-formats{display:flex;gap:2px;padding:2px;background:rgba(var(--ink-rgb),.06);border-radius:var(--radius-sm)}.export-format-btn{flex:1;padding:4px 2px;font-size:10px;font-weight:500;letter-spacing:.04em;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--text-dim);cursor:pointer;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.export-format-btn:hover{color:var(--text-primary)}.export-format-btn.is-active{background:rgba(var(--paper-rgb),.85);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px rgba(var(--shadow-rgb),.12)}.export-time-row{display:flex;align-items:center;gap:6px}.export-time-row .control{flex:1}.export-now-btn{padding:3px 7px;font-size:10px;font-weight:500;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.5);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease}.export-now-btn:hover{background:rgba(var(--paper-rgb),.85);color:var(--text-primary)}.render-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;margin-top:4px;border:0;border-radius:var(--radius-sm);background:var(--port-render);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 6px #a855f759;transition:background .14s ease,transform .14s ease,opacity .14s ease}.render-action-btn:hover:not(:disabled){background:#9333ea}.render-action-btn:active:not(:disabled){transform:scale(.98)}.render-action-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.render-badge-baked{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:#a855f726;color:var(--port-render-text);font-size:10px;font-weight:600}.baked-card{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding:8px;border:1px solid var(--port-render-soft);border-radius:var(--radius-sm);background:#a855f712;box-shadow:inset 3px 0 0 var(--port-render);transition:opacity .14s ease}.baked-card.is-replacing{opacity:.6}.baked-card.is-missing{border-style:dashed;box-shadow:none;background:rgba(var(--ink-rgb),.03)}.baked-head{display:flex;align-items:center;gap:6px;min-width:0}.baked-tag{padding:2px 6px;border-radius:4px;background:var(--port-render);color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em}.baked-card.is-missing .baked-tag{background:var(--text-dim)}.baked-title{font-size:11px;font-weight:600;color:var(--text-primary)}.baked-when{margin-left:auto;font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.baked-delete{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.baked-title+.baked-delete{margin-left:auto}.baked-delete:hover:not(:disabled){color:var(--port-invalid);background:#d6453a1a;border-color:#d6453a4d}.baked-delete:disabled{opacity:.4;cursor:not-allowed}.baked-preview{display:flex;align-items:center;justify-content:center;height:112px;overflow:hidden;border-radius:4px;background:repeating-conic-gradient(rgba(var(--ink-rgb),.06) 0% 25%,transparent 0% 50%) 0 0 / 12px 12px,rgba(var(--ink-rgb),.08)}.baked-preview video,.baked-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.baked-archive{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--port-render-text);font-size:10px;font-weight:600}.baked-meta{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.baked-save{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:opacity .14s ease,transform .14s ease}.baked-save:active:not(:disabled){transform:scale(.98)}.baked-save:disabled{opacity:.4;cursor:not-allowed}.export-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;margin-top:4px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 6px rgba(var(--shadow-rgb),.2);transition:background .14s ease,transform .14s ease,opacity .14s ease}.export-action-btn:hover:not(:disabled){background:var(--accent-hover)}.export-action-btn:active:not(:disabled){transform:scale(.98)}.export-action-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.export-progress{display:flex;flex-direction:column;gap:6px;margin-top:4px}.export-progress-track{width:100%;height:5px;border-radius:3px;background:rgba(var(--ink-rgb),.08);overflow:hidden}.export-progress-bar{height:100%;border-radius:3px;background:var(--accent);transition:width .1s linear}.export-progress-status{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.export-cancel-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid var(--hairline);border-radius:50%;background:rgba(var(--paper-rgb),.8);color:var(--text-muted);cursor:pointer;transition:background .14s ease,color .14s ease}.export-cancel-btn:hover{background:#ef4444;border-color:transparent;color:#fff}.export-error{padding:6px 8px;font-size:10px;line-height:1.4;border-radius:var(--radius-sm);background:#ef444414;color:var(--danger-text);border:1px solid rgba(239,68,68,.2)}.export-warning{padding:6px 8px;font-size:10px;line-height:1.4;border-radius:var(--radius-sm);background:rgba(var(--ink-rgb),.05);color:var(--text-muted);border:1px solid var(--hairline)}.react-flow__handle.port.is-unused{opacity:.45}.hint-bar{position:absolute;top:var(--edge-top);display:flex;align-items:center;height:44px;left:50%;z-index:5;transform:translate(-50%);pointer-events:none;white-space:nowrap}.hint-bar-row{display:flex;align-items:center;gap:16px;padding:5px 12px;border-radius:999px;background:rgba(var(--paper-rgb),.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-dim);font-size:11px;animation:hintIn .22s ease-out}.hint{display:inline-flex;align-items:center;gap:6px;transition:color .12s ease}.hint-keys{display:inline-flex;gap:2px}.hint kbd{min-width:16px;padding:0 4px;border:1px solid rgba(var(--ink-rgb),.12);border-radius:4px;font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:15px;text-align:center;color:var(--text-muted);transition:background .12s ease,color .12s ease,border-color .12s ease}.hint.is-held{color:var(--text-primary)}.hint.is-held kbd{border-color:transparent;background:var(--accent);color:var(--on-accent)}@keyframes hintIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hint-bar-row{animation:none}}@media(max-width:860px){.hint-bar{display:none}}@media(max-width:1100px){.toolbar-label{display:none}.toolbar-button:has(>.toolbar-label){padding:7px}}@media(max-width:860px){.timeline-dock{left:calc(var(--edge-left) + var(--add-corner-width, 0px) + 8px)}.timeline-wide{display:none}.toolbar,.help-corner{max-height:calc(100% - var(--edge-top) - var(--edge-bottom) - 60px)}.help-menu .toolbar-menu-item{min-height:40px}}.add-corner{position:absolute;bottom:var(--edge-bottom);left:var(--edge-left);z-index:10;display:flex;gap:8px}.add-button{display:flex;align-items:center;gap:8px;height:46px;padding:0 20px 0 15px;border-radius:999px;color:var(--text-primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform .14s ease}.add-button:active{transform:scale(.97)}.add-corner .add-delete{display:grid;place-items:center;flex:none;width:46px;height:46px;aspect-ratio:1;padding:0;border-radius:50%;color:var(--danger-text);cursor:pointer;animation:addDeleteIn .22s cubic-bezier(.34,1.56,.64,1);transition:transform .14s ease}.add-delete:active{transform:scale(.94)}@keyframes addDeleteIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.add-delete{animation:none}}.add-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgba(var(--backdrop-rgb),.55);animation:fadeIn .2s ease}.add-backdrop.is-closing{opacity:0;transition:opacity .26s ease}.add-sheet{position:absolute;top:calc(var(--edge-top) + 56px);right:env(safe-area-inset-right,0px);bottom:0;left:env(safe-area-inset-left,0px);max-width:560px;margin-inline:auto;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);border:1px solid var(--glass-border);border-bottom:0;border-radius:24px 24px 0 0;background:rgb(var(--paper-rgb));box-shadow:0 -12px 40px rgba(var(--shadow-rgb),.3);overflow:hidden;outline:none;animation:addSheetIn .34s cubic-bezier(.32,.72,0,1);transition:transform .3s cubic-bezier(.32,.72,0,1)}.add-backdrop.is-closing .add-sheet{transform:translateY(100%);transition-duration:.26s}@keyframes addSheetIn{0%{transform:translateY(100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.add-backdrop,.add-sheet{animation:none}}.add-sheet-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:22px 12px 4px 20px;touch-action:none;cursor:grab}.add-sheet-grabber{position:absolute;top:8px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:rgba(var(--ink-rgb),.22)}.add-sheet-title{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.01em}.add-sheet-close{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(var(--ink-rgb),.07);color:var(--text-muted);cursor:pointer}.add-search{display:flex;align-items:center;gap:10px;height:44px;margin:8px 16px 0;padding:0 6px 0 14px;border-radius:12px;background:rgba(var(--ink-rgb),.07);color:var(--text-muted)}.add-search:focus-within{box-shadow:0 0 0 2px var(--accent-soft)}.add-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:16px;outline:none}.add-search input::placeholder{color:var(--text-dim)}.add-search input::-webkit-search-cancel-button{display:none}.add-search-clear{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.add-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin:12px 16px 0;padding:4px;border-radius:14px;background:rgba(var(--ink-rgb),.06)}.add-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;padding:6px 2px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.add-tab.is-active{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 6px rgba(var(--shadow-rgb),.25)}.add-body{position:relative;flex:1;min-height:0;margin-top:8px;padding:0 16px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.add-body::-webkit-scrollbar{display:none}.add-chips{position:sticky;top:0;z-index:1;display:flex;gap:6px;margin:0 -16px;padding:8px 16px 10px;background:rgb(var(--paper-rgb));overflow-x:auto;scrollbar-width:none}.add-chips::-webkit-scrollbar{display:none}.add-chip{flex:none;min-height:34px;padding:0 14px;border:1px solid transparent;border-radius:999px;background:rgba(var(--ink-rgb),.06);color:var(--text-muted);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .14s ease,color .14s ease}.add-chip.is-active{background:var(--paper-solid);border-color:var(--hairline);color:var(--text-primary)}.add-section{padding-top:12px}.add-section-heading{display:flex;align-items:baseline;gap:8px;margin:0 4px 8px;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.add-section-count{color:var(--text-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:0}.add-section-rows{display:flex;flex-direction:column;padding:4px;border-radius:14px;background:rgba(var(--ink-rgb),.045)}.add-section-rows .toolbar-menu-item{min-height:46px;padding:0 12px;border-radius:10px;font-size:15px;cursor:pointer}.add-section-rows .preset-actions{opacity:1}.add-section-rows .preset-action{padding:8px}.add-empty{margin:0;padding:12px;color:var(--text-muted);font-size:13px;line-height:1.45}.add-no-results{padding:40px 12px;text-align:center}.help-corner{position:absolute;top:var(--edge-top);right:var(--edge-right);z-index:11;display:flex;flex-direction:column;align-items:flex-end;max-height:calc(100% - var(--edge-top) - var(--edge-bottom));min-height:0;white-space:nowrap}.help-menu[hidden]{display:none}.help-menu .toolbar-menu-item{justify-content:flex-start;cursor:pointer}.help-menu-row{display:flex;gap:4px;margin-top:6px;padding:6px 4px 0;border-top:1px solid var(--hairline)}.settings-modal{width:480px}.about-title.settings-title{font-size:19px;letter-spacing:-.02em}.about-modal-body.settings-body{gap:26px}.settings-section{display:flex;flex-direction:column;gap:10px}.settings-section-head{display:flex;flex-direction:column;gap:4px;padding:0 2px}.settings-section-title{margin:0;font-family:var(--font-display);font-optical-sizing:none;font-variation-settings:"opsz" 24;font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.settings-group-label{margin:6px 2px -4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.settings-group{display:flex;flex-direction:column;padding:0 14px;border-radius:14px;background:rgba(var(--paper-rgb),.58);border:1px solid rgba(var(--ink-rgb),.07);box-shadow:inset 0 1px rgba(var(--rim-rgb),.9),0 1px 3px rgba(var(--shadow-rgb),.02)}.settings-group>*+*{border-top:1px solid var(--hairline)}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0}.settings-row-text{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-row-label{font-size:13px;font-weight:600;color:var(--text-primary)}.settings-group>.settings-row-sub{margin-left:14px;padding-top:0;border-top:none}.settings-row-sub .settings-row-label{font-size:12.5px;font-weight:500}.settings-row.is-disabled{opacity:.5}.settings-select,.settings-row .control-toggle{flex:none;margin-top:1px}.settings-disclosure{display:inline-flex;align-items:center;gap:5px;padding:0;border:none;background:none;font:inherit;letter-spacing:inherit;color:var(--text-muted);cursor:pointer}.settings-disclosure:hover,.settings-disclosure[aria-expanded=true]{color:var(--text-primary)}.settings-disclosure-chevron{transition:transform .15s ease}.settings-disclosure[aria-expanded=true] .settings-disclosure-chevron{transform:rotate(90deg)}.settings-ai-notice{margin:0;padding:8px 11px;border-radius:var(--radius-sm);background:rgba(var(--ink-rgb),.05);color:var(--text-primary);font-size:12px}.settings-provider{display:flex;flex-direction:column}.settings-provider-head{align-items:center}.settings-provider-head .preset-modal-button{flex:none}.settings-status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.settings-status-dot{width:6px;height:6px;border-radius:50%;background:rgba(var(--ink-rgb),.22)}.settings-status.is-on{color:var(--text-muted)}.settings-status.is-on .settings-status-dot{background:var(--accent)}.settings-provider-body{display:flex;flex-direction:column;gap:12px;padding-bottom:14px}.settings-provider a{color:inherit;text-decoration:underline}.settings-ai-key{display:flex;flex-direction:column;gap:6px}.settings-field-label{font-size:11.5px;font-weight:500;color:var(--text-muted)}.settings-field-hint{margin-top:-4px;font-size:11.5px}.project-heading{display:flex;flex-direction:column;gap:4px;min-width:0}.settings-status.project-status{max-width:100%}.project-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-status.is-unsaved{color:var(--port-mod)}.settings-status.is-unsaved .settings-status-dot{background:var(--port-mod)}.project-modal .node-notice-slot{padding:0}.settings-row.project-name-row{flex-direction:column;align-items:stretch;gap:6px}.project-name-row .settings-field-hint{margin-top:0}.project-save-row{display:flex;align-items:center;gap:8px}.project-name-input{flex:1;min-width:0}.project-save-row .preset-modal-button{flex:none}.settings-section-head.project-open-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px}.project-open-head-text{display:flex;flex-direction:column;gap:4px;min-width:0}.project-open-head .preset-modal-button{flex:none}.project-pending{display:flex;flex-direction:column;gap:10px}.project-pending-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.project-recent-empty{padding:13px 0}.project-modal .about-modal-body{padding-bottom:6px;margin-bottom:-6px}.project-modal .about-modal-body>*,.project-recent-list>*{flex-shrink:0}.project-recent-list{max-height:236px;overflow-y:auto;overscroll-behavior:contain}.project-recent-row{display:flex;align-items:center;gap:6px;padding:4px 0}.project-recent-open{flex:1;display:flex;align-items:center;gap:10px;min-width:0;margin-left:-8px;padding:7px 8px;border:none;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.project-recent-open:hover:not(:disabled){background:rgba(var(--ink-rgb),.05)}.project-recent-open:disabled{cursor:default}.project-recent-open .settings-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-recent-icon{flex:none;color:var(--text-dim)}.project-recent-open[aria-current] .project-recent-icon{color:var(--accent)}.project-recent-remove{flex:none;opacity:.6}.project-recent-remove:hover:not(:disabled){opacity:1}.about-modal.start-modal{width:1180px;height:680px;padding:0;overflow:hidden}.start-main{position:relative;flex:1;min-height:0;display:flex}.start-side{flex:0 0 320px;min-width:0;display:flex;flex-direction:column;padding:24px 14px 12px 18px}.start-side-head{display:flex;flex-direction:column;gap:4px;padding:0 8px 14px}.start-title{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.025em;color:var(--text-primary)}.start-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:18px;overflow-y:auto;overscroll-behavior:contain;padding:2px}.start-section{display:flex;flex-direction:column;gap:2px}.start-section-title{margin:0 8px 6px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.start-item{flex:none;display:flex;align-items:center;gap:11px;padding:7px 8px;border:none;border-radius:11px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.start-item:hover:not(.is-picked){background:rgba(var(--ink-rgb),.05)}.start-item.is-picked{background:rgba(var(--paper-rgb),.9);box-shadow:inset 0 1px rgba(var(--rim-rgb),.9),0 0 0 1px rgba(var(--ink-rgb),.08),0 2px 8px rgba(var(--shadow-rgb),.06)}.start-item:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}.start-item-icon{flex:none;display:grid;place-items:center;width:44px;height:30px;border-radius:7px;background:rgba(var(--ink-rgb),.05);color:var(--text-dim);overflow:hidden}.start-item.is-picked .start-item-icon{color:var(--text-primary)}.start-thumb{display:grid;place-items:center;width:100%;height:100%;object-fit:cover}.start-thumb.is-empty{background:linear-gradient(135deg,#f0612a,#6a1fd1);color:#fff;font-weight:700;font-size:13px}.start-item-text{min-width:0;display:flex;flex-direction:column;gap:1px}.start-item-label,.start-item-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-item-label{font-size:13px;font-weight:600;color:var(--text-primary)}.start-item-detail{font-size:11.5px;color:var(--text-dim)}.start-item.is-card{padding:12px;gap:12px;border:1px solid rgba(var(--ink-rgb),.08);background:rgba(var(--paper-rgb),.5);border-radius:14px}.start-item.is-card .start-item-icon{width:40px;height:40px;border-radius:10px;background:var(--accent);color:rgba(var(--paper-rgb),1)}.start-item.is-card .start-item-label{font-size:14px}.start-item.is-card.is-picked{border-color:transparent}.start-blocks{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding:12px 2px 0;border-top:1px solid var(--hairline)}.start-item.is-block{flex-direction:column;align-items:flex-start;gap:10px;padding:12px;border:1px dashed rgba(var(--ink-rgb),.2);border-radius:12px}.start-item.is-block:hover:not(:disabled):not(.is-picked){border-color:rgba(var(--ink-rgb),.38);background:rgba(var(--ink-rgb),.03)}.start-item.is-block.is-picked{border-style:solid;border-color:transparent}.start-item.is-block .start-item-icon{width:32px;height:32px;border-radius:9px}.start-item.is-block .start-item-text{max-width:100%}.start-stage{position:relative;flex:1;min-width:0;margin:10px 10px 0 0;border-radius:16px;overflow:hidden;background:#0b0b0f;color:#f4f4f6;box-shadow:inset 0 0 0 1px #ffffff0f}.start-stage-media,.start-stage-media img,.start-stage-media video,.start-stage-wash,.start-stage-grid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.start-stage-media img,.start-stage-media video{object-fit:cover;animation:fadeIn .4s ease}.start-stage-wash{background:radial-gradient(circle at 25% 30%,rgba(240,97,42,.55),transparent 55%),radial-gradient(circle at 75% 65%,rgba(106,31,209,.5),transparent 55%),radial-gradient(circle at 55% 20%,rgba(255,196,80,.35),transparent 45%);background-size:160% 160%;animation:startWash 14s ease-in-out infinite alternate}@keyframes startWash{0%{background-position:0% 0%}to{background-position:100% 100%}}@media(prefers-reduced-motion:reduce){.start-stage-wash{animation:none}}.start-stage-grid{background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.5px);background-size:22px 22px;mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 80%)}.start-stage-caption{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:8px;padding:90px 32px 28px;background:linear-gradient(to top,rgba(8,8,12,.82),rgba(8,8,12,.4) 55%,transparent)}.start-stage:not(.is-template) .start-stage-caption{top:0;right:0;bottom:0;left:0;justify-content:center;background:none;padding:48px 56px}.start-stage-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff9}.start-stage-title{margin:0;font-family:var(--font-display);font-size:40px;font-weight:600;line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}.start-stage-body{margin:0;max-width:520px;font-size:14px;line-height:1.5;color:#ffffffbf}.start-stage-tags{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}.start-stage-tags li{padding:3px 10px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);font-size:11.5px;color:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.start-close{position:absolute;top:20px;right:20px;z-index:1;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#14141a73;color:#fff;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.start-close:hover{background:#14141ab3}.start-footer{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:14px 20px 16px 26px}.start-footer>.project-pending{flex:1}.start-footer .node-notice-slot{flex-basis:100%;padding:0}.start-skip{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;color:var(--text-dim);cursor:pointer}.start-skip input{margin:0;accent-color:var(--accent)}.preset-modal-button.start-go{margin-left:auto;padding-inline:20px;height:36px}@media(max-width:860px){.about-modal.start-modal{height:calc(100vh - 32px)}.start-main{flex-direction:column}.start-stage{order:-1;flex:0 0 38%;margin:10px 10px 0}.start-side{flex:1;min-height:0;padding:14px 10px 6px}.start-stage-title{font-size:28px}.start-stage:not(.is-template) .start-stage-caption{padding:24px}.start-stage-caption{padding:60px 20px 18px}.start-footer{padding:12px 14px 14px}.preset-modal-button.start-go{flex:1 0 100%}}.settings-ai-key-row{display:flex;gap:8px}.settings-ai-key-input{flex:1;min-width:0;padding:7px 11px;font-size:13px}.reduced-notice{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;background:#f59e0b29;color:#b45309;font-size:10.5px;font-weight:600;white-space:nowrap;cursor:help}.node-body>.reduced-notice{align-self:flex-start}:root[data-theme=dark] .reduced-notice{color:#fbbf24}.reduced-notice.is-overlay{position:absolute;top:8px;left:8px;z-index:2;padding:3px 8px;background:#141416b8;color:#fbbf24;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.perf-overlay{position:absolute;top:calc(var(--edge-top) + 52px);right:var(--edge-right);z-index:10;display:flex;flex-direction:column;gap:3px;min-width:210px;max-width:calc(100vw - 2 * var(--gutter));padding:8px 12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;pointer-events:none}.perf-row{display:flex;justify-content:space-between;gap:14px;white-space:nowrap}.perf-row-head{color:var(--text-primary)}.perf-bad{color:var(--danger-text)}.perf-note{color:var(--text-dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,rgba(var(--paper-rgb),.45),rgba(var(--backdrop-rgb),.72));backdrop-filter:blur(48px) saturate(190%) contrast(92%);-webkit-backdrop-filter:blur(48px) saturate(190%) contrast(92%);animation:fadeIn .2s cubic-bezier(.16,1,.3,1);overflow:hidden}.modal-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:160px 160px;opacity:.065;mix-blend-mode:multiply;pointer-events:none;z-index:0}.about-modal{position:relative;z-index:1;width:700px;max-width:calc(100vw - 36px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;padding:26px 28px 22px;border-radius:24px;background:rgba(var(--paper-rgb),.82);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid rgba(var(--paper-rgb),.92);box-shadow:inset 0 1.5px rgba(var(--rim-rgb),1),inset 0 -1px rgba(var(--rim-rgb),.45),0 0 0 1px rgba(var(--ring-rgb),.08),0 24px 56px -12px rgba(var(--shadow-rgb),calc(var(--shadow-lift) * 1.8)),0 2px 6px rgba(var(--shadow-rgb),var(--shadow-contact));font-family:var(--font-ui);animation:scaleIn .2s cubic-bezier(.16,1,.3,1)}.about-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.about-brand-row{display:flex;align-items:center;gap:8px}.about-brand-pill{font-size:11px;padding:3px 8px;background:rgba(var(--ink-rgb),.06);border-radius:6px;line-height:1.2}.about-badge{font-size:11px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.about-version{font-size:11px;font-weight:500;color:var(--text-dim);font-variant-numeric:tabular-nums}.about-modal-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s ease;padding:0}.about-modal-close:hover{background:rgba(var(--ink-rgb),.07);color:var(--text-primary)}.about-modal-body{display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;margin-right:-14px;padding-right:14px}.preset-modal{width:520px}.preset-modal-title{display:flex;align-items:center;gap:8px}.preset-field{display:flex;flex-direction:column}.preset-field .about-section-title{margin-bottom:6px}.preset-modal-name{padding:9px 12px;border:1px solid rgba(var(--ink-rgb),.12);border-radius:10px;background:var(--paper-solid);color:var(--text-primary);font:inherit;font-size:14px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.preset-modal-name:focus{border-color:rgba(var(--ink-rgb),.3);box-shadow:0 0 0 3px rgba(var(--ink-rgb),.06)}.preset-params .about-desc{margin:-4px 0 10px}.preset-controls{display:flex;flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none}.preset-control{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--hairline);border-radius:10px;background:rgba(var(--paper-rgb),.75)}.preset-control-module{flex:none;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:13px}.preset-control-name{flex:1;min-width:0;padding:3px 6px;margin:-3px 0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;outline:none;transition:background .14s ease,border-color .14s ease}.preset-control-name::placeholder{color:var(--text-primary);opacity:1}.preset-control-name:hover{background:rgba(var(--ink-rgb),.04)}.preset-control-name:focus{border-color:rgba(var(--ink-rgb),.2);background:var(--paper-solid)}.preset-control-name:focus::placeholder{color:var(--text-muted)}.preset-add-control{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 12px;border:1px dashed rgba(var(--ink-rgb),.2);border-radius:10px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.preset-add-control:hover{background:rgba(var(--paper-rgb),.8);border-color:rgba(var(--ink-rgb),.3);color:var(--text-primary)}.control-picker{display:flex;flex-direction:column;border:1px solid rgba(var(--ink-rgb),.12);border-radius:12px;background:var(--paper-solid);overflow:hidden}.control-picker-search{display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--hairline);color:var(--text-muted)}.control-picker-search input{flex:1;min-width:0;padding:10px 0;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;outline:none}.control-picker-list{max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px}.control-picker-module+.control-picker-module{margin-top:4px}.control-picker-heading{display:block;padding:8px 8px 4px;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.control-picker-item{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;color:var(--text-primary);font-size:13px;cursor:pointer}.control-picker-item .tag{margin-left:auto}.control-picker-item:hover{background:rgba(var(--ink-rgb),.05)}.control-picker-item input{flex:none;width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.control-picker-empty{margin:0;padding:14px 8px;color:var(--text-muted);font-size:12.5px;text-align:center}.control-picker-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px;border-top:1px solid var(--hairline)}.preset-modal-footer{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--hairline)}.preset-modal-count{flex:1;color:var(--text-muted);font-size:12px}.preset-modal-button{padding:8px 14px;border:1px solid var(--hairline);border-radius:999px;background:rgba(var(--paper-rgb),.8);color:var(--text-primary);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:background .14s ease,border-color .14s ease}.preset-modal-button:hover{background:var(--paper-solid);border-color:rgba(var(--ink-rgb),.18)}.preset-modal-button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.preset-modal-button.is-primary:hover:not(:disabled){background:var(--accent-hover)}.preset-modal-button:disabled{opacity:.4;cursor:default}.about-intro{display:flex;flex-direction:column;gap:4px}.about-title{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.015em}.about-desc{margin:0;font-size:12px;line-height:1.48;color:var(--text-muted)}.about-card{padding:13px 15px;border-radius:14px;background:rgba(var(--paper-rgb),.58);border:1px solid rgba(var(--ink-rgb),.07);box-shadow:inset 0 1px rgba(var(--rim-rgb),.9),0 1px 3px rgba(var(--shadow-rgb),.02)}.about-credits-card{display:flex;align-items:center;gap:12px}.about-card-icon{width:32px;height:32px;border-radius:50%;background:rgba(var(--ink-rgb),.05);border:1px solid rgba(var(--ink-rgb),.06);display:flex;align-items:center;justify-content:center;color:var(--text-primary);flex-shrink:0}.about-card-content{display:flex;flex-direction:column;min-width:0}.about-card-eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:2px}.about-card-lead{font-size:13px;font-weight:450;color:var(--text-primary);line-height:1.4}.about-link{color:var(--text-primary);font-weight:600;display:inline-flex;align-items:center;gap:3px;text-decoration:underline;text-underline-offset:2.5px;text-decoration-color:rgba(var(--ink-rgb),.28);transition:text-decoration-color .12s ease,color .12s ease}.about-link:hover{text-decoration-color:var(--text-primary)}.about-ext-icon{opacity:.65;transition:opacity .12s ease}.about-link:hover .about-ext-icon,.about-meta-link:hover .about-ext-icon{opacity:1}.about-meta-card{display:flex;flex-direction:column}.about-meta-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.about-meta-label{color:var(--text-muted);font-weight:450}.about-meta-link{color:var(--text-primary);font-weight:500;display:inline-flex;align-items:center;gap:3px;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(var(--ink-rgb),.2);transition:text-decoration-color .12s ease}.about-meta-link:hover{text-decoration-color:var(--text-primary)}.about-meta-value{color:var(--text-primary);font-weight:500}.about-meta-divider{height:1px;background:rgba(var(--ink-rgb),.06);margin:9px 0}.about-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}.about-shortcuts{padding:14px 16px 6px;border-radius:14px;background:rgba(var(--paper-rgb),.58);border:1px solid rgba(var(--ink-rgb),.07);box-shadow:inset 0 1px rgba(var(--rim-rgb),.9),0 1px 3px rgba(var(--shadow-rgb),.02)}.about-section-title{margin:0 0 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.shortcut-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.shortcut-column{min-width:0}.shortcut-section{margin-bottom:14px}.shortcut-section-title{margin:0 0 4px;padding-bottom:4px;font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:-.005em;border-bottom:1px solid rgba(var(--ink-rgb),.07)}.shortcut-list{margin:0}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}.shortcut-label{display:flex;flex-direction:column;min-width:0;font-size:12px;line-height:1.35;color:var(--text-muted)}.shortcut-note{font-size:10.5px;color:var(--text-dim)}.shortcut-keys{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;margin:0;flex-shrink:0;max-width:62%}.shortcut-combo{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.shortcut-keys kbd{min-width:18px;text-align:center;font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:1.4;padding:1px 5px;border-radius:4px;background:rgba(var(--paper-rgb),.9);border:1px solid rgba(var(--ink-rgb),.12);box-shadow:0 1px rgba(var(--ink-rgb),.1);color:var(--text-primary)}.shortcut-or{font-size:10px;color:var(--text-dim)}@media(max-width:600px){.shortcut-columns,.about-footer{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.node-ramp{width:220px}.gradient-editor{display:flex;flex-direction:column;gap:8px;padding-top:4px}.gradient-track-wrap{position:relative;-webkit-user-select:none;user-select:none;touch-action:none}.gradient-track{position:relative;width:100%;height:22px;border-radius:var(--radius-sm);border:1px solid var(--hairline);background-origin:border-box;background-repeat:no-repeat;box-shadow:inset 0 1px 2px rgba(var(--ink-rgb),.12),0 1px 2px rgba(var(--shadow-rgb),.05);cursor:copy}.gradient-stops-bar{position:relative;width:100%;height:20px;margin-top:3px;-webkit-user-select:none;user-select:none}.gradient-stop-thumb{position:absolute;top:0;width:14px;height:19px;transform:translate(-50%);cursor:grab;display:flex;flex-direction:column;align-items:center;z-index:1;touch-action:none}.gradient-stop-thumb:active{cursor:grabbing}.gradient-stop-tip{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid rgba(var(--paper-rgb),.95);filter:drop-shadow(0 -1px 1px rgba(var(--shadow-rgb),.25));transition:border-bottom-color .12s ease}.gradient-stop-color{width:12px;height:12px;border-radius:2px;border:1.5px solid var(--paper-solid);box-shadow:0 1px 3px rgba(var(--shadow-rgb),.28);transition:border-color .12s ease,box-shadow .12s ease}.gradient-stop-thumb.is-selected{z-index:2}.gradient-stop-thumb.is-selected .gradient-stop-tip{border-bottom-color:var(--accent)}.gradient-stop-thumb.is-selected .gradient-stop-color{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent),0 2px 5px rgba(var(--shadow-rgb),.35)}.gradient-stop-pos{display:flex;align-items:center;gap:3px;flex:1 1 auto;min-width:0}.gradient-stop-pos>.control{flex:1 1 auto;min-width:0;gap:6px}.gradient-stop-pos .control-field{width:40px;height:20px}.gradient-stop-unit{color:var(--text-dim);font-size:11px}.gradient-btn-group{display:flex;align-items:center;gap:4px}.gradient-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.7);color:var(--text-primary);font:inherit;font-size:11px;cursor:pointer;transition:background .12s ease,opacity .12s ease,border-color .12s ease}.gradient-btn:hover:not(:disabled){background:rgba(var(--paper-rgb),.95);border-color:rgba(var(--ink-rgb),.2)}.gradient-btn:disabled{opacity:.35;cursor:not-allowed}.gradient-btn-icon{width:22px;height:20px;padding:0}.mask-points{display:flex;flex-direction:column;gap:6px;padding-top:4px}.mask-points-kind{padding:0 8px}.mask-points-kind-leave.is-active{background:#e5484d;border-color:#e5484d;color:#fff}.mask-points-kind-leave.is-active:hover:not(:disabled){background:#dc3e42;border-color:#dc3e42}.mask-points-stage{position:relative;width:100%;max-height:320px;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:rgba(var(--ink-rgb),.03);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.mask-points-stage.is-full{cursor:default}.mask-points-picture{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;display:block}.mask-points-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 12px;text-align:center;font-size:11px;color:var(--text-muted);pointer-events:none}.mask-point{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000073,0 1px 4px #0006;color:#fff;font-size:12px;font-weight:700;line-height:12px;cursor:grab;transition:opacity .12s ease,transform .12s ease}.mask-point:active{cursor:grabbing}.mask-point.is-keep{background:#30a46c}.mask-point.is-leave{background:#e5484d}.mask-point.is-removing{opacity:.35;transform:scale(.8)}.curves-editor{display:flex;flex-direction:column;gap:6px;padding-top:4px}.curves-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.curves-tabs{display:flex;gap:4px}.curves-tab{min-width:26px;height:20px;padding:0 6px}.curves-tab.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.curves-tab.is-active:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.curves-box{display:block;width:100%;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:rgba(var(--ink-rgb),.03);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;overflow:visible}.curves-grid line,.curves-diagonal{stroke:rgba(var(--ink-rgb),.1);stroke-width:1;vector-effect:non-scaling-stroke}.curves-diagonal{stroke-dasharray:3 3}.curves-line{fill:none;stroke-width:1.75;vector-effect:non-scaling-stroke;pointer-events:none}.curves-line-m{stroke:var(--text-primary)}.curves-line-r{stroke:#e5484d}.curves-line-g{stroke:#30a46c}.curves-line-b{stroke:#3e63dd}.curves-line.is-faint{stroke-width:1;opacity:.35}.curves-point{cursor:grab}.curves-point:active{cursor:grabbing}.curves-point-hit{fill:transparent}.curves-point-dot{fill:var(--paper-solid);stroke:var(--text-primary);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:opacity .12s ease}.curves-box-r .curves-point-dot{stroke:#e5484d}.curves-box-g .curves-point-dot{stroke:#30a46c}.curves-box-b .curves-point-dot{stroke:#3e63dd}.curves-point.is-selected .curves-point-dot{fill:currentColor}.curves-box-m .curves-point.is-selected .curves-point-dot{color:var(--text-primary)}.curves-box-r .curves-point.is-selected .curves-point-dot{color:#e5484d}.curves-box-g .curves-point.is-selected .curves-point-dot{color:#30a46c}.curves-box-b .curves-point.is-selected .curves-point-dot{color:#3e63dd}.curves-point.is-removing .curves-point-dot{opacity:.3;stroke-dasharray:2 2}.curves-readout .control-value{font-variant-numeric:tabular-nums}.bezier-editor{padding-top:2px}.bezier-graph{display:block;width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:rgba(var(--ink-rgb),.03);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.bezier-graph:active{cursor:grabbing}.bezier-box{fill:rgba(var(--ink-rgb),.03);stroke:rgba(var(--ink-rgb),.12);stroke-width:1;stroke-dasharray:3 3}.bezier-label{fill:var(--text-dim);font-size:7.5px;font-variant-numeric:tabular-nums;pointer-events:none}.bezier-arm{stroke:rgba(var(--ink-rgb),.3);stroke-width:1}.bezier-curve{fill:none;stroke:var(--port-mod);stroke-width:1.75;stroke-linecap:round}.bezier-handle{fill:var(--paper-solid);stroke:var(--text-primary);stroke-width:1.25}.bezier-handle.is-custom{stroke:var(--port-mod)}.bezier-dot{fill:var(--port-mod);stroke:var(--paper-solid);stroke-width:1;pointer-events:none}.step-editor{padding-top:2px}.step-row{display:flex;align-items:stretch;gap:2px;height:56px;padding:3px;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:rgba(var(--ink-rgb),.03);cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none}.step-cell{flex:1;display:flex;align-items:flex-end;min-width:0}.step-bar{width:100%;border-radius:2px;background:var(--port-mod);opacity:.85}.step-cell:hover .step-bar{opacity:1}.spin{animation:spin .9s linear infinite;transform-origin:center}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.about-modal:focus{outline:none}.about-tour-card{display:flex;align-items:center;gap:12px;width:100%;font:inherit;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease}.about-tour-card:hover{background:rgba(var(--paper-rgb),.9);border-color:rgba(var(--ink-rgb),.14)}.about-tour-card .about-card-content{flex:1}.about-tour-arrow{color:var(--text-muted);transition:transform .14s ease}.about-tour-card:hover .about-tour-arrow{transform:translate(2px)}.welcome-modal{width:1160px;height:600px;flex-direction:row;padding:0;overflow:hidden}.welcome-media{position:relative;flex:0 0 63%;background:var(--bg-base);border-right:1px solid var(--hairline)}.welcome-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .26s ease;-webkit-user-select:none;user-select:none}.welcome-image.is-current{opacity:1}.welcome-content{flex:1;min-width:0;display:flex;flex-direction:column;padding:24px 26px 22px 28px}.welcome-header{display:flex;align-items:center;justify-content:space-between;min-height:26px}.welcome-count{margin:0}.welcome-skip{padding:4px 10px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background .14s ease,color .14s ease}.welcome-skip:hover{background:rgba(var(--ink-rgb),.06);color:var(--text-primary)}.welcome-text{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;animation:welcomeTextIn .26s cubic-bezier(.16,1,.3,1)}.welcome-title{margin:0;font-size:22px;font-weight:600;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}.welcome-body{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-muted)}.welcome-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.welcome-dots{display:flex;align-items:center;gap:2px}.welcome-dot{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;cursor:pointer}.welcome-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:rgba(var(--ink-rgb),.18);transition:width .2s ease,background .2s ease}.welcome-dot:hover:before{background:rgba(var(--ink-rgb),.36)}.welcome-dot.is-current:before{width:16px;background:var(--accent)}.welcome-actions{display:flex;align-items:center;gap:6px}.welcome-back,.welcome-next{display:inline-flex;align-items:center;justify-content:center;gap:6px}.welcome-back{width:34px;height:34px;padding:0}.welcome-next{height:34px;padding:0 16px}.welcome-landing{position:absolute;top:0;right:0;bottom:0;left:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;outline:none;font-family:var(--font-ui);scrollbar-width:none;--block-space: clamp(72px, 12vh, 128px)}.welcome-landing::-webkit-scrollbar{display:none}.landing-scrollbar{position:fixed;top:12px;bottom:12px;right:3px;z-index:4;width:14px;opacity:0;pointer-events:none;transition:opacity .4s ease}.landing-scrollbar.is-needed{pointer-events:auto}.landing-scrollbar.is-needed.is-moving,.landing-scrollbar.is-needed:hover,.landing-scrollbar.is-dragging{opacity:1;transition-duration:.12s}.landing-scrollbar-thumb{position:absolute;top:0;right:3px;width:6px;border-radius:999px;background:rgba(var(--ink-rgb),.32);box-shadow:0 0 0 1px rgba(var(--paper-rgb),.5),0 2px 8px rgba(var(--shadow-rgb),.18);cursor:grab;touch-action:none;transition:width .16s ease,background .16s ease}.landing-scrollbar:hover .landing-scrollbar-thumb,.landing-scrollbar.is-dragging .landing-scrollbar-thumb{width:9px;background:rgba(var(--ink-rgb),.5)}.landing-scrollbar.is-dragging .landing-scrollbar-thumb{cursor:grabbing}.welcome-hero{--hero-out: 0;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;min-height:100dvh;padding:56px 16px 64px}.welcome-hero .hero-stage{opacity:calc(1 - var(--hero-out) * 1.15);translate:0 calc(var(--hero-out) * -70px)}.welcome-hero-hint,.welcome-hero-cta,.welcome-hero>.welcome-version{filter:opacity(max(0,1 - var(--hero-out) * 1.4));translate:0 calc(var(--hero-out) * -40px)}.welcome-hero .react-flow__pane{touch-action:pan-y}.welcome-scroll-cue{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:40px;padding:8px 14px;border:0;border-radius:999px;background:none;font:inherit;font-size:15px;color:var(--text-muted);cursor:pointer;filter:opacity(max(0,1 - var(--hero-out) * 4));animation:heroRiseIn .9s .8s cubic-bezier(.16,1,.3,1) both;transition:color .15s ease}.welcome-hero.is-scrolled .welcome-scroll-cue{pointer-events:none}.welcome-scroll-cue:hover{color:var(--text-primary)}.welcome-scroll-cue svg{display:block;animation:landingNudge 1.6s ease-in-out infinite}@keyframes landingNudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.modal-backdrop.is-hero{background:var(--bg-base);backdrop-filter:none;-webkit-backdrop-filter:none}.hero-aurora{position:absolute;top:0;left:0;right:0;height:180vh;z-index:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent);--aurora-strength: .55}:root[data-theme=dark] .hero-aurora{--aurora-strength: .32}.hero-aurora span{position:absolute;width:62vmax;height:62vmax;border-radius:50%;opacity:var(--aurora-strength);animation:heroAuroraDrift 26s ease-in-out infinite alternate;will-change:transform}.hero-aurora span:nth-child(1){top:-26vmax;left:-14vmax;background:radial-gradient(circle,#b49cff,#b49cff00 64%)}.hero-aurora span:nth-child(2){top:-18vmax;right:-22vmax;background:radial-gradient(circle,#ff9d8a,#ff9d8a00 64%);animation-duration:31s;animation-delay:-9s}.hero-aurora span:nth-child(3){bottom:10vh;left:8vmax;background:radial-gradient(circle,#8cc8ff,#8cc8ff00 64%);animation-duration:34s;animation-delay:-17s}.hero-aurora span:nth-child(4){bottom:4vh;right:2vmax;width:50vmax;height:50vmax;background:radial-gradient(circle,#ffcf7d,#ffcf7d00 64%);animation-duration:28s;animation-delay:-5s}@keyframes heroAuroraDrift{0%{transform:translate(0) scale(1)}33%{transform:translate(9vmax,6vmax) scale(1.12)}66%{transform:translate(-6vmax,10vmax) scale(.94)}to{transform:translate(5vmax,-4vmax) scale(1.06)}}@media(prefers-reduced-motion:reduce){.hero-aurora span{animation:none}}.hero-graph{width:min(1600px,calc(100vw - 64px));height:min(620px,calc(100vh - 320px));min-height:260px}.hero-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.welcome-hero>:not(.hero-graph,.visually-hidden){position:relative;z-index:1}.hero-flow.is-intro,.hero-flow.is-intro *{pointer-events:none!important}.hero-flow.is-intro .hero-module-timer-fill{animation-play-state:paused}.hero-intro-wire{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;z-index:5;pointer-events:none}.hero-cursor{position:absolute;top:0;left:0;z-index:6;pointer-events:none;will-change:transform}.hero-cursor-arrow{display:block;overflow:visible;fill:var(--text-primary);stroke:var(--paper-solid);stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(var(--shadow-rgb),.25));transform-origin:2px 1.5px;transition:transform .11s ease}.hero-cursor-arrow.is-pressed{transform:scale(.86)}.hero-flow .react-flow__background{-webkit-mask-image:radial-gradient(ellipse 58% 46% at 50% var(--hero-middle),#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 58% 46% at 50% var(--hero-middle),#000 40%,transparent 100%)}.hero-flow{background:transparent;opacity:0;transition:opacity .26s ease}.hero-flow.is-placed{opacity:1}.hero-node-input{width:140px}.hero-node-output{width:180px}.hero-end-picture{position:relative;margin:10px;border-radius:8px;overflow:hidden;background:rgba(var(--ink-rgb),.06)}.hero-end-picture img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.hero-flow .node-title{box-sizing:border-box;height:32px}.hero-node-module{width:420px}.hero-module-name{display:inline-block;animation:heroNameIn .36s cubic-bezier(.16,1,.3,1)}.hero-module-timer{width:22px;height:22px;margin-top:14px;transform:rotate(-90deg)}.hero-module-timer circle{fill:none;stroke-width:2.4}.hero-module-timer-track{stroke:rgba(var(--ink-rgb),.1)}.hero-module-timer-fill{stroke:var(--port-image);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:heroTimer linear forwards}.hero-node-module:hover .hero-module-timer-fill{animation-play-state:paused}.hero-module-body{display:flex;flex-direction:column;align-items:center;padding:34px 44px 30px}.hero-module-logo{padding:0;font-size:112px;line-height:1;letter-spacing:-.01em;color:var(--text-primary);pointer-events:none}@keyframes heroNameIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes heroTimer{to{stroke-dashoffset:0}}.welcome-hero-hint{max-width:34ch;margin:44px 0 0;font-family:var(--font-display);font-size:22px;font-weight:600;font-variation-settings:"opsz" 24;line-height:1.3;letter-spacing:-.01em;text-align:center;text-wrap:balance;color:var(--text-primary);animation:heroRiseIn .9s .35s cubic-bezier(.16,1,.3,1) both}.welcome-hero-cta{margin-top:28px;animation:heroRiseIn .9s .65s cubic-bezier(.16,1,.3,1) both}.welcome-hero-cta .welcome-hero-start{--glint-x: 50%;--glint-y: 0%;position:relative;display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-size:14.5px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(var(--ink-rgb),.82),rgba(var(--ink-rgb),.96));border-color:rgba(var(--ink-rgb),.9);box-shadow:inset 0 1px .5px #ffffff47,inset 0 -1.5px 1px #00000059,0 10px 24px -12px rgba(var(--shadow-rgb),.6);backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);transition:transform .56s cubic-bezier(.34,1.7,.5,1),box-shadow .42s ease}.welcome-hero-cta .welcome-hero-start:hover:not(:disabled){background:linear-gradient(180deg,rgba(var(--ink-rgb),.78),rgba(var(--ink-rgb),.94))}.welcome-hero-cta .welcome-hero-start:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 42%,transparent 58%);z-index:-1;pointer-events:none}.welcome-hero-cta .welcome-hero-start:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(90px circle at var(--glint-x) var(--glint-y),rgba(255,255,255,.34),rgba(255,255,255,.08) 45%,transparent 70%);opacity:0;transition:opacity .3s ease;z-index:-1;pointer-events:none}.welcome-hero-cta .welcome-hero-start svg{transition:translate .42s cubic-bezier(.34,1.7,.5,1)}.welcome-hero-cta .welcome-hero-start:hover{transform:scale(1.05);box-shadow:inset 0 1px .5px #ffffff5c,inset 0 -1.5px 1px #00000059,0 18px 34px -14px rgba(var(--shadow-rgb),.7),0 0 0 5px rgba(var(--ink-rgb),.07)}.welcome-hero-cta .welcome-hero-start:hover:after{opacity:1}.welcome-hero-cta .welcome-hero-start:hover svg{translate:3px 0}.welcome-hero-cta .welcome-hero-start:active{transform:scale(.97);transition-duration:.16s}@media(prefers-reduced-motion:reduce){.welcome-hero-cta .welcome-hero-start,.welcome-hero-cta .welcome-hero-start:hover,.welcome-hero-cta .welcome-hero-start:active{transform:none}.welcome-hero-cta .welcome-hero-start:hover svg{translate:none}}@keyframes heroRiseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.welcome-hero>.welcome-version{position:absolute;top:22px;left:50%;translate:-50% 0;z-index:1;padding:4px 10px;border-radius:999px;background:rgba(var(--ink-rgb),.06);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-muted);animation:heroRiseIn .9s 50ms cubic-bezier(.16,1,.3,1) both}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes welcomeTextIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.welcome-text,.welcome-hero-cta,.welcome-hero-hint,.welcome-hero>.welcome-version,.welcome-scroll-cue,.welcome-scroll-cue svg{animation:none}.welcome-image{transition:none}.hero-module-name{animation:none}}.landing-main{position:relative;z-index:1}.landing-bar{position:fixed;top:14px;left:50%;z-index:3;display:flex;align-items:center;gap:12px;width:min(720px,calc(100% - 32px));padding:6px 6px 6px 18px;border-radius:999px;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transform:translate(-50%,-90px);transition:transform .5s cubic-bezier(.16,1,.3,1)}.landing-bar.is-shown{transform:translate(-50%)}.landing-bar-name{font-size:22px;line-height:1}.landing-bar-version{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.landing-bar-section{flex:1;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text-muted)}.landing-bar-start,.landing-final-start{display:inline-flex;align-items:center;gap:7px;border-radius:999px}.landing-bar-start{margin-left:auto}.landing-try{max-width:1180px;margin:0 auto;padding:var(--block-space) 40px;scroll-margin-top:40px}.landing-try .landing-copy{margin-bottom:0}.landing-try-stage{max-width:940px;margin:40px auto 0}.landing-range{position:absolute;top:-9px;left:-7px;right:-7px;width:calc(100% + 14px);height:22px;margin:0;opacity:0;cursor:grab}.landing-range:active{cursor:grabbing}.landing-slider.is-live:focus-within .landing-track-thumb{box-shadow:0 0 0 3px var(--port-image-soft),0 1px 3px rgba(var(--shadow-rgb),.25)}.landing-try-swap{display:flex;flex-direction:column;gap:7px;padding-top:4px;font-size:11px;color:var(--text-dim)}.landing-try-chips{display:flex;flex-wrap:wrap;gap:5px}.landing-try-chip{padding:5px 10px;border:1px solid var(--hairline);border-radius:999px;background:rgba(var(--paper-rgb),.6);font:inherit;font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.landing-card.is-off .landing-card-title{color:var(--text-dim)}.landing-try-off{min-height:24px;margin:0;font-size:11px;line-height:1.35;color:var(--text-dim)}.landing-try-chip:hover{color:var(--text-primary);border-color:rgba(var(--ink-rgb),.2)}.landing-try-chip.is-current{border-color:var(--port-image);background:color-mix(in srgb,var(--port-image) 14%,transparent);font-weight:600;color:var(--text-primary)}.landing-wall{--text-primary: #ececf0;--text-muted: #a4a4ad;--text-dim: #74747d;--ink-rgb: 236, 236, 240;--paper-rgb: 36, 36, 41;--hairline: rgba(236, 236, 240, .1);--wall-in: 1;--wall-at: 0;position:relative;display:flex;height:100vh;height:100dvh;min-height:560px;padding:clamp(36px,6vh,64px) 40px;color:var(--text-primary);scroll-margin-top:0}.landing-wall-ground{--closed: calc(1 - var(--wall-in));position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#0d0d11;opacity:clamp(0,var(--wall-in) * 2.2,1);clip-path:inset(calc(var(--closed) * 14vh) calc(var(--closed) * 12vw) round calc(var(--closed) * 56px + 0px));filter:blur(calc(var(--closed) * 14px));pointer-events:none}.landing-wall-ground:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.09;mix-blend-mode:overlay}.landing-wall-ground span{position:absolute;border-radius:50%;mix-blend-mode:screen;will-change:transform,translate;animation:landingDrift 22s ease-in-out infinite alternate}.landing-wall-ground span:nth-child(1){top:-18%;left:-14%;width:72vw;height:78vh;background:radial-gradient(closest-side,rgba(150,110,255,.55),transparent);translate:0 calc(var(--wall-at) * 220px)}.landing-wall-ground span:nth-child(2){bottom:-22%;right:-12%;width:64vw;height:74vh;background:radial-gradient(closest-side,rgba(255,120,96,.42),transparent);translate:0 calc(var(--wall-at) * -180px);animation-duration:27s;animation-delay:-9s}.landing-wall-ground span:nth-child(3){top:-6%;left:42%;width:48vw;height:56vh;background:radial-gradient(closest-side,rgba(90,170,255,.4),transparent);translate:0 calc(var(--wall-at) * 380px);animation-duration:31s;animation-delay:-15s}.landing-wall-ground span:nth-child(4){bottom:4%;left:8%;width:34vw;height:40vh;background:radial-gradient(closest-side,rgba(255,200,110,.3),transparent);translate:0 calc(var(--wall-at) * -320px);animation-duration:25s;animation-delay:-4s}@keyframes landingDrift{0%{transform:translate(0) scale(1) rotate(0)}50%{transform:translate(6vw,-4vh) scale(1.12) rotate(18deg)}to{transform:translate(-5vw,5vh) scale(.94) rotate(-12deg)}}.landing-wall-inner{--head-height: 0px;position:relative;z-index:1;opacity:clamp(0,var(--wall-in) * 1.6 - .3,1);display:flex;flex:1;flex-direction:column;justify-content:center;min-height:0;width:100%;max-width:1180px;margin:0 auto;container-type:size}.landing-wall-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:clamp(28px,5vw,80px);margin-bottom:44px}.landing-wall-count{display:flex;flex-direction:column;gap:6px}.landing-wall-number{font-family:var(--font-display);font-size:clamp(52px,min(10vw,12vh),128px);font-weight:800;font-variation-settings:"opsz" 96;line-height:.85;letter-spacing:-.045em;background:linear-gradient(135deg,#fff 30%,#b49cff 70%,#ff9d8a);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-wall-number{font-variant-numeric:tabular-nums;filter:drop-shadow(0 0 calc(var(--wall-in) * 28px) rgba(180,156,255,.35))}.landing-wall-unit{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.landing-wall .landing-title{margin:0 0 10px;font-size:clamp(26px,3.2vw,40px)}.landing-wall .landing-body{font-size:15px;line-height:1.55}.landing-wall .landing-chips li{padding:4px 9px;font-size:11.5px}.landing-wall .landing-chips li{background:#ffffff0d}.landing-wall-fit{--gap: 12px;--note-room: 38px;--head-gap: 44px;display:flex;flex-direction:column;align-items:center;gap:18px}.landing-wall-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);width:min(100cqw,(100cqh - var(--head-height) - var(--head-gap) - var(--note-room) - 4.75 * var(--gap)) / 6.25 * 12 + 11 * var(--gap))}.landing-wall-tile{grid-column:span 2}.landing-wall-tile.is-big{--tile-radius: 20px;grid-column:span 3}.landing-wall-loop{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover}.landing-wall-tile.is-big figcaption{gap:4px;padding:40px 14px 13px}.landing-wall-tile.is-big .landing-wall-name{font-size:14.5px}.landing-wall-save{margin-left:10px;padding:2px 8px;border:1px dashed currentColor;border-radius:6px;background:none;font:inherit;font-size:11px;color:inherit;cursor:pointer}.landing-wall-blurb{font-size:11.5px;line-height:1.35;color:#ffffffc7;text-wrap:pretty}.landing-wall-tile{--tile-radius: 16px;--tile-ring: #e4e4ea;position:relative;margin:0;border-radius:var(--tile-radius);background:#ffffff0a;box-shadow:0 0 0 1px #ffffff0f,0 18px 40px -20px #000c;min-height:0;outline:none;opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1) calc(var(--i) * 45ms),transform .7s cubic-bezier(.16,1,.3,1) calc(var(--i) * 45ms),box-shadow .2s ease}.landing-wall-grid.is-in .landing-wall-tile{opacity:1;transform:none}.landing-wall-grid.is-in .landing-wall-tile:hover,.landing-wall-grid.is-in .landing-wall-tile:focus-visible{transition-delay:0ms;box-shadow:0 0 28px #b49cff59,0 18px 40px -20px #000c}.landing-wall-picture{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:inherit;transition:filter .25s ease}.landing-wall-tile:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:1;border:3px solid transparent;border-radius:calc(var(--tile-radius) + 2px);transition:border-color .2s ease;pointer-events:none}.landing-wall-grid.is-in .landing-wall-tile:hover:after,.landing-wall-grid.is-in .landing-wall-tile:focus-visible:after{border-color:var(--tile-ring)}.landing-wall-tile figcaption{z-index:2;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.landing-wall-grid:has(.landing-wall-tile:hover) .landing-wall-tile:not(:hover) .landing-wall-picture,.landing-wall-grid:has(.landing-wall-tile:focus-visible) .landing-wall-tile:not(:focus-visible) .landing-wall-picture{filter:brightness(.45) saturate(.6)}.landing-wall-tile figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:26px 10px 10px;background:linear-gradient(transparent,#000000b8);pointer-events:none}.landing-wall-name{font-size:12.5px;font-weight:600;color:#fff}.landing-wall-chain{display:flex;flex-wrap:wrap;gap:4px;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease}.landing-wall-chain span{padding:2px 6px;border-radius:999px;background:#ffffff29;font-family:var(--font-mono);font-size:9.5px;color:#fff}.landing-wall-tile:hover .landing-wall-chain,.landing-wall-tile:focus-visible .landing-wall-chain{max-height:80px;opacity:1}.landing-wall-note{margin:0;line-height:20px;text-align:center;font-size:13px;color:var(--text-dim)}:root[data-theme=dark] .landing-wall{--text-primary: #17171a;--text-muted: #5d5d66;--text-dim: #8d8d96;--ink-rgb: 23, 23, 26;--paper-rgb: 255, 255, 255;--hairline: rgba(23, 23, 26, .09)}:root[data-theme=dark] .landing-wall-ground{background:#e4e2e9}:root[data-theme=dark] .landing-wall-ground:after{opacity:.05;mix-blend-mode:multiply}:root[data-theme=dark] .landing-wall-ground span{mix-blend-mode:multiply}:root[data-theme=dark] .landing-wall-ground span:nth-child(1){background:radial-gradient(closest-side,rgba(118,70,255,.32),transparent)}:root[data-theme=dark] .landing-wall-ground span:nth-child(2){background:radial-gradient(closest-side,rgba(255,84,60,.25),transparent)}:root[data-theme=dark] .landing-wall-ground span:nth-child(3){background:radial-gradient(closest-side,rgba(40,140,255,.26),transparent)}:root[data-theme=dark] .landing-wall-ground span:nth-child(4){background:radial-gradient(closest-side,rgba(255,166,30,.22),transparent)}:root[data-theme=dark] .landing-wall-number{background:linear-gradient(135deg,#17171a 30%,#6a48e8 70%,#e0523c);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 calc(var(--wall-in) * 20px) rgba(106,72,232,.14))}:root[data-theme=dark] .landing-wall .landing-chips li{background:#fff9}:root[data-theme=dark] .landing-wall-tile{--tile-ring: #2a2a30;background:#17171a0d;box-shadow:0 0 0 1px #17171a14,0 18px 40px -22px #17171a73}:root[data-theme=dark] .landing-wall-grid.is-in .landing-wall-tile:hover,:root[data-theme=dark] .landing-wall-grid.is-in .landing-wall-tile:focus-visible{box-shadow:0 0 28px #6a48e84d,0 18px 40px -22px #17171a73}.landing-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.landing-reveal.is-in{opacity:1;transform:none}.landing-reveal.is-later{transition-delay:.14s}.landing-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.landing-eyebrow i{width:9px;height:9px;border-radius:50%;background:var(--tint);box-shadow:0 0 0 3px color-mix(in srgb,var(--tint) 22%,transparent)}.landing-eyebrow .tag-beta,.landing-card-title .tag-beta{padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em}.landing-title{margin:14px 0 16px;font-family:var(--font-display);font-size:clamp(32px,4.2vw,50px);font-weight:750;font-variation-settings:"opsz" 72;line-height:1.02;letter-spacing:-.025em;text-wrap:balance;color:var(--text-primary)}.landing-body{max-width:46ch;margin:0;font-size:17px;line-height:1.6;text-wrap:pretty;color:var(--text-muted)}.landing-chips-label{margin:22px 0 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}.landing-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.landing-chips li{padding:5px 10px;border:1px solid var(--hairline);border-radius:999px;background:rgba(var(--paper-rgb),.55);font-size:12.5px;color:var(--text-primary)}.landing-stage-wrap{width:100%}.landing-stage{position:relative;margin:0 auto}.landing-stage-inner{position:absolute;top:0;left:0;transform-origin:0 0}.landing-stage-inner:before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background-image:radial-gradient(rgba(var(--ink-rgb),.16) 1px,transparent 1.3px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse 52% 50% at 50% 50%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 52% 50% at 50% 50%,#000 35%,transparent 100%);pointer-events:none}.landing-wires{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:visible;pointer-events:none}.landing-wires path{fill:none;stroke-width:2;stroke-linecap:round}.landing-wires .is-image{stroke:var(--port-image)}.landing-wires .is-mod{stroke:var(--port-mod)}.landing-wires .is-render{stroke:var(--port-render)}.landing-wires .is-sound{stroke:var(--port-sound);stroke-width:2.6;stroke-dasharray:.1 6;animation:landingFlow 1.2s linear infinite}.landing-wires .is-text{stroke:var(--port-text);stroke-dasharray:7 5;animation:landingFlow 1.2s linear infinite}@keyframes landingFlow{to{stroke-dashoffset:-12}}.landing-card{position:absolute;z-index:2;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);color:var(--text-primary);transition:opacity .4s ease,transform .4s ease}.landing-card.is-hidden{opacity:0;transform:scale(.94)}.landing-card-title{display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-bottom:1px solid var(--hairline);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted)}.landing-card-title .tag-beta{margin-left:auto}.landing-tag-ai{background:color-mix(in srgb,var(--port-render) 22%,transparent);color:var(--port-render-text)}.landing-card-body{display:flex;flex-direction:column;gap:9px;padding:10px 12px 12px}.landing-card-body.is-picture{gap:8px;padding:8px}.landing-port{--port-color: var(--port-image);position:absolute;z-index:3;width:11px;height:11px;margin-top:-5.5px;border:2px solid var(--port-color);border-radius:50%;background:var(--port-color);transition:background .2s ease}.landing-port.is-in{left:-6.5px}.landing-port.is-out{right:-6.5px}.landing-port.is-off{background:var(--paper-solid)}.landing-port.is-diamond{border-radius:2px;transform:rotate(45deg) scale(.9)}.landing-wires .is-drawn{stroke-dasharray:1;stroke-dashoffset:1;animation:landingDraw .65s cubic-bezier(.65,0,.35,1) forwards}@keyframes landingDraw{to{stroke-dashoffset:0}}.landing-wires .is-drawn.is-late{animation-delay:.55s}.landing-wires .is-any{stroke-width:2.6}.landing-port.is-mod{--port-color: var(--port-mod)}.landing-port.is-sound{--port-color: var(--port-sound)}.landing-port.is-text{--port-color: var(--port-text)}.landing-port.is-render{--port-color: var(--port-render)}.landing-frame{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:8px;background:rgba(var(--ink-rgb),.06);transition:opacity .25s ease}.landing-frame.is-wide{aspect-ratio:16 / 9;border-radius:3px;background:#000}.landing-frame img,.landing-picture{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.landing-value{font-family:var(--font-mono);font-size:11px;color:var(--text-primary)}.landing-row{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--text-muted)}.landing-slider{display:flex;flex-direction:column;gap:6px}.landing-slider-line{display:flex;justify-content:space-between;align-items:center;height:14px;font-size:11.5px;color:var(--text-muted)}.landing-key-diamond{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:1.5px;background:var(--key);transform:rotate(45deg)}.landing-track{position:relative;height:4px;border-radius:4px;background:rgba(var(--ink-rgb),.1)}.landing-track-fill{position:absolute;inset:0 auto 0 0;width:var(--v);border-radius:4px;background:var(--text-primary)}.landing-track-thumb{position:absolute;top:50%;left:var(--v);width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:var(--knob);box-shadow:0 0 0 1px rgba(var(--ink-rgb),.18),0 1px 3px rgba(var(--shadow-rgb),.25)}.landing-slider.is-mod .landing-track-fill{background:var(--port-mod)}.landing-slider.is-key .landing-track-fill{background:var(--key)}.landing-slider.is-mod .landing-track-thumb{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:var(--port-mod);box-shadow:none}.landing-field{display:flex;justify-content:space-between;align-items:center;padding:6px 9px;border-radius:7px;background:rgba(var(--ink-rgb),.05);font-size:11.5px;color:var(--text-muted)}.landing-stage-caption{position:absolute;z-index:2;left:0;right:0;margin:0;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.landing-stage-caption b{font-weight:500;color:var(--text-primary)}.landing-wave{display:block;width:100%;height:54px}.landing-wave path{fill:none;stroke:var(--port-mod);stroke-width:2}.landing-wave-axis{stroke:var(--hairline);stroke-width:1}.landing-wave circle{fill:var(--port-mod)}.landing-sheet{position:absolute;z-index:2;overflow:hidden;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow)}.landing-sheet-head{display:flex;align-items:center;gap:10px;height:30px;padding:0 12px;border-bottom:1px solid var(--hairline)}.landing-sheet-play{width:0;height:0;border-left:8px solid var(--text-primary);border-top:5px solid transparent;border-bottom:5px solid transparent}.landing-sheet-rows{--name-width: 120px;position:relative}.landing-sheet-row{display:flex;align-items:center;height:28px;border-bottom:1px solid var(--hairline);font-size:11px}.landing-sheet-row:last-of-type{border-bottom:0}.landing-sheet-name{flex:none;width:var(--name-width);padding-left:12px;color:var(--text-muted)}.landing-sheet-lane{position:relative;flex:1;height:100%}.landing-sheet-lane.is-driven{display:flex;align-items:center;padding-left:8px;font-family:var(--font-mono);font-size:10px;color:var(--port-mod);opacity:.75}.landing-sheet-key{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:1.5px;background:var(--key);transform:rotate(45deg)}.landing-sheet-playhead{position:absolute;top:0;bottom:0;left:calc(var(--name-width) + (100% - var(--name-width)) * var(--k));width:1.5px;margin-left:-.75px;background:var(--port-image)}.landing-muted{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-family:var(--font-mono);font-size:9px;color:var(--text-dim)}.landing-bars{display:flex;align-items:center;gap:2px;height:46px}.landing-bars i{flex:1;border-radius:1px;background:color-mix(in srgb,var(--port-sound) 45%,transparent)}.landing-bars i.is-played{background:var(--port-sound)}.landing-beats{display:flex;justify-content:center;gap:8px;padding:4px 0}.landing-beats i{width:14px;height:14px;border-radius:50%;background:rgba(var(--ink-rgb),.1);transition:background 80ms ease,transform 80ms ease}.landing-beats i.is-on{background:var(--port-mod);transform:scale(1.15)}.landing-scrub{position:relative;height:4px;overflow:hidden;border-radius:4px;background:rgba(var(--ink-rgb),.1)}.landing-scrub i{position:absolute;inset:0 auto 0 0;background:var(--port-image)}.landing-steps{display:flex;flex-direction:column;gap:3px}.landing-steps span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-dim);transition:color .2s ease}.landing-steps span:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6}.landing-steps span.is-current{font-weight:600;color:var(--text-primary)}.landing-notice{display:flex;align-items:flex-start;gap:7px;padding:7px 9px;border-radius:8px;background:color-mix(in srgb,var(--port-sound) 12%,transparent);font-size:11px;line-height:1.35;color:color-mix(in srgb,var(--port-sound) 70%,var(--text-primary))}.landing-notice:before{content:"";flex:none;width:6px;height:6px;margin-top:4px;border-radius:50%;background:currentColor}.landing-words{padding:2px 0;font-family:var(--font-display);font-size:17px;font-weight:600}.landing-select{display:flex;justify-content:space-between;align-items:center;padding:6px 9px;border:1px solid var(--hairline);border-radius:7px;font-size:12px}.landing-select:after{content:"";width:6px;height:6px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:translate(-2px,-2px) rotate(45deg)}.landing-button{padding:7px;border-radius:8px;background:var(--accent);text-align:center;font-size:12px;font-weight:600;color:var(--on-accent)}.landing-button.is-busy{opacity:.75}.landing-progress{height:4px;overflow:hidden;border-radius:4px;background:rgba(var(--ink-rgb),.1)}.landing-progress i{display:block;height:100%;background:var(--port-render)}.landing-baked{display:flex;align-items:center;gap:9px;padding:6px;border-radius:9px;background:rgba(var(--ink-rgb),.05);opacity:0;transition:opacity .3s ease}.landing-baked.is-shown{opacity:1}.landing-baked-thumb{position:relative;flex:none;width:34px;aspect-ratio:4 / 5;overflow:hidden;border-radius:5px}.landing-baked-name{display:flex;flex:1;flex-direction:column;min-width:0;font-size:11px;line-height:1.35}.landing-baked-name .landing-value{font-size:10px;color:var(--text-muted)}.landing-baked-save{padding:4px 9px;border-radius:6px;background:var(--accent);font-size:11px;font-weight:600;color:var(--on-accent)}.landing-rec{display:flex;align-items:center;gap:8px}.landing-rec i{width:10px;height:10px;border-radius:50%;background:#e5484d;animation:landingBlink 1s steps(2) infinite}@keyframes landingBlink{50%{opacity:.25}}.landing-screen{position:relative;margin-bottom:6px;padding:3px;border:1.5px solid rgba(var(--ink-rgb),.35);border-radius:6px}.landing-screen:after{content:"";position:absolute;left:35%;right:35%;bottom:-8px;height:5px;border-radius:0 0 3px 3px;background:rgba(var(--ink-rgb),.3)}.landing-plug{--plug-at: 0;position:relative;height:calc(100vh + (var(--plug-steps) - 1) * 70vh);height:calc(100dvh + (var(--plug-steps) - 1) * 70dvh)}.landing-plug-sticky{position:sticky;top:0;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,64px);height:100vh;height:100dvh;max-width:1180px;margin:0 auto;padding:72px 40px 40px;box-sizing:border-box}.landing-plug-copy .landing-title{font-size:clamp(30px,3.6vw,46px)}.landing-plug-copy .landing-body{font-size:15.5px}.landing-plug-steps{position:relative;display:flex;flex-direction:column;gap:2px;margin:26px 0 0;padding:0 0 0 18px;list-style:none}.landing-plug-steps:before,.landing-plug-steps:after{content:"";position:absolute;top:8px;bottom:8px;left:0;width:2px;border-radius:2px;background:var(--hairline)}.landing-plug-steps:after{bottom:auto;height:calc((100% - 16px) * var(--plug-at));background:var(--port-image)}.landing-plug-steps button{display:flex;flex-direction:column;gap:4px;width:100%;padding:7px 10px;border:0;border-radius:10px;background:none;font:inherit;text-align:left;color:var(--text-dim);cursor:pointer;transition:background .25s ease,color .25s ease}.landing-plug-steps button:hover{color:var(--text-muted)}.landing-plug-step-label{font-size:14.5px;font-weight:600}.landing-plug-step-caption{display:grid;max-height:0;overflow:hidden;font-size:13.5px;line-height:1.5;color:var(--text-muted);opacity:0;transition:max-height .4s cubic-bezier(.16,1,.3,1),opacity .3s ease}.landing-plug-steps .is-past button{color:var(--text-muted)}.landing-plug-steps .is-current button{background:rgba(var(--ink-rgb),.04);color:var(--text-primary)}.landing-plug-steps .is-current .landing-plug-step-caption{max-height:140px;opacity:1}.landing-plug-hint{margin:18px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-dim)}.landing-plug-stage{min-width:0}.landing-plug-source{transition:opacity .3s ease,box-shadow .3s ease}.landing-plug-source:not(.is-current){opacity:.55}#landing-plug .landing-card.landing-plug-source.is-current{box-shadow:0 0 0 2px var(--port-image),var(--glass-shadow)}.landing-plug-swatch{height:54px;border-radius:6px;background-color:#000;background-position:center;background-size:cover}.landing-plug-swatch.is-gradient{background-image:radial-gradient(circle closest-side,#100d2e,#eb388a 50%,#fac740);background-size:160% 160%}.landing-plug-swatch.is-noise{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.035' numOctaves='3' seed='4'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='1.8' intercept='-0.4'/%3E%3CfeFuncG type='linear' slope='1.8' intercept='-0.4'/%3E%3CfeFuncB type='linear' slope='1.8' intercept='-0.4'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.landing-plug-swatch.is-chain{background-image:linear-gradient(90deg,var(--port-image),var(--port-mod),var(--port-sound),var(--port-render),var(--port-image));background-size:200% 100%}.landing-plug-swatch.is-strip.is-chain{animation:landingStripIn .5s .3s cubic-bezier(.16,1,.3,1) both,landingStripFlow 3s linear infinite}@keyframes landingStripFlow{to{background-position:-200% 0}}.landing-plug-arrive{animation:landingArrive .7s cubic-bezier(.16,1,.3,1) both}.landing-plug-arrive.is-second{animation-delay:.12s}@keyframes landingArrive{0%{opacity:0;transform:translate(-140px)}}.landing-plug-peek{-webkit-mask-image:linear-gradient(to right,transparent 62%,#000 96%);mask-image:linear-gradient(to right,transparent 62%,#000 96%)}.landing-plug-swatch.is-picture{background-image:url(/welcome/hero-picture.webp)}.landing-plug-swatch.is-strip{height:84px;border-radius:6px;transform-origin:0 50%;animation:landingStripIn .5s .3s cubic-bezier(.16,1,.3,1) both}@keyframes landingStripIn{0%{opacity:0;transform:scaleX(.3)}}.landing-plug-field .landing-value{color:var(--port-image-text, var(--port-image))}.landing-features{max-width:1180px;margin:0 auto;padding:var(--block-space) 40px;scroll-margin-top:40px}.landing-copy.is-centred{margin:0 auto 44px;text-align:center}.landing-copy.is-centred .landing-body{margin:0 auto}.landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.landing-tile{padding:22px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-fill);box-shadow:var(--glass-shadow);color:var(--text-primary)}.landing-tile h3{margin:14px 0 6px;font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.01em}.landing-tile p{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted)}.landing-final{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:80px 24px 96px;text-align:center}.landing-final-title{margin:0 0 14px;font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:800;font-variation-settings:"opsz" 96;line-height:1;letter-spacing:-.03em;color:var(--text-primary)}.landing-final .landing-body{max-width:40ch;margin:0 auto 30px}.landing-final-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.landing-final-actions .preset-modal-button{padding:12px 24px;border-radius:999px;font-size:14.5px}.landing-footer{position:absolute;left:0;right:0;bottom:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:0 24px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.landing-carousel{--slide-width: min(1000px, calc(100vw - 120px) );padding:var(--block-space) 0 max(0px,var(--block-space) - 48px);scroll-margin-top:40px}.landing-carousel-head{max-width:720px;margin:0 auto;padding:0 24px;text-align:center}.landing-carousel-head .landing-title{margin-top:0}.landing-carousel-head .landing-body{margin:0 auto}.landing-carousel-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin:34px auto 6px;padding:0 16px}.landing-carousel-tabs{display:flex;gap:4px;padding:4px;overflow-x:auto;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);scrollbar-width:none}.landing-carousel-tab{display:inline-flex;flex:none;align-items:center;gap:7px;padding:7px 14px;border:0;border-radius:999px;background:none;font:inherit;font-size:13px;white-space:nowrap;color:var(--text-muted);cursor:pointer;transition:background .25s ease,color .25s ease}.landing-carousel-tab:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tint);opacity:.45;transition:opacity .25s ease}.landing-carousel-tab:hover{color:var(--text-primary)}.landing-carousel-tab.is-current{background:rgba(var(--ink-rgb),.08);font-weight:600;color:var(--text-primary)}.landing-carousel-tab.is-current:before{opacity:1}.landing-carousel-arrow{display:grid;flex:none;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--glass-border);border-radius:50%;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);color:var(--text-primary);cursor:pointer;transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.7,.5,1)}.landing-carousel-arrow:hover:not(:disabled){transform:scale(1.08)}.landing-carousel-arrow:disabled{opacity:.35;cursor:default}.landing-footer a{color:var(--text-muted);text-decoration:underline;text-decoration-color:rgba(var(--ink-rgb),.25);text-underline-offset:3px}.landing-footer a:hover{color:var(--text-primary);text-decoration-color:currentColor}.landing-carousel-track{position:relative;display:flex;gap:28px;padding:28px calc((100% - var(--slide-width)) / 2) 48px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.landing-carousel-track::-webkit-scrollbar{display:none}@media(pointer:fine){.landing-carousel-track{cursor:grab;-webkit-user-select:none;user-select:none}}.landing-carousel-track.is-dragging{scroll-snap-type:none;cursor:grabbing;-webkit-user-select:none;user-select:none}.landing-carousel-track.is-dragging .landing-slide{cursor:grabbing}.landing-slide{display:grid;flex:none;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(20px,3vw,44px);width:var(--slide-width);padding:clamp(20px,3vw,40px);overflow:hidden;border:1px solid var(--glass-border);border-radius:28px;background:radial-gradient(120% 95% at 0% 0%,color-mix(in srgb,var(--tint) 18%,transparent),transparent 62%),radial-gradient(80% 70% at 100% 100%,color-mix(in srgb,var(--tint) 9%,transparent),transparent 70%),var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);scroll-snap-align:center;opacity:.45;transform:scale(.92);will-change:transform,opacity;cursor:pointer;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.landing-slide.is-current{opacity:1;transform:none;cursor:auto}.landing-slide .landing-eyebrow i{background:var(--tint);box-shadow:0 0 0 3px color-mix(in srgb,var(--tint) 22%,transparent)}.landing-slide-title{margin:12px 0 14px;font-family:var(--font-display);font-size:clamp(26px,3vw,38px);font-weight:750;font-variation-settings:"opsz" 60;line-height:1.05;letter-spacing:-.02em;text-wrap:balance;color:var(--text-primary)}.landing-slide .landing-body{font-size:15.5px}@media(max-width:860px){.landing-carousel{--slide-width: calc(100vw - 40px) }.landing-carousel-track{gap:14px}.landing-slide{grid-template-columns:minmax(0,1fr);border-radius:22px}.landing-carousel-arrow{display:none}}@media(prefers-reduced-motion:reduce){.landing-slide,.landing-carousel-tab,.landing-carousel-arrow{transition:none}}@media(max-width:1100px){.landing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.welcome-landing{--block-space: 56px}.landing-try{padding:var(--block-space) 16px}.landing-try-stage{margin-top:24px}.landing-wall{height:auto;min-height:100vh;min-height:100dvh;padding:56px 16px}.landing-wall-inner{container-type:normal}.landing-wall-fit{--gap: 8px}.landing-wall-grid{width:100%}.landing-wall-tile{grid-column:span 4}.landing-wall-tile.is-big{--tile-radius: 12px;grid-column:span 6}.landing-wall-head{grid-template-columns:minmax(0,1fr);gap:18px}.landing-wall-tile:not(.is-big){--tile-radius: 10px}.landing-wall-name{font-size:11px}.landing-features{padding:var(--block-space) 16px}.landing-plug-sticky{grid-template-columns:minmax(0,1fr);align-content:center;gap:18px;padding:64px 16px 24px}.landing-plug-copy .landing-body,.landing-plug-hint{display:none}.landing-plug-steps{margin-top:14px}.landing-plug-steps li:not(.is-current){display:none}.landing-grid{grid-template-columns:minmax(0,1fr)}.landing-bar-section{display:none}}@media(prefers-reduced-motion:reduce){.landing-reveal{opacity:1;transform:none;transition:none}.landing-bar,.landing-card,.landing-frame,.landing-wall-tile,.landing-wall-chain,.landing-try-chip{transition:none}.landing-wall-ground span{animation:none}.landing-wall-tile{opacity:1;transform:none}.landing-wires .is-sound,.landing-wires .is-text,.landing-rec i,.landing-plug-swatch.is-strip{animation:none}.landing-wires .is-drawn{animation:none;stroke-dashoffset:0}.landing-plug-arrive,.landing-plug-swatch.is-chain{animation:none}}@media(max-width:700px){.welcome-modal{flex-direction:column;height:auto;max-width:calc(100vw - 32px)}.welcome-media{flex:none;aspect-ratio:16 / 10;border-right:none;border-bottom:1px solid var(--hairline)}.welcome-content{padding:18px 18px 16px}.welcome-text{justify-content:flex-start;padding:14px 0 20px}.welcome-title{font-size:19px}}.node-crashed .node-title{color:var(--danger-text)}.node-crashed-message{margin:0;color:var(--text-muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.node-crashed-retry{align-self:flex-start;padding:4px 12px;font:inherit;font-size:11px;font-weight:500;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:rgba(var(--paper-rgb),.5);color:var(--text-primary);cursor:pointer;transition:background .14s ease}.node-crashed-retry:hover{background:rgba(var(--paper-rgb),.85)}.brand,.render-title,.node-title,.preset-modal-title,.about-title,.shortcut-section-title,.welcome-title{font-family:var(--font-display);font-optical-sizing:none;font-variation-settings:"opsz" 24}.brand{font-weight:800;font-variation-settings:"opsz" 12}.toolbar-pill .brand{display:flex;align-items:center;min-height:30px;font-size:21px;line-height:1;letter-spacing:-.01em;padding-bottom:2px}.node-title{font-variation-settings:"opsz" 12;letter-spacing:.05em}.control-value,.control-value-button,.control-value-edit,.control-field,.control-hex,.stat-readout,.render-info,.render-fps,.node-meta-detail,.image-badge,.export-progress-status,.about-version{font-family:var(--font-mono)}
