.ac-root{--ac-client:#3554c7;--ac-client-bg:#eef3ff;--ac-service:#2f3640;--ac-service-bg:#f2f3f5;--ac-messaging:#5f3dc4;--ac-messaging-bg:#f3efff;--ac-auth:#2b7a3d;--ac-auth-bg:#eafaf0;--ac-data:#b5520f;--ac-data-bg:#fff3e4;--ac-external:#b0245a;--ac-external-bg:#fff0f5;--ac-ops:#0b7285;--ac-ops-bg:#e7f8f6}html.dark .ac-root{--ac-client:#9db0ff;--ac-client-bg:#1b2340;--ac-service:#d4d8de;--ac-service-bg:#23262c;--ac-messaging:#b9a3ff;--ac-messaging-bg:#251d3d;--ac-auth:#7fd497;--ac-auth-bg:#16301f;--ac-data:#ffad6b;--ac-data-bg:#36230f;--ac-external:#ff8db8;--ac-external-bg:#3a1726;--ac-ops:#66d9e8;--ac-ops-bg:#0f2f33}.ac-cat-client{--ac-c:var(--ac-client);--ac-c-bg:var(--ac-client-bg)}.ac-cat-service{--ac-c:var(--ac-service);--ac-c-bg:var(--ac-service-bg)}.ac-cat-messaging{--ac-c:var(--ac-messaging);--ac-c-bg:var(--ac-messaging-bg)}.ac-cat-auth{--ac-c:var(--ac-auth);--ac-c-bg:var(--ac-auth-bg)}.ac-cat-data{--ac-c:var(--ac-data);--ac-c-bg:var(--ac-data-bg)}.ac-cat-external{--ac-c:var(--ac-external);--ac-c-bg:var(--ac-external-bg)}.ac-cat-ops{--ac-c:var(--ac-ops);--ac-c-bg:var(--ac-ops-bg)}.ac-head{gap:.8rem;min-width:0;margin-bottom:1.1rem;display:grid}.ac-head>*{min-width:0}@media (min-width:900px){.ac-head{grid-template-columns:minmax(0,1fr) minmax(0,20rem);align-items:end}.ac-head-actions{grid-column:1/-1}}.ac-head .tk-field+.tk-field{margin-top:0}.ac-palette{margin-bottom:.75rem}.ac-palette-list{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.ac-pal{border:1px solid var(--line);background:var(--card);min-height:2rem;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;max-width:100%;padding:.2rem .7rem .2rem .55rem;font-size:12.5px;line-height:1.3;transition:border-color .2s,background .2s;display:inline-flex}.ac-pal:hover{border-color:var(--ac-c);background:var(--ac-c-bg)}.ac-pal svg{flex-shrink:0}.ac-pal span{overflow-wrap:anywhere;text-align:left}.ac-toolbar{margin-bottom:.6rem}.ac-hint{background:color-mix(in srgb, var(--primary) 28%, transparent);color:var(--ink);overflow-wrap:anywhere;border-radius:999px;padding:.25rem .7rem;font-size:13px}.ac-confirm{border:1px solid color-mix(in srgb, var(--danger) 50%, var(--line));background:color-mix(in srgb, var(--danger) 6%, var(--card));overflow-wrap:anywhere;border-radius:.8rem;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.6rem;padding:.5rem .7rem;font-size:14px;display:flex}.ac-workwrap{min-width:0;container-type:inline-size}.ac-work{gap:1rem;min-width:0;display:grid}.ac-work>*{min-width:0}@container (min-width:1100px){.ac-work{grid-template-columns:minmax(0,1fr) 300px}.ac-side{max-height:calc(100vh - 7rem);position:sticky;top:6rem;overflow:auto}}.ac-board{min-width:0;position:relative}.ac-board-wrap{min-width:0}.ac-zoom{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.ac-zoom-val{text-align:center;min-width:3.2rem;color:var(--muted)}.ac-svg{border:1px solid var(--line);background:var(--background);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:1rem;width:100%;height:540px;display:block}.ac-svg:active{cursor:grabbing}.ac-svg.is-connecting{cursor:crosshair}.ac-svg:focus{outline:none}@media (max-width:639px){.ac-svg{height:400px}}.ac-board-empty{text-align:center;width:min(26rem,85%);color:var(--muted);pointer-events:none;font-size:14px;line-height:1.55;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.ac-help{margin-top:.5rem}.ac-side{border:1px solid var(--line);background:var(--card);border-radius:1rem;align-self:start;min-width:0;padding:.9rem}.ac-props .tk-h4{margin-bottom:.7rem}.ac-grid-dot{fill:color-mix(in srgb, var(--ink) 16%, transparent)}.ac-node{cursor:grab;touch-action:none}.ac-node:active{cursor:grabbing}.ac-svg.is-connecting .ac-node{cursor:pointer}.tk-root.ac-root .ac-node:focus,.tk-root.ac-root .ac-node:focus-visible{outline:none}.ac-shape{fill:var(--ac-c-bg);stroke:var(--ac-c);stroke-width:1.5px;transition:stroke-width .15s}.ac-shape-extra{fill:none;stroke:var(--ac-c);stroke-width:1px;opacity:.55}.ac-icon{fill:none;stroke:var(--ac-c);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.ac-title{fill:var(--ink);font-size:13px;font-weight:600}.ac-sub{fill:var(--muted);font-size:11px}.ac-ring{fill:none;stroke:#0000;stroke-width:2px}.ac-node:hover .ac-shape{stroke-width:2.2px}.ac-node.is-selected .ac-ring{stroke:var(--ink);stroke-dasharray:5 4}.ac-node:focus-visible .ac-ring{stroke:var(--ink);stroke-width:2.5px;stroke-dasharray:none}.ac-node.is-source .ac-shape{fill:color-mix(in srgb, var(--primary) 55%, var(--card));stroke-width:2.5px}.ac-node.is-hi .ac-shape{stroke:var(--danger);stroke-width:3px}.ac-edge{cursor:pointer}.ac-edge-hit{fill:none;stroke:#0000;stroke-width:14px}.ac-edge-line{fill:none;stroke:var(--muted);stroke-width:1.5px}.ac-edge.is-async .ac-edge-line{stroke-dasharray:6 4}.ac-edge:hover .ac-edge-line{stroke:var(--ink)}.ac-edge.is-selected .ac-edge-line{stroke:var(--ink);stroke-width:2.5px}.ac-edge.is-hi .ac-edge-line{stroke:var(--danger);stroke-width:2.6px}.ac-arrowhead--base{fill:var(--muted)}.ac-arrowhead--sel{fill:var(--ink)}.ac-arrowhead--hi{fill:var(--danger)}.ac-edge-label-bg{fill:var(--card);stroke:var(--line)}.ac-edge.is-hi .ac-edge-label-bg{stroke:var(--danger)}.ac-edge-label{fill:var(--ink);font-size:10.5px;font-family:var(--font-mono-base), ui-monospace, monospace}.ac-lock{fill:none;stroke:var(--ac-auth);stroke-width:1.3px}.ac-table{margin-top:.6rem}.ac-table tr.is-selected{background:color-mix(in srgb, var(--primary) 14%, transparent)}.ac-table tr.is-hi>td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.ac-list-editor{border:1px solid var(--line);background:var(--card);border-radius:1rem;margin-top:1rem;padding:.9rem}.ac-subhead{margin-top:1.2rem;margin-bottom:.5rem}.ac-addform-btn{margin-top:.8rem}.ac-findings{gap:.6rem;display:grid}.ac-finding>*+*{margin-top:.4rem}.ac-finding--high{border-left:3px solid var(--danger)}.ac-finding--medium{border-left:3px solid var(--tk-amber)}.ac-finding--low{border-left:3px solid var(--line)}.ac-finding-title{overflow-wrap:anywhere}.ac-mermaid{max-height:20rem}.ac-diff{margin-top:.4rem}.ac-diff>div+div{margin-top:.7rem}.ac-diff dt{font-size:14px;font-weight:600}.ac-diff dd{margin:.2rem 0 0;font-size:14px}.ac-foot{margin-top:.4rem}@media (prefers-reduced-motion:reduce){.ac-shape,.ac-pal{transition:none}}
