/* Family composition owns this page; native controls and typed graph remain intact. */
.family-page{--family-line:#4291ab55;--family-surface:#041321e8;position:relative;isolation:isolate}
body:has(.family-page) .paint{opacity:.12}
.family-back{display:inline-block;font-size:12px;margin:0 0 8px;color:#60dfdb}
.family-page .family-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;min-height:194px;padding:22px 24px 18px;margin:0 0 14px;border:0;border-radius:0;background:radial-gradient(ellipse at 67% 44%,#f892322f,transparent 44%),linear-gradient(100deg,#03101ef5 0%,#041423cf 37%,#08253725 72%,#031321c9 100%);overflow:hidden}
.family-hero:after{content:'';position:absolute;inset:auto 0 0;height:80px;background:linear-gradient(transparent,#03101e);z-index:-1;pointer-events:none}
.family-hero>div{position:relative;z-index:2}.family-hero>div:first-of-type{max-width:56%}
.family-page h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(44px,4.8vw,72px);line-height:1.02;letter-spacing:-1.8px;margin:12px 0 14px;text-shadow:0 4px 26px #00101e}
.family-hero p{font-size:14px;line-height:1.6;max-width:510px;margin:0;color:#c1d4de}
.family-hero .eyebrow{font-size:10px;letter-spacing:3px}
.family-page .family-hero-art{position:absolute;z-index:0;right:15%;top:-8%;width:55%;height:135%;object-fit:contain;opacity:.88;filter:drop-shadow(0 0 42px #f69c3944);pointer-events:none;transform:rotate(-7deg)}
.family-summary{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:7px;width:360px;flex:0 0 360px}
.family-summary>div{padding:12px 6px 10px;text-align:center;border:1px solid #82b9d14d;border-radius:9px;background:linear-gradient(155deg,#163043d9,#041321ee);backdrop-filter:blur(12px);box-shadow:0 12px 24px #0005}
.family-summary .stat-icon{display:block;color:#7adeda;font-size:22px;line-height:1.1;margin-bottom:5px}.family-summary strong{display:block;font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;color:#f0fbff}.family-summary small{display:block;font-size:10px;color:#b6c6d0;margin-top:5px}
.family-page .family-browser-controls{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;padding:10px 12px;background:linear-gradient(110deg,#092133e8,#051727f5);border:1px solid var(--family-line);border-radius:10px;margin-bottom:14px;box-shadow:0 10px 22px #0002}
.family-page .family-browser-controls input[type=search]{width:180px;min-width:140px;flex:1.4 1 180px;margin:0;height:42px;font-size:12px;border:1px solid #38718b88;background:#041422;border-radius:7px}
.family-filter{display:grid;min-width:0;flex:1 1 108px;padding:4px 7px;border:1px solid #38718b77;border-radius:7px;background:#041422;gap:0}
.family-filter>span{font-size:12px;color:#6be2df;line-height:1}.family-filter>span small{font-size:9px;color:#9cb4c4;margin-left:4px;font-weight:400}
.family-page .family-filter select{border:0;background:transparent;color:#e5f2f8;font-size:11px;font-weight:500;padding:4px 0 0;margin:0;min-height:20px;height:22px;width:100%;min-width:0;box-shadow:none;max-width:none}
.family-filter:focus-within{border-color:#63e5da;box-shadow:0 0 0 2px #48cdb21c}.family-browser-controls>label:last-child{font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:5px;color:#b7cbd7}.family-browser-controls input[type=checkbox]{accent-color:#48d9ce;width:15px;height:15px;margin:0}
.family-tree-panel,.family-printings-panel{border:1px solid var(--family-line);border-radius:12px;background:var(--family-surface);padding:14px 18px;margin:10px 0;box-shadow:0 16px 36px #0003}
.family-tree-panel{background:radial-gradient(ellipse at 61% 80%,#08648028,transparent 55%),linear-gradient(115deg,#041624eb,#07111de8)}
.family-section-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:10px}.family-section-heading h2{font:400 34px/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.7px;margin:0;color:#f2f8ff}.family-section-heading p,.family-section-heading small{font-size:11px;margin:0;color:#91aebf}.family-section-heading>small:first-of-type{margin-right:auto}.family-section-heading>small:last-child{font-size:10px}
.family-tree-scroll{overflow-x:auto;padding:8px 4px;overscroll-behavior-x:contain}.family-tree-canvas{position:relative;margin:auto}.family-connectors{position:absolute;inset:0;color:#62e9fa;overflow:visible;pointer-events:none}.family-edge{fill:none;stroke:#6be9ed;stroke-width:2;filter:drop-shadow(0 0 4px #2fcaff)}.family-edge.edge-mega{stroke:#c5a5ff;filter:drop-shadow(0 0 5px #8e58ff)}.family-edge.edge-alternate_form{stroke:#94bedf;stroke-dasharray:6 4}
.family-page .family-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px;text-align:center;border:1px solid transparent;background:linear-gradient(180deg,#0a25302b,#071926b3);border-radius:12px;color:#edf9ff;overflow:visible;box-shadow:none;transition:background .18s,border-color .18s}
.family-node img{width:100%;height:155px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 7px 11px #0007)}.family-node strong{font-size:18px;font-weight:600;line-height:1.2}.family-node small{font-size:10px;color:#97bacb;white-space:nowrap}.family-node .relationship-chip{font-size:9px;font-weight:400;color:#a5c6d5;padding:2px 6px;border:0;border-radius:4px;white-space:normal}.family-node-action{font-size:10px;font-weight:500;color:#5fe8da;margin-top:auto}
.family-page .family-node.node-branch{background:radial-gradient(ellipse at 50% 35%,#e88a242a,transparent 66%),linear-gradient(180deg,#1027333b,#082334b0);border-color:#d6955144}.family-node.node-branch img{transform:scale(1.06)}
.family-page .family-node.node-mega,.family-page .family-node.node-alternate_form{display:grid;grid-template-columns:105px minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:10px;row-gap:3px;align-items:center;text-align:left;padding:8px;border-color:#9b76dd55;background:linear-gradient(110deg,#26214491,#061625e8)}
.family-node:not(.node-species) img{grid-column:1;grid-row:1/5;width:105px;height:96px}.family-node:not(.node-species) strong,.family-node:not(.node-species) .relationship-chip,.family-node:not(.node-species) small,.family-node:not(.node-species) .family-node-action{grid-column:2}.family-node:not(.node-species) strong{font-size:16px;font-weight:500}.family-node.node-mega .relationship-chip{color:#d3b8ff;border:1px solid #9370c966;justify-self:start}.family-node:not(.node-species) small{white-space:normal;font-size:9px}
.family-page .family-node:hover{border-color:#6cead980;background-color:#10394b}.family-node.selected{border-color:#67eadb!important;box-shadow:0 0 18px #1fcbb424!important}.family-page .family-node:focus-visible{outline:2px solid #66dfce;outline-offset:3px}
.family-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 6px}.family-tabs button{font-size:11px;font-weight:500;min-height:34px;padding:5px 10px;background:#0a2536;border-color:#33698066}.family-tabs button[aria-pressed=true]{background:#135b59;border-color:#4ce0cc;color:#ecfffb}
.family-page .printing-grid{grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:12px}.family-page .printing-card{background:linear-gradient(180deg,#0d243548,#071523e8);color:#f0f8ff;border:1px solid #36738c44;border-radius:9px;overflow:hidden;box-shadow:none;transition:border-color .2s,transform .2s}.family-page .printing-card:hover{border-color:#68c6d1aa;transform:translateY(-3px)}.family-page .printing-card.owned{border-color:#3ddac48c;box-shadow:0 0 12px #2ebda414}
.family-page .printing-image{height:250px;background:transparent;padding:5px 6px}.family-page .printing-image img{width:100%;height:100%;object-fit:contain;border-radius:6px;filter:drop-shadow(0 6px 7px #0007)}
.printing-status-rail{font-size:9px;padding:4px 9px;color:#91acbe;border:0;letter-spacing:.3px}.owned .printing-status-rail{color:#64ead6}.family-page .printing-meta{padding:7px 9px 9px}.family-page .printing-meta strong{font-size:12px;font-weight:600;line-height:1.2}.family-page .printing-meta strong span{color:#97b8ca;font-size:11px}.family-page .printing-meta small{font-size:10px;color:#a0bacb;min-height:0;line-height:1.4}.family-page .printing-meta button{font-size:10px;font-weight:500;width:100%;min-height:32px;margin-top:5px;background:#0d3041;border-color:#2f607866;padding:5px}.family-page .printing-meta>a{font-size:10px}.family-page .tile-value{background:#0b2a3980;color:#74e4d5;border:1px solid #29576b88;font-size:11px;margin:6px 0 3px;padding:5px 7px}.family-page .tile-value strong{font-size:13px;font-weight:600}.family-page .tile-value small{color:#a6c5d4!important}.family-page .compact-value>span{display:none}.family-value-evidence{margin-bottom:3px}.family-value-evidence summary{font-size:9px;color:#9bc0d0;cursor:pointer}.family-evidence-note{font-size:11px;line-height:1.5;color:#88a6b8}.family-page button[hidden]{display:none}
@media(min-width:650px) and (max-width:1100px){.family-page .family-hero{min-height:240px;padding:24px 16px;align-items:flex-start;flex-direction:column;gap:20px}.family-hero>div:first-of-type{max-width:65%}.family-summary{width:340px;flex-basis:auto}.family-page .family-hero-art{width:66%;right:-6%;height:140%;top:-5%}.family-page h1{font-size:54px}.family-page .family-browser-controls{flex-wrap:wrap}.family-filter{flex-basis:100px}.family-page .family-browser-controls input[type=search]{flex-basis:180px}.family-tree-canvas{margin:0}.family-tree-scroll{scrollbar-width:thin;scrollbar-color:#36768b #071827}}
@media(max-width:649px){.family-page .family-hero{display:block;padding:24px 10px 14px;min-height:300px}.family-hero>div:first-of-type{max-width:100%}.family-page h1{font-size:46px;max-width:70%;letter-spacing:-1.2px}.family-hero p{font-size:12px;max-width:76%}.family-page .family-hero-art{width:95%;height:125%;right:-35%;top:-20%;opacity:.43}.family-summary{position:relative;width:100%;margin-top:24px;grid-template-columns:repeat(4,1fr);gap:5px}.family-summary>div{padding:9px 3px}.family-summary strong{font-size:23px}.family-summary .stat-icon{font-size:17px}.family-summary small{font-size:9px}.family-page .family-browser-controls{flex-wrap:wrap;padding:10px;gap:6px}.family-page .family-browser-controls input[type=search]{flex-basis:100%;width:100%;height:40px}.family-filter{flex-basis:calc(33.333% - 6px)}.family-browser-controls>label:last-child{padding:5px 0}.family-tree-panel,.family-printings-panel{padding:12px 10px}.family-section-heading{gap:5px}.family-section-heading h2{font-size:30px}.family-section-heading>small:last-child{width:100%}.family-page .family-node.node-mega,.family-page .family-node.node-alternate_form{display:flex;flex-direction:column;text-align:center;padding:9px}.family-node img,.family-node:not(.node-species) img{width:100%;height:112px}.family-node strong,.family-node:not(.node-species) strong{font-size:14px}.family-node small,.family-node:not(.node-species) small{font-size:9px;white-space:normal}.family-page .printing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.family-page .printing-image{height:214px}.family-tabs button{font-size:10px;min-height:34px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.family-node,.printing-card{transition:none!important}.family-page .printing-card:hover{transform:none}}

.family-hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#03101ed9,transparent 62%)}
.family-page .family-node.origin-node{border-color:#61d7cf88;background-color:#0b334344}
.family-owned-strip{display:flex;justify-content:center;gap:6px;grid-column:2;width:100%;margin:5px 0}
.family-owned-copy{display:flex;align-items:center;gap:4px;max-width:100%;padding:3px;background:#153b42;border:1px solid #51c9b66b;border-radius:5px;cursor:pointer}
.family-page .family-owned-copy img{height:36px!important;width:26px!important;object-fit:contain;filter:none;transform:none;flex:none;grid-column:auto;grid-row:auto}
.family-page .family-owned-copy small{font-size:9px;white-space:normal;color:#a9efe3}
.family-owned-copy:hover,.family-owned-copy:focus-visible{outline:2px solid #5de0c6;outline-offset:2px}
.family-node:not(.node-species) .family-owned-strip{grid-column:2;justify-content:flex-start}.family-node:not(.node-species) .family-node-action{grid-column:2}
