| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| |
| @keyframes stepReveal { |
| from { opacity: 0; transform: translateX(-10px); } |
| to { opacity: 1; transform: translateX(0); } |
| } |
| @keyframes fillBar { |
| from { transform: scaleX(0); } |
| to { transform: scaleX(1); } |
| } |
| @keyframes fadeUp { |
| from { opacity: 0; transform: translateY(8px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| @keyframes scanPulse { |
| 0%, 100% { opacity: 0.4; } |
| 50% { opacity: 1; } |
| } |
| @keyframes ping { |
| 75%, 100% { transform: scale(2); opacity: 0; } |
| } |
| @keyframes slideInRight { |
| from { opacity: 0; transform: translateX(24px); } |
| to { opacity: 1; transform: translateX(0); } |
| } |
|
|
| @layer base { |
| *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } |
|
|
| html, body, #root { height: 100%; overflow: hidden; } |
|
|
| body { |
| background: #080810; |
| color: #dde1f0; |
| font-family: 'IBM Plex Mono', monospace; |
| -webkit-font-smoothing: antialiased; |
| font-size: 13px; |
| } |
|
|
| |
| body::after { |
| content: ''; |
| position: fixed; |
| inset: 0; |
| background: repeating-linear-gradient( |
| 0deg, |
| transparent, |
| transparent 3px, |
| rgba(0,0,0,0.025) 3px, |
| rgba(0,0,0,0.025) 4px |
| ); |
| pointer-events: none; |
| z-index: 9999; |
| } |
| } |
|
|
| @layer utilities { |
| .font-display { font-family: 'Syne', sans-serif; } |
|
|
| .step-item { |
| opacity: 0; |
| animation: stepReveal 0.35s ease forwards; |
| } |
|
|
| .score-bar { |
| transform-origin: left; |
| transform: scaleX(0); |
| animation: fillBar 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards; |
| } |
|
|
| .fade-up { |
| opacity: 0; |
| animation: fadeUp 0.4s ease forwards; |
| } |
|
|
| .animate-scanPulse { animation: scanPulse 1.4s ease-in-out infinite; } |
| .animate-ping { animation: ping 1s cubic-bezier(0,0,0.2,1) infinite; } |
| .slide-in { animation: slideInRight 0.3s ease forwards; } |
|
|
| .glow-red { text-shadow: 0 0 35px rgba(248,113,113,0.55), 0 0 70px rgba(248,113,113,0.2); } |
| .glow-green { text-shadow: 0 0 35px rgba(74,222,128,0.55), 0 0 70px rgba(74,222,128,0.2); } |
| .glow-orange { text-shadow: 0 0 35px rgba(251,146,60,0.55), 0 0 70px rgba(251,146,60,0.2); } |
| .glow-purple { text-shadow: 0 0 35px rgba(192,132,252,0.55), 0 0 70px rgba(192,132,252,0.2); } |
| } |
|
|
| ::-webkit-scrollbar { width: 3px; } |
| ::-webkit-scrollbar-track { background: #0f0f1a; } |
| ::-webkit-scrollbar-thumb { background: #2a2a45; } |
|
|