.toast-wrap[data-v-9d1b39a3]{position:fixed;top:calc(var(--safe-top) + 16px);left:50%;transform:translate(-50%);z-index:var(--z-toast);pointer-events:none}.toast-content[data-v-9d1b39a3]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:500;max-width:320px;white-space:nowrap}.success .toast-icon[data-v-9d1b39a3]{color:var(--healing-green)}.error .toast-icon[data-v-9d1b39a3]{color:var(--danger)}.warning .toast-icon[data-v-9d1b39a3]{color:var(--warning)}.toast-icon[data-v-9d1b39a3]{display:flex;flex-shrink:0}.toast-enter-active[data-v-9d1b39a3],.toast-leave-active[data-v-9d1b39a3]{transition:all var(--duration-slow) var(--ease-out)}.toast-enter-from[data-v-9d1b39a3]{transform:translateY(-20px);opacity:0}.toast-leave-to[data-v-9d1b39a3]{transform:translateY(-10px);opacity:0}#app-root{min-height:100dvh;background:var(--bg-body)}:root{--primary: #7C3AED;--primary-light: #A855F7;--primary-dark: #5B21B6;--primary-glow: rgba(124, 58, 237, .4);--secondary: #F43F5E;--secondary-light: #FB7185;--secondary-dark: #BE123C;--accent: #06B6D4;--accent-light: #22D3EE;--accent-dark: #0891B2;--success: #10B981;--success-light: #34D399;--success-glow: rgba(16, 185, 129, .3);--warning: #F59E0B;--warning-light: #FBBF24;--danger: #EF4444;--gradient-primary: linear-gradient(135deg, #7C3AED 0%, #A855F7 50%, #C084FC 100%);--gradient-secondary: linear-gradient(135deg, #F43F5E 0%, #FB7185 50%, #FDA4AF 100%);--gradient-accent: linear-gradient(135deg, #06B6D4 0%, #22D3EE 50%, #67E8F9 100%);--gradient-success: linear-gradient(135deg, #10B981 0%, #34D399 50%, #6EE7B7 100%);--gradient-warm: linear-gradient(135deg, #F59E0B 0%, #F97316 50%, #FB923C 100%);--gradient-cool: linear-gradient(135deg, #3B82F6 0%, #6366F1 50%, #818CF8 100%);--gradient-hero: linear-gradient(160deg, #7C3AED 0%, #A855F7 25%, #EC4899 50%, #F43F5E 75%, #F97316 100%);--gradient-card: linear-gradient(145deg, rgba(124,58,237,.05) 0%, rgba(244,63,94,.05) 100%);--glass-sm: rgba(255, 255, 255, .45);--glass-md: rgba(255, 255, 255, .65);--glass-lg: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .5);--glass-blur: blur(24px);--shadow-primary: 0 4px 24px rgba(124, 58, 237, .25);--shadow-secondary: 0 4px 24px rgba(244, 63, 94, .25);--shadow-success: 0 4px 24px rgba(16, 185, 129, .25);--shadow-lg: 0 12px 48px rgba(124, 58, 237, .15);--shadow-xl: 0 20px 60px rgba(124, 58, 237, .2);--shadow-card: 0 2px 12px rgba(124, 58, 237, .08);--shadow-float: 0 8px 32px rgba(0, 0, 0, .12);--text-primary: #1E1B4B;--text-secondary: #475569;--text-tertiary: #94A3B8;--text-inverse: #FFFFFF;--bg-body: #FAF5FF;--bg-card: #FFFFFF;--bg-overlay: rgba(15, 23, 42, .5);--bg-dark: #0F172A;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-base: 16px;--space-lg: 20px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Raleway", "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-4xl: 48px;--leading-tight: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.7;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: .1s;--duration-fast: .2s;--duration-base: .3s;--duration-slow: .5s;--duration-glacial: .8s;--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-modal: 100;--z-toast: 200;--tabbar-height: 64px;--navbar-height: 52px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background:var(--bg-body);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-6px) rotate(1deg)}66%{transform:translateY(3px) rotate(-1deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px var(--primary-glow)}50%{box-shadow:0 0 32px var(--primary-glow),0 0 64px #a855f733}}@keyframes pulse-soft{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scale-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-in-bounce{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes pop-in{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce-infinite{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-slow{animation:float-slow 5s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-gradient{background-size:300% 300%;animation:gradient-shift 8s ease infinite}.animate-scale-in{animation:scale-in .5s var(--ease-spring) forwards}.animate-scale-in-bounce{animation:scale-in-bounce .6s var(--ease-bounce) forwards}.animate-slide-up{animation:slide-up .6s var(--ease-out) forwards}.animate-slide-in-right{animation:slide-in-right .4s var(--ease-out) forwards}.animate-fade-in{animation:fade-in .5s ease forwards}.animate-pop-in{animation:pop-in .4s var(--ease-spring) forwards}.animate-spin-slow{animation:spin-slow 8s linear infinite}.animate-bounce{animation:bounce-infinite 1s ease-in-out infinite}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.stagger>*{opacity:0;animation:slide-up .5s var(--ease-out) forwards}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.1s}.stagger>*:nth-child(3){animation-delay:.15s}.stagger>*:nth-child(4){animation-delay:.2s}.stagger>*:nth-child(5){animation-delay:.25s}.stagger>*:nth-child(6){animation-delay:.3s}.stagger>*:nth-child(7){animation-delay:.35s}.stagger>*:nth-child(8){animation-delay:.4s}.glass-sm{background:var(--glass-sm);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.glass-md{background:var(--glass-md);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.glass-lg{background:var(--glass-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.card-glow-primary{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid rgba(124,58,237,.1);transition:all var(--duration-base) var(--ease-out)}.card-glow-primary:active{box-shadow:var(--shadow-primary);transform:scale(.98)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;font-size:15px;font-weight:700;box-shadow:0 4px 16px #7c3aed4d;transition:all var(--duration-fast) var(--ease-out);cursor:pointer;border:none;position:relative;overflow:hidden}.btn-primary:active{transform:scale(.95);box-shadow:0 2px 8px #7c3aed33}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%);transition:transform .5s}.btn-primary:hover:after{transform:translate(100%)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-full);background:#7c3aed14;color:var(--primary);font-size:14px;font-weight:600;transition:all var(--duration-fast) var(--ease-out);cursor:pointer;border:1px solid rgba(124,58,237,.12)}.btn-secondary:active{transform:scale(.95);background:#7c3aed26}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.badge-primary{background:#7c3aed1a;color:var(--primary)}.badge-success{background:#10b9811a;color:var(--success)}.badge-warning{background:#f59e0b1a;color:var(--warning)}.badge-danger{background:#ef44441a;color:var(--danger)}.badge-gradient{background:var(--gradient-primary);color:#fff}.aurora-bg-soft{background:linear-gradient(135deg,#f5f3ff,#fdf2f8,#fff7ed,#f0fdf4,#eff6ff);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.aurora-bg-vivid{background:linear-gradient(135deg,#ede9fe,#fce7f3,#fef3c7,#d1fae5,#dbeafe,#ede9fe);background-size:400% 400%;animation:gradient-shift 12s ease infinite}.icon-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.icon-circle-sm{width:36px;height:36px}.icon-circle-md{width:48px;height:48px}.icon-circle-lg{width:64px;height:64px}.icon-circle-primary{background:#7c3aed1a;color:var(--primary)}.icon-circle-secondary{background:#f43f5e1a;color:var(--secondary)}.icon-circle-accent{background:#06b6d41a;color:var(--accent)}.icon-circle-success{background:#10b9811a;color:var(--success)}.icon-circle-warning{background:#f59e0b1a;color:var(--warning)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7c3aed33;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.fade-enter-active,.fade-leave-active,.slide-right-enter-active,.slide-right-leave-active,.slide-left-enter-active,.slide-left-leave-active,.slide-up-enter-active,.slide-up-leave-active{position:absolute;top:0;left:0;right:0}.fade-enter-active{transition:opacity var(--duration-slow) var(--ease-out)}.fade-leave-active{transition:opacity var(--duration-fast) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-right-enter-active,.slide-right-leave-active{transition:all var(--duration-slow) var(--ease-spring)}.slide-right-enter-from{transform:translate(-40px);opacity:0}.slide-right-leave-to{transform:translate(40px);opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:all var(--duration-slow) var(--ease-spring)}.slide-left-enter-from{transform:translate(40px);opacity:0}.slide-left-leave-to{transform:translate(-40px);opacity:0}.slide-up-enter-active{transition:all .5s var(--ease-spring)}.slide-up-leave-active{transition:all .25s var(--ease-out)}.slide-up-enter-from{transform:translateY(40px);opacity:0}.slide-up-leave-to{transform:translateY(-40px);opacity:0}
