.app-loading[data-v-130dfdea]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f7fa}.loading-spinner[data-v-130dfdea]{width:40px;height:40px;border:3px solid #e8e8e8;border-top-color:#c41e3a;border-radius:50%;animation:spin-130dfdea 1s linear infinite}@keyframes spin-130dfdea{to{transform:rotate(360deg)}}.loading-text[data-v-130dfdea]{margin-top:16px;font-size:14px;color:#666}.bottom-nav[data-v-d1b28dea]{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);display:flex;justify-content:space-around;padding:8px 0 12px;box-shadow:0 -4px 20px var(--shadow);z-index:100}.nav-item[data-v-d1b28dea]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 24px;cursor:pointer;color:var(--text-muted);transition:var(--transition);position:relative}.nav-item[data-v-d1b28dea]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--primary);border-radius:0 0 3px 3px;transition:var(--transition)}.nav-item.active[data-v-d1b28dea]{color:var(--primary)}.nav-item.active[data-v-d1b28dea]:before{width:20px}.nav-icon[data-v-d1b28dea]{font-size:22px;transition:var(--transition)}.nav-item:hover .nav-icon[data-v-d1b28dea]{transform:translateY(-2px)}.nav-text[data-v-d1b28dea]{font-size:11px;font-weight:500}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav[data-v-d1b28dea]{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (max-width: 375px){.nav-item[data-v-d1b28dea]{padding:6px 16px}.nav-icon[data-v-d1b28dea]{font-size:20px}.nav-text[data-v-d1b28dea]{font-size:10px}}@media (max-width: 320px){.nav-item[data-v-d1b28dea]{padding:6px 12px}.nav-icon[data-v-d1b28dea]{font-size:18px}}.page-container[data-v-2a850cd8]{min-height:100vh;background:var(--bg, #f5f7fa);padding-bottom:90px}.header-banner[data-v-2a850cd8]{background:var(--bg, #f5f7fa);padding-bottom:16px}.swiper-container[data-v-2a850cd8]{position:relative;overflow:hidden;height:180px}.swiper-wrapper[data-v-2a850cd8]{display:flex;transition:transform .3s ease;height:100%}.swiper-slide[data-v-2a850cd8]{flex:0 0 100%;height:100%}.slide-bg[data-v-2a850cd8]{width:100%;height:100%;background-size:cover;background-position:center;position:relative}.slide-bg[data-v-2a850cd8]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000001a,#0009)}.slide-content[data-v-2a850cd8]{position:absolute;bottom:0;left:0;right:0;padding:20px;color:#fff;z-index:1}.slide-tag[data-v-2a850cd8]{display:inline-block;padding:4px 10px;background:var(--primary, #c41e3a);border-radius:4px;font-size:12px;margin-bottom:8px}.slide-title[data-v-2a850cd8]{font-size:16px;font-weight:600;margin-bottom:4px;line-height:1.3}.slide-desc[data-v-2a850cd8]{font-size:13px;opacity:.9}.swiper-dots[data-v-2a850cd8]{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.swiper-dot[data-v-2a850cd8]{width:8px;height:8px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .3s}.swiper-dot.active[data-v-2a850cd8]{background:#fff;width:16px;border-radius:4px}.quick-access[data-v-2a850cd8]{background:#fff;margin:0 16px 16px;padding:20px;border-radius:16px;box-shadow:0 2px 8px #0000000f}.section-header[data-v-2a850cd8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-2a850cd8]{font-size:16px;font-weight:600;color:var(--text, #333)}.section-more[data-v-2a850cd8]{font-size:13px;color:var(--text-muted, #999);cursor:pointer}.quick-grid[data-v-2a850cd8]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 16px}.quick-item[data-v-2a850cd8]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.quick-icon[data-v-2a850cd8]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;transition:all .3s ease}.quick-item:active .quick-icon[data-v-2a850cd8]{transform:scale(.95)}.quick-name[data-v-2a850cd8]{font-size:13px;color:var(--text-secondary, #666);text-align:center;font-weight:500}.notice-section[data-v-2a850cd8]{background:#fff;margin:0 16px 16px;padding:20px;border-radius:16px;box-shadow:0 2px 8px #0000000f}.notice-list[data-v-2a850cd8]{display:flex;flex-direction:column}.notice-item[data-v-2a850cd8]{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border, #e8e8e8);cursor:pointer}.notice-item[data-v-2a850cd8]:last-child{border-bottom:none}.notice-content[data-v-2a850cd8]{flex:1}.notice-title[data-v-2a850cd8]{font-size:14px;color:var(--text, #333);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-time[data-v-2a850cd8]{font-size:12px;color:var(--text-muted, #999)}.notice-arrow[data-v-2a850cd8]{font-size:18px;color:var(--text-muted, #999)}.stats-section[data-v-2a850cd8]{padding:0 16px 16px}.stats-grid[data-v-2a850cd8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats-card[data-v-2a850cd8]{background:#fff;border-radius:12px;padding:16px 8px;text-align:center;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:all .3s ease}.stats-card[data-v-2a850cd8]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stats-icon-wrapper[data-v-2a850cd8]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:24px}.stats-value[data-v-2a850cd8]{font-size:20px;font-weight:700;color:var(--text, #333);margin-bottom:4px}.stats-label[data-v-2a850cd8]{font-size:12px;color:var(--text-muted, #999)}.recent-section[data-v-2a850cd8]{padding:0 16px 16px}.recent-list[data-v-2a850cd8]{display:flex;flex-direction:column;gap:12px}.recent-item[data-v-2a850cd8]{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.recent-item[data-v-2a850cd8]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.recent-cover[data-v-2a850cd8]{width:60px;height:60px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cover-icon[data-v-2a850cd8]{font-size:28px}.recent-info[data-v-2a850cd8]{flex:1;min-width:0}.recent-title[data-v-2a850cd8]{font-size:15px;font-weight:500;color:var(--text, #333);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-meta[data-v-2a850cd8]{font-size:12px;color:var(--text-muted, #999)}.recent-arrow[data-v-2a850cd8]{font-size:20px;color:var(--text-muted, #999)}.quick-icon.red[data-v-2a850cd8]{background:linear-gradient(135deg,#ff6b6b,#c41e3a)}.quick-icon.blue[data-v-2a850cd8]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.quick-icon.green[data-v-2a850cd8]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.quick-icon.orange[data-v-2a850cd8]{background:linear-gradient(135deg,#fa709a,#fee140)}.quick-icon.purple[data-v-2a850cd8]{background:linear-gradient(135deg,#a8edea,#fed6e3)}.quick-icon.cyan[data-v-2a850cd8]{background:linear-gradient(135deg,#d299c2,#fef9d7)}.quick-icon.pink[data-v-2a850cd8]{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.quick-icon.dark[data-v-2a850cd8]{background:linear-gradient(135deg,#667eea,#764ba2)}@media (max-width: 375px){.quick-grid[data-v-2a850cd8]{gap:16px 12px}.quick-icon[data-v-2a850cd8]{width:48px;height:48px;font-size:24px}.stats-grid[data-v-2a850cd8]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 320px){.quick-access[data-v-2a850cd8],.notice-section[data-v-2a850cd8],.stats-section[data-v-2a850cd8],.recent-section[data-v-2a850cd8]{margin-left:12px;margin-right:12px}}.page-header[data-v-e604601f]{background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,var(--primary-dark, #a01830) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-e604601f]{display:flex;align-items:center;gap:12px}.back-btn[data-v-e604601f]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:all .3s ease;background:transparent;border:none;color:#fff}.back-btn[data-v-e604601f]:hover{background:#ffffff1a}.header-title[data-v-e604601f]{flex:1;font-size:17px;font-weight:600;text-align:center;margin:0}.right-action[data-v-e604601f]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .3s ease;background:transparent;border:none;color:#fff;font-size:18px}.right-action[data-v-e604601f]:hover{background:#ffffff1a}.action-icon[data-v-e604601f]{font-size:18px}.action-text[data-v-e604601f]{font-size:14px}.header-placeholder[data-v-e604601f]{width:36px;height:36px}@media (max-width: 375px){.page-header[data-v-e604601f]{padding:12px 16px}.header-title[data-v-e604601f]{font-size:16px}.back-btn[data-v-e604601f],.right-action[data-v-e604601f],.header-placeholder[data-v-e604601f]{width:32px;height:32px}}.page-container[data-v-500e5d8e]{min-height:100vh;background:var(--bg-paper);padding-bottom:90px}.calendar-section[data-v-500e5d8e]{background:var(--card-bg);margin:16px;border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow)}.month-nav[data-v-500e5d8e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.nav-btn[data-v-500e5d8e]{width:36px;height:36px;border:none;background:var(--bg);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--text)}.nav-btn[data-v-500e5d8e]:hover{background:var(--primary);color:#fff}.nav-btn svg[data-v-500e5d8e]{width:20px;height:20px}.month-title[data-v-500e5d8e]{font-size:18px;font-weight:600;color:var(--text)}.week-header[data-v-500e5d8e]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.week-day-header[data-v-500e5d8e]{text-align:center;font-size:13px;color:var(--text-muted);padding:8px 0}.week-view[data-v-500e5d8e]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.week-date[data-v-500e5d8e]{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);position:relative;min-height:44px}.week-date[data-v-500e5d8e]:hover{background:#c41e3a0d}.week-date.today[data-v-500e5d8e]{background:#c41e3a1a}.week-date.selected[data-v-500e5d8e]{background:var(--primary);color:#fff;box-shadow:var(--shadow-red)}.week-date.selected .date-number[data-v-500e5d8e]{color:#fff;font-weight:600}.week-date.selected .today-badge[data-v-500e5d8e]{color:#fff}.week-date.selected .course-dot[data-v-500e5d8e]{background:var(--card-bg)}.calendar-grid[data-v-500e5d8e]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.calendar-date[data-v-500e5d8e]{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);position:relative;min-height:44px}.calendar-date[data-v-500e5d8e]:hover{background:#c41e3a0d}.calendar-date.other-month[data-v-500e5d8e]{color:var(--text-muted);opacity:.5}.calendar-date.today[data-v-500e5d8e]{background:#c41e3a1a}.calendar-date.selected[data-v-500e5d8e]{background:var(--primary);color:#fff;box-shadow:var(--shadow-red)}.calendar-date.selected .date-number[data-v-500e5d8e]{color:#fff;font-weight:600}.calendar-date.selected .today-badge[data-v-500e5d8e]{color:#fff}.calendar-date.selected .course-dot[data-v-500e5d8e]{background:var(--card-bg)}.date-number[data-v-500e5d8e]{font-size:15px;color:var(--text)}.today-badge[data-v-500e5d8e]{font-size:9px;color:var(--primary);margin-top:2px}.course-dot[data-v-500e5d8e]{width:5px;height:5px;background:var(--primary);border-radius:50%;margin-top:3px}.expand-toggle[data-v-500e5d8e]{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px;margin-top:8px;border-top:1px solid var(--divider);cursor:pointer;transition:var(--transition);color:var(--text-muted)}.expand-toggle[data-v-500e5d8e]:hover{color:var(--primary)}.toggle-text[data-v-500e5d8e]{font-size:13px}.toggle-icon[data-v-500e5d8e]{width:16px;height:16px;transition:var(--transition)}.toggle-icon.expanded[data-v-500e5d8e]{transform:rotate(180deg)}.toggle-icon svg[data-v-500e5d8e]{width:100%;height:100%}.schedule-section[data-v-500e5d8e]{margin:0 16px 20px}.section-header[data-v-500e5d8e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-500e5d8e]{display:flex;align-items:center;gap:8px}.title-date[data-v-500e5d8e]{font-size:18px;font-weight:600;color:var(--text)}.title-weekday[data-v-500e5d8e]{font-size:14px;color:var(--text-muted)}.course-count[data-v-500e5d8e]{font-size:13px;color:var(--text-muted)}.schedule-list[data-v-500e5d8e]{display:flex;flex-direction:column;gap:12px}.schedule-card[data-v-500e5d8e]{background:var(--card-bg);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);border-left:3px solid var(--primary)}.schedule-card[data-v-500e5d8e]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.schedule-header[data-v-500e5d8e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.schedule-time[data-v-500e5d8e]{display:flex;align-items:center;gap:6px;color:var(--primary);font-weight:500}.time-icon[data-v-500e5d8e],.time-text[data-v-500e5d8e]{font-size:14px}.course-tag[data-v-500e5d8e]{padding:2px 8px;background:#c41e3a1a;color:var(--primary);border-radius:4px;font-size:11px}.schedule-body[data-v-500e5d8e]{margin-bottom:12px}.schedule-name[data-v-500e5d8e]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:10px;line-height:1.4}.schedule-meta[data-v-500e5d8e]{display:flex;flex-wrap:wrap;gap:12px}.meta-item[data-v-500e5d8e]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted, #666666)}.meta-icon[data-v-500e5d8e]{font-size:12px}.attachments-section[data-v-500e5d8e]{border-top:1px solid var(--divider);padding-top:12px;margin-top:12px}.attachments-header[data-v-500e5d8e]{display:flex;align-items:center;gap:6px;margin-bottom:10px}.attachments-icon[data-v-500e5d8e]{font-size:14px}.attachments-title[data-v-500e5d8e]{font-size:13px;color:var(--text-muted, #666666)}.attachments-list[data-v-500e5d8e]{display:flex;flex-direction:column;gap:8px}.attachment-item[data-v-500e5d8e]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.attachment-item[data-v-500e5d8e]:hover{background:#c41e3a0d}.attachment-icon[data-v-500e5d8e]{font-size:18px}.attachment-name[data-v-500e5d8e]{flex:1;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-download[data-v-500e5d8e]{font-size:14px;opacity:.6}.schedule-empty[data-v-500e5d8e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow)}.empty-icon[data-v-500e5d8e]{font-size:48px;margin-bottom:12px;opacity:.6}.empty-text[data-v-500e5d8e]{font-size:16px;font-weight:500;color:var(--text);margin-bottom:6px}.empty-subtext[data-v-500e5d8e]{font-size:13px;color:var(--text-muted)}@media (max-width: 375px){.calendar-section[data-v-500e5d8e]{margin:12px;padding:12px}.schedule-section[data-v-500e5d8e]{margin:0 12px 16px}.date-number[data-v-500e5d8e]{font-size:14px}.today-badge[data-v-500e5d8e]{font-size:8px}.schedule-meta[data-v-500e5d8e]{gap:8px}.meta-item[data-v-500e5d8e]{font-size:12px}}@media (max-width: 320px){.calendar-grid[data-v-500e5d8e],.week-view[data-v-500e5d8e]{gap:2px}.calendar-date[data-v-500e5d8e],.week-date[data-v-500e5d8e]{min-height:40px}.week-day-header[data-v-500e5d8e]{font-size:12px}}.video-container[data-v-8a873513]{position:relative;width:100%;background:#000;overflow:hidden}.video-player[data-v-8a873513]{width:100%;height:auto;max-height:56.25vw;display:block}.video-progress[data-v-8a873513]{position:absolute;bottom:0;left:0;right:0;height:4px;background:#fff3}.video-progress-fill[data-v-8a873513]{height:100%;width:35%;background:var(--card-bg);position:relative}.video-progress-fill[data-v-8a873513]:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--card-bg);border-radius:50%;box-shadow:0 2px 8px #0000004d}.course-title[data-v-8a873513]{font-size:20px;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.4}.course-meta-row[data-v-8a873513]{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.meta-text[data-v-8a873513]{font-size:13px;color:var(--text-muted)}.course-stats[data-v-8a873513]{display:flex;gap:20px;padding:16px 0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}.stat-item[data-v-8a873513]{text-align:center;flex:1}.stat-value[data-v-8a873513]{font-size:20px;font-weight:700;color:var(--primary);margin-bottom:4px}.stat-label[data-v-8a873513]{font-size:12px;color:var(--text-muted)}.teacher-card[data-v-8a873513]{display:flex;gap:16px;align-items:flex-start}.teacher-avatar[data-v-8a873513]{width:64px;height:64px;background:var(--primary-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}.teacher-info[data-v-8a873513]{flex:1}.teacher-name[data-v-8a873513]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.teacher-title[data-v-8a873513]{font-size:13px;color:var(--primary);margin-bottom:8px}.teacher-desc[data-v-8a873513]{font-size:13px;color:var(--text-secondary);line-height:1.6}.chapter-list[data-v-8a873513]{display:flex;flex-direction:column;gap:8px}.chapter-item[data-v-8a873513]{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:2px solid transparent}.chapter-item[data-v-8a873513]:hover{background:var(--card-bg);border-color:var(--border)}.chapter-item.active[data-v-8a873513]{background:#c41e3a0d;border-color:var(--primary)}.chapter-item.completed[data-v-8a873513]{background:#43e97b0d}.chapter-number[data-v-8a873513]{width:32px;height:32px;background:var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.chapter-item.active .chapter-number[data-v-8a873513]{background:var(--primary);color:#fff}.chapter-item.completed .chapter-number[data-v-8a873513]{background:#43e97b;color:#fff}.chapter-content[data-v-8a873513]{flex:1}.chapter-title[data-v-8a873513]{font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}.chapter-meta[data-v-8a873513]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.completed-tag[data-v-8a873513]{color:#43e97b;font-weight:500}.chapter-status[data-v-8a873513]{font-size:16px;color:var(--text-muted)}.chapter-status .playing[data-v-8a873513]{color:var(--primary)}.intro-content[data-v-8a873513]{font-size:14px;color:var(--text-secondary);line-height:1.8}.intro-content p[data-v-8a873513]{margin-bottom:12px}.bottom-actions[data-v-8a873513]{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);padding:12px 16px;display:flex;gap:12px;box-shadow:0 -4px 20px var(--shadow);z-index:100}.action-btn[data-v-8a873513]{flex:1;height:44px;border-radius:22px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);border:none}.action-btn.secondary[data-v-8a873513]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.action-btn.secondary[data-v-8a873513]:hover{background:var(--border)}.action-btn.primary[data-v-8a873513]{background:var(--primary-gradient);color:#fff}.action-btn.primary[data-v-8a873513]:hover{transform:translateY(-2px);box-shadow:var(--shadow-red)}@media (max-width: 375px){.course-title[data-v-8a873513]{font-size:18px}.course-meta-row[data-v-8a873513]{flex-wrap:wrap;gap:8px}.teacher-card[data-v-8a873513]{gap:12px}.teacher-avatar[data-v-8a873513]{width:56px;height:56px;font-size:28px}.teacher-name[data-v-8a873513]{font-size:15px}.teacher-title[data-v-8a873513],.teacher-desc[data-v-8a873513]{font-size:12px}.chapter-content[data-v-8a873513]{min-width:0}.chapter-title[data-v-8a873513]{font-size:14px}.chapter-meta[data-v-8a873513]{font-size:11px}}@media (max-width: 320px){.course-stats[data-v-8a873513]{gap:16px}.stat-value[data-v-8a873513]{font-size:18px}.stat-label[data-v-8a873513]{font-size:11px}}.profile-header[data-v-ffe9cb63]{background:var(--primary-gradient);padding:24px 20px;color:#fff;position:relative;overflow:hidden}.profile-bg[data-v-ffe9cb63]{position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%)}.profile-content[data-v-ffe9cb63]{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.avatar-section[data-v-ffe9cb63]{position:relative}.avatar[data-v-ffe9cb63]{width:72px;height:72px;background:var(--card-bg);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:36px;box-shadow:var(--shadow-red)}.avatar-edit[data-v-ffe9cb63]{position:absolute;bottom:0;right:0;width:24px;height:24px;background:#ffffffe6;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text);cursor:pointer;transition:var(--transition-fast)}.avatar-edit[data-v-ffe9cb63]:hover{background:#fff;transform:scale(1.1)}.user-info[data-v-ffe9cb63]{flex:1}.user-name[data-v-ffe9cb63]{font-size:20px;font-weight:600;margin-bottom:4px}.user-dept[data-v-ffe9cb63]{font-size:13px;opacity:.85;margin-bottom:8px}.user-level[data-v-ffe9cb63]{display:flex;align-items:center;gap:8px}.level-badge[data-v-ffe9cb63]{padding:2px 8px;background:var(--gold-gradient);color:var(--primary-dark);border-radius:10px;font-size:11px;font-weight:600}.level-name[data-v-ffe9cb63]{font-size:12px;opacity:.9}.profile-actions[data-v-ffe9cb63]{display:flex;flex-direction:column;gap:8px}.action-btn[data-v-ffe9cb63]{width:36px;height:36px;background:#ffffff26;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:var(--transition)}.action-btn[data-v-ffe9cb63]:hover{background:#ffffff40;transform:scale(1.1)}.menu-section[data-v-ffe9cb63]{padding:0 16px 90px}.menu-group[data-v-ffe9cb63]{background:var(--card-bg);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow)}.menu-title[data-v-ffe9cb63]{font-size:15px;font-weight:600;color:var(--text);border-bottom:1px solid var(--divider);position:relative;padding:16px 16px 16px 28px}.menu-title[data-v-ffe9cb63]:before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:4px;height:16px;background:var(--primary-gradient);border-radius:2px}.menu-list[data-v-ffe9cb63]{padding:8px 0}.menu-item[data-v-ffe9cb63]{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:var(--transition-fast)}.menu-item[data-v-ffe9cb63]:hover{background:#c41e3a08}.menu-item[data-v-ffe9cb63]:active{background:var(--border-light)}.menu-icon[data-v-ffe9cb63]{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0}.menu-text[data-v-ffe9cb63]{flex:1;font-size:15px;color:var(--text)}.menu-badge[data-v-ffe9cb63]{padding:2px 8px;background:var(--primary);color:#fff;border-radius:10px;font-size:11px;font-weight:500}.menu-extra[data-v-ffe9cb63]{font-size:13px;color:var(--text-muted)}.menu-arrow[data-v-ffe9cb63]{font-size:20px;color:var(--text-muted)}.logout-section[data-v-ffe9cb63]{padding:20px;margin-top:8px}.logout-btn[data-v-ffe9cb63]{width:100%;padding:14px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--primary);font-size:15px;font-weight:500;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.logout-btn[data-v-ffe9cb63]:hover{background:#c41e3a0d;border-color:var(--primary-light);box-shadow:var(--shadow-red)}.logout-btn[data-v-ffe9cb63]:active{transform:scale(.98)}.bottom-nav[data-v-ffe9cb63]{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:8px 0 max(12px,env(safe-area-inset-bottom));z-index:100;box-shadow:0 -4px 20px var(--shadow)}.nav-item[data-v-ffe9cb63]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 16px;cursor:pointer;color:var(--text-muted);transition:var(--transition);position:relative}.nav-item[data-v-ffe9cb63]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--primary);border-radius:0 0 3px 3px;transition:var(--transition)}.nav-item.active[data-v-ffe9cb63]{color:var(--primary)}.nav-item.active[data-v-ffe9cb63]:before{width:20px}.nav-icon[data-v-ffe9cb63]{font-size:22px;transition:var(--transition)}.nav-item:hover .nav-icon[data-v-ffe9cb63]{transform:translateY(-2px)}.nav-text[data-v-ffe9cb63]{font-size:11px;font-weight:500}@media (max-width: 375px){.profile-header[data-v-ffe9cb63]{padding:20px 16px}.avatar[data-v-ffe9cb63]{width:64px;height:64px;font-size:32px}.user-name[data-v-ffe9cb63]{font-size:18px}.menu-section[data-v-ffe9cb63]{padding:0 12px 90px}.menu-group[data-v-ffe9cb63]{margin-bottom:10px}.menu-title[data-v-ffe9cb63]{padding:14px 16px 14px 28px}.menu-item[data-v-ffe9cb63]{padding:12px 14px}.menu-icon[data-v-ffe9cb63]{width:28px;height:28px;font-size:14px}.menu-text[data-v-ffe9cb63]{font-size:14px}}@media (max-width: 320px){.profile-content[data-v-ffe9cb63]{gap:12px}.avatar[data-v-ffe9cb63]{width:56px;height:56px;font-size:28px}.user-name[data-v-ffe9cb63]{font-size:16px}.user-dept[data-v-ffe9cb63]{font-size:12px}.action-btn[data-v-ffe9cb63]{width:32px;height:32px;font-size:14px}}.loading-overlay[data-v-5d628af6]{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner[data-v-5d628af6]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-5d628af6 1s linear infinite;margin-bottom:12px}@keyframes spin-5d628af6{to{transform:rotate(360deg)}}.loading-overlay p[data-v-5d628af6]{font-size:14px;color:var(--text-muted)}.header[data-v-5d628af6]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-5d628af6]{display:flex;align-items:center;gap:12px}.back-btn[data-v-5d628af6]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition)}.back-btn[data-v-5d628af6]:hover{background:#ffffff1a}.header-title[data-v-5d628af6]{flex:1;font-size:17px;font-weight:600;text-align:center}.header-btn[data-v-5d628af6]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border-radius:50%;transition:var(--transition)}.header-btn[data-v-5d628af6]:hover{background:#ffffff1a}.stats-section[data-v-5d628af6]{padding:16px}.stats-card[data-v-5d628af6]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.stats-header[data-v-5d628af6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stats-header h2[data-v-5d628af6]{font-size:16px;font-weight:600}.stats-date[data-v-5d628af6]{font-size:13px;color:var(--text-muted)}.stats-grid[data-v-5d628af6]{display:flex;gap:16px;margin-bottom:20px}.stat-item[data-v-5d628af6]{flex:1;text-align:center;padding:12px;background:var(--bg);border-radius:var(--radius-md)}.stat-value[data-v-5d628af6]{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}.stat-label[data-v-5d628af6]{font-size:12px;color:var(--text-muted)}.heatmap[data-v-5d628af6]{margin-top:20px}.heatmap-title[data-v-5d628af6]{font-size:14px;font-weight:600;margin-bottom:12px}.heatmap-grid[data-v-5d628af6]{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.heatmap-cell[data-v-5d628af6]{aspect-ratio:1;border-radius:4px;background:var(--bg)}.heatmap-cell.level-0[data-v-5d628af6]{background:var(--bg)}.heatmap-cell.level-1[data-v-5d628af6]{background:#c41e3a33}.heatmap-cell.level-2[data-v-5d628af6]{background:#c41e3a66}.heatmap-cell.level-3[data-v-5d628af6]{background:#c41e3a99}.heatmap-cell.level-4[data-v-5d628af6]{background:#c41e3acc}.record-section[data-v-5d628af6]{padding:0 16px 90px}.section-header[data-v-5d628af6]{margin-bottom:16px}.section-title[data-v-5d628af6]{font-size:16px;font-weight:600;margin-bottom:12px}.filter-tabs[data-v-5d628af6]{display:flex;gap:12px}.filter-tab[data-v-5d628af6]{padding:6px 16px;background:var(--bg);border-radius:20px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.filter-tab.active[data-v-5d628af6]{background:var(--primary);color:#fff}.record-list[data-v-5d628af6]{display:flex;flex-direction:column;gap:12px}.record-item[data-v-5d628af6]{display:flex;gap:12px;padding:16px;background:var(--card-bg);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--shadow);cursor:pointer;transition:var(--transition)}.record-item[data-v-5d628af6]:hover{box-shadow:0 4px 12px var(--shadow-hover);transform:translateY(-2px)}.record-date[data-v-5d628af6]{width:48px;text-align:center;padding:8px;background:var(--bg);border-radius:var(--radius-sm)}.date-day[data-v-5d628af6]{font-size:20px;font-weight:700;color:var(--primary)}.date-month[data-v-5d628af6]{font-size:11px;color:var(--text-muted)}.record-content[data-v-5d628af6]{flex:1}.record-title[data-v-5d628af6]{font-size:15px;font-weight:600;margin-bottom:4px}.record-chapter[data-v-5d628af6]{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.record-meta[data-v-5d628af6]{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.record-status[data-v-5d628af6]{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.record-status.completed[data-v-5d628af6]{background:#43e97b1a;color:#43e97b}.record-status.learning[data-v-5d628af6]{background:#c41e3a1a;color:var(--primary)}@media (max-width: 375px){.stats-grid[data-v-5d628af6]{grid-template-columns:repeat(2,1fr);gap:10px}.stat-value[data-v-5d628af6]{font-size:24px}.stat-label[data-v-5d628af6]{font-size:12px}.heatmap-grid[data-v-5d628af6]{gap:3px}.heatmap-cell[data-v-5d628af6]{width:10px;height:10px}.record-item[data-v-5d628af6]{padding:12px;gap:10px}.record-date[data-v-5d628af6]{width:44px;padding:6px}.date-day[data-v-5d628af6]{font-size:18px}.record-title[data-v-5d628af6]{font-size:14px}.record-chapter[data-v-5d628af6]{font-size:12px}}@media (max-width: 320px){.heatmap-cell[data-v-5d628af6]{width:8px;height:8px}.record-meta[data-v-5d628af6]{flex-wrap:wrap;gap:6px}}.empty-state[data-v-dbbfbdc5]{display:flex;flex-direction:column;align-items:center;padding:40px 20px}.empty-state.center[data-v-dbbfbdc5]{justify-content:center;min-height:300px}.empty-icon[data-v-dbbfbdc5]{color:var(--text-muted, #999999);opacity:.5;margin-bottom:16px}.empty-icon svg[data-v-dbbfbdc5]{width:100%;height:100%}.empty-title[data-v-dbbfbdc5]{font-size:16px;color:var(--text-secondary, #666666);margin-bottom:8px}.empty-description[data-v-dbbfbdc5]{font-size:13px;color:var(--text-muted, #999999);margin-bottom:20px}.empty-action[data-v-dbbfbdc5]{padding:10px 24px;background:var(--primary, #c41e3a);color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.empty-action[data-v-dbbfbdc5]:hover{opacity:.9;transform:translateY(-1px)}.loading-spinner[data-v-348b9386]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.loading-spinner.overlay[data-v-348b9386]{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;z-index:50}.loading-spinner.fullscreen[data-v-348b9386]{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;z-index:1000}.spinner[data-v-348b9386]{position:relative}.spinner-circle[data-v-348b9386]{width:100%;height:100%;border:3px solid var(--border, #e8e8e8);border-top-color:var(--primary, #c41e3a);border-radius:50%;animation:spin-348b9386 1s linear infinite}@keyframes spin-348b9386{to{transform:rotate(360deg)}}.loading-text[data-v-348b9386]{font-size:14px;color:var(--text-muted, #999999);margin:0}.header[data-v-2850dce2]{background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,#8b0000 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-2850dce2]{display:flex;align-items:center;gap:12px}.back-btn[data-v-2850dce2],.header-btn[data-v-2850dce2]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .3s ease;background:transparent;border:none;color:#fff}.back-btn[data-v-2850dce2]:hover,.header-btn[data-v-2850dce2]:hover{background:#ffffff1a}.back-btn svg[data-v-2850dce2],.header-btn svg[data-v-2850dce2]{width:20px;height:20px}.header-placeholder[data-v-2850dce2]{width:36px;height:36px}.header-title[data-v-2850dce2]{flex:1;font-size:17px;font-weight:600;text-align:center;margin:0}.header-actions[data-v-2850dce2]{display:flex;gap:8px}.toast-container[data-v-455f1958]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:16px 24px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10000;min-width:120px;max-width:280px;box-shadow:0 4px 20px #00000026}.toast-icon[data-v-455f1958]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.toast-success .toast-icon[data-v-455f1958]{background:#52c41a}.toast-error .toast-icon[data-v-455f1958]{background:#ff4d4f}.toast-warning .toast-icon[data-v-455f1958]{background:#faad14}.toast-info .toast-icon[data-v-455f1958]{background:#1890ff}.toast-message[data-v-455f1958]{font-size:14px;text-align:center;line-height:1.4;word-break:break-all}.toast-fade-enter-active[data-v-455f1958],.toast-fade-leave-active[data-v-455f1958]{transition:all .2s ease}.toast-fade-enter-from[data-v-455f1958],.toast-fade-leave-to[data-v-455f1958]{opacity:0;transform:translate(-50%,-50%) scale(.9)}.toast-fade-enter-to[data-v-455f1958],.toast-fade-leave-from[data-v-455f1958]{opacity:1;transform:translate(-50%,-50%) scale(1)}@media (max-width: 375px){.toast-container[data-v-455f1958]{padding:14px 20px;min-width:100px;max-width:240px}.toast-icon[data-v-455f1958]{width:36px;height:36px;font-size:18px}.toast-message[data-v-455f1958]{font-size:13px}}.page-container[data-v-0e71223c]{min-height:100vh;background:var(--bg, #f5f7fa);padding-bottom:90px}.header[data-v-0e71223c]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-0e71223c]{display:flex;align-items:center;gap:12px}.back-btn[data-v-0e71223c]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition)}.back-btn[data-v-0e71223c]:hover{background:#ffffff1a}.header-title[data-v-0e71223c]{flex:1;font-size:17px;font-weight:600;text-align:center}.main-content[data-v-0e71223c]{padding:16px}.loading-wrapper[data-v-0e71223c],.error-wrapper[data-v-0e71223c]{padding:60px 20px}.exam-list[data-v-0e71223c]{display:flex;flex-direction:column;gap:12px}.exam-card[data-v-0e71223c]{background:#fff;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.exam-card[data-v-0e71223c]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.exam-header[data-v-0e71223c]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.exam-title[data-v-0e71223c]{flex:1;font-size:16px;font-weight:600;color:var(--text);line-height:1.4;margin-right:8px}.exam-status[data-v-0e71223c]{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.exam-status.ongoing[data-v-0e71223c]{background:#dbeafe;color:#1d4ed8}.exam-status.completed[data-v-0e71223c]{background:#dcfce7;color:#15803d}.exam-status.upcoming[data-v-0e71223c]{background:#f3f4f6;color:#6b7280}.exam-info[data-v-0e71223c]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.info-item[data-v-0e71223c]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.info-icon[data-v-0e71223c]{font-size:14px}.exam-score[data-v-0e71223c]{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.score-label[data-v-0e71223c]{font-size:13px;color:var(--text-muted)}.score-value[data-v-0e71223c]{font-size:18px;font-weight:700;color:var(--primary)}.header-btn[data-v-0e71223c]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .3s ease;background:transparent;border:none;color:#fff}.header-btn[data-v-0e71223c]:hover{background:#ffffff1a}.header-btn svg[data-v-0e71223c]{width:20px;height:20px}.stats-section[data-v-0e71223c]{margin-bottom:20px}.stats-grid[data-v-0e71223c]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats-card[data-v-0e71223c]{background:#fff;border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 8px #0000000f}.stats-icon[data-v-0e71223c]{font-size:24px;margin-bottom:8px}.stats-value[data-v-0e71223c]{font-size:24px;font-weight:700;color:var(--text);margin-bottom:4px}.stats-label[data-v-0e71223c]{font-size:12px;color:var(--text-muted)}.exam-list-section[data-v-0e71223c]{margin-bottom:20px}.section-header[data-v-0e71223c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.section-title[data-v-0e71223c]{font-size:16px;font-weight:600;color:var(--text)}.filter-tabs[data-v-0e71223c]{display:flex;gap:8px}.filter-tab[data-v-0e71223c]{padding:6px 14px;font-size:13px;color:var(--text-secondary);background:#fff;border-radius:20px;cursor:pointer;transition:all .3s ease;border:none}.filter-tab.active[data-v-0e71223c]{background:var(--primary);color:#fff}.exam-card.teacher[data-v-0e71223c]{background:var(--bg)}.exam-progress[data-v-0e71223c]{display:flex;align-items:center;gap:10px;margin-top:12px}.progress-bar[data-v-0e71223c]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-0e71223c]{height:100%;background:linear-gradient(90deg,var(--primary),#ff6b6b);border-radius:3px;transition:width .3s ease}.progress-text[data-v-0e71223c]{font-size:12px;color:var(--primary);font-weight:500;min-width:36px}.exam-actions[data-v-0e71223c]{display:flex;gap:10px;margin-top:12px}.action-btn[data-v-0e71223c]{flex:1;padding:10px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.action-btn.secondary[data-v-0e71223c]{background:#fff;color:var(--text-secondary);border:1px solid var(--border)}.action-btn.secondary[data-v-0e71223c]:hover{background:var(--border)}.action-btn.primary[data-v-0e71223c]{background:var(--primary);color:#fff}.action-btn.primary[data-v-0e71223c]:hover{opacity:.9}.create-btn-wrapper[data-v-0e71223c]{position:fixed;bottom:80px;left:0;right:0;padding:16px 20px;background:#fff;box-shadow:0 -4px 20px #00000014;z-index:50}.create-btn[data-v-0e71223c]{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary) 0%,#8b0000 100%);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.create-btn[data-v-0e71223c]:hover{opacity:.95;transform:translateY(-1px)}.create-btn span[data-v-0e71223c]:first-child{font-size:20px}@media (max-width: 375px){.stats-grid[data-v-0e71223c]{gap:8px}.stats-value[data-v-0e71223c]{font-size:20px}.exam-info[data-v-0e71223c]{flex-direction:column;gap:6px}.section-header[data-v-0e71223c]{flex-direction:column;align-items:flex-start}}@media (max-width: 320px){.main-content[data-v-0e71223c]{padding:16px 12px}}.dialog-overlay[data-v-904e81a0]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.dialog-container[data-v-904e81a0]{background:#fff;border-radius:16px;width:100%;max-width:320px;box-shadow:0 8px 32px #0000001f;overflow:hidden;animation:dialog-scale-904e81a0 .2s ease-out}@keyframes dialog-scale-904e81a0{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.dialog-header[data-v-904e81a0]{padding:20px 20px 12px;text-align:center}.dialog-title[data-v-904e81a0]{font-size:18px;font-weight:600;color:#333;margin:0;line-height:1.4}.dialog-body[data-v-904e81a0]{padding:12px 20px 20px;text-align:center}.dialog-content[data-v-904e81a0]{font-size:15px;color:#666;line-height:1.5;margin:0}.dialog-footer[data-v-904e81a0]{display:flex;padding:0 16px 16px;gap:12px}.dialog-btn[data-v-904e81a0]{flex:1;padding:12px 16px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;outline:none}.dialog-btn-cancel[data-v-904e81a0]{background:#f5f7fa;color:#666}.dialog-btn-cancel[data-v-904e81a0]:hover{background:#e8e8e8}.dialog-btn-cancel[data-v-904e81a0]:active{background:#ddd}.dialog-btn-confirm[data-v-904e81a0]{background:#c41e3a;color:#fff}.dialog-btn-confirm[data-v-904e81a0]:hover{background:#a31830}.dialog-btn-confirm[data-v-904e81a0]:active{background:#8b0000}.dialog-fade-enter-active[data-v-904e81a0],.dialog-fade-leave-active[data-v-904e81a0]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-904e81a0],.dialog-fade-leave-to[data-v-904e81a0]{opacity:0}@media (max-width: 375px){.dialog-container[data-v-904e81a0]{max-width:280px}.dialog-title[data-v-904e81a0]{font-size:17px}.dialog-content[data-v-904e81a0]{font-size:14px}.dialog-btn[data-v-904e81a0]{padding:11px 14px;font-size:14px}}.header[data-v-0b66456b]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-0b66456b]{display:flex;align-items:center;gap:12px}.back-btn[data-v-0b66456b]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition)}.back-btn[data-v-0b66456b]:hover{background:#ffffff1a}.header-title[data-v-0b66456b]{flex:1;font-size:17px;font-weight:600;text-align:center}.settings-section[data-v-0b66456b]{padding:16px 16px 40px}.setting-group[data-v-0b66456b]{background:var(--card-bg);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}.group-title[data-v-0b66456b]{padding:16px;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.setting-list[data-v-0b66456b]{padding:8px 0}.setting-item[data-v-0b66456b]{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:var(--transition)}.setting-item[data-v-0b66456b]:hover{background:var(--bg)}.setting-icon[data-v-0b66456b]{width:36px;height:36px;background:var(--bg);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.setting-content[data-v-0b66456b]{flex:1}.setting-label[data-v-0b66456b]{font-size:15px;color:var(--text);margin-bottom:4px}.setting-desc[data-v-0b66456b]{font-size:12px;color:var(--text-muted)}.setting-arrow[data-v-0b66456b]{font-size:20px;color:var(--text-muted)}.setting-value[data-v-0b66456b]{font-size:14px;color:var(--text-secondary)}.setting-switch[data-v-0b66456b]{position:relative}.setting-switch input[data-v-0b66456b]{display:none}.setting-switch label[data-v-0b66456b]{width:48px;height:26px;background:var(--border);border-radius:13px;display:block;cursor:pointer;transition:var(--transition);position:relative}.setting-switch label[data-v-0b66456b]:after{content:"";position:absolute;width:22px;height:22px;background:var(--card-bg);border-radius:50%;top:2px;left:2px;transition:var(--transition);box-shadow:0 2px 4px #0000001a}.setting-switch input:checked+label[data-v-0b66456b]{background:var(--primary)}.setting-switch input:checked+label[data-v-0b66456b]:after{left:24px}.logout-section[data-v-0b66456b]{padding:16px}.logout-btn[data-v-0b66456b]{width:100%;padding:14px;background:var(--card-bg);border:1px solid var(--primary);border-radius:var(--radius-md);font-size:15px;font-weight:600;color:var(--primary);cursor:pointer;transition:var(--transition)}.logout-btn[data-v-0b66456b]:hover{background:var(--primary);color:#fff}@media (max-width: 375px){.setting-item[data-v-0b66456b]{padding:14px}.setting-icon[data-v-0b66456b]{width:32px;height:32px;font-size:16px}.setting-label[data-v-0b66456b]{font-size:14px}.setting-desc[data-v-0b66456b]{font-size:11px}.logout-btn[data-v-0b66456b]{padding:12px;font-size:14px;min-height:48px}}@media (max-width: 320px){.setting-icon[data-v-0b66456b]{width:28px;height:28px;font-size:14px}.setting-label[data-v-0b66456b]{font-size:13px}}.loading-overlay[data-v-5366918a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner[data-v-5366918a]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-5366918a 1s linear infinite;margin-bottom:12px}@keyframes spin-5366918a{to{transform:rotate(360deg)}}.loading-overlay p[data-v-5366918a]{font-size:14px;color:var(--text-muted)}.header[data-v-5366918a]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-5366918a]{display:flex;align-items:center;gap:12px}.back-btn[data-v-5366918a]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%}.header-title[data-v-5366918a]{flex:1;font-size:17px;font-weight:600;text-align:center}.stats-section[data-v-5366918a]{padding:16px}.stats-card[data-v-5366918a]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;display:flex;justify-content:space-around;box-shadow:0 2px 8px var(--shadow)}.stat-item[data-v-5366918a]{text-align:center}.stat-value[data-v-5366918a]{font-size:28px;font-weight:700;color:var(--primary);margin-bottom:4px}.stat-label[data-v-5366918a]{font-size:13px;color:var(--text-muted)}.filter-section[data-v-5366918a]{padding:0 16px 16px}.filter-tabs[data-v-5366918a]{display:flex;gap:12px}.filter-tab[data-v-5366918a]{flex:1;padding:10px;background:var(--bg);border-radius:20px;font-size:14px;color:var(--text-secondary);text-align:center;cursor:pointer;transition:var(--transition)}.filter-tab.active[data-v-5366918a]{background:var(--primary);color:#fff}.course-list[data-v-5366918a]{padding:0 16px 20px}.course-card[data-v-5366918a]{background:var(--card-bg);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;display:flex;gap:12px;box-shadow:0 2px 8px var(--shadow);cursor:pointer;transition:var(--transition)}.course-card[data-v-5366918a]:hover{box-shadow:0 4px 12px var(--shadow-hover)}.course-thumb[data-v-5366918a]{width:100px;height:70px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;position:relative}.play-btn[data-v-5366918a]{position:absolute;width:32px;height:32px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--primary)}.completed-badge[data-v-5366918a]{position:absolute;width:24px;height:24px;background:#43e97b;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff}.course-info[data-v-5366918a]{flex:1}.course-title[data-v-5366918a]{font-size:15px;font-weight:600;margin-bottom:8px;line-height:1.4}.course-meta[data-v-5366918a]{display:flex;gap:8px;margin-bottom:8px}.course-tag[data-v-5366918a]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.course-tag.required[data-v-5366918a]{background:var(--primary);color:#fff}.course-tag.elective[data-v-5366918a]{background:#4facfe;color:#fff}.course-progress[data-v-5366918a]{margin-bottom:8px}.progress-bar[data-v-5366918a]{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill[data-v-5366918a]{height:100%;background:var(--primary);border-radius:3px;transition:width .3s}.progress-text[data-v-5366918a]{font-size:12px;color:var(--primary);font-weight:500}.course-footer[data-v-5366918a]{display:flex;justify-content:space-between;align-items:center}.last-study[data-v-5366918a]{font-size:12px;color:var(--text-muted)}.continue-btn[data-v-5366918a],.review-btn[data-v-5366918a]{padding:6px 16px;border-radius:12px;font-size:12px;font-weight:500;border:none;cursor:pointer}.continue-btn[data-v-5366918a]{background:var(--primary);color:#fff}.review-btn[data-v-5366918a]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.empty-state[data-v-5366918a]{padding:60px 20px;text-align:center}.empty-icon[data-v-5366918a]{font-size:64px;margin-bottom:16px}.empty-text[data-v-5366918a]{font-size:16px;color:var(--text-muted)}@media (max-width: 375px){.stats-grid[data-v-5366918a]{gap:12px}.stat-value[data-v-5366918a]{font-size:28px}.stat-label[data-v-5366918a]{font-size:12px}.course-card[data-v-5366918a]{padding:14px}.course-title[data-v-5366918a]{font-size:15px}.course-meta[data-v-5366918a]{flex-wrap:wrap;gap:6px 12px}.continue-btn[data-v-5366918a],.review-btn[data-v-5366918a]{padding:6px 14px;font-size:12px;min-height:32px}}@media (max-width: 320px){.course-card[data-v-5366918a]{padding:12px}.course-title[data-v-5366918a]{font-size:14px}.course-footer[data-v-5366918a]{flex-direction:column;align-items:flex-start;gap:8px}}.category-section[data-v-7a24f6d0]{padding:16px;background:var(--card-bg);border-bottom:1px solid var(--divider)}.category-tabs[data-v-7a24f6d0]{display:flex;gap:12px}.category-tab[data-v-7a24f6d0]{flex:1;padding:10px;background:var(--bg);border-radius:20px;font-size:14px;color:var(--text-secondary);text-align:center;cursor:pointer;transition:var(--transition);position:relative;border:1px solid transparent}.category-tab[data-v-7a24f6d0]:hover{background:#c41e3a0d}.category-tab.active[data-v-7a24f6d0]{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-red)}.badge[data-v-7a24f6d0]{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--gold-gradient);border-radius:50%;font-size:11px;color:var(--primary-dark);font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.message-list[data-v-7a24f6d0]{padding:16px 16px 100px}.message-item[data-v-7a24f6d0]{display:flex;gap:12px;padding:16px;background:var(--card-bg);border-radius:var(--radius-md);margin-bottom:12px;cursor:pointer;transition:var(--transition);position:relative;box-shadow:var(--shadow-sm)}.message-item[data-v-7a24f6d0]:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.message-item.unread[data-v-7a24f6d0]{background:#c41e3a08;border-left:3px solid var(--primary)}.message-icon[data-v-7a24f6d0]{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:var(--shadow-sm)}.message-icon.system[data-v-7a24f6d0]{background:#c41e3a1a}.message-icon.course[data-v-7a24f6d0]{background:#42a5f51a}.message-icon.exam[data-v-7a24f6d0]{background:#ffa7261a}.message-content[data-v-7a24f6d0]{flex:1;min-width:0}.message-header[data-v-7a24f6d0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.message-title[data-v-7a24f6d0]{font-size:15px;font-weight:600;color:var(--text)}.message-time[data-v-7a24f6d0]{font-size:12px;color:var(--text-muted);flex-shrink:0}.message-body[data-v-7a24f6d0]{font-size:14px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.unread-indicator[data-v-7a24f6d0]{width:8px;height:8px;background:var(--primary);border-radius:50%;flex-shrink:0;margin-top:6px;box-shadow:0 0 4px #c41e3a80}.empty-state[data-v-7a24f6d0]{padding:100px 20px;text-align:center}.empty-icon[data-v-7a24f6d0]{font-size:64px;margin-bottom:16px;opacity:.6}.empty-text[data-v-7a24f6d0]{font-size:16px;font-weight:500;color:var(--text);margin-bottom:8px}.empty-subtext[data-v-7a24f6d0]{font-size:14px;color:var(--text-muted)}@media (max-width: 375px){.category-section[data-v-7a24f6d0]{padding:12px}.category-tab[data-v-7a24f6d0]{padding:8px;font-size:13px}.message-list[data-v-7a24f6d0]{padding:12px 12px 90px}.message-item[data-v-7a24f6d0]{padding:14px;gap:10px}.message-icon[data-v-7a24f6d0]{width:40px;height:40px;font-size:18px}.message-title[data-v-7a24f6d0]{font-size:14px}.message-body[data-v-7a24f6d0]{font-size:13px}}@media (max-width: 320px){.message-header[data-v-7a24f6d0]{flex-direction:column;align-items:flex-start;gap:4px}.message-time[data-v-7a24f6d0]{font-size:11px}.category-tabs[data-v-7a24f6d0]{gap:8px}.category-tab[data-v-7a24f6d0]{font-size:12px}}.page-header[data-v-9ed317a5]{background:var(--primary-gradient);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-9ed317a5]{display:flex;align-items:center;gap:12px}.back-btn[data-v-9ed317a5]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:var(--radius-full);transition:var(--transition-fast)}.back-btn[data-v-9ed317a5]:hover{background:#ffffff1a}.header-title[data-v-9ed317a5]{flex:1;font-size:17px;font-weight:600;text-align:center}.checkin-card[data-v-9ed317a5]{background:var(--card-bg);margin:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.card-header[data-v-9ed317a5]{padding:20px;background:var(--primary-gradient)}.school-info[data-v-9ed317a5]{display:flex;align-items:center;gap:12px}.school-icon[data-v-9ed317a5]{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;box-shadow:var(--shadow-md)}.school-name[data-v-9ed317a5]{font-size:18px;font-weight:600;color:#fff;margin-bottom:2px}.class-name[data-v-9ed317a5]{font-size:13px;color:#fffc}.qr-section[data-v-9ed317a5]{padding:30px;background:var(--card-bg);text-align:center}.qr-code[data-v-9ed317a5]{width:200px;height:200px;margin:0 auto 16px;background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-sm)}.qr-placeholder[data-v-9ed317a5]{font-size:12px;line-height:1.2;color:var(--text)}.qr-pattern[data-v-9ed317a5]{letter-spacing:2px}.qr-logo[data-v-9ed317a5]{position:absolute;width:40px;height:40px;background:var(--card-bg);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--primary);box-shadow:var(--shadow)}.qr-hint[data-v-9ed317a5]{font-size:14px;color:var(--text-muted)}.status-section[data-v-9ed317a5]{padding:20px;border-top:1px solid var(--divider)}.status-item[data-v-9ed317a5]{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg);border-radius:var(--radius-md);margin-bottom:12px;transition:var(--transition-fast)}.status-item[data-v-9ed317a5]:last-child{margin-bottom:0}.status-item.active[data-v-9ed317a5]{background:#43e97b14;border:1px solid rgba(67,233,123,.2)}.status-icon[data-v-9ed317a5]{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;box-shadow:var(--shadow-sm)}.status-text[data-v-9ed317a5]{flex:1}.status-label[data-v-9ed317a5]{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.status-time[data-v-9ed317a5]{font-size:13px;color:#43a047;font-weight:500}.status-pending[data-v-9ed317a5]{font-size:13px;color:var(--text-muted)}.status-badge[data-v-9ed317a5]{padding:6px 12px;background:var(--bg);border-radius:12px;font-size:12px;color:var(--text-muted);font-weight:500}.status-badge.checked[data-v-9ed317a5]{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;box-shadow:0 2px 8px #43e97b4d}.stats-section[data-v-9ed317a5]{padding:20px;border-top:1px solid var(--divider)}.stats-grid[data-v-9ed317a5]{display:flex;justify-content:space-around}.stats-item[data-v-9ed317a5]{text-align:center}.stats-value[data-v-9ed317a5]{font-size:24px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.stats-label[data-v-9ed317a5]{font-size:13px;color:var(--text-muted)}.record-section[data-v-9ed317a5]{background:var(--card-bg);margin:0 16px 20px;padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.section-header[data-v-9ed317a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-9ed317a5]{font-size:16px;font-weight:600;color:var(--text);position:relative;padding-left:12px}.section-title[data-v-9ed317a5]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;background:var(--primary-gradient);border-radius:2px}.section-more[data-v-9ed317a5]{font-size:13px;color:var(--primary);cursor:pointer;transition:var(--transition-fast)}.section-more[data-v-9ed317a5]:hover{color:var(--primary-dark)}.record-list[data-v-9ed317a5]{display:flex;flex-direction:column;gap:12px}.record-item[data-v-9ed317a5]{display:flex;gap:12px;padding:14px;background:var(--bg);border-radius:var(--radius-md);transition:var(--transition-fast)}.record-item[data-v-9ed317a5]:hover{background:#c41e3a08}.record-date[data-v-9ed317a5]{width:48px;text-align:center;padding:8px;background:var(--card-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-shrink:0}.date-day[data-v-9ed317a5]{font-size:20px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.date-month[data-v-9ed317a5]{font-size:11px;color:var(--text-muted)}.record-content[data-v-9ed317a5]{flex:1}.record-status[data-v-9ed317a5]{font-size:14px;font-weight:500;margin-bottom:4px}.record-status.checked[data-v-9ed317a5]{color:#43a047}.record-status.late[data-v-9ed317a5]{color:#ff8f00}.record-status.absent[data-v-9ed317a5]{color:var(--text-muted)}.record-time[data-v-9ed317a5]{font-size:12px;color:var(--text-muted)}@media (max-width: 375px){.checkin-card[data-v-9ed317a5]{margin:12px}.qr-code[data-v-9ed317a5]{width:160px;height:160px}.status-item[data-v-9ed317a5]{padding:12px}.status-icon[data-v-9ed317a5]{width:36px;height:36px;font-size:18px}.status-label[data-v-9ed317a5]{font-size:14px}.record-section[data-v-9ed317a5]{margin:0 12px 16px;padding:16px}.record-item[data-v-9ed317a5]{padding:12px}.record-date[data-v-9ed317a5]{width:44px;padding:6px}.date-day[data-v-9ed317a5]{font-size:18px}}@media (max-width: 320px){.qr-code[data-v-9ed317a5]{width:140px;height:140px}.stats-value[data-v-9ed317a5]{font-size:20px}.record-date[data-v-9ed317a5]{width:40px}}.header[data-v-13c3e431]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff}.header-content[data-v-13c3e431]{display:flex;align-items:center;gap:12px}.back-btn[data-v-13c3e431]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.header-title[data-v-13c3e431]{flex:1;font-size:17px;font-weight:600;text-align:center}.content[data-v-13c3e431]{padding:20px}.seat-info-card[data-v-13c3e431]{background:var(--card-bg);border-radius:var(--radius-lg);padding:30px;text-align:center;margin-bottom:16px;box-shadow:0 2px 8px var(--shadow)}.seat-label[data-v-13c3e431]{font-size:14px;color:var(--text-muted);margin-bottom:8px}.seat-number[data-v-13c3e431]{font-size:48px;font-weight:700;color:var(--primary);margin-bottom:8px}.seat-location[data-v-13c3e431]{font-size:16px;color:var(--text-secondary)}.seat-status[data-v-13c3e431]{display:flex;gap:16px;margin-bottom:20px}.status-item[data-v-13c3e431]{flex:1;background:var(--card-bg);border-radius:var(--radius-lg);padding:16px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px var(--shadow)}.status-dot[data-v-13c3e431]{width:12px;height:12px;border-radius:50%}.status-dot.green[data-v-13c3e431]{background:#43e97b}.status-dot.red[data-v-13c3e431]{background:#ff6b6b}.seat-rules[data-v-13c3e431]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.rule-title[data-v-13c3e431]{font-size:16px;font-weight:600;margin-bottom:12px}.rule-item[data-v-13c3e431]{font-size:14px;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.header[data-v-35204a94]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff}.header-content[data-v-35204a94]{display:flex;align-items:center;gap:12px}.back-btn[data-v-35204a94]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.header-title[data-v-35204a94]{flex:1;font-size:17px;font-weight:600;text-align:center}.content[data-v-35204a94]{padding:20px}.course-list[data-v-35204a94]{display:flex;flex-direction:column;gap:16px}.course-card[data-v-35204a94]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.course-title[data-v-35204a94]{font-size:16px;font-weight:600;margin-bottom:8px}.course-teacher[data-v-35204a94]{font-size:13px;color:var(--text-muted);margin-bottom:16px}.rating-section[data-v-35204a94]{margin-bottom:16px}.rating-label[data-v-35204a94]{font-size:14px;margin-bottom:8px}.stars[data-v-35204a94]{display:flex;gap:8px}.star[data-v-35204a94]{font-size:28px;color:var(--border);cursor:pointer}.star.active[data-v-35204a94]{color:#fa709a}.comment-input[data-v-35204a94]{width:100%;height:80px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;resize:none;margin-bottom:16px}.submit-btn[data-v-35204a94]{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer}.page-container[data-v-51c5638b]{min-height:100vh;background:var(--bg);padding-bottom:20px}.header[data-v-51c5638b]{background:linear-gradient(135deg,#c41e3a,#8b0000);padding:48px 16px 12px;color:#fff}.header-content[data-v-51c5638b]{display:flex;align-items:center;justify-content:space-between}.back-btn[data-v-51c5638b]{font-size:20px;cursor:pointer}.stats-section[data-v-51c5638b]{padding:16px}.stats-card[data-v-51c5638b]{background:var(--card-bg);border-radius:12px;padding:20px;display:flex;justify-content:space-around}.stat-item[data-v-51c5638b]{text-align:center}.stat-value[data-v-51c5638b]{font-size:24px;font-weight:700;color:#c41e3a}.stat-label[data-v-51c5638b]{font-size:13px;color:#666;margin-top:4px}.calendar-section[data-v-51c5638b]{background:var(--card-bg);margin:0 16px 12px;padding:16px;border-radius:12px}.calendar-header[data-v-51c5638b]{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:16px}.nav-btn[data-v-51c5638b]{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg);font-size:16px;cursor:pointer}.week-title[data-v-51c5638b]{font-size:16px;font-weight:600}.week-range[data-v-51c5638b]{font-size:12px;color:#999;margin-left:8px}.week-days[data-v-51c5638b]{display:flex;justify-content:space-around;padding:0 8px}.day-item[data-v-51c5638b]{display:flex;flex-direction:column;align-items:center;padding:10px 8px;border-radius:8px;cursor:pointer;position:relative;min-width:40px;flex:1}.day-item.active[data-v-51c5638b]{background:#c41e3a;color:#fff}.day-item.today[data-v-51c5638b]{font-weight:600}.day-week[data-v-51c5638b]{font-size:11px;margin-bottom:4px;white-space:nowrap}.day-date[data-v-51c5638b]{font-size:15px;font-weight:600}.course-badge[data-v-51c5638b]{position:absolute;top:2px;right:2px;width:14px;height:14px;background:#c41e3a;color:#fff;border-radius:50%;font-size:9px;display:flex;align-items:center;justify-content:center}.course-section[data-v-51c5638b]{padding:0 16px}.section-header[data-v-51c5638b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title[data-v-51c5638b]{font-size:16px;font-weight:600}.course-count[data-v-51c5638b]{font-size:13px;color:#999}.course-card[data-v-51c5638b]{background:var(--card-bg);border-radius:12px;padding:12px;margin-bottom:12px;border-left:4px solid #ddd}.course-card.ongoing[data-v-51c5638b]{border-left-color:#c41e3a}.course-card.finished[data-v-51c5638b]{border-left-color:#52c41a}.course-time[data-v-51c5638b]{display:flex;gap:6px;margin-bottom:6px;font-size:13px;color:#666;flex-wrap:wrap}.course-header[data-v-51c5638b]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;gap:8px}.course-title[data-v-51c5638b]{font-size:14px;font-weight:600;flex:1;line-height:1.4}.status-tag[data-v-51c5638b]{font-size:11px;padding:2px 6px;border-radius:4px;background:#f0f0f0;white-space:nowrap;flex-shrink:0}.status-tag.ongoing[data-v-51c5638b]{background:#fff2f0;color:#c41e3a}.course-meta[data-v-51c5638b]{font-size:12px;color:#666;margin-bottom:6px;line-height:1.5}.course-meta span[data-v-51c5638b]{margin-right:12px}.course-tags[data-v-51c5638b]{display:flex;gap:6px;flex-wrap:wrap}.tag[data-v-51c5638b]{font-size:10px;padding:2px 6px;background:var(--bg);color:#666;border-radius:4px}.action-btn[data-v-51c5638b]{padding:6px 12px;border-radius:6px;border:none;font-size:12px;cursor:pointer;background:#f0f0f0}.action-btn.ongoing[data-v-51c5638b]{background:#c41e3a;color:#fff}.empty-state[data-v-51c5638b]{text-align:center;padding:60px 20px}.empty-icon[data-v-51c5638b]{font-size:48px;margin-bottom:16px}.empty-title[data-v-51c5638b]{font-size:16px;color:#333;margin-bottom:12px}.empty-btn[data-v-51c5638b]{padding:12px 32px;background:#c41e3a;color:#fff;border:none;border-radius:8px;cursor:pointer}.back-today-btn[data-v-51c5638b]{position:fixed;bottom:20px;right:20px;padding:12px 20px;background:#c41e3a;color:#fff;border:none;border-radius:24px;display:flex;gap:8px;align-items:center;cursor:pointer;box-shadow:0 4px 12px #c41e3a4d}@media (max-width: 375px){.stats-grid[data-v-51c5638b]{gap:12px}.stat-value[data-v-51c5638b]{font-size:24px}.stat-label[data-v-51c5638b]{font-size:12px}.day-item[data-v-51c5638b]{padding:8px 6px;min-width:36px}.day-week[data-v-51c5638b]{font-size:10px}.day-date[data-v-51c5638b]{font-size:14px}.course-card[data-v-51c5638b]{padding:12px}.course-title[data-v-51c5638b]{font-size:13px}.back-today-btn[data-v-51c5638b]{padding:10px 16px;font-size:13px;min-height:44px}}@media (max-width: 320px){.week-days[data-v-51c5638b]{padding:0 4px}.day-item[data-v-51c5638b]{padding:6px 4px;min-width:32px}.course-meta span[data-v-51c5638b]{margin-right:8px;font-size:11px}}.header[data-v-1c451167]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff}.header-content[data-v-1c451167]{display:flex;align-items:center;gap:12px}.back-btn[data-v-1c451167]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.header-title[data-v-1c451167]{flex:1;font-size:17px;font-weight:600;text-align:center}.content[data-v-1c451167]{padding:20px}.score-card[data-v-1c451167]{background:var(--card-bg);border-radius:var(--radius-lg);padding:30px;box-shadow:0 2px 8px var(--shadow);margin-bottom:16px}.total-score[data-v-1c451167]{text-align:center;margin-bottom:30px}.score-value[data-v-1c451167]{font-size:64px;font-weight:700;color:var(--primary);line-height:1}.score-label[data-v-1c451167]{font-size:16px;color:var(--text-muted);margin-top:8px}.score-detail[data-v-1c451167]{display:flex;flex-direction:column;gap:16px}.detail-item[data-v-1c451167]{display:flex;align-items:center;gap:12px}.detail-name[data-v-1c451167]{width:80px;font-size:14px;color:var(--text-secondary)}.detail-bar[data-v-1c451167]{flex:1;height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.detail-fill[data-v-1c451167]{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#ff6b6b 100%);border-radius:4px}.detail-score[data-v-1c451167]{width:40px;text-align:right;font-size:14px;font-weight:600;color:var(--primary)}.comment-card[data-v-1c451167]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.comment-title[data-v-1c451167]{font-size:16px;font-weight:600;margin-bottom:12px}.comment-content[data-v-1c451167]{font-size:14px;color:var(--text-secondary);line-height:1.6}.header[data-v-e235aa45]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff}.header-content[data-v-e235aa45]{display:flex;align-items:center;gap:12px}.back-btn[data-v-e235aa45]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.header-title[data-v-e235aa45]{flex:1;font-size:17px;font-weight:600;text-align:center}.content[data-v-e235aa45]{padding:20px}.survey-list[data-v-e235aa45]{display:flex;flex-direction:column;gap:16px}.survey-card[data-v-e235aa45]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow);cursor:pointer}.survey-status[data-v-e235aa45]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;margin-bottom:12px}.survey-status.pending[data-v-e235aa45]{background:#c41e3a1a;color:var(--primary)}.survey-status.completed[data-v-e235aa45]{background:#43e97b1a;color:#43e97b}.survey-title[data-v-e235aa45]{font-size:16px;font-weight:600;margin-bottom:8px}.survey-desc[data-v-e235aa45]{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.survey-footer[data-v-e235aa45]{display:flex;justify-content:space-between;align-items:center}.survey-time[data-v-e235aa45]{font-size:12px;color:var(--text-muted)}.survey-arrow[data-v-e235aa45]{font-size:20px;color:var(--text-muted)}.header[data-v-7a963dd0]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff}.header-content[data-v-7a963dd0]{display:flex;align-items:center;gap:12px}.back-btn[data-v-7a963dd0]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.header-title[data-v-7a963dd0]{flex:1;font-size:17px;font-weight:600;text-align:center}.content[data-v-7a963dd0]{padding:20px}.guide-list[data-v-7a963dd0]{display:flex;flex-direction:column;gap:12px}.guide-card[data-v-7a963dd0]{display:flex;align-items:center;gap:16px;padding:20px;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--shadow);cursor:pointer}.guide-icon[data-v-7a963dd0]{width:48px;height:48px;background:var(--bg);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.guide-info[data-v-7a963dd0]{flex:1}.guide-title[data-v-7a963dd0]{font-size:16px;font-weight:600;margin-bottom:4px}.guide-desc[data-v-7a963dd0]{font-size:13px;color:var(--text-muted)}.guide-arrow[data-v-7a963dd0]{font-size:20px;color:var(--text-muted)}.content[data-v-a344e3b8]{padding:20px 20px 100px}.category-tabs[data-v-a344e3b8]{display:flex;gap:12px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.category-tab[data-v-a344e3b8]{padding:8px 20px;background:var(--bg);border-radius:20px;font-size:14px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:var(--transition-fast);border:1px solid transparent}.category-tab[data-v-a344e3b8]:hover{background:#c41e3a0d}.category-tab.active[data-v-a344e3b8]{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-red)}.book-list[data-v-a344e3b8]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.book-card[data-v-a344e3b8]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition)}.book-card[data-v-a344e3b8]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.book-cover[data-v-a344e3b8]{width:80px;height:100px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 16px;color:#fff;box-shadow:var(--shadow-md)}.book-title[data-v-a344e3b8]{font-size:15px;font-weight:600;margin-bottom:4px;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-author[data-v-a344e3b8]{font-size:12px;color:var(--text-muted);margin-bottom:12px}.book-progress[data-v-a344e3b8]{margin-top:12px}.progress-bar[data-v-a344e3b8]{height:4px;background:var(--bg);border-radius:2px;overflow:hidden;margin-bottom:6px}.progress-fill[data-v-a344e3b8]{height:100%;background:var(--primary-gradient);border-radius:2px;transition:width .3s ease}.progress-text[data-v-a344e3b8]{font-size:11px;color:var(--primary);font-weight:500}@media (max-width: 375px){.content[data-v-a344e3b8]{padding:16px 16px 90px}.category-tabs[data-v-a344e3b8]{gap:8px;margin-bottom:16px}.category-tab[data-v-a344e3b8]{padding:6px 16px;font-size:13px}.book-list[data-v-a344e3b8]{gap:12px}.book-card[data-v-a344e3b8]{padding:16px}.book-cover[data-v-a344e3b8]{width:64px;height:80px;font-size:32px}.book-title[data-v-a344e3b8]{font-size:14px}.book-author[data-v-a344e3b8]{font-size:11px}}@media (max-width: 320px){.book-list[data-v-a344e3b8]{grid-template-columns:1fr}.book-card[data-v-a344e3b8]{display:flex;gap:16px;align-items:center}.book-cover[data-v-a344e3b8]{margin:0;flex-shrink:0}.book-info[data-v-a344e3b8]{flex:1}}.article-card[data-v-7b0167ec]{margin:16px;padding:24px;animation:fadeInUp-7b0167ec .5s ease}.article-title[data-v-7b0167ec]{font-size:20px;font-weight:700;line-height:1.5;margin-bottom:16px}.article-meta[data-v-7b0167ec]{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-muted);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--divider)}.meta-author[data-v-7b0167ec],.meta-time[data-v-7b0167ec],.meta-views[data-v-7b0167ec]{display:flex;align-items:center;gap:4px}.meta-icon[data-v-7b0167ec]{font-size:14px}.article-content[data-v-7b0167ec]{font-size:15px;line-height:1.8;color:var(--text)}.article-content[data-v-7b0167ec] p{margin-bottom:16px}.article-content[data-v-7b0167ec] h3{color:var(--primary);margin:20px 0 12px;font-size:16px;font-weight:600}.article-content[data-v-7b0167ec] ul,.article-content[data-v-7b0167ec] ol{margin-bottom:16px;padding-left:20px}.article-content[data-v-7b0167ec] li{margin-bottom:8px;line-height:1.8}.article-content[data-v-7b0167ec] a{color:var(--primary);text-decoration:none}.article-content[data-v-7b0167ec] a:hover{text-decoration:underline}.article-content[data-v-7b0167ec] img{max-width:100%;border-radius:var(--radius-md);margin:16px 0}.article-content[data-v-7b0167ec] blockquote{border-left:3px solid var(--primary);padding-left:16px;margin:16px 0;color:var(--text-secondary);font-style:italic}.article-content[data-v-7b0167ec] table{width:100%;border-collapse:collapse;margin:16px 0}.article-content[data-v-7b0167ec] th,.article-content[data-v-7b0167ec] td{border:1px solid var(--border);padding:12px;text-align:left}.article-content[data-v-7b0167ec] th{background:#c41e3a0d;color:var(--primary);font-weight:600}.article-footer[data-v-7b0167ec]{margin-top:32px;padding-top:20px}.footer-divider[data-v-7b0167ec]{height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 50%,transparent 100%);margin-bottom:16px}.footer-info[data-v-7b0167ec]{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-muted);text-align:center}.footer-source[data-v-7b0167ec]{color:var(--primary);font-weight:500}.bottom-actions[data-v-7b0167ec]{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);padding:12px 20px;display:flex;gap:16px;box-shadow:0 -4px 20px var(--shadow);z-index:100}.action-btn[data-v-7b0167ec]{flex:1;height:44px;border-radius:22px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border:none;display:flex;align-items:center;justify-content:center;gap:6px}.btn-icon[data-v-7b0167ec]{font-size:16px}.share-btn[data-v-7b0167ec]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.share-btn[data-v-7b0167ec]:hover{background:var(--border)}.collect-btn[data-v-7b0167ec]{background:var(--primary-gradient);color:#fff}.collect-btn[data-v-7b0167ec]:hover{transform:translateY(-2px);box-shadow:var(--shadow-red)}.collect-btn.collected[data-v-7b0167ec]{background:linear-gradient(135deg,#ff9500,#ff6b35)}@keyframes fadeInUp-7b0167ec{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 375px){.article-card[data-v-7b0167ec]{margin:12px;padding:20px}.article-title[data-v-7b0167ec]{font-size:18px}.article-meta[data-v-7b0167ec]{gap:12px;font-size:12px}.article-content[data-v-7b0167ec]{font-size:14px}}.page-container[data-v-05db70f6]{min-height:100vh;background:var(--bg);padding-bottom:24px}.page-header[data-v-05db70f6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card-bg);border-bottom:1px solid var(--border)}.header-left[data-v-05db70f6]{width:60px}.back-icon[data-v-05db70f6]{font-size:28px;color:var(--text);cursor:pointer}.header-title[data-v-05db70f6]{font-size:18px;font-weight:600;color:var(--text)}.header-right[data-v-05db70f6]{width:60px;text-align:right}.save-text[data-v-05db70f6]{font-size:15px;color:var(--primary);font-weight:500;cursor:pointer}.avatar-section[data-v-05db70f6]{padding:32px;display:flex;justify-content:center;background:var(--card-bg);margin-bottom:12px}.avatar-wrapper[data-v-05db70f6]{display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-large[data-v-05db70f6]{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:48px;box-shadow:0 4px 12px #c41e3a4d}.avatar-edit-btn[data-v-05db70f6]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg);border-radius:20px;cursor:pointer}.edit-icon[data-v-05db70f6]{font-size:14px}.edit-text[data-v-05db70f6]{font-size:14px;color:var(--text)}.form-section[data-v-05db70f6]{background:var(--card-bg);margin-bottom:12px}.form-group[data-v-05db70f6]{padding:0 16px}.form-item[data-v-05db70f6]{display:flex;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.form-item[data-v-05db70f6]:last-child{border-bottom:none}.textarea-item[data-v-05db70f6]{flex-direction:column;align-items:flex-start;gap:12px}.form-label[data-v-05db70f6]{width:80px;font-size:15px;color:var(--text-secondary);flex-shrink:0}.form-input[data-v-05db70f6]{flex:1;border:none;font-size:15px;color:var(--text);outline:none;background:transparent}.form-input[data-v-05db70f6]::-moz-placeholder{color:var(--text-lighter)}.form-input[data-v-05db70f6]::placeholder{color:var(--text-lighter)}.form-textarea[data-v-05db70f6]{width:100%;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:15px;color:var(--text);resize:none;outline:none}.form-textarea[data-v-05db70f6]::-moz-placeholder{color:var(--text-muted)}.form-textarea[data-v-05db70f6]::placeholder{color:var(--text-muted)}.page-container[data-v-f76012df]{min-height:100vh;background:var(--bg)}.page-header[data-v-f76012df]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card-bg);border-bottom:1px solid var(--border)}.header-left[data-v-f76012df]{width:60px}.back-icon[data-v-f76012df]{font-size:28px;color:var(--text);cursor:pointer}.header-title[data-v-f76012df]{font-size:18px;font-weight:600;color:var(--text)}.header-right[data-v-f76012df]{width:60px}.security-status[data-v-f76012df]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:32px;text-align:center;color:#fff}.status-icon[data-v-f76012df]{font-size:48px;margin-bottom:12px}.status-text[data-v-f76012df]{font-size:14px;opacity:.9;margin-bottom:8px}.status-level[data-v-f76012df]{font-size:32px;font-weight:700;margin-bottom:8px}.status-desc[data-v-f76012df]{font-size:13px;opacity:.8}.security-list[data-v-f76012df]{background:var(--card-bg);margin:12px 0}.security-item[data-v-f76012df]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);cursor:pointer}.security-item[data-v-f76012df]:last-child{border-bottom:none}.item-left[data-v-f76012df]{display:flex;align-items:center;gap:12px}.item-icon[data-v-f76012df]{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:10px}.item-info[data-v-f76012df]{display:flex;flex-direction:column;gap:4px}.item-title[data-v-f76012df]{font-size:15px;font-weight:500;color:var(--text)}.item-desc[data-v-f76012df]{font-size:13px;color:var(--text-secondary)}.item-right[data-v-f76012df]{display:flex;align-items:center;gap:8px}.item-status[data-v-f76012df]{font-size:13px;color:var(--text-lighter)}.item-status.active[data-v-f76012df]{color:var(--primary)}.item-arrow[data-v-f76012df]{font-size:18px;color:var(--text-lighter)}.security-tips[data-v-f76012df]{background:var(--card-bg);margin:12px;padding:16px;border-radius:var(--radius-lg)}.tips-title[data-v-f76012df]{font-size:15px;font-weight:600;color:var(--text);margin-bottom:12px}.tips-list[data-v-f76012df]{padding-left:16px}.tips-list li[data-v-f76012df]{font-size:13px;color:var(--text-secondary);line-height:1.8;list-style-type:disc}.page-container[data-v-e1ab17e1]{min-height:100vh;background:var(--bg)}.page-header[data-v-e1ab17e1]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card-bg);border-bottom:1px solid var(--border)}.header-left[data-v-e1ab17e1]{width:60px}.back-icon[data-v-e1ab17e1]{font-size:28px;color:var(--text);cursor:pointer}.header-title[data-v-e1ab17e1]{font-size:18px;font-weight:600;color:var(--text)}.header-right[data-v-e1ab17e1]{width:60px}.app-info[data-v-e1ab17e1]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:40px;text-align:center;color:#fff}.app-logo[data-v-e1ab17e1]{font-size:64px;margin-bottom:16px}.app-name[data-v-e1ab17e1]{font-size:22px;font-weight:600;margin-bottom:8px}.app-version[data-v-e1ab17e1]{font-size:14px;opacity:.9;margin-bottom:8px}.app-slogan[data-v-e1ab17e1]{font-size:13px;opacity:.8}.feature-section[data-v-e1ab17e1]{background:var(--card-bg);margin:12px 0;padding:20px}.section-title[data-v-e1ab17e1]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px}.feature-list[data-v-e1ab17e1]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-item[data-v-e1ab17e1]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius-md)}.feature-icon[data-v-e1ab17e1]{font-size:28px}.feature-text[data-v-e1ab17e1]{display:flex;flex-direction:column;gap:4px}.feature-name[data-v-e1ab17e1]{font-size:14px;font-weight:500;color:var(--text)}.feature-desc[data-v-e1ab17e1]{font-size:12px;color:var(--text-secondary)}.info-list[data-v-e1ab17e1]{background:var(--card-bg);margin:12px 0}.info-item[data-v-e1ab17e1]{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--border);cursor:pointer}.info-item[data-v-e1ab17e1]:last-child{border-bottom:none}.info-label[data-v-e1ab17e1]{flex:1;font-size:15px;color:var(--text)}.info-value[data-v-e1ab17e1]{font-size:14px;color:var(--text-secondary);margin-right:8px}.info-arrow[data-v-e1ab17e1]{font-size:18px;color:var(--text-lighter)}.copyright[data-v-e1ab17e1]{padding:32px 20px;text-align:center}.copyright p[data-v-e1ab17e1]{font-size:12px;color:var(--text-lighter);line-height:1.8}.loading-overlay[data-v-e7855fa0]{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner[data-v-e7855fa0]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-e7855fa0 1s linear infinite;margin-bottom:12px}@keyframes spin-e7855fa0{to{transform:rotate(360deg)}}.loading-overlay p[data-v-e7855fa0]{font-size:14px;color:var(--text-muted)}.header[data-v-e7855fa0]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-e7855fa0]{display:flex;align-items:center;gap:12px}.back-btn[data-v-e7855fa0]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition)}.back-btn[data-v-e7855fa0]:hover{background:#ffffff1a}.header-title[data-v-e7855fa0]{flex:1;font-size:17px;font-weight:600;text-align:center}.header-btn[data-v-e7855fa0]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border-radius:50%;transition:var(--transition)}.header-btn[data-v-e7855fa0]:hover{background:#ffffff1a}.stats-section[data-v-e7855fa0]{padding:16px}.stats-card[data-v-e7855fa0]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;justify-content:space-around;box-shadow:0 2px 8px var(--shadow)}.stats-item[data-v-e7855fa0]{text-align:center}.stats-value[data-v-e7855fa0]{font-size:28px;font-weight:700;color:var(--primary);margin-bottom:4px}.stats-label[data-v-e7855fa0]{font-size:13px;color:var(--text-muted)}.stats-divider[data-v-e7855fa0]{width:1px;height:40px;background:var(--border)}.certificates-section[data-v-e7855fa0]{padding:0 16px 20px}.section-header[data-v-e7855fa0]{margin-bottom:16px}.section-title[data-v-e7855fa0]{font-size:16px;font-weight:600;margin-bottom:12px}.filter-tabs[data-v-e7855fa0]{display:flex;gap:8px;flex-wrap:wrap}.filter-tab[data-v-e7855fa0]{padding:6px 14px;background:var(--bg);border-radius:20px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.filter-tab.active[data-v-e7855fa0]{background:var(--primary);color:#fff}.certificates-list[data-v-e7855fa0]{display:flex;flex-direction:column;gap:12px}.certificate-card[data-v-e7855fa0]{display:flex;align-items:center;gap:16px;padding:16px;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--shadow);cursor:pointer;transition:var(--transition)}.certificate-card[data-v-e7855fa0]:hover{box-shadow:0 4px 12px var(--shadow-hover);transform:translateY(-2px)}.cert-preview[data-v-e7855fa0]{flex-shrink:0}.cert-frame[data-v-e7855fa0]{width:80px;height:100px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px solid var(--primary);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.cert-icon[data-v-e7855fa0]{font-size:32px;margin-bottom:8px}.cert-seal[data-v-e7855fa0]{font-size:11px;color:var(--primary);font-weight:600;border:1px solid var(--primary);padding:2px 6px;border-radius:4px}.cert-info[data-v-e7855fa0]{flex:1;min-width:0}.cert-title[data-v-e7855fa0]{font-size:15px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-course[data-v-e7855fa0]{font-size:13px;color:var(--text-secondary);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-meta[data-v-e7855fa0]{display:flex;gap:12px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.cert-tags[data-v-e7855fa0]{display:flex;gap:8px}.cert-tag[data-v-e7855fa0]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.cert-tag.training[data-v-e7855fa0]{background:#1890ff1a;color:#1890ff}.cert-tag.completion[data-v-e7855fa0]{background:#52c41a1a;color:#52c41a}.cert-tag.honor[data-v-e7855fa0]{background:#faad141a;color:#faad14}.cert-status[data-v-e7855fa0]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.cert-status.valid[data-v-e7855fa0]{background:#52c41a1a;color:#52c41a}.cert-status.expired[data-v-e7855fa0]{background:#9999991a;color:#999}.cert-arrow[data-v-e7855fa0]{font-size:20px;color:var(--text-muted)}.empty-state[data-v-e7855fa0]{text-align:center;padding:60px 20px}.empty-icon[data-v-e7855fa0]{font-size:64px;margin-bottom:16px}.empty-text[data-v-e7855fa0]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}.empty-desc[data-v-e7855fa0]{font-size:14px;color:var(--text-muted);margin-bottom:20px}.empty-btn[data-v-e7855fa0]{padding:12px 32px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition)}.empty-btn[data-v-e7855fa0]:hover{background:var(--primary-dark)}.modal-overlay[data-v-e7855fa0]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content[data-v-e7855fa0]{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:85vh;overflow:hidden}@media (max-width: 375px){.modal-content[data-v-e7855fa0]{max-width:100%;margin:0 8px}.cert-paper[data-v-e7855fa0]{padding:16px}.cert-name[data-v-e7855fa0]{font-size:20px}.cert-student[data-v-e7855fa0]{font-size:18px}.cert-text[data-v-e7855fa0]{font-size:13px}.cert-decoration[data-v-e7855fa0]{font-size:12px}.cert-stamp[data-v-e7855fa0]{width:50px;height:50px;font-size:12px}}@media (max-width: 320px){.cert-paper[data-v-e7855fa0]{padding:12px}.cert-name[data-v-e7855fa0]{font-size:18px}.cert-student[data-v-e7855fa0]{font-size:16px}}.cert-detail[data-v-e7855fa0]{display:flex;flex-direction:column}.detail-header[data-v-e7855fa0]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.detail-header h2[data-v-e7855fa0]{font-size:17px;font-weight:600}.close-btn[data-v-e7855fa0]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--text-muted);background:none;border:none;cursor:pointer}.detail-body[data-v-e7855fa0]{padding:20px;overflow-y:auto}.cert-display[data-v-e7855fa0]{margin-bottom:20px}.cert-paper[data-v-e7855fa0]{background:linear-gradient(135deg,#fff9f0,#fff5e6);border:3px solid var(--primary);border-radius:12px;padding:24px;position:relative;text-align:center}.cert-decoration[data-v-e7855fa0]{position:absolute;font-size:16px;color:var(--primary);opacity:.5}.cert-decoration.top-left[data-v-e7855fa0]{top:8px;left:8px}.cert-decoration.top-right[data-v-e7855fa0]{top:8px;right:8px}.cert-decoration.bottom-left[data-v-e7855fa0]{bottom:8px;left:8px}.cert-decoration.bottom-right[data-v-e7855fa0]{bottom:8px;right:8px}.cert-header[data-v-e7855fa0]{margin-bottom:20px}.cert-logo[data-v-e7855fa0]{font-size:14px;color:var(--primary);font-weight:700;margin-bottom:8px}.cert-name[data-v-e7855fa0]{font-size:24px;font-weight:700;color:var(--primary)}.cert-content[data-v-e7855fa0]{margin-bottom:24px}.cert-text[data-v-e7855fa0]{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.cert-student[data-v-e7855fa0]{font-size:20px;font-weight:600;color:var(--text);margin:12px 0}.cert-hours-detail[data-v-e7855fa0]{font-size:13px;color:var(--text-muted);margin-top:16px}.cert-footer[data-v-e7855fa0]{display:flex;justify-content:space-between;align-items:flex-end}.cert-signature[data-v-e7855fa0]{text-align:left;font-size:13px;color:var(--text-secondary)}.cert-signature p[data-v-e7855fa0]{margin-bottom:4px}.cert-stamp[data-v-e7855fa0]{width:60px;height:60px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;transform:rotate(-15deg);opacity:.8}.detail-actions[data-v-e7855fa0]{display:flex;gap:12px}.action-btn[data-v-e7855fa0]{flex:1;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);font-size:15px;font-weight:600;color:var(--text);cursor:pointer;transition:var(--transition)}.action-btn.primary[data-v-e7855fa0]{background:var(--primary);color:#fff;border-color:var(--primary)}.action-btn[data-v-e7855fa0]:hover{opacity:.9}.loading-overlay[data-v-44d70b90]{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner[data-v-44d70b90]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-44d70b90 1s linear infinite;margin-bottom:12px}@keyframes spin-44d70b90{to{transform:rotate(360deg)}}.loading-overlay p[data-v-44d70b90]{font-size:14px;color:var(--text-muted)}.header[data-v-44d70b90]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-44d70b90]{display:flex;align-items:center;gap:12px}.back-btn[data-v-44d70b90]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition)}.back-btn[data-v-44d70b90]:hover{background:#ffffff1a}.header-title[data-v-44d70b90]{flex:1;font-size:17px;font-weight:600;text-align:center}.header-btn[data-v-44d70b90]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border-radius:50%;transition:var(--transition)}.header-btn[data-v-44d70b90]:hover{background:#ffffff1a}.overview-section[data-v-44d70b90]{padding:16px}.overview-card[data-v-44d70b90]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.overview-header[data-v-44d70b90]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.overview-header h2[data-v-44d70b90]{font-size:16px;font-weight:600}.period-selector[data-v-44d70b90]{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:20px}.period-option[data-v-44d70b90]{padding:4px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-radius:16px;transition:var(--transition)}.period-option.active[data-v-44d70b90]{background:var(--primary);color:#fff}.overview-stats[data-v-44d70b90]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.overview-item[data-v-44d70b90]{text-align:center}.overview-value[data-v-44d70b90]{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}.overview-label[data-v-44d70b90]{font-size:12px;color:var(--text-muted)}.section-card[data-v-44d70b90]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;margin-bottom:12px;box-shadow:0 2px 8px var(--shadow)}.section-header[data-v-44d70b90]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3[data-v-44d70b90]{font-size:15px;font-weight:600}.section-subtitle[data-v-44d70b90]{font-size:12px;color:var(--text-muted)}.view-all[data-v-44d70b90]{font-size:13px;color:var(--primary);cursor:pointer}.trend-section[data-v-44d70b90]{padding:0 16px}.trend-chart[data-v-44d70b90]{display:flex;justify-content:space-between;align-items:flex-end;height:150px;padding-top:20px}.trend-bar-wrapper[data-v-44d70b90]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.trend-bar-container[data-v-44d70b90]{width:24px;height:100px;background:var(--bg);border-radius:12px;position:relative;overflow:hidden}.trend-bar[data-v-44d70b90]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--primary),var(--primary-light));border-radius:12px;transition:height .5s ease}.trend-label[data-v-44d70b90]{font-size:11px;color:var(--text-muted)}.trend-value[data-v-44d70b90]{font-size:10px;color:var(--primary);font-weight:600}.category-section[data-v-44d70b90]{padding:0 16px}.category-list[data-v-44d70b90]{display:flex;flex-direction:column;gap:16px}.category-item[data-v-44d70b90]{display:flex;flex-direction:column;gap:8px}.category-info[data-v-44d70b90]{display:flex;align-items:center;gap:12px}.category-icon[data-v-44d70b90]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.category-detail[data-v-44d70b90]{flex:1}.category-name[data-v-44d70b90]{font-size:14px;font-weight:500;margin-bottom:2px}.category-hours[data-v-44d70b90]{font-size:12px;color:var(--text-muted)}.category-progress[data-v-44d70b90]{display:flex;align-items:center;gap:12px}.progress-bar[data-v-44d70b90]{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.progress-fill[data-v-44d70b90]{height:100%;border-radius:3px;transition:width .5s ease}.progress-text[data-v-44d70b90]{font-size:12px;color:var(--text-muted);min-width:36px;text-align:right}.achievement-section[data-v-44d70b90]{padding:0 16px}.achievement-grid[data-v-44d70b90]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement-item[data-v-44d70b90]{background:var(--bg);border-radius:var(--radius-md);padding:16px 12px;text-align:center;position:relative;transition:var(--transition)}.achievement-item.unlocked[data-v-44d70b90]{background:linear-gradient(135deg,#c41e3a1a,#c41e3a0d)}.achievement-item[data-v-44d70b90]:not(.unlocked){opacity:.6}.achievement-icon[data-v-44d70b90]{font-size:32px;margin-bottom:8px}.achievement-name[data-v-44d70b90]{font-size:13px;font-weight:600;margin-bottom:4px}.achievement-desc[data-v-44d70b90]{font-size:11px;color:var(--text-muted)}.achievement-lock[data-v-44d70b90]{position:absolute;top:8px;right:8px;font-size:12px;opacity:.5}.ranking-section[data-v-44d70b90]{padding:0 16px 20px}.rank-tabs[data-v-44d70b90]{display:flex;gap:8px}.rank-tab[data-v-44d70b90]{padding:4px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-radius:12px;transition:var(--transition)}.rank-tab.active[data-v-44d70b90]{background:var(--primary);color:#fff}.ranking-list[data-v-44d70b90]{display:flex;flex-direction:column;gap:12px}.rank-item[data-v-44d70b90]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius-md)}.rank-item.self[data-v-44d70b90]{background:linear-gradient(135deg,#c41e3a1a,#c41e3a0d);border:1px solid var(--primary)}.rank-item.top-three .rank-number[data-v-44d70b90]{background:var(--primary);color:#fff}.rank-number[data-v-44d70b90]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text-muted);background:var(--card-bg);border-radius:50%}.rank-avatar[data-v-44d70b90]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--card-bg);border-radius:50%}.rank-info[data-v-44d70b90]{flex:1}.rank-name[data-v-44d70b90]{font-size:14px;font-weight:500;margin-bottom:2px}.rank-dept[data-v-44d70b90]{font-size:12px;color:var(--text-muted)}.rank-score[data-v-44d70b90]{font-size:14px;font-weight:600;color:var(--primary)}.rank-divider[data-v-44d70b90]{height:1px;background:var(--border);margin:4px 0}.bottom-tip[data-v-44d70b90]{text-align:center;padding:20px}.bottom-tip p[data-v-44d70b90]{font-size:13px;color:var(--text-muted)}@media (max-width: 375px){.overview-stats[data-v-44d70b90]{grid-template-columns:repeat(2,1fr);gap:16px}.overview-value[data-v-44d70b90]{font-size:20px}.trend-bar-container[data-v-44d70b90]{width:20px}.trend-label[data-v-44d70b90]{font-size:10px}.achievement-grid[data-v-44d70b90]{grid-template-columns:repeat(2,1fr)}.rank-item[data-v-44d70b90]{gap:8px;padding:10px}.rank-avatar[data-v-44d70b90]{width:36px;height:36px;font-size:16px}.rank-name[data-v-44d70b90]{font-size:13px}.rank-dept[data-v-44d70b90]{font-size:11px}.rank-score[data-v-44d70b90]{font-size:13px;min-width:50px;text-align:right}}@media (max-width: 320px){.achievement-grid[data-v-44d70b90]{grid-template-columns:1fr}.rank-item[data-v-44d70b90]{flex-wrap:wrap}.rank-info[data-v-44d70b90]{min-width:0;flex:1}}.page-container[data-v-d958a701]{min-height:100vh;background:var(--bg)}.header[data-v-d958a701]{background:linear-gradient(135deg,#c41e3a,#8b0000);padding:48px 16px 12px;color:#fff}.header-content[data-v-d958a701]{display:flex;align-items:center;justify-content:space-between}.back-btn[data-v-d958a701]{font-size:20px;cursor:pointer}.header-title[data-v-d958a701]{font-size:18px;font-weight:600}.date-selector[data-v-d958a701]{background:var(--card-bg);padding:16px;margin-bottom:12px}.week-days[data-v-d958a701]{display:flex;justify-content:space-between}.day-item[data-v-d958a701]{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:8px;cursor:pointer;position:relative}.day-item.active[data-v-d958a701]{background:#c41e3a;color:#fff}.day-item.today[data-v-d958a701]{font-weight:600}.day-week[data-v-d958a701]{font-size:12px;margin-bottom:4px}.day-date[data-v-d958a701]{font-size:16px;font-weight:600}.day-dot[data-v-d958a701]{width:4px;height:4px;background:#c41e3a;border-radius:50%;position:absolute;bottom:4px}.day-item.active .day-dot[data-v-d958a701]{background:var(--card-bg)}.course-list[data-v-d958a701]{padding:0 16px}.course-card[data-v-d958a701]{background:var(--card-bg);border-radius:12px;padding:16px;margin-bottom:12px;display:flex;gap:12px;border-left:4px solid #ddd}.course-card.ongoing[data-v-d958a701]{border-left-color:#c41e3a}.course-card.finished[data-v-d958a701]{border-left-color:#52c41a}.course-time[data-v-d958a701]{display:flex;flex-direction:column;align-items:center;min-width:70px;padding-right:12px;border-right:1px solid #eee}.time-range[data-v-d958a701]{font-size:14px;font-weight:600}.time-duration[data-v-d958a701]{font-size:12px;color:#999;margin-top:4px}.course-info[data-v-d958a701]{flex:1}.course-header[data-v-d958a701]{display:flex;justify-content:space-between;margin-bottom:8px}.course-title[data-v-d958a701]{font-size:15px;font-weight:600;flex:1;margin-right:8px}.course-status[data-v-d958a701]{font-size:12px;padding:2px 8px;border-radius:4px;background:#f0f0f0}.course-status.ongoing[data-v-d958a701]{background:#fff2f0;color:#c41e3a}.course-meta[data-v-d958a701]{font-size:13px;color:#666}.action-btn[data-v-d958a701]{padding:8px 16px;border-radius:6px;border:none;font-size:13px;cursor:pointer;background:#f0f0f0}.action-btn.ongoing[data-v-d958a701]{background:#c41e3a;color:#fff}.empty-state[data-v-d958a701]{text-align:center;padding:60px 20px}.empty-state button[data-v-d958a701]{padding:12px 32px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);margin-top:20px;cursor:pointer}.login-page[data-v-543c6e8a]{min-height:100vh;background:var(--bg)}.login-header[data-v-543c6e8a]{background:linear-gradient(135deg,#c41e3a,#8b0000);padding:60px 20px 40px;text-align:center;color:#fff;position:relative}.back-btn[data-v-543c6e8a]{position:absolute;top:20px;left:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%;font-size:20px;cursor:pointer}.logo[data-v-543c6e8a]{font-size:48px;margin-bottom:12px}.title[data-v-543c6e8a]{font-size:24px;font-weight:600;margin-bottom:8px}.subtitle[data-v-543c6e8a]{font-size:14px;opacity:.9}.login-form[data-v-543c6e8a]{padding:24px;margin-top:-20px}.form-card[data-v-543c6e8a]{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 4px 20px #00000014}.login-tabs[data-v-543c6e8a]{display:flex;margin-bottom:24px;border-bottom:1px solid var(--border)}.login-tab[data-v-543c6e8a]{flex:1;padding:12px;text-align:center;font-size:15px;color:var(--text-secondary);cursor:pointer;position:relative}.login-tab.active[data-v-543c6e8a]{color:var(--primary);font-weight:600}.login-tab.active[data-v-543c6e8a]:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:var(--primary);border-radius:2px}.form-item[data-v-543c6e8a]{margin-bottom:16px}.input-wrapper[data-v-543c6e8a]{display:flex;align-items:center;background:var(--bg);border-radius:8px;padding:0 16px;height:48px}.input-icon[data-v-543c6e8a]{font-size:18px;margin-right:12px}.input-wrapper input[data-v-543c6e8a]{flex:1;border:none;background:transparent;font-size:15px;outline:none;color:var(--text)}.input-wrapper input[data-v-543c6e8a]::-moz-placeholder{color:var(--text-muted)}.input-wrapper input[data-v-543c6e8a]::placeholder{color:var(--text-muted)}.code-input[data-v-543c6e8a]{display:flex;align-items:center;padding:0 8px;gap:8px}.code-input input[data-v-543c6e8a]{flex:1;min-width:0}.code-btn[data-v-543c6e8a]{padding:8px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap;flex-shrink:0}.code-btn[data-v-543c6e8a]:disabled{background:var(--text-muted)}.login-btn[data-v-543c6e8a]{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}.login-btn[data-v-543c6e8a]:disabled{opacity:.7}.login-options[data-v-543c6e8a]{display:flex;justify-content:space-between;margin-top:16px}.option-link[data-v-543c6e8a]{font-size:13px;color:var(--text-secondary);cursor:pointer}.agreement[data-v-543c6e8a]{text-align:center;padding:20px;font-size:12px;color:var(--text-muted)}.agreement .link[data-v-543c6e8a]{color:var(--primary);cursor:pointer}.register-page[data-v-f9d3c022]{min-height:100vh;background:var(--bg)}.register-header[data-v-f9d3c022]{background:linear-gradient(135deg,#c41e3a,#8b0000);padding:60px 20px 40px;text-align:center;color:#fff;position:relative}.back-btn[data-v-f9d3c022]{position:absolute;top:20px;left:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%;font-size:20px;cursor:pointer}.logo[data-v-f9d3c022]{font-size:48px;margin-bottom:12px}.title[data-v-f9d3c022]{font-size:24px;font-weight:600;margin-bottom:8px}.subtitle[data-v-f9d3c022]{font-size:14px;opacity:.9}.register-form[data-v-f9d3c022]{padding:24px;margin-top:-20px}.form-card[data-v-f9d3c022]{background:var(--card-bg);border-radius:16px;padding:24px;box-shadow:0 4px 20px #00000014}.form-item[data-v-f9d3c022]{margin-bottom:16px}.input-wrapper[data-v-f9d3c022]{display:flex;align-items:center;background:var(--bg);border-radius:8px;padding:0 16px;height:48px}.input-icon[data-v-f9d3c022]{font-size:18px;margin-right:12px}.input-wrapper input[data-v-f9d3c022]{flex:1;border:none;background:transparent;font-size:15px;outline:none;color:var(--text)}.input-wrapper input[data-v-f9d3c022]::-moz-placeholder{color:var(--text-muted)}.input-wrapper input[data-v-f9d3c022]::placeholder{color:var(--text-muted)}.code-input[data-v-f9d3c022]{display:flex;align-items:center;padding:0 8px;gap:8px}.code-input input[data-v-f9d3c022]{flex:1;min-width:0}.code-btn[data-v-f9d3c022]{padding:8px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap;flex-shrink:0}.code-btn[data-v-f9d3c022]:disabled{background:var(--text-muted)}.register-btn[data-v-f9d3c022]{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}.register-btn[data-v-f9d3c022]:disabled{opacity:.7}.register-options[data-v-f9d3c022]{display:flex;justify-content:center;margin-top:16px}.option-link[data-v-f9d3c022]{font-size:13px;color:var(--text-secondary);cursor:pointer}.agreement[data-v-f9d3c022]{text-align:center;padding:20px;font-size:12px;color:var(--text-muted)}.agreement .link[data-v-f9d3c022]{color:var(--primary);cursor:pointer}.header[data-v-993cee8a]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #c41e3a4d}.header-content[data-v-993cee8a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.back-btn[data-v-993cee8a]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition);background:#ffffff1a}.back-btn[data-v-993cee8a]:hover{background:#fff3}.header-title[data-v-993cee8a]{flex:1;font-size:17px;font-weight:600;text-align:center}.header-placeholder[data-v-993cee8a]{width:36px;height:36px}.survey-container[data-v-993cee8a]{padding:16px 16px 40px}.survey-header[data-v-993cee8a]{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px 20px;margin-bottom:16px;box-shadow:0 2px 12px var(--shadow)}.survey-title[data-v-993cee8a]{font-size:18px;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:8px}.survey-desc[data-v-993cee8a]{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.survey-meta[data-v-993cee8a]{display:flex;flex-wrap:wrap;gap:12px}.meta-item[data-v-993cee8a]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted)}.meta-icon[data-v-993cee8a]{font-size:14px}.deadline[data-v-993cee8a]{color:var(--primary)}.questions-list[data-v-993cee8a]{display:flex;flex-direction:column;gap:16px}.question-card[data-v-993cee8a]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 12px var(--shadow)}.question-header[data-v-993cee8a]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.question-number[data-v-993cee8a]{width:24px;height:24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.question-type[data-v-993cee8a]{font-size:12px;color:var(--text-muted);padding:2px 8px;background:var(--bg);border-radius:10px}.question-required[data-v-993cee8a]{color:var(--primary);font-size:14px;font-weight:600}.question-title[data-v-993cee8a]{font-size:15px;font-weight:500;color:var(--text);line-height:1.5;margin-bottom:16px}.options-list[data-v-993cee8a]{display:flex;flex-direction:column;gap:10px}.option-item[data-v-993cee8a]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:2px solid transparent}.option-item[data-v-993cee8a]:hover{background:#c41e3a0d}.option-item.selected[data-v-993cee8a]{border-color:var(--primary);background:#c41e3a0d}.option-radio[data-v-993cee8a]{width:20px;height:20px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}.option-item.selected .option-radio[data-v-993cee8a]{border-color:var(--primary)}.radio-inner[data-v-993cee8a]{width:10px;height:10px;background:var(--primary);border-radius:50%}.option-checkbox[data-v-993cee8a]{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:#fff;transition:var(--transition)}.option-item.selected .option-checkbox[data-v-993cee8a]{background:var(--primary);border-color:var(--primary)}.option-text[data-v-993cee8a]{font-size:14px;color:var(--text);flex:1}.text-answer[data-v-993cee8a]{margin-top:8px}.text-input[data-v-993cee8a]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;color:var(--text);background:var(--bg);resize:vertical;min-height:100px;font-family:inherit;line-height:1.6}.text-input[data-v-993cee8a]:focus{outline:none;border-color:var(--primary)}.text-input[data-v-993cee8a]::-moz-placeholder{color:var(--text-muted)}.text-input[data-v-993cee8a]::placeholder{color:var(--text-muted)}.submit-section[data-v-993cee8a]{margin-top:24px;padding:0 4px}.submit-btn[data-v-993cee8a]{width:100%;height:48px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition)}.submit-btn[data-v-993cee8a]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c41e3a4d}.submit-btn[data-v-993cee8a]:active{transform:scale(.98)}.submit-btn[data-v-993cee8a]:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.submit-tip[data-v-993cee8a]{text-align:center;font-size:12px;color:var(--text-muted);margin-top:12px}.header[data-v-a2606d49]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #c41e3a4d}.header-content[data-v-a2606d49]{display:flex;align-items:center;justify-content:space-between;gap:12px}.back-btn[data-v-a2606d49]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition);background:#ffffff1a}.back-btn[data-v-a2606d49]:hover{background:#fff3}.header-title[data-v-a2606d49]{flex:1;font-size:17px;font-weight:600;text-align:center}.header-placeholder[data-v-a2606d49]{width:36px;height:36px}.message-container[data-v-a2606d49]{padding:16px 16px 40px}.message-header-card[data-v-a2606d49]{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px 20px;margin-bottom:16px;box-shadow:0 2px 12px var(--shadow);text-align:center}.message-icon[data-v-a2606d49]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px}.message-icon.system[data-v-a2606d49]{background:#ff6b6b1a}.message-icon.course[data-v-a2606d49]{background:#4facfe1a}.message-icon.exam[data-v-a2606d49]{background:#43e97b1a}.message-icon.notice[data-v-a2606d49]{background:#ffc1071a}.message-title[data-v-a2606d49]{font-size:18px;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:12px}.message-meta[data-v-a2606d49]{display:flex;justify-content:center;align-items:center;gap:16px;font-size:13px;color:var(--text-muted)}.meta-type[data-v-a2606d49]{padding:2px 10px;background:#c41e3a1a;color:var(--primary);border-radius:10px}.message-content-card[data-v-a2606d49]{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px 20px;margin-bottom:16px;box-shadow:0 2px 12px var(--shadow)}.message-body[data-v-a2606d49]{font-size:15px;line-height:1.8;color:var(--text)}.message-body[data-v-a2606d49] p{margin-bottom:16px;line-height:1.8}.message-body[data-v-a2606d49] ul,.message-body[data-v-a2606d49] ol{margin-bottom:16px;padding-left:20px}.message-body[data-v-a2606d49] li{margin-bottom:8px;line-height:1.8}.message-body[data-v-a2606d49] strong{color:var(--primary)}.message-attachments[data-v-a2606d49]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:0 2px 12px var(--shadow)}.attachments-title[data-v-a2606d49]{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px}.title-icon[data-v-a2606d49]{font-size:16px}.attachments-list[data-v-a2606d49]{display:flex;flex-direction:column;gap:12px}.attachment-item[data-v-a2606d49]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.attachment-item[data-v-a2606d49]:hover{background:#c41e3a0d}.file-icon[data-v-a2606d49]{width:40px;height:40px;background:#c41e3a1a;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.file-info[data-v-a2606d49]{flex:1}.file-name[data-v-a2606d49]{font-size:14px;color:var(--text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-a2606d49]{font-size:12px;color:var(--text-muted)}.file-action[data-v-a2606d49]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:16px}.message-footer[data-v-a2606d49]{margin-top:24px;padding-top:20px}.footer-divider[data-v-a2606d49]{height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 50%,transparent 100%);margin-bottom:16px}.footer-info[data-v-a2606d49]{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-muted);text-align:center}.footer-source[data-v-a2606d49]{color:var(--primary);font-weight:500}.banner-cover[data-v-b765ccb7]{background:var(--primary-gradient);padding:40px 20px;text-align:center;color:#fff;margin:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.banner-image[data-v-b765ccb7]{font-size:64px;margin-bottom:16px}.banner-info h1[data-v-b765ccb7]{font-size:20px;font-weight:600;margin-bottom:8px}.banner-info p[data-v-b765ccb7]{font-size:14px;opacity:.9;margin-bottom:16px}.banner-stats[data-v-b765ccb7]{display:flex;justify-content:center;gap:24px;font-size:14px}.section-content[data-v-b765ccb7]{font-size:14px;color:var(--text-secondary);line-height:1.6}.course-list[data-v-b765ccb7]{display:flex;flex-direction:column;gap:8px}.course-item[data-v-b765ccb7]{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--divider);cursor:pointer;transition:var(--transition-fast)}.course-item[data-v-b765ccb7]:last-child{border-bottom:none}.course-item[data-v-b765ccb7]:hover{background:#c41e3a05}.course-icon[data-v-b765ccb7]{font-size:24px}.course-info[data-v-b765ccb7]{flex:1}.course-info h3[data-v-b765ccb7]{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text)}.course-info p[data-v-b765ccb7]{font-size:12px;color:var(--text-muted)}.course-arrow[data-v-b765ccb7]{font-size:20px;color:var(--text-muted)}.actions[data-v-b765ccb7]{display:flex;gap:12px;padding:20px 16px 40px}.actions .btn-primary[data-v-b765ccb7]{flex:1}.header[data-v-fada494c]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:16px 20px;color:#fff;position:sticky;top:0;z-index:100}.header-content[data-v-fada494c]{display:flex;align-items:center;gap:12px}.back-btn[data-v-fada494c]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:50%;transition:var(--transition)}.back-btn[data-v-fada494c]:hover{background:#ffffff1a}.header-title[data-v-fada494c]{flex:1;font-size:16px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-btn[data-v-fada494c]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border-radius:50%;transition:var(--transition)}.header-btn[data-v-fada494c]:hover{background:#ffffff1a}.reader-section[data-v-fada494c]{min-height:calc(100vh - 180px);background:#faf8f5;padding:20px 16px 100px}.reader-content[data-v-fada494c]{max-width:800px;margin:0 auto}.chapter-title[data-v-fada494c]{font-size:22px;font-weight:700;color:var(--text);margin-bottom:24px;line-height:1.4;text-align:center}.chapter-content[data-v-fada494c]{font-size:17px;line-height:1.8;color:var(--text)}.paragraph[data-v-fada494c]{margin-bottom:20px;text-indent:2em}.reader-footer[data-v-fada494c]{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);border-top:1px solid var(--border);padding:12px 16px;z-index:90}.footer-actions[data-v-fada494c]{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto}.footer-btn[data-v-fada494c]{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg);border:none;border-radius:20px;font-size:14px;color:var(--text);cursor:pointer;transition:var(--transition)}.footer-btn[data-v-fada494c]:hover:not(:disabled){background:var(--primary);color:#fff}.footer-btn[data-v-fada494c]:disabled{opacity:.4;cursor:not-allowed}.btn-icon[data-v-fada494c]{font-size:12px}.progress-info[data-v-fada494c]{font-size:14px;color:var(--text-muted)}.progress-text[data-v-fada494c]{font-weight:500}.chapter-modal[data-v-fada494c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;display:flex;align-items:flex-end}.chapter-panel[data-v-fada494c]{width:100%;max-height:70vh;background:var(--card-bg);border-radius:20px 20px 0 0;overflow:hidden;animation:slideUp-fada494c .3s ease}@keyframes slideUp-fada494c{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-header[data-v-fada494c]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.panel-header h3[data-v-fada494c]{font-size:17px;font-weight:600;color:var(--text)}.close-btn[data-v-fada494c]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:var(--transition)}.close-btn[data-v-fada494c]:hover{background:var(--bg);color:var(--text)}.chapter-list[data-v-fada494c]{max-height:calc(70vh - 65px);overflow-y:auto;padding:8px 0}.chapter-item[data-v-fada494c]{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--border)}.chapter-item[data-v-fada494c]:last-child{border-bottom:none}.chapter-item[data-v-fada494c]:hover{background:var(--bg)}.chapter-item.active[data-v-fada494c]{background:#c41e3a0d}.chapter-num[data-v-fada494c]{font-size:13px;color:var(--primary);font-weight:600;min-width:50px}.chapter-name[data-v-fada494c]{flex:1;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-item.active .chapter-name[data-v-fada494c]{color:var(--primary);font-weight:500}@media (max-width: 375px){.reader-header[data-v-fada494c]{padding:12px 16px}.book-title[data-v-fada494c]{font-size:15px}.reader-content[data-v-fada494c]{padding:16px}.chapter-title[data-v-fada494c]{font-size:20px}.chapter-content[data-v-fada494c]{font-size:15px;line-height:1.8}.reader-footer[data-v-fada494c]{padding:12px 16px}.footer-btn[data-v-fada494c]{padding:8px 14px;font-size:13px;min-height:44px}.progress-info[data-v-fada494c]{font-size:13px}}@media (max-width: 320px){.chapter-title[data-v-fada494c]{font-size:18px}.chapter-content[data-v-fada494c]{font-size:14px}.footer-btn[data-v-fada494c]{padding:8px 12px;font-size:12px}}.exam-title[data-v-a5d94a1d]{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.4}.exam-subtitle[data-v-a5d94a1d]{font-size:14px;color:var(--text-muted);margin-bottom:20px}.info-grid[data-v-a5d94a1d]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item[data-v-a5d94a1d]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius-md)}.info-icon[data-v-a5d94a1d]{font-size:24px}.info-content[data-v-a5d94a1d]{display:flex;flex-direction:column;gap:2px}.info-label[data-v-a5d94a1d]{font-size:12px;color:var(--text-muted)}.info-value[data-v-a5d94a1d]{font-size:15px;font-weight:600;color:var(--primary)}.countdown-label[data-v-a5d94a1d]{font-size:14px;opacity:.9;margin-bottom:16px;text-align:center}.countdown-timer[data-v-a5d94a1d]{display:flex;justify-content:center;align-items:center;gap:8px}.time-block[data-v-a5d94a1d]{display:flex;flex-direction:column;align-items:center;gap:4px}.time-value[data-v-a5d94a1d]{font-size:36px;font-weight:700;font-variant-numeric:tabular-nums;min-width:50px}.time-unit[data-v-a5d94a1d]{font-size:12px;opacity:.8}.time-separator[data-v-a5d94a1d]{font-size:28px;font-weight:700;opacity:.8;margin-top:-16px}.rules-list[data-v-a5d94a1d]{list-style:none}.rule-item[data-v-a5d94a1d]{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--divider)}.rule-item[data-v-a5d94a1d]:last-child{border-bottom:none}.rule-num[data-v-a5d94a1d]{width:22px;height:22px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.rule-text[data-v-a5d94a1d]{flex:1;font-size:14px;color:var(--text-secondary);line-height:1.6}.notice-list[data-v-a5d94a1d]{list-style:none}.notice-item[data-v-a5d94a1d]{font-size:13px;color:#a16207;padding:6px 0 6px 16px;position:relative;line-height:1.5}.notice-item[data-v-a5d94a1d]:before{content:"•";position:absolute;left:0;color:#f59e0b}.action-section[data-v-a5d94a1d]{padding:16px 16px 40px;text-align:center}.start-btn[data-v-a5d94a1d]{width:100%;max-width:320px;padding:16px 32px;border-radius:28px;font-size:17px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-red)}.start-btn[data-v-a5d94a1d]:disabled{background:var(--text-muted);cursor:not-allowed;box-shadow:none}.btn-arrow[data-v-a5d94a1d]{font-size:18px;transition:transform .3s}.start-btn:hover:not(:disabled) .btn-arrow[data-v-a5d94a1d]{transform:translate(4px)}.start-hint[data-v-a5d94a1d]{margin-top:12px;font-size:13px;color:var(--text-muted)}@media (max-width: 375px){.exam-title[data-v-a5d94a1d]{font-size:20px}.info-grid[data-v-a5d94a1d]{gap:10px}.info-item[data-v-a5d94a1d]{padding:10px;gap:8px}.info-icon[data-v-a5d94a1d]{font-size:20px}.info-value[data-v-a5d94a1d]{font-size:14px}.time-value[data-v-a5d94a1d]{font-size:28px;min-width:40px}.time-separator[data-v-a5d94a1d]{font-size:24px}.rule-text[data-v-a5d94a1d]{font-size:13px}.start-btn[data-v-a5d94a1d]{padding:14px 28px;font-size:16px;min-height:52px}}@media (max-width: 320px){.info-grid[data-v-a5d94a1d]{grid-template-columns:1fr}.time-value[data-v-a5d94a1d]{font-size:24px;min-width:36px}}.result-section[data-v-27aed9b7]{padding:20px 16px}.result-card[data-v-27aed9b7]{background:var(--card-bg);border-radius:var(--radius-lg);padding:32px 20px;text-align:center;box-shadow:0 4px 16px var(--shadow);position:relative;overflow:hidden}.result-card[data-v-27aed9b7]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.result-card.excellent[data-v-27aed9b7]:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.result-card.good[data-v-27aed9b7]:before{background:linear-gradient(90deg,#10b981,#34d399)}.result-card.pass[data-v-27aed9b7]:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.result-card.fail[data-v-27aed9b7]:before{background:linear-gradient(90deg,#ef4444,#f87171)}.result-badge[data-v-27aed9b7]{margin-bottom:16px}.badge-icon[data-v-27aed9b7]{font-size:48px}.score-display[data-v-27aed9b7]{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:8px}.score-value[data-v-27aed9b7]{font-size:56px;font-weight:800;color:var(--primary);line-height:1}.score-unit[data-v-27aed9b7]{font-size:20px;color:var(--text-muted)}.result-status[data-v-27aed9b7]{font-size:18px;font-weight:600;color:var(--text);margin-bottom:12px}.pass-mark[data-v-27aed9b7]{font-size:14px;color:#10b981;font-weight:500}.fail-mark[data-v-27aed9b7]{font-size:14px;color:#ef4444;font-weight:500}.stats-section[data-v-27aed9b7]{padding:0 16px 16px}.stats-card[data-v-27aed9b7]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.stat-row[data-v-27aed9b7]{display:flex;justify-content:space-around;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.stat-item[data-v-27aed9b7]{display:flex;align-items:center;gap:10px}.stat-icon[data-v-27aed9b7]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.stat-icon.correct[data-v-27aed9b7]{background:#10b9811a;color:#10b981}.stat-icon.wrong[data-v-27aed9b7]{background:#ef44441a;color:#ef4444}.stat-icon.time[data-v-27aed9b7]{background:#3b82f61a;color:#3b82f6}.stat-content[data-v-27aed9b7]{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value[data-v-27aed9b7]{font-size:20px;font-weight:700;color:var(--text)}.stat-value.correct[data-v-27aed9b7]{color:#10b981}.stat-value.wrong[data-v-27aed9b7]{color:#ef4444}.stat-label[data-v-27aed9b7]{font-size:12px;color:var(--text-muted)}.accuracy-bar[data-v-27aed9b7]{margin-top:8px}.accuracy-label[data-v-27aed9b7]{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.accuracy-value[data-v-27aed9b7]{font-weight:600;color:var(--primary)}.progress-track[data-v-27aed9b7]{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.progress-fill[data-v-27aed9b7]{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:4px;transition:width .5s ease}.exam-info-section[data-v-27aed9b7]{padding:0 16px 16px}.info-card[data-v-27aed9b7]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.info-title[data-v-27aed9b7]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.info-list[data-v-27aed9b7]{display:flex;flex-direction:column;gap:12px}.info-row[data-v-27aed9b7]{display:flex;justify-content:space-between;align-items:center}.info-label[data-v-27aed9b7]{font-size:14px;color:var(--text-muted)}.info-value[data-v-27aed9b7]{font-size:14px;color:var(--text);font-weight:500;text-align:right;max-width:60%}.knowledge-section[data-v-27aed9b7]{padding:0 16px 16px}.knowledge-card[data-v-27aed9b7]{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px var(--shadow)}.knowledge-title[data-v-27aed9b7]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px}.title-icon[data-v-27aed9b7]{font-size:20px}.knowledge-list[data-v-27aed9b7]{display:flex;flex-direction:column;gap:16px}.knowledge-item[data-v-27aed9b7]{display:flex;flex-direction:column;gap:8px}.knowledge-info[data-v-27aed9b7]{display:flex;justify-content:space-between;align-items:center}.knowledge-name[data-v-27aed9b7]{font-size:13px;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.knowledge-score[data-v-27aed9b7]{font-size:13px;font-weight:600}.knowledge-score.excellent[data-v-27aed9b7]{color:#f59e0b}.knowledge-score.good[data-v-27aed9b7]{color:#10b981}.knowledge-score.pass[data-v-27aed9b7]{color:#3b82f6}.knowledge-score.fail[data-v-27aed9b7]{color:#ef4444}.knowledge-bar[data-v-27aed9b7]{height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.knowledge-fill[data-v-27aed9b7]{height:100%;border-radius:3px;transition:width .5s ease}.knowledge-fill.excellent[data-v-27aed9b7]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.knowledge-fill.good[data-v-27aed9b7]{background:linear-gradient(90deg,#10b981,#34d399)}.knowledge-fill.pass[data-v-27aed9b7]{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.knowledge-fill.fail[data-v-27aed9b7]{background:linear-gradient(90deg,#ef4444,#f87171)}.action-section[data-v-27aed9b7]{padding:16px 16px 40px;display:flex;flex-direction:column;gap:12px}.action-btn[data-v-27aed9b7]{width:100%;padding:14px 24px;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;border:none}.action-btn.primary[data-v-27aed9b7]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 12px #c41e3a4d}.action-btn.primary[data-v-27aed9b7]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c41e3a66}.action-btn.secondary[data-v-27aed9b7]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.action-btn.secondary[data-v-27aed9b7]:hover{background:var(--border)}.btn-icon[data-v-27aed9b7]{font-size:18px}@media (max-width: 375px){.score-value[data-v-27aed9b7]{font-size:56px}.score-label[data-v-27aed9b7]{font-size:14px}.stats-grid[data-v-27aed9b7]{gap:12px}.stat-item[data-v-27aed9b7]{padding:12px}.stat-icon[data-v-27aed9b7]{width:40px;height:40px;font-size:18px}.stat-value[data-v-27aed9b7]{font-size:18px}.action-btn[data-v-27aed9b7]{padding:12px 20px;font-size:15px;min-height:48px}}@media (max-width: 320px){.score-value[data-v-27aed9b7]{font-size:48px}.stats-grid[data-v-27aed9b7]{grid-template-columns:repeat(3,1fr)}.stat-icon[data-v-27aed9b7]{width:36px;height:36px;font-size:16px}.stat-value[data-v-27aed9b7]{font-size:16px}}.page-container[data-v-31844555]{min-height:100vh;background:var(--bg, #f5f7fa)}.page-header[data-v-31844555]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid var(--border, #e8e8e8);position:sticky;top:0;z-index:100}.header-left[data-v-31844555]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}.back-icon[data-v-31844555]{font-size:28px;color:var(--text, #333);font-weight:300}.header-title[data-v-31844555]{font-size:17px;font-weight:600;color:var(--text, #333);flex:1;text-align:center}.header-right[data-v-31844555]{width:40px}.app-list-section[data-v-31844555]{padding:20px 16px}.app-grid[data-v-31844555]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 16px;background:#fff;border-radius:16px;padding:24px 16px;box-shadow:0 2px 8px #0000000f}.app-item[data-v-31844555]{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease}.app-item[data-v-31844555]:active{transform:scale(.95)}.app-icon[data-v-31844555]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;transition:all .3s ease}.app-name[data-v-31844555]{font-size:13px;color:var(--text-secondary, #666);text-align:center;font-weight:500}.app-icon.red[data-v-31844555]{background:linear-gradient(135deg,#ff6b6b,#c41e3a)}.app-icon.blue[data-v-31844555]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.app-icon.green[data-v-31844555]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.app-icon.orange[data-v-31844555]{background:linear-gradient(135deg,#fa709a,#fee140)}.app-icon.purple[data-v-31844555]{background:linear-gradient(135deg,#a8edea,#fed6e3)}.app-icon.cyan[data-v-31844555]{background:linear-gradient(135deg,#d299c2,#fef9d7)}.app-icon.pink[data-v-31844555]{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.app-icon.dark[data-v-31844555]{background:linear-gradient(135deg,#667eea,#764ba2)}@media (max-width: 375px){.app-grid[data-v-31844555]{gap:20px 12px;padding:20px 12px}.app-icon[data-v-31844555]{width:48px;height:48px;font-size:24px}}@media (max-width: 320px){.app-list-section[data-v-31844555]{padding:16px 12px}.app-grid[data-v-31844555]{grid-template-columns:repeat(3,1fr)}}.page-container[data-v-172d8e58]{min-height:100vh;background:linear-gradient(180deg,#faf8f5,#f5f2ed);padding-bottom:90px}.student-header[data-v-172d8e58]{background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,#8b0000 100%);padding:20px 16px}.student-info-card[data-v-172d8e58]{display:flex;align-items:center;gap:16px;color:#fff}.student-avatar[data-v-172d8e58]{width:64px;height:64px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.avatar-img[data-v-172d8e58]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-text[data-v-172d8e58]{font-size:24px;font-weight:600;color:#fff}.student-info[data-v-172d8e58]{flex:1}.student-name[data-v-172d8e58]{font-size:20px;font-weight:600;margin-bottom:4px}.student-dept[data-v-172d8e58]{font-size:14px;opacity:.9}.student-stats-brief[data-v-172d8e58]{display:flex;gap:20px}.brief-item[data-v-172d8e58]{text-align:center}.brief-value[data-v-172d8e58]{display:block;font-size:24px;font-weight:700}.brief-label[data-v-172d8e58]{font-size:12px;opacity:.8}.stats-section[data-v-172d8e58]{padding:20px 16px}.section-header[data-v-172d8e58]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-172d8e58]{font-size:18px;font-weight:700;color:#8b0000;position:relative;padding-left:12px}.section-title[data-v-172d8e58]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:linear-gradient(180deg,#c41e3a,#8b0000);border-radius:2px}.section-more[data-v-172d8e58]{font-size:14px;color:#c41e3a;display:flex;align-items:center;gap:4px;cursor:pointer;font-weight:500;transition:all .3s ease}.section-more[data-v-172d8e58]:hover{color:#8b0000}.section-more svg[data-v-172d8e58]{width:16px;height:16px}.stats-grid[data-v-172d8e58]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats-card[data-v-172d8e58]{background:#fff;border-radius:16px;padding:16px 8px;text-align:center;box-shadow:0 2px 12px #8b00000f;transition:all .3s ease;cursor:pointer;border:1px solid rgba(196,30,58,.05)}.stats-card[data-v-172d8e58]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #c41e3a1a}.stats-card-enhanced[data-v-172d8e58]{border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #8b000014;transition:all .3s ease;cursor:pointer;border:1px solid rgba(196,30,58,.05)}.stats-card-enhanced.clickable[data-v-172d8e58]:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #c41e3a26}.stats-card-enhanced.clickable[data-v-172d8e58]:active{transform:translateY(-2px) scale(.98)}.stats-card-bg[data-v-172d8e58]{background:var(--card-gradient);padding:20px;display:flex;align-items:center;gap:16px;color:#fff}.stats-icon-box[data-v-172d8e58]{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.stats-content[data-v-172d8e58]{flex:1}.stats-value-large[data-v-172d8e58]{font-size:28px;font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px}.stats-label-light[data-v-172d8e58]{font-size:13px;color:#ffffffd9;font-weight:500;white-space:nowrap}.stats-icon[data-v-172d8e58]{font-size:28px;margin-bottom:8px}.stats-value[data-v-172d8e58]{font-size:20px;font-weight:700;color:#8b0000;margin-bottom:4px}.stats-label[data-v-172d8e58]{font-size:12px;color:#666}.quick-section[data-v-172d8e58]{padding:20px 16px}.quick-grid[data-v-172d8e58]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 16px}.quick-item[data-v-172d8e58]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .3s ease}.quick-item[data-v-172d8e58]:hover{transform:translateY(-2px)}.quick-icon[data-v-172d8e58]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff}.quick-item:hover .quick-icon[data-v-172d8e58]{transform:translateY(-4px);box-shadow:0 8px 20px #c41e3a66}.quick-item:active .quick-icon[data-v-172d8e58]{transform:translateY(-2px) scale(.95)}.quick-name[data-v-172d8e58]{font-size:13px;color:#555;text-align:center;font-weight:500}.quick-icon.red[data-v-172d8e58]{background:linear-gradient(135deg,#d32f2f,#8b0000);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.gold[data-v-172d8e58]{background:linear-gradient(135deg,gold,#ff8f00);box-shadow:0 4px 12px #ffd7004d}.quick-icon.crimson[data-v-172d8e58]{background:linear-gradient(135deg,#c41e3a,#8b0000);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.fire[data-v-172d8e58]{background:linear-gradient(135deg,#ff5722,#d32f2f);box-shadow:0 4px 12px #ff57224d}.quick-icon.blue[data-v-172d8e58]{background:linear-gradient(135deg,#d32f2f,#8b0000);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.green[data-v-172d8e58]{background:linear-gradient(135deg,#c41e3a,#8b0000);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.orange[data-v-172d8e58]{background:linear-gradient(135deg,#d32f2f,#c41e3a);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.purple[data-v-172d8e58]{background:linear-gradient(135deg,#8b0000,#c41e3a);box-shadow:0 4px 12px #8b00004d}.quick-icon.cyan[data-v-172d8e58]{background:linear-gradient(135deg,#d32f2f,#8b0000);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.pink[data-v-172d8e58]{background:linear-gradient(135deg,#c41e3a,#d32f2f);box-shadow:0 4px 12px #c41e3a4d}.quick-icon.dark[data-v-172d8e58]{background:linear-gradient(135deg,#8b0000,#5c0000);box-shadow:0 4px 12px #8b00004d}.recent-section[data-v-172d8e58]{padding:0 16px 20px}.recent-list[data-v-172d8e58]{display:flex;flex-direction:column;gap:12px}.recent-item[data-v-172d8e58]{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 12px #8b00000f;border:1px solid rgba(196,30,58,.05)}.recent-item[data-v-172d8e58]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #c41e3a1a}.recent-cover[data-v-172d8e58]{width:60px;height:60px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cover-icon[data-v-172d8e58]{font-size:28px}.recent-info[data-v-172d8e58]{flex:1;min-width:0}.recent-title[data-v-172d8e58]{font-size:15px;font-weight:600;color:#333;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-progress[data-v-172d8e58]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-172d8e58]{flex:1;height:6px;background:var(--border, #e8e8e8);border-radius:3px;overflow:hidden}.progress-fill[data-v-172d8e58]{height:100%;background:linear-gradient(90deg,#c41e3a,#d32f2f);border-radius:3px;transition:width .3s ease}.progress-text[data-v-172d8e58]{font-size:12px;color:#c41e3a;flex-shrink:0;font-weight:600}.header-banner[data-v-172d8e58]{background:var(--bg, #f5f7fa)}.swiper-container[data-v-172d8e58]{position:relative;overflow:hidden;height:180px}.swiper-wrapper[data-v-172d8e58]{display:flex;transition:transform .3s ease;height:100%}.swiper-slide[data-v-172d8e58]{flex:0 0 100%;height:100%}.slide-bg[data-v-172d8e58]{width:100%;height:100%;background-size:cover;background-position:center;position:relative}.slide-bg[data-v-172d8e58]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#8b00001a,#8b0000b3)}.slide-content[data-v-172d8e58]{position:absolute;bottom:0;left:0;right:0;padding:20px;color:#fff;z-index:1}.slide-tag[data-v-172d8e58]{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,#c41e3a,#8b0000);border-radius:4px;font-size:12px;margin-bottom:8px;font-weight:600;border:1px solid rgba(255,215,0,.3);box-shadow:0 2px 8px #8b00004d}.slide-title[data-v-172d8e58]{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.3)}.slide-desc[data-v-172d8e58]{font-size:13px;opacity:.95;font-weight:400}.swiper-dots[data-v-172d8e58]{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.swiper-dot[data-v-172d8e58]{width:8px;height:8px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .3s}.swiper-dot.active[data-v-172d8e58]{background:linear-gradient(135deg,gold,#ff8f00);width:20px;border-radius:10px;box-shadow:0 0 8px #ffd70099}.notice-section[data-v-172d8e58]{background:#fff;margin:0 16px 16px;padding:20px;border-radius:16px;box-shadow:0 2px 12px #8b00000f;border:1px solid rgba(196,30,58,.08)}.notice-list[data-v-172d8e58]{display:flex;flex-direction:column}.notice-item[data-v-172d8e58]{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(196,30,58,.1);cursor:pointer;transition:all .3s ease}.notice-item[data-v-172d8e58]:hover{background:#c41e3a05}.notice-item[data-v-172d8e58]:last-child{border-bottom:none}.notice-content[data-v-172d8e58]{flex:1}.notice-title[data-v-172d8e58]{font-size:14px;color:#333;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.notice-meta[data-v-172d8e58]{display:flex;align-items:center;gap:8px}.notice-category[data-v-172d8e58]{font-size:11px;padding:2px 8px;background:#c41e3a1a;color:#c41e3a;border-radius:10px}.notice-time[data-v-172d8e58]{font-size:12px;color:#999}.notice-arrow[data-v-172d8e58]{font-size:18px;color:#c41e3a;font-weight:300}@media (max-width: 375px){.stats-grid[data-v-172d8e58]{grid-template-columns:repeat(1,1fr);gap:12px}.stats-value-large[data-v-172d8e58]{font-size:24px}.stats-card-bg[data-v-172d8e58]{padding:16px}.quick-grid[data-v-172d8e58]{gap:16px 12px}.quick-icon[data-v-172d8e58]{width:48px;height:48px;font-size:24px}.student-stats-brief[data-v-172d8e58]{display:none}}@media (max-width: 320px){.stats-section[data-v-172d8e58],.quick-section[data-v-172d8e58],.notice-section[data-v-172d8e58]{padding-left:12px;padding-right:12px}.quick-grid[data-v-172d8e58]{grid-template-columns:repeat(3,1fr)}.stats-grid.teacher-stats[data-v-172d8e58]{grid-template-columns:repeat(1,1fr)}}.page-container[data-v-009d8d72]{min-height:100vh;background:var(--bg, #f5f7fa);padding-bottom:90px}.student-header[data-v-009d8d72]{background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,#8b0000 100%);padding:48px 20px 32px;color:#fff}.header-content[data-v-009d8d72]{max-width:600px;margin:0 auto}.header-title[data-v-009d8d72]{font-size:24px;font-weight:700;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.header-subtitle[data-v-009d8d72]{font-size:16px;opacity:.9;font-weight:400}.student-main-content[data-v-009d8d72]{padding:20px 16px 90px;max-width:600px;margin:0 auto}.class-info-section[data-v-009d8d72]{margin-bottom:24px}.class-info-card[data-v-009d8d72]{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px #00000014}.class-icon[data-v-009d8d72]{width:56px;height:56px;background:linear-gradient(135deg,#fff5f5,#ffe0e0);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.class-info[data-v-009d8d72]{flex:1}.class-name[data-v-009d8d72]{font-size:18px;font-weight:600;color:var(--text);margin-bottom:6px}.class-stats[data-v-009d8d72]{display:flex;align-items:center;gap:4px}.stats-item[data-v-009d8d72]{display:flex;align-items:baseline;gap:4px}.stats-number[data-v-009d8d72]{font-size:20px;font-weight:700;color:var(--primary, #c41e3a)}.stats-label[data-v-009d8d72]{font-size:14px;color:var(--text-muted)}.classmates-section[data-v-009d8d72]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #00000014}.section-title[data-v-009d8d72]{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e8e8e8)}.title-icon[data-v-009d8d72]{font-size:20px}.title-text[data-v-009d8d72]{font-size:16px;font-weight:600;color:var(--text)}.classmates-list[data-v-009d8d72]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:20px}.classmate-item[data-v-009d8d72]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border-radius:12px;transition:all .3s ease}.classmate-item[data-v-009d8d72]:hover{background:var(--bg, #f5f7fa)}.classmate-avatar[data-v-009d8d72]{width:56px;height:56px;background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,#8b0000 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;overflow:hidden;flex-shrink:0;box-shadow:0 4px 12px #c41e3a4d}.classmate-avatar img[data-v-009d8d72]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.classmate-name[data-v-009d8d72]{font-size:14px;font-weight:500;color:var(--text);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.students-list[data-v-009d8d72]{display:flex;flex-direction:column;gap:12px}.student-row[data-v-009d8d72]{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;transition:all .3s ease}.student-row[data-v-009d8d72]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.student-row-avatar[data-v-009d8d72]{width:48px;height:48px;background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,#8b0000 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;overflow:hidden;flex-shrink:0}.student-row-avatar img[data-v-009d8d72]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.student-row-name[data-v-009d8d72]{flex:1;font-size:16px;font-weight:600;color:var(--text)}.student-row-phone[data-v-009d8d72]{font-size:14px;color:var(--text-muted);font-family:monospace}.header-btn[data-v-009d8d72]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .3s ease;background:transparent;border:none;color:#fff}.header-btn[data-v-009d8d72]:hover{background:#ffffff1a}.header-btn svg[data-v-009d8d72]{width:20px;height:20px}.search-overlay[data-v-009d8d72]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:80px}.search-box[data-v-009d8d72]{background:#fff;border-radius:12px;padding:16px;width:90%;max-width:400px;display:flex;gap:12px}.search-input-wrapper[data-v-009d8d72]{flex:1;position:relative}.search-icon[data-v-009d8d72]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted)}.search-input[data-v-009d8d72]{width:100%;padding:12px 16px 12px 40px;border:1px solid var(--border);border-radius:8px;font-size:15px;background:var(--bg)}.search-input[data-v-009d8d72]:focus{outline:none;border-color:var(--primary)}.search-cancel[data-v-009d8d72]{padding:12px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:15px;cursor:pointer}.main-content[data-v-009d8d72]{padding:20px 16px}.stats-section[data-v-009d8d72]{margin-bottom:20px}.stats-grid[data-v-009d8d72]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats-card[data-v-009d8d72]{background:#fff;border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 8px #0000000f}.stats-icon[data-v-009d8d72]{font-size:28px;margin-bottom:8px}.stats-value[data-v-009d8d72]{font-size:24px;font-weight:700;color:var(--text);margin-bottom:4px}.stats-label[data-v-009d8d72]{font-size:12px;color:var(--text-muted)}.filter-section[data-v-009d8d72]{margin-bottom:20px}.filter-tabs[data-v-009d8d72]{display:flex;gap:10px;background:#fff;border-radius:10px;padding:6px}.filter-tab[data-v-009d8d72]{flex:1;padding:10px;text-align:center;font-size:14px;border-radius:8px;cursor:pointer;transition:all .3s ease;border:none;background:transparent;color:var(--text-secondary)}.filter-tab.active[data-v-009d8d72]{background:var(--primary);color:#fff}.students-section[data-v-009d8d72]{margin-bottom:20px}.empty-state-wrapper[data-v-009d8d72]{padding:40px 0}.student-list[data-v-009d8d72]{display:flex;flex-direction:column;gap:12px}.student-card[data-v-009d8d72]{background:#fff;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.student-card[data-v-009d8d72]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.student-avatar[data-v-009d8d72]{width:48px;height:48px;background:linear-gradient(135deg,var(--primary, #c41e3a) 0%,#8b0000 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;flex-shrink:0}.student-info[data-v-009d8d72]{flex:1;min-width:0}.student-name[data-v-009d8d72]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.student-dept[data-v-009d8d72]{font-size:13px;color:var(--text-muted);margin-bottom:8px}.student-progress[data-v-009d8d72]{display:flex;align-items:center;gap:8px}.progress-bar[data-v-009d8d72]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-009d8d72]{height:100%;background:linear-gradient(90deg,var(--primary, #c41e3a),#ff6b6b);border-radius:3px;transition:width .3s ease}.progress-text[data-v-009d8d72]{font-size:12px;color:var(--text-muted);flex-shrink:0}.student-status[data-v-009d8d72]{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;flex-shrink:0}.student-status.learning[data-v-009d8d72]{background:#e3f2fd;color:#1976d2}.student-status.completed[data-v-009d8d72]{background:#e8f5e9;color:#388e3c}@media (max-width: 375px){.stats-grid[data-v-009d8d72]{gap:8px}.student-card[data-v-009d8d72]{padding:12px}.student-avatar[data-v-009d8d72]{width:40px;height:40px;font-size:16px}.student-header[data-v-009d8d72]{padding:40px 16px 28px}.header-title[data-v-009d8d72]{font-size:22px}.classmates-list[data-v-009d8d72]{grid-template-columns:repeat(4,1fr);gap:12px}.classmate-avatar[data-v-009d8d72]{width:48px;height:48px;font-size:18px}.classmate-name[data-v-009d8d72]{font-size:13px}}@media (max-width: 320px){.main-content[data-v-009d8d72]{padding:16px 12px}.student-main-content[data-v-009d8d72]{padding:16px 12px 90px}.classmates-list[data-v-009d8d72]{grid-template-columns:repeat(3,1fr)}}.bottom-nav[data-v-f74b344d]{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg, #ffffff);display:flex;justify-content:space-around;padding:8px 0 12px;box-shadow:0 -4px 20px #00000014;z-index:100}.nav-item[data-v-f74b344d]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 20px;cursor:pointer;color:var(--text-muted, #999999);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.nav-item[data-v-f74b344d]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--primary, #c41e3a);border-radius:0 0 3px 3px;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item.active[data-v-f74b344d]{color:var(--primary, #c41e3a)}.nav-item.active[data-v-f74b344d]:before{width:20px}.nav-icon[data-v-f74b344d]{font-size:22px;transition:all .3s ease}.nav-item:hover .nav-icon[data-v-f74b344d]{transform:translateY(-2px)}.nav-text[data-v-f74b344d]{font-size:11px;font-weight:500}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav[data-v-f74b344d]{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (max-width: 375px){.nav-item[data-v-f74b344d]{padding:6px 16px}.nav-icon[data-v-f74b344d]{font-size:20px}.nav-text[data-v-f74b344d]{font-size:10px}}@media (max-width: 320px){.nav-item[data-v-f74b344d]{padding:6px 12px}.nav-icon[data-v-f74b344d]{font-size:18px}}.page-container[data-v-2b6c022a]{min-height:100vh;background:var(--bg, #f5f7fa);padding:20px 16px 100px}.page-header[data-v-2b6c022a]{text-align:center;margin-bottom:24px}.page-title[data-v-2b6c022a]{font-size:22px;font-weight:700;color:var(--text);margin-bottom:8px}.page-subtitle[data-v-2b6c022a]{font-size:14px;color:var(--primary);font-weight:500}.section-title[data-v-2b6c022a]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:12px}.role-switcher[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.role-buttons[data-v-2b6c022a]{display:flex;gap:8px;flex-wrap:wrap}.role-btn[data-v-2b6c022a]{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;border:1px solid var(--border);background:#fff;color:var(--text-secondary)}.role-btn[data-v-2b6c022a]:hover{border-color:var(--primary);color:var(--primary)}.role-btn.active[data-v-2b6c022a]{background:var(--primary);color:#fff;border-color:var(--primary)}.permissions-section[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.permissions-list[data-v-2b6c022a]{display:flex;flex-wrap:wrap;gap:8px}.permission-tag[data-v-2b6c022a]{padding:4px 10px;background:var(--bg);border-radius:12px;font-size:12px;color:var(--text-secondary)}.menu-section[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.menu-preview[data-v-2b6c022a]{display:flex;gap:12px;flex-wrap:wrap}.menu-item[data-v-2b6c022a]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg);border-radius:10px;min-width:140px}.menu-icon[data-v-2b6c022a]{font-size:20px}.menu-text[data-v-2b6c022a]{font-size:14px;font-weight:500}.menu-path[data-v-2b6c022a]{font-size:12px;color:var(--text-muted);margin-left:auto}.quick-section[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.quick-list[data-v-2b6c022a]{display:flex;gap:12px;flex-wrap:wrap}.quick-item[data-v-2b6c022a]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,var(--primary) 0%,#8b0000 100%);border-radius:10px;color:#fff;min-width:120px}.quick-icon[data-v-2b6c022a]{font-size:20px}.quick-text[data-v-2b6c022a]{font-size:14px;font-weight:500}.demo-section[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.demo-item[data-v-2b6c022a]{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;margin-bottom:8px}.demo-item[data-v-2b6c022a]:last-child{margin-bottom:0}.teacher-only[data-v-2b6c022a]{background:#e3f2fd;color:#1976d2}.student-only[data-v-2b6c022a]{background:#e8f5e9;color:#388e3c}.permission-item[data-v-2b6c022a]{background:#fff3e0;color:#f57c00}.demo-icon[data-v-2b6c022a]{font-size:24px}.demo-text[data-v-2b6c022a]{font-size:14px;font-weight:500}.access-section[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.access-list[data-v-2b6c022a]{display:flex;flex-direction:column;gap:8px}.access-item[data-v-2b6c022a]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg);border-radius:8px}.access-item.allowed[data-v-2b6c022a]{background:#e8f5e9}.access-name[data-v-2b6c022a]{font-size:14px;font-weight:500}.access-status[data-v-2b6c022a]{font-size:12px}.defaults-section[data-v-2b6c022a]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.defaults-json[data-v-2b6c022a]{background:var(--bg);padding:12px;border-radius:8px;font-size:12px;font-family:monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-all}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--primary: #c41e3a;--primary-dark: #8b0000;--primary-light: #ff6b6b;--primary-gradient: linear-gradient(135deg, #d32f2f 0%, #8b0000 100%);--gold: #ffd700;--gold-dark: #ff8f00;--gold-gradient: linear-gradient(135deg, #ffd700 0%, #ff8f00 100%);--bg: #f5f7fa;--bg-paper: linear-gradient(180deg, #faf8f5 0%, #f5f2ed 100%);--card-bg: #ffffff;--text: #333333;--text-secondary: #555555;--text-muted: #999999;--text-light: #cccccc;--border: #e8e8e8;--border-light: rgba(196, 30, 58, .1);--divider: rgba(196, 30, 58, .08);--shadow-sm: 0 2px 4px rgba(139, 0, 0, .04);--shadow: 0 2px 8px rgba(139, 0, 0, .06);--shadow-md: 0 4px 12px rgba(139, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(139, 0, 0, .12);--shadow-red: 0 4px 12px rgba(196, 30, 58, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 50%;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .2s ease;--transition-slow: all .4s ease}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);min-height:100vh;color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fadeInUp{animation:fadeInUp .5s ease}.animate-fadeIn{animation:fadeIn .5s ease}.page-container{min-height:100vh;background:var(--bg-paper);padding-bottom:90px;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@supports (padding-top: env(safe-area-inset-top)){.page-container{padding-top:max(0px,env(safe-area-inset-top))}}.header-safe-area{padding-top:env(safe-area-inset-top)}.bottom-safe-area{padding-bottom:env(safe-area-inset-bottom)}.card{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;margin:0 16px 16px}.card-hover{transition:var(--transition)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:18px;font-weight:600;color:var(--text);position:relative;padding-left:12px}.section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:var(--primary-gradient);border-radius:2px}.section-more{font-size:13px;color:var(--primary);cursor:pointer;transition:var(--transition-fast)}.section-more:hover{color:var(--primary-dark)}.btn-primary{background:var(--primary-gradient);color:#fff;border-radius:var(--radius-md);padding:12px 24px;font-weight:500;transition:var(--transition);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover{box-shadow:var(--shadow-red);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--bg);color:var(--text);border-radius:var(--radius-md);padding:12px 24px;font-weight:500;transition:var(--transition);border:1px solid var(--border);cursor:pointer}.btn-secondary:hover{background:var(--border-light)}.list-item{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid var(--divider);cursor:pointer;transition:var(--transition-fast)}.list-item:hover{background:#c41e3a05}.list-item:last-child{border-bottom:none}.tag-red{background:var(--primary-gradient);color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;display:inline-flex;align-items:center}.tag-gold{background:var(--gold-gradient);color:#8b0000;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;display:inline-flex;align-items:center}.tag-outline{background:transparent;border:1px solid var(--primary);color:var(--primary);padding:4px 10px;border-radius:4px;font-size:12px}.unread-dot{width:6px;height:6px;background:var(--primary);border-radius:50%;box-shadow:0 0 4px #c41e3a80}.icon-bg-red{background:linear-gradient(135deg,#d32f2f,#8b0000)}.icon-bg-gold{background:linear-gradient(135deg,gold,#ff8f00)}.icon-bg-crimson{background:linear-gradient(135deg,#c41e3a,#8b0000)}.icon-bg-fire{background:linear-gradient(135deg,#ff5722,#d32f2f)}.icon-bg-rose{background:linear-gradient(135deg,#ff6b6b,#c41e3a)}.icon-bg-orange{background:linear-gradient(135deg,#ff8a65,#ff5722)}.icon-bg-purple{background:linear-gradient(135deg,#ab47bc,#8e24aa)}.icon-bg-blue{background:linear-gradient(135deg,#42a5f5,#1976d2)}.icon-bg-green{background:linear-gradient(135deg,#66bb6a,#43a047)}.icon-bg-teal{background:linear-gradient(135deg,#26a69a,#00897b)}.input-field{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:15px;transition:var(--transition-fast);background:var(--card-bg);color:var(--text)}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #c41e3a1a}.input-field::-moz-placeholder{color:var(--text-muted)}.input-field::placeholder{color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.6}.empty-text{font-size:16px;font-weight:500;color:var(--text);margin-bottom:8px}.empty-subtext{font-size:14px;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(196,30,58,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px;min-height:200px}.loading-text{color:var(--text-muted);font-size:14px}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;margin-bottom:16px;width:60%}.skeleton-avatar{width:64px;height:64px;border-radius:50%}.skeleton-card{height:120px;margin-bottom:16px;border-radius:var(--radius-lg)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
