:root{--astra-bg:#030305;--astra-bg-secondary:#0a0a14;--astra-gold:#e5d5c3;--astra-gold-muted:#e5d5c3b3;--astra-cyan:#64ffda;--astra-cyan-muted:#64ffda4d;--astra-blue:#2e2e5e;--astra-gray-100:#f5f5f5;--astra-gray-400:#9ca3af;--astra-gray-500:#6b7280;--astra-gray-600:#4b5563;--astra-gray-800:#1f1f1f;--astra-gray-900:#111;--glass-bg:#0a0a1466;--glass-border:#ffffff14;--glass-blur:12px;--font-serif:"Cinzel",serif;--font-sans:"Manrope","Noto Sans SC",sans-serif;--font-sans-cn:"Noto Sans SC",sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--astra-bg);color:var(--astra-gold);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}html[lang=zh] body{font-family:var(--font-sans-cn)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--astra-bg)}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#333}::-webkit-scrollbar-thumb:hover{background:#555}::selection{background:var(--astra-cyan);color:var(--astra-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2}h1{font-size:clamp(3rem,10vw,9rem)}h2{font-size:clamp(2rem,5vw,4rem)}h3{font-size:clamp(1.25rem,3vw,2rem)}p{font-family:var(--font-sans);line-height:1.8}a{color:inherit;text-decoration:none}.text-gradient{background:linear-gradient(to right,var(--astra-gold),var(--astra-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.text-muted{color:var(--astra-gray-400)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4)var(--space-8);border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;outline:none;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{color:#000;background:#fff}.btn-primary:hover{background:var(--astra-cyan)}.btn-outline{color:#fff;background:0 0;border:1px solid #ffffff4d}.btn-outline:hover{background:#ffffff1a}.section{min-height:100vh;padding:var(--space-20)var(--space-6);position:relative}@media (min-width:768px){.section{padding:var(--space-24)var(--space-12)}}@media (min-width:1024px){.section{padding:var(--space-24)var(--space-24)}}.section-title{color:var(--astra-gold);margin-bottom:var(--space-8)}.container{width:100%;max-width:1400px;margin:0 auto}.grid{gap:var(--space-6);display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.grid-cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-md-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.grid-cols-lg-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.badge{padding:var(--space-1)var(--space-3);text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.05em;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.badge-cyan{background:var(--astra-cyan-muted);color:var(--astra-cyan);border:1px solid #64ffda4d}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{background:#ffffff0d}.featured-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-8);border-top-color:#e5d5c333;box-shadow:0 0 50px #2e2e5e4d}@media (min-width:768px){.featured-card{padding:var(--space-12)}}@media (hover:hover) and (pointer:fine){body{cursor:none}}#custom-cursor{border:1px solid var(--astra-gold);pointer-events:none;z-index:9999;width:20px;height:20px;transition:width var(--transition-base),height var(--transition-base),background var(--transition-base);mix-blend-mode:difference;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}#custom-cursor.hovered{background:#e5d5c333;border-color:#0000;width:50px;height:50px}@media (hover:none){#custom-cursor{display:none}}#webgl-canvas{z-index:-1;opacity:.6;width:100%;height:100%;position:fixed;top:0;left:0}.nav-dot{width:8px;height:8px;transition:all var(--transition-base);background-color:#333;border-radius:50%}.nav-item.active .nav-dot{background-color:var(--astra-gold);box-shadow:0 0 10px var(--astra-gold)}.nav-item.active span{opacity:1}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:translateY(0)}}.animate-bounce{animation:1s infinite bounce}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:20s linear infinite spin-slow}.hidden{display:none}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.hidden.md\:block,.hidden.md\:flex{display:none}@media (min-width:768px){.hidden.md\:block{display:block}.hidden.md\:flex{display:flex}}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
