/* =====================================================================
   SETS DOS CHEFES DO BLOOD CASTLE (21/10, plano v3 aprovado pelo autor)
   ---------------------------------------------------------------------
   Raridade "Sanguine" (acima de Ancient, só na tela) e a moldura com o tema de
   cada chefe: Ignar = brasa, Nerissa = onda, Aeron = vento, Zeratul = eclipse.
   O jogo põe no item `rarityClass` = "rarity-sanguine bc-<chefe>" (o Primordial
   do set: "rarity-primordial bc-<chefe>"), e as listas viram "r-sanguine bc-<chefe>".
   As cores moram em --bc1 (principal), --bc2 (brilho) e --bc3 (fundo), as mesmas
   de COL_BC_SETS.DADOS.cores. Parado para quem pede menos movimento.
   ===================================================================== */
.bc-ignar{--bc1:#ff7a1a;--bc2:#ffd36b;--bc3:#b3200c}
.bc-nerissa{--bc1:#1ec8d8;--bc2:#bff7ff;--bc3:#0a3d6b}
.bc-aeron{--bc1:#9fd9a8;--bc2:#f2fff4;--bc3:#4f7d5a}
.bc-zeratul{--bc1:#6b2bd9;--bc2:#ffd76a;--bc3:#140a24}

/* o nome: sangue escuro com a cor do chefe correndo */
.rarity-sanguine{color:#ff5a6e!important}
.rarity-sanguine:not(.rarity-badge):not(.loot-toast-icon){
  color:#ff5a6e!important;
  background:linear-gradient(90deg,#c8102e 0%,var(--bc1,#ff5a6e) 30%,var(--bc2,#ffd0d6) 50%,var(--bc1,#ff5a6e) 70%,#c8102e 100%);
  background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 0 12px rgba(200,16,46,.35);font-weight:950!important;letter-spacing:.2px;
  animation:bc-sangue 7s linear infinite}
@keyframes bc-sangue{to{background-position:-240% 0}}
.rarity-badge.rarity-sanguine{border-color:#c8102e!important;background:linear-gradient(135deg,#2a0710,var(--bc3,#3b0d16) 70%,#160308)!important;color:#ffd0d6!important;
  box-shadow:inset 0 0 0 1px rgba(255,90,110,.25),0 0 15px rgba(200,16,46,.30)!important}

/* a linha da mochila / ferreiro / equipamentos */
.equipped-showcase-slot:has(.rarity-sanguine),.inventory-group:has(.rarity-sanguine),.equipment-row:has(.rarity-sanguine),.forge-list-item:has(.rarity-sanguine){
  border-color:#a3162f!important;background:radial-gradient(circle at 18% 0,rgba(200,16,46,.16),transparent 42%),linear-gradient(145deg,rgba(60,8,18,.40),#170d10 68%)!important;
  box-shadow:inset 3px 0 0 var(--bc1,#ff5a6e),0 0 21px rgba(200,16,46,.14)!important}

/* o quadradinho (--rc) */
#gameShell .eqb-card .r-sanguine,#forgeView .r-sanguine,#inventoryView .r-sanguine{--rc:var(--bc1,#ff5a6e)}

/* a moldura girando nas peças EQUIPADAS, com o tema do chefe (também no Primordial do set) */
@property --bc-giro{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes bcGiro{to{--bc-giro:360deg}}
:is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot):is(.bc-ignar,.bc-nerissa,.bc-aeron,.bc-zeratul){
  border-color:transparent!important;box-shadow:0 0 10px var(--bc1),0 0 3px var(--bc2)!important}
:is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot):is(.bc-ignar,.bc-nerissa,.bc-aeron,.bc-zeratul)::before{
  content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;padding:2px;pointer-events:none;
  background:conic-gradient(from var(--bc-giro),var(--bc1),var(--bc2) 12%,var(--bc3) 25%,transparent 45%,var(--bc1) 60%,var(--bc2) 72%,var(--bc3) 85%,var(--bc1));
  animation:bcGiro 3.2s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
/* brasa tremula, onda vai e volta, vento corre, eclipse gira devagar */
:is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot).bc-ignar::before{animation:bcGiro 2.4s linear infinite,bcSetBrasa 1.1s ease-in-out infinite alternate}
:is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot).bc-nerissa::before{animation:bcGiro 4.2s ease-in-out infinite alternate}
:is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot).bc-aeron::before{animation:bcGiro 1.8s linear infinite}
:is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot).bc-zeratul::before{animation:bcGiro 6s linear infinite}
@keyframes bcSetBrasa{from{opacity:.75}to{opacity:1}}

/* o quadradinho da mochila (sem girar: centenas de itens) ganha só a borda do chefe */
#inventoryView .inv-slot:is(.bc-ignar,.bc-nerissa,.bc-aeron,.bc-zeratul):not(#inventoryEquippedGrid>*){border-color:var(--bc1)!important;box-shadow:inset 0 0 8px rgba(0,0,0,.35),0 0 6px var(--bc1)}

/* a linha do bônus do set na ficha do item */
.ttip-bcset{margin:8px 12px 0;padding:6px 9px;border-radius:0 6px 6px 0;border-left:2px solid var(--bc1,#c8102e);background:linear-gradient(110deg,rgba(0,0,0,.18),color-mix(in srgb,var(--bc3,#2a0710) 55%,transparent));line-height:1.35}
.ttip-bcset b{display:block;font-size:calc(11px * var(--text-scale,1));color:var(--bc2,#ffd0d6)}
.ttip-bcset small{display:block;font-size:calc(10.5px * var(--text-scale,1));color:#d5d9e0}
.ttip-bcset .off{opacity:.5}

@media (prefers-reduced-motion:reduce){
  .rarity-sanguine:not(.rarity-badge):not(.loot-toast-icon){animation:none}
  :is(#inventoryEquippedGrid>.inv-slot,#gameShell .eqb-slot,.fh-slot):is(.bc-ignar,.bc-nerissa,.bc-aeron,.bc-zeratul)::before{animation:none}
}
/* VITRINE DOS SETS NO BLOOD CASTLE (22/10): uma aba por chefe, o herói vestido e as 4 peças da classe. */
.bc-vitrine{margin-top:4px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--bc-cor) 45%,transparent);background:radial-gradient(120% 90% at 20% 0%,color-mix(in srgb,var(--bc-cor3) 70%,transparent),rgba(10,6,10,.92) 70%);display:grid;gap:10px}
.bc-vitrine-topo{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
/* 29/10: o título abre e fecha o quadro (começa fechado) */
button.bc-vitrine-topo{width:100%;margin:0;padding:2px 26px 2px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:var(--cur-mao,pointer);position:relative}
button.bc-vitrine-topo::after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;border-right:2px solid #ffd0d6;border-bottom:2px solid #ffd0d6;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.bc-vitrine.is-fechada button.bc-vitrine-topo::after{transform:translateY(-30%) rotate(-45deg)}
.bc-vitrine.is-fechada>:not(.bc-vitrine-topo){display:none}
.bc-vitrine-topo b{color:#ffd0d6;font-size:calc(13px * var(--text-scale,1));letter-spacing:.04em}
.bc-vitrine-abas{display:flex;gap:6px;flex-wrap:wrap}
.bc-vitrine-aba{flex:1 1 0;min-width:70px;padding:7px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--bc-cor) 55%,transparent);background:rgba(0,0,0,.35);color:#e8dfe2;font-weight:700;font-size:calc(11px * var(--text-scale,1));cursor:var(--cur-mao,pointer)}
.bc-vitrine-aba.is-on{background:linear-gradient(180deg,color-mix(in srgb,var(--bc-cor) 70%,#000),color-mix(in srgb,var(--bc-cor) 35%,#000));color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--bc-cor) 60%,transparent)}
.bc-vitrine-corpo{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:12px;align-items:start}
.bc-vitrine-heroi{position:relative;display:grid;justify-items:center;padding:6px 6px 10px;border-radius:10px;background:radial-gradient(60% 55% at 50% 60%,color-mix(in srgb,var(--bc-cor) 35%,transparent),transparent 75%)}
.bc-vitrine-heroi img{width:100%;max-width:230px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--bc-cor) 55%,transparent))}
.bc-vitrine-nome{color:var(--bc-cor2);font-weight:800;font-size:calc(13px * var(--text-scale,1));text-align:center}
.bc-vitrine-tema{color:#b9a3aa;font-size:calc(10px * var(--text-scale,1))}
.bc-vitrine-info{display:grid;gap:8px;min-width:0}
.bc-vitrine-info .ttip-bcset{margin:0;--bc1:var(--bc-cor);--bc2:var(--bc-cor2);--bc3:var(--bc-cor3)}
.bc-vitrine-pecas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bc-vitrine-peca{position:relative;display:flex;gap:8px;align-items:center;padding:6px;border-radius:9px;background:rgba(0,0,0,.4);border:1px solid color-mix(in srgb,var(--bc-cor) 35%,transparent);min-width:0}
.bc-vitrine-icone{position:relative;flex:0 0 48px;width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--bc-cor) 30%,transparent),rgba(0,0,0,.5));overflow:hidden}
.bc-vitrine-arte{width:44px;height:44px;object-fit:contain}
.bc-vitrine-peca>span:last-child{display:grid;min-width:0}
.bc-vitrine-peca small{color:#b9a3aa;font-size:calc(9.5px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.05em}
.bc-vitrine-peca b{color:#f3e8ea;font-size:calc(11px * var(--text-scale,1));overflow-wrap:anywhere;line-height:1.25}
.bc-vitrine-peca em{font-style:normal;color:#d8a7b1;font-size:calc(9.5px * var(--text-scale,1));line-height:1.3}
.bc-vitrine-nota{margin:0;color:#c9b5bb;font-size:calc(10.5px * var(--text-scale,1));line-height:1.45}
.bc-vitrine-nota b{color:var(--bc-cor2);margin-right:4px}
@media (max-width:640px){.bc-vitrine-corpo{grid-template-columns:1fr}.bc-vitrine-heroi img{max-width:200px}}
@media (max-width:380px){.bc-vitrine-pecas{grid-template-columns:1fr}}
.bc-vitrine-breve{padding:2px 8px;border-radius:999px;background:linear-gradient(90deg,#b3200c,#6b2bd9);color:#fff;font-weight:800;font-size:calc(9.5px * var(--text-scale,1));letter-spacing:.08em;animation:bcBrevePulso 2.4s ease-in-out infinite}
@keyframes bcBrevePulso{50%{box-shadow:0 0 10px rgba(255,90,90,.7)}}
/* AS PEÇAS NO PALCO (23/10): fileira das 4 peças logo abaixo do chefe, sem cobrir ele; moldura girando na cor do chefe. */
.blood-castle-art .bc-palco{display:flex;justify-content:center;gap:14px;margin:6px 0 18px;position:relative;z-index:5}
.bc-palco-peca{--t:62px;position:relative;width:var(--t);height:var(--t);border-radius:10px;display:grid;place-items:center;isolation:isolate;cursor:var(--cur-mao,pointer);
  background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.08),rgba(0,0,0,.7))}
.bc-palco-peca::before{content:"";position:absolute;inset:-2px;border-radius:12px;padding:2px;z-index:-1;
  background:conic-gradient(from var(--bc-giro,0deg),var(--bc-cor),var(--bc-cor2),var(--bc-cor3),var(--bc-cor));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:bcGiro 3s linear infinite}
.bc-palco-peca::after{content:"";position:absolute;inset:-5px;border-radius:14px;z-index:-2;box-shadow:0 0 12px 2px var(--bc-cor),0 0 22px 3px var(--bc-cor2);opacity:.5;animation:bcPalcoPulso 2.2s ease-in-out infinite}
.blood-castle-art .bc-palco-peca img{position:static;width:84%;height:84%;max-width:none;max-height:none;object-fit:contain;object-position:center;animation:none;transform:none;filter:drop-shadow(0 0 5px var(--bc-cor))}
.bc-palco-peca .item-art-fallback{font-size:26px}
@keyframes bcPalcoPulso{50%{opacity:1}}
.blood-castle-art.is-fallen .bc-palco-peca::after{animation:none;opacity:.3}
@media (max-width:720px){.bc-palco-peca{--t:54px}.blood-castle-art .bc-palco{gap:12px}}
@media (prefers-reduced-motion:reduce){.bc-palco-peca::before,.bc-palco-peca::after{animation:none}}
/* 2045 (28/10): com as luvas o set tem 5 peças; a 5ª ocupa a linha inteira na vitrine e o palco aperta no celular estreito */
.bc-vitrine-pecas>.bc-vitrine-peca:last-child:nth-child(odd){grid-column:1/-1}
@media (max-width:400px){.bc-palco-peca{--t:50px}.blood-castle-art .bc-palco{gap:8px}}
