| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| @layer base { |
| body { |
| background-color: #050d1b; |
| color: #cfe2f7; |
| font-family: 'Sora', sans-serif; |
| overflow-x: hidden; |
| } |
|
|
| * { box-sizing: border-box; } |
| } |
|
|
| @layer components { |
| .card { |
| @apply bg-card border border-[#1a3a6e40] rounded-xl; |
| } |
|
|
| .tag-teal { |
| @apply font-mono text-[10px] font-medium px-3 py-1 rounded-[3px] |
| text-teal bg-[#0ec9a820] border border-[#0ec9a850]; |
| } |
|
|
| .tag-amber { |
| @apply font-mono text-[10px] font-medium px-3 py-1 rounded-[3px] |
| text-amber bg-[#f5a62318] border border-[#f5a62340]; |
| } |
|
|
| .tag-purple { |
| @apply font-mono text-[10px] font-medium px-3 py-1 rounded-[3px] |
| text-purple bg-[#9b74f720] border border-[#9b74f740]; |
| } |
|
|
| .section-label { |
| @apply font-mono text-[10px] text-teal tracking-[0.2em] uppercase |
| flex items-center gap-2 mb-3; |
| } |
|
|
| .section-label::after { |
| content: ''; |
| @apply flex-1 h-px bg-[#1e4a8a60]; |
| } |
|
|
| .btn-primary { |
| @apply bg-teal text-bg font-display font-semibold text-sm |
| px-6 py-3 rounded-md cursor-pointer border-none |
| transition-all duration-200 hover:opacity-85 hover:-translate-y-px; |
| } |
|
|
| .btn-ghost { |
| @apply bg-transparent text-[#cfe2f7] font-display font-medium text-sm |
| px-6 py-3 rounded-md cursor-pointer |
| border border-[#1e4a8a60] |
| transition-all duration-200 |
| hover:border-teal hover:bg-[#0ec9a820]; |
| } |
|
|
| .risk-low { @apply bg-[#30d98820] text-green border border-[#30d98840]; } |
| .risk-medium { @apply bg-[#f5a62318] text-amber border border-[#f5a62340]; } |
| .risk-high { @apply bg-[#ff4d6a20] text-red border border-[#ff4d6a40]; } |
|
|
| .panel-header { |
| @apply flex items-center gap-2 px-4 py-3 |
| border-b border-[#1a3a6e40] |
| font-mono text-[10px] text-muted tracking-[0.12em] uppercase; |
| } |
|
|
| .emo-bar { |
| @apply h-1 rounded-full transition-all duration-700 ease-out; |
| } |
| } |
|
|
| @layer utilities { |
| .glow-teal { box-shadow: 0 0 24px rgba(14,201,168,0.12); } |
| .glow-purple { box-shadow: 0 0 24px rgba(155,116,247,0.10); } |
|
|
| .gradient-text { |
| background: linear-gradient(135deg, #d8f0ff 0%, #8ecfff 40%, #0ec9a8 100%); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
|
|
| .processing-ring { |
| animation: borderGlow 2s linear infinite; |
| } |
|
|
| @keyframes borderGlow { |
| 0% { box-shadow: 0 0 0 0 rgba(14,201,168,0); } |
| 50% { box-shadow: 0 0 0 1px rgba(14,201,168,0.4); } |
| 100% { box-shadow: 0 0 0 0 rgba(14,201,168,0); } |
| } |
|
|
| .scanline-animate { |
| animation: scanMove 2.5s ease-in-out infinite; |
| } |
|
|
| @keyframes scanMove { |
| 0% { top: 0%; opacity: 0; } |
| 10% { opacity: 0.7; } |
| 90% { opacity: 0.7; } |
| 100% { top: 100%; opacity: 0; } |
| } |
|
|
| .cursor-blink::after { |
| content: ''; |
| display: inline-block; |
| width: 2px; |
| height: 14px; |
| background: #0ec9a8; |
| margin-left: 2px; |
| vertical-align: middle; |
| animation: blink 1s infinite; |
| } |
|
|
| @keyframes blink { |
| 0%, 49% { opacity: 1; } |
| 50%, 100%{ opacity: 0; } |
| } |
| } |
|
|