.navbar[data-v-e93f5611]{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;box-shadow:0 2px 4px #7c5cfc0f;z-index:300}.navbar-container[data-v-e93f5611]{max-width:1200px;height:100%;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:24px}.logo[data-v-e93f5611]{display:flex;align-items:center;text-decoration:none;gap:8px}.logo .logo-icon[data-v-e93f5611]{font-size:24px}.logo .logo-text[data-v-e93f5611]{font-size:18px;font-weight:600;background:linear-gradient(135deg,#7c5cfc,#ff6b9d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-menu[data-v-e93f5611]{display:flex;align-items:center;gap:4px;flex:1}.menu-item[data-v-e93f5611]{position:relative;padding:8px 16px;color:#2d3142;font-size:14px;text-decoration:none;cursor:pointer;transition:color .3s ease}.menu-item[data-v-e93f5611]:hover,.menu-item.active[data-v-e93f5611]{color:#7c5cfc}.menu-item[data-v-e93f5611]:hover:after,.menu-item.active[data-v-e93f5611]:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;background:#7c5cfc}.menu-item .badge[data-v-e93f5611]{position:absolute;top:0;right:0;padding:2px 6px;background:#ff6b9d;color:#fff;font-size:10px;border-radius:10px;transform:translateY(-50%)}.dropdown[data-v-e93f5611]{display:flex;align-items:center;gap:4px}.dropdown .dropdown-icon[data-v-e93f5611]{transition:transform .3s ease}.dropdown:hover .dropdown-icon[data-v-e93f5611]{transform:rotate(180deg)}.dropdown-menu[data-v-e93f5611]{position:absolute;top:100%;left:0;min-width:140px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #7c5cfc26;padding:4px 0;z-index:100}.dropdown-item[data-v-e93f5611]{display:block;padding:8px 16px;color:#2d3142;font-size:14px;text-decoration:none;transition:background .3s ease}.dropdown-item[data-v-e93f5611]:hover{background:#f3f0ff;color:#7c5cfc}.search-box[data-v-e93f5611]{display:flex;align-items:center;background:#f4f5f9;border-radius:20px;padding:0 8px}.search-box input[data-v-e93f5611]{width:180px;padding:8px;border:none;background:transparent;font-size:14px;color:#2d3142}.search-box input[data-v-e93f5611]::placeholder{color:#9ba3b5}.search-box input[data-v-e93f5611]:focus{outline:none}.search-box .search-btn[data-v-e93f5611]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#7c5cfc;color:#fff;border-radius:50%;cursor:pointer;transition:background .3s ease}.search-box .search-btn[data-v-e93f5611]:hover{background:#6b4ae8}.user-area[data-v-e93f5611]{display:flex;align-items:center;gap:16px}.notification-icon[data-v-e93f5611]{position:relative;cursor:pointer;color:#5c6378}.notification-icon[data-v-e93f5611]:hover{color:#7c5cfc}.notification-icon .notification-badge[data-v-e93f5611]{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 4px;background:#ff6b6b;color:#fff;font-size:10px;border-radius:9px;display:flex;align-items:center;justify-content:center}.user-dropdown[data-v-e93f5611]{position:relative}.user-avatar[data-v-e93f5611]{width:36px;height:36px;border-radius:50%;cursor:pointer;object-fit:cover}.user-menu[data-v-e93f5611]{position:absolute;top:100%;right:0;min-width:140px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #7c5cfc26;padding:4px 0;margin-top:4px;z-index:100}.user-menu-item[data-v-e93f5611]{display:block;padding:8px 16px;color:#2d3142;font-size:14px;text-decoration:none;cursor:pointer;transition:background .3s ease}.user-menu-item[data-v-e93f5611]:hover{background:#f3f0ff;color:#7c5cfc}.user-menu-divider[data-v-e93f5611]{height:1px;background:#e6e9f0;margin:4px 0}.btn-login[data-v-e93f5611],.btn-register[data-v-e93f5611]{padding:4px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-login[data-v-e93f5611]{background:transparent;color:#7c5cfc;border:1px solid #7C5CFC}.btn-login[data-v-e93f5611]:hover{background:#f3f0ff}.btn-register[data-v-e93f5611]{background:#7c5cfc;color:#fff;border:none}.btn-register[data-v-e93f5611]:hover{background:#6b4ae8}.footer[data-v-4b342ec2]{background:#2c3e50;color:#fffc;padding:32px 0 16px;margin-top:auto}.footer-container[data-v-4b342ec2]{max-width:1200px;margin:0 auto;padding:0 16px}.footer-main[data-v-4b342ec2]{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-section[data-v-4b342ec2]{flex:1}.footer-title[data-v-4b342ec2]{font-size:16px;font-weight:600;color:#fff;margin-bottom:16px}.footer-links[data-v-4b342ec2]{list-style:none}.footer-links li[data-v-4b342ec2]{margin-bottom:8px}.footer-links a[data-v-4b342ec2]{color:#ffffffb3;text-decoration:none;font-size:14px;transition:color .3s ease}.footer-links a[data-v-4b342ec2]:hover{color:#fff}.footer-contact[data-v-4b342ec2]{list-style:none}.footer-contact li[data-v-4b342ec2]{margin-bottom:8px;font-size:14px}.footer-contact .label[data-v-4b342ec2]{color:#ffffff80}.footer-contact .value[data-v-4b342ec2]{color:#ffffffe6}.qr-section[data-v-4b342ec2]{display:flex;gap:24px;flex:0 0 auto}.qr-item[data-v-4b342ec2]{text-align:center}.qr-placeholder[data-v-4b342ec2]{width:100px;height:100px;background:#ffffff1a;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#ffffff80;margin-bottom:4px}.qr-label[data-v-4b342ec2]{font-size:12px;color:#fff9}.footer-bottom[data-v-4b342ec2]{padding-top:16px;text-align:center}.copyright[data-v-4b342ec2]{font-size:14px;color:#fff9;margin-bottom:4px}.icp[data-v-4b342ec2]{font-size:12px}.icp a[data-v-4b342ec2]{color:#ffffff80;text-decoration:none}.icp a[data-v-4b342ec2]:hover{color:#fffc}.icp .divider[data-v-4b342ec2]{margin:0 8px;color:#ffffff4d}.mini-player[data-v-568fbb16]{position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;box-shadow:0 -2px 8px #0000001a;display:flex;align-items:center;padding:0 24px;gap:24px;z-index:300}.player-info[data-v-568fbb16]{display:flex;align-items:center;gap:8px;min-width:200px}.player-info .cover[data-v-568fbb16]{width:48px;height:48px;border-radius:4px;object-fit:cover}.player-info .info .title[data-v-568fbb16]{font-size:14px;color:#2d3142;font-weight:500}.player-info .info .host[data-v-568fbb16]{font-size:12px;color:#9ba3b5}.player-controls .control-btn[data-v-568fbb16]{width:40px;height:40px;border-radius:50%;border:none;background:#7c5cfc;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.player-controls .control-btn[data-v-568fbb16]:hover{background:#6b4ae8}.player-progress[data-v-568fbb16]{flex:1;display:flex;align-items:center;gap:8px}.player-progress .progress-bar[data-v-568fbb16]{flex:1;height:4px;background:#f4f5f9;border-radius:2px;overflow:hidden}.player-progress .progress-bar .progress-fill[data-v-568fbb16]{height:100%;background:#7c5cfc;transition:width .1s linear}.player-progress .time[data-v-568fbb16]{font-size:12px;color:#9ba3b5;min-width:80px;text-align:right}.close-btn[data-v-568fbb16]{width:32px;height:32px;border:none;background:transparent;color:#9ba3b5;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-btn[data-v-568fbb16]:hover{background:#f4f5f9;color:#2d3142}.modal-backdrop[data-v-2db6bad4]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.login-modal[data-v-2db6bad4]{width:400px;background:#fff;border-radius:12px;padding:32px;position:relative}.close-btn[data-v-2db6bad4]{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:transparent;color:#9ba3b5;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-btn[data-v-2db6bad4]:hover{background:#f4f5f9;color:#2d3142}.modal-header[data-v-2db6bad4]{text-align:center;margin-bottom:24px}.modal-header h2[data-v-2db6bad4]{font-size:24px;color:#2d3142;margin-bottom:4px}.modal-header p[data-v-2db6bad4]{font-size:14px;color:#9ba3b5}.login-tabs[data-v-2db6bad4]{display:flex;gap:16px;margin-bottom:24px;border-bottom:1px solid #E6E9F0}.login-tabs .tab[data-v-2db6bad4]{flex:1;padding:8px 0;border:none;background:transparent;font-size:14px;color:#5c6378;cursor:pointer;position:relative}.login-tabs .tab.active[data-v-2db6bad4]{color:#7c5cfc}.login-tabs .tab.active[data-v-2db6bad4]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#7c5cfc}.login-form .form-group[data-v-2db6bad4]{margin-bottom:16px}.login-form .input[data-v-2db6bad4]{width:100%;padding:8px 16px;border:1px solid #E6E9F0;border-radius:8px;font-size:14px}.login-form .input[data-v-2db6bad4]:focus{outline:none;border-color:#7c5cfc}.login-form .code-group[data-v-2db6bad4]{display:flex;gap:8px}.login-form .code-group .input[data-v-2db6bad4]{flex:1}.login-form .code-group .code-btn[data-v-2db6bad4]{width:110px;border:1px solid #7C5CFC;background:transparent;color:#7c5cfc;border-radius:8px;font-size:14px;cursor:pointer}.login-form .code-group .code-btn[data-v-2db6bad4]:disabled{border-color:#9ba3b5;color:#9ba3b5;cursor:not-allowed}.login-form .form-options[data-v-2db6bad4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px}.login-form .form-options .remember[data-v-2db6bad4]{display:flex;align-items:center;gap:4px;color:#5c6378;cursor:pointer}.login-form .form-options .forgot[data-v-2db6bad4]{color:#7c5cfc}.login-form .submit-btn[data-v-2db6bad4]{width:100%;padding:8px;background:#7c5cfc;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background .3s ease}.login-form .submit-btn[data-v-2db6bad4]:hover{background:#6b4ae8}.login-form .submit-btn[data-v-2db6bad4]:disabled{background:#9ba3b5;cursor:not-allowed}.other-login[data-v-2db6bad4]{margin-top:24px}.other-login .divider[data-v-2db6bad4]{display:flex;align-items:center;margin-bottom:16px}.other-login .divider[data-v-2db6bad4]:before,.other-login .divider[data-v-2db6bad4]:after{content:"";flex:1;height:1px;background:#e6e9f0}.other-login .divider span[data-v-2db6bad4]{padding:0 16px;font-size:12px;color:#9ba3b5}.other-login .social-login[data-v-2db6bad4]{display:flex;justify-content:center;gap:16px}.other-login .social-btn[data-v-2db6bad4]{display:flex;align-items:center;gap:4px;padding:8px 16px;border:1px solid #E6E9F0;background:transparent;border-radius:8px;font-size:14px;color:#5c6378;cursor:pointer;transition:all .3s ease}.other-login .social-btn[data-v-2db6bad4]:hover{border-color:#7c5cfc;color:#7c5cfc}.other-login .social-btn.wechat[data-v-2db6bad4]{color:#07c160}.other-login .social-btn.wechat[data-v-2db6bad4]:hover{border-color:#07c160}.register-link[data-v-2db6bad4]{text-align:center;margin-top:16px;font-size:14px;color:#5c6378}.register-link a[data-v-2db6bad4]{color:#7c5cfc}.modal-backdrop[data-v-025cba13]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.register-modal[data-v-025cba13]{width:400px;background:#fff;border-radius:12px;padding:32px;position:relative}.close-btn[data-v-025cba13]{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:transparent;color:#9ba3b5;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-btn[data-v-025cba13]:hover{background:#f4f5f9;color:#2d3142}.modal-header[data-v-025cba13]{text-align:center;margin-bottom:24px}.modal-header h2[data-v-025cba13]{font-size:24px;color:#2d3142;margin-bottom:4px}.modal-header p[data-v-025cba13]{font-size:14px;color:#9ba3b5}.register-form .form-group[data-v-025cba13]{margin-bottom:16px}.register-form .input[data-v-025cba13]{width:100%;padding:8px 16px;border:1px solid #E6E9F0;border-radius:8px;font-size:14px;box-sizing:border-box}.register-form .input[data-v-025cba13]:focus{outline:none;border-color:#7c5cfc}.register-form .code-group[data-v-025cba13]{display:flex;gap:8px}.register-form .code-group .input[data-v-025cba13]{flex:1}.register-form .code-group .code-btn[data-v-025cba13]{width:110px;border:1px solid #7C5CFC;background:transparent;color:#7c5cfc;border-radius:8px;font-size:14px;cursor:pointer}.register-form .code-group .code-btn[data-v-025cba13]:disabled{border-color:#9ba3b5;color:#9ba3b5;cursor:not-allowed}.register-form .agreement[data-v-025cba13]{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:16px;font-size:12px;color:#5c6378}.register-form .agreement label[data-v-025cba13]{display:flex;align-items:center;gap:4px;cursor:pointer}.register-form .agreement a[data-v-025cba13]{color:#7c5cfc}.register-form .submit-btn[data-v-025cba13]{width:100%;padding:8px;background:#7c5cfc;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background .3s ease}.register-form .submit-btn[data-v-025cba13]:hover{background:#6b4ae8}.register-form .submit-btn[data-v-025cba13]:disabled{background:#9ba3b5;cursor:not-allowed}.login-link[data-v-025cba13]{text-align:center;margin-top:16px;font-size:14px;color:#5c6378}.login-link a[data-v-025cba13]{color:#7c5cfc}#app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:64px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5;color:#2d3142;background:#fafbfe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#7c5cfc;text-decoration:none;transition:color .3s ease}a:hover{color:#6b4ae8}ul,ol{list-style:none}img{max-width:100%;height:auto}button,input,textarea{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 16px}.text-primary{color:#2d3142}.text-secondary{color:#5c6378}.text-tertiary{color:#9ba3b5}.text-brand{color:#7c5cfc}.text-accent{color:#ff6b9d}.text-success{color:#36d6b5}.text-warning{color:#ffb347}.text-error{color:#ff6b6b}.bg-white{background:#fff}.bg-gray{background:#f4f5f9}.bg-primary{background:#7c5cfc}.bg-primary-light{background:#f3f0ff}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:4px}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.mt-xs{margin-top:4px}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:32px}.mb-xs{margin-bottom:4px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:32px}.p-xs{padding:4px}.p-sm{padding:8px}.p-md{padding:16px}.p-lg{padding:24px}.p-xl{padding:32px}.rounded-sm{border-radius:4px}.rounded-md{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-full{border-radius:50%}.shadow-sm{box-shadow:0 2px 4px #7c5cfc0f}.shadow-md{box-shadow:0 4px 12px #7c5cfc1a}.shadow-lg{box-shadow:0 8px 24px #7c5cfc26}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:#7c5cfc;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-primary:hover{background:#6b4ae8}.btn-primary:disabled{background:#9ba3b5;cursor:not-allowed}.btn-secondary{background:#fff;color:#7c5cfc;border:1px solid #7C5CFC;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#f3f0ff}.btn-text{background:transparent;color:#7c5cfc;padding:4px 8px}.btn-text:hover{background:#f3f0ff}.btn-lg{padding:16px 24px;font-size:16px}.btn-sm{padding:4px 8px;font-size:12px}.btn-block{width:100%}.card{background:#fff;border-radius:8px;box-shadow:0 4px 12px #7c5cfc1a;transition:box-shadow .3s ease}.card:hover{box-shadow:0 6px 20px #7c5cfc33}.card{padding:16px}.tag{display:inline-flex;align-items:center;padding:4px 12px;background:#f4f5f9;color:#5c6378;font-size:12px;border-radius:12px;cursor:pointer;transition:all .3s ease}.tag:hover,.tag.active{background:#f3f0ff;color:#7c5cfc}.badge{display:inline-flex;align-items:center;padding:2px 8px;background:#ff6b9d;color:#fff;font-size:12px;border-radius:4px}.badge-success{display:inline-flex;align-items:center;padding:2px 8px;background:#36d6b5;color:#fff;font-size:12px;border-radius:4px}.badge-warning{display:inline-flex;align-items:center;padding:2px 8px;background:#ffb347;color:#fff;font-size:12px;border-radius:4px}.badge-error{display:inline-flex;align-items:center;padding:2px 8px;background:#ff6b6b;color:#fff;font-size:12px;border-radius:4px}.input{width:100%;padding:8px 16px;border:1px solid #E6E9F0;border-radius:8px;font-size:14px;color:#2d3142;transition:all .3s ease}.input::placeholder{color:#c5cad6}.input:focus{outline:none;border-color:#7c5cfc;box-shadow:0 0 0 2px #7c5cfc1a}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f4f5f9;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#9ba3b5;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#5c6378}.skeleton{background:linear-gradient(90deg,#f4f5f9 25%,#f0f2f7,#f4f5f9 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.page{min-height:calc(100vh - 64px);padding-top:64px}.page-content{max-width:1200px;margin:0 auto;padding:24px 16px}.section-title{font-size:18px;font-weight:600;color:#2d3142;margin-bottom:16px}.section-title:before{content:"";display:inline-block;width:4px;height:18px;background:#7c5cfc;margin-right:8px;vertical-align:middle;border-radius:2px}.empty-state{align-items:center;justify-content:center;display:flex;flex-direction:column;padding:48px;color:#9ba3b5}.empty-state .empty-icon{font-size:64px;margin-bottom:16px}.empty-state .empty-text{font-size:14px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:24px}.loading-spinner:after{content:"";width:32px;height:32px;border:3px solid #E6E9F0;border-top-color:#7c5cfc;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);padding:8px 24px;background:#000000bf;color:#fff;border-radius:8px;font-size:14px;z-index:600;animation:toast-in .3s ease}.toast-success{background:#36d6b5}.toast-warning{background:#ffb347}.toast-error{background:#ff6b6b}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:400;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #7c5cfc26;z-index:500;max-width:90vw;max-height:90vh;overflow:auto}
