emit-ai / frontend /src /index.css
aasthav18's picture
Add React frontend + Render deploy config
05b4ab1
Raw
History Blame Contribute Delete
3.16 kB
@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; }
}
}