@font-face{font-family:Caveat;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/caveat-latin-CP6HlsNg.woff2) format("woff2")}:root{--bg: #e6ebf1;--panel: #f6f8fb;--surface: #ffffff;--canvas: #fafbfd;--dot: #c6cfdb;--fg: #17202c;--muted: #5a6879;--line: #d3dbe5;--edge: #8a99ab;--accent: #2a66dc;--accent-fg: #ffffff;--c-edge: #5b6b80;--c-net: #0f8f8a;--c-compute: #2a66dc;--c-sec: #c43d6b;--c-data: #b8740a;--c-msg: #7c4fe0;--c-obs: #3f8a2a;--c-ai: #c2531a;--c-ops: #0f7490;--k-request: #2a66dc;--k-response: #14996a;--k-event: #7c4fe0;--k-cache: #c98108;--k-error: #d63c45;--shadow: 0 1px 2px rgba(23, 32, 44, .06), 0 4px 14px rgba(23, 32, 44, .06);--node-sh-soft: drop-shadow(0 2px 3px rgba(23, 32, 44, .1)) drop-shadow(0 6px 10px rgba(23, 32, 44, .08));--node-sh-strong: drop-shadow(0 4px 6px rgba(23, 32, 44, .14)) drop-shadow(0 14px 24px rgba(23, 32, 44, .18));--node-lift-soft: 0%;--node-lift-strong: 0%;--f-ui: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-serif: Georgia, Cambria, "Times New Roman", serif;--f-hand: "Caveat", "Segoe Print", "Comic Sans MS", cursive;--f-comic: "Comic Sans MS", "Comic Sans", "Comic Neue", "Chalkboard SE", cursive;--f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #090d14;--panel: #111722;--surface: #161e2b;--canvas: #0d121b;--dot: #232e3f;--fg: #e3e9f1;--muted: #8c99ab;--line: #233042;--edge: #5d6d84;--accent: #6b9cff;--accent-fg: #0b1220;--c-edge: #93a3b8;--c-net: #36c2bb;--c-compute: #6b9cff;--c-sec: #f06d99;--c-data: #f0ae3c;--c-msg: #a888ff;--c-obs: #86cf5e;--c-ai: #ff9255;--c-ops: #4cc6e0;--k-request: #6b9cff;--k-response: #3fd197;--k-event: #a888ff;--k-cache: #f0ae3c;--k-error: #ff6b73;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);--node-sh-soft: drop-shadow(0 3px 5px rgba(0, 0, 0, .75)) drop-shadow(0 10px 20px rgba(0, 0, 0, .7));--node-sh-strong: drop-shadow(0 6px 10px rgba(0, 0, 0, .9)) drop-shadow(0 22px 44px rgba(0, 0, 0, .9));--node-lift-soft: 4%;--node-lift-strong: 8%;color-scheme:dark}}:root[data-theme=dark]{--bg: #090d14;--panel: #111722;--surface: #161e2b;--canvas: #0d121b;--dot: #232e3f;--fg: #e3e9f1;--muted: #8c99ab;--line: #233042;--edge: #5d6d84;--accent: #6b9cff;--accent-fg: #0b1220;--c-edge: #93a3b8;--c-net: #36c2bb;--c-compute: #6b9cff;--c-sec: #f06d99;--c-data: #f0ae3c;--c-msg: #a888ff;--c-obs: #86cf5e;--c-ai: #ff9255;--c-ops: #4cc6e0;--k-request: #6b9cff;--k-response: #3fd197;--k-event: #a888ff;--k-cache: #f0ae3c;--k-error: #ff6b73;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);--node-sh-soft: drop-shadow(0 3px 5px rgba(0, 0, 0, .75)) drop-shadow(0 10px 20px rgba(0, 0, 0, .7));--node-sh-strong: drop-shadow(0 6px 10px rgba(0, 0, 0, .9)) drop-shadow(0 22px 44px rgba(0, 0, 0, .9));--node-lift-soft: 4%;--node-lift-strong: 8%;color-scheme:dark}*{box-sizing:border-box}:root{--sb-thumb: color-mix(in srgb, var(--fg) 16%, transparent);--sb-thumb-on: color-mix(in srgb, var(--fg) 30%, transparent);--sb-thumb-hot: color-mix(in srgb, var(--fg) 45%, transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--sb-thumb);background-clip:padding-box;border:3px solid transparent;border-radius:999px;min-height:32px}:hover::-webkit-scrollbar-thumb{background-color:var(--sb-thumb-on)}::-webkit-scrollbar-thumb:hover{background-color:var(--sb-thumb-hot);border-width:2px}::-webkit-scrollbar-thumb:active{background-color:var(--accent);border-width:2px}::-webkit-scrollbar-button{display:none}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) transparent}*:hover{scrollbar-color:var(--sb-thumb-on) transparent}}.sd-palette,.sd-side,.sd-select-pop,.sd-modal-card{overscroll-behavior:contain}.sd-palette,.sd-side{scrollbar-gutter:stable;scroll-behavior:smooth}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--f-ui);font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cat-edge{--cat: var(--c-edge)}.cat-net{--cat: var(--c-net)}.cat-compute{--cat: var(--c-compute)}.cat-sec{--cat: var(--c-sec)}.cat-data{--cat: var(--c-data)}.cat-msg{--cat: var(--c-msg)}.cat-obs{--cat: var(--c-obs)}.cat-ai{--cat: var(--c-ai)}.cat-ops{--cat: var(--c-ops)}.k-request{--kc: var(--k-request)}.k-response{--kc: var(--k-response)}.k-event{--kc: var(--k-event)}.k-cache{--kc: var(--k-cache)}.k-error{--kc: var(--k-error)}.sd-app{height:100%;padding:12px 16px;display:grid;grid-template-columns:280px minmax(0,1fr) 316px;grid-template-rows:auto minmax(0,1fr);gap:10px}.sd-top{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px}.sd-brand{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.sd-brand svg{width:28px;height:28px;flex:none}.sd-logo-tile{stroke:transparent;stroke-width:1.5}:root[data-theme=dark] .sd-logo-tile{stroke:#2b3646}.sd-wordmark{font-size:16px;font-weight:700;letter-spacing:-.02em}.sd-wordmark span{font-weight:500}.sd-dname{flex:0 1 320px;width:320px;min-width:140px;border:1px solid transparent;background:transparent;border-radius:7px;padding:5px 10px;font-size:15px;font-weight:600;text-overflow:ellipsis}.sd-dname:hover,.sd-dname:focus{border-color:var(--line);background:var(--surface)}.sd-dname-static,.sd-dname-static:hover{display:block;border-color:transparent;background:transparent;white-space:nowrap;overflow:hidden;cursor:default;-webkit-user-select:none;user-select:none}.sd-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}.sd-btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 11px;font-weight:500;font-size:13px;white-space:nowrap}.sd-btn:hover:not(:disabled){border-color:var(--accent)}.sd-btn:disabled{opacity:.5;cursor:default}.sd-btn[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.sd-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.sd-btn.danger{color:var(--k-error)}.sd-icon-btn{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0;flex:none}.sd-icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sd-icon-btn:disabled{opacity:.35;cursor:default}.sd-icon-btn[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--accent)}.sd-icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd-tgroup{display:flex;align-items:center;gap:6px}.sd-tsep{width:1px;height:22px;background:var(--line);margin:0 4px;flex:none}.sd-btn-ico{display:inline-flex;align-items:center;gap:7px}.sd-btn-ico svg{width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sd-seg{gap:2px;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.sd-seg .sd-icon-btn{border-color:transparent;background:transparent;width:30px;height:28px;border-radius:7px}.sd-seg .sd-icon-btn:hover{background:var(--panel)}.sd-present{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.sd-present:hover{color:var(--accent-fg);filter:brightness(1.08)}.sd-present[aria-pressed=true]{background:var(--k-error);border-color:var(--k-error);color:#fff}.sd-laser[aria-pressed=true]{background:#ff2d55;border-color:#ff2d55;color:#fff}.sd-laser[aria-pressed=true]:hover{color:#fff;filter:brightness(1.08)}.sd-tmenu{position:relative}.sd-tmenu:not(.sd-more){width:320px}.sd-tmenu:not(.sd-more) .sd-tmenu-btn{width:100%}.sd-tmenu:not(.sd-more) .sd-tmenu-pop{left:0;right:auto;width:100%}.sd-tmenu-cur{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.sd-tmenu-item.selected{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.sd-tmenu-item.selected .sd-tmenu-label{color:var(--accent)}.sd-tmenu-btn .sd-tmenu-chev{margin-left:auto;flex:none}.sd-tmenu-lead{flex:none}.sd-tmenu-btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;font-size:14px;font-weight:600}.sd-tmenu-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sd-tmenu-lead{color:var(--accent)}.sd-tmenu-chev{color:var(--muted);transition:transform .15s}.sd-tmenu-btn[aria-expanded=true]{border-color:var(--accent)}.sd-tmenu-btn[aria-expanded=true] .sd-tmenu-chev{transform:rotate(180deg)}.sd-tmenu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:min(380px,calc(100vw - 32px));max-height:min(70vh,620px);overflow:auto;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #090d142e,var(--shadow)}.sd-tmenu-group+.sd-tmenu-group{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.sd-tmenu-head{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px}.sd-tmenu-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:6px 8px;text-align:left}.sd-tmenu-item:hover,.sd-tmenu-item:focus-visible{background:var(--surface);border-color:var(--line);outline:none}.sd-tmenu-item:focus-visible{border-color:var(--accent)}.sd-tmenu-ico{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--cat) 14%,transparent)}.sd-tmenu-text{flex:1;display:flex;flex-direction:column;min-width:0}.sd-tmenu-label{font-size:13px;font-weight:600}.sd-tmenu-desc{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-tip{position:fixed;z-index:80;transform:translate(-50%,-100%);pointer-events:none;display:flex;align-items:center;gap:7px;max-width:260px;width:max-content;background:var(--fg);color:var(--bg);font-size:12px;font-weight:500;line-height:1.35;padding:6px 9px;border-radius:7px;box-shadow:var(--shadow);animation:sd-tip-in .12s ease-out}.sd-tip.below{transform:translate(-50%)}.sd-tip:after{content:"";position:absolute;left:calc(50% + var(--arrow, 0px));top:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--fg)}.sd-tip.below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--fg)}.sd-tip kbd{background:color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg);border-color:color-mix(in srgb,var(--bg) 35%,transparent)}@keyframes sd-tip-in{0%{opacity:0}}.sd-dots{fill:currentColor!important;stroke:none!important}.sd-more-pop{width:250px}.sd-more-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;font-size:13px;font-weight:500}.sd-more-item svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd-more-item:hover:not(:disabled),.sd-more-item:focus-visible{background:var(--surface);border-color:var(--line);outline:none}.sd-more-item:focus-visible{border-color:var(--accent)}.sd-more-item:disabled{opacity:.45;cursor:default}.sd-more-label{flex:1}.sd-more-hint{font:500 10.5px var(--f-mono);color:var(--muted)}.sd-select{display:inline-flex;align-items:center;gap:7px;min-width:0;text-align:left;cursor:pointer}.sd-select-val{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-select-chev{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:transform .15s}.sd-select[aria-expanded=true] .sd-select-chev{transform:rotate(180deg)}.sd-select-ico{display:grid;place-items:center;flex:none}.sd-select-field{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 9px}.sd-select-field:hover,.sd-select-field[aria-expanded=true]{border-color:var(--accent)}.sd-select-compact{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 7px;font:500 12px var(--f-mono);gap:4px}.sd-select-compact:hover,.sd-select-compact[aria-expanded=true]{border-color:var(--accent)}.sd-select-chip{border:0;border-radius:99px;padding:2px 6px 2px 7px;gap:3px;font:600 10px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--kc);background:color-mix(in srgb,var(--kc) 14%,transparent);flex:none}.sd-select-chip:hover,.sd-select-chip[aria-expanded=true]{background:color-mix(in srgb,var(--kc) 24%,transparent)}.sd-select-chip .sd-select-chev{width:11px;height:11px}.sd-select-pop{position:fixed;z-index:70;overflow:auto;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #090d142e,var(--shadow);font-size:13px}.sd-search{display:flex;align-items:center;gap:7px;margin:2px 2px 4px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.sd-search:focus-within{border-color:var(--accent)}.sd-search svg{width:14px;height:14px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}.sd-search input{flex:1;min-width:0;border:0;background:transparent;padding:7px 0;font-size:13px;outline:none}.sd-search input::-webkit-search-cancel-button{display:none}.sd-search .sd-search-clear{flex:none;display:grid;place-items:center;width:20px;height:20px;margin-right:-3px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.sd-search .sd-search-clear svg{width:12px;height:12px}.sd-search .sd-search-clear:hover{background:var(--line)}.sd-search .sd-search-clear:hover svg{stroke:var(--fg)}.sd-search .sd-search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sd-search-sticky{position:sticky;top:-6px;z-index:1;box-shadow:0 -6px 0 var(--panel)}.sd-search-empty{color:var(--muted);font-size:12.5px;padding:10px;text-align:center}.sd-select-head{font:500 10px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 8px 3px}.sd-select-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;white-space:nowrap}.sd-select-opt.active{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.sd-select-opt[aria-selected=true]{font-weight:600}.sd-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sd-select-check{width:15px;height:15px;flex:none;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.sd-select-opt[class*=k-] .sd-select-label{color:var(--kc);font:600 11px var(--f-mono);letter-spacing:.05em;text-transform:uppercase}.sd-kdot{width:8px;height:8px;border-radius:50%;background:var(--kc)}.sd-select-chip .sd-kdot{display:none}.sd-palette,.sd-side{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:0;overflow:auto}.sd-palette{padding:16px 14px}.sd-eyebrow{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 4px 6px}.sd-pal-group:first-child .sd-eyebrow{margin-top:0}.sd-group-head{display:flex;align-items:center;gap:6px;width:calc(100% - 8px);border:0;background:transparent;padding:4px 2px;border-radius:6px;text-align:left;cursor:pointer}.sd-group-head:hover:not(:disabled){color:var(--fg);background:var(--surface)}.sd-group-head:disabled{cursor:default}.sd-pal-searchrow{display:flex;align-items:center;gap:4px;margin:0 0 8px}.sd-pal-search{flex:1;min-width:0;margin:0}.sd-pal-search input::-webkit-search-cancel-button{cursor:pointer}.sd-group-head span:nth-child(2){flex:1}.sd-group-count{font-variant-numeric:tabular-nums;opacity:.7}.sd-chev{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transition:transform .15s}.sd-pal-group.collapsed .sd-chev{transform:none}.sd-pal-group.collapsed .sd-pal-items{display:none}.sd-app.pal-closed{grid-template-columns:68px minmax(0,1fr) 316px}.sd-app.side-closed{grid-template-columns:280px minmax(0,1fr) 48px}.sd-app.pal-closed.side-closed{grid-template-columns:68px minmax(0,1fr) 48px}.sd-pal-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px 4px}.sd-pal-title{display:flex;align-items:center;min-width:0;font-size:13px;font-weight:700}.sd-pal-title h2{font-size:13px;font-weight:700;margin:0}.sd-pal-title .sd-pal-count{margin-left:4px}.sd-pal-count{margin-left:7px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--fg) 7%,transparent);font:500 10.5px var(--f-mono);font-variant-numeric:tabular-nums;color:var(--muted);vertical-align:1px}.sd-panel-toggle{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:7px;padding:0;color:var(--muted);flex:none}.sd-pal-actions{display:flex;align-items:center;gap:2px}.sd-panel-toggle:hover:not(:disabled){background:var(--surface);border-color:var(--line);color:var(--fg)}.sd-panel-toggle:disabled{opacity:.35;cursor:default}.sd-panel-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sd-palette.rail{padding:8px 5px;display:flex;flex-direction:column;align-items:center;gap:2px}.sd-palette.rail .sd-panel-toggle{margin-bottom:4px}.sd-rail-group{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-top:1px solid var(--line);width:100%}.sd-palette.rail .sd-pal-item{width:auto;padding:4px;justify-content:center}.sd-pal-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:6px 8px;text-align:left;font-size:13.5px;font-weight:500;cursor:grab}.sd-pal-item:hover{background:var(--surface);border-color:var(--line)}.sd-icons,.sd-blocks{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.sd-block-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.sd-block-grid[hidden]{display:none}.sd-block-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:7px 3px 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--fg);font-size:11px;font-weight:500;line-height:1.2;text-align:center;cursor:grab}.sd-block-item:hover{background:var(--surface);border-color:var(--line)}.sd-block-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sd-block-item svg{width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.sd-icon-group .sd-eyebrow{margin:10px 4px 4px}.sd-icon-group:first-child .sd-eyebrow{margin-top:0}.sd-icon-grid.sd-pal-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px}.sd-icon-item{display:grid;place-items:center;aspect-ratio:1;padding:0;border:0;border-radius:8px;background:transparent;cursor:grab}.sd-icon-item:hover{background:var(--surface)}.sd-icon-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sd-pal-ico{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--cat) 14%,transparent)}.sd-icon{fill:none;stroke:var(--cat);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sd-stage{min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px}.canvas-wrap{position:relative;flex:1;min-height:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--canvas)}#cv{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}#cv .bg{fill:url(#grid)}#cv.bg-grid .bg{fill:url(#grid-lines)}#cv.bg-none .bg{fill:transparent}.dotc{fill:var(--dot)}.gridl{fill:none;stroke:var(--dot);stroke-width:1;opacity:.55}.gridl.major{stroke-width:1.2;opacity:1}.node{cursor:grab}.node .card{fill:var(--surface);stroke:var(--line);stroke-width:1.2}.node.k-terminal .card{fill:#0d1117;stroke:#30363d}.node.bare .card{stroke:color-mix(in srgb,var(--cat) 60%,var(--line));stroke-width:1.5}.node.f-text .card{fill:transparent;stroke:transparent;stroke-dasharray:4 3}.node.f-text.colored .nl{fill:var(--cat)}.node.f-icon .card{fill:transparent;stroke:transparent;stroke-dasharray:4 3}.node .nl.ph{fill:var(--muted);font-style:italic;font-weight:500;opacity:.7}.canvas-wrap.readonly .node .nl.ph{display:none}.node.tint .card{fill:color-mix(in srgb,var(--cat) 9%,var(--surface));stroke:color-mix(in srgb,var(--cat) 45%,var(--line))}:where(.canvas-wrap:not(.readonly)) .node:hover .card{stroke:color-mix(in srgb,var(--cat) 55%,var(--line))}.node.sh-soft .card{filter:var(--node-sh-soft)}.node.sh-strong .card{filter:var(--node-sh-strong)}.node.sh-soft:where(:not(.tint,.hl-drop,.f-text,.f-icon,.has-fill)) .card{fill:color-mix(in srgb,var(--surface),#fff var(--node-lift-soft))}.node.sh-strong:where(:not(.tint,.hl-drop,.f-text,.f-icon,.has-fill)) .card{fill:color-mix(in srgb,var(--surface),#fff var(--node-lift-strong))}.node.sh-soft .sep{stroke:color-mix(in srgb,var(--line),#fff calc(var(--node-lift-soft) * 2.5))}.node.sh-strong .sep{stroke:color-mix(in srgb,var(--line),#fff calc(var(--node-lift-strong) * 2.5))}.node.f-text:where(.b-set,.has-stroke) .card,.node.f-icon:where(.b-set,.has-stroke) .card{stroke:color-mix(in srgb,var(--cat) 60%,var(--line));stroke-width:1.5;stroke-dasharray:none}.node.b-dashed .card{stroke:color-mix(in srgb,var(--cat) 60%,var(--line));stroke-dasharray:6 4;stroke-width:1.5}.node.b-dotted .card{stroke:color-mix(in srgb,var(--cat) 60%,var(--line));stroke-dasharray:0 4.5;stroke-linecap:round;stroke-width:2.2}.node.has-fill .card{fill:var(--node-fill)}.node.fp .card-pat{fill:none;stroke:var(--pat);stroke-width:1.2;stroke-linecap:round;opacity:.38;pointer-events:none}.node.fp.fp-cross .card-pat{stroke-width:1;opacity:.32}.node.fp.fp-grid .card-pat{stroke-width:1;opacity:.3}.node.fp.fp-dots .card-pat{stroke-width:2.6;opacity:.45}.node.fp :is(.nl,.nt){paint-order:stroke;stroke:var(--node-fill, var(--surface));stroke-width:6px;stroke-linejoin:round;stroke-linecap:round}.node.fp .nt{stroke-width:7px}.node .card.deco{fill:none!important;filter:none!important;pointer-events:none}.node.open .card{fill:none!important;stroke-width:2}.node .open-hit{fill:transparent;stroke:none}.node.lineend{cursor:move}.node.lineend .endpt-hit{fill:transparent;stroke:none}.node.lineend .endpt{fill:var(--surface);stroke:var(--accent);stroke-width:1.5;opacity:0;transition:opacity .12s}.node.lineend:hover .endpt,.node.lineend.sel .endpt,#cv.connecting .node.lineend .endpt,#cv.attaching .node.lineend .endpt{opacity:1}.node.lineend.sel .endpt{fill:var(--accent)}.canvas-wrap.readonly .node.lineend .endpt{opacity:0!important}#cv.attaching .port{opacity:1}.eend{cursor:move}.eend .eend-hit{fill:transparent;stroke:none}.eend .eend-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.eend:hover .eend-dot{fill:var(--accent)}.emid{cursor:move}.emid .eend-hit{fill:transparent;stroke:none}.emid .emid-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.5;vector-effect:non-scaling-stroke}.eseg.level{cursor:ns-resize}.eseg.upright{cursor:ew-resize}.eseg .eend-hit{fill:transparent;stroke:none}.eseg .emid-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.5;vector-effect:non-scaling-stroke}.eseg:hover .emid-dot,.emid:hover .emid-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2}.edge.faded{opacity:.25}.marquee{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.sd-multi-hint{margin:10px 0 0}.node.has-stroke .card{stroke:var(--node-stroke)}.node.sel .card{stroke:var(--accent);stroke-width:2}.node.draw-node .card{fill:transparent;stroke:transparent;stroke-width:1}:where(.canvas-wrap:not(.readonly)) .node.draw-node:hover .card{stroke:color-mix(in srgb,var(--accent) 45%,transparent);stroke-dasharray:4 3}.node.draw-node.sel .card{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3}.node .draw-path{fill:none;stroke:var(--fg);stroke-linecap:round;stroke-linejoin:round}.node.draw-node.colored .draw-path{stroke:var(--cat)}.node .draw-path.marker{opacity:.32}.node.draw-node .port{display:none}#cv:is(.connecting,.attaching) .node.draw-node{pointer-events:none}.canvas-wrap.inking:not(.readonly) .port,.canvas-wrap.inking:not(.readonly) .rz-zones,.canvas-wrap.inking:not(.readonly) .rz{display:none}.node.hl-from .card,.node.hl-drop .card{stroke:var(--accent);stroke-width:2;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 45%,transparent))}.node.hl-drop .card{fill:color-mix(in srgb,var(--accent) 7%,var(--surface))}.node.hl-bad .card{stroke:var(--k-error);stroke-width:2;stroke-dasharray:5 4}#cv.link-bad .temp{stroke:var(--k-error)}#cv.connecting .node{cursor:copy}.node .chip,.node .thead{fill:color-mix(in srgb,var(--cat) 15%,var(--surface))}.node .ico{fill:none;stroke:var(--cat);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.node .ico .brand,.sd-icon .brand{fill:var(--brand);stroke:none}.node.brand:not(.colored) .chip{fill:color-mix(in srgb,var(--fg) 6%,var(--surface))}.node.colored .ico .brand,#cv:is(.st-blueprint,.st-mono) .node .ico .brand{fill:var(--cat)}.sd-icon .mark,.node .ico .mark{fill:var(--cat);stroke:none;font-family:var(--f-ui);font-weight:800}.sd-icon .ext,.node .ico .ext{fill:var(--cat);stroke:none;font-family:var(--f-mono);font-weight:700;letter-spacing:-.02em}.node .nl{fill:var(--fg);font:600 13px var(--f-ui)}.node .nt{fill:var(--muted);font:500 9.5px var(--f-mono);letter-spacing:.06em}.node .tt{fill:var(--fg);font:600 12.5px var(--f-mono)}.node .tt.abs{font-style:italic}.node .win-dot.r{fill:#ff5f57}.node .win-dot.y{fill:#febc2e}.node .win-dot.g{fill:#28c840}.node .code-line{fill:var(--fg);font:500 11.5px var(--f-mono);white-space:pre}.node .code-ln{fill:var(--muted);opacity:.6;font:500 10.5px var(--f-mono)}.node .c-kw{fill:var(--cat);font-weight:600}.node .c-str{fill:var(--c-obs)}.node .c-num{fill:var(--c-data)}.node .c-cm{fill:var(--muted);font-style:italic}.node.k-terminal .code-head{fill:#161b22}.node.k-terminal .sep{stroke:#30363d}.node.k-terminal .tt{fill:#c9d1d9}.node.k-terminal .code-line{fill:#e6edf3}.node.k-terminal .code-line.out{fill:#8b949e}.node.k-terminal .prompt{fill:#3fb950;font-weight:600}.node .w-track{fill:none;stroke:color-mix(in srgb,var(--cat) 16%,var(--line));stroke-width:5}.node rect.w-track{fill:color-mix(in srgb,var(--cat) 14%,var(--canvas));stroke:none}.node .w-ring{fill:none;stroke:var(--cat);stroke-width:5;stroke-linecap:round}.node .w-hand,.node .w-dot,.node .w-pulse,.node .w-bar{fill:var(--cat)}.node .w-num{fill:var(--fg);font:700 20px var(--f-mono)}.node .w-pct{fill:var(--cat);font:600 12px var(--f-mono)}.node .w-trace{fill:none;stroke:color-mix(in srgb,var(--cat) 22%,var(--line));stroke-width:1.6;stroke-linejoin:round}.node .w-needle{stroke:var(--fg);stroke-width:2.2;stroke-linecap:round}.node .w-tube{fill:color-mix(in srgb,var(--cat) 8%,var(--canvas));stroke:color-mix(in srgb,var(--cat) 35%,var(--line));stroke-width:1.2}.node .w-msg{fill:var(--cat)}.node .w-step{fill:var(--canvas);stroke:color-mix(in srgb,var(--cat) 35%,var(--line));stroke-width:1.6}.node .w-link{stroke:var(--cat);stroke-width:2.4;stroke-linecap:round}.node .w-type{fill:var(--fg);font:500 12px var(--f-mono);white-space:pre}.node .w-cursor{fill:var(--cat)}.node .w-dash{stroke-dasharray:3 4}.node .w-ico-lines{fill:none;stroke:color-mix(in srgb,var(--cat) 60%,var(--muted));stroke-width:1.5;stroke-linecap:round}.node .w-sweep{fill:var(--cat);opacity:.22}.node .w-tick{stroke:var(--muted);stroke-width:1.4;stroke-linecap:round}.node .w-thin{stroke-width:1.3}.node .w-knob{fill:#fff;stroke:color-mix(in srgb,var(--fg) 15%,transparent);stroke-width:1}.node .w-l-g{fill:#22c55e}.node .w-l-r{fill:var(--k-error)}.node .w-l-a{fill:#f59e0b}.node .w-badge{fill:var(--k-error)}.node .w-badge-t{fill:#fff;font:700 9.5px var(--f-mono)}.node .w-cloud{fill:color-mix(in srgb,var(--cat) 10%,var(--canvas));stroke:var(--cat);stroke-width:1.8;stroke-linejoin:round}.node .w-arrow{fill:none;stroke:var(--cat);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.node .w-wide{stroke-width:2}.node .w-skel{fill:color-mix(in srgb,var(--fg) 11%,var(--canvas))}.node .w-thick{stroke-width:6}.node .w-pct-fg{fill:var(--fg)}.node .w-dot2{fill:var(--k-response)}.node .w-level{fill:color-mix(in srgb,var(--cat) 35%,var(--canvas))}.node .w-bucket{fill:none;stroke:var(--cat);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.node .w-shackle{fill:none;stroke:color-mix(in srgb,var(--cat) 70%,var(--fg));stroke-width:3.2;stroke-linecap:round}.node .w-lockbody{fill:var(--cat)}.node .w-keyhole{fill:var(--canvas)}.node .w-fill{fill:color-mix(in srgb,var(--cat) 14%,var(--canvas))}.node .w-thin3{stroke-width:3}.node .w-tick-mark{fill:none;stroke:var(--cat);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.node .w-ecg{fill:none;stroke:var(--cat);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.node .g-s0{--sc: var(--cat)}.node .g-s1{--sc: var(--k-response)}.node .g-s2{--sc: var(--k-event)}.node .g-s3{--sc: var(--k-cache)}.node .g-s4{--sc: var(--k-error)}.node .g-s5{--sc: var(--c-ops)}.node .g-fill{fill:var(--sc, var(--cat))}.node .g-ax{fill:var(--muted);font:500 9px var(--f-mono)}.node .g-val{fill:var(--fg);font:600 9px var(--f-mono)}.node .g-big{fill:var(--fg);font:700 13px var(--f-mono)}.node .g-grid{stroke:color-mix(in srgb,var(--line) 70%,transparent);stroke-width:1;stroke-dasharray:2 3}.node .g-base{stroke:var(--line);stroke-width:1}.node .g-line{fill:none;stroke:var(--sc);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.node .g-area{fill:color-mix(in srgb,var(--sc) 22%,transparent)}.node .g-pt{stroke:var(--canvas);stroke-width:1.2}.node .g-dot{fill-opacity:.8}.node .g-trend{stroke:var(--sc);stroke-width:1.6;stroke-linecap:round}.node .g-slice{fill:none;stroke:var(--sc)}.node .g-web{fill:none;stroke:color-mix(in srgb,var(--line) 80%,transparent);stroke-width:1}.node .g-poly{fill:color-mix(in srgb,var(--sc) 24%,transparent);stroke:var(--sc);stroke-width:1.8;stroke-linejoin:round}.node .g-link{fill:none;stroke:color-mix(in srgb,var(--cat) 45%,var(--line));stroke-width:1.4}.node .g-node{fill:var(--canvas);stroke:var(--cat);stroke-width:2}.node .g-up{--sc: var(--k-response)}.node .g-down{--sc: var(--k-error)}.node .g-wick{stroke:var(--sc);stroke-width:1.3}.node .g-candle{fill:var(--sc)}.node .g-now{stroke:var(--k-error);stroke-width:1.4;stroke-dasharray:3 2}.node .g-layer{fill:color-mix(in srgb,var(--sc) 30%,var(--canvas))}.node .g-thin-line{stroke-width:1.6}.node .g-kpi{fill:var(--fg);font:700 24px var(--f-mono)}.node .g-delta{fill:var(--sc);font:700 10px var(--f-mono)}.node .g-tile{fill:color-mix(in srgb,var(--sc) 26%,var(--canvas));stroke:var(--sc);stroke-width:1.2}.node .g-ribbon{fill:none;stroke:var(--sc);stroke-opacity:.38}.node .g-bubble{fill:var(--sc);fill-opacity:.45;stroke:var(--sc);stroke-width:1.4}.node .g-zone{fill:none;stroke:var(--sc);stroke-width:10}.node .g-needle{stroke:var(--fg);stroke-width:2.4;stroke-linecap:round}.node .g-hub{fill:var(--fg)}.node .g-med{stroke:var(--sc);stroke-width:2.2}.node .g-hbar{stroke:var(--canvas);stroke-width:1}#cv:not(.st-sketch) .node.ff-sans :is(.nl,.tt){font-family:var(--f-ui);font-size:13px}#cv:not(.st-sketch) .node.ff-serif :is(.nl,.tt){font-family:var(--f-serif);font-size:13px}#cv:not(.st-sketch) .node.ff-mono :is(.nl,.tt){font-family:var(--f-mono);font-size:12.5px}#cv:not(.st-sketch) .node.ff-comic :is(.nl,.tt){font-family:var(--f-comic);font-size:13px}#cv:not(.st-sketch) .node.ff-hand .nl{font-family:var(--f-hand);font-size:17px;font-weight:700}#cv:not(.st-sketch) .node.ff-hand .tt{font-family:var(--f-hand);font-size:16.5px;font-weight:700}#cv:not(.st-sketch) .node:not(.ff-hand) :is(.nl,.tt){font-weight:600}.node.has-text .nl,.node.has-text .tt,.node.f-text.colored.has-text .nl{fill:var(--node-text)}.node.has-text .nt{fill:color-mix(in srgb,var(--node-text) 70%,transparent)}.node .st{fill:var(--muted);font:500 9.5px var(--f-mono)}.node .fn{fill:var(--fg);font:500 11px var(--f-mono)}.node .fn.pk{fill:var(--cat);font-weight:600}.node .ft{fill:var(--muted);font:400 11px var(--f-mono)}.node .fk{fill:var(--cat);font:600 9.5px var(--f-mono);letter-spacing:.04em}.node .sep{stroke:var(--line);stroke-width:1}.node .port{fill:var(--surface);stroke:var(--edge);stroke-width:1.5;cursor:crosshair;opacity:0;transition:opacity .15s}.node:hover .port,.node.sel .port,#cv.connecting .port{opacity:1}.node .rz{fill:var(--surface);stroke:var(--accent);stroke-width:1.5;cursor:nwse-resize}.node .rz:hover,#cv.resizing .rz{fill:var(--accent)}#cv.resizing,#cv.resizing *{cursor:var(--rz-cursor, nwse-resize)!important}.rz-zones rect{fill:transparent}.rz-zones [data-resize=n],.rz-zones [data-resize=s]{cursor:ns-resize}.rz-zones [data-resize=e],.rz-zones [data-resize=w]{cursor:ew-resize}.rz-zones [data-resize=ne],.rz-zones [data-resize=sw]{cursor:nesw-resize}.rz-zones [data-resize=nw],.rz-zones [data-resize=se]{cursor:nwse-resize}#cv.connecting .rz-zones{pointer-events:none}.node .port:hover{fill:var(--accent);stroke:var(--accent)}.edge .hit{fill:none;stroke:transparent;stroke-width:16;cursor:pointer}.edge.sel .hit,.edge.sel .elab{cursor:move}.edge .line{fill:none;stroke:var(--edge);stroke-width:1.6}.edge.ls-dashed .line{stroke-dasharray:6 4}.edge.ls-dotted .line{stroke-dasharray:0 5;stroke-linecap:round;stroke-width:2}.edge.ls-dotted.sel .line{stroke-width:2.6}:where(.canvas-wrap:not(.readonly)) .edge:hover .line{stroke:color-mix(in srgb,var(--accent) 60%,var(--edge))}.edge.sel .line{stroke:var(--accent);stroke-width:2.2}.flow .edge.r-flow .line{stroke-dasharray:5 6;animation:sd-flow 1.1s linear infinite}@keyframes sd-flow{to{stroke-dashoffset:-11}}.flow .edge.r-flow.ls-dashed .line{stroke-dasharray:6 4;animation-name:sd-flow-10}.flow .edge.r-flow.ls-dotted .line{stroke-dasharray:0 5;animation-name:sd-flow-10}@keyframes sd-flow-10{to{stroke-dashoffset:-10}}.recording .edge .hit{cursor:copy}.recording .edge:hover .line{stroke:var(--k-request);stroke-width:3}.elab rect,.cpill rect{fill:var(--canvas);stroke:var(--line)}.elab text{fill:var(--muted);font:500 10px var(--f-mono)}.cpill text{fill:var(--fg);font:600 10px var(--f-mono)}#cv.st-sketch .node .card,#cv.st-sketch .node .card-pat,#cv.st-sketch .node .chip,#cv.st-sketch .node .thead,#cv.st-sketch .edge .line,#cv.st-sketch .elab rect,#cv.st-sketch .cpill rect{filter:url(#sketch)}#cv.st-sketch .node .card{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#cv.st-sketch .node.sh-soft .card{filter:url(#sketch) var(--node-sh-soft)}#cv.st-sketch .node.sh-strong .card{filter:url(#sketch) var(--node-sh-strong)}#cv.st-sketch .node.hl-from .card,#cv.st-sketch .node.hl-drop .card{filter:url(#sketch) drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 45%,transparent))}#cv.st-sketch .node .card.deco{filter:url(#sketch)!important}#cv.st-sketch .edge .line{stroke-width:1.9;stroke-linecap:round}#cv.st-sketch .node .nl{font:700 17px var(--f-hand)}#cv.st-sketch .node .tt{font:700 16.5px var(--f-hand)}#cv.st-sketch .elab text{font:600 13.5px var(--f-hand)}#cv .node.node.fw-normal :is(.nl,.tt){font-weight:400}#cv .node.f-italic :is(.nl,.tt){font-style:italic}#cv .node.td-strike :is(.nl,.tt){text-decoration:line-through}#cv .node.td-under :is(.nl,.tt){text-decoration:underline}#cv .node.td-strike.td-under :is(.nl,.tt){text-decoration:underline line-through}#cv .node.node.has-fs :is(.nl,.tt){font-size:var(--name-fs)}:is(.canvas-wrap,.hm-style-canvas).st-blueprint{--canvas: #133f73;--surface: #17487f;--line: #9cc2ef;--dot: #2f5f98;--edge: #d4e5fb;--fg: #f4f8ff;--muted: #b4cdee;--accent: #ffd166;--accent-fg: #0b1220;--c-edge: #e3eefc;--c-net: #e3eefc;--c-compute: #e3eefc;--c-sec: #e3eefc;--c-data: #e3eefc;--c-msg: #e3eefc;--c-obs: #e3eefc;--c-ai: #e3eefc;--c-ops: #e3eefc;--node-lift-soft: 0%;--node-lift-strong: 0%;color-scheme:dark}#cv.st-blueprint .gridl{opacity:.8}#cv.st-blueprint .node .chip,#cv.st-blueprint .node .thead{fill:color-mix(in srgb,#fff 10%,var(--surface))}#cv.st-blueprint .node .card{stroke-width:1.4}:is(.canvas-wrap,.hm-style-canvas).st-mono{--canvas: #ffffff;--surface: #ffffff;--line: #1d232b;--dot: #d9dde3;--edge: #1d232b;--fg: #111418;--muted: #4b5563;--accent: #111418;--accent-fg: #ffffff;--c-edge: #1d232b;--c-net: #1d232b;--c-compute: #1d232b;--c-sec: #1d232b;--c-data: #1d232b;--c-msg: #1d232b;--c-obs: #1d232b;--c-ai: #1d232b;--c-ops: #1d232b;--node-sh-soft: drop-shadow(0 2px 3px rgba(0, 0, 0, .12));--node-sh-strong: drop-shadow(0 4px 8px rgba(0, 0, 0, .2));--node-lift-soft: 0%;--node-lift-strong: 0%;color-scheme:light}#cv.st-mono .node .chip,#cv.st-mono .node .thead{fill:#f1f3f5}#cv.st-mono .node .card{stroke-width:1.4}.m-fill{fill:var(--edge)}.m-sel{fill:var(--accent)}.m-hollow{fill:var(--canvas);stroke:var(--edge);stroke-width:1.3}.m-open{fill:none;stroke:var(--edge);stroke-width:1.5;stroke-linejoin:round}.temp{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5;pointer-events:none}[data-anim],[data-anim] *{pointer-events:none}@keyframes sd-rec-flash{0%{stroke-width:6}to{stroke-width:1.6}}#cv .edge .line.rec-flash{stroke:var(--k-request)!important;animation:sd-rec-flash .7s ease-out}#cv .edge .line.rec-flash-rev{stroke:var(--k-response)!important;animation:sd-rec-flash .7s ease-out}.sd-rec kbd{font-size:10px}.sd-rec b{color:var(--kc)}.sd-rec-last{animation:sd-tip-in .2s ease-out}.trail{fill:none;stroke-width:3.2;stroke-linecap:round;pointer-events:none}.ring{stroke-width:2.5;pointer-events:none}.node-edit{position:absolute;z-index:7;box-sizing:border-box;margin:0;border:0;border-radius:0;font-family:var(--f-ui);font-weight:600;line-height:1;color:var(--fg);caret-color:var(--accent);background:transparent;box-shadow:none;outline:none}.node-edit.mono{font-family:var(--f-mono)}.node-edit.multi,.edge-edit.multi{display:block;resize:none;overflow:hidden;white-space:pre}.node-edit.area-edit{resize:none;overflow:hidden;border-radius:6px;font-weight:600;background:var(--canvas);box-shadow:0 0 0 1.5px var(--accent);white-space:pre}.edge-edit{position:absolute;z-index:7;box-sizing:border-box;margin:0;padding:0 6px;border:0;text-align:center;font-family:var(--f-mono);font-weight:500;color:var(--fg);caret-color:var(--accent);background:var(--canvas);box-shadow:inset 0 0 0 1px var(--line);outline:none}.edge-edit::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}.edge-edit::placeholder{color:var(--muted);font-style:italic}.node-edit::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}.node-edit::placeholder{color:var(--muted);font-weight:500;font-style:italic}.zoom{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:3px;box-shadow:var(--shadow);z-index:6}.zoom button{border:0;background:transparent;border-radius:6px;min-width:30px;height:28px;font-weight:600;font-size:13px}.zoom button:hover:not(:disabled){background:var(--surface)}.zoom button:disabled{opacity:.35;cursor:default}.zoom .zoom-pct{min-width:52px;font:500 12px var(--f-mono);font-variant-numeric:tabular-nums;color:var(--muted)}.zoom .zoom-pct:hover{color:var(--fg)}.zoom-sep{width:1px;height:18px;background:var(--line);margin:0 2px}.laser{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:hidden}.laser canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.laser-dot{position:absolute;left:-3.5px;top:-3.5px;will-change:transform;width:7px;height:7px;border-radius:50%;opacity:0;background:#ff2d55;box-shadow:0 0 3px 1px #ff2d55b3,0 0 10px 3px #ff2d554d;transition:opacity .12s}.canvas-wrap.lasering #cv,.canvas-wrap.lasering #cv *{cursor:none}.ink{pointer-events:none}.ink-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ink-stroke.marker{opacity:.32}.canvas-wrap.inking #cv,.canvas-wrap.inking #cv *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath fill='%23fff' d='M2.5 21.5l1.2-5L16 4.2a2.3 2.3 0 0 1 3.3 3.3L7 19.8z'/%3E%3Cpath d='M14.3 6l3.4 3.4'/%3E%3C/svg%3E") 2 21,crosshair;cursor:image-set(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath fill='%23fff' d='M2.5 21.5l1.2-5L16 4.2a2.3 2.3 0 0 1 3.3 3.3L7 19.8z'/%3E%3Cpath d='M14.3 6l3.4 3.4'/%3E%3C/svg%3E") 1x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath fill='%23fff' d='M2.5 21.5l1.2-5L16 4.2a2.3 2.3 0 0 1 3.3 3.3L7 19.8z'/%3E%3Cpath d='M14.3 6l3.4 3.4'/%3E%3C/svg%3E") 2x) 2 21,crosshair;cursor:-webkit-image-set(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath fill='%23fff' d='M2.5 21.5l1.2-5L16 4.2a2.3 2.3 0 0 1 3.3 3.3L7 19.8z'/%3E%3Cpath d='M14.3 6l3.4 3.4'/%3E%3C/svg%3E") 1x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath fill='%23fff' d='M2.5 21.5l1.2-5L16 4.2a2.3 2.3 0 0 1 3.3 3.3L7 19.8z'/%3E%3Cpath d='M14.3 6l3.4 3.4'/%3E%3C/svg%3E") 2x) 2 21,crosshair}.canvas-wrap.inking.ink-eraser #cv,.canvas-wrap.inking.ink-eraser #cv *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='9' fill='rgba(255,255,255,.35)' stroke='%23111' stroke-width='1.4'/%3E%3C/svg%3E") 11 11,cell;cursor:image-set(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='9' fill='rgba(255,255,255,.35) ' stroke='%23111' stroke-width='1.4'/%3E%3C/svg%3E") 1x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='9' fill='rgba(255,255,255,.35)' stroke='%23111' stroke-width='1.4'/%3E%3C/svg%3E") 2x) 11 11,cell;cursor:-webkit-image-set(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='9' fill='rgba(255,255,255,.35) ' stroke='%23111' stroke-width='1.4'/%3E%3C/svg%3E") 1x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='9' fill='rgba(255,255,255,.35)' stroke='%23111' stroke-width='1.4'/%3E%3C/svg%3E") 2x) 11 11,cell}.pen-bar{position:absolute;top:12px;left:0;right:0;z-index:6;width:max-content;max-width:calc(100% - 24px);margin:0 auto;display:flex;align-items:center;gap:3px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);animation:pen-in .22s cubic-bezier(.2,.7,.3,1)}@keyframes pen-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.pen-bar .sd-icon-btn{border-color:transparent;background:transparent}.pen-bar .sd-icon-btn.on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.pen-sep{width:1px;height:20px;margin:0 4px;background:var(--line);flex:none}.pen-swatch{width:22px;height:22px;margin:0 2px;padding:0;border:2px solid var(--panel);border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px var(--line);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease;flex:none}.pen-swatch:hover{transform:scale(1.1)}.pen-swatch.on{box-shadow:0 0 0 2px var(--ink)}.pen-size{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer;flex:none}.pen-size span{display:block;border-radius:50%;background:var(--muted)}.pen-size:hover span{background:var(--fg)}.pen-size.on{background:color-mix(in srgb,var(--accent) 14%,transparent)}.pen-size.on span{background:var(--accent)}.ins-draw-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pen-custom{position:relative;overflow:hidden;background:var(--ink)}.pen-custom input{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;border:0;opacity:0;cursor:pointer}@media (prefers-reduced-motion: reduce){.pen-bar{animation:none}}.sd-rec{position:absolute;top:10px;left:10px;z-index:5;pointer-events:none;display:flex;align-items:center;gap:8px;max-width:calc(100% - 210px);background:color-mix(in srgb,var(--k-error) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--k-error) 40%,var(--line));border-radius:9px;padding:7px 11px;font-size:12.5px}.sd-rec-dot{width:8px;height:8px;border-radius:50%;background:var(--k-error);flex:none;animation:sd-blink 1.2s ease-in-out infinite}@keyframes sd-blink{50%{opacity:.25}}.sd-caption{position:absolute;left:12px;bottom:12px;z-index:5;max-width:min(520px,calc(100% - 24px));background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow);pointer-events:none}.sd-cap-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:400 11px var(--f-mono);color:var(--muted)}.sd-cap-i{font-variant-numeric:tabular-nums;letter-spacing:.04em}.sd-cap-n{font-size:15px;font-weight:600;margin-top:5px;line-height:1.35;text-wrap:balance}.sd-cap-sub{font-size:12.5px;color:var(--muted);margin-top:3px}.sd-kchip{display:inline-flex;align-items:center;gap:5px;font:600 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:99px;color:var(--kc);background:color-mix(in srgb,var(--kc) 14%,transparent)}.sd-kchip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--kc)}.sd-player{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:7px 10px}.sd-speed{position:relative;flex:none}.sd-speed-btn{min-width:52px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 8px;font:500 12px var(--f-mono);font-variant-numeric:tabular-nums}.sd-speed-btn:hover,.sd-speed-btn[aria-expanded=true]{border-color:var(--accent)}.sd-speed-pop{position:absolute;bottom:calc(100% + 10px);right:-40px;z-index:40;width:280px;padding:12px 14px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #090d1438,var(--shadow)}.sd-speed-head{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.sd-speed-now{margin:6px 0 10px;text-align:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.sd-speed-row{display:flex;align-items:center;gap:8px}.sd-speed-nudge{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:16px;font-weight:600;line-height:1;display:grid;place-items:center}.sd-speed-nudge:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sd-speed-nudge:disabled{opacity:.35;cursor:default}.sd-speed-slider{flex:1;min-width:0;height:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:99px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--accent) var(--pct),var(--line) var(--pct))}.sd-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 1px 4px #0000004d}.sd-speed-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--surface)}.sd-speed-slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.sd-speed-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}.sd-speed-chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:5px 0;font:500 12px var(--f-mono);font-variant-numeric:tabular-nums}.sd-speed-chip:hover{border-color:var(--accent)}.sd-speed-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.sd-ib{border:1px solid transparent;background:transparent;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;flex:none}.sd-ib:hover{background:var(--surface);border-color:var(--line)}.sd-ib[aria-pressed=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.sd-ib svg,.sd-play svg{width:18px;height:18px;fill:currentColor}.sd-play{width:40px;height:40px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;flex:none}.sd-scrub-wrap{position:relative;flex:1;min-width:80px;height:34px;margin:0 6px}.sd-segs{position:absolute;left:0;right:0;top:50%;height:6px;transform:translateY(-50%);display:flex;gap:2px;pointer-events:none}.sd-segs span{border-radius:3px;background:color-mix(in srgb,var(--kc, var(--line)) 50%,transparent)}.sd-scrub{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none}.sd-scrub::-webkit-slider-runnable-track{height:34px;background:transparent}.sd-scrub::-moz-range-track{background:transparent}.sd-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:4px;height:24px;margin-top:5px;border-radius:2px;background:var(--fg)}.sd-scrub::-moz-range-thumb{width:4px;height:24px;border:0;border-radius:2px;background:var(--fg)}.sd-pos{font:500 12px var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;min-width:52px;text-align:right}.sd-side{display:flex;flex-direction:column}.sd-side-top{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 14px;border-bottom:1px solid var(--line)}.sd-side-top h2{font-size:13px;font-weight:700;margin:0}.sd-side.rail{padding:8px 5px;align-items:center;overflow:hidden;scrollbar-gutter:auto}.sd-side.rail .sd-panel-toggle.has-sel{position:relative;color:var(--accent)}.sd-side.rail .sd-panel-toggle.has-sel:after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--panel)}.sd-ins{padding:14px;border-bottom:1px solid var(--line)}.sd-ins-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-4px 0}.sd-del{width:30px;height:30px;color:var(--muted)}.sd-ins-fold{display:flex;align-items:center;gap:6px;min-width:0;margin-left:-4px;padding:6px 6px 6px 4px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.sd-ins-fold:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.sd-ins-fold:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sd-ins-fold .sd-chev{color:var(--muted)}.sd-ins-fold[aria-expanded=false] .sd-chev{transform:none}.sd-ins-actions{display:flex;gap:4px}.sd-dup{width:30px;height:30px;color:var(--muted)}.sd-dup:hover{color:var(--accent)}.sd-del:hover{color:var(--k-error)!important;border-color:color-mix(in srgb,var(--k-error) 50%,var(--line))!important;background:color-mix(in srgb,var(--k-error) 8%,var(--surface))}.sd-ins h2,.sd-steps h2{font-size:13px;font-weight:700;margin:0}.sd-field{display:flex;flex-direction:column;gap:5px;margin-top:12px}.sd-field label,.sd-field-label{font:500 10.5px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.sd-field input,.sd-field textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 9px;width:100%}.sd-field textarea{font:12px/1.55 var(--f-mono);min-height:96px;resize:vertical}.sd-field textarea.sd-lines-input{font:inherit;min-height:0;resize:none;overflow:hidden;white-space:pre}.sd-field textarea.sd-code-input{min-height:140px;white-space:pre;overflow-x:auto;-moz-tab-size:4;tab-size:4}.sd-size{display:flex;align-items:center;gap:6px}.sd-size-in{flex:1;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0 8px}.sd-size-in:focus-within{border-color:var(--accent)}.sd-size-in span{font:600 10.5px var(--f-mono);color:var(--muted)}.sd-field .sd-size-in input{border:0;background:transparent;padding:7px 0;width:100%;min-width:0;font-variant-numeric:tabular-nums;outline:none}.sd-size-x{color:var(--muted)}.sd-size-reset{width:32px;height:32px;color:var(--muted)}.sd-size-reset:hover:not(:disabled){color:var(--accent)}.sd-size-reset:disabled{opacity:.35;cursor:default}.sd-route-card{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.sd-route-end{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-route-end.to{text-align:right}.sd-route-end small{font:500 9.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sd-flip{width:30px;height:30px;color:var(--accent);flex:none;transition:transform .25s}.sd-flip:hover{transform:rotate(180deg)}.sd-colorcard{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.sd-colorrow+.sd-colorrow{border-top:1px solid var(--line)}.sd-colorrow-head{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;background:transparent;text-align:left;font-size:12.5px;color:var(--fg)}.sd-colorrow-head:hover,.sd-colorrow.open .sd-colorrow-head{background:var(--panel)}.sd-colorrow-ico{width:18px;height:18px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sd-colorrow-ico .fillpart{fill:var(--muted);opacity:.35;stroke:none}.sd-colorrow-name{font-weight:600;flex:none}.sd-colorrow-val{flex:1;min-width:0;text-align:right;color:var(--muted);font:500 11px var(--f-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-colorrow-dot{width:16px;height:16px;border-width:1.5px;pointer-events:none}.sd-colorrow-chev{width:14px;height:14px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}.sd-colorrow.open .sd-colorrow-chev{transform:rotate(180deg)}.sd-colorrow-body{padding:8px 10px 10px;background:var(--panel)}.sd-palette-body{display:flex;flex-direction:column;gap:9px}.sd-chips{display:flex;flex-wrap:wrap;gap:6px}.sd-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 4px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:11.5px;font-weight:500;color:var(--fg)}.sd-chip:hover{border-color:var(--accent)}.sd-chip.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sd-chip .sd-swatch{width:14px;height:14px;border-width:1px;pointer-events:none}.sd-colorrow-body .sd-colors{gap:5px}.sd-colorrow-body .sd-colors .sd-swatch{width:19px;height:19px}.sd-colors{display:flex;flex-wrap:wrap;gap:4px}.sd-swatch{position:relative;width:17px;height:17px;flex:none;padding:0;border-radius:50%;border:2px solid var(--surface);background:var(--cat);box-shadow:0 0 0 1px var(--line);cursor:pointer}.sd-swatch:hover{box-shadow:0 0 0 1px var(--muted)}.sd-swatch.on{box-shadow:0 0 0 2px var(--accent)}.sd-swatch:focus-visible,.sd-swatch-custom:focus-within{outline:2px solid var(--accent);outline-offset:2px}.sd-swatch-auto{background:linear-gradient(135deg,var(--cat) 50%,var(--surface) 50%)}.sd-swatch.soft{background:color-mix(in srgb,var(--cat) 30%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--cat) 45%,var(--line))}.sd-swatch.soft.on{box-shadow:0 0 0 2px var(--accent)}.sd-swatch-plain{background:var(--surface)}.sd-swatch-line{background:var(--edge)}.sd-swatch-text{background:var(--fg)}.sd-swatch-none{background:linear-gradient(135deg,transparent 45%,#e5484d 45%,#e5484d 55%,transparent 55%),repeating-conic-gradient(var(--line) 0 25%,var(--surface) 0 50%) 50% / 8px 8px}.sd-swatch-tint{background:color-mix(in srgb,var(--cat) 18%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--cat) 55%,var(--line))}.sd-swatch-custom{background:conic-gradient(#e5484d,#f5a524,#46a758,#0ea5e9,#6e56cf,#e5484d);overflow:hidden}.sd-swatch-custom input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}.sd-field .sd-check{display:flex;align-items:center;gap:7px;margin-top:4px;font:12.5px var(--f-ui);letter-spacing:0;text-transform:none;color:var(--fg);cursor:pointer}.sd-field .sd-check input{width:auto;margin:0;accent-color:var(--accent)}.sd-form-ico{width:24px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sd-heads{position:relative}.sd-heads-opt{display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:var(--panel);color:var(--fg)}.sd-heads-opt:hover{border-color:var(--line)}.sd-heads-opt.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.sd-heads-pop{position:absolute;z-index:20;right:0;top:calc(100% + 6px);display:grid;grid-template-columns:repeat(5,44px);gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.sd-heads-opt{width:44px;height:36px}.sd-heads-group{grid-column:1 / -1;margin-top:4px;font-size:11.5px;font-weight:600;color:var(--muted)}.sd-head-ico{width:28px;height:14px;flex:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sd-field-row{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:10px}.sd-field-row+.sd-field-row{margin-top:8px}.sd-dir{display:flex}.sd-field-row .sd-dir-btn{flex:1;min-width:0;padding:0}.sd-field-row .sd-dir-btn svg{max-width:100%}.sd-arrange-btn svg{width:20px;height:20px}.sd-arrange-btn .lyr{fill:var(--panel);stroke:currentColor;stroke-width:1.6}.sd-arrange-btn .lyr.on{fill:currentColor}.sd-dir-btn:disabled{opacity:.3;cursor:default;background:transparent;box-shadow:none}.sd-dir-btn .sd-sh-ico{fill:currentColor;stroke:none;opacity:.4}.sd-dir-btn .sd-sh-card{fill:var(--surface)}.sd-dir-btn .sd-fill-card{fill:none}.sd-dir-btn .sd-fill-solid{fill:currentColor;stroke:none;opacity:.45}.sd-fills .sd-dir-btn svg{stroke-width:1.4}.sd-iconstyle-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:500 12.5px var(--f-ui)}.sd-iconstyle-btn:hover{color:var(--fg)}.sd-iconstyle{display:flex;flex:1}.sd-textstyle{display:flex;gap:8px;align-items:center}.sd-textstyle>:first-child{flex:1;min-width:0}.sd-textfmt{display:flex;flex:none}.sd-textfmt-btn{width:30px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted);font:15px var(--f-serif);cursor:pointer}.sd-textfmt-btn:hover{color:var(--fg)}.sd-textfmt-btn.on{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.sd-font-ico{display:inline-block;width:22px;text-align:center;font-size:13px;font-weight:600;color:var(--fg)}.sd-font-ico.hand{font-size:17px}.sd-font-locked{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:13px;cursor:help}.sd-font-locked svg{width:14px;height:14px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd-iconstyle-btn.on{background:var(--panel);color:var(--accent);box-shadow:var(--shadow)}.sd-iconstyle-btn .sd-icon{fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd-dir-btn{width:44px;height:28px;display:grid;place-items:center;border:0;background:transparent;border-radius:7px;color:var(--muted)}.sd-dir-btn svg{width:32px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sd-dir-btn:hover{color:var(--fg);background:var(--panel)}.sd-dir-btn.on{color:var(--accent);background:var(--panel);box-shadow:var(--shadow)}.sd-step-add{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sd-step-tile{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;border:1px solid color-mix(in srgb,var(--kc) 35%,var(--line));background:color-mix(in srgb,var(--kc) 8%,var(--surface));border-radius:9px;padding:8px}.sd-step-tile:hover{border-color:var(--kc);background:color-mix(in srgb,var(--kc) 14%,var(--surface))}.sd-step-tile svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--kc);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sd-step-tile span{display:flex;flex-direction:column;min-width:0}.sd-step-tile b{font-size:12.5px;color:var(--kc)}.sd-step-tile small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.sd-row.end{justify-content:flex-end;margin:0}.sd-muted{color:var(--muted);font-size:12.5px;line-height:1.5;margin:8px 0 0}.sd-tips{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:12.5px;line-height:1.55}.sd-tips b{color:var(--fg);font-weight:600}kbd{font:500 10.5px var(--f-mono);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:var(--surface);color:var(--fg)}.sd-steps{display:flex;flex-direction:column;min-height:240px;flex:1}.sd-steps-head{display:flex;align-items:center;gap:6px;padding:12px 14px 8px}.sd-steps-head h2{flex:1}.sd-steps-head .sd-ins-fold{margin-right:auto}.sd-steps-head .sd-icon-btn{width:30px;height:30px}.sd-rec-btn svg{fill:var(--k-error)!important;stroke:none!important;width:14px!important;height:14px!important}.sd-rec-btn.on{background:color-mix(in srgb,var(--k-error) 12%,var(--surface));border-color:color-mix(in srgb,var(--k-error) 50%,var(--line));animation:sd-blink 1.2s ease-in-out infinite}.sd-clear-btn:hover:not(:disabled){color:var(--k-error);border-color:color-mix(in srgb,var(--k-error) 50%,var(--line))}.sd-clear-btn.armed{color:#fff;background:var(--k-error);border-color:var(--k-error)}.sd-clear-btn:disabled{opacity:.4;cursor:default}.sd-count{font:500 11px var(--f-mono);color:var(--muted)}.sd-step-list{list-style:none;margin:0;padding:0 8px 12px;overflow:auto;min-height:0;flex:1}.sd-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;padding:7px 6px;border-radius:9px;border:1px solid transparent}.sd-step.active{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.sd-sn{border:0;background:transparent;font:600 11px var(--f-mono);color:var(--muted);padding:4px 0;border-radius:6px;align-self:start;font-variant-numeric:tabular-nums}.sd-sn:hover{color:var(--accent)}.sd-sb{min-width:0;display:flex;flex-direction:column;gap:5px}.sd-sr{display:flex;align-items:center;gap:6px;min-width:0}.sd-route{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.sd-sa{display:flex;gap:1px;flex:none}.sd-sa button{border:0;background:transparent;width:22px;height:22px;border-radius:5px;color:var(--muted);font-size:12px;padding:0}.sd-sa button:hover{background:var(--panel);color:var(--fg)}.sd-snote{border:1px solid transparent;background:transparent;border-radius:6px;padding:3px 5px;font-size:12.5px;width:100%;min-width:0}.sd-snote:hover,.sd-snote:focus{border-color:var(--line);background:var(--surface)}.sd-empty-note{color:var(--muted);font-size:12.5px;line-height:1.5;padding:4px 8px}.sd-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#090d1473;display:grid;place-items:center;padding:16px;z-index:50}.sd-modal-card{width:min(680px,100%);max-height:90%;display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.sd-modal-card h2{margin:0;font-size:16px}.sd-modal-card .sd-muted{margin:0}.sd-modal-card textarea{flex:1;min-height:280px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:10px;font:12px/1.5 var(--f-mono);resize:vertical}.sd-msg{color:var(--muted);font-size:12.5px;min-height:1em;margin:0}.sd-msg.err{color:var(--k-error)}.sd-io{width:min(620px,100%);gap:12px}.sd-io-head{display:flex;align-items:center;justify-content:space-between}.sd-io-title{display:flex;align-items:center;gap:8px}.sd-io-title svg{width:18px;height:18px;color:var(--accent)}.sd-io svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.sd-io-body{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;scrollbar-gutter:stable}.sd-modal-top{align-items:start;padding-top:max(16px,8vh)}.sd-modal-top .sd-modal-card{max-height:100%}.sd-io-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13px}.sd-io-summary span{color:var(--muted);font:500 11.5px var(--f-mono)}.sd-io-section{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}.sd-io-file{text-transform:none;letter-spacing:0;color:var(--accent);margin-left:4px}.sd-io-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.sd-io-tile{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px}.sd-io-tile:hover:not(:disabled){border-color:var(--accent)}.sd-io-tile:disabled{opacity:.45;cursor:default}.sd-io-tile>svg{width:20px;height:20px;color:var(--accent)}.sd-io-tile span,.sd-drop div{display:flex;flex-direction:column;min-width:0}.sd-io-tile b{font-size:13px}.sd-clip{width:min(520px,100%)}.sd-clip-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sd-clip-row .sd-io-section{margin:0}.sd-chips{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.sd-chips button{border:0;background:transparent;border-radius:7px;padding:5px 11px;font-size:12.5px;font-weight:500;color:var(--muted)}.sd-chips button:hover:not(:disabled){color:var(--fg);background:var(--panel)}.sd-chips button[aria-checked=true]{color:var(--accent-fg);background:var(--accent)}.sd-chips button:disabled{cursor:default;opacity:.6}.sd-clip-check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.sd-clip-check input{margin-top:2px;accent-color:var(--accent)}.sd-clip-check span{display:flex;flex-direction:column;gap:2px;font-size:13px}.sd-clip-check small,.sd-clip-hint,.sd-clip-progress small{color:var(--muted);font-size:12px}.sd-clip-hint{margin:0;line-height:1.5}.sd-clip-hint b{color:var(--fg);font-weight:600}.sd-clip-progress{display:flex;flex-direction:column;gap:6px}.sd-clip-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.sd-clip-bar span{display:block;height:100%;background:var(--accent);transition:width .15s linear}.sd-clip-actions{display:flex;justify-content:flex-end;gap:8px}.sd-io-tile small,.sd-drop small{color:var(--muted);font-size:11.5px}.sd-io textarea{min-height:180px}.sd-drop{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;border:1.5px dashed var(--line);border-radius:12px;background:var(--surface);transition:border-color .15s,background .15s}.sd-drop>svg{width:26px;height:26px;color:var(--accent)}.sd-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.sd-drop-actions{flex-direction:row!important;gap:6px;margin-left:auto}.sd-io-check{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:9px;font-size:12.5px}.sd-io-check.ok{color:var(--k-response);background:color-mix(in srgb,var(--k-response) 12%,transparent)}.sd-io-check.ok span{color:var(--fg)}.sd-io-check.bad{color:var(--k-error);background:color-mix(in srgb,var(--k-error) 10%,transparent)}.sd-io-foot{display:flex;align-items:center;gap:8px}.sd-io-foot .sd-msg{flex:1}.sd-toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--fg);color:var(--bg);border-radius:10px;padding:9px 14px;font-size:13px;z-index:60;box-shadow:var(--shadow)}.sd-toast button{border:0;background:transparent;color:inherit;font-weight:700;text-decoration:underline}.canvas-wrap.readonly .port,.canvas-wrap.readonly .rz,.canvas-wrap.readonly .rz-zones{display:none}.canvas-wrap.readonly .node,.canvas-wrap.readonly .edge .hit{cursor:grab}.sd-app.present{grid-template-columns:minmax(0,1fr)}.sd-app.present .sd-palette,.sd-app.present .sd-side{display:none}.sd-app.present .sd-caption{left:50%;transform:translate(-50%);bottom:18px;text-align:center;max-width:min(720px,calc(100% - 24px))}.sd-app.present .sd-cap-top{justify-content:center}.sd-app.present .sd-cap-n{font-size:20px}@media (max-width: 860px){html,body,#root{height:auto}.sd-app,.sd-app.pal-closed,.sd-app.side-closed,.sd-app.pal-closed.side-closed{height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.sd-palette{display:flex;gap:4px;overflow-x:auto;padding:8px}.sd-pal-body,.sd-pal-body[hidden],.sd-pal-group,.sd-pal-items,.sd-pal-group.collapsed .sd-pal-items{display:contents}.sd-palette .sd-eyebrow,.sd-pal-top,.sd-pal-searchrow,.sd-icons,.sd-blocks,.sd-palette .sd-search-empty,.sd-palette .sd-panel-toggle{display:none}.sd-palette.rail{flex-direction:row;padding:8px}.sd-rail-group{display:contents}.sd-pal-item{width:auto;flex:none}.sd-stage{height:72vh;min-height:460px}.sd-tsep{display:none}.sd-rec{top:52px;max-width:calc(100% - 20px)}}@media (prefers-reduced-motion: reduce){.flow .edge .line,.sd-rec-dot,.sd-rec-btn.on{animation:none}}.sd-home-link{color:inherit;text-decoration:none;border-radius:8px}.sd-home-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hm-loading{display:grid;place-items:center;height:100%;color:var(--muted);font-size:14px}.hm{min-height:100%;background:var(--bg);color:var(--fg);font-size:16px;line-height:1.55}.hm a{color:inherit}.hm-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:24px;padding:14px max(16px,calc((100% - 1160px)/2));background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.hm-home{text-decoration:none}.hm-nav nav{display:flex;gap:22px;margin-left:auto;font-size:14px}.hm-nav nav a{text-decoration:none;color:var(--muted)}.hm-nav nav a:hover{color:var(--fg)}.hm-cta{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;background:var(--accent);color:var(--accent-fg)!important;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap;box-shadow:0 1px 2px #0000001f,0 6px 18px color-mix(in srgb,var(--accent) 30%,transparent);transition:transform .15s ease,box-shadow .15s ease}.hm-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}.hm-cta:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000024,0 10px 26px color-mix(in srgb,var(--accent) 38%,transparent)}.hm-cta:hover svg{transform:translate(3px)}.hm-cta:focus-visible,.hm-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hm-cta.big{padding:14px 24px;font-size:16px;border-radius:12px}.hm-ghost{display:inline-flex;align-items:center;padding:14px 20px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:600;text-decoration:none}.hm-ghost:hover{border-color:var(--accent)}.hm-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:48px;max-width:1160px;margin:0 auto;padding:72px 16px 56px}.hm-eyebrow{margin:0 0 14px;font:600 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.hm-hero h1{margin:0;font-size:clamp(36px,5vw,56px);line-height:1.06;letter-spacing:-.035em;font-weight:700}.hm-hero h1 em{font-style:normal;color:var(--accent)}.hm-lede{margin:20px 0 0;max-width:34em;font-size:18px;color:var(--muted)}.hm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hm-note{margin:16px 0 0;font-size:13px;color:var(--muted)}.hm-hero-visual{position:relative;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--canvas);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:18px 18px;box-shadow:var(--shadow),0 30px 60px -30px #00000059}.hm-diagram{display:block;width:100%;height:auto}.hm-link{fill:none;stroke:var(--edge);stroke-width:1.6;stroke-dasharray:5 5}.hm-node{fill:var(--surface);stroke:var(--line);stroke-width:1.2}.hm-node-label{font:600 13px var(--f-ui);fill:var(--fg)}.hm-node-sub{font:500 9px var(--f-mono);letter-spacing:.08em;fill:var(--muted)}.hm-legend{display:flex;gap:16px;justify-content:center;margin-top:8px;font:500 11px var(--f-mono);color:var(--muted)}.hm-show-slide{animation:hm-show-in .45s ease both}@keyframes hm-show-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hm-show-cap{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px;margin:10px 0 0;font-size:13.5px;text-align:center;color:var(--muted)}.hm-show-cap .hm-legend{margin:0}.hm-show-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.hm-show-tabs button{position:relative;overflow:hidden;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:600 12px var(--f-ui);cursor:pointer}.hm-show-tabs button:hover{color:var(--fg);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.hm-show-tabs button.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.hm-show-timer{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);transform-origin:left;animation:hm-show-timer linear both}.hm-show-timer.held{animation-play-state:paused}@keyframes hm-show-timer{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hm-w-track{fill:color-mix(in srgb,var(--fg) 8%,transparent)}.hm-w-track-ring{fill:none;stroke:color-mix(in srgb,var(--fg) 8%,transparent);stroke-width:6;stroke-linecap:round}.hm-ico{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hm-ink{fill:none;stroke:#e5484d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.hm-ink-note{font:700 24px var(--f-hand);fill:#e5484d}.hm-looks{position:relative;aspect-ratio:760 / 312}.hm-look.hm-style-canvas{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:0;border-radius:10px;opacity:0;animation:hm-look linear infinite}@keyframes hm-look{0%,22%{opacity:1}25%,97%{opacity:0}to{opacity:1}}.hm-look.st-sketch .hm-node-label{font:700 17px var(--f-hand)}.hm-look-name{position:absolute;top:8px;left:10px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--fg) 8%,var(--surface));color:var(--fg);font:600 11px var(--f-mono);letter-spacing:.04em}.hm-row{font:500 11.5px var(--f-mono);fill:var(--fg)}.hm-row-b{font-weight:700;font-size:13px}.hm-row-dim{fill:var(--muted)}.hm-row-key{font-weight:700;fill:var(--c-data);font-size:10px}.hm-er-head{fill:color-mix(in srgb,var(--c-data) 14%,var(--surface))}.hm-uml-sep{stroke:var(--line);stroke-width:1.2}.hm-uml-line{fill:none;stroke:var(--edge);stroke-width:1.6;stroke-linejoin:round}.hm-uml-line.dashed{stroke-dasharray:5 4}.hm-uml-head{fill:var(--surface);stroke:var(--edge);stroke-width:1.6;stroke-linejoin:round}.hm-video{fill:var(--canvas);stroke:var(--line)}.hm-badge{fill:color-mix(in srgb,var(--accent) 16%,var(--surface))}.hm-badge-t{font:700 10px var(--f-mono);fill:var(--accent)}.hm-search{stroke:color-mix(in srgb,var(--accent) 55%,var(--line));stroke-width:1.6}.hm-q{font:500 15px var(--f-mono);fill:var(--fg)}.hm-hit{stroke:color-mix(in srgb,var(--accent) 45%,var(--line));fill:color-mix(in srgb,var(--accent) 7%,var(--surface))}.hm-mark{fill:var(--accent)}.hm-scope{fill:color-mix(in srgb,var(--accent) 14%,var(--surface))}.hm-scope-t{font:600 11.5px var(--f-ui);fill:var(--accent)}.hm-link-solid{fill:none;stroke:var(--edge);stroke-width:1.8}.hm-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2}.hm-dot-ring{fill:none;stroke:color-mix(in srgb,var(--accent) 35%,transparent);stroke-width:6}.hm-ripple{fill:none;stroke:var(--accent);stroke-width:2}.hm-menu{filter:drop-shadow(0 8px 16px rgba(0,0,0,.14))}.hm-menu-hl{fill:color-mix(in srgb,var(--accent) 12%,transparent)}.hm-cursor{fill:var(--fg);stroke:var(--surface);stroke-width:1.2;stroke-linejoin:round}@media (prefers-reduced-motion: reduce){.hm-show-slide,.hm-look.hm-style-canvas{animation:none}}.hm-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--kc);vertical-align:0}.hm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1160px;margin:0 auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line)}.hm-stats>div{display:flex;flex-direction:column;gap:2px;padding:22px 24px;background:var(--panel)}.hm-stats b{font-size:28px;letter-spacing:-.02em}.hm-stats span{font-size:14px;color:var(--muted)}.hm-section{max-width:1160px;margin:0 auto;padding:88px 16px 0;scroll-margin-top:64px}.hm-section h2,.hm-final h2{margin:0;font-size:clamp(26px,3.4vw,36px);letter-spacing:-.025em;line-height:1.15}.hm-section-lede{margin:12px 0 0;max-width:40em;color:var(--muted);font-size:17px}.ft-slider{margin-top:32px}.ft-slider-view{position:relative}.ft-rail{--gap: 16px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--gap)) / 3);gap:var(--gap);padding:4px 2px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;outline:none}.ft-rail::-webkit-scrollbar{display:none}.ft-rail:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:16px}.ft-slide{display:flex;flex-direction:column;padding:18px 18px 20px;scroll-snap-align:start;border:1px solid var(--line);border-radius:14px;background:var(--panel);transition:border-color .25s ease,transform .25s ease}.ft-slide:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.ft-head{display:flex;align-items:center;gap:10px}.ft-ico{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.ft-ico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ft-head h3{flex:1;min-width:0;margin:0;font-size:16px;line-height:1.25;letter-spacing:-.015em}.ft-new{flex:none;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font:700 10.5px var(--f-ui);letter-spacing:.04em;text-transform:uppercase}.ft-slide>p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.ft-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}.ft-arrow{display:grid;flex:none;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--fg);cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.ft-arrow:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-fg, #fff)}.ft-arrow:active{transform:scale(.94)}.ft-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ft-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ft-dots{display:flex;align-items:center;gap:8px}.ft-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,var(--line));cursor:pointer;transition:width .3s ease,background .3s ease}.ft-dots button.on{width:24px;background:var(--accent)}.ft-dots button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 900px){.ft-rail{grid-auto-columns:calc((100% - var(--gap)) / 2)}}@media (max-width: 600px){.ft-rail{grid-auto-columns:100%}}@media (prefers-reduced-motion: reduce){.ft-rail{scroll-behavior:auto}.ft-dots button,.ft-slide,.ft-arrow{transition:none}.ft-slide:hover{transform:none}}.hm-new{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;vertical-align:middle;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font:600 11px var(--f-ui);letter-spacing:.04em;text-transform:uppercase}.hm-section h2 .hm-new{font-size:12px;position:relative;top:-3px}.hm-styles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}.hm-style{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.hm-style-canvas{padding:12px;background:var(--canvas);border-bottom:1px solid var(--line)}.hm-style figcaption{display:flex;flex-direction:column;gap:2px;padding:11px 14px 13px}.hm-style figcaption b{font-size:15px}.hm-style figcaption span{font-size:13px;line-height:1.45;color:var(--muted)}.hm-mini{display:block;width:100%;height:auto}.hm-mini-link{fill:none;stroke:var(--edge);stroke-width:1.6;stroke-dasharray:5 4}.hm-mini-node{fill:var(--surface);stroke:var(--line);stroke-width:1.3}.hm-mini-label{font:600 15px var(--f-ui);fill:var(--fg)}.hm-style-canvas.st-sketch .hm-mini-node{stroke-width:1.6}.hm-style-canvas.st-sketch .hm-mini-link{stroke-width:1.9;stroke-linecap:round}.hm-style-canvas.st-sketch .hm-mini-label{font:700 19px var(--f-hand)}.hm-final{max-width:1160px;margin:96px auto 0;padding:56px 16px;text-align:center;border:1px solid var(--line);border-radius:20px;background:radial-gradient(120% 140% at 50% 0%,color-mix(in srgb,var(--accent) 16%,var(--panel)),var(--panel) 60%)}.hm-final p{margin:12px 0 28px;color:var(--muted);font-size:17px}.hm-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1160px;margin:0 auto;padding:48px 16px 40px;color:var(--muted);font-size:13px}@media (max-width: 900px){.hm-hero{grid-template-columns:1fr;padding-top:48px;gap:32px}.hm-styles{grid-template-columns:1fr 1fr}.hm-stats{grid-template-columns:1fr 1fr;margin:0 16px}}@media (max-width: 600px){.hm-nav nav{display:none}.hm-nav .hm-cta{margin-left:auto}.hm-styles{grid-template-columns:1fr}.hm-final{margin:72px 16px 0}.hm-foot{flex-direction:column}}@media (prefers-reduced-motion: reduce){.hm-cta,.hm-cta svg{transition:none}}.tour{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;margin-top:36px}.tour-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.tour-item{position:relative;display:flex;gap:14px;width:100%;padding:14px 16px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left;color:inherit;cursor:pointer;overflow:hidden;transition:background .2s ease,border-color .2s ease}.tour-item:hover{background:color-mix(in srgb,var(--panel) 70%,transparent)}.tour-item.on{background:var(--panel);border-color:var(--line)}.tour-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tour-n{font:600 12px/1.9 var(--f-mono);color:var(--muted)}.tour-item.on .tour-n{color:var(--accent)}.tour-copy{display:flex;flex-direction:column;gap:2px}.tour-copy b{font-size:16px}.tour-copy span{font-size:14px;color:var(--muted);max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.tour-item.on .tour-copy span{max-height:60px;opacity:1}.tour-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);transform-origin:left;animation:tour-progress linear both}.tour-progress.paused{animation-play-state:paused}@keyframes tour-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tour-stage{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow),0 30px 60px -30px #00000059}.tour-svg{display:block;width:100%;height:auto;font-family:var(--f-ui)}.t-win{fill:var(--bg);stroke:var(--line)}.t-sep{stroke:var(--line)}.t-dot.r{fill:#ff5f57}.t-dot.y{fill:#febc2e}.t-dot.g{fill:#28c840}.t-title{font:600 10px var(--f-ui);fill:var(--muted)}.t-panel{fill:var(--panel);stroke:var(--line)}.t-canvas{fill:var(--canvas);stroke:var(--line)}.t-head{font:600 7.5px var(--f-mono);letter-spacing:.08em;fill:var(--muted)}.t-pal-bg{fill:transparent}.t-pal-ico{fill:color-mix(in srgb,var(--accent) 20%,transparent)}.t-pal-txt{font:500 10px var(--f-ui);fill:var(--fg)}.t-card{fill:var(--surface);stroke:var(--line)}.t-ring{fill:none;stroke:var(--k-request);stroke-width:2;opacity:0}.t-node-txt{font:600 10.5px var(--f-ui);fill:var(--fg)}.t-edge{fill:none;stroke:var(--edge);stroke-width:1.6;stroke-dasharray:.03 .02}.t-rec-bg{fill:var(--surface);stroke:var(--line)}.t-rec-dot{fill:var(--k-error)}.t-rec-txt{font:600 9.5px var(--f-ui);fill:var(--fg)}.t-player-bg{fill:var(--surface);stroke:var(--line)}.t-play{fill:var(--accent)}.t-play-ico{fill:var(--accent-fg)}.t-track{fill:var(--line)}.t-fill{fill:var(--accent);transform-box:fill-box;transform-origin:left;transform:scaleX(0)}.t-step-bg{fill:var(--surface);stroke:var(--line)}.t-step-k{font:600 7px var(--f-mono);letter-spacing:.04em;fill:var(--kc)}.t-step-txt{font:500 8.5px var(--f-ui);fill:var(--fg)}.t-export{opacity:0;pointer-events:none}.t-dlg{fill:var(--surface);stroke:var(--line);filter:drop-shadow(0 12px 24px rgba(0,0,0,.25))}.t-dlg-title{font:700 14px var(--f-ui);fill:var(--fg)}.t-chip{fill:var(--panel);stroke:var(--line)}.t-chip.on{fill:var(--accent);stroke:var(--accent)}.t-chip-txt{font:600 10px var(--f-ui);fill:var(--muted)}.t-chip-txt.on{fill:var(--accent-fg)}.t-bar{fill:var(--accent);transform-box:fill-box;transform-origin:left}.t-saved{font:600 11px var(--f-ui);fill:var(--k-response)}.t-node,.t-pal,.t-step{transform-box:fill-box}[data-stage="0"] .t-edge,[data-stage="0"] .t-step{opacity:0}[data-stage="0"] .t-node{animation:tour-drop .7s cubic-bezier(.2,.8,.2,1) both}[data-stage="0"] .t-pal-bg{animation:tour-flash .9s ease both}[data-stage="0"] .t-node0,[data-stage="0"] .t-pal0 .t-pal-bg{animation-delay:.3s}[data-stage="0"] .t-node1,[data-stage="0"] .t-pal1 .t-pal-bg{animation-delay:1.1s}[data-stage="0"] .t-node2,[data-stage="0"] .t-pal2 .t-pal-bg{animation-delay:1.9s}[data-stage="0"] .t-node3,[data-stage="0"] .t-pal3 .t-pal-bg{animation-delay:2.7s}@keyframes tour-drop{0%{opacity:0;transform:translate(-150px,30px) scale(.85)}to{opacity:1;transform:none}}@keyframes tour-flash{0%,to{fill:transparent}30%,60%{fill:color-mix(in srgb,var(--accent) 16%,transparent)}}[data-stage="1"] .t-step{opacity:0}[data-stage="1"] .t-edge{stroke-dasharray:1 1;animation:tour-draw .9s ease both}[data-stage="1"] .t-e1{animation-delay:.4s}[data-stage="1"] .t-e2{animation-delay:1.5s}[data-stage="1"] .t-e3{animation-delay:2.6s}@keyframes tour-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}[data-stage="2"] .t-rec-bg{fill:color-mix(in srgb,var(--k-error) 14%,var(--surface));stroke:var(--k-error)}[data-stage="2"] .t-rec-dot{animation:tour-pulse 1s ease-in-out infinite}[data-stage="2"] .t-step{animation:tour-in .45s ease both}[data-stage="2"] .t-edge{animation:tour-click .8s ease both}[data-stage="2"] .t-step0,[data-stage="2"] .t-e1{animation-delay:.4s}[data-stage="2"] .t-step1,[data-stage="2"] .t-e2{animation-delay:1.2s}[data-stage="2"] .t-step2{animation-delay:2s}[data-stage="2"] .t-e3{animation:tour-click .8s ease 2s both,tour-click-back .8s ease 2.8s both}[data-stage="2"] .t-step3{animation-delay:2.8s}[data-stage="2"] .t-step4{animation-delay:3.6s}[data-stage="2"] .t-e1{animation:tour-click .8s ease .4s both,tour-click-back .8s ease 3.6s both}@keyframes tour-pulse{50%{opacity:.25}}@keyframes tour-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes tour-click{0%{stroke:var(--edge);stroke-width:1.6}35%{stroke:var(--k-request);stroke-width:3.5}to{stroke:var(--edge);stroke-width:1.6}}@keyframes tour-click-back{0%{stroke:var(--edge);stroke-width:1.6}35%{stroke:var(--k-response);stroke-width:3.5}to{stroke:var(--edge);stroke-width:1.6}}[data-stage="3"] .t-play{animation:tour-pulse 1.6s ease-in-out infinite}[data-stage="3"] .t-fill{animation:tour-grow 4.9s linear .3s both}[data-stage="3"] .t-step-bg{animation:tour-active .95s ease both}[data-stage="3"] .t-step0 .t-step-bg{animation-delay:.3s}[data-stage="3"] .t-step1 .t-step-bg{animation-delay:1.25s}[data-stage="3"] .t-step2 .t-step-bg{animation-delay:2.2s}[data-stage="3"] .t-step3 .t-step-bg{animation-delay:3.15s}[data-stage="3"] .t-step4 .t-step-bg{animation-delay:4.1s}[data-stage="3"] .t-ring{animation:tour-ring .7s ease both}[data-stage="3"] .t-node1 .t-ring{animation:tour-ring .7s ease 1s both,tour-ring-back .7s ease 3.85s both}[data-stage="3"] .t-node2 .t-ring{animation-delay:1.95s}[data-stage="3"] .t-node3 .t-ring{animation-delay:2.9s}[data-stage="3"] .t-node0 .t-ring{animation:tour-ring-back .7s ease 4.8s both}@keyframes tour-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes tour-active{0%,to{stroke:var(--line);fill:var(--surface)}15%,85%{stroke:var(--accent);fill:color-mix(in srgb,var(--accent) 10%,var(--surface))}}@keyframes tour-ring{0%,to{opacity:0}30%,60%{opacity:1}}@keyframes tour-ring-back{0%,to{opacity:0;stroke:var(--k-response)}30%,60%{opacity:1;stroke:var(--k-response)}}[data-stage="4"] .t-export{animation:tour-dlg .5s cubic-bezier(.2,.8,.2,1) .3s both}[data-stage="4"] .t-bar{animation:tour-grow 2.6s ease-in-out 1s both}[data-stage="4"] .t-saved{animation:tour-fade .4s ease 3.7s both}[data-stage="4"] .t-node,[data-stage="4"] .t-edge,[data-stage="4"] .t-step,[data-stage="4"] .t-pal,[data-stage="4"] .t-player{opacity:.35;transition:opacity .4s ease}@keyframes tour-dlg{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}@keyframes tour-fade{0%{opacity:0}to{opacity:1}}.t-export{transform-box:fill-box;transform-origin:center}@media (max-width: 900px){.tour{grid-template-columns:1fr}.tour-stage{order:-1}}@media (prefers-reduced-motion: reduce){.tour-svg *,.tour-progress{animation:none!important}.tour-copy span{transition:none}}.hm-theme{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);cursor:pointer}.hm-theme:hover{border-color:var(--accent);color:var(--accent)}.hm-theme:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hm-theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pr{margin-top:32px}.pr-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.pr-switch button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;font-size:14px;cursor:pointer}.pr-switch button[aria-checked=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.pr-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pr-save{padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--k-response) 16%,transparent);color:var(--k-response);font-size:11.5px}.pr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;align-items:stretch}.pr-card{position:relative;display:flex;flex-direction:column;padding:24px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.pr-card.popular{border:2px solid var(--accent);padding:23px 21px;background:linear-gradient(color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel) 45%);box-shadow:0 20px 40px -24px color-mix(in srgb,var(--accent) 60%,transparent)}.pr-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:3px 10px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font:600 11.5px var(--f-ui);white-space:nowrap}.pr-card h3{margin:0;font-size:19px}.pr-tag{margin:4px 0 0;color:var(--muted);font-size:14px}.pr-price{display:flex;align-items:baseline;gap:6px;margin-top:18px}.pr-price b{font-size:38px;letter-spacing:-.03em;line-height:1}.pr-price s{color:var(--muted);font-size:18px}.pr-price span{color:var(--muted);font-size:14px}.pr-bill{min-height:2.6em;margin:8px 0 18px;color:var(--muted);font-size:13px}.pr-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg)!important;font:600 14px var(--f-ui);text-decoration:none;text-align:center;cursor:pointer}.pr-btn:hover:not(:disabled){border-color:var(--accent)}.pr-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)!important}.pr-btn:disabled{cursor:not-allowed;opacity:.75}.pr-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pr-soon{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,currentColor 16%,transparent);font-size:11px;font-weight:600}.pr-trial{margin:8px 0 0;text-align:center;color:var(--k-response);font-size:12.5px;font-weight:600}.pr-card ul{display:flex;flex-direction:column;gap:9px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--line);list-style:none;font-size:14px}.pr-card li{display:flex;gap:8px;align-items:flex-start}.pr-card li svg{width:16px;height:16px;flex:none;margin-top:2px;fill:none;stroke:var(--k-response);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.pr-note{margin:20px 0 0;color:var(--muted);font-size:13px;text-align:center}@media (max-width: 1000px){.pr-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}@media (max-width: 600px){.pr-grid{grid-template-columns:1fr}}.sg-pop{position:absolute;z-index:8;display:flex;flex-direction:column;gap:1px;min-width:190px;max-width:240px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #090d142e,var(--shadow)}.sg-pop.sg-e{transform:translate(14px,-50%)}.sg-pop.sg-w{transform:translate(calc(-100% - 14px),-50%)}.sg-pop.sg-n{transform:translate(-50%,calc(-100% - 14px))}.sg-pop.sg-s{transform:translate(-50%,14px)}.sg-head{padding:2px 8px 4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.sg-pop .sg-item{cursor:pointer;padding:5px 8px;font-size:13px}.sd-scope{flex:none;white-space:nowrap;line-height:16px;display:inline-flex;align-items:center;gap:3px;padding:1px 5px 1px 8px;border:0;border-radius:999px;font:inherit;font-size:11px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface));cursor:pointer}.sd-search .sd-scope svg{width:10px;height:10px;stroke:currentColor}.sd-scope:hover{background:color-mix(in srgb,var(--accent) 24%,var(--surface))}.sd-search input::placeholder{text-overflow:ellipsis}.sd-select-pop .sd-search-sticky{top:-4px;background:var(--surface);box-shadow:0 -4px 0 var(--panel)}.au{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:100%;background:var(--bg);color:var(--fg);font-size:15px;line-height:1.55}.au a{color:inherit}.au-side{position:relative;display:flex;flex-direction:column;gap:28px;padding:28px max(36px,6vw) 32px;overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(70% 60% at 60% 55%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),radial-gradient(var(--dot) 1.2px,transparent 1.4px) 0 0 / 22px 22px,var(--canvas)}.au-brand{align-self:flex-start;text-decoration:none}.au-side-body{max-width:520px;margin-top:auto}.au-kicker{display:inline-block;margin-bottom:12px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;background:var(--surface);color:var(--accent);font:600 12px var(--f-mono);letter-spacing:.02em}.au-side-body h2{margin:0;font-size:clamp(28px,2.8vw,42px);line-height:1.15;letter-spacing:-.03em}.au-flow{width:100%;max-width:560px;height:auto;overflow:visible}.au-flow-node{filter:var(--node-sh-soft)}.au-flow-ring{fill:none;stroke:var(--accent);stroke-width:1.6}.au-flow-cap{fill:var(--fg);font:600 14px var(--f-mono);text-anchor:middle}.au-chips{display:flex;flex-wrap:wrap;gap:8px;margin:auto 0 0;padding:0;list-style:none}.au-chips li{padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:13px}.au-main{display:flex;flex-direction:column;min-width:0;padding:20px max(16px,4vw) 40px}.au-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.au-back{display:inline-flex;align-items:center;gap:6px;padding:8px 10px 8px 6px;border-radius:8px;color:var(--muted)!important;font-size:14px;font-weight:500;text-decoration:none}.au-back:hover{color:var(--fg)!important}.au-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.au-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.au-card{width:100%;max-width:400px;margin:auto;padding:40px 0}.au-mobile-brand{display:none;margin-bottom:28px}.au-card h1{margin:0;font-size:26px;line-height:1.25;letter-spacing:-.02em}.au-sub{margin:8px 0 28px;color:var(--muted)}.au-provider{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font-weight:600;font-size:15px;box-shadow:var(--shadow);transition:border-color .15s ease,transform .15s ease}.au-provider:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.au-provider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.au-provider:disabled{cursor:progress;opacity:.7}.au-g{width:20px;height:20px;flex:none}.au-notice{margin-top:16px;padding:11px 14px;border:1px solid;border-radius:10px;font-size:14px}.au-notice.info{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.au-notice.error{border-color:color-mix(in srgb,var(--k-error) 45%,var(--line));background:color-mix(in srgb,var(--k-error) 9%,var(--surface));color:var(--k-error)}.au-guest{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;text-align:center}.au-guest a{color:var(--accent)!important;font-weight:600;text-decoration:none}.au-guest a:hover{text-decoration:underline}.au-terms{margin:14px 0 0;color:var(--muted);font-size:12.5px;text-align:center}@media (max-width: 860px){.au{grid-template-columns:minmax(0,1fr)}.au-side{display:none}.au-mobile-brand{display:block}.au-card{padding-top:24px}}@media (prefers-reduced-motion: reduce){.au-provider{transition:none}.au-provider:hover:not(:disabled){transform:none}}.hm-signin{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}.hm-signin:hover{border-color:var(--accent)}.hm-signin:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sd-signin{display:inline-flex;align-items:center;color:var(--fg);text-decoration:none}.ub{position:relative;display:inline-flex}.ub-btn{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-weight:700;font-size:14px}.ub-btn:hover,.ub-btn[aria-expanded=true]{border-color:var(--accent)}.ub-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ub-btn img{width:100%;height:100%;object-fit:cover}.ub-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:220px;max-width:280px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 32px #090d142e,var(--shadow)}.ub-who{display:flex;flex-direction:column;gap:1px;padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}.ub-who strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ub-who span{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ub-menu button{display:block;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;font-size:13px;text-align:left}.ub-menu button:hover,.ub-menu button:focus-visible{background:color-mix(in srgb,var(--accent) 12%,transparent);outline:none}.sd-icon.ia-spin,.sd-icon.ia-pulse,.sd-icon.ia-wiggle{transform-origin:50% 50%}.sd-icon.ia-spin{animation:ia-spin 2.4s linear infinite}.sd-icon.ia-pulse{animation:ia-pulse 1.4s ease-in-out infinite}.sd-icon.ia-bounce{animation:ia-bounce 1.2s infinite}.sd-icon.ia-blink{animation:ia-blink 1.4s linear infinite}.sd-icon.ia-wiggle{animation:ia-wiggle 1.8s infinite}@keyframes ia-spin{to{transform:rotate(360deg)}}@keyframes ia-pulse{50%{transform:scale(1.18)}}@keyframes ia-bounce{0%,50%,to{transform:none}25%{transform:translateY(-3px)}}@keyframes ia-blink{50%{opacity:.25}}@keyframes ia-wiggle{0%,48%,to{transform:none}8%{transform:rotate(-14deg)}18%{transform:rotate(12deg)}28%{transform:rotate(-8deg)}38%{transform:rotate(5deg)}}@media (prefers-reduced-motion: reduce){.sd-icon[class*=ia-]{animation:none}}.sd-icon.ia-flip{transform-origin:50% 50%;animation:ia-flip 2.4s ease-in-out infinite}.sd-icon.ia-beat{transform-origin:50% 50%;animation:ia-beat 1.3s infinite}.sd-icon.ia-swing{transform-origin:50% 8%;animation:ia-swing 2s ease-in-out infinite}.sd-icon.ia-float{animation:ia-float 2.6s ease-in-out infinite}.sd-icon.ia-shake{animation:ia-shake 1.6s infinite}@keyframes ia-flip{50%{transform:scaleX(-1)}}@keyframes ia-beat{0%,24%,50%,to{transform:none}12%{transform:scale(1.2)}36%{transform:scale(1.14)}}@keyframes ia-swing{0%,62%,to{transform:none}15%{transform:rotate(14deg)}35%{transform:rotate(-10deg)}50%{transform:rotate(6deg)}}@keyframes ia-float{50%{transform:translateY(-2.5px)}}@keyframes ia-shake{0%,30%,to{transform:none}6%{transform:translate(-2.5px)}12%{transform:translate(2.5px)}18%{transform:translate(-2px)}24%{transform:translate(2px)}}.node .ia-ring{fill:none;stroke:var(--cat);stroke-width:1.6}.sd-icon .ia-ring{fill:none;stroke:currentColor;stroke-width:1.5;transform-box:view-box;transform-origin:12px 12px;animation:ia-ring 1.6s cubic-bezier(.2,.7,.3,1) infinite}.sd-icon.ia-ping{overflow:visible}@keyframes ia-ring{0%{transform:scale(.85);opacity:.7}to{transform:scale(1.6);opacity:0}}.sd-icon.ia-tada,.sd-icon.ia-jelly,.sd-icon.ia-rock,.sd-icon.ia-breathe,.sd-icon.ia-jump{transform-origin:50% 50%}.sd-icon.ia-tada{animation:ia-tada 2.2s infinite}.sd-icon.ia-jelly{animation:ia-jelly 2s infinite}.sd-icon.ia-rock{animation:ia-rock 3s ease-in-out infinite}.sd-icon.ia-orbit{animation:ia-orbit 3s linear infinite}.sd-icon.ia-breathe{animation:ia-breathe 3.2s ease-in-out infinite}.sd-icon.ia-jump{animation:ia-jump 1.6s infinite}.sd-icon.ia-send{animation:ia-send 2.4s infinite}@keyframes ia-tada{0%,50%,to{transform:none}6%,10%{transform:scale(.9) rotate(-3deg)}18%,34%{transform:scale(1.12) rotate(8deg)}26%,42%{transform:scale(1.12) rotate(-8deg)}}@keyframes ia-jelly{0%,50%,to{transform:none}10%{transform:scale(1.25,.75)}18%{transform:scale(.75,1.25)}26%{transform:scale(1.15,.85)}34%{transform:scale(.95,1.05)}42%{transform:scale(1.05,.95)}}@keyframes ia-rock{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes ia-orbit{0%{transform:translate(2.5px)}25%{transform:translateY(2.5px)}50%{transform:translate(-2.5px)}75%{transform:translateY(-2.5px)}to{transform:translate(2.5px)}}@keyframes ia-breathe{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.08);opacity:1}}@keyframes ia-jump{0%,56%,to{transform:none}12%{transform:scale(1.15,.85)}30%{transform:translateY(-5px) scale(.92,1.08)}46%{transform:none}50%{transform:scale(1.12,.88)}}@keyframes ia-send{0%,20%{transform:none;opacity:1}42%{transform:translate(7px,-5px);opacity:0}43%{transform:translate(-7px,5px);opacity:0}68%,to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.sd-icon .ia-ring{animation:none;opacity:0}}
