/* Союз-Эксперт — новогоднее оформление 2027 (только анимация) */
#ny27{position:absolute;left:0;top:0;width:100%;height:0;z-index:9999;pointer-events:none}
#ny27 *{pointer-events:none}
#ny27 .clip{position:absolute;overflow:hidden}
#ny27snow{position:fixed;left:0;top:0;z-index:9998;pointer-events:none}
@keyframes ny-twinkle{0%,100%{opacity:1;filter:drop-shadow(0 0 7px currentColor)}50%{opacity:.4;filter:drop-shadow(0 0 1px currentColor)}}
#ny27 .bulb{animation:ny-twinkle 1.8s ease-in-out infinite}
@keyframes ny-swing{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
#ny27 .hang{position:absolute;transform-origin:50% 0;animation:ny-swing 3.2s ease-in-out infinite alternate}
#ny27 .hang .str{width:1.5px;background:rgba(60,60,60,.75);margin:0 auto}
#ny27 .ball{border-radius:50%;margin:0 auto;position:relative;background:radial-gradient(circle at 35% 30%,#fff 0,rgba(255,255,255,.85) 5%,var(--c) 36%,color-mix(in srgb,var(--c) 40%,#000) 100%);box-shadow:0 5px 12px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.45)}
#ny27 .ball::before{content:"";position:absolute;left:0;right:0;top:34%;height:14%;background:rgba(255,255,255,.28);transform:rotate(-8deg)}
#ny27 .cap{position:absolute;left:50%;transform:translateX(-50%);top:-7px;width:26%;height:9px;background:linear-gradient(#e8c766,#a98425);border-radius:2px}
#ny27 .hatw{position:absolute;transform-origin:50% 100%}
@keyframes ny-bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-4px) rotate(calc(var(--r,0deg) + 3deg))}}
#ny27 .bob{animation:ny-bob 2.6s ease-in-out infinite}
#ny27 .sw-a{transform-origin:33px 82px;animation:ny-armA 1.1s ease-in-out infinite alternate}
#ny27 .sw-b{transform-origin:67px 82px;animation:ny-armB 1.1s ease-in-out infinite alternate}
@keyframes ny-armA{from{transform:rotate(-14deg)}to{transform:rotate(16deg)}}
@keyframes ny-armB{from{transform:rotate(14deg)}to{transform:rotate(-16deg)}}
#ny27 .santa.walk .coat{transform-origin:50px 146px;animation:ny-sway .8s ease-in-out infinite alternate}
@keyframes ny-sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
#ny27 .santa.walk .bl{animation:ny-stepL .8s ease-in-out infinite alternate}
#ny27 .santa.walk .br{animation:ny-stepL .8s ease-in-out infinite alternate-reverse}
@keyframes ny-stepL{from{transform:translate(-5px,0)}to{transform:translate(5px,-5px)}}
#ny27 .prop{transform-origin:0 -18px;animation:ny-prop .12s linear infinite alternate}
@keyframes ny-prop{from{transform:scaleX(1)}to{transform:scaleX(-1)}}
#ny27 .mag{transform-origin:76px 96px;animation:ny-magw 2.4s ease-in-out infinite}
@keyframes ny-magw{0%,100%{transform:translate(76px,96px) rotate(-6deg)}50%{transform:translate(76px,96px) rotate(10deg)}}
#ny27 .bokeh{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,224,150,.65),rgba(255,224,150,0) 70%);filter:blur(3px);animation:ny-bk linear infinite;opacity:0}
@keyframes ny-bk{0%{transform:translateY(60px) scale(.8);opacity:0}20%{opacity:.8}80%{opacity:.7}100%{transform:translateY(-260px) scale(1.15);opacity:0}}
#ny27 .walker{position:absolute;left:0;top:571px;width:110px;will-change:transform}
#ny27 .walker .bubble{position:absolute;left:62px;top:-44px;white-space:nowrap;padding:9px 16px;border-radius:14px 14px 14px 2px;background:#fff;color:#1f3a6e;font:700 15px 'Segoe UI',Arial;box-shadow:0 6px 18px rgba(20,40,90,.3);opacity:0;transform:translateY(6px);transition:all .35s}
#ny27 .walker .bubble.on{opacity:1;transform:none}
#ny27 .walker .bubble b{color:#c41e3a}
#ny27 .walker .santa{display:block}
#ny27 .walker .santa:not(.walk) .sw-a,#ny27 .walker .santa:not(.walk) .coat,#ny27 .walker .santa:not(.walk) .bl,#ny27 .walker .santa:not(.walk) .br{animation:none}
#ny27 .stamp{position:absolute;left:688px;top:386px;width:170px;height:170px;opacity:0;mix-blend-mode:multiply;transform-origin:50% 50%;animation:ny-slam 13s ease-out infinite}
@keyframes ny-slam{0%,12%{opacity:0;transform:rotate(-16deg) scale(2.6)}15%{opacity:.95;transform:rotate(-16deg) scale(.94)}17%{transform:rotate(-16deg) scale(1.04)}19%,84%{opacity:.9;transform:rotate(-16deg) scale(1)}94%,100%{opacity:0;transform:rotate(-16deg) scale(1)}}
#ny27 .stamp{position:absolute}
@media (prefers-reduced-motion:reduce){#ny27,#ny27snow{display:none}}
