{
  "html": "<footer class='footer'><div class='footer__glow footer__glow--1'></div><div class='footer__glow footer__glow--2'></div><div class='footer__glow footer__glow--3'></div><div class='footer__particles'><span class='footer__particle'></span><span class='footer__particle'></span><span class='footer__particle'></span><span class='footer__particle'></span><span class='footer__particle'></span><span class='footer__particle'></span><span class='footer__particle'></span><span class='footer__particle'></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, #f8faff 0%, #eef6ff 100%); isolation: isolate; } .footer .footer__glow { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.55; pointer-events: none; z-index: 0; } .footer .footer__glow--1 { width: 320px; height: 320px; top: -140px; left: -80px; background: radial-gradient(circle, #22d3ee 0%, rgba(34, 211, 238, 0) 70%); animation: footer-float-1 14s ease-in-out infinite; } .footer .footer__glow--2 { width: 280px; height: 280px; bottom: -120px; right: -60px; background: radial-gradient(circle, #38bdf8 0%, rgba(56, 189, 248, 0) 70%); animation: footer-float-2 18s ease-in-out infinite; } .footer .footer__glow--3 { width: 220px; height: 220px; top: 50%; left: 50%; background: radial-gradient(circle, #67e8f9 0%, rgba(103, 232, 249, 0) 70%); animation: footer-float-3 22s ease-in-out infinite; } .footer .footer__particles { position: absolute; inset: 0; pointer-events: none; z-index: 0; } .footer .footer__particle { position: absolute; bottom: -10px; width: 6px; height: 6px; border-radius: 50%; background: #22d3ee; box-shadow: 0 0 10px #22d3ee, 0 0 20px rgba(34, 211, 238, 0.6); opacity: 0; animation: footer-rise 9s linear infinite; } .footer .footer__particle:nth-child(1) { left: 8%; animation-delay: 0s; } .footer .footer__particle:nth-child(2) { left: 22%; animation-delay: 1.2s; width: 4px; height: 4px; background: #67e8f9; box-shadow: 0 0 8px #67e8f9; } .footer .footer__particle:nth-child(3) { left: 38%; animation-delay: 2.4s; } .footer .footer__particle:nth-child(4) { left: 52%; animation-delay: 3.6s; width: 5px; height: 5px; background: #38bdf8; box-shadow: 0 0 10px #38bdf8; } .footer .footer__particle:nth-child(5) { left: 68%; animation-delay: 4.8s; } .footer .footer__particle:nth-child(6) { left: 80%; animation-delay: 6s; width: 4px; height: 4px; background: #0ea5e9; box-shadow: 0 0 8px #0ea5e9; } .footer .footer__particle:nth-child(7) { left: 90%; animation-delay: 7.2s; } .footer .footer__particle:nth-child(8) { left: 45%; animation-delay: 8.4s; width: 3px; height: 3px; background: #06b6d4; box-shadow: 0 0 6px #06b6d4; } .footer .footer__inner { position: relative; z-index: 1; padding: 16px 20px; border-radius: 16px; background: rgba(255, 255, 255, 0.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(34, 211, 238, 0.25); box-shadow: 0 8px 32px rgba(14, 165, 233, 0.12); animation: footer-pulse 4s ease-in-out infinite; } .footer .footer__link { position: relative; display: inline-block; padding: 4px 8px; border-radius: 8px; transition: color 0.25s ease, transform 0.35s ease, background 0.25s ease, box-shadow 0.25s ease; transform-style: preserve-3d; } .footer .footer__link::after { content: ''; position: absolute; left: 8px; right: 8px; bottom: 2px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #22d3ee, #38bdf8); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; } .footer .footer__link:hover { color: #0ea5e9; background: rgba(34, 211, 238, 0.12); transform: perspective(400px) rotateX(8deg) translateY(-2px); box-shadow: 0 6px 18px rgba(34, 211, 238, 0.35); } .footer .footer__link:hover::after { transform: scaleX(1); } @keyframes footer-float-1 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(60px, 40px) scale(1.15); } } @keyframes footer-float-2 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-50px, -30px) scale(1.2); } } @keyframes footer-float-3 { 0%, 100% { transform: translate(-50%, -50%) scale(1); } 50% { transform: translate(-30%, -70%) scale(1.25); } } @keyframes footer-rise { 0% { transform: translateY(0) translateX(0); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 0.8; } 100% { transform: translateY(-120px) translateX(20px); opacity: 0; } } @keyframes footer-pulse { 0%, 100% { box-shadow: 0 8px 32px rgba(14, 165, 233, 0.12), 0 0 0 0 rgba(34, 211, 238, 0.35); } 50% { box-shadow: 0 8px 32px rgba(14, 165, 233, 0.2), 0 0 0 8px rgba(34, 211, 238, 0); } }"
}