#comfy-viewer{--v-bg:#0d0d10;--v-panel:#101013;--v-line:rgba(255,255,255,.06);--v-ink:#fafafa;--v-muted:#a1a1aa;--v-node:#141418;--v-nodeline:#2a2a31;--v-accent:#3b82f6;--v-param:#d6a25b;background:var(--v-bg);color:var(--v-ink);border:1px solid var(--border);border-radius:12px;overflow:hidden;font:14px/1.45 var(--font-sans,system-ui,sans-serif);margin-bottom:1.5rem;width:calc(100% + var(--breakout,0px) * 2);margin-inline:calc(var(--breakout,0px) * -1);max-width:none}:root.light #comfy-viewer{--v-bg:#fffdf8;--v-panel:#faf8f3;--v-line:rgba(0,0,0,.08);--v-ink:#1a1a1a;--v-muted:#52525b;--v-node:#fff;--v-nodeline:#d7dde5;--v-accent:#2563eb;--v-param:#b8761f}#comfy-viewer *{box-sizing:border-box}#comfy-viewer .hint{color:var(--v-muted);font-size:12px;white-space:nowrap}#comfy-viewer .bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 18px;border-top:1px solid var(--v-line);border-bottom:1px solid var(--v-line)}#comfy-viewer .seg,#comfy-viewer button{background:var(--v-panel);color:var(--v-ink);border:1px solid var(--v-line);border-radius:8px;padding:6px 11px;font:inherit;font-size:13px;cursor:pointer}#comfy-viewer button:hover{border-color:var(--v-accent)}#comfy-viewer .seg{display:flex;padding:2px;gap:2px}#comfy-viewer .seg button{border:0;background:transparent;padding:5px 10px}#comfy-viewer .seg button.on{background:var(--v-accent);color:#fff}#comfy-viewer label.chk{display:flex;align-items:center;gap:7px;color:var(--v-muted);cursor:pointer;font-size:13px}#comfy-viewer .spacer{flex:1}#comfy-viewer #count{font-size:12.5px;color:var(--v-muted);font-variant-numeric:tabular-nums}#comfy-viewer #crumb{color:var(--v-muted);font-size:12px;padding:8px 18px 0}#comfy-viewer #stage{position:relative;height:min(70vh,700px)}@media (max-width:820px){#comfy-viewer #stage{height:520px}#comfy-viewer #panel{top:10px;right:10px;left:10px;width:auto;max-height:58%}}#comfy-viewer #canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;background:radial-gradient(circle at 1px 1px,var(--v-nodeline) 1px,transparent 0) 0 0/22px 22px}#comfy-viewer #canvas:active{cursor:grabbing}#comfy-viewer #panel{position:absolute;top:14px;right:14px;width:284px;z-index:2;max-height:calc(100% - 28px);overflow:auto;padding:15px 16px;background:var(--v-panel);border:1px solid var(--v-line);border-radius:10px;box-shadow:0 10px 30px -12px rgba(0,0,0,.55)}#comfy-viewer #panel.empty{display:none}#comfy-viewer #panel h3{margin:0 0 10px;font-family:var(--font-display,system-ui,sans-serif);font-size:14px;font-weight:700}#comfy-viewer #panel h4{margin:14px 0 6px;font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--v-muted);font-weight:500}#comfy-viewer #panel dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:12px}#comfy-viewer #panel dt{color:var(--v-muted)}#comfy-viewer #panel dd{margin:0;word-break:break-word;font-variant-numeric:tabular-nums}#comfy-viewer .hintp{color:var(--v-muted);font-size:12.5px;margin:0}#comfy-viewer #note{margin:0;padding:10px 18px;font-size:12.5px;color:var(--v-ink);background:var(--blog-accent-bg,transparent);border-top:1px solid var(--v-line)}#comfy-viewer #note code{font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;background:none;padding:0}#comfy-viewer .wf-foot{padding:10px 18px;color:var(--v-muted);font-size:11.5px;border-top:1px solid var(--v-line);display:flex;gap:16px;flex-wrap:wrap}#comfy-viewer .wf-foot code{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;background:none;padding:0}#comfy-viewer .node rect{fill:var(--v-node);stroke:var(--v-nodeline);stroke-width:1.5}#comfy-viewer .node text{fill:var(--v-ink);font:12px var(--font-sans,system-ui,sans-serif);pointer-events:none}#comfy-viewer .node .sub{fill:var(--v-muted);font-size:10.5px;font-variant-numeric:tabular-nums}#comfy-viewer .node .badge{fill:var(--v-param);font-size:10.5px;font-weight:600}#comfy-viewer .node .hint{fill:var(--v-accent);font-size:10px}#comfy-viewer .node{cursor:pointer}#comfy-viewer .node.expandable rect{stroke:var(--v-accent);stroke-width:2.5}#comfy-viewer .node.boundary rect{fill:transparent;stroke:var(--v-muted);stroke-dasharray:5 4}#comfy-viewer .node.param rect{stroke:var(--v-param);stroke-width:2}#comfy-viewer .node.selected rect{stroke:var(--v-accent);stroke-width:3}#comfy-viewer .node.faded{opacity:.18}#comfy-viewer .edge{fill:none;stroke:var(--v-nodeline);stroke-width:1.5}#comfy-viewer .edge.faded{opacity:.25}#comfy-viewer:fullscreen{border-radius:0}#comfy-viewer:fullscreen #stage{height:calc(100vh - 200px)}