.common-mobile-header[data-v-3f3fba28]{height:50px;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.05)}.common-mobile-header.fixed[data-v-3f3fba28]{position:fixed;top:0;left:0;width:100%}.common-mobile-header .header-left[data-v-3f3fba28],.common-mobile-header .header-right[data-v-3f3fba28]{width:40px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:100%;cursor:pointer}.common-mobile-header .back-icon[data-v-3f3fba28]{font-size:18px;color:#333}.common-mobile-header .header-title[data-v-3f3fba28]{-ms-flex:1;flex:1;text-align:center;font-size:17px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-view[data-v-28d80458]{min-height:100vh;background:#f5f5f5;padding:60px 16px 20px}.mobile-view.is-tab-page[data-v-28d80458]{padding:16px 16px 70px}.filter-tags[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-tags .filter-tag[data-v-28d80458]{padding:6px 12px;border-radius:16px;font-size:12px;color:#666;background:#f5f5f5;cursor:pointer;transition:all .2s;border:1px solid transparent}.filter-tags .filter-tag[data-v-28d80458]:hover{background:#e6f7ff;color:#1890ff}.filter-tags .filter-tag.active[data-v-28d80458]{background:#1890ff;color:#fff;border-color:#1890ff}.page-title[data-v-28d80458]{margin-bottom:20px}.page-title h1[data-v-28d80458]{font-size:26px;font-weight:800;color:#333;margin:0 0 4px 0}.page-title p[data-v-28d80458]{font-size:13px;color:#999;margin:0}.overview-grid[data-v-28d80458]{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-card[data-v-28d80458]{background:#fff;border-radius:16px;padding:16px;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.stat-card .stat-icon[data-v-28d80458],.stat-card[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.stat-card .stat-icon[data-v-28d80458]{width:44px;height:44px;border-radius:12px;-ms-flex-pack:center;justify-content:center;font-size:20px}.stat-card .stat-info .stat-value[data-v-28d80458]{font-size:24px;font-weight:700;color:#333;line-height:1.2}.stat-card .stat-info .stat-label[data-v-28d80458]{font-size:12px;color:#999;margin-top:2px}.stat-card.blue .stat-icon[data-v-28d80458]{background:#bae6fd;color:#0284c7}.stat-card.cyan .stat-icon[data-v-28d80458]{background:#cffafe;color:#06b6d4}.stat-card.yellow .stat-icon[data-v-28d80458]{background:#fef08a;color:#ca8a04}.stat-card.green .stat-icon[data-v-28d80458]{background:#bbf7d0;color:#16a34a}.section-card[data-v-28d80458]{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.section-title[data-v-28d80458]{gap:10px;margin-bottom:20px;font-weight:600;color:#333}.section-title .icon[data-v-28d80458],.section-title[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:16px}.section-title .icon[data-v-28d80458]{width:32px;height:32px;border-radius:8px;-ms-flex-pack:center;justify-content:center}.section-title .icon.blue[data-v-28d80458]{background:#bae6fd;color:#0284c7}.section-title .icon.green[data-v-28d80458]{background:#bbf7d0;color:#16a34a}.section-title .icon.cyan[data-v-28d80458]{background:#cffafe;color:#06b6d4}.section-title .icon.red[data-v-28d80458]{background:#fecaca;color:#dc2626}.section-title .icon.yellow[data-v-28d80458]{background:#fef08a;color:#ca8a04}.section-title .icon.gradient[data-v-28d80458]{background:linear-gradient(135deg,#0284c7,#06b6d4);color:#fff}.progress-ring-wrapper[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;margin-bottom:20px}.progress-ring[data-v-28d80458]{position:relative;width:120px;height:120px}.progress-ring svg[data-v-28d80458]{transform:rotate(-90deg);width:100%;height:100%}.progress-ring circle[data-v-28d80458]{fill:none;stroke-width:8;stroke-linecap:round}.progress-ring circle.bg[data-v-28d80458]{stroke:#f0f0f0}.progress-ring circle.progress[data-v-28d80458]{stroke:#0284c7;stroke-dasharray:251;transition:stroke-dashoffset .5s ease}.progress-ring .progress-text[data-v-28d80458]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-ring .progress-text .value[data-v-28d80458]{display:block;font-size:28px;font-weight:700;color:#333}.progress-ring .progress-text .label[data-v-28d80458]{font-size:12px;color:#999}.course-progress-list .course-progress-item[data-v-28d80458]{margin-bottom:16px}.course-progress-list .course-progress-item[data-v-28d80458]:last-child{margin-bottom:0}.course-progress-list .course-progress-item .course-header[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;margin-bottom:8px}.course-progress-list .course-progress-item .course-name[data-v-28d80458]{font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-ms-flex:1;flex:1}.course-progress-list .course-progress-item .course-units[data-v-28d80458]{font-size:12px;color:#0284c7;font-weight:500;white-space:nowrap;margin-left:8px}.course-progress-list .course-progress-item .progress-bar-wrapper[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:10px}.course-progress-list .course-progress-item .progress-bar[data-v-28d80458]{-ms-flex:1;flex:1;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.course-progress-list .course-progress-item .progress-bar .progress-fill[data-v-28d80458]{height:100%;background:linear-gradient(90deg,#0284c7,#38bdf8);border-radius:4px;transition:width .3s ease}.course-progress-list .course-progress-item .progress-percent[data-v-28d80458]{font-size:13px;font-weight:600;color:#0284c7;min-width:40px;text-align:right}.homework-stats[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:24px}.donut-chart[data-v-28d80458]{position:relative;width:100px;height:100px;-ms-flex-negative:0;flex-shrink:0}.donut-chart svg[data-v-28d80458]{transform:rotate(-90deg)}.donut-chart circle[data-v-28d80458]{fill:none;stroke-width:10;stroke-linecap:round}.donut-chart circle.bg[data-v-28d80458]{stroke:#f0f0f0}.donut-chart circle.progress[data-v-28d80458]{transition:stroke-dasharray .5s ease}.donut-chart .donut-text[data-v-28d80458]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-chart .donut-text .value[data-v-28d80458]{display:block;font-size:18px;font-weight:700;color:#1890ff}.donut-chart .donut-text .label[data-v-28d80458]{font-size:11px;color:#999}.stats-detail[data-v-28d80458]{-ms-flex:1;flex:1}.stats-detail .stat-row[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:8px 0;border-bottom:1px solid #f5f5f5}.stats-detail .stat-row[data-v-28d80458]:last-child{border-bottom:none}.stats-detail .stat-row.total[data-v-28d80458]{font-weight:600}.stats-detail .stat-row .dot[data-v-28d80458]{width:8px;height:8px;border-radius:50%;margin-right:8px}.stats-detail .stat-row .dot.completed[data-v-28d80458]{background:#1890ff}.stats-detail .stat-row .dot.pending[data-v-28d80458]{background:#f0f0f0}.stats-detail .stat-row .text[data-v-28d80458]{-ms-flex:1;flex:1;font-size:14px;color:#666}.stats-detail .stat-row .num[data-v-28d80458]{font-size:16px;font-weight:600;color:#333}.exam-stats[data-v-28d80458]{display:-ms-flexbox;display:flex;gap:12px}.exam-score-card[data-v-28d80458]{-ms-flex:1;flex:1;text-align:center;padding:16px 8px;border-radius:12px}.exam-score-card .score[data-v-28d80458]{font-size:24px;font-weight:700;margin-bottom:4px}.exam-score-card .label[data-v-28d80458]{font-size:12px}.exam-score-card.best[data-v-28d80458]{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.exam-score-card.best .score[data-v-28d80458]{color:#16a34a}.exam-score-card.best .label[data-v-28d80458]{color:#166534}.exam-score-card.avg[data-v-28d80458]{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.exam-score-card.avg .score[data-v-28d80458]{color:#2563eb}.exam-score-card.avg .label[data-v-28d80458]{color:#1e40af}.exam-score-card.low[data-v-28d80458]{background:linear-gradient(135deg,#fef3c7,#fde68a)}.exam-score-card.low .score[data-v-28d80458]{color:#d97706}.exam-score-card.low .label[data-v-28d80458]{color:#92400e}.practice-stats[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:24px}.accuracy-display[data-v-28d80458]{text-align:center;padding:20px;background:linear-gradient(135deg,#cffafe,#a5f3fc);border-radius:16px;min-width:100px}.accuracy-display .accuracy-value[data-v-28d80458]{font-size:32px;font-weight:700;color:#0891b2}.accuracy-display .accuracy-value .unit[data-v-28d80458]{font-size:16px}.accuracy-display .accuracy-label[data-v-28d80458]{font-size:12px;color:#0e7490;margin-top:4px}.practice-detail[data-v-28d80458]{-ms-flex:1;flex:1}.practice-detail .detail-item[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f5f5f5}.practice-detail .detail-item[data-v-28d80458]:last-child{border-bottom:none}.practice-detail .detail-item .label[data-v-28d80458]{font-size:14px;color:#666}.practice-detail .detail-item .value[data-v-28d80458]{font-size:16px;font-weight:600;color:#333}.practice-detail .detail-item .value.correct[data-v-28d80458]{color:#16a34a}.practice-detail .detail-item .value.wrong[data-v-28d80458]{color:#dc2626}.error-count[data-v-28d80458]{display:-ms-flexbox;display:flex;gap:12px}.count-box[data-v-28d80458]{-ms-flex:1;flex:1;text-align:center;padding:16px 8px;border-radius:12px}.count-box .num[data-v-28d80458]{display:block;font-size:24px;font-weight:700;margin-bottom:4px}.count-box .label[data-v-28d80458]{font-size:12px}.count-box.total[data-v-28d80458]{background:#f5f5f5}.count-box.total .num[data-v-28d80458]{color:#333}.count-box.total .label[data-v-28d80458]{color:#666}.count-box.unmastered[data-v-28d80458]{background:#fee2e2}.count-box.unmastered .num[data-v-28d80458]{color:#dc2626}.count-box.unmastered .label[data-v-28d80458]{color:#991b1b}.count-box.mastered[data-v-28d80458]{background:#dcfce7}.count-box.mastered .num[data-v-28d80458]{color:#16a34a}.count-box.mastered .label[data-v-28d80458]{color:#166534}.work-stats[data-v-28d80458]{display:-ms-flexbox;display:flex;gap:16px}.work-item[data-v-28d80458]{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;padding:16px 8px;background:#fafafa;border-radius:12px}.work-item .work-icon[data-v-28d80458]{font-size:24px;color:#db2777;margin-bottom:8px}.work-item .work-info[data-v-28d80458]{text-align:center}.work-item .work-info .num[data-v-28d80458]{display:block;font-size:20px;font-weight:700;color:#333}.work-item .work-info .label[data-v-28d80458]{font-size:11px;color:#999}.activity-stats[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:24px}.activity-ring[data-v-28d80458]{position:relative;width:100px;height:100px;-ms-flex-negative:0;flex-shrink:0}.activity-ring svg[data-v-28d80458]{transform:rotate(-90deg)}.activity-ring circle[data-v-28d80458]{fill:none;stroke-width:10;stroke-linecap:round}.activity-ring circle.bg[data-v-28d80458]{stroke:#f0f0f0}.activity-ring circle.progress[data-v-28d80458]{transition:stroke-dasharray .5s ease}.activity-ring .activity-text[data-v-28d80458]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.activity-ring .activity-text .value[data-v-28d80458]{display:block;font-size:18px;font-weight:700;color:#d97706}.activity-ring .activity-text .label[data-v-28d80458]{font-size:11px;color:#999}.activity-detail[data-v-28d80458]{-ms-flex:1;flex:1}.activity-detail .detail-row[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:12px 0}.activity-detail .detail-row .label[data-v-28d80458]{font-size:14px;color:#666}.activity-detail .detail-row .value[data-v-28d80458]{font-size:16px;font-weight:600;color:#333}.activity-grid[data-v-28d80458]{display:-ms-grid;display:grid;-ms-grid-columns:(minmax(48px,1fr))[auto-fill];grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;margin-bottom:16px}.activity-block[data-v-28d80458]{aspect-ratio:1;border-radius:6px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px rgba(0,0,0,.1)}.activity-block[data-v-28d80458]:hover{transform:scale(1.08);box-shadow:0 4px 8px rgba(0,0,0,.15)}.activity-block .block-day[data-v-28d80458]{font-size:14px;font-weight:700;color:inherit}.activity-block .block-month[data-v-28d80458]{font-size:9px;opacity:.8}.activity-block.level-0[data-v-28d80458]{background:#f0f0f0;color:#999}.activity-block.level-1[data-v-28d80458]{background:#d9f7be;color:#389e0d}.activity-block.level-2[data-v-28d80458]{background:#95de64;color:#389e0d}.activity-block.level-3[data-v-28d80458]{background:#52c41a;color:#fff}.activity-block.level-4[data-v-28d80458]{background:#389e0d;color:#fff}.activity-block.level-3 .block-month[data-v-28d80458],.activity-block.level-4 .block-month[data-v-28d80458]{color:hsla(0,0%,100%,.9)}.more-tip[data-v-28d80458]{aspect-ratio:1;border-radius:6px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:#f5f5f5;color:#999;cursor:pointer}.more-tip .anticon[data-v-28d80458]{font-size:18px;margin-bottom:2px}.more-tip span[data-v-28d80458]{font-size:10px}.heatmap-legend[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.heatmap-legend .legend-label[data-v-28d80458]{font-size:12px;color:#999}.heatmap-legend .legend-cells[data-v-28d80458]{display:-ms-flexbox;display:flex;gap:2px}.heatmap-legend .legend-cell[data-v-28d80458]{width:12px;height:12px;border-radius:2px}.heatmap-legend .legend-cell.level-0[data-v-28d80458]{background:#ebedf0}.heatmap-legend .legend-cell.level-1[data-v-28d80458]{background:#9be9a8}.heatmap-legend .legend-cell.level-2[data-v-28d80458]{background:#40c463}.heatmap-legend .legend-cell.level-3[data-v-28d80458]{background:#30a14e}.heatmap-legend .legend-cell.level-4[data-v-28d80458]{background:#216e39}.growth-summary[data-v-28d80458]{text-align:center;margin-bottom:20px}.growth-summary .growth-count[data-v-28d80458]{font-size:36px;font-weight:700;background:linear-gradient(135deg,#0284c7,#06b6d4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.growth-summary .growth-label[data-v-28d80458]{font-size:14px;color:#666;margin-left:4px}.timeline .timeline-item[data-v-28d80458]{display:-ms-flexbox;display:flex;gap:12px;padding-bottom:16px;position:relative}.timeline .timeline-item[data-v-28d80458]:not(:last-child):before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:2px;background:#e5e5e5}.timeline .timeline-item[data-v-28d80458]:last-child{padding-bottom:0}.timeline .timeline-dot[data-v-28d80458]{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#0284c7,#06b6d4);-ms-flex-negative:0;flex-shrink:0;margin-top:4px}.timeline .timeline-content[data-v-28d80458]{-ms-flex:1;flex:1}.timeline .timeline-content .timeline-title[data-v-28d80458]{font-size:14px;color:#333;margin-bottom:4px}.timeline .timeline-content .timeline-meta[data-v-28d80458]{display:-ms-flexbox;display:flex;gap:12px;font-size:12px;color:#999}.timeline .timeline-content .timeline-meta .type[data-v-28d80458]{color:#0284c7}.empty-tip[data-v-28d80458]{text-align:center;color:#999;font-size:14px;padding:20px 0}.empty-tip[data-v-28d80458],.loading-overlay[data-v-28d80458]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.loading-overlay[data-v-28d80458]{position:fixed;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.8);z-index:100}