| | |
| | | /* 基础颜色设置 */ |
| | | --background: var(--ai-surface); |
| | | --foreground: #1E2B63; |
| | | --foreground-rgb: 255, 255, 255; |
| | | --background-start-rgb: 10, 16, 51; |
| | | --background-end-rgb: 0, 0, 0; |
| | | --scrollbar-track: rgba(30, 43, 99, 0.1); |
| | | --scrollbar-thumb: rgba(106, 219, 255, 0.3); |
| | | } |
| | | |
| | | @theme inline { |
| | |
| | | :root { |
| | | --background: var(--ai-dark); |
| | | --foreground: #E9EFFD; |
| | | --foreground-rgb: 255, 255, 255; |
| | | --background-start-rgb: 0, 0, 0; |
| | | --background-end-rgb: 0, 0, 0; |
| | | } |
| | | } |
| | | |
| | | body { |
| | | background: var(--background); |
| | | color: var(--foreground); |
| | | background: linear-gradient(to bottom, |
| | | rgb(var(--background-start-rgb)), |
| | | rgb(var(--background-end-rgb))); |
| | | color: rgb(var(--foreground-rgb)); |
| | | font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif; |
| | | min-height: 100vh; |
| | | } |
| | | |
| | | /* 滚动性能优化 */ |
| | | * { |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | |
| | | html, body { |
| | | scroll-behavior: smooth; |
| | | } |
| | | |
| | | /* 启用硬件加速 */ |
| | | .will-change-transform, |
| | | .motion-safe\:will-change-transform, |
| | | .motion-safe\:hover\:will-change-transform:hover, |
| | | canvas { |
| | | will-change: transform, opacity; |
| | | transform: translateZ(0); |
| | | backface-visibility: hidden; |
| | | } |
| | | |
| | | /* 优化滚动条 */ |
| | | ::-webkit-scrollbar { |
| | | width: 10px; |
| | | } |
| | | |
| | | ::-webkit-scrollbar-track { |
| | | background: var(--scrollbar-track); |
| | | } |
| | | |
| | | ::-webkit-scrollbar-thumb { |
| | | background: var(--scrollbar-thumb); |
| | | border-radius: 5px; |
| | | } |
| | | |
| | | ::-webkit-scrollbar-thumb:hover { |
| | | background: rgba(106, 219, 255, 0.5); |
| | | } |
| | | |
| | | /* 滚动优化类 */ |
| | | .smooth-scroll { |
| | | overflow-y: scroll; |
| | | scroll-behavior: smooth; |
| | | -webkit-overflow-scrolling: touch; |
| | | } |
| | | |
| | | /* 防止过度重排和重绘 */ |
| | | .motion-reduce { |
| | | transition-duration: 0.01ms !important; |
| | | animation-duration: 0.01ms !important; |
| | | animation-iteration-count: 1 !important; |
| | | } |
| | | |
| | | /* 导航栏特效样式 */ |
| | |
| | | .animate-fade-in { |
| | | animation: fade-in 1.5s ease-out forwards; |
| | | animation-delay: 0.5s; |
| | | } |
| | | |
| | | /* 页面内容淡入动画 */ |
| | | @keyframes fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | .animate-fadeIn { |
| | | animation: fadeIn 0.6s ease-out; |
| | | } |
| | | |
| | | /* Logo圆环脉冲动画 */ |
| | |
| | | |
| | | /* AI数据流效果动画 */ |
| | | @keyframes dataflowY { |
| | | 0% { |
| | | background-position: 0 -200px; |
| | | from { |
| | | transform: translateY(-100%); |
| | | } |
| | | 100% { |
| | | background-position: 0 200px; |
| | | to { |
| | | transform: translateY(100%); |
| | | } |
| | | } |
| | | |
| | | @keyframes dataflowX { |
| | | 0% { |
| | | from { |
| | | transform: translateX(-100%); |
| | | opacity: 0; |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | } |
| | | 100% { |
| | | to { |
| | | transform: translateX(100%); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | .animate-dataflowY { |
| | | background-image: linear-gradient(to bottom, transparent 0%, rgba(106, 219, 255, 0.4) 50%, transparent 100%); |
| | | background-size: 100% 200px; |
| | | animation: dataflowY 8s linear infinite; |
| | | animation: dataflowY 3s linear infinite; |
| | | } |
| | | |
| | | .animate-dataflowX { |
| | | animation: dataflowX 4s infinite; |
| | | animation: dataflowX 5s linear infinite; |
| | | } |
| | | |
| | | /* 按钮倾斜动画 */ |
| | |
| | | } |
| | | |
| | | .animate-scanline { |
| | | animation: scanline 8s linear infinite; |
| | | animation: scanline 3s ease-in-out infinite; |
| | | } |
| | | |
| | | /* 基础渐变动画 */ |
| | |
| | | } |
| | | |
| | | @keyframes dataflowY { |
| | | 0% { |
| | | background-position: 0 -200px; |
| | | from { |
| | | transform: translateY(-100%); |
| | | } |
| | | 100% { |
| | | background-position: 0 200px; |
| | | to { |
| | | transform: translateY(100%); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .animate-data-blink { |
| | | animation: data-blink 3s ease-in-out infinite; |
| | | animation: data-blink 2s ease-in-out infinite; |
| | | } |
| | | |
| | | .animate-data-blink-slow { |
| | |
| | | } |
| | | |
| | | .animate-dataflowY { |
| | | background-image: linear-gradient(to bottom, transparent 0%, rgba(106, 219, 255, 0.4) 50%, transparent 100%); |
| | | background-size: 100% 200px; |
| | | animation: dataflowY 8s linear infinite; |
| | | animation: dataflowY 3s linear infinite; |
| | | } |
| | | |
| | | .animate-scanline { |
| | | animation: scanline 8s linear infinite; |
| | | animation: scanline 3s ease-in-out infinite; |
| | | } |
| | | |
| | | .animate-fade-in { |
| | | animation: fadeIn 1.5s ease-in-out forwards; |
| | | animation: fade-in 1.5s ease-out forwards; |
| | | animation-delay: 0.5s; |
| | | } |
| | | |
| | | @keyframes fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | /* 悬停效果增强 */ |
| | |
| | | .quantum-button:hover .quantum-pulse { |
| | | animation: quantum-pulse 2s ease-in-out infinite; |
| | | } |
| | | |
| | | /* 主页闪光按钮效果 */ |
| | | @keyframes shine { |
| | | 100% { |
| | | left: 125%; |
| | | } |
| | | } |
| | | |
| | | .animate-shine { |
| | | animation: shine 1.5s ease-in-out; |
| | | } |