.graph-wrap[data-v-0f0234de]{background:radial-gradient(1200px 500px at 50% -10%,#a67c2e12,#0000 60%),#f6f1e6;border:1px solid #e4d8bb;border-radius:14px;height:52vh;min-height:260px;position:relative;overflow:hidden}.graph-svg[data-v-0f0234de]{touch-action:none;width:100%;height:100%;display:block}.node-fo[data-v-0f0234de]{overflow:visible}.node-box[data-v-0f0234de]{box-sizing:border-box;cursor:pointer;background:#fffdf7;border:1.5px solid #a67c2e59;border-radius:11px;align-items:center;gap:6px;width:100%;height:100%;padding:5px 7px;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000d}.node-box.selected[data-v-0f0234de]{border:3px solid #a67c2e;box-shadow:0 2px 8px #a67c2e4d}.node-avatar[data-v-0f0234de]{color:#fff;border:1px solid #fff9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:flex;overflow:hidden}.node-avatar img[data-v-0f0234de]{object-fit:cover;width:100%;height:100%}.node-avatar.male[data-v-0f0234de]{background:#5b7a99}.node-avatar.female[data-v-0f0234de]{background:#b06a80}.node-avatar.unknown[data-v-0f0234de]{background:#9aa3a8}.node-avatar.deceased[data-v-0f0234de]{background:#8a8a8a}.node-avatar.deceased img[data-v-0f0234de]{filter:grayscale()}.node-text[data-v-0f0234de]{flex-direction:column;flex:1;justify-content:center;min-width:0;line-height:1.25;display:flex}.node-name[data-v-0f0234de]{color:#2c2314;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.node-sub[data-v-0f0234de]{color:#8a7b5f;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.node-sub.nick[data-v-0f0234de],.node-sub.age[data-v-0f0234de]{color:#7d5a1c;font-weight:600}line.dim[data-v-0f0234de],path.dim[data-v-0f0234de]{opacity:.25}.node-fo.dim[data-v-0f0234de]{opacity:.35}.node-fo.dim .node-box[data-v-0f0234de]{filter:saturate(.1)}.edge-label[data-v-0f0234de]{fill:#7d5a1c;paint-order:stroke;stroke:#f6f1e6;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:10px;font-weight:600}.edge-label.dim[data-v-0f0234de]{opacity:.3}.gen-label[data-v-0f0234de]{letter-spacing:2px;font-size:12px;font-weight:700}.fit-btn[data-v-0f0234de]{color:#7d5a1c;background:#fffdf7;border:1px solid #d6c9a8;border-radius:999px;padding:6px 12px;font-size:13px;position:absolute;bottom:10px;right:10px;box-shadow:0 1px 4px #0000000f}.person-card[data-v-0770df1b]{border-radius:14px;margin-top:12px;padding:16px}.p-head[data-v-0770df1b]{align-items:center;gap:12px;display:flex}.avatar[data-v-0770df1b]{color:#fff;border:2px solid var(--line-strong);background:#9aa3a8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-family:Songti SC,SimSun,serif;font-size:22px;font-weight:700;display:flex;overflow:hidden}.avatar.male[data-v-0770df1b]{background:#2a6f97}.avatar.female[data-v-0770df1b]{background:#c25a7a}.avatar.deceased[data-v-0770df1b]{background:#8a8a8a}.avatar.deceased img[data-v-0770df1b]{filter:grayscale()}.avatar img[data-v-0770df1b]{object-fit:cover;width:100%;height:100%}.p-head-text[data-v-0770df1b]{flex:1;min-width:0}.p-head h2[data-v-0770df1b]{margin:0;font-family:Songti SC,SimSun,serif;font-size:20px}.nickname[data-v-0770df1b]{color:var(--accent-strong);margin:3px 0 0;font-size:12px;font-weight:600}.former[data-v-0770df1b]{opacity:.6;margin:3px 0 0;font-size:12px}.meta[data-v-0770df1b]{opacity:.6;margin:3px 0 0;font-size:13px}.edit-btn[data-v-0770df1b]{border:1px solid var(--line);width:34px;height:34px;color:var(--accent);cursor:pointer;background:#fff;border-radius:50%;flex:none;font-size:16px}.rel[data-v-0770df1b]{background:var(--gold-soft);border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:12px}.rel-line[data-v-0770df1b]{margin:4px 0;font-size:15px}.rel-line b[data-v-0770df1b]{color:var(--accent-strong)}.note[data-v-0770df1b]{opacity:.65;margin:6px 0 0;font-size:12px}.bio[data-v-0770df1b]{border:1px solid var(--line);background:#fff;border-radius:10px;margin:12px 0;padding:14px}.bio-row.place[data-v-0770df1b]{margin-bottom:10px;font-size:14px;line-height:1.6}.bio-row .k[data-v-0770df1b]{min-width:3em;color:var(--accent-strong);margin-right:8px;font-size:13px;font-weight:700;display:inline-block}.bio-note[data-v-0770df1b]{border-top:1px dashed var(--line-strong);padding-top:12px}.bio-title[data-v-0770df1b]{color:var(--accent-strong);letter-spacing:2px;margin:0 0 6px;font-size:14px;font-weight:700}.bio-text[data-v-0770df1b]{color:var(--fg);margin:0;font-family:Songti SC,SimSun,serif;font-size:16px;line-height:1.7}.bio-empty[data-v-0770df1b]{color:#b3a98f;margin:0;font-size:14px;font-style:italic}.audio[data-v-0770df1b]{margin:12px 0}.audio-label[data-v-0770df1b]{color:var(--accent-strong);margin:0 0 6px;font-size:13px;font-weight:700}.audio audio[data-v-0770df1b]{width:100%}.edit-form[data-v-0770df1b]{border:1px solid var(--line-strong);background:#fff;border-radius:10px;flex-direction:column;gap:10px;margin:12px 0;padding:12px;display:flex}.f[data-v-0770df1b]{color:var(--accent-strong);flex-direction:column;gap:4px;font-size:13px;display:flex}.f-row[data-v-0770df1b]{gap:10px;display:flex}.f-row .f[data-v-0770df1b]{flex:1;min-width:0}.f input[data-v-0770df1b],.f select[data-v-0770df1b],.f textarea[data-v-0770df1b]{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;color:var(--fg);background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:15px}.upload-btn[data-v-0770df1b]{border:1px solid var(--line-strong);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-size:14px}.edit-actions[data-v-0770df1b]{justify-content:flex-end;gap:10px;display:flex}.ghost[data-v-0770df1b],.primary[data-v-0770df1b]{cursor:pointer;border-radius:8px;padding:8px 18px;font-size:14px}.ghost[data-v-0770df1b]{border:1px solid var(--line);color:var(--fg);background:#fff}.primary[data-v-0770df1b]{border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600}.primary[data-v-0770df1b]:disabled{opacity:.5}.relatives[data-v-0770df1b]{flex-wrap:wrap;gap:8px;display:flex}.chip[data-v-0770df1b]{border:1px solid var(--line);color:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:13px;display:inline-flex}.chip span[data-v-0770df1b]{color:var(--accent-strong);font-size:11px;font-weight:700}.chip em[data-v-0770df1b]{opacity:.55;font-size:12px;font-style:normal}.empty[data-v-0770df1b]{opacity:.5;font-size:13px}.add-rel[data-v-0770df1b]{margin-top:14px;position:relative}.add-btn[data-v-0770df1b]{border:1px dashed var(--line-strong);width:100%;color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:10px;padding:10px;font-size:14px}.add-form[data-v-0770df1b]{border:1px solid var(--line-strong);background:#fff;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.add-row[data-v-0770df1b]{gap:8px;display:flex}.add-select[data-v-0770df1b]{border:1px solid var(--line);width:92px;color:var(--fg);background:#fff;border-radius:8px;flex:none;padding:8px;font-size:14px}.add-input[data-v-0770df1b]{border:1px solid var(--line);min-width:0;color:var(--fg);background:#fff;border-radius:8px;flex:1;padding:8px 10px;font-size:15px}.add-actions[data-v-0770df1b]{justify-content:flex-end;gap:10px;display:flex}.add-toast[data-v-0770df1b]{color:#7d5a1c;background:#fff4e0;border:1px solid #e6c98a;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:14px}.center-btn[data-v-0770df1b]{border:1px solid var(--accent);width:100%;color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:10px;margin-top:14px;padding:10px;font-size:14px;font-weight:600}.center-btn[data-v-0770df1b]:hover{background:var(--gold-soft)}.remove-btn[data-v-0770df1b]{color:#b35454;cursor:pointer;background:#fff;border:1px solid #d8b4b4;border-radius:10px;width:100%;margin-top:10px;padding:10px;font-size:14px}.remove-btn[data-v-0770df1b]:hover{background:#fdf1f1}.modal-mask[data-v-0770df1b]{z-index:1100;background:#1410088c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal[data-v-0770df1b]{border:1px solid var(--line-strong);background:#fffdf7;border-radius:14px;width:100%;max-width:340px;padding:20px;box-shadow:0 12px 40px #0000002e}.modal h3[data-v-0770df1b]{color:#b35454;margin:0 0 8px;font-size:17px}.modal-text[data-v-0770df1b]{color:var(--fg);margin:0 0 12px;font-size:14px}.modal-text b[data-v-0770df1b]{color:#b35454}.modal-warn[data-v-0770df1b]{color:#7d5a1c;background:#fff4e0;border:1px solid #e6c98a;border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:13px}.modal-input[data-v-0770df1b]{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:var(--fg);background:#fff;border-radius:8px;margin-bottom:14px;padding:9px 12px;font-size:15px}.modal-actions[data-v-0770df1b]{justify-content:flex-end;gap:10px;display:flex}.danger[data-v-0770df1b]{color:#fff;cursor:pointer;background:#b35454;border:1px solid #b35454;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600}.danger[data-v-0770df1b]:disabled{opacity:.4;cursor:not-allowed}.fade-enter-active[data-v-0770df1b],.fade-leave-active[data-v-0770df1b]{transition:opacity .2s}.fade-enter-from[data-v-0770df1b],.fade-leave-to[data-v-0770df1b]{opacity:0}.lightbox[data-v-0770df1b]{z-index:1000;cursor:zoom-out;background:#141008eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img[data-v-0770df1b]{object-fit:contain;max-width:100vw;max-height:100vh}.lightbox img.grayscale[data-v-0770df1b]{filter:grayscale()}.lightbox-close[data-v-0770df1b]{color:#fff;cursor:pointer;background:#0006;border:1px solid #ffffff80;border-radius:50%;width:40px;height:40px;font-size:18px;position:absolute;top:14px;right:16px}.calc-card[data-v-9732f7b2]{border-radius:14px;margin-top:12px;padding:16px}.calc-card h3[data-v-9732f7b2]{margin:0;font-size:16px}.sub[data-v-9732f7b2]{opacity:.6;margin:3px 0 0;font-size:12px}.pickers[data-v-9732f7b2]{align-items:flex-end;gap:8px;margin-top:12px;display:flex}.pickers label[data-v-9732f7b2]{opacity:.8;flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.pickers select[data-v-9732f7b2]{color:inherit;background:#fff;border:1px solid #d6cfc0;border-radius:8px;width:100%;padding:7px 8px;font-size:14px}.arrow[data-v-9732f7b2]{opacity:.5;padding-bottom:8px;font-size:16px}.result[data-v-9732f7b2]{background:#0e7c7414;border-radius:10px;margin-top:12px;padding:12px}.rel-line[data-v-9732f7b2]{margin:4px 0;font-size:15px}.rel-line b[data-v-9732f7b2]{color:#0e7c74}.note[data-v-9732f7b2]{opacity:.65;margin:6px 0 0;font-size:12px}.genealogy[data-v-852df93c]{margin-top:6px}.gen[data-v-852df93c]{margin-bottom:16px}.gen-label[data-v-852df93c]{letter-spacing:1px;opacity:.55;text-transform:none;margin:0 0 8px;font-size:13px;font-weight:600}.gen-list[data-v-852df93c]{margin:0;padding:0;list-style:none}.person[data-v-852df93c]{cursor:pointer;background:#fffdf7;border:1px solid #e4d8bb;border-radius:10px;margin-bottom:8px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.person[data-v-852df93c]:hover{border-color:#cbb983;box-shadow:0 2px 8px #8264281a}.person.dim[data-v-852df93c]{opacity:.4;filter:saturate(.15)}.prow[data-v-852df93c]{align-items:flex-start;gap:10px;display:flex}.avatar[data-v-852df93c]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;font-weight:600;display:flex;overflow:hidden}.avatar img[data-v-852df93c]{object-fit:cover;width:100%;height:100%}.avatar img.grayscale[data-v-852df93c]{filter:grayscale()}.avatar.male[data-v-852df93c]{background:#5b7a99}.avatar.female[data-v-852df93c]{background:#b06a80}.avatar.unknown[data-v-852df93c]{background:#9aa3a8}.avatar.deceased[data-v-852df93c]{background:#8a8a8a}.pinfo[data-v-852df93c]{flex:1;min-width:0}.line1[data-v-852df93c]{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.name[data-v-852df93c]{font-size:16px;font-weight:600}.nickname[data-v-852df93c]{color:var(--accent-strong);font-size:12px;font-weight:600}.former[data-v-852df93c]{color:#8a7b5f;opacity:.8;font-size:12px}.sex[data-v-852df93c]{font-size:13px}.sex.male[data-v-852df93c]{color:#5b7a99}.sex.female[data-v-852df93c]{color:#b06a80}.sex.unknown[data-v-852df93c]{color:#9aa3a8}.age[data-v-852df93c]{color:var(--accent-strong);font-size:12px;font-weight:600}.years[data-v-852df93c]{opacity:.5;margin-left:auto;font-size:12px}.line2[data-v-852df93c]{align-items:baseline;gap:10px;margin-top:4px;display:flex}.term[data-v-852df93c]{color:#a67c2e;font-size:14px;font-weight:600}.meta[data-v-852df93c]{opacity:.55;font-size:12px}.bio[data-v-852df93c]{opacity:.75;margin:6px 0 0;font-size:13px;line-height:1.5}.album[data-v-83813593]{padding:4px 2px}.empty[data-v-83813593]{text-align:center;opacity:.55;margin:40px 0;font-size:14px;line-height:1.7}.grid[data-v-83813593]{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.cell[data-v-83813593]{border:1px solid var(--line);cursor:pointer;text-align:left;color:inherit;background:#fffdf7;border-radius:12px;flex-direction:column;gap:8px;padding:8px;display:flex;box-shadow:0 1px 4px #82642812}.cell[data-v-83813593]:hover{border-color:var(--line-strong)}.img[data-v-83813593]{aspect-ratio:1;background:#f0e8d6;border-radius:8px;width:100%;overflow:hidden}.img img[data-v-83813593]{object-fit:cover;width:100%;height:100%;display:block}.info[data-v-83813593]{flex-direction:column;gap:2px;min-height:34px;display:flex}.name[data-v-83813593]{color:var(--fg);font-size:14px;font-weight:600}.age[data-v-83813593]{color:var(--accent-strong);font-size:12px;font-weight:600}.me[data-v-9b321777]{padding:2px 0}.me-card[data-v-9b321777]{border-radius:14px;padding:16px}.me-head[data-v-9b321777]{align-items:center;gap:14px;display:flex}.avatar[data-v-9b321777]{color:#fff;border:2px solid var(--line-strong);background:#9aa3a8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-family:Songti SC,SimSun,serif;font-size:26px;font-weight:700;display:flex;overflow:hidden}.avatar.male[data-v-9b321777]{background:#5b7a99}.avatar.female[data-v-9b321777]{background:#b06a80}.avatar.deceased[data-v-9b321777]{background:#8a8a8a}.avatar.deceased img[data-v-9b321777]{filter:grayscale()}.avatar img[data-v-9b321777]{object-fit:cover;width:100%;height:100%}.me-text[data-v-9b321777]{flex:1;min-width:0}.me-text h2[data-v-9b321777]{margin:0;font-family:Songti SC,SimSun,serif;font-size:22px}.nick[data-v-9b321777]{color:var(--accent-strong);margin:3px 0 0;font-size:12px;font-weight:600}.former[data-v-9b321777]{opacity:.6;margin:3px 0 0;font-size:12px}.meta[data-v-9b321777]{opacity:.6;margin:3px 0 0;font-size:13px}.bio[data-v-9b321777]{border-top:1px dashed var(--line-strong);margin:14px 0 0;padding-top:12px}.place[data-v-9b321777]{color:var(--accent-strong);margin-bottom:8px;font-size:14px}.bio-title[data-v-9b321777]{color:var(--accent-strong);letter-spacing:2px;margin:0 0 6px;font-size:14px;font-weight:700}.bio-text[data-v-9b321777]{margin:0;font-family:Songti SC,SimSun,serif;font-size:16px;line-height:1.7}.bio-empty[data-v-9b321777]{color:#b3a98f;margin:0;font-size:14px;font-style:italic}.me-actions[data-v-9b321777]{margin-top:16px}.primary[data-v-9b321777]{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:10px;width:100%;padding:11px;font-size:15px;font-weight:600}.stats[data-v-9b321777]{border-radius:14px;margin-top:14px;padding:16px}.stats h3[data-v-9b321777]{color:var(--accent-strong);letter-spacing:1px;margin:0 0 12px;font-size:15px}.stat-row[data-v-9b321777]{gap:10px;display:flex}.stat[data-v-9b321777]{text-align:center;background:var(--gold-soft);border:1px solid var(--line);border-radius:10px;flex-direction:column;flex:1;gap:4px;padding:12px 6px;display:flex}.stat b[data-v-9b321777]{color:var(--accent-strong);font-size:22px}.stat span[data-v-9b321777]{opacity:.6;font-size:12px}.fam-line[data-v-9b321777]{color:var(--accent-strong);opacity:.8;margin:12px 0 0;font-size:13px}.empty[data-v-9b321777]{text-align:center;opacity:.55;margin:40px 0;font-size:14px}.admin[data-v-86d6f16e]{border:1px solid var(--line-strong);border-radius:14px;margin-top:12px;padding:16px}.a-head[data-v-86d6f16e]{justify-content:space-between;align-items:center;display:flex}.a-head h2[data-v-86d6f16e]{color:var(--accent-strong);margin:0;font-family:Songti SC,SimSun,serif;font-size:18px}.close[data-v-86d6f16e]{border:1px solid var(--line);width:30px;height:30px;color:var(--accent);cursor:pointer;background:#fff;border-radius:50%}.a-msg[data-v-86d6f16e]{color:var(--accent-strong);margin:8px 0 0;font-size:13px}.a-block[data-v-86d6f16e]{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.a-block h3[data-v-86d6f16e]{margin:0 0 6px;font-size:15px}.a-desc[data-v-86d6f16e]{opacity:.6;margin:0 0 8px;font-size:12px}.snap-list[data-v-86d6f16e]{flex-direction:column;gap:8px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.snap-list li[data-v-86d6f16e]{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.snap-info[data-v-86d6f16e]{flex-direction:column;gap:2px;min-width:0;display:flex}.snap-info b[data-v-86d6f16e]{color:var(--accent-strong);font-size:14px}.snap-info span[data-v-86d6f16e]{opacity:.6;font-size:12px}.snap-info em[data-v-86d6f16e]{opacity:.7;font-size:12px;font-style:normal}.rollback[data-v-86d6f16e]{border:1px solid var(--accent);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:8px;flex:none;padding:6px 12px;font-size:13px}.toggle[data-v-86d6f16e]{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.toggle input[data-v-86d6f16e]{width:18px;height:18px}.bg-list[data-v-86d6f16e]{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.bg-item[data-v-86d6f16e]{width:64px;height:64px;position:relative}.bg-item img[data-v-86d6f16e]{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100%;height:100%}.bg-item .del[data-v-86d6f16e]{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1;position:absolute;top:-6px;right:-6px}.upload-btn[data-v-86d6f16e]{border:1px solid var(--line-strong);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:14px}.add-form[data-v-86d6f16e]{flex-direction:column;gap:10px;display:flex}.f[data-v-86d6f16e]{color:var(--accent-strong);flex-direction:column;gap:4px;font-size:13px;display:flex}.f input[data-v-86d6f16e],.f select[data-v-86d6f16e]{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:15px}.a-err[data-v-86d6f16e]{color:#c0392b;margin:0;font-size:13px}.primary[data-v-86d6f16e]{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:10px;font-size:14px;font-weight:600}.bg-wall[data-v-b757e1ac]{z-index:0;pointer-events:none;opacity:.15;position:fixed;inset:0;overflow:hidden}.track[data-v-b757e1ac]{flex-direction:column;animation:80s linear infinite scrollUp-b757e1ac;display:flex}.set[data-v-b757e1ac]{grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;display:grid}.set img[data-v-b757e1ac]{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%}@keyframes scrollUp-b757e1ac{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (width>=700px){.set[data-v-b757e1ac]{grid-template-columns:repeat(4,1fr)}}.who-mask[data-v-d891e47b]{z-index:2000;background:#1410088c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.who-panel[data-v-d891e47b]{width:100%;max-width:640px;max-height:82vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-sizing:border-box;background:#fdfbf5;border-radius:20px 20px 0 0;flex-direction:column;display:flex}.who-head[data-v-d891e47b]{text-align:center;margin-bottom:14px}.who-head h2[data-v-d891e47b]{letter-spacing:2px;color:var(--accent-strong);margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:22px}.who-head p[data-v-d891e47b]{color:#8a7b5f;margin:6px 0 0;font-size:13px}.who-list[data-v-d891e47b]{flex-direction:column;flex:1;gap:8px;padding:2px;display:flex;overflow-y:auto}.who-item[data-v-d891e47b]{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.who-item[data-v-d891e47b]:active{background:var(--gold-soft);border-color:var(--accent)}.who-avatar[data-v-d891e47b]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;font-weight:600;display:flex;overflow:hidden}.who-avatar.male[data-v-d891e47b]{background:#5b7a99}.who-avatar.female[data-v-d891e47b]{background:#b06a80}.who-avatar.unknown[data-v-d891e47b]{background:#9aa3a8}.who-avatar img[data-v-d891e47b]{object-fit:cover;width:100%;height:100%}.who-info[data-v-d891e47b]{flex-direction:column;gap:2px;min-width:0;display:flex}.who-name[data-v-d891e47b]{color:var(--fg);font-size:16px;font-weight:600}.who-sub[data-v-d891e47b]{color:#8a7b5f;gap:8px;font-size:12px;display:flex}.who-rel[data-v-d891e47b]{color:var(--accent-strong);font-weight:600}.who-actions[data-v-d891e47b]{gap:10px;margin-top:14px;display:flex}.who-add[data-v-d891e47b],.who-skip[data-v-d891e47b]{cursor:pointer;border-radius:12px;flex:1;padding:12px;font-size:15px}.who-add[data-v-d891e47b]{border:1px solid var(--accent);color:var(--accent-strong);background:#fff;font-weight:600}.who-skip[data-v-d891e47b]{border:1px solid var(--line);color:#8a7b5f;background:0 0}.app[data-v-3c741b14]{z-index:1;max-width:640px;margin:0 auto;padding:14px 14px 92px;position:relative}.topbar[data-v-3c741b14]{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.title h1[data-v-3c741b14]{letter-spacing:1px;color:var(--accent-strong);margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:21px}.title p[data-v-3c741b14]{opacity:.6;margin:4px 0 0;font-size:13px}.anchor-row[data-v-3c741b14]{border:1px solid var(--line-strong);background:var(--gold-soft);border-radius:12px;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;display:flex}.anchor-label[data-v-3c741b14]{color:var(--accent-strong);white-space:nowrap;letter-spacing:1px;font-size:14px;font-weight:600}.anchor-select[data-v-3c741b14]{border:1px solid var(--line-strong);min-width:0;color:var(--accent-strong);background:#fff;border-radius:8px;flex:1;padding:7px 10px;font-size:15px;font-weight:600}.search[data-v-3c741b14]{margin-bottom:10px;position:relative}.search input[data-v-3c741b14]{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:inherit;background:#fff;border-radius:10px;padding:10px 12px;font-size:15px}.results[data-v-3c741b14]{z-index:20;border:1px solid var(--line-strong);background:#fff;border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 6px 20px #785a1e1f}.results li[data-v-3c741b14]{cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:15px;display:flex}.results li[data-v-3c741b14]:hover{background:var(--gold-soft)}.results .rel[data-v-3c741b14]{opacity:.55;font-size:13px}.no-result[data-v-3c741b14]{opacity:.55;margin:8px 0 0;font-size:13px}.family-filter[data-v-3c741b14]{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ff[data-v-3c741b14]{border:1px solid var(--line);color:#8a7b5f;cursor:pointer;opacity:.7;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px}.ff.main[data-v-3c741b14]{border-color:var(--accent-strong);color:var(--accent-strong);opacity:1;background:var(--gold-soft);font-weight:600}.ff.active[data-v-3c741b14]{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;opacity:1;font-weight:600}.view[data-v-3c741b14]{min-height:300px}.stats-bar[data-v-3c741b14]{text-align:center;color:var(--accent-strong);background:var(--gold-soft);border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:10px 12px;font-size:13px}.stats-bar b[data-v-3c741b14]{font-size:15px}.stats-bar .dot[data-v-3c741b14]{opacity:.4;margin:0 6px}.footer[data-v-3c741b14]{text-align:center;margin-top:18px}.actions[data-v-3c741b14]{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.export[data-v-3c741b14]{border:1px solid var(--accent);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:999px;padding:9px 18px;font-size:14px}.export[data-v-3c741b14]:hover{background:var(--gold-soft)}.footnote[data-v-3c741b14]{opacity:.5;margin:8px 0 0;font-size:12px}.bottom-nav[data-v-3c741b14]{z-index:60;border-top:1px solid var(--line-strong);padding:6px 0 calc(6px + env(safe-area-inset-bottom));background:#fffdf7;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #82642814}.bn[data-v-3c741b14]{color:#9a8c6c;cursor:pointer;opacity:.7;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:11px;display:flex}.bn .ico[data-v-3c741b14]{font-size:20px;line-height:1}.bn.active[data-v-3c741b14]{color:var(--accent-strong);opacity:1;font-weight:600}.sheet-mask[data-v-3c741b14]{z-index:1000;background:#14100873;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet[data-v-3c741b14]{background:var(--bg);border-radius:18px 18px 0 0;width:100%;max-width:640px;max-height:86vh;padding:10px 14px 20px;position:relative;overflow-y:auto;box-shadow:0 -8px 30px #0003}.sheet-handle[data-v-3c741b14]{background:#d8ccb0;border-radius:2px;width:40px;height:4px;margin:2px auto 8px}.sheet-close[data-v-3c741b14]{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--accent-strong);cursor:pointer;z-index:2;background:#fff;border-radius:50%;font-size:15px;position:absolute;top:10px;right:14px}.sheet-body[data-v-3c741b14]{padding-top:4px}.sheet-body[data-v-3c741b14] .person-card{margin-top:0}@media print{.bottom-nav[data-v-3c741b14],.sheet-mask[data-v-3c741b14]{display:none!important}}:root{--bg:#f5f1e8;--fg:#2c2314;--card:#fffdf7;--accent:#a67c2e;--accent-strong:#7d5a1c;--line:#e4d8bb;--line-strong:#cbb983;--gold-soft:#a67c2e17;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,sans-serif}.card{background:var(--card);border:1px solid var(--line);box-shadow:0 1px 4px #82642812}.print-title{display:none}@media print{body{background:#fff}.topbar,.search,.tabs,.footer,.hint,.graph-wrap,.person-card,.calc-card,.admin,.bg-wall,.bottom-nav,.anchor-row,.family-filter,.stats-bar,.sheet-mask,.who-mask{display:none!important}.print-title{text-align:center;margin:0 0 16px;font-family:Songti SC,STSong,SimSun,serif;font-size:22px;display:block}.app{max-width:none!important;padding:0!important}.genealogy{box-shadow:none!important;border:none!important;margin:0!important}}
