.site-shell.site-shell--canvas{width:100%;height:100dvh;min-height:0;margin:0}.site-shell--canvas .page-main{min-height:0;padding:0;position:relative}.relationship-graph{--graph-accent:#b7a5fa;background:var(--bg);width:100%;height:100%;position:relative;overflow:hidden}.graph-workspace:fullscreen{height:100%}.graph-header{z-index:2;top:max(24px, env(safe-area-inset-top));pointer-events:none;align-items:center;gap:16px;display:flex;position:absolute;left:32px;right:32px}.graph-header a{min-width:36px;min-height:40px;color:var(--text-dim);pointer-events:auto;place-items:center;display:grid}.graph-header a:hover{color:var(--text)}.graph-back{font-size:23px}.graph-header h1{margin:0;font-size:22px;font-weight:600;line-height:1.4}.graph-language{margin-left:auto;font-size:12px}.graph-toolbar{z-index:2;top:max(88px, calc(env(safe-area-inset-top) + 64px));pointer-events:none;position:absolute;left:40px;right:40px}.relationship-graph__toolbar{align-items:center;gap:24px;margin-bottom:14px;display:flex}.graph-query{border-bottom:1px solid var(--line-strong);background:var(--bg);width:min(100%,290px);color:var(--text-dim);pointer-events:auto;align-items:center;gap:9px;padding:4px 0;display:flex}.graph-query:focus-within{border-color:var(--graph-accent)}.graph-query svg{flex-shrink:0}.graph-query input{width:100%;min-width:0;min-height:32px;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.graph-query input::placeholder{color:var(--text-dim)}.graph-filters{pointer-events:auto;align-items:center;gap:20px;display:flex}.graph-filters button{background:var(--bg);min-height:40px;color:var(--text-dim);border:0;padding:4px 0;font-size:12px}.graph-filters button[aria-pressed=true]{color:var(--text);text-decoration:underline;text-decoration-color:var(--graph-accent);text-underline-offset:8px}.graph-filters button:hover{color:var(--text)}.graph-groups{flex-wrap:wrap;gap:4px 20px;display:flex}.graph-groups button{background:var(--bg);min-height:32px;color:var(--text-soft);pointer-events:auto;border:0;align-items:center;gap:7px;padding:0;font-size:11px;display:flex}.graph-groups button span{background:var(--node-color);border-radius:50%;width:7px;height:7px}.graph-groups button[aria-pressed=true]{color:var(--node-color);text-underline-offset:5px;text-decoration:underline}.graph-stage{cursor:grab;position:absolute;inset:0;overflow:hidden}.graph-stage.is-dragging{cursor:grabbing}.graph-stage,.graph-stage *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.graph-canvas{touch-action:none;width:100%;max-width:none;height:100%;display:block}.graph-canvas:focus-visible{outline-offset:-3px}.graph-edges{pointer-events:none}.graph-edges line{stroke:#8994a5;stroke-width:.8px;stroke-opacity:.6;transition:stroke-opacity .12s}.graph-edges line.is-active{stroke:var(--graph-focus-color);stroke-opacity:.9;stroke-width:1.2px}.graph-edges line.is-muted{stroke-opacity:.1}.graph-node{color:var(--node-color,var(--text));opacity:1;cursor:pointer;outline:0;transition:opacity .12s}.graph-node.is-muted{opacity:.25}.graph-node__hit{fill:#0000}.graph-node__dot{fill:currentColor}.graph-node__halo{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:0}.graph-node.is-selected .graph-node__halo,.graph-node.is-hovered .graph-node__halo,.graph-node.is-match .graph-node__halo,.graph-node:focus-visible .graph-node__halo{opacity:.8}.graph-node__label{fill:currentColor;stroke:var(--bg);paint-order:stroke;stroke-linejoin:round}.graph-view-controls{right:24px;bottom:max(24px, env(safe-area-inset-bottom));background:var(--bg-raised);cursor:default;border-radius:10px;align-items:center;display:flex;position:absolute;overflow:hidden}.graph-view-controls button{width:40px;height:40px;color:var(--text-soft);background:0 0;border:0;place-items:center;padding:0;font-size:19px;line-height:1;display:grid}.graph-view-controls button:hover{background:var(--bg-soft);color:var(--text)}.graph-view-controls button:focus-visible{outline-offset:-3px}.graph-empty{pointer-events:none;color:var(--text-dim);text-align:center;font-size:13px;position:absolute;inset:45% 16px auto}.graph-source-card{z-index:3;left:50%;bottom:max(24px, env(safe-area-inset-bottom));background:var(--bg-raised);border-radius:20px;flex-direction:column;width:min(520px,100% - 32px);max-height:38svh;padding:18px 22px 14px;animation:.16s ease-out graph-card-in;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 12px 48px #0006}.graph-source-card__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.graph-source-card h2{overflow-wrap:anywhere;align-items:center;gap:10px;margin:0;font-size:17px;display:flex}.graph-source-card h2 span{border-radius:50%;flex-shrink:0;width:8px;height:8px}.graph-source-card__close{width:36px;height:36px;color:var(--text-dim);background:0 0;border:0;flex-shrink:0;place-items:center;margin-right:-8px;display:grid}.graph-source-card__close:hover{color:var(--text)}.graph-source-card__label{color:var(--text-dim);margin:8px 0 6px;font-size:11px}.graph-source-card__links{overscroll-behavior:contain;min-height:0;margin:0;list-style:none;overflow-y:auto}.graph-source-card__links a{min-height:44px;color:var(--text-soft);justify-content:space-between;align-items:center;gap:16px;padding:9px 0;font-size:13px;line-height:1.6;display:flex}.graph-source-card__links a:hover{color:var(--graph-accent)}.graph-source-card__open-icon{width:20px;height:20px;color:var(--graph-accent);flex-shrink:0}@keyframes graph-card-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (width<=900px){.has-selection .graph-view-controls{bottom:calc(var(--graph-card-height) + max(24px, env(safe-area-inset-bottom)) + 16px)}}@media (width<=700px){.graph-header{top:max(12px, env(safe-area-inset-top));gap:8px;left:12px;right:16px}.graph-header h1{font-size:20px}.graph-toolbar{top:max(68px, calc(env(safe-area-inset-top) + 56px));left:24px;right:24px}.relationship-graph__toolbar{flex-wrap:wrap;gap:6px 20px;margin-bottom:6px}.graph-query{width:100%}.graph-query input{min-height:36px;font-size:16px}.graph-groups{gap:0 16px}.graph-groups button{min-height:30px}.graph-view-controls{right:16px;bottom:max(16px, env(safe-area-inset-bottom))}.graph-source-card{bottom:max(16px, env(safe-area-inset-bottom));padding:14px 18px 10px}}@media (prefers-reduced-motion:reduce){.graph-edges line,.graph-node{transition:none}.graph-source-card{animation:none}}
