.black-market-entry {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 7600;
  min-width: 172px;
  padding: 10px 14px;
  border: 1px solid #5a1b28;
  border-left: 3px solid #8d2336;
  background: linear-gradient(180deg, rgba(29,31,35,.97), rgba(8,8,11,.98));
  color: #d8d8dc;
  font: 800 12px var(--font-machine, ui-monospace, monospace);
  letter-spacing: .16em;
  text-align: left;
  box-shadow: 0 8px 32px #000, inset 0 0 20px rgba(91,18,40,.12);
  cursor: pointer;
}
.black-market-entry small { display:block; margin-top:3px; color:#756d78; font-size:8px; letter-spacing:.2em; }
.black-market-entry:hover { border-color:#9e3045; color:#fff; }
.black-market-entry.has-unseen-tribute {
  border-color:#ff2448; color:#fff;
  background:linear-gradient(180deg,rgba(94,5,24,.96),rgba(22,3,9,.98));
  box-shadow:0 0 10px rgba(255,24,58,.65),0 0 28px rgba(255,18,54,.38),inset 0 0 18px rgba(255,28,64,.18);
  animation:bm-tribute-call 1.65s ease-in-out infinite;
}
.black-market-entry.has-unseen-tribute small { color:#ff8095; }
.black-market-entry.has-tribute-level:not(.has-unseen-tribute) {
  border-color:#b82d45;
  color:#fff;
  background:linear-gradient(180deg,rgba(53,13,24,.97),rgba(15,7,11,.98));
  box-shadow:0 0 12px rgba(184,45,69,.34),inset 0 0 18px rgba(156,30,52,.14);
}
.black-market-entry.has-tribute-level small {
  color:#ff8fa1;
  font-weight:900;
  text-shadow:0 0 8px rgba(255,70,100,.4);
}
@keyframes bm-tribute-call { 0%,100%{box-shadow:0 0 8px rgba(255,24,58,.45),0 0 20px rgba(255,18,54,.22),inset 0 0 14px rgba(255,28,64,.12)} 50%{box-shadow:0 0 16px rgba(255,34,68,.9),0 0 38px rgba(255,18,54,.52),inset 0 0 24px rgba(255,28,64,.24)} }
.black-market-entry.has-pending::after {
  content: attr(data-pending);
  position:absolute; top:-7px; right:-7px;
  min-width:20px; height:20px; line-height:20px; border-radius:50%;
  background:#7e1427; color:#fff; text-align:center; font-size:10px;
  box-shadow:0 0 14px rgba(153,27,51,.75);
}
.black-market-overlay {
  position:fixed; inset:0; z-index:9300;
  display:grid; place-items:center; padding:20px;
  background:rgba(1,1,3,.91);
  backdrop-filter:blur(8px) saturate(.75);
  overflow:auto;
}
.black-market-void {
  position:fixed; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 15% 18%, rgba(85,22,87,.16), transparent 26%),
    radial-gradient(circle at 82% 72%, rgba(111,18,38,.15), transparent 32%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 22px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.01) 0 1px, transparent 1px 26px);
  animation:bm-void 8s steps(2,end) infinite;
}
@keyframes bm-void { 0%,94%,100%{filter:none} 95%{filter:contrast(1.7) hue-rotate(12deg);transform:translateX(1px)} 96%{transform:translateX(-2px)} }
.black-market-room {
  position:relative; width:min(1120px,96vw); max-height:92vh; overflow:auto;
  border:1px solid #51404d; border-left:5px solid #a42d4a;
  background:
    linear-gradient(90deg, transparent 0 98%, rgba(123,28,55,.08)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 5px),
    linear-gradient(145deg,#1a1c20,#09090d 52%,#050508);
  color:#e4e0e6; box-shadow:0 34px 100px #000, 0 0 44px rgba(105,18,61,.18), inset 0 0 70px rgba(0,0,0,.65);
}
.black-market-room::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(115deg,transparent 46%,rgba(107,30,83,.06) 48%,transparent 50%);
}
.black-market-room header {
  position:sticky; top:0; z-index:2;
  display:flex; justify-content:space-between; align-items:center;
  padding:28px 34px 24px; border-bottom:1px solid #402b38;
  background:rgba(10,10,14,.96); backdrop-filter:blur(8px);
}
.black-market-room header small { color:#b47696; letter-spacing:.28em; font-size:11px; }
.black-market-room h2 { margin:7px 0 0; color:#fff9ff; font-size:30px; letter-spacing:.3em; text-shadow:0 0 20px rgba(204,76,132,.2); }
.black-market-room header button { border:1px solid #69404d; background:#160d13; color:#d0aeb9; width:44px; height:44px; font-size:27px; cursor:pointer; transition:.18s ease; }
.black-market-room header button:hover { border-color:#c44967; color:#fff; background:#35121e; box-shadow:0 0 18px rgba(211,43,85,.25); }
#black-market-body { padding:30px 34px 42px; }
.bm-intro { position:relative; padding:22px 24px; border:1px solid #493541; background:linear-gradient(105deg,rgba(38,13,24,.72),#0b0b0f 48%); box-shadow:inset 4px 0 0 #a93453; }
.bm-intro::after { content:"PRIVATE // ENCRYPTED"; position:absolute; right:22px; top:20px; color:#5e4856; font:800 9px var(--font-machine,monospace); letter-spacing:.2em; }
.bm-intro b { color:#f06f91; font-size:20px; letter-spacing:.22em; text-shadow:0 0 14px rgba(224,55,102,.22); }
.bm-intro p { margin:10px 0 0; color:#bbb1bb; font-size:18px; line-height:1.5; }
.black-market-room h3 { display:flex; align-items:center; gap:12px; margin:32px 0 13px; color:#b9a9b8; font-size:13px; letter-spacing:.3em; }
.black-market-room h3::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,#48313e,transparent); }
.bm-petition { display:grid; grid-template-columns:1fr 190px; gap:12px; margin-top:16px; }
.bm-petition label { display:grid; gap:8px; color:#a898a8; font-size:11px; letter-spacing:.18em; }
.bm-petition label:last-of-type { grid-column:1/-1; }
.bm-petition input,.bm-petition select,.bm-petition textarea {
  width:100%; box-sizing:border-box; border:1px solid #34323a; background:#08090c; color:#ddd9e0;
  padding:13px 14px; font:600 15px var(--font-machine,ui-monospace,monospace); outline:none;
}
.bm-petition textarea { min-height:110px; resize:vertical; }
.bm-petition input:focus,.bm-petition select:focus,.bm-petition textarea:focus { border-color:#743147; }
.bm-petition>button { grid-column:1/-1; justify-self:end; }
.bm-ledger { display:grid; gap:16px; }
.bm-pact { position:relative; padding:22px; border:1px solid #403541; background:linear-gradient(110deg,#121016,#090a0e 70%); box-shadow:inset 4px 0 0 #713044,0 12px 26px rgba(0,0,0,.22); }
.bm-pact::after { content:""; position:absolute; right:0; bottom:0; width:42px; height:42px; border-right:1px solid #6f3447; border-bottom:1px solid #6f3447; opacity:.48; pointer-events:none; }
.bm-pact-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.bm-pact-head small { display:block; color:#a87991; font-size:11px; letter-spacing:.2em; }
.bm-pact-head b { display:block; margin-top:7px; color:#f0eaf0; font-size:18px; letter-spacing:.1em; }
.bm-pact-head span { max-width:44%; padding:5px 8px; border:1px solid rgba(205,67,99,.28); color:#ed6685; background:rgba(111,19,43,.14); font-size:11px; line-height:1.4; letter-spacing:.16em; text-align:right; }
.bm-pact p { margin:17px 0 0; color:#cbc2cc; font-size:18px; line-height:1.6; white-space:pre-wrap; }
.bm-pact blockquote { margin:16px 0 0; padding:13px 15px; border-left:3px solid #8c4968; background:#0d090f; color:#d5c8d5; font-size:16px; line-height:1.55; }
.bm-pact em { display:block; margin-top:13px; color:#d07588; font-style:normal; font-size:13px; }
.bm-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.bm-actions button,.bm-petition>button {
  border:1px solid #704052; background:linear-gradient(180deg,#21131a,#120d12); color:#e1cad3; padding:12px 16px;
  font:800 12px var(--font-machine,ui-monospace,monospace); letter-spacing:.14em; cursor:pointer;
}
.bm-actions button:hover,.bm-petition>button:hover { border-color:#9a3a54; color:#fff; }
.bm-tribute-preview { display:block; max-width:min(420px,100%); max-height:360px; object-fit:contain; margin:14px auto 0; border:1px solid #4c2531; background:#020203; }
.bm-empty { padding:24px; border:1px dashed #463640; color:#8e808c; text-align:center; letter-spacing:.2em; font-size:12px; }
.black-market-toast { position:fixed; left:50%; bottom:84px; z-index:9500; transform:translate(-50%,18px); opacity:0; padding:10px 14px; border:1px solid #6e273b; background:#0c090d; color:#d7b8c1; font:800 11px var(--font-machine,monospace); letter-spacing:.14em; transition:.18s; pointer-events:none; }
.black-market-toast.show { opacity:1; transform:translate(-50%,0); }
@media(max-width:700px){
  :where(html:not(.asoc-mobile)) .bm-petition{grid-template-columns:1fr}
  :where(html:not(.asoc-mobile)) .bm-petition label,:where(html:not(.asoc-mobile)) .bm-petition label:last-of-type,:where(html:not(.asoc-mobile)) .bm-petition>button{grid-column:1}
  :where(html:not(.asoc-mobile)) .bm-pact-head{display:grid}
  :where(html:not(.asoc-mobile)) .bm-pact-head span{max-width:none;text-align:left}
  :where(html:not(.asoc-mobile)) .black-market-entry{right:10px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){.black-market-void,.bm-tribute-meter i{animation:none!important}}

body:has(#black-market-gm-button) #black-market-gm-button.black-market-command-btn { position:static; right:auto; bottom:auto; z-index:auto; width:100%; min-width:0; min-height:46px; height:100%; margin:0 !important; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; border-color:#4d2741; border-left-width:1px; background:linear-gradient(180deg,rgba(31,18,35,.98),rgba(10,8,13,.99)); box-shadow:inset 0 0 18px rgba(116,42,94,.12),0 0 14px rgba(0,0,0,.28); }
body:has(#black-market-gm-button) #black-market-gm-button.black-market-command-btn span { color:#d8b9df; letter-spacing:.18em; }
body:has(#black-market-gm-button) #black-market-gm-button.black-market-command-btn small { margin:0; color:#7d667f; }
body:has(#black-market-gm-button) #black-market-gm-button.black-market-command-btn:hover { border-color:#8d4b79; box-shadow:inset 0 0 22px rgba(138,55,111,.18),0 0 16px rgba(100,34,83,.18); }

/* VOID RELIQUARY // GM COMMAND BUTTON */
#black-market-gm-button.black-market-command-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(128, 52, 105, .72) !important;
  background-image:
    linear-gradient(rgba(4,3,7,.12), rgba(4,3,7,.12)),
    url('../assets/black-market-void.svg?v=20260929-void-reliquary-3') !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow:
    inset 0 0 0 1px rgba(224, 126, 206, .08),
    inset 0 0 20px rgba(22, 0, 31, .46),
    0 0 14px rgba(75, 17, 71, .18) !important;
  transform: translateZ(0);
  transition: transform .16s ease, filter .28s ease, box-shadow .28s ease, border-color .28s ease;
}
#black-market-gm-button.black-market-command-btn::before {
  content:"";
  position:absolute;
  inset:-35% -15%;
  z-index:1;
  pointer-events:none;
  opacity:.15;
  background:
    radial-gradient(circle at 50% 50%, rgba(189,55,209,.34), transparent 24%),
    repeating-linear-gradient(98deg, transparent 0 18px, rgba(169,45,192,.16) 19px 20px, transparent 21px 43px);
  filter: blur(1px);
  animation: bmReliquaryIdle 5.4s ease-in-out infinite;
}
#black-market-gm-button.black-market-command-btn::after {
  content:"";
  position:absolute;
  left:50%; top:6px; bottom:6px;
  width:1px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(255,31,95,.34), rgba(168,58,224,.42), transparent);
  box-shadow:0 0 7px rgba(173,48,222,.28), 0 0 13px rgba(120,0,62,.18);
  opacity:.42;
  transform:translateX(-50%) scaleY(.82);
  animation: bmSealBreath 4.8s ease-in-out infinite;
}
#black-market-gm-button.black-market-command-btn span,
#black-market-gm-button.black-market-command-btn small {
  position:relative;
  z-index:4;
  text-shadow:0 1px 2px #000, 0 0 6px rgba(191,75,202,.36);
}
#black-market-gm-button.black-market-command-btn span {
  color:#f2e6f0 !important;
  font-size:10px;
  letter-spacing:.18em;
}
#black-market-gm-button.black-market-command-btn small {
  color:#a48aa9 !important;
  font-size:7px;
  letter-spacing:.21em;
}
#black-market-gm-button.black-market-command-btn:hover {
  filter: brightness(1.2) saturate(1.22) contrast(1.08);
  border-color:rgba(184,70,153,.98) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,140,219,.13),
    inset 0 0 24px rgba(65,0,86,.38),
    0 0 10px rgba(157,41,177,.34),
    0 0 22px rgba(96,18,84,.25) !important;
  animation: bmMicroGlitch 2.9s steps(1,end) infinite;
}
#black-market-gm-button.black-market-command-btn:hover::before {
  opacity:.42;
  animation: bmVeinsAwake .82s ease-out both, bmReliquaryIdle 3.4s ease-in-out .82s infinite;
}
#black-market-gm-button.black-market-command-btn:hover::after {
  opacity:.92;
  width:2px;
  transform:translateX(-50%) scaleY(1);
  box-shadow:0 0 8px rgba(255,42,113,.7), 0 0 18px rgba(166,48,231,.62);
}
#black-market-gm-button.black-market-command-btn:active,
#black-market-gm-button.black-market-command-btn.bm-opening {
  transform:scale(.985);
  filter:brightness(1.34) saturate(1.28) contrast(1.12);
  box-shadow:
    inset 0 0 0 1px rgba(255,161,224,.16),
    inset 0 0 34px rgba(81,0,95,.54),
    0 0 14px rgba(219,42,120,.42),
    0 0 30px rgba(120,36,196,.38) !important;
}
#black-market-gm-button.black-market-command-btn:active::after,
#black-market-gm-button.black-market-command-btn.bm-opening::after {
  width:4px;
  opacity:1;
  box-shadow:0 0 9px rgba(255,60,121,.95),0 0 22px rgba(180,68,255,.88),0 0 34px rgba(104,18,137,.7);
  animation:bmSealOpen .34s ease-out both;
}
@keyframes bmReliquaryIdle {
  0%,100%{opacity:.12;transform:translateX(-1.4%) scale(1)}
  50%{opacity:.23;transform:translateX(1.4%) scale(1.018)}
}
@keyframes bmSealBreath {
  0%,100%{opacity:.25;transform:translateX(-50%) scaleY(.72)}
  50%{opacity:.55;transform:translateX(-50%) scaleY(1)}
}
@keyframes bmVeinsAwake {
  0%{opacity:.15;filter:blur(2px) brightness(.8)}
  45%{opacity:.55;filter:blur(.4px) brightness(1.45)}
  100%{opacity:.4;filter:blur(1px) brightness(1.1)}
}
@keyframes bmMicroGlitch {
  0%,91%,100%{transform:translateZ(0)}
  92%{transform:translateX(1px)}
  93%{transform:translateX(-1px)}
  94%{transform:translateZ(0)}
}
@keyframes bmSealOpen {
  0%{transform:translateX(-50%) scaleY(.88);filter:brightness(1)}
  55%{transform:translateX(-50%) scaleY(1.12);filter:brightness(1.8)}
  100%{transform:translateX(-50%) scaleY(1);filter:brightness(1.15)}
}
@media (prefers-reduced-motion: reduce) {
  #black-market-gm-button.black-market-command-btn,
  #black-market-gm-button.black-market-command-btn::before,
  #black-market-gm-button.black-market-command-btn::after { animation:none !important; }
}


/* VOID RELIQUARY FINAL HARDENING
   Keep the generated reliquary art as the actual surface; animated energy lives above it. */
#black-market-gm-button.black-market-command-btn {
  background-color:#050407 !important;
  background-image:
    linear-gradient(180deg,rgba(4,3,7,.03),rgba(4,3,7,.16)),
    url('../assets/black-market-void.svg?v=20260929-void-reliquary-3') !important;
  background-size:100% 100% !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
#black-market-gm-button.black-market-command-btn::before {
  z-index:1;
}


/* PLAYER BLACK MARKET ACCESS // Little Hero -> private Shadow Broker channel */
#black-market-player-button.black-market-player-control{
  position:relative!important;right:auto!important;bottom:auto!important;z-index:auto!important;
  flex:0 0 auto!important;width:132px!important;min-width:132px!important;height:34px!important;min-height:34px!important;
  padding:4px 10px 3px!important;margin:0!important;overflow:hidden;isolation:isolate;
  border:1px solid rgba(119,48,104,.78)!important;border-radius:4px!important;
  background-color:#050407!important;
  background-image:linear-gradient(180deg,rgba(4,3,7,.03),rgba(4,3,7,.16)),url('../assets/black-market-void.svg?v=20260929-player-access-1')!important;
  background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;
  box-shadow:inset 0 0 12px rgba(104,35,112,.14),0 0 10px rgba(0,0,0,.28)!important;
  color:#eee9f1!important;text-align:center;line-height:1;
}
#black-market-player-button.black-market-player-control>span{
  position:relative;z-index:3;display:block;font:900 8px/1 var(--font-machine,ui-monospace,monospace)!important;
  letter-spacing:.13em!important;color:#f1e8f2!important;text-shadow:0 0 6px rgba(143,62,153,.45);
}
#black-market-player-button.black-market-player-control>small{
  position:relative;z-index:3;display:block;margin-top:3px;
  font:700 5px/1 var(--font-machine,ui-monospace,monospace)!important;letter-spacing:.12em!important;color:#a68da7!important;
}
#black-market-player-button.black-market-player-control::before{
  content:"";position:absolute;inset:-18% -8%;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 24% 48%,rgba(126,52,155,.22),transparent 24%),radial-gradient(circle at 76% 54%,rgba(111,25,62,.22),transparent 24%);
  opacity:.18;transform:scaleX(.93);animation:bmPlayerReliquaryIdle 5.2s ease-in-out infinite;
}
#black-market-player-button.black-market-player-control:hover,
#black-market-player-button.black-market-player-control:focus-visible{
  border-color:rgba(165,72,142,.95)!important;
  box-shadow:inset 0 0 16px rgba(125,45,133,.24),0 0 14px rgba(101,31,89,.28)!important;outline:none!important;
}
#black-market-player-button.black-market-player-control:hover::before,
#black-market-player-button.black-market-player-control:focus-visible::before{
  opacity:.62;animation:bmPlayerVeinsAwake .72s ease-out both,bmMicroGlitch 3.6s steps(1,end) infinite .8s;
}
#black-market-player-button.black-market-player-control.bm-opening{animation:bmPlayerSealOpen .42s cubic-bezier(.2,.8,.2,1) both;}
#black-market-player-button.black-market-player-control.has-pending::after{
  top:2px;right:3px;min-width:13px;height:13px;line-height:13px;font-size:7px;z-index:5;
}
@keyframes bmPlayerReliquaryIdle{0%,100%{opacity:.12;transform:scaleX(.93)}48%{opacity:.25;transform:scaleX(.99)}52%{opacity:.30;transform:scaleX(1)}}
@keyframes bmPlayerVeinsAwake{from{opacity:.18;transform:scaleX(.94);filter:brightness(.9)}to{opacity:.66;transform:scaleX(1.04);filter:brightness(1.35)}}
@keyframes bmPlayerSealOpen{0%{transform:scale(1);filter:brightness(1)}34%{transform:scale(.975,.93);filter:brightness(1.2)}58%{transform:scale(1.012,.98);filter:brightness(1.65) saturate(1.25)}100%{transform:scale(1);filter:brightness(1)}}
@media(max-width:760px){:where(html:not(.asoc-mobile)) #black-market-player-button.black-market-player-control{flex:1 1 112px!important;width:auto!important;min-width:112px!important}}


/* PLAYER BLACK MARKET CHAMBER HARDENING
   Stable viewport: state sync may rerender contents, never the room itself. */
body:has(#black-market-player-button) #black-market-overlay.black-market-overlay{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  padding:24px!important;
  margin:0!important;
  overflow:hidden!important;
  z-index:20000!important;
  background:rgba(1,1,4,.94)!important;
  backdrop-filter:blur(10px) saturate(.72)!important;
  transform:none!important;
  contain:none!important;
}
body:has(#black-market-player-button) #black-market-overlay .black-market-void{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  pointer-events:none!important;
}
body:has(#black-market-player-button) #black-market-overlay .black-market-room{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(980px,calc(100vw - 48px))!important;
  height:min(720px,calc(100dvh - 48px))!important;
  min-height:min(560px,calc(100dvh - 48px))!important;
  max-height:calc(100dvh - 48px)!important;
  margin:0!important;
  overflow:hidden!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body:has(#black-market-player-button) #black-market-overlay .black-market-room>header{
  flex:0 0 auto!important;
  position:relative!important;
  top:auto!important;
}
body:has(#black-market-player-button) #black-market-overlay #black-market-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  scrollbar-gutter:stable!important;
}
body:has(#black-market-player-button) #black-market-overlay .bm-ledger{
  align-content:start!important;
}
@media(max-height:640px){
  body:has(#black-market-player-button) #black-market-overlay.black-market-overlay{padding:12px!important}
  body:has(#black-market-player-button) #black-market-overlay .black-market-room{
    width:min(980px,calc(100vw - 24px))!important;
    height:calc(100dvh - 24px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 24px)!important;
  }
}


/* GM BLACK MARKET PENDING PETITION ALERT */
#black-market-gm-button.bm-has-pending{
  border-color:#ff354f!important;
  box-shadow:
    inset 0 0 18px rgba(255,20,45,.30),
    0 0 10px rgba(255,25,50,.45),
    0 0 22px rgba(255,20,45,.28)!important;
  animation:bmPendingRedGlow 1.15s ease-in-out infinite!important;
}
#black-market-gm-button.bm-has-pending::before{
  opacity:.78!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,30,55,.24),transparent 34%),
    radial-gradient(circle at 18% 50%,rgba(160,18,42,.20),transparent 28%),
    radial-gradient(circle at 82% 50%,rgba(160,18,42,.20),transparent 28%)!important;
}
#black-market-gm-button.bm-has-pending span,
#black-market-gm-button.bm-has-pending small{
  color:#ffd8de!important;
  text-shadow:0 0 6px rgba(255,34,58,.75),0 0 12px rgba(255,34,58,.45)!important;
}
@keyframes bmPendingRedGlow{
  0%,100%{
    filter:brightness(1);
    box-shadow:inset 0 0 14px rgba(255,20,45,.22),0 0 8px rgba(255,25,50,.35),0 0 18px rgba(255,20,45,.20);
  }
  50%{
    filter:brightness(1.18) saturate(1.18);
    box-shadow:inset 0 0 24px rgba(255,20,45,.42),0 0 16px rgba(255,25,50,.70),0 0 32px rgba(255,20,45,.38);
  }
}


/* BLACK MARKET TRIBUTE CONSENT CHAMBER */
.bm-tribute-consent{
  position:fixed!important;
  inset:0!important;
  z-index:26000!important;
  display:grid!important;
  place-items:center!important;
  padding:24px!important;
  background:rgba(2,2,5,.82)!important;
  backdrop-filter:blur(8px) saturate(.75)!important;
}
.bm-tribute-consent-card{
  width:min(560px,calc(100vw - 48px));
  padding:28px 30px 26px;
  border:1px solid rgba(139,45,70,.72);
  border-left:4px solid #a92f4c;
  background:
    linear-gradient(180deg,rgba(23,8,15,.96),rgba(7,7,10,.98)),
    url('../assets/black-market-void.svg?v=20260929-tribute-consent-1') center/100% 100% no-repeat;
  box-shadow:0 0 36px rgba(132,25,54,.24),inset 0 0 28px rgba(100,25,62,.12);
  color:#e8e2e8;
}
.bm-tribute-consent-card>small{
  display:block;
  margin-bottom:10px;
  color:#9f758f;
  font:800 10px/1.2 var(--font-machine,ui-monospace,monospace);
  letter-spacing:.18em;
}
.bm-tribute-consent-card h3{
  margin:0 0 18px;
  color:#ef6f88;
  font:900 19px/1.15 var(--font-machine,ui-monospace,monospace);
  letter-spacing:.11em;
}
.bm-tribute-consent-card p{
  margin:0 0 13px;
  color:#c9c0c8;
  font:700 14px/1.5 var(--font-display,system-ui,sans-serif);
}
.bm-tribute-consent-card .bm-tribute-consent-age{
  color:#a998a5;
  font-size:12px;
}
.bm-tribute-consent-actions{
  display:flex;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
.bm-tribute-consent-actions button{
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(143,50,76,.75);
  background:#120a0f;
  color:#f0dfe4;
  font:900 11px/1 var(--font-machine,ui-monospace,monospace);
  letter-spacing:.10em;
  cursor:pointer;
}
.bm-tribute-consent-actions button[data-bm-consent-open]{
  background:linear-gradient(180deg,#3a101c,#17080d);
  border-color:#c43c5d;
  box-shadow:0 0 14px rgba(197,50,83,.18);
}
.bm-tribute-consent-actions button:hover,
.bm-tribute-consent-actions button:focus-visible{
  outline:none;
  filter:brightness(1.18);
  box-shadow:0 0 18px rgba(208,55,87,.28);
}
@media(max-width:620px){
  :where(html:not(.asoc-mobile)) .bm-tribute-consent{padding:14px!important}
  :where(html:not(.asoc-mobile)) .bm-tribute-consent-card{width:calc(100vw - 28px);padding:22px 20px}
  :where(html:not(.asoc-mobile)) .bm-tribute-consent-actions{flex-direction:column}
  :where(html:not(.asoc-mobile)) .bm-tribute-consent-actions button{width:100%}
}

/* =========================================================
   BLACK MARKET // BLOOD SANCTUM (Shadow Broker and Little Hero sides)
   The Shadow Broker's side of the market is a desecrated shrine: crimson
   double frame with sigil corners, blood running from the rim, Elder
   Futhark rune bands, a slowly turning seal behind the title, wax-sealed
   petitions and rune-flanked chapter marks. Scoped to .is-sanctum.
   ========================================================= */
.is-sanctum .black-market-void {
  background:
    radial-gradient(60% 50% at 50% 38%, rgba(150, 8, 32, .30), transparent 70%),
    radial-gradient(120% 80% at 50% 120%, rgba(90, 0, 18, .55), transparent 60%),
    #050204 !important;
}
.is-sanctum .black-market-room {
  position: relative;
  border: 1px solid #7a0d22 !important;
  outline: 1px solid rgba(255, 42, 74, .22);
  outline-offset: 6px;
  background:
    radial-gradient(70% 45% at 50% 0%, rgba(120, 6, 26, .35), transparent 70%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .012) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, #120509, #070305 60%, #0b0306) !important;
  box-shadow:
    0 0 0 1px #1a0207,
    0 0 60px rgba(170, 10, 40, .28),
    inset 0 0 80px rgba(120, 0, 24, .35) !important;
  overflow: hidden;
}
.is-sanctum .black-market-room::before { display: none !important; }

/* Blood running from the top rim. */
.is-sanctum .bm-drips {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 54px;
  z-index: 3;
  background: url('../assets/ui/bm-drips.svg') repeat-x 0 0 / 600px 54px;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .6));
  pointer-events: none;
}
/* Sigil corners. */
.is-sanctum .bm-corner {
  position: absolute;
  z-index: 4;
  width: 78px;
  height: 78px;
  background: url('../assets/ui/bm-corner.svg') no-repeat center / contain;
  filter: drop-shadow(0 0 6px rgba(255, 42, 74, .55));
  pointer-events: none;
}
.is-sanctum .bm-corner.tl { top: 8px; left: 8px; }
.is-sanctum .bm-corner.tr { top: 8px; right: 8px; transform: scaleX(-1); }
.is-sanctum .bm-corner.bl { bottom: 8px; left: 8px; transform: scaleY(-1); }
.is-sanctum .bm-corner.br { bottom: 8px; right: 8px; transform: scale(-1, -1); }
/* The seal turning behind the title. */
.is-sanctum .bm-sigil {
  position: absolute;
  z-index: 0;
  top: -150px;
  right: 6%;
  width: 420px;
  height: 420px;
  background: url('../assets/ui/bm-sigil.svg') no-repeat center / contain;
  opacity: .16;
  filter: drop-shadow(0 0 14px rgba(255, 42, 74, .8));
  animation: bm-sigil-turn 90s linear infinite;
  pointer-events: none;
}
@keyframes bm-sigil-turn { to { transform: rotate(360deg); } }

/* Header: a title that bleeds. */
.is-sanctum .black-market-room > header {
  position: relative;
  z-index: 2;
  padding-top: 64px !important;
  border-bottom: 0 !important;
  background: transparent !important;
}
.is-sanctum .black-market-room header small { color: #ff5470 !important; letter-spacing: .42em !important; text-shadow: 0 0 10px rgba(255, 42, 74, .5); }
.is-sanctum .black-market-room h2 {
  color: #f6e3e6 !important;
  font-size: 40px !important;
  letter-spacing: .38em !important;
  text-shadow: 0 0 2px #fff, 0 0 18px rgba(255, 30, 60, .55), 0 3px 0 #5a0012, 0 6px 18px rgba(0, 0, 0, .8) !important;
}
.is-sanctum .black-market-room header button {
  position: relative;
  z-index: 5;
  border-color: #8b1028 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 50% 35%, #3a0610, #120206) !important;
  color: #ff8095 !important;
  box-shadow: 0 0 0 4px rgba(139, 16, 40, .18), 0 0 18px rgba(255, 30, 60, .25) !important;
}
.is-sanctum .black-market-room header button:hover { color: #fff !important; box-shadow: 0 0 0 4px rgba(255, 42, 74, .28), 0 0 26px rgba(255, 30, 60, .5) !important; }

/* Rune bands above and below the body. */
.is-sanctum .bm-runeband {
  position: relative;
  z-index: 2;
  height: 30px;
  margin: 0 34px;
  border-block: 1px solid rgba(255, 42, 74, .28);
  background: url('../assets/ui/bm-runes.svg') repeat-x 0 center / auto 26px;
  filter: drop-shadow(0 0 4px rgba(255, 42, 74, .7));
  opacity: .85;
  animation: bm-rune-flow 40s linear infinite;
}
.is-sanctum .bm-runeband:last-child { margin-bottom: 26px; animation-direction: reverse; }
@keyframes bm-rune-flow { to { background-position: 464px center; } }
.is-sanctum #black-market-body { position: relative; z-index: 2; }

/* SEALED PETITIONS: an altar plaque under a wax seal. */
.is-sanctum .bm-intro {
  padding: 26px 28px 26px 112px !important;
  border: 1px solid #6e0c20 !important;
  background:
    linear-gradient(100deg, rgba(110, 6, 26, .45), rgba(16, 4, 8, .9) 55%),
    repeating-linear-gradient(90deg, rgba(255, 42, 74, .04) 0 1px, transparent 1px 22px) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .6), inset 0 0 40px rgba(120, 0, 24, .4), 0 10px 30px rgba(0, 0, 0, .5) !important;
}
.is-sanctum .bm-intro::after { content: "SEALED // IN BLOOD" !important; color: #a3243c !important; }
.is-sanctum .bm-wax {
  position: absolute;
  left: 22px;
  top: 50%;
  width: 70px;
  height: 70px;
  transform: translateY(-50%) rotate(-8deg);
  border-radius: 46% 54% 50% 50% / 52% 48% 54% 46%;
  background:
    url('../assets/ui/bm-sigil.svg') no-repeat center / 76%,
    radial-gradient(circle at 36% 30%, #e0213f, #8f0a22 52%, #4d0410 100%);
  box-shadow: 0 0 0 3px rgba(77, 4, 16, .65), 0 6px 14px rgba(0, 0, 0, .6), inset 0 -4px 8px rgba(0, 0, 0, .45), inset 0 3px 6px rgba(255, 140, 150, .25);
  filter: saturate(1.1);
}
.is-sanctum .bm-intro b { color: #ff4864 !important; font-size: 24px !important; letter-spacing: .3em !important; text-shadow: 0 0 16px rgba(255, 30, 60, .55) !important; }
.is-sanctum .bm-intro p { color: #d9c3c8 !important; }

/* Chapter marks: rune, title, a bleeding rule, rune. */
.is-sanctum .black-market-room h3 {
  color: #f0d6db !important;
  letter-spacing: .4em !important;
  text-shadow: 0 0 10px rgba(255, 42, 74, .35);
}
.is-sanctum .black-market-room h3::before {
  content: "";
  flex: 0 0 18px;
  height: 26px;
  background: url('../assets/ui/bm-runes.svg') no-repeat -6px center / auto 26px;
  filter: drop-shadow(0 0 4px rgba(255, 42, 74, .8));
}
.is-sanctum .black-market-room h3::after {
  height: 2px !important;
  background:
    radial-gradient(circle, #ff2a4a 0 3px, transparent 3.5px) right center / 10px 10px no-repeat,
    linear-gradient(90deg, #b3112b, rgba(179, 17, 43, .15) 85%, transparent) !important;
  box-shadow: 0 0 8px rgba(255, 42, 74, .45);
}

/* Empty states: a dormant seal. */
.is-sanctum .bm-empty {
  position: relative;
  padding: 34px 24px 30px !important;
  border: 1px solid rgba(139, 16, 40, .5) !important;
  border-style: double !important;
  border-width: 3px !important;
  background:
    url('../assets/ui/bm-sigil.svg') no-repeat center / 120px,
    radial-gradient(50% 120% at 50% 50%, rgba(110, 6, 26, .28), transparent 70%) !important;
  color: #e3a7b2 !important;
  letter-spacing: .36em !important;
  text-shadow: 0 0 10px rgba(255, 42, 74, .55), 0 0 2px #000;
  animation: bm-candle 4.5s ease-in-out infinite;
}
@keyframes bm-candle { 0%, 100% { background-size: 120px, 100% 100%; filter: brightness(1); } 50% { background-size: 124px, 100% 100%; filter: brightness(1.18); } }

/* Pacts: blood-rimmed tablets. */
.is-sanctum .bm-pact {
  border: 1px solid #5e0a1c !important;
  background:
    radial-gradient(70% 120% at 0% 0%, rgba(120, 6, 26, .28), transparent 60%),
    linear-gradient(110deg, #140609, #080406 70%) !important;
  box-shadow: inset 4px 0 0 #b3112b, inset 0 0 0 1px rgba(0, 0, 0, .6), 0 14px 30px rgba(0, 0, 0, .45) !important;
}
.is-sanctum .bm-pact::after {
  width: 54px !important;
  height: 54px !important;
  border: 0 !important;
  background: url('../assets/ui/bm-corner.svg') no-repeat center / contain;
  transform: scale(-1, -1);
  opacity: .55 !important;
}
.is-sanctum .bm-pact-head span { border-color: #8b1028 !important; background: radial-gradient(circle at 30% 30%, rgba(224, 33, 63, .35), rgba(77, 4, 16, .6)) !important; color: #ffd0d8 !important; }
.is-sanctum .bm-actions button {
  border-color: #8b1028 !important;
  background: linear-gradient(180deg, #3a0610, #170206) !important;
  color: #ffc2cc !important;
  letter-spacing: .18em;
}
.is-sanctum .bm-actions button:hover { border-color: #ff2a4a !important; color: #fff !important; box-shadow: 0 0 16px rgba(255, 42, 74, .35); }

@media (prefers-reduced-motion: reduce) {
  .is-sanctum .bm-sigil, .is-sanctum .bm-runeband, .is-sanctum .bm-empty { animation: none; }
}
/* Bottom band clears the corner sigils; empty-state seal sits under a veil. */
.is-sanctum .bm-runeband:last-child { margin: 0 96px 34px; }
.is-sanctum .bm-empty {
  background:
    radial-gradient(40% 60% at 50% 50%, rgba(8, 2, 4, .78), rgba(8, 2, 4, .35) 70%, transparent),
    url('../assets/ui/bm-sigil.svg') no-repeat center / 120px,
    radial-gradient(50% 120% at 50% 50%, rgba(110, 6, 26, .28), transparent 70%) !important;
}
@keyframes bm-candle { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.2); } }

/* Little Hero side: the room is a flex column with a scrolling body, so the
   bands keep their height; the petition form is written in blood too. */
.is-sanctum .bm-runeband { flex: 0 0 auto; }
.is-sanctum .bm-drips, .is-sanctum .bm-corner, .is-sanctum .bm-sigil { flex: none; }
.is-sanctum .bm-petition label { color: #e3a7b2 !important; letter-spacing: .24em !important; }
.is-sanctum .bm-petition :is(input, select, textarea) {
  border: 1px solid #5e0a1c !important;
  background: linear-gradient(180deg, rgba(30, 4, 10, .85), rgba(10, 3, 6, .95)) !important;
  color: #f6e3e6 !important;
  box-shadow: inset 0 0 18px rgba(120, 0, 24, .3) !important;
}
.is-sanctum .bm-petition :is(input, select, textarea):focus {
  outline: none;
  border-color: #ff2a4a !important;
  box-shadow: inset 0 0 18px rgba(120, 0, 24, .3), 0 0 0 3px rgba(255, 42, 74, .16) !important;
}
.is-sanctum .bm-petition :is(input, textarea)::placeholder { color: #8c5560; }
.is-sanctum .bm-petition > button {
  padding: 12px 22px !important;
  border: 1px solid #ff2a4a !important;
  background: radial-gradient(circle at 50% 30%, #b3112b, #4d0410) !important;
  color: #fff !important;
  letter-spacing: .26em !important;
  text-shadow: 0 0 8px rgba(255, 120, 140, .6);
  box-shadow: 0 0 22px rgba(255, 30, 60, .3), inset 0 -3px 8px rgba(0, 0, 0, .4) !important;
}
.is-sanctum .bm-petition > button:hover { box-shadow: 0 0 30px rgba(255, 30, 60, .5), inset 0 -3px 8px rgba(0, 0, 0, .4) !important; }

/* The sanctum frame fits the screen; only the ledger scrolls inside it, so
   long ledgers (and their action buttons) are always reachable. */
.is-sanctum .black-market-room {
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100dvh - 48px) !important;
}
.is-sanctum .black-market-room > header { flex: 0 0 auto !important; }
.is-sanctum #black-market-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-color: #8b1028 #12050a;
  scrollbar-gutter: stable;
}
.is-sanctum #black-market-body::-webkit-scrollbar { width: 10px; }
.is-sanctum #black-market-body::-webkit-scrollbar-track { background: #12050a; }
.is-sanctum #black-market-body::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #b3112b, #5e0a1c); border: 2px solid #12050a; border-radius: 6px; }


/* GM DEBT CALLER + LITTLE HERO BLOOD TRIBUTE DEMAND */
.bm-demand-tribute{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(280px,1.3fr) auto;gap:10px;align-items:end;padding:18px;border:1px solid #6e0c20;background:linear-gradient(105deg,rgba(80,4,18,.28),rgba(8,3,5,.9));box-shadow:inset 4px 0 0 #b3112b}
.bm-demand-tribute label{display:grid;gap:7px;color:#d69aa6;font:800 10px var(--font-machine,monospace);letter-spacing:.18em}
.bm-demand-tribute :is(select,input){min-height:42px;border:1px solid #5e0a1c;background:#090305;color:#f6e3e6;padding:0 12px;font:700 13px var(--font-machine,monospace);outline:none}
.bm-demand-tribute :is(select,input):focus{border-color:#ff2a4a;box-shadow:0 0 0 3px rgba(255,42,74,.12)}
.bm-demand-tribute button{min-height:42px;padding:0 18px;border:1px solid #ff2a4a;background:linear-gradient(180deg,#8b1028,#32040d);color:#fff;font:900 11px var(--font-machine,monospace);letter-spacing:.12em;cursor:pointer;box-shadow:0 0 18px rgba(255,30,60,.2)}
.bm-demand-tribute button:hover{filter:brightness(1.2);box-shadow:0 0 24px rgba(255,30,60,.38)}
.bm-demand-tribute button:disabled{opacity:.4;cursor:not-allowed}
.bm-demand-notice{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 45%,rgba(115,0,22,.38),rgba(0,0,0,.94) 62%);backdrop-filter:blur(7px)}
.bm-demand-notice-card{width:min(620px,calc(100vw - 48px));padding:42px 38px 36px;text-align:center;border:1px solid #b3112b;outline:1px solid rgba(255,42,74,.25);outline-offset:6px;background:radial-gradient(circle at 50% 0%,rgba(130,8,30,.34),transparent 45%),linear-gradient(180deg,#160509,#070305);box-shadow:0 0 70px rgba(255,20,45,.28),inset 0 0 55px rgba(100,0,20,.35)}
.bm-demand-notice-card small{display:block;color:#ff5470;font:800 10px var(--font-machine,monospace);letter-spacing:.3em}
.bm-demand-notice-card h2{margin:18px 0 16px;color:#fff0f2;font:900 34px var(--font-machine,monospace);letter-spacing:.16em;text-shadow:0 0 2px #fff,0 0 24px rgba(255,30,60,.7)}
.bm-demand-notice-card p{margin:0 auto 18px;max-width:500px;color:#d9c3c8;font:700 16px/1.55 var(--font-display,system-ui,sans-serif)}
.bm-demand-notice-card b{display:block;margin:0 0 26px;color:#ff738a;font:900 12px var(--font-machine,monospace);letter-spacing:.22em}
.bm-demand-notice-card button{min-height:46px;padding:0 22px;border:1px solid #ff2a4a;background:linear-gradient(180deg,#8b1028,#32040d);color:#fff;font:900 11px var(--font-machine,monospace);letter-spacing:.16em;cursor:pointer;box-shadow:0 0 22px rgba(255,30,60,.3)}
.bm-demand-notice-card button:hover{filter:brightness(1.22);box-shadow:0 0 32px rgba(255,30,60,.5)}
@media(max-width:760px){.bm-demand-tribute{grid-template-columns:1fr}.bm-demand-tribute button{width:100%}.bm-demand-notice-card{padding:32px 22px}.bm-demand-notice-card h2{font-size:25px}}


/* BLOOD TRIBUTE DELIVERY LEDGER + SEVERITY SCALE */
.bm-tribute-level{display:inline-block;margin:14px 0 0;padding:7px 10px;border:1px solid #781126;background:linear-gradient(180deg,rgba(118,8,28,.28),rgba(20,3,8,.7));color:#ff8396;font:900 10px var(--font-machine,monospace);letter-spacing:.18em;box-shadow:inset 0 0 14px rgba(130,0,28,.2)}
.bm-delivery{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0;padding:10px 12px;border:1px solid #3e252d;background:rgba(0,0,0,.28)}
.bm-delivery span{display:flex;align-items:center;gap:9px;min-height:28px;padding:0 10px;border:1px solid #554048;background:#0b080a}
.bm-delivery b{color:#d9c8ce;font:900 10px var(--font-machine,monospace);letter-spacing:.13em}
.bm-delivery small{color:#88767c;font:700 9px var(--font-machine,monospace);letter-spacing:.08em}
.bm-delivery .is-seen{border-color:#226f45;background:rgba(9,56,32,.25)}
.bm-delivery .is-seen b{color:#65d694}
.bm-delivery .is-unseen{border-color:#7d182b;background:rgba(85,7,22,.2)}
.bm-delivery .is-unseen b{color:#ff718a}
.bm-demand-level{display:inline-block;margin:2px 0 18px;padding:8px 14px;border:1px solid #ff2a4a;background:rgba(110,5,24,.35);color:#ff9bac;font:900 12px var(--font-machine,monospace);letter-spacing:.26em;box-shadow:0 0 20px rgba(255,30,60,.2)}
.bm-player-rating{margin:20px 0 24px;padding:18px 20px;border:1px solid #b51934;background:radial-gradient(circle at 50% 0,rgba(179,25,52,.18),transparent 60%),rgba(30,4,10,.72);box-shadow:0 0 26px rgba(177,17,45,.18),inset 0 0 22px rgba(110,5,24,.2)}
.bm-player-rating-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;color:#ff9bad;font:900 11px var(--font-machine,monospace);letter-spacing:.2em}
.bm-player-rating-head b{font-size:16px;color:#fff2f4;text-shadow:0 0 12px rgba(255,50,82,.65)}
.bm-player-rating-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.bm-player-rating-scale span{position:relative;display:grid;place-items:center;min-height:34px;border:1px solid #4e1b27;background:#13070b;color:#6f5058;box-shadow:inset 0 0 10px rgba(0,0,0,.55)}
.bm-player-rating-scale span.is-lit{border-color:#9d1b34;background:linear-gradient(180deg,#5b0b1c,#25060d);color:#ff95a8;box-shadow:inset 0 0 14px rgba(255,27,62,.16)}
.bm-player-rating-scale span.is-current{border-color:#ff3155;background:linear-gradient(180deg,#b51636,#4a0715);color:#fff;box-shadow:0 0 16px rgba(255,30,67,.55),inset 0 0 18px rgba(255,93,118,.18);transform:translateY(-2px)}
.bm-player-rating-scale i{font:900 11px var(--font-machine,monospace);font-style:normal}
.bm-player-rating>small{display:block;margin-top:10px;color:#9b6873;font:800 8px var(--font-machine,monospace);letter-spacing:.22em;text-align:right}
.bm-player-cause{margin-top:16px;padding-top:14px;border-top:1px solid rgba(181,25,52,.5);display:grid;gap:7px}
.bm-player-cause span{color:#c67488;font:900 9px var(--font-machine,monospace);letter-spacing:.24em}
.bm-player-cause b{color:#fff0f3;font:800 16px/1.45 var(--font-display,system-ui,sans-serif);letter-spacing:.01em;text-shadow:0 0 10px rgba(255,45,78,.18)}
.bm-demand-tribute{grid-template-columns:minmax(160px,.7fr) minmax(125px,.35fr) minmax(260px,1.25fr) auto}
@media(max-width:900px){.bm-demand-tribute{grid-template-columns:1fr 1fr}.bm-demand-tribute label:last-of-type{grid-column:1/-1}.bm-demand-tribute button{grid-column:1/-1}}

/* BLOOD TRIBUTE LEDGER // visual hierarchy pass. Presentation only. */
.is-sanctum .bm-pact{
  overflow:hidden;
  padding:28px 30px 30px!important;
  border-color:#731026!important;
  background:
    radial-gradient(540px 260px at 86% 2%,rgba(126,7,30,.13),transparent 72%),
    radial-gradient(520px 320px at 0 0,rgba(112,4,24,.23),transparent 62%),
    linear-gradient(118deg,#120507 0%,#080406 58%,#050305 100%)!important;
  box-shadow:inset 5px 0 0 #d01635,inset 0 0 0 1px rgba(255,38,70,.05),0 18px 44px rgba(0,0,0,.48)!important;
}
.is-sanctum .bm-pact::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:
    linear-gradient(90deg,transparent 0 72%,rgba(208,22,53,.035) 72% 72.2%,transparent 72.2%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px);
  mix-blend-mode:screen;
}
.is-sanctum .bm-pact-sigil{
  position:absolute;right:34px;top:72px;width:210px;height:210px;border:1px solid rgba(208,22,53,.08);border-radius:50%;opacity:.38;pointer-events:none;
  background:
    linear-gradient(45deg,transparent 49.5%,rgba(208,22,53,.12) 50%,transparent 50.5%),
    linear-gradient(-45deg,transparent 49.5%,rgba(208,22,53,.12) 50%,transparent 50.5%),
    radial-gradient(circle,transparent 0 33%,rgba(208,22,53,.08) 33.5% 34%,transparent 34.5% 49%,rgba(208,22,53,.08) 49.5% 50%,transparent 50.5%);
  transform:rotate(12deg);
}
.is-sanctum .bm-pact-head{position:relative;z-index:1;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(193,23,51,.28)}
.is-sanctum .bm-pact-head small{color:#a76e80!important;font-size:10px!important;letter-spacing:.26em!important;text-transform:uppercase}
.is-sanctum .bm-pact-head b{margin-top:9px!important;font-size:22px!important;letter-spacing:.075em!important;color:#f6e8ec!important;text-shadow:0 0 18px rgba(255,48,84,.08)}
.is-sanctum .bm-pact-head>span{position:relative;z-index:2;max-width:38%!important;padding:9px 13px!important;border:1px solid #94142d!important;background:linear-gradient(180deg,rgba(114,6,27,.72),rgba(49,2,12,.78))!important;color:#ffd5dc!important;box-shadow:inset 0 0 15px rgba(255,34,70,.07),0 0 18px rgba(157,12,39,.08);font-size:10px!important;letter-spacing:.18em!important}
.is-sanctum .bm-tribute-level{position:relative;z-index:1;display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 18px;width:min(470px,100%);margin:18px 0 0;padding:13px 16px 12px;border:1px solid #89122a;background:linear-gradient(180deg,rgba(101,7,26,.38),rgba(27,3,9,.78));box-shadow:inset 0 0 18px rgba(162,10,41,.1)}
.is-sanctum .bm-tribute-level>span{color:#ff7790;font:900 10px var(--font-machine,monospace);letter-spacing:.24em}
.is-sanctum .bm-tribute-level>b{justify-self:end;color:#ffd0d9;font:900 11px var(--font-machine,monospace);letter-spacing:.18em}
.is-sanctum .bm-tribute-meter{grid-column:1/-1;display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:7px}
.is-sanctum .bm-tribute-meter i{display:block;height:5px;border:1px solid rgba(141,34,54,.55);background:#16070b;box-shadow:inset 0 0 5px rgba(0,0,0,.65);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease}
.is-sanctum .bm-tribute-meter i.is-lit:nth-child(1),.is-sanctum .bm-tribute-meter i.is-lit:nth-child(2){border-color:#6f1826;background:linear-gradient(90deg,#461019,#711523);box-shadow:0 0 6px rgba(111,24,38,.18)}
.is-sanctum .bm-tribute-meter i.is-lit:nth-child(3),.is-sanctum .bm-tribute-meter i.is-lit:nth-child(4){border-color:#9c1b30;background:linear-gradient(90deg,#761322,#a81b31);box-shadow:0 0 7px rgba(156,27,48,.24)}
.is-sanctum .bm-tribute-meter i.is-lit:nth-child(5),.is-sanctum .bm-tribute-meter i.is-lit:nth-child(6){border-color:#d32042;background:linear-gradient(90deg,#a81832,#ef2a4e);box-shadow:0 0 9px rgba(239,42,78,.34)}
.is-sanctum .bm-tribute-meter i.is-lit:nth-child(7),.is-sanctum .bm-tribute-meter i.is-lit:nth-child(8){border-color:#ff5a36;background:linear-gradient(90deg,#e72c35,#ff6a3d);box-shadow:0 0 11px rgba(255,90,54,.44)}
.is-sanctum .bm-tribute-meter i.is-lit:nth-child(9){border-color:#ffb3a0;background:linear-gradient(90deg,#ff654b,#ffb3a0);box-shadow:0 0 14px rgba(255,179,160,.65);filter:saturate(1.12) brightness(1.1)}
.is-sanctum .bm-tribute-meter i.is-lit:nth-child(10){border-color:#fff1ed;background:linear-gradient(90deg,#ff9a84,#fff2ee);box-shadow:0 0 10px rgba(255,255,255,.9),0 0 22px rgba(255,72,60,.72);filter:brightness(1.16)}
.is-sanctum .bm-tribute-meter.is-level-5 i.is-lit:nth-child(5),.is-sanctum .bm-tribute-meter.is-level-6 i.is-lit:nth-child(6),.is-sanctum .bm-tribute-meter.is-level-7 i.is-lit:nth-child(7){animation:bm-tribute-heat 1.8s ease-in-out infinite}
.is-sanctum .bm-tribute-meter.is-level-8 i.is-lit:nth-child(7),.is-sanctum .bm-tribute-meter.is-level-8 i.is-lit:nth-child(8),.is-sanctum .bm-tribute-meter.is-level-9 i.is-lit:nth-child(8),.is-sanctum .bm-tribute-meter.is-level-9 i.is-lit:nth-child(9){animation:bm-tribute-ember 1.35s ease-in-out infinite}
.is-sanctum .bm-tribute-meter.is-level-10 i.is-lit{animation:bm-tribute-oath 1.1s ease-in-out infinite}
.is-sanctum .bm-tribute-meter.is-level-10 i.is-lit:nth-child(10){animation-delay:.08s}
@keyframes bm-tribute-heat{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16)}}
@keyframes bm-tribute-ember{0%,100%{filter:brightness(1);box-shadow:0 0 9px rgba(255,90,54,.28)}50%{filter:brightness(1.22);box-shadow:0 0 16px rgba(255,90,54,.7)}}
@keyframes bm-tribute-oath{0%,100%{filter:brightness(1.04)}50%{filter:brightness(1.35);box-shadow:0 0 12px rgba(255,255,255,.88),0 0 26px rgba(255,49,49,.72)}}
.is-sanctum .bm-delivery{position:relative;z-index:1;display:flex;gap:10px;align-items:stretch;margin:16px 0 0;padding:0;border:0;background:transparent}
.is-sanctum .bm-delivery .bm-receipt{display:flex;align-items:center;gap:11px;min-width:205px;min-height:52px;padding:8px 13px;border:1px solid #493039;background:linear-gradient(180deg,rgba(18,12,15,.96),rgba(8,6,8,.98));box-shadow:inset 0 0 16px rgba(0,0,0,.26)}
.is-sanctum .bm-delivery .bm-receipt>i{display:grid;place-items:center;width:25px;height:25px;border:1px solid currentColor;border-radius:50%;font-style:normal;font-size:12px;opacity:.72}
.is-sanctum .bm-delivery .bm-receipt>span{display:grid;gap:3px;padding:0;border:0;background:transparent;min-height:0}
.is-sanctum .bm-delivery .bm-receipt b{font-size:10px;letter-spacing:.18em}
.is-sanctum .bm-delivery .bm-receipt small{font-size:9px;letter-spacing:.08em}
.is-sanctum .bm-delivery .is-sent{color:#c6aab3;border-color:#60414b}
.is-sanctum .bm-delivery .is-seen{color:#62e29a;border-color:#1e7449;background:linear-gradient(180deg,rgba(7,49,29,.58),rgba(4,24,15,.86));box-shadow:inset 0 0 18px rgba(34,167,95,.08),0 0 14px rgba(34,167,95,.04)}
.is-sanctum .bm-delivery .is-unseen{color:#ff718a;border-color:#8a1830;background:linear-gradient(180deg,rgba(72,5,19,.55),rgba(28,3,9,.86))}
.is-sanctum .bm-pact-request{position:relative;z-index:1;margin:25px 0 0!important;padding-top:25px;border-top:1px solid rgba(113,40,57,.42);font-size:16px!important;color:#cbbbc1!important}
.is-sanctum .bm-pact-request::before{content:"CAUSE OF DEBT";display:block;margin-bottom:10px;color:#c67488;font:900 10px var(--font-machine,monospace);letter-spacing:.25em}
.is-sanctum .bm-terms{position:relative;z-index:1;margin-top:22px}
.is-sanctum .bm-terms-title{display:flex;align-items:center;gap:12px;margin-bottom:11px;color:#e1c2ca;font:900 11px var(--font-machine,monospace);letter-spacing:.24em}
.is-sanctum .bm-terms-title::before{content:"✦";color:#dd1c3d;text-shadow:0 0 12px rgba(221,28,61,.35)}
.is-sanctum .bm-terms-title::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(188,24,50,.55),transparent)}
.is-sanctum .bm-terms blockquote{position:relative;margin:0!important;padding:18px 20px!important;border:1px solid #40141e!important;border-left:4px solid #d31a3b!important;background:linear-gradient(90deg,rgba(42,6,15,.45),rgba(8,5,7,.84))!important;color:#e1d3d8!important;font-size:17px!important;box-shadow:inset 0 0 24px rgba(80,8,23,.09)}
.is-sanctum .bm-terms blockquote::after{content:"◇";position:absolute;right:17px;bottom:12px;color:#9e1830;font-size:18px;opacity:.62}
@media(max-width:760px){
  .is-sanctum .bm-pact{padding:20px 18px 22px!important}
  .is-sanctum .bm-pact-sigil{width:140px;height:140px;right:-30px;top:92px;opacity:.22}
  .is-sanctum .bm-pact-head>span{max-width:none!important}
  .is-sanctum .bm-tribute-level{width:100%}
  .is-sanctum .bm-delivery{display:grid;grid-template-columns:1fr}
  .is-sanctum .bm-delivery .bm-receipt{min-width:0;width:100%}
}

/* BLOOD TRIBUTE // use standard ASOC media lightbox */
.bm-tribute-image-link{display:block;margin:18px auto 0;padding:0;border:0;background:transparent;cursor:zoom-in}
.bm-tribute-image-link .bm-tribute-preview{display:block;margin:0}

/* BLOOD TRIBUTE // optional Shadow Broker verdict note */
.is-sanctum .bm-verdict-comment{position:relative;z-index:1;margin-top:22px}
.is-sanctum .bm-verdict-title{display:flex;align-items:center;gap:12px;margin-bottom:11px;color:#f08ba0;font:900 11px var(--font-machine,monospace);letter-spacing:.24em}
.is-sanctum .bm-verdict-title::before{content:"◆";color:#ef3154;text-shadow:0 0 12px rgba(239,49,84,.4)}
.is-sanctum .bm-verdict-title::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(239,49,84,.5),transparent)}
.is-sanctum .bm-verdict-comment blockquote{margin:0!important;padding:16px 19px!important;border:1px solid rgba(136,29,51,.7)!important;border-left:4px solid #ef3154!important;background:linear-gradient(90deg,rgba(58,7,18,.55),rgba(12,5,8,.88))!important;color:#f0dce2!important;font-size:16px!important;font-style:italic;box-shadow:inset 0 0 24px rgba(115,12,34,.1)}
.bm-heart-exchange {
  position: relative; display: grid; grid-template-columns: 86px 1fr minmax(280px, .9fr); gap: 20px;
  align-items: center; margin: 18px 0 26px; padding: 22px;
  border: 1px solid rgba(188, 85, 255, .58);
  background: radial-gradient(circle at 8% 50%, rgba(186, 32, 94, .22), transparent 30%), linear-gradient(125deg, rgba(37, 9, 45, .96), rgba(10, 8, 16, .98));
  box-shadow: inset 0 0 32px rgba(167, 45, 255, .12), 0 0 26px rgba(123, 27, 181, .12);
}
.bm-heart-relic { color:#ff527d; font-size:58px; text-align:center; filter:drop-shadow(0 0 12px #cf145b) drop-shadow(0 0 24px #7928ca); }
.bm-heart-copy small,.bm-heart-copy h3 { color:#dc9cff; letter-spacing:.15em; }
.bm-heart-copy h3 { margin:7px 0; font-size:20px; }
.bm-heart-copy p { margin:0; color:#c5b9ce; line-height:1.45; }
#bm-heart-petition { display:grid; gap:9px; }
#bm-heart-petition label { display:grid; gap:4px; color:#aa91b5; font-size:10px; letter-spacing:.12em; }
#bm-heart-petition :is(input,select,textarea) { width:100%; box-sizing:border-box; border:1px solid #563061; background:#0c0911; color:#f2e9f6; padding:9px; }
#bm-heart-petition textarea { min-height:68px; resize:vertical; }
#bm-heart-petition button { border:1px solid #c83d78; background:linear-gradient(90deg,#581330,#351447 55%,#591e66); color:#ffe5f1; padding:11px; font-weight:800; letter-spacing:.12em; }
#bm-heart-petition button:disabled { opacity:.42; filter:grayscale(.7); }
.bm-pact.is-heart-pact { border-color:rgba(202,72,151,.66); box-shadow:inset 3px 0 #d23a7c,inset 0 0 30px rgba(105,26,147,.12); }
.bm-heart-seal { display:flex; align-items:center; gap:10px; margin:10px 0; padding:9px 12px; border:1px solid rgba(204,72,147,.42); background:rgba(69,15,51,.38); color:#ef9cc6; font-size:11px; font-weight:800; letter-spacing:.13em; }
.bm-heart-seal i { color:#ff4f79; font-size:20px; font-style:normal; text-shadow:0 0 12px #d51b62; }
@media (max-width:900px) { .bm-heart-exchange { grid-template-columns:64px 1fr; } #bm-heart-petition { grid-column:1/-1; } }
