84 lines
2.3 KiB
CSS
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; }
|
|
}
|