2024-12-03 01:37:02 +08:00
|
|
|
@import "@radix-ui/themes/styles.css";
|
2024-11-27 19:52:49 +08:00
|
|
|
@tailwind base;
|
|
|
|
@tailwind components;
|
2024-12-03 01:37:02 +08:00
|
|
|
@tailwind utilities;
|
|
|
|
|
|
|
|
:root {
|
|
|
|
--transition-duration: 150ms;
|
|
|
|
--transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* 基础过渡效果 */
|
|
|
|
.radix-themes {
|
|
|
|
transition:
|
|
|
|
background-color var(--transition-duration) var(--transition-easing),
|
|
|
|
color var(--transition-duration) var(--transition-easing);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* 基础布局样式 */
|
|
|
|
html,
|
|
|
|
body {
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
|
2024-12-04 02:35:06 +08:00
|
|
|
/* Logo 动画 */
|
|
|
|
.animated-text {
|
|
|
|
max-width: 100%;
|
|
|
|
height: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.animated-text path {
|
|
|
|
fill: transparent;
|
|
|
|
stroke: currentColor;
|
|
|
|
stroke-width: 2;
|
|
|
|
stroke-dasharray: var(--path-length);
|
|
|
|
stroke-dashoffset: var(--path-length);
|
|
|
|
animation: logo-anim 15s cubic-bezier(0.4, 0, 0.2, 1) infinite;
|
|
|
|
transform-origin: center;
|
|
|
|
stroke-linecap: round;
|
|
|
|
stroke-linejoin: round;
|
2024-12-03 01:37:02 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes logo-anim {
|
|
|
|
0% {
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dashoffset: var(--path-length);
|
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
2024-12-03 01:37:02 +08:00
|
|
|
fill: transparent;
|
2024-12-04 02:35:06 +08:00
|
|
|
opacity: 0;
|
2024-12-03 01:37:02 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
5% {
|
|
|
|
opacity: 1;
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dashoffset: var(--path-length);
|
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
2024-12-03 01:37:02 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
50% {
|
|
|
|
stroke-dashoffset: 0;
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
|
|
|
fill: transparent;
|
2024-12-03 01:37:02 +08:00
|
|
|
}
|
|
|
|
|
2024-12-04 02:35:06 +08:00
|
|
|
60%, 75% {
|
2024-12-03 01:37:02 +08:00
|
|
|
stroke-dashoffset: 0;
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
2024-12-03 01:37:02 +08:00
|
|
|
fill: currentColor;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
85% {
|
|
|
|
stroke-dashoffset: 0;
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
2024-12-03 01:37:02 +08:00
|
|
|
fill: transparent;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
95% {
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dashoffset: var(--path-length);
|
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
2024-12-03 01:37:02 +08:00
|
|
|
fill: transparent;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
100% {
|
2024-12-04 02:35:06 +08:00
|
|
|
stroke-dashoffset: var(--path-length);
|
|
|
|
stroke-dasharray: var(--path-length) var(--path-length);
|
2024-12-03 01:37:02 +08:00
|
|
|
fill: transparent;
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-12-04 02:35:06 +08:00
|
|
|
/* 确保在暗色模式下的颜色正确 */
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
|
|
.animated-text path {
|
|
|
|
stroke: currentColor;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 先确保基本动画工作后再添加脉动效果 */
|
|
|
|
.root {
|
|
|
|
fill: none;
|
|
|
|
stroke: var(--accent-9);
|
|
|
|
stroke-width: 1px;
|
2024-12-03 01:37:02 +08:00
|
|
|
stroke-linecap: round;
|
2024-12-04 02:35:06 +08:00
|
|
|
opacity: 0;
|
|
|
|
stroke-dasharray: 50;
|
|
|
|
stroke-dashoffset: 50;
|
|
|
|
animation: rootGrow 0.8s ease-out forwards var(--delay);
|
2024-12-03 01:37:02 +08:00
|
|
|
}
|
|
|
|
|
2024-12-04 02:35:06 +08:00
|
|
|
@keyframes rootGrow {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
stroke-dashoffset: 50;
|
|
|
|
stroke-width: 0.5px;
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0.6;
|
|
|
|
stroke-dashoffset: 0;
|
|
|
|
stroke-width: 1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes growPath {
|
|
|
|
0% {
|
|
|
|
stroke-dashoffset: 100%;
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
stroke-dashoffset: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes fadeIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0.6;
|
|
|
|
}
|
2024-12-03 01:37:02 +08:00
|
|
|
}
|