@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-italic-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/CormorantGaramond-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/CormorantGaramond-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/CormorantGaramond-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/CormorantGaramond-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CormorantGaramond-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CormorantGaramond-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CormorantGaramond-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CormorantGaramond-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GolosText-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GolosText-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GolosText-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GolosText-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/GolosText-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/GolosText-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/GolosText-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/GolosText-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/GolosText-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/GolosText-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/GolosText-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/GolosText-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{color-scheme:light;--surface-canvas: #f4ecdd;--surface-band: #ede2cf;--surface-card: #fbf7ef;--surface-raised: #ffffff;--surface-sunken: #e6d9c2;--line: #d8c7a9;--line-strong: #9c8260;--ink: #2a1f15;--ink-muted: #6a5238;--ink-faint: #8d7457;--primary: #5b3a1f;--primary-hover: #472c16;--on-primary: #fbf7ef;--accent: #a8741a;--accent-ink: #80560d;--accent-soft: #f1e1bd;--branch: #a3876a;--branch-active: #5b3a1f;--living: #3f6b35;--living-soft: #dde8d3;--male: #2f5266;--male-soft: #dbe5ea;--female: #9a4533;--female-soft: #f3ddd4;--danger: #9e2f22;--danger-soft: #f6dcd6;--focus: #1f5f8b;--shadow-card: 0 1px 2px rgba(58, 38, 18, .08), 0 2px 6px rgba(58, 38, 18, .06);--shadow-lift: 0 6px 18px rgba(58, 38, 18, .16)}[data-theme=dark]{color-scheme:dark;--surface-canvas: #15110d;--surface-band: #1b1611;--surface-card: #231c16;--surface-raised: #2c241c;--surface-sunken: #100d0a;--line: #3a3026;--line-strong: #7d6a53;--ink: #f1e8d8;--ink-muted: #bba88c;--ink-faint: #8f7d66;--primary: #e3c48c;--primary-hover: #eed6a8;--on-primary: #1e160e;--accent: #d9a74a;--accent-ink: #e2b65e;--accent-soft: #3a2e18;--branch: #5f4e3c;--branch-active: #e3c48c;--living: #8dbb78;--living-soft: #1f2c1a;--male: #9cc0d4;--male-soft: #1c2830;--female: #e9a896;--female-soft: #33201a;--danger: #ef8f7f;--danger-soft: #3a1a15;--focus: #8fc3ea;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lift: 0 8px 24px rgba(0, 0, 0, .55)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--surface-canvas: #15110d;--surface-band: #1b1611;--surface-card: #231c16;--surface-raised: #2c241c;--surface-sunken: #100d0a;--line: #3a3026;--line-strong: #7d6a53;--ink: #f1e8d8;--ink-muted: #bba88c;--ink-faint: #8f7d66;--primary: #e3c48c;--primary-hover: #eed6a8;--on-primary: #1e160e;--accent: #d9a74a;--accent-ink: #e2b65e;--accent-soft: #3a2e18;--branch: #5f4e3c;--branch-active: #e3c48c;--living: #8dbb78;--living-soft: #1f2c1a;--male: #9cc0d4;--male-soft: #1c2830;--female: #e9a896;--female-soft: #33201a;--danger: #ef8f7f;--danger-soft: #3a1a15;--focus: #8fc3ea;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lift: 0 8px 24px rgba(0, 0, 0, .55)}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--tree-card-w: 216px;--tree-card-h: 64px;--tree-couple-gap: 12px;--tree-sibling-gap: 24px;--tree-row-h: 168px;--tree-branch-w: 2px;--z-canvas: 0;--z-controls: 20;--z-panel: 40;--z-overlay: 60;--font-display: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;--font-sans: "Golos Text", "PT Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-display-xl: 600 48px/52px var(--font-display);--text-display-l: 600 34px/40px var(--font-display);--text-title: 600 24px/30px var(--font-display);--text-generation: italic 500 20px/24px var(--font-display);--text-heading: 600 16px/22px var(--font-sans);--text-body: 400 14px/21px var(--font-sans);--text-label: 500 13px/18px var(--font-sans);--text-card-name: 600 13px/17px var(--font-sans);--text-card-meta: 400 11.5px/15px var(--font-sans);--text-caption: 400 12px/16px var(--font-sans);--text-overline: 600 11px/14px var(--font-sans)}.display-xl{font-family:var(--font-display);font-size:48px;line-height:52px;font-weight:600;letter-spacing:0}.display-l{font-family:var(--font-display);font-size:34px;line-height:40px;font-weight:600;letter-spacing:0}.title{font-family:var(--font-display);font-size:24px;line-height:30px;font-weight:600;letter-spacing:0}.generation{font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:500;letter-spacing:0;font-style:italic}.heading{font-family:var(--font-sans);font-size:16px;line-height:22px;font-weight:600;letter-spacing:0}.body{font-family:var(--font-sans);font-size:14px;line-height:21px;font-weight:400;letter-spacing:0}.label{font-family:var(--font-sans);font-size:13px;line-height:18px;font-weight:500;letter-spacing:0}.card-name{font-family:var(--font-sans);font-size:13px;line-height:17px;font-weight:600;letter-spacing:0}.card-meta{font-family:var(--font-sans);font-size:11.5px;line-height:15px;font-weight:400;letter-spacing:0}.caption{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0}.overline{font-family:var(--font-sans);font-size:11px;line-height:14px;font-weight:600;letter-spacing:.08em}.mr-root,.mr-root *{box-sizing:border-box}.mr-root{font-family:var(--font-sans);color:var(--ink);background:var(--surface-canvas);font-size:14px;line-height:21px;-webkit-font-smoothing:antialiased}.mr-icon{flex:none;display:block}.mr-overline{font:600 11px/14px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.mr-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mr-root :focus-visible,.mr-btn:focus-visible,.mr-iconbtn:focus-visible,.mr-person:focus-visible,.mr-nav__item:focus-visible,.mr-rel__item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mr-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font:500 13px/18px var(--font-sans);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.mr-btn--md{height:36px;padding:0 var(--space-4)}.mr-btn--sm{height:30px;padding:0 var(--space-3);font-size:12.5px}.mr-btn--primary{background:var(--primary);color:var(--on-primary)}.mr-btn--primary:hover{background:var(--primary-hover)}.mr-btn--secondary{background:var(--surface-card);color:var(--ink);border-color:var(--line-strong)}.mr-btn--secondary:hover{background:var(--surface-raised);border-color:var(--primary)}.mr-btn--ghost{background:transparent;color:var(--ink)}.mr-btn--ghost:hover{background:var(--surface-band)}.mr-btn--danger{background:var(--surface-card);color:var(--danger);border-color:var(--danger)}.mr-btn--danger:hover{background:var(--danger-soft)}.mr-btn:disabled{opacity:.5;cursor:not-allowed}.mr-iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-card);color:var(--ink);cursor:pointer}.mr-iconbtn:hover{background:var(--surface-raised);border-color:var(--primary)}.mr-iconbtn--ghost{border-color:transparent;background:transparent}.mr-iconbtn--ghost:hover{background:var(--surface-band);border-color:transparent}.mr-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);font:600 11px/1 var(--font-sans);white-space:nowrap}.mr-badge--neutral{background:var(--surface-band);color:var(--ink-muted);border:1px solid var(--line)}.mr-badge--count{background:var(--accent);color:#1e160e;min-width:22px;justify-content:center}.mr-badge--soon{background:var(--accent-soft);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.mr-badge--living{background:var(--living-soft);color:var(--living)}.mr-badge--living:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.mr-badge--danger{background:var(--danger-soft);color:var(--danger)}.mr-avatar{position:relative;flex:none;display:inline-grid;place-items:center;overflow:hidden;border:1.5px solid;font-family:var(--font-sans);font-weight:600}.mr-avatar img{width:100%;height:100%;object-fit:cover;display:block}.mr-avatar.is-deceased img{filter:sepia(.55) saturate(.8)}.mr-ph{width:100%;height:100%;display:block}.mr-ph__shape{fill:currentColor;opacity:.45}.mr-ph__face{fill:var(--female-soft)}.mr-avatar--m{border-radius:var(--radius-sm);background:var(--male-soft);color:var(--male);border-color:var(--male)}.mr-avatar--f{border-radius:var(--radius-full);background:var(--female-soft);color:var(--female);border-color:var(--female)}.mr-avatar--u{border-radius:30%;background:var(--surface-sunken);color:var(--ink-muted);border-color:var(--line-strong)}.mr-avatar--xs{width:24px;height:24px;font-size:9.5px;border-width:1px}.mr-avatar--sm{width:32px;height:32px;font-size:11px}.mr-avatar--md{width:40px;height:40px;font-size:13px}.mr-avatar--lg{width:64px;height:64px;font-size:20px;border-width:2px}.mr-avatar--xl{width:96px;height:96px;font-size:28px;border-width:2px}.mr-avatar--m.mr-avatar--lg,.mr-avatar--m.mr-avatar--xl{border-radius:var(--radius-lg)}.mr-person{position:relative;display:flex;align-items:center;gap:var(--space-2);width:216px;height:64px;padding:0 var(--space-3);background:var(--surface-card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:left;font-family:var(--font-sans);cursor:pointer;transition:box-shadow .15s,border-color .15s,opacity .2s,transform .15s}.mr-person:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift)}.mr-person--compact{height:52px}.mr-person__body{display:flex;flex-direction:column;min-width:0;flex:1}.mr-person__name{font:600 13px/17px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-person__maiden{font-weight:400;color:var(--ink-muted)}.mr-person__meta,.mr-person__occ{font:400 11.5px/15px var(--font-sans);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-person__living{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--living)}.mr-person.is-selected{border:2px solid var(--primary);padding:0 calc(var(--space-3) - 1px);background:var(--surface-raised);box-shadow:var(--shadow-lift)}.mr-person.is-you{border:2px solid var(--accent);padding:0 calc(var(--space-3) - 1px)}.mr-person.is-you.is-selected{box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-lift)}.mr-person__you{position:absolute;top:-9px;left:12px;height:18px;padding:0 7px;border-radius:var(--radius-full);background:var(--accent);color:#1e160e;font:600 10px/18px var(--font-sans);letter-spacing:.04em}.mr-person.is-dimmed{opacity:.45}.mr-person.is-dimmed:hover{opacity:1}.mr-person--portrait{flex-direction:column;justify-content:flex-start;width:148px;height:auto;padding:var(--space-3) var(--space-3) var(--space-3);gap:var(--space-2);text-align:center;border-radius:var(--radius-sm);border:1px solid var(--line-strong);box-shadow:inset 0 0 0 4px var(--surface-card),inset 0 0 0 5px var(--line),var(--shadow-card)}.mr-person--portrait .mr-person__body{align-items:center;width:100%}.mr-person--portrait .mr-person__meta,.mr-person--portrait .mr-person__occ{white-space:normal;text-align:center}.mr-person--portrait .mr-person__name{font:600 15px/18px var(--font-display);white-space:normal}.mr-person--portrait .mr-avatar{width:100%;height:auto;aspect-ratio:1;border-radius:2px}.mr-person--portrait .mr-avatar--f{border-radius:50% 50% 4px 4px/40% 40% 4px 4px}.mr-stage{position:relative;background:var(--surface-canvas);overflow:hidden}.mr-stage__band{position:absolute;left:0;right:0;border-top:1px dashed var(--line);padding:var(--space-2) var(--space-4);display:flex;gap:var(--space-2);align-items:baseline}.mr-stage__band.is-alt{background:var(--surface-band)}.mr-stage__label{font:italic 500 18px/22px var(--font-display);color:var(--ink-muted)}.mr-stage__hint{font:400 12px/16px var(--font-sans);color:var(--ink-faint)}.mr-stage__links{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mr-link{fill:none;stroke:var(--branch);stroke-width:var(--tree-branch-w);stroke-linecap:round}.mr-link.is-active{stroke:var(--branch-active);stroke-width:3px}.mr-link--spouse line{stroke:inherit}.mr-link--spouse{stroke:var(--branch);stroke-width:var(--tree-branch-w)}.mr-link--spouse circle{fill:var(--surface-canvas);stroke-width:2px}.mr-link--spouse.is-active{stroke:var(--branch-active)}.mr-node{position:absolute}.mr-zoom{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.mr-zoom .mr-iconbtn{border-color:transparent;background:transparent}.mr-zoom .mr-iconbtn:hover{background:var(--surface-band)}.mr-zoom__value{font:500 11px/16px var(--font-sans);color:var(--ink-muted);padding-bottom:2px}.mr-legend{display:inline-flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.mr-legend__row{display:flex;flex-wrap:wrap;gap:var(--space-3);font:400 12px/16px var(--font-sans);color:var(--ink)}.mr-legend__item{display:inline-flex;align-items:center;gap:6px}.mr-legend__sw{width:11px;height:11px;border:1.5px solid}.mr-legend__sw--m{border-radius:2px;background:var(--male-soft);border-color:var(--male)}.mr-legend__sw--f{border-radius:50%;background:var(--female-soft);border-color:var(--female)}.mr-legend__sw--you{border-radius:3px;border:2px solid var(--accent);background:var(--surface-card)}.mr-legend__sw--living{width:7px;height:7px;border-radius:50%;border:0;background:var(--living)}.mr-legend__hint{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.mr-nav{display:flex;flex-direction:column;width:232px;height:100%;padding:var(--space-4) var(--space-3);background:var(--surface-band);border-right:1px solid var(--line);font-family:var(--font-sans)}.mr-nav__brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2) var(--space-4)}.mr-bm__main{fill:var(--primary)}.mr-bm__acc{fill:var(--accent)}.mr-bm__line{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mr-bm__tile{fill:var(--primary)}.mr-brandmark.is-tile .mr-bm__main{fill:var(--on-primary)}.mr-brandmark.is-tile .mr-bm__acc{stroke:var(--on-primary);stroke-width:1.2}.mr-brandmark.is-tile .mr-bm__line{stroke:var(--on-primary)}.mr-wordmark{display:inline-flex;align-items:center;font-family:var(--font-display);font-weight:700;letter-spacing:.02em;line-height:1;color:var(--ink)}.mr-nav__word{font:700 22px/22px var(--font-display);letter-spacing:.02em;color:var(--ink)}.mr-nav__family{display:inline-flex;align-items:center;gap:2px;padding:0;border:0;background:none;color:var(--ink-muted);font:400 12px/18px var(--font-sans);cursor:pointer}.mr-nav__family:hover{color:var(--ink)}.mr-nav__list{display:flex;flex-direction:column;gap:2px}.mr-nav__item{display:flex;align-items:center;gap:var(--space-3);height:38px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:none;color:var(--ink-muted);font:500 13px/18px var(--font-sans);text-decoration:none;text-align:left;cursor:pointer;width:100%}.mr-nav__item:hover{background:var(--surface-card);color:var(--ink)}.mr-nav__item.is-active{background:var(--primary);color:var(--on-primary)}.mr-nav__item.is-soon{cursor:default}.mr-nav__item.is-soon:hover{background:none;color:var(--ink-muted)}.mr-nav__label{flex:1}.mr-nav__stats{margin-top:auto;padding:var(--space-4) var(--space-3) var(--space-3);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.mr-nav__stat{display:flex;align-items:center;gap:var(--space-2);font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.mr-nav__footer{display:flex;flex-direction:column;gap:4px;padding:var(--space-2) var(--space-3) 0}.mr-nav__foot{display:flex;align-items:center;gap:var(--space-2);font:400 12px/18px var(--font-sans);color:var(--ink-muted);text-decoration:none}.mr-nav__foot:hover{color:var(--ink);text-decoration:underline}.mr-topbar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 var(--space-6);background:var(--surface-canvas);border-bottom:1px solid var(--line);font-family:var(--font-sans)}.mr-crumbs{display:flex;align-items:center;list-style:none;margin:0;padding:0;font:400 13px/18px var(--font-sans);color:var(--ink-muted)}.mr-crumbs li{display:inline-flex;align-items:center;gap:4px;margin-right:4px}.mr-crumbs li[aria-current]{color:var(--ink);font-weight:500}.mr-topbar__right{display:flex;align-items:center;gap:var(--space-3)}.mr-user{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 8px 4px 4px;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface-card)}.mr-user__name{font:500 13px/18px var(--font-sans)}.mr-notice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);min-height:48px;font:400 13px/18px var(--font-sans);color:var(--ink)}.mr-notice--sample{background:var(--accent-soft);border-bottom:1px solid var(--line)}.mr-notice--sample .mr-icon{color:var(--accent-ink)}.mr-notice--info{background:var(--surface-band);border-bottom:1px solid var(--line)}.mr-notice--danger{background:var(--danger-soft);color:var(--ink)}.mr-notice--danger .mr-icon{color:var(--danger)}.mr-notice__text{flex:1}.mr-notice__actions{display:flex;gap:var(--space-2)}.mr-search{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2) 0 var(--space-3);min-width:240px;background:var(--surface-card);border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--ink-muted)}.mr-search:focus-within{outline:2px solid var(--focus);outline-offset:1px}.mr-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);font:400 13px/18px var(--font-sans)}.mr-search input::placeholder{color:var(--ink-muted)}.mr-search kbd{font:500 11px/18px var(--font-sans);padding:0 6px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);background:var(--surface-band)}.mr-panel{width:360px;background:var(--surface-card);border-left:1px solid var(--line);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);font-family:var(--font-sans);color:var(--ink)}.mr-panel__head{display:flex;gap:var(--space-4);align-items:flex-start}.mr-panel__id{flex:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.mr-panel__name{margin:0;font:600 24px/28px var(--font-display)}.mr-panel__span{font:400 13px/18px var(--font-sans);color:var(--ink-muted)}.mr-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4);padding:var(--space-4);background:var(--surface-canvas);border-radius:var(--radius-md)}.mr-facts dt{font:600 11px/14px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.mr-facts dd{margin:2px 0 0;font:400 13px/18px var(--font-sans)}.mr-panel__sec h3{margin:0 0 var(--space-2);font:600 16px/22px var(--font-sans)}.mr-story{margin:0;font:400 14px/22px var(--font-sans)}.mr-rel{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mr-rel__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:0;border-radius:var(--radius-md);background:none;color:var(--ink-muted);text-align:left;cursor:pointer}.mr-rel__item:hover{background:var(--surface-band)}.mr-rel__text{flex:1;display:flex;flex-direction:column}.mr-rel__name{font:600 13px/17px var(--font-sans);color:var(--ink)}.mr-rel__role{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.mr-panel__foot{display:flex;gap:var(--space-2);flex-wrap:wrap}.mr-timeline{list-style:none;margin:0;padding:0;font-family:var(--font-sans)}.mr-timeline__item{display:grid;grid-template-columns:64px 20px 1fr;column-gap:var(--space-3);position:relative;padding-bottom:var(--space-6)}.mr-timeline__item:before{content:"";position:absolute;left:calc(64px + var(--space-3) + 9px);top:14px;bottom:0;width:2px;background:var(--branch)}.mr-timeline__item:last-child:before{display:none}.mr-timeline__year{font:600 20px/24px var(--font-display);color:var(--ink);text-align:right}.mr-timeline__dot{width:12px;height:12px;margin:6px 4px 0;border-radius:50%;background:var(--surface-canvas);border:2px solid var(--primary);position:relative;z-index:1}.mr-timeline__item--birth .mr-timeline__dot{border-color:var(--living);background:var(--living-soft)}.mr-timeline__item--death .mr-timeline__dot{border-color:var(--ink-muted);background:var(--surface-sunken)}.mr-timeline__item--marriage .mr-timeline__dot{border-color:var(--accent);background:var(--accent-soft)}.mr-timeline__kind{font:600 11px/14px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.mr-timeline__title{font:600 14px/20px var(--font-sans);color:var(--ink);margin-top:2px}.mr-timeline__text{margin:2px 0 0;font:400 13px/19px var(--font-sans);color:var(--ink-muted)}.mr-timeline__people{display:flex;gap:4px;margin-top:var(--space-2)}.mr-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);max-width:440px;margin:0 auto;font-family:var(--font-sans)}.mr-empty__title{margin:var(--space-2) 0 0;font:600 34px/40px var(--font-display);color:var(--ink)}.mr-empty__text{margin:0 0 var(--space-2);font:400 14px/21px var(--font-sans);color:var(--ink-muted)}@media (prefers-reduced-motion: reduce){.mr-person,.mr-btn{transition:none}}.mr-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-full);background:var(--surface-card);color:var(--ink);font:500 13px/18px var(--font-sans);cursor:pointer;white-space:nowrap}.mr-chip:hover{border-color:var(--primary)}.mr-chip.is-selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.mr-chip__count{font-weight:400;opacity:.8}.mr-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mr-row{display:grid;grid-template-columns:32px minmax(180px,2fr) 110px 1fr 56px 1fr 56px;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-4);border:0;border-bottom:1px solid var(--line);background:var(--surface-card);color:var(--ink);text-align:left;cursor:pointer;font-family:var(--font-sans)}.mr-row:hover{background:var(--surface-raised)}.mr-row.is-you{background:var(--accent-soft)}.mr-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.mr-row__main{display:flex;flex-direction:column;min-width:0}.mr-row__name{display:inline-flex;align-items:center;gap:var(--space-2);font:600 13.5px/18px var(--font-sans)}.mr-row__living{position:static}.mr-row__sub{font:400 12px/16px var(--font-sans);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-row__cell{font:400 13px/18px var(--font-sans);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-row__gen{font:italic 500 16px/18px var(--font-display);color:var(--ink)}.mr-row__media{display:inline-flex;align-items:center;gap:4px}.mr-map{position:relative;overflow:hidden;background:var(--surface-canvas);border-radius:var(--radius-lg);border:1px solid var(--line)}.mr-map__paper{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--surface-canvas);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;opacity:.6}.mr-map__routes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mr-map__route{fill:none;stroke:var(--branch);stroke-width:2;stroke-dasharray:6 5;stroke-linecap:round}.mr-map__route.is-active{stroke:var(--branch-active);stroke-width:3;stroke-dasharray:none}.mr-pin{position:absolute;transform:translate(-50%,-50%);display:block;border:0;background:none;padding:0;cursor:pointer}.mr-pin__dot{display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--on-primary);font:600 11px/1 var(--font-sans);box-shadow:0 0 0 3px var(--surface-canvas),var(--shadow-card)}.mr-pin--birth .mr-pin__dot{background:var(--living);color:var(--surface-card)}.mr-pin--burial .mr-pin__dot{background:var(--ink-muted);color:var(--surface-card)}.mr-pin.is-selected .mr-pin__dot{background:var(--accent);color:#1e160e;box-shadow:0 0 0 3px var(--surface-canvas),0 0 0 5px var(--accent)}.mr-pin__label{position:absolute;left:50%;top:calc(100% + 5px);transform:translate(-50%);font:600 12px/16px var(--font-sans);color:var(--ink);background:var(--surface-card);padding:1px 6px;border-radius:var(--radius-sm);border:1px solid var(--line);white-space:nowrap}.mr-pin--label-top .mr-pin__label{top:auto;bottom:calc(100% + 5px)}.mr-pin--label-left .mr-pin__label{left:auto;right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.mr-pin--label-right .mr-pin__label{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.mr-pin:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.mr-tabbar{display:flex;justify-content:space-around;height:64px;padding-bottom:6px;background:var(--surface-card);border-top:1px solid var(--line);font-family:var(--font-sans)}.mr-tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--ink-muted);font:500 11px/14px var(--font-sans);cursor:pointer}.mr-tabbar__item.is-active{color:var(--primary)}.mr-tabbar__item.is-active .mr-icon{stroke-width:2.2}.mr-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--surface-card);border-radius:20px 20px 0 0;box-shadow:0 -8px 28px #281a0c38;padding:8px var(--space-4) var(--space-4);z-index:var(--z-panel)}.mr-sheet--full{top:56px;overflow:auto}.mr-sheet__grip{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto var(--space-3)}.mr-sheet .mr-panel{width:auto;border:0;padding:0;gap:var(--space-4);background:none}.mr-focus{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) 0}.mr-focus__label{font:italic 500 16px/20px var(--font-display);color:var(--ink-muted)}.mr-focus__row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.mr-focus__row .mr-person{width:168px}.mr-focus__stem{width:2px;height:20px;background:var(--branch-active);border-radius:1px}html,body,#root{margin:0;height:100%;background:var(--surface-canvas);color:var(--ink)}*{box-sizing:border-box}body{font:var(--text-body);-webkit-font-smoothing:antialiased}input,select,textarea,button{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--ink-faint)}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}*{scrollbar-color:var(--line-strong) transparent}.mr-display{font-family:var(--font-display);font-weight:600}@media (max-width: 640px){input,select,textarea{font-size:16px!important}}.meros-tiles{filter:sepia(.25) saturate(.85) brightness(1.02)}[data-theme=dark] .meros-tiles{filter:invert(1) hue-rotate(180deg) brightness(.8) contrast(.9) sepia(.35) saturate(.6)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .meros-tiles{filter:invert(1) hue-rotate(180deg) brightness(.8) contrast(.9) sepia(.35) saturate(.6)}}.mr-person:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.tree-node.is-dragging .mr-person{transform:scale(1.03);box-shadow:0 0 0 2px var(--accent),var(--shadow-lift)}.tree-links .mr-link{fill:none}.page{padding:24px 28px 40px}.page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page__title{margin:0;font:600 34px/40px var(--font-display);color:var(--ink)}.page__sub{margin:4px 0 0;font:italic 500 17px/22px var(--font-display);color:var(--ink-muted)}.page__chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.page__search{width:280px}.people__table{border:1px solid var(--line);border-radius:var(--radius-lg, 12px);overflow:hidden;background:var(--surface-card)}.people__th{display:grid;grid-template-columns:32px minmax(180px,2fr) 110px 1fr 56px 1fr 56px;gap:var(--space-3);padding:8px var(--space-4);background:var(--surface-sunken);border-bottom:1px solid var(--line);font:600 11px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.people__table .mr-row:last-child{border-bottom:0}.mr-row.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.people__mob{display:none}@media (max-width: 640px){.page{padding:16px 14px 32px}.page__title{font-size:28px;line-height:34px}.page__search{width:100%}.people__th{display:none}.people__table .mr-row{grid-template-columns:32px 1fr}.people__table .mr-row__cell{display:none}.people__mob{display:inline}}.album__wall{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}.album__founders{position:sticky;top:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);background:var(--surface-band)}.album__founders .album__frames{justify-content:center}.album__sec+.album__sec{margin-top:28px}.album__gen{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line);font:italic 500 20px/26px var(--font-display);color:var(--ink)}.album__gen small{font:400 12px/16px var(--font-sans);font-style:normal;color:var(--ink-faint)}.album__frames{display:flex;flex-wrap:wrap;gap:16px}.album__frames .mr-person--portrait{width:132px}.album__count{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;background:var(--surface-card);border:1px solid var(--line);font:600 11px/16px var(--font-sans);color:var(--ink-muted)}.album__frame{position:relative}.album__photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.album__photo{position:relative;aspect-ratio:1;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:zoom-in;background:var(--surface-card);box-shadow:var(--shadow-card, none)}.album__photo.is-primary{border-color:var(--accent)}.album__photo img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.08)}.album__cap{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;background:linear-gradient(transparent,#140c04d1);color:#fff;text-align:left}.album__cap b,.album__cap span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album__cap b{font:600 13px/18px var(--font-sans)}.album__cap span{font:400 11.5px/16px var(--font-sans);opacity:.85}@media (max-width: 900px){.album__wall{grid-template-columns:1fr}.album__founders{position:static}}@media (max-width: 640px){.album__frames{gap:10px}.album__frame{width:calc(50% - 5px)}.album__frames .mr-person--portrait{width:100%}.album__photos{grid-template-columns:repeat(2,1fr);gap:8px}}.focus-view{flex:1;overflow-y:auto;padding:52px 12px 24px}.mr-person.is-focus{box-shadow:0 0 0 2px var(--accent),var(--shadow-card, none)}.focus-view .mr-focus__row .mr-person{width:168px;max-width:calc(50vw - 20px)}.focus-view__bar{display:flex;gap:8px;padding:10px 12px 0;flex-wrap:wrap}.mode-switch{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:6px}@media (max-width: 640px){.mr-notice{flex-wrap:wrap;padding:8px 12px;gap:8px;font-size:12.5px}.mr-notice__text{flex:1 1 calc(100% - 30px)}.mr-notice__actions{width:100%;justify-content:flex-end}}
