@import "tailwindcss"; :root { --background: #0b0f17; /* 深色主背景 */ --background-alt: #111827; /* 次级面板背景 */ --foreground: #e5e7ef; --muted: #94a3b8; --accent: #3b82f6; --accent-alt: #6366f1; --radius: 14px; } @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --font-sans: var(--font-geist-sans); --font-mono: var(--font-geist-mono); } /* 强制使用暗色风格,可按需扩展主题切换 */ body { background: radial-gradient(circle at 35% 20%, #1e293b 0%, #0b0f17 55%) fixed; color: var(--foreground); font-family: var(--font-geist-sans), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen; text-rendering: optimizeLegibility; } /* Custom gradient backgrounds & animations */ .gradient-text { background: linear-gradient(90deg,var(--accent),var(--accent-alt)); -webkit-background-clip: text; color: transparent; } .glass { background: linear-gradient(140deg,rgba(255,255,255,0.06),rgba(255,255,255,0.015)); backdrop-filter: blur(14px) saturate(140%); border: 1px solid rgba(255,255,255,0.07); border-radius: var(--radius); } .panel { background: linear-gradient(160deg,#141a24,#111827 65%); border: 1px solid #1f2937; border-radius: var(--radius); } @keyframes floatSlow { 0% { transform: translateY(0px) translateX(0px); } 50% { transform: translateY(-35px) translateX(10px); } 100% { transform: translateY(0px) translateX(0px); } } .float-slow { animation: floatSlow 18s ease-in-out infinite; } @keyframes pulseRing { 0% { transform: scale(.6); opacity: .6; } 70% { transform: scale(2.6); opacity: 0; } 100% { opacity: 0; } } .pulse-ring::before, .pulse-ring::after { content: ""; position: absolute; inset: 0; border-radius: 9999px; background: radial-gradient(circle at center,rgba(255,255,255,.35),transparent 70%); animation: pulseRing 6s linear infinite; } .pulse-ring::after { animation-delay: 3s; } /* Scroll snap layout for sections */ html,body { scroll-behavior: smooth; } .snap-y { scroll-snap-type: y mandatory; } .snap-section { scroll-snap-align: start; } ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #111827; } ::-webkit-scrollbar-thumb { background: linear-gradient(#374151,#1f2937); border-radius: 20px; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(#475569,#334155); } /* 提升文字可读性 */ h1,h2,h3,h4 { letter-spacing: 0.02em; } p { color: var(--muted); } /* 卡片 hover 简约高亮 */ .card-hover { transition: border-color .25s, box-shadow .25s, transform .25s; } .card-hover:hover { border-color: var(--accent); box-shadow: 0 4px 28px -8px rgba(59,130,246,0.35); transform: translateY(-4px); }