.profile-modal-overlay[data-v-83812ae9]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:999;padding:16px}.profile-modal[data-v-83812ae9]{background:var(--bg-secondary, #1a1d2e);border:1px solid var(--border-default, rgba(94,175,214,.2));border-radius:16px;width:100%;max-width:360px;overflow:hidden}.modal-header[data-v-83812ae9]{text-align:center;padding:28px 24px 16px}.modal-icon[data-v-83812ae9]{font-size:40px;display:block;margin-bottom:12px}.modal-title[data-v-83812ae9]{font-size:18px;font-weight:700;color:var(--text-primary, #e0e0e0);margin:0 0 10px}.modal-desc[data-v-83812ae9]{font-size:13px;color:var(--text-secondary, #999);line-height:1.7;margin:0}.modal-footer[data-v-83812ae9]{display:flex;gap:12px;padding:12px 24px 24px}.btn-cancel[data-v-83812ae9]{flex:1;padding:10px;background:rgba(149,165,166,.08);border:1px solid rgba(149,165,166,.2);border-radius:8px;color:var(--text-muted, #999);font-size:14px;cursor:pointer;font-family:inherit}.btn-confirm[data-v-83812ae9]{flex:1.5;padding:10px;background:rgba(94,175,214,.15);border:1px solid rgba(94,175,214,.35);border-radius:8px;color:#5eafd6;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.modal-fade-enter-active[data-v-83812ae9],.modal-fade-leave-active[data-v-83812ae9]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-83812ae9],.modal-fade-leave-to[data-v-83812ae9]{opacity:0}.toast-container[data-v-d9109dc7]{position:fixed;top:var(--space-4);right:var(--space-4);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2)}.toast[data-v-d9109dc7]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);min-width:240px;max-width:400px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slide-in-right var(--duration-normal) var(--ease-out)}.toast--success[data-v-d9109dc7]{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);color:var(--color-success)}.toast--error[data-v-d9109dc7]{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:var(--color-danger)}.toast--warning[data-v-d9109dc7]{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);color:var(--color-warning)}.toast--info[data-v-d9109dc7]{background:rgba(94,175,214,.1);border:1px solid rgba(94,175,214,.2);color:var(--color-info)}.toast__icon[data-v-d9109dc7]{font-size:var(--text-lg);font-weight:700}.toast-enter-active[data-v-d9109dc7]{animation:slide-in-right var(--duration-normal) var(--ease-out)}.toast-leave-active[data-v-d9109dc7]{animation:fade-out-d9109dc7 var(--duration-fast) var(--ease-default)}@keyframes fade-out-d9109dc7{to{opacity:0;transform:translate(20px)}}:root{--bg-primary: #0c0f16;--bg-secondary: #12161f;--bg-tertiary: #1a1f2b;--bg-elevated: #1e2433;--text-primary: #e8ecf2;--text-secondary: #a8b4c8;--text-muted: #6e7a90;--text-accent: #6fc0eb;--border-default: #222938;--border-active: #333d50;--border-glow: #3a6a80;--color-hp: #c04040;--color-mp: #4a7fd4;--color-exp: #8aaa38;--color-gold: #b89028;--color-quantum: #3da8b8;--color-shard: #a84e78;--color-success: #3a8a4e;--color-warning: #a87a1a;--color-danger: #b84040;--color-info: #5eafd6;--quality-white: #b8bfc9;--quality-green: #4aad6a;--quality-blue: #5a94d4;--quality-purple: #9366d6;--quality-orange: #d48a3a;--quality-red: #d45a5a;--element-code: #5eafd6;--element-virus: #9366d6;--element-consciousness: #c45c8a;--element-none: #8892a4;--element-fire: #d45a3a;--element-lightning: #6ab0f0;--element-ice: #7ec8d8;--card-border-player: var(--element-code);--card-border-pet: var(--color-exp);--card-border-enemy: var(--color-danger);--skill-fire-color: rgba(212, 90, 58, .15);--skill-lightning-color: rgba(106, 176, 240, .15);--skill-ice-color: rgba(126, 200, 216, .15);--skill-virus-color: rgba(147, 102, 214, .15);--skill-consciousness-color: rgba(196, 92, 138, .15);--skill-code-color: rgba(94, 175, 214, .15);--font-display: "Press Start 2P", "ZCOOL QingKe HuangYou", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-body: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-narrative: "ZCOOL XiaoWei", "Noto Serif SC", "STSong", "SimSun", serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-4xl: 48px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--duration-instant: 80ms;--duration-fast: .16s;--duration-normal: .24s;--duration-slow: .4s;--duration-dramatic: .6s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--ripple-color: rgba(94, 175, 214, .2);--ripple-duration: .4s;--glow-success: rgba(61, 168, 90, .2);--glow-error: rgba(217, 72, 72, .2);--glow-accent: rgba(94, 175, 214, .2);--shake-amplitude: 8px;--tab-bar-height: 60px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;touch-action:pan-y}#app{width:100%;height:100%}a{color:var(--text-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:#8ec8e0}input,button,textarea,select{font-family:inherit;font-size:inherit;color:inherit;outline:none}button{cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.quality-white{color:var(--quality-white)}.quality-green{color:var(--quality-green)}.quality-blue{color:var(--quality-blue)}.quality-purple{color:var(--quality-purple)}.quality-orange{color:var(--quality-orange)}.quality-red{color:var(--quality-red)}.element-code{color:var(--element-code)}.element-virus{color:var(--element-virus)}.element-consciousness{color:var(--element-consciousness)}.card{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md)}.card:hover{border-color:var(--border-active)}.progress-bar{height:6px;background:rgba(0,0,0,.3);border-radius:3px;overflow:hidden;position:relative}.progress-bar__fill{height:100%;border-radius:3px;transition:width var(--duration-slow) var(--ease-out);position:relative}.progress-bar--hp .progress-bar__fill{background:var(--color-hp)}.progress-bar--mp .progress-bar__fill{background:var(--color-mp)}.progress-bar--exp .progress-bar__fill{background:var(--color-exp)}.tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;letter-spacing:.02em}.tag--code{background:rgba(94,175,214,.12);color:var(--element-code)}.tag--virus{background:rgba(147,102,214,.12);color:var(--element-virus)}.tag--consciousness{background:rgba(196,92,138,.12);color:var(--element-consciousness)}.tag--elite{background:rgba(90,148,212,.12);color:var(--quality-blue)}.tag--boss{background:rgba(212,138,58,.12);color:var(--quality-orange)}.tag--buff{background:rgba(61,168,90,.12);color:var(--color-success)}.tag--debuff{background:rgba(217,72,72,.12);color:var(--color-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);border:1px solid var(--border-active);border-radius:var(--radius-md);font-weight:500;transition:all var(--duration-fast) var(--ease-default);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn .ripple-effect{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--ripple-color);pointer-events:none;animation:ripple-expand var(--ripple-duration) var(--ease-out) forwards}.btn:active:not(:disabled){transform:scale(.93)}.btn--success{border-color:var(--color-success)!important;animation:success-pulse .6s var(--ease-out),border-flash-success .6s var(--ease-default)}.btn--error{animation:error-pulse .6s var(--ease-out),shake-x .4s var(--ease-default)}.btn--primary{background:rgba(94,175,214,.1);border-color:var(--text-accent);color:var(--text-accent)}.btn--primary:hover{background:rgba(94,175,214,.18);border-color:#8ec8e0}.btn--primary:active{transform:scale(.93);background:rgba(94,175,214,.22)}.btn--primary .ripple-effect{background:rgba(94,175,214,.25)}.btn--danger{background:rgba(217,72,72,.1);border-color:var(--color-danger);color:var(--color-danger)}.btn--danger:hover{background:rgba(217,72,72,.18)}.btn--danger .ripple-effect{background:rgba(217,72,72,.25)}.btn--ghost{background:transparent;border-color:var(--border-active);color:var(--text-secondary)}.btn--ghost:hover{border-color:var(--text-accent);color:var(--text-accent)}.btn--block{width:100%}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.input:focus{border-color:#5eafd680;box-shadow:0 0 0 2px #5eafd626}.input::placeholder{color:var(--text-muted)}.input--error{border-color:#d9484880!important;box-shadow:0 0 0 2px #d9484826!important;animation:shake-x .4s var(--ease-default)}.input--success{border-color:#3da85a80!important;box-shadow:0 0 0 2px #3da85a26!important}.form-gradient-bar{animation:gradient-bar-pulse .6s var(--ease-default)}input[type=text],input[type=password],input[type=email]{min-height:44px}@media (max-width: 640px){html{font-size:4.267vw}:root{--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: .1875rem;--radius-md: .3125rem;--radius-lg: .5rem;--tab-bar-height: 3.75rem}}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:.8;transform:translateY(-25px) scale(1.05)}to{opacity:0;transform:translateY(-50px) scale(.85)}}@keyframes screen-shake{0%,to{transform:translate(0)}10%{transform:translate(-4px,-2px)}20%{transform:translate(4px,2px)}30%{transform:translate(-3px,4px)}40%{transform:translate(3px,-4px)}50%{transform:translate(-2px,2px)}}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.75}}@keyframes glow-breathe{0%,to{opacity:.7}50%{opacity:.9}}@keyframes quality-pulse{0%,to{box-shadow:0 0 4px #d45a5a1a}50%{box-shadow:0 0 12px #d45a5a33}}@keyframes typing-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes matrix-rain{0%{transform:translateY(-100%);opacity:.4}to{transform:translateY(100vh);opacity:0}}@keyframes border-glow{0%,to{border-color:var(--border-glow)}50%{border-color:#4a7a90}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes level-up-ring{0%{transform:scale(.5);opacity:.6}to{transform:scale(1.8);opacity:0}}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-out) forwards}.animate-fade-out{animation:fade-out var(--duration-normal) var(--ease-default) forwards}.animate-slide-in-right{animation:slide-in-right var(--duration-normal) var(--ease-out) forwards}.animate-pulse-danger{animation:pulse-danger 1.2s ease-in-out infinite}.animate-glow-breathe{animation:glow-breathe 5s ease-in-out infinite}.animate-border-glow{animation:border-glow 3s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:.5}to{transform:translate(-50%,-50%) scale(4);opacity:0}}@keyframes shake-x{0%,to{transform:translate(0)}20%{transform:translate(calc(var(--shake-amplitude) * -1))}40%{transform:translate(var(--shake-amplitude))}60%{transform:translate(calc(var(--shake-amplitude) * -.6))}80%{transform:translate(calc(var(--shake-amplitude) * .6))}}@keyframes success-pulse{0%{box-shadow:0 0 0 0 var(--glow-success)}50%{box-shadow:0 0 12px 4px var(--glow-success)}to{box-shadow:0 0 0 0 transparent}}@keyframes error-pulse{0%{box-shadow:0 0 0 0 var(--glow-error)}50%{box-shadow:0 0 12px 4px var(--glow-error)}to{box-shadow:0 0 0 0 transparent}}@keyframes border-flash-success{0%,to{border-color:var(--border-active)}50%{border-color:#3da85a80}}@keyframes border-flash-error{0%,to{border-color:var(--border-active)}50%{border-color:#d9484880}}@keyframes gradient-bar-pulse{0%,to{opacity:.7;filter:brightness(1)}50%{opacity:1;filter:brightness(1.3)}}@keyframes slot-select-ring{0%{box-shadow:0 0 0 0 var(--glow-accent)}50%{box-shadow:0 0 12px 4px var(--glow-accent)}to{box-shadow:0 0 4px 0 transparent}}@keyframes content-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes success-burst{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@keyframes particle-success{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.5)}}@keyframes loading-pulse{0%,to{opacity:.65}50%{opacity:.9}}.animate-ripple{animation:ripple-expand var(--ripple-duration) var(--ease-out) forwards}.animate-shake{animation:shake-x .4s var(--ease-default)}.animate-success-pulse{animation:success-pulse .6s var(--ease-out)}.animate-error-pulse{animation:error-pulse .6s var(--ease-out)}.animate-border-flash-success{animation:border-flash-success .6s var(--ease-default)}.animate-border-flash-error{animation:border-flash-error .6s var(--ease-default)}.animate-gradient-bar-pulse{animation:gradient-bar-pulse .6s var(--ease-default)}.animate-slot-select-ring{animation:slot-select-ring .3s var(--ease-out)}.animate-content-reveal{animation:content-reveal var(--duration-normal) var(--ease-out) forwards}.animate-success-burst{animation:success-burst .5s var(--ease-in) forwards}.animate-loading-pulse{animation:loading-pulse 1.2s var(--ease-default) infinite}@keyframes choice-confirm{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.94)}to{opacity:.4;transform:scale(.94)}}@keyframes scene-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@keyframes scene-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes item-get-slide{0%{opacity:0;transform:translateY(20px) scale(.95)}60%{opacity:1;transform:translateY(-4px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes item-border-pulse{0%,to{border-color:var(--border-active)}50%{border-color:#5eafd680}}@keyframes battle-alert-pulse{0%,to{border-color:#d948484d}50%{border-color:#d94848b3}}@keyframes unlock-pulse{0%,to{border-color:#3da85a4d}50%{border-color:#3da85ab3}}@keyframes narrative-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dmg-float{0%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:.8}to{opacity:0;transform:translateY(-60px) scale(.7)}}@keyframes dmg-crit-float{0%{opacity:1;transform:translateY(0) scale(1.3)}20%{transform:translateY(-10px) scale(1.1)}70%{opacity:.8}to{opacity:0;transform:translateY(-80px) scale(.6)}}@keyframes dmg-miss-float{0%{opacity:.8;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes crit-label-pop{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes skill-cast-flash{0%{opacity:0;transform:scale(.8)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1)}}@keyframes enemy-hit-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes hp-bar-flash{0%,to{opacity:1}50%{opacity:.5}}@keyframes hp-critical-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes battle-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes reward-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes idle-dot-pulse{0%,to{opacity:.7}50%{opacity:1}}.animate-choice-confirm{animation:choice-confirm .3s var(--ease-default) forwards}.animate-scene-fade-out{animation:scene-fade-out .2s var(--ease-default) forwards}.animate-scene-fade-in{animation:scene-fade-in .3s var(--ease-out) forwards}.animate-item-get{animation:item-get-slide .4s var(--ease-out) forwards}.animate-item-border-pulse{animation:item-border-pulse .6s var(--ease-default)}.animate-battle-alert{animation:battle-alert-pulse .4s var(--ease-default)}.animate-unlock{animation:unlock-pulse .6s var(--ease-default)}.animate-narrative{animation:narrative-appear .3s var(--ease-out) forwards}.animate-dmg-float{animation:dmg-float 1.2s var(--ease-out) forwards}.animate-dmg-crit{animation:dmg-crit-float 1.8s var(--ease-out) forwards}.animate-dmg-miss{animation:dmg-miss-float 1s var(--ease-default) forwards}.animate-crit-label{animation:crit-label-pop .4s var(--ease-bounce) forwards}.animate-skill-cast{animation:skill-cast-flash .4s var(--ease-out) forwards}.animate-enemy-hit{animation:enemy-hit-shake .3s var(--ease-default)}.animate-hp-flash{animation:hp-bar-flash .3s var(--ease-default)}.animate-hp-critical{animation:hp-critical-pulse 1s var(--ease-default) infinite}.animate-battle-in{animation:battle-panel-in .3s var(--ease-out) forwards}.animate-reward-in{animation:reward-slide-in .4s var(--ease-out) forwards}.animate-idle-pulse{animation:idle-dot-pulse 1.5s var(--ease-default) infinite}.vfx-off *,.vfx-off *:before,.vfx-off *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.vfx-low .animate-dmg-float,.vfx-low .animate-dmg-crit,.vfx-low .animate-dmg-miss,.vfx-low .animate-crit-label,.vfx-low .animate-enemy-hit,.vfx-low .animate-skill-cast,.vfx-low .animate-choice-confirm,.vfx-low .animate-item-get,.vfx-low .animate-scene-fade-out,.vfx-low .animate-scene-fade-in,.vfx-low .animate-battle-in,.vfx-low .animate-reward-in{animation-name:fade-in!important;animation-duration:.15s!important}@keyframes card-attack-charge{0%{transform:scale(1) translateY(0)}60%{transform:scale(.88) translateY(12px);filter:brightness(.7) saturate(1.2);box-shadow:0 4px 20px #5eafd64d,inset 0 -4px 12px #5eafd626}to{transform:scale(.85) translateY(16px);filter:brightness(.65) saturate(1.3);box-shadow:0 6px 24px #5eafd666,inset 0 -6px 16px #5eafd633}}@keyframes card-attack-leap{0%{transform:scale(.85) translateY(16px) translate(0);filter:brightness(.65) saturate(1.3)}15%{transform:scale(1.1) translateY(0) translate(calc(var(--attack-dx) * .15),calc(var(--attack-dy) * .15 - 30px));filter:brightness(1) saturate(1.2);box-shadow:0 8px 28px #ffc8644d}40%{transform:scale(1.3) translateY(-20px) translate(calc(var(--attack-dx) * .5),calc(var(--attack-dy) * .5 - 50px));filter:brightness(1.4) saturate(1.3);box-shadow:0 16px 40px #ffdc9680,0 0 60px #ffb4644d}65%{transform:scale(1.2) translateY(-10px) translate(calc(var(--attack-dx) * .8),calc(var(--attack-dy) * .8 - 20px));filter:brightness(1.5) saturate(1.35);box-shadow:0 14px 40px #ffd28c80}85%{transform:scale(1.05) translateY(0) translate(calc(var(--attack-dx) * .95),calc(var(--attack-dy) * .95));filter:brightness(1.3) saturate(1.25)}to{transform:scale(1) translateY(0) translate(var(--attack-dx),var(--attack-dy));filter:brightness(1.2) saturate(1.2);box-shadow:0 4px 20px #ffb46e4d}}@keyframes card-attack-strike{0%{transform:scale(1) translate(var(--attack-dx),var(--attack-dy));filter:brightness(1.2) saturate(1.2)}8%{transform:scale(1.4) translate(var(--attack-dx),var(--attack-dy));filter:brightness(2) saturate(1.5);box-shadow:0 10px 36px #ffffc8cc,0 0 90px #ffdc9699,inset 0 4px 22px #ffffff59}20%{transform:scale(.8) translate(var(--attack-dx),var(--attack-dy));filter:brightness(1.5) saturate(1.3);box-shadow:0 -6px 26px #ffc86480}35%{transform:scale(1.15) translate(calc(var(--attack-dx) * .7),calc(var(--attack-dy) * .7));filter:brightness(1.3) saturate(1.2)}50%{transform:scale(1.25) translate(calc(var(--attack-dx) * .4),calc(var(--attack-dy) * .4));filter:brightness(1.1) saturate(1.1)}70%{transform:scale(1.1) translate(calc(var(--attack-dx) * .15),calc(var(--attack-dy) * .15));filter:brightness(1.05)}85%{transform:scale(1.02) translate(0);filter:brightness(1)}to{transform:scale(1) translate(0);filter:brightness(1) saturate(1);box-shadow:none}}@keyframes attack-trail{0%{opacity:.9;transform:scaleX(1) scaleY(1)}50%{opacity:.5}to{opacity:0;transform:scaleX(1.5) scaleY(.4)}}@keyframes attack-impact{0%{transform:translate(-50%,-50%) scale(.2);opacity:1;border-width:4px}40%{transform:translate(-50%,-50%) scale(1);opacity:.6;border-width:2px}to{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}}@keyframes attack-impact-inner{0%{transform:translate(-50%,-50%) scale(.5);opacity:.8}to{transform:translate(-50%,-50%) scale(1.2);opacity:0}}@keyframes screen-shake-attack{0%,to{transform:translate(0)}15%{transform:translate(-3px,-2px)}30%{transform:translate(3px,2px)}45%{transform:translate(-2px,3px)}60%{transform:translate(2px,-3px)}75%{transform:translate(-1px,1px)}}@keyframes skill-charge-fire{0%,to{border-color:var(--border-active)}50%{border-color:#d45a3a99}}@keyframes skill-charge-lightning{0%,to{border-color:var(--border-active)}25%{border-color:#6ab0f0b3}50%{border-color:#6ab0f04d}75%{border-color:#6ab0f0b3}}@keyframes skill-charge-ice{0%,to{border-color:var(--border-active)}50%{border-color:#7ec8d899}}@keyframes skill-charge-virus{0%,to{border-color:var(--border-active)}50%{border-color:#9366d699}}@keyframes skill-charge-consciousness{0%,to{border-color:var(--border-active)}50%{border-color:#c45c8a99}}@keyframes skill-charge-code{0%,to{border-color:var(--border-active)}50%{border-color:#5eafd699}}@keyframes skill-release-fire{0%{background:radial-gradient(circle,rgba(212,90,58,.2) 0%,transparent 50%);opacity:0}30%{opacity:1}to{background:radial-gradient(circle,rgba(212,90,58,.04) 0%,transparent 70%);opacity:0}}@keyframes skill-release-lightning{0%{opacity:0}15%{opacity:1}30%{opacity:.3}45%{opacity:1}60%{opacity:0}75%{opacity:.8}to{opacity:0}}@keyframes skill-release-ice{0%{transform:scale(.3);opacity:0}50%{transform:scale(1);opacity:.6}to{transform:scale(1.3);opacity:0}}@keyframes skill-release-virus{0%{transform:scale(.5) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:.5}to{transform:scale(1.2) rotate(360deg);opacity:0}}@keyframes skill-release-consciousness{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1);opacity:.5}to{transform:scale(.8);opacity:0}}@keyframes skill-release-code{0%{transform:scaleX(.1);opacity:0}50%{transform:scaleX(1);opacity:.4}to{transform:scaleX(1.5);opacity:0}}@keyframes card-summon{0%{transform:scale(0) rotateY(90deg);opacity:0}60%{transform:scale(1.05) rotateY(-5deg);opacity:1}to{transform:scale(1) rotateY(0);opacity:1}}@keyframes card-selected{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes card-damaged{0%{filter:brightness(1)}25%{filter:brightness(.5)}50%{filter:brightness(1.3)}75%{filter:brightness(.9)}to{filter:brightness(1)}}@keyframes card-death{0%{transform:scale(1);opacity:1;filter:grayscale(0)}50%{transform:scale(.95);opacity:.6;filter:grayscale(.5)}to{transform:scale(.9);opacity:.35;filter:grayscale(1)}}@keyframes energy-gather{0%{transform:scale(1.5);opacity:0}50%{transform:scale(.8);opacity:.3}to{transform:scale(.3);opacity:0}}@keyframes ground-crack{0%{opacity:0;transform:scale(.5)}30%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes skill-projectile-fly{0%{transform:translate(0) scale(.5);opacity:0}8%{opacity:1;transform:translate(calc(var(--end-x) * .08),calc(var(--end-y) * .08)) scale(1.1)}40%{opacity:1;transform:translate(calc(var(--end-x) * .4),calc(var(--end-y) * .4)) scale(1.2)}75%{opacity:.9;transform:translate(calc(var(--end-x) * .75),calc(var(--end-y) * .75)) scale(1)}95%{opacity:.5;transform:translate(calc(var(--end-x) * .95),calc(var(--end-y) * .95)) scale(.8)}to{opacity:0;transform:translate(var(--end-x),var(--end-y)) scale(.3)}}@keyframes projectile-trail-particle{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(.2)}}@keyframes landing-dust{0%{opacity:0;transform:translate(-50%) scaleX(.3) scaleY(.5)}20%{opacity:.5}to{opacity:0;transform:translate(-50%,-8px) scaleX(1.5) scaleY(.3)}}.card-attack-charge{animation:card-attack-charge .2s cubic-bezier(.4,0,.2,1) forwards;z-index:50!important;overflow:visible!important;position:relative}.card-attack-leap{animation:card-attack-leap .5s cubic-bezier(.25,.46,.45,.94) forwards;z-index:50!important;overflow:visible!important;position:relative}.card-attack-strike{animation:card-attack-strike .5s cubic-bezier(.34,1.56,.64,1) forwards;z-index:50!important;overflow:visible!important;position:relative}.attack-trail{position:absolute;width:80px;height:6px;background:linear-gradient(90deg,transparent,rgba(94,175,214,.8),rgba(255,255,255,.6),rgba(94,175,214,.8),transparent);border-radius:3px;pointer-events:none;animation:attack-trail .5s var(--ease-out) forwards;z-index:15;filter:blur(.5px)}.attack-impact{position:absolute;left:50%;top:50%;width:100px;height:100px;border-radius:50%;border:3px solid rgba(94,175,214,.6);pointer-events:none;animation:attack-impact .5s var(--ease-out) forwards;z-index:12}.attack-impact-inner{position:absolute;left:50%;top:50%;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(94,175,214,.3) 0%,transparent 70%);pointer-events:none;animation:attack-impact-inner .4s var(--ease-out) forwards;z-index:13}.screen-shake-active{animation:screen-shake-attack .3s var(--ease-default)}.skill-charge-fire{animation:skill-charge-fire .3s var(--ease-default)}.skill-charge-lightning{animation:skill-charge-lightning .3s var(--ease-default)}.skill-charge-ice{animation:skill-charge-ice .3s var(--ease-default)}.skill-charge-virus{animation:skill-charge-virus .3s var(--ease-default)}.skill-charge-consciousness{animation:skill-charge-consciousness .3s var(--ease-default)}.skill-charge-code{animation:skill-charge-code .3s var(--ease-default)}.skill-release-fire{animation:skill-release-fire .4s var(--ease-out) forwards}.skill-release-lightning{animation:skill-release-lightning .4s var(--ease-default) forwards}.skill-release-ice{animation:skill-release-ice .4s var(--ease-out) forwards}.skill-release-virus{animation:skill-release-virus .4s var(--ease-out) forwards}.skill-release-consciousness{animation:skill-release-consciousness .4s var(--ease-out) forwards}.skill-release-code{animation:skill-release-code .4s var(--ease-out) forwards}.card-summon{animation:card-summon .4s var(--ease-bounce) forwards}.card-selected{animation:card-selected 1s var(--ease-default) infinite}.card-damaged{animation:card-damaged .3s var(--ease-default)}.card-death{animation:card-death .5s var(--ease-default) forwards}.energy-gather{animation:energy-gather .3s var(--ease-in) forwards}.ground-crack{animation:ground-crack .6s var(--ease-out) forwards}.skill-projectile{position:fixed;width:18px;height:18px;border-radius:50%;pointer-events:none;z-index:20;animation:skill-projectile-fly .5s var(--ease-in) forwards;filter:blur(.3px)}.skill-projectile:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;animation:projectile-trail-particle .3s var(--ease-out) forwards}.skill-projectile--fire{background:radial-gradient(circle,#fff8e0,#ff6b35,#d45a3a);box-shadow:0 0 16px #d45a3acc,0 0 32px #ff6b3566,0 0 4px #fff}.skill-projectile--fire:after{background:radial-gradient(circle,rgba(255,107,53,.6),transparent)}.skill-projectile--lightning{background:radial-gradient(circle,#fff,#b0d4ff,#6ab0f0);box-shadow:0 0 16px #6ab0f0cc,0 0 32px #b0d4ff66,0 0 4px #fff}.skill-projectile--lightning:after{background:radial-gradient(circle,rgba(176,212,255,.6),transparent)}.skill-projectile--ice{background:radial-gradient(circle,#fff,#e0f7fa,#7ec8d8);box-shadow:0 0 16px #7ec8d8cc,0 0 32px #e0f7fa66,0 0 4px #fff}.skill-projectile--ice:after{background:radial-gradient(circle,rgba(224,247,250,.6),transparent)}.skill-projectile--virus{background:radial-gradient(circle,#e8c0ff,#c084fc,#9366d6);box-shadow:0 0 16px #9366d6cc,0 0 32px #c084fc66,0 0 4px #fff}.skill-projectile--virus:after{background:radial-gradient(circle,rgba(192,132,252,.6),transparent)}.skill-projectile--consciousness{background:radial-gradient(circle,#ffd0e0,#f0a0c0,#c45c8a);box-shadow:0 0 16px #c45c8acc,0 0 32px #f0a0c066,0 0 4px #fff}.skill-projectile--consciousness:after{background:radial-gradient(circle,rgba(240,160,192,.6),transparent)}.skill-projectile--code{background:radial-gradient(circle,#fff,#a0d8ef,#5eafd6);box-shadow:0 0 16px #5eafd6cc,0 0 32px #a0d8ef66,0 0 4px #fff}.skill-projectile--code:after{background:radial-gradient(circle,rgba(160,216,239,.6),transparent)}.landing-dust{position:absolute;bottom:-4px;left:50%;width:80px;height:16px;background:radial-gradient(ellipse,rgba(180,160,120,.3) 0%,transparent 70%);pointer-events:none;z-index:5;animation:landing-dust .4s var(--ease-out) forwards}.card-player{border-left:3px solid var(--card-border-player);border-image:linear-gradient(180deg,var(--card-border-player),rgba(94,175,214,.2)) 1}.card-pet{border-left:3px solid var(--card-border-pet);border-image:linear-gradient(180deg,var(--card-border-pet),rgba(138,170,56,.2)) 1}.card-enemy{border-top:3px solid var(--card-border-enemy);border-image:linear-gradient(90deg,var(--card-border-enemy),rgba(184,64,64,.2)) 1}.vfx-low .card-attack-charge,.vfx-low .card-attack-leap,.vfx-low .card-attack-strike,.vfx-low .card-summon,.vfx-low .card-damaged,.vfx-low .card-death,.vfx-low .energy-gather,.vfx-low .ground-crack,.vfx-low .skill-projectile,.vfx-low .landing-dust,.vfx-low .skill-charge-fire,.vfx-low .skill-charge-lightning,.vfx-low .skill-charge-ice,.vfx-low .skill-charge-virus,.vfx-low .skill-charge-consciousness,.vfx-low .skill-charge-code,.vfx-low .skill-release-fire,.vfx-low .skill-release-lightning,.vfx-low .skill-release-ice,.vfx-low .skill-release-virus,.vfx-low .skill-release-consciousness,.vfx-low .skill-release-code{animation-name:fade-in!important;animation-duration:.15s!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
