:root{--primary-color: #5BA3E0;--primary-light: #7BC4F0;--primary-dark: #4A8AC7;--success-color: #88D66C;--success-light: #A0E088;--success-dark: #6FB854;--gradient-primary: linear-gradient(135deg, #5BA3E0 0%, #88D66C 100%);--gradient-bg: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);--gradient-bg-light: linear-gradient(135deg, #e3f2fd 0%, #f1f8e9 100%);--text-primary: #2c3e50;--text-regular: #606266;--text-secondary: #909399;--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-tertiary: #e4e7ed;--border-light: rgba(228, 231, 237, .6);--border-base: #dcdfe6;--border-dark: #c0c4cc;--shadow-light: 0 2px 8px rgba(0, 0, 0, .08);--shadow-base: 0 4px 12px rgba(0, 0, 0, .1);--shadow-dark: 0 8px 24px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-base: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--duration-fast: .2s;--duration-base: .3s;--duration-slow: .5s;--ease-out: cubic-bezier(.4, 0, .2, 1)}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100vh}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-modern{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);transition:all var(--duration-base) var(--ease-out)}.card-modern:hover{box-shadow:var(--shadow-dark)}:root{--primary-color: #409eff;--primary-light: #79bbff;--primary-dark: #337ecc;--success-color: #67c23a;--warning-color: #e6a23c;--danger-color: #f56c6c;--info-color: #909399;--text-primary: #2c3e50;--text-regular: #606266;--text-secondary: #909399;--text-placeholder: #c0c4cc;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f0f2f5;--border-light: #e4e7ed;--border-base: #dcdfe6;--border-dark: #d3d4d6;--shadow-light: 0 2px 4px rgba(0, 0, 0, .04);--shadow-base: 0 2px 12px rgba(0, 0, 0, .08);--shadow-dark: 0 4px 20px rgba(0, 0, 0, .12);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .16);--radius-small: 4px;--radius-base: 8px;--radius-large: 12px;--radius-xl: 16px;--radius-round: 50%;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--duration-fast: .15s;--duration-base: .3s;--duration-slow: .5s;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-in: cubic-bezier(.55, .055, .675, .19);--ease-in-out: cubic-bezier(.645, .045, .355, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}*{box-sizing:border-box}html{font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary);background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-small)}::-webkit-scrollbar-thumb{background:var(--border-base);border-radius:var(--radius-small);transition:background var(--duration-base) var(--ease-out)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-base) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--duration-base) var(--ease-out)}.slide-up-enter-from{opacity:0;transform:translateY(20px)}.slide-up-leave-to{opacity:0;transform:translateY(-20px)}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--duration-base) var(--ease-out)}.slide-down-enter-from{opacity:0;transform:translateY(-20px)}.slide-down-leave-to{opacity:0;transform:translateY(20px)}.scale-enter-active,.scale-leave-active{transition:all var(--duration-base) var(--ease-out)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.9)}.hover-lift{transition:all var(--duration-base) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-dark)}.hover-scale{transition:transform var(--duration-base) var(--ease-out)}.hover-scale:hover{transform:scale(1.02)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.gradient-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%)}.gradient-success{background:linear-gradient(135deg,var(--success-color) 0%,#85ce61 100%)}.gradient-warning{background:linear-gradient(135deg,var(--warning-color) 0%,#ebb563 100%)}.gradient-danger{background:linear-gradient(135deg,var(--danger-color) 0%,#f78989 100%)}.gradient-soft{background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%)}.glass{background:rgba(255,255,255,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.glass-dark{background:rgba(0,0,0,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.text-gradient{background:linear-gradient(135deg,var(--primary-color) 0%,var(--success-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.1)}.btn-glow{position:relative;overflow:hidden}.btn-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--duration-slow) var(--ease-out)}.btn-glow:hover:before{left:100%}.card-modern{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);transition:all var(--duration-base) var(--ease-out);position:relative;overflow:hidden}.card-modern:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--success-color));opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.card-modern:hover{transform:translateY(-4px);box-shadow:var(--shadow-heavy)}.card-modern:hover:before{opacity:1}.input-modern{position:relative}.input-modern:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--primary-color);transition:all var(--duration-base) var(--ease-out)}.input-modern:focus-within:after{left:0;width:100%}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.hidden{display:none!important}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}@media (max-width: 768px){:root{font-size:13px}.container{padding:0 var(--spacing-md)}.hidden-mobile{display:none!important}}@media (min-width: 769px){.hidden-desktop{display:none!important}}.el-button{border-radius:var(--radius-base);transition:all var(--duration-base) var(--ease-out)}.el-button:hover{transform:translateY(-1px)}.el-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-base);transition:all var(--duration-base) var(--ease-out)}.el-card:hover{box-shadow:var(--shadow-dark)}.el-input__inner{border-radius:var(--radius-base);transition:all var(--duration-base) var(--ease-out)}.el-input__inner:focus{box-shadow:0 0 0 2px #409eff33}.el-dialog{border-radius:var(--radius-xl);overflow:hidden}.el-message,.el-notification{border-radius:var(--radius-large);box-shadow:var(--shadow-dark)}.progress-modern{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-small);overflow:hidden;position:relative}.progress-modern:before{content:"";position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius:var(--radius-small);transition:width var(--duration-base) var(--ease-out)}.skeleton-modern{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-color-scheme: dark){:root{--text-primary: #e4e7ed;--text-regular: #cfd3dc;--text-secondary: #a8abb2;--text-placeholder: #6c6e72;--bg-primary: #1d1e1f;--bg-secondary: #25262b;--bg-tertiary: #2c2e33;--border-light: #414243;--border-base: #4c4d4f;--border-dark: #58585b}body{background:linear-gradient(135deg,#1a1a1a 0%,#2d3748 100%)}}.page-transition-enter-active{transition:all .4s cubic-bezier(.25,.46,.45,.94)}.page-transition-leave-active{transition:all .3s cubic-bezier(.55,.055,.675,.19)}.page-transition-enter-from{opacity:0;transform:translateY(30px) scale(.98)}.page-transition-leave-to{opacity:0;transform:translateY(-20px) scale(1.02)}.card-enter-active,.card-leave-active{transition:all .3s ease-out}.card-enter-from{opacity:0;transform:translateY(20px) scale(.95)}.card-leave-to{opacity:0;transform:translateY(-10px) scale(1.05)}.list-enter-active{transition:all .3s ease-out}.list-leave-active{transition:all .2s ease-in;position:absolute}.list-enter-from{opacity:0;transform:translate(-30px)}.list-leave-to{opacity:0;transform:translate(30px)}.list-move{transition:transform .3s ease-out}.modal-enter-active{transition:all .3s ease-out}.modal-leave-active{transition:all .2s ease-in}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-content,.modal-leave-to .modal-content{transform:scale(.9) translateY(-20px)}.drawer-enter-active,.drawer-leave-active{transition:all .3s ease-out}.drawer-enter-from,.drawer-leave-to{opacity:0}.drawer-enter-from .drawer-content,.drawer-leave-to .drawer-content{transform:translate(-100%)}.message-enter-active{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.message-leave-active{transition:all .2s ease-in}.message-enter-from{opacity:0;transform:translateY(-50px) scale(.8)}.message-leave-to{opacity:0;transform:translateY(-20px) scale(.9)}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@keyframes loading-bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes loading-dots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes progress-indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes float-reverse{0%,to{transform:translateY(-6px)}50%{transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:currentColor}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes glow{0%,to{box-shadow:0 0 5px #409eff4d}50%{box-shadow:0 0 20px #409eff99,0 0 30px #409eff66}}.animate-spin{animation:loading-spin 1s linear infinite}.animate-pulse{animation:loading-pulse 2s ease-in-out infinite}.animate-bounce{animation:loading-bounce 1s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-reverse{animation:float-reverse 3s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-blink{animation:blink 1s step-end infinite}.animate-gradient{background-size:400% 400%;animation:gradient-shift 3s ease infinite}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animate-delay-75{animation-delay:75ms}.animate-delay-100{animation-delay:.1s}.animate-delay-150{animation-delay:.15s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-700{animation-delay:.7s}.animate-delay-1000{animation-delay:1s}.animate-duration-75{animation-duration:75ms}.animate-duration-100{animation-duration:.1s}.animate-duration-150{animation-duration:.15s}.animate-duration-200{animation-duration:.2s}.animate-duration-300{animation-duration:.3s}.animate-duration-500{animation-duration:.5s}.animate-duration-700{animation-duration:.7s}.animate-duration-1000{animation-duration:1s}.hover-lift{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.hover-scale{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.hover-rotate:hover{transform:rotate(5deg)}.hover-brightness{transition:filter .3s ease}.hover-brightness:hover{filter:brightness(1.1)}.hover-blur{transition:filter .3s ease}.hover-blur:hover{filter:blur(2px)}.click-scale{transition:transform .1s ease}.click-scale:active{transform:scale(.95)}.click-ripple{position:relative;overflow:hidden}.click-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.click-ripple:active:before{width:300px;height:300px}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.25,.46,.45,.94)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal-left{opacity:0;transform:translate(-30px);transition:all .6s cubic-bezier(.25,.46,.45,.94)}.scroll-reveal-left.revealed{opacity:1;transform:translate(0)}.scroll-reveal-right{opacity:0;transform:translate(30px);transition:all .6s cubic-bezier(.25,.46,.45,.94)}.scroll-reveal-right.revealed{opacity:1;transform:translate(0)}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading-skeleton 1.5s infinite}@keyframes loading-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:currentColor;animation:loading-dots 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.success-checkmark{animation:success-checkmark .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes success-checkmark{0%{transform:scale(0) rotate(45deg);opacity:0}50%{transform:scale(1.2) rotate(45deg);opacity:1}to{transform:scale(1) rotate(45deg);opacity:1}}.error-shake{animation:error-shake .5s ease-in-out}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){.loading-skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200% 100%}.animate-glow{animation:glow-dark 2s ease-in-out infinite alternate}@keyframes glow-dark{0%,to{box-shadow:0 0 5px #409eff66}50%{box-shadow:0 0 20px #409effb3,0 0 30px #409eff80}}}
