:root{--graph-ink:#18181b;--graph-text-1:#3f3f46;--graph-text-2:#52525b;--graph-text-3:#71717a;--graph-text-4:#a1a1aa;--graph-surface:#fff;--graph-surface-sunk:#fafafa;--graph-surface-hover:#f4f4f5;--graph-line:#e4e4e7;--graph-line-strong:#d4d4d8;--graph-tint:#18181b04;--graph-tint-strong:#18181b05;--graph-shadow:#0000000a;--graph-button:#18181b;--graph-button-hover:#3f3f46;--graph-button-text:#fff;--graph-accent:#7c3aed;--graph-accent-strong:#6d28d9;--graph-done:#16a34a;--graph-bad:#dc2626;--graph-busy:#2563eb;--graph-warn:#d97706}.dark{--graph-ink:#fafafa;--graph-text-1:#d4d4d8;--graph-text-2:#a1a1aa;--graph-text-3:#8b8b94;--graph-text-4:#63636b;--graph-surface:#1c1c1f;--graph-surface-sunk:#161618;--graph-surface-hover:#26262a;--graph-line:#2e2e33;--graph-line-strong:#3f3f46;--graph-tint:#ffffff04;--graph-tint-strong:#ffffff06;--graph-shadow:#0000004d;--graph-button:#fafafa;--graph-button-hover:#d4d4d8;--graph-button-text:#18181b;--graph-accent:#a78bfa;--graph-accent-strong:#c4b5fd;--graph-done:#4ade80;--graph-bad:#f87171;--graph-busy:#60a5fa;--graph-warn:#fbbf24}.viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;inset:0;overflow:hidden}.viewport:active{cursor:grabbing}.viewport canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.graph-marquee{border:1px solid var(--graph-accent);background:color-mix(in srgb, var(--graph-accent) 8%, transparent);pointer-events:none;border-radius:4px;position:absolute;top:0;left:0}.graph-marquee[hidden]{display:none}.graph-world{transform-origin:0 0;position:absolute;top:0;left:0}.graph-shell{transform-origin:0 0;color:var(--graph-ink);cursor:pointer;border-radius:24px;position:absolute;top:0;left:0}.graph-shell[data-selected=true]>*{outline:4px solid var(--graph-accent);outline-offset:6px}.graph-shell[data-selected=false]:hover>:not(.graph-port){outline:4px solid color-mix(in srgb, var(--graph-accent) 40%, transparent);outline-offset:6px}.graph-shell[data-selected=preview]>*{outline:4px dashed color-mix(in srgb, var(--graph-accent) 60%, transparent);outline-offset:6px}.graph-shell-frame,.graph-shell-section{pointer-events:none}.graph-section-box{border:2px solid var(--graph-line);background:var(--graph-tint);border-radius:64px;height:100%}.graph-card{--unit:min(calc(var(--w) * .1), calc(var(--h) * .18));justify-content:center;align-items:center;gap:calc(var(--unit) * .2);height:100%;padding:calc(var(--unit) * .5);border-radius:calc(var(--unit) * .4);background:var(--graph-surface);border:calc(var(--unit) * .05) solid var(--graph-line);text-align:center;flex-direction:column;display:flex}.graph-card-icon svg{width:calc(var(--unit) * .9);height:calc(var(--unit) * .9)}.graph-card-label{font-size:var(--unit);letter-spacing:-.02em;white-space:nowrap;font-weight:700;line-height:1}.graph-card-detail{font-size:calc(var(--unit) * .42);color:var(--graph-text-2)}.graph-card-action{margin-top:calc(var(--unit) * .3);padding:calc(var(--unit) * .18) calc(var(--unit) * .45);border-radius:calc(var(--unit) * .16);background:var(--graph-button);color:var(--graph-button-text);font:inherit;font-size:calc(var(--unit) * .36);cursor:pointer;border:0;font-weight:600}.graph-card-action:hover{background:var(--graph-button-hover)}.graph-card-action:disabled{opacity:.6;cursor:default}.graph-frame-box{border:4px dashed var(--graph-line-strong);background:var(--graph-tint-strong);border-radius:48px;height:100%}.graph-tile{background:var(--graph-surface);border:1px solid var(--graph-line);height:100%;box-shadow:0 1px 2px var(--graph-shadow);border-radius:14px;align-items:center;gap:14px;padding:0 18px;display:flex}.graph-tile-icon{width:22px;height:22px;color:var(--graph-text-3);flex:none}.graph-tile-text{flex-direction:column;flex:1;min-width:0;display:flex}.graph-tile-label{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.graph-tile-detail{color:var(--graph-text-3);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.graph-shell-loading{pointer-events:none}.graph-tile-loading{animation:1.2s ease-in-out infinite alternate graph-loading}.graph-loading-bar{background:var(--graph-line);border-radius:6px;height:12px;display:block}.graph-tile-loading .graph-tile-icon{height:22px}@keyframes graph-loading{0%{opacity:1}to{opacity:.45}}.graph-tile-more{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--graph-surface-sunk);border-style:dashed}.graph-tile-more:hover{background:var(--graph-surface-hover)}.graph-group-head{align-items:center;gap:32px;margin:40px 56px 0;display:flex}.graph-group-title{pointer-events:auto;cursor:pointer;align-items:center;gap:24px;min-width:0;display:inline-flex}.graph-group-icon svg{width:64px;height:64px;display:block}.graph-group-label{white-space:nowrap;font-size:72px;font-weight:700;line-height:1}.graph-group-detail{color:var(--graph-text-3);white-space:nowrap;font-size:32px;font-weight:500}.graph-section-box .graph-group-title{color:var(--graph-text-2)}.graph-section-box .graph-group-icon svg{width:48px;height:48px}.graph-section-box .graph-group-label{font-size:56px;font-weight:600}.graph-frame-action{border:3px solid var(--graph-line-strong);background:var(--graph-surface);font:inherit;color:inherit;pointer-events:auto;cursor:pointer;border-radius:999px;padding:10px 28px;font-size:32px;font-weight:600}.graph-frame-action:hover{background:var(--graph-surface-hover)}.graph-connector{background:var(--graph-surface);border:2px solid var(--graph-line);height:100%;box-shadow:0 1px 2px var(--graph-shadow);border-radius:32px;align-items:center;gap:32px;padding:0 44px;display:flex}.graph-connector-icon{width:88px;height:88px}.graph-connector-text{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.graph-connector-label{white-space:nowrap;font-size:44px;font-weight:700;line-height:1.1}.graph-connector-detail{color:var(--graph-text-3);white-space:nowrap;align-items:center;gap:12px;font-size:24px;display:flex}.graph-connector-dot{background:#22c55e;border-radius:50%;flex:none;width:14px;height:14px}.graph-connector[data-status=pending] .graph-connector-dot{background:#f59e0b}.graph-connector[data-status=failing] .graph-connector-dot{background:#ef4444}.graph-connector[data-status=off]{opacity:.6}.graph-connector[data-status=off] .graph-connector-dot,.graph-connector[data-status=none] .graph-connector-dot{background:var(--graph-text-4)}.graph-connector-action{background:var(--graph-button);color:var(--graph-button-text);font:inherit;cursor:pointer;border:0;border-radius:12px;align-self:flex-start;margin-top:6px;padding:8px 22px;font-size:22px;font-weight:600}.graph-connector-action:hover{background:var(--graph-button-hover)}.graph-connector-action:disabled{opacity:.6;cursor:default}.graph-add{border:3px dashed var(--graph-line-strong);background:var(--graph-surface-sunk);width:100%;height:100%;color:var(--graph-text-1);font:inherit;cursor:pointer;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.graph-add:hover{background:var(--graph-surface-hover)}.graph-add-icon{width:48px;height:48px}.graph-add-label{font-size:32px;font-weight:600}.graph-add-detail{color:var(--graph-text-3);font-size:22px}.graph-session[data-status=done] .graph-tile-icon{color:var(--graph-done)}.graph-session[data-status=failed] .graph-tile-icon{color:var(--graph-bad)}.graph-session[data-status=running] .graph-tile-icon{color:var(--graph-busy)}.graph-session[data-asking] .graph-tile-icon{color:var(--graph-warn)}.graph-incident[data-status=triggered] .graph-tile-icon{color:var(--graph-bad)}.graph-incident[data-status=acknowledged] .graph-tile-icon{color:var(--graph-warn)}.graph-session{position:relative}.graph-session[data-unread] .graph-tile-label{font-weight:600}.graph-unread{background:var(--graph-busy);border-radius:9999px;width:8px;height:8px;position:absolute;top:8px;right:8px}.zoom-slider{--track:var(--graph-shadow);--fill:#0000001a;--fill-active:#00000026;--handle:#000000e6;--text:#0009;--step:24px;background:var(--track);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;flex:1;min-width:0;height:28px;position:relative;overflow:hidden}.dark .zoom-slider{--track:#ffffff0d;--fill:#ffffff1a;--fill-active:#ffffff26;--handle:#ffffffe6;--text:#fff9}.zoom-slider-track{border-radius:inherit;outline:none;position:absolute;inset:0}.zoom-slider-track:focus-visible{box-shadow:inset 0 0 0 2px var(--ring)}.zoom-slider-fill{width:calc(var(--at,0) * 100%);background:var(--fill);pointer-events:none;transition:background .15s;position:absolute;inset:0 auto 0 0}.zoom-slider-handle,.zoom-slider-mark{pointer-events:none;border-radius:999px;position:absolute;top:50%}.zoom-slider-handle{left:max(5px, calc(var(--at,0) * 100% - 9px));background:var(--handle);opacity:0;width:3px;height:18px;transition:opacity .15s,transform .25s cubic-bezier(.34,1.4,.64,1);transform:translateY(-50%)scaleX(.25)}.zoom-slider:hover .zoom-slider-handle,.zoom-slider-track:focus-visible .zoom-slider-handle{opacity:.5;transform:translateY(-50%)}.zoom-slider[data-active] .zoom-slider-handle{opacity:.9;transform:translateY(-50%)}.zoom-slider[data-dodge]:hover .zoom-slider-handle,.zoom-slider[data-dodge] .zoom-slider-track:focus-visible .zoom-slider-handle,.zoom-slider[data-dodge][data-active] .zoom-slider-handle{opacity:.1;transform:translateY(-50%)scaleY(.75)}.zoom-slider-mark{left:calc(var(--one) * 100%);background:0 0;width:1px;height:8px;transition:background .2s;transform:translate(-50%,-50%)}.zoom-slider[data-active] .zoom-slider-fill,.zoom-slider:hover .zoom-slider-fill,.zoom-slider[data-active] .zoom-slider-mark{background:var(--fill-active)}.zoom-slider-step{width:var(--step);height:100%;color:var(--text);cursor:pointer;justify-content:center;align-items:center;transition:color .15s;display:flex}.zoom-slider-step[data-end=start]{position:absolute;top:0;left:0}.zoom-slider-ends{display:flex;position:absolute;top:0;bottom:0;right:0}.zoom-slider-step:hover,.zoom-slider-step:focus-visible{color:var(--handle);outline:none}.zoom-slider-step svg{width:14px;height:14px}.ref{background:color-mix(in oklab, var(--muted) 80%, transparent);color:var(--foreground);overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.375em;margin-inline:.05em;padding:.1em .35em;font-weight:500;text-decoration:none;transition:background-color .12s;display:inline}.ref:hover{background:var(--accent)}.ref:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.ref-lead{white-space:nowrap}.ref-command{font:inherit;font-family:var(--font-mono);cursor:pointer;text-align:start;border:0;font-size:.85em}.ref-icon{vertical-align:-.125em;width:1em;height:1em;color:var(--muted-foreground);margin-inline-end:.3em;display:inline-block}.ref-avatar{vertical-align:-.2em;background:var(--muted);border-radius:9999px;width:1.15em;height:1.15em}.graph-port{--port-dot:min(44px, calc(var(--port-gap,64px) * .6));top:50%;left:calc(100% - var(--port-dot) / 2);align-items:center;gap:calc(var(--port-dot) * .3);cursor:crosshair;pointer-events:auto;display:flex;position:absolute;translate:0 -50%}.graph-port-dot{width:var(--port-dot);height:var(--port-dot);border:calc(var(--port-dot) * .14) solid var(--graph-accent);background:var(--graph-surface);border-radius:9999px;flex:none}.graph-port-label{background:var(--graph-surface);color:var(--graph-text-2);font-size:min(26px, calc(var(--port-gap,64px) * .5));white-space:nowrap;border:.08em solid #0000;border-radius:9999px;padding:.1em .5em;font-weight:500;line-height:1.3}.graph-port[data-wired=true]>.graph-port-dot,.graph-port:hover>.graph-port-dot{background:var(--graph-accent)}.graph-port[data-wired=true]>.graph-port-label,.graph-port:hover>.graph-port-label{color:var(--graph-accent-strong)}.graph-port:hover>.graph-port-label{border-color:var(--graph-accent)}.graph-shell[data-takes=true]>:not(.graph-port){outline:4px dashed var(--graph-accent);outline-offset:10px}.graph-shell>.graph-port{outline:none}.graph-chips{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.graph-chip{transform-origin:0 0;border:2px solid var(--graph-line-strong);background:var(--graph-surface);color:var(--graph-text-2);white-space:nowrap;cursor:pointer;pointer-events:auto;border-radius:9999px;align-items:center;gap:12px;padding:8px 20px;font-size:24px;line-height:1.3;display:flex;position:absolute;top:0;left:0}.graph-chip[hidden]{display:none}.graph-chip-scope:not(:last-child):after{content:"·";color:var(--graph-text-4);margin-left:12px;font-weight:400}.graph-chip-scope{color:var(--graph-ink);flex-shrink:0;font-weight:600}.graph-chip[data-off=true]{color:var(--graph-text-4);border-style:dashed}.graph-chip:hover,.graph-chip[data-hovered=true],.graph-chip[data-selected=true]{border-color:var(--graph-accent);color:var(--graph-ink)}.graph-chip[data-thin=true]{width:clamp(calc(12px / var(--zoom,1)), 120px, calc(36px / var(--zoom,1)));height:clamp(calc(4px / var(--zoom,1)), 30px, calc(10px / var(--zoom,1)));border-width:clamp(calc(1px / var(--zoom,1)), 4px, calc(1.5px / var(--zoom,1)));border-color:var(--graph-text-4);padding:0}.graph-chip[data-thin=true]>*{display:none}.graph-chip[data-thin=true][data-bare=false]{background:var(--graph-text-4)}.graph-chip[data-thin=true]:hover,.graph-chip[data-thin=true][data-hovered=true],.graph-chip[data-thin=true][data-selected=true]{border-color:var(--graph-accent)}.graph-chip[data-thin=true][data-bare=false]:hover,.graph-chip[data-thin=true][data-bare=false][data-hovered=true],.graph-chip[data-thin=true][data-bare=false][data-selected=true]{background:var(--graph-accent)}
