/* Vilni Local — canon ANIMATION + NEON layer (canon UX v2 2ZVmZ), shared by every client page (С4, 05.11.2026; was
   lc-result-canon-fx.css). Same contract as T9x «живий світ»: hue pair --nz / --nz2, strength --nzk (?glow=0.4…2), the whole
   layer off with html[data-neon="off"] (?neon=off). Root states sit on <html> (set by canon-fx.js); motion only with
   prefers-reduced-motion:no-preference AND html.nz-js — without JS / with reduced motion the page is static and visible.
   Maps: [data-rc-map] (result) or [data-cz-map] (any other page). Generic reveal hook: [data-cz-rv] > * (see canon-fx.js). */
html{--nzk:1}  /* on <html>: ?glow= sets it there inline, the page inherits it */
body:has(.cz),.cz{--nz:var(--violet);--nz2:var(--chartreuse);
  --nza:calc(min(100%, var(--nzk) * 64%));--nzb:calc(var(--nzk) * 8px);
  --nzg:color-mix(in srgb,var(--nz) var(--nza),transparent);--nzg2:color-mix(in srgb,var(--nz2) calc(min(100%, var(--nzk) * 85%)),transparent)}
:root .cz .ring{isolation:isolate}
:root .cz .ring svg{overflow:visible}
html:not([data-neon="off"]):root .cz .ring::before{content:"";position:absolute;inset:8%;z-index:-1;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--nz) calc(min(60%, var(--nzk) * 26%)),transparent),transparent)}
html:not([data-neon="off"]):root .cz .ring .arc{filter:drop-shadow(0 0 calc(var(--nzb) * .6) var(--nzg))}
html:not([data-neon="off"]):root .cz .hx.t{filter:drop-shadow(0 0 var(--nzb) var(--nzg2))}
html:not([data-neon="off"]):root .cz .pin{filter:drop-shadow(0 0 calc(var(--nzb) * .8) var(--nzg2))}
html:not([data-neon="off"]):root .cz .gl li.me{box-shadow:0 0 0 1.5px var(--nz),0 0 calc(var(--nzb) * 2) -2px var(--nzg)}
html:not([data-neon="off"]):root .cz .crown{filter:drop-shadow(0 0 calc(var(--nzb) * .5) var(--nzg2)) drop-shadow(0 0 1px #e8b100)}
:root .cz .pmain .btn-pri,:root .cz .endcta .btn-pri{position:relative;isolation:isolate}
html:not([data-neon="off"]):root .cz :is(.pmain,.endcta) .btn-pri{box-shadow:0 0 0 1px var(--nzg2),0 6px calc(var(--nzb) * 3) -4px var(--nzg2)}
html:not([data-neon="off"]):root .cz :is(.pmain,.endcta) .btn-pri::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  box-shadow:0 0 0 2px var(--nz2),0 0 calc(var(--nzb) * 3.5) var(--nzg2)}
html:not([data-neon="off"]):root .cz :is(.pmain,.endcta) .btn-pri:is(:hover,:focus-visible)::after{opacity:1}
:root .cz .mhx,:root .cz .pin,:root .cz .hxt,:root .cz .crown{transform-box:fill-box;transform-origin:center}
:root .cz .nz-halo{fill:none;stroke:var(--paper);stroke-width:2;opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:reduce){:root .cz .hx,:root .cz mark,:root .cz .btn{transition:none}
:root .cz .hx:hover{transform:none}}
@media (prefers-reduced-motion:no-preference){html.nz-js:root .cz .nz-rv{opacity:0;transform:translate3d(0,26px,0)}
html.nz-js:root .cz .nz-rv.nz-in{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.7,.2,1) var(--nzd,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--nzd,0ms)}
html.nz-js:root .cz .scorecard .arc{opacity:0}
html.nz-js:root .cz .scorecard.nz-on .arc{opacity:1;animation:nz-draw 1.2s cubic-bezier(.2,.7,.2,1) .15s backwards}
html.nz-js:root .cz .ring::before{opacity:0}
html.nz-js:root .cz .scorecard.nz-on .ring::before{opacity:1;transition:opacity 1.4s ease-out .5s}
html.nz-js:root .cz .subs .t i,html.nz-js:root .cz #n5 .bars .t i{transform:scaleX(0);transform-origin:left center}
html.nz-js:root .cz .nz-on .subs .t i,html.nz-js:root .cz #n5.nz-on .bars .t i{transform:none;transition:transform .9s cubic-bezier(.2,.7,.2,1) calc(.45s + var(--i,0) * 160ms)}
html.nz-js:root .cz .scale li.on{transform:scale(.9);opacity:.4}
html.nz-js:root .cz .scorecard.nz-on .scale li.on{transform:none;opacity:1;transition:transform .5s cubic-bezier(.3,1.4,.5,1) 1.1s,opacity .4s 1.1s}
html.nz-js:root .cz .dots19 i{opacity:0;transform:scale(.4)}
html.nz-js:root .cz .facts.nz-on .dots19 i{opacity:1;transform:none;transition:opacity .3s calc(var(--i,0) * 40ms),transform .35s cubic-bezier(.3,1.4,.5,1) calc(var(--i,0) * 40ms)}
html.nz-js:root .cz :is([data-rc-map],[data-cz-map]) :is(.hx,.hxt,.pin){opacity:0}
html.nz-js:root .cz :is([data-rc-map],[data-cz-map]).nz-on :is(.hx,.hxt,.pin){opacity:1;animation:nz-pop .5s cubic-bezier(.2,.8,.2,1) calc(var(--i,0) * 55ms) backwards}
html.nz-js:root .cz :is([data-rc-map],[data-cz-map]).nz-on .nz-halo{animation:nz-halo 2s ease-out 1.4s 3}
html.nz-js:root .cz .mini .mhx{opacity:0}
html.nz-js:root .cz .nz-on .mini .mhx{opacity:1;animation:nz-pop .45s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--i,0) * 40ms) backwards}
html.nz-js:root .cz .stairs li{opacity:0;transform:translate3d(0,40px,0)}
html.nz-js:root .cz .stairs.nz-on li{opacity:1;transform:none;transition:opacity .5s calc(var(--i,0) * 180ms),transform .6s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 180ms)}
html.nz-js:root .cz .tg.nz-on .kb span.yes{animation:nz-nudge 2.4s ease-in-out .9s 2}
html:not([data-neon="off"]).nz-js:root .cz :is(.pmain,.endcta).nz-in .btn-pri::after{animation:nz-pulse 1.8s ease-in-out .8s 3}
html:not([data-neon="off"]).nz-js:root .cz .nz-in .crown,html:not([data-neon="off"]).nz-js:root .cz .nz-on .crown{animation:nz-glint .9s cubic-bezier(.3,1.5,.5,1) .7s backwards,nz-shine 3.6s ease-in-out 1.8s infinite}}
@keyframes nz-draw{from{stroke-dasharray:0 400}}
@keyframes nz-pop{from{opacity:0;transform:scale(.55)}}
@keyframes nz-halo{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(4.5)}}
@keyframes nz-nudge{0%,100%{transform:none}50%{transform:scale(1.05)}}
@keyframes nz-pulse{0%,100%{opacity:0}50%{opacity:1}}
@keyframes nz-shine{0%,100%{opacity:1;transform:scale(1)}45%{opacity:.72;transform:scale(1.14)}60%{opacity:1;transform:scale(1.04)}}
@keyframes nz-glint{from{opacity:0;transform:scale(.3) rotate(-25deg)}}
@media print{:root .cz .crown{animation:none!important;transform:none!important;opacity:1!important}:root .cz .nz-rv,:root .cz .dots19 i,:root .cz .stairs li,:root .cz :is([data-rc-map],[data-cz-map]) *,:root .cz .mini .mhx,:root .cz .scorecard .arc{opacity:1!important;transform:none!important;animation:none!important}
:root .cz .nz-halo{display:none}}
