Files
CASAN/packages/casan-control-panel/frontend/src/index.css
T

84 lines
2.3 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: #162033;
background: #edf1f6;
font-synthesis: none;
}
html, body, #root { min-height: 100%; }
body {
margin: 0;
background:
radial-gradient(circle at 72% -10%, rgba(90, 130, 255, 0.13), transparent 30rem),
#edf1f6;
}
* { box-sizing: border-box; }
button, input, select, textarea { font: inherit; }
::selection { background: #c8d7ff; color: #14234b; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #c8d0dd; border: 3px solid transparent; border-radius: 999px; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }
@keyframes trace-flow {
from { transform: translateX(-150%); }
to { transform: translateX(350%); }
}
.trace-edge {
position: relative;
width: 2.75rem;
height: 2px;
flex: 0 0 2.75rem;
overflow: hidden;
border-radius: 999px;
background: #cbd5e1;
}
.trace-edge-active {
background: #93c5fd;
}
.trace-edge-active::after {
position: absolute;
inset-block: 0;
left: 0;
width: 35%;
border-radius: 999px;
background: linear-gradient(90deg, transparent, #2563eb, transparent);
content: "";
animation: trace-flow 1.2s linear infinite;
}
@keyframes goal-orb-breathe {
0%, 100% { transform: scale(1); box-shadow: 0 0 0 rgba(103, 232, 249, 0); }
50% { transform: scale(1.055); box-shadow: 0 0 28px rgba(103, 232, 249, 0.28); }
}
@keyframes goal-core-pulse {
0%, 100% { opacity: 0.45; transform: scale(0.7); }
50% { opacity: 0.1; transform: scale(2.2); }
}
@keyframes goal-signal-ping {
0% { box-shadow: 0 0 0 0 rgba(103, 232, 249, 0.68); }
75%, 100% { box-shadow: 0 0 0 9px rgba(103, 232, 249, 0); }
}
.goal-agent-running { animation: goal-orb-breathe 1.8s ease-in-out infinite; }
.goal-agent-running .goal-agent-core { position: absolute; animation: goal-core-pulse 1.8s ease-out infinite; }
.goal-control-signal { animation: goal-signal-ping 1.4s ease-out infinite; }
@media (prefers-reduced-motion: reduce) {
.trace-edge-active::after { animation: none; }
.goal-agent-running, .goal-agent-running .goal-agent-core, .goal-control-signal { animation: none; }
}