: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:#1e293bd9;--vo-color-surface:#fff;--vo-color-surface-raised:#f8fafc;--vo-color-surface-muted:#f1f5f9;--vo-border:#e2e8f0;--vo-border-subtle:#f1f5f9;--vo-border-glow:#93cbee4d;--vo-border-active:#42eacb80;--vo-color-text:#1e293b;--vo-color-text-muted:#64748b;--vo-color-text-light:#e2e8f0;--vo-shadow-float:0 12px 24px #0f172a1f;--vo-shadow-lift:0 20px 40px #0f172a2e;--vo-shadow-glow-blue:0 0 24px #93cbee40;--vo-shadow-glow-teal:0 0 24px #42eacb40;--vo-shadow-depth:0 6px 0 #426dea4d;--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:#fff;--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:#888;--wechat-text-disabled:#c9c9c9;--wechat-shadow:#0000001a;--wechat-shadow-light:#0000000d;--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}*{box-sizing:border-box;margin:0;padding:0}@keyframes vo-bounce-in{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes vo-equip-pop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{opacity:1;transform:scale(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%{opacity:0;transform:scale(0)rotate(-45deg)}50%{transform:scale(1.2)rotate(0)}to{opacity:1;transform:scale(1)rotate(0)}}.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,#0000 0%,#ffffff4d 50%,#0000 100%) 0 0/200% 100%;animation:2.5s infinite vo-shimmer}.vo-animate-glow{animation:2s ease-in-out infinite vo-glow-pulse}.vo-animate-float{animation:3s ease-in-out infinite vo-float}html,body,#root{background:var(--wechat-bg);width:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--wechat-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:var(--wechat-font-size-md);line-height:var(--wechat-line-height-normal);margin:0;overflow:hidden auto}canvas{touch-action:none}.btn-primary{background:var(--accent-green);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 24px;font-weight:500;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px var(--shadow-medium);background:#45a049;transform:translateY(-1px)}.btn-secondary{color:var(--accent-blue);border:1px solid var(--accent-blue);cursor:pointer;background:0 0;border-radius:12px;padding:12px 24px;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#2196f314;transform:translateY(-1px)}.card{background:var(--secondary-bg);border:1px solid var(--border-light);box-shadow:0 2px 20px var(--shadow-light);border-radius:16px;padding:24px;transition:all .2s}.card:hover{box-shadow:0 4px 30px var(--shadow-medium);transform:translateY(-2px)}
