:root{--primary-color:#4158d0;--primary-light:#c2cbff;--primary-gradient:linear-gradient(135deg,#4158d0,#c850c0,#ffcc70);--secondary-gradient:linear-gradient(135deg,#0093e9,#80d0c7);--secondary-color:#f96;--text-color:#333;--light-text:#666;--lighter-text:#888;--background-color:#f8f9fa;--white-color:#fff;--error-color:#ff5252;--success-color:#4caf50;--border-color:#eee;--box-shadow:0 5px 15px rgba(0,0,0,0.05);--shadow-color:rgba(0,0,0,0.1);--border-radius:10px;--transition:all 0.3s ease}body{margin:0;font-family:"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color);line-height:1.6}.animated-gradient{background:var(--primary-gradient);background-size:200% 200%;animation:gradient 15s ease infinite}.glass-effect{background-color:hsla(0,0%,100%,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.hover-lift{transition:var(--transition)}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.1)}*{box-sizing:border-box}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{text-decoration:underline}.button,button{cursor:pointer;background:var(--primary-gradient);color:#fff;border:none;padding:12px 20px;border-radius:var(--border-radius);font-weight:500;transition:var(--transition);font-size:16px;text-align:center;display:inline-block}.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.button:disabled,button:disabled{opacity:.7;cursor:not-allowed;transform:none}h1,h2,h3,h4,h5,h6{margin-top:0;font-weight:600;line-height:1.3}p{margin-top:0;margin-bottom:1rem}.card{background-color:var(--white-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:20px;margin-bottom:20px;transition:var(--transition)}.card:hover{box-shadow:0 10px 30px rgba(0,0,0,.1);transform:translateY(-5px)}.alert-danger{background-color:rgba(255,82,82,.1);color:var(--error-color);border:1px solid var(--error-color)}.alert-success{background-color:rgba(76,175,80,.1);color:var(--success-color);border:1px solid var(--success-color)}.text-center{text-align:center}.mt-4{margin-top:2rem}.mb-4{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem;font-weight:500}.form-control{padding:12px 15px;font-size:16px;transition:var(--transition)}.form-control:focus{box-shadow:0 0 0 3px rgba(65,88,208,.2)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}@media (max-width:768px){.grid{grid-template-columns:1fr}.container{padding:0 15px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.show{opacity:1;visibility:visible}.modal-content{background-color:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:30px;border-radius:20px;width:80%;max-width:600px;box-shadow:0 15px 50px rgba(0,0,0,.2);text-align:center;position:relative;transform:translateY(30px);opacity:0;transition:all .3s ease}.modal-overlay.show .modal-content{transform:translateY(0);opacity:1}.modal-close{position:absolute;top:15px;right:15px;cursor:pointer;font-size:20px;color:#888;transition:all .3s ease}.modal-close:hover{color:#333;transform:rotate(90deg)}.progress-container{margin:30px 0;height:10px;background-color:#f0f0f0;border-radius:10px;overflow:hidden}.progress-bar{width:0}.modal-actions{margin-top:20px;display:flex;justify-content:center;grid-gap:10px;gap:10px}@media (max-width:768px){.modal-content{width:90%;padding:20px}}.header{background:var(--primary-gradient);background-size:200% 200%;animation:gradient 15s ease infinite;box-shadow:0 5px 15px var(--shadow-color);padding:15px 0;position:sticky;top:0;z-index:1000}.header-content{justify-content:space-between;max-width:1200px;margin:0 auto}.header-content,.logo{display:flex;align-items:center}.logo{text-decoration:none;grid-gap:10px;gap:10px}.logo-image{height:32px;width:auto;margin-right:5px}.logo h1{margin:0;font-size:1.8rem;color:#fff;font-weight:700;text-shadow:0 2px 5px rgba(0,0,0,.2)}.main-nav{flex:1 1;display:flex;justify-content:center}.nav-links{display:flex;grid-gap:30px;gap:30px;list-style:none;margin:0;padding:0}.nav-links a{color:hsla(0,0%,100%,.9);font-weight:500;text-decoration:none;transition:var(--transition);padding:5px 0;position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:0;background:#fff;transition:var(--transition)}.nav-links a:hover{color:#fff;text-decoration:none}.nav-links a:hover:after{width:100%}.user-actions{display:flex;align-items:center}.auth-buttons{display:flex;grid-gap:15px;gap:15px}.login-btn{color:#fff;text-decoration:none;font-weight:500;padding:8px 15px;border-radius:var(--border-radius);transition:var(--transition);border:1px solid hsla(0,0%,100%,.5)}.login-btn:hover{background-color:hsla(0,0%,100%,.1);text-decoration:none;transform:translateY(-2px)}.register-btn{background:#fff;color:var(--primary-color);text-decoration:none;font-weight:500;padding:8px 15px;border-radius:var(--border-radius);transition:var(--transition)}.register-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.1);text-decoration:none}.user-menu{position:relative;display:flex;align-items:center;cursor:pointer}.user-info{display:flex;flex-direction:column;align-items:flex-end;background:hsla(0,0%,100%,.2);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:8px 12px;border-radius:var(--border-radius);transition:var(--transition)}.user-info:hover{background:hsla(0,0%,100%,.3);transform:translateY(-2px)}.username{font-weight:600;color:#fff}.points{font-size:.8rem;color:hsla(0,0%,100%,.9);font-weight:500}.dropdown-menu{position:absolute;top:calc(100% + 5px);right:0;background-color:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius);box-shadow:0 15px 50px rgba(0,0,0,.15);width:150px;padding:10px;margin-top:5px;display:none;flex-direction:column;grid-gap:5px;gap:5px;z-index:1001;transform:translateY(10px);opacity:0;transition:all .3s ease}.dropdown-menu.show,.dropdown-menu:hover,.user-menu:hover .dropdown-menu{display:flex;transform:translateY(0);opacity:1}.user-menu:after{content:"";position:absolute;height:15px;width:100%;bottom:-15px;left:0}.dropdown-menu a,.dropdown-menu button{display:block;padding:8px;text-align:left;color:var(--text-color);background:none;font-size:.9rem;border-radius:5px;transition:var(--transition);border:none;cursor:pointer;width:100%;text-decoration:none}.dropdown-menu a:hover,.dropdown-menu button:hover{background-color:rgba(65,88,208,.1);color:var(--primary-color);transform:translateY(-2px)}@media (max-width:768px){.header-content{flex-direction:column;grid-gap:15px;gap:15px}.main-nav{order:3;width:100%}.nav-links{width:100%;justify-content:space-around;grid-gap:10px;gap:10px}.user-actions{width:100%;justify-content:center;order:2}}.home-page{color:#333;font-family:"Microsoft YaHei","Segoe UI",Tahoma,Geneva,Verdana,sans-serif;opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}.home-page.loaded{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto;padding:0 20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}.pulse{animation:pulse 2s ease-in-out infinite}.mr-2{margin-right:.5rem}.section-title{text-align:center;margin-bottom:2rem}.section-title h2{font-size:2rem;color:#333;position:relative;padding-bottom:.5rem;display:inline-block;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-underline{width:60px;height:3px;background:var(--primary-gradient);margin:.5rem auto 1.5rem;position:relative}.title-underline:after,.title-underline:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#4a90e2;top:-2.5px}.title-underline:before{left:-4px}.title-underline:after{right:-4px}.section-subtitle{text-align:center;color:#666;max-width:600px;margin:0 auto 2rem}.main{padding:40px 0}.hero{text-align:center;margin-bottom:2rem}.hero h1{font-size:2.5rem;margin-bottom:1rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;font-weight:700}.hero p{font-size:1.2rem;color:#6c757d;max-width:600px;margin:0 auto 1.5rem;line-height:1.6}.conversion-box{max-width:800px;margin:0 auto;background:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:40px;box-shadow:0 10px 30px rgba(0,0,0,.1);position:relative;overflow:hidden;background-color:#f0f7ff}.conversion-box:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:var(--secondary-gradient);z-index:-1;transform:rotate(-5deg);opacity:.1}.tabs{display:flex;justify-content:center;margin-bottom:30px}.tab{padding:10px 20px;border-radius:30px;cursor:pointer;font-weight:500;background:var(--secondary-gradient);color:#fff;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}.tab:hover{transform:translateY(-3px);box-shadow:0 8px 15px rgba(0,0,0,.15)}.tab.active{background:var(--primary-gradient);box-shadow:0 8px 15px rgba(0,0,0,.1)}.upload-area{border:2px dashed #c850c0;border-radius:20px;padding:40px;transition:all .3s ease;background-color:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);margin-bottom:30px;overflow:hidden}.upload-area:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:var(--primary-gradient);z-index:-1;opacity:0;transform:rotate(-5deg);transition:opacity .3s ease}.upload-area.dragging:after,.upload-area:hover:after{opacity:.05}.upload-area.dragging,.upload-area:hover{border-color:#4158d0;background-color:hsla(0,0%,100%,.9);transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.upload-icon{font-size:50px;color:#c850c0;animation:pulse 2s ease-in-out infinite}.upload-icon i{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes glow{0%{box-shadow:0 0 5px rgba(65,88,208,.5)}50%{box-shadow:0 0 20px rgba(65,88,208,.8),0 0 30px rgba(200,80,192,.4)}to{box-shadow:0 0 5px rgba(65,88,208,.5)}}.upload-text h3{margin-bottom:10px;color:#212529;font-size:1.3rem}.upload-text p{color:#6c757d;margin-bottom:20px}.btn{display:inline-block;padding:10px 25px;border-radius:30px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px rgba(192,80,192,.4);animation:glow 3s ease-in-out infinite}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px rgba(192,80,192,.5)}.formats{display:flex;justify-content:center;grid-gap:20px;gap:20px;margin:30px 0}.format{display:flex;flex-direction:column;align-items:center;padding:15px;border-radius:15px;background-color:hsla(0,0%,100%,.7);box-shadow:0 4px 8px rgba(0,0,0,.05);transition:all .3s ease;width:80px;position:relative}.format:first-child:after{display:none}.format:first-child:before{content:"→";position:absolute;top:38%;right:-21px;color:#e67e22;font-size:22px;font-weight:700;z-index:3;text-shadow:0 1px 3px rgba(0,0,0,.1)}.format:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.format-icon{font-size:24px;margin-bottom:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px}.pdf .format-icon{background-color:rgba(231,76,60,.1);color:#e74c3c}.ppt .format-icon{background-color:rgba(230,126,34,.1);color:#e67e22}.format span{font-size:14px;font-weight:500}.processing-steps{display:flex;justify-content:space-between;margin-top:50px;position:relative}.processing-steps:before{content:"";position:absolute;top:40px;left:60px;right:60px;height:2px;background:var(--primary-gradient);z-index:0}.step{flex-direction:column;z-index:1}.step,.step-icon{display:flex;align-items:center;position:relative;width:80px}.step-icon{height:80px;border-radius:50%;background:#fff;justify-content:center;margin-bottom:15px;box-shadow:0 5px 15px rgba(0,0,0,.1);z-index:2;transition:all .3s ease}.step-icon i{font-size:30px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.step:hover .step-icon{transform:scale(1.1);box-shadow:0 10px 25px rgba(65,88,208,.2)}.step:hover .step-icon i{transform:scale(1.2)}.step-text{text-align:center;font-weight:500;font-size:14px;color:#555}.features{padding:3rem 0}.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:30px;gap:30px}.feature-card{background:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:15px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.05);transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;z-index:1}.feature-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:var(--secondary-gradient);z-index:-1;transform:rotate(-5deg);opacity:0;transition:opacity .3s ease}.feature-card:hover{transform:translateY(-10px);box-shadow:0 15px 35px rgba(0,0,0,.1)}.feature-card:hover:before{opacity:.05}.feature-icon{width:70px;height:70px;border-radius:20px;background:var(--primary-gradient);background-size:200% 200%;display:flex;justify-content:center;align-items:center;margin-bottom:20px;box-shadow:0 8px 20px rgba(65,88,208,.3);transition:all .3s ease}.feature-card:hover .feature-icon{animation:pulse 2s ease-in-out infinite;box-shadow:0 12px 30px rgba(65,88,208,.4)}.feature-icon i{font-size:25px;color:#fff}.feature-title{margin-bottom:15px;font-size:1.2rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feature-desc{color:#6c757d;font-size:.9rem}.feature-hover-info{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(0deg,rgba(74,144,226,.05),transparent);padding:1rem;opacity:0;transform:translateY(20px);transition:all .3s ease;text-align:center;z-index:1}.feature-card:hover .feature-hover-info{opacity:1;transform:translateY(0)}.feature-progress{height:4px;background:#f0f0f0;border-radius:2px;margin-top:.5rem;overflow:hidden}.progress-bar{height:100%;background:var(--primary-gradient);background-size:200% 200%;animation:gradient 2s ease infinite;border-radius:10px;transition:width .5s ease}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.mini-gallery{display:flex;justify-content:center;grid-gap:.5rem;gap:.5rem}.mini-gallery i{font-size:1.2rem;color:#4a90e2}.chart-preview{display:flex;height:30px;align-items:flex-end;justify-content:center;grid-gap:4px;gap:4px}.chart-bar{width:6px;background:#4a90e2;border-radius:2px;animation:grow 1.5s ease-out forwards}.chart-bar:first-child{height:15px;animation-delay:0s}.chart-bar:nth-child(2){height:25px;animation-delay:.2s}.chart-bar:nth-child(3){height:20px;animation-delay:.4s}.chart-bar:nth-child(4){height:30px;animation-delay:.6s}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.pricing-section{padding:3rem 0;background:#f9fafc;position:relative;overflow:hidden}.pricing-section:after,.pricing-section:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(74,144,226,.03);z-index:0}.pricing-section:before{top:-100px;left:-100px}.pricing-section:after{bottom:-100px;right:-100px}.pricing-info{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem;position:relative;z-index:1}.pricing-card{background:#fff;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,.05);padding:2rem;text-align:center;flex:1 1;min-width:250px;max-width:300px;transition:all .3s ease;position:relative}.pricing-badge{position:absolute;top:0;right:1.5rem;background:#4a90e2;color:#fff;font-size:.8rem;padding:.3rem .8rem;border-radius:0 0 8px 8px}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.pricing-card.featured{border:2px solid #4a90e2;position:relative;z-index:1;transform:scale(1.05)}.pricing-card.featured .pricing-badge{background:#5c6bc0}.pricing-card.featured:hover{transform:scale(1.05) translateY(-5px)}.pricing-card h3{font-size:1.2rem;margin-bottom:1rem;color:#333}.price-highlight{font-size:1.8rem;font-weight:700;color:#4a90e2;margin-bottom:1rem}.pricing-card p{color:#666;margin-bottom:1.5rem}.pricing-features{margin-top:1.5rem;text-align:left}.pricing-feature{display:flex;align-items:center;margin-bottom:.5rem;font-size:.9rem}.pricing-feature i{color:#4a90e2;margin-right:.5rem}.cta-container{text-align:center;margin-top:2rem;position:relative;z-index:1}@media (max-width:992px){.hero{text-align:center;flex-direction:column}.hero-content{padding-right:0;text-align:center}.hero p{margin:0 auto 1.5rem}.hero-buttons{justify-content:center}}@media (max-width:768px){.hero h1{font-size:2rem}.processing-steps{flex-direction:column;grid-gap:1.5rem;gap:1.5rem}.step:not(:last-child):after{display:none}.pricing-info{flex-direction:column;align-items:center}.pricing-card{width:100%;max-width:100%}.pricing-card.featured{transform:none}.pricing-card.featured:hover{transform:translateY(-5px)}.floating-element{position:relative;display:inline-block;margin:0 1rem}.pdf-icon,.ppt-icon{position:relative;left:auto;right:auto}}@media (max-width:480px){.formats{flex-direction:column;grid-gap:1rem;gap:1rem}.format:first-child:after{content:"";bottom:-20px;width:3px;height:25px;background:linear-gradient(180deg,#e74c3c,#e67e22)}.format:first-child:after,.format:first-child:before{position:absolute;top:auto;right:auto;left:50%;transform:translateX(-50%)}.format:first-child:before{content:"↓";bottom:-25px}.btn-lg{width:100%;margin-bottom:.5rem}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:40px 0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),rgba(65,88,208,.05))}.auth-card{background-color:var(--white-color);border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,.1);padding:50px;width:100%;max-width:950px;margin:0 auto;border-top:4px solid var(--primary-color)}.auth-header{text-align:center;margin-bottom:35px}.auth-header h2{font-size:2.4rem;margin-bottom:15px;color:var(--text-color);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-header p{color:var(--light-text);font-size:1.2rem}.auth-form{margin-bottom:20px;display:flex;flex-direction:column;grid-gap:12px;gap:12px}.form-group{margin-bottom:10px}.form-group label{margin-bottom:6px;color:var(--text-color);font-size:1.05rem}.form-control{width:100%;padding:14px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1.05rem;transition:all .3s ease}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(65,88,208,.1);outline:none}.auth-button{width:100%;background:var(--primary-gradient);color:#fff;font-weight:600;padding:15px;border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);font-size:1.2rem;margin-top:15px}.auth-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:25px;padding-top:15px;border-top:1px solid var(--border-color)}.auth-footer p{color:var(--light-text);font-size:1.05rem}.auth-footer a{color:var(--primary-color);font-weight:600;text-decoration:none;transition:all .2s ease}.auth-footer a:hover{text-decoration:underline;color:var(--primary-color-dark,#3146b2)}.alert{padding:15px;margin-bottom:20px;border-radius:var(--border-radius);font-size:1rem}.alert-danger{background-color:rgba(220,53,69,.1);color:#dc3545;border:1px solid rgba(220,53,69,.2)}.register-page .auth-card{max-width:1000px}.register-page .form-group{margin-bottom:8px}.register-page .auth-form{display:flex;flex-direction:column;grid-gap:10px;gap:10px}@media (min-width:768px){.register-page .auth-form{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:20px;column-gap:20px;grid-row-gap:12px;row-gap:12px}.register-page .form-group:first-child{grid-column:1;grid-row:1}.register-page .form-group:nth-child(2){grid-column:2;grid-row:1}.register-page .form-group:nth-child(3){grid-column:1;grid-row:2}.register-page .form-group:nth-child(4){grid-column:2;grid-row:2}.register-page .form-group:nth-child(5){grid-column:1/span 2;grid-row:3}}@media (min-width:1400px){.auth-card{max-width:1000px;padding:60px}.register-page .auth-card{max-width:1100px}}@media (min-width:992px) and (max-width:1399px){.auth-card{max-width:900px}.register-page .auth-card{max-width:1000px}}@media (min-width:768px) and (max-width:991px){.auth-card{max-width:800px;padding:40px}.register-page .auth-card{max-width:900px}}@media (max-width:767px){.auth-card{padding:30px 25px;max-width:90%}.auth-header h2{font-size:1.8rem}.auth-button{padding:12px;font-size:1.1rem}.form-control{padding:12px;font-size:1rem}.register-page .auth-button{width:200px;padding:12px 20px}}.register-button-container{display:flex;justify-content:center;align-items:center;margin:30px 0 15px;width:100%;position:relative}.register-page .auth-button{width:240px;margin:0;padding:15px 30px;font-weight:600;font-size:1.2rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--border-radius)}.forgot-password{text-align:right;margin-top:5px;font-size:.85rem}.forgot-password a{color:#4a86e8;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.success-message{text-align:center;padding:20px 0}.agreement-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 0;background-color:#f5f8fa}.agreement-card{background:#fff;border-radius:10px;box-shadow:0 4px 15px rgba(0,0,0,.08);width:90%;max-width:900px;padding:30px;margin:20px auto}.agreement-header{text-align:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eaeaea}.agreement-header h2{font-size:24px;color:#333;margin:0}.agreement-content{margin-bottom:20px;max-height:70vh;overflow-y:auto;padding:10px;background-color:#f9f9f9;border-radius:6px}.agreement-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:14px;line-height:1.6;color:#444}.agreement-footer{text-align:center;margin-top:20px}.back-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:10px 25px;font-size:16px;cursor:pointer;transition:background-color .3s}.back-button:hover{background-color:#2980b9}.agreement-text{text-align:center;margin:15px 0;font-size:14px;color:#666}.agreement-text a{color:#3498db;text-decoration:none;transition:color .2s}.agreement-text a:hover{color:#2980b9;text-decoration:underline}.dashboard-page{padding:30px 0 60px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.dashboard-header h1{margin:0;color:var(--text-color)}.user-points{background-color:var(--white-color);border-radius:var(--border-radius);padding:10px 15px;box-shadow:var(--box-shadow);font-weight:500;color:var(--text-color)}.user-points span{color:var(--primary-color);font-weight:700}.dashboard-content{display:flex;flex-direction:column;grid-gap:30px;gap:30px}.upload-container{background-color:var(--white-color);border-radius:var(--border-radius);padding:30px;box-shadow:var(--box-shadow);position:relative;margin-bottom:30px}.upload-area{border:2px dashed #ddd;border-radius:var(--border-radius);padding:40px 40px 30px;margin-bottom:20px;text-align:center;cursor:pointer;transition:var(--transition);position:relative}.upload-area:hover{border-color:var(--primary-color);background-color:rgba(65,88,208,.03)}.upload-area.has-file{border-color:var(--primary-color);background-color:rgba(65,88,208,.05);padding:30px 40px 20px}.upload-placeholder{display:flex;flex-direction:column;align-items:center}.upload-icon{font-size:3rem;margin-bottom:15px;color:var(--lighter-text)}.upload-placeholder h3{margin-bottom:10px;color:var(--text-color)}.upload-placeholder p{margin-bottom:20px;color:var(--light-text)}.upload-btn{background:var(--primary-gradient);color:#fff;border:none;padding:10px 25px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:var(--transition)}.upload-btn:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.file-info{display:flex;align-items:center;grid-gap:15px;gap:15px;position:relative;padding:10px 40px 15px 10px;margin-bottom:10px;border-bottom:1px solid #f0f0f0;background-color:rgba(65,88,208,.03);border-radius:var(--border-radius)}.file-icon{font-size:2rem;color:var(--primary-color);flex-shrink:0}.file-details{flex:1 1;text-align:left;overflow:hidden}.file-details h3{margin:0 0 5px;color:var(--text-color);font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90%}.file-details p{margin:0;color:var(--light-text);font-size:.9rem}.remove-file-btn{background:none;border:none;color:var(--light-text);font-size:1.2rem;cursor:pointer;padding:8px;line-height:1;transition:var(--transition);position:absolute;top:10px;right:10px;z-index:10;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.remove-file-btn:hover{color:var(--error-color);background-color:rgba(255,82,82,.1);transform:scale(1.1)}.progress-container{margin:25px 0 35px;position:relative;z-index:5;clear:both;background-color:rgba(65,88,208,.05);padding:20px;border-radius:var(--border-radius);border:1px solid rgba(65,88,208,.15);box-shadow:0 5px 15px rgba(0,0,0,.05)}.progress-info{display:flex;justify-content:space-between;margin-bottom:10px;font-size:1rem;color:var(--primary-color)}.progress-info strong:has(+✅){color:var(--success-color)}.progress-container:has(.progress-info span strong:contains("完成")){border-color:var(--success-color);background-color:rgba(40,167,69,.05)}.progress-bar{height:12px;background-color:#eee;border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 1px 3px rgba(0,0,0,.1);margin:5px 0}.progress-fill{height:100%;background:var(--primary-gradient);transition:width .3s ease;border-radius:6px;background-size:15px 15px;background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);animation:progress-animation 1s linear infinite}@keyframes progress-animation{0%{background-position:0 0}to{background-position:15px 0}}.controls-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0;position:relative;z-index:10}.action-buttons{display:flex;grid-gap:15px;gap:15px;position:relative;z-index:5}.convert-btn,.history-btn{box-shadow:0 4px 6px rgba(0,0,0,.1);height:50px;display:flex;align-items:center;justify-content:center;padding:15px 25px}.convert-btn{flex:2 1;border:none;padding:15px 25px;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition);font-size:18px;position:relative}.convert-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.convert-btn:disabled{opacity:.7;cursor:not-allowed}.history-btn{flex:1 1;background-color:var(--secondary-color,#6c757d);color:#fff;border:none;padding:15px 25px;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:var(--transition);font-size:16px}.history-btn:hover{background-color:var(--secondary-color-dark,#5a6268);transform:translateY(-3px);box-shadow:0 5px 15px rgba(108,117,125,.3);color:#fff}.result-container{background-color:var(--white-color);border-radius:var(--border-radius);padding:30px;box-shadow:var(--box-shadow);border-top:3px solid var(--primary-color);position:relative;overflow:hidden}.result-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--primary-gradient)}.result-header{margin-bottom:20px;text-align:center}.result-header h3{margin:0 0 10px;color:var(--success-color)}.result-header p{margin:0;color:var(--light-text)}.result-details{justify-content:space-between;background-color:#f9f9f9;border-radius:var(--border-radius);padding:15px}.result-details,.result-file{display:flex;align-items:center}.result-file{grid-gap:15px;gap:15px}.result-file-icon{font-size:2rem;color:var(--primary-color)}.result-file-info h4{margin:0 0 5px;color:var(--text-color)}.result-file-info p{margin:0;color:var(--light-text);font-size:.9rem}.download-btn{border:none;padding:10px 20px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:var(--transition)}.download-btn:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.1)}@media (max-width:768px){.dashboard-header{align-items:flex-start;grid-gap:15px;gap:15px}.action-buttons,.dashboard-header,.result-details{flex-direction:column}.result-details{grid-gap:15px;gap:15px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.processing-animation{display:inline-block;animation:spin 2s linear infinite;margin-left:5px}.progress-step{margin-top:10px;color:var(--light-text);font-size:.9rem;font-style:italic}.progress-info strong{font-weight:600;display:inline-flex;align-items:center}.progress-complete{border-color:var(--success-color)!important;background-color:rgba(40,167,69,.05)!important}.progress-complete .progress-info strong{color:var(--success-color)}.progress-complete .progress-fill{background:linear-gradient(90deg,#28a745,#20c997)}.conversion-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000}.conversion-dialog{background-color:#fff;border-radius:15px;width:90%;max-width:500px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.2);position:relative}.modal-close-btn{position:absolute;top:15px;right:15px;background:none;border:none;font-size:18px;color:#888;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close-btn:hover{background-color:rgba(0,0,0,.05);color:#333}.conversion-title{text-align:center;margin-bottom:20px}.conversion-title h3{margin:0 0 10px;font-size:1.4rem;color:var(--text-color)}.conversion-title p{margin:0;color:var(--light-text)}.conversion-progress{margin:30px 0}.progress-indicator{margin-bottom:15px;text-align:center}.progress-indicator span{font-size:3rem;display:inline-block;animation:spin 2s linear infinite}.progress-indicator p{margin:10px 0 0;font-weight:500;color:var(--primary-color)}.progress-track{height:8px;background-color:#eee;border-radius:4px;overflow:hidden;margin:20px 0}.progress-thumb{height:100%;background:var(--primary-gradient);width:0;border-radius:4px;transition:width .3s ease;position:relative}.progress-thumb:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.1) 10px,hsla(0,0%,100%,.2) 0,hsla(0,0%,100%,.2) 20px);animation:move 1s linear infinite}@keyframes move{0%{background-position:0 0}to{background-position:28px 0}}.progress-status{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:10px}.progress-percentage{font-weight:600;color:var(--primary-color)}.progress-message{text-align:center;margin-top:15px;font-style:italic;color:var(--light-text)}.modal-actions{margin-top:30px;text-align:center}.background-process-btn{background-color:rgba(65,88,208,.1);color:var(--primary-color);border:none;padding:10px 20px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:var(--transition)}.background-process-btn:hover{background-color:rgba(65,88,208,.2)}.admin-menu{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.admin-menu h3{font-size:1.2rem;margin-bottom:15px;color:var(--primary-color)}.admin-actions{display:flex;grid-gap:15px;gap:15px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;background-color:#f8f9fa;color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;font-weight:500;transition:var(--transition)}.admin-btn:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 8px rgba(65,88,208,.2)}.history-page{padding:40px 0}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.back-btn{background:linear-gradient(135deg,#845ec2,#d65db1)!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:10px 20px!important;cursor:pointer!important;font-size:14px!important;font-weight:500!important;transition:all .3s ease!important;box-shadow:0 2px 4px rgba(0,0,0,.15)!important}.back-btn:hover{background:linear-gradient(135deg,#734caf,#c34c9c)!important;box-shadow:0 4px 8px rgba(0,0,0,.2)!important}.back-text{color:#fff!important;font-weight:500!important}.history-content{background-color:var(--white-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:20px}.empty-history p{margin-bottom:20px}.convert-btn{background:var(--primary-gradient);color:#fff;font-size:15px;padding:10px 20px}.convert-btn:hover{transform:translateY(-2px)}.history-table{width:100%;border-collapse:collapse}.history-table-header{background-color:#f8f9fa;font-weight:600;padding:12px 0}.history-row,.history-table-header{display:flex;border-bottom:1px solid var(--border-color)}.history-row{padding:15px 0;transition:var(--transition)}.history-row:hover{background-color:rgba(0,0,0,.02)}.history-col{padding:0 10px;display:flex;align-items:center}.filename-col{flex:3 1;font-weight:500}.status-col{flex:1 1}.action-col{flex:1 1;justify-content:flex-end}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-success{background-color:rgba(76,175,80,.1);color:var(--success-color)}.status-processing{background-color:rgba(33,150,243,.1);color:#2196f3}.status-error{background-color:rgba(255,82,82,.1);color:var(--error-color)}.status-pending{background-color:hsla(0,0%,62%,.1);color:#9e9e9e}.download-btn{background:var(--primary-gradient);color:#fff;padding:6px 12px;font-size:13px;border-radius:4px}.download-btn:hover{transform:translateY(-2px)}.error-message{color:var(--error-color);text-decoration:underline;cursor:pointer;font-size:13px}@media (max-width:768px){.history-page{padding:20px 0}.history-header{flex-direction:column;grid-gap:15px;gap:15px;align-items:flex-start}.history-table-header{display:none}.history-row{flex-direction:column;padding:15px;margin-bottom:15px;border:1px solid var(--border-color);border-radius:var(--border-radius)}.history-col{padding:5px 0}.filename-col{font-size:16px;margin-bottom:10px}.action-col{margin-top:10px;justify-content:flex-start}}.profile-page{padding:40px 0}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.profile-content{display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px}.profile-card{background-color:var(--white-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:30px}.profile-info{margin-bottom:30px}.profile-avatar,.profile-info{display:flex;align-items:center}.profile-avatar{width:80px;height:80px;background:var(--primary-gradient);color:#fff;border-radius:50%;justify-content:center;font-size:2rem;font-weight:700;margin-right:20px}.profile-details h2{margin:0 0 5px;font-size:1.5rem}.profile-email{color:var(--light-text);margin:0 0 5px}.profile-date{font-size:.9rem;color:var(--lighter-text);margin:0}.profile-points{margin-bottom:30px}.points-card{background-color:#f8f9fa;border-radius:var(--border-radius);padding:20px;text-align:center}.points-card h3{margin:0 0 10px;font-size:1.1rem;color:var(--light-text)}.points-value{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:10px}.points-info{font-size:.9rem;color:var(--lighter-text)}.profile-actions{display:flex;grid-gap:15px;gap:15px}.logout-btn,.refresh-btn{flex:1 1;padding:10px;font-size:14px}.refresh-btn{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.refresh-btn:hover{background-color:var(--primary-color-dark,#3146b2);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px rgba(65,88,208,.2)}.logout-btn{background-color:#f44336;color:#fff;border:1px solid #f44336}.logout-btn:hover{background-color:#d32f2f;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px rgba(244,67,54,.2)}.history-card{background-color:var(--white-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:30px}.history-card h2{margin:0 0 20px;font-size:1.5rem}.loading-message{text-align:center;padding:30px;color:var(--light-text)}.empty-history{text-align:center;padding:40px 20px}.empty-history p{color:var(--light-text)}.points-table{width:100%}.points-table-header{background-color:#f8f9fa;font-weight:600;padding:12px 10px}.points-row,.points-table-header{display:flex;border-bottom:1px solid var(--border-color)}.points-row{padding:15px 10px;transition:var(--transition)}.points-row:hover{background-color:rgba(0,0,0,.02)}.points-col{padding:0 5px}.desc-col{flex:3 1}.amount-col{flex:1 1;font-weight:600}.amount-positive{color:var(--success-color)}.amount-negative{color:var(--error-color)}.type-col{flex:1 1}.date-col{flex:2 1;color:var(--light-text);font-size:.9rem}.page-btn:hover:not(:disabled){transform:none;box-shadow:none}@media (max-width:768px){.profile-page{padding:20px 0}.profile-header{flex-direction:column;grid-gap:15px;gap:15px;align-items:flex-start}.profile-info{flex-direction:column;text-align:center}.profile-avatar{margin:0 auto 20px}.profile-actions{flex-direction:column}.points-table-header{display:none}.points-row{flex-direction:column;padding:15px;margin-bottom:10px;border:1px solid var(--border-color);border-radius:var(--border-radius)}.points-col{padding:5px 0}.desc-col{font-weight:700;font-size:1.1rem;margin-bottom:5px}}.not-found-page{padding:80px 0;min-height:calc(100vh - 300px);display:flex;align-items:center;justify-content:center}.not-found-content{text-align:center;max-width:500px;margin:0 auto}.not-found-content h1{font-size:8rem;margin:0;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.not-found-content h2{font-size:2.5rem;margin:0 0 20px;color:var(--text-color)}.not-found-content p{font-size:1.1rem;color:var(--light-text);margin-bottom:30px}.back-home-btn{display:inline-block;background:var(--primary-gradient);color:#fff;text-decoration:none;padding:12px 30px;border-radius:var(--border-radius);font-weight:600;transition:var(--transition)}.back-home-btn:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.1);text-decoration:none}@media (max-width:768px){.not-found-content h1{font-size:6rem}.not-found-content h2{font-size:2rem}}.admin-codes-page{padding:40px 0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.back-btn{background-color:initial;color:var(--primary-color);border:1px solid var(--primary-color);padding:8px 15px;font-size:14px}.back-btn:hover{background-color:rgba(65,88,208,.1);transform:translateY(0);box-shadow:none}.generate-codes-card,.invitation-codes-card{background-color:var(--white-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:30px;margin-bottom:30px}.generate-form{margin-top:20px}.form-row{display:flex;align-items:flex-end;grid-gap:20px;gap:20px}.form-group{margin-bottom:20px;flex:1 1}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--light-text)}.form-group input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:4px;font-size:14px}.generate-btn{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;height:42px}.generate-btn:hover:not(:disabled){background-color:var(--primary-color-dark,#3146b2);transform:translateY(-2px);box-shadow:0 4px 8px rgba(65,88,208,.2)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.generated-codes{margin-top:30px;border-top:1px solid var(--border-color);padding-top:20px}.generated-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.generated-header h3{margin:0;font-size:1.2rem}.success-message{color:var(--success-color);font-size:.9rem}.copy-all-btn{background-color:initial;color:var(--primary-color);border:1px solid var(--primary-color);padding:5px 10px;font-size:12px;border-radius:4px}.copy-all-btn:hover{background-color:rgba(65,88,208,.1)}.codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:15px;gap:15px}.code-item{background-color:#f8f9fa;border-radius:4px;padding:10px;display:flex;justify-content:space-between;align-items:center;font-size:12px;word-break:break-all}.code-item code{font-family:monospace;flex:1 1;overflow:hidden;text-overflow:ellipsis}.copy-btn{background-color:initial;color:var(--primary-color);border:none;padding:2px 5px;font-size:12px;margin-left:5px;cursor:pointer}.copy-btn:hover{text-decoration:underline}.filter-controls{display:flex;grid-gap:20px;gap:20px;margin-bottom:20px}.filter-group{display:flex;align-items:center;grid-gap:10px;gap:10px}.filter-group label{font-weight:600;color:var(--light-text)}.filter-group select{padding:8px 12px;font-size:14px;background-color:#fff}.filter-group select,.invitation-codes-table{border:1px solid var(--border-color);border-radius:4px}.invitation-codes-table{width:100%;overflow:hidden}.table-header{background-color:#f8f9fa;font-weight:600}.table-header,.table-row{display:flex;padding:12px 15px;border-bottom:1px solid var(--border-color)}.table-row{transition:background-color .2s}.table-row:last-child{border-bottom:none}.table-row:hover{background-color:rgba(0,0,0,.02)}.table-row.used{background-color:rgba(0,0,0,.03)}.table-row.expired{background-color:rgba(0,0,0,.05)}.col{padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-col{flex:3 1;font-family:monospace;font-size:13px}.created-at-col,.expires-at-col,.status-col,.used-at-col,.used-by-col{flex:2 1}.actions-col{flex:1 1;text-align:center}.status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.status.valid{background-color:rgba(40,167,69,.1);color:#28a745}.status.used{background-color:rgba(108,117,125,.1);color:#6c757d}.status.expired{background-color:rgba(220,53,69,.1);color:#dc3545}.copy-code-btn{background-color:initial;color:var(--primary-color);border:1px solid var(--primary-color);padding:3px 8px;border-radius:4px;font-size:12px}.copy-code-btn:hover{background-color:rgba(65,88,208,.1)}.pagination-controls{display:flex;justify-content:center;align-items:center;margin-top:30px;grid-gap:15px;gap:15px}.page-btn{background-color:var(--white-color);border:1px solid var(--border-color);color:var(--text-color);padding:8px 15px;border-radius:4px;font-size:14px;transition:var(--transition)}.page-btn:hover:not(:disabled){background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:var(--light-text)}.empty-message,.loading-message{text-align:center;padding:40px 20px;color:var(--light-text)}.pagination-info{text-align:center;margin:20px 0;color:var(--light-text);font-size:14px}@media (max-width:768px){.admin-header{flex-direction:column;align-items:flex-start;grid-gap:15px;gap:15px}.form-row{align-items:stretch}.filter-controls,.form-row{flex-direction:column}.invitation-codes-table{overflow-x:auto}.table-header,.table-row{min-width:800px}}
/*# sourceMappingURL=main.fc522657.chunk.css.map */