.tree-page{max-width:1000px;color:var(--ink);margin:0 auto;padding:4rem 1.5rem 6rem}.tree-page h1{margin:0 0 1rem}.placeholder-note{background:var(--illus-b);color:var(--ink-soft);border-radius:6px;margin:0 0 1.5rem;padding:.5rem .9rem;font-size:.9rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tree-tools{max-width:420px;margin-bottom:1rem;position:relative}.tree-tools input{width:100%;font:inherit;border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);border-radius:8px;padding:.65rem .9rem}.results{z-index:5;background:var(--bg-raised);border:1px solid var(--line);box-shadow:0 6px 20px rgb(var(--shadow) / .12);border-radius:8px;margin:4px 0 0;padding:0;list-style:none;position:absolute;left:0;right:0;overflow:hidden}.results button{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;justify-content:space-between;padding:.55rem .9rem;display:flex}.results button:hover{background:var(--illus-b)}.results span,.results .none{color:var(--ink-faint);font-size:.85rem}.results .none{padding:.55rem .9rem}.tree-wrap{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;position:relative;overflow:hidden}#tree{touch-action:none;cursor:grab;user-select:none;width:100%;height:72vh;min-height:420px}#tree .links path{fill:none;stroke:var(--ink-faint);stroke-width:1.5px}#tree .links.faint path{stroke-dasharray:4 4;opacity:.6}#tree .node.former{opacity:.5}#tree .node.former rect{stroke-dasharray:5 4}#tree .node{cursor:pointer}#tree .node rect{fill:var(--bg);stroke:var(--line);stroke-width:1.5px}#tree .node:hover rect{stroke:var(--illus-a)}#tree .node.selected rect{fill:var(--illus-b);stroke:var(--green);stroke-width:2.5px}#tree .node:focus-visible{outline:none}#tree .node:focus-visible rect{stroke:var(--accent);stroke-width:3px}#tree .block-label{fill:var(--ink-faint);font-size:16px;font-weight:600}#tree .name{fill:var(--ink);font-size:13px;font-weight:600}#tree .avatar{fill:var(--illus-b);stroke:var(--line);stroke-width:1px}#tree .initials{fill:var(--ink-soft);font-size:13px;font-weight:600}#tree .dates{fill:var(--ink-soft);font-size:11px}.zoom-controls{gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.zoom-controls button{min-width:38px;height:38px;font:inherit;background:var(--bg-raised);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:8px;font-weight:600}.zoom-controls button:hover{border-color:var(--illus-a)}.details{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;margin-top:1.25rem;padding:1.25rem 1.5rem}.focus-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1rem;display:flex}.focus-bar label{color:var(--ink-soft);font-size:.9rem}.focus-bar select{min-width:200px;max-width:520px;font:inherit;border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);border-radius:8px;flex:1;padding:.5rem .7rem;font-size:.95rem}.details .focus-btn{font:inherit;background:var(--illus-b);border:1px solid var(--illus-a);cursor:pointer;color:var(--ink);border-radius:999px;padding:.35rem .85rem;font-size:.92rem}#tree.focused .node.dim{opacity:.16}#tree.focused .links{opacity:.3}.relate{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;margin-top:1.25rem;padding:1.25rem 1.5rem}.relate h2{margin:0 0 .9rem;font-size:1.15rem}.relate-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.picker{position:relative}.picker input{width:100%;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:.65rem .9rem}.relate-answer{color:var(--ink-soft);margin:.9rem 0 0}.relate-answer strong{color:var(--ink)}#tree .node.related rect{stroke:var(--accent);stroke-width:3px}@media (width<=560px){.relate-row{grid-template-columns:1fr}}.details .portrait{object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:.6rem}.details h2{margin:0;font-size:1.3rem}.details p{color:var(--ink-soft);margin:.4rem 0 0}.details .check{color:var(--illus-c);font-size:.88rem}.details .hint{color:var(--ink-faint);margin:0;font-size:.95rem}.details .rel{margin-top:1rem}.details h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin:0 0 .4rem;font-size:.8rem}.details .rel button{font:inherit;background:var(--bg);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:999px;margin:0 .4rem .4rem 0;padding:.3rem .75rem;font-size:.92rem}.details .rel button:hover{border-color:var(--illus-a);background:var(--illus-b)}@media (height<=520px) and (orientation:landscape){.tree-page{max-width:none;padding:.5rem 1rem .75rem}.tree-page .back-link{margin-bottom:.25rem}.tree-page h1{margin:0 0 .5rem 1rem;font-size:1.1rem;display:inline-block}.placeholder-note{display:none}.tree-tools{margin-bottom:.5rem}.tree-tools input{padding:.3rem .75rem}.tree-body{grid-template-columns:1fr 250px;gap:.75rem;display:grid}#tree{height:calc(100dvh - 6.25rem);min-height:0}.details{max-height:calc(100dvh - 6.25rem);margin-top:0;padding:.9rem 1rem;overflow-y:auto}}
