.page-enter-active,.page-leave-active{transition:opacity .3s ease,transform .3s ease}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-10px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--text-white);background-color:var(--bg-dark-primary);overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;outline:none}img{max-width:100%;display:block}ul,ol{list-style:none}:root{--color-primary: #4ecdc4;--color-secondary: #ff6b9d;--color-purple: #8a2be2;--bg-dark-primary: #1a1a2e;--bg-dark-secondary: #16213e;--bg-light-primary: #f5f7fa;--bg-light-secondary: #c3cfe2;--text-white: #ffffff;--text-light: rgba(255, 255, 255, .8);--text-dark: #333;--text-gray: #666;--border-light: rgba(255, 255, 255, .1);--border-dark: rgba(0, 0, 0, .1);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .1);--shadow-md: 0 5px 20px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 50%;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 30px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes backgroundPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:.8}}@keyframes logoGlow{0%,to{box-shadow:0 15px 40px #ff6b9d80,0 0 80px #4ecdc44d;transform:scale(1)}50%{box-shadow:0 20px 60px #ff6b9db3,0 0 120px #4ecdc480;transform:scale(1.05)}}@keyframes logoPulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1);opacity:.8}}@keyframes starTwinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes titleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes navTitleGlow{0%,to{text-shadow:0 4px 20px rgba(255,107,157,.3)}50%{text-shadow:0 6px 25px rgba(255,107,157,.5),0 0 30px rgba(78,205,196,.3)}}@keyframes navSubtitleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes sloganGlow{0%,to{text-shadow:0 4px 20px rgba(255,255,255,.15);background-position:0% 50%}50%{text-shadow:0 6px 25px rgba(255,255,255,.25),0 0 30px rgba(78,205,196,.2);background-position:100% 50%}}@keyframes sloganPulse{0%,to{opacity:.6;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}@keyframes magicSpin{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes magicPulse{0%,to{transform:scale(1);box-shadow:0 5px 20px #ff6b9d4d}50%{transform:scale(1.1);box-shadow:0 8px 25px #ff6b9d80}}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
