/* Etapa 6 — overlays finais animados para OBS.
   Este arquivo é separado para manter o painel limpo e permitir ajuste fino sem quebrar a ficha. */
.obs-body{
  background:transparent!important;
  overflow:hidden;
}
.obs-body::before,.obs-body::after{display:none!important}
.player-overlay-v6,
.threat-overlay-v6{
  contain:layout paint style;
  will-change:transform,filter;
}
.player-overlay-v6{
  width:980px;
  height:330px;
  grid-template-columns:330px 1fr;
  gap:0;
  padding:0;
  perspective:900px;
}
.player-overlay-v6::before{
  content:"";
  position:absolute;
  left:282px;
  right:8px;
  top:44px;
  height:236px;
  z-index:-1;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.09) 9%,transparent 18% 82%,rgba(255,255,255,.08) 91%,transparent),
    radial-gradient(circle at 9% 50%,var(--overlay-glow),transparent 35%),
    linear-gradient(135deg,rgba(7,9,10,.95),rgba(24,19,16,.92) 58%,color-mix(in srgb,var(--accent) 14%,rgba(0,0,0,.86)));
  border:1px solid color-mix(in srgb,var(--accent) 40%,rgba(255,255,255,.18));
  clip-path:polygon(5% 0,100% 0,96% 100%,0 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.9),0 22px 48px rgba(0,0,0,.48),0 0 35px color-mix(in srgb,var(--accent) 12%,transparent);
}
.player-overlay-v6::after{
  content:"";
  position:absolute;
  left:315px;
  right:42px;
  top:60px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--metal),transparent);
  box-shadow:0 202px 0 color-mix(in srgb,var(--metal) 55%,transparent);
  opacity:.5;
  pointer-events:none;
}
.player-overlay-v6 .po-portrait{
  width:330px;
  height:330px;
  padding:18px;
  background:
    radial-gradient(circle at 50% 50%,rgba(0,0,0,.9) 0 54%,transparent 55%),
    conic-gradient(from 12deg,var(--accent),#101010 18%,var(--metal) 33%,#060606 47%,var(--accent-2) 65%,var(--metal) 82%,var(--accent));
  border:1px solid color-mix(in srgb,var(--accent) 42%,rgba(255,255,255,.14));
  box-shadow:0 0 0 3px rgba(0,0,0,.86),0 0 46px var(--overlay-glow),inset 0 0 28px rgba(0,0,0,.88);
  animation:portraitBreathe 5.8s ease-in-out infinite;
  overflow:visible;
}
.player-overlay-v6 .po-portrait::before{
  inset:14px;
  background:
    radial-gradient(circle at 38% 22%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 24%),
    radial-gradient(circle at center,#151515,#030303 72%);
  border:1px solid rgba(255,255,255,.12);
}
.player-overlay-v6 .po-portrait::after{
  inset:-8px;
  border:1px solid color-mix(in srgb,var(--accent) 70%,rgba(255,255,255,.10));
  border-style:solid dashed;
  animation:slowRotate 34s linear infinite;
  opacity:.8;
}
.player-overlay-v6 .po-portrait img{
  inset:28px;
  width:274px;
  height:274px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 28px rgba(0,0,0,.86),0 0 28px rgba(0,0,0,.7);
  transform:translateZ(0);
}
.player-overlay-v6 .po-portrait .portrait-vignette,
.player-overlay-v6 .po-portrait .portrait-fx{
  position:absolute;
  inset:28px;
  border-radius:50%;
  pointer-events:none;
  z-index:6;
}
.player-overlay-v6 .po-portrait .portrait-vignette{
  background:radial-gradient(circle at 50% 34%,transparent 34%,rgba(0,0,0,.62) 100%);
  mix-blend-mode:multiply;
}
.player-overlay-v6 .po-portrait .portrait-fx{
  opacity:.0;
  background:
    repeating-linear-gradient(115deg,transparent 0 12px,rgba(255,255,255,.05) 13px 14px),
    radial-gradient(circle at 52% 50%,transparent 0 46%,var(--overlay-glow) 72%,transparent 100%);
  mix-blend-mode:screen;
}
.player-overlay-v6 .orbit-runes{
  inset:-5px;
  animation:slowRotate 44s linear infinite;
}
.player-overlay-v6 .orbit-runes i{
  color:color-mix(in srgb,var(--accent) 72%,#fff);
  text-shadow:0 0 8px currentColor,0 0 18px var(--overlay-glow);
}
.player-overlay-v6 .po-info{
  height:246px;
  margin-top:42px;
  margin-left:-44px;
  padding:25px 40px 22px 72px;
  background:transparent;
  border:0;
  box-shadow:none;
  clip-path:polygon(6% 0,100% 0,96% 100%,0 100%);
  position:relative;
  gap:10px;
}
.player-overlay-v6 .po-info h1{
  font-size:50px;
  letter-spacing:.025em;
  color:#f5ead7;
  text-shadow:0 3px 0 #000,0 0 20px rgba(0,0,0,.9),0 0 16px color-mix(in srgb,var(--accent) 24%,transparent);
  max-width:560px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.player-overlay-v6 .class{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--metal);
  font-size:24px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.player-overlay-v6 .class::before,
.player-overlay-v6 .class::after{
  content:"";
  height:1px;
  width:38px;
  background:linear-gradient(90deg,transparent,var(--accent));
}
.player-overlay-v6 .class::after{background:linear-gradient(90deg,var(--accent),transparent)}
.player-overlay-v6 .class-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  position:absolute;
  left:306px;
  top:33px;
  z-index:5;
  border-radius:14px;
  border:1px solid color-mix(in srgb,var(--accent) 55%,rgba(255,255,255,.12));
  background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.18),rgba(0,0,0,.76)),linear-gradient(135deg,var(--accent-2),#090909);
  box-shadow:0 0 24px var(--overlay-glow),inset 0 1px 0 rgba(255,255,255,.12);
  font-size:22px;
}
.player-overlay-v6 .status-badge{
  position:absolute;
  right:36px;
  top:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  padding:.32rem .72rem;
  background:rgba(0,0,0,.45);
  color:var(--metal);
  font-family:var(--font-title);
  letter-spacing:.07em;
  text-transform:uppercase;
  font-size:13px;
}
.player-overlay-v6 .po-bar{
  grid-template-columns:58px 1fr 96px;
  gap:12px;
}
.player-overlay-v6 .po-bar b{
  color:var(--metal);
  text-shadow:0 2px 0 #000;
}
.player-overlay-v6 .po-bar span{
  font-variant-numeric:tabular-nums;
  color:#fff8ea;
  text-shadow:0 2px 0 #000;
}
.player-overlay-v6 .bar{
  height:21px;
  background:#050505;
  border-color:rgba(255,255,255,.18);
  box-shadow:inset 0 2px 8px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.24);
}
.player-overlay-v6 .bar-fill{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -5px 10px rgba(0,0,0,.28),0 0 18px color-mix(in srgb,var(--accent) 24%,transparent);
}
.player-overlay-v6 .bar-fill::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 5px,transparent 6px 13px);
  opacity:.65;
  animation:barCurrent 5.5s linear infinite;
}
.player-overlay-v6 .bar-fill::after{
  animation:barWave 2.2s linear infinite;
}
.player-overlay-v6 .pv .bar-fill{background:linear-gradient(90deg,#4e130f,#b93128,#d35343,#6d1813)}
.player-overlay-v6 .fo .bar-fill{background:linear-gradient(90deg,#674018,#ce7e1e,#e0a23c,#76501d)}
.player-overlay-v6 .es .bar-fill{background:linear-gradient(90deg,#1b3d68,#2b70ab,#65a8e3,#1c426d)}
.player-overlay-v6 .decor-strike{
  position:absolute;
  left:336px;
  right:42px;
  bottom:38px;
  height:12px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 60%,transparent),transparent);
  clip-path:polygon(0 45%,45% 45%,48% 0,52% 100%,55% 45%,100% 45%,100% 55%,55% 55%,52% 100%,48% 0,45% 55%,0 55%);
  opacity:.55;
}
.player-overlay-v6.is-wounded .po-portrait,
.player-overlay-v6.overlay-ferido .po-portrait{
  animation:portraitBreathe 5.8s ease-in-out infinite, woundPulse 1.65s ease-in-out infinite;
}
.player-overlay-v6.is-wounded .portrait-fx,
.player-overlay-v6.overlay-ferido .portrait-fx{
  opacity:.46;
  background:radial-gradient(circle at 55% 45%,transparent 0 40%,rgba(196,38,32,.48) 70%,transparent 100%);
}
.player-overlay-v6.is-wounded::before,
.player-overlay-v6.overlay-ferido::before{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 34px rgba(176,42,36,.30),0 22px 48px rgba(0,0,0,.48);
}
.player-overlay-v6.is-dying,
.player-overlay-v6.overlay-morrendo{
  filter:drop-shadow(0 0 32px rgba(194,31,25,.58)) drop-shadow(0 26px 30px rgba(0,0,0,.62));
}
.player-overlay-v6.is-dying .po-portrait img,
.player-overlay-v6.overlay-morrendo .po-portrait img{
  filter:brightness(.26) grayscale(.55) contrast(1.18) saturate(.55);
}
.player-overlay-v6.is-dying .portrait-fx,
.player-overlay-v6.overlay-morrendo .portrait-fx{
  opacity:.72;
  background:radial-gradient(circle,rgba(188,26,21,.52),transparent 60%),repeating-linear-gradient(0deg,rgba(255,0,0,.12) 0 2px,transparent 3px 8px);
  animation:deathStrobe .92s steps(2,end) infinite;
}
.player-overlay-v6.is-dying .status-badge,
.player-overlay-v6.overlay-morrendo .status-badge{color:#ffb5ad;border-color:rgba(255,75,64,.36);box-shadow:0 0 20px rgba(198,31,25,.24)}
.player-overlay-v6.is-rupture,
.player-overlay-v6.overlay-ruptura{
  animation:madShake .34s linear infinite;
  filter:drop-shadow(0 0 36px rgba(139,99,199,.70)) drop-shadow(0 26px 30px rgba(0,0,0,.62));
}
.player-overlay-v6.is-rupture .po-portrait,
.player-overlay-v6.overlay-ruptura .po-portrait{
  box-shadow:0 0 0 3px rgba(0,0,0,.86),0 0 60px rgba(139,99,199,.86),inset 0 0 28px rgba(0,0,0,.9);
}
.player-overlay-v6.is-rupture .po-portrait img,
.player-overlay-v6.overlay-ruptura .po-portrait img{
  filter:hue-rotate(250deg) saturate(1.4) contrast(1.16) brightness(.82);
}
.player-overlay-v6.is-rupture .portrait-fx,
.player-overlay-v6.overlay-ruptura .portrait-fx{
  opacity:.86;
  background:
    radial-gradient(circle,rgba(156,99,255,.52),transparent 60%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 1px,transparent 2px 7px);
  animation:veilStatic .42s steps(3,end) infinite;
}
.player-overlay-v6.is-spirit-low:not(.is-rupture) .es .bar-fill{
  animation:spiritLow 1.15s ease-in-out infinite;
}
.player-overlay-v6.is-compact{
  width:740px;
  height:236px;
  grid-template-columns:236px 1fr;
}
.player-overlay-v6.is-compact::before{left:206px;top:34px;height:172px}
.player-overlay-v6.is-compact::after{left:230px;top:46px;box-shadow:0 140px 0 color-mix(in srgb,var(--metal) 55%,transparent)}
.player-overlay-v6.is-compact .po-portrait{width:236px;height:236px;padding:13px}
.player-overlay-v6.is-compact .po-portrait img,.player-overlay-v6.is-compact .portrait-vignette,.player-overlay-v6.is-compact .portrait-fx{inset:22px;width:192px;height:192px}
.player-overlay-v6.is-compact .orbit-runes{display:none}
.player-overlay-v6.is-compact .po-info{height:174px;margin-top:34px;margin-left:-30px;padding:18px 28px 18px 54px}
.player-overlay-v6.is-compact .po-info h1{font-size:36px}
.player-overlay-v6.is-compact .class{font-size:18px}
.player-overlay-v6.is-compact .status-badge{right:24px;top:20px;font-size:11px}
.player-overlay-v6.is-compact .class-icon{left:216px;top:26px;width:34px;height:34px;font-size:17px}
.player-overlay-v6.is-compact .po-bar{grid-template-columns:44px 1fr 78px;font-size:.88rem}.player-overlay-v6.is-compact .bar{height:16px}
.skin-guerreiro{--accent:#c54b3f;--accent-2:#7b1f1b;--metal:#d5b985;--overlay-glow:rgba(197,75,63,.46)}
.skin-guardiao{--accent:#b47b42;--accent-2:#4f593d;--metal:#d9c7a3;--overlay-glow:rgba(180,123,66,.42)}
.skin-cacador{--accent:#5f8b53;--accent-2:#2f4932;--metal:#c9bea2;--overlay-glow:rgba(95,139,83,.44)}
.skin-navegador{--accent:#4b87a8;--accent-2:#203c57;--metal:#d2c5a8;--overlay-glow:rgba(75,135,168,.44)}
.skin-skald{--accent:#d19c45;--accent-2:#7d2630;--metal:#f0d89d;--overlay-glow:rgba(209,156,69,.44)}
.skin-vidente{--accent:#8b63c7;--accent-2:#352050;--metal:#d6c0f2;--overlay-glow:rgba(139,99,199,.52)}
.threat-overlay-v6{
  width:1520px;
  height:800px;
  gap:20px;
  grid-template-columns:548px 1fr;
  filter:drop-shadow(0 30px 30px rgba(0,0,0,.64));
}
.threat-overlay-v6 .to-art{
  border-radius:30px;
  border:1px solid color-mix(in srgb,var(--threat-accent,#d6b16b) 38%,rgba(255,255,255,.14));
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.04),0 0 44px color-mix(in srgb,var(--threat-accent,#d6b16b) 14%,transparent);
}
.threat-overlay-v6 .to-art img{filter:contrast(1.07) saturate(.92)}
.threat-overlay-v6 .to-art::before{
  content:"";
  position:absolute;
  inset:14px;
  z-index:2;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  pointer-events:none;
  box-shadow:inset 0 0 36px rgba(0,0,0,.68);
}
.threat-overlay-v6 .to-art::after{
  background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 46%,rgba(0,0,0,.76));
}
.threat-overlay-v6 .to-data{
  border-radius:30px;
  border:1px solid color-mix(in srgb,var(--threat-accent,#d6b16b) 36%,rgba(255,255,255,.12));
  background:
    radial-gradient(circle at 92% 16%,color-mix(in srgb,var(--threat-accent,#d6b16b) 18%,transparent),transparent 28%),
    linear-gradient(145deg,rgba(6,8,9,.94),rgba(22,16,13,.89));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 36px color-mix(in srgb,var(--threat-accent,#d6b16b) 10%,transparent);
}
.threat-overlay-v6 .to-data h1{
  font-size:64px;
  color:#f2e5ce;
  text-shadow:0 3px 0 #000,0 0 28px rgba(0,0,0,.88);
}
.threat-overlay-v6 .to-stat{
  border-block:1px solid color-mix(in srgb,var(--threat-accent,#d6b16b) 28%,rgba(255,255,255,.08));
}
.threat-overlay-v6 .to-box{
  min-height:172px;
  border-color:color-mix(in srgb,var(--threat-accent,#d6b16b) 26%,rgba(255,255,255,.10));
  background:linear-gradient(145deg,rgba(0,0,0,.30),rgba(255,255,255,.025));
  position:relative;
  overflow:hidden;
}
.threat-overlay-v6 .to-box::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:12px;
  width:128px;
  height:128px;
  border-radius:50%;
  border:1px dashed color-mix(in srgb,var(--threat-accent,#d6b16b) 28%,transparent);
  opacity:.34;
  animation:slowRotate 36s linear infinite;
}
.threat-overlay-v6 .to-box h2{color:var(--threat-accent,#d6b16b);letter-spacing:.06em;text-transform:uppercase}
.threat-overlay-v6 .weak-row span{box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.threat-overlay-v6 .to-rank{border-color:color-mix(in srgb,var(--threat-accent,#d6b16b) 46%,rgba(255,255,255,.12));color:#fff2d2}
.threat-overlay-v6.threat-wounded .to-art{animation:woundPulse 1.8s ease-in-out infinite}
.threat-overlay-v6.threat-defeated .to-art img{filter:brightness(.26) grayscale(.8)}
.threat-overlay-v6.threat-defeated .to-data{filter:saturate(.62)}
.threat-overlay-v6.threat-ancient .to-data{animation:ancientThreatGlow 3.4s ease-in-out infinite}
.threat-overlay-v6.threat-common{--threat-accent:#b6a883}.threat-overlay-v6.threat-threat{--threat-accent:#b44a3d}.threat-overlay-v6.threat-elite{--threat-accent:#4d91ba}.threat-overlay-v6.threat-mythic{--threat-accent:#d6b16b}.threat-overlay-v6.threat-bosque{--threat-accent:#628d4e}.threat-overlay-v6.threat-gelo{--threat-accent:#70c6ec}.threat-overlay-v6.threat-veu{--threat-accent:#8b63c7}
.motion-low,
.motion-low *{
  animation-duration:0.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:0.001ms!important;
}
@keyframes portraitBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.011)}}
@keyframes woundPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(198,47,38,0))}50%{filter:drop-shadow(0 0 22px rgba(198,47,38,.76))}}
@keyframes deathStrobe{50%{opacity:.24}}
@keyframes veilStatic{0%{transform:translate(0,0)}33%{transform:translate(2px,-1px)}66%{transform:translate(-2px,1px)}}
@keyframes barCurrent{to{transform:translateX(32px)}}
@keyframes spiritLow{50%{filter:brightness(1.5) saturate(1.35)}}
@keyframes ancientThreatGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 28px color-mix(in srgb,var(--threat-accent,#d6b16b) 10%,transparent)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 55px color-mix(in srgb,var(--threat-accent,#d6b16b) 22%,transparent)}}
@media (max-width:900px){.player-overlay-v6{transform:scale(.72);transform-origin:left top}.threat-overlay-v6{transform:scale(.62);transform-origin:left top}}
.overlay-debug{position:absolute;left:8px;top:8px;z-index:20;max-width:360px;max-height:220px;overflow:auto;margin:0;padding:8px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(0,0,0,.72);color:#fff;font:12px/1.35 ui-monospace,Consolas,monospace;white-space:pre-wrap}.player-overlay-v6 .class small{font-size:12px;color:rgba(255,255,255,.62);letter-spacing:.10em;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-stage{min-height:260px;background:linear-gradient(135deg,#141414,#060606);overflow:hidden;border-radius:14px}.obs-preview-frame{width:100%;height:360px;border:0;background:transparent}.obs-preview-frame.threat-frame{height:430px}.preview-stage code{color:var(--gold)}
