:root{--heartwood: #16201b;--spruce: #273b2e;--bark: #3c5142;--moss: #6e8a5e;--paper: #e9e6d8;--linen: #f5f2e9;--line: #cdc8b5;--brass: #b2832f;--brass-soft:#d9b877;--brass-ink: #7c560f;--ink: #1b271f;--muted: #565d51;--danger: #8c3b3b;--font-display: "Fraunces", Georgia, serif;--font-ui: "Archivo", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--shadow-card: 0 1px 2px rgba(22, 32, 27, .08), 0 6px 18px rgba(22, 32, 27, .06);--shadow-drawer: -16px 0 48px rgba(22, 32, 27, .16);--radius: 12px}*{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{height:100%;margin:0}@supports (height: 100dvh){html,body,#app{height:100dvh}}body{font-family:var(--font-ui);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}*{scrollbar-width:thin;scrollbar-color:var(--bark) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--paper);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--bark)}::-webkit-scrollbar-corner{background:transparent}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2.5px solid var(--brass-ink);outline-offset:2px;border-radius:4px}.btn{font-family:var(--font-ui);font-weight:600;font-size:.9rem;letter-spacing:.01em;border:1px solid transparent;border-radius:10px;padding:.55rem .95rem;display:inline-flex;align-items:center;gap:.45rem;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .05s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--spruce);color:var(--linen)}.btn-primary:hover{background:var(--heartwood)}.btn-ghost{background:transparent;color:var(--spruce);border-color:var(--line)}.btn-ghost:hover{background:#273b2e12;border-color:var(--bark)}.btn-danger{background:transparent;color:var(--danger);border-color:#8c3b3b66}.btn-danger:hover{background:#8c3b3b14}.btn-icon{background:var(--linen);border:1px solid var(--line);color:var(--spruce);width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.btn-icon:hover{background:#fff;border-color:var(--bark)}.field{display:flex;flex-direction:column;gap:.35rem}.field>label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.input,.textarea{font-family:var(--font-ui);font-size:.95rem;color:var(--ink);background:var(--linen);border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;width:100%}.input:focus,.textarea:focus{outline:none;border-color:var(--brass);background:#fff}.textarea{resize:vertical;min-height:5rem;line-height:1.5}.input-mono{font-family:var(--font-mono);letter-spacing:-.02em}.row{display:flex;gap:.75rem}.row>*{flex:1}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(pointer:coarse){.btn-icon{min-width:44px;min-height:44px}.node__toggle{min-width:32px;height:30px}.chip,.chip--x{min-height:40px}}@media screen{.print-root{display:none!important}}@media print{@page{size:A4 landscape;margin:8mm}html,body,#app{height:auto!important;overflow:visible!important;background:#fff!important}.app,.login,.landing,.boot{display:none!important}.print-root{display:flex!important}}.powered-by[data-v-2bff96dc]{display:inline-flex;align-items:center;gap:.5rem;color:#8a9488;font-size:.72rem;letter-spacing:.02em}.powered-by.on-light[data-v-2bff96dc]{color:var(--muted)}.powered-by__link[data-v-2bff96dc]{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;opacity:.7;transition:opacity .2s ease}.powered-by__link[data-v-2bff96dc]:hover{opacity:1}.powered-by__link img[data-v-2bff96dc]{height:1.4rem;width:auto;display:block}.powered-by__v[data-v-2bff96dc]{opacity:.6;padding-left:.5rem;border-left:1px solid currentColor}.m-scrim[data-v-17142435]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16201b52;z-index:60}.m-scrim-enter-active[data-v-17142435],.m-scrim-leave-active[data-v-17142435]{transition:opacity .2s ease}.m-scrim-enter-from[data-v-17142435],.m-scrim-leave-to[data-v-17142435]{opacity:0}.m-modal[data-v-17142435]{position:fixed;z-index:65;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--paper);border-radius:16px;box-shadow:0 24px 70px #16201b4d;display:flex;flex-direction:column;overflow:hidden;text-align:left}.m-pop-enter-active[data-v-17142435],.m-pop-leave-active[data-v-17142435]{transition:opacity .2s ease,transform .2s cubic-bezier(.22,1,.36,1)}.m-pop-enter-from[data-v-17142435],.m-pop-leave-to[data-v-17142435]{opacity:0;transform:translate(-50%,-48%) scale(.97)}.m-modal__head[data-v-17142435]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);background:var(--linen)}.m-modal__head h2[data-v-17142435]{font-size:1.3rem;color:var(--heartwood)}.m-modal__body[data-v-17142435]{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:1rem 1.2rem 1.2rem}.m-modal__foot[data-v-17142435]{padding:.9rem 1.2rem;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:.6rem}.beta-link[data-v-99d6c3cb]{background:none;border:none;color:var(--brass-soft);font-size:.82rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.3rem;opacity:.85}.beta-link[data-v-99d6c3cb]:hover{opacity:1}.beta-body[data-v-99d6c3cb]{color:var(--ink);font-size:.92rem;line-height:1.55;text-align:left}.beta-body p[data-v-99d6c3cb]{margin:0 0 .7rem}.beta-lede[data-v-99d6c3cb]{color:var(--ink)}.beta-sub[data-v-99d6c3cb]{color:var(--muted)}.beta-body ul[data-v-99d6c3cb]{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.beta-body li[data-v-99d6c3cb]{position:relative;padding-left:1.25rem}.beta-body li[data-v-99d6c3cb]:before{content:"✶";position:absolute;left:0;top:0;color:var(--brass)}.beta-contact[data-v-99d6c3cb]{color:var(--muted);margin-bottom:0}.beta-contact a[data-v-99d6c3cb]{color:var(--brass-ink)}.login[data-v-14bbaa30]{position:relative;height:100%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 120% at 50% 40%,#1c2a22 0%,var(--heartwood) 60%,#0f1712 100%);color:var(--linen)}.rings[data-v-14bbaa30]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.5}.ring[data-v-14bbaa30]{transform-origin:center;animation:grow-14bbaa30 1.4s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i) * 80ms)}@keyframes grow-14bbaa30{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.card[data-v-14bbaa30]{position:relative;z-index:1;width:min(92vw,420px);text-align:center;padding:1rem}.login-footer[data-v-14bbaa30]{position:absolute;left:0;right:0;bottom:max(1.1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:.4rem;z-index:2}.wordmark[data-v-14bbaa30]{font-family:var(--font-display);font-weight:900;font-size:clamp(4.5rem,18vw,8.5rem);line-height:.9;letter-spacing:-.01em;margin:0;white-space:nowrap;color:#f3efe2;text-shadow:0 2px 30px rgba(0,0,0,.4)}.lede[data-v-14bbaa30]{color:#cdd2c6;font-size:.98rem;line-height:1.5;margin:1rem auto 2rem;max-width:32ch;text-wrap:balance}form[data-v-14bbaa30]{display:flex;flex-direction:column;gap:.9rem;text-align:left}.login .field>label[data-v-14bbaa30]{color:var(--brass-soft)}.login .input[data-v-14bbaa30]{background:#ffffff0f;border-color:#d9b87759;color:#f3efe2}.login .input[data-v-14bbaa30]::placeholder{color:#f3efe266}.login .input[data-v-14bbaa30]:focus{border-color:var(--brass-soft);background:#ffffff1a}.err[data-v-14bbaa30]{color:#e7a99a;font-size:.88rem;margin:0}.enter[data-v-14bbaa30]{justify-content:center;background:var(--brass);color:var(--heartwood);margin-top:.2rem;padding:.7rem;font-size:.95rem}.enter[data-v-14bbaa30]:hover{background:var(--brass-soft)}.enter[data-v-14bbaa30]:disabled{opacity:.6;cursor:default}.popover[data-v-af9e6b71]{position:relative;display:inline-flex}.popover__trigger[data-v-af9e6b71]{display:inline-flex}.popover__backdrop[data-v-af9e6b71]{position:fixed;top:0;right:0;bottom:0;left:0}.popover__pop[data-v-af9e6b71]{position:absolute;background:var(--linen);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-card);padding:.3rem;display:flex;flex-direction:column}.popover__pop.is-bottom-end[data-v-af9e6b71]{top:calc(100% + 6px);right:0}.popover__pop.is-top-end[data-v-af9e6b71]{bottom:calc(100% + 6px);right:0}.popover__pop.is-bottom-start[data-v-af9e6b71]{top:calc(100% + 6px);left:0}.popover__item[data-v-af9e6b71-s]{background:none;border:none;text-align:left;padding:.5rem .7rem;border-radius:7px;font-size:.88rem;color:var(--ink);white-space:nowrap}.popover__item[data-v-af9e6b71-s]:hover{background:#273b2e14}.bar[data-v-5a23665c]{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.1rem;padding-top:max(.7rem,env(safe-area-inset-top));padding-left:max(1.1rem,env(safe-area-inset-left));padding-right:max(1.1rem,env(safe-area-inset-right));background:var(--linen);border-bottom:1px solid var(--line);z-index:30}.brand[data-v-5a23665c]{display:flex;align-items:baseline;gap:.5rem}.brand__name[data-v-5a23665c]{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--heartwood);letter-spacing:.01em}.brand__sub[data-v-5a23665c]{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}.actions[data-v-5a23665c]{display:flex;align-items:center;gap:.75rem;margin-left:auto}.omni[data-v-5a23665c]{position:relative;flex:1;max-width:460px;margin:0 .25rem;display:flex;align-items:center;gap:.45rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem .3rem .35rem;min-height:42px}.omni.is-focus[data-v-5a23665c]{border-color:var(--brass);background:#fff;box-shadow:0 0 0 3px #b2832f1f}.viewchip[data-v-5a23665c]{display:inline-flex;align-items:center;gap:.4rem;flex:none;border-radius:999px;padding:.3rem .5rem .3rem .55rem;font-family:var(--font-ui);font-size:.82rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.viewchip__ico[data-v-5a23665c]{width:15px;height:15px;flex:none}.viewchip--all[data-v-5a23665c]{background:#6e8a5e29;color:#3e5233;border-color:#b6c3a5;cursor:default}.viewchip--anchor[data-v-5a23665c]{background:#d9b87738;color:var(--brass-ink);border-color:var(--brass)}.viewchip__link[data-v-5a23665c]{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:999px}.viewchip__link:hover .viewchip__name[data-v-5a23665c]{text-decoration:underline;text-underline-offset:2px}.viewchip__lbl[data-v-5a23665c]{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;line-height:1;position:relative;top:1px}.viewchip__name[data-v-5a23665c]{overflow:hidden;text-overflow:ellipsis;max-width:140px}.viewchip__x[data-v-5a23665c]{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#7c560f24;font-size:.58rem;margin-left:1px;border:none;padding:0;color:inherit;cursor:pointer}.viewchip__x[data-v-5a23665c]:hover{background:#7c560f4d}.omni__input[data-v-5a23665c]{flex:1;min-width:40px;font-family:var(--font-ui);font-size:.9rem;color:var(--ink);background:none;border:none;outline:none;padding:.2rem 0}.omni__search[data-v-5a23665c]{width:16px;height:16px;color:var(--muted);flex:none}.omni__results[data-v-5a23665c]{position:absolute;top:calc(100% + 8px);left:0;right:0;list-style:none;margin:0;padding:.3rem;background:var(--linen);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-card);z-index:40;max-height:60vh;overflow-y:auto}.res[data-v-5a23665c]{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border-radius:8px;font-size:.9rem;color:var(--ink);cursor:pointer}.res[data-v-5a23665c]:hover,.res.is-active[data-v-5a23665c]{background:#273b2e12}.res__name[data-v-5a23665c]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res__acts[data-v-5a23665c]{display:flex;gap:.35rem;opacity:0;flex:none;order:2}.res.is-active .res__acts[data-v-5a23665c]{opacity:1}.res__year[data-v-5a23665c]{font-family:var(--font-mono);font-size:.76rem;color:var(--muted);flex:none;order:3}.res__act[data-v-5a23665c]{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-ui);font-size:.74rem;font-weight:600;border-radius:999px;padding:.2rem .5rem;border:1px solid var(--line);background:var(--linen);color:var(--spruce);white-space:nowrap;cursor:pointer}.res__act svg[data-v-5a23665c]{width:13px;height:13px}.res__act[data-v-5a23665c]:hover{border-color:var(--bark);background:#fff}.res__act--anchor[data-v-5a23665c]{border-color:var(--brass);color:var(--brass-ink);background:#b2832f14}.res__act--anchor[data-v-5a23665c]:hover{background:#b2832f29}.omni__empty[data-v-5a23665c]{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--linen);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-card);padding:.7rem .9rem;font-size:.88rem;color:var(--muted);z-index:40}.count[data-v-5a23665c]{color:var(--muted);font-size:.85rem;white-space:nowrap}.readonly-badge[data-v-5a23665c]{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brass-ink);border:1px solid var(--brass-ink);border-radius:999px;padding:.2rem .6rem;white-space:nowrap}.plus[data-v-5a23665c]{font-size:1.1rem;line-height:1;margin-top:-1px}.toolbar-wide[data-v-5a23665c]{display:inline-flex;align-items:center;gap:.5rem}.toolbar-narrow[data-v-5a23665c]{display:none}@media(max-width:700px){.count[data-v-5a23665c],.brand__sub[data-v-5a23665c],.label[data-v-5a23665c]{display:none}.bar[data-v-5a23665c]{flex-wrap:wrap;row-gap:.5rem}.brand[data-v-5a23665c]{order:1}.actions[data-v-5a23665c]{order:2}.omni[data-v-5a23665c]{order:3;flex:none;width:100%;max-width:none;margin:0}.viewchip__lbl[data-v-5a23665c]{display:none}.viewchip__name[data-v-5a23665c]{max-width:50vw}.toolbar-wide[data-v-5a23665c]{display:none}.toolbar-narrow[data-v-5a23665c]{display:inline-flex}.actions .btn[data-v-5a23665c]{min-width:44px;min-height:44px;justify-content:center;padding:0}}@media(max-width:480px){.brand__name[data-v-5a23665c]{font-size:1.2rem}.search[data-v-5a23665c]{max-width:none}}.node-wrap[data-v-bc28ea00]{position:absolute}.node-wrap[data-v-bc28ea00]:hover,.node-wrap.is-lifted[data-v-bc28ea00]{z-index:6}.node[data-v-bc28ea00]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:.5rem .8rem;text-align:left;background-color:var(--linen);background-image:repeating-radial-gradient(circle at 118% 128%,rgba(178,131,47,.06) 0 1px,transparent 1px 10px);border:1px solid var(--line);border-left:3px solid var(--moss);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.node[data-v-bc28ea00]:hover{transform:translateY(-2px);box-shadow:0 2px 4px #16201b1a,0 10px 26px #16201b1f;border-color:var(--bark)}.node.is-selected[data-v-bc28ea00]{border-color:var(--brass);border-left-color:var(--brass);box-shadow:0 0 0 2px var(--brass),var(--shadow-card)}.node.is-deceased[data-v-bc28ea00]{border-left-color:var(--bark);background-color:#efece1}.node.is-portal[data-v-bc28ea00]{border-style:dashed;border-color:var(--brass);border-left-color:var(--brass);background-image:repeating-radial-gradient(circle at 118% 128%,rgba(178,131,47,.12) 0 1px,transparent 1px 10px)}.node.is-portal .node__name[data-v-bc28ea00]{color:var(--brass-ink)}.node.is-ghost[data-v-bc28ea00]{padding-right:2.1rem}.node__gate[data-v-bc28ea00]{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:26px;height:26px;color:var(--brass-ink)}.node__gate svg[data-v-bc28ea00]{width:100%;height:100%;display:block}.node:hover .node__gate[data-v-bc28ea00]{color:var(--heartwood)}.node__crown[data-v-bc28ea00]{position:absolute;top:-12px;left:-8px;width:24px;height:20px;display:grid;place-items:center;filter:drop-shadow(0 1px 1.5px rgba(22,32,27,.3));z-index:3}.node__crown svg[data-v-bc28ea00]{width:22px;height:20px;fill:var(--brass)}.node.is-anchor[data-v-bc28ea00]{border-color:var(--brass);border-left-color:var(--brass);box-shadow:0 0 0 2px var(--brass-soft),var(--shadow-card)}.node__lens[data-v-bc28ea00]{position:absolute;top:-13px;right:6px;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--spruce);color:var(--linen);border:2px solid var(--paper);border-radius:50%;box-shadow:0 2px 5px #16201b47;z-index:2;opacity:0;transition:opacity .12s ease,background .12s ease,transform .1s ease}.node__lens svg[data-v-bc28ea00]{width:14px;height:14px}.node-wrap:hover .node__lens[data-v-bc28ea00],.node.is-selected~.node__lens[data-v-bc28ea00],.node.is-anchor~.node__lens[data-v-bc28ea00],.node__lens[data-v-bc28ea00]:focus-visible{opacity:1}.node__lens[data-v-bc28ea00]:hover{background:var(--heartwood);transform:scale(1.08)}.node__lens.is-on[data-v-bc28ea00]{opacity:1;background:var(--brass);color:var(--heartwood)}.node__kin-count[data-v-bc28ea00]{position:absolute;bottom:-10px;right:6px;height:19px;padding:0 6px;display:inline-flex;align-items:center;background:var(--paper);color:var(--muted);border:1px solid var(--line);border-radius:10px;font-family:var(--font-mono);font-size:.64rem;font-weight:600;z-index:2}.node.is-deceased .node__name[data-v-bc28ea00]{color:var(--spruce)}.node__name[data-v-bc28ea00]{font-family:var(--font-ui);font-weight:600;font-size:.98rem;line-height:1.15;color:var(--heartwood);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.node__dates[data-v-bc28ea00]{font-family:var(--font-mono);font-size:.74rem;letter-spacing:-.02em;color:var(--muted)}.node__toggle[data-v-bc28ea00]{position:absolute;bottom:-13px;left:50%;transform:translate(-50%);min-width:26px;height:26px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:2px;background:var(--spruce);color:var(--linen);border:2px solid var(--paper);border-radius:13px;font-family:var(--font-mono);font-size:.72rem;font-weight:600;line-height:1;box-shadow:0 2px 5px #16201b47;z-index:2;transition:background .12s ease,transform .1s ease}.node__toggle[data-v-bc28ea00]:hover{background:var(--heartwood);transform:translate(-50%) scale(1.08)}.node__toggle.is-folded[data-v-bc28ea00]{background:var(--brass);color:var(--heartwood)}.node__toggle--kin[data-v-bc28ea00]{left:6px;right:auto;transform:none}.node__toggle--kin-right[data-v-bc28ea00]{left:auto;right:6px}.node__toggle--kin[data-v-bc28ea00]:hover{transform:scale(1.08)}.canvas[data-v-3eb6b4a6]{position:relative;flex:1;overflow:hidden;background:var(--paper)}.backdrop[data-v-3eb6b4a6]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.ambient[data-v-3eb6b4a6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(150vh,150vw);height:min(150vh,150vw);opacity:.07}.watermark[data-v-3eb6b4a6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-weight:900;font-size:clamp(8rem,30vw,26rem);line-height:1;color:var(--spruce);opacity:.05;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;white-space:nowrap}.watermark-vert[data-v-3eb6b4a6]{display:none}.viewport[data-v-3eb6b4a6]{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none;overscroll-behavior:none}.viewport[data-v-3eb6b4a6]:active{cursor:grabbing}.world[data-v-3eb6b4a6]{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.links[data-v-3eb6b4a6]{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.link-descent[data-v-3eb6b4a6]{stroke:var(--bark);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.link-marriage[data-v-3eb6b4a6]{stroke:var(--brass);stroke-width:2;stroke-linecap:round}.tree-layer[data-v-3eb6b4a6]{position:absolute;top:0;left:0}.empty[data-v-3eb6b4a6]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none;color:var(--spruce);padding:1.5rem}.empty h2[data-v-3eb6b4a6]{font-size:2rem;margin-bottom:.6rem;color:var(--heartwood)}.empty p[data-v-3eb6b4a6]{color:var(--muted);line-height:1.6;max-width:38ch}.empty strong[data-v-3eb6b4a6]{color:var(--spruce)}.minimap[data-v-3eb6b4a6]{position:absolute;left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));background:#f5f2e9f7;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-card);overflow:hidden;z-index:20;cursor:pointer;touch-action:none}.mm-node[data-v-3eb6b4a6]{fill:var(--bark);opacity:.55}.mm-portal[data-v-3eb6b4a6]{fill:var(--brass);opacity:.5}.mm-sel[data-v-3eb6b4a6]{fill:var(--brass);opacity:1}.mm-view[data-v-3eb6b4a6]{fill:#b2832f24;stroke:var(--brass);stroke-width:1.5}.controls[data-v-3eb6b4a6]{position:absolute;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.5rem;z-index:20}.credit[data-v-3eb6b4a6]{position:absolute;left:50%;bottom:max(.6rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;pointer-events:none}.credit[data-v-3eb6b4a6] .powered-by{pointer-events:auto}@media(max-width:700px){.minimap[data-v-3eb6b4a6],.watermark[data-v-3eb6b4a6]{display:none}.watermark-vert[data-v-3eb6b4a6]{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:center;gap:.45em;font-family:var(--font-display);font-weight:900;line-height:.9;color:var(--spruce);opacity:.05;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;white-space:normal;pointer-events:none}.watermark-vert__col[data-v-3eb6b4a6]{display:flex;flex-direction:column;align-items:center}.watermark-vert__sep[data-v-3eb6b4a6]{align-self:center}}.chip-group[data-v-c71aec50]{display:inline-flex;align-items:stretch}.chip[data-v-c71aec50]{background:var(--linen);border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem;font-size:.85rem;font-weight:500;color:var(--spruce)}.chip[data-v-c71aec50]:hover{border-color:var(--bark);background:#fff}.chip-group .chip[data-v-c71aec50]{border-top-right-radius:0;border-bottom-right-radius:0}.chip-group .chip:not(.chip--x)+.chip[data-v-c71aec50]:not(.chip--x){border-left:1px solid var(--line);border-top-left-radius:0;border-bottom-left-radius:0}.chip-group .chip[data-v-c71aec50]:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.chip--x[data-v-c71aec50]{color:var(--danger);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;padding:.35rem .5rem;font-size:.72rem}.existing[data-v-e9715c5a]{display:flex;flex-direction:column;gap:.4rem;border-top:1px dashed var(--line);padding-top:.7rem}.existing__row[data-v-e9715c5a]{display:flex;gap:.5rem}.existing__row .input[data-v-e9715c5a]{flex:1;min-width:0}.existing__row .btn[data-v-e9715c5a]{white-space:nowrap}.muted[data-v-e9715c5a]{color:var(--muted);font-size:.85rem}.scrim[data-v-dbfab3e6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16201b52;z-index:40}.scrim-enter-active[data-v-dbfab3e6],.scrim-leave-active[data-v-dbfab3e6]{transition:opacity .2s ease}.scrim-enter-from[data-v-dbfab3e6],.scrim-leave-to[data-v-dbfab3e6]{opacity:0}.drawer[data-v-dbfab3e6]{position:fixed;top:0;right:0;height:100%;width:min(420px,100vw);background:var(--paper);box-shadow:var(--shadow-drawer);z-index:50;display:flex;flex-direction:column;padding-right:env(safe-area-inset-right)}.drawer-enter-active[data-v-dbfab3e6],.drawer-leave-active[data-v-dbfab3e6]{transition:transform .38s cubic-bezier(.22,1,.36,1);will-change:transform}.drawer-enter-from[data-v-dbfab3e6],.drawer-leave-to[data-v-dbfab3e6]{transform:translate(100%)}.drawer__head[data-v-dbfab3e6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.1rem;padding-top:max(1rem,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--linen)}.drawer__head h2[data-v-dbfab3e6]{font-size:1.35rem;color:var(--heartwood);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.drawer__tools[data-v-dbfab3e6]{display:flex;align-items:center;gap:.3rem;flex:none}.drawer__tools .btn-icon[data-v-dbfab3e6]{width:38px;height:38px}.drawer__tools .btn-icon svg[data-v-dbfab3e6]{width:17px;height:17px;color:var(--brass-ink)}.drawer__tools .btn-icon.is-active[data-v-dbfab3e6]{background:var(--brass);border-color:var(--brass-ink)}.drawer__tools .btn-icon.is-active svg[data-v-dbfab3e6]{color:var(--heartwood)}.drawer__tools .btn-icon[data-v-dbfab3e6]:disabled{cursor:default}.root-tag[data-v-dbfab3e6]{display:inline-flex;align-items:center;gap:.35rem;color:var(--brass-ink);font-size:.78rem;font-weight:600}.root-tag svg[data-v-dbfab3e6]{width:15px;height:15px;fill:var(--brass)}.anchor-action[data-v-dbfab3e6]{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;padding:.5rem .95rem;border:1px solid var(--brass);border-radius:999px;background:#b2832f14;color:var(--brass-ink);font-family:var(--font-ui);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .12s ease}.anchor-action svg[data-v-dbfab3e6]{width:16px;height:16px;flex:none}.anchor-action[data-v-dbfab3e6]:hover{background:#b2832f29}.anchor-action.is-on[data-v-dbfab3e6]{background:var(--brass);border-color:var(--brass-ink);color:var(--heartwood)}.drawer__body[data-v-dbfab3e6]{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:1.1rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1.4rem}.block[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:.85rem}.block__title[data-v-dbfab3e6]{font-size:.95rem;color:var(--spruce);padding-bottom:.4rem;border-bottom:1px solid var(--line)}.readview[data-v-dbfab3e6]{margin:0 0 .2rem;display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.1rem}.readview dt[data-v-dbfab3e6]{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.12rem}.readview dd[data-v-dbfab3e6]{margin:0;color:var(--ink);white-space:pre-wrap;line-height:1.5}.readview .muted[data-v-dbfab3e6]{grid-column:1 / -1}.save-row[data-v-dbfab3e6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.branchprint__title[data-v-dbfab3e6]{font-size:.72rem;color:var(--muted);margin:.2rem .5rem .35rem}.save-hint[data-v-dbfab3e6]{font-size:.75rem;color:var(--muted);margin:0;font-style:italic}.save-hint--err[data-v-dbfab3e6]{color:var(--danger);font-style:normal}.newhint[data-v-dbfab3e6]{margin:0;padding:.6rem .8rem;background:#b2832f1f;border:1px solid rgba(178,131,47,.35);border-radius:var(--radius);color:var(--brass-ink);font-size:.82rem;line-height:1.45}.hist-empty[data-v-dbfab3e6]{padding:1.5rem 0;line-height:1.6}.history__item[data-v-dbfab3e6]{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.history__item[data-v-dbfab3e6]:last-child{border-bottom:none}.history__info[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:1px;min-width:0}.history__time[data-v-dbfab3e6]{font-family:var(--font-mono);font-size:.7rem;color:var(--brass-ink)}.history__name[data-v-dbfab3e6]{font-size:.82rem;font-weight:600;color:var(--heartwood)}.history__detail[data-v-dbfab3e6]{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-tiny[data-v-dbfab3e6]{padding:.3rem .6rem;font-size:.78rem;white-space:nowrap}.rel[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:.45rem}.rel__label[data-v-dbfab3e6]{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chips[data-v-dbfab3e6]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.muted[data-v-dbfab3e6]{color:var(--muted);font-size:.85rem}.kidgroup[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.kidgroup__label[data-v-dbfab3e6]{font-size:.78rem;color:var(--bark);font-style:italic}.link-add[data-v-dbfab3e6]{align-self:flex-start;background:none;border:none;color:var(--brass-ink);font-weight:600;font-size:.85rem;padding:.2rem 0}.link-add[data-v-dbfab3e6]:hover{color:var(--heartwood);text-decoration:underline}.links[data-v-dbfab3e6]{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.linkrow[data-v-dbfab3e6]{display:flex;align-items:center;gap:.4rem}.linkrow__a[data-v-dbfab3e6]{color:var(--brass-ink);font-size:.9rem;font-weight:600;text-decoration:none;overflow-wrap:anywhere;min-width:0}.linkrow__a[data-v-dbfab3e6]:hover{color:var(--heartwood);text-decoration:underline}.linkrow__text[data-v-dbfab3e6]{color:var(--ink);font-size:.9rem;overflow-wrap:anywhere;min-width:0}.linkrow__x[data-v-dbfab3e6]{flex:none;border:none;background:none;cursor:pointer;line-height:1;color:var(--muted);font-size:1.1rem;padding:0 .15rem}.linkrow__x[data-v-dbfab3e6]:hover{color:var(--danger)}.link-form[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:.4rem}.link-form .input[data-v-dbfab3e6]{width:100%}.addform[data-v-dbfab3e6]{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem;display:flex;flex-direction:column;gap:.7rem}.addform__title[data-v-dbfab3e6]{font-weight:700;font-size:.9rem;margin:0;color:var(--heartwood)}.addform__row[data-v-dbfab3e6]{display:flex;gap:.5rem}.addform__row .input[data-v-dbfab3e6]{flex:1;min-width:0}.addform__row .btn[data-v-dbfab3e6]{white-space:nowrap}.addform__submit[data-v-dbfab3e6]{align-self:flex-start}.danger-full[data-v-dbfab3e6]{width:100%;justify-content:center}.gallery[data-v-dbfab3e6]{position:relative;display:flex;flex-wrap:wrap;gap:.5rem;min-height:84px;border-radius:12px;transition:box-shadow .12s ease}.gallery.is-dragover[data-v-dbfab3e6]{box-shadow:0 0 0 2px var(--brass)}.gallery__drop[data-v-dbfab3e6]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#b2832f1f;border:2px dashed var(--brass);border-radius:12px;color:var(--brass-ink);font-weight:600;font-size:.9rem;pointer-events:none;z-index:2}.thumb[data-v-dbfab3e6]{position:relative;width:84px;height:84px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--linen);box-shadow:var(--shadow-card)}.thumb img[data-v-dbfab3e6]{width:100%;height:100%;object-fit:cover;display:block}.thumb[data-v-dbfab3e6]:hover{border-color:var(--bark)}.thumb.is-portrait[data-v-dbfab3e6]{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass),var(--shadow-card)}.thumb__tag[data-v-dbfab3e6]{position:absolute;left:0;right:0;bottom:0;background:#b2832feb;color:var(--heartwood);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:2px 0}.thumb--add[data-v-dbfab3e6]{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted)}.thumb--add[data-v-dbfab3e6]:hover{border-color:var(--brass);color:var(--spruce)}.thumb__plus[data-v-dbfab3e6]{font-size:1.5rem;line-height:1;color:var(--brass)}.thumb__label[data-v-dbfab3e6]{font-size:.66rem;font-weight:600}.link-add--danger[data-v-dbfab3e6],.link-add--danger[data-v-dbfab3e6]:hover{color:var(--danger)}.hidden-input[data-v-dbfab3e6]{display:none}.addform__head[data-v-dbfab3e6]{display:flex;align-items:center;justify-content:space-between}.addform__cancel[data-v-dbfab3e6]{background:none;border:none;color:var(--muted);font-size:.78rem;font-weight:600;padding:.1rem .2rem}.addform__cancel[data-v-dbfab3e6]:hover{color:var(--danger)}.lightbox[data-v-dbfab3e6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f1712e0;display:grid;place-items:center;padding:max(1.5rem,env(safe-area-inset-top)) 1.5rem 11rem}.lightbox img[data-v-dbfab3e6]{max-width:min(92vw,800px);max-height:78vh;border-radius:var(--radius);box-shadow:0 20px 60px #00000080}.lightbox__close[data-v-dbfab3e6]{position:fixed;top:max(1rem,env(safe-area-inset-top));right:1rem;z-index:3}.lightbox__toolbar[data-v-dbfab3e6]{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.lb-toggle[data-v-dbfab3e6]{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(245,242,233,.3);background:#f5f2e914;color:var(--linen);font-family:var(--font-ui);font-size:.78rem;font-weight:600;padding:.28rem .6rem;border-radius:999px;cursor:pointer}.lb-toggle svg[data-v-dbfab3e6]{width:15px;height:15px;flex:none}.lb-toggle.is-on[data-v-dbfab3e6]{background:var(--brass);border-color:var(--brass-ink);color:var(--heartwood)}.lb-dialog[data-v-dbfab3e6]{position:fixed;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,380px);display:flex;flex-direction:column;gap:.7rem;background:#202a24;border:1px solid rgba(245,242,233,.18);border-radius:14px;padding:1rem;box-shadow:0 24px 60px #00000080}.lb-dialog__head[data-v-dbfab3e6]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lb-dialog__title[data-v-dbfab3e6]{color:var(--linen);font-family:var(--font-display);font-size:1.05rem}.lb-dialog>.lb-input[data-v-dbfab3e6]{width:100%;max-width:none}.lb-dialog .lb-addname[data-v-dbfab3e6]{display:flex;gap:.4rem}.lb-dialog .lb-addname .lb-input[data-v-dbfab3e6]{flex:1;min-width:0;max-width:none}.lb-dialog__mark[data-v-dbfab3e6]{align-self:flex-start}.lb-dialog--assign[data-v-dbfab3e6]{top:auto;transform:translate(-50%)}.lb-dialog--assign.is-bottom[data-v-dbfab3e6]{bottom:max(1rem,env(safe-area-inset-bottom))}.lb-dialog--assign.is-top[data-v-dbfab3e6]{top:max(4.5rem,env(safe-area-inset-top))}.lb-saved[data-v-dbfab3e6]{position:fixed;z-index:5;top:max(1.1rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);background:#6e8a5ef2;color:var(--linen);font-family:var(--font-ui);font-size:.82rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;box-shadow:0 6px 18px #0000004d}.lb-saved-enter-active[data-v-dbfab3e6],.lb-saved-leave-active[data-v-dbfab3e6]{transition:opacity .25s ease,transform .25s ease}.lb-saved-enter-from[data-v-dbfab3e6],.lb-saved-leave-to[data-v-dbfab3e6]{opacity:0;transform:translate(-50%,-6px)}.lb-markbar[data-v-dbfab3e6]{position:fixed;z-index:4;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(92vw,640px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.lightbox__nav[data-v-dbfab3e6]{position:fixed;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:none;background:#f5f2e91f;color:var(--linen);font-size:1.8rem;line-height:1;display:flex;align-items:center;justify-content:center}.lightbox__nav[data-v-dbfab3e6]:hover{background:#f5f2e93d}.lightbox__prev[data-v-dbfab3e6]{left:1rem}.lightbox__next[data-v-dbfab3e6]{right:1rem}.lightbox__panel[data-v-dbfab3e6]{position:fixed;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(92vw,640px);display:flex;flex-direction:column;align-items:center;gap:.7rem}.lightbox__people[data-v-dbfab3e6]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;max-height:22vh;overflow-y:auto}.lb-people__label[data-v-dbfab3e6]{color:#f5f2e999;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.lb-people__empty[data-v-dbfab3e6]{color:#f5f2e980;font-size:.85rem;font-style:italic}.lb-tag[data-v-dbfab3e6]{display:inline-flex;align-items:center;gap:.2rem;background:#f5f2e91f;border-radius:999px;padding:.2rem .55rem;color:var(--linen);font-size:.85rem}.lb-tag--ext[data-v-dbfab3e6]{font-style:italic;opacity:.85}.lb-tag__link[data-v-dbfab3e6]{background:none;border:none;color:var(--linen);font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.lb-tag__x[data-v-dbfab3e6]{background:none;border:none;color:#f5f2e9b3;cursor:pointer;font-size:1rem;line-height:1;padding:0 0 0 .05rem}.lb-tag__x[data-v-dbfab3e6]:hover{color:var(--linen)}.lightbox__add[data-v-dbfab3e6]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.lb-addname[data-v-dbfab3e6]{display:flex;gap:.4rem}.lb-input[data-v-dbfab3e6]{background:#f5f2e91a;border:1px solid rgba(245,242,233,.3);color:var(--linen);border-radius:8px;padding:.35rem .6rem;font-family:var(--font-ui);font-size:.82rem;max-width:46vw}.lb-input[data-v-dbfab3e6]::placeholder{color:#f5f2e980}.lb-input option[data-v-dbfab3e6]{color:var(--ink)}.lightbox__meta[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:34rem}.lightbox__meta .lb-input[data-v-dbfab3e6]{width:100%;max-width:none}.lb-meta__field[data-v-dbfab3e6]{display:flex;flex-direction:column;gap:.2rem;text-align:left}.lb-meta__label[data-v-dbfab3e6]{color:#f5f2e999;font-family:var(--font-ui);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.lb-meta__area[data-v-dbfab3e6]{resize:vertical;min-height:2.2rem;line-height:1.35}.lb-meta__row[data-v-dbfab3e6]{display:flex;gap:.5rem}.lb-meta__row .lb-meta__field[data-v-dbfab3e6]{flex:1;min-width:0}.lb-meta__field--year[data-v-dbfab3e6]{flex:0 0 6rem}.lb-meta__desc[data-v-dbfab3e6]{color:var(--linen);font-size:.92rem;line-height:1.45;margin:0}.lb-meta__by[data-v-dbfab3e6]{color:#f5f2e9b3;font-size:.8rem;font-style:italic;margin:0}.lightbox__bar[data-v-dbfab3e6]{display:flex;align-items:center;gap:.8rem}.lightbox__count[data-v-dbfab3e6]{color:var(--linen);font-family:var(--font-mono);font-size:.85rem;opacity:.9}.lb-btn[data-v-dbfab3e6]{border:1px solid rgba(245,242,233,.3);background:#f5f2e91a;color:var(--linen);font-family:var(--font-ui);font-weight:600;font-size:.82rem;padding:.4rem .8rem;border-radius:8px}.lb-btn[data-v-dbfab3e6]:hover{background:#f5f2e933}.lb-btn--danger[data-v-dbfab3e6]{color:#e7a99a;border-color:#e7a99a66}.lb-btn--danger[data-v-dbfab3e6]:hover{background:#e7a99a26}.lb-btn--on[data-v-dbfab3e6]{background:var(--brass);border-color:var(--brass-ink);color:var(--heartwood)}.lightbox__stage[data-v-dbfab3e6]{position:relative;line-height:0}.lightbox__stage img[data-v-dbfab3e6]{display:block}.lightbox__stage.is-marking[data-v-dbfab3e6]{cursor:crosshair;touch-action:none}.facebox[data-v-dbfab3e6]{position:absolute;border:2px solid var(--brass);border-radius:6px;box-shadow:0 0 0 1px #00000059;background:#d9b8770f;cursor:pointer}.facebox--ext[data-v-dbfab3e6]{border-style:dashed}@media(hover:hover){.facebox.is-highlight[data-v-dbfab3e6]{border-color:#f0d9a8;box-shadow:0 0 0 2px #f0d9a88c,0 0 16px #f0d9a866;z-index:2}.lb-tag[data-v-dbfab3e6]:hover{background:#f5f2e933}}.facebox--pending[data-v-dbfab3e6]{border-style:dashed;background:#d9b87729;pointer-events:none}.facebox__label[data-v-dbfab3e6]{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:3px;white-space:nowrap;line-height:1;background:#0f1712d1;color:var(--linen);font-family:var(--font-ui);font-size:.72rem;padding:.2rem .42rem;border-radius:5px;pointer-events:none;z-index:2}.facebox__x[data-v-dbfab3e6]{position:absolute;top:-11px;right:-11px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(245,242,233,.4);background:var(--heartwood);color:var(--linen);cursor:pointer;display:grid;place-items:center;padding:0}.facebox__x svg[data-v-dbfab3e6]{width:11px;height:11px;display:block}.lightbox__stage.is-marking .facebox[data-v-dbfab3e6]{pointer-events:none}.lightbox__stage.is-marking .facebox__x[data-v-dbfab3e6]{pointer-events:auto}.lb-mark__q[data-v-dbfab3e6]{color:var(--linen);font-size:.85rem;align-self:center}.lb-markhint[data-v-dbfab3e6]{color:#f5f2e9bf;font-size:.85rem;font-style:italic}.fade-enter-active[data-v-dbfab3e6],.fade-leave-active[data-v-dbfab3e6]{transition:opacity .15s ease}.fade-enter-from[data-v-dbfab3e6],.fade-leave-to[data-v-dbfab3e6]{opacity:0}@media(max-width:700px){.drawer[data-v-dbfab3e6]{top:auto;bottom:0;left:0;right:0;width:100vw;height:80vh;border-radius:18px 18px 0 0;box-shadow:0 -12px 44px #16201b38;padding-right:0}.drawer__head[data-v-dbfab3e6]{border-radius:18px 18px 0 0;padding-top:1rem}.drawer-enter-from[data-v-dbfab3e6],.drawer-leave-to[data-v-dbfab3e6]{transform:translateY(100%)}}.grp+.grp[data-v-82141aeb]{margin-top:1.4rem}.grp h3[data-v-82141aeb]{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;font-family:var(--font-ui);font-weight:700}.item[data-v-82141aeb]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.item[data-v-82141aeb]:last-child{border-bottom:none}.item__name[data-v-82141aeb]{font-weight:500;color:var(--ink);display:flex;align-items:baseline;gap:.5rem}.item__name--photo[data-v-82141aeb]{align-items:center}.trash-thumb[data-v-82141aeb]{width:34px;height:34px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.item__year[data-v-82141aeb]{font-family:var(--font-mono);font-size:.78rem;color:var(--muted)}.item__actions[data-v-82141aeb]{display:flex;gap:.5rem}.btn-sm[data-v-82141aeb]{padding:.35rem .7rem;font-size:.82rem}.muted[data-v-82141aeb]{color:var(--muted)}.empty[data-v-82141aeb]{color:var(--muted);text-align:center;padding:1.5rem 0}.c-msg[data-v-8b26ef0d]{color:var(--muted);font-size:.95rem;line-height:1.55;margin:0}.c-danger[data-v-8b26ef0d]{background:var(--danger);color:var(--linen)}.c-danger[data-v-8b26ef0d]:hover{background:#722f2f}.ts-world[data-v-566277a2]{position:relative}.ts-links[data-v-566277a2]{position:absolute;top:0;left:0;overflow:visible}.ts-descent[data-v-566277a2]{stroke:var(--bark);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.ts-marriage[data-v-566277a2]{stroke:var(--brass);stroke-width:2;stroke-linecap:round}[data-v-566277a2] .node{box-shadow:none;transition:none}[data-v-566277a2] .node__toggle:not(.is-folded){display:none}[data-v-566277a2] .node__toggle.is-folded{background:transparent;color:var(--bark);border:none;box-shadow:none;font-weight:700}.print-root[data-v-40bc95d1]{flex-direction:column;align-items:center;background:#fff;color:var(--heartwood);-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-head[data-v-40bc95d1]{display:flex;align-items:center;gap:.8rem;width:100%;padding-bottom:.45rem;margin-bottom:.5rem;border-bottom:1.5px solid var(--brass)}.print-logo[data-v-40bc95d1]{width:44px;height:44px}.print-title[data-v-40bc95d1]{font-family:var(--font-display);font-weight:900;font-size:1.9rem;line-height:1;color:var(--heartwood)}.print-sub[data-v-40bc95d1]{font-family:var(--font-display);font-style:italic;font-size:.9rem;color:var(--brass-ink);margin-top:.2rem}.print-stage[data-v-40bc95d1]{display:flex;justify-content:center;width:100%}.print-fit[data-v-40bc95d1]{position:relative}.scaler[data-v-40bc95d1]{transform-origin:0 0}.scaler--abs[data-v-40bc95d1]{position:absolute;top:0;left:0}.poster-page[data-v-40bc95d1]{position:relative;overflow:hidden;break-after:page;page-break-after:always}.poster-page[data-v-40bc95d1]:last-child{break-after:auto;page-break-after:auto}.poster-links[data-v-40bc95d1]{position:absolute;top:0;left:0;overflow:visible}.pl-descent[data-v-40bc95d1]{stroke:var(--bark);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.pl-marriage[data-v-40bc95d1]{stroke:var(--brass);stroke-width:2;stroke-linecap:round}.poster-page[data-v-40bc95d1] .node{box-shadow:none;transition:none}.poster-page[data-v-40bc95d1] .node__toggle:not(.is-folded){display:none}.poster-page[data-v-40bc95d1] .node__toggle.is-folded{background:transparent;color:var(--bark);border:none;box-shadow:none;font-weight:700}.poster-guide[data-v-40bc95d1]{position:absolute;top:4px;left:4px;display:flex;align-items:center;gap:6px;background:#ffffffd9;padding:2px 4px;border-radius:4px}.poster-pos[data-v-40bc95d1]{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.poster-map[data-v-40bc95d1]{display:inline-grid;grid-auto-flow:row;gap:1px}.poster-map__cell[data-v-40bc95d1]{width:6px;height:6px;border:1px solid var(--line);background:#fff}.poster-map__cell.is-here[data-v-40bc95d1]{background:var(--brass);border-color:var(--brass)}.poster-cont[data-v-40bc95d1]{position:absolute;font-family:var(--font-mono);font-size:10px;color:var(--brass-ink)}.poster-cont--r[data-v-40bc95d1]{right:4px;top:50%;transform:translateY(-50%)}.poster-cont--d[data-v-40bc95d1]{bottom:4px;left:50%;transform:translate(-50%)}.app[data-v-b8a82df2]{height:100%;display:flex;flex-direction:column;overflow:hidden}.boot[data-v-b8a82df2]{height:100%;display:grid;place-items:center;background:var(--heartwood)}.boot__mark[data-v-b8a82df2]{font-family:var(--font-display);font-size:2.5rem;color:var(--brass-soft);letter-spacing:.02em;opacity:.85;animation:breathe-b8a82df2 2.2s ease-in-out infinite}@keyframes breathe-b8a82df2{0%,to{opacity:.45}50%{opacity:.9}}.landing[data-v-b8a82df2]{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(120% 120% at 50% 40%,#1c2a22 0%,var(--heartwood) 60%,#0f1712 100%);color:var(--linen);padding:1.5rem}.landing__main[data-v-b8a82df2]{flex:1;display:grid;place-content:center;justify-items:center;gap:.5rem}.landing__logo[data-v-b8a82df2]{width:clamp(72px,12vw,104px);height:auto;margin-bottom:.4rem;opacity:.95}.landing__mark[data-v-b8a82df2]{font-family:var(--font-display);font-weight:900;font-size:clamp(4rem,16vw,7rem);color:#f3efe2;line-height:1}.landing__tagline[data-v-b8a82df2]{font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--brass-soft);margin-top:.2rem}.landing__lede[data-v-b8a82df2]{color:#cdd2c6;font-size:1.05rem;max-width:36ch;margin-top:.1rem}.landing__cta[data-v-b8a82df2]{margin-top:1.5rem;display:inline-block;background:var(--brass);color:var(--heartwood);font-weight:700;font-size:1rem;padding:.65rem 1.4rem;border-radius:10px;text-decoration:none;box-shadow:0 6px 20px #00000040;transition:transform .12s ease,background .12s ease}.landing__cta[data-v-b8a82df2]:hover{background:var(--brass-soft);transform:translateY(-1px)}.landing__footer[data-v-b8a82df2]{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding-bottom:env(safe-area-inset-bottom)}.toast[data-v-b8a82df2]{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);background:var(--heartwood);color:var(--linen);padding:.7rem 1.1rem;border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:var(--shadow-card);z-index:60}.toast-enter-active[data-v-b8a82df2],.toast-leave-active[data-v-b8a82df2]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-b8a82df2],.toast-leave-to[data-v-b8a82df2]{opacity:0;transform:translate(-50%,8px)}
