@tailwind base; @tailwind components; @tailwind utilities; @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); :root { font-family: 'Inter', system-ui, -apple-system, sans-serif; line-height: 1.5; font-weight: 400; color-scheme: light dark; } * { box-sizing: border-box; margin: 0; padding: 0; } body { min-width: 320px; min-height: 100vh; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #6b7280; } /* Animations */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 5px rgba(6, 182, 212, 0.3); } 50% { box-shadow: 0 0 20px rgba(6, 182, 212, 0.6); } } .animate-fadeIn { animation: fadeIn 0.2s ease-out; } .animate-slideIn { animation: slideIn 0.3s ease-out; } .animate-pulse-glow { animation: pulse-glow 2s infinite; } /* Line clamp utility */ .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* Canvas context menu */ canvas { touch-action: none; }