/* Shared-clock effects: positions and opacity are sampled by super-team.js. */
.serenity-sky{position:fixed;inset:0;z-index:30;pointer-events:none!important;overflow:hidden;contain:strict;isolation:isolate}
.serenity-sky[data-active=false]{visibility:hidden}
.serenity-cloud{position:absolute;left:0;top:0;width:var(--cloud-width,130px);height:calc(var(--cloud-width,130px)*.53);opacity:var(--cloud-alpha,0);transform:translate3d(var(--cloud-x,-500px),var(--cloud-y,-500px),0) translate(-50%,-50%) scale(var(--cloud-scale,1));border-radius:48%;background:radial-gradient(ellipse at 29% 58%,#f1ffff 0 27%,transparent 29%),radial-gradient(ellipse at 53% 39%,#edfcff 0 35%,transparent 37%),radial-gradient(ellipse at 76% 61%,#c8efff 0 28%,transparent 30%),radial-gradient(ellipse at 51% 77%,#d9f9ff 0 44%,transparent 46%);filter:drop-shadow(0 0 7px #b2e9ff80);pointer-events:none}
.serenity-blind-fog{position:absolute;left:43%;top:9%;width:47%;height:40%;z-index:12;opacity:var(--serenity-fog,0);pointer-events:none;border-radius:46%;background:radial-gradient(ellipse at 50% 35%,#efffffed,#c8ebfff0 30%,#c0e4f3c9 50%,transparent 75%);transform:translateZ(2px)}
.serenity-blind-fog b{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);padding:3px 5px;border:1px solid #dfffff;border-radius:4px;color:#123148;background:#d8f8fff0;font:800 clamp(7px,.85vw,11px)/1.2 ui-monospace,monospace;letter-spacing:.07em;white-space:nowrap}
.serenity-heal-readout{position:absolute;left:var(--heal-x,65%);top:var(--heal-y,60%);z-index:15;opacity:var(--heal-alpha,0);transform:translate(-50%,-50%);font:800 clamp(11px,1.5vw,19px)/1.2 ui-monospace,monospace;letter-spacing:.02em;color:#d7fff3;text-shadow:0 2px 1px #092f29,0 0 12px #71ffd4;white-space:nowrap;pointer-events:none}
.serenity-heal-halo{position:absolute;left:18%;bottom:8%;width:64%;height:14%;border:2px solid #b5fff0;border-radius:50%;box-shadow:0 0 12px #78fbdc,inset 0 0 14px #a3faff70;opacity:var(--heal-alpha,0);transform:scale(var(--heal-scale,1));pointer-events:none}
.matador-effects{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:visible}
.matador-effects[data-active=false]{visibility:hidden}
.matador-contact{position:absolute;left:var(--matador-x,30%);top:var(--matador-y,50%);width:clamp(34px,6vw,84px);aspect-ratio:1;opacity:var(--matador-alpha,0);transform:translate(-50%,-50%) rotate(var(--matador-angle,0deg)) scale(var(--matador-scale,1));background:radial-gradient(circle,#fff 0 6%,#fff1d6 7% 12%,#ff9eaccc 15%,transparent 46%);filter:drop-shadow(0 0 6px #ff719b)}
.matador-contact:before{content:'';position:absolute;inset:14%;border:3px solid #ffe3ef;border-left-color:transparent;border-radius:50%;transform:rotate(-28deg)}
.matador-contact:after,.matador-contact span{content:'';position:absolute;left:-35%;top:48%;width:170%;height:5%;background:linear-gradient(90deg,transparent,#ff99b6 20%,#fff 48%,#ffeac6 65%,transparent);transform:rotate(-19deg);border-radius:50%;box-shadow:0 0 5px #ff829b}
.matador-contact span{left:15%;width:75%;transform:rotate(60deg)}
/* Flatten the targeting plane so DOM ordering visibly puts the matador on both
   sides of Corruption. The action's movement stays on its existing inner plane. */
.team-scene[data-precision-member=magnific] .team-magnific,
.team-scene[data-precision-member=tencentcloud] .team-tencentcloud{transform:translate3d(calc(var(--team-x)*var(--parallax)*var(--precision-rest,1)),calc((var(--team-y)*var(--parallax)*.65 + var(--inspection-shift,0px) - var(--fighter-breakout,0px))*var(--precision-rest,1)),calc((var(--z) + var(--foreground-depth,0px) + var(--battle-depth) + var(--inspection-depth,0px))*var(--precision-rest,1))) scale(calc(1 + (var(--inspection-scale,1) - 1)*var(--precision-rest,1)))}
.team-scene[data-precision-member=magnific] .team-magnific[data-matador-lane=front]{z-index:6}
.team-scene[data-precision-member=magnific] .team-magnific[data-matador-lane=behind]{z-index:2}
.team-scene:is([data-precision-member=magnific],[data-precision-member=tencentcloud]) .team-corruption .team-character-float,
.team-scene[data-precision-member=magnific] .team-magnific .team-character-float,
.team-scene[data-precision-member=tencentcloud] .team-tencentcloud .team-character-float{animation:none!important;transform:none}
@media(prefers-reduced-motion:reduce){
  .team-scene[data-precision-member=magnific] .team-magnific,.team-scene[data-precision-member=tencentcloud] .team-tencentcloud{transform:none}
  .serenity-cloud,.matador-contact{filter:none}
}
.serenity-sky[hidden]{display:none}
/* Inspection must not raise the target above either scripted contact lane. */
.team-scene[data-precision-member=magnific] .team-corruption{z-index:3}
.team-scene[data-precision-member=magnific] .team-magnific[data-matador-facing=right] .team-sprite{transform:scaleX(-1)}
