113 lines
2.2 KiB
CSS
113 lines
2.2 KiB
CSS
@keyframes aiBtnGradientFlow {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
|
|
100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
}
|
|
|
|
@keyframes aiRainbowShift {
|
|
0% {
|
|
background-position: 0% 50%;
|
|
}
|
|
|
|
100% {
|
|
background-position: 200% 50%;
|
|
}
|
|
}
|
|
|
|
.aiTrigger {
|
|
position: relative;
|
|
isolation: isolate;
|
|
overflow: hidden;
|
|
z-index: 0;
|
|
transition:
|
|
color 0.35s ease,
|
|
border-color 0.35s ease,
|
|
background-color 0.35s ease,
|
|
box-shadow 0.35s ease;
|
|
}
|
|
|
|
.aiTrigger::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
z-index: -1;
|
|
border-radius: inherit;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
background-image: linear-gradient(
|
|
135deg,
|
|
#2dd4bf 0%,
|
|
#38bdf8 12%,
|
|
#4338ca 28%,
|
|
#9333ea 44%,
|
|
#ec4899 58%,
|
|
#f97316 72%,
|
|
#fb923c 86%,
|
|
#facc15 100%
|
|
);
|
|
background-size: 250% 250%;
|
|
background-position: 0% 50%;
|
|
transition: opacity 0.35s ease;
|
|
animation: aiBtnGradientFlow 4s ease-in-out infinite;
|
|
animation-play-state: paused;
|
|
}
|
|
|
|
.aiTrigger:hover:not(:disabled),
|
|
.aiTrigger:focus-visible:not(:disabled) {
|
|
color: #fff;
|
|
border-color: transparent;
|
|
background-color: transparent;
|
|
background-image: none;
|
|
box-shadow:
|
|
0 4px 16px rgba(67, 56, 202, 0.28),
|
|
0 0 24px rgba(236, 72, 153, 0.16);
|
|
}
|
|
|
|
.aiTrigger:hover:not(:disabled)::before,
|
|
.aiTrigger:focus-visible:not(:disabled)::before {
|
|
opacity: 1;
|
|
animation-play-state: running;
|
|
}
|
|
|
|
.aiWorkingBorder {
|
|
border: 2px solid transparent !important;
|
|
background-color: #fff;
|
|
background-image:
|
|
linear-gradient(#fff, #fff),
|
|
linear-gradient(
|
|
90deg,
|
|
#ff375f 0%,
|
|
#ff8a00 14%,
|
|
#ffd60a 28%,
|
|
#30d158 42%,
|
|
#64d2ff 56%,
|
|
#0a84ff 70%,
|
|
#bf5af2 84%,
|
|
#ff375f 100%
|
|
);
|
|
background-size: auto, 200% 100%;
|
|
background-origin: border-box;
|
|
background-clip: padding-box, border-box;
|
|
animation: aiRainbowShift 4s linear infinite;
|
|
box-shadow:
|
|
0 0 0 1px rgba(191, 90, 242, 0.14),
|
|
0 0 16px rgba(255, 55, 95, 0.28),
|
|
0 0 28px rgba(10, 132, 255, 0.2),
|
|
0 0 42px rgba(191, 90, 242, 0.16);
|
|
outline: none;
|
|
transition: box-shadow 0.35s ease;
|
|
}
|
|
|
|
.aiWorkingBorder:focus {
|
|
border: 2px solid transparent !important;
|
|
outline: none;
|
|
}
|