.progress-ring-container[data-v-095d4261]{justify-content:center;align-items:center;display:inline-flex;position:relative}.progress-ring[data-v-095d4261]{transform:rotate(-90deg)}.progress-ring-bg[data-v-095d4261]{opacity:.3}.progress-ring-fill[data-v-095d4261]{transform-origin:50%}.progress-text[data-v-095d4261]{color:var(--text-primary);font-family:system-ui,-apple-system,sans-serif;font-weight:600;position:absolute}.home-page[data-v-5d78db3f]{max-width:1000px;margin:0 auto;padding:40px 20px}.home-layout[data-v-5d78db3f]{position:relative}.home-main[data-v-5d78db3f]{min-width:0}.hero[data-v-5d78db3f]{text-align:center;margin-bottom:40px}.hero h1[data-v-5d78db3f]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:36px}.hero p[data-v-5d78db3f]{color:var(--text-secondary);font-size:18px}.progress-dashboard[data-v-5d78db3f]{padding:var(--spacing-xl);border:2px solid var(--primary-color);background:linear-gradient(135deg,#1890ff0d 0%,#1890ff1a 100%);margin-bottom:40px}.dashboard-header[data-v-5d78db3f]{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.dashboard-header h2[data-v-5d78db3f]{color:var(--text-primary);margin:0;font-size:20px}.progress-stats[data-v-5d78db3f]{align-items:baseline;gap:var(--spacing-md);display:flex}.stats-text[data-v-5d78db3f]{color:var(--text-secondary);font-size:14px}.stats-percentage[data-v-5d78db3f]{color:var(--primary-color);font-size:32px;font-weight:700}.progress-bar-large[data-v-5d78db3f]{background:var(--border-color);width:100%;height:12px;margin-bottom:var(--spacing-lg);border-radius:6px;overflow:hidden}.progress-bar-large .fill[data-v-5d78db3f]{background:linear-gradient(135deg,#84fab0 0%,#8fd3f4 100%);height:100%;transition:width .5s}.dashboard-actions[data-v-5d78db3f]{gap:var(--spacing-sm);display:flex}.courses[data-v-5d78db3f]{margin-top:var(--spacing-xl)}.courses h2[data-v-5d78db3f]{margin-bottom:var(--spacing-lg);color:var(--text-primary);font-size:24px}.course-list[data-v-5d78db3f]{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.course-item[data-v-5d78db3f]{cursor:pointer;padding:var(--spacing-lg);gap:var(--spacing-md);border-radius:var(--radius-md);background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.course-item[data-v-5d78db3f]:before{content:"";background:inherit;opacity:.1;z-index:0;position:absolute;inset:0}.course-icon-wrapper[data-v-5d78db3f]{align-items:center;gap:var(--spacing-md);z-index:1;display:flex;position:relative}.course-icon[data-v-5d78db3f]{flex-shrink:0;font-size:48px}.course-progress[data-v-5d78db3f]{background:#fff;border-radius:50%;padding:4px;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 8px #0000001a}.course-progress.is-completed[data-v-5d78db3f]{background:#52c41a;box-shadow:0 4px 12px #52c41a59}.course-content[data-v-5d78db3f]{z-index:1;flex:1;position:relative}.course-content h3[data-v-5d78db3f]{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:18px}.course-content p[data-v-5d78db3f]{color:var(--text-primary);margin-bottom:var(--spacing-sm);opacity:.9;font-size:14px}.course-skills[data-v-5d78db3f]{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.skill-tag-small[data-v-5d78db3f]{border-radius:var(--radius-round);color:var(--text-primary);background:#ffffffe6;border:1px solid #ffffff80;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.course-meta[data-v-5d78db3f]{color:var(--text-primary);opacity:.8;justify-content:space-between;align-items:center;font-size:13px;display:flex}.week-progress[data-v-5d78db3f]{font-weight:600}.bonus-collection[data-v-5d78db3f]{z-index:20;background:linear-gradient(#fffdf5 0%,#fff 72%);border:1px solid #faad1459;width:320px;max-height:calc(100vh - 232px);padding:20px;position:fixed;top:208px;right:calc(50vw - 844px);overflow:auto;box-shadow:0 10px 30px #faad141f}.bonus-header[data-v-5d78db3f]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.bonus-kicker[data-v-5d78db3f]{color:#ad6800;margin:0 0 4px;font-size:12px;font-weight:700}.bonus-header h2[data-v-5d78db3f]{color:#1f1f1f;margin:0;font-size:20px}.bonus-count[data-v-5d78db3f]{color:#d46b08;background:#fff7e6;border:1px solid #ffd591;border-radius:50%;justify-content:center;align-items:center;min-width:34px;height:34px;font-weight:800;display:inline-flex}.bonus-list[data-v-5d78db3f]{flex-direction:column;gap:10px;display:flex}.bonus-item[data-v-5d78db3f]{color:#262626;background:#ffffffeb;border:1px solid #ffe7ba;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.bonus-item[data-v-5d78db3f]:hover{border-color:#faad14;transform:translateY(-2px);box-shadow:0 8px 18px #faad1429}.bonus-doc-icon[data-v-5d78db3f]{background:#fff7e6;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.bonus-doc-body[data-v-5d78db3f]{flex-direction:column;gap:3px;min-width:0;display:flex}.bonus-doc-body strong[data-v-5d78db3f]{color:#1f1f1f;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.35;overflow:hidden}.bonus-doc-body small[data-v-5d78db3f]{color:#8c8c8c;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.bonus-arrow[data-v-5d78db3f]{color:#d46b08;font-weight:800}.bonus-empty[data-v-5d78db3f]{text-align:center;color:#8c6d1f;background:#fffbe694;border:1px dashed #ffd591;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:180px;padding:20px;display:flex}.bonus-empty-icon[data-v-5d78db3f]{font-size:28px}.bonus-empty p[data-v-5d78db3f]{margin:0;font-size:13px;line-height:1.6}@media (width<=1700px){.bonus-collection[data-v-5d78db3f]{width:auto;max-height:none;margin-bottom:24px;position:static;overflow:visible}}@media (width<=768px){.home-page[data-v-5d78db3f]{padding:20px 16px}.bonus-collection[data-v-5d78db3f]{margin-bottom:20px}.hero h1[data-v-5d78db3f]{font-size:28px}.hero p[data-v-5d78db3f]{font-size:16px}.course-list[data-v-5d78db3f]{grid-template-columns:1fr}.dashboard-header[data-v-5d78db3f]{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.stats-percentage[data-v-5d78db3f]{font-size:28px}}:root{--primary-color:#1890ff;--success-color:#52c41a;--warning-color:#faad14;--bg-color:#f0f2f5;--card-bg:#fff;--text-primary:#262626;--text-secondary:#8c8c8c;--border-color:#d9d9d9;--week1-gradient:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--week2-gradient:linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--week3-gradient:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--week4-gradient:linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--week1-color:#667eea;--week2-color:#f5576c;--week3-color:#4facfe;--week4-color:#43e97b;--progress-ring-size:60px;--progress-ring-width:4px;--accordion-bg:#f8f9fa;--accordion-border:#e9ecef;--accordion-hover:#f1f3f5;--card-hover-shadow:0 4px 16px #00000026;--card-hover-transform:translateY(-4px);--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-round:50%;--section-bg:#f5f7fa;--primary-gradient:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--locked-color:#d9d9d9;--info-color:#1890ff;--status-completed:#52c41a;--status-current:#1890ff;--status-locked:#d9d9d9}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;line-height:1.6}#app{min-height:100vh}.card{background:var(--card-bg);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#40a9ff}.btn-outline{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.btn-outline:hover{border-color:var(--primary-color);color:var(--primary-color)}a{color:var(--primary-color);text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-in{animation:.3s ease-out fadeIn}.card-hover{transition:all .3s}.card-hover:hover{transform:var(--card-hover-transform);box-shadow:var(--card-hover-shadow)}.skill-tag{background:var(--accordion-bg);border-radius:var(--radius-round);color:var(--text-primary);border:1px solid var(--border-color);margin-bottom:8px;margin-right:8px;padding:4px 12px;font-size:12px;display:inline-block}.progress-ring-container{justify-content:center;align-items:center;display:inline-flex;position:relative}.learning-path-node{cursor:pointer;transition:all .3s}.learning-path-node:hover{transform:scale(1.05)}.accordion-content{transition:max-height .3s,opacity .3s;overflow:hidden}@media (width<=768px){:root{--progress-ring-size:50px}}@media (width<=480px){:root{--progress-ring-size:45px}}
