*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-ui);font-size:14px;line-height:1.5;color:var(--text);background-color:var(--bg);background-image:var(--bg-image);background-attachment:fixed;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{display:block}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight);line-height:1.1;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon{flex:none}.mr-auto{margin-right:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,filter .15s,transform .1s}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:34px;padding:0 13px;font-size:12.5px}.btn-md{height:40px;padding:0 16px;font-size:13.5px}.btn-lg{height:48px;padding:0 22px;font-size:14.5px}.btn-icon{padding:0;aspect-ratio:1}.btn-primary{background:var(--btn-primary-bg);border-color:transparent;color:var(--accent-contrast);box-shadow:var(--btn-primary-shadow)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg);filter:brightness(1.08)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.1)}.is-danger-text{color:var(--danger)}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--muted);transition:background .15s,color .15s}.icon-button:hover,.icon-button[aria-expanded=true]{background:var(--accent-soft);color:var(--text)}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}.spinner-lg{width:32px;height:32px;border-width:3px;color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.page-loader{display:grid;place-items:center;min-height:60vh}.form-stack{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{display:flex;align-items:baseline;gap:8px;font-size:var(--label-size);font-weight:600;letter-spacing:var(--label-spacing);text-transform:var(--label-transform);color:var(--text-2)}.field-optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--faint);font-size:11.5px}.field-hint,.field-error{font-size:12px;color:var(--muted)}.field-error{color:var(--danger);font-weight:500}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>.icon{position:absolute;left:13px;color:var(--faint);pointer-events:none}.input,.select-trigger{width:100%;height:44px;padding:0 13px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--input-bg);color:var(--text);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.input-wrap>.icon+.input{padding-left:38px}.input::placeholder{color:var(--faint)}.input:focus,.select-trigger:focus-visible,.select-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.input[readonly]{background:var(--surface-sunken);color:var(--muted)}.input[aria-invalid=true],.select-trigger.is-invalid{border-color:var(--danger)}.textarea{height:auto;min-height:96px;padding:11px 13px;resize:vertical;line-height:1.5}fieldset{border:0;display:flex;flex-direction:column;gap:14px}legend{font-family:var(--font-display);font-weight:var(--display-weight);font-size:18px;color:var(--accent-text);margin-bottom:12px}.person-fields{display:flex;flex-direction:column;gap:26px}.checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px;-webkit-user-select:none;user-select:none}.checkbox input{position:absolute;opacity:0;pointer-events:none}.checkbox-box{display:grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:calc(var(--radius-sm) - 2px);background:var(--input-bg);color:transparent;transition:.15s}.checkbox input:checked+.checkbox-box{background:var(--btn-primary-bg);border-color:transparent;color:var(--accent-contrast)}.checkbox input:focus-visible+.checkbox-box{box-shadow:0 0 0 3px var(--accent-ring)}.alert{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius);font-size:13.5px}.alert-error{background:var(--danger-soft);color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--surface-sunken);color:var(--text-2)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.segmented{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:calc(var(--radius) + 3px);background:var(--surface-sunken)}.segmented>*{flex:1;display:grid;place-items:center;height:34px;padding:0 14px;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--muted);transition:.15s}.segmented>*:hover{color:var(--text)}.segmented>.is-active{background:var(--segment-active-bg);color:var(--segment-active-text);box-shadow:var(--shadow-sm)}.select-trigger{display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.select-value,.select-placeholder{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-placeholder{color:var(--faint)}.select-chevron{color:var(--muted);transition:transform .15s}.select-trigger.is-open .select-chevron{transform:rotate(180deg)}.popover{z-index:1000;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--popover-bg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:pop-in .12s ease-out}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.select-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--faint)}.select-search input{flex:1;border:0;outline:none;background:none;color:var(--text)}.select-list{overflow-y:auto;padding:5px}.select-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px}.select-option.is-active{background:var(--accent-soft)}.select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}.select-option-text{display:flex;flex-direction:column;flex:1;min-width:0}.select-option-text small{font-size:12px;color:var(--muted)}.select-check{color:var(--accent-text)}.select-empty{padding:12px;color:var(--muted);font-size:13px}.menu-pop{min-width:210px!important;padding:5px}.menu-header{display:flex;flex-direction:column;padding:10px 11px 9px}.menu-header b{font-size:13.5px}.menu-header small{font-size:12px;color:var(--muted)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border-radius:var(--radius-sm);font-size:13.5px;text-align:left;color:var(--text)}.menu-item .icon{color:var(--muted)}.menu-item:hover,.menu-item:focus-visible{background:var(--accent-soft);outline:none}.menu-item.is-danger,.menu-item.is-danger .icon{color:var(--danger)}.menu-divider{height:1px;margin:5px 6px;background:var(--border)}.modal-backdrop{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:24px 16px;overflow-y:auto;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}}.modal{width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--modal-bg);box-shadow:var(--shadow-lg);outline:none;animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.modal-sm{max-width:440px}.modal-md{max-width:540px}.modal-lg{max-width:720px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 14px}.modal-head h2{font-size:var(--modal-title-size)}.modal-sub{margin-top:4px;color:var(--muted)}.modal-close{display:grid;place-items:center;width:34px;height:34px;margin:-4px -6px 0 0;border-radius:var(--radius-sm);color:var(--muted)}.modal-close:hover{background:var(--accent-soft);color:var(--text)}.modal-body{padding:6px 24px 22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border)}.confirm-text{color:var(--text-2);line-height:1.6}.toasts{position:fixed;left:50%;bottom:24px;z-index:1100;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--radius);background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:500;animation:modal-in .2s ease-out}.toast-success .icon{color:var(--success)}.toast-error .icon{color:#ff8a80}.app-header{display:flex;align-items:center;gap:32px;z-index:50}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;white-space:nowrap}.brand-mark{display:grid;place-items:center;color:var(--accent-text)}.main-nav{display:flex;gap:4px}.main-nav a{display:inline-flex;align-items:center;gap:7px}.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar-button{border-radius:50%}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-weight:700;font-size:13px}.page{width:100%;max-width:1120px;margin:0 auto;padding:36px 32px 80px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-head h1{font-size:var(--page-title-size);margin-top:6px}.page-sub{margin-top:6px;color:var(--text-2);font-size:15px}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text)}.eyebrow-link:hover{text-decoration:underline;text-underline-offset:3px}.empty-state,.empty-page{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;text-align:center}.empty-page{min-height:70vh;justify-content:center}.empty-state p,.empty-page p{max-width:440px;color:var(--text-2)}.empty-state h2,.empty-page h1{font-size:30px}.empty-state .btn,.empty-page .btn{margin-top:10px}.empty-actions{display:flex;gap:10px}.empty-art{width:240px;margin-bottom:8px;opacity:.85}.tree-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.tree-card{position:relative;min-height:190px;border:1px solid var(--panel-border);border-radius:var(--radius-card);background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);transition:transform .18s,box-shadow .18s,border-color .18s}.tree-card:hover{transform:translateY(-3px);border-color:var(--border-strong)}.tree-card.is-skeleton{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.tree-card-link{display:flex;flex-direction:column;height:100%;padding:22px}.tree-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-text)}.tree-card h2{margin-top:16px;font-size:24px;padding-right:24px}.tree-card-desc{margin-top:6px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tree-card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:auto;padding-top:18px;font-size:12.5px;color:var(--muted)}.tree-card-meta span{display:inline-flex;align-items:center;gap:6px}.tree-card-menu{position:absolute;top:14px;right:14px}.tree-card-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-style:dashed;background:transparent;box-shadow:none;color:var(--muted);font-weight:600;-webkit-backdrop-filter:none;backdrop-filter:none}.tree-card-new:hover{color:var(--accent-text);border-color:var(--accent)}.settings-section{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;padding:30px 0;border-top:1px solid var(--border)}.settings-intro h2{font-size:22px}.settings-intro p{margin-top:6px;color:var(--text-2);font-size:13.5px}.settings-card{padding:22px;border:1px solid var(--panel-border);border-radius:var(--radius-card);background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.settings-section.is-danger h2{color:var(--danger)}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.theme-option{display:flex;flex-direction:column;overflow:hidden;text-align:left;border:1.5px solid var(--panel-border);border-radius:var(--radius-card);background:var(--panel-bg);box-shadow:var(--panel-shadow);transition:border-color .15s,transform .15s,box-shadow .15s}.theme-option:hover{transform:translateY(-2px)}.theme-option.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring),var(--panel-shadow)}.theme-option-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}.theme-option-title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:var(--display-weight);font-size:20px}.theme-option-desc{color:var(--text-2);font-size:13px}.theme-preview{position:relative;height:150px;overflow:hidden;border-bottom:1px solid var(--border)}.tp-bar{display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 12px}.tp-brand{font-size:12px}.tp-dot{width:14px;height:14px;border-radius:50%}.tp-tree{position:absolute;inset:34px 110px 12px 14px}.tp-card{position:absolute;width:58px;height:30px}.tp-a{left:8px;top:6px}.tp-b{left:78px;top:6px}.tp-c{left:43px;top:70px}.tp-line{position:absolute}.tp-couple{left:66px;top:21px;width:12px;height:0}.tp-down{left:72px;top:21px;width:0;height:49px}.tp-panel{position:absolute;right:12px;top:34px;bottom:12px;width:86px;display:flex;flex-direction:column;align-items:center;gap:7px;padding-top:10px}.tp-ring{width:28px;height:28px;border-radius:50%}.tp-text{width:60px;height:6px;border-radius:3px}.tp-text.short{width:40px}.theme-preview-archiv{background:#f3ead8;font-family:Cormorant Garamond,Georgia,serif}.theme-preview-archiv .tp-bar{border-bottom:1px solid rgba(92,70,40,.2)}.theme-preview-archiv .tp-brand{font-style:italic;font-weight:600;font-size:14px;color:#2e2418}.theme-preview-archiv .tp-dot{background:#7b2d26}.theme-preview-archiv .tp-card{background:#fbf6ea;border:1px solid rgba(92,70,40,.35);box-shadow:inset 0 0 0 2px #fbf6ea,inset 0 0 0 3px #5c46282e}.theme-preview-archiv .tp-line{border:0 solid #8a7254;border-width:1px 0 0 1px}.theme-preview-archiv .tp-panel{background:#fcf8ee repeating-linear-gradient(to bottom,transparent 0 13px,rgba(123,45,38,.1) 13px 14px);border:1px solid rgba(92,70,40,.28)}.theme-preview-archiv .tp-ring{width:24px;height:30px;background:radial-gradient(circle at 42% 32%,#d8c09a,#a8845a 62%,#76583a)}.theme-preview-archiv .tp-text{background:#cbb998}.theme-preview-lichtung{background:radial-gradient(circle at 12% 10%,rgba(127,181,154,.35),transparent 55%),radial-gradient(circle at 90% 90%,rgba(216,180,111,.35),transparent 55%),#f7f5ef;font-family:Fraunces,Georgia,serif}.theme-preview-lichtung .tp-bar{margin:6px 8px 0;border-radius:9px;background:#ffffffd9;box-shadow:0 4px 12px -6px #323c2d4d}.theme-preview-lichtung .tp-brand{font-weight:600;color:#1c2a24}.theme-preview-lichtung .tp-dot{background:linear-gradient(135deg,#ecd29c,#c99f55)}.theme-preview-lichtung .tp-card{border-radius:9px;background:#ffffffe6;border:1px solid rgba(40,60,50,.08);box-shadow:0 6px 14px -8px #323c2d59}.theme-preview-lichtung .tp-line{border:0 dashed #c49a4f;border-width:1.5px 0 0 1.5px}.theme-preview-lichtung .tp-down{border-style:solid}.theme-preview-lichtung .tp-panel{border-radius:12px;background:#ffffffd9;box-shadow:0 8px 20px -10px #323c2d59}.theme-preview-lichtung .tp-ring{background:conic-gradient(from 210deg,#e7c686,#b98d3f,#d8b46f33,#e7c686);box-shadow:0 0 12px #d8b46f99}.theme-preview-lichtung .tp-text{background:#d9dcd5}.auth-card h1{font-size:var(--auth-title-size);margin-top:26px}.auth-card .lead{margin:8px 0 26px;color:var(--text-2);font-size:15px}.auth-card .field,.auth-card .alert{margin-bottom:16px}.auth-submit{width:100%;margin-top:8px}.auth-switch{margin-top:22px;text-align:center;color:var(--text-2);font-size:13.5px}.auth-switch a{color:var(--accent-text);font-weight:600}.auth-switch a:hover{text-decoration:underline;text-underline-offset:3px}.tree-art-branch{stroke:var(--gold);stroke-width:1.5}.tree-art-knot{fill:var(--tree-art-knot);stroke:var(--gold);stroke-width:1.5}.tree-art-leaf{fill:var(--tree-art-leaf);stroke:var(--gold);stroke-width:1.3}.tree-stage{position:relative;min-width:0}.canvas-shell{position:absolute;inset:0}.canvas{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;outline:none;user-select:none;-webkit-user-select:none}.canvas img{-webkit-user-drag:none}.canvas.is-dragging{cursor:grabbing}.canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.canvas-world{position:absolute;left:0;top:0;transform-origin:0 0}.canvas-world.is-moving{will-change:transform}.connectors{position:absolute;inset:0;overflow:visible;pointer-events:none}.connectors path{fill:none;stroke-linecap:round}.connector-descent,.connector-couple{stroke:var(--line);stroke-width:var(--line-width)}.connector-glow{display:none}.canvas-zoom{display:flex;align-items:center;gap:2px;padding:4px;z-index:5}.canvas-zoom button{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--muted)}.canvas-zoom button:hover{background:var(--accent-soft);color:var(--text)}.canvas-zoom-value{min-width:48px;text-align:center;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.canvas-zoom-sep{width:1px;height:18px;margin:0 3px;background:var(--border)}.gen-label{display:none}.pcard{position:absolute;display:flex;align-items:center;gap:12px;padding:0 14px;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.pcard:hover{transform:translateY(-2px)}.pcard-info{display:flex;flex-direction:column;min-width:0}.pcard-name{overflow:hidden}.pcard-first,.pcard-last{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-birth{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-years{display:flex;gap:10px;margin-top:5px;font-size:11.5px;font-variant-numeric:tabular-nums}.pcard-years em{font-style:normal;font-weight:700;margin-right:2px}.union-badge{position:absolute;z-index:2;display:grid;place-items:center;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;font-family:Segoe UI Symbol,Noto Sans Symbols,DejaVu Sans,sans-serif;font-size:13px;line-height:1;transition:transform .15s}.union-badge:hover{transform:scale(1.15)}.portrait{flex:none;display:grid;place-items:center;border-radius:50%}.portrait-inner{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit}.portrait-xs{width:26px;height:26px;font-size:10px}.portrait-sm{width:34px;height:34px;font-size:12px}.portrait-md{width:50px;height:50px;font-size:18px}.portrait-lg{width:92px;height:92px;font-size:32px}.tree-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center}.tree-empty h2{font-size:28px}.tree-empty p{max-width:380px;color:var(--text-2);margin-bottom:10px}.tree-empty-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);margin-bottom:6px}.tree-info h1{font-size:var(--tree-title-size);margin:6px 0}.tree-sub{color:var(--text-2)}.tree-stats{display:flex}.tree-actions{display:flex;align-items:center;gap:10px}.tree-search{width:250px}.tree-search .input{height:40px}.detail-head{display:flex;align-items:center;gap:10px}.detail-kicker{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-text)}.detail-number{margin-left:auto;color:var(--muted)}.detail-hero{display:flex;align-items:center;gap:18px}.detail-hero h2{font-size:30px}.detail-birthname{color:var(--text-2);margin-top:3px}.detail-job{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;color:var(--text-2)}.life-tag{display:inline-flex;margin-top:10px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.03em;background:var(--living-bg);color:var(--living-text)}.life-tag.is-deceased{background:var(--surface-sunken);color:var(--muted)}.detail-section h3{font-size:18px}.facts dt{display:flex;align-items:center;gap:6px}.detail-empty{color:var(--muted);font-size:13px}.fam-group+.fam-group{margin-top:12px}.fam-label{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}.fam-item{display:flex;align-items:center;gap:4px}.fam-person{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:left}.fam-text{display:flex;flex-direction:column;min-width:0}.fam-text b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fam-text small{font-size:12px;color:var(--muted)}.fam-menu{width:28px;height:28px;opacity:0}.fam-item:hover .fam-menu,.fam-menu:focus-visible,.fam-menu[aria-expanded=true]{opacity:1}@media(hover:none){.fam-menu{opacity:1}}.chronicle-body b{display:block;font-weight:600;font-size:13px}.chronicle-meta{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.note{white-space:pre-wrap}.note.is-empty{color:var(--muted)}.detail-actions{display:flex;gap:8px;margin-top:24px}.relation-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}.relation-type{display:flex;align-items:center;gap:14px;padding:16px;text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);transition:border-color .15s,background .15s,transform .15s}.relation-type:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.relation-type:disabled{opacity:.5;cursor:not-allowed}.relation-type-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.relation-type-text{display:flex;flex-direction:column}.relation-type-text b{font-size:15px}.relation-type-text small{color:var(--muted);font-size:12.5px}@media(max-width:760px){.page{padding:24px 16px 64px}.page-head{flex-direction:column;align-items:flex-start}.settings-section{grid-template-columns:1fr;gap:16px}.relation-types{grid-template-columns:1fr}.main-nav a span,.main-nav a{font-size:0;gap:0}.modal-foot{flex-wrap:wrap}}.portrait-inner img{width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:50% 36%;transform:scale(1.22);transform-origin:50% 40%}.portrait.has-photo .portrait-inner{overflow:hidden}.pcard-portrait{position:relative;flex:none;display:grid}.pcard-portrait:has(.has-photo){cursor:zoom-in}.pcard-photo-count{position:absolute;right:-6px;bottom:-4px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;font-family:var(--font-ui);font-size:10.5px;font-weight:700;font-style:normal;background:var(--btn-primary-bg);color:var(--accent-contrast);box-shadow:0 0 0 2px var(--surface-raised)}.detail-portrait{position:relative;flex:none;border-radius:50%;cursor:zoom-in;transition:transform .18s}.detail-portrait:hover{transform:scale(1.04)}.detail-portrait-badge{position:absolute;right:-4px;bottom:2px;display:inline-flex;align-items:center;gap:3px;height:24px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--btn-primary-bg);color:var(--accent-contrast);box-shadow:0 0 0 2px var(--surface-raised),var(--shadow-sm)}.section-count{margin-left:8px;font-family:var(--font-ui);font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:var(--surface-sunken);cursor:zoom-in;transition:transform .15s,box-shadow .15s}.photo-thumb:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-more{position:absolute;inset:0;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:#14100c80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.photo-actions{margin-top:8px}body.lightbox-open{overflow:hidden}.lightbox-backdrop{position:fixed;inset:0;z-index:850;display:grid;place-items:center;padding:24px;background:var(--lightbox-overlay);backdrop-filter:blur(16px) saturate(.85);-webkit-backdrop-filter:blur(16px) saturate(.85);animation:fade-in .18s ease-out}.lightbox{display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--lightbox-bg);box-shadow:0 40px 100px -30px #0000008c;outline:none;animation:modal-in .22s ease-out}.lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 18px;border-bottom:1px solid var(--border)}.lightbox-title{display:flex;align-items:center;gap:12px;min-width:0}.lightbox-title h2{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-title small{color:var(--muted);font-size:12.5px}.lightbox-tools{display:flex;align-items:center;gap:6px}.lightbox-close{width:38px;height:38px}.lightbox-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:22px 76px;background:var(--lightbox-stage)}.lightbox-figure{display:grid;place-items:center;animation:photo-in .25s ease-out}@keyframes photo-in{0%{opacity:0;transform:scale(.985)}}.lightbox-figure img{display:block;max-width:100%;max-height:min(58vh,620px);object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 18px 40px -16px #00000073;-webkit-user-select:none;user-select:none}.lightbox-nav{position:absolute;top:50%;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;transform:translateY(-50%);background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);transition:transform .15s,background .15s}.lightbox-nav:hover{transform:translateY(-50%) scale(1.08)}.lightbox-nav.is-prev{left:16px}.lightbox-nav.is-next{right:16px}.lightbox-caption{padding:14px 22px;border-top:1px solid var(--border)}.caption-view{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.caption-text{font-family:var(--font-display);font-size:21px;line-height:1.3}.caption-text.is-empty{color:var(--muted);font-size:17px}.caption-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:12.5px;color:var(--muted)}.caption-meta>span:first-child{display:inline-flex;align-items:center;gap:5px}.caption-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px;align-items:start}.caption-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.lightbox-thumbs{display:flex;gap:10px;padding:10px 20px 18px;margin-top:-6px;overflow-x:auto;scrollbar-width:thin}.lightbox-thumb{flex:none;width:68px;height:68px;overflow:hidden;border-radius:var(--radius);opacity:.55;outline:2px solid transparent;outline-offset:2px;transition:opacity .15s,outline-color .15s}.lightbox-thumb:hover{opacity:.85}.lightbox-thumb.is-active{opacity:1;outline-color:var(--accent)}.lightbox-thumb img{width:100%;height:100%;object-fit:cover}.lightbox-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px 64px;text-align:center;background:var(--lightbox-stage)}.lightbox-empty h3{font-size:26px}.lightbox-empty p{max-width:380px;margin-bottom:8px;color:var(--text-2)}@media(max-width:760px){.lightbox-backdrop{padding:0}.lightbox{max-height:100vh;height:100%;border-radius:0}.lightbox-stage{padding:12px}.lightbox-nav{width:38px;height:38px;top:auto;bottom:12px;transform:none}.lightbox-nav:hover{transform:none}.lightbox-tools .btn .btn-label,.lightbox-title small{display:none}.caption-view,.caption-form{display:flex;flex-direction:column;align-items:stretch}}.settings-trees li{display:flex;align-items:center;gap:12px;padding:10px 0}.settings-trees li+li{border-top:1px solid var(--border)}.settings-tree-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);flex:none}.settings-tree-text{display:flex;flex-direction:column;flex:1;min-width:0}.settings-tree-text b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-tree-text small{font-size:12.5px;color:var(--muted)}body.detail-modal-open{overflow:hidden}.detail-modal-backdrop{position:fixed;inset:0;z-index:800;display:grid;place-items:center;padding:24px 16px;background:var(--lightbox-overlay);backdrop-filter:blur(12px) saturate(.9);-webkit-backdrop-filter:blur(12px) saturate(.9);animation:fade-in .18s ease-out}[data-theme] .tree-detail.is-modal{position:relative;inset:auto;grid-area:auto;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;outline:none;box-shadow:0 40px 100px -30px #00000080;animation:modal-in .22s ease-out}.detail-modal-close{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px}[data-theme] .tree-detail.is-modal .detail-head{padding-right:48px}.view-preview{position:relative;height:150px;overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface-sunken)}.vp-tree{position:absolute;inset:0}.vp-card{position:absolute;width:26%;height:22%;border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border-strong)}.vp-panel{position:absolute;display:flex;flex-direction:column;align-items:center;gap:7px;padding-top:14px;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}.vp-ring{width:26px;height:26px;border-radius:50%;background:var(--btn-primary-bg);opacity:.8}.vp-line{width:55%;height:6px;border-radius:3px;background:var(--border-strong)}.vp-line.short{width:35%}.view-preview-sidebar .vp-panel{top:10px;right:10px;bottom:10px;width:28%}.view-preview-modal .vp-tree{filter:blur(2.5px);opacity:.7}.view-preview-modal .vp-panel{left:50%;top:50%;width:36%;height:72%;transform:translate(-50%,-50%);box-shadow:var(--shadow-lg)}.tree-shared-badge{margin-bottom:6px}.tree-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.union-badge.is-static{cursor:default}.union-badge.is-static:hover{transform:none}.invites-banner{margin-bottom:26px;padding:16px 18px;border:1px solid var(--accent);border-radius:var(--radius-card);background:var(--accent-soft)}.invites-banner h2{display:flex;align-items:center;gap:8px;font-size:20px;margin-bottom:8px}.invites-banner li{display:flex;align-items:center;gap:8px;padding:6px 0}.invites-banner li>span{flex:1}.segmented-sm{display:inline-flex;padding:2px}.segmented-sm>*{display:inline-flex;gap:5px;height:28px;padding:0 10px;font-size:12px}.settings-tree-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px}.share{display:flex;flex-direction:column;gap:24px}.share-section h3{font-size:18px;margin-bottom:10px}.share-text{margin:-4px 0 12px;font-size:13px;color:var(--text-2)}.share-subhead{margin:16px 0 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visibility-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;text-align:left;border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--muted);transition:border-color .15s,background .15s}.visibility-option>span{display:flex;flex-direction:column;gap:2px}.visibility-option b{color:var(--text)}.visibility-option small{font-size:12px}.visibility-option.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.public-link{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px}.copy-field{display:flex;gap:8px;width:100%}.copy-field .input{flex:1;font-size:13px}.member-list{display:flex;flex-direction:column}.member{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.member:last-child{border-bottom:0}.member-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;font-weight:700;background:var(--accent-soft);color:var(--accent-text)}.member-text{display:flex;flex-direction:column;flex:1;min-width:0}.member-text b{font-weight:600}.member-text b small{font-weight:400;color:var(--muted)}.member-text>small{overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--muted)}.member.is-pending .member-text b{font-weight:500;color:var(--text-2)}.invite-form{display:flex;align-items:flex-end;gap:10px;margin-top:16px}.invite-form .field{flex:1}.invite-form>.btn{height:44px}.activity-loader{min-height:160px}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:0}.activity-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.activity-body p{line-height:1.45}.activity-body time{font-size:12px;color:var(--muted)}.activity-more{display:flex;justify-content:center;margin-top:12px}.caption-uploader{display:inline-flex;align-items:center;gap:5px}.chronicle-edit{display:contents;text-align:left;cursor:pointer}.chronicle-item:has(.chronicle-edit):hover b{color:var(--accent-text)}.chronicle-tag{display:inline-flex;margin-right:6px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;font-style:normal;background:var(--accent-soft);color:var(--accent-text)}.chronicle-desc{display:block;margin-top:3px;font-size:12.5px;color:var(--text-2);white-space:pre-wrap}.example-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.example-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px dashed var(--border-strong);border-radius:999px;font-size:12.5px;color:var(--text-2);transition:border-color .15s,color .15s,background .15s}.example-chip:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.personal-list{display:flex;flex-wrap:wrap;gap:6px}.personal-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;border:1px solid var(--border);border-radius:999px;font-size:13px;background:var(--surface-sunken)}.onboarding .personal-chip{padding-right:12px}.personal-chip button{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--muted)}.personal-chip button:hover{background:var(--danger-soft);color:var(--danger)}.personal-add{display:flex;gap:8px;margin-top:10px}.personal-add .input{height:36px;font-size:13px}.standalone{display:grid;place-items:center;min-height:100vh;padding:32px 16px}.standalone-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:480px;padding:32px;text-align:center;border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.standalone-card h1{margin-top:6px;font-size:30px}.standalone-card .lead{font-size:15px;color:var(--text-2)}.standalone-icon{display:grid;place-items:center;width:64px;height:64px;margin-top:16px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.standalone-note{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.standalone-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.public-badge{margin-left:4px}.onboarding{max-width:820px}.onboarding-card{overflow:hidden;border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel-bg);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.onboarding-top{display:flex;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border)}.onboarding-step{font-size:12px;font-weight:600;color:var(--muted)}.onboarding-dots{display:flex;gap:6px}.onboarding-dots span{width:26px;height:4px;border-radius:2px;background:var(--border-strong);transition:background .2s}.onboarding-dots span.is-done{background:var(--accent)}.onboarding-skip{margin-left:auto;font-size:13px;color:var(--muted)}.onboarding-skip:hover{color:var(--text);text-decoration:underline}.onboarding-body{display:flex;flex-direction:column;gap:16px;padding:36px 40px 30px;animation:modal-in .25s ease-out}.onboarding-body h1{font-size:34px}.onboarding-body .lead{margin-top:-6px;font-size:16px;color:var(--text-2)}.onboarding-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.onboarding-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}.onboarding-feature,.onboarding-example{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised)}.onboarding-feature .icon{color:var(--accent-text)}.onboarding-feature span,.onboarding-example p{font-size:13px;color:var(--text-2)}.onboarding-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.onboarding-example h3{display:flex;align-items:center;gap:6px;font-size:18px;color:var(--accent-text)}.onboarding-example ul{display:flex;flex-direction:column;gap:6px;font-size:13.5px}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}@media(max-width:760px){.onboarding-body{padding:24px 18px}.onboarding-features,.visibility-options{grid-template-columns:1fr}.invite-form{flex-direction:column;align-items:stretch}}.lang-corner{position:fixed;top:16px;right:16px;z-index:20}.lang-switch{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel-bg);box-shadow:var(--panel-shadow);color:var(--text-2);font-size:12px;font-weight:600;letter-spacing:.06em;transition:color .15s,border-color .15s}.lang-switch:hover,.lang-switch[aria-expanded=true]{color:var(--text);border-color:var(--accent)}.app-header .lang-switch{box-shadow:none}.language-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.language-option{display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;border:1.5px solid var(--panel-border);border-radius:var(--radius-card);background:var(--panel-bg);box-shadow:var(--panel-shadow);transition:border-color .15s,transform .15s,box-shadow .15s}.language-option:hover{transform:translateY(-1px)}.language-option.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring),var(--panel-shadow)}.language-code{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);color:var(--text-2);font-size:12px;font-weight:700;letter-spacing:.06em}.language-option.is-active .language-code{border-color:var(--accent);color:var(--accent)}.language-name{font-family:var(--font-display);font-weight:var(--display-weight);font-size:18px}.language-check{margin-left:auto;color:var(--accent)}.media-video-badge{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px 0 6px;border-radius:999px;background:#14100aad;color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none}.media-video-badge svg{fill:currentColor}.media-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;color:var(--muted);background:var(--surface-sunken)}.media-state.is-failed{color:var(--danger);background:var(--danger-soft)}.lightbox-figure video{display:block;max-width:100%;max-height:min(58vh,620px);border-radius:var(--radius-sm);background:#000;box-shadow:0 18px 40px -16px #00000073}.lightbox-state{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:420px;padding:40px 24px;text-align:center;color:var(--text-2)}.lightbox-state b{font-size:16px;color:var(--text)}.lightbox-state p{font-size:13.5px;color:var(--muted)}.lightbox-state.is-failed{color:var(--danger)}@media(max-width:760px){.lightbox-figure video{max-height:calc(100dvh - 260px)}.lightbox-stage.has-video .lightbox-nav{top:12px;bottom:auto}}.qr-code{display:block;width:100%;height:auto}.qr-code .qr-bg{fill:#fff}.qr-code .qr-fg{fill:#1c1812}.detail-hero .detail-hero-text{flex:1;min-width:0}.qr-tile{flex:none;align-self:flex-start;width:64px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm);cursor:zoom-in;transition:transform .15s,box-shadow .15s}.qr-tile:hover{transform:translateY(-2px) rotate(-1deg)}.qr-dialog{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.qr-frame{width:min(260px,100%);padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.qr-text{color:var(--text-2);font-size:14px}.qr-dialog .copy-field{width:100%}.qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.qr-actions .btn{display:inline-flex;align-items:center;gap:8px}.qr-hint{color:var(--muted);font-size:12px}.switch{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:999px;color:var(--text-2);font-size:12.5px;font-weight:600}.switch:hover{color:var(--text)}.switch:disabled{opacity:.5}.switch-track{position:relative;flex:none;width:34px;height:20px;border-radius:999px;background:var(--border-strong);transition:background .18s}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.switch.is-on .switch-track{background:var(--accent)}.switch.is-on .switch-thumb{transform:translate(14px)}.switch-label{display:inline-flex;align-items:center;gap:5px}.settings-hint{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:12.5px}.settings-hint svg{flex:none;margin-top:2px}.profile-page{min-height:100vh;min-height:100dvh;padding:0 16px 40px}.profile-top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:560px;margin:0 auto;padding:14px 0}.profile-brand{color:inherit;text-decoration:none}.profile-top .lang-switch{box-shadow:none}.profile-main{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:0 auto}.profile-card{border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:var(--panel-bg);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);overflow:hidden}.profile-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 20px 24px;text-align:center;background:linear-gradient(to bottom,var(--accent-soft),transparent);border-bottom:1px solid var(--border)}.profile-badge{display:inline-flex;align-items:center;gap:5px;margin-bottom:14px}.profile-portrait{border-radius:50%;margin-bottom:12px;transition:transform .18s}.profile-portrait:not(:disabled){cursor:zoom-in}.profile-portrait:not(:disabled):hover{transform:scale(1.03)}.profile-portrait .portrait-lg{width:128px;height:128px;font-size:44px}.profile-hero h1{font-size:clamp(28px,8vw,38px);line-height:1.1;overflow-wrap:anywhere}.profile-span{font-family:var(--font-display);font-size:18px;color:var(--text-2);font-variant-numeric:oldstyle-nums}.profile-hero .detail-job{justify-content:center}.profile-section{padding:20px 20px 22px}.profile-section+.profile-section{border-top:1px solid var(--border)}.profile-section h2{display:flex;align-items:baseline;margin-bottom:12px;font-size:19px}.profile-media{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-section .fam-person{cursor:default}.profile-source{display:flex;align-items:flex-start;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-sunken);color:var(--muted);font-size:13px}.profile-source svg{flex:none;margin-top:2px}.profile-source span{display:flex;flex-direction:column}.profile-source small{font-size:12px}.profile-cta{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 20px;text-align:center;color:var(--text-2);font-size:14px}.profile-missing{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;text-align:center}.profile-missing h1{font-size:24px}.profile-missing p{color:var(--muted)}@media(min-width:761px){.profile-page{padding-top:12px}.profile-media{grid-template-columns:repeat(4,1fr)}}@media(max-width:380px){.profile-section{padding:18px 16px 20px}.profile-media{gap:6px}}.verify-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--accent-soft);color:var(--text-2);font-size:13.5px;text-align:center}.verify-banner>svg{flex:none;color:var(--accent-text)}.auth-forgot{display:block;width:fit-content;margin:-6px 0 0 auto;font-size:13px;color:var(--accent-text)}.standalone-form{width:100%;margin-top:8px;text-align:left}.standalone-form .btn{width:100%}.standalone-link{margin-top:4px;font-size:13.5px;color:var(--accent-text)}.standalone .lead .spinner{display:inline-block;vertical-align:-2px;margin-right:6px}.focus-frame{position:relative;display:inline-block;line-height:0}.focus-frame.is-active img{cursor:crosshair;outline:2px dashed var(--accent);outline-offset:4px}.focus-marker{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--accent),0 2px 10px #00000059;pointer-events:none}.focus-hint p{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:14px}.focus-hint p svg{flex:none;color:var(--accent-text)}[data-theme=archiv]{--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .16 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--paper: #f3ead8;--card: #fbf6ea;--bg: var(--paper);--bg-image: var(--noise), radial-gradient(ellipse at 0 0, #faf4e6, transparent 60%), radial-gradient(ellipse at 100% 100%, #e4d4b3, transparent 55%);--surface-raised: #fbf6ea;--surface-hover: #f4ebd8;--surface-sunken: rgba(138, 114, 84, .1);--input-bg: rgba(255, 250, 238, .8);--panel-bg: #faf4e6;--panel-border: rgba(92, 70, 40, .26);--panel-shadow: 0 1px 0 #fffaf0 inset, 0 20px 40px -28px rgba(60, 40, 20, .45);--panel-blur: none;--popover-bg: #fcf8ee;--modal-bg: #fbf6ea;--border: rgba(92, 70, 40, .16);--border-strong: rgba(92, 70, 40, .3);--text: #2e2418;--text-2: #6b5a44;--muted: #8d7a5d;--faint: #a8977a;--accent: #7b2d26;--accent-text: #7b2d26;--accent-contrast: #fbf3e4;--accent-soft: rgba(123, 45, 38, .07);--accent-ring: rgba(123, 45, 38, .14);--btn-primary-bg: #7b2d26;--btn-primary-shadow: 0 6px 16px -8px rgba(123, 45, 38, .6);--segment-active-bg: #2e2418;--segment-active-text: #f3ead8;--gold: #b08a4f;--danger: #a3261c;--danger-soft: rgba(163, 38, 28, .08);--success: #8fce9b;--living-bg: rgba(90, 120, 70, .12);--living-text: #4f6b3a;--toast-bg: #2e2418;--toast-text: #f3ead8;--overlay: rgba(46, 36, 24, .42);--focus: #7b2d26;--line: #8a7254;--line-width: 1.4;--tree-art-knot: #2a2016;--tree-art-leaf: rgba(176, 138, 79, .18);--font-display: "Cormorant Garamond", Georgia, serif;--font-ui: "Libre Franklin", system-ui, sans-serif;--display-weight: 600;--radius-sm: 3px;--radius: 3px;--radius-lg: 4px;--radius-xl: 4px;--radius-card: 3px;--shadow-sm: 0 1px 2px rgba(60, 40, 20, .12);--shadow-lg: 0 24px 50px -20px rgba(60, 40, 20, .45);--label-size: 10.5px;--label-spacing: .16em;--label-transform: uppercase;--page-title-size: 50px;--tree-title-size: 50px;--modal-title-size: 30px;--auth-title-size: 46px;--canvas-inset-left: 90px;--canvas-inset-right: 30px;--canvas-inset-top: 30px;--canvas-inset-bottom: 30px}[data-theme=archiv] .btn{font-weight:500;letter-spacing:.01em}[data-theme=archiv] .btn-secondary{background:transparent;border-color:#8a7254}[data-theme=archiv] .btn-secondary:hover:not(:disabled){background:#8a725414}[data-theme=archiv] legend,[data-theme=archiv] .settings-intro h2{font-style:italic}[data-theme=archiv] .segmented>*{font-size:11px;letter-spacing:.14em;text-transform:uppercase}[data-theme=archiv] .eyebrow:after{content:"";width:48px;height:1px;margin-left:6px;background:currentColor;opacity:.5}[data-theme=archiv] .page-sub,[data-theme=archiv] .tree-sub{font-family:var(--font-display);font-style:italic;font-size:19px}[data-theme=archiv] .app-header{height:70px;padding:0 36px;border-bottom:1px solid var(--border)}[data-theme=archiv] .brand{font-style:italic;font-size:29px;color:var(--text)}[data-theme=archiv] .brand em{font-style:italic}[data-theme=archiv] .main-nav{gap:28px}[data-theme=archiv] .main-nav a{padding:25px 0 22px;border-bottom:2px solid transparent;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}[data-theme=archiv] .main-nav a .icon{display:none}[data-theme=archiv] .main-nav a:hover{color:var(--text)}[data-theme=archiv] .main-nav a.active{color:var(--text);border-color:var(--accent)}[data-theme=archiv] .avatar{background:var(--accent);color:var(--card);font-family:var(--font-display);font-style:italic;font-size:17px;font-weight:600;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--gold)}[data-theme=archiv] .tree-card,[data-theme=archiv] .settings-card,[data-theme=archiv] .theme-option{background-image:var(--noise);box-shadow:inset 0 0 0 4px var(--panel-bg),inset 0 0 0 5px #5c46281f,var(--panel-shadow)}[data-theme=archiv] .tree-card.tree-card-new{background:transparent;box-shadow:none;font-family:var(--font-display);font-style:italic;font-size:19px;font-weight:500}[data-theme=archiv] .tree-card h2{font-size:28px}[data-theme=archiv] .tree-card-icon{border-radius:50%;border:1px solid var(--border-strong);background:transparent}[data-theme=archiv] .tree-card-desc{font-family:var(--font-display);font-style:italic;font-size:16px}[data-theme=archiv] .tree-page{display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-areas:"info info" "stage detail";gap:20px 26px;padding:0 36px 36px}[data-theme=archiv] .tree-page.is-empty,[data-theme=archiv] .tree-page.no-detail{grid-template-areas:"info info" "stage stage"}[data-theme=archiv] .tree-info{grid-area:info;display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 28px;padding-top:28px}[data-theme=archiv] .tree-info-text{flex:1 1 360px}[data-theme=archiv] .tree-stats{order:3;flex-basis:100%;gap:0;margin-top:-2px;font-family:var(--font-display);font-style:italic;font-size:18px;color:var(--text-2)}[data-theme=archiv] .tree-stats div{display:flex;gap:5px}[data-theme=archiv] .tree-stats div+div:before{order:-2;content:"·";margin:0 10px}[data-theme=archiv] .tree-stats dd{order:-1;font-style:normal;font-weight:600;color:var(--accent)}[data-theme=archiv] .tree-stage{grid-area:stage;height:calc(100vh - 250px);min-height:520px;background:#f8f0de var(--noise);border:1px solid var(--panel-border);box-shadow:0 1px #fffaf0 inset,0 24px 50px -30px #3c281473}[data-theme=archiv] .tree-stage:before{content:"";position:absolute;inset:7px;z-index:1;border:1px solid var(--border);pointer-events:none}[data-theme=archiv] .canvas-zoom{position:absolute;top:18px;right:20px;border:1px solid var(--border);border-radius:3px;background:#fcf8eee6}[data-theme=archiv] .gen-label{display:block;position:absolute;left:-40px;height:160px;margin-top:-80px;line-height:28px;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--faint);white-space:nowrap;pointer-events:none}[data-theme=archiv] .gen-label b{font-style:normal;font-weight:600;color:var(--accent);margin-inline-end:4px}[data-theme=archiv] .pcard{padding:12px 14px;background:var(--card);border:1px solid rgba(92,70,40,.3);border-radius:2px;box-shadow:inset 0 0 0 3px var(--card),inset 0 0 0 4px #5c462829,0 2px 4px #3c28140f,0 12px 26px -16px #3c281466}[data-theme=archiv] .pcard:hover{box-shadow:inset 0 0 0 3px var(--card),inset 0 0 0 4px #5c462833,0 4px 8px #3c281414,0 18px 30px -16px #3c281480}[data-theme=archiv] .pcard.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--card),inset 0 0 0 4px #7b2d2673,0 0 0 3px #7b2d261f,0 18px 30px -16px #3c281480}[data-theme=archiv] .pcard-name{font-family:var(--font-display);font-weight:600;font-size:19px;line-height:1.05}[data-theme=archiv] .pcard-birth{font-family:var(--font-display);font-style:italic;font-size:14.5px;color:var(--text-2)}[data-theme=archiv] .pcard-years{letter-spacing:.06em;color:var(--text-2)}[data-theme=archiv] .pcard-years em{color:var(--accent)}[data-theme=archiv] .union-badge{background:var(--paper);border:1px solid var(--line);color:var(--accent)}[data-theme=archiv] .portrait{border-radius:50%;font-family:var(--font-display);font-style:italic;font-weight:600;color:#fbf3e4;text-shadow:0 1px 2px rgba(60,40,20,.35);background:radial-gradient(circle at 42% 32%,#d8c09a,#a8845a 62%,#76583a);box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--line)}[data-theme=archiv] .portrait-f{background:radial-gradient(circle at 42% 32%,#dcc2a8,#ad8567 62%,#7a5642)}[data-theme=archiv] .portrait-x{background:radial-gradient(circle at 42% 32%,#d3c6a8,#9c8b68 62%,#6d5f45)}[data-theme=archiv] .portrait.is-deceased{filter:sepia(.35) saturate(.75) brightness(.95)}[data-theme=archiv] .portrait-md{width:52px;height:64px;font-size:22px}[data-theme=archiv] .portrait-lg{width:88px;height:110px;font-size:38px}[data-theme=archiv] .portrait-sm{width:30px;height:36px;font-size:13px}[data-theme=archiv] .tree-detail{grid-area:detail;position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto;padding:24px 28px 28px;background-color:#fcf8ee;background-image:var(--noise),repeating-linear-gradient(to bottom,transparent 0 33px,rgba(123,45,38,.06) 33px 34px);border:1px solid var(--panel-border);box-shadow:0 24px 50px -30px #3c281480}[data-theme=archiv] .detail-head{padding-bottom:12px;border-bottom:4px double rgba(123,45,38,.45)}[data-theme=archiv] .detail-number{font-family:var(--font-display);font-style:italic;font-size:17px;color:var(--text-2)}[data-theme=archiv] .detail-hero{margin:26px 0 4px}[data-theme=archiv] .detail-hero h2{font-size:32px;line-height:1}[data-theme=archiv] .detail-birthname{font-family:var(--font-display);font-style:italic;font-size:17px}[data-theme=archiv] .life-tag{border-radius:2px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}[data-theme=archiv] .detail-section h3{margin:24px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--border);font-style:italic;font-size:20px;color:var(--accent)}[data-theme=archiv] .facts{display:grid;gap:6px}[data-theme=archiv] .fact{display:grid;grid-template-columns:100px 1fr;align-items:baseline}[data-theme=archiv] .fact dt{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}[data-theme=archiv] .fact dt .icon{display:none}[data-theme=archiv] .fact dd{font-family:var(--font-display);font-size:17px}[data-theme=archiv] .fact dd small{font-style:italic;font-size:15px;color:var(--text-2)}[data-theme=archiv] .fam-group{display:grid;grid-template-columns:100px 1fr;align-items:start}[data-theme=archiv] .fam-label{margin:6px 0 0;font-weight:400}[data-theme=archiv] .fam-person{padding:3px 0}[data-theme=archiv] .fam-person .portrait{display:none}[data-theme=archiv] .fam-text{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:0 8px}[data-theme=archiv] .fam-text b{font-family:var(--font-display);font-size:17px;border-bottom:1px dotted var(--line)}[data-theme=archiv] .fam-person:hover b{color:var(--accent);border-color:var(--accent)}[data-theme=archiv] .fam-text small{font-family:var(--font-display);font-style:italic;font-size:14px}[data-theme=archiv] .chronicle-item{display:grid;grid-template-columns:58px 1fr;gap:8px;padding:6px 0;border-bottom:1px dotted var(--border)}[data-theme=archiv] .chronicle-item:last-child{border:0}[data-theme=archiv] .chronicle-year{font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.1;color:var(--accent)}[data-theme=archiv] .note{font-family:var(--font-display);font-style:italic;font-size:17px;line-height:1.45;color:var(--text-2);border-left:2px solid var(--gold);padding-left:14px}[data-theme=archiv] .tree-empty-icon{background:transparent;border:1px solid var(--border-strong)}[data-theme=archiv] .tree-empty h2{font-size:34px}[data-theme=archiv] .auth{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}[data-theme=archiv] .auth-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;overflow:hidden;color:#eadcc0;background:#2a2016;background-image:var(--noise),radial-gradient(ellipse at 50% 40%,#3d2e1f,transparent 70%)}[data-theme=archiv] .auth-art .brand{position:relative;z-index:1;color:#f3e6cc}[data-theme=archiv] .auth-art .brand-mark{color:var(--gold)}[data-theme=archiv] .auth-art .tree-art{position:absolute;left:50%;top:50%;width:min(560px,85%);transform:translate(-50%,-52%);opacity:.9}[data-theme=archiv] .auth-art blockquote{position:relative;max-width:460px;font-family:var(--font-display);font-style:italic;font-size:30px;line-height:1.25;color:#f3e6cc}[data-theme=archiv] .auth-art blockquote small{display:block;margin-top:12px;font-family:var(--font-ui);font-style:normal;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}[data-theme=archiv] .auth-panel{display:grid;place-items:center;padding:48px 24px}[data-theme=archiv] .auth-card{width:100%;max-width:400px}[data-theme=archiv] .auth-card-brand{display:none}[data-theme=archiv] .auth-card .segmented{display:inline-flex}[data-theme=archiv] .auth-card .lead{font-family:var(--font-display);font-style:italic;font-size:19px}[data-theme=archiv] .empty-art{--tree-art-knot: var(--paper)}@media(max-width:1100px){[data-theme=archiv] .tree-page{grid-template-columns:1fr;grid-template-areas:"info" "stage" "detail";padding:0 16px 32px}[data-theme=archiv] .tree-stage{height:62vh;min-height:420px}[data-theme=archiv] .tree-detail{position:static;max-height:none}[data-theme=archiv] .auth{grid-template-columns:1fr}[data-theme=archiv] .auth-art{min-height:300px}}@media(max-width:760px){[data-theme=archiv] .app-header{padding:0 16px;gap:16px}[data-theme=archiv] .brand{font-size:24px}[data-theme=archiv] .main-nav a{font-size:11px;letter-spacing:.08em}[data-theme=archiv]{--page-title-size: 38px;--tree-title-size: 38px;--canvas-inset-left: 60px}[data-theme=archiv] .tree-actions{flex-wrap:wrap}[data-theme=archiv] .tree-search{width:100%}}[data-theme=archiv]{--lightbox-overlay: rgba(46, 36, 24, .42);--lightbox-bg: #fbf6ea;--lightbox-stage: #efe4cc var(--noise)}[data-theme=archiv] .lightbox{background-image:var(--noise);border-color:#5c46284d}[data-theme=archiv] .lightbox-title h2{font-style:italic;font-size:24px}[data-theme=archiv] .lightbox-figure img,[data-theme=archiv] .photo-thumb{padding:8px;background:#fffdf6;border-radius:1px;box-shadow:0 1px #5c462833,0 16px 34px -14px #3c28148c}[data-theme=archiv] .photo-thumb{padding:4px}[data-theme=archiv] .caption-text{font-style:italic;font-size:23px}[data-theme=archiv] .caption-text.is-empty{font-size:19px}[data-theme=archiv] .lightbox-nav{background:#fbf6ea;border-color:#5c46284d}[data-theme=archiv] .lightbox-thumb{border-radius:1px;border:3px solid #fffdf6;box-shadow:0 2px 6px #3c281440}[data-theme=archiv] .detail-portrait-badge,[data-theme=archiv] .pcard-photo-count{border-radius:2px;box-shadow:0 0 0 2px var(--card)}[data-theme=archiv] .detail-portrait{border-radius:50%}[data-theme=archiv] .section-count{color:var(--faint)}[data-theme=archiv] .personal-chip,[data-theme=archiv] .example-chip{border-radius:2px;font-family:var(--font-display);font-style:italic;font-size:15px}[data-theme=archiv] .chronicle-tag{border-radius:2px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}[data-theme=archiv] .activity-body p,[data-theme=archiv] .onboarding-example ul{font-family:var(--font-display);font-size:16px}[data-theme=archiv] .onboarding-body h1,[data-theme=archiv] .standalone-card h1{font-style:italic}[data-theme=archiv] .onboarding-card,[data-theme=archiv] .standalone-card{background-image:var(--noise);box-shadow:inset 0 0 0 5px var(--panel-bg),inset 0 0 0 6px #5c462824,var(--panel-shadow)}[data-theme=archiv] .invites-banner{border-radius:3px}[data-theme=archiv] .profile-section .fam-text b,[data-theme=archiv] .profile-section .fam-person:hover b{border-bottom:0;color:inherit}[data-theme=lichtung]{--bg: #f4f2ec;--bg-image: radial-gradient(900px 600px at 12% 8%, rgba(127, 181, 154, .22), transparent 60%), radial-gradient(800px 600px at 88% 95%, rgba(216, 180, 111, .22), transparent 60%), radial-gradient(1200px 800px at 50% 50%, #faf8f3, #f4f2ec);--surface-raised: rgba(255, 255, 255, .85);--surface-hover: #fff;--surface-sunken: rgba(40, 60, 50, .05);--input-bg: rgba(255, 255, 255, .8);--glass: linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .64));--panel-bg: var(--glass);--panel-border: rgba(40, 60, 50, .09);--panel-shadow: 0 1px 2px rgba(40, 50, 40, .05), 0 20px 44px -22px rgba(50, 60, 45, .28), inset 0 1px 0 #fff;--panel-blur: blur(18px) saturate(1.3);--popover-bg: rgba(255, 255, 255, .94);--modal-bg: #fcfbf8;--border: rgba(40, 60, 50, .1);--border-strong: rgba(40, 60, 50, .17);--text: #1c2a24;--text-2: #4a5a52;--muted: #6b7b73;--faint: #9aa79f;--gold: #b98d3f;--gold-light: #e7c686;--accent: #b98d3f;--accent-text: #8f6a26;--accent-contrast: #1d160a;--accent-soft: rgba(216, 180, 111, .15);--accent-ring: rgba(216, 180, 111, .28);--btn-primary-bg: linear-gradient(180deg, #e7c686, #c99f55);--btn-primary-shadow: 0 8px 22px -10px rgba(185, 141, 63, .75), inset 0 1px 0 rgba(255, 255, 255, .4);--segment-active-bg: linear-gradient(180deg, rgba(216, 180, 111, .3), rgba(216, 180, 111, .14));--segment-active-text: #8f6a26;--danger: #b3261e;--danger-soft: rgba(179, 38, 30, .08);--success: #7fd1a4;--living-bg: rgba(63, 122, 94, .1);--living-text: #3f7a5e;--toast-bg: #1c2a24;--toast-text: #eef3ef;--overlay: rgba(28, 42, 36, .28);--focus: #b98d3f;--line: #c49a4f;--line-width: 1.6;--tree-art-knot: #fbf8f1;--tree-art-leaf: rgba(216, 180, 111, .2);--font-display: "Fraunces", Georgia, serif;--font-ui: "Manrope", system-ui, sans-serif;--display-weight: 400;--radius-sm: 10px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-card: 20px;--shadow-sm: 0 1px 3px rgba(40, 50, 40, .1);--shadow-lg: 0 24px 60px -20px rgba(40, 50, 40, .35);--label-size: 11px;--label-spacing: .1em;--label-transform: uppercase;--page-title-size: 40px;--tree-title-size: 30px;--modal-title-size: 26px;--auth-title-size: 30px;--canvas-inset-left: 340px;--canvas-inset-right: 400px;--canvas-inset-top: 104px;--canvas-inset-bottom: 90px}[data-theme=lichtung] body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(40,70,55,.13) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%)}[data-theme=lichtung] .app-header,[data-theme=lichtung] .tree-info,[data-theme=lichtung] .tree-detail,[data-theme=lichtung] .canvas-zoom,[data-theme=lichtung] .pcard,[data-theme=lichtung] .auth-card,[data-theme=lichtung] .tree-empty-card{background:var(--glass);border:1px solid var(--panel-border);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--panel-shadow)}[data-theme=lichtung] .btn-primary{border:0}[data-theme=lichtung] h1 em,[data-theme=lichtung] .brand em{font-style:italic;font-weight:400;color:var(--gold)}[data-theme=lichtung] .app-header{position:fixed;top:18px;left:18px;right:18px;height:60px;padding:0 12px 0 20px;gap:22px;border-radius:18px}[data-theme=lichtung] .app-main{padding-top:96px}[data-theme=lichtung] .brand{font-size:22px;letter-spacing:-.01em}[data-theme=lichtung] .brand-mark{width:30px;height:30px;border-radius:50%;color:var(--gold);background:radial-gradient(circle,rgba(216,180,111,.25),transparent 70%);box-shadow:inset 0 0 0 1px #b98d3f66}[data-theme=lichtung] .main-nav{margin:0 auto;padding:4px;gap:2px;border-radius:14px;background:#283c320d;border:1px solid var(--border)}[data-theme=lichtung] .main-nav a{height:32px;padding:0 16px;border-radius:10px;font-weight:600;font-size:13px;color:var(--muted)}[data-theme=lichtung] .main-nav a:hover{color:var(--text)}[data-theme=lichtung] .main-nav a.active{background:var(--segment-active-bg);color:var(--accent-text);box-shadow:inset 0 0 0 1px #b98d3f59,0 1px 2px #785a1e1f}[data-theme=lichtung] .header-right{margin-left:0}[data-theme=lichtung] .avatar{color:#1a140a;background:linear-gradient(135deg,#ecd29c,#c99f55)}[data-theme=lichtung] .page-head h1,[data-theme=lichtung] .tree-info h1{letter-spacing:-.02em}[data-theme=lichtung] .tree-card h2{font-weight:600;font-size:22px}[data-theme=lichtung] .tree-card-icon{border-radius:50%;color:var(--gold);background:radial-gradient(circle,rgba(216,180,111,.22),transparent 72%);box-shadow:inset 0 0 0 1px #b98d3f59}[data-theme=lichtung] .tree-card-new{border:1.5px dashed rgba(185,141,63,.35);background:#ffffff59}[data-theme=lichtung] .settings-section{border-top-color:#283c3214}[data-theme=lichtung] .tree-stage{position:fixed;inset:0;z-index:0}[data-theme=lichtung] .tree-info{position:fixed;left:18px;bottom:18px;z-index:10;width:300px;max-height:calc(100vh - 114px);overflow:auto;display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:20px}[data-theme=lichtung] .tree-info h1{font-size:30px;line-height:1.05}[data-theme=lichtung] .tree-sub{font-size:13px;color:var(--muted)}[data-theme=lichtung] .tree-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}[data-theme=lichtung] .tree-stats div{display:flex;flex-direction:column-reverse;padding:10px;border-radius:12px;background:#ffffffa6;border:1px solid var(--border)}[data-theme=lichtung] .tree-stats dd{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.1}[data-theme=lichtung] .tree-stats dt{font-size:11px;color:var(--muted)}[data-theme=lichtung] .tree-actions{flex-wrap:wrap}[data-theme=lichtung] .tree-search{width:100%}[data-theme=lichtung] .tree-actions>.btn-primary{flex:1}[data-theme=lichtung] .canvas-zoom{position:fixed;bottom:18px;right:396px;padding:5px;border-radius:14px}[data-theme=lichtung] .tree-page.is-empty .canvas-zoom{display:none}[data-theme=lichtung] .tree-page.no-detail{--canvas-inset-right: 24px}[data-theme=lichtung] .tree-page.no-detail .canvas-zoom{right:18px}[data-theme=lichtung] .connector-descent{stroke:url(#connector-gradient)}[data-theme=lichtung] .connector-stop-a{stop-color:#d9b56e}[data-theme=lichtung] .connector-stop-b{stop-color:#a47b34}[data-theme=lichtung] .connector-glow{display:block;stroke:#d8b46f47;stroke-width:6;filter:blur(5px)}[data-theme=lichtung] .connector-couple{stroke:#b98d3f99;stroke-dasharray:3 5}[data-theme=lichtung] .pcard{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(180deg,#fffffff0,#fffc);gap:13px;padding:0 16px;border-radius:20px}[data-theme=lichtung] .pcard:hover{transform:translateY(-3px);border-color:var(--border-strong)}[data-theme=lichtung] .pcard.is-selected{border-color:#b98d3f99;box-shadow:0 0 0 1px #d8b46f59,0 0 40px -8px #d8b46f73,0 24px 44px -20px #503c144d}[data-theme=lichtung] .pcard.is-selected:after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(216,180,111,.16),transparent 55%);pointer-events:none}[data-theme=lichtung] .pcard-name{font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.15}[data-theme=lichtung] .pcard-birth{font-size:12px;color:var(--muted);margin-top:2px}[data-theme=lichtung] .pcard-years{margin-top:7px;font-size:12px;font-weight:600;color:var(--text-2)}[data-theme=lichtung] .pcard-years em{color:var(--gold);margin-right:3px}[data-theme=lichtung] .union-badge{width:24px;height:24px;color:var(--accent-text);background:#fffdf7;border:1px solid rgba(185,141,63,.55);box-shadow:0 0 14px #d8b46f66;font-size:12px}[data-theme=lichtung] .portrait{padding:2px;background:conic-gradient(from 210deg,#e7c686,var(--gold),rgba(216,180,111,.2),#e7c686)}[data-theme=lichtung] .portrait-inner{font-family:var(--font-display);font-weight:600;color:var(--accent-text);background:radial-gradient(circle at 35% 30%,#fffdf8,#f1eadb)}[data-theme=lichtung] .portrait.is-deceased{background:conic-gradient(from 210deg,#b9c3bd,#8a978f,#283c3214,#b9c3bd)}[data-theme=lichtung] .portrait.is-deceased .portrait-inner{color:#6f7d76;background:radial-gradient(circle at 35% 30%,#fbfcfb,#e9ecea)}[data-theme=lichtung] .portrait-lg{width:96px;height:96px;padding:3px;box-shadow:0 0 50px -10px #d8b46f99}[data-theme=lichtung] .portrait-sm{width:30px;height:30px;padding:1.5px;font-size:11px}[data-theme=lichtung] .portrait-xs{padding:1.5px}[data-theme=lichtung] .tree-detail{position:fixed;top:96px;right:18px;bottom:18px;z-index:10;width:360px;overflow:auto;border-radius:22px;scrollbar-width:thin;scrollbar-color:rgba(40,60,50,.18) transparent}[data-theme=lichtung] .detail-head{position:absolute;top:12px;left:18px;right:12px;z-index:1}[data-theme=lichtung] .detail-kicker{color:var(--gold)}[data-theme=lichtung] .detail-number{font-size:12px}[data-theme=lichtung] .detail{position:relative}[data-theme=lichtung] .detail-hero{flex-direction:column;gap:0;padding:44px 24px 20px;text-align:center;border-bottom:1px solid var(--border);background:radial-gradient(260px 160px at 50% 0,rgba(216,180,111,.18),transparent 70%)}[data-theme=lichtung] .detail-hero .portrait{margin-bottom:14px}[data-theme=lichtung] .detail-hero h2{font-size:28px}[data-theme=lichtung] .detail-birthname,[data-theme=lichtung] .detail-job{justify-content:center;color:var(--muted)}[data-theme=lichtung] .detail-section{padding:0 24px}[data-theme=lichtung] .detail-section h3{margin:22px 0 12px;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}[data-theme=lichtung] .facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}[data-theme=lichtung] .fact{padding:12px;border-radius:14px;background:#ffffffa6;border:1px solid var(--border)}[data-theme=lichtung] .fact dt{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}[data-theme=lichtung] .fact dd{margin-top:6px;font-size:13.5px;font-weight:600}[data-theme=lichtung] .fact dd small{display:block;font-weight:500;color:var(--muted)}[data-theme=lichtung] .fam-list{display:flex;flex-wrap:wrap;gap:8px}[data-theme=lichtung] .fam-item{position:relative;border-radius:999px;background:#fff9;border:1px solid var(--border);transition:.15s}[data-theme=lichtung] .fam-item:hover{border-color:#b98d3f80;background:#d8b46f14}[data-theme=lichtung] .fam-person{gap:9px;padding:5px 4px 5px 5px}[data-theme=lichtung] .fam-text b{font-size:12.5px;line-height:1.15}[data-theme=lichtung] .fam-text small{font-size:11px}[data-theme=lichtung] .fam-menu{width:26px;height:26px;margin-right:4px;border-radius:50%}[data-theme=lichtung] .chronicle{position:relative;margin-left:4px}[data-theme=lichtung] .chronicle:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--gold),rgba(216,180,111,.05))}[data-theme=lichtung] .chronicle-item{position:relative;padding:0 0 16px 26px}[data-theme=lichtung] .chronicle-item:before{content:"";position:absolute;left:0;top:5px;width:11px;height:11px;border-radius:50%;background:#fffdf7;border:1.5px solid var(--gold);box-shadow:0 0 8px #d8b46f73}[data-theme=lichtung] .chronicle-year{display:block;font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1;color:var(--accent-text);margin-bottom:4px}[data-theme=lichtung] .note{padding:16px 18px;border-radius:14px;font-family:var(--font-display);font-style:italic;font-size:15.5px;line-height:1.55;color:var(--text-2);background:#d8b46f1a;border:1px solid rgba(185,141,63,.2)}[data-theme=lichtung] .note.is-empty{color:var(--muted)}[data-theme=lichtung] .detail-actions{padding:0 24px 24px}[data-theme=lichtung] .detail-actions .btn{flex:1}[data-theme=lichtung] .life-tag{border:1px solid rgba(63,122,94,.22)}[data-theme=lichtung] .life-tag.is-deceased{border-color:var(--border)}[data-theme=lichtung] .tree-empty{padding-left:var(--canvas-inset-left)}[data-theme=lichtung] .tree-empty-icon{color:var(--gold);background:radial-gradient(circle,rgba(216,180,111,.25),transparent 70%);box-shadow:inset 0 0 0 1px #b98d3f59}[data-theme=lichtung] .auth{position:relative;min-height:100vh;display:grid;place-items:center;padding:40px 20px;overflow:hidden}[data-theme=lichtung] .auth-art .brand,[data-theme=lichtung] .auth-art blockquote{display:none}[data-theme=lichtung] .auth-art .tree-art{position:fixed;left:50%;top:52%;width:min(760px,95vw);transform:translate(-50%,-50%);opacity:.7;pointer-events:none;filter:drop-shadow(0 0 14px rgba(216,180,111,.45))}[data-theme=lichtung] .auth-panel{position:relative;width:100%;max-width:430px}[data-theme=lichtung] .auth-card{padding:36px 34px 30px;border-radius:26px}[data-theme=lichtung] .auth-card-brand{display:flex;justify-content:center}[data-theme=lichtung] .auth-card-brand .brand{font-size:30px}[data-theme=lichtung] .auth-card-brand .brand-mark{width:38px;height:38px}[data-theme=lichtung] .auth-card .segmented{margin-top:24px}[data-theme=lichtung] .auth-card h1,[data-theme=lichtung] .auth-card .lead{text-align:center}[data-theme=lichtung] .auth-card .input{height:48px;border-radius:14px}@media(max-width:1180px){[data-theme=lichtung]{--canvas-inset-left: 24px;--canvas-inset-right: 24px;--canvas-inset-top: 24px;--canvas-inset-bottom: 24px}[data-theme=lichtung] .tree-page{display:flex;flex-direction:column;gap:14px;padding:0 18px 24px}[data-theme=lichtung] .tree-info,[data-theme=lichtung] .tree-detail{position:static;width:auto;max-height:none}[data-theme=lichtung] .tree-stage{position:relative;height:62vh;min-height:400px;border-radius:20px;overflow:hidden;border:1px solid var(--panel-border);background:#ffffff59}[data-theme=lichtung] .canvas-zoom{position:absolute;right:12px;bottom:12px}[data-theme=lichtung] .tree-empty{padding-left:32px}}@media(max-width:760px){[data-theme=lichtung] .app-header{left:10px;right:10px;top:10px;gap:10px;padding:0 8px 0 12px}[data-theme=lichtung] .brand{font-size:19px}[data-theme=lichtung] .main-nav{margin:0 0 0 auto}[data-theme=lichtung] .main-nav a{padding:0 10px}[data-theme=lichtung] .app-main{padding-top:84px}}[data-theme=lichtung]{--lightbox-overlay: rgba(28, 42, 36, .22);--lightbox-bg: rgba(255, 255, 255, .86);--lightbox-stage: radial-gradient(600px 300px at 50% 40%, rgba(216, 180, 111, .14), transparent 70%), rgba(244, 242, 236, .6)}[data-theme=lichtung] .lightbox{backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border-color:#ffffffb3}[data-theme=lichtung] .lightbox-figure img{border-radius:14px;box-shadow:0 0 0 1px #283c320f,0 24px 50px -18px #323c2d73}[data-theme=lichtung] .caption-text{font-style:italic}[data-theme=lichtung] .lightbox-nav{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=lichtung] .lightbox-thumb{border-radius:12px}[data-theme=lichtung] .lightbox-thumb.is-active{outline-color:var(--gold);box-shadow:0 0 8px #d8b46f99}[data-theme=lichtung] .photo-thumb{border-radius:14px;border:1px solid var(--border)}[data-theme=lichtung] .detail-portrait{margin-bottom:14px}[data-theme=lichtung] .detail-hero .detail-portrait .portrait{margin-bottom:0}[data-theme=lichtung] .photo-actions .btn{width:100%}[data-theme=lichtung] .tree-detail.is-modal .detail-head{right:56px;padding-right:0}
