/* V86 live release: centered Blood & Bond player, soft locket glow, and no traveling white chain sweep. */
:root{
  --bond-cream:#f3e8d2;
  --bond-gold:#d8b362;
  --bond-gold-bright:#f1d897;
  --bond-wine:#7b2638;
  --bond-rose:#dfa1a7;
  --bond-green:#173a28;
}

.bloodbond-backdrop{
  position:absolute;inset:-56px;z-index:0;overflow:hidden;pointer-events:none;
  background:url("../../images/blood-bond-v82/blood-and-bond-scene-v82.webp") center/cover no-repeat;
  filter:blur(31px) brightness(.59) saturate(.94);
  transform:scale(1.045);transform-origin:center;opacity:0;
  transition:opacity .72s ease
}
body.scene-bloodbond .bedroom-backdrop,html.direct-bloodbond .bedroom-backdrop{opacity:0}
body.scene-bloodbond .bloodbond-backdrop,html.direct-bloodbond .bloodbond-backdrop{opacity:.99}

.bloodbond-scene-shell{z-index:2;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s ease,visibility .48s ease}
body.scene-bloodbond .bedroom-scene-shell,html.direct-bloodbond .bedroom-scene-shell{opacity:0;visibility:hidden;pointer-events:none}
body.scene-bloodbond .bloodbond-scene-shell,html.direct-bloodbond .bloodbond-scene-shell{z-index:4;opacity:1;visibility:visible;pointer-events:auto}
html.direct-bloodbond .cinematic-gate{display:none!important}
html.direct-bloodbond .room-experience{opacity:1!important;visibility:visible!important}
html.direct-bloodbond .music-player{opacity:1!important}

.bloodbond-stage{overflow:hidden;isolation:isolate;background:transparent}
.bloodbond-stage:focus{outline:none}
.bloodbond-scene-image{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;
  user-select:none;-webkit-user-drag:none;pointer-events:none;filter:saturate(1.01) contrast(1.006)
}

.bloodbond-glow-layer{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.bloodbond-object-glow{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;
  user-select:none;-webkit-user-drag:none;mix-blend-mode:screen;will-change:opacity,filter;
  transition:opacity .28s ease,filter .28s ease
}
.bloodbond-stage[data-active="private"] .bloodbond-glow-private{opacity:.93;animation:bloodbondPrivateBreath 2.7s ease-in-out infinite}
.bloodbond-stage[data-active="bond"] .bloodbond-glow-bond{opacity:.96;filter:brightness(1.05) saturate(1.06)}
.bloodbond-stage[data-active="public"] .bloodbond-glow-public{opacity:.92;filter:brightness(1.04)}
@keyframes bloodbondPrivateBreath{0%,100%{filter:brightness(.96) saturate(1.02)}50%{filter:brightness(1.09) saturate(1.12)}}

/* Locket-only movement: the broad glow stays still while a pinpoint travels and pulses. */
.bloodbond-bond-pulse,.bloodbond-chain-glint,.bloodbond-earring-spark{
  position:absolute;z-index:8;opacity:0;pointer-events:none;transition:opacity .22s ease
}
.bloodbond-bond-pulse{
  left:47.34%;top:79.30%;width:9.1%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);
  border:1px solid rgba(245,211,134,.36);box-shadow:0 0 1.25cqw rgba(229,166,86,.34),inset 0 0 .85cqw rgba(229,166,86,.18)
}
.bloodbond-chain-glint{left:39.5%;top:60.5%;width:16.5%;height:20%;overflow:hidden}
.bloodbond-chain-glint::after{
  content:"";position:absolute;left:-22%;top:44%;width:24%;height:2px;transform:rotate(14deg);
  background:linear-gradient(90deg,transparent,rgba(255,239,183,.95),transparent);filter:blur(.3px)
}
.bloodbond-earring-spark{
  left:37.42%;top:85.55%;width:.72cqw;height:.72cqw;border-radius:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,#fff 0 8%,#f2d58c 18%,rgba(235,177,100,.18) 48%,transparent 70%);
  box-shadow:0 0 1cqw rgba(245,201,122,.75)
}
.bloodbond-stage[data-active="bond"] .bloodbond-bond-pulse{opacity:1;animation:bloodbondPulse 2.35s ease-in-out infinite}
.bloodbond-stage[data-active="bond"] .bloodbond-chain-glint{opacity:1}
.bloodbond-stage[data-active="bond"] .bloodbond-chain-glint::after{animation:bloodbondGlint 2.8s ease-in-out infinite}
.bloodbond-stage[data-active="bond"] .bloodbond-earring-spark{opacity:1;animation:bloodbondSpark 1.75s ease-in-out infinite}
@keyframes bloodbondPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.62;box-shadow:0 0 1.8cqw rgba(229,166,86,.46),inset 0 0 1cqw rgba(229,166,86,.22)}}
@keyframes bloodbondGlint{0%,22%{transform:translateX(0) rotate(14deg);opacity:0}38%{opacity:1}68%,100%{transform:translateX(610%) rotate(14deg);opacity:0}}
@keyframes bloodbondSpark{0%,100%{transform:translate(-50%,-50%) scale(.65);opacity:.25}42%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}

.bloodbond-hotspot-svg{position:absolute;inset:0;z-index:12;width:100%;height:100%;overflow:visible;pointer-events:none}
.bloodbond-hotspot{
  pointer-events:all;fill:rgba(255,255,255,.001);stroke:transparent;stroke-width:2;cursor:pointer;outline:none;
  -webkit-tap-highlight-color:transparent
}
.bloodbond-hotspot:focus-visible{stroke:transparent;stroke-width:0;filter:none}

.bloodbond-return{
  position:absolute;z-index:18;left:1.25%;top:1.65%;display:flex;align-items:center;gap:.35rem;
  padding:.48cqw .67cqw;border:1px solid rgba(224,184,91,.42);border-radius:.23cqw;
  background:linear-gradient(180deg,rgba(42,27,12,.90),rgba(12,8,4,.88));color:#efd48b;
  font:900 clamp(8px,.72cqw,14px)/1 Inter,Segoe UI,Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase;
  box-shadow:0 .25cqw .65cqw rgba(0,0,0,.46);cursor:pointer
}
.bloodbond-return span{font-size:1.35em;line-height:.7}
.bloodbond-return:hover,.bloodbond-return:focus-visible{border-color:#f3d98f;box-shadow:0 .25cqw .65cqw rgba(0,0,0,.50),0 0 .55cqw rgba(220,169,70,.32);outline:none}

.bloodbond-transition-veil{
  position:fixed;inset:-8%;z-index:24;opacity:0;visibility:hidden;pointer-events:none;
  background:
    radial-gradient(circle at 72% 76%,rgba(235,178,110,.62),rgba(131,44,58,.44) 26%,rgba(40,17,22,.90) 54%,rgba(5,4,4,.99) 83%),
    radial-gradient(circle at 38% 58%,rgba(216,140,146,.25),transparent 45%),
    linear-gradient(rgba(5,4,4,.995),rgba(5,4,4,.995));
  filter:blur(10px);transform:scale(.96);will-change:opacity,transform,filter;contain:strict
}
body.scene-switching .bloodbond-transition-veil{visibility:visible}
body.scene-bloodbond .music-player,html.direct-bloodbond .music-player{
  left:50%;right:auto;top:max(2px,env(safe-area-inset-top));
  transform:translateX(-50%);--player-width:clamp(245px,14vw,315px)
}
body.scene-bloodbond .music-player:hover,html.direct-bloodbond .music-player:hover{
  transform:translateX(-50%) translateY(.08rem)
}

/* Shared gallery dialog. */
.bloodbond-overlay{
  position:fixed;inset:0;z-index:245;display:none;grid-template-rows:minmax(0,1fr);padding:clamp(.55rem,2vw,1.5rem);
  background:radial-gradient(circle at 50% 15%,rgba(78,36,45,.28),transparent 40rem),rgba(3,3,3,.94);
  backdrop-filter:blur(13px);opacity:0
}
.bloodbond-overlay.open{display:grid;opacity:1;animation:bloodbondOverlayIn .27s ease both}
@keyframes bloodbondOverlayIn{from{opacity:0}to{opacity:1}}
.bloodbond-gallery-dialog{
  min-width:0;min-height:0;width:min(96vw,1660px);height:min(94vh,1030px);margin:auto;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;
  border:1px solid rgba(229,190,100,.38);border-radius:.55rem;
  background:linear-gradient(160deg,#16251b,#090b09 38%,#130b0b);
  box-shadow:0 2rem 6rem rgba(0,0,0,.75),inset 0 0 0 1px rgba(255,236,184,.05);
  transform:translateY(.7rem) scale(.985);animation:bloodbondDialogIn .33s cubic-bezier(.2,.72,.2,1) forwards
}
.bloodbond-gallery-dialog[data-theme="private"]{border-color:rgba(221,145,152,.45);background:linear-gradient(160deg,#2a1117,#0d0809 42%,#140908)}
@keyframes bloodbondDialogIn{to{transform:none}}
.bloodbond-dialog-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(.8rem,1.5vw,1.25rem) clamp(1rem,2vw,1.75rem);
  border-bottom:1px solid rgba(229,190,100,.23);background:linear-gradient(180deg,rgba(41,58,43,.94),rgba(11,15,11,.90))
}
[data-theme="private"] .bloodbond-dialog-head{border-color:rgba(221,145,152,.23);background:linear-gradient(180deg,rgba(79,24,35,.94),rgba(23,10,13,.92))}
.bloodbond-dialog-head small{display:block;color:#dfbe70;text-transform:uppercase;letter-spacing:.15em;font-size:.62rem;font-weight:900}
[data-theme="private"] .bloodbond-dialog-head small{color:#e4a4aa}
.bloodbond-dialog-head h2{margin:.2rem 0 0;font-family:Georgia,serif;font-size:clamp(1.65rem,3vw,3rem);line-height:1;text-transform:uppercase;color:#f4ead4}
.bloodbond-dialog-close{flex:0 0 auto;width:2.7rem;height:2.7rem;border:1px solid rgba(229,190,100,.36);border-radius:50%;background:rgba(6,8,6,.72);color:#eed58f;font-size:1.55rem;line-height:1;cursor:pointer}
[data-theme="private"] .bloodbond-dialog-close{border-color:rgba(221,145,152,.42);color:#f1bdc1;background:rgba(25,8,11,.78)}
.bloodbond-dialog-close:hover,.bloodbond-dialog-close:focus-visible{border-color:#f5db94;outline:none;box-shadow:0 0 1rem rgba(223,183,84,.24)}
.bloodbond-gallery-stage{min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.65rem;padding:clamp(.65rem,1.2vw,1rem);background:#030403}
.bloodbond-gallery-media{position:relative;min-width:0;min-height:0;overflow:hidden;background:#020302;display:block}
.bloodbond-gallery-media img,.bloodbond-gallery-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#020302}
.bloodbond-gallery-media video[hidden],.bloodbond-gallery-media img[hidden]{display:none}
.bloodbond-gallery-arrow{align-self:center;width:clamp(2.4rem,3.2vw,3.4rem);height:clamp(4.5rem,8vh,6rem);border:1px solid rgba(229,190,100,.25);background:rgba(7,12,8,.80);color:#efd58d;font-size:2rem;cursor:pointer}
[data-theme="private"] .bloodbond-gallery-arrow{border-color:rgba(221,145,152,.28);background:rgba(31,9,13,.82);color:#efb1b7}
.bloodbond-gallery-arrow:hover,.bloodbond-gallery-arrow:focus-visible{border-color:#f5db94;outline:none;background:#17251b}
.bloodbond-gallery-caption{padding:.75rem 1.4rem .72rem;text-align:center;border-top:1px solid rgba(229,190,100,.16);background:#0a100b}
[data-theme="private"] .bloodbond-gallery-caption{border-color:rgba(221,145,152,.16);background:#15090c}
.bloodbond-gallery-caption small{display:block;color:#d9b35d;text-transform:uppercase;letter-spacing:.13em;font-size:.58rem}
[data-theme="private"] .bloodbond-gallery-caption small{color:#dda0a6}
.bloodbond-gallery-caption h3{margin:.35rem 0 .2rem;font-family:Georgia,serif;font-size:clamp(1.25rem,2.4vw,2rem);color:#f3e8cf}
.bloodbond-gallery-caption p{max-width:850px;margin:0 auto;color:#a7aaa3;font-size:.79rem;line-height:1.5}
.bloodbond-gallery-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.65rem 1rem .85rem;border-top:1px solid rgba(229,190,100,.13);background:#070a07;scrollbar-color:#8f6c2d #080b08}
[data-theme="private"] .bloodbond-gallery-thumbs{border-color:rgba(221,145,152,.14);background:#100709;scrollbar-color:#8d3f4b #100709}
.bloodbond-gallery-thumb{position:relative;flex:0 0 auto;width:88px;height:60px;padding:0;border:1px solid rgba(229,190,100,.18);background:#060806;opacity:.48;cursor:pointer}
.bloodbond-gallery-thumb img{width:100%;height:100%;object-fit:cover}
.bloodbond-gallery-thumb.active{opacity:1;border-color:#efd58d;transform:translateY(-3px);box-shadow:0 0 .6rem rgba(221,171,68,.25)}
[data-theme="private"] .bloodbond-gallery-thumb.active{border-color:#e8a5ab;box-shadow:0 0 .7rem rgba(216,140,146,.28)}
.bloodbond-gallery-thumb[data-video="true"]::after{content:"▶";position:absolute;right:.22rem;bottom:.18rem;display:grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:50%;background:rgba(5,7,4,.84);color:#efd58d;font-size:.52rem;pointer-events:none}

/* Bond and timeline dialog. */
.bloodbond-bond-dialog{
  width:min(94vw,1380px);height:min(92vh,940px);margin:auto;display:grid;grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;border:1px solid rgba(231,175,103,.48);border-radius:.65rem;
  background:linear-gradient(150deg,#25170d,#0c0a08 43%,#1c0d12);box-shadow:0 2rem 7rem rgba(0,0,0,.78)
}
.bloodbond-bond-tabs{display:flex;justify-content:center;gap:.55rem;padding:.75rem 1rem;border-bottom:1px solid rgba(231,175,103,.18);background:rgba(10,8,7,.96)}
.bloodbond-bond-tab{min-width:10rem;padding:.7rem 1rem;border:1px solid rgba(225,179,90,.28);background:#100d09;color:#c8b68e;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:900;cursor:pointer}
.bloodbond-bond-tab[aria-selected="true"]{color:#fff0c9;border-color:#e4bd67;background:linear-gradient(180deg,#51321a,#21140b);box-shadow:0 0 1rem rgba(222,170,74,.18)}
.bloodbond-bond-body{min-height:0;overflow:auto;padding:clamp(1rem,2.6vw,2.2rem);scrollbar-color:#8e6334 #0d0908}
.bloodbond-bond-panel[hidden]{display:none}
.bloodbond-connection{
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.4fr) minmax(180px,.8fr);gap:clamp(1rem,3vw,2.5rem);align-items:center;min-height:620px;overflow:hidden;
  background:repeating-radial-gradient(circle at 50% 50%,transparent 0 59px,rgba(239,208,138,.055) 60px 61px),radial-gradient(circle at 50% 50%,rgba(38,82,58,.25),transparent 24rem),#090907
}
.bloodbond-connection::before,.bloodbond-connection::after{content:"";position:absolute;z-index:0;top:50%;width:250px;height:250px;border-radius:50%;transform:translateY(-50%);border:1px solid rgba(239,208,138,.25);box-shadow:0 0 50px rgba(205,167,93,.08) inset;pointer-events:none}
.bloodbond-connection::before{left:4.5%}.bloodbond-connection::after{right:4.5%}
.bloodbond-person,.bloodbond-core{position:relative;z-index:2}
.bloodbond-person{text-align:center}
.bloodbond-person img{width:min(100%,250px);aspect-ratio:4/5;object-fit:cover;border:5px solid #2c1a0e;outline:1px solid rgba(239,204,128,.44);box-shadow:0 1.4rem 3rem rgba(0,0,0,.54)}
.bloodbond-person small{display:block;margin-top:.75rem;color:#d7b563;text-transform:uppercase;letter-spacing:.15em;font-size:.58rem;font-weight:900}
.bloodbond-person strong{display:block;margin-top:.22rem;font-family:Georgia,serif;font-size:1.3rem;color:#f2e6cc}
.bloodbond-core{text-align:center;padding:1rem}
.bloodbond-core h3{margin:.25rem 0 .65rem;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.7rem);color:#f4e6c9}
.bloodbond-core p{max-width:650px;margin:.45rem auto;color:#b9afa4;line-height:1.68}
.bloodbond-thread{position:relative;width:190px;height:2px;margin:1.25rem auto 1.4rem;background:linear-gradient(90deg,transparent,#f2d68a,transparent);box-shadow:0 0 1rem rgba(227,171,81,.28);animation:bloodbondConnectionPulse 2.6s ease-in-out infinite}
.bloodbond-thread::after{content:none!important;display:none!important}
@keyframes bloodbondConnectionPulse{0%,100%{filter:brightness(1);box-shadow:0 0 .7rem rgba(227,171,81,.20)}50%{filter:brightness(1.8);box-shadow:0 0 1.5rem rgba(227,171,81,.48)}}
.bloodbond-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem;text-align:left}
.bloodbond-facts .bloodbond-fact:last-child{grid-column:1/-1}
.bloodbond-fact{padding:.8rem;border:1px solid rgba(225,179,90,.18);background:rgba(20,14,10,.72)}
.bloodbond-fact small{display:block;color:#d4b05d;text-transform:uppercase;letter-spacing:.12em;font-size:.52rem;font-weight:900}
.bloodbond-fact p{margin:.35rem 0 0;font-size:.77rem;line-height:1.52}
.bloodbond-emotions{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:1.15rem}
.bloodbond-emotion{padding:.62rem .78rem;border:1px solid rgba(225,179,90,.28);background:#130e0a;color:#c9bdad;text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;font-weight:900;cursor:pointer}
.bloodbond-emotion[aria-pressed="true"]{background:#8a3443;border-color:#e7a0a6;color:#fff;box-shadow:0 0 1rem rgba(216,140,146,.24)}
.bloodbond-emotion-result{min-height:3.3rem;margin:1rem auto 0;max-width:720px;color:#f0d8d8;font-family:Georgia,serif;font-size:1.08rem;line-height:1.5}
.bloodbond-story-intro{max-width:900px;margin:0 auto 1.4rem;text-align:center;color:#b9afa4;line-height:1.7}
.bloodbond-timeline{position:relative;max-width:1050px;margin:auto;padding:.25rem 0}
.bloodbond-timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(transparent,#d8b362 8%,#d88c92 58%,transparent)}
.bloodbond-event{position:relative;width:calc(50% - 2rem);margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid rgba(225,179,90,.20);background:linear-gradient(145deg,rgba(43,28,15,.90),rgba(15,10,8,.94))}
.bloodbond-event:nth-child(even){margin-left:calc(50% + 2rem)}
.bloodbond-event::after{content:"";position:absolute;top:1.45rem;width:.65rem;height:.65rem;border-radius:50%;background:#e1bc68;box-shadow:0 0 1rem rgba(225,188,104,.55)}
.bloodbond-event:nth-child(odd)::after{right:-2.38rem}.bloodbond-event:nth-child(even)::after{left:-2.38rem}
.bloodbond-event.private{border-color:rgba(216,140,146,.30);background:linear-gradient(145deg,rgba(75,25,34,.82),rgba(18,8,10,.96))}
.bloodbond-event.private::after{background:#e1a1a7;box-shadow:0 0 1rem rgba(216,140,146,.60)}
.bloodbond-event small{display:block;color:#d8b362;text-transform:uppercase;letter-spacing:.13em;font-size:.54rem;font-weight:900}
.bloodbond-event.private small{color:#e2a4aa}
.bloodbond-event h3{margin:.35rem 0;font-family:Georgia,serif;font-size:1.45rem;color:#f2e6ce}
.bloodbond-event p{margin:0;color:#afa69d;font-size:.8rem;line-height:1.58}
.bloodbond-ooc-note{max-width:900px;margin:1.1rem auto 0;padding:.95rem 1.1rem;border:1px solid rgba(216,140,146,.30);background:rgba(66,20,28,.42);color:#d8c5c4;font-size:.78rem;line-height:1.58}

body.bloodbond-modal-open{overflow:hidden}
.bedroom-backdrop,.bloodbond-backdrop,.bedroom-scene-shell,.bloodbond-scene-shell{transition:none!important}
body.scene-switching .bedroom-scene-shell,body.scene-switching .bloodbond-scene-shell{pointer-events:none!important;transition:none!important;will-change:opacity,visibility}
body.scene-switching .bedroom-backdrop,body.scene-switching .bloodbond-backdrop{transition:none!important;will-change:opacity}
body.scene-switching .music-player{opacity:0!important;pointer-events:none!important;transition:opacity .14s ease!important}

@media(max-width:760px){
  .bloodbond-gallery-dialog{height:min(96vh,1000px)}
  .bloodbond-gallery-stage{grid-template-columns:2.3rem minmax(0,1fr) 2.3rem;gap:.32rem;padding:.45rem}
  .bloodbond-gallery-arrow{width:2.3rem;height:4rem;font-size:1.45rem}
  .bloodbond-gallery-thumb{width:68px;height:46px}
  .bloodbond-connection{grid-template-columns:1fr 1fr}.bloodbond-core{grid-column:1/-1;grid-row:2}
  .bloodbond-facts{grid-template-columns:1fr}
}
@media(max-width:700px) and (orientation:portrait){body.scene-bloodbond .rotate-note{display:block}}
@media(max-width:620px){
  .bloodbond-bond-dialog{height:96vh}.bloodbond-bond-tab{min-width:0;flex:1}
  .bloodbond-person img{width:130px}.bloodbond-person strong{font-size:1rem}
  .bloodbond-timeline::before{left:.6rem}.bloodbond-event,.bloodbond-event:nth-child(even){width:calc(100% - 2rem);margin-left:2rem}
  .bloodbond-event:nth-child(odd)::after,.bloodbond-event:nth-child(even)::after{left:-1.75rem;right:auto}
}
@media(prefers-reduced-motion:reduce){
  .bloodbond-object-glow,.bloodbond-bond-pulse,.bloodbond-chain-glint::after,.bloodbond-earring-spark,.bloodbond-thread::after{animation:none!important;transition:none!important}
}


/* V84 filled hover islands. */
.bloodbond-stage[data-active="bond"] .bloodbond-glow-bond{opacity:.88!important;filter:brightness(1.03) saturate(1.04)}
.bloodbond-stage[data-active="public"] .bloodbond-glow-public{opacity:.86!important;filter:brightness(1.025)}

/* V84 restores the original living Bond thread and balances both portrait cards. */
.bloodbond-connection{
  position:relative;display:block;min-height:720px;overflow:hidden;padding:1.5rem;
  background:radial-gradient(circle at 50% 42%,rgba(38,82,58,.24),transparent 25rem),linear-gradient(180deg,#090907,#070706)
}
.bloodbond-connection::before,.bloodbond-connection::after{display:none!important}
.bloodbond-person{
  position:absolute;z-index:4;top:12%;width:190px;text-align:center;color:#f3e8d2;
  display:block;justify-self:auto;align-self:auto
}
.bloodbond-person-chase{left:6%}
.bloodbond-person-gabrielle{right:6%}
.bloodbond-portrait-frame{
  width:154px;height:190px;margin:0 auto;overflow:hidden;position:relative;
  border:7px solid #4c3219;outline:1px solid #d8b362;background:#090806;
  box-shadow:0 24px 60px rgba(0,0,0,.72)
}
.bloodbond-portrait-frame img{
  display:block;width:100%!important;height:100%!important;aspect-ratio:auto!important;
  object-fit:cover!important;object-position:center!important;border:0!important;outline:0!important;box-shadow:none!important
}
.bloodbond-portrait-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 35px rgba(0,0,0,.55);pointer-events:none}
.bloodbond-person small{display:block;margin:.72rem auto 0;text-align:center;color:#d8b362;text-transform:uppercase;letter-spacing:.15em;font-size:.54rem;font-weight:950}
.bloodbond-person strong{display:block;margin:.25rem auto 0;text-align:center;font-family:Georgia,serif;font-size:1rem;color:#ddd2c0}
.bloodbond-thread-svg{position:absolute;z-index:2;left:14%;right:14%;top:2%;width:72%;height:36%;overflow:visible;pointer-events:none}
.bloodbond-thread-base{fill:none;stroke:rgba(205,167,93,.22);stroke-width:3;stroke-linecap:round}
.bloodbond-thread-signal{fill:none;stroke:url(#bloodbondThreadGradient);stroke-width:5;stroke-linecap:round;stroke-dasharray:16 22;filter:url(#bloodbondThreadGlow);animation:bloodbondThreadFlow 4.5s linear infinite}
.bloodbond-thread-pulse{fill:#f1d690;filter:url(#bloodbondThreadGlow);opacity:0}
@keyframes bloodbondThreadFlow{to{stroke-dashoffset:-76}}
.bloodbond-connection[data-emotion="fear"] .bloodbond-thread-signal{stroke-width:3;animation-duration:2.1s}
.bloodbond-connection[data-emotion="pain"] .bloodbond-thread-signal{stroke-width:6;stroke-dasharray:10 18;animation-duration:3.2s}
.bloodbond-connection[data-emotion="anger"] .bloodbond-thread-signal{stroke-width:8;stroke-dasharray:25 12;animation-duration:1.7s}
.bloodbond-connection[data-emotion="distress"] .bloodbond-thread-signal{stroke-width:5;stroke-dasharray:7 16 28 12;animation-duration:2.7s}
.bloodbond-connection[data-emotion="grief"] .bloodbond-thread-signal{stroke-width:5;stroke-dasharray:14 24;animation-duration:4.4s}
.bloodbond-connection[data-emotion="desire"] .bloodbond-thread-signal{stroke-width:6;stroke-dasharray:40 28;animation-duration:5.8s}
.bloodbond-connection[data-emotion="pleasure"] .bloodbond-thread-signal{stroke-width:7;stroke-dasharray:32 18;animation-duration:3.7s}
.bloodbond-core{
  position:absolute;z-index:5;left:50%;bottom:1.25rem;transform:translateX(-50%);
  width:min(760px,72%);padding:1.15rem 1.35rem;text-align:center;
  background:rgba(8,8,6,.86);border:1px solid rgba(225,179,90,.22);
  box-shadow:0 24px 75px rgba(0,0,0,.58);backdrop-filter:blur(13px)
}
.bloodbond-core h3{font-size:clamp(1.85rem,3.1vw,2.9rem);margin:.22rem 0 .5rem}
.bloodbond-core>p{line-height:1.55;margin:.35rem auto}
.bloodbond-facts{margin-top:.75rem;gap:.5rem}
.bloodbond-fact{padding:.62rem .7rem}
.bloodbond-emotions{margin-top:.8rem;gap:.4rem}
.bloodbond-emotion{padding:.52rem .65rem}
.bloodbond-emotion-result{min-height:2.8rem;margin:.72rem auto 0;font-size:1rem;text-align:center}
@media(max-width:900px){
  .bloodbond-connection{min-height:790px}
  .bloodbond-person{top:8%;width:165px}
  .bloodbond-person-chase{left:4%}.bloodbond-person-gabrielle{right:4%}
  .bloodbond-thread-svg{left:9%;right:9%;top:1%;width:82%;height:31%}
  .bloodbond-core{bottom:1rem;width:min(760px,88%)}
}
@media(max-width:620px){
  .bloodbond-connection{min-height:900px;padding:.75rem}
  .bloodbond-person{top:5%;width:130px}
  .bloodbond-person-chase{left:2%}.bloodbond-person-gabrielle{right:2%}
  .bloodbond-portrait-frame{width:104px;height:132px;border-width:4px}
  .bloodbond-person strong{font-size:.78rem}
  .bloodbond-thread-svg{left:4%;right:4%;top:1%;width:92%;height:24%}
  .bloodbond-core{bottom:.75rem;width:calc(100% - 1.5rem);padding:.95rem}
}
@media(prefers-reduced-motion:reduce){.bloodbond-thread-signal{animation:none!important}.bloodbond-thread-pulse{display:none!important}}


/* V86: remove the bright line that swept across the locket hover. The pulse and earring sparkle remain. */
.bloodbond-chain-glint{display:none!important}
