/* ===== AmzPrep 主样式（浅色清新主题） =====
   主色：靛青 #4f7cff / 青绿 #14b8a6
   辅色：橙 #f59e0b / 玫粉 #f43f5e
   背景：米白 #f8fafc / 卡片 #ffffff
*/

/* 滚动条 */
.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(79,124,255,.25); border-radius: 3px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(79,124,255,.45); }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* 导航 pill */
.nav-pill {
  padding: .45rem 1rem;
  border-radius: 9999px;
  font-size: .82rem;
  font-weight: 500;
  color: rgb(71 85 105);
  transition: all .2s ease;
  white-space: nowrap;
}
.nav-pill:hover { color: rgb(15 23 42); background: rgba(79,124,255,.08); }
.nav-pill.active {
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
  box-shadow: 0 6px 18px -6px rgba(79,124,255,.55);
}

.nav-pill-m {
  padding: .4rem .9rem;
  border-radius: 9999px;
  font-size: .78rem;
  font-weight: 500;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  white-space: nowrap;
  flex-shrink: 0;
}
.nav-pill-m.active {
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
  border-color: transparent;
}

/* CTA 按钮 */
.cta-primary {
  padding: .85rem 1.75rem;
  border-radius: .9rem;
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
  font-weight: 600;
  font-size: .92rem;
  box-shadow: 0 10px 22px -10px rgba(79,124,255,.65);
  transition: all .25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cta-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(79,124,255,.75); }
.cta-primary:active { transform: translateY(0); }
.cta-primary:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.cta-secondary {
  padding: .85rem 1.75rem;
  border-radius: .9rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(51 65 85);
  font-weight: 500;
  font-size: .92rem;
  transition: all .25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cta-secondary:hover { background: rgb(248 250 252); border-color: rgb(148 163 184); color: rgb(15 23 42); }

/* 玻璃卡片（在浅色背景下变成纯白卡片） */
.glass-card {
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: 1.25rem;
  box-shadow: 0 4px 16px -8px rgba(15,23,42,.08);
}

/* 统计卡 */
.stat-card {
  padding: 1.25rem 1rem;
  border-radius: 1rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  transition: all .25s ease;
  box-shadow: 0 2px 10px -6px rgba(15,23,42,.06);
}
.stat-card:hover { transform: translateY(-3px); border-color: rgb(79 124 255 / .4); box-shadow: 0 10px 22px -10px rgba(79,124,255,.25); }
.stat-num {
  font-size: 1.85rem;
  font-weight: 700;
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.stat-label { font-size: .78rem; color: rgb(100 116 139); margin-top: .25rem; }

/* 功能卡片 */
.feature-card {
  position: relative;
  padding: 1.75rem;
  border-radius: 1.5rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .3s ease;
  overflow: hidden;
  box-shadow: 0 4px 14px -10px rgba(15,23,42,.1);
}
.feature-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(79,124,255,.08), transparent 60%);
  opacity: 0;
  transition: opacity .3s ease;
}
.feature-card:hover { transform: translateY(-4px); border-color: rgb(79 124 255 / .4); box-shadow: 0 18px 36px -16px rgba(79,124,255,.25); }
.feature-card:hover::before { opacity: 1; }
.feature-icon {
  width: 3rem;
  height: 3rem;
  border-radius: .9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: white;
  box-shadow: 0 8px 20px -8px rgba(79,124,255,.45);
}

/* 学习路径卡 */
.path-card {
  padding: 1.25rem;
  border-radius: 1rem;
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
  transition: all .25s ease;
}
.path-card:hover { background: white; border-color: rgb(79 124 255 / .35); box-shadow: 0 10px 22px -14px rgba(79,124,255,.2); }
.path-card.highlight {
  background: linear-gradient(135deg, rgba(79,124,255,.1), rgba(20,184,166,.06));
  border-color: rgb(79 124 255 / .4);
}
.path-day { font-size: .7rem; color: rgb(79 124 255); font-weight: 700; letter-spacing: .05em; }
.path-title { font-size: 1.05rem; font-weight: 600; margin: .35rem 0; color: rgb(15 23 42); }
.path-desc { font-size: .78rem; color: rgb(100 116 139); line-height: 1.6; }

/* 诊断标签 */
.diag-tag {
  padding: .5rem .75rem;
  border-radius: .65rem;
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  text-align: center;
  font-weight: 500;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  padding: 2rem;
}

/* 聊天气泡 */
.chat-bubble {
  display: flex;
  gap: .75rem;
  animation: fadeInUp .35s ease-out;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.chat-avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  color: white;
}
.chat-avatar.ai { background: linear-gradient(135deg, #4f7cff, #14b8a6); }
.chat-avatar.user { background: linear-gradient(135deg, #f59e0b, #f43f5e); }
.chat-content {
  flex: 1;
  min-width: 0;
}
.chat-name { font-size: .75rem; color: rgb(100 116 139); margin-bottom: .25rem; }
.chat-text {
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
  border-radius: .9rem;
  padding: .85rem 1rem;
  font-size: .9rem;
  line-height: 1.7;
  color: rgb(30 41 59);
  word-break: break-word;
}
.chat-bubble.user .chat-text {
  background: linear-gradient(135deg, rgba(79,124,255,.08), rgba(20,184,166,.06));
  border-color: rgb(79 124 255 / .25);
}

/* Markdown 内容样式（浅色） */
.md-content { font-size: .9rem; line-height: 1.75; color: rgb(30 41 59); }
.md-content h1, .md-content h2, .md-content h3, .md-content h4 {
  font-weight: 700;
  color: rgb(15 23 42);
  margin: 1.25rem 0 .65rem;
  line-height: 1.3;
}
.md-content h1 { font-size: 1.4rem; }
.md-content h2 { font-size: 1.2rem; padding-bottom: .35rem; border-bottom: 1px solid rgb(226 232 240); }
.md-content h3 { font-size: 1.05rem; color: rgb(79 124 255); }
.md-content h4 { font-size: .95rem; color: rgb(20 184 166); }
.md-content p { margin: .65rem 0; }
.md-content ul, .md-content ol { padding-left: 1.5rem; margin: .65rem 0; }
.md-content li { margin: .3rem 0; }
.md-content strong { color: rgb(15 23 42); font-weight: 600; }
.md-content em { color: rgb(79 124 255); }
.md-content code {
  background: rgb(241 245 249);
  color: rgb(79 124 255);
  padding: .1rem .4rem;
  border-radius: .35rem;
  font-size: .85em;
  font-family: 'JetBrains Mono', 'Consolas', monospace;
}
.md-content pre {
  background: rgb(15 23 42);
  border: 1px solid rgb(30 41 59);
  border-radius: .65rem;
  padding: 1rem;
  overflow-x: auto;
  margin: .85rem 0;
}
.md-content pre code { background: transparent; padding: 0; color: rgb(226 232 240); }
.md-content blockquote {
  border-left: 3px solid rgb(79 124 255);
  margin: .85rem 0;
  color: rgb(71 85 105);
  background: rgb(79 124 255 / .06);
  border-radius: 0 .5rem .5rem 0;
  padding: .65rem 1rem;
}
.md-content table {
  width: 100%;
  border-collapse: collapse;
  margin: .85rem 0;
  font-size: .85rem;
}
.md-content th, .md-content td {
  padding: .55rem .75rem;
  border: 1px solid rgb(226 232 240);
  text-align: left;
}
.md-content th { background: rgb(248 250 252); font-weight: 600; color: rgb(15 23 42); }
.md-content hr { border: none; border-top: 1px solid rgb(226 232 240); margin: 1rem 0; }
.md-content a { color: rgb(79 124 255); text-decoration: underline; text-underline-offset: 2px; }

/* 阶段列表 */
.stage-item {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem .75rem;
  border-radius: .6rem;
  font-size: .82rem;
  color: rgb(100 116 139);
  transition: all .2s ease;
}
.stage-item.active {
  background: rgb(79 124 255 / .1);
  color: rgb(79 124 255);
  border: 1px solid rgb(79 124 255 / .3);
}
.stage-item.done { color: rgb(13 148 136); }
.stage-item .stage-dot {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: rgb(241 245 249);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  flex-shrink: 0;
}
.stage-item.active .stage-dot { background: linear-gradient(135deg, #4f7cff, #14b8a6); color: white; }
.stage-item.done .stage-dot { background: rgb(20 184 166 / .15); color: rgb(13 148 136); }

/* 知识卡 */
.kb-card {
  padding: 1.1rem 1.25rem;
  border-radius: 1rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  transition: all .25s ease;
  cursor: pointer;
  box-shadow: 0 2px 10px -8px rgba(15,23,42,.1);
}
.kb-card:hover { transform: translateY(-2px); border-color: rgb(79 124 255 / .4); box-shadow: 0 10px 22px -14px rgba(79,124,255,.25); }
/* 必考卡片左侧高亮边 */
.kb-card:has(.priority-must) { border-left: 3px solid #ef4444; }
.kb-card:has(.priority-key)  { border-left: 3px solid #f59e0b; }

.kb-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .55rem;
  gap: .4rem;
}
.kb-card-tag {
  display: inline-block;
  font-size: .65rem;
  padding: .15rem .55rem;
  border-radius: 9999px;
  background: rgb(79 124 255 / .1);
  color: rgb(79 124 255);
  border: 1px solid rgb(79 124 255 / .25);
  font-weight: 600;
}
/* 优先级徽章 */
.kb-priority-badge {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  font-size: .62rem;
  font-weight: 700;
  padding: .15rem .5rem;
  border-radius: 9999px;
  white-space: nowrap;
  flex-shrink: 0;
}
.kb-priority-badge.priority-must {
  background: rgb(254 226 226);
  color: rgb(185 28 28);
  border: 1px solid rgb(252 165 165);
}
.kb-priority-badge.priority-key {
  background: rgb(254 243 199);
  color: rgb(146 64 14);
  border: 1px solid rgb(253 211 77);
}
.kb-priority-badge.priority-know {
  background: rgb(241 245 249);
  color: rgb(71 85 105);
  border: 1px solid rgb(203 213 225);
}

/* 优先级筛选按钮 */
.kb-priority-btn {
  padding: .3rem .8rem;
  border-radius: 9999px;
  font-size: .72rem;
  font-weight: 600;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  white-space: nowrap;
  transition: all .2s;
  cursor: pointer;
}
.kb-priority-btn:hover { background: rgb(248 250 252); }
.kb-priority-btn.active[data-priority="all"]  { background: linear-gradient(135deg, #4f7cff, #14b8a6); color: white; border-color: transparent; }
.kb-priority-btn.active[data-priority="must"] { background: linear-gradient(135deg, #ef4444, #f97316); color: white; border-color: transparent; }
.kb-priority-btn.active[data-priority="key"]  { background: linear-gradient(135deg, #f59e0b, #f97316); color: white; border-color: transparent; }
.kb-priority-btn.active[data-priority="know"] { background: linear-gradient(135deg, #64748b, #94a3b8); color: white; border-color: transparent; }

/* 新手引导 Banner */
.kb-newbie-banner {
  border-radius: 1.25rem;
  background: linear-gradient(135deg, rgb(239 246 255), rgb(240 253 244));
  border: 1px solid rgb(191 219 254);
  padding: 1.25rem 1.5rem;
  animation: fadeIn .4s ease-out;
}
.kb-newbie-banner.hidden { display: none; }
.kb-banner-header {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}
.kb-banner-icon { font-size: 1.5rem; flex-shrink: 0; }
.kb-banner-title-wrap { flex: 1; }
.kb-banner-title { font-size: .95rem; font-weight: 700; color: rgb(15 23 42); }
.kb-banner-subtitle { font-size: .72rem; color: rgb(100 116 139); margin-top: .15rem; }
.kb-banner-close {
  width: 1.75rem; height: 1.75rem;
  border-radius: .5rem;
  background: rgb(226 232 240 / .6);
  border: none;
  color: rgb(100 116 139);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}
.kb-banner-close:hover { background: rgb(226 232 240); color: rgb(15 23 42); }
.kb-banner-steps {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-bottom: 1rem;
}
.kb-banner-step {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .85rem;
  border-radius: .75rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}
.kb-banner-step:hover { border-color: rgb(79 124 255 / .5); background: rgb(239 246 255); transform: translateY(-1px); }
.kb-banner-step-num {
  width: 1.25rem; height: 1.25rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
  font-size: .65rem;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.kb-banner-step-icon { font-size: 1rem; }
.kb-banner-step-body { min-width: 0; }
.kb-banner-step-label { font-size: .78rem; font-weight: 600; color: rgb(15 23 42); }
.kb-banner-step-desc { font-size: .65rem; color: rgb(100 116 139); }
.kb-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.kb-banner-btn-must {
  padding: .5rem 1.1rem;
  border-radius: .75rem;
  background: linear-gradient(135deg, #ef4444, #f97316);
  color: white;
  font-size: .78rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: opacity .2s;
  display: flex; align-items: center;
}
.kb-banner-btn-must:hover { opacity: .88; }
.kb-banner-btn-all {
  padding: .5rem 1.1rem;
  border-radius: .75rem;
  background: white;
  color: rgb(71 85 105);
  font-size: .78rem;
  font-weight: 600;
  border: 1px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .2s;
  display: flex; align-items: center;
}
.kb-banner-btn-all:hover { background: rgb(248 250 252); }

.kb-card-title { font-size: 1rem; font-weight: 600; color: rgb(15 23 42); margin-bottom: .35rem; }
.kb-card-desc { font-size: .8rem; color: rgb(100 116 139); line-height: 1.6; }
.kb-card-keywords {
  margin-top: .65rem;
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
}
.kb-keyword {
  font-size: .68rem;
  padding: .15rem .5rem;
  border-radius: .35rem;
  background: rgb(248 250 252);
  color: rgb(71 85 105);
  border: 1px solid rgb(226 232 240);
}

/* 类目 tab */
.kb-tab {
  padding: .35rem .85rem;
  border-radius: 9999px;
  font-size: .75rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  white-space: nowrap;
  transition: all .2s;
}
.kb-tab:hover { background: rgb(248 250 252); }
.kb-tab.active {
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
  border-color: transparent;
}

/* Modal 详情 */
.kb-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(15,23,42,.45);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: fadeIn .2s ease-out;
}
.kb-modal-card {
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: 1.5rem;
  max-width: 720px;
  width: 100%;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  animation: slideUp .35s ease-out;
  box-shadow: 0 25px 50px -12px rgba(15,23,42,.25);
}
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* 评分进度条 */
.score-bar {
  height: .65rem;
  background: rgb(241 245 249);
  border-radius: 9999px;
  overflow: hidden;
}
.score-fill {
  height: 100%;
  background: linear-gradient(90deg, #f59e0b, #4f7cff, #14b8a6);
  border-radius: 9999px;
  transition: width 1s cubic-bezier(.4,0,.2,1);
}

/* 维度行 */
.dimension-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .5rem 0;
}
.dimension-label { width: 6rem; font-size: .82rem; color: rgb(71 85 105); flex-shrink: 0; }
.dimension-bar { flex: 1; height: .5rem; background: rgb(241 245 249); border-radius: 9999px; overflow: hidden; }
.dimension-fill { height: 100%; background: linear-gradient(90deg, #4f7cff, #14b8a6); border-radius: 9999px; }
.dimension-score { width: 3rem; text-align: right; font-size: .85rem; font-weight: 600; color: rgb(79 124 255); }

/* === 简历分析报告：结构化卡片样式 === */

/* 模式选择器 */
.mode-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
  margin-bottom: 1rem;
}
.mode-tab {
  padding: 1rem;
  border-radius: 1rem;
  background: white;
  border: 2px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .2s ease;
  text-align: left;
}
.mode-tab:hover { border-color: rgb(148 163 184); }
.mode-tab.active.strict {
  border-color: rgb(244 63 94);
  background: linear-gradient(135deg, rgba(244,63,94,.06), rgba(245,158,11,.04));
  box-shadow: 0 8px 20px -10px rgba(244,63,94,.3);
}
.mode-tab.active.gentle {
  border-color: rgb(20 184 166);
  background: linear-gradient(135deg, rgba(20,184,166,.06), rgba(79,124,255,.04));
  box-shadow: 0 8px 20px -10px rgba(20,184,166,.3);
}
.mode-tab-head {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-weight: 600;
  font-size: .92rem;
  color: rgb(15 23 42);
  margin-bottom: .25rem;
}
.mode-tab-icon {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: .55rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: .9rem;
}
.mode-tab.strict .mode-tab-icon { background: linear-gradient(135deg, #f43f5e, #f59e0b); }
.mode-tab.gentle .mode-tab-icon { background: linear-gradient(135deg, #14b8a6, #4f7cff); }
.mode-tab-desc { font-size: .72rem; color: rgb(100 116 139); line-height: 1.5; }

/* 报告：评分头卡 */
.report-hero {
  position: relative;
  padding: 1.5rem;
  border-radius: 1.2rem;
  background: linear-gradient(135deg, #eff4ff 0%, #ecfeff 100%);
  border: 1px solid rgb(79 124 255 / .2);
  overflow: hidden;
  margin-bottom: 1rem;
}
.report-hero.gentle { background: linear-gradient(135deg, #f0fdfa 0%, #eff6ff 100%); border-color: rgb(20 184 166 / .25); }
.report-hero.strict { background: linear-gradient(135deg, #fff1f2 0%, #fef3c7 100%); border-color: rgb(244 63 94 / .25); }

.report-hero-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.report-score-circle {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: white;
  box-shadow: 0 6px 18px -8px rgba(15,23,42,.15);
  flex-shrink: 0;
}
.report-score-num {
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.report-hero.strict .report-score-num { background: linear-gradient(135deg, #f43f5e, #f59e0b); -webkit-background-clip: text; background-clip: text; color: transparent; }
.report-hero.gentle .report-score-num { background: linear-gradient(135deg, #14b8a6, #4f7cff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.report-score-label { font-size: .65rem; color: rgb(100 116 139); margin-top: .15rem; }

.report-hero-body { flex: 1; min-width: 0; }
.report-hero-title { font-size: 1.05rem; font-weight: 700; color: rgb(15 23 42); margin-bottom: .35rem; }
.report-hero-desc { font-size: .85rem; color: rgb(71 85 105); line-height: 1.65; }

/* 报告：分块容器 */
.report-section {
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: 1rem;
  padding: 1.1rem 1.25rem;
  margin-bottom: .85rem;
}
.report-section-title {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .95rem;
  font-weight: 600;
  color: rgb(15 23 42);
  margin-bottom: .85rem;
  padding-bottom: .65rem;
  border-bottom: 1px dashed rgb(226 232 240);
}
.report-section-icon {
  width: 1.6rem;
  height: 1.6rem;
  border-radius: .45rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: .75rem;
}

/* 维度评分 grid */
.dim-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: .65rem;
}
.dim-card {
  padding: .85rem;
  border-radius: .75rem;
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
  transition: all .2s ease;
}
.dim-card:hover { background: white; border-color: rgb(79 124 255 / .35); transform: translateY(-1px); }
.dim-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .4rem;
}
.dim-card-name { font-size: .82rem; font-weight: 600; color: rgb(30 41 59); }
.dim-card-score {
  font-size: .85rem;
  font-weight: 700;
  padding: .1rem .5rem;
  border-radius: .35rem;
}
.dim-card-score.lv-high { background: rgb(20 184 166 / .12); color: rgb(13 148 136); }
.dim-card-score.lv-mid  { background: rgb(245 158 11 / .12); color: rgb(217 119 6); }
.dim-card-score.lv-low  { background: rgb(244 63 94 / .12); color: rgb(225 29 72); }
.dim-card-bar { height: .35rem; background: white; border-radius: 9999px; overflow: hidden; margin-bottom: .4rem; }
.dim-card-fill { height: 100%; border-radius: 9999px; }
.dim-card-fill.lv-high { background: linear-gradient(90deg,#14b8a6,#4f7cff); }
.dim-card-fill.lv-mid  { background: linear-gradient(90deg,#f59e0b,#fb923c); }
.dim-card-fill.lv-low  { background: linear-gradient(90deg,#f43f5e,#f59e0b); }
.dim-card-comment { font-size: .72rem; color: rgb(100 116 139); line-height: 1.5; }

/* 问题项卡片（替代大段 markdown） */
.issue-list { display: flex; flex-direction: column; gap: .65rem; }
.issue-item {
  padding: .85rem 1rem;
  border-radius: .8rem;
  background: rgb(254 242 242);
  border: 1px solid rgb(254 226 226);
  border-left: 3px solid rgb(244 63 94);
  transition: all .25s ease;
}
.issue-item:hover { transform: translateX(2px); box-shadow: 0 4px 14px -10px rgba(15,23,42,.15); }
.issue-item.gentle {
  background: rgb(240 253 250);
  border-color: rgb(204 251 241);
  border-left-color: rgb(20 184 166);
}
.issue-item.warn {
  background: rgb(255 251 235);
  border-color: rgb(254 240 138);
  border-left-color: rgb(245 158 11);
}
.issue-head { font-size: .85rem; font-weight: 600; color: rgb(15 23 42); margin-bottom: .35rem; line-height: 1.5; }
.issue-tip {
  margin-top: .45rem;
  padding: .55rem .75rem;
  border-radius: .5rem;
  background: white;
  border: 1px dashed rgb(226 232 240);
  font-size: .78rem;
  color: rgb(71 85 105);
  line-height: 1.6;
}
.issue-tip-label {
  display: inline-block;
  font-size: .68rem;
  font-weight: 600;
  color: rgb(20 184 166);
  background: rgb(20 184 166 / .1);
  padding: .05rem .45rem;
  border-radius: .3rem;
  margin-right: .35rem;
}
.issue-tip.strict .issue-tip-label { color: rgb(225 29 72); background: rgb(244 63 94 / .1); }

/* 问题卡片新增：编号、技能标签、why 解释 */
.issue-head { display: flex; gap: .6rem; align-items: flex-start; }
.issue-num {
  flex-shrink: 0;
  width: 1.55rem; height: 1.55rem;
  border-radius: 50%;
  background: white;
  border: 1.5px solid rgb(244 63 94 / .35);
  color: rgb(225 29 72);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700;
}
.issue-item.gentle .issue-num {
  border-color: rgb(20 184 166 / .35);
  color: rgb(13 148 136);
}
.issue-head-main { flex: 1; min-width: 0; }
.issue-title {
  font-size: .9rem; font-weight: 600; color: rgb(15 23 42);
  line-height: 1.5; margin-bottom: .35rem;
}
.issue-tags {
  display: flex; flex-wrap: wrap; gap: .35rem; align-items: center;
}
.skill-tag {
  display: inline-flex; align-items: center; gap: .25rem;
  font-size: .68rem; font-weight: 600;
  padding: .15rem .55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgb(79 124 255 / .12), rgb(168 85 247 / .12));
  color: rgb(67 56 202);
  border: 1px solid rgb(79 124 255 / .25);
}
.issue-why {
  margin-top: .55rem;
  font-size: .76rem; color: rgb(100 116 139);
  line-height: 1.6;
  padding: .5rem .65rem;
  border-radius: .45rem;
  background: rgb(255 255 255 / .65);
  border: 1px solid rgb(226 232 240);
  display: flex; gap: .4rem; align-items: flex-start;
}
.issue-why i { color: rgb(245 158 11); margin-top: .15rem; flex-shrink: 0; }

/* Before / After 改写对照 */
.rewrite-block {
  margin-top: .65rem;
  padding: .65rem;
  border-radius: .7rem;
  background: rgb(255 255 255 / .85);
  border: 1px solid rgb(226 232 240);
  display: flex; flex-direction: column; gap: .5rem;
}
.rewrite-row {
  border-radius: .55rem;
  padding: .6rem .75rem;
  display: flex; flex-direction: column; gap: .3rem;
  border: 1px solid transparent;
}
.rewrite-row.before {
  background: rgb(254 242 242);
  border-color: rgb(254 226 226);
}
.rewrite-row.after {
  background: rgb(240 253 244);
  border-color: rgb(187 247 208);
}
.rewrite-label {
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  width: fit-content;
  padding: .1rem .45rem;
  border-radius: .3rem;
}
.rewrite-label.before { color: rgb(190 18 60); background: rgb(254 226 226); }
.rewrite-label.after  { color: rgb(21 128 61);  background: rgb(220 252 231); }
.rewrite-text {
  font-size: .82rem; line-height: 1.65;
  color: rgb(15 23 42);
  word-break: break-word;
}
.rewrite-row.before .rewrite-text {
  color: rgb(100 116 139);
  text-decoration: line-through;
  text-decoration-color: rgb(244 114 128 / .55);
  text-decoration-thickness: 1.5px;
}
.rewrite-row.after .rewrite-text {
  color: rgb(15 23 42);
  font-weight: 500;
}
.rewrite-arrow {
  display: flex; align-items: center; gap: .5rem;
  font-size: .7rem; color: rgb(100 116 139);
  padding: 0 .25rem;
}
.rewrite-arrow i { color: rgb(79 124 255); }
.rewrite-copy-btn {
  margin-left: auto;
  width: 1.65rem; height: 1.65rem;
  border-radius: .4rem;
  border: 1px solid rgb(226 232 240);
  background: white;
  color: rgb(79 124 255);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all .2s;
  font-size: .72rem;
}
.rewrite-copy-btn:hover {
  background: rgb(79 124 255);
  color: white;
  border-color: rgb(79 124 255);
  transform: translateY(-1px);
}

/* 优先级 checklist */
.prio-checklist {
  margin-top: .55rem;
  display: flex; flex-direction: column; gap: .25rem;
  padding: 0; list-style: none;
}
.prio-checklist li {
  font-size: .76rem;
  color: rgb(71 85 105);
  line-height: 1.55;
  padding: .35rem .55rem;
  border-radius: .35rem;
  cursor: pointer;
  display: flex; align-items: flex-start; gap: .5rem;
  transition: background .15s;
}
.prio-checklist li:hover { background: rgb(255 255 255 / .8); }
.prio-checklist li i {
  color: rgb(148 163 184);
  margin-top: .15rem;
  flex-shrink: 0;
  font-size: .82rem;
}
.prio-checklist li.done {
  color: rgb(148 163 184);
  text-decoration: line-through;
}
.prio-checklist li.done i {
  color: rgb(20 184 166);
}

/* 关键词覆盖 */
.kc-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: .65rem;
}
@media (max-width: 640px) {
  .kc-grid { grid-template-columns: 1fr; }
}
.kc-card {
  padding: .75rem .9rem;
  border-radius: .7rem;
  border: 1px solid;
}
.kc-card.hit  { background: rgb(240 253 244); border-color: rgb(187 247 208); }
.kc-card.miss { background: rgb(255 247 237); border-color: rgb(254 215 170); }
.kc-card-head {
  font-size: .8rem; font-weight: 700;
  display: flex; align-items: center; gap: .35rem;
  margin-bottom: .55rem;
}
.kc-card.hit .kc-card-head  { color: rgb(21 128 61); }
.kc-card.miss .kc-card-head { color: rgb(154 52 18); }
.kc-card-head span {
  margin-left: auto;
  font-size: .7rem; font-weight: 600;
  padding: .05rem .45rem;
  border-radius: 999px;
  background: white;
}
.kc-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.kc-tag {
  font-size: .72rem; font-weight: 500;
  padding: .2rem .55rem;
  border-radius: 999px;
  border: 1px solid;
}
.kc-tag.hit  { background: white; color: rgb(21 128 61);  border-color: rgb(187 247 208); }
.kc-tag.miss {
  background: white; color: rgb(154 52 18); border-color: rgb(254 215 170);
  text-decoration: line-through;
  text-decoration-color: rgb(251 146 60);
}

/* 优先级 / 优势 列表项 */
.prio-list { display: flex; flex-direction: column; gap: .55rem; }
.prio-item {
  display: flex;
  gap: .8rem;
  padding: .7rem .85rem;
  border-radius: .65rem;
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
}
.prio-num {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: .45rem;
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  flex-shrink: 0;
}
.prio-item.strict .prio-num { background: linear-gradient(135deg, #f43f5e, #f59e0b); }
.prio-item.gentle .prio-num { background: linear-gradient(135deg, #14b8a6, #4f7cff); }
.prio-body { flex: 1; min-width: 0; }
.prio-title { font-size: .85rem; font-weight: 600; color: rgb(15 23 42); margin-bottom: .15rem; }
.prio-desc { font-size: .76rem; color: rgb(71 85 105); line-height: 1.55; }

/* 结尾忠告条 */
.report-advice {
  padding: 1rem 1.15rem;
  border-radius: .9rem;
  background: linear-gradient(135deg, #eff6ff, #f0fdfa);
  border: 1px solid rgb(79 124 255 / .2);
  font-size: .85rem;
  color: rgb(30 41 59);
  line-height: 1.7;
  display: flex;
  gap: .65rem;
  align-items: flex-start;
}
.report-advice.gentle { background: linear-gradient(135deg, #f0fdfa, #ecfdf5); border-color: rgb(20 184 166 / .25); }
.report-advice.strict { background: linear-gradient(135deg, #fff1f2, #fef3c7); border-color: rgb(244 63 94 / .25); }
.report-advice-icon {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: .9rem;
}

/* 流式中状态 */
.stream-loading {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1rem;
  border-radius: .65rem;
  background: rgb(79 124 255 / .06);
  border: 1px dashed rgb(79 124 255 / .25);
  font-size: .82rem;
  color: rgb(71 85 105);
}
.stream-dots { display: inline-flex; gap: .25rem; }
.stream-dots span {
  width: .35rem; height: .35rem; border-radius: 50%;
  background: rgb(79 124 255);
  animation: dotPulse 1.2s infinite ease-in-out;
}
.stream-dots span:nth-child(2) { animation-delay: .2s; }
.stream-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes dotPulse {
  0%, 80%, 100% { opacity: .3; transform: scale(.8); }
  40% { opacity: 1; transform: scale(1); }
}

/* Toast（浅色） */
#toast-container > div {
  background: white !important;
  color: rgb(15 23 42) !important;
  border: 1px solid rgb(226 232 240);
  box-shadow: 0 12px 28px -10px rgba(15,23,42,.18);
}
#toast-container > div span { color: rgb(30 41 59); }

/* === 简历模式按钮（HTML 中使用的实际类名） === */
.resume-mode-btn {
  flex: 1;
  min-width: 200px;
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .75rem .9rem;
  border-radius: .85rem;
  background: white;
  border: 2px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .2s ease;
  text-align: left;
}
.resume-mode-btn:hover { border-color: rgb(148 163 184); transform: translateY(-1px); }
.resume-mode-btn[data-mode="strict"].active {
  border-color: rgb(244 63 94);
  background: linear-gradient(135deg, rgba(244,63,94,.07), rgba(245,158,11,.04));
  box-shadow: 0 8px 18px -10px rgba(244,63,94,.35);
}
.resume-mode-btn[data-mode="gentle"].active {
  border-color: rgb(20 184 166);
  background: linear-gradient(135deg, rgba(20,184,166,.07), rgba(79,124,255,.04));
  box-shadow: 0 8px 18px -10px rgba(20,184,166,.35);
}
.resume-mode-btn .text-base {
  width: 2rem;
  height: 2rem;
  border-radius: .5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgb(248 250 252);
}
.resume-mode-btn[data-mode="strict"].active .text-base {
  background: linear-gradient(135deg, #f43f5e, #f59e0b);
}
.resume-mode-btn[data-mode="gentle"].active .text-base {
  background: linear-gradient(135deg, #14b8a6, #4f7cff);
}

/* markdown-body 兜底（与 md-content 一致） */
.markdown-body { font-size: .9rem; line-height: 1.75; color: rgb(30 41 59); }
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4 {
  font-weight: 700; color: rgb(15 23 42); margin: 1.1rem 0 .6rem; line-height: 1.3;
}
.markdown-body h2 { font-size: 1.15rem; padding-bottom: .3rem; border-bottom: 1px solid rgb(226 232 240); }
.markdown-body h3 { font-size: 1.02rem; color: rgb(79 124 255); }
.markdown-body p { margin: .55rem 0; }
.markdown-body ul, .markdown-body ol { padding-left: 1.4rem; margin: .55rem 0; }
.markdown-body li { margin: .25rem 0; }
.markdown-body strong { color: rgb(15 23 42); font-weight: 600; }
.markdown-body code {
  background: rgb(241 245 249); color: rgb(79 124 255);
  padding: .1rem .4rem; border-radius: .35rem; font-size: .85em;
}
.markdown-body blockquote {
  border-left: 3px solid rgb(79 124 255);
  margin: .75rem 0; padding: .55rem .9rem;
  color: rgb(71 85 105);
  background: rgb(79 124 255 / .05);
  border-radius: 0 .5rem .5rem 0;
}
.markdown-body table { width: 100%; border-collapse: collapse; margin: .75rem 0; font-size: .85rem; }
.markdown-body th, .markdown-body td { padding: .5rem .7rem; border: 1px solid rgb(226 232 240); text-align: left; }
.markdown-body th { background: rgb(248 250 252); font-weight: 600; }

/* 报告：模式徽章（在报告头部显示当前用了哪个模式） */
.mode-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .7rem;
  font-weight: 600;
  padding: .2rem .55rem;
  border-radius: 9999px;
}
.mode-badge.strict { background: rgb(244 63 94 / .1); color: rgb(225 29 72); border: 1px solid rgb(244 63 94 / .25); }
.mode-badge.gentle { background: rgb(20 184 166 / .1); color: rgb(13 148 136); border: 1px solid rgb(20 184 166 / .25); }

/* ===== 经历润色模块专属样式 ===== */

/* 示例标签 */
.polish-demo-tag {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .75rem;
  border-radius: .65rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  font-size: .78rem;
  text-align: left;
  transition: all .2s ease;
  cursor: pointer;
}
.polish-demo-tag:hover {
  background: linear-gradient(135deg, rgba(217, 70, 239, .06), rgba(79, 124, 255, .04));
  border-color: rgb(217 70 239 / .3);
  color: rgb(15 23 42);
  transform: translateX(2px);
}
.polish-demo-icon { font-size: 1rem; flex-shrink: 0; }

/* 润色 loading 框 */
.polish-loading-box {
  padding: 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(217, 70, 239, .04), rgba(79, 124, 255, .04));
  border: 1px solid rgb(217 70 239 / .2);
}

/* 最终结果卡片 */
.polish-result-card {
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  box-shadow: 0 4px 16px -8px rgba(15, 23, 42, .08);
}
.polish-result-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgb(226 232 240);
  margin-bottom: 1.25rem;
}
.polish-action-btn {
  padding: .5rem .9rem;
  border-radius: .65rem;
  font-size: .8rem;
  font-weight: 500;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.polish-action-btn:hover { background: rgb(248 250 252); border-color: rgb(148 163 184); color: rgb(15 23 42); }
.polish-action-btn.primary {
  background: linear-gradient(135deg, #d946ef, #4f7cff);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 12px -4px rgba(217, 70, 239, .4);
}
.polish-action-btn.primary:hover { transform: translateY(-1px); }

/* 原始口语化版本 */
.polish-original {
  padding: .85rem 1rem;
  border-radius: .75rem;
  background: rgb(248 250 252);
  border: 1px dashed rgb(203 213 225);
  font-size: .85rem;
  color: rgb(71 85 105);
  margin-bottom: 1.25rem;
  line-height: 1.7;
}
.polish-original-label {
  display: inline-block;
  font-weight: 600;
  color: rgb(100 116 139);
  margin-right: .55rem;
}

/* 通用 section 标题 */
.polish-section-title {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: 1rem;
  font-weight: 700;
  color: rgb(15 23 42);
  margin: 1.5rem 0 .85rem;
}
.polish-section-title i { color: rgb(217 70 239); }

/* 提取信息块 */
.polish-extracted {
  padding: 1.1rem 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(217, 70, 239, .03), rgba(79, 124, 255, .03));
  border: 1px solid rgb(217 70 239 / .2);
}
.polish-extracted .polish-section-title { margin-top: 0; }
.polish-extracted-grid { display: grid; gap: .75rem; }

.polish-extract-row {
  display: flex;
  gap: .75rem;
  padding: .65rem .85rem;
  border-radius: .65rem;
  background: white;
  border: 1px solid rgb(226 232 240);
}
.polish-extract-icon {
  font-size: 1.1rem;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: .5rem;
  background: rgb(248 250 252);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.polish-extract-body { flex: 1; min-width: 0; }
.polish-extract-label {
  font-size: .7rem;
  font-weight: 600;
  color: rgb(100 116 139);
  margin-bottom: .2rem;
  letter-spacing: .02em;
}
.polish-extract-content {
  font-size: .85rem;
  color: rgb(30 41 59);
  line-height: 1.65;
  word-break: break-word;
}

/* metric chip */
.metric-chip {
  display: inline-flex;
  align-items: center;
  font-size: .72rem;
  font-weight: 600;
  padding: .15rem .55rem;
  border-radius: .35rem;
  background: linear-gradient(135deg, rgb(20 184 166 / .1), rgb(79 124 255 / .08));
  color: rgb(13 148 136);
  border: 1px solid rgb(20 184 166 / .25);
  margin: .15rem;
}

/* 三个版本卡片 */
.polish-version-list { display: grid; gap: 1rem; }

.polish-version-card {
  padding: 1.1rem 1.25rem;
  border-radius: 1rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  transition: all .2s ease;
}
.polish-version-card:hover {
  border-color: rgb(217 70 239 / .35);
  box-shadow: 0 8px 24px -14px rgba(217, 70, 239, .25);
}
.polish-version-card:nth-child(1) {
  background: linear-gradient(135deg, rgba(20, 184, 166, .03), white);
  border-color: rgb(20 184 166 / .25);
}
.polish-version-card:nth-child(2) {
  background: linear-gradient(135deg, rgba(79, 124, 255, .04), white);
  border-color: rgb(79 124 255 / .25);
}
.polish-version-card:nth-child(3) {
  background: linear-gradient(135deg, rgba(217, 70, 239, .04), rgba(245, 158, 11, .02));
  border-color: rgb(217 70 239 / .3);
  box-shadow: 0 4px 16px -10px rgba(217, 70, 239, .25);
}

.polish-version-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}
.polish-version-label {
  font-size: 1rem;
  font-weight: 700;
  color: rgb(15 23 42);
}
.polish-version-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: .25rem;
  font-size: .72rem;
  color: rgb(100 116 139);
}
.polish-version-meta i { margin-right: .2rem; }

.polish-version-usecase {
  font-size: .78rem;
  color: rgb(71 85 105);
  background: rgb(248 250 252);
  border-left: 3px solid rgb(217 70 239 / .5);
  padding: .55rem .75rem;
  border-radius: 0 .5rem .5rem 0;
  margin-bottom: .75rem;
}

.polish-copy-all {
  flex-shrink: 0;
  padding: .35rem .7rem;
  font-size: .72rem;
  border-radius: .5rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.polish-copy-all:hover {
  background: rgb(217 70 239 / .08);
  color: rgb(192 38 211);
  border-color: rgb(217 70 239 / .35);
}

.polish-bullet-list { display: flex; flex-direction: column; gap: .5rem; }

.polish-bullet {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  padding: .7rem .85rem;
  border-radius: .65rem;
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
  transition: all .2s;
}
.polish-bullet:hover {
  background: white;
  border-color: rgb(217 70 239 / .3);
  box-shadow: 0 2px 8px -4px rgba(217, 70, 239, .15);
}
.polish-bullet-text {
  flex: 1;
  font-size: .87rem;
  line-height: 1.7;
  color: rgb(30 41 59);
}
.polish-bullet-copy {
  flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: .4rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(148 163 184);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  transition: all .2s;
}
.polish-bullet-copy:hover {
  color: rgb(217 70 239);
  border-color: rgb(217 70 239 / .4);
  background: rgb(217 70 239 / .05);
}

/* 改写贴士 */
.polish-tips {
  margin-top: 1.5rem;
  padding: 1.1rem 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(245, 158, 11, .04), rgba(244, 63, 94, .03));
  border: 1px solid rgb(245 158 11 / .25);
}
.polish-tips .polish-section-title { margin-top: 0; }
.polish-tips .polish-section-title i { color: rgb(245 158 11); }

.polish-tip-list {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  font-size: .85rem;
  color: rgb(71 85 105);
}
.polish-tip-list li {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  line-height: 1.65;
}
.polish-tip-list li i { color: rgb(20 184 166); flex-shrink: 0; margin-top: .25rem; }

/* 下一步建议 */
.polish-nextstep {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(217, 70, 239, .08), rgba(79, 124, 255, .06));
  border: 1px solid rgb(217 70 239 / .25);
  font-size: .92rem;
  font-weight: 500;
  color: rgb(15 23 42);
  line-height: 1.7;
}
.polish-nextstep i { color: rgb(217 70 239); margin-right: .55rem; }

@media (max-width: 640px) {
  .polish-result-head { flex-direction: column; align-items: flex-start; }
  .polish-version-head { flex-direction: column; }
  .polish-copy-all { align-self: flex-end; }
}

/* ===================================================================
   知识体系：子 TAB 切换 / 学习资源 / 面试题库
   =================================================================== */

/* 子 Tab 顶部 */
.kb-subtabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .65rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .kb-subtabs { grid-template-columns: 1fr; }
}
.kb-subtab {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .9rem 1.1rem;
  border-radius: 1rem;
  background: white;
  border: 2px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .25s ease;
  text-align: left;
}
.kb-subtab > i {
  width: 2.4rem; height: 2.4rem;
  border-radius: .65rem;
  background: rgb(248 250 252);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  color: rgb(100 116 139);
  flex-shrink: 0;
  transition: all .25s ease;
}
.kb-subtab-body { flex: 1; min-width: 0; }
.kb-subtab-title {
  font-size: .92rem;
  font-weight: 600;
  color: rgb(15 23 42);
  margin-bottom: .15rem;
}
.kb-subtab-desc {
  font-size: .72rem;
  color: rgb(100 116 139);
}
.kb-subtab:hover {
  border-color: rgb(148 163 184);
  transform: translateY(-1px);
}
.kb-subtab.active {
  border-color: rgb(20 184 166);
  background: linear-gradient(135deg, rgba(20,184,166,.06), rgba(79,124,255,.04));
  box-shadow: 0 8px 20px -10px rgba(20,184,166,.35);
}
.kb-subtab.active > i {
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: white;
}

/* 修复：AI 深度讲解按钮（在浅色背景下使用品牌色填充） */
.kb-expand-btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .5rem 1rem;
  font-size: .78rem;
  font-weight: 600;
  border-radius: .65rem;
  background: linear-gradient(135deg, #4f7cff, #14b8a6);
  color: #ffffff !important;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all .2s ease;
  box-shadow: 0 4px 12px -6px rgba(79,124,255,.45);
}
.kb-expand-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px -8px rgba(79,124,255,.55);
  filter: brightness(1.05);
}
.kb-expand-btn:disabled {
  opacity: .85;
  cursor: not-allowed;
  background: linear-gradient(135deg, #93b7ff, #7dd3c4);
}
.kb-expand-btn i { color: #ffffff; }

/* ===== 学习资源卡片 ===== */
.res-card {
  display: flex;
  flex-direction: column;
  padding: 1.1rem 1.25rem;
  border-radius: 1rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  cursor: pointer;
  transition: all .25s ease;
  box-shadow: 0 2px 10px -8px rgba(15,23,42,.1);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.res-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #4f7cff, #14b8a6);
  opacity: 0;
  transition: opacity .25s;
}
.res-card:hover {
  transform: translateY(-3px);
  border-color: rgb(79 124 255 / .4);
  box-shadow: 0 14px 28px -16px rgba(79,124,255,.3);
}
.res-card:hover::before { opacity: 1; }

.res-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .55rem;
  flex-wrap: wrap;
}
.res-card-tag {
  display: inline-block;
  font-size: .65rem;
  padding: .15rem .55rem;
  border-radius: 9999px;
  background: rgb(20 184 166 / .1);
  color: rgb(13 148 136);
  border: 1px solid rgb(20 184 166 / .25);
  font-weight: 600;
}
.res-card-level {
  font-size: .65rem;
  padding: .15rem .55rem;
  border-radius: 9999px;
  background: rgb(245 158 11 / .1);
  color: rgb(180 83 9);
  border: 1px solid rgb(245 158 11 / .25);
  font-weight: 600;
}
.res-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: rgb(15 23 42);
  margin-bottom: .45rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  line-height: 1.4;
}
.res-card-link-icon {
  font-size: .7rem;
  color: rgb(148 163 184);
  flex-shrink: 0;
  transition: all .2s;
}
.res-card:hover .res-card-link-icon {
  color: rgb(79 124 255);
  transform: translate(2px, -2px);
}
.res-card-desc {
  font-size: .8rem;
  color: rgb(71 85 105);
  line-height: 1.65;
  margin-bottom: .65rem;
  flex: 1;
}
.res-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-bottom: .6rem;
}
.res-tag {
  font-size: .68rem;
  padding: .12rem .5rem;
  border-radius: .35rem;
  background: rgb(248 250 252);
  color: rgb(100 116 139);
  border: 1px solid rgb(226 232 240);
}
.res-card-url {
  font-size: .7rem;
  color: rgb(148 163 184);
  font-family: 'JetBrains Mono', monospace;
  padding-top: .55rem;
  border-top: 1px dashed rgb(226 232 240);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== 面试题库 ===== */
.qa-ask-card {
  padding: 1.25rem;
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(245,158,11,.04), rgba(244,63,94,.03));
  border: 1px solid rgb(245 158 11 / .25);
}

.qa-cat-count {
  display: inline-block;
  margin-left: .25rem;
  font-size: .65rem;
  padding: 0 .35rem;
  border-radius: 9999px;
  background: rgb(255 255 255 / .55);
  color: rgb(100 116 139);
  font-weight: 700;
}
.kb-tab.active .qa-cat-count {
  background: rgb(255 255 255 / .25);
  color: white;
}

.qa-item {
  border-radius: .9rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  overflow: hidden;
  transition: all .25s ease;
}
.qa-item:hover {
  border-color: rgb(79 124 255 / .3);
  box-shadow: 0 6px 18px -12px rgba(79,124,255,.25);
}
.qa-item.custom {
  border-left: 3px solid rgb(245 158 11);
  background: linear-gradient(90deg, rgba(245,158,11,.03), white 8%);
}

.qa-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background .2s;
}
.qa-question:hover { background: rgb(248 250 252); }
.qa-question-left {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  flex: 1;
  min-width: 0;
}
.qa-num {
  flex-shrink: 0;
  width: 1.85rem; height: 1.85rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(79,124,255,.12), rgba(20,184,166,.1));
  color: rgb(79 124 255);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  border: 1px solid rgb(79 124 255 / .2);
}
.qa-item.custom .qa-num {
  background: linear-gradient(135deg, rgba(245,158,11,.15), rgba(244,63,94,.1));
  color: rgb(217 119 6);
  border-color: rgb(245 158 11 / .3);
}
.qa-question-body { flex: 1; min-width: 0; }
.qa-question-text {
  font-size: .92rem;
  font-weight: 600;
  color: rgb(15 23 42);
  line-height: 1.55;
  margin-bottom: .4rem;
  word-break: break-word;
}
.qa-question-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  align-items: center;
}
.qa-meta-tag {
  font-size: .67rem;
  font-weight: 600;
  padding: .1rem .5rem;
  border-radius: 9999px;
  background: rgb(79 124 255 / .08);
  color: rgb(79 124 255);
  border: 1px solid rgb(79 124 255 / .2);
}
.qa-meta-difficulty {
  font-size: .67rem;
  font-weight: 700;
  padding: .1rem .5rem;
  border-radius: 9999px;
  border: 1px solid;
}
.qa-meta-difficulty.low  { background: rgb(20 184 166 / .1); color: rgb(13 148 136); border-color: rgb(20 184 166 / .25); }
.qa-meta-difficulty.mid  { background: rgb(245 158 11 / .1); color: rgb(180 83 9);   border-color: rgb(245 158 11 / .25); }
.qa-meta-difficulty.high { background: rgb(244 63 94 / .1);  color: rgb(225 29 72);  border-color: rgb(244 63 94 / .25); }

.qa-meta-keyword {
  font-size: .65rem;
  padding: .1rem .45rem;
  border-radius: .35rem;
  background: rgb(248 250 252);
  color: rgb(100 116 139);
  border: 1px solid rgb(226 232 240);
}
.qa-meta-custom {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .65rem;
  font-weight: 600;
  padding: .1rem .5rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgb(245 158 11 / .15), rgb(244 63 94 / .1));
  color: rgb(180 83 9);
  border: 1px solid rgb(245 158 11 / .3);
}

.qa-toggle-icon {
  flex-shrink: 0;
  color: rgb(148 163 184);
  transition: transform .25s ease;
  font-size: .85rem;
}
.qa-item.open .qa-toggle-icon {
  transform: rotate(180deg);
  color: rgb(79 124 255);
}

.qa-answer-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.qa-item.open .qa-answer-wrap {
  max-height: 5000px;
}
.qa-answer-inner {
  padding: 1rem 1.25rem 1.25rem 1.25rem;
  border-top: 1px dashed rgb(226 232 240);
  background: linear-gradient(180deg, rgb(248 250 252) 0%, white 100%);
}
.qa-answer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .75rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid rgb(226 232 240);
}
.qa-action-btn {
  width: 1.85rem; height: 1.85rem;
  border-radius: .45rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(100 116 139);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  cursor: pointer;
  transition: all .2s;
}
.qa-action-btn:hover {
  background: rgb(79 124 255);
  color: white;
  border-color: rgb(79 124 255);
}
.qa-action-btn.danger:hover {
  background: rgb(244 63 94);
  border-color: rgb(244 63 94);
}
.qa-answer {
  font-size: .87rem;
  line-height: 1.75;
}

/* =====================================================================
   我的足迹 · 记忆中心
===================================================================== */

/* 导航栏徽标按钮 */
.nav-pill-history {
  position: relative;
}

/* 顶部统计卡片 */
.history-stat-card {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1.1rem 1.25rem;
  border-radius: 1rem;
  border: 1px solid;
  transition: transform .25s, box-shadow .25s;
}
.history-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px -10px rgba(15, 23, 42, .12);
}
.history-stat-card.brand   { background: linear-gradient(135deg, #eff8ff, #dbeefe); border-color: #bfe1fe; }
.history-stat-card.rose    { background: linear-gradient(135deg, #fff1f2, #ffe4e6); border-color: #fecdd3; }
.history-stat-card.emerald { background: linear-gradient(135deg, #ecfdf5, #d1fae5); border-color: #a7f3d0; }
.history-stat-card.fuchsia { background: linear-gradient(135deg, #fdf4ff, #fae8ff); border-color: #f5d0fe; }
.history-stat-icon {
  font-size: 1.85rem;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .08));
}
.history-stat-num {
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1.1;
  color: rgb(30 41 59);
}
.history-stat-label {
  font-size: .78rem;
  color: rgb(100 116 139);
  margin-top: 2px;
}

/* 三个子 TAB */
.history-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .history-tabs { grid-template-columns: 1fr; }
}
.history-tab {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1rem 1.2rem;
  border-radius: .9rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  cursor: pointer;
  text-align: left;
  transition: all .25s;
}
.history-tab:hover {
  border-color: rgb(96 177 250);
  background: rgb(239 248 255);
}
.history-tab.active {
  background: linear-gradient(135deg, #eff8ff, #dbeefe);
  border-color: rgb(59 143 246);
  box-shadow: 0 6px 18px -10px rgba(59, 143, 246, .4);
}
.history-tab > i {
  font-size: 1.4rem;
  color: rgb(59 143 246);
}
.history-tab-title {
  font-weight: 600;
  color: rgb(30 41 59);
  font-size: .92rem;
}
.history-tab-desc {
  font-size: .73rem;
  color: rgb(100 116 139);
  margin-top: 2px;
}

/* 时间线筛选按钮 */
.history-filter-btn {
  padding: .35rem .75rem;
  border-radius: .5rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(100 116 139);
  font-size: .75rem;
  cursor: pointer;
  transition: all .2s;
}
.history-filter-btn:hover {
  border-color: rgb(96 177 250);
  color: rgb(59 143 246);
}
.history-filter-btn.active {
  background: rgb(59 143 246);
  border-color: rgb(59 143 246);
  color: white;
}

/* 时间线 */
.history-day-group {
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: 1rem;
  overflow: hidden;
}
.history-day-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.2rem;
  background: linear-gradient(90deg, rgb(248 250 252), white);
  border-bottom: 1px solid rgb(226 232 240);
  font-weight: 600;
  font-size: .85rem;
  color: rgb(51 65 85);
}
.history-day-label > i { color: rgb(59 143 246); }
.history-day-count {
  margin-left: auto;
  font-size: .7rem;
  font-weight: 500;
  color: rgb(100 116 139);
  padding: 2px 8px;
  border-radius: 99px;
  background: rgb(241 245 249);
}
.history-day-items {
  padding: .25rem;
}
.history-log-item {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .8rem 1rem;
  border-radius: .6rem;
  transition: background .2s;
}
.history-log-item:hover {
  background: rgb(248 250 252);
}
.history-log-time {
  flex: 0 0 50px;
  font-size: .72rem;
  color: rgb(148 163 184);
  font-family: monospace;
  padding-top: 4px;
}
.history-log-icon {
  flex: 0 0 32px;
  height: 32px;
  border-radius: .5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: white;
  box-shadow: 0 4px 10px -4px rgba(15, 23, 42, .25);
}
.history-log-body { flex: 1; min-width: 0; }
.history-log-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.history-log-type {
  font-size: .7rem;
  padding: 1px 8px;
  border-radius: 99px;
  background: rgb(241 245 249);
  color: rgb(71 85 105);
  font-weight: 500;
}
.history-log-title {
  font-size: .87rem;
  color: rgb(30 41 59);
  font-weight: 500;
}
.history-log-sub {
  margin-top: 4px;
  font-size: .75rem;
  color: rgb(100 116 139);
  line-height: 1.5;
  word-break: break-all;
}

/* 归档列表 */
.history-archive-tab {
  padding: .45rem 1rem;
  border-radius: .55rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  font-size: .82rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
}
.history-archive-tab:hover {
  border-color: rgb(96 177 250);
}
.history-archive-tab.active {
  background: linear-gradient(135deg, rgb(59 143 246), rgb(96 177 250));
  color: white;
  border-color: rgb(59 143 246);
}
.history-archive-item {
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: .8rem;
  padding: 1rem 1.15rem;
  transition: all .25s;
}
.history-archive-item:hover {
  border-color: rgb(96 177 250);
  transform: translateY(-2px);
  box-shadow: 0 10px 26px -14px rgba(15, 23, 42, .18);
}
.history-archive-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .5rem;
}
.history-archive-title {
  font-weight: 600;
  color: rgb(30 41 59);
  font-size: .92rem;
  line-height: 1.4;
}
.history-archive-meta {
  flex-shrink: 0;
  font-size: .7rem;
  color: rgb(71 85 105);
  background: rgb(241 245 249);
  padding: 2px 8px;
  border-radius: 99px;
}
.history-archive-time {
  font-size: .72rem;
  color: rgb(148 163 184);
  margin-top: 6px;
}
.history-archive-summary {
  margin-top: .6rem;
  font-size: .8rem;
  color: rgb(100 116 139);
  line-height: 1.55;
  padding: .55rem .7rem;
  background: rgb(248 250 252);
  border-radius: .45rem;
  border-left: 3px solid rgb(96 177 250);
}
.history-archive-actions {
  margin-top: .8rem;
  display: flex;
  gap: .4rem;
}
.history-arc-btn {
  padding: .4rem .8rem;
  border-radius: .45rem;
  background: rgb(241 245 249);
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  font-size: .75rem;
  cursor: pointer;
  transition: all .2s;
}
.history-arc-btn:hover {
  background: rgb(59 143 246);
  color: white;
  border-color: rgb(59 143 246);
}
.history-arc-btn.danger:hover {
  background: rgb(244 63 94);
  border-color: rgb(244 63 94);
}

/* 归档详情消息体（复用 kb-modal-overlay） */
.history-msg {
  padding: .85rem 1rem;
  border-radius: .7rem;
  border: 1px solid rgb(226 232 240);
}
.history-msg.user {
  background: rgb(239 248 255);
  border-color: rgb(191 225 254);
}
.history-msg.ai {
  background: rgb(236 253 245);
  border-color: rgb(167 243 208);
}
.history-msg-role {
  font-size: .76rem;
  font-weight: 600;
  color: rgb(71 85 105);
  margin-bottom: .35rem;
}
.history-msg-content {
  font-size: .85rem;
  line-height: 1.65;
  color: rgb(51 65 85);
}

/* 存储概览表格 */
.history-storage-table {
  border: 1px solid rgb(226 232 240);
  border-radius: .7rem;
  overflow: hidden;
}
.history-storage-row {
  display: grid;
  grid-template-columns: 2.5fr 3fr 1fr 1.3fr;
  gap: .8rem;
  padding: .75rem 1rem;
  align-items: center;
  font-size: .82rem;
  border-bottom: 1px solid rgb(241 245 249);
  transition: background .2s;
}
.history-storage-row:last-child { border-bottom: none; }
.history-storage-row:not(.header):hover { background: rgb(248 250 252); }
.history-storage-row.header {
  background: rgb(241 245 249);
  font-weight: 600;
  font-size: .76rem;
  color: rgb(71 85 105);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.history-storage-row.empty {
  opacity: .55;
}
.history-storage-label {
  color: rgb(30 41 59);
  font-weight: 500;
}
.history-storage-info {
  color: rgb(100 116 139);
  font-size: .76rem;
  word-break: break-all;
}
.history-storage-size {
  font-family: monospace;
  font-size: .75rem;
  color: rgb(100 116 139);
}
.history-storage-status {
  font-size: .76rem;
}

@media (max-width: 768px) {
  .history-storage-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "label status"
      "info info"
      "size size";
  }
  .history-storage-label  { grid-area: label; }
  .history-storage-info   { grid-area: info; }
  .history-storage-size   { grid-area: size; }
  .history-storage-status { grid-area: status; text-align: right; }
}

/* 知识卡片 AI 讲解：次级按钮 */
.kb-expand-btn-secondary {
  padding: .35rem .8rem;
  border-radius: .45rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  color: rgb(71 85 105);
  font-size: .76rem;
  cursor: pointer;
  transition: all .2s;
}
.kb-expand-btn-secondary:hover {
  background: rgb(241 245 249);
  color: rgb(59 143 246);
  border-color: rgb(96 177 250);
}

/* AI 工具平台切换按钮 */
.ai-platform-btn {
  color: rgb(100 116 139);
  font-weight: 600;
  cursor: pointer;
  transition: all .25s;
  border: none;
  background: transparent;
}
.ai-platform-btn:hover {
  color: rgb(51 65 85);
  background: white;
  border-radius: .75rem;
}
.ai-platform-btn.active {
  border-radius: .75rem;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

/* ===== 全局平台切换器 ===== */
.platform-switch-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.875rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .25s;
  border: none;
  background: transparent;
  color: rgb(100 116 139);
  white-space: nowrap;
}
.platform-switch-btn:hover {
  background: white;
  color: rgb(51 65 85);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

/* 亚马逊激活态 */
.platform-switch-btn[data-platform="amazon"].active {
  background: linear-gradient(135deg, #f59e0b, #f97316);
  color: white;
  box-shadow: 0 4px 14px rgba(245,158,11,.35);
}

/* TikTok 激活态 */
.platform-switch-btn[data-platform="tiktok"].active {
  background: linear-gradient(135deg, #f43f5e, #ec4899);
  color: white;
  box-shadow: 0 4px 14px rgba(244,63,94,.35);
}

/* ===== TikTok 平台主题（body.platform-tiktok 时生效）===== */
body.platform-tiktok .nav-pill.active {
  background: linear-gradient(135deg, #f43f5e, #ec4899);
  color: white;
  box-shadow: 0 4px 14px rgba(244,63,94,.3);
}
body.platform-tiktok .cta-primary {
  background: linear-gradient(135deg, #f43f5e, #ec4899);
  box-shadow: 0 8px 24px rgba(244,63,94,.35);
}
body.platform-tiktok .cta-primary:hover {
  box-shadow: 0 12px 32px rgba(244,63,94,.45);
}
body.platform-tiktok #logo-subtitle {
  color: #f43f5e;
}
body.platform-tiktok .feature-card:hover {
  border-color: rgba(244,63,94,.3);
  box-shadow: 0 8px 32px rgba(244,63,94,.12);
}

/* 平台切换动画 */
@keyframes platformSwitch {
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: translateY(0); }
}
.platform-switch-btn.active {
  animation: platformSwitch .3s ease-out;
}

/* 平台切换器容器 */
#global-platform-switcher {
  flex-shrink: 0;
}

/* ===== AI 工具详情弹窗 Tab 样式 ===== */
.detail-tab {
  position: relative;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: rgb(100 116 139);
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
  white-space: nowrap;
}
.detail-tab:hover {
  color: rgb(59 143 246);
  background: rgb(239 248 255);
}
.detail-tab.active {
  color: rgb(37 99 235);
  border-bottom-color: rgb(59 143 246);
  background: transparent;
}
.detail-pane {
  animation: fadeIn 0.2s ease-out;
}