*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}:root{--color-text: #212529;--color-text-muted: #6c757d;--color-text-light: #adb5bd;--color-bg: #f8f9fa;--color-surface: #fff;--color-border: #e9ecef;--color-border-light: #f0f0f0;--color-primary: #28a745;--color-danger: #dc3545;--color-secondary: #6c757d;--badge-travel-bg: #e8f5e9;--badge-travel-text: #2e7d32;--badge-wildlife-bg: #e3f2fd;--badge-wildlife-text: #1565c0;--badge-action-bg: #fff3e0;--badge-action-text: #e65100;--radius-lg: 12px;--radius-md: 8px;--radius-sm: 6px;--radius-pill: 20px;--shadow-hero: 0 8px 30px rgba(0, 0, 0, .12);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04);--shadow-card-hover: 0 12px 28px rgba(0, 0, 0, .08);--shadow-map: 0 4px 16px rgba(0, 0, 0, .06);--shadow-btn-primary: 0 2px 8px rgba(40, 167, 69, .25);--shadow-btn-primary-hover: 0 4px 14px rgba(40, 167, 69, .35);--color-line-paternal: #8B5CF6;--color-line-maternal: #D97706;--color-line-self: #6c757d;--color-line-both: #059669;--color-line-wife-paternal: #2563EB;--color-line-wife-maternal: #DC2626;--color-line-wife-self: #6c757d;--color-line-wife-both: #059669;--color-ancestry-marker: #8B5CF6;--container-max: 1200px;--nav-height: 56px}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-btn-primary)}.btn-primary:hover{box-shadow:var(--shadow-btn-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-outline{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-outline:hover{border-color:#adb5bd;color:var(--color-text)}.btn-sm{padding:6px 14px;font-size:.8rem}.type-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.type-badge-travel{background:var(--badge-travel-bg);color:var(--badge-travel-text)}.type-badge-wildlife{background:var(--badge-wildlife-bg);color:var(--badge-wildlife-text)}.type-badge-action{background:var(--badge-action-bg);color:var(--badge-action-text)}.section-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:8px}.subsection-title{font-size:1.2rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:12px}.subsection-title:after{content:"";flex:1;height:1px;background:var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px;max-width:480px;width:90%;box-shadow:0 20px 60px #00000026}.modal-content h3{margin-bottom:12px}.modal-content p{color:var(--color-text-muted);margin-bottom:20px;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.help-overlay.svelte-196qlh9{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;justify-content:center;align-items:flex-start;padding:24px;overflow-y:auto}.help-panel.svelte-196qlh9{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-hover);max-width:620px;width:100%;margin:24px auto;padding:28px 28px 20px;animation:svelte-196qlh9-help-slide-up .25s ease}@keyframes svelte-196qlh9-help-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.help-header.svelte-196qlh9{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.help-header.svelte-196qlh9 h2:where(.svelte-196qlh9){font-size:1.25rem;font-weight:700}.help-close.svelte-196qlh9{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--color-text-muted);padding:0 4px;line-height:1}.help-close.svelte-196qlh9:hover{color:var(--color-text)}.help-intro.svelte-196qlh9{color:var(--color-text-muted);font-size:.9rem;margin-bottom:20px;line-height:1.6}.section-toggle.svelte-196qlh9{display:flex;align-items:center;width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:.95rem;font-weight:600;font-family:inherit;color:var(--color-text);margin-bottom:6px;transition:background .15s,border-color .15s;text-align:left;gap:10px}.section-toggle.svelte-196qlh9:hover{background:#00000005}.section-toggle.open.svelte-196qlh9{border-color:var(--color-primary);background:#28a7450a;border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}.section-icon.svelte-196qlh9{font-size:1.1rem;flex-shrink:0;width:24px;text-align:center}.section-title.svelte-196qlh9{flex:1}.chevron.svelte-196qlh9{font-size:.8rem;color:var(--color-text-muted);flex-shrink:0}.section-body.svelte-196qlh9{border:1px solid var(--color-primary);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);padding:16px 18px;margin-bottom:6px;background:#28a74505;font-size:.88rem;line-height:1.7;color:var(--color-text)}.section-body.svelte-196qlh9 ul:where(.svelte-196qlh9){list-style:none;padding:0}.section-body.svelte-196qlh9 ul:where(.svelte-196qlh9) li:where(.svelte-196qlh9){padding:4px 0 4px 20px;position:relative}.section-body.svelte-196qlh9 ul:where(.svelte-196qlh9) li:where(.svelte-196qlh9):before{content:"•";position:absolute;left:4px;color:var(--color-primary);font-weight:700}.section-body.svelte-196qlh9 p:where(.svelte-196qlh9){margin-bottom:10px}.section-intro.svelte-196qlh9{color:var(--color-text-muted);font-style:italic}.section-body.svelte-196qlh9 h4:where(.svelte-196qlh9){font-size:.9rem;font-weight:700;margin:16px 0 6px;color:var(--color-text)}.section-body.svelte-196qlh9 h4:where(.svelte-196qlh9):first-of-type{margin-top:8px}.tab-intro.svelte-196qlh9{margin-bottom:8px}.tab-card.svelte-196qlh9{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px}.tab-card.svelte-196qlh9 strong:where(.svelte-196qlh9){display:block;margin-bottom:4px;font-size:.88rem}.tab-card.svelte-196qlh9 p:where(.svelte-196qlh9){margin:0;color:var(--color-text-muted);font-size:.84rem;line-height:1.6}.inline-badge.svelte-196qlh9{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 6px;border-radius:var(--radius-pill);vertical-align:middle}.inline-badge.visited.svelte-196qlh9{background:#e8f5e9;color:#2e7d32}.color-key.svelte-196qlh9{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:6px}.color-row.svelte-196qlh9{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--color-text-muted)}.dot.svelte-196qlh9{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot.paternal.svelte-196qlh9{background:var(--color-line-paternal)}.dot.maternal.svelte-196qlh9{background:var(--color-line-maternal)}.dot.wife-paternal.svelte-196qlh9{background:var(--color-line-wife-paternal)}.dot.wife-maternal.svelte-196qlh9{background:var(--color-line-wife-maternal)}.help-footer.svelte-196qlh9{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border);text-align:center;font-size:.8rem;color:var(--color-text-muted)}@media(max-width:480px){.help-overlay.svelte-196qlh9{padding:12px}.help-panel.svelte-196qlh9{padding:20px 16px 16px;margin:12px auto}.help-header.svelte-196qlh9 h2:where(.svelte-196qlh9){font-size:1.1rem}.color-key.svelte-196qlh9{grid-template-columns:1fr}}.site-nav.svelte-12qhfyh{position:sticky;top:0;z-index:100;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);height:var(--nav-height);display:flex;align-items:center}.nav-inner.svelte-12qhfyh{max-width:var(--container-max);width:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px}.nav-brand.svelte-12qhfyh{font-size:1.05rem;font-weight:700;color:var(--color-text);text-decoration:none;margin-right:auto}.nav-admin.svelte-12qhfyh{font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-decoration:none}.nav-admin.svelte-12qhfyh:hover{color:var(--color-text)}.menu-backdrop.svelte-12qhfyh{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--nav-height);background:#00000026;z-index:90;opacity:0;pointer-events:none;transition:opacity .25s ease}.menu-backdrop.open.svelte-12qhfyh{opacity:1;pointer-events:auto}.menu-drawer.svelte-12qhfyh{position:fixed;top:var(--nav-height);left:0;width:280px;max-height:calc(100vh - var(--nav-height));overflow-y:auto;background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0 0 var(--radius-md) 0;box-shadow:var(--shadow-card-hover);padding:12px 0;z-index:95;transform:translate(-100%);transition:transform .25s ease}.menu-drawer.open.svelte-12qhfyh{transform:translate(0)}.menu-section-label.svelte-12qhfyh{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:8px 20px 4px}.menu-link.svelte-12qhfyh{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;text-decoration:none;color:var(--color-text);font-size:.92rem;font-weight:500;transition:background .15s}.menu-link.svelte-12qhfyh:hover{background:#0000000a}.menu-link.active.svelte-12qhfyh{color:var(--color-primary);font-weight:600;background:#28a7450f}.menu-link-type.svelte-12qhfyh{font-size:.75rem;color:var(--color-text-muted);text-transform:capitalize}.menu-sublink.svelte-12qhfyh{padding-left:40px;font-size:.82rem;color:var(--color-text-muted)}.menu-sublink.svelte-12qhfyh .menu-link-name:where(.svelte-12qhfyh){font-weight:400}.menu-empty.svelte-12qhfyh{padding:16px 20px;color:var(--color-text-muted);font-size:.875rem}.menu-divider.svelte-12qhfyh{height:1px;background:var(--color-border);margin:8px 20px}.menu-help-btn.svelte-12qhfyh{border:none;background:none;cursor:pointer;font-family:inherit;width:100%}
