Some checks failed
CI / build-check-test (push) Has been cancelled
Document main/upstream-sync/feature branch strategy, add sync/push scripts, track .pi/agent extensions and webui in git, and disable startup changelog via showChangelogOnStartup. Co-authored-by: Cursor <cursoragent@cursor.com>
187 lines
3.2 KiB
CSS
187 lines
3.2 KiB
CSS
.splash {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 10000;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
background:
|
|
radial-gradient(circle at 18% 12%, rgba(37, 99, 235, 0.12), transparent 34%),
|
|
radial-gradient(circle at 82% 88%, rgba(34, 197, 94, 0.08), transparent 32%),
|
|
linear-gradient(180deg, #f7f8fb 0%, #f2f4f8 100%);
|
|
opacity: 1;
|
|
transition: opacity 0.42s ease;
|
|
}
|
|
|
|
.splashExiting {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.bgPulse {
|
|
position: absolute;
|
|
inset: -20%;
|
|
background:
|
|
radial-gradient(circle at 50% 45%, rgba(37, 99, 235, 0.14), transparent 42%),
|
|
radial-gradient(circle at 50% 55%, rgba(34, 197, 94, 0.1), transparent 48%);
|
|
animation: bgPulse 3.6s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.bgGlow {
|
|
position: absolute;
|
|
width: min(72vw, 420px);
|
|
height: min(72vw, 420px);
|
|
border-radius: 50%;
|
|
background: radial-gradient(circle, rgba(37, 99, 235, 0.12) 0%, transparent 68%);
|
|
filter: blur(8px);
|
|
animation: glowDrift 4.8s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.content {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 18px;
|
|
padding: 24px;
|
|
}
|
|
|
|
.logoWrap {
|
|
position: relative;
|
|
width: 132px;
|
|
height: 132px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.ring {
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: 50%;
|
|
border: 2px solid rgba(37, 99, 235, 0.28);
|
|
opacity: 0;
|
|
animation: ringExpand 2.4s ease-out infinite;
|
|
}
|
|
|
|
.ring2 {
|
|
animation-delay: 0.8s;
|
|
}
|
|
|
|
.ring3 {
|
|
animation-delay: 1.6s;
|
|
}
|
|
|
|
.logo {
|
|
width: 96px;
|
|
height: 96px;
|
|
object-fit: contain;
|
|
border-radius: 22px;
|
|
box-shadow:
|
|
0 10px 28px rgba(37, 99, 235, 0.18),
|
|
0 2px 8px rgba(15, 23, 42, 0.08);
|
|
animation: logoFloat 2.8s ease-in-out infinite;
|
|
}
|
|
|
|
.titleBlock {
|
|
text-align: center;
|
|
}
|
|
|
|
.title {
|
|
font-size: clamp(28px, 6vw, 36px);
|
|
font-weight: 700;
|
|
letter-spacing: -0.4px;
|
|
color: #111827;
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.subtitle {
|
|
margin-top: 6px;
|
|
font-size: 14px;
|
|
color: #6b7280;
|
|
letter-spacing: 0.2px;
|
|
}
|
|
|
|
.dots {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background: #22c55e;
|
|
animation: dotPulse 1.2s ease-in-out infinite;
|
|
}
|
|
|
|
.dot2 {
|
|
animation-delay: 0.2s;
|
|
}
|
|
|
|
.dot3 {
|
|
animation-delay: 0.4s;
|
|
}
|
|
|
|
@keyframes bgPulse {
|
|
0%, 100% { transform: scale(1); opacity: 0.72; }
|
|
50% { transform: scale(1.06); opacity: 1; }
|
|
}
|
|
|
|
@keyframes glowDrift {
|
|
0%, 100% { transform: translateY(0) scale(1); }
|
|
50% { transform: translateY(-10px) scale(1.04); }
|
|
}
|
|
|
|
@keyframes logoFloat {
|
|
0%, 100% { transform: translateY(0); }
|
|
50% { transform: translateY(-8px); }
|
|
}
|
|
|
|
@keyframes ringExpand {
|
|
0% {
|
|
transform: scale(0.72);
|
|
opacity: 0.65;
|
|
}
|
|
70% {
|
|
opacity: 0.12;
|
|
}
|
|
100% {
|
|
transform: scale(1.45);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes dotPulse {
|
|
0%, 80%, 100% {
|
|
transform: scale(0.72);
|
|
opacity: 0.45;
|
|
}
|
|
40% {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.bgPulse,
|
|
.bgGlow,
|
|
.logo,
|
|
.ring,
|
|
.dot {
|
|
animation: none !important;
|
|
}
|
|
|
|
.ring {
|
|
opacity: 0.2;
|
|
}
|
|
}
|