/* Bio2Twin | Blood Body Map design V1 | 2026-10-25
   Same black-gray, fine gradient outlines and typography as Blood Upload/Report.
   The grayscale anatomy is positional only; status colors are evidence availability,
   never organ diagnoses. API values and map interaction remain unchanged. */
body.b2t-blood-body-ui{
 --b2-body-ink:var(--bt-blood-ink,#f2f5fa);
 --b2-body-text:var(--bt-blood-text,#b5bfd0);
 --b2-body-subtle:var(--bt-blood-muted,#94a3b8);
 --b2-body-blue:var(--bt-blood-blue,#4c9be8);
 --b2-body-rose:var(--bt-blood-rose,#e85a83);
 --b2-body-amber:var(--bt-blood-amber,#eda657);
 --b2-body-purple:var(--bt-blood-purple,#a37bea);
}
body.b2t-blood-body-ui .app-head{align-items:flex-end;margin-bottom:20px}
body.b2t-blood-body-ui .eyebrow{color:var(--b2-body-rose);font-size:10px;letter-spacing:.16em}
body.b2t-blood-body-ui .app-head h1{
 font-size:clamp(28px,3.1vw,40px);font-weight:400;letter-spacing:-.025em;color:var(--b2-body-ink);
}
body.b2t-blood-body-ui .app-subtitle{font-size:14px;line-height:1.7;color:var(--b2-body-text);max-width:680px}
body.b2t-blood-body-ui .head-metrics{gap:8px}
body.b2t-blood-body-ui .metric-chip{
 box-sizing:border-box;min-width:91px;min-height:53px;padding:10px 12px;
 background:linear-gradient(145deg,#101724,#0b121c);border:1px solid #465268;border-radius:13px;
}
body.b2t-blood-body-ui .metric-chip:nth-child(1){border-color:#814c66}
body.b2t-blood-body-ui .metric-chip:nth-child(2){border-color:#735c43}
body.b2t-blood-body-ui .metric-chip:nth-child(3){border-color:#65528a}
body.b2t-blood-body-ui .metric-chip small{font-size:10px;color:#afbcce;letter-spacing:.04em}
body.b2t-blood-body-ui .metric-chip b{font-size:13px;font-weight:400;color:#f2f4f9}
body.b2t-blood-body-ui .subnav{
 box-sizing:border-box;padding:5px;gap:7px;margin-bottom:16px;
 border-radius:17px;border:1px solid #3b495e;
 background:linear-gradient(120deg,#0d121c,#111928);
}
body.b2t-blood-body-ui .subnav button{
 font-size:12px;font-weight:400;color:#a9b7ca;
}
body.b2t-blood-body-ui .subnav button:hover{color:#f5f7fc;background:#182234}
body.b2t-blood-body-ui .subnav button.active{
 color:#fff;background:linear-gradient(110deg,#22334d,#1b263b);
 border:1px solid #6487b9;box-shadow:0 0 13px #4c8adc25;
}
body.b2t-blood-body-ui #content{display:block;min-width:0}
body.b2t-blood-body-ui #bloodBodyLive{
 box-sizing:border-box;min-width:0;width:100%;max-width:1180px;margin:0;
}
body.b2t-blood-body-ui #bloodBodyState{
 box-sizing:border-box;
 margin:0 0 10px;padding:15px 18px;
 border:1px solid var(--bt-blood-line,#38495f);
 border-radius:var(--bt-blood-radius-sm,13px);
 background:linear-gradient(100deg,var(--bt-blood-panel,#101824),#0d1420);
 color:#c4cfdf;
 font-size:12px;line-height:1.7;overflow-wrap:anywhere;
}
body.b2t-blood-body-ui #bloodBodyLive > p:not(#bloodBodyState){
 box-sizing:border-box;
 margin:0 0 17px;padding:0 4px;
 color:#aab8ca;font-size:12px;line-height:1.8;font-weight:400;
}
body.b2t-blood-body-ui #bloodBodyLive .body-map{
 display:grid;
 grid-template-columns:minmax(270px,.84fr) minmax(0,1.62fr);
 align-items:start;gap:16px;min-width:0;
}
body.b2t-blood-body-ui #bloodBodyLive .body-visual{
 grid-column:1;grid-row:1;
 position:sticky;top:90px;
 box-sizing:border-box;min-width:0;
 width:100%;min-height:455px;
 padding:20px 12px 38px;
 margin:0!important;
 overflow:hidden;isolation:isolate;
 border:1px solid transparent;border-radius:20px;
 background:
  radial-gradient(ellipse at 50% 24%,#18355542,transparent 64%) padding-box,
  linear-gradient(145deg,#0b111a,#080d15) padding-box,
  linear-gradient(110deg,#b0496c,#6a5983,#377db1) border-box!important;
 box-shadow:0 8px 25px #00000027;
}
body.b2t-blood-body-ui #bloodBodyLive .body-visual img{
 display:block;width:100%;max-width:100%;
 height:394px;object-fit:contain;
 filter:grayscale(1) contrast(1.06);
 opacity:.9;
}
body.b2t-blood-body-ui #bloodBodyLive .body-visual figcaption{
 position:absolute;left:10px;right:10px;bottom:12px;
 margin:0;text-align:center;
 font-size:11px;color:#a5b5c9;font-weight:400;
}
body.b2t-blood-body-ui #bloodBodyMarkers{
 position:absolute;inset:20px 12px 38px;
 pointer-events:none;
}
body.b2t-blood-body-ui .blood-body-marker{
 box-sizing:border-box;pointer-events:auto;
 max-width:106px;min-height:28px;
 padding:5px 7px;border-radius:9px;
 border:1px solid #576375;
 background:#1b2330ed;color:#cbd5e4;
 font:400 10px/1.45 system-ui;
 box-shadow:0 2px 8px #0000008f;
 backdrop-filter:blur(3px);
 white-space:normal;text-align:center;
}
body.b2t-blood-body-ui .blood-body-marker[data-tone=observe]{
 background:#3e2a1fe8;border-color:#df9b57;color:#ffddb6;
}
body.b2t-blood-body-ui .blood-body-marker[data-tone=available]{
 background:#183443e8;border-color:#6aaacc;color:#d4efff;
}
body.b2t-blood-body-ui .blood-body-marker[data-tone=unknown]{
 background:#232731e8;border-color:#626d7a;color:#c2cad7;
}
body.b2t-blood-body-ui .blood-body-marker:hover,
body.b2t-blood-body-ui .blood-body-marker:focus-visible{
 z-index:4;outline:2px solid #d1dcf2;outline-offset:2px;
 border-color:#c8d2e6;
}
body.b2t-blood-body-ui #bloodBodyResults{
 grid-column:2;grid-row:1;
 box-sizing:border-box;min-width:0;width:100%;
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;align-items:stretch;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system{
 box-sizing:border-box;min-width:0;width:100%;
 min-height:160px;padding:18px!important;margin:0!important;
 border:1px solid var(--bt-blood-line,#364659);
 border-radius:var(--bt-blood-radius,16px);
 background:linear-gradient(147deg,var(--bt-blood-panel-raised,#131d2a),#0d1420);
 box-shadow:0 6px 18px #00000017;
 overflow-wrap:anywhere;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system[data-status=ready],
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system[data-status=live]{
 border-color:#396989;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system[data-status=observe]{
 border-color:#916341;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system[data-status=stale]{
 border-color:#61547a;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system:hover{
 border-color:#8094b0;background:linear-gradient(147deg,#182438,#111a29);
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system h3{
 margin:0 0 9px;font-size:17px;font-weight:400;
 letter-spacing:-.01em;color:var(--b2-body-ink);
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system .blood-real-status{
 display:inline-flex;align-items:center;
 box-sizing:border-box;margin:0 0 8px!important;
 padding:5px 10px;border:1px solid #506073;
 border-radius:999px;background:#172132;
 color:#c0d3e4;font-size:11px;font-weight:400;line-height:1.3;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system[data-status=observe] .blood-real-status{
 color:#f2c792;border-color:#94683e;background:#302319;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system[data-status=stale] .blood-real-status{
 color:#c5b5e3;border-color:#62517d;background:#261e32;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system p{
 font-size:12px;line-height:1.7;color:#abb8ca;margin:7px 0;
 overflow-wrap:anywhere;
}
body.b2t-blood-body-ui #bloodBodyResults dl{
 display:grid;gap:6px;margin:12px 0;font-size:12px;min-width:0;
}
body.b2t-blood-body-ui #bloodBodyResults dl>div{
 box-sizing:border-box;display:flex;align-items:baseline;justify-content:space-between;
 gap:10px;padding:7px 0;border-bottom:1px solid #40516b66;
}
body.b2t-blood-body-ui #bloodBodyResults dt{
 min-width:0;color:#a9b9ce;font-size:11px;overflow-wrap:anywhere;
}
body.b2t-blood-body-ui #bloodBodyResults dd{
 min-width:0;margin:0;color:#edf1f8;font-size:12px;text-align:right;
 font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system a{
 display:inline-flex;align-items:center;min-height:32px;
 margin-top:9px;color:#e4b4d1!important;
 text-decoration:none;font-size:12px;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system a:hover{
 color:#fff!important;text-decoration:underline;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-real-system:focus{
 outline:2px solid #a8b9dc;outline-offset:3px;
}
@media(max-width:1110px){
 body.b2t-blood-body-ui #bloodBodyLive .body-map{
  grid-template-columns:minmax(235px,.78fr) minmax(0,1.3fr);
 }
 body.b2t-blood-body-ui #bloodBodyResults{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 body.b2t-blood-body-ui .app-head{
  align-items:flex-start;flex-direction:column;gap:12px;
 }
 body.b2t-blood-body-ui .head-metrics{
  flex-wrap:nowrap;justify-content:flex-start;width:100%;
 }
 body.b2t-blood-body-ui .metric-chip{flex:1;min-width:0;padding:9px 10px}
 body.b2t-blood-body-ui #bloodBodyLive .body-map{
  grid-template-columns:minmax(0,1fr);gap:13px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual{
  position:relative;top:auto;
  grid-column:1;grid-row:1;
  min-height:365px;padding:15px 10px 33px;border-radius:17px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual img{height:320px}
 body.b2t-blood-body-ui #bloodBodyMarkers{inset:15px 10px 33px}
 body.b2t-blood-body-ui #bloodBodyResults{
  grid-column:1;grid-row:2;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
 }
 body.b2t-blood-body-ui #bloodBodyResults .blood-real-system{
  padding:15px!important;min-height:0;border-radius:13px;
 }
 body.b2t-blood-body-ui #bloodBodyResults .blood-real-system h3{font-size:15px}
}
@media(max-width:520px){
 body.b2t-blood-body-ui #bloodBodyResults{grid-template-columns:minmax(0,1fr)}
 body.b2t-blood-body-ui #bloodBodyLive .body-visual{min-height:340px}
 body.b2t-blood-body-ui #bloodBodyLive .body-visual img{height:305px}
 body.b2t-blood-body-ui .blood-body-marker{max-width:94px;font-size:9px;padding:4px 6px}
}
@media(prefers-reduced-motion:reduce){
 body.b2t-blood-body-ui .blood-real-system,
 body.b2t-blood-body-ui .blood-body-marker{transition:none}
}


/* B2T_BODY_IMAGE_3_LEVEL_FALLBACK_20261025 */
body.b2t-blood-body-ui #bloodBodyLive #bloodBodyImage[hidden],
body.b2t-blood-body-ui #bloodBodyLive #bloodBodyImageUnavailable[hidden]{
 display:none!important;
}
body.b2t-blood-body-ui #bloodBodyLive .body-visual{
 background-color:#0b111a;
}
body.b2t-blood-body-ui #bloodBodyLive .blood-body-image-unavailable{
 position:absolute;top:17px;left:14px;right:14px;
 box-sizing:border-box;z-index:1;
 padding:10px 12px;
 border:1px solid #516078;border-radius:10px;
 background:rgba(14,21,32,.94);color:#c7d2e1;
 text-align:center;font-size:12px;line-height:1.65;
 pointer-events:none;
}
body.b2t-blood-body-ui #bloodBodyLive #bloodBodyMarkers{
 z-index:2;
}
body.b2t-blood-body-ui #bloodBodyLive .blood-body-marker{
 z-index:2;cursor:pointer;
}
body.b2t-blood-body-ui #bloodBodyLive .blood-body-marker:hover,
body.b2t-blood-body-ui #bloodBodyLive .blood-body-marker:focus-visible{
 z-index:5;
}
body.b2t-blood-body-ui #bloodBodyLive .body-visual[data-image-state="unavailable"]{
 min-height:430px;
 background:
  radial-gradient(ellipse at 50% 48%,rgba(66,95,133,.14),transparent 75%) padding-box,
  linear-gradient(150deg,#0e1622,#090e16) padding-box,
  linear-gradient(110deg,#b0496c,#6a5983,#377db1) border-box!important;
}
@media(max-width:760px){
 body.b2t-blood-body-ui #bloodBodyLive .body-visual[data-image-state="unavailable"]{
  min-height:330px;
 }
}


/* B2T_BODY_ENLARGED_20261026
   Bigger proportional anatomy figure, unchanged member markers, reports and fallback. */
@media (min-width:1111px) {
 body.b2t-blood-body-ui #bloodBodyLive .body-map {
  grid-template-columns:minmax(370px,1.05fr) minmax(0,1.38fr);
  gap:18px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual:not([data-image-state="unavailable"]) {
  min-height:622px;
  padding:22px 10px 40px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual img {
  height:556px;
 }
 body.b2t-blood-body-ui #bloodBodyLive #bloodBodyMarkers {
  inset:22px 10px 40px;
 }
}
@media (min-width:761px) and (max-width:1110px) {
 body.b2t-blood-body-ui #bloodBodyLive .body-map {
  grid-template-columns:minmax(295px,.95fr) minmax(0,1.35fr);
  gap:15px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual:not([data-image-state="unavailable"]) {
  min-height:535px;
  padding:18px 9px 37px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual img {
  height:480px;
 }
 body.b2t-blood-body-ui #bloodBodyLive #bloodBodyMarkers {
  inset:18px 9px 37px;
 }
}
@media (max-width:760px) {
 body.b2t-blood-body-ui #bloodBodyLive .body-visual:not([data-image-state="unavailable"]) {
  min-height:516px;
  padding:16px 10px 40px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual img {
  height:460px;
 }
 body.b2t-blood-body-ui #bloodBodyLive #bloodBodyMarkers {
  inset:16px 10px 40px;
 }
}
@media (max-width:520px) {
 body.b2t-blood-body-ui #bloodBodyLive .body-visual:not([data-image-state="unavailable"]) {
  min-height:492px;
  padding:14px 8px 35px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .body-visual img {
  height:443px;
 }
 body.b2t-blood-body-ui #bloodBodyLive #bloodBodyMarkers {
  inset:14px 8px 35px;
 }
 body.b2t-blood-body-ui #bloodBodyLive .blood-body-marker {
  max-width:106px;
 }
}


/* B2T_BODY_BIOMNI_CARDS_20261026
   Biomni evidence remains distinct from body-data readiness markers. */
body.b2t-blood-body-ui #bloodBodyLive .blood-biomni-alignment-head{
 box-sizing:border-box;min-width:0;margin:0 0 17px;padding:13px 17px;
 border:1px solid #6b537f;border-radius:13px;
 background:linear-gradient(120deg,#1a1b2a,#101b2a);
 display:flex;flex-direction:column;gap:6px;
}
body.b2t-blood-body-ui #bloodBodyLive .blood-biomni-alignment-head strong{
 font-size:15px;font-weight:400;color:#f2ebfb;
}
body.b2t-blood-body-ui #bloodBodyLive .blood-biomni-alignment-head span{
 font-size:12px;color:#b7bfcd;line-height:1.7;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-alignment{
 box-sizing:border-box;margin:16px 0 0;padding:13px 0 1px;
 border-top:1px solid #4a4e65;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-alignment[data-biomni-status="linked"]{
 border-top-color:#a078b8;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-alignment h4{
 font-size:14px;color:#d8c6f0;font-weight:400;margin:0 0 10px;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-alignment p{
 font-size:12px;line-height:1.7;color:#b8c6d8;margin:6px 0 10px;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-finding{
 border:1px solid #554766;border-radius:11px;
 background:linear-gradient(140deg,#211d30,#151a2a);
 padding:12px;margin:10px 0;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-finding strong{
 display:block;color:#f3e9fb;font-size:13px;font-weight:400;line-height:1.55;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-finding small{
 display:block;color:#d1a5d6;font-size:11px;margin:0 0 6px;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-evidence{
 list-style:none;margin:8px 0;padding:0;display:grid;gap:6px;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-evidence li{
 font-size:11px;line-height:1.65;color:#b6c5d9;
 padding:8px 10px;border:1px solid #36495e;
 background:#111b29;border-radius:9px;overflow-wrap:anywhere;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-source-title{
 color:#dcc4e9;font-size:11px;
}
body.b2t-blood-body-ui #bloodBodyResults .blood-biomni-deeplink{
 display:inline-flex;align-items:center;
 color:#e4b8df!important;font-size:11px;text-decoration:none;
 margin:9px 0 0;
}
body.b2t-blood-body-ui #bloodBodyMarkers .blood-body-marker[data-biomni="linked"]{
 box-shadow:0 0 0 1px #ba8cda,0 0 16px #9457bf55;
}
