/* WTD Band Bloodlines public presentation. Loaded only on Bloodlines/member/band surfaces. */
/* Band Bloodlines public layer, v11.7.0 */
.wtd-member-page-shell,
.wtd-blood-explorer {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.wtd-member-profile,
.wtd-band-bloodlines-public,
.wtd-blood-explorer {
  --wtd-blood-red: #b20c25;
  --wtd-blood-red-dark: #4d0711;
  --wtd-blood-panel: #121212;
  --wtd-blood-panel-soft: #1b1b1b;
  --wtd-blood-border: #3b3b3b;
  --wtd-blood-text: #f4f4f4;
  --wtd-blood-muted: #b9b9b9;
  color: var(--wtd-blood-text);
}

.wtd-blood-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin: 1.25rem 0;
  font-size: .9rem;
  color: var(--wtd-blood-muted);
}

.wtd-blood-breadcrumbs a,
.wtd-member-profile a,
.wtd-band-bloodlines-public a,
.wtd-blood-explorer a {
  color: #fff;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.wtd-member-hero,
.wtd-blood-explorer-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  margin: 1rem 0 1.5rem;
  background: linear-gradient(135deg, #090909, #1c070b 72%, #320910);
  border: 1px solid rgba(178, 12, 37, .62);
  border-radius: 20px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .28);
}

.wtd-blood-explorer-hero {
  display: block;
}

.wtd-member-portrait {
  width: clamp(130px, 18vw, 220px);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  border: 2px solid var(--wtd-blood-red);
}

.wtd-member-kicker {
  display: block;
  margin-bottom: .45rem;
  font-size: .76rem;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #ff8091;
  font-weight: 800;
}

.wtd-member-hero h1,
.wtd-blood-explorer-hero h1 {
  margin: 0 0 .7rem;
  color: #fff;
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: .98;
}

.wtd-member-intro,
.wtd-blood-explorer-hero p {
  max-width: 850px;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.65;
}

.wtd-member-aliases,
.wtd-member-updated,
.wtd-band-member-role {
  color: var(--wtd-blood-muted);
}

.wtd-member-section,
.wtd-band-bloodlines-public,
.wtd-blood-accessible-list {
  margin: 1.5rem 0;
  padding: clamp(1rem, 2.4vw, 1.6rem);
  background: var(--wtd-blood-panel);
  border: 1px solid var(--wtd-blood-border);
  border-radius: 16px;
}

.wtd-member-section h2,
.wtd-band-bloodlines-public h2,
.wtd-blood-accessible-list h2 {
  margin-top: 0;
  color: #fff;
}

.wtd-member-band-grid,
.wtd-co-member-grid,
.wtd-band-member-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.wtd-member-band-card,
.wtd-co-member-card,
.wtd-band-member-link {
  min-width: 0;
  background: var(--wtd-blood-panel-soft);
  border: 1px solid #343434;
  border-radius: 13px;
  overflow: hidden;
}

.wtd-member-band-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.wtd-member-band-card-body,
.wtd-co-member-card,
.wtd-band-member-link {
  padding: 1rem;
}

.wtd-member-band-card h3,
.wtd-co-member-card h3,
.wtd-band-member-link h3 {
  margin: 0 0 .55rem;
  color: #fff;
}

.wtd-member-band-card ul,
.wtd-member-evidence ul,
.wtd-blood-accessible-list ul {
  margin: .5rem 0 0 1.2rem;
}

.wtd-member-timeline {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wtd-member-timeline:before {
  content: "";
  position: absolute;
  left: 138px;
  top: .8rem;
  bottom: .8rem;
  width: 2px;
  background: var(--wtd-blood-red);
}

.wtd-member-timeline li {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 2rem;
  position: relative;
  padding: .75rem 0 1.1rem;
}

.wtd-member-timeline li:before {
  content: "";
  position: absolute;
  left: 132px;
  top: 1.15rem;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--wtd-blood-red);
}

.wtd-member-timeline-years {
  color: #ff98a6;
  font-weight: 800;
  text-align: right;
}

.wtd-member-timeline h3,
.wtd-member-timeline p {
  margin: 0 0 .3rem;
}

.wtd-member-evidence summary {
  cursor: pointer;
  font-weight: 800;
}

.wtd-member-footer,
.wtd-blood-section-head,
.wtd-blood-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

.wtd-blood-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .72rem 1rem;
  border: 1px solid #e22b46;
  border-radius: 999px;
  background: var(--wtd-blood-red-dark);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
  cursor: pointer;
}

.wtd-blood-button:hover,
.wtd-blood-button:focus-visible {
  background: var(--wtd-blood-red);
}

.wtd-member-index-note {
  color: var(--wtd-blood-muted);
  font-size: .86rem;
}

.wtd-bms-member-list .wtd-bms-member-name a {
  color: inherit;
  font-weight: 800;
}

.wtd-bms-member-detail {
  display: block;
  color: #aaa;
  margin-top: .15rem;
}

.wtd-blood-connected-bands {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #333;
}

.wtd-blood-filters {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(150px, 1fr));
  gap: .8rem;
  padding: 1rem;
  margin: 0 0 1rem;
  background: var(--wtd-blood-panel);
  border: 1px solid var(--wtd-blood-border);
  border-radius: 15px;
}

.wtd-blood-filters label span {
  display: block;
  margin-bottom: .35rem;
  color: #ddd;
  font-size: .85rem;
  font-weight: 800;
}

.wtd-blood-filters input,
.wtd-blood-filters select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #484848;
  border-radius: 8px;
  background: #080808;
  color: #fff;
  padding: .65rem .75rem;
}

.wtd-blood-filter-actions {
  grid-column: 1 / -1;
  justify-content: flex-start;
}

.wtd-blood-explorer-count {
  margin: .75rem 0;
  color: var(--wtd-blood-muted);
}

.wtd-blood-graph {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.wtd-blood-graph-person {
  align-self: start;
  background: var(--wtd-blood-panel);
  border: 1px solid var(--wtd-blood-border);
  border-radius: 13px;
  overflow: hidden;
}

.wtd-blood-person-toggle {
  width: 100%;
  display: flex;
  gap: .7rem;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1rem;
  border: 0;
  background: #191919;
  color: #fff;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}

.wtd-blood-person-toggle small {
  color: #bbb;
  font-weight: 500;
}

.wtd-blood-person-toggle[aria-expanded="true"] {
  background: var(--wtd-blood-red-dark);
}

.wtd-blood-graph-links {
  padding: .8rem 1rem 1rem;
}

.wtd-blood-profile-link {
  font-weight: 800;
}

.wtd-blood-graph-link {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: .5rem;
  align-items: start;
  padding: .6rem 0;
  border-top: 1px solid #2d2d2d;
}

.wtd-blood-graph-link .wtd-blood-line {
  display: block;
  width: 24px;
  height: 2px;
  margin-top: .72rem;
  background: var(--wtd-blood-red);
}

.wtd-blood-graph-link small {
  display: block;
  color: #aaa;
  margin-top: .2rem;
}

.wtd-blood-accessible-list li {
  margin: .55rem 0;
  line-height: 1.55;
}

.wtd-blood-empty {
  padding: 1rem;
  border: 1px dashed #555;
  border-radius: 12px;
}

@media (max-width: 900px) {
  .wtd-member-band-grid,
  .wtd-co-member-grid,
  .wtd-band-member-links,
  .wtd-blood-graph {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wtd-blood-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .wtd-member-page-shell,
  .wtd-blood-explorer {
    width: min(100% - 20px, 1180px);
  }
  .wtd-member-hero {
    grid-template-columns: 1fr;
  }
  .wtd-member-portrait {
    width: min(220px, 72vw);
  }
  .wtd-member-band-grid,
  .wtd-co-member-grid,
  .wtd-band-member-links,
  .wtd-blood-graph,
  .wtd-blood-filters {
    grid-template-columns: 1fr;
  }
  .wtd-member-timeline:before {
    left: 7px;
  }
  .wtd-member-timeline li {
    grid-template-columns: 1fr;
    gap: .3rem;
    padding-left: 1.5rem;
  }
  .wtd-member-timeline li:before {
    left: 0;
  }
  .wtd-member-timeline-years {
    text-align: left;
  }
}

/* Bloodlines visual network */
.wtd-blood-network-panel{margin:1.5rem 0;padding:1rem;border:1px solid #383838;border-radius:14px;background:#111}
.wtd-blood-network-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.wtd-blood-network-head h2{margin:0 0 .25rem}
.wtd-blood-network-head p{margin:0;color:#bbb}
.wtd-blood-network-reset{border:1px solid #666;border-radius:999px;background:#1d1d1d;color:#fff;padding:.55rem .9rem;cursor:pointer;white-space:nowrap}
.wtd-blood-network-reset:hover,.wtd-blood-network-reset:focus{border-color:#fff;background:#2a2a2a}
.wtd-blood-network{overflow:auto;border:1px solid #2e2e2e;border-radius:10px;background:radial-gradient(circle at center,#1b1b1b 0,#0d0d0d 68%)}
.wtd-blood-network svg{display:block;width:100%;min-width:860px;height:auto;min-height:480px}
.wtd-network-edges line{stroke:#555;stroke-width:1.2;opacity:.62;transition:opacity .18s,stroke .18s,stroke-width .18s}
.wtd-network-node{cursor:pointer;outline:none;transition:opacity .18s}
.wtd-network-node circle{stroke:#efefef;stroke-width:1.5;transition:r .18s,fill .18s,stroke .18s}
.wtd-network-node-person circle{fill:#a20f1f}
.wtd-network-node-band circle{fill:#f0f0f0;stroke:#a20f1f}
.wtd-network-node text{fill:#f4f4f4;font-size:12px;font-weight:700;paint-order:stroke;stroke:#0b0b0b;stroke-width:3px;stroke-linejoin:round}
.wtd-network-node:focus circle,.wtd-network-node:hover circle,.wtd-network-node.is-selected circle{r:13;stroke:#fff;stroke-width:2.5}
.wtd-network-edges line.is-selected{stroke:#ef3340;stroke-width:3;opacity:1}
.wtd-network-node.is-dimmed,.wtd-network-edges line.is-dimmed{opacity:.12}
.wtd-network-empty{fill:#bbb;font-size:18px}
.wtd-blood-network-note{margin:.65rem 0 0;color:#aaa;font-size:.9rem}
@media (max-width:700px){.wtd-blood-network-head{display:block}.wtd-blood-network-reset{margin-top:.75rem}.wtd-blood-network svg{min-width:760px}}

/* Bloodlines interactive infographic, v11.8.0 */
.wtd-blood-focus-banner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem 1rem;
  margin:0 0 1rem;
  padding:.8rem 1rem;
  border:1px solid rgba(226,43,70,.55);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(77,7,17,.9),rgba(20,20,20,.96));
  color:#fff;
}
.wtd-blood-focus-banner a{margin-left:auto;font-weight:800}
.wtd-blood-infographic-shell{
  --wtd-tree-red:#bd1730;
  --wtd-tree-red-bright:#ef334f;
  --wtd-tree-bg:#0b0b0c;
  --wtd-tree-panel:#141416;
  --wtd-tree-panel-soft:#1c1c1f;
  --wtd-tree-border:#39393e;
  --wtd-tree-text:#f7f7f7;
  --wtd-tree-muted:#b8b8bd;
  margin:1.5rem 0;
  padding:1rem;
  border:1px solid var(--wtd-tree-border);
  border-radius:18px;
  background:linear-gradient(150deg,#171719 0,#0b0b0c 70%);
  color:var(--wtd-tree-text);
  box-shadow:0 22px 60px rgba(0,0,0,.3);
}
.wtd-blood-infographic-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.25rem;
  margin-bottom:1rem;
}
.wtd-blood-infographic-intro h2{margin:.15rem 0 .35rem;color:#fff;font-size:clamp(1.45rem,3vw,2.2rem)}
.wtd-blood-infographic-intro p{max-width:760px;margin:0;color:var(--wtd-tree-muted)}
.wtd-blood-infographic-stats{
  display:grid;
  grid-template-columns:auto auto;
  gap:.1rem .5rem;
  flex:0 0 auto;
  min-width:150px;
  padding:.75rem .9rem;
  border:1px solid #3b3b40;
  border-radius:12px;
  background:#101012;
}
.wtd-blood-infographic-stats strong{font-size:1.3rem;color:#fff;text-align:right}
.wtd-blood-infographic-stats span{align-self:center;color:#aaa;font-size:.82rem}
.wtd-blood-infographic-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:.65rem;
  margin-bottom:.8rem;
  padding:.75rem;
  border:1px solid #36363b;
  border-radius:13px;
  background:#111113;
}
.wtd-blood-view-switch,
.wtd-blood-zoom-controls{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #44444a;border-radius:999px;background:#080809}
.wtd-blood-view-switch button,
.wtd-blood-zoom-controls button,
.wtd-blood-tool-button{
  min-height:38px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#ddd;
  padding:.48rem .82rem;
  font-weight:800;
  cursor:pointer;
}
.wtd-blood-view-switch button[aria-pressed="true"]{background:var(--wtd-tree-red);color:#fff}
.wtd-blood-view-switch button:hover,
.wtd-blood-view-switch button:focus-visible,
.wtd-blood-zoom-controls button:hover,
.wtd-blood-zoom-controls button:focus-visible,
.wtd-blood-tool-button:hover,
.wtd-blood-tool-button:focus-visible{background:#2a2a2f;color:#fff;outline:2px solid transparent}
.wtd-blood-focus-control{display:grid;gap:.28rem;flex:1 1 240px;max-width:420px}
.wtd-blood-focus-control span{font-size:.78rem;font-weight:800;color:#c7c7cb}
.wtd-blood-focus-control input{
  width:100%;
  min-height:42px;
  border:1px solid #48484e;
  border-radius:9px;
  background:#080809;
  color:#fff;
  padding:.55rem .72rem;
}
.wtd-blood-tool-button{border:1px solid #4b4b51;background:#18181b}
.wtd-blood-infographic-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(235px,300px);
  gap:.8rem;
  align-items:stretch;
}
.wtd-blood-infographic-canvas{
  position:relative;
  min-width:0;
  height:690px;
  overflow:hidden;
  border:1px solid #303035;
  border-radius:13px;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(circle at 50% 35%,#202024 0,#0b0b0d 65%);
  background-size:34px 34px,34px 34px,auto;
}
.wtd-blood-infographic-canvas svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none}
.wtd-blood-infographic-canvas svg.is-dragging{cursor:grabbing}
.wtd-blood-infographic-help{
  position:absolute;
  left:.65rem;
  bottom:.55rem;
  max-width:calc(100% - 1.3rem);
  padding:.38rem .58rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(0,0,0,.72);
  color:#bbb;
  font-size:.74rem;
  pointer-events:none;
}
.wtd-blood-infographic-detail{
  min-width:0;
  height:690px;
  overflow:auto;
  padding:1rem;
  border:1px solid #37373c;
  border-radius:13px;
  background:#111113;
}
.wtd-blood-infographic-detail h3{margin:.25rem 0 .5rem;color:#fff;font-size:1.35rem}
.wtd-blood-detail-summary{color:#bbb}
.wtd-blood-detail-list{list-style:none;margin:.8rem 0 1rem;padding:0}
.wtd-blood-detail-list li{padding:.62rem 0;border-top:1px solid #2d2d31}
.wtd-blood-detail-list small{display:block;margin-top:.2rem;color:#aaa;line-height:1.4}
.wtd-blood-detail-jump{display:block;width:100%;padding:0;border:0;background:none;color:#fff;text-align:left;font:inherit;font-weight:800;cursor:pointer}
.wtd-blood-detail-jump:hover,.wtd-blood-detail-jump:focus-visible{color:#ff8ca0}
.wtd-blood-infographic-legend{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:.8rem;color:#c8c8cc;font-size:.78rem}
.wtd-blood-infographic-legend span{display:inline-flex;align-items:center;gap:.38rem}
.wtd-blood-infographic-legend i{display:inline-block;width:22px;height:4px;border-radius:999px;background:#e2445d}
.wtd-blood-infographic-legend i.is-former_member{background:#9a9aa2}
.wtd-blood-infographic-legend i.is-touring_member{background:#e98a32}
.wtd-blood-infographic-legend i.is-session_member{background:#6e9ed4}
.wtd-blood-infographic-legend i.is-side_project{background:#b467d8}
.wtd-blood-infographic-legend i.is-guest{background:#70b98c}
.wtd-blood-infographic-legend i.is-branch{height:2px;background:#ff3654;box-shadow:0 0 7px rgba(255,54,84,.7)}
.wtd-blood-infographic-note{margin:.65rem 0 0;color:#929298;font-size:.78rem}
.wtd-family-background{fill:#0a0a0c}
.wtd-family-grid line{stroke:#28282d;stroke-width:1}
.wtd-family-grid line.is-decade{stroke:#44444b;stroke-width:1.4}
.wtd-family-grid line.is-unknown{stroke:#5a3540;stroke-dasharray:5 6}
.wtd-family-grid text{fill:#9d9da3;font-size:12px;font-weight:700}
.wtd-family-band-label{cursor:pointer;outline:none}
.wtd-family-band-label rect{fill:#1e1e22;stroke:#5a5a63;stroke-width:1.2}
.wtd-family-band-label text{fill:#fff;font-size:13px;font-weight:900}
.wtd-family-band-label:hover rect,
.wtd-family-band-label:focus rect,
.wtd-family-band-label.is-selected rect{fill:#4d0711;stroke:#f04b64;stroke-width:2.2}
.wtd-family-trunk{stroke:#8f1124;stroke-width:7;stroke-linecap:round}
.wtd-family-trunk-lead{stroke:#585860;stroke-width:2;stroke-dasharray:4 4}
.wtd-family-relationship{transition:opacity .18s}
.wtd-family-relationship path{fill:none;stroke:#e2445d;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.wtd-family-relationship circle{fill:#fff;stroke:#e2445d;stroke-width:2}
.wtd-family-relationship.is-former_member path{stroke:#96969f;stroke-dasharray:7 4}
.wtd-family-relationship.is-former_member circle{stroke:#96969f}
.wtd-family-relationship.is-touring_member path{stroke:#e98a32;stroke-dasharray:3 4}
.wtd-family-relationship.is-touring_member circle{stroke:#e98a32}
.wtd-family-relationship.is-session_member path{stroke:#6e9ed4;stroke-dasharray:2 4}
.wtd-family-relationship.is-session_member circle{stroke:#6e9ed4}
.wtd-family-relationship.is-side_project path{stroke:#b467d8}
.wtd-family-relationship.is-side_project circle{stroke:#b467d8}
.wtd-family-relationship.is-guest path{stroke:#70b98c;stroke-dasharray:5 4}
.wtd-family-relationship.is-guest circle{stroke:#70b98c}
.wtd-family-person{cursor:pointer;outline:none;transition:opacity .18s}
.wtd-family-person rect{fill:#18181b;stroke:#57575f;stroke-width:1}
.wtd-family-person text{fill:#fff;font-size:11px;font-weight:800}
.wtd-family-person:hover rect,
.wtd-family-person:focus rect,
.wtd-family-person.is-selected rect{fill:#a60d24;stroke:#fff;stroke-width:1.8}
.wtd-family-person.is-former_member rect{stroke:#96969f}
.wtd-family-person.is-touring_member rect{stroke:#e98a32}
.wtd-family-person.is-session_member rect{stroke:#6e9ed4}
.wtd-family-person.is-side_project rect{stroke:#b467d8}
.wtd-family-person.is-guest rect{stroke:#70b98c}
.wtd-family-branch{fill:none;stroke:#f1314e;stroke-width:2.4;stroke-linecap:round;opacity:.8;filter:drop-shadow(0 0 3px rgba(241,49,78,.45));transition:opacity .18s,stroke-width .18s}
.wtd-family-branch.is-selected{stroke-width:5;opacity:1}
.wtd-infographic-map-edges path{fill:none;stroke:#6a6a72;stroke-width:1.3;opacity:.58;transition:opacity .18s,stroke-width .18s,stroke .18s}
.wtd-infographic-map-edges path.is-current_member{stroke:#d83a53}
.wtd-infographic-map-edges path.is-former_member{stroke:#8e8e96;stroke-dasharray:7 4}
.wtd-infographic-map-edges path.is-touring_member{stroke:#e98a32;stroke-dasharray:3 4}
.wtd-infographic-map-edges path.is-session_member{stroke:#6e9ed4;stroke-dasharray:2 4}
.wtd-infographic-map-edges path.is-side_project{stroke:#b467d8}
.wtd-infographic-map-edges path.is-guest{stroke:#70b98c;stroke-dasharray:5 4}
.wtd-infographic-map-node{cursor:pointer;outline:none;transition:opacity .18s}
.wtd-infographic-map-node circle{stroke:#fff;stroke-width:1.4}
.wtd-infographic-map-node.is-person circle{fill:#ad152d}
.wtd-infographic-map-node.is-band circle{fill:#f3f3f3;stroke:#ad152d}
.wtd-infographic-map-node text{fill:#f7f7f7;font-size:12px;font-weight:800;paint-order:stroke;stroke:#09090a;stroke-width:3px;stroke-linejoin:round}
.wtd-infographic-map-node:hover circle,
.wtd-infographic-map-node:focus circle,
.wtd-infographic-map-node.is-selected circle{r:13;stroke:#fff;stroke-width:2.5}
.wtd-blood-infographic-shell .is-dimmed{opacity:.08 !important}
.wtd-blood-infographic-shell .is-selected{opacity:1 !important}
.wtd-blood-infographic-shell.is-compact .wtd-blood-infographic-canvas,
.wtd-blood-infographic-shell.is-compact .wtd-blood-infographic-detail{height:520px}
@media (max-width:980px){
  .wtd-blood-infographic-stage{grid-template-columns:1fr}
  .wtd-blood-infographic-detail{height:auto;max-height:360px}
  .wtd-blood-infographic-canvas{height:620px}
}
@media (max-width:680px){
  .wtd-blood-infographic-shell{margin:1rem 0;padding:.7rem;border-radius:13px}
  .wtd-blood-infographic-intro{display:block}
  .wtd-blood-infographic-stats{margin-top:.8rem;width:max-content}
  .wtd-blood-infographic-toolbar{align-items:stretch}
  .wtd-blood-view-switch,.wtd-blood-zoom-controls{width:100%;justify-content:center}
  .wtd-blood-focus-control{max-width:none;flex-basis:100%}
  .wtd-blood-infographic-canvas{height:540px}
  .wtd-blood-focus-banner a{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .wtd-blood-infographic-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* Bloodlines guided discovery, v11.9.1 */
.wtd-blood-discovery{
  --wtd-discovery-red:#d2203b;
  --wtd-discovery-red-dark:#6d0b1a;
  --wtd-discovery-panel:#151517;
  --wtd-discovery-border:#37373c;
  --wtd-discovery-muted:#b6b6bc;
  color:#f7f7f7;
}
.wtd-blood-start,
.wtd-blood-stage-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.25rem;
  align-items:center;
  margin:0 0 1rem;
  padding:clamp(1rem,3vw,1.6rem);
  border:1px solid #3a3a40;
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 12%,rgba(210,32,59,.22),transparent 34%),
    linear-gradient(145deg,#1b1b1e,#0c0c0e 72%);
}
.wtd-blood-start h2,
.wtd-blood-stage-hero h2{margin:.2rem 0 .45rem;color:#fff;font-size:clamp(1.65rem,4vw,2.65rem);line-height:1.04}
.wtd-blood-start p,
.wtd-blood-stage-hero p{max-width:780px;margin:0;color:var(--wtd-discovery-muted);font-size:1rem;line-height:1.62}
.wtd-blood-stage-hero small{display:block;margin-top:.65rem;color:#d0d0d4}
.wtd-blood-start-stats{
  display:grid;
  grid-template-columns:auto auto;
  gap:.2rem .65rem;
  min-width:190px;
  padding:1rem;
  border:1px solid #44444a;
  border-radius:13px;
  background:rgba(6,6,7,.76);
}
.wtd-blood-start-stats strong{color:#fff;font-size:1.45rem;text-align:right}
.wtd-blood-start-stats span{align-self:center;color:#aaa;font-size:.82rem}
.wtd-blood-start-search{
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(300px,1.25fr);
  gap:1rem;
  align-items:center;
  margin:0 0 1.35rem;
  padding:1rem;
  border:1px solid #3b3b40;
  border-radius:15px;
  background:#111113;
}
.wtd-blood-start-search label{display:block;color:#fff;font-size:1.05rem;font-weight:900}
.wtd-blood-start-search p{margin:.2rem 0 0;color:#aaa;font-size:.86rem}
.wtd-blood-start-search-controls{display:flex;gap:.55rem}
.wtd-blood-start-search input[type="search"]{
  flex:1 1 auto;
  min-width:0;
  min-height:46px;
  border:1px solid #505057;
  border-radius:10px;
  background:#080809;
  color:#fff;
  padding:.65rem .8rem;
}
.wtd-blood-start-search button{
  min-height:46px;
  border:1px solid #ec3652;
  border-radius:10px;
  background:var(--wtd-discovery-red);
  color:#fff;
  padding:.65rem 1rem;
  font-weight:900;
  cursor:pointer;
}
.wtd-blood-route-section{margin:1.5rem 0 2rem}
.wtd-blood-route-head{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.8rem}
.wtd-blood-route-head>span{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  height:42px;
  border:1px solid #7d1526;
  border-radius:50%;
  background:#31050d;
  color:#ff7187;
  font-weight:900;
}
.wtd-blood-route-head h2{margin:0;color:#fff;font-size:1.45rem}
.wtd-blood-route-head p{margin:.2rem 0 0;color:#aaa}
.wtd-blood-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}
.wtd-blood-route-grid.is-sounds{grid-template-columns:repeat(4,minmax(0,1fr))}
.wtd-blood-route-grid.is-eras{grid-template-columns:repeat(5,minmax(0,1fr))}
.wtd-blood-route-card{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:.75rem;
  align-items:center;
  min-height:132px;
  padding:.9rem;
  overflow:hidden;
  border:1px solid #39393f;
  border-radius:14px;
  background:linear-gradient(145deg,#1a1a1d,#101012);
  color:#fff;
  text-decoration:none!important;
  transition:transform .18s,border-color .18s,background .18s;
}
.wtd-blood-route-card::after{
  content:"";
  position:absolute;
  inset:auto -25px -45px auto;
  width:105px;
  height:105px;
  border:18px solid rgba(210,32,59,.08);
  border-radius:50%;
}
.wtd-blood-route-card:hover,
.wtd-blood-route-card:focus-visible{transform:translateY(-3px);border-color:#d32a43;background:linear-gradient(145deg,#291318,#111113);outline:none}
.wtd-blood-route-card-marker,
.wtd-blood-route-marker{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid #9d1b30;
  border-radius:50%;
  background:#4c0813;
  color:#ff91a2;
  font-size:.8rem;
  font-weight:950;
  letter-spacing:.02em;
  text-align:center;
}
.wtd-blood-route-card-copy{display:grid;gap:.25rem;min-width:0}
.wtd-blood-route-card-copy strong{color:#fff;font-size:1.02rem;line-height:1.15}
.wtd-blood-route-card-copy small{color:#aaa;line-height:1.4}
.wtd-blood-route-card-copy em{color:#ff8396;font-size:.75rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.wtd-blood-route-arrow{position:relative;z-index:1;color:#ff5b74;font-size:1.35rem;font-weight:900}
.wtd-blood-advanced{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1.5rem 0 0;
  padding:1.1rem;
  border:1px dashed #525259;
  border-radius:15px;
  background:#111113;
}
.wtd-blood-advanced h2{margin:.15rem 0 .25rem;color:#fff}
.wtd-blood-advanced p{margin:0;color:#aaa}
.wtd-blood-advanced-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.wtd-blood-secondary-button,
.wtd-blood-show-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border:1px solid #55555c;
  border-radius:999px;
  background:#1a1a1d;
  color:#fff!important;
  padding:.55rem .95rem;
  font-weight:900;
  text-decoration:none!important;
  cursor:pointer;
}
.wtd-blood-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .75rem;color:#aaa;font-size:.84rem}
.wtd-blood-breadcrumbs a{color:#f0f0f0;text-decoration:none}
.wtd-blood-breadcrumbs strong{color:#ff7187}
.wtd-blood-stage-hero{grid-template-columns:auto minmax(0,1fr)}
.wtd-blood-route-marker{width:74px;height:74px;font-size:1rem}
.wtd-blood-band-stage{margin:1.25rem 0}
.wtd-blood-band-stage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.wtd-blood-band-stage-head h2{margin:0;color:#fff}
.wtd-blood-band-stage-head p{margin:.25rem 0 0;color:#aaa}
.wtd-blood-band-stage-head>a{font-weight:900;white-space:nowrap}
.wtd-blood-band-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.wtd-blood-band-choice{
  display:grid;
  grid-template-rows:1fr auto;
  min-width:0;
  overflow:hidden;
  border:1px solid #39393f;
  border-radius:14px;
  background:#121214;
}
.wtd-blood-band-choice-main{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.8rem;align-items:stretch;color:#fff!important;text-decoration:none!important}
.wtd-blood-band-choice-image{display:block;min-height:118px;background-position:center;background-size:cover;background-color:#24060b}
.wtd-blood-band-choice-image.is-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#600d1b,#161619)}
.wtd-blood-band-choice-image b{font-size:1.5rem;color:#ff9aaa}
.wtd-blood-band-choice-copy{display:grid;align-content:center;gap:.28rem;padding:.75rem .75rem .75rem 0;min-width:0}
.wtd-blood-band-choice-copy strong{color:#fff;font-size:1.02rem;line-height:1.15}
.wtd-blood-band-choice-copy small{color:#c4c4c8}
.wtd-blood-band-choice-copy em{margin-top:.2rem;color:#ff667d;font-size:.76rem;font-style:normal;font-weight:900;text-transform:uppercase}
.wtd-blood-band-genres{overflow:hidden;color:#8f8f96;font-size:.73rem;white-space:nowrap;text-overflow:ellipsis}
.wtd-blood-band-page-link{padding:.52rem .75rem;border-top:1px solid #303034;color:#bbb!important;font-size:.78rem;font-weight:800;text-align:right;text-decoration:none!important}
.wtd-blood-band-choice:hover,.wtd-blood-band-choice:focus-within{border-color:#d52b45;background:#191114}
.wtd-blood-show-more{display:flex;margin:1rem auto 0}
.wtd-blood-empty{margin:1rem 0;padding:1.2rem;border:1px solid #444;border-radius:14px;background:#111;color:#ccc;text-align:center}
.wtd-blood-empty h2,.wtd-blood-empty h3{margin:0 0 .35rem;color:#fff}
@media(max-width:1100px){
  .wtd-blood-route-grid.is-sounds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wtd-blood-route-grid.is-eras{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wtd-blood-band-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .wtd-blood-start,.wtd-blood-stage-hero,.wtd-blood-start-search{grid-template-columns:1fr}
  .wtd-blood-start-stats{width:max-content}
  .wtd-blood-start-search-controls{display:grid;grid-template-columns:1fr}
  .wtd-blood-route-grid,.wtd-blood-route-grid.is-sounds,.wtd-blood-route-grid.is-eras,.wtd-blood-band-picker{grid-template-columns:1fr}
  .wtd-blood-route-card{min-height:112px}
  .wtd-blood-advanced,.wtd-blood-band-stage-head{display:block}
  .wtd-blood-advanced-actions{justify-content:flex-start;margin-top:.8rem}
  .wtd-blood-band-stage-head>a{display:inline-block;margin-top:.6rem;white-space:normal}
}

/* Bloodlines presentation expansion, v11.9.2 */
body.wtd-bloodlines-page .wtd-blood-explorer,
.wtd-layout-stage .wtd-blood-explorer,
.wtd-blood-explorer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.wtd-member-page-shell {
  width: min(1480px, calc(100% - 32px));
}

.wtd-blood-explorer-hero {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 3.2vw, 3.4rem);
  border-radius: 24px;
}

.wtd-blood-explorer-hero h1 {
  font-size: clamp(3.4rem, 7.2vw, 7.4rem);
  letter-spacing: .015em;
  max-width: none;
}

.wtd-blood-explorer-hero p {
  max-width: 980px;
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
}

.wtd-blood-start,
.wtd-blood-stage-hero {
  padding: clamp(1.35rem, 2.5vw, 2.5rem);
}

.wtd-blood-start h2,
.wtd-blood-stage-hero h2 {
  font-size: clamp(2.1rem, 4.4vw, 4.6rem);
}

.wtd-blood-route-section {
  margin-block: clamp(2rem, 4vw, 4.25rem);
}

.wtd-blood-route-head h2 {
  font-size: clamp(1.75rem, 2.4vw, 2.8rem);
}

.wtd-blood-route-grid {
  gap: clamp(.9rem, 1.4vw, 1.35rem);
}

.wtd-blood-route-grid.is-sounds {
  grid-template-columns: repeat(4, minmax(240px, 1fr));
}

.wtd-blood-route-grid.is-eras {
  grid-template-columns: repeat(5, minmax(190px, 1fr));
}

.wtd-blood-route-grid.is-scenes {
  grid-template-columns: repeat(4, minmax(250px, 1fr));
}

.wtd-blood-route-card {
  min-height: 174px;
  padding: 1.15rem;
  grid-template-columns: 58px minmax(0,1fr) auto;
  gap: .95rem;
}

.wtd-blood-route-card-marker {
  width: 58px;
  height: 58px;
}

.wtd-blood-route-card-copy strong {
  font-size: 1.2rem;
}

.wtd-blood-route-card-copy small {
  font-size: .94rem;
  line-height: 1.5;
}

.wtd-blood-band-picker {
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 1rem;
}

.wtd-blood-band-choice-main {
  grid-template-columns: 118px minmax(0,1fr);
}

.wtd-blood-band-choice-image {
  min-height: 142px;
}

.wtd-blood-filters {
  grid-template-columns: minmax(280px, 2fr) repeat(3, minmax(180px, 1fr));
  gap: 1rem;
  padding: clamp(1rem, 1.8vw, 1.5rem);
}

.wtd-blood-explorer-count {
  font-size: 1rem;
  padding-inline: .25rem;
}

.wtd-blood-infographic-shell {
  width: 100%;
  max-width: none;
  margin: 1.5rem 0 2.5rem;
  padding: clamp(1rem, 1.8vw, 1.75rem);
  border-radius: 22px;
  box-shadow: 0 28px 90px rgba(0,0,0,.48);
}

.wtd-blood-infographic-intro {
  align-items: center;
  padding: .4rem .25rem 1rem;
}

.wtd-blood-infographic-intro h2 {
  font-size: clamp(2.3rem, 4.8vw, 5.2rem);
  line-height: .95;
}

.wtd-blood-infographic-intro p {
  max-width: 980px;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
}

.wtd-blood-infographic-toolbar {
  position: sticky;
  top: 82px;
  z-index: 35;
  gap: .8rem;
  padding: .9rem;
  background: rgba(12,12,14,.96);
  backdrop-filter: blur(14px);
}

body.admin-bar .wtd-blood-infographic-toolbar {
  top: 114px;
}

.wtd-blood-view-switch button,
.wtd-blood-zoom-controls button,
.wtd-blood-tool-button {
  min-height: 44px;
  padding: .58rem .95rem;
}

.wtd-blood-view-switch button[aria-pressed="true"] {
  box-shadow: 0 0 0 2px rgba(255,255,255,.12) inset;
}

.wtd-blood-infographic-stage {
  grid-template-columns: minmax(0,1fr) minmax(320px,380px);
  gap: 1rem;
}

.wtd-blood-infographic-canvas,
.wtd-blood-infographic-detail {
  height: clamp(760px, 74vh, 980px);
}

.wtd-blood-infographic-canvas {
  border-width: 2px;
  box-shadow: inset 0 0 60px rgba(0,0,0,.42);
}

.wtd-blood-infographic-detail {
  padding: 1.25rem;
}

.wtd-blood-infographic-help {
  font-size: .84rem;
  padding: .5rem .72rem;
}

.wtd-family-band-label text,
.wtd-network-node text {
  font-size: 14px;
}

.wtd-blood-text-fallback {
  margin: 1.5rem 0 0;
  border: 1px solid #3a3a40;
  border-radius: 16px;
  background: #101012;
  overflow: hidden;
}

.wtd-blood-text-fallback > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  cursor: pointer;
  color: #fff;
  font-weight: 900;
}

.wtd-blood-text-fallback > summary::-webkit-details-marker {
  display: none;
}

.wtd-blood-text-fallback > summary::after {
  content: "+";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #8e1a2e;
  border-radius: 50%;
  color: #ff8296;
}

.wtd-blood-text-fallback[open] > summary::after {
  content: "−";
}

.wtd-blood-text-fallback > summary small {
  margin-left: auto;
  color: #aaa;
  font-weight: 500;
}

.wtd-blood-text-fallback-body {
  padding: 0 1rem 1rem;
}

.wtd-blood-infographic-shell:fullscreen,
.wtd-blood-infographic-shell:-webkit-full-screen,
.wtd-blood-infographic-shell.is-fullscreen,
.wtd-blood-infographic-shell.is-expanded-fallback {
  width: 100vw;
  height: 100vh;
  max-width: none;
  margin: 0;
  padding: 14px;
  border: 0;
  border-radius: 0;
  overflow: auto;
  background: #080809;
}

.wtd-blood-infographic-shell:fullscreen .wtd-blood-infographic-intro,
.wtd-blood-infographic-shell:-webkit-full-screen .wtd-blood-infographic-intro,
.wtd-blood-infographic-shell.is-fullscreen .wtd-blood-infographic-intro {
  display: none;
}

.wtd-blood-infographic-shell:fullscreen .wtd-blood-infographic-toolbar,
.wtd-blood-infographic-shell:-webkit-full-screen .wtd-blood-infographic-toolbar,
.wtd-blood-infographic-shell.is-fullscreen .wtd-blood-infographic-toolbar {
  position: static;
  margin-bottom: 10px;
}

.wtd-blood-infographic-shell:fullscreen .wtd-blood-infographic-canvas,
.wtd-blood-infographic-shell:fullscreen .wtd-blood-infographic-detail,
.wtd-blood-infographic-shell:-webkit-full-screen .wtd-blood-infographic-canvas,
.wtd-blood-infographic-shell:-webkit-full-screen .wtd-blood-infographic-detail,
.wtd-blood-infographic-shell.is-fullscreen .wtd-blood-infographic-canvas,
.wtd-blood-infographic-shell.is-fullscreen .wtd-blood-infographic-detail {
  height: calc(100vh - 112px);
}

.wtd-blood-infographic-shell:fullscreen .wtd-blood-infographic-legend,
.wtd-blood-infographic-shell:fullscreen .wtd-blood-infographic-note,
.wtd-blood-infographic-shell:-webkit-full-screen .wtd-blood-infographic-legend,
.wtd-blood-infographic-shell:-webkit-full-screen .wtd-blood-infographic-note,
.wtd-blood-infographic-shell.is-fullscreen .wtd-blood-infographic-legend,
.wtd-blood-infographic-shell.is-fullscreen .wtd-blood-infographic-note {
  display: none;
}

@media (max-width: 1450px) {
  .wtd-blood-route-grid.is-sounds,
  .wtd-blood-route-grid.is-scenes {
    grid-template-columns: repeat(3, minmax(230px, 1fr));
  }
  .wtd-blood-route-grid.is-eras {
    grid-template-columns: repeat(3, minmax(210px, 1fr));
  }
}

@media (max-width: 1100px) {
  .wtd-blood-route-grid.is-sounds,
  .wtd-blood-route-grid.is-scenes,
  .wtd-blood-route-grid.is-eras {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .wtd-blood-infographic-stage {
    grid-template-columns: 1fr;
  }
  .wtd-blood-infographic-canvas {
    height: 720px;
  }
  .wtd-blood-infographic-detail {
    height: auto;
    max-height: 420px;
  }
}

@media (max-width: 760px) {
  .wtd-blood-explorer-hero {
    min-height: 0;
    padding: 1.35rem;
  }
  .wtd-blood-explorer-hero h1 {
    font-size: clamp(2.8rem, 16vw, 4.8rem);
  }
  .wtd-blood-route-grid.is-sounds,
  .wtd-blood-route-grid.is-scenes,
  .wtd-blood-route-grid.is-eras {
    grid-template-columns: 1fr;
  }
  .wtd-blood-route-card {
    min-height: 132px;
  }
  .wtd-blood-filters {
    grid-template-columns: 1fr;
  }
  .wtd-blood-infographic-toolbar {
    position: static;
  }
  .wtd-blood-infographic-canvas {
    height: 620px;
  }
  .wtd-blood-text-fallback > summary small {
    display: none;
  }
}

/* Bloodlines visual portal hub, v11.10.0 */
.wtd-blood-discovery.is-portal-home {
  display: grid;
  gap: clamp(1.5rem, 3vw, 3rem);
}

.wtd-blood-portal-hub {
  position: relative;
  overflow: hidden;
  min-height: 720px;
  padding: clamp(1.25rem, 2.8vw, 3rem);
  border: 1px solid #3c3c43;
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 46%, rgba(187,18,45,.19), transparent 24%),
    linear-gradient(145deg, rgba(28,28,31,.98), rgba(10,10,12,.99));
  box-shadow: 0 30px 100px rgba(0,0,0,.52);
}

.wtd-blood-portal-hub::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .26;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.wtd-blood-portal-heading {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto clamp(1rem, 2vw, 1.8rem);
  text-align: center;
}

.wtd-blood-portal-heading h2 {
  margin: .25rem 0 .55rem;
  color: #fff;
  font-size: clamp(2.25rem, 4.8vw, 5.4rem);
  line-height: .96;
}

.wtd-blood-portal-heading p {
  max-width: 760px;
  margin: 0 auto;
  color: #b7b7bd;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
}

.wtd-blood-portal-stage {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(250px, 1fr) minmax(260px, 360px) minmax(250px, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: clamp(1rem, 2vw, 2rem) clamp(1.5rem, 4vw, 5rem);
  align-items: center;
  min-height: 480px;
  max-width: 1280px;
  margin: 0 auto;
}

.wtd-blood-portal-branches {
  position: absolute;
  inset: 5% 7%;
  z-index: 0;
  width: 86%;
  height: 90%;
  pointer-events: none;
  overflow: visible;
}

.wtd-blood-portal-branches path {
  fill: none;
  stroke: rgba(232,42,72,.48);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 7 10;
  filter: drop-shadow(0 0 8px rgba(232,42,72,.28));
}

.wtd-blood-portal-core {
  position: relative;
  z-index: 3;
  grid-column: 2;
  grid-row: 1 / 3;
  justify-self: center;
  display: grid;
  place-items: center;
  align-content: center;
  width: clamp(210px, 20vw, 310px);
  aspect-ratio: 1;
  padding: 1.4rem;
  border: 2px solid #b81731;
  border-radius: 50%;
  text-align: center;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,94,119,.2), transparent 25%),
    radial-gradient(circle, #300711, #0b0b0d 68%);
  box-shadow: 0 0 0 16px rgba(177,18,43,.08), 0 0 70px rgba(192,20,49,.3), inset 0 0 40px rgba(0,0,0,.7);
}

.wtd-blood-portal-core span {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: .55rem;
  border-radius: 50%;
  background: #d7193f;
  color: #fff;
  font-weight: 950;
  letter-spacing: .04em;
}

.wtd-blood-portal-core strong {
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  line-height: .9;
}

.wtd-blood-portal-core small {
  margin-top: .7rem;
  color: #aaaab2;
  font-size: .82rem;
}

.wtd-blood-portal-button {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 68px minmax(0,1fr);
  gap: 1rem;
  align-items: center;
  min-height: 165px;
  padding: 1.15rem;
  border: 1px solid #45454c;
  border-radius: 20px;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(145deg, rgba(31,31,35,.98), rgba(14,14,16,.98));
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.wtd-blood-portal-button.is-sound,
.wtd-blood-portal-button.is-time { grid-column: 1; }
.wtd-blood-portal-button.is-place,
.wtd-blood-portal-button.is-status { grid-column: 3; }
.wtd-blood-portal-button.is-sound,
.wtd-blood-portal-button.is-place { grid-row: 1; }
.wtd-blood-portal-button.is-time,
.wtd-blood-portal-button.is-status { grid-row: 2; }

.wtd-blood-portal-button:hover,
.wtd-blood-portal-button:focus-visible,
.wtd-blood-portal-button.is-open {
  transform: translateY(-4px) scale(1.015);
  border-color: #df2949;
  outline: none;
  background: linear-gradient(145deg, #311017, #121214);
  box-shadow: 0 24px 65px rgba(0,0,0,.4), 0 0 0 1px rgba(223,41,73,.24) inset;
}

.wtd-blood-portal-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid #ac1931;
  border-radius: 50%;
  color: #ff879a;
  background: #430812;
  font-size: 1.85rem;
  font-weight: 900;
}

.wtd-blood-portal-button > span:nth-child(2) {
  display: grid;
  gap: .18rem;
}

.wtd-blood-portal-button small {
  color: #ff7890;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wtd-blood-portal-button strong {
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.wtd-blood-portal-button em {
  color: #b5b5bb;
  font-size: .9rem;
  font-style: normal;
  line-height: 1.4;
}

.wtd-blood-portal-button b {
  position: absolute;
  right: 1rem;
  bottom: .8rem;
  color: #fff;
  font-size: .78rem;
}

.wtd-blood-portal-panels {
  position: relative;
  z-index: 4;
  margin-top: clamp(1.2rem, 2.5vw, 2.4rem);
}

.wtd-blood-portal-panel[hidden] { display: none !important; }

.wtd-blood-portal-panel {
  position: relative;
  scroll-margin-top: 110px;
  padding: clamp(1.2rem, 2.5vw, 2.5rem);
  border: 1px solid #4a3a3e;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(25,20,22,.99), rgba(9,9,11,.99));
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
}

.wtd-blood-portal-panel.is-standalone {
  min-height: 520px;
  margin-top: 1rem;
}

.wtd-blood-portal-close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #5d5d64;
  border-radius: 50%;
  color: #fff;
  background: #17171a;
  font-size: 1.55rem;
  line-height: 1;
  cursor: pointer;
}

.wtd-blood-portal-panel.is-standalone .wtd-blood-portal-close { display: none; }

.wtd-blood-portal-panel-head {
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  gap: 1rem;
  align-items: center;
  max-width: 1050px;
  margin-bottom: 1.5rem;
}

.wtd-blood-panel-symbol {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border: 1px solid #c11c39;
  border-radius: 50%;
  color: #ff8799;
  background: #380810;
  font-size: 2rem;
  font-weight: 900;
}

.wtd-blood-portal-panel-head h2 {
  margin: .15rem 0 .3rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4.3rem);
  line-height: .95;
}

.wtd-blood-portal-panel-head p {
  max-width: 850px;
  margin: 0;
  color: #b1b1b7;
  font-size: 1rem;
}

.wtd-blood-genre-tree {
  position: relative;
  display: grid;
  grid-template-columns: minmax(170px, 230px) 1fr;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
  min-height: 410px;
  padding: clamp(1rem, 2vw, 2rem);
  border: 1px solid #34343a;
  border-radius: 20px;
  background: radial-gradient(circle at 18% 50%, rgba(190,22,49,.18), transparent 30%), #0c0c0e;
}

.wtd-blood-genre-root {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  align-content: center;
  width: min(200px, 100%);
  aspect-ratio: 1;
  border: 2px solid #bd1b37;
  border-radius: 50%;
  background: #27070d;
  box-shadow: 0 0 50px rgba(199,23,53,.24);
  text-align: center;
}

.wtd-blood-genre-root::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  width: clamp(20px, 3vw, 55px);
  height: 2px;
  background: #8e1a2d;
}

.wtd-blood-genre-root span { color: #fff; font-size: 2.1rem; font-weight: 950; }
.wtd-blood-genre-root small { color: #aaa; }

.wtd-blood-genre-branches {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px,1fr));
  gap: .8rem;
}

.wtd-blood-genre-branch {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto;
  gap: .1rem .65rem;
  align-items: center;
  min-height: 88px;
  padding: .8rem;
  border: 1px solid #3d3d43;
  border-radius: 14px;
  color: #fff !important;
  text-decoration: none !important;
  background: #151518;
}

.wtd-blood-genre-branch::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  width: clamp(12px, 2vw, 34px);
  height: 1px;
  background: rgba(194,28,56,.55);
}

.wtd-blood-genre-branch:hover,
.wtd-blood-genre-branch:focus-visible {
  border-color: #df2b4b;
  background: #241015;
  outline: none;
}

.wtd-blood-genre-branch > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #ff8598;
  background: #490b16;
  font-weight: 900;
}

.wtd-blood-genre-branch strong { font-size: 1rem; }
.wtd-blood-genre-branch small { color: #9999a0; }

.wtd-blood-world-map {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  border: 1px solid #34343a;
  border-radius: 22px;
  background:
    radial-gradient(ellipse 22% 22% at 17% 39%, rgba(100,100,108,.34) 0 48%, transparent 50%),
    radial-gradient(ellipse 16% 28% at 28% 68%, rgba(100,100,108,.28) 0 46%, transparent 49%),
    radial-gradient(ellipse 18% 16% at 52% 36%, rgba(100,100,108,.34) 0 45%, transparent 48%),
    radial-gradient(ellipse 13% 28% at 57% 64%, rgba(100,100,108,.3) 0 45%, transparent 48%),
    radial-gradient(ellipse 23% 19% at 77% 43%, rgba(100,100,108,.31) 0 46%, transparent 49%),
    radial-gradient(ellipse 14% 12% at 86% 76%, rgba(100,100,108,.3) 0 46%, transparent 49%),
    linear-gradient(180deg, #101820, #070b0e);
  box-shadow: inset 0 0 80px rgba(0,0,0,.55);
}

.wtd-blood-world-map::before,
.wtd-blood-world-map::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.wtd-blood-world-map::before {
  opacity: .2;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 10% 20%;
}

.wtd-blood-world-map::after {
  background: radial-gradient(circle at 50% 50%, transparent 35%, rgba(0,0,0,.38));
}

.wtd-blood-map-hotspot {
  position: absolute;
  left: var(--map-x);
  top: var(--map-y);
  z-index: 3;
  transform: translate(-50%,-50%);
  display: flex;
  align-items: center;
  gap: .5rem;
  color: #fff !important;
  text-decoration: none !important;
}

.wtd-blood-map-hotspot i {
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 3px solid #ff6f86;
  border-radius: 50%;
  background: #9c1028;
  box-shadow: 0 0 0 8px rgba(222,31,65,.12), 0 0 22px rgba(242,43,77,.75);
}

.wtd-blood-map-hotspot i::after {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(255,82,111,.55);
  border-radius: 50%;
  animation: wtd-hotspot-pulse 2.3s ease-out infinite;
}

@keyframes wtd-hotspot-pulse {
  from { transform: scale(.55); opacity: 1; }
  to { transform: scale(1.55); opacity: 0; }
}

.wtd-blood-map-hotspot span {
  display: grid;
  min-width: max-content;
  padding: .38rem .55rem;
  border: 1px solid #4b4b52;
  border-radius: 9px;
  background: rgba(9,9,11,.88);
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
}

.wtd-blood-map-hotspot strong { font-size: .82rem; }
.wtd-blood-map-hotspot small { color: #aaa; font-size: .7rem; }
.wtd-blood-map-hotspot:hover span,
.wtd-blood-map-hotspot:focus-visible span { border-color: #df2a49; background: #251015; }

.wtd-blood-location-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap: .7rem;
  margin-top: .85rem;
}

.wtd-blood-location-list a {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem .9rem;
  border: 1px solid #3a3a40;
  border-radius: 12px;
  color: #fff !important;
  text-decoration: none !important;
  background: #141416;
}

.wtd-blood-location-list span { color: #999; }

.wtd-blood-era-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 0;
  align-items: start;
  min-height: 310px;
  padding: 3.7rem clamp(1rem, 3vw, 3rem) 2rem;
  border: 1px solid #34343a;
  border-radius: 22px;
  background: linear-gradient(180deg, #151519, #09090b);
}

.wtd-blood-era-rail {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 92px;
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(90deg, #620d1c, #ed2d4e, #620d1c);
  box-shadow: 0 0 18px rgba(226,34,68,.45);
}

.wtd-blood-era-line a {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: .4rem;
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
}

.wtd-blood-era-line i {
  width: 32px;
  height: 32px;
  margin-bottom: 1rem;
  border: 6px solid #121214;
  border-radius: 50%;
  background: #e32a4a;
  box-shadow: 0 0 0 2px #a41630, 0 0 20px rgba(229,40,73,.5);
}

.wtd-blood-era-line strong { font-size: clamp(1.25rem, 2vw, 2rem); }
.wtd-blood-era-line small { color: #aaa; }
.wtd-blood-era-line a:hover i,
.wtd-blood-era-line a:focus-visible i { transform: scale(1.18); background: #ff758c; }

.wtd-blood-status-gates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}

.wtd-blood-status-gate {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: end;
  min-height: 390px;
  padding: clamp(1.2rem, 2.5vw, 2.2rem);
  border: 1px solid #46464d;
  border-radius: 22px;
  color: #fff !important;
  text-decoration: none !important;
  isolation: isolate;
}

.wtd-blood-status-gate::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
}

.wtd-blood-status-gate.is-active::before {
  background:
    linear-gradient(115deg, transparent 20%, rgba(255,64,92,.18) 45%, transparent 70%),
    radial-gradient(circle at 22% 10%, rgba(255,61,91,.72), transparent 18%),
    radial-gradient(circle at 78% 10%, rgba(255,215,110,.45), transparent 18%),
    linear-gradient(180deg, #251016, #09090b 72%);
}

.wtd-blood-status-gate.is-inactive::before {
  background:
    radial-gradient(circle at 76% 18%, rgba(224,224,216,.42) 0 7%, transparent 8%),
    linear-gradient(180deg, #111821, #08090b 56%, #12110f 57%);
}

.wtd-blood-status-gate.is-inactive::after {
  content: "†   †      †    †";
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 27%;
  z-index: -1;
  color: rgba(170,170,170,.3);
  font-size: clamp(3rem, 8vw, 7rem);
  letter-spacing: .08em;
  white-space: nowrap;
}

.wtd-blood-status-gate small { color: #ff7c92; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.wtd-blood-status-gate strong { margin-top: .25rem; font-size: clamp(2rem, 4vw, 4.2rem); line-height: .9; }
.wtd-blood-status-gate em { margin-top: .5rem; color: #c2c2c7; font-style: normal; }
.wtd-blood-status-gate b { margin-top: 1rem; color: #fff; }
.wtd-blood-status-gate:hover,
.wtd-blood-status-gate:focus-visible { border-color: #e32c4b; outline: none; transform: translateY(-3px); }

.wtd-blood-featured-trails,
.wtd-blood-archive-link {
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(0,1.7fr);
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: center;
  padding: clamp(1.2rem, 2.5vw, 2.3rem);
  border: 1px solid #393940;
  border-radius: 22px;
  background: #111113;
}

.wtd-blood-featured-trails h2,
.wtd-blood-archive-link h2 { margin: .2rem 0 .4rem; color: #fff; font-size: clamp(1.8rem, 3vw, 3rem); }
.wtd-blood-featured-trails p,
.wtd-blood-archive-link p { margin: 0; color: #aaa; }

.wtd-blood-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .8rem;
}

.wtd-blood-featured-grid .wtd-blood-route-card { min-height: 132px; }

.wtd-blood-surprise-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  grid-template-rows: auto auto;
  gap: .15rem .7rem;
  align-items: center;
  min-height: 132px;
  padding: 1rem;
  border: 1px dashed #a61b31;
  border-radius: 16px;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(145deg, #2a0c13, #101012);
}

.wtd-blood-surprise-card span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #d62142;
  font-size: 1.5rem;
  font-weight: 950;
}
.wtd-blood-surprise-card small { color: #aaa; }

.wtd-blood-archive-link > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .7rem;
}

.wtd-blood-return-hub { margin: 1rem 0 0; }
.wtd-blood-return-hub a { color: #ff7890; font-weight: 800; }

.wtd-blood-status-hero {
  display: grid;
  grid-template-columns: 90px minmax(0,1fr);
  gap: 1rem;
  align-items: center;
  margin: 1rem 0 1.4rem;
  padding: clamp(1.2rem, 2.4vw, 2.2rem);
  border: 1px solid #414148;
  border-radius: 20px;
  background: #121214;
}

.wtd-blood-status-hero > span {
  display: grid;
  place-items: center;
  width: 90px;
  height: 90px;
  border: 1px solid #b51a34;
  border-radius: 50%;
  color: #ff8296;
  background: #3b0912;
  font-weight: 950;
}

.wtd-blood-status-hero h2 { margin: .15rem 0 .35rem; color: #fff; font-size: clamp(2rem, 4vw, 4rem); line-height: .95; }
.wtd-blood-status-hero p { margin: 0; color: #aaa; }

.wtd-blood-status-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px,1fr));
  gap: 1.25rem;
  align-items: end;
}

.wtd-blood-gravestone {
  padding-top: 44px;
}

.wtd-blood-gravestone a {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 280px;
  padding: 1.2rem;
  border: 1px solid #56565c;
  border-radius: 80px 80px 12px 12px;
  color: #e7e7e7 !important;
  text-align: center;
  text-decoration: none !important;
  background:
    linear-gradient(rgba(255,255,255,.04), rgba(0,0,0,.25)),
    repeating-linear-gradient(105deg, #343438 0 6px, #303034 6px 12px);
  box-shadow: 0 18px 30px rgba(0,0,0,.45), inset 0 0 30px rgba(0,0,0,.45);
}

.wtd-blood-gravestone a::before {
  content: "†";
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  color: #9b9b9f;
  font-size: 3rem;
}

.wtd-blood-gravestone small { color: #bbb; text-transform: uppercase; letter-spacing: .08em; }
.wtd-blood-gravestone strong { margin: .3rem 0; color: #fff; font-size: 1.45rem; line-height: 1.05; }
.wtd-blood-gravestone em { color: #c3c3c6; font-size: .8rem; font-style: normal; }
.wtd-blood-gravestone b { margin-top: .8rem; color: #ff889a; font-size: .78rem; }
.wtd-blood-gravestone:hover a,
.wtd-blood-gravestone:focus-within a { transform: translateY(-6px); border-color: #e02a49; }

.wtd-blood-live-poster a {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: end;
  min-height: 340px;
  padding: 1.1rem;
  border: 1px solid #46464d;
  border-radius: 16px;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(180deg, #301017, #101012);
  box-shadow: 0 18px 35px rgba(0,0,0,.4);
}

.wtd-blood-live-poster-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center;
  background-size: cover;
  opacity: .45;
}

.wtd-blood-live-poster a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 20%, rgba(5,5,7,.92) 83%);
}

.wtd-blood-live-poster small,
.wtd-blood-live-poster strong,
.wtd-blood-live-poster em,
.wtd-blood-live-poster b { position: relative; z-index: 2; }
.wtd-blood-live-poster small { color: #ff7b91; font-weight: 900; text-transform: uppercase; }
.wtd-blood-live-poster strong { font-size: 1.65rem; line-height: 1.02; }
.wtd-blood-live-poster em { color: #bbb; font-size: .82rem; font-style: normal; }
.wtd-blood-live-poster b { margin-top: .7rem; }
.wtd-blood-live-poster:hover a,
.wtd-blood-live-poster:focus-within a { transform: translateY(-5px) rotate(-.35deg); border-color: #e12a49; }

@media (max-width: 1100px) {
  .wtd-blood-portal-stage {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: auto;
    min-height: 0;
    gap: 1rem;
  }
  .wtd-blood-portal-core {
    grid-column: 1 / 3;
    grid-row: 1;
    width: 220px;
  }
  .wtd-blood-portal-button.is-sound,
  .wtd-blood-portal-button.is-place,
  .wtd-blood-portal-button.is-time,
  .wtd-blood-portal-button.is-status {
    grid-column: auto;
    grid-row: auto;
  }
  .wtd-blood-portal-branches { display: none; }
  .wtd-blood-genre-tree { grid-template-columns: 1fr; }
  .wtd-blood-genre-root { width: 150px; }
  .wtd-blood-genre-root::after,
  .wtd-blood-genre-branch::before { display: none; }
  .wtd-blood-genre-branches { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wtd-blood-featured-trails,
  .wtd-blood-archive-link { grid-template-columns: 1fr; }
  .wtd-blood-archive-link > div:last-child { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .wtd-blood-portal-hub { min-height: 0; padding: 1rem; border-radius: 18px; }
  .wtd-blood-portal-heading { text-align: left; }
  .wtd-blood-portal-heading h2 { font-size: clamp(2.2rem, 13vw, 3.6rem); }
  .wtd-blood-portal-stage { grid-template-columns: 1fr; }
  .wtd-blood-portal-core { grid-column: 1; width: 175px; }
  .wtd-blood-portal-button { min-height: 132px; grid-template-columns: 54px 1fr; }
  .wtd-blood-portal-icon { width: 54px; height: 54px; font-size: 1.35rem; }
  .wtd-blood-portal-button em { font-size: .82rem; }
  .wtd-blood-portal-panel { padding: 1rem; border-radius: 16px; }
  .wtd-blood-portal-panel-head { grid-template-columns: 58px 1fr; padding-right: 2.3rem; }
  .wtd-blood-panel-symbol { width: 58px; height: 58px; font-size: 1.4rem; }
  .wtd-blood-genre-branches { grid-template-columns: 1fr; }
  .wtd-blood-world-map { min-height: 560px; }
  .wtd-blood-map-hotspot span { display: none; }
  .wtd-blood-map-hotspot:focus span,
  .wtd-blood-map-hotspot:hover span { display: grid; position: absolute; left: 24px; top: -18px; }
  .wtd-blood-era-line {
    grid-template-columns: 1fr;
    gap: .65rem;
    min-height: 0;
    padding: 1rem;
  }
  .wtd-blood-era-rail { left: 28px; right: auto; top: 2rem; bottom: 2rem; width: 4px; height: auto; }
  .wtd-blood-era-line a { grid-template-columns: 38px 1fr auto; justify-items: start; text-align: left; }
  .wtd-blood-era-line i { margin: 0; }
  .wtd-blood-status-gates { grid-template-columns: 1fr; }
  .wtd-blood-status-gate { min-height: 310px; }
  .wtd-blood-featured-grid { grid-template-columns: 1fr; }
  .wtd-blood-status-hero { grid-template-columns: 64px 1fr; }
  .wtd-blood-status-hero > span { width: 64px; height: 64px; font-size: .8rem; }
  .wtd-blood-status-picker-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .wtd-blood-map-hotspot i::after { animation: none; }
  .wtd-blood-portal-button,
  .wtd-blood-status-gate,
  .wtd-blood-gravestone a,
  .wtd-blood-live-poster a { transition: none; }
}

/* Focused Bloodlines story view and portal polish, v11.10.1 */
.wtd-blood-portal-hub {
  min-height: 650px;
}

.wtd-blood-portal-heading {
  max-width: 1080px;
  margin-bottom: clamp(.8rem, 1.5vw, 1.25rem);
}

.wtd-blood-portal-heading h2 {
  max-width: 1000px;
  margin-inline: auto;
  font-size: clamp(2.45rem, 4vw, 4.7rem);
  line-height: .98;
}

.wtd-blood-portal-stage {
  grid-template-columns: minmax(280px, 1fr) minmax(230px, 290px) minmax(280px, 1fr);
  gap: clamp(1rem, 2vw, 1.7rem) clamp(1.5rem, 3.2vw, 4rem);
  min-height: 430px;
  max-width: 1370px;
}

.wtd-blood-portal-core {
  width: clamp(205px, 17vw, 270px);
  padding: 1.15rem;
}

.wtd-blood-portal-core strong {
  font-size: clamp(1.9rem, 2.8vw, 3rem);
}

.wtd-blood-portal-button {
  grid-template-rows: 1fr auto;
  min-height: 158px;
  padding: 1.05rem 1.1rem .9rem;
}

.wtd-blood-portal-button > span:nth-child(2) {
  align-self: center;
}

.wtd-blood-portal-button b {
  position: static;
  grid-column: 2;
  justify-self: end;
  align-self: end;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: .25rem .65rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
}

.wtd-blood-infographic-shell.has-focus {
  background: linear-gradient(145deg, rgba(19,19,22,.99), rgba(7,7,9,.99));
}

.wtd-blood-infographic-intro.is-focused h2 {
  font-size: clamp(2.2rem, 4.2vw, 4.6rem);
}

.wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-zoom-controls {
  display: none;
}

.wtd-blood-story-nav {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: .25rem .45rem;
  border: 1px solid #45454c;
  border-radius: 999px;
  background: #101012;
}

.wtd-blood-story-nav[hidden] {
  display: none !important;
}

.wtd-blood-story-nav button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #5b5b63;
  border-radius: 50%;
  color: #fff;
  background: #1b1b1f;
  cursor: pointer;
}

.wtd-blood-story-nav button:disabled {
  opacity: .3;
  cursor: default;
}

.wtd-blood-story-nav span {
  min-width: 126px;
  color: #f0f0f2;
  font-size: .82rem;
  font-weight: 900;
  text-align: center;
}

.wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
  height: clamp(700px, 72vh, 880px);
  cursor: default;
  background:
    radial-gradient(circle at 18% 50%, rgba(191,23,51,.14), transparent 24%),
    radial-gradient(circle at 76% 50%, rgba(191,23,51,.08), transparent 30%),
    #09090b;
}

.wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg {
  cursor: default;
}

.wtd-story-background {
  fill: #09090b;
}

.wtd-story-column-title {
  fill: #ff7b91;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: 1.4px;
}

.wtd-story-column-subtitle {
  fill: #8f8f98;
  font-size: 13px;
  font-weight: 700;
}

.wtd-story-edge {
  fill: none;
  stroke: #6e6e76;
  stroke-width: 2.2;
  opacity: .58;
  transition: opacity .18s ease, stroke-width .18s ease, stroke .18s ease;
}

.wtd-story-edge.is-current_member {
  stroke: #d72a47;
}

.wtd-story-edge.is-former_member {
  stroke: #85858e;
  stroke-dasharray: 7 5;
}

.wtd-story-edge.is-touring_member,
.wtd-story-edge.is-session_member {
  stroke: #d2873d;
  stroke-dasharray: 4 5;
}

.wtd-story-edge.is-side_project,
.wtd-story-edge.is-solo_project {
  stroke: #a760c7;
}

.wtd-story-edge.is-selected {
  stroke: #ff3655;
  stroke-width: 5;
  opacity: 1;
  filter: drop-shadow(0 0 8px rgba(255,54,85,.48));
}

.wtd-story-edge.is-outer {
  opacity: .9;
  stroke-width: 3;
}

.wtd-story-card {
  cursor: pointer;
  outline: none;
}

.wtd-story-card rect,
.wtd-story-empty rect {
  fill: #151518;
  stroke: #424249;
  stroke-width: 1.5;
  transition: fill .18s ease, stroke .18s ease, transform .18s ease;
}

.wtd-story-card:hover rect,
.wtd-story-card:focus-visible rect {
  fill: #241015;
  stroke: #ef3655;
  stroke-width: 2.5;
}

.wtd-story-card.is-root rect {
  fill: #26080e;
  stroke: #d12543;
  stroke-width: 2.5;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.42));
}

.wtd-story-card.is-selected rect {
  fill: #351018;
  stroke: #ff4561;
  stroke-width: 3;
  filter: drop-shadow(0 0 12px rgba(255,54,85,.32));
}

.wtd-story-card.is-destination rect {
  fill: #111114;
  stroke: #55555e;
}

.wtd-story-card-eyebrow {
  fill: #ff7a90;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 1.2px;
}

.wtd-story-card-title {
  fill: #fff;
  font-size: 20px;
  font-weight: 950;
  paint-order: stroke;
  stroke: rgba(0,0,0,.6);
  stroke-width: 2px;
}

.wtd-story-card.is-root .wtd-story-card-title {
  font-size: 29px;
}

.wtd-story-card-meta {
  fill: #bcbcc2;
  font-size: 13px;
  font-weight: 650;
}

.wtd-story-card-footer {
  fill: #ff7188;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .2px;
}

.wtd-story-empty rect {
  fill: #101012;
  stroke-dasharray: 7 6;
}

.wtd-blood-infographic-detail {
  scrollbar-width: thin;
  scrollbar-color: #8d1b30 #161619;
}

.wtd-blood-infographic-detail::-webkit-scrollbar {
  width: 9px;
}

.wtd-blood-infographic-detail::-webkit-scrollbar-track {
  background: #161619;
}

.wtd-blood-infographic-detail::-webkit-scrollbar-thumb {
  border: 2px solid #161619;
  border-radius: 999px;
  background: #8d1b30;
}

.wtd-blood-detail-prompt {
  display: grid;
  gap: .25rem;
  margin: .85rem 0;
  padding: .85rem;
  border: 1px solid #5a2530;
  border-radius: 12px;
  background: #231016;
}

.wtd-blood-detail-prompt strong {
  color: #fff;
}

.wtd-blood-detail-prompt span,
.wtd-blood-detail-more {
  color: #aaaab1;
  font-size: .82rem;
  line-height: 1.45;
}

.wtd-blood-follow-button {
  width: 100%;
  margin: .8rem 0 .55rem;
  padding: .7rem .85rem;
  border: 1px solid #b4213b;
  border-radius: 10px;
  color: #fff;
  background: #5d0c1a;
  font-weight: 900;
  cursor: pointer;
}

.wtd-blood-follow-button:hover,
.wtd-blood-follow-button:focus-visible {
  background: #8d1026;
  outline: 2px solid rgba(255,255,255,.15);
}

@media (max-width: 1100px) {
  .wtd-blood-portal-stage {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
    height: 690px;
  }
}

@media (max-width: 760px) {
  .wtd-blood-portal-heading h2 {
    font-size: clamp(2.15rem, 12vw, 3.35rem);
  }
  .wtd-blood-portal-button {
    min-height: 140px;
  }
  .wtd-blood-portal-button b {
    grid-column: 2;
  }
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
    overflow-x: auto;
    overflow-y: hidden;
    height: 600px;
  }
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg {
    width: 1060px;
    min-width: 1060px;
    height: 600px;
  }
  .wtd-blood-story-nav {
    order: 10;
    width: 100%;
    justify-content: center;
  }
}

.wtd-blood-focused-intro {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .85rem;
  align-items: center;
  margin: 1rem 0;
  padding: .9rem 1rem;
  border: 1px solid #4f2830;
  border-radius: 14px;
  background: linear-gradient(90deg, #260b12, #111114);
}
.wtd-blood-focused-intro strong {
  color: #fff;
  white-space: nowrap;
}
.wtd-blood-focused-intro span {
  color: #b6b6bc;
}
@media (max-width: 760px) {
  .wtd-blood-focused-intro { grid-template-columns: 1fr; }
  .wtd-blood-focused-intro strong { white-space: normal; }
}

/* Bloodlines band-to-band aggregation */
.wtd-story-edge.is-shared-band {
  opacity: .82;
}

.wtd-story-edge.is-shared-band.is-major,
.wtd-story-edge.is-shared-member.is-major {
  stroke: #ff3655;
  stroke-width: 5;
  filter: drop-shadow(0 0 8px rgba(255,54,85,.34));
}

.wtd-story-edge.is-shared-band.is-strong,
.wtd-story-edge.is-shared-member.is-strong {
  stroke: #d72a47;
  stroke-width: 3.6;
}

.wtd-story-edge.is-shared-band.is-single,
.wtd-story-edge.is-shared-member.is-single {
  stroke: #777780;
  stroke-width: 2.4;
}

.wtd-story-card.is-connection rect {
  fill: #151518;
  stroke: #55555e;
  stroke-width: 2;
}

.wtd-story-card.is-connection.is-major rect {
  fill: #2c0b12;
  stroke: #ff3655;
  stroke-width: 3;
  filter: drop-shadow(0 0 14px rgba(255,54,85,.28));
}

.wtd-story-card.is-connection.is-strong rect {
  fill: #241016;
  stroke: #d72a47;
  stroke-width: 2.5;
}

.wtd-story-card.is-connection.is-single rect {
  fill: #151518;
  stroke: #55555e;
}

.wtd-story-card.is-shared-person rect {
  fill: #111114;
  stroke: #62626b;
}

.wtd-blood-connection-insight {
  border-color: #8d1b30;
  background: linear-gradient(135deg, #2d0c14, #1c1014);
}

.wtd-blood-shared-member-list .wtd-blood-shared-role {
  color: #ff8ca0;
  font-weight: 750;
}

.wtd-blood-shared-band-summary {
  margin: 1.25rem 0 0;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid #34343a;
  border-radius: 18px;
  background: #111114;
}

.wtd-blood-shared-band-summary h3 {
  margin: .15rem 0 .35rem;
  color: #fff;
}

.wtd-blood-shared-band-summary > p {
  margin: 0 0 1rem;
  color: #b8b8bf;
}

.wtd-blood-shared-band-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: .85rem;
}

.wtd-blood-shared-band-card {
  padding: 1rem;
  border: 1px solid #34343a;
  border-radius: 14px;
  background: #18181b;
}

.wtd-blood-shared-band-card.is-major {
  border-color: #b4213b;
  background: linear-gradient(145deg, #2b0d14, #18181b 72%);
}

.wtd-blood-shared-band-card h4 {
  margin: .2rem 0 .25rem;
  font-size: 1.05rem;
}

.wtd-blood-shared-band-card h4 a {
  color: #fff;
  text-decoration: none;
}

.wtd-blood-shared-band-card h4 a:hover,
.wtd-blood-shared-band-card h4 a:focus-visible {
  color: #ff8ca0;
}

.wtd-blood-shared-band-card .wtd-shared-count {
  display: inline-block;
  margin-bottom: .55rem;
  color: #ff7188;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.wtd-blood-shared-band-card p {
  margin: 0;
  color: #b8b8bf;
  font-size: .88rem;
  line-height: 1.5;
}

.wtd-blood-shared-band-card p a {
  color: #eee;
}


/* Bloodlines usability polish, v11.10.4 */
.wtd-blood-portal-core { overflow: hidden; }
.wtd-blood-portal-core-inner {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 100%; min-width: 0; text-align: center;
}
.wtd-blood-portal-core-inner > strong {
  display: block; width: 100%; max-width: 100%; margin: 0; padding: 0 .15rem;
  font-size: clamp(1.72rem, 2.35vw, 2.55rem); line-height: 1; letter-spacing: -.045em;
  text-align: center; white-space: nowrap;
}
.wtd-blood-portal-core-inner > small { display: block; width: 100%; text-align: center; }
.wtd-blood-tool-button.is-clear-search { border-color: #66666f; background: #101012; color: #f0f0f2; }
.wtd-blood-tool-button.is-clear-search:hover,
.wtd-blood-tool-button.is-clear-search:focus-visible { border-color: #ff5b74; background: #251017; }
.wtd-family-grid text { font-size: 15px; }
.wtd-family-band-label text { font-size: 16px; }
.wtd-family-person text { font-size: 14px; }
.wtd-infographic-map-node text { font-size: 16px; }
.wtd-infographic-map-edges path { stroke-width: 1.8; }
.wtd-infographic-map-node circle { stroke-width: 2; }
.wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas,
.wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas { min-height: 760px; }
@media (max-width: 760px) {
  .wtd-blood-portal-core-inner > strong { font-size: 1.72rem; }
  .wtd-blood-tool-button.is-clear-search { flex: 1 1 auto; }
}

/* Bloodlines readable timeline and focused network, v11.10.5 */
.wtd-focused-timeline-background,
.wtd-focused-network-background {
  fill: #09090b;
}

.wtd-visual-prompt rect {
  fill: #141417;
  stroke: #45454d;
  stroke-width: 2;
  filter: drop-shadow(0 24px 50px rgba(0,0,0,.38));
}
.wtd-visual-prompt-kicker {
  fill: #ff7188;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: 1.8px;
}
.wtd-visual-prompt-title {
  fill: #fff;
  font-size: 42px;
  font-weight: 950;
}
.wtd-visual-prompt-copy {
  fill: #b7b7be;
  font-size: 18px;
  font-weight: 700;
}

.wtd-focused-timeline-kicker,
.wtd-focused-network-title {
  fill: #ff7188;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: 1.5px;
}
.wtd-focused-timeline-title {
  fill: #fff;
  font-size: 38px;
  font-weight: 950;
}
.wtd-focused-timeline-subtitle,
.wtd-focused-network-subtitle {
  fill: #b2b2ba;
  font-size: 16px;
  font-weight: 700;
}
.wtd-focused-network-title {
  fill: #fff;
  font-size: 30px;
  letter-spacing: 0;
}

.wtd-focused-timeline-grid line {
  stroke: #29292f;
  stroke-width: 1.2;
}
.wtd-focused-timeline-grid line.is-decade {
  stroke: #484851;
  stroke-width: 1.8;
}
.wtd-focused-timeline-grid line.is-unknown {
  stroke: #70404a;
  stroke-dasharray: 6 6;
}
.wtd-focused-timeline-grid text {
  fill: #9f9fa8;
  font-size: 15px;
  font-weight: 850;
}
.wtd-focused-timeline-grid .is-unknown-label {
  fill: #c88691;
  font-size: 13px;
}

.wtd-focused-timeline-lane {
  cursor: pointer;
  outline: none;
}
.wtd-focused-timeline-row-bg {
  fill: rgba(255,255,255,.018);
  stroke: rgba(255,255,255,.045);
  stroke-width: 1;
}
.wtd-focused-timeline-lane:nth-child(even) .wtd-focused-timeline-row-bg {
  fill: rgba(255,255,255,.032);
}
.wtd-focused-timeline-name-card {
  fill: #17171a;
  stroke: #4d4d55;
  stroke-width: 1.5;
}
.wtd-focused-timeline-name {
  fill: #fff;
  font-size: 18px;
  font-weight: 950;
}
.wtd-focused-timeline-meta {
  fill: #b8b8bf;
  font-size: 12.5px;
  font-weight: 750;
}
.wtd-focused-timeline-bar {
  stroke: #e23856;
  stroke-width: 12;
  stroke-linecap: round;
  filter: drop-shadow(0 0 5px rgba(226,56,86,.28));
}
.wtd-focused-timeline-dot,
.wtd-focused-timeline-end {
  fill: #fff;
  stroke: #e23856;
  stroke-width: 3;
}
.wtd-focused-timeline-dates {
  fill: #f1f1f3;
  font-size: 13px;
  font-weight: 900;
}
.wtd-focused-timeline-lane.is-former_member .wtd-focused-timeline-bar {
  stroke: #8f8f98;
  stroke-dasharray: 12 8;
  filter: none;
}
.wtd-focused-timeline-lane.is-former_member .wtd-focused-timeline-dot,
.wtd-focused-timeline-lane.is-former_member .wtd-focused-timeline-end {
  stroke: #8f8f98;
}
.wtd-focused-timeline-lane.is-touring_member .wtd-focused-timeline-bar,
.wtd-focused-timeline-lane.is-session_member .wtd-focused-timeline-bar {
  stroke: #dc9148;
  stroke-dasharray: 5 7;
}
.wtd-focused-timeline-lane.is-side_project .wtd-focused-timeline-bar {
  stroke: #b268d0;
}
.wtd-focused-timeline-lane.is-guest .wtd-focused-timeline-bar {
  stroke: #67b488;
  stroke-dasharray: 9 6;
}
.wtd-focused-timeline-lane:hover .wtd-focused-timeline-row-bg,
.wtd-focused-timeline-lane:focus-visible .wtd-focused-timeline-row-bg,
.wtd-focused-timeline-lane.is-selected .wtd-focused-timeline-row-bg {
  fill: rgba(146,14,37,.18);
  stroke: #e33452;
  stroke-width: 2;
}
.wtd-focused-timeline-lane:hover .wtd-focused-timeline-name-card,
.wtd-focused-timeline-lane:focus-visible .wtd-focused-timeline-name-card,
.wtd-focused-timeline-lane.is-selected .wtd-focused-timeline-name-card {
  fill: #351018;
  stroke: #ff5a73;
  stroke-width: 2.5;
}
.wtd-focused-timeline-extra rect {
  fill: #241016;
  stroke: #a92139;
  stroke-width: 1.5;
}
.wtd-focused-timeline-extra text {
  fill: #ff8ca0;
  font-size: 12px;
  font-weight: 900;
}

.wtd-focused-network-edge {
  fill: none;
  stroke: #a22a3e;
  opacity: .82;
  stroke-linecap: round;
  filter: drop-shadow(0 0 5px rgba(196,34,61,.22));
  transition: stroke .18s ease, opacity .18s ease;
}
.wtd-focused-network-edge.is-single {
  stroke: #78666b;
  opacity: .7;
}
.wtd-focused-network-edge.is-strong {
  stroke: #df3c59;
}
.wtd-focused-network-edge.is-major,
.wtd-focused-network-edge.is-selected {
  stroke: #ff3554;
  opacity: 1;
  filter: drop-shadow(0 0 8px rgba(255,53,84,.42));
}
.wtd-focused-network-edge-label rect {
  fill: #19191c;
  stroke: #5b323a;
  stroke-width: 1.5;
}
.wtd-focused-network-edge-label text {
  fill: #f7c5cd;
  font-size: 13px;
  font-weight: 950;
}
.wtd-story-card.is-network-card rect {
  fill: #151518;
  stroke-width: 2;
}
.wtd-story-card.is-network-card.is-single rect {
  stroke: #55555d;
}
.wtd-story-card.is-network-card.is-strong rect {
  stroke: #d43a55;
}
.wtd-story-card.is-network-card.is-major rect {
  fill: #2d0a12;
  stroke: #ff3857;
  filter: drop-shadow(0 0 16px rgba(255,56,87,.22));
}
.wtd-story-card.is-network-root rect {
  fill: #2c0810;
  stroke: #e33452;
}

.wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas,
.wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas {
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at 42% 40%, rgba(116,14,31,.12), transparent 42%),
    #09090b;
  background-size: 42px 42px, 42px 42px, auto, auto;
}

@media (max-width: 1050px) {
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas {
    overflow-x: auto;
    overflow-y: hidden;
  }
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas svg,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas svg {
    min-width: 1100px;
  }
}

@media (max-width: 700px) {
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas svg,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas svg {
    min-width: 980px;
  }
}

/* Bloodlines search-to-visual handoff, v11.10.8 */
.wtd-blood-explorer-count .wtd-blood-auto-opened {
  display: inline-flex;
  align-items: center;
  margin-left: .75rem;
  padding: .32rem .65rem;
  border: 1px solid rgba(239, 51, 79, .55);
  border-radius: 999px;
  background: rgba(120, 10, 29, .34);
  color: #fff;
  font-weight: 800;
}
.wtd-blood-focus-banner.is-auto-focused {
  border-color: rgba(239, 51, 79, .8);
  background: linear-gradient(135deg, rgba(111, 8, 25, .94), rgba(20, 20, 20, .98));
}
@media (max-width: 700px) {
  .wtd-blood-explorer-count .wtd-blood-auto-opened {
    display: flex;
    width: fit-content;
    margin: .55rem 0 0;
  }
}

/* Bloodlines true mobile layout, v11.10.11 */
@media (max-width: 760px) {
  .wtd-blood-discovery,
  .wtd-blood-discovery *,
  .wtd-blood-infographic-shell,
  .wtd-blood-infographic-shell * {
    box-sizing: border-box;
  }

  .wtd-blood-discovery,
  .wtd-blood-discovery.is-portal-home,
  .wtd-blood-portal-hub,
  .wtd-blood-portal-stage,
  .wtd-blood-portal-panels,
  .wtd-blood-portal-panel {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .wtd-blood-portal-hub {
    min-height: 0;
    padding: .85rem;
    border-radius: 18px;
    overflow: hidden;
  }

  .wtd-blood-portal-heading {
    margin-bottom: 1rem;
    text-align: left;
  }

  .wtd-blood-portal-heading h2 {
    margin-top: .2rem;
    font-size: clamp(2.05rem, 11vw, 3.15rem);
    line-height: 1;
    overflow-wrap: normal;
    word-break: normal;
  }

  .wtd-blood-portal-heading p {
    font-size: 1rem;
    line-height: 1.55;
  }

  /* Override the later tablet two-column rule. */
  .wtd-blood-portal-stage {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: .85rem;
    min-height: 0;
    margin: 0;
  }

  .wtd-blood-portal-branches {
    display: none !important;
  }

  .wtd-blood-portal-core {
    order: 0;
    align-self: center;
    grid-column: auto !important;
    grid-row: auto !important;
    width: min(238px, 76vw);
    max-width: 100%;
    margin: .1rem auto .35rem;
    padding: 1rem;
  }

  .wtd-blood-portal-core span {
    width: 58px;
    height: 58px;
  }

  .wtd-blood-portal-core-inner > strong {
    font-size: clamp(1.7rem, 9vw, 2.25rem);
    letter-spacing: -.035em;
  }

  .wtd-blood-portal-core-inner > small {
    margin-top: .6rem;
    font-size: .78rem;
    line-height: 1.35;
    white-space: normal;
  }

  .wtd-blood-portal-button,
  .wtd-blood-portal-button.is-sound,
  .wtd-blood-portal-button.is-place,
  .wtd-blood-portal-button.is-time,
  .wtd-blood-portal-button.is-status {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 1rem;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: .4rem .9rem;
    align-items: center;
    border-radius: 17px;
  }

  .wtd-blood-portal-button.is-sound { order: 1; }
  .wtd-blood-portal-button.is-place { order: 2; }
  .wtd-blood-portal-button.is-time { order: 3; }
  .wtd-blood-portal-button.is-status { order: 4; }

  .wtd-blood-portal-icon {
    grid-row: 1 / 3;
    width: 58px;
    height: 58px;
    font-size: 1.45rem;
  }

  .wtd-blood-portal-button > span:nth-child(2) {
    min-width: 0;
    gap: .2rem;
  }

  .wtd-blood-portal-button small,
  .wtd-blood-portal-button strong,
  .wtd-blood-portal-button em,
  .wtd-blood-portal-button b {
    overflow-wrap: normal;
    word-break: normal;
  }

  .wtd-blood-portal-button strong {
    font-size: 1.7rem;
    line-height: 1.05;
  }

  .wtd-blood-portal-button em {
    font-size: .96rem;
    line-height: 1.45;
  }

  .wtd-blood-portal-button b {
    position: static;
    grid-column: 2;
    justify-self: start;
    min-height: 36px;
    padding: .42rem .8rem;
    font-size: .85rem;
  }

  .wtd-blood-portal-panels {
    margin-top: .9rem;
  }

  .wtd-blood-portal-panel {
    padding: 1rem .9rem;
    border-radius: 17px;
    overflow: hidden;
  }

  .wtd-blood-portal-close {
    top: .75rem;
    right: .75rem;
    width: 44px;
    height: 44px;
  }

  .wtd-blood-portal-panel-head {
    grid-template-columns: 1fr;
    gap: .75rem;
    align-items: start;
    padding-right: 3.25rem;
    margin-bottom: 1rem;
  }

  .wtd-blood-panel-symbol {
    width: 62px;
    height: 62px;
    font-size: 1.5rem;
  }

  .wtd-blood-portal-panel-head h2 {
    max-width: 100%;
    margin: .2rem 0 .45rem;
    font-size: clamp(2rem, 10vw, 2.75rem);
    line-height: 1.02;
    overflow-wrap: normal;
    word-break: normal;
  }

  .wtd-blood-portal-panel-head p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .wtd-blood-status-gates {
    grid-template-columns: 1fr !important;
    gap: .9rem;
  }

  .wtd-blood-status-gate {
    min-height: 230px;
    padding: 1.2rem;
    border-radius: 18px;
  }

  .wtd-blood-status-gate strong {
    font-size: clamp(2rem, 10vw, 2.8rem);
    line-height: 1;
  }

  .wtd-blood-status-gate em {
    font-size: .98rem;
    line-height: 1.5;
  }

  .wtd-blood-genre-tree,
  .wtd-blood-featured-trails,
  .wtd-blood-archive-link,
  .wtd-blood-status-hero {
    width: 100%;
    min-width: 0;
  }

  /* Interactive viewer: make controls tap-friendly and keep the visual readable. */
  .wtd-blood-infographic-shell {
    width: 100%;
    margin: 1rem 0 1.5rem;
    padding: .65rem;
    border-radius: 16px;
    overflow: hidden;
  }

  .wtd-blood-infographic-intro {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
    padding: .25rem .2rem .85rem;
  }

  .wtd-blood-infographic-intro h2,
  .wtd-blood-infographic-intro.is-focused h2 {
    font-size: clamp(2rem, 11vw, 3.25rem);
    line-height: .98;
    overflow-wrap: anywhere;
  }

  .wtd-blood-infographic-intro p {
    font-size: .98rem;
    line-height: 1.5;
  }

  .wtd-blood-infographic-stats {
    width: 100%;
    min-width: 0;
    grid-template-columns: auto 1fr auto 1fr;
    align-items: center;
    margin: 0;
  }

  .wtd-blood-infographic-toolbar {
    position: static !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    padding: .7rem;
    border-radius: 14px;
  }

  .wtd-blood-view-switch {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    padding: 3px;
    border-radius: 14px;
  }

  .wtd-blood-view-switch button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: .5rem .35rem;
    border-radius: 11px;
    font-size: .8rem;
    line-height: 1.15;
    white-space: normal;
  }

  .wtd-blood-focus-control {
    grid-column: 1 / -1;
    max-width: none;
    min-width: 0;
  }

  .wtd-blood-focus-control input {
    min-height: 48px;
    font-size: 1rem;
  }

  .wtd-blood-tool-button {
    width: 100%;
    min-height: 44px;
    padding: .55rem .5rem;
    white-space: normal;
    line-height: 1.15;
  }

  .wtd-blood-story-nav,
  .wtd-blood-zoom-controls {
    grid-column: 1 / -1;
    width: 100%;
  }

  .wtd-blood-zoom-controls {
    display: grid;
    grid-template-columns: 48px 48px minmax(0, 1fr);
    border-radius: 13px;
  }

  .wtd-blood-infographic-stage {
    display: grid;
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-detail {
    width: 100%;
    min-width: 0;
  }

  .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas {
    height: 520px;
    min-height: 520px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg,
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas svg,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas svg {
    width: 900px;
    min-width: 900px;
    height: 520px;
  }

  .wtd-blood-infographic-help {
    position: sticky;
    left: .5rem;
    bottom: .5rem;
    width: fit-content;
    max-width: calc(100vw - 3rem);
    font-size: .72rem;
  }

  .wtd-blood-infographic-detail {
    height: auto;
    max-height: 360px;
    padding: 1rem;
  }

  .wtd-blood-infographic-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }

  .wtd-blood-infographic-note {
    line-height: 1.45;
  }
}

@media (max-width: 420px) {
  .wtd-blood-portal-hub {
    padding: .7rem;
  }

  .wtd-blood-portal-core {
    width: min(220px, 72vw);
  }

  .wtd-blood-portal-button {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: .35rem .75rem;
    padding: .9rem;
  }

  .wtd-blood-portal-icon {
    width: 52px;
    height: 52px;
  }

  .wtd-blood-portal-button strong {
    font-size: 1.55rem;
  }

  .wtd-blood-infographic-shell {
    padding: .5rem;
  }

  .wtd-blood-view-switch button {
    font-size: .74rem;
  }

  .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas {
    height: 480px;
    min-height: 480px;
  }

  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg,
  .wtd-blood-infographic-shell[data-active-mode="tree"] .wtd-blood-infographic-canvas svg,
  .wtd-blood-infographic-shell[data-active-mode="map"] .wtd-blood-infographic-canvas svg {
    min-width: 820px;
    width: 820px;
    height: 480px;
  }
}

/* Bloodlines public renderer repair, v11.16.57 */
.wtd-blood-render-status {
  margin: 1rem 0; padding: .85rem 1rem; border: 1px solid #45454d; border-radius: 12px;
  color: #d8d8dd; background: #151518; font-size: .92rem;
}
.wtd-blood-render-status.is-error { border-color: #b92a43; color: #ffd7dd; background: #2a0d13; }
.wtd-blood-render-status[hidden] { display: none !important; }
.wtd-blood-infographic-shell.has-render-error .wtd-blood-infographic-stage { display: none; }
.wtd-blood-band-choice-image, .wtd-blood-live-poster-image { overflow: hidden; }
.wtd-blood-band-choice-image img, .wtd-blood-live-poster-image img {
  display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center;
}
.wtd-blood-live-poster-image.is-placeholder { display: grid; place-items: center; background: linear-gradient(145deg,#600d1b,#161619); }
.wtd-blood-live-poster-image.is-placeholder b { color: #ff9aaa; font-size: 1.5rem; }

/* Guided family-tree Story view, v11.16.60 */
.wtd-story-edge.is-root-member {
  stroke: #74747d;
  stroke-width: 2.4;
  opacity: .72;
}

.wtd-story-edge.is-member-band {
  stroke: #777780;
  stroke-width: 2.5;
  opacity: .62;
}

.wtd-story-edge.is-member-band.is-major {
  stroke: #ff3655;
  stroke-width: 4.5;
}

.wtd-story-edge.is-member-band.is-strong {
  stroke: #d72a47;
  stroke-width: 3.4;
}

.wtd-story-edge.is-selected-route {
  stroke: #ff3655;
  stroke-width: 5;
  opacity: 1;
  filter: drop-shadow(0 0 8px rgba(255,54,85,.42));
}

.wtd-story-edge.is-muted-route {
  opacity: .2;
}

.wtd-story-card.is-linking-person rect {
  fill: #111114;
  stroke: #595962;
  stroke-width: 1.7;
}

.wtd-story-card.is-linking-person .wtd-story-card-title {
  font-size: 18px;
}

.wtd-story-card.is-linking-person .wtd-story-card-meta {
  font-size: 11.5px;
}

.wtd-story-card.is-linking-person .wtd-story-card-footer {
  font-size: 10px;
}

.wtd-story-card.is-selected-member rect {
  fill: #291016;
  stroke: #ef3655;
  stroke-width: 2.6;
  filter: drop-shadow(0 0 10px rgba(255,54,85,.24));
}

.wtd-story-card.is-muted-member,
.wtd-story-card.is-muted-band {
  opacity: .64;
}

.wtd-story-card.is-muted-member:hover,
.wtd-story-card.is-muted-member:focus-visible,
.wtd-story-card.is-muted-band:hover,
.wtd-story-card.is-muted-band:focus-visible {
  opacity: 1;
}

.wtd-story-empty.is-member-summary rect {
  fill: #101012;
  stroke: #4c4c54;
}

.wtd-story-empty.is-member-summary .wtd-story-card-title {
  font-size: 16px;
}

@media (max-width: 760px) {
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
    height: 660px;
    min-height: 660px;
  }

  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg {
    width: 1060px;
    min-width: 1060px;
    height: 660px;
  }
}

@media (max-width: 420px) {
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
    height: 610px;
    min-height: 610px;
  }

  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg {
    width: 980px;
    min-width: 980px;
    height: 610px;
  }
}


/* One-generation continuation for guided Story view, v11.16.61 */
.wtd-story-edge.is-next-branch {
  stroke: #b62a43;
  stroke-width: 3;
  opacity: .86;
}
.wtd-story-edge.is-next-branch.is-major {
  stroke: #ff3655;
  stroke-width: 4.5;
}
.wtd-story-edge.is-next-branch.is-strong {
  stroke: #d72a47;
  stroke-width: 3.7;
}
.wtd-story-card.is-next-branch rect {
  fill: #121215;
  stroke: #7b2637;
  stroke-width: 1.8;
}
.wtd-story-card.is-next-branch:hover rect,
.wtd-story-card.is-next-branch:focus-visible rect {
  fill: #281018;
  stroke: #ff4561;
}
.wtd-story-card.is-next-branch .wtd-story-card-title {
  font-size: 18px;
}
.wtd-story-card.is-next-branch .wtd-story-card-meta {
  font-size: 11.5px;
}
.wtd-story-empty.is-next-summary rect {
  fill: #0e0e10;
  stroke: #3f3f46;
}
.wtd-story-empty.is-next-summary .wtd-story-card-title {
  font-size: 17px;
}

/* Complete progressive family tree, v11.16.62 */
.wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
  overflow: auto;
  scrollbar-color: #7d2638 #111114;
  scrollbar-width: thin;
}
.wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas svg {
  width: var(--wtd-story-width, 1310px);
  min-width: var(--wtd-story-width, 1310px);
  height: var(--wtd-story-height, 760px);
  min-height: var(--wtd-story-height, 760px);
  max-width: none;
}
.wtd-story-edge.is-root-member,
.wtd-story-edge.is-selected-band-member {
  stroke: #63636c;
  stroke-width: 2;
  opacity: .68;
}
.wtd-story-edge.is-root-member.has-continuation,
.wtd-story-edge.is-selected-band-member.has-continuation {
  stroke: #a72b40;
  stroke-width: 2.7;
  opacity: .9;
}
.wtd-story-edge.is-terminal-route {
  stroke: #4a4a52;
  stroke-width: 1.7;
  opacity: .45;
}
.wtd-story-edge.is-member-band,
.wtd-story-edge.is-further-band {
  stroke: #b72d46;
  stroke-width: 2.8;
  opacity: .82;
}
.wtd-story-edge.is-member-band.is-selected-route {
  stroke: #ff3655;
  stroke-width: 4.5;
  opacity: 1;
  filter: drop-shadow(0 0 7px rgba(255,54,85,.38));
}
.wtd-story-card.is-all-member rect,
.wtd-story-card.is-selected-band-member rect {
  fill: #111114;
  stroke: #55555e;
  stroke-width: 1.45;
}
.wtd-story-card.is-all-member .wtd-story-card-title,
.wtd-story-card.is-selected-band-member .wtd-story-card-title {
  font-size: 15px;
}
.wtd-story-card.is-all-member .wtd-story-card-meta,
.wtd-story-card.is-selected-band-member .wtd-story-card-meta {
  font-size: 10.5px;
}
.wtd-story-card.is-terminal-member {
  opacity: .72;
}
.wtd-story-card.is-terminal-member rect {
  fill: #0d0d0f;
  stroke: #3e3e45;
}
.wtd-story-card.is-branching-member rect {
  fill: #211016;
  stroke: #d62f4b;
  stroke-width: 2;
}
.wtd-story-card.is-branching-member:hover rect,
.wtd-story-card.is-branching-member:focus-visible rect {
  fill: #31121b;
  stroke: #ff4864;
}
.wtd-story-card.is-unselected-branch {
  opacity: .8;
}
.wtd-story-card.is-unselected-branch:hover,
.wtd-story-card.is-unselected-branch:focus-visible {
  opacity: 1;
}
.wtd-story-card.is-further-branch rect {
  fill: #121215;
  stroke: #752538;
  stroke-width: 1.7;
}
.wtd-story-card.is-further-branch:hover rect,
.wtd-story-card.is-further-branch:focus-visible rect {
  fill: #281018;
  stroke: #ff4561;
}
.wtd-story-empty.is-direct-summary rect,
.wtd-story-empty.is-selected-members-summary rect {
  fill: #0e0e10;
  stroke: #3f3f46;
}
@media (max-width: 760px) {
  .wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-canvas {
    height: 690px;
    min-height: 690px;
  }
}

.wtd-blood-infographic-shell[data-active-mode="story"] .wtd-blood-infographic-help { display: none; }

/* Curated band-continuity relationships, v11.16.63 */
.wtd-story-edge.is-continuity {
  stroke: #ff5a72;
  stroke-width: 5;
  opacity: 1;
  filter: drop-shadow(0 0 8px rgba(255,90,114,.42));
}
.wtd-story-card.is-continuity rect {
  fill: #2b0d15;
  stroke: #ff5a72;
  stroke-width: 2.8;
  filter: drop-shadow(0 0 11px rgba(255,90,114,.28));
}
.wtd-story-card.is-continuity .wtd-story-card-eyebrow {
  fill: #ff8294;
}
.wtd-story-card.is-continuity .wtd-story-card-footer,
.wtd-story-card.is-continuity .wtd-story-card-meta {
  fill: #f5c5cd;
}
.wtd-blood-connection-insight.is-continuity {
  border-color: #e23b56;
  background: linear-gradient(135deg,rgba(113,14,32,.42),rgba(33,12,18,.72));
}
.wtd-blood-continuity-callout {
  display: grid;
  gap: .42rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #e23b56;
  border-radius: 14px;
  background: linear-gradient(135deg,rgba(113,14,32,.46),rgba(22,12,16,.84));
}
.wtd-blood-continuity-callout strong {
  color: #fff;
  font-size: 1rem;
  line-height: 1.35;
}
.wtd-blood-continuity-callout small {
  color: #e9bfc7;
  line-height: 1.45;
}
.wtd-blood-continuity-callout .wtd-blood-detail-jump {
  justify-self: start;
  margin-top: .25rem;
}

/* Grouped renamed-band continuity branch, v11.16.64 */
.wtd-story-edge.is-continuity-group,
.wtd-story-edge.is-continuity-pair-link,
.wtd-story-edge.is-continuity-shared-member,
.wtd-story-edge.is-continuity-member-spine {
  stroke: #ff5a72;
  opacity: 1;
}
.wtd-story-edge.is-continuity-group {
  stroke-width: 4.6;
  filter: drop-shadow(0 0 7px rgba(255,90,114,.34));
}
.wtd-story-edge.is-continuity-pair-link,
.wtd-story-edge.is-continuity-shared-member {
  stroke-width: 3.5;
}
.wtd-story-edge.is-continuity-member-spine {
  stroke-width: 5;
  stroke-linecap: round;
  filter: drop-shadow(0 0 7px rgba(255,90,114,.28));
}
.wtd-story-card.is-continuity-source rect,
.wtd-story-card.is-continuity-target rect {
  fill: #251017;
  stroke: #ff5a72;
  stroke-width: 2.5;
}
.wtd-story-card.is-continuity-target rect {
  fill: #33101a;
}
.wtd-story-card.is-continuity-source.is-selected rect,
.wtd-story-card.is-continuity-target.is-selected rect {
  filter: drop-shadow(0 0 10px rgba(255,90,114,.34));
}
.wtd-story-continuity-label {
  fill: #ff8a9b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
}
.wtd-story-card.is-continuity-shared-member rect {
  fill: #211016;
  stroke: #e13a55;
  stroke-width: 2;
}
.wtd-story-card.is-continuity-shared-member .wtd-story-card-title {
  font-size: 15px;
}
.wtd-story-card.is-continuity-shared-member .wtd-story-card-meta {
  font-size: 10px;
}
.wtd-blood-follow-button.is-secondary {
  margin-top: .55rem;
  background: #241217;
  border-color: #8f2d40;
}

