:where([class^="ri-"])::before { content: "\f3c2"; }
html { scroll-behavior: smooth; }
.back-to-top { opacity: 0; transform: translateY(20px); transition: all 0.3s ease; }
.back-to-top.show { opacity: 1; transform: translateY(0); }
.loading-skeleton { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .5; } }
.mobile-menu { transform: translateX(100%); transition: transform 0.3s ease-in-out; }
.mobile-menu.show { transform: translateX(0); }
.mobile-menu-overlay { opacity: 0; visibility: hidden; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; }
.mobile-menu-overlay.show { opacity: 1; visibility: visible; }
@media (max-width: 640px) {
.prose { font-size: 0.9375rem; }
.prose h2 { font-size: 1.5rem; margin-top: 1.5rem; margin-bottom: 0.75rem; }
.prose p { margin-bottom: 1rem; }
.prose img { margin: 1rem 0; }
}