.photo-tree,.family-photos{overflow-wrap:anywhere;margin-top:24px}.pt-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;display:grid}.pt-controls label{margin-bottom:5px;display:block}.pt-controls select{border:1px solid var(--line);background:var(--card);width:100%;min-height:44px;font:inherit;border-radius:8px;padding:10px}.pt-controls input{margin:0}.pt-guide{line-height:1.65}.pt-viewport{border:1px solid var(--line);overscroll-behavior:contain;touch-action:pan-x pan-y;background:#eef1e9;border-radius:16px;max-width:100%;max-height:680px;position:relative;overflow:auto}.pt-stage{transform-origin:0 0;position:relative}.pt-lines{color:#68806d;pointer-events:none;position:absolute;inset:0}.pt-lines path,.pt-lines line{fill:none;stroke:currentColor;stroke-width:2px}.pt-lines marker path{stroke:none;fill:currentColor}.pt-lines .pt-spouse{stroke-dasharray:6 4;stroke-width:2.5px}.pt-person{background:var(--card);text-align:center;border:1px solid #c6cfbe;border-radius:14px;flex-direction:column;align-items:center;padding:10px 8px;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 12px #2631270d}.pt-focus{outline:3px solid var(--green);outline-offset:2px}.pt-profile{color:var(--ink);flex-direction:column;align-items:center;width:100%;text-decoration:none;display:flex}.pt-profile strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:35px;max-height:35px;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.pt-profile>span:last-child{margin:4px 0;font-size:13px}.pt-avatar{background:#e3e9df;border-radius:50%;flex-shrink:0;place-items:center;width:68px;height:68px;margin:0 0 8px;display:grid;overflow:hidden}.pt-avatar img{object-fit:cover;width:100%;height:100%}.pt-initials{color:var(--green);font-size:24px}.pt-person small{color:#667463;font-size:11px}.pt-center{color:var(--green);background:0 0;border:0;border-radius:4px;margin:3px 0;padding:4px 7px;font-size:12px;text-decoration:underline}.pt-center:hover{color:var(--green);background:#e6ecdf}.pt-card-links{flex-direction:column;gap:4px;font-size:11px;line-height:1.4;display:flex}.pt-card-links a{color:var(--green)}.pt-list{margin-top:20px}.pt-list summary{cursor:pointer;font-weight:700}.pt-list p{line-height:1.6}.pt-photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;display:grid}.pt-photo-card{flex-direction:column;gap:10px;display:flex}.pt-photo-card img{object-fit:contain;background:#e9eee5;border-radius:8px;width:100%;height:220px}.pt-photo-card p{margin:4px 0;line-height:1.5}.pt-unavailable{text-align:center;background:#ecede7;place-items:center;height:180px;padding:24px;display:grid}.pt-selection{border:2px solid var(--green);margin:24px 0}.pt-selection label{display:block}.pt-selection input[type=checkbox]{width:auto;margin:0 8px 0 0}.pt-selection .pt-confirm{align-items:flex-start;gap:6px;margin:18px 0;font-weight:400;line-height:1.5;display:flex}.pt-source-image{max-width:100%;height:auto;display:block}.pt-source-transcript{white-space:pre-wrap;font:inherit;line-height:1.7}.pt-upload-log{white-space:pre-wrap;max-height:300px;font:13px/1.5 monospace;overflow:auto}.pt-error{color:#8e321f}.photo-tree a:focus-visible,.photo-tree button:focus-visible,.pt-viewport:focus-visible{outline-offset:3px;outline:3px solid #a57b37}@media (max-width:650px){.pt-viewport{max-height:65vh}.pt-controls{padding:16px}.pt-photo-grid{grid-template-columns:1fr}}
