.rn-backdrop[data-v-1e7f8ece]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:600;animation:fadeIn-1e7f8ece .2s ease}.rn-modal[data-v-1e7f8ece]{background:var(--surface);border-radius:16px;box-shadow:0 24px 64px #00000047;width:560px;max-width:94vw;padding:28px 28px 24px;max-height:90vh;display:flex;flex-direction:column;animation:popIn-1e7f8ece .2s ease-out}.rn-body[data-v-1e7f8ece]{overflow-y:auto;flex:1;min-height:0}.rn-header[data-v-1e7f8ece]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rn-title[data-v-1e7f8ece]{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;color:var(--text)}.rn-close[data-v-1e7f8ece]{background:none;border:none;font-size:1.6rem;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.rn-close[data-v-1e7f8ece]:hover{color:var(--text)}.rn-subtitle[data-v-1e7f8ece]{font-size:.85rem;color:var(--text-secondary);margin:0 0 20px}.rn-pickers[data-v-1e7f8ece]{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}.rn-picker-wrap[data-v-1e7f8ece]{flex:1;min-width:0}.rn-label[data-v-1e7f8ece]{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}.rn-picker[data-v-1e7f8ece]{position:relative}.rn-input[data-v-1e7f8ece]{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:.88rem;background:var(--card-bg);color:var(--text);outline:none;box-sizing:border-box;transition:border-color .15s}.rn-input[data-v-1e7f8ece]:focus{border-color:var(--primary)}.rn-dropdown[data-v-1e7f8ece]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:20;max-height:200px;overflow-y:auto}.rn-drop-item[data-v-1e7f8ece]{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;text-align:left;font-size:.88rem;color:var(--text);transition:background .1s}.rn-drop-item[data-v-1e7f8ece]:hover{background:var(--card-bg)}.rn-drop-avatar[data-v-1e7f8ece]{width:28px;height:28px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff}.rn-drop-empty[data-v-1e7f8ece]{padding:10px 12px;font-size:.85rem;color:var(--text-secondary)}.rn-chip[data-v-1e7f8ece]{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--card-bg);border:1.5px solid var(--primary);border-radius:8px}.rn-chip-avatar[data-v-1e7f8ece]{width:28px;height:28px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff}.rn-chip-name[data-v-1e7f8ece]{flex:1;font-size:.88rem;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rn-chip-clear[data-v-1e7f8ece]{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.1rem;padding:0;line-height:1;flex-shrink:0}.rn-chip-clear[data-v-1e7f8ece]:hover{color:var(--text)}.rn-swap[data-v-1e7f8ece]{margin-top:22px;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid var(--border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.rn-swap[data-v-1e7f8ece]:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.rn-swap[data-v-1e7f8ece]:disabled{opacity:.4;cursor:default}.rn-result[data-v-1e7f8ece]{background:var(--card-bg);border-radius:12px;padding:18px 20px;border:1.5px solid var(--border);animation:popIn-1e7f8ece .2s ease-out}.rn-result-badge-row[data-v-1e7f8ece]{margin-bottom:10px}.rn-result-badge[data-v-1e7f8ece]{display:inline-block;padding:4px 14px;background:var(--primary);color:#fff;border-radius:20px;font-size:.85rem;font-weight:700;letter-spacing:.02em}.rn-narrative[data-v-1e7f8ece]{margin:0 0 14px;font-size:.97rem;color:var(--text);line-height:1.6}.rn-path-wrap[data-v-1e7f8ece]{border-top:1px solid var(--border);padding-top:12px}.rn-path-label[data-v-1e7f8ece]{font-size:.73rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.rn-path[data-v-1e7f8ece]{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.rn-path-node[data-v-1e7f8ece]{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:60px;max-width:90px}.rn-path-dot[data-v-1e7f8ece]{width:10px;height:10px;border-radius:50%;background:var(--border);flex-shrink:0}.rn-path-node.start .rn-path-dot[data-v-1e7f8ece],.rn-path-node.end .rn-path-dot[data-v-1e7f8ece]{background:var(--primary);width:12px;height:12px}.rn-path-node.ancestor .rn-path-dot[data-v-1e7f8ece]{background:#f59e0b;width:14px;height:14px;box-shadow:0 0 0 3px #f59e0b33}.rn-path-name[data-v-1e7f8ece]{font-size:.72rem;color:var(--text-secondary);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rn-path-node.start .rn-path-name[data-v-1e7f8ece],.rn-path-node.end .rn-path-name[data-v-1e7f8ece]{color:var(--primary);font-weight:600}.rn-path-node.ancestor .rn-path-name[data-v-1e7f8ece]{color:#b45309;font-weight:700}.rn-path-arrow[data-v-1e7f8ece]{color:var(--text-secondary);display:flex;align-items:center;margin-top:-14px}.rn-empty[data-v-1e7f8ece],.rn-no-result[data-v-1e7f8ece],.rn-same-person[data-v-1e7f8ece]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;color:var(--text-secondary);text-align:center}.rn-empty p[data-v-1e7f8ece],.rn-no-result p[data-v-1e7f8ece],.rn-same-person p[data-v-1e7f8ece]{font-size:.88rem;margin:0;max-width:320px;line-height:1.5}.rn-same-person[data-v-1e7f8ece]{background:#fffbeb;border-radius:12px;border:1.5px solid #fde68a;color:#92400e}.rn-same-person svg[data-v-1e7f8ece]{stroke:#f59e0b}@media (max-width: 520px){.rn-modal[data-v-1e7f8ece]{padding:20px 16px}.rn-pickers[data-v-1e7f8ece]{flex-direction:column}.rn-swap[data-v-1e7f8ece]{margin-top:0;align-self:center;transform:rotate(90deg)}}@keyframes fadeIn-1e7f8ece{0%{opacity:0}to{opacity:1}}@keyframes popIn-1e7f8ece{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.tree-loader{display:inline-flex;align-items:center;justify-content:center;margin:0 auto}@keyframes tl-fade{0%{opacity:0}12%{opacity:1}71%{opacity:1}to{opacity:0}}@keyframes tl-canopy{0%{opacity:0}33%{opacity:0}46%{opacity:.5}71%{opacity:.5}to{opacity:0}}@keyframes tl-leaf{0%{transform:scale(0);opacity:0}25%{transform:scale(0);opacity:0}38%{transform:scale(1.15);opacity:.9}42%{transform:scale(1);opacity:.9}71%{transform:scale(1);opacity:.9}to{transform:scale(.5);opacity:0}}.pip-backdrop[data-v-c399243f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.pip[data-v-c399243f]{background:var(--surface, #fff);border-radius:14px;box-shadow:0 20px 60px #00000040;width:380px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:24px;position:relative;animation:pipIn-c399243f .2s ease-out}@keyframes pipIn-c399243f{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.pip-close[data-v-c399243f]{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #64748b);cursor:pointer;line-height:1;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.pip-close[data-v-c399243f]:hover{color:var(--text, #1e293b)}.pip-header[data-v-c399243f]{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border, #e2e8f0)}.pip-photo[data-v-c399243f]{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border, #e2e8f0);flex-shrink:0}.pip-photo-default[data-v-c399243f]{opacity:.75}.pip-name[data-v-c399243f]{margin:0 0 4px;font-size:1.1rem;color:var(--text, #1e293b)}.pip-badges[data-v-c399243f]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pip-gender-badge[data-v-c399243f]{font-size:.75rem;padding:2px 8px;border-radius:10px;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.pip-gender-badge.male[data-v-c399243f]{background:#dbeafe;color:#1d4ed8}.pip-gender-badge.female[data-v-c399243f]{background:#fce7f3;color:#be185d}.pip-gender-badge.other[data-v-c399243f]{background:#f3f4f6;color:#374151}.pip-deceased-tag[data-v-c399243f]{display:inline-block;background:#fef2f2;color:#991b1b;font-size:.75rem;padding:1px 8px;border-radius:10px;font-weight:500}.pip-body[data-v-c399243f]{display:flex;flex-direction:column;gap:10px}.pip-row[data-v-c399243f]{display:flex;gap:10px;font-size:.88rem;color:var(--text, #1e293b);line-height:1.4}.pip-label[data-v-c399243f]{min-width:110px;font-weight:500;color:var(--text-secondary, #64748b);flex-shrink:0;display:flex;align-items:center;gap:5px}.pip-empty[data-v-c399243f]{text-align:center;color:var(--text-secondary, #64748b);font-size:.85rem;padding:16px 0}@media (max-width: 480px){.pip-backdrop[data-v-c399243f]{align-items:flex-end;padding:0}.pip[data-v-c399243f]{width:100%;max-width:100%;border-radius:14px 14px 0 0;max-height:85vh;padding:20px 16px}.pip-label[data-v-c399243f]{min-width:90px}}.pip-row>span[data-v-c399243f]:last-child{word-break:break-word;overflow-wrap:anywhere;min-width:0}@media (max-width: 767px) and (min-width: 481px){.pip-backdrop[data-v-c399243f]{align-items:flex-end;padding:0}.pip[data-v-c399243f]{width:100%;max-width:100%;border-radius:14px 14px 0 0;max-height:85vh}}@media (max-width: 360px){.pip-row[data-v-c399243f]{flex-direction:column;gap:2px}.pip-label[data-v-c399243f]{min-width:unset}}.pip-drill-btn[data-v-c399243f]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:10px 16px;background:#eef2ff;color:#4338ca;border:1.5px solid #c7d2fe;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.pip-drill-btn[data-v-c399243f]:hover{background:#e0e7ff;border-color:#a5b4fc}.tree-node-wrapper[data-v-985c43c0]{display:flex;flex-direction:column;align-items:center;position:relative;width:max-content;transition:width .35s cubic-bezier(.4,0,.2,1)}.family-container[data-v-985c43c0]{background:transparent;border:none;border-radius:4px;padding:0;box-shadow:none;position:relative;cursor:default;display:inline-flex;flex-direction:column;align-items:center}.person-node.search-match[data-v-985c43c0]:before{content:"";position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-60%);border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,rgba(129,140,248,.14) 55%,transparent 75%);animation:halo-aura-985c43c0 1.8s ease-in-out infinite;pointer-events:none;z-index:-1}.person-node.search-match .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 5px #f59e0b,0 0 0 12px #f59e0b66,0 0 40px #f59e0bbf,0 0 60px #f59e0b4d!important;animation:highlight-pulse-985c43c0 1.6s ease-in-out infinite;position:relative;z-index:2}.person-node.search-match .node-name[data-v-985c43c0]{color:#d97706;text-shadow:0 0 8px rgba(245,158,11,.65),0 0 18px rgba(245,158,11,.35)}@keyframes highlight-pulse-985c43c0{0%,to{box-shadow:0 0 0 5px #f59e0b,0 0 0 12px #f59e0b66,0 0 40px #f59e0bbf,0 0 60px #f59e0b4d!important}50%{box-shadow:0 0 0 7px #fbbf24,0 0 0 16px #fbbf2459,0 0 56px #f59e0bd9,0 0 80px #f59e0b66!important}}@keyframes halo-aura-985c43c0{0%,to{opacity:.8;transform:translate(-50%,-60%) scale(1)}50%{opacity:1;transform:translate(-50%,-60%) scale(1.18)}}.family-container.collapsed .person-node[data-v-985c43c0]{opacity:1}.couple-row[data-v-985c43c0]{display:flex;align-items:flex-start;gap:0}.person-node[data-v-985c43c0]{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;width:110px;overflow:visible}.node-avatar[data-v-985c43c0]{width:88px;height:88px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;cursor:pointer;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease;box-shadow:0 0 0 3px #94a3b866,0 4px 14px #0000001f}.person-node.male .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 3.5px #818cf8,0 0 0 5.5px #0000008c,0 4px 16px #6366f140;background:linear-gradient(135deg,#e0e7ff,#a5b4fc)}.person-node.female .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 3.5px #f472b6,0 0 0 5.5px #0000008c,0 4px 16px #f472b640;background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.person-node.spouse.male .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 3.5px #f87171,0 0 0 5.5px #0000008c,0 4px 16px #f8717140;background:linear-gradient(135deg,#fee2e2,#fca5a5)}.person-node.spouse.female .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 3.5px #fb923c,0 0 0 5.5px #0000008c,0 4px 16px #fb923c40;background:linear-gradient(135deg,#ffedd5,#fdba74)}.person-node.ghost-spouse .node-avatar[data-v-985c43c0]{border:2.5px dashed rgba(255,255,255,.6)!important;opacity:.8}.person-node.ghost-spouse[data-v-985c43c0]{cursor:pointer}.avatar-wrap[data-v-985c43c0]{position:relative;flex-shrink:0}.ghost-link-badge[data-v-985c43c0]{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;border-radius:50%;background:var(--primary, #6366f1);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000004d;color:#fff;z-index:2;pointer-events:none}.person-node:hover .node-avatar[data-v-985c43c0]{transform:translateY(-5px) scale(1.06)}.person-node.male:hover .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 4px #6366f1,0 8px 28px #6366f159}.person-node.female:hover .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 4px #ec4899,0 8px 28px #ec489959}.person-node.spouse.male:hover .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 4px #ef4444,0 8px 28px #ef444459}.person-node.spouse.female:hover .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 4px #f97316,0 8px 28px #f9731659}.person-node.deceased .node-avatar[data-v-985c43c0]{opacity:1}.person-node.relationship-selected .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 3.5px #6366f1,0 0 0 7px #6366f133,0 0 24px #6366f166!important;animation:sel-pulse-985c43c0 1.6s ease-in-out infinite}@keyframes sel-pulse-985c43c0{0%,to{box-shadow:0 0 0 3.5px #6366f1,0 0 0 7px #6366f133,0 0 24px #6366f166!important}50%{box-shadow:0 0 0 3.5px #6366f1,0 0 0 10px #6366f11f,0 0 36px #6366f18c!important}}.person-node.relationship-selected[data-v-985c43c0]:after{content:"✓";position:absolute;top:4px;right:4px;width:20px;height:20px;background:#6366f1;color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;border-radius:50%;box-shadow:0 2px 6px #6366f180;z-index:8}.node-avatar img[data-v-985c43c0]{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}.person-node:hover .node-avatar img[data-v-985c43c0]{transform:scale(1.08)}.avatar-overlay[data-v-985c43c0]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000006b;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;border-radius:50%}.node-avatar:hover .avatar-overlay[data-v-985c43c0]{opacity:1}.avatar-overlay-locked[data-v-985c43c0]{background:#0000004d;cursor:not-allowed}.deceased-veil[data-v-985c43c0]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,0,0,.18) 4px,rgba(0,0,0,.18) 6px);pointer-events:none}.node-actions[data-v-985c43c0]{position:absolute;bottom:calc(100% - 24px);left:50%;width:0;height:0;opacity:0;visibility:hidden;transition:opacity .15s ease .32s,visibility 0s linear .5s;z-index:10}.person-node:hover .node-actions[data-v-985c43c0]{opacity:1;visibility:visible;transition:opacity .15s ease 0s,visibility 0s linear 0s}.node-actions .node-btn[data-v-985c43c0]{pointer-events:auto}.node-btn[data-v-985c43c0]{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:none;--tx: 0px;--ty: 0px;transform:translate(var(--tx),var(--ty));transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px #0003}.node-btn[data-v-985c43c0]:hover{transform:translate(var(--tx),var(--ty)) scale(1.2)}.node-btn[data-v-985c43c0]:nth-child(1){--tx: -47px;--ty: -17px}.node-btn[data-v-985c43c0]:nth-child(2){--tx: -20px;--ty: -46px}.node-btn[data-v-985c43c0]:nth-child(3){--tx: 20px;--ty: -46px}.node-btn[data-v-985c43c0]:nth-child(4){--tx: 47px;--ty: -17px}.node-btn.edit[data-v-985c43c0]{background:#dcfce7;color:#16a34a}.node-btn.edit[data-v-985c43c0]:hover{background:#bbf7d0}.node-btn.delete[data-v-985c43c0]{background:#fee2e2;color:#dc2626}.node-btn.delete[data-v-985c43c0]:hover{background:#fecaca}.node-btn.info[data-v-985c43c0]{background:#e0e7ff;color:#6366f1}.node-btn.info[data-v-985c43c0]:hover{background:#c7d2fe}.node-btn.drill[data-v-985c43c0]{background:#f0fdf4;color:#15803d}.node-btn.drill[data-v-985c43c0]:hover{background:#dcfce7}.reorder-arrow[data-v-985c43c0]{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:var(--surface, #fff);color:var(--text-secondary, #64748b);cursor:pointer;box-shadow:0 1px 6px #0000002e;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease,transform .15s ease;z-index:11}.person-node:hover .reorder-arrow[data-v-985c43c0]{opacity:1;pointer-events:auto}.reorder-arrow[data-v-985c43c0]:hover{background:var(--primary, #6366f1);color:#fff;transform:translateY(-50%) scale(1.15)}.reorder-left[data-v-985c43c0]{left:-8px}.reorder-right[data-v-985c43c0]{right:-8px}.node-btn.solo-info[data-v-985c43c0]{position:absolute;left:auto;bottom:auto;top:2px;right:4px;opacity:.7;pointer-events:auto;transition:opacity .18s;--tx: 0px;--ty: 0px}.person-node:hover .node-btn.solo-info[data-v-985c43c0]{opacity:1}.collab-badge[data-v-985c43c0]{position:absolute;top:0;left:8px;width:18px;height:18px;background:#fef3c7;border:1.5px solid #f59e0b;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#d97706;cursor:default}.node-label[data-v-985c43c0]{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:1px;background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.07);outline:1px solid rgba(0,0,0,.45);outline-offset:0px;border-radius:20px;padding:4px 10px 5px;box-shadow:0 2px 10px #00000038;max-width:130px;pointer-events:auto}.node-name[data-v-985c43c0]{font-size:.74rem;font-weight:700;color:#1e293b;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.node-dates[data-v-985c43c0]{font-size:.62rem;color:#64748b;line-height:1.2}.deceased-cross[data-v-985c43c0]{color:#991b1b;margin-right:2px}.node-add-actions[data-v-985c43c0]{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .18s ease;min-width:110px;z-index:5}.person-node:hover .node-add-actions[data-v-985c43c0]{opacity:1;pointer-events:auto}.person-node:hover .node-add-actions .add-pill[data-v-985c43c0]{pointer-events:auto}.add-pill[data-v-985c43c0]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:none;border-radius:20px;font-size:.62rem;font-weight:600;cursor:pointer;pointer-events:none;background:#ffffffe6;color:#6366f1;box-shadow:0 1px 4px #0000001a,0 0 0 1.5px #6366f133;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .15s,box-shadow .15s;white-space:nowrap}.add-pill[data-v-985c43c0]:hover{transform:scale(1.08);box-shadow:0 2px 8px #6366f140,0 0 0 1.5px #6366f166}.couple-heart[data-v-985c43c0]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;flex-shrink:0;align-self:flex-start;margin-top:33px;margin-left:-4px;margin-right:-4px}@keyframes pulse-ring-985c43c0{0%{transform:scale(1);opacity:.5}70%{transform:scale(2.6);opacity:0}to{transform:scale(2.6);opacity:0}}.connector-down-btn[data-v-985c43c0]{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%);width:24px;height:28px;background:transparent;z-index:3;cursor:pointer;display:flex;justify-content:center}.connector-down-btn--collapsed[data-v-985c43c0]{height:16px}.expand-toggle-btn[data-v-985c43c0]{position:absolute;top:-2px;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(99,102,241,.35);background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;padding:0;box-shadow:0 1px 4px #0000001a,0 0 0 3px #6366f114;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;z-index:3}.expand-toggle-btn[data-v-985c43c0]:hover{border-color:#6366f1b3;box-shadow:0 2px 8px #0000001f,0 0 0 4px #6366f126;transform:scale(1.18)}.expand-toggle-btn.is-collapsed[data-v-985c43c0]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#6366f147;animation:pulse-ring-985c43c0 2s ease-out infinite;pointer-events:none;z-index:-1}.expand-toggle-btn[data-v-985c43c0]:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:#6366f180;transition:background .18s ease}.expand-toggle-btn[data-v-985c43c0]:hover:after{background:#6366f1d9}.expand-toggle-btn[data-v-985c43c0]:not(.is-collapsed):after{background:#6366f14d}.children-section[data-v-985c43c0]{display:flex;flex-direction:column;align-items:center;position:relative;width:0;overflow:visible}.connector-down[data-v-985c43c0]{width:2px;height:42px;background:linear-gradient(to bottom,var(--connector-color),#c7d2fe);border-radius:1px;position:relative;z-index:2;margin-bottom:-16px;display:none}.horizontal-bar[data-v-985c43c0]{height:2px;background:#c7d2fe;border-radius:1px;position:absolute;top:0;z-index:1;display:none}.connector-svg[data-v-985c43c0]{position:absolute;top:0;pointer-events:none;z-index:1;overflow:visible}.children-container-box[data-v-985c43c0]{padding:14px 12px 12px}.children-row[data-v-985c43c0]{display:flex;justify-content:center;align-items:flex-start;gap:40px;position:relative;padding-top:0}.child-branch[data-v-985c43c0]{display:flex;flex-direction:column;align-items:center;width:max-content}.child-branch[draggable=true][data-v-985c43c0],.child-branch[draggable=true][data-v-985c43c0]:active{cursor:default}.child-branch.dragging[data-v-985c43c0]{opacity:.35;transform:scale(.95)}.child-branch.drag-over-left[data-v-985c43c0]{border-left:3px solid var(--primary, #6366f1);border-radius:8px 0 0 8px;background:#6366f10d}.child-branch.drag-over-right[data-v-985c43c0]{border-right:3px solid var(--primary, #6366f1);border-radius:0 8px 8px 0;background:#6366f10d}.drag-handle[data-v-985c43c0]{position:absolute;right:-16px;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--primary, #6366f1);cursor:grab;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .2s;letter-spacing:1px}.child-branch:hover .drag-handle[data-v-985c43c0]{opacity:.6}.child-branch:hover .drag-handle[data-v-985c43c0]:hover{opacity:1}.child-branch:active .drag-handle[data-v-985c43c0]{cursor:grabbing}.drag-handle-locked[data-v-985c43c0]{cursor:not-allowed;color:#94a3b8;display:flex;align-items:center;justify-content:center}.connector-drop[data-v-985c43c0]{display:none}.connector-drop[data-v-985c43c0]:after{display:none}.tree-expand-enter-active[data-v-985c43c0]{animation:tvExpandEnter-985c43c0 .38s ease both}.tree-expand-leave-active[data-v-985c43c0]{animation:tvExpandLeave-985c43c0 .22s ease both;overflow:hidden}@keyframes tvExpandEnter-985c43c0{0%{opacity:1}to{opacity:1}}@keyframes tvExpandLeave-985c43c0{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: no-preference){.tree-expand-enter-active .family-container[data-v-985c43c0]{animation:tvNodeAppear-985c43c0 .38s cubic-bezier(.34,1.56,.64,1) both}@keyframes tvNodeAppear-985c43c0{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}}.child-slide-move[data-v-985c43c0],.child-branch[data-v-985c43c0]{transition:transform .38s cubic-bezier(.4,0,.2,1)}.family-container.rel-mode .person-node:hover .node-avatar[data-v-985c43c0]{transform:none;box-shadow:inherit}.family-container.rel-mode .person-node.male:hover .node-avatar[data-v-985c43c0],.family-container.rel-mode .person-node.female:hover .node-avatar[data-v-985c43c0],.family-container.rel-mode .person-node.spouse.male:hover .node-avatar[data-v-985c43c0],.family-container.rel-mode .person-node.spouse.female:hover .node-avatar[data-v-985c43c0]{box-shadow:inherit}.family-container.rel-mode .person-node:hover .node-avatar img[data-v-985c43c0]{transform:none}.family-container.rel-mode .node-avatar:hover .avatar-overlay[data-v-985c43c0]{opacity:0}.family-container.rel-mode .person-node:hover .node-actions[data-v-985c43c0],.family-container.rel-mode .person-node:hover .node-add-actions[data-v-985c43c0],.family-container.rel-mode .person-node:hover .reorder-arrow[data-v-985c43c0],.family-container.rel-mode .person-node:hover .node-btn.solo-info[data-v-985c43c0]{opacity:0;pointer-events:none}.family-container.rel-mode .person-node[data-v-985c43c0]{cursor:pointer}.family-container.chain-out .node-avatar[data-v-985c43c0]{opacity:.65;filter:grayscale(50%);transition:opacity .18s ease,filter .18s ease}.family-container.chain-in[data-v-985c43c0]{opacity:1;filter:none;transition:opacity .18s ease,filter .18s ease;position:relative;z-index:5}.family-container.chain-in .node-avatar[data-v-985c43c0]{opacity:1;filter:none;box-shadow:0 0 0 3px #6366f18c,0 0 18px 4px #6366f14d!important;transition:opacity .18s ease,filter .18s ease,box-shadow .18s ease}.family-container.chain-in:hover .node-avatar[data-v-985c43c0]{box-shadow:0 0 0 3.5px #6366f1e6,0 0 24px 6px #6366f173!important}@media (hover: none) and (pointer: coarse){.add-pill[data-v-985c43c0]{pointer-events:none!important}.person-node.touch-active .node-actions[data-v-985c43c0]{opacity:1;visibility:visible;pointer-events:auto}.person-node.touch-active .node-actions .node-btn[data-v-985c43c0]{pointer-events:auto}.person-node.touch-active .node-add-actions[data-v-985c43c0]{opacity:1;pointer-events:auto}.person-node.touch-active .node-add-actions .add-pill[data-v-985c43c0]{pointer-events:auto!important}.person-node.touch-active .reorder-arrow[data-v-985c43c0]{opacity:1;pointer-events:auto}}@media (max-width: 640px){.expand-toggle-btn[data-v-985c43c0]{width:28px;height:28px}.connector-down-btn[data-v-985c43c0],.couple-heart[data-v-985c43c0]{min-width:36px;min-height:36px}.add-pill[data-v-985c43c0]{padding:6px 10px;font-size:.75rem;min-height:32px}.node-name[data-v-985c43c0]{font-size:.875rem}.node-dates[data-v-985c43c0]{font-size:.75rem}.context-menu-item[data-v-985c43c0]{padding:12px 14px;min-height:44px;font-size:.875rem}}.family-container[data-v-b3834283]{background:transparent;border:none;padding:0;position:relative;cursor:default;display:inline-flex;flex-direction:column;align-items:center}.person-node.search-match[data-v-b3834283]:before{content:"";position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-60%);border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,rgba(129,140,248,.14) 55%,transparent 75%);animation:atn-halo-aura-b3834283 1.8s ease-in-out infinite;pointer-events:none;z-index:-1}.person-node.search-match .node-avatar[data-v-b3834283]{box-shadow:0 0 0 5px #f59e0b,0 0 0 12px #f59e0b66,0 0 40px #f59e0bbf,0 0 60px #f59e0b4d!important;animation:atn-highlight-pulse-b3834283 1.6s ease-in-out infinite;position:relative;z-index:2}.person-node.search-match .node-name[data-v-b3834283]{color:#d97706;text-shadow:0 0 8px rgba(245,158,11,.65),0 0 18px rgba(245,158,11,.35)}@keyframes atn-highlight-pulse-b3834283{0%,to{box-shadow:0 0 0 5px #f59e0b,0 0 0 12px #f59e0b66,0 0 40px #f59e0bbf,0 0 60px #f59e0b4d!important}50%{box-shadow:0 0 0 7px #fbbf24,0 0 0 16px #fbbf2459,0 0 56px #f59e0bd9,0 0 80px #f59e0b66!important}}@keyframes atn-halo-aura-b3834283{0%,to{opacity:.8;transform:translate(-50%,-60%) scale(1)}50%{opacity:1;transform:translate(-50%,-60%) scale(1.18)}}.family-container.collapsed .person-node[data-v-b3834283]{opacity:1}.couple-row[data-v-b3834283]{display:flex;align-items:flex-start;gap:0}.person-node[data-v-b3834283]{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;width:110px;overflow:visible}.node-avatar[data-v-b3834283]{width:88px;height:88px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;cursor:pointer;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease;box-shadow:0 0 0 3px #94a3b866,0 4px 14px #0000001f}.person-node.male .node-avatar[data-v-b3834283]{box-shadow:0 0 0 3.5px #818cf8,0 4px 16px #6366f140;background:linear-gradient(135deg,#e0e7ff,#a5b4fc)}.person-node.female .node-avatar[data-v-b3834283]{box-shadow:0 0 0 3.5px #f472b6,0 4px 16px #f472b640;background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.person-node.spouse.male .node-avatar[data-v-b3834283]{box-shadow:0 0 0 3.5px #f87171,0 4px 16px #f8717140;background:linear-gradient(135deg,#fee2e2,#fca5a5)}.person-node.spouse.female .node-avatar[data-v-b3834283]{box-shadow:0 0 0 3.5px #fb923c,0 4px 16px #fb923c40;background:linear-gradient(135deg,#ffedd5,#fdba74)}.person-node.ghost-spouse .node-avatar[data-v-b3834283]{border:2.5px dashed rgba(255,255,255,.6)!important;opacity:.8}.person-node.ghost-spouse[data-v-b3834283]{cursor:pointer}.avatar-wrap[data-v-b3834283]{position:relative;flex-shrink:0}.ghost-link-badge[data-v-b3834283]{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;border-radius:50%;background:var(--primary, #6366f1);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000004d;color:#fff;z-index:2;pointer-events:none}.person-node:hover .node-avatar[data-v-b3834283]{transform:translateY(-5px) scale(1.06)}.person-node.male:hover .node-avatar[data-v-b3834283]{box-shadow:0 0 0 4px #6366f1,0 8px 28px #6366f159}.person-node.female:hover .node-avatar[data-v-b3834283]{box-shadow:0 0 0 4px #ec4899,0 8px 28px #ec489959}.person-node.spouse.male:hover .node-avatar[data-v-b3834283]{box-shadow:0 0 0 4px #ef4444,0 8px 28px #ef444459}.person-node.spouse.female:hover .node-avatar[data-v-b3834283]{box-shadow:0 0 0 4px #f97316,0 8px 28px #f9731659}.person-node.deceased .node-avatar[data-v-b3834283]{opacity:1}.person-node.relationship-selected .node-avatar[data-v-b3834283]{box-shadow:0 0 0 4px #6366f1,0 0 0 7px #6366f14d,0 0 28px #6366f173;transform:scale(1.08);animation:sel-pulse-b3834283 1.6s ease-in-out infinite}@keyframes sel-pulse-b3834283{0%,to{box-shadow:0 0 0 4px #6366f1,0 0 0 7px #6366f14d,0 0 28px #6366f173}50%{box-shadow:0 0 0 4px #6366f1,0 0 0 10px #6366f126,0 0 40px #6366f18c}}.person-node.relationship-selected[data-v-b3834283]:after{content:"✓";position:absolute;top:4px;right:4px;width:20px;height:20px;background:#6366f1;color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;border-radius:50%;box-shadow:0 2px 6px #6366f180;z-index:8}.node-avatar img[data-v-b3834283]{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease;display:block}.person-node:hover .node-avatar img[data-v-b3834283]{transform:scale(1.08)}.avatar-overlay[data-v-b3834283]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#0000006b;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}.node-avatar:hover .avatar-overlay[data-v-b3834283]{opacity:1}.avatar-overlay-locked[data-v-b3834283]{background:#0000004d;cursor:not-allowed}.deceased-veil[data-v-b3834283]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.42) 5px,rgba(0,0,0,.42) 6px);pointer-events:none}.node-label[data-v-b3834283]{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:1px;background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.07);border-radius:20px;padding:4px 10px 5px;box-shadow:0 2px 8px #00000014;max-width:130px;pointer-events:auto}.node-name[data-v-b3834283]{font-size:.74rem;font-weight:700;color:#1e293b;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.node-dates[data-v-b3834283]{font-size:.62rem;color:#64748b;line-height:1.2}.deceased-cross[data-v-b3834283]{color:#991b1b;margin-right:2px;font-size:.68rem}.node-actions[data-v-b3834283]{position:absolute;bottom:calc(100% - 24px);left:50%;width:0;height:0;opacity:0;visibility:hidden;transition:opacity .15s ease .32s,visibility 0s linear .5s;z-index:10}.person-node:hover .node-actions[data-v-b3834283]{opacity:1;visibility:visible;transition:opacity .15s ease 0s,visibility 0s linear 0s}.node-actions .node-btn[data-v-b3834283]{pointer-events:auto}.node-btn[data-v-b3834283]{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;pointer-events:none;--tx: 0px;--ty: 0px;transform:translate(var(--tx),var(--ty));transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px #0003}.node-btn[data-v-b3834283]:hover{transform:translate(var(--tx),var(--ty)) scale(1.2)}.node-btn[data-v-b3834283]:nth-child(1){--tx: -47px;--ty: -17px}.node-btn[data-v-b3834283]:nth-child(2){--tx: -20px;--ty: -46px}.node-btn[data-v-b3834283]:nth-child(3){--tx: 20px;--ty: -46px}.node-btn[data-v-b3834283]:nth-child(4){--tx: 47px;--ty: -17px}.node-btn.edit[data-v-b3834283]{background:#dcfce7;color:#16a34a}.node-btn.edit[data-v-b3834283]:hover{background:#16a34a;color:#fff}.node-btn.delete[data-v-b3834283]{background:#fee2e2;color:#dc2626}.node-btn.delete[data-v-b3834283]:hover{background:#dc2626;color:#fff}.node-btn.info[data-v-b3834283]{background:#ede9fe;color:#6366f1}.node-btn.info[data-v-b3834283]:hover{background:#6366f1;color:#fff}.node-btn.drill[data-v-b3834283]{background:#fef9c3;color:#a16207}.node-btn.drill[data-v-b3834283]:hover{background:#ca8a04;color:#fff}.reorder-arrow[data-v-b3834283]{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:var(--surface, #fff);color:var(--text-secondary, #64748b);cursor:pointer;box-shadow:0 1px 6px #0000002e;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease,transform .15s ease;z-index:11}.person-node:hover .reorder-arrow[data-v-b3834283]{opacity:1;pointer-events:auto}.reorder-arrow[data-v-b3834283]:hover{background:var(--primary, #6366f1);color:#fff;transform:translateY(-50%) scale(1.15)}.reorder-left[data-v-b3834283]{left:-8px}.reorder-right[data-v-b3834283]{right:-8px}.node-btn.solo-info[data-v-b3834283]{position:absolute;right:auto;bottom:auto;top:-6px;left:4px;opacity:.7;pointer-events:auto;--tx: 0px;--ty: 0px}.person-node:hover .node-btn.solo-info[data-v-b3834283]{opacity:1}.collab-badge[data-v-b3834283]{position:absolute;top:2px;left:4px;width:18px;height:18px;border-radius:50%;background:#f59e0b26;border:1.5px solid rgba(245,158,11,.5);display:flex;align-items:center;justify-content:center;color:#d97706;z-index:6}.node-add-actions[data-v-b3834283]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:5px;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;transform:translateY(-6px);max-width:160px}.person-node:hover .node-add-actions[data-v-b3834283]{opacity:1;pointer-events:auto;transform:translateY(0)}.person-node:hover .node-add-actions .add-pill[data-v-b3834283]{pointer-events:auto}.add-pill[data-v-b3834283]{display:inline-flex;align-items:center;gap:3px;padding:2px 8px 2px 5px;border-radius:20px;border:1px solid rgba(99,102,241,.3);background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#6366f1;font-size:.62rem;font-weight:600;cursor:pointer;pointer-events:none;transition:background .15s,color .15s,transform .15s;white-space:nowrap;box-shadow:0 1px 4px #00000014}.add-pill[data-v-b3834283]:hover{background:#6366f1;color:#fff;transform:scale(1.06);border-color:#6366f1}.couple-heart[data-v-b3834283]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;margin-top:33px;z-index:2;margin-left:-4px;margin-right:-4px}@keyframes heart-pulse-b3834283{0%{transform:scale(1);box-shadow:0 0 6px 2px #e11d4880,0 0 #e11d48b3}50%{transform:scale(1.25);box-shadow:0 0 18px 6px #e11d48b3,0 0 0 14px #e11d4800}to{transform:scale(1);box-shadow:0 0 6px 2px #e11d4880,0 0 #e11d48b3}}.couple-heart.heart-expandable[data-v-b3834283]{cursor:pointer}.couple-heart.heart-expandable[data-v-b3834283]:hover{transform:scale(1.18);box-shadow:0 2px 10px #e11d4873}.couple-heart.heart-collapsed[data-v-b3834283]{animation:heart-pulse-b3834283 1.8s ease-in-out infinite}.single-heart-expander[data-v-b3834283]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;margin-top:4px;cursor:pointer;z-index:2;transition:transform .18s ease,box-shadow .18s ease}.single-heart-expander[data-v-b3834283]:hover{transform:scale(1.18);box-shadow:0 2px 10px #e11d4873}.single-heart-expander.heart-collapsed[data-v-b3834283]{animation:heart-pulse-b3834283 1.8s ease-in-out infinite}.family-container.rel-mode .person-node:hover .node-avatar[data-v-b3834283]{transform:none;box-shadow:inherit}.family-container.rel-mode .person-node.male:hover .node-avatar[data-v-b3834283],.family-container.rel-mode .person-node.female:hover .node-avatar[data-v-b3834283],.family-container.rel-mode .person-node.spouse.male:hover .node-avatar[data-v-b3834283],.family-container.rel-mode .person-node.spouse.female:hover .node-avatar[data-v-b3834283]{box-shadow:inherit}.family-container.rel-mode .person-node:hover .node-avatar img[data-v-b3834283]{transform:none}.family-container.rel-mode .node-avatar:hover .avatar-overlay[data-v-b3834283]{opacity:0}.family-container.rel-mode .person-node:hover .node-actions[data-v-b3834283],.family-container.rel-mode .person-node:hover .node-add-actions[data-v-b3834283],.family-container.rel-mode .person-node:hover .reorder-arrow[data-v-b3834283],.family-container.rel-mode .person-node:hover .solo-info[data-v-b3834283]{opacity:0;pointer-events:none}.family-container.rel-mode .person-node[data-v-b3834283]{cursor:pointer}@media (hover: none) and (pointer: coarse){.solo-info[data-v-b3834283]{opacity:1}.add-pill[data-v-b3834283]{pointer-events:none!important}.person-node.touch-active .node-actions[data-v-b3834283]{opacity:1;visibility:visible;pointer-events:auto}.person-node.touch-active .node-actions .node-btn[data-v-b3834283]{pointer-events:auto}.person-node.touch-active .node-add-actions[data-v-b3834283]{opacity:1;pointer-events:auto;transform:translateY(0)}.person-node.touch-active .node-add-actions .add-pill[data-v-b3834283]{pointer-events:auto!important}.person-node.touch-active .reorder-arrow[data-v-b3834283]{opacity:1;pointer-events:auto}}@media (max-width: 640px){.couple-heart.heart-expandable[data-v-b3834283],.single-heart-expander[data-v-b3834283]{min-width:36px;min-height:36px}.add-pill[data-v-b3834283]{padding:6px 10px;font-size:.75rem;min-height:32px}.node-name[data-v-b3834283]{font-size:.875rem}.node-dates[data-v-b3834283]{font-size:.75rem}.context-menu-item[data-v-b3834283]{padding:12px 14px;min-height:44px;font-size:.875rem}}@media (hover: none) and (pointer: coarse){.tree.canvas-focused:before,.cv-canvas.canvas-focused:before{content:"";position:absolute;top:-9999px;right:-9999px;bottom:-9999px;left:-9999px;background:#00000080;z-index:50;pointer-events:auto;transition:opacity .25s ease}.person-node.touch-active{position:relative;z-index:100}.cv-canvas.canvas-focused .canvas-node:has(.person-node.touch-active){z-index:100!important}}.info-popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center}.info-popup{background:var(--surface);border-radius:14px;box-shadow:0 20px 60px #00000040;width:380px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:24px;position:relative;animation:popIn .2s ease-out}.info-popup-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;line-height:1}.info-popup-close:hover{color:#334155}.info-popup-header{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.info-popup-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #e2e8f0}.info-popup-photo.default-avatar{padding:4px;background:#f1f5f9}.info-popup-header h3{margin:0 0 4px;font-size:1.1rem;color:#1e293b}.deceased-tag{display:inline-block;background:#fef2f2;color:#991b1b;font-size:.7rem;padding:1px 8px;border-radius:10px;font-weight:500;margin-left:6px}.info-popup-body{display:flex;flex-direction:column;gap:10px}.info-row{display:flex;gap:10px;font-size:.88rem;color:#334155;line-height:1.4}.info-row.bio{align-items:flex-start}.info-label{min-width:110px;font-weight:500;color:#64748b;flex-shrink:0;display:flex;align-items:center;gap:5px;align-self:flex-start;padding-top:1px}.info-empty{text-align:center;color:#94a3b8;font-size:.85rem;padding:16px 0}.context-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998}.context-menu{position:fixed;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:160px;padding:4px 0;animation:popIn .12s ease-out;z-index:9999}.context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:none;font-size:.85rem;color:var(--text, #1e293b);cursor:pointer;text-align:left}.context-menu-item:hover{background:var(--card-bg, #f1f5f9)}.context-menu-item.danger{color:#dc2626}.context-menu-item.danger:hover{background:#fef2f2}.context-menu-divider{height:1px;background:var(--border, #e2e8f0);margin:4px 0}@media (max-width: 640px){.context-menu-item{padding:12px 14px;min-height:44px;font-size:.875rem}}.canvas-node[data-v-38f751bb]{position:absolute;z-index:20}@media (prefers-reduced-motion: no-preference){.canvas-node[data-v-38f751bb]{animation:node-appear-38f751bb .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes node-appear-38f751bb{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.svg-appear[data-v-38f751bb]{animation:svg-appear-38f751bb .35s ease both}@keyframes svg-appear-38f751bb{0%{opacity:0}to{opacity:1}}}.bg-tree[data-v-38f751bb]{position:absolute;overflow:visible;pointer-events:none;z-index:1}.bg-tree-sibling-ovals[data-v-38f751bb]{position:absolute;overflow:visible;pointer-events:none;z-index:2}.bg-tree-overlay[data-v-38f751bb]{position:absolute;overflow:visible;pointer-events:none;z-index:10}.connector-svg[data-v-38f751bb]{position:absolute;overflow:visible;pointer-events:none;z-index:1}.bg-tree-hits[data-v-38f751bb]{position:absolute;overflow:visible;z-index:18}.cv-blackout[data-v-38f751bb]{position:absolute;left:-100000px;top:-100000px;width:200000px;height:200000px;background:#0003;z-index:5;pointer-events:none}.cv-blackout-fade-enter-active[data-v-38f751bb],.cv-blackout-fade-leave-active[data-v-38f751bb]{transition:opacity .18s ease}.cv-blackout-fade-enter-from[data-v-38f751bb],.cv-blackout-fade-leave-to[data-v-38f751bb]{opacity:0}.cv-canvas.is-chain-hovered .canvas-node.chain-out[data-v-38f751bb]{z-index:2;opacity:0;pointer-events:none;transition:opacity .18s ease}.cv-canvas.is-chain-hovered .canvas-node.chain-in[data-v-38f751bb]{opacity:1;filter:none;transition:opacity .18s ease,filter .18s ease}.cv-canvas.is-chain-hovered .canvas-node.chain-in[data-v-38f751bb] .node-avatar{box-shadow:0 0 0 3px #6366f18c,0 0 18px 4px #6366f14d;transition:box-shadow .18s ease}.cv-canvas.is-chain-hovered .canvas-node.chain-in[data-v-38f751bb]:hover .node-avatar{box-shadow:0 0 0 3.5px #6366f1e6,0 0 24px 6px #6366f173}.cv-breadcrumb[data-v-38f751bb]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;background:#0f172ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 10px;box-shadow:0 4px 20px #00000059;pointer-events:auto;white-space:nowrap;max-width:calc(100vw - 160px);overflow-x:auto;scrollbar-width:none}.cv-breadcrumb[data-v-38f751bb]::-webkit-scrollbar{display:none}@media (max-width: 400px){.cv-breadcrumb[data-v-38f751bb]{top:100px;max-width:calc(100vw - 24px)}}.crumb[data-v-38f751bb],.crumb-home[data-v-38f751bb]{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:.74rem;font-weight:500;padding:2px 6px;border-radius:999px;transition:background .15s,color .15s;display:flex;align-items:center;gap:4px}.crumb[data-v-38f751bb]:hover:not(:disabled),.crumb-home[data-v-38f751bb]:hover{background:#ffffff1f;color:#fff}.crumb-home[data-v-38f751bb]{padding:2px 8px}.crumb-sep[data-v-38f751bb]{color:#ffffff4d;font-size:.8rem;-webkit-user-select:none;user-select:none}.crumb-current[data-v-38f751bb]{color:#fff;font-weight:700;cursor:default}.crumb[data-v-38f751bb]:disabled{cursor:default}.breadcrumb-fade-enter-active[data-v-38f751bb],.breadcrumb-fade-leave-active[data-v-38f751bb]{transition:opacity .22s ease,transform .22s ease}.breadcrumb-fade-enter-from[data-v-38f751bb],.breadcrumb-fade-leave-to[data-v-38f751bb]{opacity:0;transform:translate(-50%) translateY(-8px)}.family-container.lod[data-v-38f751bb]{background:transparent;border:none;padding:0;position:relative;cursor:default;display:inline-flex;flex-direction:column;align-items:center}.family-container.lod .couple-row[data-v-38f751bb]{display:flex;align-items:flex-start;gap:0}.family-container.lod .person-node[data-v-38f751bb]{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;width:110px;overflow:visible}.family-container.lod .node-avatar[data-v-38f751bb]{width:88px;height:88px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #94a3b866,0 4px 14px #0000001f;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease}.family-container.lod .person-node.male .node-avatar[data-v-38f751bb]{box-shadow:0 0 0 3.5px #818cf8,0 4px 16px #6366f140;background:linear-gradient(135deg,#e0e7ff,#a5b4fc)}.family-container.lod .person-node.female .node-avatar[data-v-38f751bb]{box-shadow:0 0 0 3.5px #f472b6,0 4px 16px #f472b640;background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.family-container.lod .person-node.spouse.male .node-avatar[data-v-38f751bb]{box-shadow:0 0 0 3.5px #f87171,0 4px 16px #f8717140;background:linear-gradient(135deg,#fee2e2,#fca5a5)}.family-container.lod .person-node.spouse.female .node-avatar[data-v-38f751bb]{box-shadow:0 0 0 3.5px #fb923c,0 4px 16px #fb923c40;background:linear-gradient(135deg,#ffedd5,#fdba74)}.lod-initial[data-v-38f751bb]{font-size:28px;font-weight:700;line-height:1;color:#00000073;-webkit-user-select:none;user-select:none;pointer-events:none}.family-container.lod .deceased-veil[data-v-38f751bb]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.42) 5px,rgba(0,0,0,.42) 6px);pointer-events:none}.family-container.lod .node-label[data-v-38f751bb]{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:1px;background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.07);border-radius:20px;padding:4px 10px 5px;box-shadow:0 2px 8px #00000014;max-width:130px}.family-container.lod .node-name[data-v-38f751bb]{font-size:.74rem;font-weight:700;color:#1e293b;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.family-container.lod .couple-heart[data-v-38f751bb]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;margin-top:33px;z-index:2;margin-left:-4px;margin-right:-4px}@keyframes heart-pulse-lod-38f751bb{0%{transform:scale(1);box-shadow:0 0 6px 2px #e11d4880,0 0 #e11d48b3}50%{transform:scale(1.25);box-shadow:0 0 18px 6px #e11d48b3,0 0 0 14px #e11d4800}to{transform:scale(1);box-shadow:0 0 6px 2px #e11d4880,0 0 #e11d48b3}}.family-container.lod .couple-heart.heart-expandable[data-v-38f751bb]{cursor:pointer;transition:transform .18s ease}.family-container.lod .couple-heart.heart-expandable[data-v-38f751bb]:hover{transform:scale(1.18)}.family-container.lod .couple-heart.heart-collapsed[data-v-38f751bb]{animation:heart-pulse-lod-38f751bb 1.8s ease-in-out infinite}.family-container.lod .single-heart-expander[data-v-38f751bb]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;margin-top:4px;cursor:pointer;z-index:2;transition:transform .18s ease,box-shadow .18s ease}.family-container.lod .single-heart-expander[data-v-38f751bb]:hover{transform:scale(1.18)}.family-container.lod .single-heart-expander.heart-collapsed[data-v-38f751bb]{animation:heart-pulse-lod-38f751bb 1.8s ease-in-out infinite}@media (max-width: 640px){.family-container.lod .couple-heart.heart-expandable[data-v-38f751bb],.family-container.lod .single-heart-expander[data-v-38f751bb]{min-width:36px;min-height:36px}}.drill-suggestion[data-v-38f751bb]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:200;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:14px 20px 16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;max-width:520px;width:max-content;text-align:center}.drill-suggest-text[data-v-38f751bb]{font-size:13px;color:#64748b;margin-bottom:10px;line-height:1.4}.drill-suggest-chips[data-v-38f751bb]{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.drill-suggest-chips[data-v-38f751bb]::-webkit-scrollbar{display:none}.drill-chip[data-v-38f751bb]{padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:600;border:1.5px solid;cursor:pointer;transition:background .15s,color .15s,transform .12s;background:#f8fafc;color:#475569;border-color:#cbd5e1;white-space:nowrap;flex-shrink:0}.drill-chip[data-v-38f751bb]:hover{transform:translateY(-1px)}.drill-chip.male[data-v-38f751bb]{border-color:#818cf8;color:#4338ca;background:#eef2ff}.drill-chip.male[data-v-38f751bb]:hover{background:#818cf8;color:#fff}.drill-chip.female[data-v-38f751bb]{border-color:#f472b6;color:#be185d;background:#fdf2f8}.drill-chip.female[data-v-38f751bb]:hover{background:#f472b6;color:#fff}.drill-suggest-enter-active[data-v-38f751bb]{transition:opacity .25s ease,transform .25s ease}.drill-suggest-leave-active[data-v-38f751bb]{transition:opacity .2s ease,transform .2s ease}.drill-suggest-enter-from[data-v-38f751bb],.drill-suggest-leave-to[data-v-38f751bb]{opacity:0;transform:translate(-50%) translateY(12px)}@media (max-width: 960px){.drill-suggestion[data-v-38f751bb]{bottom:76px;left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);width:auto;padding:12px 14px 14px;border-radius:14px}.drill-suggest-text[data-v-38f751bb]{font-size:12.5px;margin-bottom:8px}.drill-suggest-chips[data-v-38f751bb]{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;justify-content:center;-webkit-overflow-scrolling:touch}.drill-suggest-chips[data-v-38f751bb]::-webkit-scrollbar{display:none}.drill-chip[data-v-38f751bb]{padding:8px 14px;font-size:13px;white-space:nowrap;flex-shrink:0}.drill-suggest-enter-from[data-v-38f751bb],.drill-suggest-leave-to[data-v-38f751bb]{opacity:0;transform:translate(-50%) translateY(12px)}}@media (max-width: 520px){.drill-suggestion[data-v-38f751bb]{bottom:106px}}@media (max-height: 480px){.drill-suggestion[data-v-38f751bb]{bottom:96px}}.rt-container[data-v-dc87e26b]{overflow:hidden;padding:0;position:relative;flex:1;min-height:0;cursor:grab;background-color:var(--bg);background-image:radial-gradient(circle,var(--dot-color) 1.5px,transparent 1.5px);background-size:24px 24px}.rt-canvas[data-v-dc87e26b]{display:block;position:relative;width:6000px;height:6000px}.rt-pan-hint[data-v-dc87e26b]{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 16px;box-shadow:var(--shadow-md);z-index:10;font-size:.85rem;color:var(--text-secondary);cursor:pointer;max-width:calc(100% - 32px)}.rt-pan-hint svg[data-v-dc87e26b]{flex-shrink:0}.rt-pan-hint span[data-v-dc87e26b]{white-space:normal;word-break:break-word}.rt-pan-hint-close[data-v-dc87e26b]{background:none;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer;padding:0 2px;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.rt-stats[data-v-dc87e26b]{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px;box-shadow:var(--shadow-md);z-index:10;white-space:nowrap}.rt-zoom-controls[data-v-dc87e26b]{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 8px;box-shadow:var(--shadow-md);z-index:10;-webkit-user-select:none;user-select:none}.rt-zoom-btn[data-v-dc87e26b]{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.rt-zoom-btn[data-v-dc87e26b]:hover{background:var(--primary-light);color:var(--primary)}.rt-gen-btn[data-v-dc87e26b]{width:24px;height:24px}.rt-gen-btn[data-v-dc87e26b]:disabled{opacity:.35;cursor:default;pointer-events:none}.rt-gen-label[data-v-dc87e26b]{font-size:.8rem;font-weight:700;min-width:26px;text-align:center;color:var(--text-secondary);letter-spacing:.01em;-webkit-user-select:none;user-select:none}.rt-zoom-sep[data-v-dc87e26b]{width:1px;height:16px;background:var(--border);margin:0 4px;flex-shrink:0}.rt-zoom-level[data-v-dc87e26b]{font-size:.8rem;color:var(--text-secondary);min-width:36px;text-align:center;font-weight:600;letter-spacing:.01em}.rt-calc-btn-wrap[data-v-dc87e26b]{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:60}.rt-calc-label[data-v-dc87e26b]{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-align:center;white-space:nowrap;background:var(--surface);padding:3px 8px;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.rt-rel-result[data-v-dc87e26b]{position:absolute;top:calc(100% + 8px);left:0;background:var(--surface);border:2px solid var(--primary);border-radius:12px;padding:16px 20px;box-shadow:var(--shadow-lg);z-index:20;min-width:280px}.rt-result-close[data-v-dc87e26b]{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.4rem;color:var(--text-secondary);cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.rt-result-close[data-v-dc87e26b]:hover{background:var(--card-bg);color:var(--text)}.rt-result-header[data-v-dc87e26b]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-right:20px}.rt-result-person[data-v-dc87e26b]{font-size:.85rem;font-weight:600;color:var(--text)}.rt-swap-btn[data-v-dc87e26b]{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-secondary);flex-shrink:0}.rt-swap-btn[data-v-dc87e26b]:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:rotate(180deg)}.rt-result-relationship[data-v-dc87e26b]{font-size:1.1rem;font-weight:700;color:var(--primary);text-align:center;padding:8px 12px;background:var(--card-bg);border-radius:8px}.rt-search[data-v-dc87e26b]{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:0;z-index:60}.rt-search-toggle[data-v-dc87e26b]{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s;color:var(--text)}.rt-search-toggle[data-v-dc87e26b]:hover{background:var(--primary-light)}.rt-search.expanded .rt-search-toggle[data-v-dc87e26b]{border-radius:8px 0 0 8px;border-right:none}.rt-search-input-wrap[data-v-dc87e26b]{position:relative}.rt-search-input[data-v-dc87e26b]{width:min(220px,calc(100vw - 80px));height:44px;border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;padding:0 28px 0 10px;font-size:.85rem;background:var(--surface);color:var(--text);outline:none;box-shadow:0 2px 8px #0000001a}.rt-search-input[data-v-dc87e26b]:focus{border-color:var(--primary)}.rt-search-clear[data-v-dc87e26b]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-light);line-height:1}.rt-search-dropdown[data-v-dc87e26b]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;max-height:240px;overflow-y:auto;z-index:30}.rt-search-result[data-v-dc87e26b]{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .15s}.rt-search-result[data-v-dc87e26b]:hover,.rt-search-result.active[data-v-dc87e26b]{background:var(--primary-light)}.rt-result-name[data-v-dc87e26b]{font-size:.85rem;font-weight:600;color:var(--text)}.rt-result-year[data-v-dc87e26b]{font-size:.78rem;font-weight:400;color:var(--text-light)}.rt-result-relation[data-v-dc87e26b]{font-size:.72rem;color:var(--text-light)}.canvas-node[data-v-dc87e26b]{position:absolute;z-index:20}@media (prefers-reduced-motion: no-preference){.canvas-node[data-v-dc87e26b]{animation:node-appear-dc87e26b .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes node-appear-dc87e26b{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.svg-appear[data-v-dc87e26b]{animation:svg-appear-dc87e26b .35s ease both}@keyframes svg-appear-dc87e26b{0%{opacity:0}to{opacity:1}}}.bg-tree-svg[data-v-dc87e26b]{position:absolute;overflow:visible;pointer-events:none;z-index:1}.bg-tree-roots[data-v-dc87e26b]{position:absolute;overflow:visible;pointer-events:none;z-index:10}.bg-tree-sibling-ovals[data-v-dc87e26b]{position:absolute;overflow:visible;pointer-events:none;z-index:2}.bg-tree-halos[data-v-dc87e26b]{position:absolute;overflow:visible;pointer-events:none;z-index:15}.bg-tree-hits[data-v-dc87e26b]{position:absolute;overflow:visible;z-index:18}.rt-blackout[data-v-dc87e26b]{position:absolute;left:-100000px;top:-100000px;width:200000px;height:200000px;background:#0003;z-index:5;pointer-events:none}.rt-blackout-fade-enter-active[data-v-dc87e26b],.rt-blackout-fade-leave-active[data-v-dc87e26b]{transition:opacity .18s ease}.rt-blackout-fade-enter-from[data-v-dc87e26b],.rt-blackout-fade-leave-to[data-v-dc87e26b]{opacity:0}.rt-canvas.is-chain-hovered .canvas-node.chain-out[data-v-dc87e26b]{z-index:2;opacity:0;pointer-events:none;transition:opacity .18s ease}.rt-canvas.is-chain-hovered .canvas-node.chain-in[data-v-dc87e26b]{opacity:1;filter:none;transition:opacity .18s ease,filter .18s ease}.rt-canvas.is-chain-hovered .canvas-node.chain-in[data-v-dc87e26b] .node-avatar{box-shadow:0 0 0 3px #6366f18c,0 0 18px 4px #6366f14d;transition:box-shadow .18s ease}.rt-canvas.is-chain-hovered .canvas-node.chain-in[data-v-dc87e26b]:hover .node-avatar{box-shadow:0 0 0 3.5px #6366f1e6,0 0 24px 6px #6366f173}.rt-breadcrumb[data-v-dc87e26b]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;background:#0f172ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 10px;box-shadow:0 4px 20px #00000059;pointer-events:auto;white-space:nowrap;max-width:calc(100vw - 160px);overflow-x:auto;scrollbar-width:none}.rt-breadcrumb[data-v-dc87e26b]::-webkit-scrollbar{display:none}@media (max-width: 400px){.rt-breadcrumb[data-v-dc87e26b]{top:100px;max-width:calc(100vw - 24px)}}.crumb[data-v-dc87e26b],.crumb-home[data-v-dc87e26b]{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:.74rem;font-weight:500;padding:2px 6px;border-radius:999px;transition:background .15s,color .15s;display:flex;align-items:center;gap:4px}.crumb[data-v-dc87e26b]:hover:not(:disabled),.crumb-home[data-v-dc87e26b]:hover{background:#ffffff1f;color:#fff}.crumb-home[data-v-dc87e26b]{padding:2px 8px}.crumb-sep[data-v-dc87e26b]{color:#ffffff4d;font-size:.8rem;-webkit-user-select:none;user-select:none}.crumb-current[data-v-dc87e26b]{color:#fff;font-weight:700;cursor:default}.crumb[data-v-dc87e26b]:disabled{cursor:default}.breadcrumb-fade-enter-active[data-v-dc87e26b],.breadcrumb-fade-leave-active[data-v-dc87e26b]{transition:opacity .22s ease,transform .22s ease}.breadcrumb-fade-enter-from[data-v-dc87e26b],.breadcrumb-fade-leave-to[data-v-dc87e26b]{opacity:0;transform:translate(-50%) translateY(-8px)}.family-container.lod[data-v-dc87e26b]{background:transparent;border:none;padding:0;position:relative;cursor:default;display:inline-flex;flex-direction:column;align-items:center}.family-container.lod .couple-row[data-v-dc87e26b]{display:flex;align-items:flex-start;gap:0}.family-container.lod .person-node[data-v-dc87e26b]{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;width:110px;overflow:visible}.family-container.lod .node-avatar[data-v-dc87e26b]{width:88px;height:88px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #94a3b866,0 4px 14px #0000001f;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease}.family-container.lod .person-node.male .node-avatar[data-v-dc87e26b]{box-shadow:0 0 0 3.5px #818cf8,0 4px 16px #6366f140;background:linear-gradient(135deg,#e0e7ff,#a5b4fc)}.family-container.lod .person-node.female .node-avatar[data-v-dc87e26b]{box-shadow:0 0 0 3.5px #f472b6,0 4px 16px #f472b640;background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.family-container.lod .person-node.spouse.male .node-avatar[data-v-dc87e26b]{box-shadow:0 0 0 3.5px #f87171,0 4px 16px #f8717140;background:linear-gradient(135deg,#fee2e2,#fca5a5)}.family-container.lod .person-node.spouse.female .node-avatar[data-v-dc87e26b]{box-shadow:0 0 0 3.5px #fb923c,0 4px 16px #fb923c40;background:linear-gradient(135deg,#ffedd5,#fdba74)}.lod-initial[data-v-dc87e26b]{font-size:28px;font-weight:700;line-height:1;color:#00000073;-webkit-user-select:none;user-select:none;pointer-events:none}.family-container.lod .deceased-veil[data-v-dc87e26b]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(0,0,0,.42) 5px,rgba(0,0,0,.42) 6px);pointer-events:none}.family-container.lod .node-label[data-v-dc87e26b]{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:1px;background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.07);border-radius:20px;padding:4px 10px 5px;box-shadow:0 2px 8px #00000014;max-width:130px}.family-container.lod .node-name[data-v-dc87e26b]{font-size:.74rem;font-weight:700;color:#1e293b;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.family-container.lod .couple-heart[data-v-dc87e26b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;margin-top:33px;z-index:2;margin-left:-4px;margin-right:-4px}@keyframes heart-pulse-lod-dc87e26b{0%{transform:scale(1);box-shadow:0 0 6px 2px #e11d4880,0 0 #e11d48b3}50%{transform:scale(1.25);box-shadow:0 0 18px 6px #e11d48b3,0 0 0 14px #e11d4800}to{transform:scale(1);box-shadow:0 0 6px 2px #e11d4880,0 0 #e11d48b3}}.family-container.lod .couple-heart.heart-expandable[data-v-dc87e26b]{cursor:pointer;transition:transform .18s ease}.family-container.lod .couple-heart.heart-expandable[data-v-dc87e26b]:hover{transform:scale(1.18)}.family-container.lod .couple-heart.heart-collapsed[data-v-dc87e26b]{animation:heart-pulse-lod-dc87e26b 1.8s ease-in-out infinite}.family-container.lod .single-heart-expander[data-v-dc87e26b]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:#fff;border-radius:50%;border:1.5px solid #fecdd3;box-shadow:0 2px 6px #e11d4833;margin-top:4px;cursor:pointer;z-index:2;transition:transform .18s ease,box-shadow .18s ease}.family-container.lod .single-heart-expander[data-v-dc87e26b]:hover{transform:scale(1.18)}.family-container.lod .single-heart-expander.heart-collapsed[data-v-dc87e26b]{animation:heart-pulse-lod-dc87e26b 1.8s ease-in-out infinite}@media (max-width: 640px){.family-container.lod .couple-heart.heart-expandable[data-v-dc87e26b],.family-container.lod .single-heart-expander[data-v-dc87e26b]{min-width:36px;min-height:36px}}.drill-suggestion[data-v-dc87e26b]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:200;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:14px 20px 16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;max-width:520px;width:max-content;text-align:center}.drill-suggest-text[data-v-dc87e26b]{font-size:13px;color:#64748b;margin-bottom:10px;line-height:1.4}.drill-suggest-chips[data-v-dc87e26b]{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.drill-suggest-chips[data-v-dc87e26b]::-webkit-scrollbar{display:none}.drill-chip[data-v-dc87e26b]{padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:600;border:1.5px solid;cursor:pointer;transition:background .15s,color .15s,transform .12s;background:#f8fafc;color:#475569;border-color:#cbd5e1;white-space:nowrap;flex-shrink:0}.drill-chip[data-v-dc87e26b]:hover{transform:translateY(-1px)}.drill-chip.male[data-v-dc87e26b]{border-color:#818cf8;color:#4338ca;background:#eef2ff}.drill-chip.male[data-v-dc87e26b]:hover{background:#818cf8;color:#fff}.drill-chip.female[data-v-dc87e26b]{border-color:#f472b6;color:#be185d;background:#fdf2f8}.drill-chip.female[data-v-dc87e26b]:hover{background:#f472b6;color:#fff}.drill-suggest-enter-active[data-v-dc87e26b]{transition:opacity .25s ease,transform .25s ease}.drill-suggest-leave-active[data-v-dc87e26b]{transition:opacity .2s ease,transform .2s ease}.drill-suggest-enter-from[data-v-dc87e26b],.drill-suggest-leave-to[data-v-dc87e26b]{opacity:0;transform:translate(-50%) translateY(12px)}@media (max-width: 960px){.drill-suggestion[data-v-dc87e26b]{bottom:76px;left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);width:auto;padding:12px 14px 14px;border-radius:14px}.drill-suggest-text[data-v-dc87e26b]{font-size:12.5px;margin-bottom:8px}.drill-suggest-chips[data-v-dc87e26b]{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;justify-content:center;-webkit-overflow-scrolling:touch}.drill-suggest-chips[data-v-dc87e26b]::-webkit-scrollbar{display:none}.drill-chip[data-v-dc87e26b]{padding:8px 14px;font-size:13px;white-space:nowrap;flex-shrink:0}.drill-suggest-enter-from[data-v-dc87e26b],.drill-suggest-leave-to[data-v-dc87e26b]{opacity:0;transform:translate(-50%) translateY(12px)}}@media (max-width: 768px){.rt-zoom-btn[data-v-dc87e26b]{width:40px;height:40px}.rt-gen-btn[data-v-dc87e26b]{width:32px;height:32px}}@media (max-width: 520px){.rt-stats[data-v-dc87e26b]{bottom:68px;left:50%;right:auto;transform:translate(-50%)}.rt-zoom-controls[data-v-dc87e26b]{bottom:12px;left:50%;right:auto;transform:translate(-50%)}.drill-suggestion[data-v-dc87e26b]{bottom:106px}}@media (max-height: 480px){.rt-zoom-controls[data-v-dc87e26b]{bottom:8px;left:50%;right:auto;transform:translate(-50%)}.rt-stats[data-v-dc87e26b]{bottom:62px;left:50%;right:auto;transform:translate(-50%)}.drill-suggestion[data-v-dc87e26b]{bottom:100px}}.photo-row[data-v-8664bcac]{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.photo-thumb[data-v-8664bcac]{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border, #e2e8f0);flex-shrink:0}.photo-thumb-empty[data-v-8664bcac]{display:flex;align-items:center;justify-content:center;background:var(--surface, #f8fafc);color:var(--text-secondary, #94a3b8)}.btn-photo[data-v-8664bcac]{padding:7px 16px;border:1px solid var(--primary, #6366f1);border-radius:8px;background:transparent;color:var(--primary, #6366f1);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-photo[data-v-8664bcac]:hover{background:var(--primary-light, #e0e7ff)}.form-row[data-v-8664bcac]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-group[data-v-8664bcac]{display:flex;align-items:center}.label-hint[data-v-8664bcac]{font-size:.72rem;font-weight:400;color:var(--text-muted, #94a3b8);margin-left:4px}.upgrade-prompt[data-v-8664bcac]{margin:8px 0 4px;padding:10px 14px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;font-size:.8rem;color:#92400e}.extra-details[data-v-8664bcac]{margin:8px 0;border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:0}.extra-details summary[data-v-8664bcac]{padding:10px 14px;cursor:pointer;font-weight:500;font-size:.85rem;color:var(--text-secondary, #64748b);-webkit-user-select:none;user-select:none}.extra-details summary[data-v-8664bcac]:hover{color:var(--primary, #6366f1)}.extra-details[open] summary[data-v-8664bcac]{border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:12px}.extra-details .form-row[data-v-8664bcac],.extra-details .form-group[data-v-8664bcac]{padding:0 14px}.extra-details .form-group[data-v-8664bcac]:last-child{padding-bottom:14px}textarea[data-v-8664bcac]{width:100%;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-family:inherit;font-size:.9rem;resize:vertical}.checkbox-label[data-v-8664bcac]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox][data-v-8664bcac]{width:18px;height:18px;cursor:pointer}.date-input-wrapper[data-v-8664bcac]{position:relative;display:flex;align-items:center}.date-input-wrapper input[type=text][data-v-8664bcac]{flex:1;padding-right:36px}.hidden-date-picker[data-v-8664bcac]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.calendar-btn[data-v-8664bcac]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;line-height:1}.calendar-btn[data-v-8664bcac]:hover{background:var(--primary-light, #e0e7ff)}@media (max-width: 480px){.form-row[data-v-8664bcac]{grid-template-columns:1fr}}.form-group input[data-v-8664bcac],.form-group select[data-v-8664bcac]{font-size:1rem}@media (max-width: 640px){.form-row[data-v-8664bcac]{grid-template-columns:1fr}}@media (max-width: 360px){.modal-actions[data-v-8664bcac]{flex-direction:column-reverse;gap:8px}.modal-actions .btn[data-v-8664bcac]{width:100%;justify-content:center}}.spouse-tab-bar[data-v-8664bcac]{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.spouse-tab[data-v-8664bcac]{flex:1;padding:9px 0;border:none;background:var(--surface, #f8fafc);color:var(--text-secondary, #64748b);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.spouse-tab+.spouse-tab[data-v-8664bcac]{border-left:1px solid var(--border, #e2e8f0)}.spouse-tab.active[data-v-8664bcac]{background:var(--primary, #6366f1);color:#fff}.spouse-tab[data-v-8664bcac]:not(.active):hover{background:var(--primary-light, #e0e7ff);color:var(--primary, #6366f1)}.link-existing-panel[data-v-8664bcac]{display:flex;flex-direction:column;gap:8px}.link-search-input[data-v-8664bcac]{width:100%;padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:.9rem;outline:none;transition:border-color .15s}.link-search-input[data-v-8664bcac]:focus{border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.link-results[data-v-8664bcac]{max-height:240px;overflow-y:auto;border:1px solid var(--border, #e2e8f0);border-radius:8px;display:flex;flex-direction:column}.link-result-item[data-v-8664bcac]{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;background:none;cursor:pointer;text-align:left;transition:background .12s;width:100%}.link-result-item[data-v-8664bcac]:not(:last-child){border-bottom:1px solid var(--border, #f1f5f9)}.link-result-item[data-v-8664bcac]:hover{background:var(--primary-light, #e0e7ff)}.link-result-item.selected[data-v-8664bcac]{background:var(--primary-light, #e0e7ff);outline:2px solid var(--primary, #6366f1);outline-offset:-2px;border-radius:6px}.link-result-avatar[data-v-8664bcac]{width:36px;height:36px;border-radius:50%;flex-shrink:0;overflow:hidden}.link-result-avatar img[data-v-8664bcac]{width:100%;height:100%;object-fit:cover}.link-result-avatar-placeholder[data-v-8664bcac]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:#fff;background:#94a3b8}.link-result-avatar-placeholder.male[data-v-8664bcac]{background:#60a5fa}.link-result-avatar-placeholder.female[data-v-8664bcac]{background:#f472b6}.link-result-info[data-v-8664bcac]{display:flex;flex-direction:column;flex:1;min-width:0}.link-result-name[data-v-8664bcac]{font-weight:500;font-size:.9rem;color:var(--text, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-result-date[data-v-8664bcac]{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.link-result-spouse[data-v-8664bcac]{font-size:.72rem;color:var(--primary, #6366f1);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-check[data-v-8664bcac]{flex-shrink:0;color:var(--primary, #6366f1)}.link-no-results[data-v-8664bcac]{padding:16px;text-align:center;color:var(--text-secondary, #94a3b8);font-size:.85rem}.cropper-overlay[data-v-86f1943c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.cropper-dialog[data-v-86f1943c]{background:#fff;border-radius:16px;padding:24px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:90vw}.cropper-dialog h3[data-v-86f1943c]{margin:0 0 16px;text-align:center;font-size:1.1rem;color:#1e293b}.cropper-wrapper[data-v-86f1943c]{position:relative;width:250px;height:250px;margin:0 auto}.cropper-container[data-v-86f1943c]{width:250px;height:250px;position:relative;overflow:hidden;border-radius:50%;background:#0f172a}.circle-outline[data-v-86f1943c]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid rgba(99,102,241,.6);pointer-events:none;z-index:2}.cropper-container img[data-v-86f1943c]{position:absolute;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.cropper-controls[data-v-86f1943c]{display:flex;align-items:center;gap:10px;margin:16px auto;justify-content:center;max-width:260px}.zoom-btn[data-v-86f1943c]{width:32px;height:32px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s}.zoom-btn[data-v-86f1943c]:hover{background:#f1f5f9;border-color:#6366f1;color:#6366f1}.zoom-slider[data-v-86f1943c]{flex:1;accent-color:#6366f1;height:4px}.cropper-actions[data-v-86f1943c]{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.gallery-modal[data-v-89ef0b2f]{background:var(--surface);border-radius:16px;padding:24px;width:560px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;position:relative}.gallery-modal-header[data-v-89ef0b2f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.gallery-modal-header h3[data-v-89ef0b2f]{font-size:1.1rem;font-weight:600;color:var(--text)}.gallery-loading[data-v-89ef0b2f]{display:flex;justify-content:center;padding:48px 0}.gallery-grid[data-v-89ef0b2f]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item[data-v-89ef0b2f]{aspect-ratio:1;border-radius:10px;overflow:hidden;position:relative;background:var(--bg);border:2px solid var(--border)}.gallery-img[data-v-89ef0b2f]{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .2s}.gallery-item:hover .gallery-img[data-v-89ef0b2f]{transform:scale(1.04)}.gallery-item-actions[data-v-89ef0b2f]{position:absolute;bottom:0;left:0;right:0;padding:6px;background:linear-gradient(transparent,#0000008c);display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s}.gallery-item:hover .gallery-item-actions[data-v-89ef0b2f]{opacity:1}.gallery-cover-tag[data-v-89ef0b2f]{font-size:.65rem;font-weight:700;text-transform:uppercase;background:#22c55e;color:#fff;border-radius:9999px;padding:1px 6px;margin-right:auto}.gallery-action-btn[data-v-89ef0b2f]{background:#fff3;border:none;border-radius:6px;padding:4px;cursor:pointer;color:#fff;display:flex;align-items:center;transition:background .15s}.gallery-action-btn[data-v-89ef0b2f]:hover{background:#fff6}.gallery-action-btn.delete[data-v-89ef0b2f]:hover{background:#ef4444b3}.gallery-add[data-v-89ef0b2f],.gallery-limit[data-v-89ef0b2f]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border-style:dashed;color:var(--text-secondary);font-size:.8rem;transition:border-color .15s,color .15s}.gallery-add[data-v-89ef0b2f]:hover{border-color:var(--primary);color:var(--primary)}.gallery-limit[data-v-89ef0b2f]{cursor:default;opacity:.5}.gallery-count-hint[data-v-89ef0b2f]{font-size:.7rem;opacity:.7}.gallery-empty[data-v-89ef0b2f]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:var(--text-secondary);opacity:.7}.lightbox[data-v-89ef0b2f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:200;display:flex;align-items:center;justify-content:center}.lightbox-img[data-v-89ef0b2f]{max-width:90vw;max-height:85vh;border-radius:8px;object-fit:contain}.lightbox-close[data-v-89ef0b2f]{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1}.lightbox-nav[data-v-89ef0b2f]{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2.5rem;cursor:pointer;padding:8px 16px;border-radius:8px;line-height:1}.lightbox-nav.prev[data-v-89ef0b2f]{left:16px}.lightbox-nav.next[data-v-89ef0b2f]{right:16px}.lightbox-nav[data-v-89ef0b2f]:hover{background:#ffffff4d}.lightbox-counter[data-v-89ef0b2f]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.85rem}.gallery-confirm[data-v-89ef0b2f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;border-radius:16px;display:flex;align-items:center;justify-content:center;z-index:10}.gallery-confirm-box[data-v-89ef0b2f]{background:var(--surface);border-radius:12px;padding:20px 24px;min-width:240px;box-shadow:0 8px 32px #0003}.gallery-confirm-box p[data-v-89ef0b2f]{font-weight:500;color:var(--text)}.btn-danger[data-v-89ef0b2f]{background:#ef4444;color:#fff;border:none}.btn-danger[data-v-89ef0b2f]:hover{background:#dc2626}.btn-danger[data-v-89ef0b2f]:disabled{opacity:.5;cursor:not-allowed}.auth-page[data-v-708b11b7]{height:100vh;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e293b;overflow:hidden}.auth-panel-left[data-v-708b11b7]{display:flex;flex:1;position:relative;overflow:hidden;background:linear-gradient(145deg,#4f46e5,#7c3aed 60%,#6d28d9);padding:48px;flex-direction:column;justify-content:center}.panel-content[data-v-708b11b7]{position:relative;z-index:2;max-width:400px}.panel-logo[data-v-708b11b7]{display:flex;align-items:center;gap:12px;margin-bottom:48px}.panel-brand[data-v-708b11b7]{font-size:1.4rem;font-weight:800;color:#fff;letter-spacing:-.02em}.panel-headline[data-v-708b11b7]{font-size:2.2rem;font-weight:800;color:#fff;line-height:1.25;margin:0 0 20px;letter-spacing:-.02em}.panel-sub[data-v-708b11b7]{font-size:1rem;color:#ffffffc7;line-height:1.7;margin:0 0 40px}.panel-pills[data-v-708b11b7]{display:flex;flex-direction:column;gap:10px}.panel-pill[data-v-708b11b7]{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#ffffffe6;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:7px 14px;width:fit-content;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.deco[data-v-708b11b7]{position:absolute;border-radius:50%;background:#ffffff0f;pointer-events:none}.deco-1[data-v-708b11b7]{width:320px;height:320px;bottom:-80px;right:-60px}.deco-2[data-v-708b11b7]{width:200px;height:200px;top:-40px;right:40px;background:#ffffff0a}.deco-3[data-v-708b11b7]{width:100px;height:100px;bottom:120px;right:120px;background:#ffffff14}.auth-panel-right[data-v-708b11b7]{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#f8fafc;padding:20px 32px 32px;position:relative;overflow-y:auto}.auth-card[data-v-708b11b7]{width:100%;max-width:460px;background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000012,0 1px 4px #0000000a;padding:40px 36px;opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}.auth-card.mounted[data-v-708b11b7]{opacity:1;transform:translateY(0)}.auth-logo-mobile[data-v-708b11b7]{display:none;align-items:center;justify-content:center;gap:12px;margin-bottom:28px}.auth-logo-mobile-text[data-v-708b11b7]{display:flex;flex-direction:column;gap:1px}.auth-logo-mobile-name[data-v-708b11b7]{font-size:1.2rem;font-weight:800;color:#4f46e5;line-height:1.2}.auth-logo-mobile-tagline[data-v-708b11b7]{font-size:.75rem;color:#94a3b8;font-weight:400;letter-spacing:.01em}.auth-form h2[data-v-708b11b7]{font-size:1.4rem;font-weight:800;color:#0f172a;margin:0 0 4px;letter-spacing:-.02em}.auth-subtitle[data-v-708b11b7]{color:#64748b;font-size:.875rem;margin:0 0 28px}.form-group[data-v-708b11b7]{margin-bottom:16px}.form-group label[data-v-708b11b7]{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:6px}.input-wrap[data-v-708b11b7]{position:relative;display:flex;align-items:center}.input-icon[data-v-708b11b7]{position:absolute;left:12px;width:16px;height:16px;color:#94a3b8;pointer-events:none;flex-shrink:0}.input-wrap input[data-v-708b11b7],.input-wrap .input-select[data-v-708b11b7]{width:100%;padding:12px 40px 12px 38px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:1rem;color:#0f172a;background:#f8fafc;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-wrap input[data-v-708b11b7]:focus,.input-wrap .input-select[data-v-708b11b7]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;background:#fff}.input-wrap input[data-v-708b11b7]:focus-visible,.input-wrap .input-select[data-v-708b11b7]:focus-visible{outline:2px solid #6366f1;outline-offset:1px}.label-optional[data-v-708b11b7]{font-size:.8rem;color:#94a3b8;font-weight:400}.eye-btn[data-v-708b11b7]{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:0;width:44px;height:44px;color:#94a3b8;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s}.eye-btn[data-v-708b11b7]:hover{color:#4f46e5}.eye-btn[data-v-708b11b7]:focus-visible{outline:2px solid #4f46e5;outline-offset:1px}.eye-btn svg[data-v-708b11b7]{width:16px;height:16px}.btn-primary[data-v-708b11b7]{width:100%;padding:12px;margin-top:4px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;letter-spacing:.01em}.btn-primary[data-v-708b11b7]:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 14px #6366f159;transform:translateY(-1px)}.btn-primary[data-v-708b11b7]:focus-visible{outline:2px solid #4f46e5;outline-offset:3px}.btn-primary[data-v-708b11b7]:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner[data-v-708b11b7]{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:arc-spin-708b11b7 .7s linear infinite;flex-shrink:0}@keyframes arc-spin-708b11b7{to{transform:rotate(360deg)}}.auth-error[data-v-708b11b7],.auth-success[data-v-708b11b7]{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:8px;font-size:.875rem;margin-bottom:14px;line-height:1.5}.auth-error svg[data-v-708b11b7],.auth-success svg[data-v-708b11b7]{width:15px;height:15px;flex-shrink:0;margin-top:1px}.auth-error[data-v-708b11b7]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.auth-success[data-v-708b11b7]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.auth-sep[data-v-708b11b7]{height:1px;background:#e9eef6;margin:22px 0 6px}.back-home[data-v-708b11b7]{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;color:#94a3b8;font-size:.82rem;font-weight:500;padding:8px 10px;min-height:36px;border-radius:8px;transition:color .15s,background .15s;flex-shrink:0}.back-home svg[data-v-708b11b7]{width:14px;height:14px}.back-home[data-v-708b11b7]:hover{color:#4f46e5;background:#eef2ff}.back-home[data-v-708b11b7]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.auth-links[data-v-708b11b7]{display:flex;flex-direction:column;align-items:center;gap:6px}.link-btn[data-v-708b11b7]{background:none;border:none;color:#64748b;font-size:.84rem;cursor:pointer;padding:10px 8px;min-height:44px;border-radius:6px;transition:all .15s}.link-btn strong[data-v-708b11b7]{color:#4f46e5}.link-btn[data-v-708b11b7]:hover{background:#f1f5f9;color:#334155}.link-btn:hover strong[data-v-708b11b7]{color:#4338ca}.link-btn[data-v-708b11b7]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.link-btn.small[data-v-708b11b7]{font-size:.8rem;color:#94a3b8}.link-btn.small[data-v-708b11b7]:hover{color:#4f46e5;background:#eef2ff}.form-fade-enter-active[data-v-708b11b7],.form-fade-leave-active[data-v-708b11b7]{transition:opacity .2s ease,transform .2s ease}.form-fade-enter-from[data-v-708b11b7]{opacity:0;transform:translateY(8px)}.form-fade-leave-to[data-v-708b11b7]{opacity:0;transform:translateY(-8px)}.trust-strip[data-v-708b11b7]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;margin-top:20px;width:100%;max-width:460px}.trust-item[data-v-708b11b7]{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:#94a3b8;font-weight:500}.trust-item svg[data-v-708b11b7]{width:12px;height:12px;flex-shrink:0;color:#c4b5fd}.trust-dot[data-v-708b11b7]{color:#d1d5db;font-size:.8rem;line-height:1}.auth-form--register .form-group[data-v-708b11b7]{margin-bottom:12px}.auth-form--register h2[data-v-708b11b7]{margin-bottom:3px}.auth-form--register .auth-subtitle[data-v-708b11b7]{margin-bottom:20px}@media (max-width: 768px){.auth-panel-left[data-v-708b11b7]{display:none}.auth-panel-right[data-v-708b11b7]{max-width:100%;min-height:100vh;background:linear-gradient(160deg,#eef2ff,#e0e7ff,#c7d2fe);padding:24px 20px}.auth-card[data-v-708b11b7]{box-shadow:0 8px 32px #6366f11f;padding:32px 24px}.auth-logo-mobile[data-v-708b11b7]{display:flex}.trust-strip[data-v-708b11b7]{max-width:100%}}@media (max-width: 480px){.auth-card[data-v-708b11b7]{padding:24px 16px;border-radius:16px}}.verify-pending-form[data-v-708b11b7]{text-align:center}.verify-icon[data-v-708b11b7]{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#ede9fe;margin:0 auto 16px}.verify-email-addr[data-v-708b11b7]{font-weight:600;color:#4f46e5;font-size:.95rem;margin:4px 0 16px;word-break:break-all}.verify-instructions[data-v-708b11b7]{font-size:.88rem;color:#6b7280;margin:0 0 20px;line-height:1.5}.resend-btn[data-v-708b11b7]{width:100%;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;border:1.5px solid #e0e7ff;background:#f5f3ff;color:#4f46e5;transition:background .15s,border-color .15s}.resend-btn[data-v-708b11b7]:hover:not(:disabled){background:#ede9fe;border-color:#c7d2fe}.resend-btn[data-v-708b11b7]:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.auth-card[data-v-708b11b7]{transition:none;opacity:1;transform:none}.form-fade-enter-active[data-v-708b11b7],.form-fade-leave-active[data-v-708b11b7]{transition:none}.spinner[data-v-708b11b7]{animation:none}}.confirm-overlay[data-v-dc591762]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn-dc591762 .15s ease}.confirm-dialog[data-v-dc591762]{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #0003;animation:slideUp-dc591762 .2s ease}.confirm-icon[data-v-dc591762]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.danger .confirm-icon[data-v-dc591762]{background:#fef2f2;color:#dc2626}.warning .confirm-icon[data-v-dc591762]{background:#fffbeb;color:#d97706}.confirm-title[data-v-dc591762]{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0 0 8px}.confirm-message[data-v-dc591762]{font-size:.9rem;color:#64748b;margin:0 0 24px;line-height:1.5}.confirm-actions[data-v-dc591762]{display:flex;gap:12px;justify-content:center}.confirm-btn[data-v-dc591762]{padding:10px 24px;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.confirm-btn.cancel[data-v-dc591762]{background:#f1f5f9;color:#475569}.confirm-btn.cancel[data-v-dc591762]:hover{background:#e2e8f0}.confirm-btn.ok.danger[data-v-dc591762]{background:#dc2626;color:#fff}.confirm-btn.ok.danger[data-v-dc591762]:hover{background:#b91c1c}.confirm-btn.ok.warning[data-v-dc591762]{background:#d97706;color:#fff}.confirm-btn.ok.warning[data-v-dc591762]:hover{background:#b45309}@keyframes fadeIn-dc591762{0%{opacity:0}to{opacity:1}}@keyframes slideUp-dc591762{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.landing[data-v-2d7cf9ed]{min-height:100vh;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e293b}.hero-section[data-v-2d7cf9ed]{position:relative;overflow:hidden;background:#f8fafc}.hero-section[data-v-2d7cf9ed]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 65% -5%,rgba(124,58,237,.14) 0%,transparent 68%),radial-gradient(ellipse 55% 55% at 100% 45%,rgba(79,70,229,.1) 0%,transparent 62%),radial-gradient(ellipse 50% 55% at -8% 65%,rgba(139,92,246,.09) 0%,transparent 58%),radial-gradient(ellipse 65% 40% at 25% 108%,rgba(99,102,241,.08) 0%,transparent 54%);pointer-events:none;z-index:0}.hero-section[data-v-2d7cf9ed]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(79,70,229,.08) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0}.hero-content[data-v-2d7cf9ed],.hero-visual[data-v-2d7cf9ed]{position:relative;z-index:1}.nav[data-v-2d7cf9ed]{position:sticky;top:0;z-index:100;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0}.nav-inner[data-v-2d7cf9ed]{padding:0 16px;height:64px;display:flex;align-items:center;gap:32px}.nav-logo[data-v-2d7cf9ed]{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;color:#4f46e5;flex-shrink:0}.nav-links[data-v-2d7cf9ed]{display:flex;gap:4px;flex:1}.nav-link[data-v-2d7cf9ed]{background:none;border:none;cursor:pointer;padding:6px 14px;min-height:44px;display:inline-flex;align-items:center;border-radius:8px;font-size:.9rem;font-weight:500;color:#64748b;transition:all .2s}.nav-link[data-v-2d7cf9ed]:hover,.nav-link.active[data-v-2d7cf9ed]{color:#4f46e5;background:#ede9fe}.nav-actions[data-v-2d7cf9ed]{display:flex;gap:10px;align-items:center;flex-shrink:0}.btn-nav-login[data-v-2d7cf9ed]{background:none;border:1px solid #d1d5db;cursor:pointer;padding:7px 16px;min-height:44px;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;transition:all .2s}.btn-nav-login[data-v-2d7cf9ed]:hover{border-color:#4f46e5;color:#4f46e5}.btn-nav-cta[data-v-2d7cf9ed]{background:#4f46e5;color:#fff;border:none;cursor:pointer;padding:8px 18px;min-height:44px;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s}.btn-nav-cta[data-v-2d7cf9ed]:hover{background:#4338ca}.hamburger[data-v-2d7cf9ed]{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:10px 8px;min-width:44px;min-height:44px;margin-left:auto;flex-shrink:0}.ham-line[data-v-2d7cf9ed]{display:block;width:22px;height:2px;border-radius:2px;background:#475569;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.ham-line.open[data-v-2d7cf9ed]:nth-child(1){transform:translateY(7px) rotate(45deg)}.ham-line.open[data-v-2d7cf9ed]:nth-child(2){opacity:0}.ham-line.open[data-v-2d7cf9ed]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu[data-v-2d7cf9ed]{display:none;flex-direction:column;padding:0 16px;background:#fff;border-top:1px solid #e9eef6;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.mobile-menu.mobile-menu-open[data-v-2d7cf9ed]{max-height:400px;padding:8px 16px 16px;box-shadow:0 8px 24px #0000001f}.mobile-link[data-v-2d7cf9ed]{background:none;border:none;cursor:pointer;text-align:left;padding:12px 8px;font-size:1rem;font-weight:500;color:#374151;border-radius:8px;transition:background .15s,color .15s}.mobile-link[data-v-2d7cf9ed]:hover{background:#f1f5f9;color:#4f46e5}.mobile-link.active[data-v-2d7cf9ed]{color:#4f46e5;background:#ede9fe}.mobile-divider[data-v-2d7cf9ed]{height:1px;background:#e9eef6;margin:6px 0}.mobile-cta[data-v-2d7cf9ed]{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;cursor:pointer;padding:12px 16px;border-radius:10px;font-size:.95rem;font-weight:600;margin-top:4px;text-align:center;transition:opacity .2s}.mobile-cta[data-v-2d7cf9ed]:hover{opacity:.9}@media (max-width: 768px){.hamburger[data-v-2d7cf9ed]{display:flex}.nav-actions[data-v-2d7cf9ed]{display:none}.nav[data-v-2d7cf9ed]{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-menu[data-v-2d7cf9ed]{display:flex}}.hero[data-v-2d7cf9ed]{max-width:1100px;margin:0 auto;padding:80px 24px 60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-badge[data-v-2d7cf9ed]{display:inline-block;background:#ede9fe;color:#5b21b6;font-size:.8rem;font-weight:600;padding:5px 14px;border-radius:20px;margin-bottom:20px}.hero-title[data-v-2d7cf9ed]{font-size:3rem;font-weight:800;line-height:1.15;margin:0 0 20px;color:#0f172a}.gradient-text[data-v-2d7cf9ed]{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc[data-v-2d7cf9ed]{font-size:1.05rem;color:#64748b;line-height:1.7;margin:0 0 32px}.hero-cta[data-v-2d7cf9ed]{display:flex;gap:14px;align-items:center;margin-bottom:44px;flex-wrap:wrap}.btn-hero-primary[data-v-2d7cf9ed]{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;cursor:pointer;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 15px #4f46e566}.btn-hero-primary[data-v-2d7cf9ed]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4f46e573}.btn-hero-secondary[data-v-2d7cf9ed]{background:#fff;color:#4f46e5;border:1.5px solid #c7d2fe;cursor:pointer;padding:13px 24px;border-radius:12px;font-size:1rem;font-weight:600;transition:all .2s}.btn-hero-secondary[data-v-2d7cf9ed]:hover{border-color:#4f46e5;background:#ede9fe}.hero-stats[data-v-2d7cf9ed]{display:flex;align-items:center;gap:20px;flex-wrap:wrap;row-gap:12px}.stat[data-v-2d7cf9ed]{display:flex;flex-direction:column}.stat-num[data-v-2d7cf9ed]{font-size:1.4rem;font-weight:800;color:#4f46e5}.stat-label[data-v-2d7cf9ed]{font-size:.8rem;color:#94a3b8;font-weight:500}.stat-divider[data-v-2d7cf9ed]{width:1px;height:36px;background:#e2e8f0}.hero-visual[data-v-2d7cf9ed]{display:flex;justify-content:center;align-items:flex-start}.tree-demo-wrap[data-v-2d7cf9ed]{position:relative;background:linear-gradient(145deg,#f0f4ff,#eef2ff,#faf5ff);border:1.5px solid #c7d2fe;border-radius:24px;padding:20px 16px 14px;box-shadow:0 24px 64px #4f46e521,0 4px 16px #4f46e512;width:100%;max-width:420px}.tree-svg[data-v-2d7cf9ed]{width:100%;height:auto;display:block}.trunk-line[data-v-2d7cf9ed]{animation:draw-line-2d7cf9ed .5s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.35s}.branch-bar[data-v-2d7cf9ed]{animation:draw-line-2d7cf9ed .45s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.45s}.drop-line[data-v-2d7cf9ed]{animation:draw-line-2d7cf9ed .25s ease forwards;animation-delay:.5s}@keyframes draw-line-2d7cf9ed{to{stroke-dashoffset:0}}.anim-node[data-v-2d7cf9ed]{opacity:0;transform-origin:center center;animation:node-in-2d7cf9ed .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes node-in-2d7cf9ed{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.anim-fade[data-v-2d7cf9ed]{opacity:0;animation:fade-in-2d7cf9ed .4s ease forwards}@keyframes fade-in-2d7cf9ed{to{opacity:1}}.pulse-ring[data-v-2d7cf9ed]{animation:pulse-2d7cf9ed 2.2s ease-in-out infinite;animation-delay:1.6s}@keyframes pulse-2d7cf9ed{0%{r:30;opacity:.5}50%{r:38;opacity:.15}to{r:30;opacity:.5}}.tree-badge[data-v-2d7cf9ed]{position:absolute;bottom:18px;right:20px;background:#fff;border:1px solid #e0e7ff;border-radius:20px;padding:5px 12px;font-size:.75rem;font-weight:600;color:#4f46e5;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px #4f46e51a}.tree-badge-dot[data-v-2d7cf9ed]{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e40;animation:badge-pulse-2d7cf9ed 2s ease-in-out infinite}@keyframes badge-pulse-2d7cf9ed{0%,to{box-shadow:0 0 0 2px #22c55e40}50%{box-shadow:0 0 0 5px #22c55e1a}}.section-inner[data-v-2d7cf9ed]{max-width:1100px;margin:0 auto;padding:0 24px}.section-label[data-v-2d7cf9ed]{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#4f46e5;background:#ede9fe;padding:4px 12px;border-radius:20px;margin-bottom:14px}.section-title[data-v-2d7cf9ed]{font-size:2rem;font-weight:800;color:#0f172a;margin:0 0 48px;line-height:1.25}.features[data-v-2d7cf9ed]{padding:80px 0;background:#fff}.features-grid[data-v-2d7cf9ed]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.feature-card[data-v-2d7cf9ed]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px;display:flex;flex-direction:column;transition:all .2s}.feature-card[data-v-2d7cf9ed]:hover{border-color:#c7d2fe;box-shadow:0 8px 24px #4f46e514;transform:translateY(-2px)}.features-hero-grid[data-v-2d7cf9ed]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.feature-card-hero[data-v-2d7cf9ed]{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#c7d2fe,#fbcfe8) border-box;border:1.5px solid transparent;padding:28px 24px;flex-direction:row;align-items:flex-start;gap:18px}.feature-card-hero[data-v-2d7cf9ed]:hover{transform:translateY(-3px);box-shadow:0 12px 32px #4f46e51a}.feature-icon-wrap-hero[data-v-2d7cf9ed]{width:52px;height:52px;border-radius:14px;margin-bottom:0;flex-shrink:0}.feature-svg-icon-hero[data-v-2d7cf9ed]{width:26px;height:26px}.feature-card-hero h3[data-v-2d7cf9ed]{font-size:1.05rem;font-weight:800}.feature-card-hero p[data-v-2d7cf9ed]{font-size:.88rem}.feature-icon-wrap[data-v-2d7cf9ed]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0}.feature-svg-icon[data-v-2d7cf9ed]{width:22px;height:22px}.feature-card h3[data-v-2d7cf9ed]{font-size:.95rem;font-weight:700;margin:0 0 8px;color:#0f172a}.feature-card p[data-v-2d7cf9ed]{font-size:.875rem;color:#64748b;line-height:1.6;margin:0}@media (max-width: 1024px) and (min-width: 769px){.features-grid[data-v-2d7cf9ed]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.features-hero-grid[data-v-2d7cf9ed]{grid-template-columns:1fr}.feature-card-hero[data-v-2d7cf9ed]{flex-direction:column;gap:0}.feature-icon-wrap-hero[data-v-2d7cf9ed]{margin-bottom:16px}}.preview-section[data-v-2d7cf9ed]{padding:80px 0;background:#f8fafc;overflow-x:hidden}.preview-subtitle[data-v-2d7cf9ed]{font-size:1.05rem;color:#64748b;margin:-28px 0 44px;line-height:1.6}.preview-wrap[data-v-2d7cf9ed]{position:relative}.browser-chrome[data-v-2d7cf9ed]{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 32px 80px #4f46e51f,0 4px 20px #0000000f;overflow:hidden}.browser-bar[data-v-2d7cf9ed]{background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:10px 16px;display:flex;align-items:center;gap:12px}.browser-dot[data-v-2d7cf9ed]{width:11px;height:11px;border-radius:50%;flex-shrink:0}.browser-dot.red[data-v-2d7cf9ed]{background:#f87171}.browser-dot.yellow[data-v-2d7cf9ed]{background:#fbbf24}.browser-dot.green[data-v-2d7cf9ed]{background:#34d399}.browser-url[data-v-2d7cf9ed]{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:.78rem;color:#64748b;display:flex;align-items:center;gap:6px;max-width:320px;margin:0 auto}.browser-content[data-v-2d7cf9ed]{background:#f8fafc}.mock-toolbar[data-v-2d7cf9ed]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-bottom:1px solid #e9eef6;gap:12px}.mock-toolbar-left[data-v-2d7cf9ed],.mock-toolbar-right[data-v-2d7cf9ed]{display:flex;align-items:center;gap:6px}.mock-tab[data-v-2d7cf9ed]{font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:7px;color:#64748b;cursor:default}.mock-tab.active-tab[data-v-2d7cf9ed]{background:#ede9fe;color:#5b21b6}.mock-tab.muted[data-v-2d7cf9ed]{color:#94a3b8;font-weight:400}.mock-tree-pill[data-v-2d7cf9ed]{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:20px;color:#1e293b;background:#6366f114;display:flex;align-items:center;gap:4px;cursor:default}.mock-view-switcher[data-v-2d7cf9ed]{display:flex;align-items:center;gap:2px;padding:3px 12px;background:#f8fafc;border-bottom:1px solid #e9eef6}.mock-view-tab[data-v-2d7cf9ed]{font-size:.68rem;font-weight:500;padding:4px 10px;border-radius:6px;color:#64748b;display:flex;align-items:center;gap:4px;cursor:default;transition:background .15s}.mock-view-tab.active-view[data-v-2d7cf9ed]{background:#ede9fe;color:#4f46e5;font-weight:600}.mock-btn[data-v-2d7cf9ed]{font-size:.75rem;font-weight:500;padding:5px 10px;border-radius:7px;background:#f1f5f9;color:#475569;display:flex;align-items:center;gap:5px;cursor:default}.mock-btn.accent[data-v-2d7cf9ed]{background:#4f46e5;color:#fff;font-weight:600}.mock-canvas[data-v-2d7cf9ed]{position:relative;overflow:hidden}.canvas-svg[data-v-2d7cf9ed]{width:100%;height:auto;display:block}.mock-controls[data-v-2d7cf9ed]{position:absolute;bottom:14px;right:16px;display:flex;align-items:center;gap:2px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:4px;box-shadow:0 2px 8px #00000014}.mock-ctrl-btn[data-v-2d7cf9ed]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#475569;cursor:default}.mock-ctrl-btn[data-v-2d7cf9ed]:hover{background:#f1f5f9}.mock-ctrl-zoom[data-v-2d7cf9ed]{font-size:.72rem;font-weight:600;color:#475569;padding:0 6px}.mock-stat-badge[data-v-2d7cf9ed]{position:absolute;bottom:14px;left:16px;background:#fff;border:1px solid #e0e7ff;border-radius:20px;padding:5px 12px;font-size:.75rem;font-weight:600;color:#4f46e5;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px #4f46e51a}.callout[data-v-2d7cf9ed]{position:absolute;background:#fff;border:1px solid #e0e7ff;border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px #4f46e51a;animation:float-2d7cf9ed 3.5s ease-in-out infinite}.callout-left[data-v-2d7cf9ed]{top:24%;left:-40px}.callout-right[data-v-2d7cf9ed]{top:55%;right:-40px;animation-delay:1.2s}@keyframes float-2d7cf9ed{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.callout-icon[data-v-2d7cf9ed]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.callout-title[data-v-2d7cf9ed]{font-size:.82rem;font-weight:700;color:#0f172a}.callout-desc[data-v-2d7cf9ed]{font-size:.72rem;color:#94a3b8;margin-top:1px}@media (max-width: 900px){.callout[data-v-2d7cf9ed]{display:none}}.how-it-works[data-v-2d7cf9ed]{padding:80px 0;background:#f8fafc}.steps[data-v-2d7cf9ed]{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}.step[data-v-2d7cf9ed]{text-align:center;padding:32px 24px;background:#fff;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 4px 16px #0000000a}.step-num[data-v-2d7cf9ed]{width:52px;height:52px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;margin:0 auto 20px;box-shadow:0 4px 12px #4f46e559}.step h3[data-v-2d7cf9ed]{font-size:1rem;font-weight:700;margin:0 0 10px}.step p[data-v-2d7cf9ed]{font-size:.875rem;color:#64748b;line-height:1.6;margin:0}.step-arrow[data-v-2d7cf9ed]{position:absolute;top:50%;transform:translateY(-60%);width:80px;opacity:.9;pointer-events:none}.step-arrow-1[data-v-2d7cf9ed]{left:calc(33.33% - 40px)}.step-arrow-2[data-v-2d7cf9ed]{left:calc(66.66% - 40px)}@media (max-width: 768px){.step-arrow[data-v-2d7cf9ed]{display:none}}.testimonials[data-v-2d7cf9ed]{padding:80px 0;background:#fff}.testimonials-grid[data-v-2d7cf9ed]{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.early-access-banner[data-v-2d7cf9ed]{padding:80px 0;background:linear-gradient(135deg,#eef2ff,#f5f3ff);text-align:center}.early-access-desc[data-v-2d7cf9ed]{font-size:1.05rem;color:#475569;line-height:1.7;max-width:560px;margin:0 auto 28px}.early-access-perks[data-v-2d7cf9ed]{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.ea-perk[data-v-2d7cf9ed]{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:#1e293b}.mini-pricing[data-v-2d7cf9ed]{padding:80px 0;background:#f8fafc}.mini-pricing-sub[data-v-2d7cf9ed]{font-size:1rem;color:#64748b;margin:-24px 0 36px;line-height:1.6}.mp-toggle[data-v-2d7cf9ed]{display:inline-flex;align-items:center;gap:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;margin-bottom:40px;-webkit-user-select:none;user-select:none}.mp-toggle-active[data-v-2d7cf9ed]{color:#4f46e5;font-weight:700}.mp-toggle-track[data-v-2d7cf9ed]{width:44px;height:24px;background:#c7d2fe;border-radius:12px;position:relative;transition:background .2s}.mp-toggle-thumb[data-v-2d7cf9ed]{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#4f46e5;border-radius:50%;transition:transform .22s ease}.mp-toggle-thumb.right[data-v-2d7cf9ed]{transform:translate(20px)}.mp-save-badge[data-v-2d7cf9ed]{background:#d1fae5;color:#065f46;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:4px}.mp-toggle-segmented[data-v-2d7cf9ed]{gap:0;background:#f1f5f9;border-radius:10px;padding:3px}.mp-toggle-segmented button[data-v-2d7cf9ed]{all:unset;display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:.82rem;font-weight:500;color:#64748b;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.mp-toggle-segmented button.mp-toggle-active[data-v-2d7cf9ed]{background:#fff;color:#4f46e5;font-weight:700;box-shadow:0 1px 3px #0000001a}.mp-grid[data-v-2d7cf9ed]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.mp-card[data-v-2d7cf9ed]{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:28px 24px 24px;position:relative;transition:box-shadow .2s,transform .2s,border-color .2s}.mp-card[data-v-2d7cf9ed]:hover{box-shadow:0 8px 28px #00000012}.mp-card-featured[data-v-2d7cf9ed]{border-color:#4f46e5;box-shadow:0 8px 32px #4f46e524;transform:translateY(-6px)}.mp-card-featured[data-v-2d7cf9ed]:hover{box-shadow:0 14px 40px #4f46e52e}.mp-popular[data-v-2d7cf9ed]{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:#4f46e5;color:#fff;font-size:.72rem;font-weight:700;padding:3px 14px;border-radius:20px;white-space:nowrap;letter-spacing:.04em}.mp-plan-header[data-v-2d7cf9ed]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.mp-icon-wrap[data-v-2d7cf9ed]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mp-icon-wrap svg[data-v-2d7cf9ed]{width:20px;height:20px}.mp-name[data-v-2d7cf9ed]{font-size:1rem;font-weight:800;color:#0f172a}.mp-tagline[data-v-2d7cf9ed]{font-size:.78rem;color:#94a3b8;margin-top:1px}.mp-price-row[data-v-2d7cf9ed]{display:flex;align-items:baseline;gap:2px;margin-bottom:2px}.mp-currency[data-v-2d7cf9ed]{font-size:1rem;font-weight:700;color:#374151}.mp-amount[data-v-2d7cf9ed]{font-size:2.4rem;font-weight:900;color:#0f172a;line-height:1}.mp-period[data-v-2d7cf9ed]{font-size:.82rem;color:#94a3b8;margin-left:4px}.mp-orig[data-v-2d7cf9ed]{font-size:.75rem;color:#94a3b8;text-decoration:line-through;margin-bottom:16px}.mp-three-year-breakdown[data-v-2d7cf9ed]{font-size:.75rem;color:#6b7280;margin:0 0 12px;text-align:center}.mp-three-year-hl[data-v-2d7cf9ed]{color:#059669;font-weight:700}.mp-features[data-v-2d7cf9ed]{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:9px}.mp-features li[data-v-2d7cf9ed]{display:flex;align-items:center;gap:8px;font-size:.83rem;color:#374151}.mp-btn[data-v-2d7cf9ed]{width:100%;padding:11px;border-radius:10px;border:1.5px solid #4f46e5;background:#fff;color:#4f46e5;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .18s,color .18s}.mp-btn[data-v-2d7cf9ed]:hover{background:#ede9fe}.mp-btn-featured[data-v-2d7cf9ed]{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-color:transparent}.mp-btn-featured[data-v-2d7cf9ed]:hover{opacity:.92}.mp-btn-coming-soon[data-v-2d7cf9ed]{background:#fef3c7;color:#b45309;cursor:default;border-color:#fbbf24}.mp-btn-coming-soon[data-v-2d7cf9ed]:hover{background:#fef3c7;opacity:1}.mp-full-link[data-v-2d7cf9ed]{text-align:center;margin-top:32px}.mp-compare-btn[data-v-2d7cf9ed]{background:none;border:none;cursor:pointer;color:#4f46e5;font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;transition:background .15s}.mp-compare-btn[data-v-2d7cf9ed]:hover{background:#ede9fe}@media (max-width: 1024px) and (min-width: 769px){.mp-grid[data-v-2d7cf9ed]{grid-template-columns:1fr 1fr}.mp-card-featured[data-v-2d7cf9ed]{transform:none;grid-column:1 / -1;max-width:420px;margin:0 auto;width:100%}}@media (max-width: 768px){.mp-grid[data-v-2d7cf9ed]{grid-template-columns:1fr}.mp-card-featured[data-v-2d7cf9ed]{transform:none}}.faq-section[data-v-2d7cf9ed]{padding:80px 0;background:#f8fafc}.faq-grid[data-v-2d7cf9ed]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.faq-item[data-v-2d7cf9ed]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;cursor:pointer;transition:border-color .2s}.faq-item[data-v-2d7cf9ed]:hover{border-color:#c7d2fe}.faq-q[data-v-2d7cf9ed]{font-size:.95rem;font-weight:600;color:#0f172a;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq-q svg[data-v-2d7cf9ed]{flex-shrink:0;color:#64748b;transition:transform .2s}.faq-q svg.rotated[data-v-2d7cf9ed]{transform:rotate(180deg)}.faq-a[data-v-2d7cf9ed]{font-size:.875rem;color:#64748b;line-height:1.7;margin-top:12px}@media (max-width: 768px){.faq-grid[data-v-2d7cf9ed]{grid-template-columns:1fr}}.cta-banner[data-v-2d7cf9ed]{padding:80px 0;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.cta-inner[data-v-2d7cf9ed]{max-width:640px;margin:0 auto;padding:0 24px;text-align:center}.cta-inner h2[data-v-2d7cf9ed]{font-size:2rem;font-weight:800;color:#fff;margin:0 0 16px}.cta-inner p[data-v-2d7cf9ed]{font-size:1rem;color:#ffffffd1;margin:0 0 36px;line-height:1.6}.cta-banner .btn-hero-primary[data-v-2d7cf9ed]{background:#fff;color:#4f46e5;box-shadow:0 4px 20px #0000002e;margin:0 auto}.cta-banner .btn-hero-primary[data-v-2d7cf9ed]:hover{background:#f0f4ff}.footer[data-v-2d7cf9ed]{background:#0f172a}.footer-inner[data-v-2d7cf9ed]{max-width:1100px;margin:0 auto;padding:60px 24px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}.footer-brand[data-v-2d7cf9ed]{display:flex;flex-direction:column;gap:14px}.footer-logo[data-v-2d7cf9ed]{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:1.1rem}.footer-tagline[data-v-2d7cf9ed]{font-size:.875rem;color:#94a3b8;line-height:1.65;margin:0;max-width:280px}.footer-trust[data-v-2d7cf9ed]{display:flex;gap:8px;flex-wrap:wrap}.trust-badge[data-v-2d7cf9ed]{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:600;color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:20px;padding:4px 10px}.footer-col[data-v-2d7cf9ed]{display:flex;flex-direction:column;gap:4px}.footer-col-title[data-v-2d7cf9ed]{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:8px}.footer-link[data-v-2d7cf9ed]{background:none;border:none;cursor:pointer;text-align:left;color:#64748b;font-size:.875rem;padding:10px 8px;min-height:44px;display:inline-flex;align-items:center;transition:color .18s;border-radius:4px}.footer-link[data-v-2d7cf9ed]:hover{color:#e2e8f0}.footer-bottom[data-v-2d7cf9ed]{border-top:1px solid #1e293b}.footer-bottom-inner[data-v-2d7cf9ed]{max-width:1100px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.footer-copy[data-v-2d7cf9ed]{color:#64748b;font-size:.875rem}.footer-made[data-v-2d7cf9ed]{color:#64748b;font-size:.8rem}@media (max-width: 768px){.footer-inner[data-v-2d7cf9ed]{grid-template-columns:1fr 1fr;gap:32px;padding:40px 20px 28px}.footer-brand[data-v-2d7cf9ed]{grid-column:1 / -1}.footer-bottom-inner[data-v-2d7cf9ed]{flex-direction:column;align-items:flex-start}}.reveal[data-v-2d7cf9ed]{opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .5s ease}.reveal.visible[data-v-2d7cf9ed]{opacity:1;transform:translateY(0)}@media (max-width: 1024px) and (min-width: 769px){.steps[data-v-2d7cf9ed]{grid-template-columns:1fr 1fr;gap:28px}.step-arrow[data-v-2d7cf9ed]{display:none}.testimonials-grid[data-v-2d7cf9ed]{grid-template-columns:1fr 1fr;gap:20px}.testimonial-card[data-v-2d7cf9ed]:last-child{grid-column:1 / -1;max-width:520px;margin:0 auto;width:100%}.hero[data-v-2d7cf9ed]{gap:36px;padding:60px 24px 48px}.faq-grid[data-v-2d7cf9ed]{grid-template-columns:1fr}.footer-inner[data-v-2d7cf9ed]{grid-template-columns:1fr 1fr;gap:32px}.footer-brand[data-v-2d7cf9ed]{grid-column:1 / -1}.callout[data-v-2d7cf9ed]{display:none}}button[data-v-2d7cf9ed]:focus-visible,a[data-v-2d7cf9ed]:focus-visible{outline:2px solid #4f46e5;outline-offset:3px;border-radius:6px}.btn-hero-primary[data-v-2d7cf9ed]:focus-visible,.btn-hero-secondary[data-v-2d7cf9ed]:focus-visible,.btn-nav-cta[data-v-2d7cf9ed]:focus-visible,.mobile-cta[data-v-2d7cf9ed]:focus-visible{outline-offset:4px;border-radius:12px}.faq-item[data-v-2d7cf9ed]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}@media (prefers-reduced-motion: reduce){[data-v-2d7cf9ed],[data-v-2d7cf9ed]:before,[data-v-2d7cf9ed]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.trunk-line[data-v-2d7cf9ed],.branch-bar[data-v-2d7cf9ed],.drop-line[data-v-2d7cf9ed]{stroke-dashoffset:0!important}.anim-node[data-v-2d7cf9ed],.anim-fade[data-v-2d7cf9ed]{opacity:1!important;transform:scale(1)!important}.reveal[data-v-2d7cf9ed]{opacity:1!important;transform:none!important;transition:none!important}}@media (max-width: 768px){.hero[data-v-2d7cf9ed]{grid-template-columns:1fr;padding:48px 20px 40px;gap:40px}.hero-title[data-v-2d7cf9ed]{font-size:2rem}.hero-visual[data-v-2d7cf9ed]{order:-1}.tree-demo[data-v-2d7cf9ed]{min-width:unset;width:100%}.steps[data-v-2d7cf9ed],.testimonials-grid[data-v-2d7cf9ed]{grid-template-columns:1fr}.nav-links[data-v-2d7cf9ed]{display:none}.section-title[data-v-2d7cf9ed]{font-size:1.5rem}}@media (max-width: 480px){.hero-title[data-v-2d7cf9ed]{font-size:1.75rem}.section-title[data-v-2d7cf9ed]{font-size:1.35rem}}@media (max-width: 400px){.stat-divider[data-v-2d7cf9ed]{display:none}}.pricing-page[data-v-382d77b3]{min-height:100vh;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e293b}.nav[data-v-382d77b3]{position:sticky;top:0;z-index:100;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0}.nav-inner[data-v-382d77b3]{padding:0 16px;height:64px;display:flex;align-items:center;gap:32px}.nav-logo[data-v-382d77b3]{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;color:#4f46e5;flex-shrink:0}.nav-links[data-v-382d77b3]{display:flex;gap:4px;flex:1}.nav-link[data-v-382d77b3]{background:none;border:none;cursor:pointer;padding:6px 14px;border-radius:8px;min-height:44px;font-size:.9rem;font-weight:500;color:#64748b;transition:all .2s}.nav-link[data-v-382d77b3]:hover,.nav-link.active[data-v-382d77b3]{color:#4f46e5;background:#ede9fe}.nav-link[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.nav-actions[data-v-382d77b3]{display:flex;gap:10px;align-items:center;flex-shrink:0}.btn-nav-login[data-v-382d77b3]{background:none;border:1px solid #d1d5db;cursor:pointer;padding:7px 16px;border-radius:8px;min-height:44px;font-size:.875rem;font-weight:500;color:#374151;transition:all .2s}.btn-nav-login[data-v-382d77b3]:hover{border-color:#4f46e5;color:#4f46e5}.btn-nav-login[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.btn-nav-cta[data-v-382d77b3]{background:#4f46e5;color:#fff;border:none;cursor:pointer;padding:8px 18px;border-radius:8px;min-height:44px;font-size:.875rem;font-weight:600;transition:all .2s}.btn-nav-cta[data-v-382d77b3]:hover{background:#4338ca}.btn-nav-cta[data-v-382d77b3]:focus-visible{outline:2px solid #fff;outline-offset:2px}.hamburger[data-v-382d77b3]{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:10px 8px;min-width:44px;min-height:44px;margin-left:auto;flex-shrink:0}.hamburger[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px;border-radius:6px}.ham-line[data-v-382d77b3]{display:block;width:22px;height:2px;border-radius:2px;background:#475569;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.ham-line.open[data-v-382d77b3]:nth-child(1){transform:translateY(7px) rotate(45deg)}.ham-line.open[data-v-382d77b3]:nth-child(2){opacity:0}.ham-line.open[data-v-382d77b3]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu[data-v-382d77b3]{display:none;flex-direction:column;padding:0 16px;background:#fff;border-top:1px solid #e9eef6;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.mobile-menu.mobile-menu-open[data-v-382d77b3]{max-height:400px;padding:8px 16px 16px;box-shadow:0 8px 24px #0000001f}.mobile-link[data-v-382d77b3]{background:none;border:none;cursor:pointer;text-align:left;color:#374151;font-size:.95rem;font-weight:500;padding:10px 8px;min-height:44px;border-radius:8px;transition:all .15s}.mobile-link[data-v-382d77b3]:hover{background:#f1f5f9;color:#4f46e5}.mobile-link.active[data-v-382d77b3]{color:#4f46e5;background:#ede9fe}.mobile-link[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.mobile-divider[data-v-382d77b3]{height:1px;background:#e9eef6;margin:8px 0}.mobile-cta[data-v-382d77b3]{background:#4f46e5;color:#fff;border:none;cursor:pointer;padding:11px 16px;min-height:44px;border-radius:10px;font-size:.9rem;font-weight:700;margin-top:4px;transition:background .2s}.mobile-cta[data-v-382d77b3]:hover{background:#4338ca}.mobile-cta[data-v-382d77b3]:focus-visible{outline:2px solid #fff;outline-offset:2px}.pricing-hero[data-v-382d77b3]{text-align:center;padding:72px 24px 48px;background:linear-gradient(180deg,#f0f4ff,#f8fafc)}.section-label[data-v-382d77b3]{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#4f46e5;background:#ede9fe;padding:4px 12px;border-radius:20px;margin-bottom:16px}.pricing-hero h1[data-v-382d77b3]{font-size:2.5rem;font-weight:800;margin:0 0 16px;color:#0f172a}.pricing-hero p[data-v-382d77b3]{font-size:1rem;color:#64748b;margin:0 0 32px}.billing-toggle[data-v-382d77b3]{display:inline-flex;align-items:center;gap:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.billing-toggle span[data-v-382d77b3]{transition:color .2s;padding:12px 4px;cursor:pointer;display:inline-flex;align-items:center}.billing-toggle span.active[data-v-382d77b3]{color:#4f46e5;font-weight:700}.toggle-track[data-v-382d77b3]{width:44px;height:24px;background:#c7d2fe;border-radius:12px;position:relative;cursor:pointer;transition:background .2s}.toggle-thumb[data-v-382d77b3]{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#4f46e5;border-radius:50%;transition:transform .2s}.toggle-thumb.right[data-v-382d77b3]{transform:translate(20px)}.save-badge[data-v-382d77b3]{background:#d1fae5;color:#065f46;font-size:.75rem;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:4px}.billing-segmented[data-v-382d77b3]{gap:0;background:#f1f5f9;border-radius:10px;padding:3px}.billing-segmented button[data-v-382d77b3]{all:unset;display:inline-flex;align-items:center;gap:4px;padding:8px 16px;font-size:.88rem;font-weight:500;color:#64748b;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.billing-segmented button.active[data-v-382d77b3]{background:#fff;color:#4f46e5;font-weight:700;box-shadow:0 1px 3px #0000001a}.trust-strip[data-v-382d77b3]{background:#fff;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:14px 24px}.trust-strip-inner[data-v-382d77b3]{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.trust-item[data-v-382d77b3]{display:flex;align-items:center;gap:7px;font-size:.875rem;color:#374151}.trust-item strong[data-v-382d77b3]{color:#0f172a}.trust-icon[data-v-382d77b3]{width:16px;height:16px;flex-shrink:0;color:#4f46e5}.trust-divider[data-v-382d77b3]{width:1px;height:18px;background:#e2e8f0;flex-shrink:0}.plans-section[data-v-382d77b3]{padding:0 24px 72px}.plans-grid[data-v-382d77b3]{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:48px}.plan-card[data-v-382d77b3]{background:#fff;border:2px solid #e2e8f0;border-radius:20px;padding:32px 28px;position:relative;transition:box-shadow .2s,transform .2s}.plan-card[data-v-382d77b3]:hover{box-shadow:0 8px 30px #00000014}.plan-card.featured[data-v-382d77b3]{border-color:#4f46e5;box-shadow:0 8px 30px #4f46e526;transform:scale(1.03)}.plan-featured-label[data-v-382d77b3]{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:#4f46e5;color:#fff;font-size:.75rem;font-weight:700;padding:4px 16px;border-radius:20px;white-space:nowrap}.plan-icon-wrap[data-v-382d77b3]{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0}.plan-icon-wrap svg[data-v-382d77b3]{width:24px;height:24px}.plan-name[data-v-382d77b3]{font-size:1.2rem;font-weight:800;margin:0 0 6px;color:#0f172a}.plan-tagline[data-v-382d77b3]{font-size:.85rem;color:#64748b;margin:0 0 20px}.plan-price[data-v-382d77b3]{display:flex;align-items:baseline;gap:2px;margin-bottom:4px}.currency[data-v-382d77b3]{font-size:1.2rem;font-weight:700;color:#374151}.amount[data-v-382d77b3]{font-size:2.6rem;font-weight:900;color:#0f172a;line-height:1}.period[data-v-382d77b3]{font-size:.85rem;color:#94a3b8;margin-left:4px}.plan-orig[data-v-382d77b3]{font-size:.78rem;color:#94a3b8;text-decoration:line-through;margin-bottom:20px}.three-year-breakdown[data-v-382d77b3]{font-size:.8rem;color:#6b7280;margin:0 0 16px;text-align:center}.three-year-highlight[data-v-382d77b3]{color:#059669;font-weight:700}.plan-btn[data-v-382d77b3]{width:100%;padding:12px;min-height:44px;border-radius:10px;border:1.5px solid #4f46e5;background:#fff;color:#4f46e5;font-size:.9rem;font-weight:700;cursor:pointer;margin-top:16px;margin-bottom:24px;transition:all .2s}.plan-btn[data-v-382d77b3]:hover{background:#ede9fe}.plan-btn[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.plan-btn-featured[data-v-382d77b3]{background:#4f46e5;color:#fff}.plan-btn-featured[data-v-382d77b3]:hover{background:#4338ca}.plan-btn-featured[data-v-382d77b3]:focus-visible{outline:2px solid #818cf8;outline-offset:2px}.plan-btn-coming-soon[data-v-382d77b3]{background:#fef3c7;color:#b45309;cursor:default;border-color:#fbbf24}.plan-btn-coming-soon[data-v-382d77b3]:hover{background:#fef3c7}.plan-features[data-v-382d77b3]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.plan-features li[data-v-382d77b3]{font-size:.875rem;color:#374151;display:flex;align-items:center;gap:10px}.plan-features li.dimmed[data-v-382d77b3]{color:#94a3b8}.check[data-v-382d77b3]{font-size:.9rem;font-weight:700;flex-shrink:0}.plan-features li:not(.dimmed) .check[data-v-382d77b3]{color:#16a34a}.plan-features li.dimmed .check[data-v-382d77b3]{color:#ef4444}.comparison-section[data-v-382d77b3]{padding:0 24px 72px;background:#fff}.section-inner[data-v-382d77b3]{max-width:980px;margin:0 auto;padding:48px 0 0}.comparison-section h2[data-v-382d77b3],.faq-section h2[data-v-382d77b3]{font-size:1.75rem;font-weight:800;color:#0f172a;margin:0 0 36px}.compare-table-wrap[data-v-382d77b3]{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid #e2e8f0}.compare-table[data-v-382d77b3]{min-width:560px;width:100%;border-collapse:collapse}.compare-header[data-v-382d77b3],.compare-row[data-v-382d77b3]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr}.compare-header[data-v-382d77b3]{background:#f8fafc;border-bottom:1px solid #e2e8f0}.compare-row[data-v-382d77b3]{border-bottom:1px solid #f1f5f9}.compare-row[data-v-382d77b3]:last-child{border-bottom:none}.compare-row[data-v-382d77b3]:nth-child(2n){background:#fafbff}.compare-feature-col[data-v-382d77b3],.compare-plan-col[data-v-382d77b3]{padding:14px 16px;font-size:.875rem}.compare-feature-col[data-v-382d77b3]{color:#374151;font-weight:500}.compare-plan-col[data-v-382d77b3]{text-align:center;color:#64748b;font-weight:600}.compare-header .compare-plan-col[data-v-382d77b3]{font-weight:700;color:#0f172a}.compare-plan-col.featured[data-v-382d77b3]{color:#4f46e5}.compare-plan-col .no[data-v-382d77b3]{color:#ef4444}.faq-section[data-v-382d77b3]{padding:0 24px 80px;background:#f8fafc}.faq-section .section-inner[data-v-382d77b3]{padding-top:56px}.faq-grid[data-v-382d77b3]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.faq-item[data-v-382d77b3]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;cursor:pointer;transition:border-color .2s}.faq-item[data-v-382d77b3]:hover{border-color:#c7d2fe}.faq-item[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.faq-q[data-v-382d77b3]{font-size:.95rem;font-weight:600;color:#0f172a;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq-q svg[data-v-382d77b3]{flex-shrink:0;color:#64748b;transition:transform .2s}.faq-q svg.rotated[data-v-382d77b3]{transform:rotate(180deg)}.faq-a[data-v-382d77b3]{font-size:.875rem;color:#64748b;line-height:1.7;margin-top:12px}.cta-banner[data-v-382d77b3]{padding:80px 0;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.cta-inner[data-v-382d77b3]{max-width:640px;margin:0 auto;padding:0 24px;text-align:center}.cta-inner h2[data-v-382d77b3]{font-size:2rem;font-weight:800;color:#fff;margin:0 0 16px}.cta-inner p[data-v-382d77b3]{font-size:1rem;color:#ffffffd1;margin:0 0 36px;line-height:1.6}.btn-cta-primary[data-v-382d77b3]{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#4f46e5;border:none;cursor:pointer;padding:14px 28px;border-radius:10px;font-size:.95rem;font-weight:700;box-shadow:0 4px 20px #0000002e;transition:background .2s,transform .15s}.btn-cta-primary[data-v-382d77b3]:hover{background:#f0f4ff;transform:translateY(-1px)}.btn-cta-primary[data-v-382d77b3]:focus-visible{outline:2px solid #fff;outline-offset:3px}.footer[data-v-382d77b3]{background:#0f172a}.footer-inner[data-v-382d77b3]{max-width:1100px;margin:0 auto;padding:60px 24px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}.footer-brand[data-v-382d77b3]{display:flex;flex-direction:column;gap:14px}.footer-logo[data-v-382d77b3]{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:1.1rem}.footer-tagline[data-v-382d77b3]{font-size:.85rem;color:#94a3b8;line-height:1.65;margin:0;max-width:280px}.footer-trust[data-v-382d77b3]{display:flex;gap:8px;flex-wrap:wrap}.trust-badge[data-v-382d77b3]{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:600;color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:20px;padding:4px 10px}.footer-col[data-v-382d77b3]{display:flex;flex-direction:column;gap:4px}.footer-col-title[data-v-382d77b3]{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:8px}.footer-link[data-v-382d77b3]{background:none;border:none;cursor:pointer;text-align:left;color:#64748b;font-size:.875rem;padding:10px 8px;min-height:44px;transition:color .18s;border-radius:4px}.footer-link[data-v-382d77b3]:hover{color:#e2e8f0}.footer-link[data-v-382d77b3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.footer-bottom[data-v-382d77b3]{border-top:1px solid #1e293b}.footer-bottom-inner[data-v-382d77b3]{max-width:1100px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.footer-copy[data-v-382d77b3]{color:#64748b;font-size:.875rem}.footer-made[data-v-382d77b3]{color:#64748b;font-size:.8rem}.reveal[data-v-382d77b3]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal.visible[data-v-382d77b3]{opacity:1;transform:translateY(0)}@media (max-width: 1024px) and (min-width: 769px){.plans-grid[data-v-382d77b3]{grid-template-columns:1fr 1fr}.plan-card.featured[data-v-382d77b3]{transform:none;grid-column:1 / -1;max-width:420px;margin:0 auto;width:100%}.faq-grid[data-v-382d77b3]{grid-template-columns:1fr}}@media (max-width: 768px){.nav-links[data-v-382d77b3],.nav-actions[data-v-382d77b3]{display:none}.hamburger[data-v-382d77b3]{display:flex}.nav[data-v-382d77b3]{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-menu[data-v-382d77b3]{display:flex}.plans-grid[data-v-382d77b3]{grid-template-columns:1fr}.plan-card.featured[data-v-382d77b3]{transform:none}.compare-table-wrap[data-v-382d77b3]{border-radius:12px}.faq-grid[data-v-382d77b3]{grid-template-columns:1fr}.footer-inner[data-v-382d77b3]{grid-template-columns:1fr 1fr;gap:32px;padding:40px 20px 28px}.footer-brand[data-v-382d77b3]{grid-column:1 / -1}.footer-bottom-inner[data-v-382d77b3]{flex-direction:column;align-items:flex-start}.trust-strip-inner[data-v-382d77b3]{gap:12px}.trust-divider[data-v-382d77b3]{display:none}.pricing-hero h1[data-v-382d77b3]{font-size:1.9rem}}@media (max-width: 480px){.pricing-hero h1[data-v-382d77b3]{font-size:1.6rem}.footer-inner[data-v-382d77b3]{grid-template-columns:1fr;gap:24px}}@media (prefers-reduced-motion: reduce){.reveal[data-v-382d77b3]{opacity:1!important;transform:none!important;transition:none!important}}.about-page[data-v-6bc70ce3]{min-height:100vh;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e293b}.nav[data-v-6bc70ce3]{position:sticky;top:0;z-index:100;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0}.nav-inner[data-v-6bc70ce3]{padding:0 16px;height:64px;display:flex;align-items:center;gap:32px}.nav-logo[data-v-6bc70ce3]{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;color:#4f46e5;flex-shrink:0}.nav-links[data-v-6bc70ce3]{display:flex;gap:4px;flex:1}.nav-link[data-v-6bc70ce3]{background:none;border:none;cursor:pointer;padding:6px 14px;min-height:44px;border-radius:8px;font-size:.9rem;font-weight:500;color:#64748b;transition:all .2s}.nav-link[data-v-6bc70ce3]:hover,.nav-link.active[data-v-6bc70ce3]{color:#4f46e5;background:#ede9fe}.nav-actions[data-v-6bc70ce3]{display:flex;gap:10px;align-items:center;flex-shrink:0}.btn-nav-login[data-v-6bc70ce3]{background:none;border:1px solid #d1d5db;cursor:pointer;padding:7px 16px;min-height:44px;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;transition:all .2s}.btn-nav-login[data-v-6bc70ce3]:hover{border-color:#4f46e5;color:#4f46e5}.btn-nav-cta[data-v-6bc70ce3]{background:#4f46e5;color:#fff;border:none;cursor:pointer;padding:8px 18px;min-height:44px;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s}.btn-nav-cta[data-v-6bc70ce3]:hover{background:#4338ca}.hamburger[data-v-6bc70ce3]{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:10px 8px;min-width:44px;min-height:44px;margin-left:auto;flex-shrink:0}.ham-line[data-v-6bc70ce3]{display:block;width:22px;height:2px;border-radius:2px;background:#475569;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.ham-line.open[data-v-6bc70ce3]:nth-child(1){transform:translateY(7px) rotate(45deg)}.ham-line.open[data-v-6bc70ce3]:nth-child(2){opacity:0}.ham-line.open[data-v-6bc70ce3]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu[data-v-6bc70ce3]{display:none;flex-direction:column;padding:0 16px;background:#fff;border-top:1px solid #e9eef6;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.mobile-menu.mobile-menu-open[data-v-6bc70ce3]{max-height:400px;padding:8px 16px 16px;box-shadow:0 8px 24px #0000001f}.mobile-link[data-v-6bc70ce3]{background:none;border:none;cursor:pointer;text-align:left;color:#374151;font-size:.95rem;font-weight:500;padding:13px 8px;min-height:44px;border-radius:8px;transition:all .15s}.mobile-link[data-v-6bc70ce3]:hover{background:#f1f5f9;color:#4f46e5}.mobile-link.active[data-v-6bc70ce3]{color:#4f46e5;background:#ede9fe}.mobile-divider[data-v-6bc70ce3]{height:1px;background:#e9eef6;margin:8px 0}.mobile-cta[data-v-6bc70ce3]{background:#4f46e5;color:#fff;border:none;cursor:pointer;padding:11px 16px;border-radius:10px;font-size:.9rem;font-weight:700;margin-top:4px;transition:background .2s}.mobile-cta[data-v-6bc70ce3]:hover{background:#4338ca}.about-hero[data-v-6bc70ce3]{text-align:center;padding:80px 24px 56px;background:linear-gradient(180deg,#f0f4ff,#f8fafc)}.section-label[data-v-6bc70ce3]{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#4f46e5;background:#ede9fe;padding:4px 12px;border-radius:20px;margin-bottom:16px}.about-hero h1[data-v-6bc70ce3]{font-size:2.5rem;font-weight:800;margin:0 0 16px;color:#0f172a}.about-hero p[data-v-6bc70ce3]{font-size:1.05rem;color:#64748b;max-width:560px;margin:0 auto;line-height:1.7}.mission-section[data-v-6bc70ce3]{padding:72px 24px;background:#fff}.section-inner[data-v-6bc70ce3]{max-width:1100px;margin:0 auto}.mission-grid[data-v-6bc70ce3]{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.mission-text .section-label[data-v-6bc70ce3]{margin-bottom:12px}.mission-text h2[data-v-6bc70ce3]{font-size:1.75rem;font-weight:800;color:#0f172a;margin:0 0 20px}.mission-text p[data-v-6bc70ce3]{font-size:.95rem;color:#64748b;line-height:1.75;margin:0 0 16px}.mission-cards[data-v-6bc70ce3]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mission-card[data-v-6bc70ce3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:20px;transition:border-color .2s,box-shadow .2s}.mission-card[data-v-6bc70ce3]:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #4f46e512}.mission-icon-wrap[data-v-6bc70ce3]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.mission-icon-wrap svg[data-v-6bc70ce3]{width:20px;height:20px}.mission-card h4[data-v-6bc70ce3]{font-size:.9rem;font-weight:700;margin:0 0 6px;color:#0f172a}.mission-card p[data-v-6bc70ce3]{font-size:.875rem;color:#64748b;margin:0;line-height:1.6}.story-section[data-v-6bc70ce3]{padding:72px 24px;background:#f8fafc}.story-section .section-inner .section-label[data-v-6bc70ce3]{margin-bottom:12px}.story-section h2[data-v-6bc70ce3]{font-size:1.75rem;font-weight:800;color:#0f172a;margin:0 0 40px}.story-timeline[data-v-6bc70ce3]{display:flex;flex-direction:column;gap:0;border-left:2px solid #c7d2fe;padding-left:32px;margin-left:16px}.timeline-item[data-v-6bc70ce3]{position:relative;padding-bottom:36px}.timeline-item[data-v-6bc70ce3]:last-child{padding-bottom:0}.timeline-dot[data-v-6bc70ce3]{position:absolute;left:-40px;top:4px;width:14px;height:14px;background:#4f46e5;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #4f46e5;transition:box-shadow .4s ease}.timeline-item.visible .timeline-dot[data-v-6bc70ce3]{box-shadow:0 0 0 2px #4f46e5,0 0 0 6px #4f46e52e;animation:dot-pulse-6bc70ce3 1.8s ease-out forwards}@keyframes dot-pulse-6bc70ce3{0%{box-shadow:0 0 0 2px #4f46e5,0 0 0 6px #4f46e559}to{box-shadow:0 0 0 2px #4f46e5,0 0 0 6px #4f46e500}}.timeline-year[data-v-6bc70ce3]{font-size:.875rem;font-weight:700;color:#4f46e5;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.timeline-content h4[data-v-6bc70ce3]{font-size:1rem;font-weight:700;margin:0 0 6px;color:#0f172a}.timeline-content p[data-v-6bc70ce3]{font-size:.875rem;color:#64748b;margin:0;line-height:1.65}.stats-section[data-v-6bc70ce3]{background:linear-gradient(135deg,#4f46e5,#7c3aed);padding:60px 24px}.stats-grid[data-v-6bc70ce3]{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.big-stat[data-v-6bc70ce3]{text-align:center}.big-stat-num[data-v-6bc70ce3]{font-size:2.4rem;font-weight:900;color:#fff}.big-stat-label[data-v-6bc70ce3]{font-size:.85rem;color:#ffffffbf;margin-top:6px}.tech-section[data-v-6bc70ce3]{padding:72px 24px;background:#fff}.tech-section .section-label[data-v-6bc70ce3]{margin-bottom:12px}.tech-section h2[data-v-6bc70ce3]{font-size:1.75rem;font-weight:800;color:#0f172a;margin:0 0 36px}.tech-grid[data-v-6bc70ce3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.tech-card[data-v-6bc70ce3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:20px 16px;text-align:center;transition:border-color .2s,transform .2s,box-shadow .2s}.tech-card[data-v-6bc70ce3]:hover{border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 4px 16px #4f46e512}.tech-badge[data-v-6bc70ce3]{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;font-size:.8rem;font-weight:800;letter-spacing:-.02em;margin:0 auto 10px}.tech-name[data-v-6bc70ce3]{font-size:.95rem;font-weight:700;color:#0f172a}.tech-role[data-v-6bc70ce3]{font-size:.8rem;color:#94a3b8;margin-top:2px}.contact-section[data-v-6bc70ce3]{padding:72px 24px;background:#f8fafc}.contact-inner[data-v-6bc70ce3]{text-align:center}.contact-inner .section-label[data-v-6bc70ce3]{margin-bottom:12px}.contact-inner h2[data-v-6bc70ce3]{font-size:1.75rem;font-weight:800;color:#0f172a;margin:0 0 12px}.contact-inner>p[data-v-6bc70ce3]{font-size:1rem;color:#64748b;margin:0 0 40px}.contact-cards[data-v-6bc70ce3]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:800px;margin:0 auto}.contact-card[data-v-6bc70ce3]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 24px;text-align:center;transition:border-color .2s,box-shadow .2s}.contact-card[data-v-6bc70ce3]:hover{border-color:#c7d2fe;box-shadow:0 4px 20px #4f46e514}.contact-icon-wrap[data-v-6bc70ce3]{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.contact-icon-wrap svg[data-v-6bc70ce3]{width:22px;height:22px}.contact-card h4[data-v-6bc70ce3]{font-size:.95rem;font-weight:700;margin:0 0 6px;color:#0f172a}.contact-card p[data-v-6bc70ce3]{font-size:.875rem;color:#64748b;margin:0 0 12px}.contact-card a[data-v-6bc70ce3]{font-size:.82rem;color:#4f46e5;font-weight:600;text-decoration:none;display:inline-block;padding:8px 4px;min-height:44px;word-break:break-all;overflow-wrap:break-word}.contact-card a[data-v-6bc70ce3]:hover{text-decoration:underline}.contact-card a[data-v-6bc70ce3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px;border-radius:3px}.cta-banner[data-v-6bc70ce3]{padding:80px 0;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.cta-inner[data-v-6bc70ce3]{max-width:600px;margin:0 auto;padding:0 24px;text-align:center}.cta-inner h2[data-v-6bc70ce3]{font-size:2rem;font-weight:800;color:#fff;margin:0 0 14px}.cta-inner p[data-v-6bc70ce3]{font-size:1rem;color:#fffc;margin:0 0 32px}.btn-hero-primary[data-v-6bc70ce3]{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#4f46e5;border:none;cursor:pointer;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #00000026}.btn-hero-primary[data-v-6bc70ce3]:hover{background:#f0f4ff;transform:translateY(-2px)}.btn-hero-primary[data-v-6bc70ce3]:focus-visible{outline:2px solid #fff;outline-offset:3px}.nav-link[data-v-6bc70ce3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.btn-nav-login[data-v-6bc70ce3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.btn-nav-cta[data-v-6bc70ce3]:focus-visible{outline:2px solid #fff;outline-offset:2px}.hamburger[data-v-6bc70ce3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px;border-radius:6px}.mobile-link[data-v-6bc70ce3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.mobile-cta[data-v-6bc70ce3]:focus-visible{outline:2px solid #fff;outline-offset:2px}.footer-link[data-v-6bc70ce3]:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.reveal[data-v-6bc70ce3]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal.visible[data-v-6bc70ce3]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal[data-v-6bc70ce3]{opacity:1!important;transform:none!important;transition:none!important}.timeline-item.visible .timeline-dot[data-v-6bc70ce3]{animation:none!important}}.footer[data-v-6bc70ce3]{background:#0f172a}.footer-inner[data-v-6bc70ce3]{max-width:1100px;margin:0 auto;padding:60px 24px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}.footer-brand[data-v-6bc70ce3]{display:flex;flex-direction:column;gap:14px}.footer-logo[data-v-6bc70ce3]{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:1.1rem}.footer-tagline[data-v-6bc70ce3]{font-size:.85rem;color:#94a3b8;line-height:1.65;margin:0;max-width:280px}.footer-trust[data-v-6bc70ce3]{display:flex;gap:8px;flex-wrap:wrap}.trust-badge[data-v-6bc70ce3]{display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:600;color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:20px;padding:4px 10px}.footer-col[data-v-6bc70ce3]{display:flex;flex-direction:column;gap:4px}.footer-col-title[data-v-6bc70ce3]{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:8px}.footer-link[data-v-6bc70ce3]{background:none;border:none;cursor:pointer;text-align:left;color:#64748b;font-size:.875rem;padding:10px 8px;min-height:44px;transition:color .18s;border-radius:4px}.footer-link[data-v-6bc70ce3]:hover{color:#e2e8f0}.footer-bottom[data-v-6bc70ce3]{border-top:1px solid #1e293b}.footer-bottom-inner[data-v-6bc70ce3]{max-width:1100px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.footer-copy[data-v-6bc70ce3]{color:#64748b;font-size:.875rem}.footer-made[data-v-6bc70ce3]{color:#64748b;font-size:.8rem}@media (max-width: 900px){.mission-grid[data-v-6bc70ce3]{grid-template-columns:1fr;gap:40px}.contact-cards[data-v-6bc70ce3]{grid-template-columns:1fr 1fr;max-width:560px}}@media (max-width: 768px){.nav-links[data-v-6bc70ce3],.nav-actions[data-v-6bc70ce3]{display:none}.hamburger[data-v-6bc70ce3]{display:flex}.nav[data-v-6bc70ce3]{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-menu[data-v-6bc70ce3]{display:flex}.about-hero h1[data-v-6bc70ce3]{font-size:1.8rem}.footer-inner[data-v-6bc70ce3]{grid-template-columns:1fr 1fr;gap:32px;padding:40px 20px 28px}.footer-brand[data-v-6bc70ce3]{grid-column:1 / -1}.footer-bottom-inner[data-v-6bc70ce3]{flex-direction:column;align-items:flex-start}}@media (max-width: 640px){.mission-cards[data-v-6bc70ce3]{grid-template-columns:1fr}.stats-grid[data-v-6bc70ce3]{grid-template-columns:repeat(2,1fr);gap:16px}.tech-grid[data-v-6bc70ce3]{grid-template-columns:repeat(2,1fr)}.contact-cards[data-v-6bc70ce3]{grid-template-columns:1fr;max-width:400px}.about-hero h1[data-v-6bc70ce3]{font-size:1.9rem}}@media (max-width: 480px){.footer-inner[data-v-6bc70ce3]{grid-template-columns:1fr;gap:24px}.big-stat-num[data-v-6bc70ce3]{font-size:1.8rem}.cta-inner h2[data-v-6bc70ce3]{font-size:1.5rem}}.pedigree-view[data-v-aba73195]{width:100%;height:100%;overflow:hidden;background:var(--bg, #f8fafc);position:relative;user-select:none;-webkit-user-select:none;touch-action:none}.pedigree-empty[data-v-aba73195]{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8;font-size:1rem;font-family:system-ui,sans-serif}.pedigree-empty-inner[data-v-aba73195]{display:flex;flex-direction:column;align-items:center;gap:4px}.zoom-controls[data-v-aba73195]{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 8px;box-shadow:var(--shadow-md);z-index:10;-webkit-user-select:none;user-select:none}.zoom-btn[data-v-aba73195]{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.zoom-btn[data-v-aba73195]:hover{background:var(--primary-light);color:var(--primary)}.zoom-sep[data-v-aba73195]{width:1px;height:16px;background:var(--border);margin:0 4px;flex-shrink:0}.zoom-level[data-v-aba73195]{font-size:.8rem;color:var(--text-secondary);min-width:36px;text-align:center;font-weight:600;letter-spacing:.01em}.collapse-all-btn[data-v-aba73195]{width:auto!important;padding:0 8px;gap:4px;font-size:.72rem;font-weight:600;border-radius:999px}.collapse-all-btn span[data-v-aba73195]{white-space:nowrap}.gen-btn[data-v-aba73195]{width:24px!important;height:24px!important}.gen-btn[data-v-aba73195]:disabled{opacity:.35;cursor:default;pointer-events:none}.gen-label[data-v-aba73195]{font-size:.8rem;font-weight:700;min-width:26px;text-align:center;color:var(--text-secondary, #64748b);letter-spacing:.01em;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.zoom-btn[data-v-aba73195]{width:40px;height:40px}.gen-btn[data-v-aba73195]{width:32px!important;height:32px!important}}.legend[data-v-aba73195]{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary, #64748b);font-family:system-ui,sans-serif;background:var(--surface-overlay, var(--surface, #fff));opacity:.95;padding:5px 12px;border-radius:999px;border:1px solid var(--border, #e2e8f0);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.legend-dot[data-v-aba73195]{display:inline-block;width:10px;height:10px;border-radius:50%}.pedigree-node[data-v-aba73195]{will-change:transform,opacity}.pedigree-edge[data-v-aba73195],.pedigree-couple-line[data-v-aba73195],.pedigree-heart[data-v-aba73195]{transition:all .32s cubic-bezier(.4,0,.2,1)}.pedigree-highlight-ring[data-v-aba73195]{animation:pedigree-highlight-pulse-aba73195 1.8s ease-in-out infinite}.pedigree-highlight-mid[data-v-aba73195]{animation:pedigree-highlight-pulse-aba73195 1.8s ease-in-out infinite .12s}.pedigree-highlight-outer[data-v-aba73195]{animation:pedigree-highlight-pulse-aba73195 1.8s ease-in-out infinite .24s}@keyframes pedigree-highlight-pulse-aba73195{0%,to{opacity:.85}50%{opacity:1}}.pedigree-edge[data-v-aba73195],.pedigree-couple-line[data-v-aba73195]{stroke:var(--primary, #6366f1);opacity:.45}.pedigree-heart[data-v-aba73195]{fill:#e11d48}.pedigree-text-primary[data-v-aba73195]{fill:var(--text, #1e293b)}.pedigree-text-secondary[data-v-aba73195]{fill:var(--text-secondary, #64748b)}.pedigree-deceased[data-v-aba73195]{stroke:#dc2626}.pedigree-chevron[data-v-aba73195]{stroke:var(--primary, #6366f1);opacity:.5}.tree-search[data-v-aba73195]{position:absolute;top:16px;right:16px;display:flex;align-items:center;z-index:20}.search-toggle[data-v-aba73195]{width:44px;height:44px;border-radius:50%;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s;color:var(--text, #334155)}.search-toggle[data-v-aba73195]:hover{background:var(--primary-light, #e0e7ff)}.tree-search.expanded .search-toggle[data-v-aba73195]{border-radius:8px 0 0 8px;border-right:none}.search-input-wrap[data-v-aba73195]{position:relative}.search-input[data-v-aba73195]{width:min(220px,calc(100vw - 80px));height:44px;border:1px solid var(--border, #e2e8f0);border-left:none;border-radius:0 8px 8px 0;padding:0 28px 0 10px;font-size:.85rem;background:var(--surface, #fff);color:var(--text, #334155);outline:none;box-shadow:0 2px 8px #0000001a}.search-input[data-v-aba73195]:focus{border-color:var(--primary, #6366f1)}.search-clear[data-v-aba73195]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-light, #94a3b8);line-height:1}.search-dropdown[data-v-aba73195]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #00000026;max-height:240px;overflow-y:auto;z-index:30}.search-result[data-v-aba73195]{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .15s}.search-result[data-v-aba73195]:hover,.search-result.active[data-v-aba73195]{background:var(--primary-light, #e0e7ff)}.result-name[data-v-aba73195]{font-size:.85rem;font-weight:600;color:var(--text, #334155)}.result-relation[data-v-aba73195]{font-size:.72rem;color:var(--text-light, #94a3b8)}.pan-hint[data-v-aba73195]{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:8px 16px;box-shadow:var(--shadow-md, 0 4px 16px rgba(0,0,0,.1));z-index:10;font-size:.85rem;color:var(--text-secondary, #64748b);cursor:pointer;animation:fadeInHint-aba73195 .4s ease-out;white-space:nowrap;max-width:calc(100% - 32px)}.pan-hint span[data-v-aba73195]{white-space:normal;word-break:break-word}.pan-hint svg[data-v-aba73195]{flex-shrink:0}.pan-hint-close[data-v-aba73195]{background:none;border:none;font-size:1.1rem;color:var(--text-secondary, #64748b);cursor:pointer;padding:0 2px;line-height:1}@keyframes fadeInHint-aba73195{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 520px){.legend[data-v-aba73195]{bottom:68px;left:50%;right:auto;transform:translate(-50%)}.zoom-controls[data-v-aba73195]{bottom:12px;left:50%;right:auto;transform:translate(-50%)}}@media (max-height: 480px){.zoom-controls[data-v-aba73195]{bottom:8px;left:50%;right:auto;transform:translate(-50%)}.legend[data-v-aba73195]{bottom:62px;left:50%;right:auto;transform:translate(-50%)}}.pedigree-breadcrumb[data-v-aba73195]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;background:#0f172ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 10px;box-shadow:0 4px 20px #00000059;pointer-events:auto;white-space:nowrap;max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none}.pedigree-crumb[data-v-aba73195],.pedigree-crumb-home[data-v-aba73195]{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:.74rem;font-weight:500;padding:6px 12px;border-radius:999px;transition:background .15s,color .15s;display:flex;align-items:center;gap:4px;min-height:36px}.pedigree-crumb[data-v-aba73195]:hover,.pedigree-crumb-home[data-v-aba73195]:hover{background:#ffffff1f;color:#fff}.pedigree-crumb-home[data-v-aba73195]{padding:2px 8px}.pedigree-crumb-sep[data-v-aba73195]{color:#ffffff4d;font-size:.8rem;-webkit-user-select:none;user-select:none}.pedigree-crumb-current[data-v-aba73195]{color:#fff;font-weight:700;cursor:default}.breadcrumb-fade-enter-active[data-v-aba73195],.breadcrumb-fade-leave-active[data-v-aba73195]{transition:opacity .22s ease,transform .22s ease}.breadcrumb-fade-enter-from[data-v-aba73195],.breadcrumb-fade-leave-to[data-v-aba73195]{opacity:0;transform:translate(-50%) translateY(-8px)}.drill-suggestion[data-v-aba73195]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:30;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 32px #0000001f;padding:14px 18px 16px;width:max-content;max-width:90vw;text-align:center}.drill-suggest-text[data-v-aba73195]{font-size:13px;color:#64748b;margin-bottom:10px;line-height:1.4}.drill-suggest-chips[data-v-aba73195]{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.drill-suggest-chips[data-v-aba73195]::-webkit-scrollbar{display:none}.drill-chip[data-v-aba73195]{padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:600;border:1.5px solid;cursor:pointer;transition:background .15s,color .15s,transform .1s;background:#f8fafc;color:#475569;border-color:#cbd5e1;white-space:nowrap;flex-shrink:0}.drill-chip[data-v-aba73195]:hover{transform:translateY(-1px)}.drill-chip.male[data-v-aba73195]{border-color:#818cf8;color:#4338ca;background:#eef2ff}.drill-chip.male[data-v-aba73195]:hover{background:#818cf8;color:#fff}.drill-chip.female[data-v-aba73195]{border-color:#f472b6;color:#be185d;background:#fdf2f8}.drill-chip.female[data-v-aba73195]:hover{background:#f472b6;color:#fff}.drill-suggest-enter-active[data-v-aba73195]{transition:opacity .25s ease,transform .25s ease}.drill-suggest-leave-active[data-v-aba73195]{transition:opacity .2s ease,transform .2s ease}.drill-suggest-enter-from[data-v-aba73195],.drill-suggest-leave-to[data-v-aba73195]{opacity:0;transform:translate(-50%) translateY(12px)}@media (max-width: 640px){.zoom-level[data-v-aba73195],.gen-label[data-v-aba73195]{font-size:.8rem}.drill-suggestion[data-v-aba73195]{bottom:76px}}.fan-wrap[data-v-d70800ae]{width:100%;height:100%;position:relative;overflow:hidden;background:var(--bg, #f8fafc);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.fan-wrap[data-v-d70800ae]:active{cursor:grabbing}.fan-svg[data-v-d70800ae]{width:100%;height:100%;display:block}.fan-empty[data-v-d70800ae]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#94a3b8;font-size:.9rem}.fan-root-label[data-v-d70800ae]{fill:var(--text-secondary, #64748b)}.fan-tooltip[data-v-d70800ae]{position:absolute;background:var(--surface, #fff);color:var(--text, #1e293b);border:1px solid var(--border, #e2e8f0);padding:8px 12px;border-radius:10px;font-size:.82rem;pointer-events:none;white-space:nowrap;transform:translate(-50%,-115%);z-index:20;box-shadow:0 4px 16px #00000026}.fan-tip-header[data-v-d70800ae]{display:flex;align-items:center;gap:9px}.fan-tip-photo[data-v-d70800ae]{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border, #e2e8f0)}.fan-tip-photo-default[data-v-d70800ae]{padding:3px;background:#f1f5f9}.fan-tip-info[data-v-d70800ae]{display:flex;flex-direction:column;gap:2px}.fan-tip-years[data-v-d70800ae]{font-size:.71rem;color:var(--text-secondary, #64748b)}.fan-tip-dec[data-v-d70800ae]{font-size:.71rem;color:#e11d48;display:flex;align-items:center;gap:3px}.zoom-controls[data-v-d70800ae]{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 8px;box-shadow:var(--shadow-md);z-index:10;-webkit-user-select:none;user-select:none}.zoom-btn[data-v-d70800ae]{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.zoom-btn[data-v-d70800ae]:hover{background:var(--primary-light);color:var(--primary)}.zoom-sep[data-v-d70800ae]{width:1px;height:16px;background:var(--border);margin:0 4px;flex-shrink:0}.zoom-level[data-v-d70800ae]{font-size:.8rem;color:var(--text-secondary);min-width:36px;text-align:center;font-weight:600;letter-spacing:.01em}.collapse-all-btn[data-v-d70800ae]{width:auto!important;padding:0 10px;border-radius:999px!important;gap:5px;font-size:.72rem;font-weight:600;white-space:nowrap}.collapse-btn-label[data-v-d70800ae]{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.collapse-all-btn:hover .collapse-btn-label[data-v-d70800ae]{color:var(--primary)}.gen-btn[data-v-d70800ae]{width:24px!important;height:24px!important}.gen-btn[data-v-d70800ae]:disabled{opacity:.35;cursor:default;pointer-events:none}.gen-label[data-v-d70800ae]{font-size:.8rem;font-weight:700;min-width:26px;text-align:center;color:var(--text-secondary, #64748b);letter-spacing:.01em;-webkit-user-select:none;user-select:none}.fan-breadcrumb[data-v-d70800ae]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;background:#0f172ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 10px;box-shadow:0 4px 20px #00000059;pointer-events:auto;white-space:nowrap;max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none}.fan-crumb[data-v-d70800ae],.fan-crumb-home[data-v-d70800ae]{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:.74rem;font-weight:500;padding:6px 10px;border-radius:999px;transition:background .15s,color .15s;display:flex;align-items:center;gap:4px;min-height:36px}.fan-crumb[data-v-d70800ae]:hover,.fan-crumb-home[data-v-d70800ae]:hover{background:#ffffff1f;color:#fff}.fan-crumb-home[data-v-d70800ae]{padding:2px 8px}.fan-crumb-sep[data-v-d70800ae]{color:#ffffff4d;font-size:.8rem;-webkit-user-select:none;user-select:none}.fan-crumb-current[data-v-d70800ae]{color:#fff;font-weight:700;cursor:default}.fan-breadcrumb-fade-enter-active[data-v-d70800ae],.fan-breadcrumb-fade-leave-active[data-v-d70800ae]{transition:opacity .22s ease,transform .22s ease}.fan-breadcrumb-fade-enter-from[data-v-d70800ae],.fan-breadcrumb-fade-leave-to[data-v-d70800ae]{opacity:0;transform:translate(-50%) translateY(-8px)}.gen-labels[data-v-d70800ae]{position:absolute;top:0;bottom:0;left:12px;pointer-events:none;z-index:6}.gen-label-pill[data-v-d70800ae]{position:absolute;left:0;white-space:nowrap;background:var(--surface-overlay, var(--surface, #fff));border:1px solid var(--border, #e2e8f0);border-radius:20px;padding:3px 10px;font-size:10px;font-weight:600;color:var(--text-secondary, #64748b);font-family:system-ui,sans-serif;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.95;box-shadow:0 1px 4px #00000012}.legend[data-v-d70800ae]{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary, #64748b);font-family:system-ui,sans-serif;background:var(--surface-overlay, var(--surface, #fff));opacity:.95;padding:5px 12px;border-radius:999px;border:1px solid var(--border, #e2e8f0);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.legend-dot[data-v-d70800ae]{display:inline-block;width:10px;height:10px;border-radius:50%}.legend-deceased[data-v-d70800ae]{display:inline-block;width:14px;height:10px;border-radius:3px;background:repeating-linear-gradient(45deg,#64748b 0px,#64748b 2px,transparent 2px,transparent 5px);border:1px solid #94a3b8}.fan-wrap[data-v-d70800ae]:focus{outline:none}.fan-wrap[data-v-d70800ae]:focus-visible{outline:2px solid var(--primary, #6366f1);outline-offset:-2px}.tree-search[data-v-d70800ae]{position:absolute;top:16px;right:16px;display:flex;align-items:center;z-index:20}.search-toggle[data-v-d70800ae]{width:44px;height:44px;border-radius:50%;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s;color:var(--text, #334155)}.search-toggle[data-v-d70800ae]:hover{background:var(--primary-light, #e0e7ff)}.tree-search.expanded .search-toggle[data-v-d70800ae]{border-radius:8px 0 0 8px;border-right:none}.search-input-wrap[data-v-d70800ae]{position:relative}.search-input[data-v-d70800ae]{width:min(220px,calc(100vw - 80px));height:44px;border:1px solid var(--border, #e2e8f0);border-left:none;border-radius:0 8px 8px 0;padding:0 28px 0 10px;font-size:.85rem;background:var(--surface, #fff);color:var(--text, #334155);outline:none;box-shadow:0 2px 8px #0000001a}.search-input[data-v-d70800ae]:focus{border-color:var(--primary, #6366f1)}.search-clear[data-v-d70800ae]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-light, #94a3b8);line-height:1}.search-dropdown[data-v-d70800ae]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #00000026;max-height:240px;overflow-y:auto;z-index:30}.search-result[data-v-d70800ae]{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .15s}.search-result[data-v-d70800ae]:hover,.search-result.active[data-v-d70800ae]{background:var(--primary-light, #e0e7ff)}.result-name[data-v-d70800ae]{font-size:.85rem;font-weight:600;color:var(--text, #334155)}.result-year[data-v-d70800ae]{font-size:.78rem;font-weight:400;color:var(--text-light, #94a3b8)}.result-relation[data-v-d70800ae]{font-size:.72rem;color:var(--text-light, #94a3b8)}.fan-ctx-backdrop[data-v-d70800ae]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50}.fan-ctx-menu[data-v-d70800ae]{position:absolute;min-width:160px;background:var(--surface-overlay, var(--surface, #fff));border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #00000021;padding:4px;z-index:51;font-family:system-ui,sans-serif}.fan-ctx-name[data-v-d70800ae]{padding:6px 10px 4px;font-size:11px;font-weight:700;color:var(--text, #1e293b);border-bottom:1px solid var(--border, #f1f5f9);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fan-ctx-item[data-v-d70800ae]{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text, #1e293b);border-radius:6px;text-align:left;font-family:system-ui,sans-serif;transition:background .1s;min-height:44px}.fan-ctx-item[data-v-d70800ae]:hover{background:var(--primary-light, #eef2ff);color:var(--primary, #6366f1)}.fan-ctx-item svg[data-v-d70800ae]{flex-shrink:0;opacity:.7}.pan-hint[data-v-d70800ae]{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:8px 16px;box-shadow:var(--shadow-md, 0 4px 16px rgba(0,0,0,.1));z-index:10;font-size:.85rem;color:var(--text-secondary, #64748b);cursor:pointer;animation:fadeInHint-d70800ae .4s ease-out;white-space:nowrap;max-width:calc(100% - 32px)}.pan-hint span[data-v-d70800ae]{white-space:normal;word-break:break-word}.pan-hint svg[data-v-d70800ae]{flex-shrink:0}.pan-hint-close[data-v-d70800ae]{background:none;border:none;font-size:1.1rem;color:var(--text-secondary, #64748b);cursor:pointer;padding:0 2px;line-height:1;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}@keyframes fadeInHint-d70800ae{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 520px){.legend[data-v-d70800ae]{bottom:68px;left:50%;right:auto;transform:translate(-50%)}.zoom-controls[data-v-d70800ae]{bottom:12px;left:50%;right:auto;transform:translate(-50%)}}@media (max-height: 480px){.zoom-controls[data-v-d70800ae]{bottom:8px;left:50%;right:auto;transform:translate(-50%)}.legend[data-v-d70800ae]{bottom:62px;left:50%;right:auto;transform:translate(-50%)}}.fan-highlight-pulse[data-v-d70800ae]{animation:fan-highlight-pulse-d70800ae 1.8s ease-in-out infinite}@keyframes fan-highlight-pulse-d70800ae{0%,to{opacity:.75}50%{opacity:1}}@media (max-width: 768px){.zoom-btn[data-v-d70800ae]{width:40px;height:40px}.gen-btn[data-v-d70800ae]{width:32px!important;height:32px!important}}@media (max-width: 640px){.fan-crumb[data-v-d70800ae],.fan-crumb-home[data-v-d70800ae]{min-height:36px;padding:6px 10px}.fan-ctx-item[data-v-d70800ae]{min-height:44px;padding:12px 16px}.drill-suggestion[data-v-d70800ae]{bottom:76px}}.drill-suggestion[data-v-d70800ae]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:30;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 32px #0000001f;padding:14px 18px 16px;width:max-content;max-width:90vw;text-align:center}.drill-suggest-text[data-v-d70800ae]{font-size:13px;color:#64748b;margin-bottom:10px;line-height:1.4}.drill-suggest-chips[data-v-d70800ae]{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.drill-suggest-chips[data-v-d70800ae]::-webkit-scrollbar{display:none}.drill-chip[data-v-d70800ae]{padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:600;border:1.5px solid;cursor:pointer;transition:background .15s,color .15s,transform .1s;background:#f8fafc;color:#475569;border-color:#cbd5e1;white-space:nowrap;flex-shrink:0}.drill-chip[data-v-d70800ae]:hover{transform:translateY(-1px)}.drill-chip.male[data-v-d70800ae]{border-color:#818cf8;color:#4338ca;background:#eef2ff}.drill-chip.male[data-v-d70800ae]:hover{background:#818cf8;color:#fff}.drill-chip.female[data-v-d70800ae]{border-color:#f472b6;color:#be185d;background:#fdf2f8}.drill-chip.female[data-v-d70800ae]:hover{background:#f472b6;color:#fff}.drill-suggest-enter-active[data-v-d70800ae]{transition:opacity .25s ease,transform .25s ease}.drill-suggest-leave-active[data-v-d70800ae]{transition:opacity .2s ease,transform .2s ease}.drill-suggest-enter-from[data-v-d70800ae],.drill-suggest-leave-to[data-v-d70800ae]{opacity:0;transform:translate(-50%) translateY(12px)}.dlv-wrap[data-v-ca877a21]{display:flex;flex-direction:column;height:100%;background:var(--bg, #f8fafc);font-family:inherit}.dlv-header[data-v-ca877a21]{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:600;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);flex-shrink:0;position:relative}.dlv-header-inner[data-v-ca877a21]{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.dlv-header-inner[data-v-ca877a21]::-webkit-scrollbar{display:none}.dlv-count[data-v-ca877a21]{font-size:.75rem;font-weight:500;color:var(--text-muted, #94a3b8);background:var(--bg, #f1f5f9);padding:2px 8px;border-radius:20px;white-space:nowrap}.dlv-toggle-all[data-v-ca877a21]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border, #e2e8f0);border-radius:20px;background:var(--surface, #fff);color:var(--text-secondary, #64748b);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.dlv-toggle-all[data-v-ca877a21]:hover{background:var(--primary-light, #eef2ff);border-color:var(--primary, #6366f1);color:var(--primary, #6366f1)}.dlv-gen-stepper[data-v-ca877a21]{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border, #e2e8f0);border-radius:20px;background:var(--surface, #fff);padding:2px 6px;flex-shrink:0}.dlv-gen-btn[data-v-ca877a21]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.dlv-gen-btn[data-v-ca877a21]:hover:not(:disabled){background:var(--primary-light, #eef2ff);color:var(--primary, #6366f1)}.dlv-gen-btn[data-v-ca877a21]:disabled{opacity:.35;cursor:default}.dlv-gen-label[data-v-ca877a21]{font-size:.7rem;font-weight:700;min-width:22px;text-align:center;color:var(--text-secondary, #64748b);-webkit-user-select:none;user-select:none}.dlv-search[data-v-ca877a21]{margin-left:auto;display:flex;align-items:center}.dlv-search-toggle[data-v-ca877a21]{width:32px;height:32px;border-radius:50%;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b);transition:all .15s;flex-shrink:0}.dlv-search-toggle[data-v-ca877a21]:hover{background:var(--primary-light, #eef2ff);color:var(--primary, #6366f1)}.dlv-search.expanded .dlv-search-toggle[data-v-ca877a21]{border-radius:8px 0 0 8px;border-right:none}.dlv-search-body[data-v-ca877a21]{position:relative}.dlv-search-input[data-v-ca877a21]{height:32px;width:min(190px,calc(100vw - 100px));border:1px solid var(--border, #e2e8f0);border-left:none;border-radius:0 8px 8px 0;padding:0 26px 0 9px;font-size:.83rem;background:var(--surface, #fff);color:var(--text, #334155);outline:none}.dlv-search-input[data-v-ca877a21]:focus{border-color:var(--primary, #6366f1)}.dlv-search-clear[data-v-ca877a21]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted, #94a3b8);line-height:1;padding:0}.dlv-search-dropdown[data-v-ca877a21]{position:absolute;top:calc(100% + 4px);right:0;width:224px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #00000021;max-height:240px;overflow-y:auto;z-index:50}.dlv-search-result[data-v-ca877a21]{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .12s}.dlv-search-result[data-v-ca877a21]:hover,.dlv-search-result.active[data-v-ca877a21]{background:var(--primary-light, #eef2ff)}.dlv-result-name[data-v-ca877a21]{font-size:.84rem;font-weight:600;color:var(--text, #334155)}.dlv-result-relation[data-v-ca877a21]{font-size:.72rem;color:var(--text-muted, #94a3b8)}.dlv-hint[data-v-ca877a21]{display:flex;align-items:center;gap:8px;padding:7px 16px;background:var(--surface, #fff);border-bottom:1px solid var(--border, #e2e8f0);font-size:.78rem;color:var(--text-secondary, #64748b);cursor:pointer;animation:dlvFadeIn-ca877a21 .3s ease-out;flex-shrink:0}.dlv-hint svg[data-v-ca877a21]{flex-shrink:0;opacity:.6}.dlv-hint-close[data-v-ca877a21]{margin-left:auto;background:none;border:none;font-size:1rem;cursor:pointer;color:var(--text-muted, #94a3b8);line-height:1;padding:0 2px;flex-shrink:0}@keyframes dlvFadeIn-ca877a21{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dlv-body-wrap[data-v-ca877a21]{flex:1;position:relative;overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:column}.dlv-body[data-v-ca877a21]{flex:1;overflow-y:auto;overflow-x:visible;padding:8px 0 40px;min-width:min-content}.dlv-scroll-fade[data-v-ca877a21]{position:absolute;bottom:0;left:0;right:0;height:48px;background:linear-gradient(to bottom,transparent,var(--bg, #f8fafc));pointer-events:none}.dlv-empty[data-v-ca877a21]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--text-secondary, #94a3b8);font-size:.88rem;text-align:center}@media (max-width: 480px){.dlv-header[data-v-ca877a21]{padding:8px 10px}}.dlv-node{width:100%;box-sizing:border-box}.dlv-row{display:flex;align-items:center;gap:8px;padding-top:5px;padding-bottom:5px;padding-right:16px;min-height:42px;cursor:pointer;transition:background .12s;border-bottom:1px solid transparent}.dlv-row:hover{background:var(--primary-light, #eef2ff)}.dlv-row.dlv-row-root{background:var(--surface, #fff);border-bottom:1px solid var(--border, #e2e8f0);box-shadow:inset 3px 0 0 var(--primary, #6366f1)}.dlv-row.dlv-row-root:hover{background:var(--primary-light, #eef2ff)}.dlv-row.dlv-row-highlight{background:#fef9c3!important;box-shadow:inset 4px 0 #f59e0b,0 0 0 1px #f59e0b2e!important;animation:dlvRowPulse 1.8s ease-in-out infinite}.dlv-row.dlv-row-highlight:hover{background:#fef08a!important}@keyframes dlvRowPulse{0%,to{background:#fef9c3;box-shadow:inset 4px 0 #f59e0b,0 0 0 1px #f59e0b2e}50%{background:#fde68a;box-shadow:inset 4px 0 #f59e0b,0 0 0 2px #f59e0b59}}.dlv-toggle{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border, #e2e8f0);border-radius:4px;cursor:pointer;color:var(--text-secondary, #64748b);padding:0;transition:background .15s,color .15s,border-color .15s}.dlv-toggle svg{transition:transform .22s ease;transform:rotate(-90deg)}.dlv-toggle.dlv-toggle-open svg{transform:rotate(0)}.dlv-toggle:hover{background:var(--primary, #6366f1);color:#fff;border-color:var(--primary, #6366f1)}.dlv-toggle-gap{display:inline-block;width:20px;height:20px;flex-shrink:0}.dlv-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000002e;cursor:pointer;transition:transform .12s,box-shadow .12s;overflow:hidden}.dlv-avatar:hover{transform:scale(1.12);box-shadow:0 3px 8px #00000038}.dlv-avatar-sm{width:26px;height:26px}.dlv-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none}.dlv-initials{font-size:.6rem;font-weight:700;color:#fff;letter-spacing:.03em;pointer-events:none}.dlv-name{font-size:.88rem;font-weight:600;color:var(--text, #1e293b);cursor:pointer;white-space:nowrap}.dlv-name:hover{color:var(--primary, #6366f1);text-decoration:underline;text-underline-offset:3px}.dlv-spouse-name{font-weight:500;color:var(--text-secondary, #475569)}.dlv-spouse-name:hover{color:#f43f5e}.dlv-years{font-size:.73rem;color:var(--text-muted, #94a3b8);white-space:nowrap;font-variant-numeric:tabular-nums}.dlv-deceased-badge{font-size:.68rem;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;padding:1px 5px;border-radius:10px;flex-shrink:0}.dlv-spacer{flex:1}.dlv-chip{font-size:.68rem;color:var(--primary, #6366f1);background:var(--primary-light, #eef2ff);padding:2px 8px;border-radius:20px;white-space:nowrap;border:1px solid #c7d2fe;flex-shrink:0}.dlv-gen{font-size:.65rem;font-weight:600;color:var(--text-muted, #94a3b8);background:var(--bg, #f1f5f9);padding:2px 7px;border-radius:20px;white-space:nowrap;border:1px solid var(--border, #e2e8f0);flex-shrink:0}.dlv-spouse-row{opacity:.88}.dlv-heart{flex-shrink:0;line-height:0}.dlv-children{position:relative;margin-top:1px}.dlv-children:before{content:"";position:absolute;left:10px;top:0;bottom:21px;width:2px;background:#c7d2fe;border-radius:1px;pointer-events:none}.dlv-row-child{position:relative}.dlv-row-child:before{content:"";position:absolute;left:10px;top:50%;width:calc(var(--dlv-indent, 34px) - 12px);height:2px;background:#c7d2fe;border-radius:1px;transform:translateY(-50%);pointer-events:none}@media (max-width: 640px){.dlv-toggle{min-width:36px;min-height:36px}.dlv-search-toggle{width:44px;height:44px}.dlv-gen-btn{width:36px;height:36px}.dlv-row{min-height:44px}.dlv-avatar{width:36px;height:36px}}@media (max-width: 640px){.dlv-initials{font-size:.7rem}.dlv-gen,.dlv-chip,.dlv-deceased-badge{font-size:.75rem}.dlv-years,.dlv-result-relation{font-size:.8rem}}.tlv-wrap[data-v-57934231]{display:flex;flex-direction:column;height:100%;background:var(--bg, #f8fafc);overflow:hidden}.tlv-header[data-v-57934231]{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 12px;background:var(--surface, #fff);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0;flex-wrap:wrap;gap:10px}.tlv-title[data-v-57934231]{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:var(--text, #1e293b)}.tlv-count[data-v-57934231]{font-size:.75rem;font-weight:500;color:var(--text-muted, #94a3b8);background:var(--bg, #f1f5f9);padding:2px 8px;border-radius:20px}.tlv-filters[data-v-57934231]{display:flex;gap:6px;flex-wrap:wrap}.tlv-filter-btn[data-v-57934231]{display:flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border, #e2e8f0);border-radius:20px;background:var(--bg, #f8fafc);font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.tlv-filter-btn.active[data-v-57934231]{background:var(--surface, #fff);color:var(--text, #1e293b);border-color:var(--primary, #6366f1);box-shadow:0 0 0 1px var(--primary, #6366f1)}.tlv-filter-dot[data-v-57934231]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tlv-loading[data-v-57934231]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-muted, #94a3b8);font-size:.85rem}.tlv-empty[data-v-57934231]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted, #94a3b8);text-align:center;font-size:.85rem;padding:40px 32px}.tlv-body[data-v-57934231]{flex:1;overflow-y:auto;padding:24px 0 48px;position:relative}.tlv-axis[data-v-57934231]{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:var(--border, #e2e8f0);z-index:0}.tlv-decade-label[data-v-57934231]{display:flex;justify-content:center;position:relative;z-index:1;margin:24px 0 8px}.tlv-decade-label span[data-v-57934231]{background:var(--bg, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:20px;padding:3px 14px;font-size:.8rem;font-weight:700;color:var(--text-muted, #94a3b8);letter-spacing:.05em}.tlv-event[data-v-57934231]{display:flex;align-items:center;position:relative;margin:10px 0;padding:0 calc(50% + 24px) 0 24px}.tlv-event.tlv-right[data-v-57934231]{flex-direction:row-reverse;padding:0 24px 0 calc(50% + 24px)}.tlv-dot[data-v-57934231]{position:absolute;left:calc(50% - 7px);width:14px;height:14px;border-radius:50%;border:3px solid var(--surface, #fff);box-shadow:0 0 0 2px var(--border, #e2e8f0);z-index:2;flex-shrink:0}.tlv-card[data-v-57934231]{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 12px;width:100%;box-shadow:0 1px 4px #0000000f;transition:box-shadow .15s,transform .15s}.tlv-card[data-v-57934231]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.tlv-card[data-v-57934231]:active{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.tlv-card--birth[data-v-57934231]{border-left:3px solid #22c55e}.tlv-card--death[data-v-57934231]{border-left:3px solid #64748b}.tlv-card--marriage[data-v-57934231]{border-left:3px solid #a855f7}.tlv-card-top[data-v-57934231]{display:flex;align-items:center;gap:8px}.tlv-card-info[data-v-57934231]{flex:1;min-width:0}.tlv-card-name[data-v-57934231]{font-size:.82rem;font-weight:700;color:var(--text, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tlv-card-year[data-v-57934231]{font-size:.8rem;color:var(--text-muted, #94a3b8);font-weight:600;margin-top:1px}.tlv-card-detail[data-v-57934231]{font-size:.82rem;color:var(--text-secondary, #64748b);margin-top:5px;padding-top:5px;border-top:1px solid var(--border, #f1f5f9)}.tlv-event-badge[data-v-57934231]{flex-shrink:0;font-size:.6rem;font-weight:700;color:#fff;padding:1px 5px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.tlv-avatar[data-v-57934231]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:.7rem;font-weight:700;color:#fff}.tlv-avatar--male[data-v-57934231]{background:linear-gradient(135deg,#6366f1,#818cf8)}.tlv-avatar--female[data-v-57934231]{background:linear-gradient(135deg,#ec4899,#f472b6)}.tlv-avatar--spouse-male[data-v-57934231]{background:linear-gradient(135deg,#ae71f8,#c4b5fd)}.tlv-avatar--spouse-female[data-v-57934231]{background:linear-gradient(135deg,#fb923c,#fdba74)}.tlv-avatar--unknown[data-v-57934231]{background:#94a3b8}.tlv-avatar-img[data-v-57934231]{width:100%;height:100%;object-fit:cover}.tlv-avatar-initials[data-v-57934231]{line-height:1}.tlv-end-cap[data-v-57934231]{display:flex;justify-content:center;margin-top:32px;position:relative;z-index:1}.tlv-end-dot[data-v-57934231]{width:10px;height:10px;border-radius:50%;background:var(--border, #e2e8f0)}.tlv-sentinel[data-v-57934231]{height:1px;margin-top:8px}.tlv-load-more[data-v-57934231]{display:flex;justify-content:center;margin:24px 0 32px}.tlv-load-more-btn[data-v-57934231]{padding:8px 20px;border:1.5px solid #c7d2fe;border-radius:20px;background:#f8f9ff;color:#6366f1;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;min-height:44px}.tlv-load-more-btn[data-v-57934231]:hover{background:#eef2ff;box-shadow:0 2px 8px #6366f11f}@media (max-width: 600px){.tlv-axis[data-v-57934231]{left:20px}.tlv-event[data-v-57934231],.tlv-event.tlv-right[data-v-57934231]{flex-direction:row;padding:0 12px 0 52px}.tlv-dot[data-v-57934231]{left:13px}.tlv-decade-label[data-v-57934231]{justify-content:flex-start;padding-left:48px}}@media (max-width: 400px){.tlv-header[data-v-57934231]{padding:10px 12px}}.help-backdrop[data-v-92105aa9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.help-modal[data-v-92105aa9]{background:#fefeff;border-radius:12px;width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;overflow:hidden}.help-header[data-v-92105aa9]{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 12px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.help-header-title[data-v-92105aa9]{display:flex;align-items:center;gap:10px}.help-header-title h2[data-v-92105aa9]{font-size:1.05rem;font-weight:700;color:#1e293b;font-family:Inter,system-ui,sans-serif;margin:0}.help-close[data-v-92105aa9]{background:none;border:none;cursor:pointer;font-size:1.5rem;color:#94a3b8;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s}.help-close[data-v-92105aa9]:hover{background:#f1f5f9;color:#475569}.help-content[data-v-92105aa9]{overflow-y:auto;flex:1;padding:18px 22px 14px}.ha-progress[data-v-92105aa9]{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:18px;position:relative;padding:0 4px}.ha-progress-line[data-v-92105aa9]{position:absolute;top:50%;left:24px;right:24px;height:2px;background:#e2e8f0;z-index:0;transform:translateY(-50%)}.ha-progress-fill[data-v-92105aa9]{height:100%;background:#6366f1;border-radius:2px;transition:width .35s ease}.ha-dot[data-v-92105aa9]{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;border:2px solid #d1d5db;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ha-dot[data-v-92105aa9]:hover{border-color:#a5b4fc}.ha-dot.active[data-v-92105aa9]{border-color:#6366f1;background:#6366f1;transform:scale(1.1)}.ha-dot.done[data-v-92105aa9]{border-color:#6366f1;background:#e0e7ff}.ha-dot-num[data-v-92105aa9]{font-size:.65rem;font-weight:700;color:#94a3b8;font-family:Inter,system-ui,sans-serif}.ha-dot.active .ha-dot-num[data-v-92105aa9]{color:#fff}.ha-dot.done .ha-dot-num[data-v-92105aa9]{color:#6366f1}.ha-scene[data-v-92105aa9]{animation:haFadeIn-92105aa9 .3s ease}@keyframes haFadeIn-92105aa9{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.ha-visual[data-v-92105aa9]{display:flex;justify-content:center;margin-bottom:14px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;padding:12px;min-height:180px}.ha-svg[data-v-92105aa9]{width:100%;max-width:500px;height:auto}.ha-anim[data-v-92105aa9]{opacity:0;animation:haPopIn-92105aa9 .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes haPopIn-92105aa9{0%{opacity:0;transform:scale(.75) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.ha-anim-fade[data-v-92105aa9]{opacity:0;animation:haFade-92105aa9 .35s ease forwards}@keyframes haFade-92105aa9{to{opacity:1}}.ha-draw[data-v-92105aa9]{animation:haDraw-92105aa9 .5s ease forwards}@keyframes haDraw-92105aa9{to{stroke-dashoffset:0}}.ha-pulse[data-v-92105aa9]{animation:haPulse-92105aa9 1.8s ease-in-out infinite}@keyframes haPulse-92105aa9{0%,to{r:5;opacity:.25}50%{r:12;opacity:.06}}.ha-ring-pulse[data-v-92105aa9]{animation:haRingPulse-92105aa9 2s ease-in-out infinite}@keyframes haRingPulse-92105aa9{0%,to{opacity:.5;stroke-dashoffset:0}50%{opacity:.2;stroke-dashoffset:8}}.ha-blink[data-v-92105aa9]{animation:haBlink-92105aa9 1s step-end infinite}@keyframes haBlink-92105aa9{0%,50%{opacity:1}51%,to{opacity:0}}.ha-search-outer[data-v-92105aa9]{animation:haSearchOuter-92105aa9 1.8s ease-in-out infinite;transform-origin:240px 118px}.ha-search-mid[data-v-92105aa9]{animation:haSearchMid-92105aa9 1.8s ease-in-out infinite .12s;transform-origin:240px 118px}.ha-search-ring[data-v-92105aa9]{animation:haSearchRing-92105aa9 1.8s ease-in-out infinite;transform-origin:240px 118px}.ha-search-glow[data-v-92105aa9]{animation:haSearchGlow-92105aa9 1.8s ease-in-out infinite;transform-origin:240px 118px}@keyframes haSearchOuter-92105aa9{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes haSearchMid-92105aa9{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes haSearchRing-92105aa9{0%,to{stroke-width:2.5;stroke-opacity:.8}50%{stroke-width:3.5;stroke-opacity:1}}@keyframes haSearchGlow-92105aa9{0%,to{filter:drop-shadow(0 0 6px rgba(245,158,11,.5))}50%{filter:drop-shadow(0 0 14px rgba(245,158,11,.75))}}.ha-text[data-v-92105aa9]{text-align:center}.ha-text h3[data-v-92105aa9]{font-size:1.05rem;font-weight:700;color:#1e293b;margin:0 0 5px;font-family:Inter,system-ui,sans-serif}.ha-text p[data-v-92105aa9]{font-size:.86rem;color:#64748b;line-height:1.55;max-width:520px;margin:0 auto 10px}.ha-tips[data-v-92105aa9]{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ha-tip[data-v-92105aa9]{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;border-radius:999px;padding:4px 12px 4px 8px;font-size:.76rem;color:#475569}.ha-tip-icon[data-v-92105aa9]{font-size:.82rem;display:inline-flex;align-items:center;flex-shrink:0}.ha-nav[data-v-92105aa9]{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid #f1f5f9;margin-top:10px}.ha-nav-btn[data-v-92105aa9]{background:none;border:1px solid #e2e8f0;cursor:pointer;padding:7px 16px;border-radius:8px;font-size:.82rem;font-weight:500;color:#1e293b;display:flex;align-items:center;gap:4px;transition:all .15s;font-family:Inter,system-ui,sans-serif}.ha-nav-btn[data-v-92105aa9]:hover:not(:disabled){border-color:#6366f1;color:#6366f1}.ha-nav-btn[data-v-92105aa9]:disabled{opacity:.3;cursor:default}.ha-nav-next[data-v-92105aa9]{background:#6366f1;border-color:#6366f1;color:#fff}.ha-nav-next[data-v-92105aa9]:hover:not(:disabled){background:#4f46e5;color:#fff}.ha-step-label[data-v-92105aa9]{font-size:.78rem;color:#94a3b8;font-weight:500}.ha-dismiss[data-v-92105aa9]{display:flex;justify-content:center;padding-top:10px}.ha-dismiss-label[data-v-92105aa9]{display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:5px 12px;border-radius:8px;font-size:.78rem;font-weight:500;color:#94a3b8;transition:all .15s;font-family:Inter,system-ui,sans-serif;-webkit-user-select:none;user-select:none}.ha-dismiss-label[data-v-92105aa9]:hover{color:#64748b;background:#f1f5f9}.ha-dismiss-cb[data-v-92105aa9]{width:15px;height:15px;accent-color:#6366f1;cursor:pointer;margin:0;flex-shrink:0}.help-fade-enter-active[data-v-92105aa9],.help-fade-leave-active[data-v-92105aa9]{transition:opacity .2s ease}.help-fade-enter-from[data-v-92105aa9],.help-fade-leave-to[data-v-92105aa9]{opacity:0}.help-fade-enter-active .help-modal[data-v-92105aa9]{animation:helpSlideUp-92105aa9 .25s ease}@keyframes helpSlideUp-92105aa9{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:none;opacity:1}}@media (max-width: 640px){.help-backdrop[data-v-92105aa9]{padding:8px}.help-modal[data-v-92105aa9]{max-height:95vh;border-radius:10px}.help-header[data-v-92105aa9]{padding:12px 16px 10px}.help-header-title h2[data-v-92105aa9]{font-size:.92rem}.help-content[data-v-92105aa9]{padding:12px 14px 10px}.ha-progress[data-v-92105aa9]{gap:3px}.ha-dot[data-v-92105aa9]{width:22px;height:22px}.ha-dot-num[data-v-92105aa9]{font-size:.58rem}.ha-text h3[data-v-92105aa9]{font-size:.95rem}.ha-text p[data-v-92105aa9]{font-size:.82rem}.ha-tips[data-v-92105aa9]{gap:4px}.ha-tip[data-v-92105aa9]{font-size:.7rem;padding:3px 8px 3px 6px}.ha-nav-btn[data-v-92105aa9]{padding:6px 12px;font-size:.78rem}}.shared-app[data-v-2f1158eb]{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.shared-app .app-main[data-v-2f1158eb]{flex:1;min-height:0;display:flex;flex-direction:column}.header-content[data-v-2f1158eb]{flex-wrap:wrap;align-items:center;gap:6px 8px}.header-actions[data-v-2f1158eb]{display:flex;align-items:center;gap:8px;margin-left:auto}[data-v-2f1158eb] .cv-search,[data-v-2f1158eb] .alt-chart-container .tree-search{display:none}.shr-header-switcher[data-v-2f1158eb]{display:flex;align-items:center;flex-shrink:0}.shared-tree-name[data-v-2f1158eb]{display:flex;align-items:center;gap:5px;flex:1;min-width:0;padding:0 8px}.shared-tree-name-text[data-v-2f1158eb]{font-size:.92rem;font-weight:600;color:var(--text, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-tree-name-spouse[data-v-2f1158eb]{font-size:.86rem;color:var(--text-secondary, #64748b);white-space:nowrap;flex-shrink:0}.shared-tree-name-label[data-v-2f1158eb]{font-size:.8rem;color:var(--text-secondary, #94a3b8);white-space:nowrap;flex-shrink:0}.shared-tree-name-sub[data-v-2f1158eb]{display:flex;align-items:baseline;gap:5px;flex-shrink:0}.shared-view-switcher-bar[data-v-2f1158eb]{display:none;align-items:center;padding:6px 12px;background:var(--bg, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.shr-view-area[data-v-2f1158eb]{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.shared-view-switcher[data-v-2f1158eb]{display:flex;align-items:center;gap:2px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:3px;box-shadow:0 1px 4px #00000012;flex-shrink:0}.shr-view-btn[data-v-2f1158eb]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:7px;background:transparent;color:var(--text-light, #64748b);cursor:pointer;transition:background .15s,color .15s}.shr-view-btn[data-v-2f1158eb]:hover{background:var(--primary-light, #e0e7ff);color:var(--primary, #6366f1)}.shr-view-btn.active[data-v-2f1158eb]{background:var(--primary, #6366f1);color:#fff}.shared-badge[data-v-2f1158eb]{font-size:.875rem;font-weight:600;background:#dbeafe;color:#1d4ed8;padding:6px 14px;border-radius:9999px;white-space:nowrap}.tv-breadcrumb[data-v-2f1158eb]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;background:#0f172ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 10px;box-shadow:0 4px 20px #00000059;pointer-events:auto;white-space:nowrap}.tv-crumb[data-v-2f1158eb],.tv-crumb-home[data-v-2f1158eb]{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:.74rem;font-weight:500;padding:2px 6px;border-radius:999px;transition:background .15s,color .15s;display:flex;align-items:center;gap:4px}.tv-crumb[data-v-2f1158eb]:hover,.tv-crumb-home[data-v-2f1158eb]:hover{background:#ffffff1f;color:#fff}.tv-crumb-home[data-v-2f1158eb]{padding:2px 8px}.tv-crumb-sep[data-v-2f1158eb]{color:#ffffff4d;font-size:.8rem;-webkit-user-select:none;user-select:none}.tv-crumb-current[data-v-2f1158eb]{color:#fff;font-weight:700;cursor:default}.breadcrumb-fade-enter-active[data-v-2f1158eb],.breadcrumb-fade-leave-active[data-v-2f1158eb]{transition:opacity .22s ease,transform .22s ease}.breadcrumb-fade-enter-from[data-v-2f1158eb],.breadcrumb-fade-leave-to[data-v-2f1158eb]{opacity:0;transform:translate(-50%) translateY(-8px)}.alt-chart-container[data-v-2f1158eb]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.shr-help-btn[data-v-2f1158eb]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:transparent;color:var(--text-muted, #64748b);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s}.shr-help-btn[data-v-2f1158eb]:hover{border-color:#6366f1;color:#4f46e5;background:#f5f3ff}.shr-help-label[data-v-2f1158eb]{display:inline}@media (max-width: 480px){.shr-help-label[data-v-2f1158eb]{display:none}}.shr-collab-btn[data-v-2f1158eb]{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1.5px solid #6366f1;background:transparent;color:#6366f1;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.shr-collab-btn[data-v-2f1158eb]:hover:not(:disabled){background:#6366f1;color:#fff}.shr-collab-btn--loading[data-v-2f1158eb]{opacity:.7;cursor:default}.shr-collab-btn--open[data-v-2f1158eb]{border-color:#10b981;color:#10b981}.shr-collab-btn--open[data-v-2f1158eb]:hover:not(:disabled){background:#10b981;color:#fff}.shr-collab-hint[data-v-2f1158eb]{font-size:12px;font-weight:400;opacity:.7;border-left:1px solid currentColor;padding-left:6px;margin-left:2px}.shr-collab-spinner[data-v-2f1158eb]{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:shr-spin-2f1158eb .7s linear infinite}@keyframes shr-spin-2f1158eb{to{transform:rotate(360deg)}}.shr-collab-status[data-v-2f1158eb]{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:8px}.shr-collab-status--success[data-v-2f1158eb]{background:#dcfce7;color:#16a34a}.shr-collab-status--warn[data-v-2f1158eb]{background:#fef9c3;color:#92400e}.tree-container[data-v-2f1158eb]{touch-action:none}@media (min-width: 311px) and (max-width: 400px){.logo[data-v-2f1158eb]{display:flex!important;align-items:center;gap:6px;flex-wrap:nowrap}}@media (max-width: 980px){.shared-tree-name[data-v-2f1158eb]{flex-direction:column;align-items:flex-start;gap:1px}}@media (max-width: 640px){.header-content[data-v-2f1158eb]{gap:4px 6px}.logo[data-v-2f1158eb]{gap:6px}.logo h1[data-v-2f1158eb]{font-size:.95rem}.header-actions[data-v-2f1158eb]{flex-basis:100%;margin-left:0;border-top:1px solid var(--border, #e2e8f0);padding-top:6px}.shr-header-switcher[data-v-2f1158eb]{display:none}.shared-view-switcher-bar[data-v-2f1158eb]{display:flex}}@media (max-width: 480px){.shr-collab-hint[data-v-2f1158eb]{display:none}.shr-collab-btn[data-v-2f1158eb]{padding:6px 10px;font-size:.78rem}.shr-collab-status[data-v-2f1158eb]{font-size:.78rem;padding:4px 8px}.shared-badge[data-v-2f1158eb]{font-size:.75rem;padding:3px 8px}.shared-tree-name[data-v-2f1158eb]{padding:0 4px}.shared-tree-name-text[data-v-2f1158eb]{font-size:.82rem}.tv-breadcrumb[data-v-2f1158eb]{max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none}}.invite-status[data-v-077ff32d]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px}.invite-status h2[data-v-077ff32d]{margin:12px 0 6px;font-size:1.4rem;color:var(--text-primary, #1e293b)}.invite-icon[data-v-077ff32d]{margin-top:8px}.invite-icon--success svg[data-v-077ff32d]{stroke:#22c55e}.invite-icon--error svg[data-v-077ff32d]{stroke:#ef4444}.verify-pending-form[data-v-077ff32d]{text-align:center}.verify-icon[data-v-077ff32d]{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#ede9fe;margin:0 auto 16px}.verify-email-addr[data-v-077ff32d]{font-weight:600;color:#4f46e5;font-size:.95rem;margin:4px 0 16px;word-break:break-all}.verify-instructions[data-v-077ff32d]{font-size:.88rem;color:var(--text-secondary, #64748b);line-height:1.5;margin-bottom:8px}.form-group[data-v-077ff32d]{margin-bottom:14px;text-align:left}.form-group label[data-v-077ff32d]{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px}.label-optional[data-v-077ff32d]{color:var(--text-secondary, #94a3b8);font-weight:400}.input-wrap[data-v-077ff32d]{position:relative;display:flex;align-items:center}.input-icon[data-v-077ff32d]{position:absolute;left:12px;width:18px;height:18px;color:#94a3b8;pointer-events:none;flex-shrink:0}.input-wrap input[data-v-077ff32d],.input-wrap .input-select[data-v-077ff32d]{width:100%;padding:10px 12px 10px 38px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:var(--text-primary, #1e293b);background:#fff;transition:border-color .2s,box-shadow .2s}.input-wrap input[data-v-077ff32d]:focus,.input-wrap .input-select[data-v-077ff32d]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.input-select[data-v-077ff32d]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.eye-btn[data-v-077ff32d]{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px;color:#94a3b8;display:flex;align-items:center}.eye-btn svg[data-v-077ff32d]{width:18px;height:18px}.eye-btn[data-v-077ff32d]:hover{color:#6366f1}.auth-switch[data-v-077ff32d]{margin-top:14px;font-size:.875rem;color:var(--text-secondary, #64748b);text-align:center}.auth-link[data-v-077ff32d]{background:none;border:none;color:#6366f1;cursor:pointer;font-size:.875rem;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}.auth-error[data-v-077ff32d]{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:6px;padding:8px 12px;font-size:.875rem;width:100%;margin-top:8px;text-align:left}.auth-success[data-v-077ff32d]{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;border-radius:6px;padding:8px 12px;font-size:.875rem;width:100%;margin-top:8px;text-align:left;display:flex;align-items:center;gap:6px}.auth-card[data-v-077ff32d]{max-width:460px;width:100%;margin:0 auto;padding:40px 32px;background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014}@media (max-width: 480px){.auth-card[data-v-077ff32d]{padding:24px 16px;border-radius:16px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: #e0e7ff;--bg: #f8fafc;--surface: #fefeff;--text: #1e293b;--text-secondary: #64748b;--border: #e2e8f0;--danger: #ef4444;--success: #22c55e;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--header-bg: rgba(254,254,255,.82);--radius: 12px;--radius-sm: 8px;--connector-color: #94a3b8;--bg-secondary: #f1f5f9;--dot-color: #e2e8f0;--card-male-border: #60a5fa;--card-male-bg: linear-gradient(135deg, #f8fafc 0%, #dbeafe 100%);--card-female-border: #f472b6;--card-female-bg: linear-gradient(135deg, #f8fafc 0%, #fce7f3 100%);--card-spouse-male-border: #ae71f8;--card-spouse-male-bg: linear-gradient(135deg, #f8fafc 0%, #ede9fe 100%);--card-spouse-female-border: #fb923c;--card-spouse-female-bg: linear-gradient(135deg, #f8fafc 0%, #ffedd5 100%);--card-deceased-bg-start: #e8e8e8;--badge-male-bg: #ede9fe;--badge-male-color: #6d28d9;--badge-female-bg: #fce7f3;--badge-female-color: #be185d}[data-theme=dark]{--primary: #818cf8;--primary-hover: #6366f1;--primary-light: #312e81;--bg: #0f172a;--surface: #1e293b;--text: #f1f5f9;--text-secondary: #94a3b8;--border: #334155;--danger: #f87171;--success: #4ade80;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.5), 0 4px 6px -4px rgba(0,0,0,.4);--header-bg: rgba(15,23,42,.82);--connector-color: #475569;--bg-secondary: #0f172a;--dot-color: #334155;--card-male-border: #3b82f6;--card-male-bg: linear-gradient(135deg, #1e293b 0%, #1e3a5f 100%);--card-female-border: #ec4899;--card-female-bg: linear-gradient(135deg, #1e293b 0%, #3b1f3b 100%);--card-spouse-male-border: #ae71f8;--card-spouse-male-bg: linear-gradient(135deg, #1e293b 0%, #2e1f4a 100%);--card-spouse-female-border: #f97316;--card-spouse-female-bg: linear-gradient(135deg, #1e293b 0%, #3b2a1f 100%);--card-deceased-bg-start: #334155;--badge-male-bg: #2e1f4a;--badge-male-color: #c4b5fd;--badge-female-bg: #3b1f3b;--badge-female-color: #f9a8d4}[data-theme=ocean]{--primary: #0ea5e9;--primary-hover: #0284c7;--primary-light: #e0f2fe;--bg: #f0f9ff;--surface: #f8fcff;--text: #0c4a6e;--text-secondary: #0369a1;--border: #bae6fd;--danger: #ef4444;--success: #22c55e;--shadow-sm: 0 1px 2px rgba(14,165,233,.08);--shadow-md: 0 4px 6px -1px rgba(14,165,233,.1), 0 2px 4px -2px rgba(14,165,233,.08);--shadow-lg: 0 10px 15px -3px rgba(14,165,233,.12), 0 4px 6px -4px rgba(14,165,233,.08);--header-bg: rgba(248,252,255,.82);--connector-color: #7dd3fc;--bg-secondary: #e0f2fe;--dot-color: #bae6fd;--card-male-border: #38bdf8;--card-male-bg: linear-gradient(135deg, #f0f9ff 0%, #bae6fd 100%);--card-female-border: #f472b6;--card-female-bg: linear-gradient(135deg, #f0f9ff 0%, #fbcfe8 100%);--card-spouse-male-border: #ae71f8;--card-spouse-male-bg: linear-gradient(135deg, #f0f9ff 0%, #ede9fe 100%);--card-spouse-female-border: #fb923c;--card-spouse-female-bg: linear-gradient(135deg, #f0f9ff 0%, #fed7aa 100%);--card-deceased-bg-start: #e0f2fe;--badge-male-bg: #ede9fe;--badge-male-color: #6d28d9;--badge-female-bg: #fbcfe8;--badge-female-color: #9d174d}[data-theme=forest]{--primary: #16a34a;--primary-hover: #15803d;--primary-light: #dcfce7;--bg: #f0fdf4;--surface: #f8fdf9;--text: #14532d;--text-secondary: #166534;--border: #bbf7d0;--danger: #ef4444;--success: #22c55e;--shadow-sm: 0 1px 2px rgba(22,163,74,.08);--shadow-md: 0 4px 6px -1px rgba(22,163,74,.1), 0 2px 4px -2px rgba(22,163,74,.08);--shadow-lg: 0 10px 15px -3px rgba(22,163,74,.12), 0 4px 6px -4px rgba(22,163,74,.08);--header-bg: rgba(248,253,249,.82);--connector-color: #86efac;--bg-secondary: #dcfce7;--dot-color: #bbf7d0;--card-male-border: #60a5fa;--card-male-bg: linear-gradient(135deg, #f0fdf4 0%, #dbeafe 100%);--card-female-border: #f472b6;--card-female-bg: linear-gradient(135deg, #f0fdf4 0%, #fce7f3 100%);--card-spouse-male-border: #ae71f8;--card-spouse-male-bg: linear-gradient(135deg, #f0fdf4 0%, #ede9fe 100%);--card-spouse-female-border: #fb923c;--card-spouse-female-bg: linear-gradient(135deg, #f0fdf4 0%, #ffedd5 100%);--card-deceased-bg-start: #dcfce7;--badge-male-bg: #ede9fe;--badge-male-color: #6d28d9;--badge-female-bg: #fce7f3;--badge-female-color: #be185d}[data-theme=sunset]{--primary: #f59e0b;--primary-hover: #d97706;--primary-light: #fef3c7;--bg: #fffbeb;--surface: #fffdf5;--text: #78350f;--text-secondary: #92400e;--border: #fde68a;--danger: #ef4444;--success: #22c55e;--shadow-sm: 0 1px 2px rgba(245,158,11,.08);--shadow-md: 0 4px 6px -1px rgba(245,158,11,.1), 0 2px 4px -2px rgba(245,158,11,.08);--shadow-lg: 0 10px 15px -3px rgba(245,158,11,.12), 0 4px 6px -4px rgba(245,158,11,.08);--header-bg: rgba(255,253,245,.82);--connector-color: #fcd34d;--bg-secondary: #fef3c7;--dot-color: #fde68a;--card-male-border: #60a5fa;--card-male-bg: linear-gradient(135deg, #fffbeb 0%, #dbeafe 100%);--card-female-border: #f472b6;--card-female-bg: linear-gradient(135deg, #fffbeb 0%, #fce7f3 100%);--card-spouse-male-border: #ae71f8;--card-spouse-male-bg: linear-gradient(135deg, #fffbeb 0%, #ede9fe 100%);--card-spouse-female-border: #fb923c;--card-spouse-female-bg: linear-gradient(135deg, #fffbeb 0%, #ffedd5 100%);--card-deceased-bg-start: #fef3c7;--badge-male-bg: #ede9fe;--badge-male-color: #6d28d9;--badge-female-bg: #fce7f3;--badge-female-color: #be185d}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.app-header{background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:10px 16px;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 var(--border),var(--shadow-sm)}.header-content{display:flex;align-items:center;gap:8px}.logo{display:flex;align-items:center;gap:12px;color:var(--primary)}.logo h1{font-size:1.1rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--primary),#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tree-stats{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);padding:6px 12px;border-radius:999px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md);z-index:10;pointer-events:none;opacity:.9}.relationship-calculator-btn{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:10}.calc-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md);color:var(--text)}.calc-btn:hover{background:#f1f5f9;border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.calc-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.calc-label{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-align:center;white-space:nowrap;background:var(--surface);padding:3px 8px;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.relationship-result{position:absolute;top:calc(100% + 8px);left:0;background:var(--surface);border:2px solid var(--primary);border-radius:12px;padding:16px 20px;box-shadow:var(--shadow-lg);z-index:11;min-width:280px;animation:slideIn .3s ease-out}.result-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.4rem;color:var(--text-secondary);cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.result-close:hover{background:var(--card-bg);color:var(--text)}.result-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-right:20px}.result-person{font-size:.85rem;font-weight:600;color:var(--text)}.swap-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-secondary);flex-shrink:0}.swap-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:rotate(180deg)}.swap-btn svg{transition:all .2s}.swap-btn:hover svg{stroke:#fff;fill:#fff}.result-header svg{color:var(--primary);flex-shrink:0}.result-relationship{font-size:1.1rem;font-weight:700;color:var(--primary);text-align:center;padding:8px 12px;background:var(--card-bg);border-radius:8px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-sm{padding:7px 14px;font-size:.8rem;gap:6px}.btn-with-badge{position:relative}.btn-notif-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none;box-shadow:0 1px 3px #0000002e}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#f1f5f9;border-color:var(--primary);color:var(--primary)}.header-pinned{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.header-actions{display:flex;align-items:center;gap:12px}.header-group{display:flex;align-items:center;gap:8px}.header-separator{width:1px;height:24px;background:var(--border)}.user-identity{display:flex;align-items:center;gap:8px}.user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 4px #6366f14d;-webkit-user-select:none;user-select:none}.user-greeting{color:var(--text);font-size:.85rem;font-weight:600}.plan-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px 3px 7px;border-radius:9999px;background:var(--border);color:var(--text-secondary);border:none;cursor:pointer;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.plan-badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.plan-badge.family{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.plan-badge.legacy{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;border:1px solid #fcd34d}.plan-badge.legacy:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:badge-shimmer 2.8s ease-in-out infinite}@keyframes badge-shimmer{0%{left:-60%}60%{left:130%}to{left:130%}}.upgrade-modal{background:var(--surface);border-radius:16px;padding:28px;width:860px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.legacy-pay-btn{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important}.legacy-money-back{margin-top:8px;font-size:.78rem;color:#6b7280;font-weight:500;text-align:center}.legacy-money-back-guarantee{display:inline-flex;align-items:flex-start;gap:5px}.legacy-money-back-note{margin-top:6px;display:flex;align-items:flex-start;gap:5px;font-size:.73rem;color:#9ca3af;font-weight:400;line-height:1.4}.trial-restriction-note{margin-top:8px;display:flex;align-items:flex-start;justify-content:center;gap:5px;font-size:.73rem;color:#9ca3af;font-weight:400;line-height:1.4}.trial-used-banner{background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:12px 16px;font-size:.85rem;color:#78350f;margin-bottom:12px;line-height:1.5}.downgrade-warning{margin-top:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px 16px}.downgrade-warning-title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:#92400e;margin:0 0 6px}.downgrade-warning-body{font-size:.82rem;color:#78350f;margin:0 0 12px;line-height:1.5}.downgrade-warning-actions{display:flex;gap:8px}.downgrade-cancel-btn{flex:1;font-size:.82rem;padding:6px 10px}.downgrade-confirm-btn{flex:1;font-size:.82rem;padding:6px 10px;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:background .2s}.downgrade-confirm-btn:hover{background:#dc2626}.downgrade-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.stripe-card-element{border:1px solid #d1d5db;border-radius:8px;padding:12px 14px;background:#fff;margin-top:4px}.stripe-card-error{color:#ef4444;font-size:.85rem;margin-top:6px}.modal-billing-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;margin:12px 0 4px;width:100%}.modal-billing-toggle span{transition:color .2s}.modal-billing-toggle span.active{color:#4f46e5;font-weight:700}.modal-toggle-track{width:44px;height:24px;background:#c7d2fe;border-radius:12px;position:relative;cursor:pointer;transition:background .2s}.modal-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#4f46e5;border-radius:50%;transition:transform .2s}.modal-toggle-thumb.right{transform:translate(20px)}.modal-save-badge{background:#d1fae5;color:#065f46;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:4px}.modal-billing-segmented{gap:0;background:#f1f5f9;border-radius:10px;padding:3px;display:inline-flex;width:auto;max-width:100%}.modal-billing-segmented button{all:unset;display:inline-flex;align-items:center;gap:3px;padding:6px 12px;font-size:.78rem;font-weight:500;color:#64748b;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.modal-billing-segmented button.active{background:#fff;color:#4f46e5;font-weight:700;box-shadow:0 1px 3px #0000001a}@media (max-width: 480px){.modal-billing-segmented{padding:2px}.modal-billing-segmented button{padding:5px 8px;font-size:.72rem;gap:2px}.modal-billing-segmented .modal-save-badge{font-size:.6rem;padding:1px 4px;margin-left:2px}}.upgrade-plan-price-wrap{display:flex;flex-direction:column;align-items:flex-end}.upgrade-plan-orig{font-size:.72rem;color:#9ca3af;text-decoration:line-through;margin-top:-2px}.three-year-breakdown{font-size:.75rem;color:#6b7280;margin:4px 0 0;text-align:center}.three-year-highlight{color:#059669;font-weight:700}.upgrade-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}@media (max-width: 640px){.upgrade-plans{grid-template-columns:1fr}}.upgrade-plan-card{border:2px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;position:relative;background:var(--surface);transition:border-color .2s}.upgrade-plan-card.popular{border-color:var(--primary)}.upgrade-plan-card.current{background:var(--primary-light);border-color:var(--primary)}.upgrade-popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:9999px}.upgrade-plan-header{display:flex;justify-content:space-between;align-items:baseline}.upgrade-plan-name{font-weight:700;font-size:1.1rem;color:var(--text)}.upgrade-plan-price{font-size:1.3rem;font-weight:700;color:var(--primary)}.upgrade-plan-price span{font-size:.8rem;font-weight:400;color:var(--text-secondary)}.upgrade-plan-features{list-style:none;display:flex;flex-direction:column;gap:6px;flex:1}.upgrade-plan-features li{font-size:.85rem;color:var(--text-secondary);padding-left:18px;position:relative}.upgrade-plan-features li:before{content:"✔";position:absolute;left:0;color:#22c55e;font-weight:700}.upgrade-plan-features li.feat-yes:before{content:"✔";color:#22c55e}.upgrade-plan-features li.feat-no{color:var(--text-muted);opacity:.6}.upgrade-plan-features li.feat-no:before{content:"✘";color:#f87171;font-weight:700}.upgrade-plan-btn{width:100%;justify-content:center;margin-top:4px}.upgrade-current-tag{text-align:center;font-size:.8rem;font-weight:600;color:var(--primary);padding:6px 0}.upgrade-coming-soon-tag{display:block;text-align:center;font-size:.85rem;font-weight:700;color:#f59e0b;padding:8px 0 2px;letter-spacing:.03em}.upgrade-coming-soon-desc{text-align:center;font-size:.72rem;color:#9ca3af;margin:2px 0 0}.billing-cycle-badge{display:inline-block;font-size:.7rem;font-weight:600;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;padding:2px 7px;letter-spacing:.02em}.spinner-sm{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:6px}.theme-selector{position:relative}.lock-icon{opacity:.55;flex-shrink:0}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--primary-light);color:var(--primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--primary);color:#fff}.theme-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;min-width:150px;z-index:200;animation:slideUp .15s ease}.theme-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:var(--text);font-size:.85rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.theme-option:hover{background:var(--primary-light)}.theme-option.active{background:var(--primary-light);color:var(--primary);font-weight:600}.theme-swatch{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.1);flex-shrink:0}.btn-logout{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;font-weight:500;transition:all .2s}.btn-logout:hover{background:#ef4444e6;color:#fff;border-color:#ef4444e6}.btn-sm{padding:6px 12px;font-size:.75rem}.btn-ghost{background:transparent;color:var(--text-secondary);padding:6px 10px}.btn-ghost:hover{background:var(--primary-light);color:var(--primary)}.btn-danger{background:transparent;color:var(--text-secondary);padding:6px 10px}.btn-danger:hover{background:#fef2f2;color:var(--danger)}.btn-lg{padding:14px 28px;font-size:1rem}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.expiry-warning-banner{display:flex;align-items:center;justify-content:center;gap:10px;background:#fffbeb;border-bottom:1px solid #fcd34d;color:#92400e;font-size:.85rem;padding:8px 20px;text-align:center;flex-wrap:wrap}.expiry-warning-icon{flex-shrink:0;color:#d97706}.expiry-warning-cta{display:inline-flex;align-items:center;gap:5px;background:#f59e0b;color:#fff;border:none;border-radius:6px;padding:4px 12px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.expiry-warning-cta:hover{background:#d97706}.app-main{padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.chart-workspace{flex:1;min-height:0;display:flex;flex-direction:column}.chart-view-switcher{display:flex;align-items:center;padding:6px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chart-view-switcher::-webkit-scrollbar{display:none}.chart-tree-name-row{display:flex;align-items:center;padding:6px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.chart-tree-name-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.82rem;color:var(--text-secondary);white-space:nowrap;cursor:default;max-width:360px;overflow:hidden}.chart-tree-name-pill--clickable{cursor:pointer;transition:background .13s,border-color .13s,color .13s}.chart-tree-name-pill--clickable:hover{background:var(--primary-light, #eef2ff);border-color:var(--primary, #6366f1);color:var(--primary, #6366f1)}.chart-tree-name-text{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.chart-tree-name-pill--clickable:hover .chart-tree-name-text{color:var(--primary, #6366f1)}.chart-tree-name-spouse{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.chart-view-switcher-track{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px;flex-shrink:0;min-width:max-content}.chart-view-btn{display:flex;align-items:center;gap:6px;padding:5px 13px;font-size:.8rem;font-weight:500;border:none;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;white-space:nowrap}.chart-view-btn:hover:not(.active):not(.locked-view){background:var(--primary-light);color:var(--primary)}.chart-view-btn.active{background:var(--primary);color:#fff;font-weight:600;box-shadow:0 1px 4px #6366f14d}.chart-view-btn.locked-view{opacity:.6;cursor:not-allowed}.chart-view-btn.locked-view:hover{background:#fef3c7;color:#92400e;opacity:1}.alt-chart-container{flex:1;min-height:0;overflow:hidden;position:relative}.tree-picker-modal{background:var(--surface);border-radius:14px;box-shadow:0 16px 48px #0000002e;width:100%;max-width:360px;overflow:hidden;animation:modal-pop .16s ease;display:flex;flex-direction:column;max-height:80vh}.tree-picker-modal-header{display:flex;align-items:center;gap:9px;padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.tree-picker-modal-header h3{flex:1;margin:0;font-size:.97rem;font-weight:700;color:var(--text)}.tree-picker-section{padding:8px 0 4px;flex-shrink:0}.tree-picker-section+.tree-picker-section{border-top:1px solid var(--border);padding-top:8px}.tree-picker-section-label{display:flex;align-items:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:0 14px 4px}.tree-picker-list{overflow-y:auto;max-height:260px}.tree-picker-row{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;background:transparent;cursor:pointer;transition:background .12s;text-align:left}.tree-picker-row:hover,.tree-picker-row.active{background:var(--primary-light, #eef2ff)}.tree-picker-row-active-dot{width:7px;height:7px;border-radius:50%;background:var(--primary, #6366f1);flex-shrink:0}.tree-picker-row-info{flex:1;min-width:0;display:flex;flex-direction:column}.tree-picker-row-name{font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-picker-row-spouse{font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-picker-row--shared:hover,.tree-picker-row--shared.active{background:#f5f3ff}.tree-shared-badge{font-size:.68rem;font-weight:600;background:#ede9fe;color:#7c3aed;border-radius:10px;padding:1px 7px;flex-shrink:0}.tree-picker-search-wrap{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.tree-picker-search-icon{color:var(--text-secondary);flex-shrink:0}.tree-picker-search-input{flex:1;border:none;background:transparent;font-size:.88rem;color:var(--text);outline:none;min-width:0}.tree-picker-search-input::placeholder{color:var(--text-secondary)}.tree-picker-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:var(--border);border-radius:50%;cursor:pointer;color:var(--text-secondary);flex-shrink:0;padding:0}.tree-picker-search-clear:hover{background:var(--text-secondary);color:var(--surface)}.tree-picker-no-results{padding:20px 14px;text-align:center;font-size:.84rem;color:var(--text-secondary)}.tree-picker-manage-btn--header{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text-secondary);font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .13s,border-color .13s,color .13s;margin-right:4px}.tree-picker-manage-btn--header:hover{background:var(--primary-light, #eef2ff);border-color:var(--primary, #6366f1);color:var(--primary, #6366f1)}.shared-tree-banner{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#f5f3ff;border-bottom:1px solid #c4b5fd;font-size:.82rem;color:#6d28d9;font-weight:500}.export-modal{background:var(--surface);border-radius:14px;box-shadow:0 20px 60px #00000040;width:420px;max-width:90vw;padding:24px;animation:popIn .2s ease-out}@keyframes popIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.export-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.export-modal-header h3{font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px}.modal-close{background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.modal-close:hover{color:#334155}.export-modal-desc{font-size:.85rem;color:#64748b;margin-bottom:16px}.collab-invite-form{display:flex;flex-direction:column;gap:8px}.collab-input,.collab-select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.85rem;background:var(--surface);color:var(--text);box-sizing:border-box}.collab-input:focus,.collab-select:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f126}.collab-invite-form .btn{width:100%}.role-picker{display:flex;gap:6px}.role-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:all .15s;color:var(--text)}.role-option:hover{border-color:var(--primary, #6366f1);background:#6366f10d}.role-option.active{border-color:var(--primary, #6366f1);background:#6366f11a;color:var(--primary, #6366f1)}.role-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-secondary, #64748b)}.role-option.active .role-icon{color:var(--primary, #6366f1)}.role-label{font-size:.8rem;font-weight:600}.role-desc{font-size:.68rem;color:#94a3b8;font-weight:400}.role-option.active .role-desc{color:var(--primary, #6366f1);opacity:.75}.gedcom-drop-zone{border:2px dashed var(--border);border-radius:10px;padding:28px 16px;text-align:center;cursor:pointer;transition:all .15s;color:#94a3b8;display:flex;flex-direction:column;align-items:center;gap:10px}.gedcom-drop-zone:hover,.gedcom-drop-zone.drag-over{border-color:var(--primary, #6366f1);background:#6366f10d;color:var(--primary, #6366f1)}.gedcom-drop-zone p{margin:0;font-size:.875rem}.gedcom-filename{font-weight:600;color:var(--text)}.share-link-box{display:flex;gap:8px;align-items:center}.share-link-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.85rem;background:var(--bg-secondary);color:var(--text);min-width:0}.share-modal-wide{max-width:520px}.share-quick-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.share-wa-btn{display:inline-flex;align-items:center;gap:6px;background:#25d366;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s}.share-wa-btn:hover{background:#1fb855}.share-wa-btn.btn-sm{padding:6px 12px;font-size:.78rem}.share-action-btn{display:inline-flex;align-items:center;gap:6px;background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .2s}.share-action-btn:hover{background:var(--border)}.share-invite-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.share-invite-section h4{font-size:.9rem;font-weight:700;margin:0 0 4px;color:var(--text)}.share-invite-section>p{font-size:.8rem;color:var(--text-secondary);margin:0 0 10px}.share-invite-message{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px}.share-invite-text{font-size:.82rem;color:var(--text);margin:0 0 10px;white-space:pre-line;line-height:1.5}.share-invite-actions{display:flex;gap:8px;flex-wrap:wrap}.collab-invite-section{margin-bottom:24px}.collab-invite-form{display:flex;gap:8px;margin-top:12px}.collab-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--bg-secondary);color:var(--text)}.collab-select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--bg-secondary);color:var(--text);min-width:120px}.collab-list{border-top:1px solid var(--border);padding-top:12px}.collab-item{display:flex;align-items:center;justify-content:space-between;padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.collab-info{display:flex;flex-direction:column;gap:4px}.collab-email{font-size:.9rem;color:var(--text-primary);font-weight:500}.collab-status{font-size:.8rem;color:var(--text-secondary);text-transform:capitalize}.collab-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;padding:0 2px}.collab-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:none;border:none;border-bottom:2px solid transparent;font-size:13.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.collab-tab:hover{color:var(--text-primary)}.collab-tab.active{color:var(--primary, #6366f1);border-bottom-color:var(--primary, #6366f1)}.collab-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700}.join-req-item{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.join-req-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#818cf8,#4f46e5);color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center}.join-req-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.join-req-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-req-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-req-time{font-size:11px;color:var(--text-secondary);opacity:.7}.join-req-actions{flex-shrink:0;display:flex;gap:6px}.collab-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.btn-icon-resend{background:none;border:none;color:var(--primary, #4f46e5);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.btn-icon-resend:hover{background:#4f46e51a}.btn-icon-danger{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.btn-icon-danger:hover{background:#ef44441a}.export-tree-list{display:flex;flex-direction:column;gap:8px}.export-tree-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;font-size:.9rem;font-weight:500;color:#334155;transition:all .2s;text-align:left}.export-tree-item:hover{border-color:var(--primary, #4f46e5);background:#eef2ff;color:var(--primary, #4f46e5)}.export-tree-item svg{flex-shrink:0;color:#94a3b8}.export-tree-item:hover svg{color:var(--primary, #4f46e5)}.export-format-list{display:flex;flex-direction:column;gap:12px}.export-format-btn{display:flex;align-items:center;gap:16px;padding:16px 20px;border:2px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:all .2s;text-align:left}.export-format-btn:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.export-format-btn svg{flex-shrink:0;color:var(--primary);width:24px;height:24px}.format-name{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:2px}.format-desc{font-size:.8rem;color:var(--text-secondary)}.export-format-btn--tv{border-color:#8b5cf6}.export-format-btn--tv:hover{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 4px 12px #8b5cf633}.export-format-btn--tv svg{color:#8b5cf6}.format-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#8b5cf6;color:#fff;padding:1px 6px;border-radius:99px;vertical-align:middle;margin-left:4px}.import-format-tabs{display:flex;gap:8px;margin-top:4px}.import-tab{flex:1;padding:8px 12px;border:2px solid var(--border);border-radius:8px;background:var(--surface);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;color:var(--text-secondary)}.import-tab.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.import-tab:hover:not(.active){border-color:var(--text-secondary);color:var(--text)}.export-back-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s;margin-bottom:16px}.export-back-btn:hover{background:var(--border);color:var(--text)}.export-back-btn svg{width:16px;height:16px}.export-tree-item small{font-weight:400;opacity:.7}.empty-state{text-align:center;padding:80px 20px;display:flex;flex-direction:column;align-items:center}.empty-illustration{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}.empty-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);animation:empty-pulse 3s ease-in-out infinite}@keyframes empty-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.7}}.empty-logo{position:relative;z-index:1;filter:drop-shadow(0 4px 16px rgba(99,102,241,.25))}.empty-state h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;color:var(--text)}.empty-state p{color:var(--text-secondary);font-size:.95rem;line-height:1.65;margin-bottom:32px;max-width:340px}.loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-secondary);min-height:0}@keyframes spin{to{transform:rotate(360deg)}}.tree-container{overflow:hidden;padding:0;position:relative;flex:1;cursor:grab;touch-action:none;background-color:var(--bg);background-image:radial-gradient(circle,var(--dot-color) 1.5px,transparent 1.5px);background-size:24px 24px}.bg-tree{position:absolute;pointer-events:none;z-index:-1;opacity:1}.tree{display:inline-flex;gap:40px;padding:40px;position:relative;isolation:isolate}.tv-bg-tree{position:absolute;pointer-events:none;z-index:0;overflow:visible}.cv-container{overflow:hidden;padding:0;position:relative;flex:1;min-height:0;cursor:grab;background-color:var(--bg);background-image:radial-gradient(circle,var(--dot-color) 1.5px,transparent 1.5px);background-size:24px 24px}.cv-canvas{display:block;position:relative;width:6000px;height:6000px}.cv-pan-hint{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 16px;box-shadow:var(--shadow-md);z-index:10;font-size:.85rem;color:var(--text-secondary);cursor:pointer;animation:fadeInHint .4s ease-out;max-width:calc(100% - 32px)}.cv-pan-hint svg{flex-shrink:0}.cv-pan-hint span{white-space:normal;word-break:break-word}.cv-pan-hint-close{background:none;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer;padding:0 2px;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.cv-stats{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px;box-shadow:var(--shadow-md);z-index:10;white-space:nowrap}.cv-zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 8px;box-shadow:var(--shadow-md);z-index:10;-webkit-user-select:none;user-select:none}.cv-zoom-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.cv-zoom-btn:hover{background:var(--primary-light);color:var(--primary)}.cv-collapse-all-btn{width:auto;border-radius:8px;padding:0 8px;gap:4px;font-size:.72rem;font-weight:600}.cv-collapse-all-btn span{line-height:1}.cv-collapse-all-btn.active{background:var(--primary-light);color:var(--primary)}.cv-gen-btn{width:24px;height:24px}.cv-gen-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.cv-gen-label{font-size:.8rem;font-weight:700;min-width:26px;text-align:center;color:var(--text-secondary);letter-spacing:.01em;-webkit-user-select:none;user-select:none}.cv-zoom-sep{width:1px;height:16px;background:var(--border);margin:0 4px;flex-shrink:0}.cv-zoom-level{font-size:.8rem;color:var(--text-secondary);min-width:36px;text-align:center;font-weight:600;letter-spacing:.01em}.cv-calc-btn-wrap{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:60}.cv-calc-label{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-align:center;white-space:nowrap;background:var(--surface);padding:3px 8px;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.cv-rel-result{position:absolute;top:calc(100% + 8px);left:0;background:var(--surface);border:2px solid var(--primary);border-radius:12px;padding:16px 20px;box-shadow:var(--shadow-lg);z-index:20;min-width:280px;animation:slideIn .3s ease-out}.cv-result-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.4rem;color:var(--text-secondary);cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.cv-result-close:hover{background:var(--card-bg);color:var(--text)}.cv-result-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-right:20px}.cv-result-person{font-size:.85rem;font-weight:600;color:var(--text)}.cv-swap-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-secondary);flex-shrink:0}.cv-swap-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:rotate(180deg)}.cv-swap-btn svg{transition:all .2s}.cv-swap-btn:hover svg{stroke:#fff;fill:#fff}.cv-result-header svg{color:var(--primary);flex-shrink:0}.cv-result-relationship{font-size:1.1rem;font-weight:700;color:var(--primary);text-align:center;padding:8px 12px;background:var(--card-bg);border-radius:8px}.cv-search{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:0;z-index:60}.cv-search-toggle{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s;color:var(--text)}.cv-search-toggle:hover{background:var(--primary-light)}.cv-search.expanded .cv-search-toggle{border-radius:8px 0 0 8px;border-right:none}.cv-search-input-wrap{position:relative}.cv-search-input{width:min(220px,calc(100vw - 80px));height:44px;border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;padding:0 28px 0 10px;font-size:.85rem;background:var(--surface);color:var(--text);outline:none;box-shadow:0 2px 8px #0000001a}.cv-search-input:focus{border-color:var(--primary)}.cv-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-light);line-height:1}.cv-search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;max-height:240px;overflow-y:auto;z-index:30}.cv-search-result{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .15s}.cv-search-result:hover,.cv-search-result.active{background:var(--primary-light)}.cv-result-name{font-size:.85rem;font-weight:600;color:var(--text)}.cv-result-year{font-size:.78rem;font-weight:400;color:var(--text-light)}.cv-result-relation{font-size:.72rem;color:var(--text-light)}.pan-hint{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 16px;box-shadow:var(--shadow-md);z-index:10;font-size:.85rem;color:var(--text-secondary);cursor:pointer;animation:fadeInHint .4s ease-out;max-width:calc(100% - 32px)}.pan-hint svg{flex-shrink:0}.pan-hint span{white-space:normal;word-break:break-word}.pan-hint-close{background:none;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer;padding:0 2px;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@keyframes fadeInHint{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tv-breadcrumb{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:4px;background:#0f172ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 10px;box-shadow:0 4px 20px #00000059;pointer-events:auto;white-space:nowrap}.tv-crumb,.tv-crumb-home{background:none;border:none;cursor:pointer;color:#ffffffb3;font-size:.74rem;font-weight:500;padding:2px 6px;border-radius:999px;transition:background .15s,color .15s;display:flex;align-items:center;gap:4px}.tv-crumb:hover,.tv-crumb-home:hover{background:#ffffff1f;color:#fff}.tv-crumb-home{padding:2px 8px}.tv-crumb-sep{color:#ffffff4d;font-size:.8rem;-webkit-user-select:none;user-select:none}.tv-crumb-current{color:#fff;font-weight:700;cursor:default}.breadcrumb-fade-enter-active,.breadcrumb-fade-leave-active{transition:opacity .22s ease,transform .22s ease}.breadcrumb-fade-enter-from,.breadcrumb-fade-leave-to{opacity:0;transform:translate(-50%) translateY(-8px)}.zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 8px;box-shadow:var(--shadow-md);z-index:10;-webkit-user-select:none;user-select:none}.zoom-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.zoom-btn:hover{background:var(--primary-light);color:var(--primary)}.zoom-btn.collapse-all-btn{width:auto;border-radius:8px;padding:0 8px;gap:4px;font-size:.72rem;font-weight:600}.zoom-btn.collapse-all-btn span{line-height:1}.zoom-btn.collapse-all-btn.active{background:var(--primary-light);color:var(--primary)}.zoom-sep{width:1px;height:16px;background:var(--border);margin:0 4px;flex-shrink:0}.zoom-level{font-size:.8rem;color:var(--text-secondary);min-width:36px;text-align:center;font-weight:600;letter-spacing:.01em}.tree-search{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:0;z-index:20}.search-toggle{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s;color:var(--text)}.search-toggle:hover{background:var(--primary-light)}.tree-search.expanded .search-toggle{border-radius:8px 0 0 8px;border-right:none}.search-input-wrap{position:relative}.search-input{width:min(220px,calc(100vw - 80px));height:44px;border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;padding:0 28px 0 10px;font-size:.85rem;background:var(--surface);color:var(--text);outline:none;box-shadow:0 2px 8px #0000001a}.search-input:focus{border-color:var(--primary)}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-light);line-height:1}.search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;max-height:240px;overflow-y:auto;z-index:30}.search-result{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .15s}.search-result:hover,.search-result.active{background:var(--primary-light)}.result-name{font-size:.85rem;font-weight:600;color:var(--text)}.result-year{font-size:.78rem;font-weight:400;color:var(--text-light)}.result-relation{font-size:.72rem;color:var(--text-light)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);min-width:min(250px,calc(100vw - 32px));max-width:calc(100vw - 48px)}.toast.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.toast.error,.toast.info{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.toast-enter-active{animation:slideIn .3s ease}.toast-leave-active{animation:slideOut .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .2s ease}.modal{background:var(--surface);border-radius:var(--radius);padding:32px;width:90%;max-width:480px;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalIn .3s ease}.modal h2{font-size:1.25rem;margin-bottom:24px;color:var(--text)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;transition:border-color .2s;background:var(--surface);color:var(--text)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.stats-modal{background:var(--surface);border-radius:16px;padding:28px;width:900px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;position:relative}.stats-modal h2{font-size:1.8rem;font-weight:700;color:var(--text);margin:0 0 24px;display:flex;align-items:center;gap:12px}.stats-modal h2 svg{color:var(--primary)}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;line-height:1}.modal-close:hover{background:var(--bg);color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px;transition:all .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.total{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stat-icon.generations{background:linear-gradient(135deg,#0ea5e9,#06b6d4)}.stat-icon.male{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.stat-icon.female{background:linear-gradient(135deg,#ec4899,#f472b6)}.stat-icon.ratio{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.stat-icon.living{background:linear-gradient(135deg,#22c55e,#4ade80)}.stat-icon svg{color:#fff;width:24px;height:24px}.stat-content{flex:1}.stat-value{font-size:1.8rem;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px}.stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width: 640px){.stats-row{grid-template-columns:1fr}}.stat-detail{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px}.stat-detail-label{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.stat-detail-value{font-size:1.1rem;font-weight:700;color:var(--text, #1e293b);margin-bottom:2px}.stat-detail-sub{font-size:.8rem;color:var(--text-secondary, #64748b)}.stat-detail h3{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.person-detail{display:flex;align-items:center;gap:12px}.person-detail .stat-value{font-size:1.5rem}.person-info{flex:1}.person-name{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:2px}.person-age{font-size:.85rem;color:var(--text-secondary)}.birth-year-chart{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px}.birth-year-chart h3{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em}.chart-container{display:flex;align-items:flex-end;gap:8px;height:180px}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.chart-bar{width:100%;background:linear-gradient(to top,var(--primary),var(--primary-hover));border-radius:4px 4px 0 0;transition:height .3s ease;flex-shrink:0}.chart-bar:hover{opacity:.8}.chart-count{font-size:.65rem;font-weight:600;color:var(--text-secondary);line-height:1;flex-shrink:0}.chart-label{font-size:.7rem;color:var(--text-secondary);transform:rotate(-45deg);transform-origin:center center;white-space:nowrap}.activity-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:9998;display:flex;justify-content:flex-end}.activity-drawer{width:380px;max-width:100vw;height:100vh;background:var(--bg, #f8fafc);border-left:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000001f;overflow:hidden}.activity-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);flex-shrink:0}.activity-drawer-header h3{font-size:1rem;font-weight:700;color:var(--text, #1e293b);margin:0}.activity-drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--text-muted, #94a3b8);text-align:center;font-size:.85rem}.activity-list-wrap{flex:1;overflow-y:auto;display:flex;flex-direction:column}.activity-list{list-style:none;padding:0;margin:0;flex:1}.activity-load-more{padding:14px 20px;display:flex;justify-content:center;border-top:1px solid var(--border, #e2e8f0);flex-shrink:0}.activity-end-label{font-size:.75rem;color:var(--text-muted, #94a3b8)}.activity-item{display:flex;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border, #f1f5f9);transition:background .15s}.activity-item:hover{background:var(--primary-light, #eef2ff)}.activity-icon{width:34px;height:34px;border-radius:50%;background:#eef2ff;color:var(--primary, #6366f1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon.act-deleted{background:#fef2f2;color:#dc2626}.activity-icon.act-edited{background:#fffbeb;color:#d97706}.activity-icon.act-added_spouse{background:#fdf2f8;color:#e11d48}.activity-icon.act-added_child{background:#f0fdf4;color:#16a34a}.activity-icon.act-added_parent{background:#eff6ff;color:#2563eb}.activity-icon.act-invited_collaborator{background:#f0fdf4;color:#16a34a}.activity-body{flex:1;min-width:0}.activity-headline{font-size:.82rem;color:var(--text, #1e293b);line-height:1.4;margin-bottom:2px}.activity-user{font-weight:700;color:var(--primary, #6366f1)}.activity-entity{font-weight:600}.activity-detail{font-size:.75rem;color:var(--text-muted, #64748b);margin-bottom:3px}.activity-time{font-size:.7rem;color:var(--text-muted, #94a3b8)}.drawer-slide-enter-active,.drawer-slide-leave-active{transition:opacity .2s ease}.drawer-slide-enter-active .activity-drawer,.drawer-slide-leave-active .activity-drawer{transition:transform .25s cubic-bezier(.4,0,.2,1)}.drawer-slide-enter-from .activity-drawer,.drawer-slide-leave-to .activity-drawer{transform:translate(100%)}.drawer-slide-enter-from,.drawer-slide-leave-to{opacity:0}.btn-dimmed{opacity:.45;cursor:default}.btn-dimmed:hover{opacity:.6}.more-features-menu{position:relative}.btn-more-features{display:flex;align-items:center;gap:2px}.more-features-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:260px;max-height:calc(100vh - 80px);overflow-y:auto;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:9000}.more-features-header{display:flex;align-items:center;gap:6px;padding:10px 14px 8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6366f1;border-bottom:1px solid var(--border, #e2e8f0)}.more-feature-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.more-feature-item:hover{background:var(--primary-light, #eef2ff)}.more-feature-item-icon{width:28px;height:28px;border-radius:7px;background:var(--bg, #f8fafc);border:1px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary, #64748b)}.more-feature-item-name{font-size:.82rem;font-weight:600;color:var(--text, #1e293b);line-height:1.2}.more-feature-notif-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:5px;border-radius:999px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;line-height:1;vertical-align:middle}.more-feature-item-desc{font-size:.72rem;color:var(--text-muted, #94a3b8);line-height:1.3;margin-top:1px}.more-features-footer{padding:10px 14px;border-top:1px solid var(--border, #e2e8f0)}.hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:7px 8px;flex-shrink:0}.hamburger-bar{display:block;width:100%;height:2px;background:var(--text-secondary);border-radius:2px;transition:transform .22s ease,opacity .18s ease;transform-origin:center}.hamburger-bar.open:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-bar.open:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-bar.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:80;display:none}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}@media (max-width: 1200px){.header-actions .btn-label{display:none}.header-actions .btn-sm{padding:7px 8px;gap:0}.header-actions{gap:6px}.header-actions .header-group{gap:4px}}@media (max-width: 640px){.hamburger-btn{display:flex}.header-pinned{margin-left:auto;gap:6px}.header-pinned .user-greeting,.pinned-separator-desktop{display:none}.mobile-menu-backdrop{display:block}.header-actions{display:none}.logo h1{font-size:.95rem}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;max-height:90dvh;border-radius:16px 16px 0 0;padding:20px 16px 32px;overflow-y:auto}.stats-modal,.export-modal,.upgrade-modal{width:100%!important;max-width:100%!important;max-height:90dvh!important;border-radius:16px 16px 0 0!important;overflow-y:auto}}.mobile-drawer{position:fixed;top:56px;right:0;bottom:0;width:min(280px,82vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 40px #00000038;z-index:90;display:flex;flex-direction:column;padding:14px 14px 32px;gap:0;overflow-y:auto}.slide-drawer-enter-active,.slide-drawer-leave-active{transition:transform .26s cubic-bezier(.4,0,.2,1)}.slide-drawer-enter-from,.slide-drawer-leave-to{transform:translate(100%)}.slide-drawer-enter-to,.slide-drawer-leave-from{transform:translate(0)}.drawer-close-btn{display:none}.drawer-section-label{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);padding:10px 2px 4px}.drawer-group{display:flex;flex-direction:column;gap:2px}.drawer-btn{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:none;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text);text-align:left;transition:background .15s}.drawer-btn:hover{background:var(--bg)}.drawer-btn svg{flex-shrink:0;color:var(--text-secondary)}.drawer-btn-dimmed{opacity:.55}.drawer-btn-primary{background:var(--primary);color:#fff;justify-content:center}.drawer-btn-primary:hover{background:var(--primary-hover, var(--primary));filter:brightness(1.08)}.drawer-btn-primary svg{color:#fff}.drawer-btn-logout{color:var(--danger, #ef4444)}.drawer-btn-logout svg{color:var(--danger, #ef4444)}.drawer-btn-logout:hover{background:color-mix(in srgb,var(--danger, #ef4444) 10%,transparent)}.drawer-badge{margin-left:auto;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:20px;background:var(--primary-light, #ede9fe);color:var(--primary);letter-spacing:.04em}.drawer-notif-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;line-height:1;vertical-align:middle}.drawer-divider{width:100%;height:1px;background:var(--border);margin:8px 0;flex-shrink:0}.drawer-upgrade-cta{margin-top:4px;padding:0 2px}@media (max-width: 480px){.app-header{padding:8px 10px}.logo svg{width:26px;height:26px}.logo h1{font-size:.88rem}.chart-view-switcher{padding:4px 8px}.chart-view-btn{padding:5px 9px;font-size:.73rem;gap:4px}.relationship-result{left:0;right:auto;min-width:unset;max-width:calc(100vw - 40px);top:calc(100% + 8px);padding:12px 14px}}@media (max-width: 480px){.tree-stats{bottom:72px;left:20px}}@media (max-height: 480px){.zoom-controls{bottom:8px;right:8px}.tree-stats{bottom:58px;left:8px}}@media (max-width: 520px){.cv-stats{bottom:68px;left:50%;right:auto;transform:translate(-50%)}.cv-zoom-controls{bottom:12px;left:50%;right:auto;transform:translate(-50%)}}@media (max-height: 480px){.cv-zoom-controls{bottom:8px;left:50%;right:auto;transform:translate(-50%)}.cv-stats{bottom:62px;left:50%;right:auto;transform:translate(-50%)}}.mobile-icon-switcher-bar{display:none;align-items:center;padding:6px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.mobile-icon-switcher{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px;box-shadow:0 1px 4px #00000012}.mis-view-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:7px;background:transparent;color:var(--text-light);cursor:pointer;transition:background .15s,color .15s}.mis-view-btn:hover{background:var(--primary-light);color:var(--primary)}.mis-view-btn.active{background:var(--primary);color:#fff}.mis-view-btn.mis-locked{opacity:.45}@media (max-width: 550px){.chart-view-switcher{display:none}.mobile-view-trigger{display:none!important}.mobile-icon-switcher-bar{display:flex}}.mobile-view-trigger{display:none;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.82rem;font-weight:600;white-space:nowrap;box-shadow:0 1px 4px #00000014;transition:background .15s,border-color .15s,color .15s;position:relative}.mobile-view-trigger:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.mobile-view-dropdown{z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 32px #0000002e;min-width:200px;max-width:calc(100vw - 16px);overflow:hidden;padding:6px 0}.mobile-view-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.mvd-view-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;background:none;color:var(--text-secondary);font-size:.84rem;font-weight:500;cursor:pointer;text-align:left;transition:background .13s,color .13s}.mvd-view-btn:hover:not(.active){background:var(--primary-light);color:var(--primary)}.mvd-view-btn.active{background:var(--primary-light);color:var(--primary);font-weight:700}.mvd-view-btn.mvd-locked{opacity:.6}.slide-down-enter-active,.slide-down-leave-active{transition:opacity .18s ease,transform .18s ease}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-6px)}.delete-tree-modal{background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #00000038;width:100%;max-width:480px;overflow:hidden;animation:modal-pop .18s ease}.delete-tree-modal-header{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.delete-tree-modal-header h3{flex:1;margin:0;font-size:1.05rem;font-weight:700;color:#ef4444}.delete-tree-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.delete-tree-warning-banner{display:flex;gap:10px;align-items:flex-start;background:#fef9c3;border:1px solid #fde047;border-radius:10px;padding:12px 14px;font-size:.87rem;color:#713f12;line-height:1.5}.delete-tree-warning-banner code{background:#00000012;border-radius:4px;padding:1px 5px;font-size:.82rem}.delete-tree-backup-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.delete-tree-backup-label{font-size:.82rem;color:var(--text-secondary);white-space:nowrap}.delete-tree-desc{margin:0;font-size:.88rem;color:var(--text-secondary);line-height:1.6}.delete-tree-desc strong{color:var(--text)}.delete-tree-confirm-label{font-size:.84rem;font-weight:600;color:var(--text)}.delete-tree-confirm-label code{background:#fee2e2;color:#b91c1c;border-radius:4px;padding:1px 6px;font-size:.82rem;font-weight:700;letter-spacing:.5px}.delete-tree-confirm-input{width:100%;padding:9px 12px;border:2px solid var(--border);border-radius:8px;font-size:.92rem;background:var(--bg);color:var(--text);transition:border-color .15s;box-sizing:border-box;font-family:monospace;letter-spacing:1px}.delete-tree-confirm-input:focus{outline:none;border-color:#ef4444}.delete-tree-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg)}.btn-danger-ghost{color:#ef4444!important;border:1px solid #fca5a5!important;background:transparent!important}.btn-danger-ghost:hover{background:#fee2e2!important;border-color:#ef4444!important}.manage-trees-modal{background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #00000038;width:100%;max-width:540px;overflow:hidden;animation:modal-pop .18s ease;display:flex;flex-direction:column;max-height:90vh}.manage-trees-header{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.manage-trees-header h3{flex:1;margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.manage-trees-warning{display:flex;align-items:flex-start;gap:8px;background:#fef9c3;border-bottom:1px solid #fde047;padding:10px 20px;font-size:.84rem;color:#713f12;flex-shrink:0}.manage-trees-list{overflow-y:auto;flex:1;padding:8px 12px}.manage-trees-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer;transition:background .13s;border:1.5px solid transparent;margin-bottom:4px}.manage-trees-row:hover{background:var(--primary-light, #eef2ff)}.manage-trees-row.selected{background:var(--primary-light, #eef2ff);border-color:var(--primary, #6366f1)}.manage-trees-row--active{border-color:var(--primary, #6366f1);border-style:dashed}.manage-trees-active-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--primary, #6366f1);color:#fff;border-radius:99px;padding:1px 6px;margin-left:6px;vertical-align:middle}.manage-trees-checkbox{width:18px;height:18px;border-radius:5px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .13s,border-color .13s;background:var(--bg)}.manage-trees-checkbox.checked{background:var(--primary, #6366f1);border-color:var(--primary, #6366f1);color:#fff}.manage-trees-info{flex:1;min-width:0}.manage-trees-name{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-trees-spouse{font-weight:400;color:var(--text-secondary);font-size:.85rem}.manage-trees-actions{display:flex;gap:5px;flex-shrink:0}.manage-trees-export-btn{display:flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:background .13s,border-color .13s,color .13s;white-space:nowrap}.manage-trees-export-btn:hover{background:var(--surface);border-color:var(--primary, #6366f1);color:var(--primary, #6366f1)}.manage-trees-select-row{display:flex;align-items:center;gap:6px;padding:6px 20px 10px;flex-shrink:0}.manage-trees-select-link{background:none;border:none;color:var(--primary, #6366f1);font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.manage-trees-select-link:hover{opacity:.75}.manage-trees-select-sep{color:var(--text-secondary);font-size:.8rem}.manage-trees-selected-count{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--primary, #6366f1);background:var(--primary-light, #eef2ff);border-radius:99px;padding:2px 10px}.manage-trees-action-bar{border-top:1px solid var(--border);padding:14px 20px;display:flex;flex-direction:column;gap:14px;flex-shrink:0;background:var(--bg)}.manage-trees-action-group{display:flex;flex-direction:column;gap:8px}.manage-trees-action-label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.manage-trees-action-label--danger{color:#ef4444}.manage-trees-action-label code{font-size:.8rem;background:#fee2e2;color:#ef4444;border-radius:4px;padding:1px 5px}.manage-trees-action-btns{display:flex;gap:8px;flex-wrap:wrap}.manage-trees-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:.82rem;font-weight:500;color:var(--text);cursor:pointer;transition:background .13s,border-color .13s}.manage-trees-action-btn:hover:not(:disabled){background:var(--primary-light, #eef2ff);border-color:var(--primary, #6366f1);color:var(--primary, #6366f1)}.manage-trees-action-btn:disabled{opacity:.5;cursor:not-allowed}.manage-trees-action-divider{height:1px;background:var(--border)}.manage-trees-delete-row{display:flex;gap:8px;align-items:center}.manage-trees-confirm-input{flex:1;padding:7px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:.88rem;background:var(--surface);color:var(--text);font-family:monospace;outline:none;transition:border-color .15s}.manage-trees-confirm-input:focus{border-color:#ef4444}.manage-trees-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0}.btn-danger{background:#ef4444;color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.tv-chain-hovered .connector-svg{opacity:.15;transition:opacity .18s ease}@media (max-width: 768px){.zoom-btn,.cv-zoom-btn{width:40px;height:40px}.cv-gen-btn{width:32px;height:32px}.cv-swap-btn{width:40px;height:40px}}@media (max-width: 480px){.tree-search{right:8px}.tree-search.expanded{left:8px}.search-input{width:100%}.toast-container{left:16px;right:16px;bottom:16px}.upgrade-modal{padding:20px 16px 40px}.cv-breadcrumb,.tv-breadcrumb{max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none}.cv-rel-result{min-width:unset;max-width:calc(100vw - 40px)}}@media (max-width: 640px){.activity-drawer{width:100%;max-width:100%;border-radius:16px 16px 0 0;bottom:0;top:auto;max-height:85dvh}}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#eef2ff,#e0e7ff,#c7d2fe);padding:20px}.verify-email-card{background:#fff;border-radius:16px;padding:48px 40px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 32px #6366f11f}.verify-email-loading h2,.verify-email-error-state h2{font-size:1.3rem;font-weight:700;color:#1e1b4b;margin:16px 0 8px}.verify-email-loading p,.verify-email-error-state p{font-size:.92rem;color:#6b7280;margin:0 0 20px}.verify-icon-error{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#fef2f2;margin:0 auto 8px}.expand-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.expand-fullscreen-text{font-size:.95rem;font-weight:600;color:#334155;letter-spacing:.01em}.export-busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#00000073;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.export-busy-card{background:#fff;border-radius:18px;padding:36px 48px;text-align:center;box-shadow:0 12px 48px #00000038;min-width:260px;position:relative}.export-busy-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#f1f5f9;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:background .15s,color .15s}.export-busy-close:hover{background:#fee2e2;color:#ef4444}.export-busy-card h3{font-size:1.1rem;font-weight:700;color:#1e293b}.export-busy-status{font-size:.85rem;color:#64748b;margin:0;min-height:1.2em}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.ea-congrats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:eaFadeIn .3s ease}@keyframes eaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes eaSlideUp{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ea-congrats-modal{background:#fff;border-radius:20px;padding:40px 36px 32px;max-width:440px;width:100%;text-align:center;box-shadow:0 24px 80px #0000002e;animation:eaSlideUp .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.ea-congrats-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a855f7)}.ea-congrats-icon{margin-bottom:16px;display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:#ede9fe}.ea-congrats-title{font-size:1.5rem;font-weight:700;color:#1e1b4b;margin:0 0 4px}.ea-congrats-subtitle{font-size:.95rem;color:#6b7280;margin:0 0 20px}.ea-congrats-body{text-align:left;margin:0 0 24px}.ea-congrats-body p{font-size:.95rem;color:#374151;margin:0 0 16px;text-align:center}.ea-congrats-perks{display:flex;flex-direction:column;gap:10px}.ea-congrats-perk{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#374151;padding:8px 12px;background:#f0fdf4;border-radius:8px}.ea-congrats-perk svg{flex-shrink:0}.ea-congrats-btn{width:100%;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.ea-congrats-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}@media (max-width: 480px){.ea-congrats-modal{padding:28px 20px 24px;border-radius:16px}.ea-congrats-title{font-size:1.25rem}}
