/* Single compact graph, expanded symmetrically around the current record. */
.crx-tools{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);flex-wrap:wrap}.crx-tools>span{display:flex;align-items:center;gap:7px;color:var(--ink)}.crx-tools>small{font-size:12px}.crx-tools>div{display:flex;gap:4px;align-items:center;margin-left:auto}.crx-tools button{display:flex;align-items:center;justify-content:center;background:var(--base);border:1px solid var(--line);color:var(--ink);min-width:32px;height:32px;border-radius:8px;padding:0 8px;font:inherit;cursor:pointer}.crx-tools button:hover{background:var(--surface);border-color:var(--muted)}.crx-tools output{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.crx-viewport{height:var(--crw-graph-height,580px);max-height:none;min-height:280px;overflow:auto;overscroll-behavior:contain;position:relative;background-color:var(--surface);background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:18px 18px;scrollbar-width:thin;outline-offset:-3px}.crx-space{position:relative;margin:auto;min-width:100%;min-height:100%}.crx-stage{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .32s ease}.crw-record .crx-wires{position:absolute;inset:0;fill:none;stroke:#c7cbce;stroke-width:1.5;overflow:visible;pointer-events:none}.crx-wires path{transition:d .32s ease,stroke .2s;vector-effect:non-scaling-stroke}.crx-wires path.is-expanded{stroke:#818a91;stroke-width:1.7}
.crx-root{position:absolute;width:216px;height:170px;border:4px solid var(--base);border-radius:20px;background:var(--ink);color:var(--base);box-shadow:0 0 0 1px var(--line),0 8px 24px #00000012;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px;transition:left .32s ease,top .32s ease;z-index:2}.crw-record .crx-root>svg{width:25px;height:25px;opacity:.9}.crx-root small{text-transform:uppercase;letter-spacing:.08em;font-size:10px;opacity:.65}.crx-root strong{font-size:18px;font-weight:500;line-height:1.2}.crx-root>span{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.65}.crw-record .crx-root>span svg{width:12px;height:12px}
.crx-node{position:absolute;display:flex;align-items:stretch;width:248px;height:86px;background:var(--base);border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 12px #00000004;transition:left .32s ease,top .32s ease,border-color .2s,box-shadow .2s;z-index:1}.crx-node[hidden]{display:none}.crx-node:hover{border-color:#989fa5;box-shadow:0 5px 18px #00000009}.crx-node.is-expanded{border-color:#8b949b}.crx-target{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:0;border-radius:12px;background:transparent;padding:12px;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.crw-record .crx-target>svg{width:12px;height:12px;flex-shrink:0;color:var(--muted)}.crx-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:9px;flex-shrink:0;color:var(--muted)}.crx-copy{min-width:0;display:flex;flex-direction:column;gap:4px;flex:1}.crx-copy>*{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.crx-copy small{font-size:10px;color:var(--muted)}.crx-copy strong{font-size:13px;font-weight:500}.crx-copy>span{font-size:11px;color:var(--muted)}
.crx-expand{position:absolute;right:-16px;top:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:32px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--base);color:var(--ink);cursor:pointer;box-shadow:0 2px 4px #00000005}.crx-node[data-side="left"]>.crx-expand{right:auto;left:-16px}.crw-record .crx-expand svg{width:13px;height:13px}.crx-expand small{font-size:9px;line-height:1;color:var(--muted)}.crx-expand:hover,.crx-expand[aria-expanded="true"]{background:var(--ink);color:var(--base);border-color:var(--ink)}.crx-expand[aria-expanded="true"] small{color:inherit;opacity:.7}.crx-expand:focus-visible,.crx-target:focus-visible,.crx-root:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:768px){.crx-tools{gap:8px;padding:10px}.crx-tools>small{width:100%;order:3}.crx-tools button{height:44px;min-width:44px}.crx-tools output{min-width:36px}.crx-viewport{height:540px;max-height:none}.crx-expand{width:44px;height:44px;right:-22px;top:21px}.crx-node[data-side="left"]>.crx-expand{left:-22px}}
@media(prefers-reduced-motion:reduce){.crx-stage,.crx-root,.crx-node,.crx-wires path{transition:none}}

.crw-record a.crx-root{color:var(--base)}
.crw-graph-toolbar{flex-wrap:nowrap;align-items:center;padding:10px 16px;gap:12px}.crw-graph-views{flex-shrink:0}

.crw-filter-trigger{display:flex;align-items:center;gap:9px;min-width:0;max-width:calc(100% - 160px);height:36px;padding:3px 10px 3px 4px;border:1px solid var(--line);border-radius:10px;background:var(--base);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.crw-filter-trigger:hover,.crw-filter-trigger[aria-expanded=true]{background:var(--surface);border-color:#b9bdc2;box-shadow:0 2px 7px #00000006}.crw-filter-symbol{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:var(--surface);flex-shrink:0}.crw-filter-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.crw-filter-count{height:21px;min-width:21px;display:grid;place-items:center;padding:0 5px;border-radius:6px;background:var(--surface);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.crw-filter-trigger>svg{width:13px;height:13px;margin-left:3px;color:var(--muted);transition:transform .15s}.crw-filter-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}
.crw-category-popover{position:fixed;inset:auto;margin:0;width:min(480px,calc(100vw - 24px));padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--base);color:var(--ink);box-shadow:0 16px 44px #00000016,0 3px 10px #00000008;overflow:auto}.crw-category-popover::backdrop{background:transparent}.crw-category-all{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:6px}.crw-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.crw-category-option{width:100%;display:flex;align-items:center;gap:9px;min-height:46px;border:0;border-radius:9px;padding:7px 9px;background:transparent;color:var(--ink);text-align:left;font:inherit;font-size:12px;cursor:pointer}.crw-category-option>span:nth-child(2){flex:1;min-width:0}.crw-category-option>small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.crw-category-icon{width:28px;height:28px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:var(--muted)}.crw-category-icon svg{width:15px;height:15px}.crw-category-option>svg,.crw-category-check{width:13px;height:13px;flex-shrink:0}.crw-category-option:hover{background:var(--surface)}.crw-category-option[aria-pressed=true]{background:var(--ink);color:var(--base)}.crw-category-option[aria-pressed=true] .crw-category-icon{color:var(--base);background:#ffffff16;border-color:#ffffff26}.crw-category-option[aria-pressed=true]>small{color:var(--base);opacity:.7}.crw-category-option:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.crw-category-option[aria-pressed=true]:focus-visible{outline-color:var(--base);outline-offset:-4px}
@media(max-width:768px){.crw-graph-toolbar{padding:10px;gap:8px}.crw-filter-trigger{height:44px;flex:1;max-width:none}.crw-filter-trigger .crw-filter-symbol{display:none}.crw-filter-trigger{padding-left:10px}.crw-graph-views{margin-left:auto;padding:2px}.crw-graph-views button{min-height:44px;padding:6px}}
@media(max-width:420px){.crw-category-popover{padding:6px}.crw-category-grid{gap:2px}.crw-category-option{gap:6px;padding:7px 6px}.crw-category-option>svg,.crw-category-check{display:none}.crw-category-icon{width:24px;height:24px}}
@media(max-width:359px){.crw-graph-views button{font-size:0;gap:0;width:44px}.crw-graph-views button svg{width:16px;height:16px}.crw-category-grid{grid-template-columns:1fr}}
.crx-empty{padding:16px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
.crx-viewport{cursor:grab}
.crx-dragging .crx-viewport,.crx-dragging .crx-viewport *{cursor:grabbing!important;user-select:none}
.crx-dragging .crx-stage,.crx-dragging .crx-root,.crx-dragging .crx-node,.crx-dragging .crx-wires path{transition:none!important}
.crx-node-dragging .crx-node.is-dragged,.crx-node-dragging .crx-root.is-dragged{z-index:3}
