.splash-cursor{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.splash-cursor[data-contained]{position:absolute}.splash-cursor__canvas{display:block;width:100%;height:100%;pointer-events:none}:root{color-scheme:dark;--bg: #000000;--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .07);--surface-3: rgba(255, 255, 255, .1);--glass: #000000;--glass-strong: #000000;--edge: rgba(255, 255, 255, .14);--edge-soft: rgba(255, 255, 255, .1);--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .22);--text: #eef1f7;--muted: #a8b1c2;--dim: #79839a;--accent: #818cf8;--accent-soft: rgba(129, 140, 248, .16);--accent-strong: #a5b4fc;--accent-2: #2dd4bf;--ok: #34d399;--warn: #fbbf24;--danger: #fb7185;--radius: 18px;--radius-sm: 10px;--shadow-1: 0 18px 44px -32px rgba(0, 0, 0, .9);--shadow-2: 0 34px 80px -42px rgba(0, 0, 0, .95);--shadow-3: 0 46px 110px -44px rgba(0, 0, 0, 1);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: "Inter", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}#root{height:100%}.app{position:relative;height:100%;isolation:isolate}.graph{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;display:block;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.graph:active{cursor:grabbing}.topbar{position:absolute;top:12px;left:14px;right:14px;z-index:5;height:58px;display:flex;align-items:center;gap:18px;padding:0 16px 0 20px;border-radius:16px;border:1px solid var(--edge);background:var(--glass);box-shadow:var(--shadow-1)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand__mark{width:62px;height:auto;aspect-ratio:640 / 288;display:block;flex:none}.brand__text{min-width:0}.brand h1{margin:0;font-size:15px;font-weight:650;letter-spacing:-.015em;white-space:nowrap}.brand__sub{margin:1px 0 0;font:500 11px/1.3 var(--mono);color:var(--dim);white-space:nowrap}.search{display:flex;align-items:center;gap:8px;flex:0 1 340px;margin:0 auto;padding:0 12px;height:36px;border-radius:11px;border:1px solid var(--line);background:#ffffff0d;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.search:focus-within{border-color:#818cf899;background:#ffffff14;box-shadow:0 0 0 4px #818cf824}.search svg{width:15px;height:15px;color:var(--dim);flex:none}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:13px}.search input::placeholder{color:var(--dim)}.topbar__actions{display:flex;align-items:center;gap:10px}.status-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;color:var(--muted);font:500 11.5px/1 var(--mono);cursor:pointer;white-space:nowrap;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease,background .16s ease}.status-pill:hover{border-color:var(--line-strong);background:#ffffff14;color:var(--text);box-shadow:var(--shadow-1)}.status-pill__dot{width:7px;height:7px;border-radius:50%;background:var(--dim);box-shadow:0 0 0 3px #ffffff0f}.status-pill[data-health=good] .status-pill__dot{background:var(--ok);box-shadow:0 0 0 3px #34d3992e,0 0 10px #34d3998c}.status-pill[data-health=warn] .status-pill__dot{background:var(--warn);box-shadow:0 0 0 3px #fbbf242e,0 0 10px #fbbf2480}.status-pill[data-health=bad] .status-pill__dot{background:var(--danger);box-shadow:0 0 0 3px #fb71852e,0 0 10px #fb718580}.status-pill.is-checking .status-pill__dot{animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3;transform:scale(.72)}}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:11px;border:1px solid var(--line);background:#ffffff0a}.segmented__btn{border:1px solid transparent;background:transparent;color:var(--muted);padding:6px 13px;border-radius:8px;font-size:12.5px;font-weight:550;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.segmented__btn:hover{color:var(--text)}.segmented__btn.is-active{background:#ffffff1f;border-color:#ffffff29;color:#fff;box-shadow:inset 0 1px #ffffff1f}.account{position:relative}.account summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#ffffff0d}.account summary::-webkit-details-marker{display:none}.account summary:hover{border-color:var(--line-strong);background:#ffffff17}.account__avatar{font:600 11px/1 var(--mono);color:var(--accent);text-transform:uppercase}.account__menu{position:absolute;right:0;top:calc(100% + 10px);width:210px;padding:12px;border-radius:14px;border:1px solid var(--edge);background:var(--glass-strong);box-shadow:var(--shadow-2)}.account__who{margin:0 0 10px;font-size:12px;color:var(--muted);word-break:break-word}.account__link{display:block;width:100%;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);font-family:inherit;font-size:12.5px;text-align:center;text-decoration:none;cursor:pointer}.account__link:hover{border-color:#fb71856b;background:#fb71851f;color:var(--danger)}.panel{position:absolute;top:82px;bottom:20px;z-index:3;width:288px;padding:16px;border-radius:var(--radius);border:1px solid var(--edge);background:var(--glass);box-shadow:var(--shadow-2);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.panel::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:8px}.panel--left{left:14px}.panel.is-hidden{display:none}.panel--right{right:14px;width:348px}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.kicker{font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.panel__count{font:500 11px/1 var(--mono);color:var(--muted);padding:3px 7px;border-radius:999px;background:#ffffff17}.panel__title{margin:0 0 12px;font-size:21px;font-weight:650;letter-spacing:-.025em;line-height:1.22;word-break:break-word}.title-input{width:100%;margin:0 0 12px;padding:3px 6px;font-size:21px;font-weight:650;letter-spacing:-.025em;border:1px solid transparent;border-radius:9px;background:transparent}.title-input:hover{border-color:var(--line)}.title-input:focus{outline:0;border-color:#818cf899;background:#ffffff0d;box-shadow:0 0 0 4px #818cf824}.icon-btn{display:grid;place-items:center;width:24px;height:24px;padding:0;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--dim);font-size:12px;cursor:pointer}.icon-btn:hover{color:var(--text);background:#ffffff12;border-color:var(--line)}.muted{color:var(--muted)}.small{font-size:12px}.note{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.status-block{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;margin-bottom:16px;border-radius:12px;border:1px solid var(--line);background:#ffffff0d}.status-block__dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--dim);flex:none}.status-block__text{display:flex;flex-direction:column;gap:2px;min-width:0}.status-block__text strong{font:500 12.5px/1.4 var(--mono);color:var(--text)}.status-block__flag{font-size:11.5px;color:var(--danger)}.status-block[data-state=up] .status-block__dot{background:var(--ok);box-shadow:0 0 0 4px #34d3992e,0 0 12px #34d39980}.status-block[data-state=auth] .status-block__dot{background:var(--warn);box-shadow:0 0 0 4px #fbbf242e,0 0 12px #fbbf2473}.status-block[data-state=down] .status-block__dot,.status-block[data-state=error] .status-block__dot{background:var(--danger);box-shadow:0 0 0 4px #fb71852e,0 0 12px #fb718573}.field{display:block;margin-bottom:14px}.field__label{display:block;margin-bottom:6px;font:600 10px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}.field input[type=text],.field input:not([type]),.field textarea,.field select{width:100%;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#ffffff0d;font-size:13px;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.field input:focus,.field textarea:focus,.field select:focus{border-color:#818cf899;background:#ffffff14;box-shadow:0 0 0 4px #818cf824}.field textarea{resize:vertical;min-height:64px;line-height:1.55}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.link{color:var(--accent-strong);text-decoration:none;font-size:13px;word-break:break-all}.link:hover{text-decoration:underline}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:11.5px;color:var(--text);background:#ffffff0d}.chip--quiet{color:var(--muted);font-family:var(--mono);font-size:11px}.chip__dot,.rel-go__dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--c, var(--dim)) 86%,#ffffff 14%);box-shadow:0 0 8px color-mix(in srgb,var(--c, var(--dim)) 60%,transparent);flex:none}.relations{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.relations li{display:flex;align-items:center;gap:8px}.rel-go{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.rel-go:hover{border-color:var(--line);background:#ffffff0f}.rel-go__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--text);font-size:12.5px;font-weight:550;text-decoration:none;cursor:pointer;box-shadow:inset 0 1px #ffffff0f;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.btn:hover{border-color:#ffffff47;background:#ffffff1a}.btn:active{transform:translateY(.5px)}.btn--primary{border-color:#ffffff38;background:linear-gradient(180deg,#6366f1,#4f46e5);color:#fff;box-shadow:inset 0 1px #ffffff40,0 12px 28px -16px #6366f1f2}.btn--primary:hover{background:linear-gradient(180deg,#7c7ff5,#5b52ea);border-color:#ffffff52}.btn--ghost{background:#ffffff08;border-style:dashed;border-color:#ffffff38;color:var(--muted);box-shadow:none}.btn--ghost:hover{color:var(--accent-strong);border-color:#818cf880;background:var(--accent-soft)}.btn--danger-ghost{border-color:var(--line);background:#ffffff0a;color:var(--danger);box-shadow:none}.btn--danger-ghost:hover{background:#fb71851f;border-color:#fb718573}.btn--full{width:100%;margin-top:8px}.stack{display:block}.panel__divider{height:1px;margin:16px 0;background:var(--line)}.seg{display:flex;gap:4px;padding:3px;border-radius:11px;border:1px solid var(--line);background:#ffffff0a}.seg__btn{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;padding:8px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:11.5px;font-weight:550;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.seg__btn em{font:400 9.5px/1 var(--mono);font-style:normal;color:var(--dim)}.seg__btn:hover:not(:disabled){color:var(--text);background:#ffffff12}.seg__btn.is-active{background:#ffffff1c;border-color:#ffffff2e;color:var(--accent-strong);box-shadow:inset 0 1px #ffffff1a}.seg__btn.is-active em{color:#a5b4fcbf}.seg__btn:disabled{cursor:default}.seg--grid{display:grid;grid-template-columns:1fr 1fr}.seg--grid .seg__btn{align-items:flex-start;text-align:left;padding:9px 10px;line-height:1.35}.endpoints{display:flex;align-items:center;gap:8px;margin-bottom:14px}.endpoint{flex:1;min-width:0;display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);font-size:12px;cursor:pointer;overflow:hidden}.endpoint span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.endpoint:hover{border-color:var(--line-strong);background:#ffffff17}.endpoints__arrow{color:var(--dim);font-family:var(--mono);flex:none}.grow{display:flex;align-items:center;gap:8px;padding:6px;border-radius:10px;transition:background .14s ease,opacity .14s ease}.grow:hover{background:#ffffff0f}.grow.is-hidden{opacity:.45}.eye{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:var(--dim);cursor:pointer;flex:none}.eye:hover{color:var(--text)}.eye svg{width:14px;height:14px}.gdot{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--c, var(--dim)) 86%,#ffffff 14%);box-shadow:0 0 9px color-mix(in srgb,var(--c, var(--dim)) 60%,transparent);flex:none}.gcolor{width:18px;height:18px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:transparent;cursor:pointer;flex:none}.gcolor::-webkit-color-swatch-wrapper{padding:2px}.gcolor::-webkit-color-swatch{border:0;border-radius:3px}.gname{flex:1;min-width:0;border:1px solid transparent;background:transparent;font-size:12.5px;padding:2px 4px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input.gname:hover{background:#ffffff0d;border-color:var(--line)}input.gname:focus{outline:0;background:#00000059;border-color:#818cf88c}.gname--static{color:var(--muted)}.gcount{font:500 10.5px/1 var(--mono);color:var(--dim);flex:none}.mini{border:0;background:transparent;color:var(--dim);font-size:11px;padding:2px 4px;border-radius:5px;cursor:pointer;flex:none}.mini:hover{color:var(--danger);background:#fb718524}.legend{display:flex;flex-direction:column;gap:9px;margin:14px 0;padding:13px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a}.legend__row{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.legend__dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--dim)}.legend__dot[data-state=up]{background:var(--ok)}.legend__dot[data-state=auth]{background:var(--warn)}.legend__dot[data-state=down]{background:var(--danger)}.legend__line{width:22px;height:1.5px;flex:none;background:#ffffff57}.legend__line--arrow{background:linear-gradient(to right,#ffffff38,#fff9)}.hud{position:absolute;left:50%;bottom:22px;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:12px}.hud__btn{padding:8px 13px;border-radius:10px;border:1px solid var(--edge);background:var(--glass);box-shadow:var(--shadow-1);color:var(--text);font-size:12px;font-weight:550;cursor:pointer}.hud__btn:hover{border-color:var(--line-strong);background:#ffffff1a}.hud__hint{font:500 11px/1.45 var(--mono);color:var(--dim);max-width:330px;padding:6px 10px;border-radius:8px;border:1px solid var(--edge-soft);background:#000}.toast{position:fixed;left:50%;bottom:78px;transform:translate(-50%);z-index:9;max-width:min(460px,calc(100vw - 40px));padding:11px 16px;border-radius:12px;border:1px solid var(--edge);background:var(--glass-strong);color:var(--text);font-size:12.5px;box-shadow:var(--shadow-3)}.toast[data-kind=error]{border-color:#fb718573;color:#fecdd3}.gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#000000d1}.gate__card{width:min(420px,100%);padding:30px 28px 26px;text-align:center;border-radius:22px;border:1px solid var(--edge);background:var(--glass-strong);box-shadow:var(--shadow-3)}.gate__logo{display:block;width:176px;height:auto;aspect-ratio:640 / 288;margin:0 auto 18px}.gate__card h2{margin:10px 0;font-size:23px;font-weight:650;letter-spacing:-.025em}.gate__card p{margin:0 0 20px;color:var(--muted);font-size:13.5px;line-height:1.6}.gate__input{width:100%;margin-bottom:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00000052;color:var(--text);font-family:inherit;font-size:14px;outline:0}.gate__input:focus{border-color:#818cf8a6;background:#00000073;box-shadow:0 0 0 4px #818cf829}.gate__error{min-height:17px;margin:0 0 12px;color:var(--danger);font-size:12.5px}.field__count{margin-left:6px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--muted)}.connections{margin:0 0 8px;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.connection{display:flex;align-items:center;gap:4px}.connection__go{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:7px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-family:inherit;font-size:12.5px;text-align:left;cursor:pointer}.connection__go:hover{border-color:var(--line);background:#ffffff0f}.connection__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection__arrow{font-family:var(--mono);font-size:11px;color:var(--dim)}.connection__drop{flex:none;width:26px;height:26px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--dim);font-family:inherit;font-size:12px;line-height:1;cursor:pointer}.connection__drop:hover{border-color:#fb718561;background:#fb71851f;color:var(--danger)}.link-picker{width:100%;margin:2px 0 8px;padding:8px 10px;border-radius:10px;border:1px dashed rgba(255,255,255,.22);background:#ffffff0a;color:var(--muted);font-family:inherit;font-size:12.5px;cursor:pointer}.link-picker:hover,.link-picker:focus{border-style:solid;border-color:#818cf880;color:var(--text);outline:none}.panel .btn--tight{padding:7px 10px;font-size:12.5px}.node{cursor:pointer}.node__halo{fill:var(--group, var(--dim));opacity:.2;filter:blur(12px);transition:opacity .2s ease}.node__ring{fill:none;stroke:color-mix(in srgb,var(--group, var(--dim)) 78%,#ffffff 22%);stroke-width:1.2;stroke-opacity:.55;transition:stroke-opacity .2s ease}.node__body{fill:#0c0e14eb;stroke:color-mix(in srgb,var(--group, var(--dim)) 80%,#ffffff 20%);stroke-width:2;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6));transition:filter .2s ease,stroke-width .2s ease}.node__initials{fill:#e8ebf3;font:600 13px/1 var(--mono);letter-spacing:.04em;pointer-events:none}.node__label{fill:#d5dae6;font-size:11.5px;font-weight:550;letter-spacing:.005em;pointer-events:none;paint-order:stroke;stroke:#050507;stroke-width:4px;stroke-linejoin:round}.node__dot-shell{fill:#0b0d12;stroke:#ffffff2e;stroke-width:1}.node__dot{fill:var(--state, var(--dim));transition:fill .2s ease}.node[data-state=up]{--state: #34d399}.node[data-state=auth]{--state: var(--warn)}.node[data-state=down],.node[data-state=error]{--state: var(--danger)}.node[data-state=up] .node__dot{filter:drop-shadow(0 0 6px rgba(52,211,153,.75))}.node[data-state=down] .node__dot,.node[data-state=error] .node__dot{filter:drop-shadow(0 0 7px rgba(251,113,133,.75))}.node[data-blocked=true] .node__body{stroke:var(--danger);stroke-dasharray:5 4}.node[data-blocked=true] .node__ring{stroke:var(--danger);stroke-opacity:.5;stroke-dasharray:2 6}.node:hover .node__halo{opacity:.38}.node.is-selected .node__halo{opacity:.5}.node.is-selected .node__body{stroke-width:2.6;filter:drop-shadow(0 14px 26px rgba(0,0,0,.7))}.node.is-selected .node__ring{stroke-opacity:.95;stroke-dasharray:3 4}.node.is-connect-source .node__ring{stroke-opacity:1;stroke-width:2;animation:spin 5s linear infinite;transform-origin:center}.node.is-connect-source .node__halo{opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}.node.is-dragging .node__body{stroke-width:2.4}.node.is-dim{opacity:.24}.node.is-hidden{opacity:0;pointer-events:none}.node,.edge{transition:opacity .2s ease}.edge__line{fill:none;stroke:#ffffff47;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke-width .16s ease}.edge__hit{fill:none;stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:stroke}.edge.is-hover .edge__line{stroke-width:1.9}.edge.is-selected .edge__line{stroke-width:2.2}.edge__label{fill:#cbd5e1;font:500 10px/1 var(--mono);letter-spacing:.02em;opacity:0;pointer-events:none;paint-order:stroke;stroke:#050507;stroke-width:3.5px;stroke-linejoin:round;transition:opacity .15s ease}.edge.is-selected .edge__label,.edge.is-hover .edge__label{opacity:1}.edge.is-dim{opacity:.2}.edge.is-hidden{opacity:0;pointer-events:none}@media(max-width:1180px){.search{flex-basis:240px}.panel--left{width:250px}.panel--right{width:316px}}@media(max-width:940px){body{font-size:13.5px}.topbar{height:auto;flex-wrap:wrap;gap:10px;padding:12px 14px}.search{order:3;flex:1 0 100%;margin:0}.status-pill span:last-child{display:none}.panel{top:auto;bottom:0;width:100%;max-height:46vh;border-radius:20px 20px 0 0;border-bottom:0}.panel--left{left:0;right:0;bottom:0;width:100%;display:none}.panel--right{right:0;left:0;width:100%}.panel--right:empty{display:none}.hud{bottom:calc(46vh + 18px);left:50%;transform:translate(-50%)}.hud__hint{display:none}}
