#bloodline .bloodline-network{max-width:100%;overflow:hidden}
#bloodline .section-title{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
#bloodline .section-head,#bloodline .bloodline-network{position:relative;z-index:2}
#bloodline .bln-toolbar{position:relative;z-index:8;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #c9c9c3}
#bloodline .bln-toolbar>div:first-child{display:flex;align-items:center;gap:16px;min-width:0}
#bloodline .bln-count{color:var(--ink);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
#bloodline .bln-instruction{color:var(--muted);font-size:10px;line-height:1.4}
#bloodline .bln-toolbar-actions{display:flex;align-items:center;gap:7px;flex:none}
#bloodline .bln-toolbar-actions button{min-height:34px;padding:0 15px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease)}
#bloodline .bln-toolbar-actions button:hover,
#bloodline .bln-toolbar-actions button:focus-visible{background:var(--ink);color:var(--white)}
#bloodline .bln-toolbar-actions button:first-child{background:var(--acid);color:var(--ink)}
#bloodline .bln-toolbar-actions button:first-child:hover,
#bloodline .bln-toolbar-actions button:first-child:focus-visible{background:var(--ink);color:var(--white)}
#bloodline .bln-toolbar-actions button[hidden]{display:none}

#bloodline .bln-desktop{display:block;max-width:100%;overflow:hidden}
#bloodline .bln-stage-shell{position:relative;width:100%;min-height:0;overflow:hidden;contain:layout paint}
#bloodline .bln-stage{position:relative;width:100%;min-height:0;isolation:isolate;transition:height .46s var(--ease)}
#bloodline .bln-connectors{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#bloodline .bln-connector{fill:none;stroke:#5e5e59;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
#bloodline .bln-connector.is-active{stroke:#3f3f3b;stroke-width:var(--bln-active-line,6px)}
#bloodline .bln-connector.is-new{stroke-dasharray:1;stroke-dashoffset:1;animation:bln-line-in .46s var(--ease) forwards}
#bloodline .bln-connector-signal{fill:none;stroke:var(--acid);stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:.075 .925;stroke-dashoffset:0;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px var(--acid));animation:bln-route-signal 2.8s linear infinite}
#bloodline .bln-node-layer{position:absolute;inset:0;z-index:1;pointer-events:none}

#bloodline .bln-node{position:absolute;left:0;top:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);grid-template-rows:none;min-height:112px;margin:0;padding:0;border:1px solid #c9c9c3;border-radius:0;background:#f6f6f2;color:var(--ink);font:inherit;text-align:left;overflow:hidden;pointer-events:auto;transform-origin:center bottom;transition:transform .46s var(--ease),opacity .3s var(--ease),border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}
#bloodline .bln-tree-action{position:absolute;inset:0;z-index:5;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;appearance:none;cursor:pointer}
#bloodline .bln-tree-action:focus-visible{outline:2px solid var(--acid);outline-offset:-3px}
#bloodline .bln-node.is-expandable[data-expanded="false"]::before{content:"";position:absolute;z-index:6;left:0;top:0;bottom:0;width:4px;background:var(--acid);box-shadow:0 0 7px rgba(242,255,0,.42);pointer-events:none}
#bloodline .bln-node.is-expandable:hover,
#bloodline .bln-node.is-expandable:has(.bln-tree-action:focus-visible),
#bloodline .bln-node[data-expanded="true"]{z-index:3;border-color:var(--ink);background:var(--white);box-shadow:0 14px 32px rgba(18,18,18,.1)}
#bloodline .bln-node.is-related-repeat{z-index:4;border-color:#8f8f89;box-shadow:0 12px 28px rgba(18,18,18,.08)}
/* Repeated canonical ancestor = one unmistakable acid object, not another outlined card. */
#bloodline .bln-node.is-repeat{border-color:transparent!important;background:var(--acid);box-shadow:none!important}
#bloodline .bln-node.is-repeat:hover,
#bloodline .bln-node.is-repeat:focus-within,
#bloodline .bln-node.is-repeat.is-related-repeat{border-color:transparent!important;background:var(--acid);box-shadow:none!important}
#bloodline .bln-node.is-repeat .bln-copy{background:var(--acid)!important}
#bloodline .bln-node.is-repeat .bln-photo{background:var(--acid);color:var(--ink)}
#bloodline .bln-node.is-repeat .bln-photo.has-image img{background:var(--acid);filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply;opacity:.76}
#bloodline .bln-node.is-repeat:hover .bln-photo.has-image img,
#bloodline .bln-node.is-repeat:focus-within .bln-photo.has-image img{filter:grayscale(1) contrast(1.08);transform:scale(1.012)}
#bloodline .bln-subject{z-index:2;grid-template-columns:minmax(0,1.72fr) minmax(120px,1fr);grid-template-rows:none;border:2px solid var(--ink);background:var(--white);box-shadow:0 24px 52px rgba(18,18,18,.12)}

#bloodline .bln-photo{position:relative;width:100%;height:100%;min-height:inherit;display:grid;place-items:center;overflow:hidden;container-type:inline-size;background:#161616;color:var(--white)}
#bloodline .bln-photo img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#ecece7;filter:grayscale(1);transition:filter .42s var(--ease),transform .55s var(--ease)}

/* Image inspect cue — deliberately not a labelled button. Two corner marks are the signal. */
#bloodline .bln-photo-action{position:absolute;right:7px;bottom:7px;z-index:9;width:27px;height:27px;margin:0;padding:0;border:0;background:transparent;color:var(--acid);opacity:.46;cursor:zoom-in;transition:opacity .22s var(--ease),transform .26s var(--ease);appearance:none}
#bloodline .bln-photo-action::before,#bloodline .bln-photo-action::after{content:"";position:absolute;width:9px;height:9px;pointer-events:none}
#bloodline .bln-photo-action::before{right:4px;top:4px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
#bloodline .bln-photo-action::after{left:4px;bottom:4px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
#bloodline .bln-photo-action:hover,#bloodline .bln-photo-action:focus-visible{opacity:1;transform:scale(1.08);outline:none}
#bloodline .bln-photo:not(.has-image) .bln-photo-action{display:none}
#bloodline .bln-node.is-repeat .bln-photo-action{color:var(--ink)}

/* One-image cinematic takeover. No thumbnails, no carousel, no persistent UI. */
.bln-image-open{overflow:hidden!important}
#bloodline .bln-image-viewer[hidden]{display:none!important}
#bloodline .bln-image-viewer{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(18px,2.4vw,36px);overflow:hidden;background:#0f0f0f;color:#fff;opacity:0;transition:opacity .34s var(--ease);isolation:isolate}
#bloodline .bln-image-viewer.is-open{opacity:1}
#bloodline .bln-image-viewer::before{content:attr(data-name);position:absolute;left:-.045em;right:-.04em;top:50%;z-index:-1;transform:translateY(-52%);color:#1d1d1d;font-size:clamp(76px,14vw,230px);font-weight:900;line-height:.78;letter-spacing:-.085em;text-transform:uppercase;white-space:nowrap;overflow:hidden;pointer-events:none}
#bloodline .bln-image-viewer-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px}
#bloodline .bln-image-viewer-kicker{display:flex;align-items:center;gap:10px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
#bloodline .bln-image-viewer-kicker::before{content:"";width:24px;height:3px;background:var(--acid)}
#bloodline .bln-image-viewer-close{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #3a3a3a;border-radius:50%;background:transparent;color:#fff;font-size:22px;font-weight:300;line-height:1;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
#bloodline .bln-image-viewer-close:hover,#bloodline .bln-image-viewer-close:focus-visible{border-color:var(--acid);background:var(--acid);color:var(--ink);transform:rotate(45deg);outline:none}
#bloodline .bln-image-viewer-stage{position:relative;z-index:2;min-height:0;display:grid;place-items:center;padding:clamp(14px,2vw,30px) 0}
#bloodline .bln-image-viewer-stage img{display:block;max-width:min(92vw,1600px);max-height:78svh;width:auto;height:auto;object-fit:contain;filter:none;background:transparent;opacity:1}
#bloodline .bln-image-viewer-meta{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;padding-top:14px;border-top:1px solid #303030}
#bloodline .bln-image-viewer-name{font-size:clamp(24px,3.5vw,52px);font-weight:720;line-height:.88;letter-spacing:-.06em}
#bloodline .bln-image-viewer-data{text-align:right;color:#8e8e8e;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;font-weight:700;line-height:1.5;letter-spacing:.07em;text-transform:uppercase}
#bloodline .bln-flight-image{position:fixed;z-index:1100;margin:0;pointer-events:none;object-fit:contain;background:#ecece7;will-change:left,top,width,height,opacity}

#bloodline .bln-photo[data-orientation="portrait"] img{padding-inline:4%}
#bloodline .bln-photo[data-orientation="landscape"] img{padding-block:4%}
#bloodline .bln-node:hover .bln-photo img,
#bloodline .bln-node:has(.bln-tree-action:focus-visible) .bln-photo img,
#bloodline .bln-node[data-expanded="true"] .bln-photo img{filter:grayscale(0);transform:scale(1.012)}
#bloodline .bln-fallback{position:absolute;z-index:1;left:.015em;top:25%;transform:translateY(-50%);font-size:clamp(60px,8.5vw,190px);font-size:min(104cqw,190px);font-weight:880;line-height:.86;letter-spacing:-.11em}
#bloodline .bln-photo.has-image .bln-fallback{display:none}
#bloodline .bln-generation{position:absolute;left:6px;top:6px;z-index:3;max-width:calc(100% - 12px);display:inline-flex;align-items:center;gap:4px;min-width:0;padding:5px 8px;border-radius:999px;background:var(--ink);color:var(--acid);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;font-weight:850;line-height:1;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
#bloodline .bln-generation b{flex:none;font:inherit;color:var(--acid)}
#bloodline .bln-generation i{min-width:0;overflow:hidden;color:var(--white);font:inherit;font-style:normal;text-overflow:ellipsis}
#bloodline .bln-generation i::before{content:"·";margin-right:4px;color:#8e8e88}
#bloodline .bln-role-short{display:none}
#bloodline .bln-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:7px;padding:12px 12px 14px}
#bloodline .bln-role{display:inline-flex;max-width:100%;padding:4px 7px;border-radius:999px;background:var(--ink);color:var(--white);font-size:6px;font-weight:800;line-height:1;letter-spacing:.07em;text-transform:uppercase;white-space:normal}
#bloodline .bln-copy strong{display:-webkit-box;width:100%;max-width:100%;max-height:2.15em;font-size:clamp(12px,1.18vw,18px);font-weight:760;line-height:1.04;letter-spacing:-.045em;white-space:normal;overflow:hidden;overflow-wrap:normal;word-break:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#bloodline .bln-identity{display:block;color:var(--muted);font-size:8px;line-height:1.35;overflow-wrap:anywhere}
#bloodline .bln-subject .bln-photo{height:100%;min-height:260px;aspect-ratio:auto}
#bloodline .bln-subject .bln-copy{justify-content:flex-end;padding:22px 20px 24px}
#bloodline .bln-subject .bln-role{background:var(--acid);color:var(--ink)}
#bloodline .bln-subject .bln-copy strong{font-size:clamp(27px,2.5vw,43px);line-height:.88}
#bloodline .bln-subject .bln-identity{font-size:9px}

#bloodline .bln-stage[data-density="1"] .bln-node:not(.bln-subject){min-height:104px}
#bloodline .bln-stage[data-density="1"] .bln-copy{gap:6px;padding:10px}
#bloodline .bln-stage[data-density="1"] .bln-copy strong{font-size:14px}
#bloodline .bln-stage[data-density="2"] .bln-node:not(.bln-subject){min-height:94px}
#bloodline .bln-stage[data-density="2"] .bln-copy{gap:5px;padding:9px}
#bloodline .bln-stage[data-density="2"] .bln-copy strong{font-size:12px}
#bloodline .bln-stage[data-density="2"] .bln-identity{font-size:7px}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject){min-height:82px}
#bloodline .bln-stage[data-density="3"] .bln-copy{gap:4px;padding:7px}
#bloodline .bln-stage[data-density="3"] .bln-copy strong{font-size:12px;line-height:1.05}
#bloodline .bln-stage[data-density="3"] .bln-role,
#bloodline .bln-stage[data-density="3"] .bln-identity{font-size:6.5px}
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject){min-height:56px}
#bloodline .bln-stage[data-density="4"] .bln-copy{justify-content:flex-start;gap:2px;padding:4px 5px}
#bloodline .bln-stage[data-density="4"] .bln-copy strong{max-height:3.15em;font-size:10.5px;line-height:1.03;letter-spacing:-.045em;-webkit-line-clamp:3}
#bloodline .bln-stage[data-density="4"] .bln-role,
#bloodline .bln-stage[data-density="4"] .bln-identity{font-size:6px;line-height:1.2;letter-spacing:.025em}
#bloodline .bln-stage[data-density="3"] .bln-role,
#bloodline .bln-stage[data-density="4"] .bln-role{padding:3px 5px}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject) .bln-copy,
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject) .bln-copy{position:absolute;z-index:4;left:4px;right:4px;bottom:4px;width:auto;min-height:0;padding:4px 5px;background:rgba(246,246,242,.95)}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject) .bln-identity,
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject) .bln-identity{display:block;max-width:100%;font-size:5.5px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:clip}
#bloodline .bln-stage[data-density="4"] .bln-generation{left:4px;top:4px;padding:3px 5px;font-size:5.5px}
#bloodline .bln-stage[data-density="4"] .bln-generation i.has-short .bln-role-full{display:none}
#bloodline .bln-stage[data-density="4"] .bln-generation i.has-short .bln-role-short{display:inline}
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-photo{min-height:200px}
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-photo{min-height:180px}
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-copy,
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-copy{padding:16px 14px 18px}
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-copy strong,
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-copy strong{font-size:25px}
#bloodline .bln-stage[data-viewport-fit="compact"][data-density="4"] .bln-node:not(.bln-subject){min-height:58px}
#bloodline .bln-stage[data-viewport-fit="compact"][data-density="4"] .bln-subject .bln-photo{min-height:138px}
#bloodline .bln-stage[data-viewport-fit="compact"][data-density="4"] .bln-subject .bln-copy{padding:12px 13px 14px}
#bloodline .bln-stage[data-viewport-fit="compact"][data-density="4"] .bln-subject .bln-copy strong{font-size:22px}

#bloodline .bln-mobile{display:none}

@media(min-width:721px){
  #bloodline.section{min-height:calc(100svh - 68px);padding-top:12px;padding-bottom:8px}
  #bloodline .section-head{grid-template-columns:minmax(0,1fr) minmax(310px,38%);align-items:end;gap:28px;margin-bottom:8px}
  #bloodline .section-index{margin-bottom:5px}
  #bloodline .section-title{font-size:clamp(40px,4vw,58px);line-height:.84;white-space:nowrap}
  #bloodline .section-title br{display:none}
  #bloodline .section-note{margin-top:0;font-size:10px;line-height:1.34}
  #bloodline .section-note b{margin-bottom:4px;font-size:8px}
  #bloodline .bln-toolbar{margin-bottom:6px;padding-bottom:5px}
  #bloodline .bln-toolbar-actions button{min-height:30px}
}

@media(min-width:721px) and (max-height:940px){
  #bloodline.section{padding-top:6px;padding-bottom:5px}
  #bloodline .section-head{grid-template-columns:1fr;gap:0;margin-bottom:4px}
  #bloodline .section-index{margin-bottom:3px}
  #bloodline .section-title{font-size:clamp(34px,3.2vw,48px);line-height:.82}
  #bloodline .section-note{display:none}
  #bloodline .bln-toolbar{margin-bottom:4px;padding-bottom:4px}
  #bloodline .bln-instruction{display:none}
  #bloodline .bln-toolbar-actions button{min-height:28px;padding:0 12px}
}

@keyframes bln-line-in{to{stroke-dashoffset:0}}
@keyframes bln-route-signal{to{stroke-dashoffset:-1}}
@keyframes bln-mobile-rail-signal{0%{top:-90px;opacity:0}9%{opacity:1}70%{top:100%;opacity:1}78%,100%{top:100%;opacity:0}}

@media(max-width:720px){
  /* Mobile is a focused genealogy route, never a miniature desktop tree. */
  #bloodline.section{max-width:100%;overflow-x:clip}
  #bloodline .section-head,
  #bloodline .section-content,
  #bloodline .bloodline-network,
  #bloodline .bln-toolbar,
  #bloodline .bln-mobile{width:100%;max-width:100%;min-width:0}
  #bloodline .bln-toolbar{align-items:flex-start;gap:12px;margin-bottom:20px}
  #bloodline .bln-toolbar>div:first-child{display:block;min-width:0;flex:1 1 auto}
  #bloodline .bln-count{white-space:normal}
  #bloodline .bln-instruction{display:block;margin-top:7px;max-width:230px}
  #bloodline .bln-toolbar-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:6px;max-width:48%}
  #bloodline .bln-toolbar-actions [data-bloodline-action="all"]{display:none!important}
  #bloodline .bln-toolbar-actions button{min-width:0;min-height:32px;max-width:100%;padding:0 9px;font-size:7px;white-space:nowrap}
  #bloodline .bln-desktop{display:none}
  #bloodline .bln-mobile{display:block;overflow:hidden}
  #bloodline .bln-mobile *,
  #bloodline .bln-mobile *::before,
  #bloodline .bln-mobile *::after{box-sizing:border-box;min-width:0}

  #bloodline .bln-mobile-root-label{position:relative;display:flex;align-items:center;gap:9px;margin:0 0 12px;padding-top:13px;border-top:1px solid #bdbdb7;text-transform:uppercase}
  #bloodline .bln-mobile-root-label span{display:grid;place-items:center;min-width:30px;height:22px;padding:0 9px;border-radius:999px;background:var(--ink);color:var(--acid);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;font-weight:850}
  #bloodline .bln-mobile-root-label strong{font-size:8px;font-weight:850;letter-spacing:.08em}

  #bloodline .bln-mobile>.bln-subject{position:relative;width:100%!important;max-width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;transform:none!important;opacity:1!important}
  #bloodline .bln-mobile>.bln-subject .bln-photo{height:auto;min-height:0;aspect-ratio:4 / 3}
  #bloodline .bln-mobile>.bln-subject .bln-copy{justify-content:flex-start;min-height:0;padding:18px 18px 21px}
  #bloodline .bln-mobile>.bln-subject .bln-copy strong{font-size:31px;line-height:.9;overflow-wrap:anywhere}
  #bloodline .bln-mobile>.bln-subject .bln-role{background:var(--acid);color:var(--ink)}

  #bloodline .bln-mobile-lineage{position:relative;width:100%;max-width:100%;margin-top:18px;padding-left:12px;overflow:hidden}
  #bloodline .bln-mobile-lineage::before{content:"";position:absolute;z-index:0;left:0;top:0;bottom:0;width:6px;background:#3f3f3b}
  #bloodline .bln-mobile-lineage::after{content:"";position:absolute;z-index:1;left:0;top:-82px;width:6px;height:76px;background:linear-gradient(180deg,transparent,var(--acid) 38%,#fff 52%,var(--acid) 70%,transparent);filter:drop-shadow(0 0 5px var(--acid));animation:bln-mobile-rail-signal 4.6s cubic-bezier(.35,0,.25,1) infinite;pointer-events:none}
  #bloodline .bln-mobile-generation{position:relative;z-index:2;width:100%;max-width:100%;margin:0 0 18px}
  #bloodline .bln-mobile-generation:last-child{margin-bottom:0}
  #bloodline .bln-mobile-generation-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px 3px;color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
  #bloodline .bln-mobile-generation-label span{flex:none;padding:4px 8px;border-radius:999px;background:var(--acid);color:var(--ink)}
  #bloodline .bln-mobile-generation-label b{min-width:0;max-width:74%;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* Exactly one parent pair per generation. Both cards stay fully visible. */
  #bloodline .bln-mobile-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:100%;padding:0 0 0 3px;overflow:visible}
  #bloodline .bln-mobile-row.is-single{grid-template-columns:1fr}
  #bloodline .bln-mobile .bln-node{position:relative!important;left:auto!important;top:auto!important;width:100%!important;max-width:100%;min-width:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;transform:none!important;opacity:1!important;transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}
  #bloodline .bln-mobile .bln-node.is-route-lineage{border-color:#5e5e59}
  #bloodline .bln-mobile .bln-node.is-route-focus{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--acid),0 10px 24px rgba(18,18,18,.1)}
  #bloodline .bln-mobile .bln-photo{height:auto;min-height:0;aspect-ratio:4 / 3}
  #bloodline .bln-mobile .bln-photo img{padding:0;object-fit:contain}
  #bloodline .bln-mobile .bln-fallback{top:22%;font-size:min(82cqw,128px)}
  #bloodline .bln-mobile .bln-generation{left:5px;top:5px;max-width:calc(100% - 10px);padding:4px 6px;font-size:6px}
  #bloodline .bln-mobile .bln-copy{width:100%;max-width:100%;min-height:86px;gap:5px;padding:9px 9px 10px;overflow:hidden}
  #bloodline .bln-mobile .bln-copy strong{display:block;width:100%;max-width:100%;max-height:none;font-size:clamp(10px,3vw,13px);line-height:1.06;letter-spacing:-.045em;white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:normal;-webkit-line-clamp:unset}
  #bloodline .bln-mobile .bln-role{font-size:6px;padding:4px 6px}
  #bloodline .bln-mobile .bln-identity{font-size:7px;line-height:1.25;overflow-wrap:anywhere}
}

@media(max-width:520px){
  #bloodline .bln-toolbar{display:block}
  #bloodline .bln-toolbar-actions{margin-top:11px;max-width:100%;justify-content:flex-start}
  #bloodline .bln-mobile>.bln-subject .bln-copy strong{font-size:29px}
  #bloodline .bln-mobile-row{gap:7px}
  #bloodline .bln-mobile .bln-copy{min-height:82px;padding:8px}
  #bloodline .bln-mobile .bln-copy strong{font-size:clamp(9.5px,3vw,12px)}
}

@media(max-width:360px){
  #bloodline .bln-mobile .bln-generation i.has-short .bln-role-full{display:none}
  #bloodline .bln-mobile .bln-generation i.has-short .bln-role-short{display:inline}
}


@media(max-width:720px){
  #bloodline .bln-photo-action{right:5px;bottom:5px;width:25px;height:25px;opacity:.68}
  #bloodline .bln-image-viewer{padding:14px 14px 18px}
  #bloodline .bln-image-viewer::before{top:47%;font-size:25vw}
  #bloodline .bln-image-viewer-close{width:38px;height:38px;font-size:20px}
  #bloodline .bln-image-viewer-stage{padding:12px 0 16px}
  #bloodline .bln-image-viewer-stage img{max-width:100%;max-height:72svh}
  #bloodline .bln-image-viewer-meta{grid-template-columns:1fr;gap:8px}
  #bloodline .bln-image-viewer-data{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  #bloodline .bln-stage,
  #bloodline .bln-node,
  #bloodline .bln-photo img{transition:none!important}
  #bloodline .bln-connector.is-new{animation:none;stroke-dashoffset:0}
  #bloodline .bln-connector-signal{stroke-dasharray:none;opacity:.86;animation:none}
  #bloodline .bln-mobile-route::after{display:none}
}


/* v4 — editorial bloodline refinement: text-first cards, image on demand */
#bloodline.section{
  min-height:clamp(980px,118svh,1380px)!important;
  padding-top:clamp(86px,8vw,126px)!important;
  padding-bottom:clamp(92px,9vw,142px)!important;
}
#bloodline .section-title{
  position:relative!important;
  width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  overflow:visible!important;clip-path:none!important;white-space:normal!important;
  font-size:clamp(64px,8.4vw,126px)!important;line-height:.84!important;
}
#bloodline .section-head{align-items:start!important;margin-bottom:clamp(54px,6vw,82px)!important}
#bloodline .bloodline-network{position:relative}
#bloodline .bln-toolbar{padding-right:min(360px,28vw)}
#bloodline .bln-interaction-note{
  position:absolute;right:0;top:0;z-index:12;
  display:grid;gap:5px;max-width:310px;text-align:right;
  color:#777;font-size:8px;font-weight:650;line-height:1.35;letter-spacing:.055em;text-transform:uppercase;
}
#bloodline .bln-interaction-note span{display:block}
#bloodline .bln-interaction-note b{color:var(--ink);font-weight:850}

#bloodline .bln-node,
#bloodline .bln-subject{
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr!important;
  min-height:96px!important;
}
#bloodline .bln-photo{
  height:0!important;min-height:0!important;aspect-ratio:auto!important;
  overflow:visible!important;background:transparent!important;color:var(--ink)!important;
}
#bloodline .bln-photo .bln-generation{
  left:10px!important;top:10px!important;right:auto!important;
}
#bloodline .bln-fallback,#bloodline .bln-photo img,#bloodline .bln-photo-action{display:none!important}
#bloodline .bln-copy{
  min-height:96px!important;padding:34px 16px 14px 18px!important;
  justify-content:flex-end!important;background:transparent!important;
}
#bloodline .bln-copy strong,
#bloodline .bln-name-action{
  position:relative;z-index:8;display:block;width:100%;margin:0;padding:0;border:0;background:transparent;
  color:inherit;font:inherit;font-size:clamp(13px,1.05vw,18px);font-weight:760;line-height:.98;
  letter-spacing:-.045em;text-align:left;cursor:default;
}
#bloodline .bln-name-action{cursor:zoom-in}
#bloodline .bln-name-action span{
  display:inline-block;margin-left:6px;color:#888;font-size:.72em;font-weight:700;
  transform:translateY(-.08em);transition:transform .24s var(--ease),color .24s var(--ease)
}
#bloodline .bln-name-action:hover span,#bloodline .bln-name-action:focus-visible span{color:var(--ink);transform:translate(2px,-2px)}
#bloodline .bln-name-action:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
#bloodline .bln-identity{margin-top:8px!important}
#bloodline .bln-subject .bln-copy{min-height:132px!important;padding:45px 22px 18px!important}
#bloodline .bln-subject .bln-name-action,#bloodline .bln-subject .bln-copy strong{font-size:clamp(25px,2.35vw,38px)!important}

#bloodline .bln-tree-action{
  inset:0 auto 0 0!important;width:7px!important;height:100%!important;z-index:10!important;
  background:var(--acid)!important;box-shadow:0 0 8px rgba(243,254,25,.4)!important;
}
#bloodline .bln-node.is-expandable[data-expanded="false"]::before{display:none!important}
#bloodline .bln-node[data-expanded="true"] .bln-tree-action{width:8px!important}
#bloodline .bln-tree-action:hover,#bloodline .bln-tree-action:focus-visible{filter:brightness(.94);outline:0!important}
#bloodline .bln-node.is-repeat{border:0!important;background:var(--acid)!important}
#bloodline .bln-node.is-repeat .bln-tree-action{background:var(--ink)!important;box-shadow:none!important}
#bloodline .bln-node.is-repeat .bln-generation{background:var(--ink)!important;color:var(--acid)!important}

#bloodline .bln-image-viewer{
  grid-template-rows:auto minmax(0,1fr) auto!important;
  padding:clamp(22px,2.5vw,42px)!important;
}
#bloodline .bln-image-viewer-top{align-items:flex-start!important}
#bloodline .bln-image-viewer-kicker{padding-top:5px}
#bloodline .bln-image-viewer-name{
  position:absolute;top:0;right:64px;z-index:5;
  max-width:min(62vw,900px);margin:0;text-align:right;
  font-size:clamp(34px,5.6vw,88px)!important;font-weight:760;line-height:.86;letter-spacing:-.065em;
}
#bloodline .bln-image-viewer-stage{
  padding:clamp(100px,12vh,150px) 0 clamp(28px,5vh,64px)!important;
}
#bloodline .bln-image-viewer-stage img{
  max-width:min(72vw,1280px)!important;
  max-height:62svh!important;
}
#bloodline .bln-image-viewer-meta{
  grid-template-columns:1fr!important;
  justify-items:end!important;
}
#bloodline .bln-image-viewer-data{text-align:right!important}
#bloodline .bln-image-viewer::before{
  top:54%!important;font-size:clamp(92px,15vw,250px)!important;
}

@media(max-width:720px){
  #bloodline.section{min-height:auto!important;padding-top:82px!important;padding-bottom:96px!important}
  #bloodline .section-title{font-size:clamp(58px,17vw,82px)!important}
  #bloodline .section-head{margin-bottom:42px!important}
  #bloodline .bln-toolbar{padding-right:0!important;padding-top:62px}
  #bloodline .bln-interaction-note{
    top:0;right:0;left:auto;max-width:255px;font-size:7px;line-height:1.4;
  }
  #bloodline .bln-mobile>.bln-subject{
    grid-template-columns:1fr!important;grid-template-rows:1fr!important;
  }
  #bloodline .bln-mobile>.bln-subject .bln-photo{display:block!important;height:0!important;aspect-ratio:auto!important}
  #bloodline .bln-mobile .bln-node{
    grid-template-columns:1fr!important;grid-template-rows:1fr!important;
  }
  #bloodline .bln-mobile .bln-photo{display:block!important;height:0!important;aspect-ratio:auto!important}
  #bloodline .bln-mobile .bln-copy{min-height:102px!important;padding:36px 11px 12px 14px!important}
  #bloodline .bln-mobile>.bln-subject .bln-copy{min-height:132px!important;padding:46px 18px 17px!important}
  #bloodline .bln-mobile>.bln-subject .bln-name-action{font-size:29px!important}
  #bloodline .bln-mobile .bln-copy strong,#bloodline .bln-mobile .bln-name-action{
    font-size:clamp(11px,3.25vw,14px)!important;line-height:1.04!important;
  }
  #bloodline .bln-image-viewer-name{
    top:2px;right:54px;max-width:72vw;font-size:clamp(28px,10vw,48px)!important;
  }
  #bloodline .bln-image-viewer-stage{padding:100px 0 34px!important}
  #bloodline .bln-image-viewer-stage img{max-width:94vw!important;max-height:58svh!important}
  #bloodline .bln-image-viewer-data{font-size:7px}
}


/* v5 — fixed ancestry lattice + uniform intelligent typography */
#bloodline .bln-name-action,
#bloodline .bln-name-static{
  display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;
  gap:5px!important;width:100%!important;min-width:0!important;max-width:100%!important;
  font-size:18px!important;font-weight:760!important;line-height:1.02!important;
  letter-spacing:-.052em!important;white-space:normal!important;overflow:visible!important;
}
#bloodline .bln-name-text{
  display:block!important;min-width:0!important;max-width:100%!important;
  white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance;
}
#bloodline .bln-name-arrow{
  display:inline-block!important;flex:0 0 auto!important;width:auto!important;
  margin:0 0 .03em 0!important;white-space:nowrap!important;color:#777!important;
  font-size:.68em!important;font-weight:800!important;line-height:1!important;
}
#bloodline .bln-name-action:hover .bln-name-arrow,
#bloodline .bln-name-action:focus-visible .bln-name-arrow{
  color:var(--ink)!important;transform:translate(2px,-2px)!important;
}
#bloodline .bln-stage[data-density] .bln-copy strong,
#bloodline .bln-stage[data-density] .bln-name-action,
#bloodline .bln-mobile .bln-copy strong,
#bloodline .bln-mobile .bln-name-action{font-size:18px!important}

#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject){
  min-height:76px!important;height:auto!important;
}
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject) .bln-copy{
  min-height:76px!important;height:76px!important;padding:27px 7px 8px 10px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject{min-height:94px!important}
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-copy{
  min-height:94px!important;height:94px!important;padding:31px 16px 11px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-identity{
  margin-top:5px!important;font-size:6.5px!important;line-height:1.18!important;
}
#bloodline .bln-stage[data-density="4"] .bln-generation{
  left:7px!important;top:7px!important;transform:scale(.88);transform-origin:left top;
}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject){min-height:84px!important}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject) .bln-copy{
  min-height:84px!important;padding:29px 10px 10px 13px!important;
}
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-copy{min-height:108px!important}

#bloodline .bln-node.is-repeat,
#bloodline .bln-node.is-repeat:hover,
#bloodline .bln-node.is-repeat:focus-within{
  border:0!important;outline:0!important;box-shadow:none!important;background:var(--acid)!important;
}

@media(max-width:720px){
  #bloodline .bln-mobile .bln-name-action,
  #bloodline .bln-mobile .bln-name-static,
  #bloodline .bln-mobile .bln-copy strong{font-size:15px!important}
  #bloodline .bln-mobile>.bln-subject .bln-name-action,
  #bloodline .bln-mobile>.bln-subject .bln-name-static{font-size:28px!important}
  #bloodline .bln-name-arrow{font-size:.7em!important}
}


/* v6 — preferred 4-block G4 composition, compacted vertically */
#bloodline .bln-node,
#bloodline .bln-subject{
  color:var(--ink)!important;
  font-weight:700!important;
}
#bloodline .bln-copy{
  color:var(--ink)!important;
}
#bloodline .bln-name-action,
#bloodline .bln-name-static,
#bloodline .bln-name-text{
  color:var(--ink)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-weight:720!important;
  font-style:normal!important;
  opacity:1!important;
}
#bloodline .bln-identity{
  color:#666!important;
  font-weight:500!important;
  opacity:1!important;
}
#bloodline .bln-generation{
  color:var(--ink)!important;
}
#bloodline .bln-generation b{
  color:var(--acid)!important;
  background:var(--ink)!important;
}
#bloodline .bln-node.is-repeat .bln-name-action,
#bloodline .bln-node.is-repeat .bln-name-static,
#bloodline .bln-node.is-repeat .bln-name-text,
#bloodline .bln-node.is-repeat .bln-identity{
  color:var(--ink)!important;
}

/* The arrow is always a dedicated non-wrapping item beside the name block. */
#bloodline .bln-name-action{
  display:flex!important;
  align-items:flex-end!important;
  gap:5px!important;
}
#bloodline .bln-name-text{
  min-width:0!important;
  flex:0 1 auto!important;
}
#bloodline .bln-name-arrow{
  flex:0 0 auto!important;
  align-self:flex-end!important;
  margin:0 0 .03em 0!important;
  white-space:nowrap!important;
  color:#70706b!important;
}

/* Full-tree density: preserve the 4 G4 lanes, but compress card height. */
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject){
  min-height:58px!important;
  height:58px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject) .bln-copy{
  min-height:58px!important;
  height:58px!important;
  padding:21px 8px 7px 10px!important;
  justify-content:flex-end!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject{
  min-height:74px!important;
  height:74px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-copy{
  min-height:74px!important;
  height:74px!important;
  padding:27px 16px 10px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-identity{
  margin-top:4px!important;
  font-size:6px!important;
  line-height:1.1!important;
}
#bloodline .bln-stage[data-density="4"] .bln-generation{
  left:6px!important;
  top:5px!important;
  transform:scale(.82)!important;
  transform-origin:left top!important;
}

/* Partially opened states remain more generous. */
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject){
  min-height:72px!important;
}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject) .bln-copy{
  min-height:72px!important;
  padding:25px 10px 9px 12px!important;
}
#bloodline .bln-stage[data-density="2"] .bln-node:not(.bln-subject) .bln-copy,
#bloodline .bln-stage[data-density="1"] .bln-node:not(.bln-subject) .bln-copy{
  padding-top:31px!important;
}

/* Keep repeated ancestor as a pure acid slab. */
#bloodline .bln-node.is-repeat,
#bloodline .bln-node.is-repeat:hover,
#bloodline .bln-node.is-repeat:focus-within{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:var(--acid)!important;
}

@media(max-width:720px){
  #bloodline .bln-name-action,
  #bloodline .bln-name-static,
  #bloodline .bln-name-text{
    color:var(--ink)!important;
    font-weight:720!important;
  }
  #bloodline .bln-identity{color:#666!important}
}


/* v6 — Pedigree Intelligence: DI editorial instrument */
#pedigree-intelligence{
  position:relative!important;
  min-height:940px!important;
  padding-top:clamp(96px,8vw,132px)!important;
  padding-bottom:clamp(82px,7vw,116px)!important;
  background:#101010!important;
  color:var(--white)!important;
  overflow:hidden!important;
}
#pedigree-intelligence .section-mark{
  display:block!important;
  position:absolute!important;
  top:34%!important;
  right:-.05em!important;
  bottom:auto!important;
  z-index:0!important;
  color:#2b2b2b!important;
  font-size:clamp(250px,34vw,560px)!important;
  font-weight:900!important;
  line-height:.72!important;
  letter-spacing:-.11em!important;
  opacity:.92!important;
}
#pedigree-intelligence .section-head{
  position:relative!important;
  z-index:2!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,34%)!important;
  margin-bottom:clamp(92px,8vw,128px)!important;
}
#pedigree-intelligence .section-index,
#pedigree-intelligence .section-title{color:var(--white)!important}
#pedigree-intelligence .section-title{
  font-size:clamp(70px,9.2vw,136px)!important;
}
#pedigree-intelligence .section-note{color:#8f8f8f!important}
#pedigree-intelligence .section-note b{color:var(--white)!important}
#pedigree-intelligence .impact-aside{min-height:auto!important}
#pedigree-intelligence .impact-content{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin-top:0!important;
  padding:0!important;
  border:0!important;
}
#pedigree-intelligence .pedigree-intelligence-grid{
  display:grid!important;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr)!important;
  gap:clamp(22px,3vw,46px)!important;
  align-items:stretch!important;
  border:0!important;
  background:transparent!important;
}
#pedigree-intelligence .pi-primary{
  position:relative!important;
  min-height:420px!important;
  padding:30px 30px 26px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  background:var(--acid)!important;
  color:var(--ink)!important;
  overflow:hidden!important;
}
#pedigree-intelligence .pi-primary::after{
  content:"COI"!important;
  position:absolute!important;
  right:-.04em!important;
  bottom:-.18em!important;
  color:rgba(18,18,18,.08)!important;
  font-size:clamp(150px,16vw,250px)!important;
  font-weight:900!important;
  line-height:.8!important;
  letter-spacing:-.1em!important;
  pointer-events:none!important;
}
#pedigree-intelligence .pi-code{
  position:relative!important;
  z-index:2!important;
  color:#30302c!important;
  font:800 10px/1 "SFMono-Regular",Consolas,monospace!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
#pedigree-intelligence .pi-primary>div{
  position:relative!important;
  z-index:2!important;
}
#pedigree-intelligence .pi-primary strong{
  display:block!important;
  margin:0 0 24px!important;
  font-size:clamp(92px,10vw,164px)!important;
  font-weight:760!important;
  line-height:.72!important;
  letter-spacing:-.095em!important;
  color:var(--ink)!important;
}
#pedigree-intelligence .pi-primary h3{
  max-width:360px!important;
  margin:0!important;
  font-size:clamp(25px,2.25vw,35px)!important;
  font-weight:720!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
}
#pedigree-intelligence .pi-primary p{
  max-width:44ch!important;
  margin:14px 0 0!important;
  color:#34342f!important;
  font-size:12px!important;
  line-height:1.52!important;
}
#pedigree-intelligence .pi-register{
  display:grid!important;
  grid-template-rows:repeat(5,1fr)!important;
  background:rgba(16,16,16,.76)!important;
  border-top:1px solid #353535!important;
}
#pedigree-intelligence .pi-register-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) auto!important;
  gap:20px!important;
  align-items:center!important;
  min-height:82px!important;
  padding:18px 4px 18px 18px!important;
  border-bottom:1px solid #353535!important;
  color:var(--white)!important;
}
#pedigree-intelligence .pi-register-row::before{
  content:""!important;
  position:absolute!important;
  left:0!important;top:50%!important;
  width:5px!important;height:5px!important;
  border-radius:50%!important;
  background:var(--acid)!important;
  transform:translateY(-50%)!important;
}
#pedigree-intelligence .pi-register-row .code{
  color:#777!important;
  font:800 9px/1 "SFMono-Regular",Consolas,monospace!important;
  letter-spacing:.11em!important;
}
#pedigree-intelligence .pi-register-row .label{
  color:#aaa!important;
  font-size:13px!important;
  font-weight:600!important;
}
#pedigree-intelligence .pi-register-row strong{
  color:var(--white)!important;
  font-size:clamp(26px,2.4vw,40px)!important;
  font-weight:720!important;
  line-height:.88!important;
  letter-spacing:-.06em!important;
  white-space:nowrap!important;
}
#pedigree-intelligence .pedigree-repeats{
  margin-top:24px!important;
  display:flex!important;
  justify-content:flex-end!important;
}
#pedigree-intelligence .pedigree-repeat-chip{
  padding:9px 13px!important;
  border:1px solid #3b3b3b!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#cfcfcf!important;
  font-size:9px!important;
}

@media(max-width:760px){
  #pedigree-intelligence{min-height:auto!important}
  #pedigree-intelligence .section-head{grid-template-columns:1fr!important;margin-bottom:62px!important}
  #pedigree-intelligence .section-mark{top:42%!important;font-size:66vw!important}
  #pedigree-intelligence .pedigree-intelligence-grid{grid-template-columns:1fr!important}
  #pedigree-intelligence .pi-primary{min-height:320px!important}
  #pedigree-intelligence .pi-register-row{
    grid-template-columns:58px minmax(0,1fr) auto!important;
    gap:10px!important;
    padding:15px 2px 15px 14px!important;
  }
  #pedigree-intelligence .pi-register-row .label{font-size:11px!important}
  #pedigree-intelligence .pi-register-row strong{font-size:26px!important}
}


/* v6 — Breeding Lens typographic rhythm */
#breedingLensRail .lens-priority h3,
#breedingLensRail .lens-row h4{
  margin:0!important;
  font-size:clamp(34px,3.15vw,48px)!important;
  font-weight:720!important;
  line-height:.91!important;
  letter-spacing:-.055em!important;
  color:var(--ink)!important;
}
#breedingLensRail .lens-priority h3{
  max-width:12ch!important;
}
#breedingLensRail .lens-priority p,
#breedingLensRail .lens-row p{
  font-size:14px!important;
  line-height:1.62!important;
}
#breedingLensRail .lens-priority{
  grid-template-columns:120px minmax(280px,.72fr) minmax(320px,1fr)!important;
  align-items:start!important;
}
#breedingLensRail .lens-priority p{
  align-self:start!important;
  padding-top:4px!important;
}

@media(max-width:760px){
  #breedingLensRail .lens-priority h3,
  #breedingLensRail .lens-row h4{
    font-size:clamp(30px,9vw,38px)!important;
  }
  #breedingLensRail .lens-priority{grid-template-columns:1fr!important}
}


/* v7 — Bloodline bugfix pass: uniform type + right-side generation controls */
#bloodline .bln-name-action,
#bloodline .bln-name-static,
#bloodline .bln-name-text,
#bloodline .bln-subject .bln-name-action,
#bloodline .bln-subject .bln-name-static{
  color:var(--ink)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:20px!important;
  font-weight:720!important;
  line-height:1.03!important;
  letter-spacing:-.052em!important;
  opacity:1!important;
}

#bloodline .bln-stage[data-density="4"] .bln-name-action,
#bloodline .bln-stage[data-density="4"] .bln-name-static,
#bloodline .bln-stage[data-density="4"] .bln-name-text,
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-name-static{
  font-size:15.5px!important;
}

#bloodline .bln-stage[data-density="3"] .bln-name-action,
#bloodline .bln-stage[data-density="3"] .bln-name-static,
#bloodline .bln-stage[data-density="3"] .bln-name-text,
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-name-static{
  font-size:17px!important;
}

/* Give names two lines at the SAME size; never shrink Cowboy just because it is long. */
#bloodline .bln-name-action,
#bloodline .bln-name-static{
  display:flex!important;
  align-items:flex-end!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
}
#bloodline .bln-name-text{
  display:-webkit-box!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
#bloodline .bln-name-arrow{
  flex:0 0 auto!important;
  align-self:flex-end!important;
  white-space:nowrap!important;
  margin:0 0 .03em 0!important;
  font-size:.66em!important;
  line-height:1!important;
  color:#70706b!important;
}

/* All DI/G1/G2/G3/G4 pills live at top-right. */
#bloodline .bln-photo .bln-generation,
#bloodline .bln-generation,
#bloodline .bln-stage[data-density="4"] .bln-generation,
#bloodline .bln-mobile .bln-generation{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  left:auto!important;
  right:8px!important;
  top:8px!important;
  bottom:auto!important;
  z-index:20!important;
  max-width:calc(100% - 16px)!important;
  transform:none!important;
  transform-origin:right top!important;
}

/* Ensure repeated ancestor pills are never lost on yellow cards. */
#bloodline .bln-node.is-repeat .bln-generation{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:var(--ink)!important;
  color:var(--acid)!important;
}
#bloodline .bln-node.is-repeat .bln-generation b{
  color:var(--acid)!important;
}

/* Reserve a clean top band for the pill so Felicita can never collide with it. */
#bloodline .bln-copy{
  padding-top:40px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject) .bln-copy{
  padding-top:25px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-copy{
  padding-top:25px!important;
}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject) .bln-copy{
  padding-top:31px!important;
}

/* Keep all identity metadata visually consistent. */
#bloodline .bln-identity{
  color:#666!important;
  font-weight:500!important;
  opacity:1!important;
}

/* Mobile uses one disciplined type scale too. */
@media(max-width:720px){
  #bloodline .bln-name-action,
  #bloodline .bln-name-static,
  #bloodline .bln-name-text,
  #bloodline .bln-subject .bln-name-action,
  #bloodline .bln-subject .bln-name-static{
    font-size:15px!important;
  }
  #bloodline .bln-generation{
    right:7px!important;
    top:7px!important;
  }
  #bloodline .bln-copy{
    padding-top:36px!important;
  }
}

/* Fullscreen stance viewer: decorative rule is BEHIND the photo, never across it. */
#bloodline .bln-image-viewer{
  isolation:isolate!important;
}
#bloodline .bln-image-viewer::after{
  content:"";
  position:absolute;
  left:clamp(22px,2.5vw,42px);
  right:clamp(22px,2.5vw,42px);
  bottom:clamp(58px,6vh,88px);
  z-index:0;
  height:1px;
  background:#303030;
  pointer-events:none;
}
#bloodline .bln-image-viewer-stage{
  position:relative!important;
  z-index:3!important;
  isolation:isolate!important;
}
#bloodline .bln-image-viewer-stage img{
  position:relative!important;
  z-index:4!important;
}
#bloodline .bln-image-viewer-meta{
  position:relative!important;
  z-index:2!important;
  border-top:0!important;
}
#bloodline .bln-image-viewer-top{
  position:relative!important;
  z-index:5!important;
}


/* v8 — full registered names, never truncated */
#bloodline .bln-name-text{
  display:block!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance!important;
}
#bloodline .bln-name-action,
#bloodline .bln-name-static{
  overflow:visible!important;
  text-overflow:clip!important;
  min-height:0!important;
  height:auto!important;
}
#bloodline .bln-copy{
  overflow:visible!important;
}

#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject){
  min-height:70px!important;
  height:auto!important;
}
#bloodline .bln-stage[data-density="4"] .bln-node:not(.bln-subject) .bln-copy{
  min-height:70px!important;
  height:auto!important;
  padding:25px 8px 8px 10px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject{
  min-height:84px!important;
  height:auto!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-copy{
  min-height:84px!important;
  height:auto!important;
  padding:27px 16px 10px!important;
}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject){
  min-height:82px!important;
  height:auto!important;
}
#bloodline .bln-stage[data-density="3"] .bln-node:not(.bln-subject) .bln-copy{
  min-height:82px!important;
  height:auto!important;
  padding:30px 10px 9px 12px!important;
}
@media(max-width:720px){
  #bloodline .bln-mobile .bln-node,
  #bloodline .bln-mobile .bln-copy{
    height:auto!important;
    min-height:108px!important;
  }
  #bloodline .bln-mobile>.bln-subject,
  #bloodline .bln-mobile>.bln-subject .bln-copy{
    min-height:138px!important;
  }
}


/* v9 — focal record type scale */
#bloodline .bln-stage[data-density="0"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="0"] .bln-subject .bln-name-static,
#bloodline .bln-stage[data-density="0"] .bln-subject .bln-name-text{
  font-size:32px!important;
  line-height:.96!important;
}
#bloodline .bln-stage[data-density="1"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="1"] .bln-subject .bln-name-static,
#bloodline .bln-stage[data-density="1"] .bln-subject .bln-name-text{
  font-size:29px!important;
}
#bloodline .bln-stage[data-density="2"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="2"] .bln-subject .bln-name-static,
#bloodline .bln-stage[data-density="2"] .bln-subject .bln-name-text{
  font-size:25px!important;
}
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-name-static,
#bloodline .bln-stage[data-density="3"] .bln-subject .bln-name-text{
  font-size:20px!important;
}
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-name-action,
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-name-static,
#bloodline .bln-stage[data-density="4"] .bln-subject .bln-name-text{
  font-size:16px!important;
}
@media(max-width:720px){
  #bloodline .bln-mobile>.bln-subject .bln-name-action,
  #bloodline .bln-mobile>.bln-subject .bln-name-static,
  #bloodline .bln-mobile>.bln-subject .bln-name-text{
    font-size:28px!important;
    line-height:.98!important;
  }
}


/* v12 — full pedigree CTA has no black outline */
#bloodline .bln-toolbar-actions [data-bloodline-action="all"]{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
#bloodline .bln-toolbar-actions [data-bloodline-action="all"]:focus-visible{
  outline:2px solid #0c01e6!important;
  outline-offset:3px!important;
}


#bloodline .bln-image-viewer-stage{position:relative}
#bloodline .bln-image-viewer-panel{position:absolute;right:clamp(8px,2vw,18px);top:clamp(8px,2vw,18px);z-index:4;width:min(280px,calc(100vw - 54px));max-width:min(280px,34vw);padding:12px 12px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(10,10,10,.78);backdrop-filter:blur(10px);display:grid;gap:8px;align-content:start;box-shadow:0 20px 40px rgba(0,0,0,.28)}
#bloodline .bln-image-viewer-panel[hidden]{display:none!important}
#bloodline .bln-image-viewer-panel-mode{padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--acid);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
#bloodline .bln-image-viewer-panel-grid{display:grid;gap:6px}
#bloodline .bln-image-viewer-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start}
#bloodline .bln-image-viewer-row span{color:#8e8e8e;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
#bloodline .bln-image-viewer-row strong{font-size:11px;font-weight:620;line-height:1.24;color:#fff}
#bloodline .bln-image-viewer-note{display:none!important}
@media(max-width:980px){
  #bloodline .bln-image-viewer-panel{position:static;justify-self:end;width:min(100%,420px);max-width:100%;margin-top:14px}
  #bloodline .bln-image-viewer-stage{display:grid;justify-items:center;align-content:start}
}
@media(max-width:640px){
  #bloodline .bln-image-viewer-panel{padding:11px 11px 9px;width:min(100%,360px)}
  #bloodline .bln-image-viewer-row{grid-template-columns:64px minmax(0,1fr);gap:7px}
  #bloodline .bln-image-viewer-row strong{font-size:10.5px;line-height:1.22}
}

/* V26 — stance viewer usability + non-overlay metadata */
#bloodline .bln-image-viewer{overflow-y:auto;overflow-x:hidden}
#bloodline .bln-image-viewer-top{position:sticky;top:0;padding-bottom:10px;background:linear-gradient(to bottom, rgba(15,15,15,.96), rgba(15,15,15,.82) 70%, rgba(15,15,15,0));backdrop-filter:blur(6px)}
#bloodline .bln-image-viewer-stage{display:grid;justify-items:center;align-content:start;overflow:auto;max-height:calc(100svh - 190px);padding:clamp(10px,1.6vw,20px) 0;scrollbar-gutter:stable both-edges;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
#bloodline .bln-image-viewer-stage img{max-width:min(92vw,1600px);max-height:none;width:auto;height:auto}
#bloodline .bln-image-viewer-panel{position:static!important;justify-self:center;width:min(100%,560px);max-width:min(100%,560px);margin-top:14px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
#bloodline .bln-image-viewer-panel-mode{padding-bottom:4px;border-bottom:0;color:#9c9c97;font-size:7px;letter-spacing:.1em}
#bloodline .bln-image-viewer-panel-grid{gap:4px}
#bloodline .bln-image-viewer-row{grid-template-columns:60px minmax(0,1fr);gap:8px}
#bloodline .bln-image-viewer-row span{font-size:7px;line-height:1.3;color:#7d7d78}
#bloodline .bln-image-viewer-row strong{font-size:11px;line-height:1.26;color:#e8e8e3}
#bloodline .bln-image-viewer-meta{grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
@media(max-width:980px){#bloodline .bln-image-viewer-stage{max-height:none;overflow:visible}#bloodline .bln-image-viewer-panel{width:min(100%,420px);max-width:100%;margin-top:12px}}
@media(max-width:640px){#bloodline .bln-image-viewer{padding:16px}#bloodline .bln-image-viewer-stage{padding:8px 0;max-height:none;overflow:visible}#bloodline .bln-image-viewer-panel{width:100%}#bloodline .bln-image-viewer-row{grid-template-columns:54px minmax(0,1fr);gap:7px}#bloodline .bln-image-viewer-row strong{font-size:10.5px}}

/* V28 — stance viewer: name smaller, metadata left of image, max 3 rows, transparent, safe scrollbar lane */
#bloodline .bln-image-viewer-name{
  top:4px!important;right:72px!important;max-width:min(54vw,760px)!important;
  font-size:clamp(24px,4.2vw,64px)!important;line-height:.9!important;letter-spacing:-.055em!important;
}
#bloodline .bln-image-viewer-stage{
  grid-template-columns:minmax(150px,220px) minmax(0,1fr)!important;
  column-gap:clamp(18px,3vw,48px)!important;align-items:center!important;justify-items:stretch!important;
  margin-right:86px!important;padding:clamp(82px,10vh,122px) 0 24px!important;
  overflow-y:auto!important;overflow-x:hidden!important;max-height:calc(100svh - 116px)!important;
  scrollbar-gutter:stable!important;
}
#bloodline .bln-image-viewer-stage img{
  grid-column:2!important;justify-self:center!important;
  width:auto!important;height:auto!important;
  max-width:min(100%,1180px)!important;
  max-height:min(60svh,680px)!important;
  object-fit:contain!important;
}
#bloodline .bln-image-viewer-panel{
  grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:start!important;
  position:sticky!important;left:0!important;top:18px!important;width:100%!important;max-width:220px!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;transform:translateY(-8mm)!important;
}
#bloodline .bln-image-viewer-panel-mode{padding:0 0 8px!important;border:0!important;color:#8f8f8a!important;font-size:7px!important;}
#bloodline .bln-image-viewer-panel-grid{gap:8px!important}
#bloodline .bln-image-viewer-row{display:block!important}
#bloodline .bln-image-viewer-row span{display:block!important;margin-bottom:2px!important;color:#73736f!important;font-size:6.5px!important;line-height:1.2!important;}
#bloodline .bln-image-viewer-row strong{display:block!important;color:#ededE8!important;font-size:10.5px!important;line-height:1.28!important;font-weight:600!important;}
#bloodline .bln-image-viewer-meta{margin-right:86px!important;}
@media(max-width:820px){
  #bloodline .bln-image-viewer-name{right:52px!important;max-width:70vw!important;font-size:clamp(24px,8vw,42px)!important;}
  #bloodline .bln-image-viewer-stage{grid-template-columns:1fr!important;margin-right:0!important;padding:86px 0 26px!important;max-height:none!important;overflow:visible!important;}
  #bloodline .bln-image-viewer-stage img{grid-column:1!important;grid-row:1!important;width:auto!important;height:auto!important;max-width:94vw!important;max-height:58svh!important;object-fit:contain!important;}
  #bloodline .bln-image-viewer-panel{grid-column:1!important;grid-row:2!important;position:static!important;max-width:360px!important;margin-top:14px!important;}
  #bloodline .bln-image-viewer-meta{margin-right:0!important;}
}


/* V28.1 — title clearance: move photo stage and its scrollbar below the registered name */
@media(min-width:821px){
  #bloodline .bln-image-viewer-stage{
    margin-top:clamp(48px,6vh,72px)!important;
    max-height:calc(100svh - 184px)!important;
  }
}
@media(max-width:820px){
  #bloodline .bln-image-viewer-stage{
    margin-top:clamp(18px,3.5vh,28px)!important;
    padding-top:104px!important;
  }
}


/* V28.3 — physically extend stance background + photo container 1.8cm downward; top zone unchanged */
@media(min-width:821px){
  #bloodline .bln-image-viewer-stage{
    box-sizing:border-box!important;
    padding-bottom:calc(24px + 1.8cm)!important;
    background:#0f0f0f!important;
  }
  #bloodline .bln-image-viewer-stage::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    z-index:-1;
    background:#0f0f0f;
    pointer-events:none;
  }
}

/* V28.2 — registered name stays on one desktop line */
@media(min-width:821px){
  #bloodline .bln-image-viewer-name{
    left:clamp(250px,18vw,340px)!important;
    right:72px!important;
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:clamp(24px,3.35vw,58px)!important;
    line-height:.9!important;
    text-align:right!important;
  }
}


/* V28.4 — restore accepted Bloodline slider and keep stance ghost name visible */
#bloodline .bln-stage-shell{
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  contain:layout paint!important;
  overscroll-behavior-inline:contain!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  touch-action:pan-x!important;
}
#bloodline .bln-stage-shell::-webkit-scrollbar{display:none!important}
#bloodline .bln-stage-scrollbar{
  position:relative;
  width:100%;
  height:28px;
  margin:12px 0 4px;
  display:flex;
  align-items:center;
  opacity:.94;
}
#bloodline .bln-stage-scrollbar.is-disabled{opacity:.25}
#bloodline .bln-stage-scrollbar-track{
  position:relative;
  width:100%;
  height:8px;
  background:#d5d5cf;
  cursor:pointer;
}
#bloodline .bln-stage-scrollbar-thumb{
  position:absolute;
  left:0;
  top:0;
  height:8px;
  min-width:46px;
  background:var(--ink);
  cursor:grab;
  will-change:transform,width;
}
#bloodline .bln-stage-scrollbar-thumb:active{cursor:grabbing;background:var(--acid)}
#bloodline .bln-stage-scrollbar-thumb:focus-visible{
  outline:2px solid var(--acid);
  outline-offset:3px;
}
#bloodline .bln-image-viewer-stage{
  background:transparent!important;
}
#bloodline .bln-image-viewer-stage::before{
  display:none!important;
  background:transparent!important;
}
@media(max-width:820px){
  #bloodline .bln-stage-scrollbar{display:none!important}
}


/* V28.5 — single stance scroll channel: outer viewer scrolls, stage does not */
#bloodline .bln-image-viewer{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#bloodline .bln-image-viewer-stage{
  overflow:visible!important;
  max-height:none!important;
  scrollbar-gutter:auto!important;
}
#bloodline .bln-image-viewer-stage::-webkit-scrollbar{
  display:none!important;
}


/* V28.4 — keep registered name permanently visible while stance image scrolls */
#bloodline .bln-image-viewer-top{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
}
#bloodline .bln-image-viewer-name{
  z-index:51!important;
}




/* V28.7 — restore stable fullscreen stance layout + dedicated vertical photo scrollbar */
html.bln-image-open,
body.bln-image-open{
  overflow-x:hidden!important;
  overflow-y:auto!important;
}

#bloodline .bln-image-viewer{
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  transform:none!important;
}

#bloodline .bln-image-viewer-stage{
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  max-height:calc(100svh - 184px)!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:auto!important;
  scrollbar-color:#777772 #171717!important;
}

#bloodline .bln-image-viewer-stage::-webkit-scrollbar{
  display:block!important;
  width:12px!important;
}

#bloodline .bln-image-viewer-stage::-webkit-scrollbar-track{
  background:#171717!important;
}

#bloodline .bln-image-viewer-stage::-webkit-scrollbar-thumb{
  background:#777772!important;
  border:3px solid #171717!important;
  border-radius:999px!important;
}

#bloodline .bln-image-viewer-stage::-webkit-scrollbar-thumb:hover{
  background:#a5a59f!important;
}


/* V29.5 — compact desktop pedigree with visible horizontal navigation. */
@media(min-width:721px){
  #bloodline .bln-stage-shell{
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  #bloodline .bln-stage{
    max-width:none!important;
  }
  #bloodline .bln-stage-scrollbar{
    display:flex!important;
    opacity:.94!important;
  }
  #bloodline .bln-stage-scrollbar.is-disabled{
    opacity:.94!important;
  }
}


/* V29.1 — mobile stance viewer: full image fit, metadata always below image. */
@media(max-width:820px){
  #bloodline .bln-image-viewer{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px 14px 18px!important;
  }
  #bloodline .bln-image-viewer-top{
    min-height:52px!important;
    padding-bottom:0!important;
    background:#0f0f0f!important;
    backdrop-filter:none!important;
  }
  #bloodline .bln-image-viewer-kicker{
    display:none!important;
  }
  #bloodline .bln-image-viewer-name{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:54px!important;
    width:auto!important;
    max-width:none!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    font-size:clamp(24px,7.6vw,38px)!important;
    line-height:.92!important;
  }
  #bloodline .bln-image-viewer-stage{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    justify-items:center!important;
    align-content:start!important;
    gap:0!important;
    margin-right:0!important;
    padding:0 0 24px!important;
    overflow:visible!important;
    max-height:none!important;
    scrollbar-gutter:auto!important;
    scrollbar-width:none!important;
  }
  #bloodline .bln-image-viewer-stage::-webkit-scrollbar{
    display:none!important;
  }
  #bloodline .bln-image-viewer-stage img{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(56svh,calc(100svh - 230px))!important;
    object-fit:contain!important;
    object-position:center!important;
    justify-self:center!important;
    align-self:start!important;
  }
  #bloodline .bln-image-viewer-panel{
    grid-column:1!important;
    grid-row:2!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    align-self:start!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    margin:18px 0 0!important;
    padding:0!important;
  }
  #bloodline .bln-image-viewer-panel-mode{
    display:none!important;
  }
  #bloodline .bln-image-viewer-panel-grid{
    width:100%!important;
    gap:10px!important;
  }
  #bloodline .bln-image-viewer-meta{
    margin:0!important;
    padding-top:12px!important;
    grid-template-columns:1fr!important;
    justify-items:start!important;
  }
  #bloodline .bln-image-viewer-data{
    text-align:left!important;
  }
}


/* The mobile contract remains: full photo first, metadata below, no stance scrollbar. */
@media(max-width:820px){
  #bloodline .bln-image-viewer-stage{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
  }
  #bloodline .bln-image-viewer-photo-frame{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar{
    display:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(56svh,calc(100svh - 230px))!important;
    margin:0 auto!important;
    object-fit:contain!important;
  }
  #bloodline .bln-image-viewer-panel{
    grid-column:1!important;
    grid-row:2!important;
    transform:none!important;
  }
}


/* V29.4 — true viewport desktop stance viewer.
   The outer black canvas owns the viewport height; the image and its fine-adjustment
   scrollbar are inset from every edge, while the ghost name remains visible. */
@media(min-width:821px){
  html.bln-image-open,
  body.bln-image-open{
    overflow:hidden!important;
  }

  /* Release the fixed viewer from Bloodline section/reveal clipping. */
  body.bln-image-open #bloodline{
    overflow:visible!important;
  }
  body.bln-image-open #bloodline .bloodline-network,
  body.bln-image-open #bloodline .bloodline-network.reveal,
  body.bln-image-open #bloodline .bloodline-network.reveal.is-visible{
    overflow:visible!important;
    transform:none!important;
    contain:none!important;
  }

  #bloodline .bln-image-viewer{
    position:fixed!important;
    inset:18px 28px 18px!important;
    z-index:5000!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    width:auto!important;
    height:auto!important;
    min-height:calc(100svh - 36px)!important;
    max-height:none!important;
    padding:30px 44px 24px!important;
    overflow:hidden!important;
    background:#0f0f0f!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    transform:none!important;
  }

  #bloodline .bln-image-viewer::before{
    display:block!important;
    z-index:1!important;
    left:-.035em!important;
    right:-.035em!important;
    top:56%!important;
    transform:translateY(-52%)!important;
    color:#202020!important;
    opacity:1!important;
    font-size:clamp(96px,14.5vw,238px)!important;
    overflow:hidden!important;
  }
  #bloodline .bln-image-viewer::after{
    display:none!important;
    content:none!important;
  }

  #bloodline .bln-image-viewer-top{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:start!important;
    gap:28px!important;
    min-height:58px!important;
    padding:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
  }
  #bloodline .bln-image-viewer-close{
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    justify-self:start!important;
    align-self:start!important;
  }
  #bloodline .bln-image-viewer-name{
    grid-column:2!important;
    grid-row:1!important;
    position:static!important;
    justify-self:end!important;
    align-self:start!important;
    width:auto!important;
    max-width:min(72vw,1040px)!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-align:right!important;
    font-size:clamp(32px,3.7vw,66px)!important;
    line-height:.88!important;
  }

  #bloodline .bln-image-viewer-stage{
    position:relative!important;
    z-index:5!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(180px,240px) minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    column-gap:clamp(32px,4vw,70px)!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:24px 0 0!important;
    padding:24px 30px 30px!important;
    overflow:hidden!important;
    scrollbar-gutter:auto!important;
    background:transparent!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  #bloodline .bln-image-viewer-stage::before{
    display:none!important;
    content:none!important;
  }
  #bloodline .bln-image-viewer-stage::-webkit-scrollbar{
    display:none!important;
  }

  #bloodline .bln-image-viewer-panel{
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    align-self:center!important;
    justify-self:start!important;
    width:100%!important;
    max-width:240px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  #bloodline .bln-image-viewer-photo-frame{
    grid-column:2!important;
    grid-row:1!important;
    position:relative!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    min-width:0!important;
    min-height:0!important;
    box-sizing:border-box!important;
    margin:10px 4px 12px 0!important;
    padding:18px 24px 20px 12px!important;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:auto!important;
    scrollbar-color:#777772 transparent!important;
    background:transparent!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar{
    display:block!important;
    width:11px!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar-track{
    background:rgba(23,23,23,.55)!important;
    border-radius:999px!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar-thumb{
    background:#777772!important;
    border:3px solid #171717!important;
    border-radius:999px!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar-thumb:hover{
    background:#a5a59f!important;
  }

  #bloodline .bln-image-viewer-photo-frame img,
  #bloodline .bln-image-viewer-stage img{
    position:relative!important;
    z-index:6!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
  }

  #bloodline .bln-image-viewer-meta{
    position:relative!important;
    z-index:10!important;
    margin:8px 0 0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
}





/* V29.7 — explicit Bloodline + stance slider controls and runtime header clearance. */
@media(min-width:821px){
  #bloodline .bln-stage-scrollbar{
    position:relative!important;
    z-index:30!important;
    display:flex!important;
    width:100%!important;
    height:36px!important;
    margin:16px 0 8px!important;
    padding:11px 0!important;
    opacity:1!important;
    visibility:visible!important;
  }
  #bloodline .bln-stage-scrollbar-track{
    width:100%!important;
    height:10px!important;
    background:#c7c7c1!important;
  }
  #bloodline .bln-stage-scrollbar-thumb{
    height:10px!important;
    min-width:72px!important;
    background:#111!important;
  }
  #bloodline .bln-stage-scrollbar.is-disabled{
    opacity:1!important;
  }

  #bloodline .bln-image-viewer-top{
    min-height:0!important;
  }
  #bloodline .bln-image-viewer-name{
    margin-top:0;
  }

  #bloodline .bln-image-viewer-photo-frame{
    position:relative!important;
    padding:18px 34px 20px 12px!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar{
    display:none!important;
  }
  #bloodline .bln-image-viewer-photo-canvas{
    width:100%!important;
    min-height:calc(100% + 44px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:10px 0!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar{
    position:absolute!important;
    z-index:20!important;
    top:22px!important;
    right:8px!important;
    bottom:24px!important;
    width:12px!important;
    display:block!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-track{
    position:relative!important;
    width:10px!important;
    height:100%!important;
    margin:0 auto!important;
    background:#2b2b29!important;
    border-radius:999px!important;
    cursor:pointer!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-thumb{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:10px!important;
    min-height:54px!important;
    background:#8a8a84!important;
    border-radius:999px!important;
    cursor:grab!important;
    will-change:transform,height!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-thumb:active{
    cursor:grabbing!important;
    background:var(--acid)!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-thumb:focus-visible{
    outline:2px solid var(--acid)!important;
    outline-offset:3px!important;
  }
}

@media(max-width:820px){
  #bloodline .bln-image-viewer-photo-canvas{
    min-height:0!important;
    display:block!important;
    padding:0!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar{
    display:none!important;
  }
}


/* V29.8 — one-click Bloodline preview: card opens stance, yellow edge owns ancestry. */
#bloodline .bln-node.has-image-preview{
  cursor:zoom-in!important;
}
#bloodline .bln-node.has-image-preview .bln-copy{
  cursor:zoom-in!important;
}
#bloodline .bln-node.has-image-preview .bln-tree-action{
  cursor:pointer!important;
}


/* V31.1 — single physical preview hit-area; yellow ancestry edge remains separate. */
#bloodline .bln-node{
  isolation:isolate!important;
}
#bloodline .bln-preview-action{
  position:absolute!important;
  z-index:12!important;
  left:9px!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  appearance:none!important;
  background:transparent!important;
  cursor:zoom-in!important;
}
#bloodline .bln-tree-action{
  z-index:20!important;
  left:0!important;
  right:auto!important;
  top:0!important;
  bottom:0!important;
  width:8px!important;
  height:100%!important;
}
#bloodline .bln-copy,
#bloodline .bln-photo,
#bloodline .bln-generation,
#bloodline .bln-name-static,
#bloodline .bln-name-text,
#bloodline .bln-name-arrow,
#bloodline .bln-identity{
  pointer-events:none!important;
}
#bloodline .bln-preview-action:focus-visible{
  outline:2px solid var(--acid)!important;
  outline-offset:-3px!important;
}


/* V33 — deterministic single-gesture Bloodline stance preview + title refinement. */
#bloodline .bln-node.has-image-preview,
#bloodline .bln-node.has-image-preview .bln-copy,
#bloodline .bln-preview-action{
  cursor:pointer!important;
}
#bloodline .bln-preview-action{
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
@media(min-width:821px){
  #bloodline .bln-image-viewer-name{transform:translateY(8px)!important;}
}
@media(max-width:820px){
  #bloodline .bln-image-viewer-name{transform:translateY(5px)!important;}
}


/* V36 — full-tree viewport fit + reserved Freya stance container. */
@media(min-width:721px){
  #bloodline .bln-desktop,
  #bloodline .bln-stage-shell,
  #bloodline .bln-stage{
    max-width:100%!important;
  }
  #bloodline .bln-stage-shell{
    overflow:hidden!important;
  }
}
#bloodline .bln-node.has-empty-photo-slot .bln-name-arrow{
  opacity:.55!important;
}
#bloodline .bln-image-viewer-photo-canvas.is-empty-slot{
  min-height:min(58svh,640px)!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,rgba(10,10,10,.018),rgba(10,10,10,.045))!important;
  border:1px solid rgba(10,10,10,.14)!important;
}
#bloodline .bln-image-viewer-photo-canvas.is-empty-slot::after{
  content:"PHOTO CONTAINER";
  font:700 9px/1 "SFMono-Regular",Consolas,"Liberation Mono",monospace;
  letter-spacing:.12em;
  color:#8b8b84;
}
#bloodline .bln-image-viewer-photo-canvas.is-empty-slot img{
  display:none!important;
}


/* V37 — mobile stance viewer close control stays in the viewport corner. */
@media(max-width:720px){
  #bloodline .bln-image-viewer-close{
    position:fixed!important;
    top:max(12px,env(safe-area-inset-top))!important;
    right:max(12px,env(safe-area-inset-right))!important;
    left:auto!important;
    bottom:auto!important;
    z-index:1400!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    justify-self:auto!important;
    align-self:auto!important;
    background:#0a0a0a!important;
    border-color:#575757!important;
    color:#fff!important;
    box-shadow:0 4px 18px rgba(0,0,0,.22)!important;
  }
  #bloodline .bln-image-viewer-name{
    padding-right:54px!important;
    box-sizing:border-box!important;
  }
}

/* v43-photo-visibility-hotfix */
#bloodline .bln-node,
#bloodline .bln-subject{
  grid-template-columns:1fr!important;
  grid-template-rows:96px auto!important;
  height:auto!important;
  min-height:172px!important;
}
#bloodline .bln-photo{
  display:grid!important;
  position:relative!important;
  width:100%!important;
  height:96px!important;
  min-height:96px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#ecece7!important;
  color:var(--white)!important;
}
#bloodline .bln-photo.has-image img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
}
#bloodline .bln-photo.has-image .bln-fallback{display:none!important}
#bloodline .bln-photo:not(.has-image) .bln-fallback{
  display:grid!important;
  place-items:center!important;
  height:100%!important;
}
#bloodline .bln-copy{
  height:auto!important;
  min-height:76px!important;
}
#bloodline .bln-subject .bln-copy{
  height:auto!important;
  min-height:94px!important;
}
#bloodline .bln-stage[data-density] .bln-node,
#bloodline .bln-stage[data-density] .bln-subject{
  height:auto!important;
  min-height:172px!important;
}
#bloodline .bln-stage[data-density] .bln-copy,
#bloodline .bln-stage[data-density] .bln-subject .bln-copy{
  height:auto!important;
}
@media(max-width:720px){
  #bloodline .bln-mobile .bln-node,
  #bloodline .bln-mobile>.bln-subject{
    grid-template-rows:112px auto!important;
    height:auto!important;
    min-height:190px!important;
  }
  #bloodline .bln-mobile .bln-photo,
  #bloodline .bln-mobile>.bln-subject .bln-photo{
    display:grid!important;
    height:112px!important;
    min-height:112px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }
  #bloodline .bln-mobile .bln-photo.has-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    opacity:1!important;
    visibility:visible!important;
  }
}


/* v43.2 — Bloodline cards stay text-only; stance photos open on card click. */
#bloodline .bln-node,
#bloodline .bln-subject,
#bloodline .bln-stage[data-density] .bln-node,
#bloodline .bln-stage[data-density] .bln-subject{
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr!important;
  height:auto!important;
  min-height:96px!important;
}
#bloodline .bln-photo,
#bloodline .bln-stage[data-density] .bln-photo{
  display:block!important;
  height:0!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  background:transparent!important;
}
#bloodline .bln-photo img,
#bloodline .bln-photo.has-image img,
#bloodline .bln-fallback,
#bloodline .bln-photo-action{
  display:none!important;
}
#bloodline .bln-copy,
#bloodline .bln-stage[data-density] .bln-copy{
  height:auto!important;
  min-height:96px!important;
}
#bloodline .bln-subject .bln-copy,
#bloodline .bln-stage[data-density] .bln-subject .bln-copy{
  height:auto!important;
  min-height:132px!important;
}
@media(max-width:720px){
  #bloodline .bln-mobile .bln-node,
  #bloodline .bln-mobile>.bln-subject{
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    height:auto!important;
    min-height:102px!important;
  }
  #bloodline .bln-mobile .bln-photo,
  #bloodline .bln-mobile>.bln-subject .bln-photo{
    display:block!important;
    height:0!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
  }
  #bloodline .bln-mobile .bln-copy{min-height:102px!important}
  #bloodline .bln-mobile>.bln-subject .bln-copy{min-height:132px!important}
}

/* Full-stance viewer: always fit the complete Doberman inside the available frame. */
#bloodline .bln-image-viewer-stage{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}
#bloodline .bln-image-viewer-photo-frame{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  padding:18px 24px!important;
  scrollbar-width:none!important;
}
#bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar{display:none!important}
#bloodline .bln-image-viewer-photo-canvas{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
}
#bloodline .bln-image-viewer-photo-frame img,
#bloodline .bln-image-viewer-stage img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
#bloodline .bln-image-viewer-photo-scrollbar{display:none!important}
@media(max-width:820px){
  #bloodline .bln-image-viewer-stage{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }
  #bloodline .bln-image-viewer-photo-frame{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:12px!important;
  }
  #bloodline .bln-image-viewer-photo-canvas{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
  }
  #bloodline .bln-image-viewer-photo-frame img,
  #bloodline .bln-image-viewer-stage img{
    max-width:100%!important;
    max-height:100%!important;
  }
}


/* v43.3 — restore fine-position slider while keeping full-dog contain fit. */
@media(min-width:821px){
  #bloodline .bln-image-viewer-photo-frame{
    position:relative!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:block!important;
    padding:18px 34px 20px 12px!important;
    scrollbar-width:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame::-webkit-scrollbar{
    display:none!important;
  }
  #bloodline .bln-image-viewer-photo-canvas{
    width:100%!important;
    height:auto!important;
    min-height:calc(100% + 44px)!important;
    max-height:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:10px 0!important;
    overflow:visible!important;
  }
  #bloodline .bln-image-viewer-photo-frame img,
  #bloodline .bln-image-viewer-stage img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar{
    position:absolute!important;
    z-index:20!important;
    top:22px!important;
    right:8px!important;
    bottom:24px!important;
    width:12px!important;
    display:block!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-track{
    position:relative!important;
    width:10px!important;
    height:100%!important;
    margin:0 auto!important;
    background:#2b2b29!important;
    border-radius:999px!important;
    cursor:pointer!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-thumb{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:10px!important;
    min-height:54px!important;
    background:#8a8a84!important;
    border-radius:999px!important;
    cursor:grab!important;
    will-change:transform,height!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-thumb:active{
    cursor:grabbing!important;
    background:var(--acid)!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar-thumb:focus-visible{
    outline:2px solid var(--acid)!important;
    outline-offset:3px!important;
  }
}

/* v43.14 — single mobile Bloodline interaction system. */
@media(max-width:820px){
  html.bln-image-open,
  body.bln-image-open{
    overflow:hidden!important;
  }

  /* Fixed 64svh viewer: 18svh top centers it exactly. Drag changes only top. */
  #bloodline .bln-image-viewer{
    position:fixed!important;
    inset:auto!important;
    top:18svh!important;
    left:14px!important;
    right:14px!important;
    bottom:auto!important;
    width:auto!important;
    height:min(64svh,540px)!important;
    min-height:420px!important;
    max-height:calc(100svh - 28px)!important;
    transform:none!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    align-content:stretch!important;
    padding:14px 14px 16px!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:#0f0f0f!important;
    touch-action:none!important;
    cursor:grab!important;
    will-change:top!important;
    transition:none!important;
    animation:none!important;
  }
  #bloodline .bln-image-viewer *,
  #bloodline .bln-image-viewer *::before,
  #bloodline .bln-image-viewer *::after{
    transition:none!important;
  }

  /* The viewer owns the gesture everywhere. Only the close button remains interactive. */
  #bloodline .bln-image-viewer *{
    pointer-events:none!important;
  }
  #bloodline .bln-image-viewer [data-bloodline-image-close]{
    pointer-events:auto!important;
  }

  #bloodline .bln-image-viewer.is-mobile-dragging{
    cursor:grabbing!important;
  }

  #bloodline .bln-image-viewer-top{
    position:relative!important;
    min-height:50px!important;
    padding:0 48px 0 0!important;
    cursor:inherit!important;
    touch-action:none!important;
    user-select:none!important;
  }
  #bloodline .bln-image-viewer-name{
    position:static!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    font-size:clamp(25px,7.3vw,36px)!important;
    line-height:.92!important;
  }
  #bloodline .bln-image-viewer-close{
    pointer-events:auto!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    bottom:auto!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    touch-action:manipulation!important;
  }

  #bloodline .bln-image-viewer-stage{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-content:stretch!important;
    justify-items:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:8px 0 0!important;
    padding:0 0 10px!important;
    overflow:hidden!important;
    touch-action:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame{
    grid-column:1!important;
    grid-row:1!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    touch-action:none!important;
  }
  #bloodline .bln-image-viewer-photo-canvas{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:hidden!important;
    touch-action:none!important;
  }
  #bloodline .bln-image-viewer-photo-frame img,
  #bloodline .bln-image-viewer-stage img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
    user-select:none!important;
    -webkit-user-drag:none!important;
    touch-action:none!important;
  }
  #bloodline .bln-image-viewer-panel{
    grid-column:1!important;
    grid-row:2!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin:8px 0 0!important;
    padding:0!important;
    transform:none!important;
    touch-action:none!important;
  }
  #bloodline .bln-image-viewer-panel-grid{
    gap:8px!important;
  }
  #bloodline .bln-image-viewer-meta{
    margin:0!important;
    padding:8px 0 0!important;
  }
  #bloodline .bln-image-viewer::after{
    display:none!important;
    content:none!important;
  }
  #bloodline .bln-image-viewer-photo-scrollbar{
    display:none!important;
  }

  /* Separate ancestry and image actions without pushing names too far right. */
  #bloodline .bln-mobile .bln-node.is-expandable{
    --bln-mobile-edge-hit:40px!important;
    --bln-mobile-preview-start:44px!important;
  }
  #bloodline .bln-mobile .bln-node.is-expandable .bln-tree-action{
    left:0!important;
    right:auto!important;
    top:0!important;
    bottom:0!important;
    width:40px!important;
    min-width:40px!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    z-index:24!important;
    touch-action:manipulation!important;
  }
  #bloodline .bln-mobile .bln-node.is-expandable .bln-tree-action::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:8px!important;
    background:var(--acid)!important;
    box-shadow:0 0 8px rgba(243,254,25,.4)!important;
    pointer-events:none!important;
  }
  #bloodline .bln-mobile .bln-node.is-repeat .bln-tree-action::before{
    background:var(--ink)!important;
    box-shadow:none!important;
  }
  #bloodline .bln-mobile .bln-node.is-expandable .bln-preview-action{
    left:44px!important;
    right:0!important;
    z-index:18!important;
  }
  #bloodline .bln-mobile .bln-node.is-expandable .bln-copy{
    padding-left:44px!important;
  }
  #bloodline .bln-mobile .bln-node.is-expandable .bln-generation{
    left:44px!important;
    max-width:calc(100% - 50px)!important;
  }

  /* G4 boundary cards have no ancestry action; the whole card opens the image. */
  #bloodline .bln-mobile .bln-node.is-boundary.has-image-preview{
    position:relative!important;
    cursor:pointer!important;
  }
  #bloodline .bln-mobile .bln-node.is-boundary.has-image-preview .bln-preview-action{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:32!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    background:transparent!important;
  }
  #bloodline .bln-mobile .bln-node.is-boundary.has-image-preview .bln-copy,
  #bloodline .bln-mobile .bln-node.is-boundary.has-image-preview .bln-name-static,
  #bloodline .bln-mobile .bln-node.is-boundary.has-image-preview .bln-name-text,
  #bloodline .bln-mobile .bln-node.is-boundary.has-image-preview .bln-name-arrow{
    pointer-events:none!important;
  }
}


/* v43.20 — mobile viewer portal: viewport-owned, independent of Bloodline transforms. */
@media(max-width:820px){
  body > .bln-image-viewer.is-mobile-portal[hidden]{
    display:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal{
    position:fixed!important;
    inset:auto!important;
    top:18svh!important;
    left:14px!important;
    right:14px!important;
    bottom:auto!important;
    z-index:2147483000!important;
    box-sizing:border-box!important;
    width:auto!important;
    height:min(64svh,540px)!important;
    min-height:420px!important;
    max-height:calc(100svh - 28px)!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    align-content:stretch!important;
    margin:0!important;
    padding:14px 14px 16px!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:#0f0f0f!important;
    color:#fff!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
    touch-action:none!important;
    cursor:grab!important;
    isolation:isolate!important;
    will-change:top!important;
  }

  body > .bln-image-viewer.is-mobile-portal *,
  body > .bln-image-viewer.is-mobile-portal *::before,
  body > .bln-image-viewer.is-mobile-portal *::after{
    box-sizing:border-box!important;
    transition:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal *{
    pointer-events:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal [data-bloodline-image-close]{
    pointer-events:auto!important;
  }

  body > .bln-image-viewer.is-mobile-portal::before,
  body > .bln-image-viewer.is-mobile-portal::after{
    display:none!important;
    content:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-top{
    position:relative!important;
    z-index:5!important;
    min-height:50px!important;
    padding:0 48px 0 0!important;
    background:transparent!important;
    touch-action:none!important;
    user-select:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-name{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    text-align:left!important;
    font-size:clamp(25px,7.3vw,36px)!important;
    font-weight:720!important;
    line-height:.92!important;
    letter-spacing:-.06em!important;
    transform:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-close{
    position:absolute!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    bottom:auto!important;
    z-index:20!important;
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #3a3a3a!important;
    border-radius:50%!important;
    background:transparent!important;
    color:#fff!important;
    font-size:20px!important;
    line-height:1!important;
    touch-action:manipulation!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-stage{
    position:relative!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-content:stretch!important;
    justify-items:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:8px 0 0!important;
    padding:0 0 10px!important;
    overflow:hidden!important;
    touch-action:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-photo-frame{
    grid-column:1!important;
    grid-row:1!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    touch-action:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-photo-canvas{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:hidden!important;
    touch-action:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-photo-frame img,
  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-stage img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
    user-select:none!important;
    -webkit-user-drag:none!important;
    touch-action:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-panel{
    grid-column:1!important;
    grid-row:2!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin:8px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-panel-grid{
    display:grid!important;
    width:100%!important;
    gap:8px!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-panel-mode{
    display:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-row{
    display:block!important;
    width:100%!important;
    margin:0!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-row span{
    display:block!important;
    margin:0 0 2px!important;
    color:#73736f!important;
    font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace!important;
    font-size:6.5px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-row strong{
    display:block!important;
    margin:0!important;
    color:#edede8!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:10.5px!important;
    font-weight:600!important;
    line-height:1.28!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-note{
    display:none!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-meta{
    position:relative!important;
    z-index:3!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:0!important;
    padding:8px 0 0!important;
    border-top:0!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-data{
    color:#8e8e8e!important;
    text-align:left!important;
    font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace!important;
    font-size:8px!important;
    font-weight:700!important;
    line-height:1.5!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
  }

  body > .bln-image-viewer.is-mobile-portal .bln-image-viewer-photo-scrollbar{
    display:none!important;
  }
}
