/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--radius-lg:4px;--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--shadow-node:var(--shadow-node)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg:#fefcf7;--bg-2:#fbf8ed;--surface:#fffdf8;--border:#efebd9;--border-strong:#ddd6bc;--text:#1f1c12;--text-2:#4a4636;--text-3:#9d978a;--muted:#f8f4e3;--accent:#1f1c12;--grid-dot:#ebe6d0;--status-idle:#d8cfb2;--status-ok:oklch(62% .13 150);--status-running:oklch(68% .13 230);--status-err:oklch(60% .18 25);--node-shopify:oklch(62% .16 150);--node-kartvizit:oklch(58% .18 250);--node-ana:oklch(58% .2 25);--node-yan:oklch(72% .16 80);--node-motor:#1f1c12;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--shell-topbar:48px;--editor-topbar:40px;--left-rail:240px;--right-rail:300px;--console-height:180px;--app-max-width:1280px;--radius-sm:2px;--radius:3px;--radius-lg:4px;--shadow-sm:0 1px 0 #11111108, 0 0 0 1px var(--border);--shadow-md:0 1px 2px #1111110a, 0 2px 8px #1111110a, 0 0 0 1px var(--border);--shadow-lg:0 8px 24px #1111110f, 0 0 0 1px var(--border-strong);--shadow-node:0 1px 0 #3228140a, 0 4px 14px #3228140f}[data-theme=dark]{--bg:#050504;--bg-2:#0c0c0a;--surface:#121210;--border:#1f1e1a;--border-strong:#2e2c25;--text:#fafaf7;--text-2:#c9c5b8;--text-3:#8b8576;--muted:#161614;--accent:#fafaf7;--grid-dot:#1f1e1a;--status-idle:#3a3830;--status-ok:oklch(68% .15 150);--status-running:oklch(72% .15 230);--status-err:oklch(66% .2 25);--shadow-node:0 1px 0 #00000080, 0 4px 14px #00000080}html,body{height:auto;overflow:auto}body.shell{background:var(--bg);color:var(--text);overflow-x:hidden}.shell-root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.shell-topbar{z-index:50;background:var(--surface);align-items:center;gap:14px;height:48px;padding:0 18px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.shell-topbar{background:color-mix(in srgb,var(--surface) 92%,transparent)}}.shell-topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.shell-topbar .brand{cursor:pointer;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.shell-topbar .brand .logo{background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:20px;display:inline-flex}.shell-topbar .brand .logo svg{width:100%;height:100%;display:block}.shell-topbar .brand .name{letter-spacing:-.018em;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:1.1}.shell-topbar .brand .name .wm{color:var(--text);font-weight:600;display:inline}.shell-topbar .brand .name .wm-2{color:var(--text-3);font-weight:500}.shell-topbar .brand .name .sub{color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;margin-top:1px;font-size:10px;font-weight:400;display:block}.shell-nav{border-left:1px solid var(--border);align-items:center;gap:2px;height:48px;margin-left:18px;padding-left:18px;display:flex}.shell-nav a{color:var(--text-2);border:1px solid #0000;border-radius:2px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;text-decoration:none;display:inline-flex}.shell-nav a:hover{background:var(--muted);color:var(--text)}.shell-nav a.active{color:var(--text);background:var(--muted);border-color:var(--border);font-weight:500}.shell-nav a svg{color:var(--text-3)}.shell-nav a.active svg{color:var(--text)}.shell-topbar .spacer{flex:1}.shell-avatar-wrap{position:relative}.shell-avatar-btn{cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;border-radius:2px;align-items:center;gap:8px;height:32px;padding:3px 8px 3px 3px;font-family:inherit;display:inline-flex}.shell-avatar-btn:hover{background:var(--muted);border-color:var(--border)}.shell-avatar-btn.open{background:var(--muted);border-color:var(--border-strong)}.shell-avatar{background:var(--text);width:26px;height:26px;color:var(--bg);letter-spacing:-.01em;flex-shrink:0;place-items:center;font-family:Inter,sans-serif;font-size:11px;font-weight:600;display:grid}.shell-avatar-name{flex-direction:column;line-height:1.1;display:flex}.shell-avatar-name .n{color:var(--text);font-size:12px;font-weight:500}.shell-avatar-name .e{color:var(--text-3);font-family:JetBrains Mono,monospace;font-size:10px}.shell-avatar-btn .caret{color:var(--text-3)}.shell-menu{background:var(--surface);border:1px solid var(--border-strong);min-width:280px;box-shadow:0 8px 24px #3228141a,0 0 0 1px var(--border);z-index:100;border-radius:2px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.shell-menu-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:4px;padding:10px 10px 12px;display:flex}.shell-menu-head .av{background:var(--text);width:36px;height:36px;color:var(--bg);place-items:center;font-size:13px;font-weight:600;display:grid}.shell-menu-head .nm{color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.shell-menu-head .em{color:var(--text-3);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.3}.shell-menu-head .plan{text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);border:1px solid var(--border);background:var(--bg-2);margin-top:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:9.5px;display:inline-block}.shell-menu-section{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;padding:6px 10px 2px;font-family:JetBrains Mono,monospace;font-size:9.5px}.shell-menu a,.shell-menu button.mitem{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:2px;align-items:center;gap:10px;padding:7px 10px;font-family:inherit;font-size:12.5px;text-decoration:none;display:flex}.shell-menu a:hover,.shell-menu button.mitem:hover{background:var(--muted)}.shell-menu .mico{width:14px;height:14px;color:var(--text-2);place-items:center;display:grid}.shell-menu .mtail{color:var(--text-3);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.shell-menu .sep{background:var(--border);height:1px;margin:4px 0}.shell-menu .mitem.danger,.shell-menu .mitem.danger .mico{color:#c53637}.shell-theme-toggle{grid-template-columns:1fr 1fr;gap:4px;padding:4px 8px 6px;display:grid}.shell-theme-toggle button{background:var(--bg-2);border:1px solid var(--border);cursor:pointer;height:28px;color:var(--text-2);border-radius:2px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-family:Inter,system-ui,sans-serif;font-size:11.5px;transition:all .12s;display:inline-flex}.shell-theme-toggle button:hover{background:var(--muted);color:var(--text)}.shell-theme-toggle button.on{background:var(--text);color:var(--bg);border-color:var(--text)}.shell-theme-toggle button.on .mico{color:var(--bg)}.shell-theme-toggle button .mico{width:14px;height:14px;color:var(--text-2)}.shell-page{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:28px 28px 80px}.shell-page.wide{max-width:1440px}.shell-page.full{max-width:none;padding:0}.page-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;padding-bottom:16px;display:flex}.page-head .kicker{color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:10px}.page-head h1{letter-spacing:-.02em;color:var(--text);margin:0 0 6px;font-family:Inter,sans-serif;font-size:28px;font-weight:600}.page-head .sub{color:var(--text-2);max-width:560px;font-size:13px;line-height:1.5}.page-head .actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.s-card{background:var(--surface);border:1px solid var(--border);border-radius:2px}.s-card-pad{padding:16px 18px}.s-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.s-card-head h3{letter-spacing:-.005em;margin:0;font-size:13px;font-weight:600}.s-card-head .kicker{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:10px}.s-btn{background:var(--surface);border:1px solid var(--border);height:32px;color:var(--text);cursor:pointer;border-radius:2px;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12.5px;transition:background 80ms,border-color 80ms;display:inline-flex}.s-btn:hover{background:var(--muted);border-color:var(--border-strong)}.s-btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.s-btn.primary:hover{opacity:.92;background:var(--text)}.s-btn.ghost{background:0 0;border-color:#0000}.s-btn.ghost:hover{background:var(--muted)}.s-btn.sm{height:26px;padding:0 9px;font-size:11.5px}.s-btn.lg{height:40px;padding:0 18px;font-size:13px;font-weight:500}.s-btn.danger{color:#c53637;border-color:#c53637}@supports (color:color-mix(in lab,red,red)){.s-btn.danger{border-color:color-mix(in oklch,oklch(55% .18 25) 35%,var(--border))}}.s-btn.danger:hover{background:#c5363714}.s-btn[disabled]{opacity:.4;cursor:not-allowed}.s-input,.s-select,.s-textarea{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:2px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color 80ms}.s-input:focus,.s-select:focus,.s-textarea:focus{border-color:var(--text)}.s-textarea{resize:vertical;min-height:80px;line-height:1.45}.s-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23888' fill='none' stroke-width='1.3'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.s-label{color:var(--text-2);margin-bottom:5px;font-size:11px;font-weight:500;display:block}.s-hint{color:var(--text-3);margin-top:4px;font-size:11px;line-height:1.4}.s-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.s-row-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.s-tag{color:var(--text-2);border:1px solid var(--border);background:var(--surface);letter-spacing:.04em;align-items:center;gap:5px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.s-tag .dot{background:var(--text-3);border-radius:50%;width:5px;height:5px}.s-tag.ok .dot{background:var(--status-ok)}.s-tag.warn .dot{background:#ca8a10}.s-tag.err .dot{background:var(--status-err)}.s-tag.filled{background:var(--text);color:var(--bg);border-color:var(--text)}.s-seg{border:1px solid var(--border);background:var(--surface);border-radius:2px;display:inline-flex;overflow:hidden}.s-seg button{color:var(--text-2);cursor:pointer;border:none;border-right:1px solid var(--border);background:0 0;padding:6px 12px;font-family:inherit;font-size:12px}.s-seg button:last-child{border-right:none}.s-seg button:hover{background:var(--muted);color:var(--text)}.s-seg button.on{background:var(--text);color:var(--bg)}.s-table{border-collapse:collapse;width:100%;font-size:12.5px}.s-table th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--bg-2);padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.s-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:11px 12px}.s-table tr:hover td{background:var(--muted)}.s-table td .mono{color:var(--text-2);font-family:JetBrains Mono,monospace;font-size:11px}.s-muted{color:var(--text-3)}.s-mono{font-family:JetBrains Mono,monospace}.s-kicker{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:10px}.s-input:focus,.s-select:focus,.s-textarea:focus,.s-btn:focus-visible{outline:1px solid var(--text);outline-offset:1px}.shell-footer{background:var(--bg-2);border-top:1px solid var(--border);margin-top:64px;position:relative}.shell-footer:before{content:"";background:linear-gradient(90deg,transparent,var(--border-strong) 20%,var(--border-strong) 80%,transparent);height:1px;position:absolute;top:-1px;left:0;right:0}.sf-inner{max-width:1280px;margin:0 auto;padding:48px 28px 24px}.sf-top{border-bottom:1px solid var(--border);grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-bottom:36px;display:grid}.sf-brand .lockup{color:var(--text);align-items:center;gap:10px;margin-bottom:14px;text-decoration:none;display:flex}.sf-brand .lockup .logo{justify-content:center;align-items:center;width:32px;height:20px;display:inline-flex}.sf-brand .lockup .logo svg{width:100%;height:100%;display:block}.sf-brand .lockup .nm{letter-spacing:-.018em;font-family:Inter,sans-serif;font-size:18px;font-weight:600;line-height:1.1}.sf-brand .lockup .nm .wm{color:var(--text);font-weight:600;display:inline}.sf-brand .lockup .nm .wm-2{color:var(--text-3);font-weight:500}.sf-brand .lockup .nm .v{color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;margin-top:2px;font-family:Inter,sans-serif;font-size:9.5px;font-weight:400;display:block}.sf-brand .pitch{color:var(--text-2);max-width:280px;margin-bottom:16px;font-size:12.5px;line-height:1.55}.sf-news{margin-top:8px}.sf-news .lbl{color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font-family:Inter,sans-serif;font-size:9.5px}.sf-news form{border:1px solid var(--border-strong);background:var(--surface);gap:0;max-width:300px;display:flex}.sf-news input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:12.5px}.sf-news button{border:none;border-left:1px solid var(--border);background:var(--text);color:var(--bg);cursor:pointer;letter-spacing:.02em;padding:0 14px;font-family:inherit;font-size:11.5px;font-weight:500}.sf-news button:hover{opacity:.92}.sf-news .consent{color:var(--text-3);max-width:300px;margin-top:8px;font-size:10.5px;line-height:1.5}.sf-news .consent a{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.sf-col h4{text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin:0 0 14px;font-family:Inter,sans-serif;font-size:10px;font-weight:500}.sf-col ul{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.sf-col a{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;text-decoration:none;transition:color 80ms;display:inline-flex}.sf-col a:hover{color:var(--text)}.sf-col a .badge{text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border-strong);color:var(--text-3);background:var(--surface);padding:1px 5px;font-family:Inter,sans-serif;font-size:8.5px}.sf-col a .badge.ok{color:#298646;border-color:#298646}@supports (color:color-mix(in lab,red,red)){.sf-col a .badge.ok{border-color:color-mix(in oklch,oklch(55% .13 150) 35%,var(--border))}}.sf-col a .badge.new{color:var(--text);border-color:var(--text)}.sf-legal{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr;align-items:start;gap:28px;padding:22px 0;display:grid}.sf-legal .lbl{text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);padding-top:2px;font-family:Inter,sans-serif;font-size:10px}.sf-legal .grid{grid-template-columns:repeat(4,1fr);gap:18px 24px;font-size:11.5px;display:grid}.sf-legal .grid>div .k{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-family:Inter,sans-serif;font-size:9.5px}.sf-legal .grid>div .v{color:var(--text);font-size:12px;line-height:1.45}.sf-legal .grid>div .v.mono{font-family:Inter,sans-serif;font-size:11.5px}.sf-legal-links{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:0;padding:18px 0;display:flex}.sf-legal-links a{color:var(--text-2);border-right:1px solid var(--border);padding:4px 14px;font-size:11.5px;text-decoration:none}.sf-legal-links a:last-child{border-right:none}.sf-legal-links a:hover{color:var(--text)}.sf-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-top:22px;display:flex}.sf-copy{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:11.5px;display:flex}.sf-copy .mono{letter-spacing:.04em;font-family:Inter,sans-serif;font-size:10px}.sf-copy .sep{background:var(--text-3);opacity:.5;border-radius:50%;width:3px;height:3px}.sf-copy .made{color:var(--text-3);letter-spacing:.06em;font-family:Inter,sans-serif;font-size:10px}.sf-copy .made b{color:var(--text-2);font-weight:500}.sf-tools{align-items:center;gap:14px;display:flex}.sf-social{gap:4px;display:flex}.sf-social a{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-2);border-radius:2px;place-items:center;transition:color 80ms,border-color 80ms;display:grid}.sf-social a:hover{color:var(--text);border-color:var(--border-strong)}.sf-social a svg{display:block}.sf-locale{color:var(--text-2);border:1px solid var(--border);background:var(--surface);text-transform:uppercase;letter-spacing:.08em;border-radius:2px;align-items:center;gap:6px;padding:4px 8px;font-family:Inter,sans-serif;font-size:10.5px;display:flex}.sf-locale .flag{background:#e30a17;flex-shrink:0;width:14px;height:10px;position:relative}.sf-locale .flag:before{content:"";background:#fff;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.sf-locale .flag:after{content:"";background:#e30a17;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:4.5px;transform:translateY(-50%)}.sf-trust{align-items:center;gap:8px;display:flex}.sf-trust .badge{border:1px solid var(--border);background:var(--surface);color:var(--text-2);text-transform:uppercase;letter-spacing:.1em;border-radius:2px;align-items:center;gap:6px;padding:4px 10px;font-family:Inter,sans-serif;font-size:9.5px;display:inline-flex}.sf-trust .badge .dot{background:var(--status-ok);border-radius:50%;width:5px;height:5px}@media(max-width:1100px){.sf-top{grid-template-columns:1.2fr 1fr 1fr}.sf-brand{grid-column:1/-1}.sf-legal{grid-template-columns:1fr}.sf-legal .grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sf-top{grid-template-columns:1fr 1fr}.sf-legal .grid{grid-template-columns:1fr}.sf-bottom{flex-direction:column;align-items:flex-start}}:root{--select:oklch(22% .005 250)}.mono{font-family:Helvetica,ui-monospace,monospace;font-size:11px}.app{grid-template-rows:40px 1fr 180px;grid-template-columns:240px 1fr 300px;gap:0;width:100%;height:calc(100vh - 48px);display:grid}.app.left-collapsed{grid-template-columns:32px 1fr 300px}.app.right-collapsed{grid-template-columns:240px 1fr 32px}.app.left-collapsed.right-collapsed{grid-template-columns:32px 1fr 32px}.app .topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;grid-area:1/1/auto/4}.app .leftpanel{border-right:1px solid var(--border);background:var(--bg-2);grid-area:2/1;overflow-y:auto}.app .leftpanel.collapsed{flex-direction:column;align-items:center;padding-top:6px;display:flex;overflow:hidden}.app .canvaswrap{background:var(--bg);grid-area:2/2;position:relative;overflow:hidden}.app .rightpanel{border-left:1px solid var(--border);background:var(--bg-2);grid-area:2/3;overflow-y:auto}.app .rightpanel.collapsed{flex-direction:column;align-items:center;padding-top:6px;display:flex;overflow:hidden}.app .console{border-top:1px solid var(--border);background:var(--surface);grid-area:3/1/auto/4;overflow:hidden}.panel-collapse-btn{width:22px;height:22px;color:var(--text-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;display:grid}.panel-collapse-btn:hover{background:var(--muted);color:var(--text)}.panel-collapse-btn.inline{width:18px;height:18px}.collapsed-label{writing-mode:vertical-rl;color:var(--text-3);letter-spacing:.14em;-webkit-user-select:none;user-select:none;margin-top:12px;font-size:10px;transform:rotate(180deg)}.topbar{align-items:center;gap:8px;height:40px;padding:0 10px;display:flex}.topbar .brand{border-right:1px solid var(--border);align-items:center;gap:8px;height:100%;padding-right:12px;display:flex}.topbar .brand .logo{background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:18px;display:inline-flex;position:relative}.topbar .brand .logo svg{width:100%;height:100%;display:block}.topbar .brand .logo .ln{stroke:var(--text)}.topbar .brand .logo .body{fill:var(--bg);stroke:var(--text)}.topbar .brand .logo .core{fill:var(--text)}.topbar .brand .name{letter-spacing:-.01em;font-size:13px;font-weight:600}.topbar .brand .name .sub{color:var(--text-3);margin-left:6px;font-size:11px;font-weight:400}.topbar .crumbs{color:var(--text-3);align-items:center;gap:6px;font-size:12px;display:flex}.topbar .crumbs b{color:var(--text);font-weight:500}.topbar .crumbs .sep{opacity:.5}.topbar .wf-back{border:1px solid var(--border);background:var(--surface);height:24px;color:var(--text-2);border-radius:2px;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:12px;text-decoration:none;display:inline-flex}.topbar .wf-back:hover{background:var(--muted);color:var(--text)}.topbar .wf-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.topbar .spacer{flex:1}.btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:26px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;transition:background 80ms,border-color 80ms;display:inline-flex}.btn:hover{background:var(--muted);border-color:var(--border-strong)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover{background:var(--text);opacity:.9}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--muted)}.btn.sm{height:22px;padding:0 7px;font-size:11px}.btn .kbd{color:var(--text-3);border:1px solid var(--border);border-radius:2px;place-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;font-family:Helvetica,monospace;font-size:10px;display:inline-grid}.btn.primary .kbd{color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.btn.primary .kbd{color:color-mix(in oklab,var(--bg) 80%,transparent)}}.btn.primary .kbd{border-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.btn.primary .kbd{border-color:color-mix(in oklab,var(--bg) 25%,transparent)}}.topbar .group{border-right:1px solid var(--border);align-items:center;gap:4px;height:100%;padding:0 6px;display:flex}.topbar .group:last-child{border-right:none}.topbar .usermenu{align-items:center;height:100%;padding:0 8px;display:flex;position:relative}.topbar .usermenu .avatar{color:#fff;letter-spacing:-.01em;cursor:pointer;border:1px solid var(--border);background:linear-gradient(135deg,oklch(75% .14 250),oklch(62% .18 180));place-items:center;width:26px;height:26px;font-size:11px;font-weight:500;display:grid}.topbar .usermenu .avatar:hover{border-color:var(--text)}.topbar .usermenu .dropdown{background:var(--surface);border:1px solid var(--border-strong);z-index:100;min-width:240px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:6px;box-shadow:4px 4px #0000000f}.topbar .usermenu .dd-head{border-bottom:1px solid var(--border);margin-bottom:4px;padding:10px 14px}.topbar .usermenu .dd-head .nm{letter-spacing:-.005em;font-size:13px;font-weight:600}.topbar .usermenu .dd-head .em{color:var(--text-3);margin-top:2px;font-family:Helvetica,monospace;font-size:10.5px}.topbar .usermenu .dd-head .plan{background:var(--bg-2);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);margin-top:6px;padding:1px 6px;font-family:Helvetica,monospace;font-size:9px;display:inline-block}.topbar .usermenu .dd-item{color:var(--text-2);cursor:pointer;align-items:center;gap:10px;padding:7px 14px;font-size:12.5px;text-decoration:none;display:flex}.topbar .usermenu .dd-item:hover{background:var(--muted);color:var(--text)}.topbar .usermenu .dd-item .ic{width:14px;height:14px;color:var(--text-3);flex-shrink:0}.topbar .usermenu .dd-item:hover .ic{color:var(--text)}.topbar .usermenu .dd-item.danger{color:var(--status-err)}.topbar .usermenu .dd-item.danger:hover{background:var(--status-err)}@supports (color:color-mix(in lab,red,red)){.topbar .usermenu .dd-item.danger:hover{background:color-mix(in oklch,var(--status-err) 8%,var(--surface))}}.topbar .usermenu .dd-sep{background:var(--border);height:1px;margin:4px 0}.iconbtn{border-radius:var(--radius);cursor:pointer;width:26px;height:26px;color:var(--text-2);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.iconbtn:hover{background:var(--muted);color:var(--text)}.iconbtn.active{background:var(--muted);color:var(--text);border-color:var(--border)}.iconbtn:disabled{opacity:.35;cursor:not-allowed}.iconbtn:disabled:hover{color:var(--text-2);background:0 0}.panel-header{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:10px 12px 6px;font-size:11px;display:flex}.panel-header .count{text-transform:none;letter-spacing:0;font-family:Helvetica,monospace}.lib-search{margin:0 10px 8px;position:relative}.lib-search input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:28px;color:var(--text);outline:none;padding:0 10px 0 26px;font-family:inherit;font-size:12px}.lib-search input:focus{border-color:var(--text-2)}.lib-search svg{color:var(--text-3);position:absolute;top:50%;left:7px;transform:translateY(-50%)}.lib-search .kbd{color:var(--text-3);border:1px solid var(--border);border-radius:2px;padding:0 4px;font-family:Helvetica,monospace;font-size:10px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.lib-category{padding:6px 0}.lib-category-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;padding:4px 12px;font-size:10px;font-weight:500;display:flex}.lib-category-title .line{background:var(--border);flex:1;height:1px}.lib-item{border-radius:var(--radius);cursor:grab;color:var(--text);border:1px solid #0000;align-items:center;gap:8px;margin:1px 6px;padding:6px 12px;font-size:12px;display:flex}.lib-item:hover{background:var(--muted);border-color:var(--border)}.lib-item:active{cursor:grabbing}.lib-item .ico{width:18px;height:18px;color:var(--text-2);place-items:center;display:grid}.lib-item .title{flex:1}.lib-item .pin{color:var(--text-3);font-family:Helvetica,monospace;font-size:10px}.insp-section{border-bottom:1px solid var(--border);padding:10px 14px}.insp-section:last-child{border-bottom:none}.insp-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px}.insp-title{letter-spacing:-.01em;font-size:13px;font-weight:600}.insp-meta{color:var(--text-3);margin-top:3px;font-family:Helvetica,monospace;font-size:10px}.field{margin-bottom:10px}.field:last-child{margin-bottom:0}.field label{color:var(--text-2);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.field .desc{color:var(--text-3);margin-top:3px;font-size:11px;line-height:1.35}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:5px 8px;font-family:inherit;font-size:12px;transition:border-color 80ms}.input:focus,.select:focus,.textarea:focus{border-color:var(--text-2)}.textarea{resize:vertical;min-height:54px;line-height:1.4}.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23666' fill='none' stroke-width='1.3'/></svg>");background-position:right 8px center;background-repeat:no-repeat;padding-right:22px}.row{gap:6px;display:flex}.row>*{flex:1}.slider{appearance:none;background:0 0;width:100%;height:18px}.slider::-webkit-slider-runnable-track{background:var(--border-strong);border-radius:1px;height:2px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border-radius:50%;width:10px;height:10px;margin-top:-4px}.slider::-moz-range-track{background:var(--border-strong);border-radius:1px;height:2px}.slider::-moz-range-thumb{background:var(--text);border:none;border-radius:50%;width:10px;height:10px}.seg{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:inline-flex;overflow:hidden}.seg button{color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:11px}.seg button.on{background:var(--text);color:var(--bg)}.tag{color:var(--text-2);border:1px solid var(--border);background:var(--surface);border-radius:2px;align-items:center;gap:4px;padding:1px 6px;font-family:Helvetica,monospace;font-size:10px;display:inline-flex}.tag .dot{background:var(--text-3);border-radius:50%;width:5px;height:5px}.status-dot{background:var(--status-idle);border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot.running{background:var(--status-running);box-shadow:0 0 0 2px var(--status-running)}@supports (color:color-mix(in lab,red,red)){.status-dot.running{box-shadow:0 0 0 2px color-mix(in oklch,var(--status-running) 30%,transparent)}}.status-dot.ok{background:var(--status-ok)}.status-dot.err{background:var(--status-err)}.canvas-root{position:absolute;inset:0;overflow:hidden}.canvas-grid{position:absolute;inset:0}.canvas-grid.hidden{display:none}.canvas-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.canvas-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvas-edges path.edge{fill:none;stroke:var(--text);stroke-width:1.4px;pointer-events:stroke;cursor:pointer}.canvas-edges path.edge.hit{stroke:#0000;stroke-width:10px;pointer-events:stroke}.canvas-edges path.edge:hover,.canvas-edges path.edge.selected{stroke-width:2px}.canvas-edges path.edge.ghost{stroke:var(--text);stroke-width:1.6px}.canvas-edges path.edge.ghost.c-g{stroke:#20a04e}.canvas-edges path.edge.ghost.c-b{stroke:oklch(58% .18 250)}.canvas-edges path.edge.ghost.c-r{stroke:#d73337}.canvas-edges path.edge.ghost.c-y{stroke:oklch(72% .16 80)}.canvas-edges path.edge.ghost.c-k{stroke:var(--text)}.canvas-edges .ghost-tip{stroke:none}.canvas-edges .ghost-tip.c-g{fill:#20a04e}.canvas-edges .ghost-tip.c-b{fill:oklch(58% .18 250)}.canvas-edges .ghost-tip.c-r{fill:#d73337}.canvas-edges .ghost-tip.c-y{fill:oklch(72% .16 80)}.canvas-edges .ghost-tip.c-k{fill:var(--text)}.canvas-edges .ghost-tip.invalid{fill:var(--status-err)}.canvas-edges path.edge.c-g{stroke:#20a04e}.canvas-edges path.edge.c-b{stroke:oklch(58% .18 250)}.canvas-edges path.edge.c-r{stroke:#d73337}.canvas-edges path.edge.c-y{stroke:oklch(72% .16 80)}.canvas-edges path.edge.c-k{stroke:var(--text)}.node.nc-g{--node-accent:oklch(62% .16 150)}.node.nc-b{--node-accent:oklch(58% .18 250)}.node.nc-r{--node-accent:oklch(58% .2 25)}.node.nc-y{--node-accent:oklch(72% .16 80)}.node.nc-k{--node-accent:var(--text)}@keyframes edge-flow{to{stroke-dashoffset:-20px}}.canvas-edges path.edge.active{stroke-width:2.8px;stroke-dasharray:8 5;animation:.55s linear infinite edge-flow}.canvas-edges path.edge.completed{stroke-width:1.8px}.canvas-edges .photon{pointer-events:none;filter:drop-shadow(0 0 3px)}.canvas-edges .photon.c-g{fill:#32c364;color:#32c364}.canvas-edges .photon.c-b{fill:oklch(68% .2 250);color:oklch(68% .2 250)}.canvas-edges .photon.c-r{fill:oklch(68% .22 25);color:oklch(68% .22 25)}.canvas-edges .photon.c-y{fill:oklch(82% .18 80);color:oklch(82% .18 80)}.canvas-edges .photon.c-k{fill:var(--text);color:var(--text)}.node.running{z-index:5;box-shadow:0 0 0 2px var(--node-accent,var(--text)),0 4px 20px var(--node-accent,var(--text)),0 1px #0000000a}@supports (color:color-mix(in lab,red,red)){.node.running{box-shadow:0 0 0 2px var(--node-accent,var(--text)),0 4px 20px color-mix(in oklch,var(--node-accent,var(--text)) 18%,transparent),0 1px #0000000a}}.node.running:before{background:var(--node-accent,var(--text))!important;width:4px!important}.node.running .node-head{background:var(--node-accent,var(--text));position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.node.running .node-head{background:color-mix(in oklch,var(--node-accent,var(--text)) 8%,var(--surface))}}.node.running .node-head:after{content:"";background:linear-gradient(90deg,transparent,var(--node-accent,var(--text)),transparent);width:40%;height:100%;position:absolute;top:0;left:-40%}@supports (color:color-mix(in lab,red,red)){.node.running .node-head:after{background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--node-accent,var(--text)) 22%,transparent),transparent)}}.node.running .node-head:after{pointer-events:none;animation:1.4s ease-in-out infinite head-sweep}@keyframes head-sweep{0%{left:-40%}to{left:100%}}@keyframes status-dot-beat{0%,to{box-shadow:0 0 0 0 var(--node-accent,var(--text));transform:scale(1)}50%{box-shadow:0 0 0 5px color-mix(in oklch,var(--node-accent,var(--text)) 0%,transparent);transform:scale(1.4)}}.node.running .status-dot{background:var(--node-accent,var(--text));animation:.85s ease-in-out infinite status-dot-beat}@keyframes node-ok-flash{0%{box-shadow:0 0 0 2px var(--status-ok),0 0 0 8px color-mix(in oklch,var(--status-ok) 18%,transparent)}to{box-shadow:0 0 0 1px var(--border-strong),0 1px #00000008}}.node[data-status=ok]:not(.running):not(.selected){animation:.65s ease-out node-ok-flash}.canvas-overlay{pointer-events:none;position:absolute;inset:0}.canvas-overlay .minimap{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:180px;height:110px;position:absolute;bottom:12px;right:12px;overflow:hidden}.canvas-overlay .zoom{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:0;font-family:Helvetica,monospace;font-size:11px;display:flex;position:absolute;bottom:12px;left:12px;overflow:hidden}.canvas-overlay .zoom button{height:24px;color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:0}.canvas-overlay .zoom button.zstep{width:24px}.canvas-overlay .zoom button.zfit{border-left:1px solid var(--border);white-space:nowrap;width:auto;padding:0 10px;font-size:10.5px}.canvas-overlay .zoom button:hover{background:var(--muted);color:var(--text)}.canvas-overlay .zoom .val{min-width:44px;color:var(--text-2);border-left:1px solid var(--border);border-right:1px solid var(--border);place-items:center;display:grid}.canvas-overlay .legend{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);align-items:center;gap:10px;padding:7px 10px;font-size:11px;display:flex;position:absolute;top:12px;right:12px}.canvas-overlay .legend .item{align-items:center;gap:5px;font-family:Helvetica,monospace;font-size:10px;display:flex}.node{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:286px;color:var(--text);-webkit-user-select:none;user-select:none;font-size:13.2px;position:absolute;overflow:hidden;box-shadow:0 1px #11111108}.node.nc-g:before{content:"";background:#20a04e;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.node.nc-b:before{content:"";background:oklch(58% .18 250);width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.node.nc-r:before{content:"";background:#d73337;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.node.nc-y:before{content:"";background:oklch(72% .16 80);width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.node.nc-k:before{content:"";background:var(--text);width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.port-label-inline{color:var(--text-2);pointer-events:none;white-space:nowrap;font-family:Helvetica,monospace;font-size:11px;line-height:1.25;position:absolute}.port-label-inline.in{width:77px;left:15px}.nhint{color:var(--text-3);padding-left:2px;font-size:11px}.nnativeselect{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:24px;color:var(--text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23666' fill='none' stroke-width='1.3'/></svg>");background-position:right 8px center;background-repeat:no-repeat;outline:none;padding:0 24px 0 8px;font-family:inherit;font-size:12px}.nnativeselect:focus{border-color:var(--text-2)}.ntextareact{box-sizing:border-box;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;max-height:286px;color:var(--text);resize:none;outline:none;padding:7px 9px;font-family:inherit;font-size:12px;line-height:1.45;display:block;overflow-y:auto}.ntextareact:focus{border-color:var(--text-2)}.nbtn.ghost{border-color:var(--border);background:0 0}.nbtn.ghost:hover{background:var(--muted)}.yanrow{border-top:1px dashed var(--border);flex-direction:column;gap:4px;padding-top:6px;display:flex}.yanrow:first-child{border-top:none;padding-top:0}.mrow-title .mtrail{color:var(--text-3);margin-left:auto;font-size:10px}.mtrack.range{overflow:visible}.mtrack.range .mfill{background:var(--text)}.mrdot.on{background:var(--text);border-color:var(--text);box-shadow:inset 0 0 0 2px var(--surface)}.out-body{flex-direction:column;gap:9px;padding:9px 11px 11px;display:flex}.out-admin{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:7px 9px}.out-admin-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:11px}.out-admin-row{align-items:center;gap:7px;display:flex}.out-admin-url{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.out-open{background:var(--text);height:22px;color:var(--bg);border:1px solid var(--text);border-radius:var(--radius);cursor:pointer;padding:0 9px;font-family:inherit;font-size:11px}.out-section-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:7px;padding:2px 2px 0;font-size:11px;display:flex}.out-section-title:after{content:"";background:var(--border);flex:1;height:1px}.out-tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.out-tab{height:24px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-bottom:1.5px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;margin-bottom:-1px;padding:0 4px;font-family:inherit;font-size:11.5px;display:inline-flex}.out-tab:hover{color:var(--text)}.out-tab.on{color:var(--text);border-bottom-color:var(--text)}.out-tab-n{color:var(--text-3);background:var(--muted);border-radius:7px;place-items:center;height:15px;padding:0 5px;font-size:10px;display:inline-grid}.out-tab.on .out-tab-n{background:var(--text);color:var(--bg)}.out-panel{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);max-height:220px;padding:2px;overflow-y:auto}.out-grid{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.out-thumb{aspect-ratio:1;border-radius:2px;flex-direction:column;justify-content:space-between;padding:4px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff4d}.out-thumb-kind{color:#0000008c;font-size:11px;font-weight:500;line-height:1}.out-thumb-num{color:#0000008c;align-self:flex-end;font-size:11px;line-height:1}.out-list{flex-direction:column;gap:2px;padding:2px;display:flex}.out-item{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:2px;align-items:flex-start;gap:9px;padding:7px 9px;font-size:13px;line-height:1.4;display:flex}.out-item-n{color:var(--text-3);background:var(--muted);text-align:center;border-radius:2px;flex-shrink:0;min-width:22px;padding:2px 7px;font-size:11px}.out-item-text{flex:1}.out-export-row{gap:7px;display:flex}.out-export-row .nbtn{flex:1;height:26px;padding:0 9px;font-size:12px}.port.snap .shape{box-shadow:0 0 0 4px var(--text);transform:scale(1.6);background:var(--text)!important;border-color:var(--text)!important}@supports (color:color-mix(in lab,red,red)){.port.snap .shape{box-shadow:0 0 0 4px color-mix(in oklch,var(--text) 18%,transparent)}}.port.snap .shape{transition:transform 80ms}.canvas-edges path.edge.ghost.invalid{stroke:var(--status-err)}.canvas-root.invalid{cursor:not-allowed}.node.motor{width:374px}.node.selected{box-shadow:0 0 0 1.5px var(--text),0 1px #11111108}.node.error{box-shadow:0 0 0 1.5px var(--status-err),0 1px #11111108}.node-head{border-bottom:1px solid var(--border);cursor:move;align-items:center;gap:9px;padding:8px 10px 7px;display:flex}.node-head .ico{width:15px;height:15px;color:var(--text-2);place-items:center;display:grid}.node-head .title{letter-spacing:-.005em;font-size:13.2px;font-weight:600}.node-head .info{width:16px;height:16px;color:var(--text-3);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:color 80ms,background-color 80ms;display:grid;position:relative}.node-head .info:hover,.node-head .info.open{color:var(--text);background:var(--muted)}.info-pop{z-index:1000;background:var(--surface);width:240px;color:var(--text);border:1px solid var(--border-strong);letter-spacing:0;cursor:default;white-space:normal;border-radius:3px;padding:10px 12px;font-size:11.5px;font-weight:400;line-height:1.55;position:fixed;box-shadow:0 6px 18px #1111111a}.info-pop:before{content:"";background:var(--surface);border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);width:9px;height:9px;position:absolute;top:-5px;left:10px;transform:rotate(45deg)}.info-pop .info-h{color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-family:Helvetica,monospace;font-size:9.5px}.node-head .badge{color:var(--text-3);border:1px solid var(--border);border-radius:2px;margin-left:auto;padding:1px 6px;font-family:Helvetica,monospace;font-size:10.5px}.node-head .status{margin-left:0}.port-row{justify-content:space-between;align-items:center;height:20px;padding:0 14px;display:flex;position:relative}.port-label{color:var(--text-2);font-family:Helvetica,monospace;font-size:12px;line-height:1}.port-label.in{text-align:left}.port-label.out{text-align:right;margin-left:auto}.node-form{flex-direction:column;gap:7px;padding:9px 11px;display:flex}.nrow{align-items:center;gap:7px;min-height:24px;display:flex}.nlabel{color:var(--text-2);min-width:70px;font-size:12px}.ninput{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);height:24px;color:var(--text);outline:none;flex:1;min-width:0;padding:0 8px;font-family:Helvetica,monospace;font-size:11.5px}.ninput.file{align-items:center;gap:7px;display:flex}.ninput.file .nclip{color:var(--text-3);border-left:1px solid var(--border);margin-left:auto;padding-left:7px;font-family:Inter,sans-serif;font-size:11px}.nsuffix{color:var(--text-3);font-size:11px}.nbtn{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);height:24px;color:var(--text);cursor:pointer;padding:0 11px;font-size:11.5px}.nbtn:hover{background:var(--surface)}.nselect{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);height:22px;color:var(--text);flex:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:0 8px;font-size:11px;display:flex}.nselect>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nselect svg{color:var(--text-3);flex-shrink:0}.ncheck{color:var(--text);align-items:center;gap:6px;font-size:11px;display:flex}.ncbox{border:1px solid var(--text-2);width:11px;height:11px;display:inline-block}.ncbox.on{background:var(--text);border-color:var(--text)}.npill{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);height:22px;color:var(--text);align-items:center;padding:0 9px;font-size:11.5px;display:inline-flex}.ntextarea{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);min-height:58px;color:var(--text);flex:1;padding:6px 8px;font-size:11px;line-height:1.45}.nadd{border:1px dashed var(--border-strong);border-radius:var(--radius);height:24px;color:var(--text-3);cursor:pointer;justify-content:center;align-items:center;font-size:11.5px;display:flex}.nadd:hover{background:var(--muted);color:var(--text)}.motor-body{flex-direction:column;gap:20px;padding:11px 15px 11px 4px;display:flex}.mrow{padding-right:7px;position:relative}.mrow.disabled{opacity:.38}.mrow-title{color:var(--text);align-items:center;gap:9px;margin-bottom:6px;font-size:13.2px;font-weight:500;display:flex}.mrow-title.flat{font-weight:400}.msq{background:var(--text);cursor:pointer;width:10px;height:10px;display:inline-block}.msq.mhollow{background:var(--surface);border:1px solid var(--text-2)}.mstepper{align-items:center;gap:0;width:fit-content;display:flex;position:relative}.mstepper:before{content:"";background:var(--border-strong);height:1px;position:absolute;top:50%;left:9px;right:9px}.mstep{background:var(--surface);border:1px solid var(--border-strong);width:22px;height:22px;color:var(--text-2);cursor:pointer;border-radius:50%;place-items:center;margin-right:33px;font-family:Helvetica,monospace;font-size:11px;display:grid;position:relative}.mstep:last-child{margin-right:0}.mstep.on{background:var(--text);color:var(--bg);border-color:var(--text)}.mslider{align-items:center;gap:9px;display:flex}.mslider .mend{color:var(--text-3);min-width:31px;font-size:11px}.mtrack{background:var(--border-strong);border-radius:2px;flex:1;height:4px;position:relative}.mfill{background:var(--text);position:absolute;top:0;bottom:0;left:0}.mthumb{background:var(--text);border-radius:50%;width:11px;height:11px;position:absolute;top:50%;transform:translate(-50%,-50%)}.mradios{gap:18px;display:flex}.mradio{color:var(--text);align-items:center;gap:7px;font-size:12px;display:flex}.mrdot{border:1px solid var(--text-2);border-radius:50%;width:11px;height:11px}.node-body{flex-direction:column;gap:4px;padding:0 10px;display:flex}.node-body .node-row{height:14px}.node-row{justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.node-row .k{color:var(--text-3);font-family:Helvetica,monospace;font-size:10.5px}.node-row .v{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-weight:500;overflow:hidden}.node-row .v.mono{font-family:Helvetica,monospace;font-size:10.5px;font-weight:400}.node-row .v.num{font-family:Helvetica,monospace;font-size:11px;font-weight:500}.node-foot{border-top:1px solid var(--border);color:var(--text-3);justify-content:space-between;align-items:center;padding:6px 10px;font-family:Helvetica,monospace;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.node-foot .timing{align-items:center;gap:4px;display:flex}.node-preview{border-top:1px solid var(--border);background:var(--bg-2);color:var(--text-2);padding:8px 10px;font-size:11px}.node-preview .ph{border:1px dashed var(--border-strong);height:60px;color:var(--text-3);background:repeating-linear-gradient(45deg,#0000 0 6px,#f1f2f3 6px 7px);border-radius:2px;place-items:center;font-family:Helvetica,monospace;font-size:10px;display:grid}.port{cursor:crosshair;place-items:center;width:12px;height:12px;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.port .shape{background:var(--surface);border:1.5px solid var(--text-2);box-sizing:border-box;border-radius:50%;width:10px;height:10px}.port.in{left:0}.port.out{left:100%}.port.c-g .shape{border-color:#20a04e}.port.c-g.connected .shape{background:#20a04e;border-color:#20a04e}.port.c-b .shape{border-color:oklch(58% .18 250)}.port.c-b.connected .shape{background:oklch(58% .18 250);border-color:oklch(58% .18 250)}.port.c-r .shape{border-color:#d73337}.port.c-r.connected .shape{background:#d73337;border-color:#d73337}.port.c-y .shape{border-color:oklch(72% .16 80)}.port.c-y.connected .shape{background:oklch(72% .16 80);border-color:oklch(72% .16 80)}.port.c-k .shape{border-color:var(--text)}.port.c-k.connected .shape,.port:hover .shape,.port.linking .shape{background:var(--text);border-color:var(--text)}.console{flex-direction:column;display:flex}.console-head{border-bottom:1px solid var(--border);height:28px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;padding:0 10px;font-size:11px;display:flex}.console-tabs{gap:0;display:flex}.console-tab{height:28px;color:var(--text-3);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;border:none;border-bottom:1.5px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 10px;font-size:11px;display:inline-flex}.console-tab.on{color:var(--text);border-bottom-color:var(--text)}.console-tab .n{text-transform:none;color:var(--text-3);background:var(--muted);letter-spacing:0;border-radius:8px;padding:1px 5px;font-family:Helvetica,monospace;font-size:10px}.console-body{flex:1;padding:6px 10px;font-family:Helvetica,monospace;font-size:11px;line-height:1.65;overflow-y:auto}.log-line{color:var(--text);grid-template-columns:64px 60px 80px 1fr;gap:10px;display:grid}.log-line .t{color:var(--text-3)}.log-line .lvl{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:4px;font-size:9.5px;display:inline-flex}.log-line .lvl.info{color:var(--text-2)}.log-line .lvl.ok{color:var(--status-ok)}.log-line .lvl.warn{color:oklch(58% .13 70)}.log-line .lvl.err{color:var(--status-err)}.log-line .src{color:var(--text-3)}.log-line .msg b{color:var(--text);font-weight:500}.console-foot{border-top:1px solid var(--border);height:22px;color:var(--text-3);align-items:center;gap:14px;padding:0 10px;font-family:Helvetica,monospace;font-size:10px;display:flex}.console-foot .sep{background:var(--border);width:1px;height:12px}.console-foot .k{color:var(--text-3)}.console-foot .v{color:var(--text-2)}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding:12px;display:grid}.metric-card{background:var(--bg-2,var(--surface));border:1px solid var(--border);padding:10px 12px}.metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:4px;font-size:10px}.metric-value{color:var(--text);font-size:18px;font-weight:600}.metric-value.metric-ok{color:#20a04e}.metric-value.metric-err{color:var(--status-err)}.metric-value.mono{word-break:break-all;font-family:Helvetica,monospace;font-size:12px;font-weight:400}.ctxmenu{z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-lg);padding:4px;font-size:12px;position:fixed}.ctxmenu .hd{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;padding:6px 10px 4px;font-size:10px}.ctxmenu .item{cursor:pointer;color:var(--text);border-radius:2px;align-items:center;gap:8px;padding:5px 8px;display:flex}.ctxmenu .item:hover{background:var(--muted)}.ctxmenu .item .ico{width:14px;height:14px;color:var(--text-2)}.ctxmenu .item .kbd{color:var(--text-3);margin-left:auto;font-family:Helvetica,monospace;font-size:10px}.ctxmenu .sep{background:var(--border);height:1px;margin:4px 0}.ctxmenu .sub{color:var(--text-3);align-items:center;gap:8px;padding:5px 8px;display:flex}.tweaks{z-index:900;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:260px;box-shadow:var(--shadow-lg);position:fixed;bottom:200px;right:320px;overflow:hidden}.tweaks-head{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;height:30px;color:var(--text-3);align-items:center;padding:0 10px;font-size:11px;display:flex}.tweaks-head .close{margin-left:auto}.tweaks-body{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.marquee{border:1px dashed var(--text);background:var(--text);position:absolute}@supports (color:color-mix(in lab,red,red)){.marquee{background:color-mix(in oklch,var(--text) 6%,transparent)}}.marquee{pointer-events:none}.canvas-root.panning{cursor:grabbing}.canvas-root.connecting{cursor:crosshair}.step-block{border-bottom:1px solid var(--border);grid-template-columns:36px 1fr;gap:16px;padding:18px 0;display:grid}.step-block:last-child{border-bottom:none}.step-num{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.step-block h3{margin:0 0 6px;font-size:14px;font-weight:600}.step-desc{color:var(--text-2);max-width:600px;margin:0 0 14px;font-size:12.5px;line-height:1.5}.fnote{color:var(--text-3);max-width:640px;margin-top:12px;font-size:11.5px;line-height:1.55}.fhint{color:var(--text-3);margin:4px 0 0;font-size:11px;line-height:1.45}.s-label{color:var(--text-3);margin-bottom:4px;font-size:11px;display:block}.form-head{padding:0 0 8px}.form-head h2{margin:0 0 4px;font-size:18px;font-weight:600}.form-head p{color:var(--text-2);max-width:640px;margin:0;font-size:13px;line-height:1.5}.form-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid>.full{grid-column:1/-1}.platseg{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.platseg-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;place-items:center;gap:4px;padding:8px;display:grid}.platseg-btn.on{background:var(--text);color:var(--bg);border-color:var(--text)}.platseg-code{font-family:var(--font-mono);opacity:.7;letter-spacing:.05em;font-size:10px}.platseg-label{font-size:12px}.prefix-input{position:relative}.prefix-input:before{content:"$";font-family:var(--font-mono);color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.prefix-input input{padding-left:24px}.competitor-row{gap:4px;margin-bottom:8px;display:grid}.competitor-input-wrap{grid-template-columns:1fr 32px;gap:6px;display:grid}.comp-del{border:1px solid var(--border);cursor:pointer;color:var(--text-2);background:0 0;font-size:14px}.comp-del:hover{background:var(--muted)}.add-comp{border:1px dashed var(--border-strong);cursor:pointer;color:var(--text-2);background:0 0;margin-top:4px;padding:8px 12px;font-size:12px}.add-comp:hover{background:var(--muted)}.mslots-head{justify-content:space-between;align-items:baseline;margin-top:12px;display:flex}.mslots-count{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.mslots{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:8px;display:grid}.mslot{aspect-ratio:1;border:1px solid var(--border);cursor:default;font-family:var(--font-mono);color:var(--text-3);background:0 0;place-items:center;font-size:11px;display:grid}.mslot.vert{aspect-ratio:9/16}.mslot.filled{background:var(--muted);border-color:var(--border-strong);color:var(--text-2);cursor:pointer}.mslot.filled:hover{color:var(--status-err)}.mslot.next{cursor:pointer;color:var(--text-2);border-style:dashed;font-size:18px}.mslot.next:hover{background:var(--muted)}.mslot.empty{opacity:.4;border-style:dashed}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:13px;line-height:1.4}*{box-sizing:border-box}#root{isolation:isolate;height:100%}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
