@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; html, body { padding: 0; margin: 0; font-family: 'Inter', -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a { color: inherit; text-decoration: none; } * { box-sizing: border-box; } @layer base { h1, h2, h3, h4, h5, h6 { @apply font-semibold text-gray-900; } h1 { @apply text-3xl lg:text-4xl; } h2 { @apply text-2xl lg:text-3xl; } h3 { @apply text-xl lg:text-2xl; } } @layer components { .btn-primary { @apply bg-blue-600 hover:bg-blue-700 text-white font-medium py-2 px-4 rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2; } .btn-secondary { @apply bg-gray-100 hover:bg-gray-200 text-gray-900 font-medium py-2 px-4 rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2; } .card { @apply bg-white rounded-xl shadow-sm border border-gray-200 hover:shadow-md transition-shadow; } .input-field { @apply block w-full rounded-lg border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500 transition-colors; } } /* Custom scrollbar */ .scrollbar-thin { scrollbar-width: thin; scrollbar-color: #cbd5e1 #f1f5f9; } .scrollbar-thin::-webkit-scrollbar { width: 6px; } .scrollbar-thin::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 3px; } .scrollbar-thin::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; } .scrollbar-thin::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Loading animation */ @keyframes spin { to { transform: rotate(360deg); } } .animate-spin { animation: spin 1s linear infinite; } /* Canvas styling */ canvas { border-radius: 8px; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); }