*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{height:100%;width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;color:#333}#app{min-height:100vh;width:100%;display:flex;flex-direction:column}input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.global-footer{margin-top:auto;padding:20px 0;background:#f8f9fa;border-top:1px solid #e9ecef}.icp-footer{width:100%;text-align:center;font-size:13px;color:#999}.icp-link{color:#999;text-decoration:none;transition:color .2s ease}.icp-link:hover{color:#4b5fd6;text-decoration:underline}*{-webkit-tap-highlight-color:transparent}.login-container[data-v-6261fe2b]{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.form-box[data-v-6261fe2b]{background:hsla(0,0%,100%,.95);padding:2rem;border-radius:10px;box-shadow:0 0 20px rgba(0,0,0,.1);width:100%;max-width:400px}.form-header[data-v-6261fe2b]{text-align:center;margin-bottom:2rem}.form-header h2[data-v-6261fe2b]{color:#333;margin:0;font-size:24px;font-weight:500}.form-group[data-v-6261fe2b]{margin-bottom:1rem;position:relative}input[data-v-6261fe2b]{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:all .3s;box-sizing:border-box}input.error[data-v-6261fe2b]{border-color:#f44}input[data-v-6261fe2b]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px rgba(102,126,234,.1)}.error-message[data-v-6261fe2b]{color:#f44;font-size:.8rem;margin-top:.3rem;display:block}.remember-me[data-v-6261fe2b]{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;margin-bottom:1rem}.remember-me label[data-v-6261fe2b]{display:flex;align-items:center;cursor:pointer}.remember-me input[type=checkbox][data-v-6261fe2b]{width:auto;height:auto;margin-right:5px}.forgot-password[data-v-6261fe2b]{color:#667eea;text-decoration:none;font-size:.9rem}.forgot-password[data-v-6261fe2b]:hover{text-decoration:underline}.submit-btn[data-v-6261fe2b]{width:100%;padding:.8rem;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s;margin-bottom:1rem}.submit-btn[data-v-6261fe2b]:hover:not(:disabled){background:#764ba2;transform:translateY(-1px)}.submit-btn[data-v-6261fe2b]:disabled{background:#ccc;cursor:not-allowed}.loading-spinner[data-v-6261fe2b]{display:inline-block;width:20px;height:20px;border:2px solid #fff;border-radius:50%;border-top-color:transparent;animation:spin-6261fe2b 1s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin-6261fe2b{to{transform:rotate(1turn)}}.switch-form[data-v-6261fe2b]{text-align:center;margin-top:1rem}.switch-form p[data-v-6261fe2b]{color:#667eea;cursor:pointer;margin:0;font-size:.9rem}.switch-form p[data-v-6261fe2b]:hover{text-decoration:underline}.password-group[data-v-6261fe2b]{position:relative}.toggle-password[data-v-6261fe2b]{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.home-container[data-v-2613f0ee]{min-height:100vh;width:100%;display:flex;flex-direction:column;background:#f5f6fa}.top-nav[data-v-2613f0ee]{height:60px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center;padding:0 20px;position:fixed;top:0;left:0;right:0;z-index:1000}.nav-left h2[data-v-2613f0ee]{color:#333;margin:0;font-size:20px}.nav-right[data-v-2613f0ee]{display:flex;align-items:center;gap:20px}.user-info[data-v-2613f0ee]{display:flex;flex-direction:column;align-items:flex-end}.username[data-v-2613f0ee]{font-weight:500;color:#333}.login-time[data-v-2613f0ee]{font-size:12px;color:#666}.logout-btn[data-v-2613f0ee]{padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.logout-btn[data-v-2613f0ee]:hover{background:#764ba2}.main-container[data-v-2613f0ee]{display:flex;margin-top:60px;flex:1}.sidebar[data-v-2613f0ee]{width:200px;background:#fff;padding:20px 0;box-shadow:2px 0 4px rgba(0,0,0,.1);position:fixed;top:60px;bottom:0;left:0}.menu-item[data-v-2613f0ee]{padding:15px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s;color:#666}.menu-item[data-v-2613f0ee]:hover{background:#f5f6fa}.menu-item.active[data-v-2613f0ee]{background:#667eea;color:#fff}.icon[data-v-2613f0ee]{font-size:20px}.content-area[data-v-2613f0ee]{flex:1;margin-left:200px;padding:20px}.section[data-v-2613f0ee]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.section h3[data-v-2613f0ee]{color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #667eea}.upload-area[data-v-2613f0ee]{position:relative;width:100%;max-width:600px;margin:0 auto;min-height:340px;display:flex;align-items:center;justify-content:center}.upload-box[data-v-2613f0ee],.video-preview[data-v-2613f0ee]{width:100%;height:340px;display:flex;align-items:center;justify-content:center}.upload-content[data-v-2613f0ee]{display:flex;flex-direction:column;align-items:center;justify-content:center}.video-container[data-v-2613f0ee]{position:relative;width:100%;height:100%;background:#000;border-radius:8px;overflow:hidden}.video-container video[data-v-2613f0ee]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000}.analyze-btn-group[data-v-2613f0ee]{display:flex;gap:16px;position:absolute;right:20px;bottom:20px}.analyze-btn[data-v-2613f0ee]{width:auto;min-width:120px;padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .3s;display:flex;justify-content:center;align-items:center;gap:8px}.analysis-result[data-v-2613f0ee]{max-width:600px;margin:24px auto 0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.08);padding:24px}.upload-icon[data-v-2613f0ee]{font-size:40px;margin-bottom:10px;display:block}.upload-tip[data-v-2613f0ee]{color:#666;font-size:14px;margin-top:5px}.video-preview[data-v-2613f0ee]{margin-top:20px}.video-controls[data-v-2613f0ee]{margin-top:20px;padding:20px;background:#f5f6fa;border-radius:8px}.analyze-btn[data-v-2613f0ee]:hover:not(:disabled){background:#764ba2}.analyze-btn[data-v-2613f0ee]:disabled{background:#ccc;cursor:not-allowed}.loading-spinner[data-v-2613f0ee]{display:inline-block;width:20px;height:20px;border:2px solid #fff;border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}.analysis-result h4[data-v-2613f0ee]{color:#333;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.result-item[data-v-2613f0ee]{display:flex;align-items:center;margin-bottom:15px;gap:10px}.result-item .label[data-v-2613f0ee]{min-width:100px;color:#666}.progress-bar[data-v-2613f0ee]{flex:1;height:8px;background:#eee;border-radius:4px;overflow:hidden}.progress[data-v-2613f0ee]{height:100%;background:#667eea;transition:width .3s ease}.result-item .value[data-v-2613f0ee]{min-width:50px;text-align:right;color:#333;font-weight:500}.score[data-v-2613f0ee]{font-size:24px;font-weight:700;color:#667eea}.feedback[data-v-2613f0ee]{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.feedback h5[data-v-2613f0ee]{color:#333;margin-bottom:10px}.feedback ul[data-v-2613f0ee]{list-style:none;padding:0}.feedback li[data-v-2613f0ee]{color:#666;margin-bottom:8px;padding-left:20px;position:relative}.feedback li[data-v-2613f0ee]:before{content:"•";position:absolute;left:0;color:#667eea}.news-list[data-v-2613f0ee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.news-item[data-v-2613f0ee]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s}.news-item[data-v-2613f0ee]:hover{transform:translateY(-5px)}.news-image img[data-v-2613f0ee]{width:100%;height:200px;-o-object-fit:cover;object-fit:cover}.news-content[data-v-2613f0ee]{padding:15px}.news-content h4[data-v-2613f0ee]{margin:0 0 10px 0;color:#333}.news-content p[data-v-2613f0ee]{color:#666;font-size:14px;margin-bottom:10px}.news-date[data-v-2613f0ee]{color:#999;font-size:12px}.profile-section[data-v-2613f0ee]{padding-bottom:0}.profile-cards[data-v-2613f0ee]{display:flex;gap:24px;margin-bottom:32px;flex-wrap:wrap}.profile-card[data-v-2613f0ee]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:24px 32px;display:flex;align-items:center;min-width:260px;min-height:120px;flex:1}.info-card .avatar[data-v-2613f0ee]{margin-right:24px;position:relative;width:80px;height:80px}.info-card .avatar img[data-v-2613f0ee]{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.info-card .avatar .avatar-overlay[data-v-2613f0ee]{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;color:#fff;font-size:12px;text-align:center}.info-card .avatar:hover .avatar-overlay[data-v-2613f0ee]{opacity:1}.info-card .info h4[data-v-2613f0ee]{margin:0 0 8px 0;font-size:18px;font-weight:700}.info-card .info p[data-v-2613f0ee]{margin:0;color:#888;font-size:14px}.stats-card[data-v-2613f0ee]{justify-content:space-between}.stats-card .stat-item[data-v-2613f0ee]{display:flex;flex-direction:column;align-items:center;flex:1}.stats-card .number[data-v-2613f0ee]{font-size:24px;font-weight:700;color:#667eea}.stats-card .label[data-v-2613f0ee]{font-size:14px;color:#888;margin-top:4px}.practice-records[data-v-2613f0ee]{margin-bottom:32px}.practice-card[data-v-2613f0ee]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:20px 24px;margin-bottom:18px}.practice-header[data-v-2613f0ee]{display:flex;gap:24px;font-weight:700;margin-bottom:10px}.practice-bar[data-v-2613f0ee]{display:flex;align-items:center;gap:12px;margin-bottom:6px}.practice-bar .progress-bar[data-v-2613f0ee]{flex:1;height:8px;background:#eee;border-radius:4px;overflow:hidden;margin:0 8px}.practice-bar .progress[data-v-2613f0ee]{height:100%;background:#667eea;border-radius:4px}.practice-suggestions[data-v-2613f0ee]{font-size:14px;color:#666;margin-top:6px}.practice-suggestions ul[data-v-2613f0ee]{margin:0;padding-left:18px}.empty-record[data-v-2613f0ee]{color:#aaa;margin-bottom:12px}.article-modal-mask[data-v-2613f0ee]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:2000;display:flex;align-items:center;justify-content:center}.article-modal[data-v-2613f0ee]{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.18);padding:32px 28px 24px 28px;max-width:480px;width:90vw;max-height:80vh;overflow-y:auto;position:relative}.article-modal h3[data-v-2613f0ee]{margin:0 0 8px 0}.article-date[data-v-2613f0ee]{font-size:13px;color:#888;margin-bottom:16px}.article-content[data-v-2613f0ee]{font-size:15px;color:#333;margin-bottom:24px;white-space:pre-line}.close-btn[data-v-2613f0ee]{background:#667eea;color:#fff;border:none;border-radius:4px;padding:8px 24px;font-size:15px;cursor:pointer;transition:all .2s}.close-btn[data-v-2613f0ee]:hover{background:#4b5fd6}.camera-section[data-v-2613f0ee]{margin-top:32px;background:#f8fafd;border-radius:16px;box-shadow:0 2px 12px rgba(102,126,234,.08);padding:32px 24px 24px 24px;max-width:480px;margin-left:auto;margin-right:auto}.camera-section h4[data-v-2613f0ee]{margin-bottom:18px;font-size:22px;color:#4b5fd6;text-align:center}.camera-section video[data-v-2613f0ee]{display:block;margin:0 auto 18px auto;border:2px solid #e0e7ef;border-radius:12px;box-shadow:0 2px 8px rgba(102,126,234,.08);background:#222}.camera-section .camera-btns[data-v-2613f0ee]{display:flex;justify-content:center;gap:16px;margin-bottom:18px}.camera-section button[data-v-2613f0ee]{padding:8px 20px;border:none;border-radius:6px;background:#667eea;color:#fff;font-size:16px;cursor:pointer;transition:background .2s;box-shadow:0 1px 4px rgba(102,126,234,.08)}.camera-section button[data-v-2613f0ee]:disabled{background:#bfc7e6;cursor:not-allowed}.camera-section button[data-v-2613f0ee]:hover:not(:disabled){background:#4b5fd6}.camera-section .result-card[data-v-2613f0ee]{background:#fff;border-radius:10px;box-shadow:0 1px 6px rgba(102,126,234,.1);padding:18px 20px;margin-top:10px}.camera-section .result-card h5[data-v-2613f0ee]{margin:0 0 14px 0;color:#4b5fd6;font-size:18px}.camera-section .result-card .score-row[data-v-2613f0ee]{font-size:16px;font-weight:700;margin-bottom:8px}.camera-section .result-card ul[data-v-2613f0ee]{padding-left:18px;margin:0;list-style:decimal}.camera-section .result-card li[data-v-2613f0ee]{color:#333;font-size:15px;margin-bottom:12px;line-height:1.6;text-align:left}.camera-section .result-card .suggest-cn[data-v-2613f0ee]{display:block;font-weight:500}.camera-section .result-card .suggest-en[data-v-2613f0ee]{display:block;color:#666;font-size:14px;margin-top:2px}@media (max-width:600px){.camera-section[data-v-2613f0ee]{padding:16px 4px 12px 4px;max-width:100%}.camera-section video[data-v-2613f0ee]{width:100%!important;height:auto!important}}.score-tabs[data-v-2613f0ee]{display:flex;gap:16px;margin-bottom:24px;justify-content:center}.score-tabs button[data-v-2613f0ee]{padding:8px 24px;border:none;border-radius:20px;background:#e6eaff;color:#4b5fd6;font-size:16px;cursor:pointer;font-weight:500;transition:background .2s,color .2s}.score-tabs button.active[data-v-2613f0ee]{background:#4b5fd6;color:#fff}.result-progress[data-v-2613f0ee]{display:flex;align-items:center;margin-bottom:12px}.result-progress-label[data-v-2613f0ee]{min-width:70px;font-weight:500;color:#4b5fd6}.result-progress-bar[data-v-2613f0ee]{flex:1;height:16px;background:#e6eaff;border-radius:8px;margin:0 10px;overflow:hidden;position:relative}.result-progress-inner[data-v-2613f0ee]{height:100%;border-radius:8px;background:linear-gradient(90deg,#667eea,#4b5fd6);transition:width .4s}.result-progress-value[data-v-2613f0ee]{min-width:36px;text-align:right;font-weight:700;color:#333}.suggestion-card[data-v-2613f0ee]{background:#f8fafd;border-radius:10px;box-shadow:0 1px 6px rgba(102,126,234,.1);padding:18px 20px;margin-top:18px;margin-bottom:0}.suggestion-card ul[data-v-2613f0ee]{margin:0;padding-left:22px}.suggestion-card li[data-v-2613f0ee]{font-size:17px;color:#222;margin-bottom:10px;line-height:1.7}.suggestion-card .suggest-cn[data-v-2613f0ee]{font-weight:500}.suggestion-card .suggest-en[data-v-2613f0ee]{color:#666;font-size:15px;margin-left:6px}.news-container[data-v-0da0fcbd]{min-height:100vh;width:100%;display:flex;flex-direction:column;background:#f5f6fa}.top-nav[data-v-0da0fcbd]{height:60px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center;padding:0 20px;position:fixed;top:0;left:0;right:0;z-index:1000}.nav-left h2[data-v-0da0fcbd]{color:#333;margin:0;font-size:20px}.nav-right[data-v-0da0fcbd]{display:flex;align-items:center;gap:20px}.user-info[data-v-0da0fcbd]{display:flex;flex-direction:column;align-items:flex-end}.username[data-v-0da0fcbd]{font-weight:500;color:#333}.login-time[data-v-0da0fcbd]{font-size:12px;color:#666}.logout-btn[data-v-0da0fcbd]{padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.logout-btn[data-v-0da0fcbd]:hover{background:#764ba2}.main-container[data-v-0da0fcbd]{display:flex;margin-top:60px;flex:1}.sidebar[data-v-0da0fcbd]{width:200px;background:#fff;padding:20px 0;box-shadow:2px 0 4px rgba(0,0,0,.1);position:fixed;top:60px;bottom:0;left:0}.menu-item[data-v-0da0fcbd]{padding:15px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s;color:#666}.menu-item[data-v-0da0fcbd]:hover{background:#f5f6fa}.menu-item.active[data-v-0da0fcbd]{background:#667eea;color:#fff}.icon[data-v-0da0fcbd]{font-size:20px}.content-area[data-v-0da0fcbd]{flex:1;margin-left:200px;padding:20px}.section[data-v-0da0fcbd]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.section h3[data-v-0da0fcbd]{color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #667eea}.news-list[data-v-0da0fcbd]{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start}.news-item[data-v-0da0fcbd]{width:350px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s}.news-item[data-v-0da0fcbd]:hover{transform:translateY(-5px)}.news-image img[data-v-0da0fcbd]{width:100%;height:200px;-o-object-fit:cover;object-fit:cover}.news-content[data-v-0da0fcbd]{padding:15px}.news-content h4[data-v-0da0fcbd]{margin:0 0 10px 0;color:#333}.news-content p[data-v-0da0fcbd]{color:#666;font-size:14px;margin-bottom:10px}.news-date[data-v-0da0fcbd]{color:#999;font-size:12px}@media (max-width:768px){.sidebar[data-v-0da0fcbd]{width:60px}.menu-item span[data-v-0da0fcbd]{display:none}.content-area[data-v-0da0fcbd]{margin-left:60px}.news-list[data-v-0da0fcbd]{grid-template-columns:1fr}}.news-dialog-mask[data-v-0da0fcbd]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:2000}.news-dialog[data-v-0da0fcbd]{background:#fff;border-radius:10px;padding:32px 24px 24px 24px;min-width:350px;max-width:600px;box-shadow:0 4px 24px rgba(0,0,0,.18);position:relative}.news-dialog-meta[data-v-0da0fcbd]{color:#888;font-size:14px;margin-bottom:16px}.news-dialog-content[data-v-0da0fcbd]{font-size:16px;color:#333;margin-bottom:24px;white-space:pre-line;max-height:350px;overflow-y:auto}.close-btn[data-v-0da0fcbd]{position:absolute;right:18px;top:18px;background:#667eea;color:#fff;border:none;border-radius:4px;padding:6px 16px;cursor:pointer;font-size:14px}.forgot-password-container[data-v-d2ef4132]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.form-box[data-v-d2ef4132]{background:hsla(0,0%,100%,.95);padding:2rem;border-radius:10px;box-shadow:0 0 20px rgba(0,0,0,.1);width:100%;max-width:400px}.form-header[data-v-d2ef4132]{text-align:center;margin-bottom:2rem}.form-header h2[data-v-d2ef4132]{color:#333;margin:0}.form-group[data-v-d2ef4132]{margin-bottom:1rem;position:relative}input[data-v-d2ef4132]{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:all .3s}input.error[data-v-d2ef4132]{border-color:#f44}input[data-v-d2ef4132]:focus{outline:none;border-color:#667eea}.error-message[data-v-d2ef4132]{color:#f44;font-size:.8rem;margin-top:.3rem;display:block}.submit-btn[data-v-d2ef4132]{width:100%;padding:.8rem;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:all .3s;position:relative}.submit-btn[data-v-d2ef4132]:hover:not(:disabled){background:#764ba2}.submit-btn[data-v-d2ef4132]:disabled{background:#ccc;cursor:not-allowed}.loading-spinner[data-v-d2ef4132]{display:inline-block;width:20px;height:20px;border:2px solid #fff;border-radius:50%;border-top-color:transparent;animation:spin-d2ef4132 1s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin-d2ef4132{to{transform:rotate(1turn)}}.back-to-login[data-v-d2ef4132]{text-align:center;margin-top:1rem}.back-to-login p[data-v-d2ef4132]{color:#667eea;cursor:pointer;margin:0}.back-to-login p[data-v-d2ef4132]:hover{text-decoration:underline}.profile-container[data-v-71a9518e]{min-height:100vh;width:100%;display:flex;flex-direction:column;background:#f5f6fa}.top-nav[data-v-71a9518e]{height:60px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center;padding:0 20px;position:fixed;top:0;left:0;right:0;z-index:1000}.nav-left h2[data-v-71a9518e]{color:#333;margin:0;font-size:20px}.nav-right[data-v-71a9518e]{display:flex;align-items:center;gap:20px}.user-info[data-v-71a9518e]{display:flex;flex-direction:column;align-items:flex-end}.username[data-v-71a9518e]{font-weight:500;color:#333}.login-time[data-v-71a9518e]{font-size:12px;color:#666}.logout-btn[data-v-71a9518e]{padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s}.logout-btn[data-v-71a9518e]:hover{background:#764ba2}.main-container[data-v-71a9518e]{display:flex;margin-top:60px;flex:1}.sidebar[data-v-71a9518e]{width:200px;background:#fff;padding:20px 0;box-shadow:2px 0 4px rgba(0,0,0,.1);position:fixed;top:60px;bottom:0;left:0}.menu-item[data-v-71a9518e]{padding:15px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s;color:#666}.menu-item[data-v-71a9518e]:hover{background:#f5f6fa}.menu-item.active[data-v-71a9518e]{background:#667eea;color:#fff}.icon[data-v-71a9518e]{font-size:20px}.content-area[data-v-71a9518e]{flex:1;margin-left:200px;padding:20px}.section[data-v-71a9518e]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.section h3[data-v-71a9518e]{color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #667eea}.profile-card[data-v-71a9518e]{background:#fff;border-radius:8px;padding:20px;margin-bottom:30px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.profile-header[data-v-71a9518e]{display:flex;align-items:center;gap:20px;margin-bottom:20px}.avatar[data-v-71a9518e]{position:relative;width:100px;height:100px}.avatar img[data-v-71a9518e]{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.change-avatar-btn[data-v-71a9518e]{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;opacity:0;transition:opacity .3s}.avatar:hover .change-avatar-btn[data-v-71a9518e]{opacity:1}.change-avatar-btn[data-v-71a9518e]:disabled{opacity:.5;cursor:not-allowed}.basic-info h4[data-v-71a9518e]{margin:0 0 5px 0;color:#333}.join-time[data-v-71a9518e]{color:#666;font-size:14px;margin:0}.profile-stats[data-v-71a9518e]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.stat-item[data-v-71a9518e]{background:#f5f6fa;padding:20px;border-radius:8px}.stat-item .number[data-v-71a9518e]{display:block;font-size:24px;font-weight:700;color:#667eea;margin-bottom:5px}.stat-item .label[data-v-71a9518e]{color:#666;font-size:14px}.practice-history[data-v-71a9518e]{margin-bottom:30px}.practice-history h4[data-v-71a9518e]{color:#333;margin-bottom:15px}.history-list[data-v-71a9518e]{display:flex;flex-direction:column;gap:15px}.history-item[data-v-71a9518e]{background:#f5f6fa;border-radius:8px;padding:15px}.record-date[data-v-71a9518e]{font-weight:500;color:#333;margin-bottom:10px}.record-info[data-v-71a9518e]{display:flex;gap:20px;margin-bottom:10px}.duration[data-v-71a9518e],.score[data-v-71a9518e]{color:#666;font-size:14px}.record-details[data-v-71a9518e]{display:flex;flex-direction:column;gap:10px}.detail-item[data-v-71a9518e]{display:flex;align-items:center;gap:10px}.detail-item .label[data-v-71a9518e]{width:100px;color:#666;font-size:14px}.progress-bar[data-v-71a9518e]{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress[data-v-71a9518e]{height:100%;background:#667eea;border-radius:4px;transition:width .3s}.detail-item .value[data-v-71a9518e]{width:50px;text-align:right;color:#666;font-size:14px}.favorite-articles h4[data-v-71a9518e]{color:#333;margin-bottom:15px}.article-list[data-v-71a9518e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.article-item[data-v-71a9518e]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s}.article-item[data-v-71a9518e]:hover{transform:translateY(-5px)}.article-item img[data-v-71a9518e]{width:100%;height:150px;-o-object-fit:cover;object-fit:cover}.article-info[data-v-71a9518e]{padding:15px}.article-info h5[data-v-71a9518e]{margin:0 0 10px 0;color:#333}.article-info p[data-v-71a9518e]{color:#666;font-size:14px;margin-bottom:10px}.article-date[data-v-71a9518e]{color:#999;font-size:12px}@media (max-width:768px){.sidebar[data-v-71a9518e]{width:60px}.menu-item span[data-v-71a9518e]{display:none}.content-area[data-v-71a9518e]{margin-left:60px}.article-list[data-v-71a9518e],.profile-stats[data-v-71a9518e]{grid-template-columns:1fr}.profile-header[data-v-71a9518e]{flex-direction:column;text-align:center}.record-info[data-v-71a9518e]{flex-direction:column;gap:5px}}.article-modal-mask[data-v-71a9518e]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:2000;display:flex;align-items:center;justify-content:center}.article-modal[data-v-71a9518e]{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.18);padding:32px 28px 24px 28px;max-width:480px;width:90vw;max-height:80vh;overflow-y:auto;position:relative}.article-modal h3[data-v-71a9518e]{margin:0 0 8px 0}.article-date[data-v-71a9518e]{font-size:13px;color:#888;margin-bottom:16px}.article-content[data-v-71a9518e]{font-size:15px;color:#333;margin-bottom:24px;white-space:pre-line}.close-btn[data-v-71a9518e]{background:#667eea;color:#fff;border:none;border-radius:4px;padding:8px 24px;font-size:15px;cursor:pointer;transition:all .2s}.close-btn[data-v-71a9518e]:hover{background:#4b5fd6}.upload-error[data-v-71a9518e]{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:#ff4757;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:10}.upload-loading[data-v-71a9518e]{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5}.loading-spinner[data-v-71a9518e]{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top:2px solid #fff;border-radius:50%;animation:spin-71a9518e 1s linear infinite}@keyframes spin-71a9518e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.message-toast[data-v-71a9518e]{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:4px;font-size:15px;color:#fff;z-index:1000;animation:slideIn-71a9518e .3s ease-out;box-shadow:0 4px 12px rgba(0,0,0,.15)}.message-toast.success[data-v-71a9518e]{background:#4caf50}.message-toast.error[data-v-71a9518e]{background:#f44336}@keyframes slideIn-71a9518e{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}