{
  "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 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, #f1f5f9 0%, #e2e8f0 100%); }\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; mix-blend-mode: multiply; }\n.footer .footer__blob--1 { width: 260px; height: 260px; top: -80px; left: -60px; background: radial-gradient(circle at 30% 30%, #60a5fa, #2563eb 60%, transparent 70%); animation: footer-blob-float-1 14s ease-in-out infinite; }\n.footer .footer__blob--2 { width: 320px; height: 320px; bottom: -120px; right: -80px; background: radial-gradient(circle at 60% 40%, #a78bfa, #7c3aed 60%, transparent 70%); animation: footer-blob-float-2 18s ease-in-out infinite; }\n.footer .footer__blob--3 { width: 200px; height: 200px; top: 40%; left: 55%; background: radial-gradient(circle at 50% 50%, #34d399, #059669 60%, transparent 70%); animation: footer-blob-float-3 22s ease-in-out infinite; }\n.footer .footer__particles { position: absolute; inset: 0; pointer-events: none; z-index: 1; }\n.footer .footer__particle { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #2563eb; box-shadow: 0 0 8px 2px rgba(37, 99, 235, 0.6); opacity: 0.7; }\n.footer .footer__particle--1 { left: 10%; bottom: 10%; animation: footer-particle-rise 9s linear infinite; }\n.footer .footer__particle--2 { left: 25%; bottom: 5%; width: 4px; height: 4px; background: #7c3aed; box-shadow: 0 0 8px 2px rgba(124, 58, 237, 0.6); animation: footer-particle-rise 12s linear infinite 1.5s; }\n.footer .footer__particle--3 { left: 45%; bottom: 15%; animation: footer-particle-rise 10s linear infinite 3s; }\n.footer .footer__particle--4 { left: 65%; bottom: 8%; width: 5px; height: 5px; background: #059669; box-shadow: 0 0 8px 2px rgba(5, 150, 105, 0.6); animation: footer-particle-rise 14s linear infinite 0.8s; }\n.footer .footer__particle--5 { left: 80%; bottom: 12%; animation: footer-particle-rise 11s linear infinite 4s; }\n.footer .footer__particle--6 { left: 92%; bottom: 6%; width: 3px; height: 3px; background: #7c3aed; box-shadow: 0 0 8px 2px rgba(124, 58, 237, 0.6); animation: footer-particle-rise 13s linear infinite 2.2s; }\n.footer .footer__inner { position: relative; z-index: 2; padding: 18px 22px; border-radius: 16px; background: rgba(255, 255, 255, 0.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.6); box-shadow: 0 8px 32px rgba(37, 99, 235, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.3) inset; animation: footer-glow-pulse 4s ease-in-out infinite; }\n.footer .footer__copy { transition: color 0.3s ease, transform 0.3s ease; }\n.footer .footer__copy:hover { color: #1e40af; transform: translateY(-2px); }\n.footer .footer__nav { perspective: 600px; }\n.footer .footer__link { position: relative; display: inline-block; padding: 4px 8px; border-radius: 8px; transition: color 0.25s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease, box-shadow 0.25s ease; transform-style: preserve-3d; }\n.footer .footer__link::after { content: ''; position: absolute; left: 8px; right: 8px; bottom: 2px; height: 2px; background: linear-gradient(90deg, #2563eb, #7c3aed); border-radius: 2px; transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }\n.footer .footer__link:hover { color: #1e40af; background: rgba(37, 99, 235, 0.08); transform: rotateX(12deg) rotateY(-8deg) translateY(-3px); box-shadow: 0 6px 18px rgba(37, 99, 235, 0.25); }\n.footer .footer__link:hover::after { transform: scaleX(1); }\n@keyframes footer-blob-float-1 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, 30px) scale(1.15); } }\n@keyframes footer-blob-float-2 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-50px, -30px) scale(1.1); } }\n@keyframes footer-blob-float-3 { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(-30px, 20px) scale(1.2); } 66% { transform: translate(20px, -25px) scale(0.9); } }\n@keyframes footer-particle-rise { 0% { transform: translateY(0) translateX(0); opacity: 0; } 10% { opacity: 0.8; } 90% { opacity: 0.8; } 100% { transform: translateY(-120px) translateX(20px); opacity: 0; } }\n@keyframes footer-glow-pulse { 0%, 100% { box-shadow: 0 8px 32px rgba(37, 99, 235, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.3) inset; } 50% { box-shadow: 0 8px 40px rgba(124, 58, 237, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.5) inset; } }"
}