{
  "html": "<footer class='footer'><div class='footer__grid-bg' aria-hidden='true'></div><div class='footer__glass' aria-hidden='true'></div><div class='footer__inner'><p class='footer__copy'>© 2026 Алексей Смирнов</p><nav class='footer__nav'><a href='/policy' class='footer__link'><span class='footer__link-icon'>↗</span><span class='footer__link-text'>Политика</span></a><a href='/rules' class='footer__link'><span class='footer__link-icon'>↗</span><span class='footer__link-text'>Правила</span></a></nav></div></footer>",
  "css": ".footer .footer__glass { position: absolute; inset: 0; pointer-events: none; border-radius: 24px; overflow: hidden; z-index: 0; } .footer .footer__glass::after { content: ''; position: absolute; top: 0; left: -60%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,0.0) 30%, rgba(255,255,255,0.85) 50%, rgba(191,219,254,0.55) 65%, transparent 100%); transform: skewX(-18deg); animation: footer-glass-shine 4s ease-in-out infinite; animation-delay: 0.2s; } .footer .footer__link-icon { position: relative; border-radius: 50%; padding: 2px; box-shadow: 0 0 0 0 rgba(96,165,250,0); animation: footer-icon-glow-reverse 2.6s ease-in-out infinite reverse; } .footer .footer__link:hover .footer__link-icon { animation: footer-icon-glow-reverse 1.4s ease-in-out infinite reverse; } @keyframes footer-glass-shine { 0% { left: -60%; opacity: 0; } 15% { opacity: 1; } 50% { left: 60%; opacity: 1; } 65% { opacity: 0; } 100% { left: 120%; opacity: 0; } } @keyframes footer-icon-glow-reverse { 0% { box-shadow: 0 0 0 0 rgba(96,165,250,0.0), 0 0 0 0 rgba(37,99,235,0.0); transform: scale(1); } 50% { box-shadow: 0 0 10px 3px rgba(96,165,250,0.55), 0 0 18px 6px rgba(37,99,235,0.25); transform: scale(1.18); } 100% { box-shadow: 0 0 0 0 rgba(96,165,250,0.0), 0 0 0 0 rgba(37,99,235,0.0); transform: scale(1); } } @supports (animation-timeline: scroll()) { .footer .footer__grid-bg { animation: footer-grid-scroll linear both; animation-timeline: scroll(root); } @keyframes footer-grid-scroll { 0% { background-position: 0 0, 0 0; } 100% { background-position: 56px 56px, 56px 56px; } } }"
}