@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap";:root{--font-primary: "Inter", sans-serif;--color-bg-gradient-from: #f8fafc;--color-bg-gradient-to: #eef2ff;--color-text-primary: #374151;--color-text-secondary: #4b5563;--color-text-muted: #6b7281;--color-text-subtle: #9ca3af;--color-card-bg: #ffffff;--color-card-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--color-border-primary: #d1d5db;--color-border-secondary: #e5e7eb;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #e0e7ff;--color-primary-text: #3730a3;--color-secondary-bg: #f3f4f6;--color-secondary-bg-hover: #e5e7eb;--color-danger: #dc2626;--color-danger-light: #fee2e2;--color-danger-text: #b91c1c;--color-blue-bg: #eff6ff;--color-blue-border: #bfdbfe;--color-blue-text: #1e40af;--color-blue-icon: #2563eb;--color-blue-active-bg: #3b82f6;--color-purple-bg: #f5f3ff;--color-purple-border: #ddd6fe;--color-purple-text: #5b21b6;--color-purple-icon: #7c3aed;--color-purple-active-bg: #8b5cf6;--color-green-bg: #f0fdf4;--color-green-border: #bbf7d0;--color-green-text: #166534;--color-green-icon: #22c55e;--color-green-active-bg: #22c55e;--color-orange-bg: #fff7ed;--color-orange-border: #fed7aa;--color-orange-text: #9a3412;--color-orange-icon: #f97316;--color-orange-active-bg: #f97316;--color-slate-bg: #f1f5f9;--color-slate-border: #cbd5e1;--color-slate-text: #334155;--color-slate-icon: #475569;--color-slate-active-bg: #475569;--color-teal-bg: #f0fdfa;--color-teal-border: #99f6e4;--color-teal-text: #0f766e;--color-teal-icon: #14b8a6;--color-teal-active-bg: #14b8a6;--color-accent-blue-bg: #eff6ff;--color-accent-blue-border: #dbeafe;--color-accent-blue-text: #1e40af;--color-accent-purple-bg: #f5f3ff;--color-accent-purple-border: #e9d5ff;--color-accent-purple-text: #5b21b6;--color-accent-amber-bg: #fffbeb;--color-accent-amber-border: #fef3c7;--color-accent-amber-text: #b45309;--color-accent-teal-bg: #f0fdfa;--color-accent-teal-border: #ccfbf1;--color-accent-teal-text: #0f766e;--color-accent-red-bg: #fee2e2;--color-accent-red-border: #fecaca;--color-accent-orange-bg: #ffedd5;--color-accent-orange-border: #fed7aa;--color-accent-pink-bg: #fce7f3;--color-accent-pink-border: #fbcfe8;--color-accent-indigo-bg: #e0e7ff;--color-accent-indigo-border: #c7d2fe;--color-accent-green-bg: #f0fdf4;--color-accent-green-border: #bbf7d0;--color-accent-green-text: #166534;--color-accent-emerald-bg: #d1fae5;--color-accent-emerald-border: #a7f3d0;--color-accent-cyan-bg: #cffafe;--color-accent-cyan-border: #a5f3fc;--color-accent-lime-bg: #ecfccb;--color-accent-lime-border: #d9f99d}.dark-theme{--color-bg-gradient-from: #111827;--color-bg-gradient-to: #0f172a;--color-text-primary: #f3f4f6;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-subtle: #6b7281;--color-card-bg: #1f2937;--color-card-shadow: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--color-border-primary: #4b5563;--color-border-secondary: #4b5563;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #312e81;--color-primary-text: #e0e7ff;--color-secondary-bg: #374151;--color-secondary-bg-hover: #4b5563;--color-danger: #ef4444;--color-danger-light: #3f1212;--color-danger-text: #fca5a5;--color-blue-bg: #1e3a8a;--color-blue-border: #2563eb;--color-blue-text: #dbeafe;--color-blue-icon: #93c5fd;--color-blue-active-bg: #3b82f6;--color-purple-bg: #5b21b6;--color-purple-border: #7c3aed;--color-purple-text: #f5f3ff;--color-purple-icon: #c4b5fd;--color-purple-active-bg: #8b5cf6;--color-green-bg: #166534;--color-green-border: #16a34a;--color-green-text: #dcfce7;--color-green-icon: #86efac;--color-green-active-bg: #22c55e;--color-orange-bg: #9a3412;--color-orange-border: #ea580c;--color-orange-text: #ffedd5;--color-orange-icon: #fdba74;--color-orange-active-bg: #f97316;--color-slate-bg: #334155;--color-slate-border: #64748b;--color-slate-text: #f1f5f9;--color-slate-icon: #cbd5e1;--color-slate-active-bg: #64748b;--color-teal-bg: #134e4a;--color-teal-border: #0d9488;--color-teal-text: #ccfbf1;--color-teal-icon: #5eead4;--color-teal-active-bg: #14b8a6;--color-accent-blue-bg: #1e293b;--color-accent-blue-border: #334155;--color-accent-blue-text: #93c5fd;--color-accent-purple-bg: #2e1065;--color-accent-purple-border: #4c1d95;--color-accent-purple-text: #c4b5fd;--color-accent-amber-bg: #422006;--color-accent-amber-border: #78350f;--color-accent-amber-text: #fcd34d;--color-accent-teal-bg: #134e4a;--color-accent-teal-border: #0f766e;--color-accent-teal-text: #5eead4;--color-accent-red-bg: #450a0a;--color-accent-red-border: #7f1d1d;--color-accent-orange-bg: #431407;--color-accent-orange-border: #7c2d12;--color-accent-pink-bg: #500724;--color-accent-pink-border: #831843;--color-accent-indigo-bg: #312e81;--color-accent-indigo-border: #4338ca;--color-accent-green-bg: #064e3b;--color-accent-green-border: #047857;--color-accent-green-text: #6ee7b7;--color-accent-emerald-bg: #064e3b;--color-accent-emerald-border: #047857;--color-accent-cyan-bg: #164e63;--color-accent-cyan-border: #0891b2;--color-accent-lime-bg: #365314;--color-accent-lime-border: #4d7c0f}.scholar-theme{--font-primary: "Lora", serif;--color-bg-gradient-from: #fdf6e3;--color-bg-gradient-to: #faf3e0;--color-text-primary: #4d443a;--color-text-secondary: #6f6559;--color-text-muted: #8a7e6f;--color-text-subtle: #a89d8d;--color-card-bg: #fffcf2;--color-card-shadow: 0 2px 4px 0px rgba(85, 71, 54, .1);--color-border-primary: #dcd3c4;--color-border-secondary: #e9e2d7;--color-primary: #800020;--color-primary-hover: #66001a;--color-primary-light: #fde8ec;--color-primary-text: #800020;--color-secondary-bg: #f5f1e8;--color-secondary-bg-hover: #ede7da;--color-danger: #991b1b;--color-danger-light: #fde8e8;--color-danger-text: #991b1b;--color-blue-bg: #e6eef4;--color-blue-border: #c0d1e2;--color-blue-text: #3a506b;--color-blue-icon: #4a6fa5;--color-blue-active-bg: #3a506b;--color-purple-bg: #e9e6f4;--color-purple-border: #d1c9e9;--color-purple-text: #5d54a4;--color-purple-icon: #736ced;--color-purple-active-bg: #5d54a4;--color-green-bg: #e8f4e6;--color-green-border: #c9e4c5;--color-green-text: #446e42;--color-green-icon: #6a994e;--color-green-active-bg: #446e42;--color-orange-bg: #f4e8e1;--color-orange-border: #e9d1c1;--color-orange-text: #a45d5d;--color-orange-icon: #c97b63;--color-orange-active-bg: #a45d5d;--color-slate-bg: #ededed;--color-slate-border: #d4d4d4;--color-slate-text: #525252;--color-slate-icon: #737373;--color-slate-active-bg: #525252;--color-teal-bg: #e6f2f0;--color-teal-border: #b3d9d3;--color-teal-text: #3a6b65;--color-teal-icon: #4a8a80;--color-teal-active-bg: #3a6b65;--color-accent-blue-bg: #e6eef4;--color-accent-blue-border: #c0d1e2;--color-accent-blue-text: #3a506b;--color-accent-purple-bg: #e9e6f4;--color-accent-purple-border: #d1c9e9;--color-accent-purple-text: #5d54a4;--color-accent-amber-bg: #f4eae1;--color-accent-amber-border: #e9d1c1;--color-accent-amber-text: #a45d5d;--color-accent-teal-bg: #e6f2f0;--color-accent-teal-border: #b3d9d3;--color-accent-teal-text: #3a6b65}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-scale-in{animation:scale-in .3s ease-out forwards}@keyframes fade-in-sm{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-sm{animation:fade-in-sm .1s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.shimmer-bg{animation-duration:1.5s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer;animation-timing-function:linear;background:linear-gradient(to right,var(--color-secondary-bg) 8%,var(--color-border-secondary) 18%,var(--color-secondary-bg) 33%);background-size:800px 104px;position:relative}.suggestion-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:var(--color-text-primary);color:var(--color-card-bg);padding:.5rem .75rem;border-radius:.5rem;font-size:.75rem;line-height:1.4;width:max-content;max-width:280px;text-align:center;z-index:10;pointer-events:none;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.group\/suggestion:hover .suggestion-tooltip{visibility:visible;opacity:1}.source-link{transition:color .2s ease-in-out}.source-link:hover{color:var(--color-primary);text-decoration:underline}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.graph-canvas{width:100%;height:100%;cursor:grab;background-color:var(--color-bg-gradient-from)}.graph-canvas:active,.graph-canvas.dragging,.graph-canvas.dragging .graph-node{cursor:grabbing}.graph-canvas.connecting{cursor:crosshair}.graph-canvas.connecting .graph-node-rect:hover{stroke:var(--color-green-icon);stroke-width:4px}.graph-canvas.select-mode{cursor:crosshair}.graph-edge{stroke:var(--color-border-primary);stroke-width:2px;transition:stroke .3s;pointer-events:none;fill:none}.graph-edge-path{stroke:var(--color-primary);stroke-width:3px}.graph-edge-manual{stroke:var(--color-text-subtle);stroke-width:2px;stroke-dasharray:4 4;transition:stroke .3s;cursor:grab}.graph-edge-manual-hitbox{stroke-width:15px;stroke:transparent;fill:none;cursor:grab}.graph-edge-manual-hitbox:active{cursor:grabbing}.graph-edge-manual-group:hover .graph-edge-manual{stroke:var(--color-primary);stroke-width:3px}.graph-edge-preview{stroke:var(--color-primary);stroke-width:2px;stroke-dasharray:5 5;pointer-events:none}.graph-node{cursor:grab;transition:box-shadow .2s;user-select:none;-webkit-user-select:none}.graph-node:active{cursor:grabbing}.graph-node:hover .graph-node-rect{stroke-width:3px;stroke:var(--color-primary-hover);box-shadow:0 0 12px 2px color-mix(in srgb,var(--color-primary) 40%,transparent)}.graph-node foreignObject div{user-select:none;-webkit-user-select:none;pointer-events:none}.graph-node-handle{fill:var(--color-primary);stroke:var(--color-card-bg);stroke-width:2px;cursor:crosshair;opacity:0;transition:opacity .2s}.graph-node.group:hover .graph-node-handle{opacity:1}.graph-node-resize-handle{opacity:0;transition:opacity .2s;cursor:nwse-resize;stroke:var(--color-text-subtle)}.graph-node:hover .graph-node-resize-handle{opacity:1}.graph-connection-control-point,.graph-connection-control-point-reset{cursor:pointer;opacity:.2;transition:opacity .2s,fill .2s}.graph-edge-manual-group:hover .graph-connection-control-point,.graph-edge-manual-group:hover .graph-connection-control-point-reset{opacity:1}.graph-connection-control-point:hover{fill:var(--color-primary-hover)}.graph-connection-control-point-reset:hover{fill:var(--color-danger)}.graph-connection-delete{cursor:pointer;opacity:0;transition:opacity .2s}.graph-edge-manual-group:hover .graph-connection-delete{opacity:1}.graph-connection-label-group{cursor:text}.graph-connection-label-group:hover{font-weight:700}.graph-connection-label-bg{fill:var(--color-card-bg);stroke:var(--color-border-secondary);stroke-width:1px}.graph-connection-label-text{font-size:10px;font-weight:500;fill:var(--color-text-secondary);pointer-events:none;user-select:none;-webkit-user-select:none}.graph-node-rect{stroke-width:2px;transition:all .3s;stroke:var(--color-border-primary);fill:var(--color-card-bg)}.graph-node-rect-path{stroke:var(--color-primary)}.graph-node-rect-active{stroke:var(--color-primary);stroke-width:4px;box-shadow:0 0 15px var(--color-primary)}.graph-node-rect-selected{stroke:var(--color-primary-hover);stroke-width:3px;stroke-dasharray:6 3}.graph-node-text{font-size:10px;fill:var(--color-text-secondary);pointer-events:none;text-anchor:middle}.graph-cluster{fill:color-mix(in srgb,var(--color-secondary-bg) 80%,transparent);stroke:var(--color-border-secondary);stroke-width:2px;stroke-dasharray:5 5;transition:all .3s ease}.graph-cluster-title{font-size:14px;font-weight:600;fill:var(--color-text-muted);user-select:none;-webkit-user-select:none;cursor:text}.graph-cluster-controls{opacity:0;transition:opacity .2s;cursor:pointer}.graph-cluster-group:hover .graph-cluster-controls{opacity:1}.graph-selection-rect{fill:#4f46e51a;stroke:var(--color-primary);stroke-width:1px;stroke-dasharray:4 2}.graph-selection-actions{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:10}.graph-selection-actions button{background-color:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:.5rem;box-shadow:var(--color-card-shadow);border:none;cursor:pointer;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.5rem}.graph-selection-actions button:hover{background-color:var(--color-primary-hover)}.graph-selection-actions button.delete-button{background-color:var(--color-danger)}.graph-selection-actions button.delete-button:hover{background-color:color-mix(in srgb,var(--color-danger) 90%,black)}.graph-controls{position:absolute;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;background-color:var(--color-card-bg);padding:.5rem;border-radius:.5rem;box-shadow:var(--color-card-shadow);z-index:10}.graph-controls button,.graph-close-button{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background-color:var(--color-secondary-bg);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:.375rem;transition:all .2s}.graph-controls button:hover,.graph-close-button:hover{background-color:var(--color-secondary-bg-hover);color:var(--color-text-primary)}.graph-controls button.active{background-color:var(--color-primary-light);color:var(--color-primary-text);border-color:var(--color-primary)}.graph-close-button{position:absolute;top:1.5rem;right:1.5rem}
