:root{--vo-color-primary: #426dea;--vo-color-secondary: #42eacb;--vo-color-accent: #93cbee;--vo-color-warm: #f0abfc;--vo-color-gold: #fcd34d;--vo-color-coral: #fb7185;--vo-color-mint: #6ee7b7;--vo-bg-dark: #0f172a;--vo-bg-dark-elevated: #1a1d29;--vo-bg-dark-surface: #252a3a;--vo-bg-dark-glass: rgba(30, 41, 59, .85);--vo-color-surface: #ffffff;--vo-color-surface-raised: #f8fafc;--vo-color-surface-muted: #f1f5f9;--vo-border: #e2e8f0;--vo-border-subtle: #f1f5f9;--vo-border-glow: rgba(147, 203, 238, .3);--vo-border-active: rgba(66, 234, 203, .5);--vo-color-text: #1e293b;--vo-color-text-muted: #64748b;--vo-color-text-light: #e2e8f0;--vo-shadow-float: 0 12px 24px rgba(15, 23, 42, .12);--vo-shadow-lift: 0 20px 40px rgba(15, 23, 42, .18);--vo-shadow-glow-blue: 0 0 24px rgba(147, 203, 238, .25);--vo-shadow-glow-teal: 0 0 24px rgba(66, 234, 203, .25);--vo-shadow-depth: 0 6px 0 rgba(66, 109, 234, .3);--vo-transition-bounce: cubic-bezier(.34, 1.56, .64, 1);--vo-transition-smooth: cubic-bezier(.4, 0, .2, 1);--wechat-primary: #07c160;--wechat-primary-hover: #06ad56;--wechat-primary-light: #e8f5e8;--wechat-bg: #ffffff;--wechat-bg-secondary: #f7f7f7;--wechat-bg-tertiary: #ededed;--wechat-border: #e5e5e5;--wechat-border-light: #f0f0f0;--wechat-text-primary: #191919;--wechat-text-secondary: #576b95;--wechat-text-muted: #888888;--wechat-text-disabled: #c9c9c9;--wechat-shadow: rgba(0, 0, 0, .1);--wechat-shadow-light: rgba(0, 0, 0, .05);--wechat-danger: #fa5151;--wechat-warning: #ffc300;--wechat-info: #10aeff;--wechat-space-xs: 4px;--wechat-space-sm: 8px;--wechat-space-md: 12px;--wechat-space-lg: 16px;--wechat-space-xl: 20px;--wechat-space-xxl: 24px;--wechat-radius-sm: 4px;--wechat-radius-md: 8px;--wechat-radius-lg: 12px;--wechat-font-size-xs: 12px;--wechat-font-size-sm: 13px;--wechat-font-size-md: 14px;--wechat-font-size-lg: 16px;--wechat-font-size-xl: 18px;--wechat-font-size-xxl: 20px;--wechat-line-height-tight: 1.2;--wechat-line-height-normal: 1.4;--wechat-line-height-relaxed: 1.6}*{margin:0;padding:0;box-sizing:border-box}@keyframes vo-bounce-in{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes vo-equip-pop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes vo-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes vo-glow-pulse{0%,to{box-shadow:0 0 16px #42eacb4d}50%{box-shadow:0 0 28px #42eacb80}}@keyframes vo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes vo-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes vo-check-pop{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0)}to{transform:scale(1) rotate(0);opacity:1}}.vo-animate-bounce-in{animation:vo-bounce-in .4s var(--vo-transition-bounce)}.vo-animate-equip{animation:vo-equip-pop .5s var(--vo-transition-bounce)}.vo-animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);background-size:200% 100%;animation:vo-shimmer 2.5s infinite}.vo-animate-glow{animation:vo-glow-pulse 2s ease-in-out infinite}.vo-animate-float{animation:vo-float 3s ease-in-out infinite}html,body,#root{width:100%;min-height:100%;background:var(--wechat-bg)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--wechat-text-primary);font-size:var(--wechat-font-size-md);line-height:var(--wechat-line-height-normal);overflow-x:hidden;overflow-y:auto}canvas{touch-action:none}.btn-primary{background:var(--accent-green);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-medium)}.btn-secondary{background:transparent;color:var(--accent-blue);border:1px solid var(--accent-blue);padding:12px 24px;border-radius:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:rgba(33,150,243,.08);transform:translateY(-1px)}.card{background:var(--secondary-bg);border:1px solid var(--border-light);border-radius:16px;padding:24px;box-shadow:0 2px 20px var(--shadow-light);transition:all .2s ease}.card:hover{box-shadow:0 4px 30px var(--shadow-medium);transform:translateY(-2px)}
