
        /* Base Styles */
        body { padding-bottom: 80px; }
        @media (min-width: 768px) { body { padding-bottom: 0; } }
        
        /* Background Grid Pattern */
        .bg-grid {
          background-size: 40px 40px;
          mask-image: linear-gradient(to bottom, transparent, 10%, white, 90%, transparent);
          -webkit-mask-image: linear-gradient(to bottom, transparent, 5%, white, 95%, transparent);
        }

        /* Animations */
        @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
        .animate-spin { animation: spin 1s linear infinite; }
        
        /* Fade In Utils */
        .animate-in { animation-duration: 0.5s; animation-fill-mode: both; }
        .fade-in { animation-name: fadeIn; }
        .slide-in-from-bottom { animation-name: slideInBottom; }
        .zoom-in { animation-name: zoomIn; }
        
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        @keyframes slideInBottom { from { transform: translateY(100%); } to { transform: translateY(0); } }
        @keyframes zoomIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
      