@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";.app-header[data-v-9e470dce]{position:sticky;top:0;z-index:100;background:#eceae4e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-header__inner[data-v-9e470dce]{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1200px;margin:0 auto;padding:.85rem clamp(1rem,4vw,2.5rem)}.app-header__brand[data-v-9e470dce]{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.app-header__brand-icon-link[data-v-9e470dce]{flex-shrink:0;line-height:0;border-radius:10px;transition:box-shadow .15s,opacity .15s}.app-header__brand-icon-link[data-v-9e470dce]:hover{opacity:.92}.app-header__brand-icon-link[data-v-9e470dce]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.app-header__brand-text[data-v-9e470dce]{text-decoration:none;color:var(--text);font-weight:700;font-size:.95rem;letter-spacing:-.02em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__brand-text[data-v-9e470dce]:hover{color:var(--text);opacity:.85}.app-header__brand-text[data-v-9e470dce]:focus-visible{outline:none;border-radius:6px;box-shadow:0 0 0 3px var(--accent-soft)}.app-header__brand-icon[data-v-9e470dce]{width:2rem;height:2rem;flex-shrink:0;display:block;border-radius:10px}@media (max-width: 380px){.app-header__brand-text[data-v-9e470dce]{max-width:9.5rem}}.app-header__nav--desktop[data-v-9e470dce]{display:none;align-items:center;gap:.5rem}.app-header__link[data-v-9e470dce]{padding:.45rem .75rem;font-size:.875rem;font-weight:600;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-md);transition:color .15s,background .15s}.app-header__link[data-v-9e470dce]:hover{color:var(--text);background:#ffffff80}.app-header__link--active[data-v-9e470dce]{color:var(--accent);background:var(--accent-soft)}.app-header__btn[data-v-9e470dce]{font:inherit;font-size:.875rem;font-weight:600;line-height:1.2;min-height:2.375rem;padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transition:background .15s,border-color .15s}.app-header__btn[data-v-9e470dce]:hover{background:#ffffffe6;border-color:#2c2c2729}.app-header__btn--ghost[data-v-9e470dce]{background:transparent}.app-header__btn--primary[data-v-9e470dce]{background:var(--accent);color:#fff;border-color:transparent}.app-header__btn--primary[data-v-9e470dce]:hover{background:var(--accent-hover);color:#fff;border-color:transparent}.app-header__burger[data-v-9e470dce]{display:flex;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:0;border-radius:var(--radius-md);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;flex-shrink:0}.app-header__burger[data-v-9e470dce]:hover{background:#fffffff2}.app-header__burger-bar[data-v-9e470dce]{display:block;width:1.1rem;height:2px;margin:0 auto;background:var(--text);border-radius:1px;transition:transform .2s,opacity .2s}.app-header--menu-open .app-header__burger-bar[data-v-9e470dce]:nth-child(1){transform:translateY(7px) rotate(45deg)}.app-header--menu-open .app-header__burger-bar[data-v-9e470dce]:nth-child(2){opacity:0}.app-header--menu-open .app-header__burger-bar[data-v-9e470dce]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.app-header__backdrop[data-v-9e470dce]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--app-header-drop-top, 3.6rem);background:#2c2c2740;z-index:98;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-header__drawer[data-v-9e470dce]{display:flex;flex-direction:column;gap:.35rem;position:fixed;top:var(--app-header-drop-top, 3.6rem);left:0;right:0;padding:.75rem 1rem 1.25rem;background:#f7f6f3fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 12px 40px -20px #2c2c2759;z-index:99;max-height:min(70vh,355px);overflow-y:auto}.app-header__drawer-link[data-v-9e470dce],.app-header__drawer-btn[data-v-9e470dce]{font:inherit;font-size:.9375rem;font-weight:600;padding:.75rem 1rem;border-radius:var(--radius-md);text-align:center;text-decoration:none;border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.app-header__drawer-link[data-v-9e470dce]:hover,.app-header__drawer-btn[data-v-9e470dce]:hover{background:#fff;border-color:#2c2c2724}.app-header__drawer-link--active[data-v-9e470dce]{border-color:#6b8f7173;background:var(--accent-soft);color:var(--accent)}.app-header__drawer-btn--accent[data-v-9e470dce]{background:var(--accent);color:#fff;border-color:transparent}.app-header__drawer-btn--accent[data-v-9e470dce]:hover{background:var(--accent-hover);color:#fff}@media (min-width: 768px){.app-header__burger[data-v-9e470dce]{display:none}.app-header__backdrop[data-v-9e470dce],.app-header__drawer[data-v-9e470dce]{display:none!important}.app-header__nav--desktop[data-v-9e470dce]{display:flex}}.toast-container[data-v-d10ac1dc]{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.toast-list[data-v-d10ac1dc]{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.toast[data-v-d10ac1dc]{display:flex;align-items:center;gap:10px;max-width:min(380px,calc(100vw - 32px));padding:12px 14px;background:#fff8f7;border:1px solid var(--danger-border);border-radius:var(--radius-md);box-shadow:0 4px 20px -4px #2c2c2733;pointer-events:all}.toast__message[data-v-d10ac1dc]{flex:1;font-size:.875rem;line-height:1.4;color:var(--danger-text)}.toast__close[data-v-d10ac1dc]{flex-shrink:0;width:24px;height:24px;border-radius:6px;border:1px solid var(--danger-border);background:transparent;color:var(--danger-text);font-size:16px;line-height:0;cursor:pointer;opacity:.7;transition:opacity .15s;display:flex;align-items:center;justify-content:center}.toast__close[data-v-d10ac1dc]:hover{opacity:1}.toast-enter-active[data-v-d10ac1dc]{transition:opacity .2s,transform .2s}.toast-leave-active[data-v-d10ac1dc]{transition:opacity .2s,transform .15s}.toast-enter-from[data-v-d10ac1dc]{opacity:0;transform:translateY(8px)}.toast-leave-to[data-v-d10ac1dc]{opacity:0;transform:translate(16px)}@media (max-width: 480px){.toast-container[data-v-d10ac1dc]{right:12px;bottom:16px;left:12px;align-items:stretch}.toast-list[data-v-d10ac1dc]{align-items:stretch}.toast[data-v-d10ac1dc]{max-width:100%}}.landing[data-v-3dc536e9]{flex:1;min-height:0;display:flex;flex-direction:column}.btn-cta[data-v-3dc536e9]{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.4rem;touch-action:manipulation;font:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background .15s,transform .1s}.btn-cta[data-v-3dc536e9]:hover{background:var(--accent-hover)}.btn-cta[data-v-3dc536e9]:active{transform:scale(.98)}.btn-cta--sm[data-v-3dc536e9]{padding:.45rem .95rem;font-size:.875rem}.landing-hero[data-v-3dc536e9]{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,3rem);max-width:1280px;margin:0 auto;width:100%}.landing-hero__badge[data-v-3dc536e9]{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-soft);padding:.3rem .75rem;border-radius:999px;margin-bottom:1.1rem}.landing-hero__title[data-v-3dc536e9]{font-size:clamp(2rem,4.5vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--text);margin-bottom:1rem}.landing-hero__sub[data-v-3dc536e9]{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:var(--text-muted);line-height:1.6;margin-bottom:1.5rem;max-width:44ch}.landing-hero__actions[data-v-3dc536e9]{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.landing-hero__cta-login[data-v-3dc536e9]{display:inline-flex;align-items:baseline;flex-wrap:wrap;max-width:100%;touch-action:manipulation;padding:.85rem 1.2rem;font-size:.9375rem;line-height:1.45;text-decoration:none;color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 1px 2px #2c2c270f;transition:border-color .15s,box-shadow .15s,background .15s,color .15s}.landing-hero__cta-login[data-v-3dc536e9]:hover{border-color:#6b8f7173;box-shadow:0 0 0 3px var(--accent-soft);background:#fff;color:var(--text)}.landing-hero__cta-login__lead[data-v-3dc536e9]{font-weight:700;color:var(--accent)}.landing-hero__cta-login:hover .landing-hero__cta-login__lead[data-v-3dc536e9]{color:var(--accent-hover)}.landing-hero__cta-login__rest[data-v-3dc536e9]{font-weight:500}.landing-hero__tree[data-v-3dc536e9]{display:flex;justify-content:center;align-items:center}.tree-demo-svg[data-v-3dc536e9]{width:100%;max-width:min(92vw,820px);height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);background:var(--bg-card)}.landing-features[data-v-3dc536e9]{background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,5vw,3rem)}.landing-features__inner[data-v-3dc536e9]{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.feature-card[data-v-3dc536e9]{padding:1.75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .2s}.feature-card[data-v-3dc536e9]:hover{box-shadow:var(--shadow-card)}.feature-card__icon[data-v-3dc536e9]{color:var(--accent);margin-bottom:1rem}.feature-card__title[data-v-3dc536e9]{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.feature-card__desc[data-v-3dc536e9]{font-size:.9rem;color:var(--text-muted);line-height:1.55}.landing-cta[data-v-3dc536e9]{padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,5vw,3rem)}.landing-cta__inner[data-v-3dc536e9]{max-width:560px;margin:0 auto;text-align:center}.landing-cta__title[data-v-3dc536e9]{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:.6rem}.landing-cta__sub[data-v-3dc536e9]{font-size:.9375rem;color:var(--text-muted);margin-bottom:1.75rem}.landing-footer[data-v-3dc536e9]{padding:1.25rem clamp(1.25rem,5vw,3rem);border-top:1px solid var(--border);font-size:.8125rem;color:var(--text-muted);text-align:center}@media (max-width: 700px){.landing-hero[data-v-3dc536e9]{grid-template-columns:1fr;align-items:stretch;gap:clamp(1.25rem,5vw,2rem);padding:clamp(1rem,4vw,1.5rem) clamp(1rem,5vw,1.5rem) clamp(2rem,6vw,3rem);padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.landing-hero__title-break[data-v-3dc536e9]{display:none}.landing-hero__inner[data-v-3dc536e9]{text-align:center;max-width:26rem;margin:0 auto;width:100%}.landing-hero__badge[data-v-3dc536e9]{margin-left:auto;margin-right:auto}.landing-hero__sub[data-v-3dc536e9]{max-width:none;margin-left:auto;margin-right:auto}.landing-hero__actions[data-v-3dc536e9]{justify-content:center;width:100%}.landing-hero__actions .btn-cta[data-v-3dc536e9]{width:100%;max-width:20rem;min-height:2.75rem;box-sizing:border-box}.landing-hero__cta-login[data-v-3dc536e9]{width:100%;max-width:20rem;box-sizing:border-box;justify-content:center;text-align:center;min-height:2.75rem}.landing-hero__tree[data-v-3dc536e9]{order:-1;width:100%;margin-bottom:.25rem}.tree-demo-svg[data-v-3dc536e9]{max-width:100%;border-radius:clamp(14px,4vw,var(--radius-lg));box-shadow:0 12px 36px -18px #2c2c2747}}@media (max-width: 480px){.landing-hero__title[data-v-3dc536e9]{font-size:clamp(1.65rem,8vw,2.15rem);line-height:1.18}.landing-hero__sub[data-v-3dc536e9]{font-size:.9375rem;margin-bottom:1.25rem}.landing-features[data-v-3dc536e9]{padding:clamp(1.75rem,6vw,2.5rem) clamp(1rem,5vw,1.25rem);padding-bottom:max(1.75rem,env(safe-area-inset-bottom,0px))}.landing-features__inner[data-v-3dc536e9]{gap:1rem;grid-template-columns:1fr}.feature-card[data-v-3dc536e9]{display:grid;grid-template-columns:2.75rem 1fr;grid-template-rows:auto 1fr;column-gap:1rem;row-gap:.35rem;padding:1.25rem 1.15rem;align-items:start}.feature-card__icon[data-v-3dc536e9]{grid-column:1;grid-row:1 / span 2;margin-bottom:0;align-self:start;padding-top:.2rem}.feature-card__title[data-v-3dc536e9]{grid-column:2;grid-row:1;margin-bottom:0;font-size:.98rem}.feature-card__desc[data-v-3dc536e9]{grid-column:2;grid-row:2;font-size:.875rem;line-height:1.5}.landing-cta[data-v-3dc536e9]{padding:clamp(1.75rem,6vw,2.5rem) clamp(1rem,5vw,1.25rem);padding-bottom:max(2rem,calc(1.5rem + env(safe-area-inset-bottom,0px)))}.landing-cta .btn-cta[data-v-3dc536e9]{width:100%;max-width:20rem;min-height:2.75rem;box-sizing:border-box}.landing-footer[data-v-3dc536e9]{padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0px))}}@media (min-width: 481px) and (max-width: 700px){.landing-features__inner[data-v-3dc536e9]{gap:1.15rem}.feature-card[data-v-3dc536e9]{padding:1.5rem 1.35rem}}.password-wrapper[data-v-e96aed16]{position:relative;display:flex;align-items:center}.password-wrapper input[data-v-e96aed16]{width:100%;padding-right:2.5rem}.password-toggle[data-v-e96aed16]{position:absolute;right:.625rem;background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;line-height:1}.password-toggle[data-v-e96aed16]:hover{color:var(--text)}.password-toggle svg[data-v-e96aed16]{width:1.125rem;height:1.125rem}.chronology-page[data-v-355ce0bf]{flex:1;overflow-y:auto;padding:clamp(1.5rem,5vw,3rem) clamp(1rem,4vw,2.5rem)}.chronology-inner[data-v-355ce0bf]{max-width:640px;margin:0 auto}.chronology-title[data-v-355ce0bf]{font-size:clamp(1.4rem,4vw,1.875rem);font-weight:700;letter-spacing:-.03em;color:var(--text);margin-bottom:2rem}.chronology-status[data-v-355ce0bf]{color:var(--text-muted);font-size:.9375rem}.chronology-status--error[data-v-355ce0bf]{color:var(--danger-text)}.chronology-empty[data-v-355ce0bf]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.9375rem;line-height:1.6}.timeline[data-v-355ce0bf]{position:relative;display:flex;flex-direction:column}.timeline[data-v-355ce0bf]:before{content:"";position:absolute;left:calc(4.25rem - 1px);top:0;bottom:0;width:2px;background:var(--border);border-radius:1px}.timeline__decade-row[data-v-355ce0bf]{display:flex;align-items:center;padding:1.5rem 0 .25rem}.timeline__decade-row[data-v-355ce0bf]:first-child{padding-top:0}.timeline__decade-row--nodate[data-v-355ce0bf]{padding-top:2rem}.timeline__decade-spacer[data-v-355ce0bf]{width:3.5rem;flex-shrink:0}.timeline__decade-node[data-v-355ce0bf]{width:1.5rem;flex-shrink:0;position:relative;z-index:1;display:flex;justify-content:center}.timeline__decade-node[data-v-355ce0bf]:after{content:"";display:block;width:10px;height:10px;border-radius:3px;background:var(--accent);opacity:.45;position:relative;z-index:1}.timeline__decade-badge[data-v-355ce0bf]{padding-left:.75rem;font-size:.8125rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.timeline__decade-e[data-v-355ce0bf]{font-size:.85em}.timeline__row[data-v-355ce0bf]{display:flex;align-items:baseline;min-height:2.25rem;padding:.2rem 0}.timeline__year[data-v-355ce0bf]{width:3.5rem;flex-shrink:0;text-align:right;padding-right:.5rem;font-size:.72rem;font-weight:500;color:var(--text-muted);line-height:1.4;padding-top:.15rem}.timeline__node[data-v-355ce0bf]{width:1.5rem;flex-shrink:0;display:flex;justify-content:center;padding-top:.3rem}.timeline__dot[data-v-355ce0bf]{display:block;width:9px;height:9px;border-radius:50%;background:var(--accent);position:relative;z-index:1;box-shadow:0 0 0 2px var(--bg-page);flex-shrink:0}.timeline__row--male .timeline__dot[data-v-355ce0bf]{background:#5f85a8}.timeline__row--female .timeline__dot[data-v-355ce0bf]{background:#a86b6b}.timeline__info[data-v-355ce0bf]{flex:1;padding-left:.75rem;line-height:1.45}.timeline__name[data-v-355ce0bf]{font-size:.875rem;font-weight:500;color:var(--text)}.timeline__death[data-v-355ce0bf]{margin-left:.45em;font-size:.8em;color:var(--text-muted);font-weight:400;white-space:nowrap}.map-page[data-v-697d6350]{flex:1;display:flex;flex-direction:column;position:relative;min-height:0}.map-controls[data-v-697d6350]{position:absolute;top:12px;left:12px;z-index:20}.map-mode-toggle[data-v-697d6350]{display:flex;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(44,44,39,.12);border-radius:10px;padding:3px;box-shadow:0 2px 12px #2c2c2724;gap:2px}.map-mode-toggle__btn[data-v-697d6350]{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:.8125rem;font-weight:600;color:var(--text-muted, #6f6e69);background:transparent;border:none;border-radius:7px;padding:.35rem .7rem;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s;white-space:nowrap;line-height:1}.map-mode-toggle__btn[data-v-697d6350]:hover{color:var(--text, #2c2c27);background:#2c2c270d}.map-mode-toggle__btn--active[data-v-697d6350]{color:var(--accent, #6b8f71);background:var(--accent-soft, rgba(107, 143, 113, .14));box-shadow:0 1px 4px #2c2c271a}.map-container[data-v-697d6350]{position:absolute;top:0;right:0;bottom:0;left:0}.map-overlay[data-v-697d6350]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;font-size:.9375rem;color:var(--text-muted);background:var(--bg-page);pointer-events:none}.map-fade-enter-active[data-v-697d6350],.map-fade-leave-active[data-v-697d6350]{transition:opacity .3s}.map-fade-enter-from[data-v-697d6350],.map-fade-leave-to[data-v-697d6350]{opacity:0}.map-marker{position:relative;cursor:pointer}.map-marker__pin{width:18px;height:18px;background:var(--accent, #6b8f71);border:2.5px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000047;transform:translate(-50%,-50%);transition:transform .15s,box-shadow .15s}.map-marker:hover .map-marker__pin,.map-marker--active .map-marker__pin{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 3px 12px #00000059}.map-marker__balloon{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px);background:#fff;border-radius:12px;padding:.6rem .875rem;box-shadow:0 4px 20px #2c2c272e;min-width:140px;max-width:220px;white-space:normal;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:20}.map-marker--active .map-marker__balloon{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.map-marker__name{font-size:.8125rem;font-weight:600;color:#2c2c27;line-height:1.3}.map-marker__addr{margin-top:.25rem;font-size:.75rem;color:#6f6e69;line-height:1.35}.map-marker__arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:12px;height:6px;overflow:hidden}.map-cluster{position:relative;width:36px;height:36px;background:var(--accent, #6b8f71);color:#fff;border-radius:50%;border:2.5px solid #fff;box-shadow:0 2px 8px #00000047;font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);cursor:pointer;transition:transform .15s,box-shadow .15s}.map-cluster:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 3px 12px #00000059}.map-cluster__balloon{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px);background:#fff;border-radius:12px;padding:.25rem 0;box-shadow:0 4px 20px #2c2c272e;min-width:160px;max-width:240px;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:20;white-space:normal}.map-cluster--active .map-cluster__balloon{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.map-cluster__addr{padding:.45rem .875rem .35rem;font-size:.75rem;color:#6f6e69;line-height:1.3;border-bottom:1px solid rgba(44,44,39,.09)}.map-cluster__item{padding:.35rem .875rem;font-size:.8125rem;font-weight:600;color:#2c2c27;line-height:1.3;border-bottom:1px solid rgba(44,44,39,.07)}.map-cluster__item:last-child{border-bottom:none}.map-marker__arrow:before{content:"";display:block;width:10px;height:10px;background:#fff;border-radius:2px;transform:rotate(45deg) translate(1px,-5px);box-shadow:2px 2px 4px #2c2c271a}.password-wrapper[data-v-4a4400ef]{position:relative;display:flex;align-items:center}.password-wrapper input[data-v-4a4400ef]{width:100%;padding-right:2.5rem}.password-toggle[data-v-4a4400ef]{position:absolute;right:.625rem;background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;line-height:1}.password-toggle[data-v-4a4400ef]:hover{color:var(--text)}.password-toggle svg[data-v-4a4400ef]{width:1.125rem;height:1.125rem}.auth-legal[data-v-4a4400ef]{margin:.25rem 0 1rem}.auth-legal__label[data-v-4a4400ef]{display:flex;align-items:flex-start;gap:.55rem;font-size:.8125rem;line-height:1.45;color:var(--text-muted);cursor:pointer}.auth-legal__checkbox[data-v-4a4400ef]{margin-top:.2rem;flex-shrink:0;width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.auth-legal__text a[data-v-4a4400ef]{color:var(--accent);font-weight:600;text-decoration:none}.auth-legal__text a[data-v-4a4400ef]:hover{text-decoration:underline}.settings-panel[data-v-87bd296e]{max-width:480px}.settings-title[data-v-87bd296e]{margin-bottom:1.75rem}.settings-section__title[data-v-87bd296e]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:1rem}.settings-block[data-v-87bd296e]{display:flex;gap:.875rem;align-items:flex-start;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input)}.settings-block__icon[data-v-87bd296e]{flex-shrink:0;color:var(--accent);margin-top:1px}.settings-block__title[data-v-87bd296e]{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:.2rem}.settings-block__desc[data-v-87bd296e]{font-size:.875rem;color:var(--text-muted);line-height:1.45}.settings-actions[data-v-87bd296e]{margin-top:1rem;display:flex;gap:.75rem}.settings-hint[data-v-87bd296e]{margin-top:.6rem;font-size:.8125rem;color:var(--text-muted);line-height:1.4}.settings-hint--waiting[data-v-87bd296e]{color:var(--accent)}.btn-danger[data-v-87bd296e]{font:inherit;font-size:.875rem;font-weight:600;padding:.55rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);cursor:pointer;transition:opacity .15s}.btn-danger[data-v-87bd296e]:hover:not(:disabled){opacity:.8}.btn-danger[data-v-87bd296e]:disabled{opacity:.55;cursor:not-allowed}.dp[data-v-70111e80]{display:flex;gap:6px;width:100%}.dp__sel[data-v-70111e80]{flex:1;min-width:0;padding:0 1.6rem 0 .6rem;height:48px;font:inherit;font-size:.9rem;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.dp__sel--sm[data-v-70111e80]{flex:0 0 72px}.dp__sel--md[data-v-70111e80]{flex:0 0 82px}.dp__sel--lg[data-v-70111e80]{flex:1 1 auto}.dp__sel[data-v-70111e80]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dp__sel--error[data-v-70111e80]{border-color:var(--danger-border)}.ac[data-v-929bb532]{position:relative;width:100%}.ac__input[data-v-929bb532]{width:100%;padding:.75rem .95rem;font:inherit;font-size:.9375rem;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.ac__input[data-v-929bb532]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ac__input.has-error[data-v-929bb532]{border-color:var(--danger-border)}.ac__dropdown[data-v-929bb532]{position:absolute;z-index:200;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;list-style:none;margin:0;padding:4px 0;max-height:260px;overflow-y:auto}.ac__item[data-v-929bb532]{padding:8px 14px;cursor:pointer;display:flex;flex-direction:column;gap:1px}.ac__item[data-v-929bb532]:hover,.ac__item--active[data-v-929bb532]{background:#6b8f711a}.ac__item-main[data-v-929bb532]{font-size:.9rem;color:var(--text);line-height:1.3}.ac__item-sub[data-v-929bb532]{font-size:.775rem;color:var(--text-muted);line-height:1.3}.ac__item--hint[data-v-929bb532]{color:var(--text-muted);cursor:default;font-style:italic;font-size:.875rem}.ac__item--hint[data-v-929bb532]:hover{background:transparent}.modal-overlay[data-v-94f45ddb]{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;display:flex;align-items:center;justify-content:center;background:#14141459;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;box-sizing:border-box;padding:clamp(20px,5vmin,48px) 16px;overscroll-behavior:contain}.modal[data-v-94f45ddb]{width:100%;max-width:720px;max-height:min(900px,100%);align-self:center;flex-shrink:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;position:relative}.modal--dimmed[data-v-94f45ddb]{pointer-events:none;filter:brightness(.92)}.modal__header[data-v-94f45ddb]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-shrink:0}.modal__title[data-v-94f45ddb]{font-size:1.1rem;font-weight:650;letter-spacing:-.01em}.modal__subtitle[data-v-94f45ddb]{margin-top:4px;font-size:.875rem;color:var(--text-muted)}.icon-button[data-v-94f45ddb]{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--bg-input);cursor:pointer;font-size:20px;line-height:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.icon-button[data-v-94f45ddb]:hover{color:var(--text);border-color:#2c2c272e}.modal__body[data-v-94f45ddb]{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:8px;overflow:hidden}.modal__scroll[data-v-94f45ddb]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:6px;margin-right:-2px}.modal__footer[data-v-94f45ddb]{flex-shrink:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:12px;padding-top:14px;border-top:1px solid rgba(44,44,39,.1)}.delete-error[data-v-94f45ddb]{flex:0 0 100%;font-size:.8125rem;color:#c0392b;text-align:center;padding:4px 0}.modal__footer .btn-ghost[data-v-94f45ddb],.modal__footer .btn-submit[data-v-94f45ddb],.modal__footer .btn-danger[data-v-94f45ddb]{flex:1;min-height:3rem;padding-top:.8rem;padding-bottom:.8rem;font-size:.9375rem;box-sizing:border-box}.modal__footer .btn-submit[data-v-94f45ddb]{margin-top:0;width:auto}@media (max-width: 480px){.modal__footer[data-v-94f45ddb]{gap:8px;flex-wrap:wrap}.modal__footer .btn-submit[data-v-94f45ddb]{order:-1;flex:0 0 100%;min-height:2.75rem;padding-top:.65rem;padding-bottom:.65rem;font-size:.9375rem}.modal__footer .btn-ghost[data-v-94f45ddb],.modal__footer .btn-danger[data-v-94f45ddb]{min-height:2.5rem;padding:.55rem .5rem;font-size:.8125rem}}.grid2[data-v-94f45ddb]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gender-toggle[data-v-94f45ddb]{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s,box-shadow .15s}.gender-toggle.has-error[data-v-94f45ddb]{border-color:var(--error, #c0392b)}.gender-toggle__btn[data-v-94f45ddb]{flex:1;padding:.75rem .95rem;font:inherit;font-size:.9375rem;font-weight:500;color:var(--text-muted);background:var(--bg-input);border:none;cursor:pointer;transition:background .12s,color .12s}.gender-toggle__btn[data-v-94f45ddb]:first-child{border-right:1px solid var(--border)}.gender-toggle__btn[data-v-94f45ddb]:hover:not(.active){background:#0000000a;color:var(--text)}.gender-toggle__btn.active[data-v-94f45ddb]{font-weight:650;background:var(--accent-soft, rgba(107, 143, 113, .15));color:var(--accent, #4a7c59)}.form-field select[data-v-94f45ddb]{width:100%;padding:.75rem .95rem;font:inherit;font-size:.9375rem;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s}.form-field textarea[data-v-94f45ddb]{width:100%;padding:.75rem .95rem;font:inherit;font-size:.9375rem;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);resize:vertical;min-height:92px;transition:border-color .15s,box-shadow .15s}.form-field select[data-v-94f45ddb]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-field textarea[data-v-94f45ddb]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-ghost[data-v-94f45ddb]{width:auto}.sr-only[data-v-94f45ddb]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field-hint[data-v-94f45ddb]{margin:0 0 8px;font-size:.8rem;color:var(--text-muted);line-height:1.35}.photos-field[data-v-94f45ddb]{margin-top:4px}.photo-thumb-grid[data-v-94f45ddb]{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.photo-thumb[data-v-94f45ddb]{position:relative;width:88px;height:88px;flex-shrink:0;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#2c2c270f}.photo-thumb--pending[data-v-94f45ddb]{border-style:dashed}.photo-thumb__open[data-v-94f45ddb]{width:100%;height:100%;padding:0;border:0;cursor:pointer;display:block;background:transparent}.photo-thumb__open img[data-v-94f45ddb]{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb__remove[data-v-94f45ddb]{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:8px;border:1px solid rgba(44,44,39,.15);background:#ffffffeb;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 8px #00000014}.photo-thumb__remove[data-v-94f45ddb]:hover{color:#a33;border-color:#a3333359}.photo-detail-overlay[data-v-94f45ddb]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vmin,32px);background:#14141473;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box}.photo-detail-panel[data-v-94f45ddb]{width:100%;max-width:520px;max-height:min(92dvh,100%);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden}.photo-detail-panel__header[data-v-94f45ddb]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(44,44,39,.1);flex-shrink:0}.photo-detail-panel__header-actions[data-v-94f45ddb]{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-photo-download[data-v-94f45ddb]{font:inherit;font-size:.8125rem;font-weight:600;padding:.45rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.btn-photo-download[data-v-94f45ddb]:hover:not(:disabled){border-color:#6b8f7173;background:#6b8f7114}.btn-photo-download[data-v-94f45ddb]:disabled{opacity:.55;cursor:not-allowed}.photo-detail-panel__title[data-v-94f45ddb]{font-weight:650;font-size:1rem}.photo-detail-panel__img-wrap[data-v-94f45ddb]{flex-shrink:0;padding:12px 16px;background:#2c2c270a;display:flex;align-items:center;justify-content:center;min-height:120px;max-height:min(48dvh,420px)}.photo-detail-panel__img[data-v-94f45ddb]{max-width:100%;max-height:min(44dvh,400px);width:auto;height:auto;object-fit:contain;border-radius:8px}.photo-detail-panel__fields[data-v-94f45ddb]{padding:14px 16px;overflow-y:auto;flex:1;min-height:0}.photo-detail-panel__fields label[data-v-94f45ddb]{display:block;font-size:.8rem;font-weight:650;color:var(--text-muted);margin-bottom:6px}.photo-detail-label-mt[data-v-94f45ddb]{margin-top:12px}.photo-detail-sublabel[data-v-94f45ddb]{font-size:.8rem;font-weight:650;color:var(--text-muted);margin-bottom:8px}.photo-detail-textarea[data-v-94f45ddb]{width:100%;padding:.65rem .75rem;font:inherit;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);resize:vertical;min-height:72px}.also-on-photo__chips--detail[data-v-94f45ddb]{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto;padding:2px 0}.check-chip[data-v-94f45ddb]{display:inline-flex;align-items:center;gap:0;font-size:.8rem;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-input);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.2}.check-chip input[data-v-94f45ddb]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.check-chip--checked[data-v-94f45ddb]{border-color:#6b8f718c;background:#6b8f711a}.photo-detail-hint[data-v-94f45ddb]{margin-top:8px;margin-bottom:0}.photo-detail-panel__footer[data-v-94f45ddb]{flex-shrink:0;padding:14px 16px;border-top:1px solid rgba(44,44,39,.1)}.photo-detail-panel__footer .btn-submit[data-v-94f45ddb]{width:100%}.btn-add-photo[data-v-94f45ddb]{font:inherit;font-size:.875rem;font-weight:600;padding:.5rem .85rem;border-radius:var(--radius-md);border:1px dashed rgba(107,143,113,.45);background:#6b8f7114;color:var(--text);cursor:pointer;margin-bottom:12px}.btn-add-photo[data-v-94f45ddb]:hover{border-color:#6b8f71bf;background:#6b8f711f}.btn-add-photo[data-v-94f45ddb]:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 720px){.grid2[data-v-94f45ddb]{grid-template-columns:1fr;gap:0}}.modal-loading-overlay[data-v-94f45ddb]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10}.modal-loading-spinner[data-v-94f45ddb]{width:36px;height:36px;border:3px solid rgba(107,143,113,.25);border-top-color:var(--accent);border-radius:50%;animation:modal-spin-94f45ddb .7s linear infinite}@keyframes modal-spin-94f45ddb{to{transform:rotate(360deg)}}.modal-loader-enter-active[data-v-94f45ddb],.modal-loader-leave-active[data-v-94f45ddb]{transition:opacity .15s}.modal-loader-enter-from[data-v-94f45ddb],.modal-loader-leave-to[data-v-94f45ddb]{opacity:0}.std-page[data-v-abe51f1b]{display:flex;flex-direction:column;flex:1;min-height:0;padding:clamp(.75rem,2vw,1.25rem)}.std-back-btn[data-v-abe51f1b]{position:absolute;top:12px;left:12px;z-index:10;font:inherit;font-size:.875rem;font-weight:600;padding:.4rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.std-back-btn[data-v-abe51f1b]:hover{background:#ffffffe6;border-color:#2c2c2733}.std-viewport[data-v-abe51f1b]{flex:1;position:relative;width:100%;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius-lg);background:#fff6;border:1px solid rgba(44,44,39,.08)}@media (min-width: 721px){.std-viewport[data-v-abe51f1b]{min-height:400px}}.std-transform[data-v-abe51f1b]{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.std-svg[data-v-abe51f1b]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.std-edge[data-v-abe51f1b]{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.std-edge--ancestry[data-v-abe51f1b]{stroke:#6b8f71d9}.std-edge--marriage[data-v-abe51f1b]{stroke:#6b8f7199;stroke-width:3}.std-edge--secondary[data-v-abe51f1b]{stroke:#2c2c2740;stroke-dasharray:5 4}.std-node[data-v-abe51f1b]{position:absolute;transform:translate(-50%,-50%);z-index:1}.std-node__card[data-v-abe51f1b]{position:relative;box-sizing:border-box;width:180px;min-height:70px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;border-radius:14px;background:#e4f1e6f0;border:1px solid rgba(107,143,113,.22);box-shadow:0 10px 30px -20px #3e5c4352;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:default;transition:border-color .15s,box-shadow .15s}.std-node--has-hidden .std-node__card[data-v-abe51f1b]{cursor:pointer}.std-node__expand[data-v-abe51f1b]{position:absolute;bottom:-9px;left:50%;transform:translate(-50%);background:var(--bg-card, #f7f6f3);border:1px solid rgba(107,143,113,.4);border-radius:99px;padding:1px 7px;font-size:.6rem;letter-spacing:.2em;color:var(--accent, #4a7c59);line-height:1.5;white-space:nowrap;pointer-events:none;z-index:2;transition:border-color .12s,background .12s}.std-node--has-hidden:hover .std-node__expand[data-v-abe51f1b]{background:#6b8f711f;border-color:#6b8f71b3}.std-node__card[data-v-abe51f1b]:hover{border-color:#6b8f718c;box-shadow:0 14px 40px -24px #3e5c4380}.std-node--focus .std-node__card[data-v-abe51f1b]{border-color:#587f5fe6;box-shadow:0 0 0 3px #6b8f7133,0 10px 30px -20px #3e5c4366}.std-node--root .std-node__card[data-v-abe51f1b]{border-color:#587f5fcc;box-shadow:0 0 0 3px #6b8f7133,0 10px 30px -20px #3e5c4366}.std-node--secondary .std-node__card[data-v-abe51f1b]{opacity:.78}.std-node--male .std-node__card[data-v-abe51f1b]{background:#dcebfaf0;border-color:#5a96dc80;box-shadow:0 10px 30px -20px #3c64b447}.std-node--male.std-node--root .std-node__card[data-v-abe51f1b]{border-color:#3c78c8cc;box-shadow:0 0 0 3px #5a96dc33,0 10px 30px -20px #3c64b466}.std-node--female .std-node__card[data-v-abe51f1b]{background:#fce4ecf0;border-color:#dc82a080;box-shadow:0 10px 30px -20px #b4507847}.std-node--female.std-node--root .std-node__card[data-v-abe51f1b]{border-color:#c85078cc;box-shadow:0 0 0 3px #dc82a033,0 10px 30px -20px #b4507866}.std-node__name[data-v-abe51f1b]{font-weight:650;font-size:.8rem;color:var(--text);letter-spacing:-.01em;line-height:1.15;width:100%;min-height:calc(2 * .8rem * 1.15);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.std-node__date[data-v-abe51f1b]{font-size:.72rem;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.std-node__actions[data-v-abe51f1b]{display:flex;gap:4px;justify-content:center;margin-top:5px;opacity:0;pointer-events:none;transition:opacity .12s ease}.std-node:hover .std-node__actions[data-v-abe51f1b]{opacity:1;pointer-events:auto}@media (hover: none){.std-node__actions[data-v-abe51f1b]{opacity:1;pointer-events:auto}}.std-node__action-btn[data-v-abe51f1b]{width:28px;height:28px;padding:0;border-radius:999px;border:1px solid rgba(44,44,39,.12);background:var(--bg-input, rgba(255,255,255,.9));color:var(--text-muted);font:inherit;font-size:.95rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .12s,background .12s,color .12s}.std-node__action-btn[data-v-abe51f1b]:hover{border-color:#6b8f7173;background:#fffffffa;color:var(--text)}.std-empty[data-v-abe51f1b]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;pointer-events:none}.std-empty__hint[data-v-abe51f1b]{margin:0;font-size:.9rem;color:var(--text-muted)}.std-empty__btn[data-v-abe51f1b]{pointer-events:auto;font:inherit;font-size:.9rem;font-weight:600;padding:.55rem 1.25rem;border-radius:var(--radius-md);border:1px solid rgba(107,143,113,.4);background:#e4f1e6f0;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 4px 16px -8px #3e5c4340}.std-empty__btn[data-v-abe51f1b]:hover{background:#d2e8d7fa;border-color:#6b8f71b3;box-shadow:0 6px 20px -10px #3e5c4366}.auth-hint[data-v-6dc06a41]{font-size:.9375rem;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.45}.code-input[data-v-6dc06a41]{font-size:1.25rem;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.link-button[data-v-6dc06a41]{background:none;border:none;padding:0;font:inherit;font-size:.875rem;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline}.link-button[data-v-6dc06a41]:disabled{opacity:.55;cursor:not-allowed;text-decoration:none}.auth-hint[data-v-2ab7fb52],.auth-hint[data-v-efc85803]{font-size:.9375rem;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.45}.code-input[data-v-efc85803]{font-size:1.25rem;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.password-wrapper[data-v-efc85803]{position:relative;display:flex;align-items:center}.password-wrapper input[data-v-efc85803]{width:100%;padding-right:2.5rem}.password-toggle[data-v-efc85803]{position:absolute;right:.625rem;background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;line-height:1}.password-toggle[data-v-efc85803]:hover{color:var(--text)}.password-toggle svg[data-v-efc85803]{width:1.125rem;height:1.125rem}.not-found[data-v-497cd9b6]{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,8vw,5rem) clamp(1.25rem,5vw,3rem)}.not-found__inner[data-v-497cd9b6]{text-align:center;max-width:36rem}.not-found__code[data-v-497cd9b6]{font-size:clamp(5rem,18vw,8rem);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--accent-soft);margin-bottom:1rem}.not-found__title[data-v-497cd9b6]{font-size:clamp(1.4rem,3vw,1.875rem);font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:.6rem}.not-found__sub[data-v-497cd9b6]{font-size:.9375rem;color:var(--text-muted);line-height:1.6;margin-bottom:2rem}.not-found__link[data-v-497cd9b6]{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.4rem;font:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:var(--accent);border-radius:var(--radius-md);text-decoration:none;transition:background .15s,transform .1s}.not-found__link[data-v-497cd9b6]:hover{background:var(--accent-hover)}.not-found__link[data-v-497cd9b6]:active{transform:scale(.98)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-page: #eceae4;--bg-card: #f7f6f3;--bg-input: #ffffff;--text: #2c2c27;--text-muted: #6f6e69;--border: rgba(44, 44, 39, .1);--accent: #6b8f71;--accent-hover: #5a7a5f;--accent-soft: rgba(107, 143, 113, .14);--danger-bg: #f3e8e6;--danger-border: rgba(180, 90, 80, .35);--danger-text: #7a3d35;--shadow-card: 0 18px 50px -24px rgba(44, 44, 39, .35);--radius-lg: 20px;--radius-md: 12px;--font: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif}html{-webkit-font-smoothing:antialiased}body{min-height:100vh;min-height:100dvh;font-family:var(--font);color:var(--text);background-color:var(--bg-page);background-image:radial-gradient(ellipse 120% 80% at 10% 0%,rgba(107,143,113,.12),transparent 55%),radial-gradient(ellipse 100% 60% at 100% 10%,rgba(160,150,130,.1),transparent 50%);line-height:1.5}#app{min-height:100vh;min-height:100dvh}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-shell__main{flex:1;min-height:0;display:flex;flex-direction:column}.app-shell__main>*{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.auth-shell{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem)}.auth-panel{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:clamp(1.75rem,5vw,2.75rem);animation:auth-in .45s ease-out}@keyframes auth-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-brand{text-align:center;margin-bottom:1.75rem}.auth-brand__title{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.auth-brand__subtitle{margin-top:.35rem;font-size:.9375rem;color:var(--text-muted)}.auth-heading{font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;color:var(--text)}.form-field{margin-bottom:1.1rem}.form-field label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-muted);margin-bottom:.4rem}.form-field input{width:100%;padding:.75rem .95rem;font:inherit;font-size:.9375rem;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s}.form-field input::placeholder{color:#6f6e69a6}.form-field input:hover{border-color:#2c2c272e}.form-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-field input.has-error{border-color:var(--danger-border)}.btn-submit{width:100%;margin-top:.35rem;padding:.8rem 1rem;font:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s,transform .1s}.btn-submit:hover:not(:disabled){background:var(--accent-hover)}.btn-submit:active:not(:disabled){transform:scale(.99)}.btn-submit:disabled{opacity:.55;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.35rem;font-size:.875rem;color:var(--text-muted)}.auth-footer a{color:var(--accent);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.error-banner{margin-bottom:1rem;padding:.75rem .9rem;font-size:.875rem;color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md)}.error-banner__item+.error-banner__item{margin-top:.25rem}.field-error{margin-top:.35rem;font-size:.75rem;color:var(--danger-text)}.field-required{color:var(--danger-text)}.page-home{min-height:100vh;padding:clamp(1.25rem,4vw,2rem)}.page-home__inner{max-width:640px;margin:0 auto}.home-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2rem);box-shadow:var(--shadow-card)}.home-card h1{font-size:1.35rem;font-weight:600;margin-bottom:.5rem}.home-card p{color:var(--text-muted);font-size:.9375rem}.home-actions{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem}.btn-danger{font:inherit;font-size:.9375rem;font-weight:600;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(180,90,80,.35);background:var(--danger-bg);color:var(--danger-text);cursor:pointer;transition:background .15s,border-color .15s}.btn-danger:hover{background:#b45a502e;border-color:#b45a508c}.btn-danger--confirm{background:#b45a5038;border-color:#b45a5099}.btn-ghost{font:inherit;font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.btn-ghost:hover{background:#ffffffd9;border-color:#2c2c2729}.tree-page{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column;gap:14px;overflow:hidden}.tree-page>*{flex:1;min-height:0}@media (max-width: 720px){.tree-page{padding:10px;gap:10px}}@media (hover: none){input,select,textarea{font-size:16px!important}}
