.zeema-canvas{height:100dvh;min-height:360px;font-size:var(--fs);position:relative;overflow:hidden}.zeema-canvas .scene-wrap{--bg:var(--surface);background:radial-gradient(circle, var(--canvas-dot) 1px, transparent 1px) 0 0 / var(--canvas-dot-gap) var(--canvas-dot-gap), var(--bg);position:absolute;inset:0;overflow:hidden}.zeema-canvas .float{z-index:20;pointer-events:none;font-size:var(--fs-small);position:absolute}.zeema-canvas .float>*{pointer-events:auto}.zeema-canvas .pill,.zeema-canvas .card{background:var(--float-bg);border:var(--border) solid var(--float-line);box-shadow:var(--float-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink)}.zeema-canvas .pill{border-radius:var(--r-pill);align-items:center;gap:2px;height:40px;padding:0 4px;display:flex}.zeema-canvas .card{border-radius:var(--r-card)}.zeema-canvas .pill-sep{background:var(--float-line);flex:none;width:1px;height:20px;margin:0 4px}.zeema-canvas .pill-btn,.zeema-canvas .pill .icon-btn{border-radius:var(--r-inner);min-width:32px;height:32px;color:var(--muted);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0 6px;text-decoration:none;display:inline-flex}.zeema-canvas .pill-btn:hover,.zeema-canvas .pill .icon-btn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink);text-decoration:none}.zeema-canvas .pill-btn:focus-visible,.zeema-canvas .pill .icon-btn:focus-visible,.zeema-canvas .dock-btn:focus-visible,.zeema-canvas .findings-pill:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .pill-btn.is-on,.zeema-canvas .pill-btn[aria-expanded=true]{background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink)}.zeema-canvas .float-tl{max-width:calc(100% - 24px);top:12px;left:12px}.zeema-canvas .float-tl .pill{max-width:100%}.zeema-canvas .canvas-title{font-weight:var(--fw-medium);font-size:var(--fs-body);padding:0 var(--sp-1);text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}.zeema-canvas .canvas-title-btn{font:inherit;font-weight:var(--fw-medium);font-size:var(--fs-body);border-radius:var(--r-inner);height:32px;color:inherit;cursor:text;background:0 0;border:0}.zeema-canvas .canvas-title-btn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent)}.zeema-canvas .canvas-title-input{font-weight:var(--fw-medium);font-size:var(--fs-body);height:32px;padding:2px var(--sp-1);width:28ch;max-width:60vw}.zeema-canvas .float-tr{top:12px;right:12px}.zeema-canvas .float-tr .status{padding:0 var(--sp-1);text-overflow:ellipsis;white-space:nowrap;max-width:34ch;font-size:var(--fs-meta);overflow:hidden}.zeema-canvas .status-btn{border-radius:var(--r-inner);height:32px;font:inherit;font-size:var(--fs-meta);cursor:pointer;background:0 0;border:0}.zeema-canvas .status-btn:hover:not([disabled]){background:color-mix(in srgb, var(--ink) 7%, transparent)}.zeema-canvas .switch-row.auto{align-items:center;gap:var(--sp-0-5);height:32px;font:inherit;font-size:var(--fs-meta);color:var(--muted);padding:0 var(--sp-0-5);cursor:pointer;background:0 0;border:0;display:flex}.zeema-canvas .zoom-btn{min-width:64px;color:var(--ink);font-size:var(--fs-meta)}.zeema-canvas .notes-toggle .count{font-size:var(--fs-micro)}.zeema-canvas .notes-toggle[aria-pressed=true]{background:var(--t-note-fill);color:var(--ink)}.zeema-canvas .float-tr .user-menu{padding:0 4px;display:inline-flex}.zeema-canvas .float-tr .btn-sm{margin:0 2px}.zeema-canvas .float-dock{bottom:12px;left:50%;transform:translate(-50%)}.zeema-canvas .dock{gap:4px;height:48px;padding:0 6px}.zeema-canvas .dock-btn{border-radius:var(--r-inner);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.zeema-canvas .dock-btn:hover:not([disabled]){background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}.zeema-canvas .dock-btn:active:not([disabled]){transform:translateY(1px)}.zeema-canvas .dock-btn.is-on{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.zeema-canvas .dock-btn[disabled]{opacity:.4;cursor:default}.zeema-canvas .dock-btn.dock-add{background:var(--accent-solid);color:var(--accent-solid-ink)}.zeema-canvas .dock-btn.dock-add:hover,.zeema-canvas .dock-btn.dock-add.is-on{background:color-mix(in srgb, var(--accent-solid) 85%, var(--ink));color:var(--accent-solid-ink)}.zeema-canvas .dock .btn-sm{white-space:nowrap}.zeema-canvas .picker{flex-direction:column;min-height:0;display:flex;overflow:hidden}.zeema-canvas .float-picker{z-index:25;animation:zeema-float-up var(--dur) var(--ease);bottom:72px;left:50%;transform:translate(-50%)}.zeema-canvas .float-picker .picker{width:360px;max-width:calc(100vw - 24px);height:60vh;max-height:calc(100dvh - 150px)}.zeema-canvas .float-picker-pinned{top:64px;bottom:72px;left:12px}.zeema-canvas .float-picker-pinned .picker{width:300px;height:100%}.zeema-canvas .float-picker.float-picker-at{bottom:auto;transform:none}.zeema-canvas .float-picker.float-picker-at .picker{height:min(420px,60vh)}.zeema-canvas .picker-head{padding:6px 6px 0 var(--sp-1-5);align-items:center;gap:2px;display:flex}.zeema-canvas .picker-title{font-weight:var(--fw-medium);flex:1}.zeema-canvas .float-inspector{opacity:0;visibility:hidden;width:320px;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease), visibility 0s linear var(--dur);flex-direction:column;gap:8px;display:flex;top:64px;bottom:64px;right:12px;transform:translate(calc(100% + 24px))}.zeema-canvas .float-inspector.is-shown{opacity:1;visibility:visible;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);transform:none}.zeema-canvas .float-inspector .inspector{max-height:min(80vh,100%);padding:var(--sp-1-5);overscroll-behavior:contain;overflow:auto}.zeema-canvas .float-inspector.has-two .inspector{flex:0 auto;min-height:0;max-height:none}.zeema-canvas .float-inspector.has-two .inspector:first-child{max-height:45%}.zeema-canvas .float-inspector details>summary{cursor:pointer;font-size:var(--fs-small);color:var(--muted);padding:4px 0}.zeema-canvas .float-quick{z-index:35;animation:zeema-float-up var(--dur) var(--ease);top:12vh;left:50%;transform:translate(-50%)}.zeema-canvas .quick{flex-direction:column;width:520px;max-width:calc(100vw - 24px);max-height:60vh;display:flex;overflow:hidden}.zeema-canvas .qa-search{margin:var(--sp-1);width:calc(100% - var(--sp-2));border-radius:var(--r-inner)}.zeema-canvas .qa-results{padding:0 var(--sp-0-5) var(--sp-1);overscroll-behavior:contain;overflow:auto}.zeema-canvas .qa-empty{padding:var(--sp-1)}.zeema-canvas .qa-title{padding:6px var(--sp-1) 2px;font-size:var(--fs-micro);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.zeema-canvas .qa-row{grid-template-columns:var(--icon) 1fr auto;align-items:center;gap:var(--sp-1);padding:calc(var(--p) * .6) var(--sp-1);border-radius:var(--rc);cursor:pointer;display:grid}.zeema-canvas .qa-row>.qa-label:first-child{grid-column:1/3}.zeema-canvas .qa-row.is-active{background:color-mix(in srgb, var(--accent) 14%, transparent)}.zeema-canvas .qa-icon{width:var(--icon);height:var(--icon);color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.zeema-canvas .qa-glyph{color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.zeema-canvas .qa-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zeema-canvas .qa-sub{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.zeema-canvas .qa-keys{gap:3px;display:inline-flex}.zeema-canvas .qa-keys kbd{font-family:var(--mono);color:var(--muted);background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:11px;line-height:1.4}.zeema-canvas .finding-pop{z-index:46;overscroll-behavior:contain;width:320px;max-width:calc(100vw - 16px);max-height:40vh;padding:var(--sp-1);background:var(--float-bg);border:var(--border) solid var(--float-line);border-radius:var(--r-card);box-shadow:var(--float-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);animation:zeema-float-up var(--dur) var(--ease);position:fixed;overflow:auto}@media (prefers-reduced-motion:reduce){.zeema-canvas .finding-pop{animation:none}}.zeema-canvas .float-findings{z-index:24;flex-direction:column;align-items:flex-end;gap:8px;display:flex;bottom:12px;right:12px}.zeema-canvas .findings-pill{padding:0 var(--sp-1-5);font:inherit;font-size:var(--fs-meta);cursor:pointer;gap:6px}.zeema-canvas .findings-pill:hover{color:var(--ink)}.zeema-canvas .findings-pill.is-blocking{color:var(--err);border-color:color-mix(in srgb, var(--err) 45%, transparent)}.zeema-canvas .sev-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.zeema-canvas .sev-dot.error{background:var(--err)}.zeema-canvas .sev-dot.warning{background:var(--warn)}.zeema-canvas .sev-dot.ok{background:var(--ok)}.zeema-canvas .findings-card{transition:margin-right var(--dur) var(--ease);width:360px;max-width:calc(100vw - 24px);max-height:50vh;padding:var(--sp-1);overscroll-behavior:contain;animation:zeema-float-up var(--dur) var(--ease);overflow:auto}.zeema-canvas .float-findings.beside-inspector .findings-card{max-width:calc(100vw - 368px);margin-right:332px}@keyframes zeema-float-up{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.zeema-canvas .float-picker,.zeema-canvas .float-quick,.zeema-canvas .findings-card{animation:none}.zeema-canvas .float-inspector,.zeema-canvas .float-inspector.is-shown{transition:none}}@media (max-width:639px){.zeema-canvas .float-tl{right:12px}.zeema-canvas .float-tr{max-width:calc(100% - 24px);top:60px;left:12px;right:auto}.zeema-canvas .float-tr .pill{scrollbar-width:none;overflow-x:auto}.zeema-canvas .float-tr .status{max-width:14ch}.zeema-canvas .float-dock{left:12px;right:12px;transform:none}.zeema-canvas .dock{scrollbar-width:none;justify-content:space-between;overflow-x:auto}.zeema-canvas .float-findings{bottom:72px}.zeema-canvas .float-findings.beside-inspector .findings-card{max-width:calc(100vw - 24px);margin-right:0}.zeema-canvas .float-picker{left:12px;right:12px;transform:none}.zeema-canvas .float-picker .picker{width:100%}.zeema-canvas .float-picker-pinned{top:112px;right:12px}.zeema-canvas .float-picker-pinned .picker{width:100%}.zeema-canvas .float-inspector{z-index:30;width:auto;inset:auto 0 0;transform:translateY(100%)}.zeema-canvas .float-inspector .inspector{border-radius:var(--r-card) var(--r-card) 0 0;max-height:60dvh}.zeema-canvas .float-inspector.has-two{gap:0}.zeema-canvas .float-inspector.has-pinned .inspector,.zeema-canvas .float-inspector.has-two .inspector:first-child{max-height:32dvh}.zeema-canvas .float-inspector.has-two .inspector+.inspector{border-top:0;border-radius:0}}.zeema-canvas .anchor-row{justify-content:space-between;align-items:center;gap:var(--sp-1);display:flex}.zeema-canvas svg.scene{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:var(--sans);display:block}.zeema-canvas svg.scene.hand{cursor:grab}.zeema-canvas svg.scene.panning{cursor:grabbing}.zeema-canvas .node-box{cursor:grab;transition:opacity .14s var(--ease)}.zeema-canvas .node-box rect.body{stroke-width:1px;filter:url(#node-shadow);transition:stroke var(--dur) var(--ease)}.zeema-canvas .node-box.expanded rect.body{filter:drop-shadow(var(--shadow-float))}.zeema-canvas .node-box:hover rect.body{stroke:color-mix(in srgb, var(--accent) 60%, transparent)}.zeema-canvas .node-box.selected rect.body{stroke:var(--accent);stroke-width:2px}.zeema-canvas .node-box.primary rect.body{stroke-width:2.4px}.zeema-canvas .node-box.wire-target rect.body{stroke:var(--accent);stroke-width:2.5px}.zeema-canvas .node-box.drop-target rect.body{stroke:var(--accent);stroke-width:3px;fill:color-mix(in srgb, var(--accent) 10%, var(--node-fill))}.zeema-canvas .frame.drop-target,.zeema-canvas .frame[data-tint].drop-target{stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:none;fill:color-mix(in srgb, var(--accent) 6%, transparent)}.zeema-canvas svg.scene.drop-top{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-2px}.zeema-canvas .drop-hint{pointer-events:none;font-family:var(--sans);color:var(--accent);background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500;line-height:18px;position:absolute}.zeema-canvas .node-box.wire-source rect.body{stroke-dasharray:4 3}.zeema-canvas .node-box text.name{fill:var(--ink);font-size:14px;font-weight:500}.zeema-canvas .node-box text.name.unset{fill:var(--muted);font-style:italic;font-weight:400}.zeema-canvas .node-box text.comp{fill:var(--muted);font-size:11px}.zeema-canvas .node-box .glyph{color:var(--ink)}.zeema-canvas .node-box .stack,.zeema-canvas .node-box .stack-chip,.zeema-canvas .node-box .stack-chip-t{pointer-events:none}.zeema-canvas .node-box .modules-chip,.zeema-canvas .node-box .modules-chip .stack-chip,.zeema-canvas .node-box .modules-chip .stack-chip-t{pointer-events:auto;cursor:pointer}.zeema-canvas .node-box .modules-chip:hover .stack-chip,.zeema-canvas .node-box .modules-chip.open .stack-chip{stroke:var(--accent)}.zeema-canvas .node-box .modules-chip:hover .stack-chip-t,.zeema-canvas .node-box .modules-chip.open .stack-chip-t{fill:var(--accent)}.zeema-canvas .node-box .module{cursor:grab}.zeema-canvas .node-box .module.dragging{cursor:grabbing;opacity:.85}.zeema-canvas svg.tile-dragging,.zeema-canvas svg.tile-dragging *{cursor:grabbing!important}.zeema-canvas .node-box .module-tile{fill:var(--bg);stroke:var(--node-line);stroke-width:1px;transition:stroke var(--dur) var(--ease)}.zeema-canvas .node-box .module:hover .module-tile{stroke:color-mix(in srgb, var(--accent) 60%, transparent)}.zeema-canvas .node-box .module.selected .module-tile,.zeema-canvas .node-box .module.wire-target .module-tile{stroke:var(--accent);stroke-width:2px}.zeema-canvas .node-box .module.wire-source .module-tile{stroke-dasharray:4 3}.zeema-canvas .node-box .module.flagged .module-tile{stroke:var(--warn);stroke-width:1.6px}.zeema-canvas .node-box .module-tint{pointer-events:none}.zeema-canvas .node-box .module:hover .module-tint,.zeema-canvas .node-box .module.selected .module-tint,.zeema-canvas .node-box .module.wire-target .module-tint,.zeema-canvas .node-box .module.wire-source .module-tint,.zeema-canvas .node-box .module.flagged .module-tint{stroke:none}.zeema-canvas .node-box .module-label{font-size:11px;font-family:var(--mono);fill:var(--ink);pointer-events:none}.zeema-canvas .node-box .module-ghost{cursor:pointer;pointer-events:auto;opacity:.55;transition:opacity var(--dur) var(--ease)}.zeema-canvas .node-box .module-ghost:hover,.zeema-canvas .node-box .module-ghost.adding{opacity:1}.zeema-canvas .node-box .module-ghost-tile{fill:#0000;stroke:var(--node-line);stroke-width:1px;stroke-dasharray:4 3}.zeema-canvas .node-box .module-ghost:hover .module-ghost-tile{stroke:var(--accent)}.zeema-canvas .node-box .module-ghost.adding .module-ghost-tile{fill:var(--bg);stroke:var(--accent);stroke-dasharray:none}.zeema-canvas .node-box .module-ghost-label{font-size:11px;font-family:var(--mono);fill:var(--accent);pointer-events:none}.zeema-canvas .note-box{cursor:grab;transition:opacity .14s var(--ease)}.zeema-canvas .note-box.dragging{cursor:grabbing;opacity:.72}.zeema-canvas .note-body{stroke-width:1px;filter:url(#node-shadow)}[data-theme=dark] .zeema-canvas .node-box rect.body,[data-theme=dark] .zeema-canvas .note-body{filter:none}.zeema-canvas .note-box.selected .note-body{stroke:var(--accent);stroke-width:2px}.zeema-canvas .note-text{fill:var(--ink);pointer-events:none;white-space:pre;font-size:11px}.zeema-canvas .note-text.empty{fill:var(--muted);font-style:italic}.zeema-canvas .note-grip{stroke:var(--muted);stroke-width:1.2px;fill:none;pointer-events:none}.zeema-canvas .note-grip-hit{fill:#0000;cursor:nwse-resize}.zeema-canvas .note-leader{fill:none;stroke:var(--f-note-line);stroke-width:1px;stroke-dasharray:2 3;opacity:.55;pointer-events:none}.zeema-canvas .note-box.peek{pointer-events:none;opacity:.92}.zeema-canvas .note-leader.peek{opacity:.4}.zeema-canvas .note-marker-g{cursor:pointer}.zeema-canvas .note-marker-hit{fill:#0000}.zeema-canvas .note-marker{fill:var(--f-note-fill);stroke:var(--f-note-line);stroke-width:1px;pointer-events:none}.zeema-canvas .note-marker-g:hover .note-marker{r:5.5}.zeema-canvas .note-marker.pinned{stroke:var(--accent);stroke-width:2px}.zeema-canvas .frame{fill:none;stroke:var(--frame);stroke-width:1px;stroke-dasharray:6 4}.zeema-canvas .frame-stack{pointer-events:none}.zeema-canvas .frame-stack-card{fill:none;stroke:var(--frame);stroke-width:1px;stroke-dasharray:6 4}.zeema-canvas .frame[data-tint=slate]{stroke:var(--tint-slate);fill:var(--tint-slate-fill)}.zeema-canvas .frame[data-tint=blue]{stroke:var(--tint-blue);fill:var(--tint-blue-fill)}.zeema-canvas .frame[data-tint=green]{stroke:var(--tint-green);fill:var(--tint-green-fill)}.zeema-canvas .frame[data-tint=amber]{stroke:var(--tint-amber);fill:var(--tint-amber-fill)}.zeema-canvas .frame[data-tint=rose]{stroke:var(--tint-rose);fill:var(--tint-rose-fill)}.zeema-canvas .frame[data-tint=violet]{stroke:var(--tint-violet);fill:var(--tint-violet-fill)}.zeema-canvas .frame[data-tint=teal]{stroke:var(--tint-teal);fill:var(--tint-teal-fill)}.zeema-canvas .frame[data-tint=hex]{stroke:var(--tint-hex);fill:var(--tint-hex-fill)}.zeema-canvas .frame[data-tint]{pointer-events:stroke}.zeema-canvas .frame-under{fill:var(--bg);stroke:none;pointer-events:none}.zeema-canvas .frame-icon{color:var(--muted);cursor:move}.zeema-canvas .frame.selected,.zeema-canvas .frame[data-tint].selected{stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 3}.zeema-canvas .frame-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:move}.zeema-canvas .frame-label{font-size:11px;font-family:var(--mono);fill:var(--muted);cursor:move}.zeema-canvas .edge{stroke:var(--edge);stroke-width:1.4px;fill:none;transition:stroke .12s var(--ease), stroke-width .12s var(--ease), opacity .14s var(--ease);pointer-events:none}.zeema-canvas .edge.async{stroke-dasharray:6 4}.zeema-canvas .edge.in-process{stroke:var(--frame);stroke-width:1px}.zeema-canvas .edge-label.in-process-label{cursor:pointer;font-size:10px}.zeema-canvas .edge.selected{stroke:var(--accent);stroke-width:2px;marker-end:url(#arrowhead-sel)}.zeema-canvas .edge-hit{stroke:#0000;stroke-width:12px;fill:none;cursor:pointer}.zeema-canvas .edge-hits:hover+.edge{stroke:var(--accent);stroke-width:2px;marker-end:url(#arrowhead-sel)}.zeema-canvas .edge-label{font-size:11px;font-family:var(--mono);fill:var(--muted);paint-order:stroke;stroke:var(--bg);stroke-width:3px;cursor:move;transition:opacity .14s var(--ease)}.zeema-canvas svg.label-dragging,.zeema-canvas svg.label-dragging *{cursor:move!important}.zeema-canvas .edge-hits:hover+.edge+.edge-label,.zeema-canvas .edge-label:hover{fill:var(--ink)}.zeema-canvas .edge-auth{pointer-events:none}.zeema-canvas svg.scene.lighting .node-box:not(.lit):not(.selected),.zeema-canvas svg.scene.lighting .edge:not(.lit):not(.selected),.zeema-canvas svg.scene.lighting .edge-label:not(.lit),.zeema-canvas svg.scene.lighting .note-box{opacity:.35}.zeema-canvas svg.scene.tracing .edge.lit{stroke:var(--accent)}.zeema-canvas svg.scene.dim-edges .edge:not(.lit),.zeema-canvas svg.scene.dim-edges .edge-label:not(.lit){opacity:.25}.zeema-canvas .port-dot{fill:var(--panel);stroke:var(--accent);stroke-width:1.5px;cursor:crosshair;opacity:0;transition:opacity .12s var(--ease)}.zeema-canvas .node-box:hover .port-dot,.zeema-canvas .node-box.selected .port-dot,.zeema-canvas .node-box.wire-source .port-dot{opacity:1}.zeema-canvas .port-dot:hover{fill:var(--accent)}.zeema-canvas .node-box .module .tile-port-dot,.zeema-canvas .node-box:hover .module .tile-port-dot{opacity:0;pointer-events:none}.zeema-canvas .node-box .module.selected .tile-port-dot{opacity:1;pointer-events:auto}.zeema-canvas svg.tile-dragging .node-box .module.selected .tile-port-dot{opacity:0}.zeema-canvas .end-handle{fill:var(--panel);stroke:var(--accent);stroke-width:1.5px;cursor:move}.zeema-canvas .end-handle.dragging{fill:var(--accent);pointer-events:none}.zeema-canvas .node-box.port-target rect.body{stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:4 3}.zeema-canvas .frame.wire-target,.zeema-canvas .frame[data-tint].wire-target,.zeema-canvas .frame.port-target,.zeema-canvas .frame[data-tint].port-target{stroke:var(--accent);stroke-width:2.5px}.zeema-canvas .frame.wire-target,.zeema-canvas .frame[data-tint].wire-target{fill:color-mix(in srgb, var(--accent) 6%, transparent)}.zeema-canvas .frame.wire-source,.zeema-canvas .frame[data-tint].wire-source{stroke:var(--accent);stroke-dasharray:4 3}.zeema-canvas .frame-port-dot{opacity:1}.zeema-canvas .badge-error{fill:var(--err);stroke:var(--panel);stroke-width:2px}.zeema-canvas .badge-warn{fill:var(--warn);stroke:var(--panel);stroke-width:2px}.zeema-canvas .finding-badge{pointer-events:auto;cursor:pointer}.zeema-canvas .finding-badge-hit{fill:#0000;stroke:none}.zeema-canvas .marquee{fill:var(--accent);fill-opacity:.07;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3}.zeema-canvas .wire{stroke:var(--muted);stroke-width:1.4px;fill:none;stroke-dasharray:4 4;pointer-events:none}.zeema-canvas .wire.live{stroke:var(--accent);stroke-width:2px;stroke-dasharray:none}.zeema-canvas .inline-edit{z-index:5;font:14px var(--sans);border:var(--border) solid var(--accent);border-radius:var(--rc);background:var(--panel);color:var(--ink);outline:none;padding:3px 6px;position:absolute}.zeema-canvas .inline-edit.note-edit{font-family:var(--sans);box-sizing:border-box;background:var(--f-note-fill);resize:none;white-space:pre-wrap;word-break:break-word;border-radius:3px;padding:8px 10px;overflow:auto}.zeema-canvas .empty-state{pointer-events:none;color:var(--muted);text-align:center;padding:var(--sp-4);place-items:center;display:grid;position:absolute;inset:0}.zeema-canvas .help-overlay{z-index:40;padding:var(--sp-2);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.zeema-canvas .help-backdrop{background:var(--bg);opacity:.6;position:absolute;inset:0}.zeema-canvas .help-dialog{width:min(560px,100%);max-height:100%;font-size:var(--fs-small);box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:relative}.zeema-canvas .help-head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-1-5);border-bottom:var(--border) solid var(--line);display:flex}.zeema-canvas .help-dialog .help-title{font-family:var(--sans);text-transform:none;letter-spacing:normal;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--ink);margin:0}.zeema-canvas .help-close{color:var(--muted);border-radius:var(--rc);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:18px;line-height:1}.zeema-canvas .help-close:hover{color:var(--ink);background:var(--line)}.zeema-canvas .help-body{padding:var(--sp-1-5);overflow:auto}.zeema-canvas .help-body section+section{margin-top:var(--sp-2)}.zeema-canvas .help-rows{margin:var(--sp-1) 0 0}.zeema-canvas .help-row{gap:2px var(--sp-2);grid-template-columns:1fr;padding:3px 0;display:grid}@media (min-width:640px){.zeema-canvas .help-row{grid-template-columns:13rem 1fr;align-items:baseline}}.zeema-canvas .help-row dt{flex-wrap:wrap;gap:4px;margin:0;display:flex}.zeema-canvas .help-row dd{color:var(--muted);margin:0}.zeema-canvas .help-row kbd{font-family:var(--mono);color:var(--ink);background:var(--panel);border:1px solid var(--line);box-shadow:0 1px 0 var(--line);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:11px;line-height:1.4}.zeema-canvas .canvas-hint{z-index:60;width:300px;padding:var(--sp-1-5);font-size:var(--fs-small);box-shadow:var(--shadow-float);position:fixed}.zeema-canvas .canvas-hint p{margin:0 0 var(--sp-1);color:var(--muted)}.zeema-canvas .pal-search{margin:var(--sp-1);width:calc(100% - var(--sp-2));border-radius:var(--r-inner)}.zeema-canvas .pal-results{padding:0 var(--sp-0-5) var(--sp-1);flex:1;overflow:auto}.zeema-canvas .pal-filters{margin:0 var(--sp-1) var(--sp-1);padding-bottom:var(--sp-1);border-bottom:var(--border) solid var(--float-line);gap:6px;display:grid}.zeema-canvas .pal-chips{border:0;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;margin:0;padding:0;display:flex}.zeema-canvas .pal-chips-label{float:left;width:100%;font-family:var(--lab-font);text-transform:var(--lab-tt);letter-spacing:var(--lab-ls);font-size:var(--fs-micro);color:var(--muted);margin-bottom:2px;padding:0}.zeema-canvas .chip{border:var(--border) solid var(--float-line);border-radius:var(--r-round);height:24px;color:var(--muted);font:inherit;font-size:var(--fs-micro);white-space:nowrap;cursor:pointer;background:0 0;padding:0 9px}.zeema-canvas .chip:hover{color:var(--ink);border-color:var(--line);background:color-mix(in srgb, var(--ink) 5%, transparent)}.zeema-canvas .chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--panel)}.zeema-canvas .chip:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .pal-group-static{cursor:default}.zeema-canvas .pal-group-static:hover{color:var(--muted);background:0 0}.zeema-canvas .pal-group{font-family:var(--lab-font);text-transform:var(--lab-tt);letter-spacing:var(--lab-ls);font-size:var(--fs-micro);color:var(--muted);margin:var(--sp-1-5) 0 var(--sp-0-5);padding:2px var(--sp-1);border-radius:var(--rc);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:100%;display:flex}.zeema-canvas .pal-group:hover{color:var(--ink);background:var(--bg)}.zeema-canvas .pal-group .chev{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px;transition:transform var(--dur-fast) var(--ease);flex:none}.zeema-canvas .pal-group[aria-expanded=true] .chev{transform:rotate(90deg)}.zeema-canvas .pal-group .count{font-family:var(--mono);text-transform:none;letter-spacing:0;margin-left:auto}.zeema-canvas .pal-more{width:calc(100% - var(--sp-2));margin:var(--sp-1);padding:calc(var(--p) * .6) var(--sp-1);border:var(--border) dashed var(--line);border-radius:var(--rc);font:inherit;font-size:var(--fs-meta);color:var(--muted);cursor:pointer;background:0 0;display:block}.zeema-canvas .pal-more:hover{color:var(--ink);border-color:var(--muted)}.zeema-canvas .pal-row{width:100%;color:inherit;font:inherit;text-align:left;grid-template-columns:var(--icon) 1fr auto;align-items:center;gap:var(--sp-1);padding:calc(var(--p) * .6) var(--sp-1);border-radius:var(--rc);cursor:grab;background:0 0;border:0;display:grid}.zeema-canvas .pal-row:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.zeema-canvas .pal-row:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .pal-row svg{width:var(--icon);height:var(--icon);color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.zeema-canvas .pal-row .kind{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted)}.zeema-canvas .pal-item{position:relative}.zeema-canvas .pal-mark-slot{width:16px}.zeema-canvas .pal-mark{top:50%;right:var(--sp-1);border-radius:var(--rc);cursor:pointer;background:0 0;border:0;margin:-2px;padding:2px;display:inline-flex;position:absolute;transform:translateY(-50%)}.zeema-canvas .pal-mark:hover{box-shadow:inset 0 0 0 1px var(--line)}.zeema-canvas .pal-mark:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .prov-mark{fill:currentColor;stroke:none;width:16px;height:16px;display:block}.zeema-canvas .prov-sprite{width:0;height:0;position:absolute;overflow:hidden}.zeema-canvas .pal-row .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zeema-canvas .pal-hint{padding:0 var(--sp-1) calc(var(--p) * .4);color:var(--muted);font-size:var(--fs-micro);line-height:1.35}.zeema-canvas .field{align-items:center;gap:2px var(--sp-1);margin:calc(var(--p) * .6) 0;grid-template-columns:110px 1fr;display:grid}.zeema-canvas .field .field-name{color:var(--muted);font-size:.8em;font-weight:var(--fw-regular)}.zeema-canvas .field.set .field-name{color:var(--ink);font-weight:var(--fw-semibold)}.zeema-canvas .field .resolved{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted);grid-column:2}.zeema-canvas .field .endpoint-group{align-items:center;gap:4px;display:flex}.zeema-canvas .field input,.zeema-canvas .field select,.zeema-canvas .field textarea{width:100%;font:inherit;padding:calc(var(--p) * .5) calc(var(--p) * .9);border:var(--border) solid var(--line);border-radius:var(--rc);background:var(--panel);color:var(--ink);font-size:.9em}.zeema-canvas .field input:focus,.zeema-canvas .field select:focus,.zeema-canvas .field textarea:focus{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .module-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.zeema-canvas .module-list li{align-items:center;gap:6px;min-width:0;display:flex}.zeema-canvas .module-list input,.zeema-canvas input.module-new{min-width:0;font:inherit;padding:calc(var(--p) * .5) calc(var(--p) * .9);border:var(--border) solid var(--line);border-radius:var(--rc);background:var(--panel);color:var(--ink);flex:1;font-size:.9em}.zeema-canvas input.module-new{width:100%;margin-top:8px}.zeema-canvas .module-list input:focus,.zeema-canvas input.module-new:focus{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .module-list .module-id{text-overflow:ellipsis;white-space:nowrap;max-width:7em;overflow:hidden}.zeema-canvas .field .with-link{align-items:center;gap:4px;min-width:0;display:flex}.zeema-canvas .field .with-link select{flex:1;min-width:0}.zeema-canvas .field .resolved .nowrap{white-space:nowrap}.zeema-canvas .cat-link{border-radius:var(--rc);min-width:18px;height:18px;color:var(--muted);justify-content:center;align-items:center;margin-left:2px;padding:0 2px;font-family:inherit;font-size:.95em;line-height:1;text-decoration:none;display:inline-flex}.zeema-canvas .cat-link:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.zeema-canvas .cat-link:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .field textarea{box-sizing:border-box;min-height:calc(7.5em + var(--p));resize:vertical;grid-column:1/-1;line-height:1.5;display:block}.zeema-canvas .field textarea::placeholder{color:var(--muted)}.zeema-canvas .swatches{flex-wrap:wrap;gap:6px;display:flex}.zeema-canvas .swatch{border:var(--border) solid var(--line);border-radius:var(--r-round);cursor:pointer;width:18px;height:18px;padding:0}.zeema-canvas .swatch-none{background:linear-gradient(135deg, var(--panel) 45%, var(--muted) 45%, var(--muted) 55%, var(--panel) 55%)}.zeema-canvas .swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.zeema-canvas .swatch:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .swatch-more{background:conic-gradient(from 90deg,#ef4444,#f97316,#eab308,#22c55e,#14b8a6,#3b82f6,#8b5cf6,#ec4899,#ef4444);position:relative}.zeema-canvas .swatch-more.has-hex{isolation:isolate;background-clip:padding-box;border:2px solid #0000}.zeema-canvas .swatch-more.has-hex:before{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from 90deg,#ef4444,#f97316,#eab308,#22c55e,#14b8a6,#3b82f6,#8b5cf6,#ec4899,#ef4444);position:absolute;inset:-2px}.zeema-canvas rect.node-tint{pointer-events:none}.zeema-canvas .node-box.selected rect.node-tint,.zeema-canvas .node-box.wire-target rect.node-tint,.zeema-canvas .node-box.wire-source rect.node-tint,.zeema-canvas .node-box.port-target rect.node-tint,.zeema-canvas .node-box.drop-target rect.node-tint{stroke:none}.zeema-canvas .strength-field{min-inline-size:0;border:1px solid var(--line);border-radius:6px;grid-column:2;width:max-content;margin-top:4px;padding:0;display:inline-flex;overflow:hidden}.zeema-canvas .strength-seg{font-size:var(--fs-micro);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 10px}.zeema-canvas .strength-seg+.strength-seg{border-left:1px solid var(--line)}.zeema-canvas .strength-seg.on{color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, transparent)}.zeema-canvas .tint-field{min-width:0;position:relative}.zeema-canvas .tint-popover{z-index:20;padding:var(--sp-1);background:var(--panel);color:var(--ink);border:var(--border) solid var(--line);border-radius:var(--rp);box-shadow:var(--shadow-float);gap:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.zeema-canvas .tint-grid{gap:4px;display:grid}.zeema-canvas .tint-cell{border:var(--border) solid color-mix(in srgb, var(--ink) 18%, transparent);border-radius:var(--rc);cursor:pointer;width:18px;height:18px;padding:0}.zeema-canvas .tint-cell:hover{transform:scale(1.12)}.zeema-canvas .tint-cell[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.zeema-canvas .tint-cell:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .tint-heading{color:var(--muted);font-size:var(--fs-micro);margin-top:2px}.zeema-canvas .tint-hex{align-items:center;gap:6px;margin-top:2px;display:flex}.zeema-canvas .tint-hex .btn{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.zeema-canvas .tint-pick-chip{border-radius:var(--r-round);border:var(--border) solid var(--line);width:10px;height:10px}.zeema-canvas .field .tint-native{opacity:0;pointer-events:none;width:1px;height:1px;right:var(--sp-1);bottom:var(--sp-1);border:0;padding:0;position:absolute}.zeema-canvas .field .swatch-hex-text{width:calc(7ch + 12px);font-family:var(--mono);padding:1px 4px;font-size:.85em}.zeema-canvas .icon-field{align-items:center;gap:var(--sp-0-5);min-width:0;display:flex}.zeema-canvas .icon-field-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9em;overflow:hidden}.zeema-canvas .icon-picker{margin:0 0 var(--sp-1);border:var(--border) solid var(--line);border-radius:var(--rc);background:var(--panel);padding:var(--sp-0-5)}.zeema-canvas .icon-picker input{width:100%;font:inherit;padding:calc(var(--p) * .5) calc(var(--p) * .9);border:var(--border) solid var(--line);border-radius:var(--rc);background:var(--panel);color:var(--ink);font-size:.9em}.zeema-canvas .icon-picker-results{max-height:240px;margin-top:var(--sp-0-5);overflow-y:auto}.zeema-canvas .icon-picker .pal-row{grid-template-columns:var(--icon-sm) 1fr auto;cursor:pointer}.zeema-canvas .icon-picker .pal-row svg{width:var(--icon-sm);height:var(--icon-sm)}.zeema-canvas h2{font-family:var(--lab-font);text-transform:var(--lab-tt);letter-spacing:var(--lab-ls);font-size:var(--fs-meta);font-weight:var(--fw-regular);color:var(--muted);margin:var(--sp-2) 0 var(--sp-0-5)}.zeema-canvas h2:first-child{margin-top:0}.zeema-canvas .finding{width:100%;color:inherit;font:inherit;text-align:left;gap:var(--sp-1);padding:calc(var(--p) * .5) var(--sp-0-5);cursor:pointer;border-radius:var(--rc);background:0 0;border:0;grid-template-columns:10px 1fr;align-items:start;display:grid}.zeema-canvas .finding:hover{background:var(--bg)}.zeema-canvas .finding:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .finding.active{background:var(--bg);box-shadow:inset 2px 0 0 var(--accent)}.zeema-canvas .finding .dot{background:var(--muted);border-radius:50%;width:8px;height:8px;margin-top:6px}.zeema-canvas .finding.error .dot{background:var(--err)}.zeema-canvas .finding.warning .dot{background:var(--warn)}.zeema-canvas .finding-body{min-width:0}.zeema-canvas .finding-head{justify-content:space-between;align-items:baseline;gap:var(--sp-1);display:flex}.zeema-canvas .finding .rule-name{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted);overflow-wrap:anywhere;min-width:0}.zeema-canvas .finding.error .rule-name{color:var(--err)}.zeema-canvas .finding.warning .rule-name{color:var(--warn)}.zeema-canvas .finding .rule-link{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted);border:var(--border) solid var(--line);border-radius:var(--rc);white-space:nowrap;flex:none;padding:0 4px;text-decoration:none}.zeema-canvas .finding .rule-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.zeema-canvas .finding .rule-link:focus-visible{box-shadow:var(--ring-focus);outline:none}.zeema-canvas .finding .msg{overflow-wrap:anywhere;font-size:.9em;line-height:1.4}.zeema-canvas .finding .subject{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted)}.zeema-canvas .finding:hover .msg,.zeema-canvas .finding:hover .rule-name{text-decoration:none}.zeema-canvas .field.hl{box-shadow:inset 2px 0 0 var(--accent);border-radius:var(--rc);padding:2px 0 2px var(--sp-1);margin-left:calc(var(--sp-1) * -1)}.zeema-canvas .field.hl .field-name{color:var(--accent)}.zeema-canvas .field.hl input,.zeema-canvas .field.hl select{border-color:var(--accent);animation:1.1s ease-out 2 zeema-field-pulse}@keyframes zeema-field-pulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent)}}@media (prefers-reduced-motion:reduce){.zeema-canvas .field.hl input,.zeema-canvas .field.hl select{animation:none}}.zeema-canvas .rule-hint{justify-content:space-between;align-items:center;gap:var(--sp-1);margin:var(--sp-0-5) 0 var(--sp-1);padding:calc(var(--p) * .5) var(--sp-1);border:var(--border) solid var(--line);border-left:2px solid var(--accent);border-radius:var(--rc);font-size:var(--fs-small);color:var(--muted);display:flex}.zeema-canvas .rule-hint .btn{flex:none}.zeema-menu{z-index:50;background:var(--panel);border:var(--border) solid var(--line);border-radius:var(--rc);min-width:190px;box-shadow:var(--shadow-float);font-size:var(--fs-small);padding:4px;position:fixed}.zeema-menu button{justify-content:space-between;gap:var(--sp-2);width:100%;color:var(--ink);border-radius:calc(var(--rc) - 2px);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;padding:5px 10px;display:flex}.zeema-menu button:hover:not([disabled]){background:var(--accent);color:var(--accent-ink)}.zeema-menu .hint{font-family:var(--mono);color:var(--muted);font-size:var(--fs-micro)}.zeema-menu button:hover:not([disabled]) .hint{color:inherit;opacity:.8}.zeema-menu button[disabled]{opacity:.5;cursor:default}.zeema-menu button.danger{color:var(--err)}.zeema-menu button.menu-switch{align-items:center}.zeema-menu button.menu-switch:hover:not([disabled]){background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink)}.zeema-menu .menu-text{flex-direction:column;min-width:0;display:flex}.zeema-menu .menu-hint{font-size:var(--fs-micro);color:var(--muted)}.zeema-menu button{align-items:center}.zeema-menu .menu-chevron{color:var(--muted);width:12px;height:12px;margin-right:-4.5px;display:inline-flex}.zeema-menu .menu-sub .menu-chevron>svg{width:12px;height:12px}.zeema-menu button:focus-visible:not([disabled]){background:var(--accent);color:var(--accent-ink);outline:none}.zeema-menu button:focus-visible:not([disabled]) .hint,.zeema-menu button:focus-visible:not([disabled]) .menu-hint,.zeema-menu button:focus-visible:not([disabled]) .menu-chevron,.zeema-menu button:hover:not([disabled]) .menu-hint,.zeema-menu button:hover:not([disabled]) .menu-chevron{color:inherit;opacity:.8}.zeema-menu button.menu-switch:focus-visible:not([disabled]){background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink);outline:2px solid var(--accent);outline-offset:-2px}.zeema-menu button.is-open:not(:hover):not(:focus-visible){background:color-mix(in srgb, var(--ink) 8%, transparent)}.zeema-menu.zeema-flyout{z-index:1}.zeema-menu .sep{background:var(--line);height:1px;margin:4px 2px}.zeema-canvas .panel-head{justify-content:space-between;align-items:center;gap:var(--sp-1);margin:0 0 var(--sp-0-5);display:flex}.zeema-canvas .panel-head h2{margin:0}.zeema-canvas .panel-head .pill-btn{width:28px;height:28px}.zeema-canvas .badge-row-value{align-items:center;gap:var(--sp-1);min-width:0;display:flex}.zeema-canvas .badge-row-value .badge-now{font-weight:var(--fw-regular);flex:1;font-size:.9em}.zeema-canvas .badge-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zeema-canvas .badge-row-value .btn{flex:none}.zeema-canvas .badge-pop-inline{width:auto;max-width:none;margin:0 0 var(--sp-1);box-shadow:none;border:var(--border) solid var(--float-line);border-radius:var(--r-card);background:var(--panel);position:static}.zeema-canvas .badge-pop .menu-item{box-sizing:border-box;border-radius:var(--r-inner);align-items:center;min-height:32px;padding:0 10px;display:flex}.zeema-canvas .badge-pop .menu-item:hover:not(:disabled),.zeema-canvas .badge-pop .menu-item:focus-visible{background:var(--accent);color:var(--accent-ink);outline:none}.zeema-canvas .badge-pop .menu-item.is-current{background:var(--on-fill);font-weight:var(--fw-medium)}.zeema-canvas .multi-panel{margin-bottom:var(--sp-2);padding-bottom:var(--sp-1);border-bottom:var(--border) solid var(--line)}.zeema-canvas .edge-set,.zeema-canvas .node-set{margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:var(--border) solid var(--line)}.zeema-canvas .multi-chips{margin:2px 0 var(--sp-1);flex-wrap:wrap;gap:4px;display:flex}.zeema-canvas .multi-chip{border:var(--border) solid var(--line);border-radius:var(--r-round);font-size:var(--fs-meta);color:var(--muted);padding:1px 8px}.zeema-canvas .strength-field:disabled .strength-seg{cursor:not-allowed;opacity:.5}.zeema-canvas .multi-clear{grid-column:2;justify-self:start;margin-top:6px}.zeema-canvas .multi-hint{margin:var(--sp-1) 0 0}.zeema-canvas .hover-card{z-index:45;pointer-events:none;background:var(--float-bg);border:var(--border) solid var(--float-line);border-radius:var(--r-card);max-width:320px;box-shadow:var(--float-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-size:var(--fs-small);animation:zeema-float-up var(--dur) var(--ease);grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:4px 10px;padding:10px 12px;line-height:1.35;display:grid;position:fixed}.zeema-canvas .hover-card .hc-label{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.zeema-canvas .hover-card .hc-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.zeema-canvas .hover-card .hc-name{font-weight:var(--fw-semibold);white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.zeema-canvas .hover-card .hc-mono{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted)}.zeema-canvas .hover-card .hc-rule{border-top:var(--border) solid var(--float-line);grid-column:1/-1;height:0;margin:2px 0}.zeema-canvas .hover-card .hc-wide{white-space:normal;grid-column:1/-1}.zeema-canvas .hover-card .hc-pill{border:var(--border) solid var(--warn);color:var(--warn);font-size:var(--fs-micro);font-weight:var(--fw-semibold);border-radius:999px;margin-left:6px;padding:0 6px}.zeema-canvas .hover-card .hc-thumb{object-fit:cover;object-position:left top;border:var(--border) solid var(--float-line);background:var(--panel);border-radius:6px;grid-column:1/-1;width:100%;min-width:240px;height:120px;margin-top:4px}.zeema-canvas .node-box .ref-glyph{cursor:pointer}.zeema-canvas .node-box .ref-glyph:hover circle{stroke-width:1.5px}@media (prefers-reduced-motion:reduce){.zeema-canvas .hover-card{animation:none}}.zeema-menu.group-picker{flex-direction:column;width:300px;max-width:calc(100vw - 16px);display:flex}.zeema-menu.group-picker .gp-search{box-sizing:border-box;width:100%;margin:0 0 4px}.zeema-menu.group-picker .gp-list{overscroll-behavior:contain;max-height:280px;overflow:auto}.zeema-menu.group-picker .gp-empty{padding:5px 10px}.zeema-menu.group-picker .gp-row{align-items:baseline;gap:var(--sp-1);border-radius:calc(var(--rc) - 2px);cursor:pointer;padding:5px 10px;display:flex}.zeema-menu.group-picker .gp-row.is-active{background:var(--accent);color:var(--accent-ink)}.zeema-menu.group-picker .gp-row.gp-none{border-top:1px solid var(--line);border-radius:0 0 calc(var(--rc) - 2px) calc(var(--rc) - 2px);margin-top:4px}.zeema-menu.group-picker .gp-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.zeema-menu.group-picker .gp-sub,.zeema-menu.group-picker .gp-current{font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.zeema-menu.group-picker .gp-current{border:var(--border) solid var(--line);border-radius:var(--r-round);padding:0 5px}.zeema-menu.group-picker .gp-row.is-active .gp-sub,.zeema-menu.group-picker .gp-row.is-active .gp-current{color:inherit;opacity:.8}.zeema-canvas .scene-wrap{--guide:var(--accent)}.zeema-canvas .guides{pointer-events:none}.zeema-canvas .guide{stroke:var(--guide);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;fill:none}.switch-row{cursor:pointer}.switch-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.switch-text{flex-direction:column;min-width:0;display:flex}.switch-hint{font-size:var(--fs-micro);color:var(--muted)}.confirm-dialog.ref-preview{width:min(1100px,100vw - 32px);max-height:calc(100vh - 32px)}.ref-preview-panel{flex-direction:column;max-height:calc(100vh - 34px);display:flex}.ref-preview-head{border-bottom:var(--border) solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.ref-preview-head .confirm-title{font-size:var(--fs-body,1rem)}.ref-preview-gap{flex:1}.ref-preview-body{min-height:160px;padding:16px;overflow:auto}.ref-preview-body img{max-width:none;display:block}.zeema-canvas .ref-picker{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.zeema-canvas .ref-hits{max-height:240px;margin:0;padding:0;list-style:none;overflow:auto}.zeema-canvas .ref-hits button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;display:block}.zeema-canvas .ref-hits button:hover,.zeema-canvas .ref-hits button:focus-visible{background:var(--bg)}.zeema-canvas .ref-design{justify-content:space-between;align-items:center;gap:6px;display:flex}.zeema-canvas .ref-design .mono{overflow-wrap:anywhere;min-width:0}.zeema-canvas .ref-design .btn{flex:none}.zeema-canvas .ref-error{color:var(--err);margin:0}.zeema-canvas .ref-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.zeema-canvas .node-box.selected.leaving rect.body,.zeema-canvas .frame.selected.leaving,.zeema-canvas .frame[data-tint].selected.leaving{stroke:var(--warn)}
