@import url("https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Sora:wght@300;400;500;600&display=swap");:root{--bg-void:#05060f;--bg-deep:#0a0d1f;--bg-panel:#111530;--bg-elevated:#171c3d;--accent-violet:#7c5cff;--accent-blue:#2ad2ff;--accent-indigo:#4b6bff;--accent-glow:#a78bff;--text-bright:#eef1ff;--text-dim:#9aa3c7;--text-faint:#5b6288;--danger:#ff4d6d;--success:#34e5a3;--grad-main:linear-gradient(135deg,var(--accent-violet) 0%,var(--accent-blue) 100%);--grad-soft:linear-gradient(135deg,rgba(124,92,255,.18),rgba(42,210,255,.1));--glow-violet:0 0 40px rgba(124,92,255,.45);--glow-blue:0 0 40px rgba(42,210,255,.35);--r-lg:24px;--r-md:16px;--r-sm:10px}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;background:var(--bg-void);color:var(--text-bright);font-family:Sora,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:inherit;-webkit-tap-highlight-color:transparent}.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(1200px 800px at 50% -10%,rgba(75,107,255,.12),transparent 60%)}.aurora:after,.aurora:before{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}.aurora:before{background:radial-gradient(circle,var(--accent-violet),transparent 65%);top:-20%;left:-10%;animation:drift1 22s ease-in-out infinite alternate}.aurora:after{background:radial-gradient(circle,var(--accent-blue),transparent 65%);bottom:-25%;right:-15%;animation:drift2 26s ease-in-out infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1)}to{transform:translate(12vw,10vh) scale(1.25)}}@keyframes drift2{0%{transform:translate(0) scale(1.1)}to{transform:translate(-10vw,-8vh) scale(1)}}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}