{
  "html": "<footer class='footer'><div class='footer__bg'><span class='footer__blob footer__blob--1'></span><span class='footer__blob footer__blob--2'></span><span class='footer__blob footer__blob--3'></span></div><div class='footer__particles'><span class='footer__particle' style='left:8%;animation-delay:0s'></span><span class='footer__particle' style='left:22%;animation-delay:1.2s'></span><span class='footer__particle' style='left:38%;animation-delay:2.4s'></span><span class='footer__particle' style='left:54%;animation-delay:0.6s'></span><span class='footer__particle' style='left:70%;animation-delay:1.8s'></span><span class='footer__particle' style='left:86%;animation-delay:3s'></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, #f0f9ff 0%, #e0f2fe 50%, #f8faff 100%); border-top: 1px solid #bae6fd; }\n.footer .footer__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }\n.footer .footer__blob { position: absolute; border-radius: 50%; filter: blur(40px); opacity: 0.55; }\n.footer .footer__blob--1 { width: 260px; height: 260px; left: -60px; top: -80px; background: radial-gradient(circle at 30% 30%, #22d3ee, transparent 70%); animation: footer-float 14s ease-in-out infinite; }\n.footer .footer__blob--2 { width: 320px; height: 320px; right: -80px; bottom: -120px; background: radial-gradient(circle at 60% 40%, #38bdf8, transparent 70%); animation: footer-float 18s ease-in-out infinite reverse; }\n.footer .footer__blob--3 { width: 200px; height: 200px; left: 45%; top: 40%; background: radial-gradient(circle at 50% 50%, #67e8f9, transparent 70%); animation: footer-float 22s ease-in-out infinite; }\n.footer .footer__particles { position: absolute; inset: 0; pointer-events: none; z-index: 0; }\n.footer .footer__particle { position: absolute; bottom: -10px; width: 6px; height: 6px; border-radius: 50%; background: #06b6d4; box-shadow: 0 0 8px #22d3ee, 0 0 16px #67e8f9; animation: footer-rise 9s linear infinite; opacity: 0; }\n.footer .footer__inner { position: relative; z-index: 1; }\n.footer .footer__copy { color: #0e7490; }\n.footer .footer__link { position: relative; display: inline-block; padding: 4px 10px; border-radius: 8px; color: #0ea5e9; transition: color 0.25s, transform 0.35s, background 0.25s, box-shadow 0.35s; transform-style: preserve-3d; }\n.footer .footer__link::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 0; height: 2px; background: linear-gradient(90deg, #22d3ee, #38bdf8); border-radius: 2px; transform: translateX(-50%); transition: width 0.3s ease; }\n.footer .footer__link:hover { color: #0369a1; background: rgba(255, 255, 255, 0.6); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.4), 0 8px 20px -6px rgba(6, 182, 212, 0.5); transform: perspective(400px) rotateX(8deg) rotateY(-6deg) translateY(-2px); text-decoration: none; }\n.footer .footer__link:hover::after { width: 80%; }\n@keyframes footer-float { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(30px, -20px) scale(1.1); } 66% { transform: translate(-20px, 25px) scale(0.95); } }\n@keyframes footer-rise { 0% { transform: translateY(0) scale(0.6); opacity: 0; } 10% { opacity: 0.9; } 90% { opacity: 0.6; } 100% { transform: translateY(-140px) scale(1.1); opacity: 0; } }"
}