| | @tailwind base; |
| | @tailwind components; |
| | @tailwind utilities; |
| |
|
| | |
| | ::-webkit-scrollbar { |
| | width: 8px; |
| | height: 8px; |
| | } |
| |
|
| | ::-webkit-scrollbar-track { |
| | background: #f1f5f9; |
| | } |
| |
|
| | ::-webkit-scrollbar-thumb { |
| | background: #cbd5e1; |
| | border-radius: 4px; |
| | } |
| |
|
| | ::-webkit-scrollbar-thumb:hover { |
| | background: #94a3b8; |
| | } |
| |
|
| | |
| | html { |
| | scroll-behavior: smooth; |
| | } |
| |
|
| | |
| | @keyframes float { |
| | 0%, 100% { |
| | transform: translateY(0); |
| | } |
| | 50% { |
| | transform: translateY(-10px); |
| | } |
| | } |
| |
|
| | @keyframes pulse-glow { |
| | 0%, 100% { |
| | box-shadow: 0 0 20px rgba(139, 92, 246, 0.3); |
| | } |
| | 50% { |
| | box-shadow: 0 0 40px rgba(139, 92, 246, 0.6); |
| | } |
| | } |
| |
|
| | .animate-float { |
| | animation: float 3s ease-in-out infinite; |
| | } |
| |
|
| | .animate-pulse-glow { |
| | animation: pulse-glow 2s ease-in-out infinite; |
| | } |
| |
|
| | |
| | .gradient-text { |
| | background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 50%, #c4b5fd 100%); |
| | -webkit-background-clip: text; |
| | -webkit-text-fill-color: transparent; |
| | background-clip: text; |
| | } |
| |
|
| | |
| | .card-hover { |
| | transition: all 0.3s ease; |
| | } |
| |
|
| | .card-hover:hover { |
| | transform: translateY(-5px); |
| | box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); |
| | } |
| |
|
| | |
| | .btn-shine { |
| | position: relative; |
| | overflow: hidden; |
| | } |
| |
|
| | .btn-shine::after { |
| | content: ''; |
| | position: absolute; |
| | top: 0; |
| | left: -100%; |
| | width: 100%; |
| | height: 100%; |
| | background: linear-gradient( |
| | 90deg, |
| | transparent, |
| | rgba(255, 255, 255, 0.2), |
| | transparent |
| | ); |
| | transition: left 0.5s ease; |
| | } |
| |
|
| | .btn-shine:hover::after { |
| | left: 100%; |
| | } |
| |
|
| | |
| | .skeleton { |
| | background: linear-gradient( |
| | 90deg, |
| | #f1f5f9 25%, |
| | #e2e8f0 50%, |
| | #f1f5f9 75% |
| | ); |
| | background-size: 200% 100%; |
| | animation: skeleton-loading 1.5s infinite; |
| | } |
| |
|
| | @keyframes skeleton-loading { |
| | 0% { |
| | background-position: 200% 0; |
| | } |
| | 100% { |
| | background-position: -200% 0; |
| | } |
| | } |
| |
|
| | |
| | *:focus { |
| | outline: none; |
| | } |
| |
|
| | *:focus-visible { |
| | outline: 2px solid #8b5cf6; |
| | outline-offset: 2px; |
| | } |
| |
|
| | |
| | ::selection { |
| | background: rgba(139, 92, 246, 0.2); |
| | color: #1e293b; |
| | } |
| |
|
| | |
| | pre { |
| | counter-reset: line; |
| | } |
| |
|
| | code { |
| | counter-increment: line; |
| | } |
| |
|
| | |
| | @media (max-width: 640px) { |
| | html { |
| | font-size: 14px; |
| | } |
| | } |
| |
|
| | |
| | .glass { |
| | background: rgba(255, 255, 255, 0.7); |
| | backdrop-filter: blur(10px); |
| | -webkit-backdrop-filter: blur(10px); |
| | border: 1px solid rgba(255, 255, 255, 0.3); |
| | } |
| |
|
| | |
| | .gradient-border { |
| | position: relative; |
| | background: white; |
| | border-radius: 1rem; |
| | } |
| |
|
| | .gradient-border::before { |
| | content: ''; |
| | position: absolute; |
| | inset: -2px; |
| | border-radius: 1.1rem; |
| | background: linear-gradient(135deg, #8b5cf6, #a78bfa, #c4b5fd); |
| | z-index: -1; |
| | } |
| |
|
| | |
| | .typing-cursor::after { |
| | content: '|'; |
| | animation: blink 1s step-end infinite; |
| | } |
| |
|
| | @keyframes blink { |
| | 0%, 100% { |
| | opacity: 1; |
| | } |
| | 50% { |
| | opacity: 0; |
| | } |
| | } |