| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| @layer base { |
| body { |
| @apply bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-50 text-slate-900 min-h-screen; |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| } |
|
|
| code { |
| font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; |
| } |
| } |
|
|
| @layer components { |
| .glass-effect { |
| @apply bg-white/80 backdrop-blur-xl border border-white/20 shadow-xl; |
| } |
|
|
| .gradient-text { |
| @apply bg-clip-text text-transparent bg-gradient-to-r from-primary-600 to-accent-600; |
| } |
|
|
| .hover-lift { |
| @apply transition-transform duration-300 hover:-translate-y-1 hover:shadow-2xl; |
| } |
|
|
| .btn-primary { |
| @apply bg-gradient-to-r from-primary-600 to-primary-700 text-white px-6 py-3 rounded-xl font-semibold shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105 active:scale-95; |
| } |
|
|
| .btn-secondary { |
| @apply bg-white text-primary-700 border-2 border-primary-200 px-6 py-3 rounded-xl font-semibold hover:bg-primary-50 transition-all duration-300 hover:border-primary-300; |
| } |
|
|
| .card { |
| @apply glass-effect rounded-2xl p-6 hover-lift; |
| } |
|
|
| .input-field { |
| @apply w-full px-4 py-3 rounded-xl border-2 border-slate-200 focus:border-primary-500 focus:ring-4 focus:ring-primary-100 transition-all duration-300 outline-none bg-white; |
| } |
| } |
|
|
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| height: 8px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: #f1f5f9; |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: linear-gradient(180deg, #0ea5e9, #a855f7); |
| border-radius: 10px; |
| } |
|
|
| ::-webkit-scrollbar-thumb:hover { |
| background: linear-gradient(180deg, #0284c7, #9333ea); |
| } |
|
|
| |
| .page-transition-enter { |
| opacity: 0; |
| transform: translateY(20px); |
| } |
|
|
| .page-transition-enter-active { |
| opacity: 1; |
| transform: translateY(0); |
| transition: opacity 300ms, transform 300ms; |
| } |
|
|
| .page-transition-exit { |
| opacity: 1; |
| } |
|
|
| .page-transition-exit-active { |
| opacity: 0; |
| transform: translateY(-20px); |
| transition: opacity 300ms, transform 300ms; |
| } |
|
|