/* PozitiFF NEON — базовый слой: живой фон, свечение курсора, котики. Без глобальных сбросов, чтобы не ломать styles.css */
:root{--n-ink:#05050a;--n-txt:#eef0f6;--n-mut:#9aa0b6;--n-line:rgba(255,255,255,.1);--n-lime:#c9f45a;--n-cyan:#35e8ff;--n-coral:#ff4f7b;--n-glass:rgba(12,13,24,.58);--n-mono:ui-monospace,"Cascadia Code","JetBrains Mono",Consolas,Menlo,monospace}
#bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:-2;display:block;pointer-events:none}
.noise{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(53,232,255,.10),transparent 60%);transform:translate(var(--mx,-999px),var(--my,-999px))}
.cat-toggle{position:fixed;right:18px;bottom:18px;z-index:60;padding:10px 16px;border-radius:999px;border:1px solid var(--n-line);background:rgba(10,10,18,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--n-txt);font:600 13px/1.2 Inter,system-ui,sans-serif;cursor:pointer}
.cat-toggle[aria-pressed=false]{opacity:.6}
.cat-toggle:focus-visible{outline:2px solid var(--n-lime);outline-offset:3px}
#catLayer{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}
.cat{position:absolute;left:0;top:0;width:84px;height:64px;pointer-events:auto;cursor:pointer;will-change:transform}
.cat svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 6px rgba(53,232,255,.35))}
.cat .bubble{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);white-space:nowrap;font:600 12px var(--n-mono);color:#000;background:var(--n-lime);padding:3px 8px;border-radius:8px;opacity:0;transition:opacity .3s;pointer-events:none}
.cat.talk .bubble{opacity:1}
.cat .tail{transform-origin:18px 44px;animation:n-tail 1.4s ease-in-out infinite alternate}
@keyframes n-tail{to{transform:rotate(-22deg)}}
.cat.walk .leg{animation:n-leg .35s linear infinite alternate}.cat.walk .leg.b{animation-delay:-.17s}
@keyframes n-leg{to{transform:translateY(-3px)}}
.cat .eye{transition:transform .1s}
.cat.sleep .eye-open{display:none}.cat:not(.sleep) .eye-closed{display:none}
.cat .zzz{display:none;font:700 14px var(--n-mono);fill:var(--n-cyan)}
.cat.sleep .zzz{display:block;animation:n-zz 2s infinite}
@keyframes n-zz{0%{opacity:0;transform:translate(0,0)}50%{opacity:1}100%{opacity:0;transform:translate(8px,-14px)}}
.cat.jump svg{animation:n-jump .55s cubic-bezier(.3,1.6,.5,1)}
@keyframes n-jump{40%{transform:translateY(-38px) rotate(-8deg)}}
.heart{position:fixed;pointer-events:none;z-index:55;font-size:18px;color:var(--n-coral);animation:n-heart 1.1s ease-out forwards}
@keyframes n-heart{to{transform:translate(var(--dx),-70px) scale(1.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.cursor-glow{display:none}.cat *,.cat svg{animation:none!important}}
@media print{#bg,.noise,.cursor-glow,.cat-toggle,#catLayer{display:none!important}}
