/* PixVerse: the shared battle clock samples every property; nothing runs on its own. */
.pixverse-reality{
  position:fixed;inset:0;z-index:40;isolation:isolate;overflow:hidden;
  pointer-events:none;contain:strict;perspective:1400px;
  opacity:var(--reality-alpha,0);color:#f1e8ff;
  --reality-hit-x:50%;--reality-hit-y:50%;
}
.pixverse-reality[hidden]{display:none!important}
.pixverse-reality *{box-sizing:border-box;pointer-events:none}
.reality-veil{
  position:absolute;inset:0;z-index:0;
  opacity:var(--reality-glass-alpha,0);
  background:radial-gradient(ellipse at var(--reality-hit-x) var(--reality-hit-y),#170c2930 0%,#08061394 56%,#03020be6 100%);
}
.reality-fragments{position:absolute;inset:0;z-index:1;perspective:1400px;transform-style:preserve-3d}
.reality-fragment{
  position:absolute;overflow:hidden;
  clip-path:var(--shard-clip,polygon(0 0,100% 0,100% 100%,0 100%));
  transform-origin:var(--reality-hit-x) var(--reality-hit-y);
  transform:translate3d(var(--shard-x,0px),var(--shard-y,0px),0)
    rotateX(var(--shard-rx,0deg)) rotateY(var(--shard-ry,0deg))
    rotateZ(var(--shard-rz,0deg)) scale(var(--shard-scale,1));
  backface-visibility:hidden;contain:layout paint;will-change:transform;
}
.reality-world{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--world-tint,#9954d333),var(--world-tint,#9954d333)),
    linear-gradient(135deg,#0a234b22,#5d206422 45%,#07082066),
    var(--world-image,url('/assets/services/pixverse-card-v2.webp'));
  background-position:center,center,var(--world-position,center);
  background-size:cover,cover,var(--world-size,260%);background-repeat:no-repeat;
}
.reality-world:after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(165deg,#f5e7ff08,transparent 35%,rgb(2 5 24 / var(--world-shade,.2)));
}
.reality-corruption{
  position:absolute;left:var(--ko-x,50%);top:var(--ko-y,50%);
  width:clamp(190px,29vw,550px);height:clamp(125px,20vw,380px);
  background:url('/assets/corruption-vector-knockout.webp') center/contain no-repeat;
  transform:translate(-50%,-50%) rotate(var(--ko-angle,0deg)) scale(var(--ko-scale,1));
  transform-origin:center;
}
.reality-reflection{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(121deg,transparent 16%,#d3b9ff05 16.2%,#eee7ff29 16.5%,transparent 17.2%),
    linear-gradient(143deg,transparent 44%,#bca5ff09 44.2%,#e9d9ff21 44.5%,transparent 45.1%),
    radial-gradient(ellipse at var(--reality-hit-x) var(--reality-hit-y),#fff2 0%,#d6b1ff0d 24%,transparent 59%);
  box-shadow:inset 0 0 1px #fff9;
}
.reality-fragment:after{
  content:'';position:absolute;inset:0;z-index:3;
  background:linear-gradient(17deg,transparent 49.7%,#e4cfff1c 49.9%,#fff8 50%,transparent 50.15%);
  opacity:.34;
}
.reality-label{
  position:absolute;left:var(--ko-x,50%);top:calc(var(--ko-y,50%) + 7vw);z-index:4;
  transform:translateX(-50%);white-space:nowrap;
  font:700 clamp(7px,.65vw,10px)/1.4 ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.22em;text-transform:uppercase;color:#d5b9f2b3;text-shadow:0 1px 5px #000;
}
.reality-cracks{
  position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible;
  opacity:var(--reality-crack-alpha,0);fill:none;stroke:#e8d4ff;stroke-width:1;
  stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 3px #a66bff);
}
.reality-cracks :is(path,line,polyline,polygon){vector-effect:non-scaling-stroke}
.reality-impact{
  position:absolute;left:var(--reality-hit-x);top:var(--reality-hit-y);z-index:5;
  width:clamp(150px,33vw,590px);aspect-ratio:1;border-radius:50%;
  transform:translate(-50%,-50%) scale(var(--reality-impact-scale,1));
  opacity:var(--reality-flash-alpha,0);
  background:radial-gradient(circle,#fff 0%,#f0dfffcc 2%,#d8b0ff6b 8%,#9654ee24 24%,transparent 59%);
}
.reality-impact:after{
  content:'';position:absolute;inset:20%;border-radius:50%;border:1px solid #e8ceff94;
  box-shadow:0 0 15px #a97bff33,inset 0 0 15px #a97bff22;
}
.reality-sky-beam{
  position:absolute;left:var(--sky-beam-x,var(--reality-hit-x));top:0;z-index:6;
  width:var(--sky-beam-width,20px);height:var(--sky-beam-height,var(--sky-beam-y,50vh));
  transform:translateX(-50%);transform-origin:50% 0;
  opacity:var(--sky-beam-alpha,0);
  background:linear-gradient(90deg,transparent,#9d5ce750 14%,#d9b8ffbf 36%,#fff4fc 49%,#fff 51%,#d9b8ffbf 64%,#9d5ce750 86%,transparent);
  clip-path:polygon(38% 0,62% 0,82% 93%,100% 100%,0 100%,18% 93%);
}
.reality-caption{
  position:absolute;left:24px;right:24px;bottom:max(34px,env(safe-area-inset-bottom));z-index:7;
  text-align:center;text-transform:uppercase;
  font:800 clamp(12px,1.55vw,23px)/1.5 ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.28em;text-shadow:0 2px 14px #03010b,0 0 20px #a96ee760;
  opacity:var(--reality-glass-alpha,0);
}
.reality-caption :is(small,span){display:block;font-size:.48em;letter-spacing:.4em;color:#dcc4ee}
@media(max-width:600px){
  .pixverse-reality,.reality-fragments{perspective:1000px}
  .reality-corruption{width:clamp(135px,47vw,260px);height:clamp(90px,33vw,185px)}
  .reality-reflection{mix-blend-mode:normal;background:linear-gradient(132deg,transparent 44%,#dec8ff13 44.3%,#fff3 44.5%,transparent 45%)}
  .reality-fragment:after{display:none}
  .reality-cracks{filter:none;stroke-width:.85}
  .reality-label{font-size:6px;letter-spacing:.12em;top:calc(var(--ko-y,50%) + 12vw)}
  .reality-caption{bottom:max(28px,env(safe-area-inset-bottom));left:16px;right:16px;font-size:11px;letter-spacing:.16em}
}
@media(prefers-reduced-motion:reduce){
  .reality-fragment{transform:none!important}
  .reality-world,.reality-corruption{filter:none}
  .reality-reflection{opacity:.35;mix-blend-mode:normal}
  .reality-fragment:after,.reality-impact,.reality-sky-beam{display:none}
  .reality-cracks{filter:none;opacity:calc(var(--reality-crack-alpha,0)*.45)}
}
