.pedigree-hero{padding:clamp(3rem,7vw,5.5rem) max(1rem,calc((100% - 1120px)/2));background:linear-gradient(135deg,#eee5d8,#f7f3eb)}
.pedigree-hero h1{max-width:15ch;margin:.25rem 0 1rem;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.12}
.pedigree-hero>p:not(.eyebrow){max-width:48rem}
.pedigree-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:650px;margin-top:2rem;background:#d6cfc2;border:1px solid #d6cfc2}
.pedigree-stats div{padding:.8rem 1.1rem;background:#fffaf2}
.pedigree-stats strong,.pedigree-stats span{display:block}
.pedigree-stats strong{font:2rem Georgia,serif;color:var(--apple)}
.pedigree-stats span{color:var(--muted);font-size:.75rem}
.pedigree-thumbnail{display:block;width:64px;height:64px;flex:none;aspect-ratio:1;object-fit:cover;border-radius:6px;background:#e9e9e5}
.pedigree-thumbnail-empty{display:grid;place-items:center;border:1px dashed #c7c8bd;background:#eeeee7;color:#9a9d91;font-size:1.2rem}
.pedigree-image-note{margin:0 0 1.3rem;color:var(--muted);font-size:.76rem}
.pedigree-influential{padding-top:3rem;padding-bottom:3rem}
.influential-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}
.influential-list a{position:relative;display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:1.25rem .65rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--card);text-align:center;text-decoration:none}
.influential-list .pedigree-thumbnail{width:100px;height:100px}
.influential-rank{position:absolute;top:.6rem;left:.65rem;color:#938b7d;font:italic .75rem Georgia,serif}
.pedigree-highlight-copy{display:flex;min-width:0;flex-direction:column;gap:.2rem}
.pedigree-highlight-copy b{color:var(--ink);font-size:.92rem;overflow-wrap:anywhere}
.pedigree-highlight-copy small{color:var(--muted);font-size:.72rem}
.pedigree-highlight-copy strong{color:var(--leaf);font-size:1rem}
.pedigree-link-arrow{flex:none;color:var(--leaf);font-size:.9rem}
.influential-list .pedigree-link-arrow{position:absolute;right:.6rem;bottom:.6rem}
.pedigree-database{max-width:none;padding-left:max(1rem,calc((100% - 1120px)/2));padding-right:max(1rem,calc((100% - 1120px)/2));background:#fffaf2;scroll-margin-top:1.5rem}
.pedigree-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.8rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);background:#fff}
.pedigree-filters label{display:grid;min-width:0;gap:.25rem;font-size:.78rem;font-weight:700}
.pedigree-filters input,.pedigree-filters select,.pedigree-filters button{min-width:0;min-height:44px;padding:.55rem .7rem;border:1px solid #bdb4a5;border-radius:3px;background:#fff;font:inherit}
.pedigree-filters button{align-self:end;background:var(--ink);color:#fff;cursor:pointer}
.pedigree-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.pedigree-card{display:flex;min-width:0;flex-direction:column;padding:1.25rem;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.pedigree-card[hidden]{display:none}
.pedigree-card-title{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.pedigree-card-portrait{flex:none;display:block;border-radius:7px}
.pedigree-card-portrait .pedigree-thumbnail{width:88px;height:88px}
.pedigree-card-name{min-width:0}
.pedigree-card-name>p{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;color:#8c8579;font:italic .7rem Georgia,serif}
.pedigree-formation{padding:.15rem .4rem;border-radius:3px;background:#edf0e6;color:var(--leaf);font:normal .68rem/1.5 "Hiragino Sans","Yu Gothic",sans-serif}
.pedigree-card-title h2{margin:.4rem 0;font:700 1.35rem/1.4 Georgia,"Yu Mincho",serif;overflow-wrap:anywhere}
.pedigree-card-title h2 a{color:var(--ink);text-decoration:none}
.pedigree-status{color:var(--muted);font-size:.7rem}
.pedigree-parent-label{margin:0 0 .45rem;color:var(--muted);font-size:.72rem;font-weight:500}
.pedigree-parent-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.pedigree-node{display:flex;min-width:0;align-items:center;gap:.7rem;padding:.75rem;border:1px solid #d5d8ca;border-radius:6px;background:#fff;color:var(--ink);text-align:left;text-decoration:none}
.pedigree-node-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:.15rem;overflow-wrap:anywhere}
.pedigree-node-copy b{font-size:.87rem;line-height:1.5}
.pedigree-node-copy small{color:var(--muted);font-size:.66rem;line-height:1.5}
.pedigree-node-copy .pedigree-confidence{color:#875b27}
.pedigree-node.external{border-style:dashed;background:#f7f5ef}
.pedigree-parent-pair .pedigree-node{gap:.5rem;padding:.55rem;background:#f5f5ef}
.pedigree-parent-pair .pedigree-thumbnail{width:42px;height:42px}
.pedigree-parent-pair .pedigree-node-copy b{font-size:.77rem}
.pedigree-parent-pair .pedigree-node-copy small{font-size:.62rem}
.pedigree-expression{margin:.9rem 0 .35rem;font-size:.88rem;overflow-wrap:anywhere}
.pedigree-note{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.pedigree-card>.pedigree-note{margin:.25rem 0 1rem}
.pedigree-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin-top:auto;padding-top:.9rem;border-top:1px solid #e5dfd4;font-size:.74rem}
.pedigree-card-footer>span{color:var(--muted)}
.pedigree-card-footer b{color:var(--leaf);font-size:.95rem}
.pedigree-card-footer a{font-weight:700}
.pedigree-method>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.pedigree-method article{border-top:2px solid var(--ink)}
.pedigree-teaser{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;max-width:none;padding-left:max(1rem,calc((100% - 1120px)/2));padding-right:max(1rem,calc((100% - 1120px)/2));background:#e9e1d4}
.pedigree-teaser h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.8rem,4vw,3rem);margin:0}
.pedigree-cta{display:inline-block;margin-top:.75rem;font-weight:700}
.pedigree-teaser-list{display:grid;gap:.5rem}
.pedigree-teaser-list a{display:flex;align-items:center;gap:.8rem;padding:.6rem .8rem;border:1px solid #cfc6b8;border-radius:6px;background:#f5f0e7;text-decoration:none}
.pedigree-teaser-list .pedigree-thumbnail{width:52px;height:52px}
.pedigree-teaser-list .pedigree-highlight-copy{flex:1}
.pedigree-panel{padding:1.75rem;scroll-margin-top:1.5rem;min-width:0}
.pedigree-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.pedigree-heading .eyebrow{margin:0}
.pedigree-heading h2{margin:0}
.pedigree-tree{max-width:900px;margin:auto;padding:1.5rem;border:1px solid #dce0d1;border-radius:8px;background:#f2f4ed;text-align:center}
.pedigree-generation-label{margin:0 0 1.2rem;color:var(--leaf);font-size:.8rem}
.pedigree-parent-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;align-items:stretch}
.pedigree-branch{display:flex;min-width:0;flex-direction:column;justify-content:flex-end;padding:.75rem;border:1px solid #dbe0d1;border-radius:7px;background:rgba(255,255,255,.5)}
.pedigree-generation h4{margin:0 0 .55rem;color:var(--muted);font-size:.72rem;font-weight:500}
.pedigree-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.pedigree-generation .pedigree-node{flex-direction:column;align-items:center;padding:.65rem .35rem;text-align:center}
.pedigree-generation .pedigree-thumbnail{width:48px;height:48px}
.pedigree-generation .pedigree-node-copy b{font-size:.78rem}
.pedigree-connector{display:grid;place-items:center;height:2.2rem;color:#81916e;font-size:1.25rem;line-height:1}
.pedigree-current{display:flex;align-items:center;gap:1rem;width:min(100%,340px);margin:auto;padding:1rem;border:2px solid var(--apple);border-radius:8px;background:#fff;text-align:left}
.pedigree-current .pedigree-thumbnail{width:88px;height:88px}
.pedigree-current>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:.25rem;overflow-wrap:anywhere}
.pedigree-current small{color:var(--apple);font-size:.65rem;font-weight:700}
.pedigree-current b{font:700 1.2rem/1.4 Georgia,"Yu Mincho",serif}
.pedigree-current span{color:var(--muted);font-size:.68rem}
.pedigree-meta{display:grid;grid-template-columns:8rem minmax(0,1fr);max-width:900px;margin:1.4rem auto 0;font-size:.85rem}
.pedigree-meta dt,.pedigree-meta dd{padding:.5rem 0;border-bottom:1px solid var(--line)}
.pedigree-meta dt{font-weight:700}
.pedigree-meta dd{margin:0;overflow-wrap:anywhere}
.pedigree-children{max-width:900px;margin:1.5rem auto 0}
.pedigree-children h3{font-size:1rem}
.pedigree-child-count{margin-left:.4rem;color:var(--leaf);font-size:.8rem;font-weight:500}
.pedigree-children ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:0;list-style:none}
.pedigree-child{display:flex;align-items:center;gap:.65rem;height:100%;padding:.65rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-decoration:none}
.pedigree-child .pedigree-thumbnail{width:52px;height:52px}
.pedigree-panel details{max-width:900px;margin:1rem auto 0}
.pedigree-panel summary{cursor:pointer;font-weight:700}
.pedigree-card a:focus-visible,.pedigree-node:focus-visible,.pedigree-child:focus-visible,.influential-list a:focus-visible,.pedigree-teaser-list a:focus-visible{outline:2px solid var(--leaf);outline-offset:3px}
.influential-list a:hover,.pedigree-node[href]:hover,.pedigree-child:hover,.pedigree-teaser-list a:hover{border-color:#879971;background:#fafcf6}
.pedigree-card-title a:hover{color:var(--apple)}
@media(max-width:900px){.influential-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.pedigree-filters{grid-template-columns:1fr 1fr}.pedigree-teaser{grid-template-columns:1fr}.pedigree-method>div{grid-template-columns:1fr}.pedigree-heading{align-items:flex-start;flex-direction:column}.pedigree-children ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pedigree-cards,.pedigree-filters,.pedigree-parent-branches{grid-template-columns:1fr}.influential-list{grid-template-columns:repeat(2,minmax(0,1fr))}.influential-list .pedigree-thumbnail{width:80px;height:80px}.pedigree-card{padding:1rem}.pedigree-card-portrait .pedigree-thumbnail{width:76px;height:76px}.pedigree-card-title{gap:.8rem}.pedigree-card-title h2{font-size:1.2rem}.pedigree-stats div{padding:.7rem .65rem}.pedigree-stats strong{font-size:1.7rem}.pedigree-stats span{font-size:.66rem}.pedigree-panel{padding:1rem}.pedigree-tree{padding:1rem}.pedigree-meta{grid-template-columns:1fr}.pedigree-meta dd{padding-top:0}.pedigree-current{gap:.75rem;padding:.75rem}.pedigree-current .pedigree-thumbnail{width:72px;height:72px}.pedigree-children ul{grid-template-columns:1fr}}
@media(max-width:420px){.pedigree-parent-pair{grid-template-columns:1fr}}
