{
  "html": "<footer class='footer'><div class='footer__glow footer__glow--1'></div><div class='footer__glow footer__glow--2'></div><div class='footer__particles'><span class='footer__particle footer__particle--1'></span><span class='footer__particle footer__particle--2'></span><span class='footer__particle footer__particle--3'></span><span class='footer__particle footer__particle--4'></span><span class='footer__particle footer__particle--5'></span><span class='footer__particle footer__particle--6'></span></div><div class='footer__inner'><p class='footer__copy'>© 2026 Алексей Смирнов</p><nav class='footer__nav'><a href='/policy' class='footer__link'>Политика</a><a href='/rules' class='footer__link'>Правила</a></nav></div></footer>",
  "css": ".footer { position: relative; overflow: hidden; background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%); border: 1px solid rgba(59, 130, 246, 0.15); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(59, 130, 246, 0.05), 0 8px 32px rgba(59, 130, 246, 0.08); animation: footer-pulse 4s ease-in-out infinite; } .footer .footer__glow { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5; pointer-events: none; z-index: 0; } .footer .footer__glow--1 { width: 300px; height: 300px; top: -100px; left: -100px; background: radial-gradient(circle, rgba(59, 130, 246, 0.4) 0%, transparent 70%); animation: footer-float 12s ease-in-out infinite; } .footer .footer__glow--2 { width: 250px; height: 250px; bottom: -80px; right: -80px; background: radial-gradient(circle, rgba(139, 92, 246, 0.35) 0%, transparent 70%); animation: footer-float 15s ease-in-out infinite reverse; } .footer .footer__particles { position: absolute; inset: 0; pointer-events: none; z-index: 1; } .footer .footer__particle { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: rgba(59, 130, 246, 0.6); box-shadow: 0 0 8px rgba(59, 130, 246, 0.4); animation: footer-particle-float 8s ease-in-out infinite; } .footer .footer__particle--1 { top: 20%; left: 10%; animation-delay: 0s; } .footer .footer__particle--2 { top: 70%; left: 25%; width: 4px; height: 4px; animation-delay: 1.5s; background: rgba(139, 92, 246, 0.6); } .footer .footer__particle--3 { top: 40%; left: 50%; width: 8px; height: 8px; animation-delay: 3s; background: rgba(59, 130, 246, 0.4); } .footer .footer__particle--4 { top: 80%; left: 70%; width: 5px; height: 5px; animation-delay: 2s; background: rgba(139, 92, 246, 0.5); } .footer .footer__particle--5 { top: 15%; left: 85%; width: 7px; height: 7px; animation-delay: 4s; background: rgba(59, 130, 246, 0.5); } .footer .footer__particle--6 { top: 60%; left: 90%; width: 3px; height: 3px; animation-delay: 5s; background: rgba(139, 92, 246, 0.7); } .footer .footer__inner { position: relative; z-index: 2; backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.6); border-radius: 16px; padding: 16px 24px; border: 1px solid rgba(255, 255, 255, 0.8); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02); } .footer .footer__link { position: relative; display: inline-block; transition: color 0.2s ease, transform 0.3s ease; } .footer .footer__link:hover { color: #1e40af; transform: perspective(500px) rotateX(10deg) rotateY(-5deg) translateY(-2px); text-shadow: 0 2px 8px rgba(59, 130, 246, 0.3); } .footer .footer__link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, #3b82f6, #8b5cf6); transition: width 0.3s ease; border-radius: 1px; } .footer .footer__link:hover::after { width: 100%; } @keyframes footer-float { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(30px, -20px) scale(1.1); } 66% { transform: translate(-20px, 20px) scale(0.9); } } @keyframes footer-particle-float { 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.6; } 25% { transform: translate(10px, -15px) scale(1.2); opacity: 1; } 50% { transform: translate(-5px, -25px) scale(0.8); opacity: 0.4; } 75% { transform: translate(-15px, -10px) scale(1.1); opacity: 0.8; } } @keyframes footer-pulse { 0%, 100% { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(59, 130, 246, 0.05), 0 8px 32px rgba(59, 130, 246, 0.08); } 50% { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 0 0 2px rgba(59, 130, 246, 0.15), 0 8px 40px rgba(59, 130, 246, 0.15); } }"
}