*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-hover:#f3f4f6;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--teal-primary:#0d9488;--teal-secondary:#0f766e;--teal-dark:#115e59;--teal-light:#f0fdfa;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--text-inverse:#fff;--border-color:#e5e7eb;--border-hover:#d1d5db;--divider:#f3f4f6;--success:#10b981;--success-light:#d1fae5;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--info:#3b82f6;--info-light:#dbeafe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background:var(--bg-primary);color:#111827;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{background:#eef2ff;background:var(--primary-light);border-radius:4px;color:#4f46e5;color:var(--primary);font-family:Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em;padding:2px 6px}.toast-container{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:24px;top:24px;z-index:10000}.toast{align-items:center;animation:slideIn .3s cubic-bezier(.16,1,.3,1);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);display:flex;gap:12px;max-width:500px;min-width:320px;padding:14px 18px;pointer-events:auto}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--info)}.toast-icon{flex-shrink:0;font-size:20px}.toast-message{color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500}.toast-close{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:28px;justify-content:center;padding:4px;transition:all .2s ease;width:28px}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}.auth-container{align-items:center;background:var(--bg-primary);background-image:radial-gradient(circle at 10% 20%,#4f46e50d 0,#0000 20%),radial-gradient(circle at 90% 80%,#0d94880d 0,#0000 20%);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-xl);max-width:440px;padding:48px;transition:transform .3s ease;width:100%}.auth-card:hover{transform:translateY(-2px)}.auth-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary) 0,var(--teal-primary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px;text-align:center}.auth-card h2{color:var(--text-secondary);font-size:16px;font-weight:500;margin-bottom:32px;text-align:center}.form-group{margin-bottom:20px}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-group input::placeholder{color:var(--text-muted)}.checkbox-group{margin:24px 0}.checkbox-group label{align-items:center;background:var(--bg-tertiary);border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-weight:500;padding:12px;transition:all .2s ease}.checkbox-group label:hover{background:var(--bg-hover)}.checkbox-group input[type=checkbox]{accent-color:var(--primary);border-radius:4px;cursor:pointer;height:18px;margin-right:12px;width:18px}.checkbox-group span{color:var(--text-secondary);font-size:14px}.auth-card button[type=submit]{background:var(--primary);border:none;border-radius:8px;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:14px;transition:all .2s ease;width:100%}.auth-card button[type=submit]:hover{background:var(--primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.auth-card button[type=submit]:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-link{color:var(--text-secondary);font-size:14px;margin-top:24px;text-align:center}.auth-link a{color:var(--primary);font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link a:hover{color:var(--primary-hover);text-decoration:underline}.graph-visualization-container{background-color:#f8fafc;background-image:radial-gradient(#cbd5e1 1px,#0000 0);background-size:20px 20px;height:100%;overflow:hidden;position:relative;width:100%}.node-detail-panel{animation:slideIn .3s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d;color:#1e293b;max-height:calc(100vh - 100px);overflow-y:auto;padding:0;position:absolute;right:20px;top:20px;width:380px;z-index:100}.panel-header{align-items:flex-start;background:#fff;border-bottom:1px solid #f1f5f9;border-top-left-radius:16px;border-top-right-radius:16px;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.panel-content{padding:24px}.node-detail-panel h3{color:#0f172a;font-size:18px;font-weight:700;line-height:1.4;margin:0}.node-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.node-badge{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.close-btn{align-items:center;border-radius:8px;display:flex;height:32px;justify-content:center;margin-left:12px;margin-top:-4px;padding:0;width:32px}.close-btn:hover{color:#64748b}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.section-title{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:12px}.input-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;padding:12px}.input-label{color:#64748b;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.input-value{color:#334155;font-size:14px;font-weight:500}.detail-row{margin-bottom:12px}.detail-label{color:#64748b;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.detail-value{color:#334155;display:block;font-size:14px;line-height:1.6}.detail-value.snippet{background:#f1f5f9;border-left:3px solid #3b82f6;border-radius:8px;color:#475569;font-size:13px;margin-top:8px;padding:12px}.detail-tags{display:flex;flex-wrap:wrap;gap:8px}.detail-tag{border:1px solid #0000;border-radius:20px;box-shadow:none;font-size:12px;font-weight:600;padding:6px 12px}.relationships-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.relationship-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;padding:12px;transition:background .2s}.relationship-item:last-child{border-bottom:none}.relationship-item:hover{background:#f8fafc}.rel-type{color:#64748b;font-size:11px;letter-spacing:.5px;min-width:80px}.rel-target{color:#334155;font-size:13px;font-weight:500}.rel-icon{color:#cbd5e1;font-size:14px}.panel-actions{border-top:1px solid #f1f5f9;display:flex;gap:12px;margin-top:24px;padding-top:24px}.action-btn{border:none;border-radius:8px;flex:1 1;font-size:13px;padding:10px}.btn-secondary{background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0}.node-detail-panel::-webkit-scrollbar{width:6px}.node-detail-panel::-webkit-scrollbar-track{background:#0000}.node-detail-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.node-detail-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.graph-legend{background:#fff;border:1px solid #e2e8f0;border-radius:12px;bottom:24px;box-shadow:0 4px 6px -1px #0000001a;left:24px;min-width:200px;padding:16px;position:absolute;z-index:50}.legend-header h4{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.legend-item{align-items:center;color:#475569;display:flex;font-size:12px;gap:8px;margin-bottom:8px}.legend-item:last-child{margin-bottom:0}.legend-dot{border-radius:50%;height:8px;width:8px}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000000b3;z-index:1000}.modal-content.identity-setup-modal{animation:slideIn .3s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 30px #0000004d;max-width:600px;padding:2rem;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{margin-bottom:2rem}.modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text}.close-btn{background:none;color:var(--text-secondary);font-size:2rem}.setup-step h3{color:var(--text-primary);margin-top:0}.setup-step p{color:var(--text-secondary);margin-bottom:1rem}.setup-step textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;margin-bottom:1.5rem;padding:1rem;resize:vertical;width:100%}.setup-step textarea:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133;outline:none}.input-group{display:flex;gap:1rem;margin-bottom:1rem}.input-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;padding:.75rem}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;min-height:40px}.tag-chip{background:#6366f11a;border-radius:16px;color:#6366f1;font-size:.9rem;gap:.5rem;padding:.25rem .75rem}.tag-chip button{color:inherit;font-size:1.1rem;line-height:1}.tag-chip.node-chip{background:#a855f71a;color:#a855f7}.button-group{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-primary,.btn-secondary{border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#6366f1,#a855f7);border:none}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:#0000}.error-message{color:#ef4444;font-size:.9rem;margin-top:1rem}.context-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.node-context-menu{animation:scaleIn .1s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:200px;padding:8px;position:fixed;z-index:9999}.context-menu-item{align-items:center;border-radius:6px;color:#334155;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:8px 12px;transition:all .1s ease}.context-menu-item:hover{background-color:#f1f5f9;color:#0f172a}.context-menu-item.delete-item:hover{background-color:#fef2f2;color:#ef4444}.context-menu-icon{align-items:center;color:#64748b;display:flex;font-size:14px;justify-content:center;width:20px}.context-menu-item:hover .context-menu-icon{color:currentColor}.context-menu-divider{background-color:#e2e8f0;height:1px;margin:4px 8px}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.delete-modal,.modal-overlay{align-items:center;display:flex}.delete-modal{animation:scaleIn .2s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;flex-direction:column;max-width:420px;padding:32px;text-align:center;width:90%}.modal-icon-wrapper{align-items:center;background:#fef2f2;border-radius:12px;display:flex;height:48px;justify-content:center;margin-bottom:20px;width:48px}.warning-icon{font-size:24px}.modal-title{color:#1e293b;font-size:18px;font-weight:700;line-height:1.4;margin:0 0 12px}.modal-description{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 24px}.impact-checklist{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;margin-bottom:24px;padding:16px;text-align:left;width:100%}.checklist-item{align-items:center;display:flex;gap:12px;margin-bottom:12px}.checklist-item:last-child{margin-bottom:0}.item-number{align-items:center;background:#e2e8f0;border-radius:4px;color:#64748b;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.item-text{color:#475569;font-size:13px}.item-text strong{color:#334155;font-weight:600}.modal-footer{display:flex;gap:12px;width:100%}.btn-cancel{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.btn-cancel:hover{background:#f1f5f9;border-color:#94a3b8}.btn-delete{align-items:center;background:#ef4444;border:1px solid #ef4444;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s}.btn-delete:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 6px -1px #ef444433}.create-node-modal{animation:scaleIn .2s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;box-sizing:border-box;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow-y:auto;padding:16px;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-header{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:32px 48px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header,.modal-header h2{align-items:center;display:flex}.modal-header h2{color:#1e293b;font-size:22px;font-weight:700;gap:12px;margin:0}.close-btn{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:24px;line-height:1;padding:4px;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#475569}.modal-content{gap:32px;padding:40px 48px}.form-group,.modal-content{display:flex;flex-direction:column}.form-group label{color:#64748b;font-size:12px;font-weight:700;margin-bottom:10px}.form-input,.form-select,.form-textarea{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#334155;font-size:15px;padding:14px 20px;transition:all .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.form-textarea{font-family:inherit;line-height:1.6;min-height:120px;resize:vertical}.radio-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:32px;padding:24px}.radio-group,.radio-label{align-items:center;display:flex}.radio-label{color:#334155;cursor:pointer;font-size:15px;font-weight:500;gap:10px}.radio-label input[type=radio]{accent-color:#3b82f6;cursor:pointer;height:20px;width:20px}.modal-actions{background:#f8fafc;border-top:1px solid #f1f5f9;bottom:0;display:flex;gap:16px;justify-content:flex-end;padding:28px 48px;position:-webkit-sticky;position:sticky}.btn-secondary{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8}.btn-primary{background:#3b82f6;border:1px solid #3b82f6;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary:hover{background:#2563eb;border-color:#2563eb;box-shadow:0 4px 6px -1px #2563eb33}.btn-primary:disabled{opacity:.6}.node-detail-panel{animation:slideInRight .3s cubic-bezier(.16,1,.3,1);background:var(--bg-secondary);border-left:1px solid var(--border-color);bottom:0;box-shadow:-4px 0 24px #00000014;display:flex;flex-direction:column;position:fixed;right:0;top:0;width:400px;z-index:9999}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.panel-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:24px}.panel-header h2{color:var(--text-primary);font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0}.panel-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-body{flex:1 1;overflow-y:auto;padding:24px}.form-group label{color:var(--text-secondary);font-size:13px;letter-spacing:.05em;text-transform:uppercase}.form-group input[type=text],.form-group select,.form-group textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{background:var(--bg-secondary);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-group textarea{font-family:inherit;line-height:1.5;resize:vertical}.tag-list{flex-wrap:wrap}.tag-chip,.tag-list{align-items:center;display:flex;gap:8px}.tag-chip{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);font-size:13px;padding:6px 10px 6px 14px;transition:all .2s}.tag-chip:hover{background:var(--bg-hover);border-color:var(--border-hover)}.tag-chip button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;padding:0;transition:all .2s;width:20px}.tag-chip button:hover{background:var(--danger-light);color:var(--danger)}.form-group input[type=range]{accent-color:var(--primary);width:100%}.importance-stars{color:var(--warning);font-size:24px;margin-top:12px;text-align:center}.metadata-section{border-top:1px solid var(--border-color);margin-top:32px;padding-top:24px}.metadata-section h3{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 16px}.metadata-section p{color:var(--text-secondary);display:flex;font-size:13px;justify-content:space-between;margin:8px 0}.panel-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:24px}.btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--bg-tertiary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.graph-view{background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;width:100%}.graph-controls{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 24px}.view-toggle{background:var(--bg-tertiary);border-radius:8px;display:flex;gap:8px;padding:4px}.toggle-btn{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.toggle-btn.active{background:var(--bg-secondary);box-shadow:var(--shadow-sm);color:var(--primary)}.toggle-btn:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.time-travel-controls{align-items:center;background:var(--warning-light);border-radius:8px;color:#92400e;display:flex;font-size:14px;gap:12px;padding:8px 16px}.btn-return{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s ease}.btn-return:hover{background:var(--bg-hover);border-color:var(--border-hover)}.graph-container{display:flex;flex:1 1;overflow:hidden}.filter-panel{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:width .3s ease;width:280px}.filter-panel.closed{width:48px}.filter-panel.closed .filter-content,.filter-panel.closed .filter-header h3{display:none}.filter-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px}.filter-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.filter-content{flex:1 1;overflow-y:auto;padding:16px}.filter-section{margin-bottom:24px}.filter-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.filter-section-header h4{color:var(--text-primary);font-size:14px;font-weight:600;margin:0}.filter-actions{display:flex;gap:8px}.filter-action-btn{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s ease}.filter-action-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.filter-items{display:flex;flex-direction:column;gap:8px}.filter-item{align-items:center;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:background .2s}.filter-item:hover{background:var(--bg-hover)}.filter-item input[type=checkbox]{cursor:pointer}.tag-indicator{border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;height:12px;width:12px}.count{color:var(--text-muted);font-size:12px;margin-left:auto}.graph-canvas{background:var(--bg-secondary);flex:1 1;justify-content:center;overflow:hidden;position:relative}.graph-canvas,.loading-state{align-items:center;display:flex}.loading-state{color:var(--text-secondary);flex-direction:column;gap:16px}.spinner{animation:spin .8s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{color:var(--text-secondary);padding:40px;text-align:center}.empty-state h3{color:var(--text-primary);font-size:18px;margin:0 0 8px}.error-message{box-shadow:var(--shadow-md);left:50%;padding:12px 20px;position:absolute;top:20px;transform:translateX(-50%);z-index:100}.fab-create-node{align-items:center;background:var(--primary);border:none;border-radius:50%;bottom:32px;box-shadow:var(--shadow-lg);color:var(--text-inverse);cursor:pointer;display:flex;font-size:32px;height:56px;justify-content:center;line-height:1;position:fixed;right:32px;transition:all .2s;width:56px;z-index:1000}.fab-create-node:hover{background:var(--primary-hover);box-shadow:var(--shadow-xl);transform:scale(1.1)}.fab-create-node:active{transform:scale(1.05)}.history-view{background:linear-gradient(135deg,#0f1419,#1a1f2e);color:#e0e6ed;display:flex;flex-direction:column;min-height:100vh;width:100%}.history-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1f2ef2;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 24px}.history-content{flex:1 1;margin:0 auto;max-width:1000px;padding:32px;width:100%}.timeline-note{background:#4f9dff1a;border-left:4px solid #4f9dff;border-radius:6px;font-size:14px;margin-bottom:24px;padding:12px 16px}.history-timeline{display:flex;flex-direction:column;gap:16px}.history-entry{background:#1a1f2e99;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s}.history-entry:hover{background:#1a1f2ecc;border-color:#fff3}.entry-icon{flex-shrink:0;font-size:24px}.entry-content{flex:1 1}.entry-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.action-badge{background:#4f9dff33;border-radius:4px;color:#4f9dff;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.resource-type{color:#8892a6;font-size:14px}.entry-timestamp{color:#6c7a89;font-size:13px;margin-bottom:4px}.entry-title{color:#fff;font-size:15px;margin-bottom:8px}.entry-meta{color:#8892a6;font-size:12px;margin-bottom:4px}.btn-view-graph{background:linear-gradient(135deg,#4f9dff,#3b82f6);border:none;border-radius:6px;box-shadow:0 2px 6px #4f9dff4d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-top:12px;padding:8px 16px;transition:all .2s}.btn-view-graph:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #4f9dff66;transform:translateY(-1px)}.daily-snapshot{border-left:4px solid #4f9dff}.date-badge{background:linear-gradient(135deg,#4f9dff,#3b82f6);border-radius:6px;color:#fff;font-size:14px;font-weight:600;padding:6px 14px}.snapshot-stats{align-items:center;color:#a0aec0;display:flex;font-size:14px;gap:12px;margin:12px 0}.stat-item strong{color:#fff;font-size:16px}.stat-separator{color:#6c7a89}.dashboard{background:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh;padding-top:0}.dashboard-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:20px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary) 0,var(--teal-primary) 100%);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0}.user-info{align-items:center;display:flex;gap:24px}.user-info span{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);font-size:14px;font-weight:500;padding:6px 12px}.dashboard-tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:24px;overflow-x:auto;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:99}.dashboard-tabs::-webkit-scrollbar{height:4px}.dashboard-tabs::-webkit-scrollbar-track{background:var(--bg-primary)}.dashboard-tabs::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px}.dashboard-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;border-radius:0;color:var(--text-secondary);font-size:14px;font-weight:500;padding:16px 4px;position:relative;transition:all .2s ease}.dashboard-tabs button:hover{background:#0000;color:var(--primary)}.dashboard-tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.dashboard-content{flex:1 1;margin:0 auto;max-width:1400px;padding:32px;width:100%}.dashboard-content h2{align-items:center;color:var(--text-primary);display:flex;font-size:24px;font-weight:700;gap:12px;letter-spacing:-.5px;margin-bottom:24px}.dashboard-content h3{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:16px}.create-form{grid-gap:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px;padding:24px}.tag-form{gap:12px}.file-upload-form,.tag-form{align-items:flex-end;display:flex!important;flex-wrap:wrap}.file-upload-form{gap:16px}.create-form input,.create-form select,.create-form textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s ease}.create-form input:focus,.create-form select:focus,.create-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.create-form input[type=color]{cursor:pointer;height:42px;padding:2px;width:80px}.create-form input[type=file]{background:var(--bg-tertiary);cursor:pointer;padding:8px}.create-form textarea{grid-column:1/-1;min-height:120px;resize:vertical}.create-form button{align-self:end}.items-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.item-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px;transition:all .2s ease}.item-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.item-card strong{color:var(--text-primary);display:block;font-size:16px;font-weight:600;margin-bottom:8px}.item-card p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:12px}.item-card small{color:var(--text-muted);display:block;font-size:12px;margin-top:8px}.tag-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.tag-color{border:1px solid #0000001a;border-radius:6px;box-shadow:var(--shadow-sm);height:24px;width:24px}.tag-category{background:var(--primary-light);border-radius:12px;color:var(--primary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.node-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.node-type{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.info-section{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:24px}.credential-box,.info-section{border:1px solid var(--border-color);padding:24px}.credential-box{background:var(--bg-tertiary);border-radius:12px;margin-top:20px}.credential-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;margin-bottom:16px;padding-bottom:16px}.credential-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.credential-row label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;min-width:140px;text-transform:uppercase}.credential-row span{color:var(--text-primary);font-size:14px}.credential-value{align-items:center;display:flex;flex:1 1;gap:12px}.credential-value code{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--primary);flex:1 1;font-family:Fira Code,monospace;font-size:13px;padding:8px 12px;word-break:break-all}.key-preview{margin:12px 0}.key-preview code{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;padding:6px 10px}.status-active{background:var(--success-light);color:var(--success)}.status-active,.status-inactive{border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-inactive{background:var(--danger-light);color:var(--danger)}.form-group{margin-bottom:24px}.form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.uri-input-group{display:flex;gap:12px;margin-bottom:12px}.uri-input-group input{flex:1 1}.audit-table{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.audit-table thead{background:var(--bg-tertiary)}.audit-table td,.audit-table th{font-size:14px;padding:16px 20px;text-align:left}.audit-table th{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.audit-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary)}.audit-table tbody tr:last-child td{border-bottom:none}.audit-table tbody tr:hover{background:var(--bg-hover)}.docs-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:32px}.docs-section h3{color:var(--primary);font-size:20px;font-weight:600;margin-bottom:16px}.docs-section li,.docs-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.docs-section ol,.docs-section ul{margin-bottom:20px;margin-left:24px}.code-block{background:#1e293b;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;font-family:Fira Code,monospace;font-size:13px;line-height:1.6;margin:16px 0;overflow-x:auto;padding:20px}@media (max-width:1200px){.dashboard-content{padding:24px}.items-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 24px}.dashboard-tabs{padding:0 24px;top:0}.dashboard-content{padding:20px}.create-form,.items-list{grid-template-columns:1fr}.create-form{padding:20px}.credential-row{align-items:flex-start;flex-direction:column;gap:8px}.credential-value{width:100%}}.proposals-container{display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0 auto;max-width:1600px;padding:2rem}.proposals-header{margin-bottom:1.5rem}.proposals-header h1{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.proposals-header .subtitle{color:var(--text-secondary);font-size:.95rem}.proposals-layout{display:flex;flex:1 1;gap:2rem;overflow:hidden}.proposals-sidebar{border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;padding-right:1rem;width:350px}.proposals-main{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex:1 1;overflow-y:auto;padding:1.5rem}.proposals-list{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto}.proposal-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s}.proposal-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #0000000d}.proposal-item.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.proposal-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.proposal-item-header h3{color:#1f2937;font-size:.95rem;font-weight:600;line-height:1.4;margin:0}.proposal-item-meta{color:#9ca3af;font-size:.75rem}.detail-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.detail-header h2{color:#111827;font-size:1.5rem;margin:0}.approve-all-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#4b5563;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.approve-all-btn:hover{background:#f3f4f6;border-color:#9ca3af}.finalize-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background .2s}.finalize-btn:hover{background:#2563eb}.entities-list{display:flex;flex-direction:column;gap:1rem}.section-title{color:#6b7280;font-size:.9rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.entity-card-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.entity-card-container:hover{box-shadow:0 4px 6px -1px #0000001a}.entity-card-container.approved{background:#f0fdf4;border-left:4px solid #22c55e}.entity-card-container.rejected{background:#fef2f2;border-left:4px solid #ef4444}.entity-card-row{align-items:flex-start;cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem}.expand-btn{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;font-size:.8rem;height:20px;justify-content:center;margin-right:1rem;margin-top:.25rem;padding:0;transition:transform .2s;width:20px}.expand-btn.expanded{transform:rotate(90deg)}.entity-main-info{flex:1 1}.entity-header-row{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.entity-type-badge{background:#dbeafe;border-radius:4px;color:#1e40af;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.entity-title{color:#111827;font-size:1.1rem;font-weight:700}.entity-confidence{color:#9ca3af;font-size:.85rem}.entity-description{color:#4b5563;font-size:.95rem;line-height:1.5;margin-bottom:.75rem}.entity-tags-row{display:flex;flex-wrap:wrap;gap:.5rem}.tag-pill{background:#f3e8ff;border-radius:12px;color:#6b21a8;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.more-pill,.rel-pill{background:#e0f2fe;border-radius:12px;color:#0369a1;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.entity-expanded-details{border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:1.5rem;margin-top:-.5rem;padding:1.25rem 1.25rem 1.25rem 3.5rem}.detail-section h4{color:#6b7280;font-size:.85rem;font-weight:600;margin-bottom:.75rem;margin-top:0;text-transform:uppercase}.canonical-match-info{align-items:flex-start;border-radius:6px;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem}.canonical-match-info.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.canonical-match-info.warning{background:#fefce8;border:1px solid #fef08a;color:#854d0e}.canonical-match-info .icon{font-size:1.1rem}.match-score{color:#ca8a04;font-weight:600;margin-left:.5rem}.match-action{color:#a16207;font-size:.85rem;margin-top:.25rem}.relationships-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.relationships-list li{align-items:center;background:#f9fafb;border-radius:4px;color:#374151;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem}.rel-source,.rel-target{color:#111827;font-weight:600}.rel-type{background:#e5e7eb;border-radius:4px;color:#4b5563;font-size:.75rem;padding:.1rem .4rem;text-transform:uppercase}.rel-arrow{color:#9ca3af}.show-more-rels{color:#3b82f6;cursor:pointer;font-size:.85rem;padding-left:.5rem}.metadata-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-item label{color:#6b7280;font-size:.75rem;text-transform:uppercase}.meta-item span{color:#111827;font-size:.95rem;font-weight:500}.full-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.entity-actions{display:flex;gap:.75rem;margin-left:1rem}.action-btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.action-btn.approve{background:#dcfce7;color:#15803d}.action-btn.approve:hover{background:#bbf7d0}.action-btn.approve.active{background:#16a34a;color:#fff}.action-btn.reject{background:#fee2e2;color:#b91c1c}.action-btn.reject:hover{background:#fecaca}.action-btn.reject.active{background:#dc2626;color:#fff}.graph-view-toggle{background:#f9fafb;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1rem;padding:.5rem}.view-toggle-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .2s}.view-toggle-btn:hover{background:#f3f4f6;border-color:#9ca3af}.view-toggle-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.filter-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tab{background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.85rem;padding:.4rem .8rem}.filter-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.status-badge{border-radius:4px;font-size:.7rem;font-weight:700;padding:.2rem .5rem;text-transform:uppercase}.status-pending{background:#f3f4f6;color:#6b7280}.status-ready{background:#dbeafe;color:#2563eb}.status-approved{background:#dcfce7;color:#16a34a}.status-rejected{background:#fee2e2;color:#dc2626}.status-applied{background:#d1fae5;color:#059669}.empty-state,.loading{color:#9ca3af;font-size:1.1rem;padding:4rem;text-align:center}.app,.loading-screen{background:var(--bg-primary);min-height:100vh}.loading-screen{align-items:center;color:var(--primary);display:flex;font-size:1.5rem;justify-content:center}button{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-primary{background:var(--primary);box-shadow:var(--shadow-sm);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-danger{background:var(--danger);box-shadow:var(--shadow-sm);color:var(--text-inverse)}.btn-danger:hover{background:#dc2626;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-small{font-size:12px;margin-top:12px;padding:8px 16px}.btn-copy{background:var(--success);box-shadow:var(--shadow-sm);color:var(--text-inverse);font-size:12px;margin-left:10px;padding:6px 16px}.btn-copy:hover{background:#059669;box-shadow:var(--shadow-md);transform:translateY(-1px)}.error-message{background:var(--danger-light);border-left:4px solid var(--danger);color:#991b1b}.error-message,.success-message{border-radius:8px;font-size:14px;margin-bottom:24px;padding:16px 20px}.success-message{background:var(--success-light);border-left:4px solid var(--success);color:#065f46}.info-text{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.warning-text{background:var(--warning-light);border-left:4px solid var(--warning);border-radius:8px;color:#92400e;font-size:13px;margin-top:12px;padding:12px 16px}.main-navigation{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827f2;border-bottom:1px solid #00d9ff1a;box-shadow:0 4px 20px #0000004d;display:flex;height:auto;justify-content:space-between;padding:16px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-brand a{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--teal-primary) 0,var(--teal-secondary) 100%);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700;letter-spacing:-.5px;text-decoration:none}.nav-links{background:#111827cc;border:1px solid #00d9ff1a;border-radius:8px;display:flex;gap:4px;padding:4px}.nav-item{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.5px;padding:8px 16px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.nav-item:hover{background:#00d9ff0d;color:var(--teal-primary)}.nav-item.active{background:#00d9ff1a;box-shadow:0 0 10px #00d9ff1a;color:var(--teal-primary)}.nav-user{align-items:center;display:flex;gap:16px}.user-name{background:#00d9ff0d;border:1px solid #00d9ff33;border-radius:20px;color:var(--text-secondary);font-size:14px;font-weight:500;padding:6px 12px}.btn-logout{background:#ff3b301a;border:1px solid #ff3b304d;border-radius:6px;color:#ff3b30;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s}.btn-logout:hover{background:#ff3b3033;border-color:#ff3b30;box-shadow:0 0 10px #ff3b3033;color:#ff3b30}@media (max-width:768px){.main-navigation{flex-direction:column;gap:16px;padding:16px}.nav-links{justify-content:center;overflow-x:auto;width:100%}.nav-user{justify-content:space-between;width:100%}}.app-layout{background-color:#0f172a;background-color:var(--bg-primary,#0f172a);display:flex;flex-direction:column;height:100vh}.main-content{flex:1 1;overflow:auto;position:relative}