:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success-500: #22c55e;--color-warning-500: #f59e0b;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--bg-primary: #ffffff;--bg-secondary: var(--color-gray-50);--bg-tertiary: var(--color-gray-100);--bg-overlay: rgba(0, 0, 0, .5);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-tertiary: var(--color-gray-400);--border-color: var(--color-gray-200);--border-color-strong: var(--color-gray-300);--node-male: linear-gradient(135deg, #3b82f6, #1d4ed8);--node-female: linear-gradient(135deg, #ec4899, #be185d);--node-other: linear-gradient(135deg, #8b5cf6, #6d28d9);--font-family: "Outfit", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--header-height: 64px;--sidebar-width: 360px}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-overlay: rgba(0, 0, 0, .7);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border-color: #334155;--border-color-strong: #475569}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);min-height:100vh;overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.5;transform:none!important;box-shadow:none!important;filter:saturate(.45) grayscale(.2)}.btn svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 20px #3b82f64d}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background:linear-gradient(135deg,#95a8c7,#7b90ae);color:#f3f7fde6;border:1px solid rgba(120,142,175,.5)}[data-theme=dark] .btn-primary:disabled,[data-theme=dark] .btn-primary[aria-disabled=true]{background:linear-gradient(135deg,#2f3f5a,#27364f);color:#e2ecf8bf;border:1px solid rgba(120,144,179,.22)}.btn-icon:disabled,.btn-icon[aria-disabled=true]{background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-color)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--color-primary-600);border:1px solid var(--color-primary-300)}.btn-outline:hover:not(:disabled){background:var(--color-primary-50)}.btn-danger{background:linear-gradient(135deg,var(--color-danger-500),var(--color-danger-600));color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-secondary)}.btn-icon:hover:not(:disabled){background:var(--border-color-strong);color:var(--text-primary)}.btn-icon-sm{width:32px;height:32px;border-radius:var(--radius-md);background:transparent;border:1px solid transparent}.btn-icon-sm:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-color)}.btn-icon-sm svg{width:16px;height:16px}.member-actions{display:flex;gap:var(--spacing-1);opacity:0;transition:opacity var(--transition-fast)}.member-card:hover .member-actions{opacity:1}@media(max-width:900px){.member-actions{opacity:1}}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:6000;opacity:0;visibility:hidden;transition:all var(--transition-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--bg-primary);width:100%;max-width:600px;max-height:90vh;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;transform:translateY(20px);transition:all var(--transition-base);overflow:hidden}.modal-overlay.active .modal{transform:translateY(0)}.modal-sm{max-width:400px}.modal-header{padding:var(--spacing-6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.modal-title{font-size:var(--font-size-xl);font-weight:700}.modal-body{padding:var(--spacing-6);overflow-y:auto}.modal-footer{padding:var(--spacing-4) var(--spacing-6);background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label{font-size:var(--font-size-sm);font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-2) var(--spacing-3);font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.member-card{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);margin:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-xl);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;position:relative;background:transparent}.member-card:hover{background:var(--bg-secondary);transform:translate(4px)}.member-card.active{background:var(--color-primary-50);border-color:var(--color-primary-200);box-shadow:0 4px 12px #3b82f61a}[data-theme=dark] .member-card.active{background:#2563eb26;border-color:#2563eb4d}.member-avatar{width:48px;height:48px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;box-shadow:0 2px 8px #0000001a;border:2px solid var(--bg-primary)}.member-avatar.male{background:var(--node-male)}.member-avatar.female{background:var(--node-female)}.member-avatar.other{background:var(--node-other)}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-initials{font-size:13px;font-weight:800;letter-spacing:.02em;color:#fff;text-transform:uppercase}.member-info{flex:1;min-width:0}.member-name{font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-sm);letter-spacing:-.01em}.member-meta{font-size:11px;color:var(--text-tertiary);margin-top:1px;font-weight:500}.flagged-delete{opacity:.6;filter:grayscale(.5);border:1px dashed var(--color-danger-300)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.empty-icon{width:64px;height:64px;color:var(--text-tertiary);margin-bottom:var(--spacing-4);opacity:.5}.empty-text{font-weight:500;color:var(--text-secondary)}.family-switcher{position:relative;display:inline-flex}.family-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px;z-index:100}.family-dropdown.dropdown-up{top:auto;bottom:calc(100% + 8px);right:auto;left:0}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer}.dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dropdown-item.active{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:500}[data-theme=dark] .dropdown-item.active{background:#3b82f61a;color:var(--color-primary-400)}.dropdown-item svg{width:16px;height:16px}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.user-menu-container{position:relative;display:inline-flex}.user-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:240px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-2);z-index:1001;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.user-dropdown.hidden{display:none}.user-info{padding:var(--spacing-3) var(--spacing-4)}.user-email{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:500;word-break:break-all}.header-right .btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.user-profile-btn{background:var(--bg-secondary);border:1px solid var(--border-color)}.user-profile-btn:hover{background:var(--bg-tertiary);border-color:var(--color-primary-300)}.user-profile-btn svg{width:20px;height:20px}.header-middle{flex:1;display:flex;justify-content:center;align-items:center;gap:var(--spacing-3)}.family-label{font-size:var(--font-size-sm);font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.features-menu-container{position:relative;display:inline-flex}.features-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:220px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-2);z-index:1001;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.features-dropdown.hidden{display:none}.bell-btn{position:relative}.requests-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--color-error-500);color:#fff;font-size:10px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary)}#pinModeBtn.active{background:var(--color-primary-100);color:var(--color-primary-600);border-color:var(--color-primary-300)}[data-theme=dark] #pinModeBtn.active{background:#3b82f633;color:var(--color-primary-400)}.user-dropdown .dropdown-divider{height:1px;background:var(--border-color);margin:var(--spacing-2) 0}.theme-toggle svg{display:none}[data-theme=light] .theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}.photo-upload{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.photo-preview{width:120px;height:120px;border-radius:var(--radius-lg);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border:2px dashed var(--border-color)}.photo-placeholder{width:48px;height:48px;color:var(--text-tertiary)}.photo-img{width:100%;height:100%;object-fit:cover;display:none}.photo-preview.has-photo .photo-img{display:block}.photo-preview.has-photo .photo-placeholder{display:none}.photo-actions{display:flex;gap:var(--spacing-2)}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--spacing-6);background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100}.header-left,.header-right{display:flex;align-items:center;gap:var(--spacing-4)}.header-right{gap:var(--spacing-2)}.logo{display:flex;align-items:center;gap:var(--spacing-3)}.logo-icon{width:32px;height:32px;color:var(--color-primary-500)}.logo-text{font-size:var(--font-size-xl);font-weight:700;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:var(--spacing-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.sidebar-title{font-size:var(--font-size-lg);font-weight:600}.search-box{position:relative;padding:var(--spacing-4);border-bottom:1px solid var(--border-color)}.search-icon{position:absolute;left:calc(var(--spacing-4) + var(--spacing-3));top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-tertiary);pointer-events:none;z-index:1}.search-input{width:100%;padding:var(--spacing-2) var(--spacing-3) var(--spacing-2) calc(var(--spacing-3) + 24px);font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:var(--text-tertiary)}.member-list{flex:1;overflow-y:auto;padding:var(--spacing-2)}.tree-container{flex:1;position:relative;background:var(--bg-secondary);overflow:hidden}#treeCanvas{width:100%;height:100%;cursor:grab}.tree-controls{position:absolute;top:var(--spacing-4);right:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2);z-index:10}.tree-breadcrumb{position:absolute;top:var(--spacing-4);left:var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-2);z-index:10;background:var(--bg-primary);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:calc(100% - 120px);overflow-x:auto;border:1px solid var(--border-color)}.requests-badge{position:absolute;top:-5px;right:-5px;background:var(--color-danger-500);color:#fff;border-radius:var(--radius-full);font-size:10px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-weight:700}.header-right .btn-icon{position:relative}.mobile-only-btn{display:none}@media(max-width:900px){.mobile-only-btn{display:flex}.header{padding:0 var(--spacing-3);height:60px;gap:var(--spacing-2)}.logo-text{font-size:16px}.header-middle{display:none}.header-right{gap:6px}.header-divider{display:none}.main{position:relative;overflow:hidden}.sidebar{position:absolute;top:0;left:0;bottom:0;width:300px;max-width:85vw;z-index:1100;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:20px 0 60px #00000080;border-right:1px solid var(--border-color)}.sidebar.active{transform:translate(0)}@media(max-width:480px){.logo-text{display:none}.header-left{gap:4px}.btn-icon{width:36px;height:36px}}}.mobile-only{display:none}@media(max-width:900px){.mobile-only{display:block}}.sidebar-family-context{padding:var(--spacing-4);background:var(--bg-primary);border-top:1px solid var(--border-color)}.sidebar-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:var(--spacing-2)}.family-btn-mobile{width:100%;justify-content:space-between;padding:10px 16px;border-radius:var(--radius-lg);font-weight:600}.sidebar-divider{height:1px;background:var(--border-color);margin:0 -16px 16px}.orbital-container{flex:1;position:relative;background:var(--bg-secondary);overflow:hidden;display:flex;flex-direction:column}#orbitalCanvas{width:100%;height:100%;cursor:grab}#orbitalCanvas:active{cursor:grabbing}.orbital-empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--bg-secondary);z-index:5}.empty-content{max-width:400px;padding:2rem}.empty-content .empty-icon{width:80px;height:80px;color:var(--color-primary-300);margin-bottom:2rem}.recenter-btn{position:absolute;bottom:2rem;left:2rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-full);box-shadow:var(--shadow-xl);cursor:pointer;z-index:10;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:600;font-family:inherit;color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recenter-btn:hover{transform:translateY(-2px);color:var(--color-primary-600);border-color:var(--color-primary-300)}.zoom-controls{position:absolute;bottom:2rem;right:2rem;display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.zoom-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.zoom-btn:hover{background:var(--bg-tertiary);color:var(--color-primary-600)}.zoom-btn svg{width:20px;height:20px}.zoom-divider{height:1px;background:var(--border-color)}.recenter-btn svg{width:18px;height:18px}.toast-container{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);display:flex;flex-direction:column-reverse;gap:var(--spacing-3);z-index:2000}.toast{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-primary-500);min-width:280px;max-width:400px;animation:slideIn var(--transition-base) ease-out}.toast.success{border-left-color:var(--color-success-500)}.toast.warning{border-left-color:var(--color-warning-500)}.toast.error{border-left-color:var(--color-danger-500)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.context-menu-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.context-menu-overlay:not(.hidden){opacity:1;visibility:visible}.context-menu{position:relative;width:400px;height:400px}.context-menu-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:100px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2);border:2px solid var(--border-color-strong);z-index:10}.context-person-avatar{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-lg);color:#fff;background:var(--node-other)}.context-person-avatar.male{background:var(--node-male)}.context-person-avatar.female{background:var(--node-female)}.context-person-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;text-align:center}.context-btn{position:absolute;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;transform:scale(.8);animation:contextBtnIn .3s ease forwards}.context-btn:hover{transform:scale(1.05)!important;box-shadow:var(--shadow-lg)}@keyframes contextBtnIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.context-btn-father{top:20px;left:50px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.context-btn-mother{top:20px;right:50px;background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.context-btn-brother{top:120px;left:0;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}.context-btn-sister{top:220px;left:0;background:linear-gradient(135deg,#f472b6,#ec4899);color:#fff}.context-btn-partner{top:165px;right:0;background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.context-btn-son{bottom:20px;left:80px;background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.context-btn-daughter{bottom:20px;right:80px;background:linear-gradient(135deg,#f9a8d4,#f472b6);color:#fff}.context-btn-edit{bottom:80px;left:50%;transform:translate(-50%);background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color-strong)}.shortcuts-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;transition:all var(--transition-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shortcuts-overlay:not(.hidden){opacity:1;visibility:visible}.shortcuts-panel{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:calc(100% - 32px);max-height:calc(100vh - 64px);overflow:auto;transform:scale(.95);transition:transform var(--transition-base)}.shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-3);padding:var(--spacing-6)}.shortcut-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-3);background:var(--bg-secondary);border-radius:var(--radius-md)}kbd{font-family:monospace;font-size:var(--font-size-xs);font-weight:600;padding:var(--spacing-1) var(--spacing-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 2px 0 var(--border-color);white-space:nowrap}.node-tooltip{position:fixed;z-index:1000;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-2xl);box-shadow:0 10px 40px -10px #00000026;width:240px;padding:var(--spacing-4);pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);transform:scale(.95);opacity:0}[data-theme=dark] .node-tooltip{background:#1e293bd9;border-color:#ffffff1a;box-shadow:0 20px 50px #0006}.node-tooltip:not(.hidden){opacity:1;transform:scale(1);pointer-events:auto}.tooltip-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.tooltip-avatar{width:48px;height:48px;border-radius:var(--radius-lg);border:2px solid white;box-shadow:var(--shadow-sm)}.app-tour-overlay{position:fixed;inset:0;z-index:5000}.app-tour-backdrop{position:absolute;inset:0;background:#0206178f;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.app-tour-popover{position:fixed;width:min(390px,calc(100vw - 24px));background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color-strong);border-radius:14px;box-shadow:var(--shadow-xl);padding:14px;z-index:5001}.app-tour-count{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:6px;font-weight:700}.app-tour-title{margin:0 0 6px;font-size:17px}.app-tour-description{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.app-tour-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.app-tour-actions .btn{min-height:34px;padding:6px 12px;font-size:12px}.tour-target-active{position:relative;z-index:5002!important;box-shadow:0 0 0 2px #22c55ed1,0 0 0 8px #22c55e33;border-radius:10px}html[data-theme=dark] .app-tour-backdrop{background:#020617ad}html[data-theme=dark] .app-tour-popover{background:#09141cf2;border-color:#255443}@media(max-width:640px){.app-tour-popover{width:calc(100vw - 20px);padding:14px}.app-tour-title{font-size:16px}.app-tour-description{font-size:13px}}.login-screen{position:fixed;inset:0;z-index:5000;background-color:#0f172a;color:#f8fafc;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:var(--spacing-4);font-family:Outfit,sans-serif}.login-bg-pattern{position:absolute;inset:0;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);z-index:-1;filter:blur(80px)}[data-theme=dark] .login-bg-pattern{opacity:.1}.login-container{width:100%;max-width:1000px;display:grid;grid-template-columns:1.1fr .9fr;gap:var(--spacing-8);align-items:stretch}.login-info{padding:var(--spacing-8);display:flex;flex-direction:column;justify-content:center;animation:slideInLeft .6s ease-out}.login-info-title{font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:var(--spacing-8);background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-feature{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding:var(--spacing-4);background:#ffffff12;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.16);transition:transform .3s ease}.login-feature:hover{transform:translate(10px)}.login-feature-icon{font-size:1.5rem;width:48px;height:48px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.login-feature-text h3{font-size:var(--font-size-lg);font-weight:700;margin-bottom:4px}.login-feature-text p{font-size:var(--font-size-sm);color:#f8fafcb8;line-height:1.6}.login-card{background:#1e293bb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--spacing-8);border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;animation:slideInRight .6s cubic-bezier(.16,1,.3,1)}.login-logo{text-align:center;margin-bottom:var(--spacing-8)}.login-logo-icon{width:64px;height:64px;color:var(--color-primary-500);margin-bottom:var(--spacing-2);filter:drop-shadow(0 0 15px rgba(59,130,246,.5))}.login-title{font-size:2.25rem;font-weight:800;margin-bottom:4px;background:linear-gradient(135deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);letter-spacing:.02em}.auth-tabs{display:flex;margin-bottom:var(--spacing-8);background:#0f172a99;padding:4px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.05)}.auth-tab{flex:1;padding:12px;border:none;background:transparent;color:#fff9;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-tab.active{background:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb4d}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-6)}.auth-form.hidden{display:none}.login-field{display:flex;flex-direction:column;gap:8px}.login-label{font-size:var(--font-size-sm);font-weight:600;color:#fffc;padding-left:4px}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#fff6;transition:color .2s ease}.login-input{width:100%;padding:14px 48px 14px 52px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);background:#0f172a66;color:#fff;font-family:inherit;font-size:var(--font-size-base);transition:all .2s ease}.login-input:focus{outline:none;background:#0f172a99;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}.login-input:focus+.login-input-icon{color:#3b82f6}.password-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;color:#fff6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:5;border-radius:var(--radius-full)}.password-toggle:hover{color:#fff;background:#ffffff1a}.login-btn{margin-top:var(--spacing-2);width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:var(--radius-xl);font-weight:700;font-size:1.1rem;cursor:pointer;box-shadow:0 10px 25px -5px #2563eb66;transition:all .3s cubic-bezier(.4,0,.2,1)}.login-btn svg{width:24px;height:24px;transition:transform .2s ease}.login-btn:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 15px 30px -5px #2563eb80}.login-btn:active{transform:translateY(0)}.login-error{background:#ef44441a;color:#ef4444;padding:14px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);text-align:center;border:1px solid rgba(239,68,68,.2);animation:shake .5s ease-in-out}.auth-footer-link{text-align:center;margin-top:var(--spacing-4)}.auth-footer-link a{color:#3b82f6;text-decoration:none;font-size:var(--font-size-sm);font-weight:600;transition:color .2s ease}.auth-footer-link a:hover{color:#60a5fa}.login-footer{margin-top:var(--spacing-10);text-align:center;border-top:1px solid rgba(255,255,255,.05);padding-top:var(--spacing-6)}.secure-tag{display:flex;align-items:center;justify-content:center;gap:8px;color:#ffffff4d;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.secure-tag svg{width:14px;height:14px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.onboarding-actions{display:flex;flex-direction:column;gap:var(--spacing-4)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media(max-width:900px){.login-container{grid-template-columns:1fr;max-width:500px}.login-info{display:none}}.relationship-results{margin-top:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-4)}.path-container{background:var(--bg-secondary);padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-base)}.path-container:hover{border-color:var(--color-primary-300)}.path-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);font-weight:700;font-size:var(--font-size-base)}.path-paternal{color:var(--color-primary-600)}.path-maternal{color:var(--color-success-500)}.path-other{color:var(--color-warning-500)}.path-reasoning{font-family:monospace;font-size:var(--font-size-xs);white-space:pre-wrap;background:var(--bg-tertiary);padding:var(--spacing-3);border-radius:var(--radius-sm);color:var(--text-secondary);line-height:1.6}.relationship-tooltip{position:absolute;bottom:30px;right:30px;left:auto;transform:none;z-index:1000;width:380px;max-width:calc(100% - 60px);background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;border:1px solid rgba(255,255,255,.4);box-shadow:0 25px 50px #0000001f,0 1px 2px #0000000d;padding:24px;display:none;animation:hud-rise .5s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .relationship-tooltip{background:#0f172abf;border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 50px #0006}.relationship-tooltip.active{display:block}.tooltip-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:10px}[data-theme=dark] .tooltip-header-row{border-bottom-color:#ffffff14}.tooltip-label-tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary-500)}.tooltip-content-card{position:relative;padding-left:18px}.tooltip-accent-bar{position:absolute;left:0;top:2px;bottom:2px;width:4px;background:#f59e0b;border-radius:4px;box-shadow:0 0 10px #f59e0b4d}.tooltip-title{font-size:18px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:10px;color:var(--text-primary)}.tooltip-path{font-size:13px;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;font-weight:500}@keyframes hud-rise{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.family-code-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.family-code-label{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-tertiary);display:block;margin-bottom:var(--spacing-2);letter-spacing:.05em}.family-code-container{display:flex;align-items:center;gap:var(--spacing-2)}.family-code-display{flex:1;font-size:var(--font-size-xl);font-weight:800;letter-spacing:4px;padding:var(--spacing-2) var(--spacing-3);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:monospace;text-align:center}.family-code-hint{font-size:11px;color:var(--text-tertiary);margin-top:var(--spacing-2);font-style:italic}.admin-member-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-2)}.admin-member-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.admin-member-card:hover{border-color:var(--color-primary-300)}.role-select{padding:6px 32px 6px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all var(--transition-fast)}.role-select:hover:not(:disabled){border-color:var(--color-primary-400)}.role-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px #3b82f633}.role-select:disabled{opacity:.6;cursor:not-allowed;background-image:none;padding-right:12px}.remove-member-btn{padding:6px 12px;color:var(--color-danger-500);font-weight:500}.remove-member-btn:hover:not(:disabled){background:var(--color-danger-500);color:#fff}body.design-v2{--color-primary-50: #eefaf8;--color-primary-100: #d9f3ef;--color-primary-200: #bfe7de;--color-primary-300: #8ed4c5;--color-primary-400: #47b79f;--color-primary-500: #0f766e;--color-primary-600: #0d5f59;--color-primary-700: #0b4f49;--bg-primary: #fffdf8;--bg-secondary: #f6f1e8;--bg-tertiary: #efe7da;--bg-overlay: rgba(20, 17, 15, .45);--text-primary: #171412;--text-secondary: #4f4742;--text-tertiary: #7d736d;--border-color: #ded4c5;--border-color-strong: #cbbca9;--node-male: linear-gradient(135deg, #0f766e, #0d5f59);--node-female: linear-gradient(135deg, #ea580c, #c2410c);--node-other: linear-gradient(135deg, #1d4ed8, #1e40af);background:radial-gradient(circle at 0% 0%,rgba(249,115,22,.1),transparent 35%),radial-gradient(circle at 100% 15%,rgba(15,118,110,.14),transparent 30%),var(--bg-secondary)}body.design-v2 #app{-webkit-backdrop-filter:saturate(105%);backdrop-filter:saturate(105%)}body.design-v2 .header{background:#fffdf8e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(203,188,169,.7)}body.design-v2 .logo-text{background:linear-gradient(135deg,#0f766e,#ea580c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.design-v2 .logo-icon{color:#0f766e}body.design-v2 .sidebar{background:#fffdf8f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body.design-v2 .search-input,body.design-v2 .form-input,body.design-v2 .form-select,body.design-v2 .form-textarea{background:#fff;border-color:#d8ccbb}body.design-v2 .search-input:focus,body.design-v2 .form-input:focus,body.design-v2 .form-select:focus,body.design-v2 .form-textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24}body.design-v2 .btn-primary,body.design-v2 .login-btn,body.design-v2 .auth-tab.active{background:linear-gradient(135deg,#0f766e,#0d5f59);box-shadow:0 10px 24px #0f766e47}body.design-v2 .btn-primary:hover:not(:disabled),body.design-v2 .login-btn:hover{background:linear-gradient(135deg,#0d5f59,#0b4f49);box-shadow:0 14px 30px #0f766e52}body.design-v2 .btn:disabled,body.design-v2 .btn[aria-disabled=true]{opacity:.46;filter:saturate(.42) grayscale(.25);box-shadow:none!important}body.design-v2 .btn-primary:disabled,body.design-v2 .btn-primary[aria-disabled=true]{background:linear-gradient(135deg,#8aa5a0,#708782);color:#f8fdfbe6;border:1px solid rgba(65,95,88,.42)}body.design-v2 .btn-icon:disabled,body.design-v2 .btn-icon[aria-disabled=true]{background:#ece3d5;color:#9a8f84;border-color:#d6c8b6}body.design-v2 .btn-outline{color:#0f766e;border-color:#9dcfc4;background:#fff9}body.design-v2 .btn-outline:hover:not(:disabled){background:#e6f5f2}body.design-v2 .btn-icon{background:#f2ece2;color:#4f4742}body.design-v2 .btn-icon:hover:not(:disabled){background:#e6ddcf;color:#171412}body.design-v2 .member-card{background:#ffffff9e;border:1px solid transparent}body.design-v2 .member-card:hover{transform:translate(2px);border-color:#d6c7b4;background:#fff}body.design-v2 .member-card.active{background:linear-gradient(135deg,#f0faf7,#fff5ea);border-color:#9dcfc4;box-shadow:0 8px 20px #0f766e1a}body.design-v2 .family-dropdown,body.design-v2 .user-dropdown,body.design-v2 .features-dropdown,body.design-v2 .modal,body.design-v2 .shortcuts-panel,body.design-v2 .relationship-tooltip,body.design-v2 .node-tooltip{border-color:#cbbca9e6;background:#fffdf8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.design-v2 .dropdown-item.active{background:linear-gradient(135deg,#e8f6f2,#fff1e4);color:#0d5f59}body.design-v2 .orbital-container,body.design-v2 .orbital-empty-state{background:radial-gradient(circle at 20% 8%,rgba(249,115,22,.08),transparent 30%),radial-gradient(circle at 80% 5%,rgba(15,118,110,.11),transparent 28%),#f4efe5}body.design-v2 .recenter-btn,body.design-v2 .zoom-controls{background:#fffdf8e6;border-color:#d8ccbb}body.design-v2 .zoom-btn:hover,body.design-v2 .recenter-btn:hover{color:#0f766e;border-color:#9dcfc4}body.design-v2 .modal-header,body.design-v2 .modal-footer,body.design-v2 .sidebar-header,body.design-v2 .search-box{border-color:#e1d7c9}body.design-v2 .modal-footer{background:#f8f2e8}body.design-v2 .path-container,body.design-v2 .family-code-section,body.design-v2 .admin-member-card{background:#fffaf2;border-color:#e1d7c9}body.design-v2 .path-container:hover,body.design-v2 .admin-member-card:hover{border-color:#9dcfc4}body.design-v2 .path-reasoning{background:#f5eee3;color:#4f4742}body.design-v2 .login-screen{background:radial-gradient(circle at 15% 10%,rgba(249,115,22,.12),transparent 35%),radial-gradient(circle at 85% 10%,rgba(15,118,110,.16),transparent 35%),#1f1a17;color:#f8f3eb}body.design-v2 .login-bg-pattern{background:radial-gradient(circle,rgba(15,118,110,.24) 0%,transparent 70%)}body.design-v2 .login-card{background:#1b1613c7;border:1px solid rgba(255,235,210,.13)}body.design-v2 .login-title,body.design-v2 .login-info-title{background:linear-gradient(135deg,#f9fafb,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.design-v2 .login-feature{background:#ffffff0f;border-color:#fff0db1f}body.design-v2 .login-input{background:#ffffff14;border-color:#ffefd838}body.design-v2 .login-input:focus{border-color:#2dd4bf;box-shadow:0 0 0 4px #2dd4bf26}body.design-v2 .onboarding-actions .login-btn.secondary{background:transparent;border:1px solid rgba(255,239,216,.35);color:#f8f3eb;box-shadow:none}@media(max-width:900px){body.design-v2 .sidebar{background:#fffdf8f7}}html[data-theme=dark] body.design-v2{--bg-primary: #10231f;--bg-secondary: #0a1a17;--bg-tertiary: #17322d;--bg-overlay: rgba(5, 14, 12, .62);--text-primary: #e9f8f4;--text-secondary: #a8c7be;--text-tertiary: #79a297;--border-color: #254940;--border-color-strong: #316257;--color-primary-500: #22c55e;--color-primary-600: #16a34a;--color-primary-700: #15803d;--node-male: linear-gradient(135deg, #1f8b6b, #166a50);--node-female: linear-gradient(135deg, #2b7a64, #1d5f4d);--node-other: linear-gradient(135deg, #2f6f5d, #1f5547);background:radial-gradient(circle at 80% 10%,rgba(34,197,94,.17),transparent 28%),radial-gradient(circle at 8% 8%,rgba(45,212,191,.14),transparent 22%),#081411}html[data-theme=dark] body.design-v2 .header{background:#0a1916e6;border-bottom:1px solid #254940}html[data-theme=dark] body.design-v2 .logo-text{background:linear-gradient(135deg,#5eead4,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html[data-theme=dark] body.design-v2 .logo-icon{color:#34d399}html[data-theme=dark] body.design-v2 .sidebar{background:#081815f5;border-right:1px solid #254940}html[data-theme=dark] body.design-v2 .sidebar-header,html[data-theme=dark] body.design-v2 .search-box,html[data-theme=dark] body.design-v2 .modal-header,html[data-theme=dark] body.design-v2 .modal-footer{border-color:#254940}html[data-theme=dark] body.design-v2 .btn-icon{background:#1f3b35;color:#b6d4cb}html[data-theme=dark] body.design-v2 .btn-icon:hover:not(:disabled){background:#2a4d45;color:#ecfff9}html[data-theme=dark] body.design-v2 .btn-primary,html[data-theme=dark] body.design-v2 .login-btn,html[data-theme=dark] body.design-v2 .auth-tab.active{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 14px 30px #16a34a59}html[data-theme=dark] body.design-v2 .btn-primary:disabled,html[data-theme=dark] body.design-v2 .btn-primary[aria-disabled=true]{background:linear-gradient(135deg,#2a5246,#223f37);color:#d2ebe0bd;border:1px solid rgba(110,156,138,.2)}html[data-theme=dark] body.design-v2 .btn-icon:disabled,html[data-theme=dark] body.design-v2 .btn-icon[aria-disabled=true]{background:#19342e;color:#6f9388;border-color:#2b554a}html[data-theme=dark] body.design-v2 .search-input,html[data-theme=dark] body.design-v2 .form-input,html[data-theme=dark] body.design-v2 .form-select,html[data-theme=dark] body.design-v2 .form-textarea{background:#1a332d;border-color:#346257;color:#e9f8f4}html[data-theme=dark] body.design-v2 .search-input::placeholder{color:#86aca1}html[data-theme=dark] body.design-v2 .search-input:focus,html[data-theme=dark] body.design-v2 .form-input:focus,html[data-theme=dark] body.design-v2 .form-select:focus,html[data-theme=dark] body.design-v2 .form-textarea:focus{border-color:#4ade80;box-shadow:0 0 0 3px #4ade802e}html[data-theme=dark] body.design-v2 .member-card{background:transparent}html[data-theme=dark] body.design-v2 .member-card:hover{background:#18352e8c;border-color:#35675b}html[data-theme=dark] body.design-v2 .member-card.active{background:linear-gradient(135deg,#18594680,#103a2e73);border-color:#4ea68d;box-shadow:0 10px 24px #0a221c73}html[data-theme=dark] body.design-v2 .member-meta{color:#90b4a9}html[data-theme=dark] body.design-v2 .member-avatar{border-color:#24483f;box-shadow:0 0 0 2px #34d39924,0 8px 20px #04110e73}html[data-theme=dark] body.design-v2 .family-dropdown,html[data-theme=dark] body.design-v2 .user-dropdown,html[data-theme=dark] body.design-v2 .features-dropdown,html[data-theme=dark] body.design-v2 .modal,html[data-theme=dark] body.design-v2 .shortcuts-panel,html[data-theme=dark] body.design-v2 .relationship-tooltip,html[data-theme=dark] body.design-v2 .node-tooltip{background:#0b1f1bf0;border-color:#2f5b50}html[data-theme=dark] body.design-v2 .dropdown-item.active{background:#1e644d6b;color:#baf8dd}html[data-theme=dark] body.design-v2 .orbital-container,html[data-theme=dark] body.design-v2 .orbital-empty-state{background:radial-gradient(circle at 62% 76%,rgba(45,212,191,.13),transparent 26%),radial-gradient(circle at 84% 82%,rgba(34,197,94,.18),transparent 30%),linear-gradient(90deg,#081a17,#0a201c 56%,#113128)}html[data-theme=dark] body.design-v2 .recenter-btn,html[data-theme=dark] body.design-v2 .zoom-controls{background:#0c231ee0;border-color:#316257}html[data-theme=dark] body.design-v2 .zoom-btn:hover,html[data-theme=dark] body.design-v2 .recenter-btn:hover{color:#86efac;border-color:#4ea68d}@media(max-width:900px){html[data-theme=dark] body.design-v2 .sidebar{background:#081815fa}}
