.navbar[data-v-f95dbe9a]{position:sticky;top:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.nav-container[data-v-f95dbe9a]{display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo[data-v-f95dbe9a]{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--primary)}.logo-icon[data-v-f95dbe9a]{font-size:24px}.nav-menu[data-v-f95dbe9a]{display:flex;gap:32px}.nav-link[data-v-f95dbe9a]{font-size:15px;color:var(--text-secondary);font-weight:500;transition:color var(--transition);position:relative;padding:4px 0}.nav-link[data-v-f95dbe9a]:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:width var(--transition);border-radius:1px}.nav-link[data-v-f95dbe9a]:hover,.nav-link.router-link-exact-active[data-v-f95dbe9a]{color:var(--primary)}.nav-link.router-link-exact-active[data-v-f95dbe9a]:after{width:100%}.nav-toggle[data-v-f95dbe9a]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span[data-v-f95dbe9a]{width:24px;height:2px;background:var(--text-main);border-radius:1px;transition:var(--transition)}.main-content[data-v-f95dbe9a]{min-height:calc(100vh - 124px)}.footer[data-v-f95dbe9a]{background:var(--text-main);color:var(--text-light);text-align:center;padding:20px 0;font-size:14px}@media (max-width: 768px){.nav-toggle[data-v-f95dbe9a]{display:flex}.nav-menu[data-v-f95dbe9a]{position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 20px;gap:12px;box-shadow:var(--shadow-md);transform:translateY(-100%);opacity:0;pointer-events:none;transition:var(--transition)}.nav-menu.open[data-v-f95dbe9a]{transform:translateY(0);opacity:1;pointer-events:auto}}.banner-wrapper[data-v-78910f78]{position:relative;width:100%;height:400px;overflow:hidden;border-radius:0}.banner-track[data-v-78910f78]{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}.banner-slide[data-v-78910f78]{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.banner-slide[data-v-78910f78]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 70% 50%,rgba(255,255,255,.15) 0%,transparent 60%)}.banner-content[data-v-78910f78]{text-align:center;color:#fff;z-index:1;opacity:0;transform:scale(.95);transition:opacity .5s ease .2s,transform .5s ease .2s}.banner-content.active[data-v-78910f78]{opacity:1;transform:scale(1)}.banner-title[data-v-78910f78]{font-size:42px;font-weight:800;margin-bottom:12px;text-shadow:0 2px 8px rgba(0,0,0,.2);letter-spacing:2px}.banner-subtitle[data-v-78910f78]{font-size:18px;opacity:.9;margin-bottom:28px}.banner-btn[data-v-78910f78]{display:inline-block;padding:12px 36px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.5);border-radius:30px;color:#fff;font-size:16px;font-weight:600;transition:all .3s ease;cursor:pointer}.banner-btn[data-v-78910f78]:hover{background:#ffffff4d;border-color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.banner-dots[data-v-78910f78]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:2}.banner-dot[data-v-78910f78]{width:10px;height:10px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .3s ease}.banner-dot.active[data-v-78910f78]{width:30px;border-radius:5px;background:#fff}.banner-arrow[data-v-78910f78]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;font-size:28px;cursor:pointer;z-index:2;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1}.banner-arrow[data-v-78910f78]:hover{background:#ffffff59}.banner-arrow.prev[data-v-78910f78]{left:20px}.banner-arrow.next[data-v-78910f78]{right:20px}@media (max-width: 768px){.banner-wrapper[data-v-78910f78]{height:280px}.banner-title[data-v-78910f78]{font-size:28px}.banner-subtitle[data-v-78910f78]{font-size:14px}.banner-btn[data-v-78910f78]{padding:10px 28px;font-size:14px}.banner-arrow[data-v-78910f78]{width:36px;height:36px;font-size:22px}}.course-card[data-v-0b3ccee7]{display:block;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.card-cover[data-v-0b3ccee7]{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.cover-icon[data-v-0b3ccee7]{font-size:56px;font-weight:800;color:#fff9;text-shadow:0 2px 8px rgba(0,0,0,.15);transition:transform .3s ease}.course-card:hover .cover-icon[data-v-0b3ccee7]{transform:scale(1.1)}.card-tag[data-v-0b3ccee7]{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-tag.programming[data-v-0b3ccee7]{background:#2563ebcc}.card-tag.design[data-v-0b3ccee7]{background:#a855f7cc}.card-tag.language[data-v-0b3ccee7]{background:#059669cc}.free-badge[data-v-0b3ccee7]{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;color:#dc2626;background:#fff}.card-body[data-v-0b3ccee7]{padding:16px}.card-title[data-v-0b3ccee7]{font-size:16px;font-weight:600;line-height:1.4;margin-bottom:10px;color:var(--text-main);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.card-instructor[data-v-0b3ccee7]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.instructor-avatar[data-v-0b3ccee7]{width:24px;height:24px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.instructor-name[data-v-0b3ccee7]{font-size:13px;color:var(--text-secondary)}.card-meta[data-v-0b3ccee7]{display:flex;align-items:center;justify-content:space-between}.card-rating[data-v-0b3ccee7]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.star[data-v-0b3ccee7]{color:#f59e0b;font-size:14px}.rating-num[data-v-0b3ccee7]{font-weight:600;color:var(--text-main)}.rating-divider[data-v-0b3ccee7]{color:var(--text-light);margin:0 2px}.card-price[data-v-0b3ccee7]{font-weight:700}.price-num[data-v-0b3ccee7]{font-size:18px;color:#dc2626}.price-free[data-v-0b3ccee7]{font-size:16px;color:#059669;font-weight:700}.category-tag[data-v-f04df657]{display:inline-flex;align-items:center;gap:4px;padding:8px 20px;border-radius:24px;font-size:14px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:all .3s ease;white-space:nowrap}.category-tag[data-v-f04df657]:hover{color:var(--primary);border-color:var(--primary-light);background:var(--primary-bg)}.category-tag.active[data-v-f04df657]{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px #2563eb4d}.tag-icon[data-v-f04df657]{font-size:16px}.tag-count[data-v-f04df657]{font-size:12px;opacity:.7;margin-left:2px}.category-section[data-v-a9ec48f3]{padding:32px 0 8px}.category-list[data-v-a9ec48f3]{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.courses-section[data-v-a9ec48f3]{padding:32px 0}.section-header[data-v-a9ec48f3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.section-title[data-v-a9ec48f3]{font-size:24px;font-weight:700;color:var(--text-main)}.see-all[data-v-a9ec48f3]{font-size:14px;color:var(--primary);font-weight:500;transition:opacity .3s ease}.see-all[data-v-a9ec48f3]:hover{opacity:.8}.courses-grid[data-v-a9ec48f3]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stats-section[data-v-a9ec48f3]{padding:48px 0;background:linear-gradient(135deg,var(--primary-bg) 0%,#f0f7ff 100%)}.stats-grid[data-v-a9ec48f3]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.stat-item[data-v-a9ec48f3]{padding:24px}.stat-icon[data-v-a9ec48f3]{font-size:36px;margin-bottom:12px}.stat-num[data-v-a9ec48f3]{font-size:32px;font-weight:800;color:var(--primary);margin-bottom:4px}.stat-label[data-v-a9ec48f3]{font-size:14px;color:var(--text-secondary)}@media (max-width: 1024px){.courses-grid[data-v-a9ec48f3]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.courses-grid[data-v-a9ec48f3]{grid-template-columns:1fr}.stats-grid[data-v-a9ec48f3]{grid-template-columns:repeat(2,1fr)}.section-title[data-v-a9ec48f3]{font-size:20px}.stat-num[data-v-a9ec48f3]{font-size:24px}}.course-list-page[data-v-c8a54581]{padding:32px 0 48px}.page-header[data-v-c8a54581]{text-align:center;margin-bottom:32px}.page-title[data-v-c8a54581]{font-size:32px;font-weight:800;color:var(--text-main);margin-bottom:8px}.page-desc[data-v-c8a54581]{font-size:15px;color:var(--text-secondary)}.search-bar[data-v-c8a54581]{position:relative;max-width:480px;margin:0 auto 24px}.search-input[data-v-c8a54581]{width:100%;padding:12px 20px 12px 48px;border:2px solid var(--border);border-radius:28px;font-size:15px;outline:none;transition:border-color .3s ease;background:var(--bg-card)}.search-input[data-v-c8a54581]:focus{border-color:var(--primary-light)}.search-input[data-v-c8a54581]::placeholder{color:var(--text-light)}.search-icon[data-v-c8a54581]{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:18px}.filter-bar[data-v-c8a54581]{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:32px}.courses-grid[data-v-c8a54581]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 1024px){.courses-grid[data-v-c8a54581]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.courses-grid[data-v-c8a54581]{grid-template-columns:1fr}.page-title[data-v-c8a54581]{font-size:24px}.filter-bar[data-v-c8a54581]{gap:8px}.search-bar[data-v-c8a54581]{margin:0 0 16px}.search-input[data-v-c8a54581]{padding:10px 16px 10px 40px;font-size:14px}}.course-detail-page[data-v-ebcfeee2]{padding-bottom:48px}.video-section[data-v-ebcfeee2]{width:100%;height:420px;overflow:hidden}.video-placeholder[data-v-ebcfeee2]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.video-placeholder[data-v-ebcfeee2]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040}.play-button[data-v-ebcfeee2]{width:80px;height:80px;border-radius:50%;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease,background .3s ease;z-index:1}.play-button[data-v-ebcfeee2]:hover{transform:scale(1.1);background:#ffffff59}.play-icon[data-v-ebcfeee2]{font-size:28px;color:#fff;margin-left:4px}.video-overlay[data-v-ebcfeee2]{position:absolute;bottom:40px;left:40px;z-index:1;color:#fff}.video-title[data-v-ebcfeee2]{font-size:32px;font-weight:800;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.video-meta[data-v-ebcfeee2]{display:flex;align-items:center;gap:8px;font-size:14px;opacity:.9}.meta-tag[data-v-ebcfeee2]{padding:2px 10px;border-radius:4px;background:#fff3}.detail-layout[data-v-ebcfeee2]{display:grid;grid-template-columns:1fr 340px;gap:32px;margin-top:-40px;position:relative;z-index:2}.info-card[data-v-ebcfeee2]{background:var(--bg-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-md);margin-bottom:32px}.course-title[data-v-ebcfeee2]{font-size:24px;font-weight:700;margin-bottom:8px}.info-meta[data-v-ebcfeee2]{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary);margin-bottom:16px;flex-wrap:wrap}.meta-rating[data-v-ebcfeee2]{display:flex;align-items:center;gap:4px}.star[data-v-ebcfeee2]{color:#f59e0b}.rating-num[data-v-ebcfeee2]{font-weight:700;color:var(--text-main)}.meta-divider[data-v-ebcfeee2]{color:var(--text-light)}.course-desc[data-v-ebcfeee2]{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}.info-footer[data-v-ebcfeee2]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.price-tag .price-free[data-v-ebcfeee2]{font-size:24px;font-weight:800;color:#059669}.price-tag .price-num[data-v-ebcfeee2]{font-size:28px;font-weight:800;color:#dc2626}.enroll-btn[data-v-ebcfeee2]{padding:12px 36px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.enroll-btn[data-v-ebcfeee2]:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.section-block[data-v-ebcfeee2]{background:var(--bg-card);border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.block-title[data-v-ebcfeee2]{font-size:18px;font-weight:700;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--primary-bg)}.chapter-item[data-v-ebcfeee2]{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;overflow:hidden;transition:border-color .3s ease}.chapter-item[data-v-ebcfeee2]:hover,.chapter-item.expanded[data-v-ebcfeee2]{border-color:var(--primary-light)}.chapter-header[data-v-ebcfeee2]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background .3s ease}.chapter-header[data-v-ebcfeee2]:hover{background:var(--primary-bg)}.chapter-left[data-v-ebcfeee2]{display:flex;align-items:center;gap:12px}.chapter-num[data-v-ebcfeee2]{font-size:14px;font-weight:700;color:var(--primary);background:var(--primary-bg);padding:4px 8px;border-radius:6px}.chapter-title[data-v-ebcfeee2]{font-size:15px;font-weight:600}.chapter-right[data-v-ebcfeee2]{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.expand-icon[data-v-ebcfeee2]{font-size:10px;transition:transform .3s ease}.expand-icon.rotated[data-v-ebcfeee2]{transform:rotate(180deg)}.lesson-list[data-v-ebcfeee2]{padding:0 16px 12px}.lesson-item[data-v-ebcfeee2]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);transition:background .2s ease;font-size:14px}.lesson-item[data-v-ebcfeee2]:hover{background:var(--primary-bg)}.lesson-play[data-v-ebcfeee2]{font-size:10px;color:var(--primary)}.lesson-name[data-v-ebcfeee2]{flex:1;color:var(--text-secondary)}.lesson-duration[data-v-ebcfeee2]{font-size:12px;color:var(--text-light)}.instructor-card[data-v-ebcfeee2]{display:flex;gap:20px}.instructor-avatar-lg[data-v-ebcfeee2]{width:72px;height:72px;border-radius:50%;background:var(--primary);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.instructor-name[data-v-ebcfeee2]{font-size:18px;font-weight:700;margin-bottom:4px}.instructor-title[data-v-ebcfeee2]{font-size:14px;color:var(--primary);margin-bottom:8px}.instructor-bio[data-v-ebcfeee2]{font-size:14px;color:var(--text-secondary);line-height:1.6}.review-item[data-v-ebcfeee2]{padding:16px 0;border-bottom:1px solid var(--border)}.review-item[data-v-ebcfeee2]:last-child{border-bottom:none}.review-header[data-v-ebcfeee2]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.review-avatar[data-v-ebcfeee2]{width:40px;height:40px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center}.review-name[data-v-ebcfeee2]{font-size:14px;font-weight:600}.review-stars .star[data-v-ebcfeee2]{font-size:12px;color:#e2e8f0}.review-stars .star.filled[data-v-ebcfeee2]{color:#f59e0b}.review-date[data-v-ebcfeee2]{margin-left:auto;font-size:12px;color:var(--text-light)}.review-content[data-v-ebcfeee2]{font-size:14px;color:var(--text-secondary);line-height:1.6;padding-left:52px}.sidebar-card[data-v-ebcfeee2]{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);position:sticky;top:80px}.sidebar-cover[data-v-ebcfeee2]{height:160px;display:flex;align-items:center;justify-content:center}.cover-icon-lg[data-v-ebcfeee2]{font-size:56px;font-weight:800;color:#fff9}.sidebar-price[data-v-ebcfeee2]{padding:16px 20px;display:flex;align-items:baseline;gap:8px}.price-free-lg[data-v-ebcfeee2]{font-size:28px;font-weight:800;color:#059669}.price-num-lg[data-v-ebcfeee2]{font-size:28px;font-weight:800;color:#dc2626}.price-original[data-v-ebcfeee2]{font-size:16px;color:var(--text-light);text-decoration:line-through}.sidebar-enroll-btn[data-v-ebcfeee2]{width:calc(100% - 40px);margin:0 20px 10px;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.sidebar-enroll-btn[data-v-ebcfeee2]:hover{background:var(--primary-dark)}.sidebar-fav-btn[data-v-ebcfeee2]{width:calc(100% - 40px);margin:0 20px 20px;padding:10px;background:var(--bg-page);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:all .3s ease}.sidebar-fav-btn[data-v-ebcfeee2]:hover{color:#dc2626;border-color:#fca5a5;background:#fef2f2}.sidebar-features[data-v-ebcfeee2]{padding:16px 20px;border-top:1px solid var(--border)}.feature-item[data-v-ebcfeee2]{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:var(--text-secondary)}.feature-icon[data-v-ebcfeee2]{font-size:18px}.back-link[data-v-ebcfeee2]{display:inline-block;margin-top:12px;color:var(--primary);font-weight:500}@media (max-width: 1024px){.detail-layout[data-v-ebcfeee2]{grid-template-columns:1fr}.detail-sidebar[data-v-ebcfeee2]{order:-1}.sidebar-card[data-v-ebcfeee2]{position:static}}@media (max-width: 768px){.video-section[data-v-ebcfeee2]{height:280px}.video-title[data-v-ebcfeee2]{font-size:22px}.video-overlay[data-v-ebcfeee2]{bottom:20px;left:20px}.review-content[data-v-ebcfeee2]{padding-left:0}.instructor-card[data-v-ebcfeee2]{flex-direction:column}}.progress-ring-wrapper[data-v-94a45f65]{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring[data-v-94a45f65]{transform:rotate(-90deg)}.progress-bg[data-v-94a45f65]{stroke:#e2e8f0}.progress-bar[data-v-94a45f65]{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset 1s ease}.progress-text[data-v-94a45f65]{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px}.progress-num[data-v-94a45f65]{font-size:24px;font-weight:700;color:var(--primary)}.progress-label[data-v-94a45f65]{font-size:12px;color:var(--text-secondary)}.user-center-page[data-v-78784c3d]{padding:32px 0 48px}.user-header[data-v-78784c3d]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-lg);padding:32px;display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;color:#fff;flex-wrap:wrap;gap:24px}.user-info[data-v-78784c3d]{display:flex;align-items:center;gap:20px}.user-avatar[data-v-78784c3d]{width:72px;height:72px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;border:3px solid rgba(255,255,255,.3)}.user-name[data-v-78784c3d]{font-size:24px;font-weight:700;margin-bottom:4px}.user-level[data-v-78784c3d]{font-size:14px;opacity:.9;margin-bottom:4px}.user-join[data-v-78784c3d]{font-size:13px;opacity:.7}.user-stats[data-v-78784c3d]{display:flex;align-items:center;gap:24px}.stat-item[data-v-78784c3d]{text-align:center}.stat-num[data-v-78784c3d]{font-size:28px;font-weight:800}.stat-label[data-v-78784c3d]{font-size:12px;opacity:.8;margin-top:2px}.stat-divider[data-v-78784c3d]{width:1px;height:40px;background:#fff3}.progress-overview[data-v-78784c3d]{margin-bottom:40px}.section-title[data-v-78784c3d]{font-size:20px;font-weight:700;margin-bottom:20px}.progress-cards[data-v-78784c3d]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.progress-card[data-v-78784c3d]{background:var(--bg-card);border-radius:var(--radius);padding:24px;border:1px solid var(--border);display:flex;align-items:center;gap:20px;cursor:pointer}.progress-info[data-v-78784c3d]{flex:1}.progress-course-title[data-v-78784c3d]{font-size:15px;font-weight:600;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.progress-chapter[data-v-78784c3d]{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.progress-date[data-v-78784c3d]{font-size:12px;color:var(--text-light);margin-bottom:8px}.progress-status[data-v-78784c3d]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.progress-status.completed[data-v-78784c3d]{background:#d1fae5;color:#059669}.progress-status.learning[data-v-78784c3d]{background:#dbeafe;color:#2563eb}.progress-status.progressing[data-v-78784c3d]{background:#fef3c7;color:#d97706}.progress-status.started[data-v-78784c3d]{background:#fce7f3;color:#db2777}.purchased-grid[data-v-78784c3d]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 1024px){.progress-cards[data-v-78784c3d]{grid-template-columns:1fr}.purchased-grid[data-v-78784c3d]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.user-header[data-v-78784c3d]{flex-direction:column;text-align:center;padding:24px}.user-info[data-v-78784c3d]{flex-direction:column}.user-stats[data-v-78784c3d]{gap:16px}.stat-num[data-v-78784c3d]{font-size:22px}.purchased-grid[data-v-78784c3d]{grid-template-columns:1fr}.progress-card[data-v-78784c3d]{flex-direction:column;text-align:center}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-light: #3b82f6;--primary-dark: #1e40af;--primary-bg: #eff6ff;--text-main: #1e293b;--text-secondary: #64748b;--text-light: #94a3b8;--bg-page: #f8fafc;--bg-card: #ffffff;--border: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--transition: .3s ease}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-page);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:3px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.page-enter-active{animation:pageSlideIn .4s ease}.page-leave-active{animation:pageSlideIn .2s ease reverse}@keyframes pageSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.card-hover{transition:transform var(--transition),box-shadow var(--transition)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.container{padding:0 16px}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state .icon{font-size:48px;margin-bottom:16px}
