.graph-detail{--graph-mono:var(--font-mono,"Geist Mono", ui-monospace, monospace);--graph-projection:#8427e2;--graph-entity-set:#f59e0b;border:1px solid var(--nxb-border-medium,oklch(100% 0 0/.1));background:var(--nxb-surface-1);z-index:20;border-radius:16px;flex-direction:column;width:480px;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden;transform:translate(0);box-shadow:0 8px 32px #0006}.graph-detail.hidden{opacity:0;pointer-events:none;transform:translate(calc(100% + 12px))}.graph-detail-header{border-bottom:1px solid var(--nxb-border-low);flex-shrink:0;padding:20px 20px 12px}.graph-detail-inner{scrollbar-width:thin;scrollbar-color:var(--nxb-scrollbar-thumb) transparent;flex:1;padding:12px 20px 20px;overflow:hidden auto}.graph-detail-inner::-webkit-scrollbar{width:6px}.graph-detail-inner::-webkit-scrollbar-track{background:0 0}.graph-detail-inner::-webkit-scrollbar-thumb{background:var(--nxb-scrollbar-thumb);border-radius:10px}.graph-detail-close{float:right;color:var(--nxb-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px;line-height:1;transition:color .15s,background .15s}.graph-detail-close:hover{color:var(--nxb-text-secondary);background:var(--nxb-overlay-light)}.graph-detail-back{color:oklch(100% 0 0/.5);cursor:pointer;background:oklch(100% 0 0/.05);border:none;border-radius:9999px;justify-content:center;align-items:center;width:24px;height:24px;margin-top:6px;transition:background .15s,color .15s;display:inline-flex}.graph-detail-back:hover{color:oklch(100% 0 0/.8);background:oklch(100% 0 0/.08)}.graph-detail-type{font-family:var(--graph-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:10px;font-weight:500}.graph-detail-name{font-family:var(--graph-mono);color:var(--nxb-text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:14px;font-weight:600}.graph-detail-meta{font-family:var(--graph-mono);color:var(--nxb-text-muted,#fff3);word-break:break-all;margin-bottom:10px;font-size:10px}.graph-detail-desc{color:var(--nxb-text-secondary);margin-bottom:14px;font-size:12px;line-height:1.6}.graph-detail-desc strong{color:var(--nxb-text-primary);font-weight:600}.graph-detail-desc em{color:var(--nxb-text-secondary);font-style:italic}.graph-detail-desc p{margin-bottom:8px}.graph-detail-desc p:last-child{margin-bottom:0}.graph-detail-section{margin-top:16px}.graph-detail-section-title{font-family:var(--graph-mono);color:var(--nxb-text-muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--nxb-border-low,oklch(100% 0 0/.05));margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:600}.graph-detail-table{border-collapse:collapse;width:100%;font-size:12px}.graph-detail-table thead{position:sticky;top:0}.graph-detail-table th{text-align:left;color:var(--nxb-text-muted);font-size:10px;font-weight:500;font-family:var(--graph-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--nxb-surface-2);border-bottom:1px solid var(--nxb-border-low,oklch(100% 0 0/.05));padding:6px 10px}.graph-detail-table td{color:var(--nxb-text-secondary);border-bottom:1px solid #ffffff08;padding:5px 10px;font-size:11px}.graph-detail-table tr:nth-child(odd) td{background:#18181b4d}.graph-detail-table tr:hover td{background:var(--nxb-overlay-light,#ffffff0d)}.graph-detail-table tr:last-child td{border-bottom:none}.graph-detail-mono{font-family:var(--graph-mono);font-size:10px}.graph-detail-field-desc{font-family:var(--font-sans,"Suisse Intl", system-ui, sans-serif);color:var(--nxb-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.graph-detail-key-field{color:#f59e0b;font-weight:500}.graph-detail-type-col{color:#ffffff4d}.graph-detail-proj-item{border:1px solid var(--nxb-border-low,oklch(100% 0 0/.05));cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-radius:12px;margin-bottom:6px;padding:10px 12px;font-family:inherit;transition:background .15s,border-color .15s}.graph-detail-proj-item:hover{background:var(--nxb-overlay-light,oklch(100% 0 0/.05));border-color:var(--nxb-border-medium,oklch(100% 0 0/.1))}.graph-detail-proj-item:last-child{margin-bottom:0}.graph-detail-link{font:inherit;color:oklch(70% .18 280);cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;display:inline}.graph-detail-link:hover{color:oklch(78% .2 280);text-decoration:underline}.graph-detail-link:focus-visible{outline-offset:1px;border-radius:2px;outline:1px solid oklch(70% .18 280)}.graph-detail-tr-clickable{cursor:pointer}.graph-detail-tr-clickable:focus-visible{outline-offset:-1px;outline:1px solid oklch(70% .18 280)}.graph-detail-proj-item-name{font-family:var(--graph-mono);color:oklch(55% .24 295);margin-bottom:2px;font-size:11px;font-weight:500}.graph-detail-proj-item-meta{color:var(--nxb-text-muted);font-size:10px}.graph-detail-method-badge{font-family:var(--graph-mono);letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.graph-detail-method-POST{color:#4ade80;background:#16a34a40}.graph-detail-method-GET{color:#60a5fa;background:#2563eb40}.graph-detail-method-PUT{color:#fbbf24;background:#d9770640}.graph-detail-method-DELETE{color:#f87171;background:#dc262640}.graph-detail-method-PATCH{color:#a78bfa;background:#7c3aed40}.graph-detail-loading{color:#fff3;justify-content:center;align-items:center;padding:40px;font-size:12px;display:flex}.graph-detail-spinner{border:1.5px solid #ffffff0f;border-top-color:oklch(55% .24 295);border-radius:50%;width:12px;height:12px;margin-right:8px;animation:.6s linear infinite graph-detail-spin}@keyframes graph-detail-spin{to{transform:rotate(360deg)}}@media (width<=767px){.graph-detail{border-left:none;border-top:1px solid var(--nxb-border-medium,oklch(100% 0 0/.1));border-radius:16px 16px 0 0;width:100%;height:55vh;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;inset:auto 0 0;transform:translateY(0)}.graph-detail.hidden{transform:translateY(100%)}.graph-detail-header{padding:14px 14px 10px}.graph-detail-inner{width:100%;max-width:100%;padding:10px 14px 14px}.graph-detail-type{margin-bottom:4px;font-size:9px}.graph-detail-name{margin-bottom:2px;font-size:12px}.graph-detail-meta{margin-bottom:6px;font-size:9px}.graph-detail-desc{margin-bottom:10px;font-size:11px;line-height:1.5}.graph-detail-desc p{margin-bottom:6px}.graph-detail-section{margin-top:12px}.graph-detail-section-title{font-size:9px}}.graph-detail-error-text{color:#ef4444;font-size:11px}.graph-detail-label{opacity:.5}.graph-detail-note{color:var(--nxb-text-muted);margin-top:12px;font-size:11px}.graph-detail-meta--error{color:#ff646480}.graph-detail-meta--empty{color:#fff3}.light .graph-detail{--graph-projection:#8427e2;--graph-entity-set:#b45309;box-shadow:none}.light .graph-detail-back{background:var(--nxb-overlay-light);color:oklch(0% 0 0/.5)}.light .graph-detail-back:hover{color:oklch(0% 0 0/.8);background:oklch(0% 0 0/.08)}.light .graph-detail-table td{border-bottom-color:oklch(0% 0 0/.04)}.light .graph-detail-table tr:nth-child(odd) td{background:oklch(0% 0 0/.03)}.light .graph-detail-key-field{color:#b45309}.light .graph-detail-type-col{color:oklch(0% 0 0/.4)}.light .graph-detail-link{color:var(--nxb-text-link)}.light .graph-detail-link:hover{color:oklch(40% .24 295)}.light .graph-detail-link:focus-visible,.light .graph-detail-tr-clickable:focus-visible{outline-color:var(--nxb-border-focus)}.light .graph-detail-proj-item-name{color:var(--nxb-text-link)}.light .graph-detail-method-POST{color:#15803d;background:oklch(60% .16 162/.15)}.light .graph-detail-method-GET{color:#1d4ed8;background:oklch(55% .18 260/.14)}.light .graph-detail-method-PUT{color:#b45309;background:oklch(65% .16 70/.16)}.light .graph-detail-method-DELETE{color:#b91c1c;background:oklch(55% .2 27/.14)}.light .graph-detail-method-PATCH{color:#6d28d9;background:oklch(48% .24 295/.12)}.light .graph-detail-loading{color:oklch(0% 0 0/.35)}.light .graph-detail-spinner{border-color:oklch(0% 0 0/.08);border-top-color:var(--nxb-text-link)}.light .graph-detail-error-text{color:#b91c1c}.light .graph-detail-meta--error{color:oklch(50% .18 27/.7)}.light .graph-detail-meta--empty{color:oklch(0% 0 0/.35)}.graph-detail-ext-link{font-family:var(--font-sans,"Suisse Intl", system-ui, sans-serif);color:var(--nxb-text-link);font-size:12px;text-decoration:none}.graph-detail-ext-link:hover{text-decoration:underline}
