.pvp{--pvp-tone:#F5F8FE;--pvp-shade:#096A70;--pvp-zone:#3E8FC7}
.pvp .pvf-fig svg{overflow:visible}
.pvp-dot{fill:var(--pvp-shade)}
.pvp-ground line{stroke:var(--pvf-dark);stroke-opacity:.08;stroke-width:.6;stroke-dasharray:1.5 3}
.pvp-ground{-webkit-mask-image:radial-gradient(ellipse 48% 42% at 50% 62%,#000 30%,transparent 72%);mask-image:radial-gradient(ellipse 48% 42% at 50% 62%,#000 30%,transparent 72%);
  opacity:0;transition:opacity .8s ease}
.pvp-zone{fill:none;stroke:var(--pvp-zone);stroke-width:.9;stroke-opacity:.5;stroke-dasharray:3 3;opacity:0;transition:opacity .8s ease .5s}
.pvp-zone0{fill:var(--pvp-zone);fill-opacity:.07;stroke-dasharray:none}
.pvp-cast{opacity:0;transition:opacity .8s ease .9s}
.pvp-tone{fill:var(--pvp-tone)}
.pvp-shade{opacity:.55}
.pvp-top{fill:#fff}
.pvp-e{fill:none;stroke:var(--pvf-dark);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 1.4s cubic-bezier(.65,0,.35,1)}
.pvp-bld polygon:not(.pvp-e),.pvp-bld line{opacity:0;transition:opacity .7s ease .8s}
.pvp-win{fill:none;stroke:var(--pvf-dark);stroke-opacity:.35;stroke-width:.7}
.pvp-door{fill:#fff;stroke:var(--pvf-dark);stroke-opacity:.6;stroke-width:.8}
.pvp-slat{stroke:var(--pvf-dark);stroke-opacity:.3;stroke-width:.6}
.pvp-awn{fill:color-mix(in srgb,var(--pvf-accent) 60%,#fff);stroke:var(--pvf-dark);stroke-width:.8}
.pvp.is-in .pvp-e{stroke-dashoffset:0}
.pvp.is-in .pvp-ground,.pvp.is-in .pvp-zone,.pvp.is-in .pvp-cast,.pvp.is-in .pvp-bld polygon,.pvp.is-in .pvp-bld line{opacity:1}
.pvp.is-in .pvp-shade{opacity:.55}
.pvp.is-in .pvp-cast{opacity:.35}

.pvp-plane{fill:var(--pvp-shade);fill-opacity:.08;stroke:var(--pvp-shade);stroke-opacity:.7;stroke-width:1;stroke-dasharray:4 3}
.pvp-scan{opacity:0;transition:opacity .25s}

.pvp-pt{fill:var(--pvf-accent);stroke:#fff;stroke-width:1.4;transform-box:fill-box;transform-origin:center;transform:scale(0);
  transition:transform .45s cubic-bezier(.3,1.6,.5,1) calc(1.3s + var(--i) * .25s)}
.pvp-ping{fill:none;stroke:var(--pvf-accent);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}
.pvp.is-in .pvp-pt{transform:scale(1)}
.pvp.is-in .pvp-ping{animation:pvp-ping 2.6s ease-out infinite calc(1.8s + var(--i) * .5s)}
@keyframes pvp-ping{0%{opacity:.8;transform:scale(.4)}80%,100%{opacity:0;transform:scale(1.8)}}

.pvp-lab{opacity:0;transform:translateY(4px);transition:opacity .35s ease,transform .35s ease}
.pvp.is-open .pvp-lab{opacity:1;transform:none}
.pvp.is-open .pvp-spot:nth-child(2) .pvp-lab{transition-delay:.12s}.pvp.is-open .pvp-spot:nth-child(3) .pvp-lab{transition-delay:.24s}
.pvp-lead{fill:none;stroke:var(--pvf-accent);stroke-width:.9}
.pvp-chip{fill:#fff;stroke:var(--pvf-dark);stroke-opacity:.25;stroke-width:.8}
.pvp-txt{font:600 9.5px Inter,system-ui,sans-serif;fill:var(--pvf-dark)}
.pvp-score{opacity:0;transition:opacity .4s ease .3s}
.pvp.is-open .pvp-score{opacity:1}
.pvp-sv{font-weight:800;fill:var(--pvf-accent)}.pvp-su{fill:#7C878E;font-weight:500}

@media (prefers-reduced-motion:reduce){.pvp *{transition:none!important;animation:none!important}.pvp .pvp-e{stroke-dashoffset:0}.pvp .pvp-pt{transform:none}}

/* accessoires (1.6.4) */
.pvp-bld ellipse{opacity:0;transition:opacity .7s ease .8s}.pvp.is-in .pvp-bld ellipse{opacity:1}
.pvp-e--open{fill:none}
.pvp-dark{fill:#2F3D42}
.pvp-hub{fill:#E9EEF0;stroke:color-mix(in srgb,var(--pvf-dark) 60%,#fff);stroke-width:.5}
.pvp-glass{fill:color-mix(in srgb,var(--pvp-shade) 16%,#fff);stroke:color-mix(in srgb,var(--pvf-dark) 45%,#fff);stroke-width:.6}
.pvp-glass--door{fill:color-mix(in srgb,var(--pvp-shade) 30%,#fff)}
.pvp-acc{fill:color-mix(in srgb,var(--pvp-shade) 62%,#fff)}
.pvp-acct{fill:color-mix(in srgb,var(--pvp-shade) 32%,#fff)}
.pvp-lamp{fill:#fff;stroke:var(--pvf-dark);stroke-width:.4}
.pvp-sign{fill:#fff}
.pvp-awn2{fill:#fff;stroke:color-mix(in srgb,var(--pvf-dark) 40%,#fff);stroke-width:.5}
.pvp-wire{fill:#fff;stroke:var(--pvf-dark);stroke-width:.7}
.pvp-wl{stroke:var(--pvf-dark);stroke-width:.8}
.pvp-mesh{stroke:color-mix(in srgb,var(--pvf-dark) 35%,#fff);stroke-width:.5}
.pvp-grip{stroke:var(--pvf-accent);stroke-width:1.8;stroke-linecap:round}
.pvp-cw{fill:#2F3D42}
.pvp-pole{stroke:var(--pvf-dark);stroke-width:1.2;stroke-linecap:round}
.pvp-fb{fill:#1F4E9C}.pvp-fw{fill:#fff}.pvp-fr{fill:#D93A3A}
.pvp-wood{fill:#EBD3AE}
.pvp-woodcap{fill:#F8E9D2}
.pvp-ring{fill:none;stroke:#C79A5A;stroke-width:.6}
