/* ====== 专升本统一样式 ====== */
/* 暖白底 + 靛蓝主色 + 圆角卡片 + 阴影 */

:root {
  --app-bg: #FDFBF7;
  --app-card-bg: #FFFFFF;
  --app-primary: #4F46E5;
  --app-primary-light: #EEF2FF;
  --app-primary-dark: #4338CA;
  --app-text: #1F2937;
  --app-text-secondary: #6B7280;
  --app-text-muted: #9CA3AF;
  --app-border: #E5E7EB;
  --app-success: #10B981;
  --app-danger: #EF4444;
  --app-warning: #F59E0B;
  --app-radius: 14px;
  --app-radius-sm: 10px;
  --app-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --app-shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --app-shadow-lg: 0 8px 24px rgba(0,0,0,.10);
}

/* ====== 统一样式覆盖 ====== */
body {
  background: var(--app-bg);
}

.card {
  background: var(--app-card-bg);
  border-radius: var(--app-radius);
  box-shadow: var(--app-shadow);
}

/* ====== Tab 导航 ====== */
.app-tabs {
  display: flex;
  gap: 4px;
  background: var(--app-card-bg);
  border-radius: var(--app-radius);
  padding: 4px;
  box-shadow: var(--app-shadow);
  margin-bottom: 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.app-tab {
  flex: 1;
  min-width: 0;
  padding: 10px 6px;
  text-align: center;
  border-radius: var(--app-radius-sm);
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text-secondary);
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
  border: none;
  background: transparent;
  font-family: inherit;
}
.app-tab.active {
  background: var(--app-primary);
  color: #fff;
}
.app-tab:active:not(.active) {
  background: var(--app-primary-light);
  color: var(--app-primary);
}

/* ====== 当前科目与快速切换 ====== */
.mode-subject-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #fffef9 0%, #f4f3ff 100%);
  border: 1px solid #dcd9f7;
  border-radius: var(--app-radius);
  box-shadow: var(--app-shadow);
}
.mode-subject-title { display:flex; align-items:center; gap:10px; min-width:0; }
.mode-subject-icon { font-size:34px; line-height:1; }
.mode-subject-title small { display:block; color:var(--app-text-muted); font-size:11px; font-weight:600; }
.mode-subject-title h1 { margin:1px 0 0; color:var(--app-text); font-size:21px; line-height:1.2; }
.subject-switch-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border-radius:10px;
  background:#3730a3;
  color:#fff;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 5px 14px rgba(55,48,163,.22);
}
.subject-switch-button:hover { background:#312e81; color:#fff; }
.subject-switch-button:active { transform:translateY(1px); }
.subject-switch-button:focus-visible,
.context-action:focus-visible { outline:3px solid rgba(79,70,229,.28); outline-offset:2px; }

.practice-context-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  padding-bottom:9px;
  border-bottom:1px solid #e5e7eb;
}
.context-mode { color:#64748b; font-size:12px; font-weight:700; }
.context-actions { display:flex; align-items:center; gap:6px; }
.context-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 9px;
  border:1px solid #d7dbe5;
  border-radius:8px;
  background:#fff;
  color:#475569;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.context-action.switch { border-color:#a5b4fc; background:#eef2ff; color:#3730a3; }

@media (max-width: 480px) {
  .mode-subject-header { padding:11px 12px; border-radius:10px; }
  .mode-subject-icon { font-size:30px; }
  .mode-subject-title h1 { font-size:19px; }
  .subject-switch-button { min-height:40px; padding:0 12px; font-size:13px; }
  .context-mode { max-width:42%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}

/* ====== 作文批改工作区 ====== */
.essay-start-panel {
  margin:12px 0;
  padding:16px;
  border:1px solid #c7d2fe;
  border-radius:10px;
  background:#f5f7ff;
  color:#312e81;
}
.essay-start-panel strong { display:block; margin-bottom:4px; font-size:16px; }
.essay-start-panel p { margin:0; color:#4b5563; font-size:14px; line-height:1.65; }
.essay-page-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:4px 0 14px; }
.essay-page-header small { color:#6366f1; font-size:10px; font-weight:800; letter-spacing:.08em; }
.essay-page-header h1 { margin:2px 0 0; color:#1f2937; font-size:23px; line-height:1.2; }
.essay-page-header a { padding:8px 11px; border:1px solid #d1d5db; border-radius:8px; color:#475569; font-size:13px; font-weight:700; background:#fff; }
.essay-prompt { margin-bottom:14px; padding:14px 16px; border-left:4px solid #4f46e5; background:#f8fafc; color:#1f2937; font-size:15px; line-height:1.75; white-space:pre-line; }
#essayTitle { min-height:46px; }
#essayContent { min-height:330px; font-size:16px; line-height:1.8; }
body[data-subject="english"] #essayContent { font-size:17px; line-height:1.78; }
.essay-word-count { margin-top:7px; color:#64748b; font-size:13px; font-variant-numeric:tabular-nums; text-align:right; }
.essay-grade { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:4px 12px; border-radius:999px; font-size:14px; font-weight:800; }
.essay-grade--great { background:#dcfce7; color:#166534; }
.essay-grade--good { background:#dbeafe; color:#1d4ed8; }
.essay-grade--ok { background:#fef3c7; color:#92400e; }
.essay-grade--bad { background:#fee2e2; color:#991b1b; }
.essay-total-score { margin:10px 0 16px; color:#111827; font-size:48px; font-weight:800; line-height:1; }
.essay-total-score span { color:#94a3b8; font-size:17px; font-weight:600; }
.essay-scores { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:8px; }
.essay-score-item { display:flex; flex-direction:column; gap:3px; padding:10px 6px; border:1px solid #e5e7eb; border-radius:8px; background:#fafafa; }
.es-val { color:#3730a3; font-size:21px; font-weight:800; }
.es-label { color:#64748b; font-size:11px; }
.essay-detail { line-height:1.75; }
.essay-history-card{margin:10px 0 14px;padding:13px 15px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.essay-history-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#1f2937}.essay-history-head span{color:#94a3b8;font-size:11px}.essay-history-item{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:9px 0;border:0;border-top:1px solid #f1f5f9;background:transparent;color:#475569;text-align:left;cursor:pointer}.essay-history-item small{color:#94a3b8;white-space:nowrap}.essay-issue-locations{display:grid;gap:7px}.essay-issue-locations article{padding:9px 10px;border-left:3px solid #f59e0b;background:#fffbeb}.essay-issue-locations mark{display:block;margin-bottom:3px;background:#fef3c7;color:#78350f;font-weight:700}.essay-issue-locations strong,.essay-issue-locations span{display:block}.essay-issue-locations strong{font-size:11px;color:#b45309}.essay-issue-locations span{color:#64748b;font-size:12px}.score-reasons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.score-reasons div{padding:9px 10px;background:#f8fafc;border:1px solid #e5e7eb}.score-reasons strong,.score-reasons span{display:block}.score-reasons strong{color:#3730a3;font-size:13px}.score-reasons span{margin-top:3px;color:#64748b;font-size:12px}.essay-version-delta{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:16px;padding:14px;border:1px solid #c7d2fe;background:#eef2ff;text-align:center}.essay-version-delta span,.essay-version-delta strong{display:block}.essay-version-delta strong{font-size:22px;color:#3730a3}.essay-version-delta b{font-size:18px}.essay-version-delta b.up{color:#047857}.essay-version-delta b.down{color:#b91c1c}.essay-version-delta p{grid-column:1/-1;margin:0;color:#64748b;font-size:12px}@media(max-width:480px){.essay-history-item{align-items:flex-start;flex-direction:column}.score-reasons{grid-template-columns:1fr}.essay-version-delta{gap:7px}}
.confidence-control{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px auto 2px;color:#64748b;font-size:12px}.confidence-control>span{font-weight:700}.confidence-control>div{display:flex;gap:4px}.confidence-control button{min-height:36px;padding:0 12px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#64748b;font:600 12px inherit;cursor:pointer}.confidence-control button.active{border-color:#4f46e5;background:#eef2ff;color:#3730a3}.question-rubric{margin:10px 0;padding:10px 13px;border:1px solid #dbe2ea;border-radius:10px;background:#f8fafc;color:#475569;font-size:12px}.question-rubric summary{cursor:pointer;font-weight:700}.question-rubric ol{margin:7px 0 0;padding-left:20px}.question-rubric li{margin:3px 0}.grading-feedback{margin:12px 0;padding:12px 14px;border-left:3px solid #f59e0b;background:#fffbeb;color:#78350f;font-size:13px}.grading-feedback strong,.grading-feedback span{display:block}.grading-feedback span{margin-top:4px;line-height:1.6}.grading-feedback p{margin:7px 0 0;font-size:12px}.grading-feedback .matched{color:#047857}.grading-feedback .missing{color:#b45309}.report-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-insight-grid>div{padding:2px 4px}.report-insight-grid h4{margin:0 0 8px}.report-insight-grid p{margin:8px 0;color:#64748b;font-size:12px;line-height:1.6}.report-insight-grid a{color:#4338ca;font-size:12px;font-weight:700}.confidence-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.confidence-summary span{padding:8px 5px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:11px;text-align:center}.confidence-summary b{display:block;margin-top:2px;color:#1f2937;font-size:17px}.report-due-number{display:block;color:#b45309;font-size:28px;line-height:1}.bar-label small{display:block;color:#94a3b8;font-size:9px;font-weight:400}@media(max-width:480px){.confidence-control{align-items:stretch;flex-direction:column}.confidence-control button{flex:1;padding:0 8px}.report-insight-grid{grid-template-columns:1fr}}
.essay-detail h4 { margin:18px 0 7px; color:#1f2937; font-size:15px; }
.application-web-type{padding:10px 12px;border-left:3px solid #f59e0b;background:#fffbeb;color:#78350f}.application-web-subtitle{margin:14px 0 0;color:#334155;font-size:13px}.application-web-elements{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.application-web-elements>div{display:grid;grid-template-columns:24px 1fr;gap:7px;padding:9px;border:1px solid #e5e7eb;background:#fafafa}.application-web-elements b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dcfce7;color:#166534}.application-web-elements .missing b{background:#fee2e2;color:#b91c1c}.application-web-elements strong,.application-web-elements small{display:block}.application-web-elements strong{color:#374151;font-size:12px}.application-web-elements small{margin-top:2px;color:#64748b;font-size:11px;line-height:1.5}.application-web-issues{display:grid;gap:4px;margin-top:9px;padding:10px 12px;background:#fff7ed;color:#9a3412;font-size:12px}.application-web-issues span{line-height:1.55}@media(max-width:480px){.application-web-elements{grid-template-columns:1fr}}
.application-revisions{display:grid;gap:9px;margin-top:9px}.application-revisions article{display:grid;grid-template-columns:64px 1fr;gap:5px 9px;padding:11px;border:1px solid #dbe4ea;background:#f8fafc}.application-revisions span{color:#64748b;font-size:11px;font-weight:700}.application-revisions p{margin:0;color:#334155;font-size:12px;line-height:1.55}.application-revisions article p:last-child{color:#166534;font-weight:700}
.translation-feedback-web{margin-top:12px;padding:12px;border-left:3px solid #146b5d;background:#ecfdf5;color:#334155}.translation-score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.translation-score-grid>div{display:grid;gap:3px;text-align:center}.translation-score-grid span{color:#64748b;font-size:11px}.translation-score-grid strong{color:#17324d;font-size:14px}.translation-feedback-web p{margin:10px 0 0;font-size:12px;line-height:1.6}.translation-error-list{display:grid;gap:6px;margin-top:9px;font-size:12px}.translation-error-list>strong{color:#9a3412}.translation-error-list>div{display:grid;grid-template-columns:42px 1fr;gap:6px;padding-top:6px;border-top:1px solid #bbf7d0}.translation-error-list b{color:#9a3412}.translation-error-list span{line-height:1.55}@media(max-width:480px){.translation-score-grid{grid-template-columns:repeat(2,1fr)}}
.essay-detail h4:first-child { margin-top:0; }
.tag-list { display:flex; flex-wrap:wrap; gap:6px; }
.tag-list span { padding:3px 8px; border-radius:999px; background:#eef2ff; color:#4338ca; font-size:12px; }
.highlights-list { margin:6px 0 0; padding-left:20px; color:#475569; }
.highlights-list li { margin-bottom:5px; }

@media (max-width:480px) {
  .essay-page-header h1 { font-size:20px; }
  .essay-prompt { padding:12px; font-size:14px; }
  #essayContent { min-height:300px; }
  .essay-total-score { font-size:42px; }
  .essay-scores { gap:5px; }
  .essay-score-item { padding:9px 3px; }
}

/* ====== 搜索框 ====== */
.search-wrap {
  position: relative;
  margin-bottom: 16px;
}
.search-input {
  width: 100%;
  padding: 12px 16px 12px 44px;
  border: 2px solid var(--app-border);
  border-radius: var(--app-radius);
  font-size: 15px;
  background: var(--app-card-bg);
  color: var(--app-text);
  font-family: inherit;
  transition: border-color .2s;
  box-sizing: border-box;
}
.search-input:focus {
  outline: none;
  border-color: var(--app-primary);
  box-shadow: 0 0 0 3px rgba(79,70,229,.1);
}
.search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: var(--app-text-muted);
  pointer-events: none;
}
.search-results {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 420px;
  overflow-y: auto;
}
.search-item {
  background: var(--app-card-bg);
  border-radius: var(--app-radius-sm);
  padding: 14px 16px;
  box-shadow: var(--app-shadow);
  cursor: pointer;
  transition: all .2s;
  text-align: left;
  border: 1px solid var(--app-border);
}
.search-item:active {
  background: var(--app-primary-light);
  border-color: var(--app-primary);
}
.search-item .si-subject {
  font-size: 11px;
  color: var(--app-primary);
  font-weight: 600;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.search-item .si-stem {
  font-size: 14px;
  color: var(--app-text);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.search-item .si-chapter {
  font-size: 11px;
  color: var(--app-text-muted);
  margin-top: 4px;
}
.search-empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--app-text-muted);
}
.search-empty .se-icon {
  font-size: 48px;
  margin-bottom: 8px;
}

/* ====== 学习报告 - 柱状图 ====== */
.report-section {
  margin-bottom: 20px;
}
.report-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--app-text);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.report-title .rt-icon {
  font-size: 20px;
}
.report-card {
  background: var(--app-card-bg);
  border-radius: var(--app-radius);
  padding: 18px 16px;
  box-shadow: var(--app-shadow);
  margin-bottom: 14px;
}
.report-card h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
  margin-bottom: 14px;
}
.bar-chart {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bar-label {
  width: 80px;
  font-size: 12px;
  color: var(--app-text-secondary);
  text-align: right;
  flex-shrink: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bar-track {
  flex: 1;
  height: 22px;
  background: #F3F4F6;
  border-radius: 11px;
  overflow: hidden;
  position: relative;
}
.bar-fill {
  height: 100%;
  border-radius: 11px;
  transition: width .6s ease;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 8px;
  min-width: 0;
}
.bar-fill.low { background: linear-gradient(90deg, #FCA5A5, #EF4444); }
.bar-fill.mid { background: linear-gradient(90deg, #FCD34D, #F59E0B); }
.bar-fill.high { background: linear-gradient(90deg, #6EE7B7, #10B981); }
.bar-fill.perfect { background: linear-gradient(90deg, #A5B4FC, #4F46E5); }
.bar-value {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.bar-value-outside {
  font-size: 12px;
  font-weight: 600;
  color: var(--app-text-secondary);
  width: 42px;
  flex-shrink: 0;
  text-align: left;
}
.report-empty {
  text-align: center;
  padding: 30px 20px;
  color: var(--app-text-muted);
  font-size: 14px;
}
.report-empty .re-icon {
  font-size: 44px;
  margin-bottom: 8px;
}
.report-summary {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}
.report-stat {
  flex: 1;
  background: var(--app-card-bg);
  border-radius: var(--app-radius-sm);
  padding: 14px 12px;
  text-align: center;
  box-shadow: var(--app-shadow);
}
.report-stat .rs-num {
  font-size: 24px;
  font-weight: 800;
  color: var(--app-primary);
}
.report-stat .rs-label {
  font-size: 11px;
  color: var(--app-text-muted);
  margin-top: 2px;
}

/* ====== 每日目标 ====== */
.goal-card {
  background: var(--app-card-bg);
  border-radius: var(--app-radius);
  padding: 20px 16px;
  box-shadow: var(--app-shadow);
  margin-bottom: 16px;
}
.goal-setter {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}
.goal-input {
  flex: 1;
  padding: 10px 14px;
  border: 2px solid var(--app-border);
  border-radius: var(--app-radius-sm);
  font-size: 15px;
  text-align: center;
  font-family: inherit;
  width: 80px;
}
.goal-input:focus {
  outline: none;
  border-color: var(--app-primary);
}
.goal-btn {
  padding: 10px 20px;
  background: var(--app-primary);
  color: #fff;
  border: none;
  border-radius: var(--app-radius-sm);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: all .2s;
}
.goal-btn:active {
  background: var(--app-primary-dark);
  transform: scale(.96);
}
.goal-btn.small {
  padding: 6px 14px;
  font-size: 13px;
}
.goal-progress-wrap {
  margin-bottom: 14px;
}
.goal-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.goal-progress-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text);
}
.goal-progress-text {
  font-size: 13px;
  font-weight: 700;
  color: var(--app-primary);
}
.goal-bar {
  height: 10px;
  background: #F3F4F6;
  border-radius: 5px;
  overflow: hidden;
}
.goal-bar-fill {
  height: 100%;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--app-primary), #7C3AED);
  transition: width .5s ease;
}
.goal-streak {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
  border-radius: var(--app-radius-sm);
  margin-top: 12px;
}
.goal-streak-icon {
  font-size: 24px;
}
.goal-streak-num {
  font-size: 28px;
  font-weight: 800;
  color: #D97706;
}
.goal-streak-label {
  font-size: 13px;
  color: #92400E;
}
.goal-reset {
  text-align: center;
  margin-top: 8px;
}
.goal-reset-btn {
  font-size: 12px;
  color: var(--app-text-muted);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-decoration: underline;
}

/* ====== 通用辅助 ====== */
.text-center { text-align: center; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.gap-8 { gap: 8px; }

/* ====== 响应式 ====== */
@media (max-width: 400px) {
  .app-tab {
    font-size: 12px;
    padding: 8px 4px;
  }
  .bar-label {
    width: 60px;
    font-size: 11px;
  }
  .bar-value-outside {
    width: 36px;
    font-size: 11px;
  }
  .report-summary {
    flex-wrap: wrap;
  }
  .report-stat {
    min-width: calc(50% - 5px);
  }
}
.question-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.question-report-btn{border:1px solid #d8d4cc;background:#fff;color:#6b6257;border-radius:9px;min-height:36px;padding:0 12px;font:600 13px/1 system-ui,sans-serif;cursor:pointer}.question-report-btn:hover{border-color:#f59e0b;color:#92400e;background:#fffbeb}.result-report-btn{display:block;margin:12px auto;background:#fffbeb;border-color:#fcd34d}.question-report-dialog{width:min(520px,calc(100vw - 28px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px #0f172a38}.question-report-dialog::backdrop{background:#11182799;backdrop-filter:blur(2px)}.question-report-dialog form{padding:22px}.question-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.question-report-head span{font-size:10px;letter-spacing:.18em;color:#b45309;font-weight:800}.question-report-head h3{margin:3px 0 0;font-size:22px}.question-report-close{border:0;background:#f3f4f6;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.question-report-meta{margin:10px 0 16px;color:#6b7280;font-size:13px}.question-report-dialog label{display:block;margin:12px 0;font-weight:700}.question-report-dialog select,.question-report-dialog textarea{display:block;width:100%;margin-top:7px;border:1px solid #d1d5db;border-radius:10px;padding:11px;font:inherit;background:#fff}.question-report-dialog textarea{resize:vertical;line-height:1.6}.question-report-message{min-height:24px;color:#047857;font-size:13px;margin:8px 0}@media(max-width:600px){.question-tools{gap:5px}.question-report-btn{min-height:34px;padding:0 9px;font-size:12px}.question-report-dialog{border-radius:16px}.question-report-dialog form{padding:18px}}
.question-toolbar>div:first-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}@media(max-width:520px){.question-toolbar{align-items:flex-start}.question-toolbar>div:first-child{max-width:70%}}
.error-cause-card{margin:18px 0;padding:18px;border:1px solid #dbe7f2;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 8px 24px rgba(30,64,175,.06)}
.error-cause-card small,.learning-diagnosis small{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.14em}.error-cause-card h3{margin:3px 0 2px;font-size:18px;color:#172033}.error-cause-card p{margin:0;color:#64748b;font-size:13px}.error-cause-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.error-cause-grid button{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 10px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;color:#334155;font-size:13px;text-align:left;cursor:pointer}.error-cause-grid button.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:700}.error-cause-grid button:focus-visible,.diagnosis-actions a:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.error-cause-saved{min-height:18px;margin-top:8px;color:#15803d;font-size:12px}
.diagnosis-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:620px;margin:14px auto}.diagnosis-insights div{padding:13px 12px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.diagnosis-insights span{display:block;color:#64748b;font-size:11px;margin-bottom:5px}.diagnosis-insights strong{display:block;color:#1e293b;font-size:13px;line-height:1.4}.diagnosis-comparison{display:flex;align-items:center;justify-content:center;gap:20px;max-width:620px;margin:15px auto;padding:18px;border-radius:16px;background:#0f172a;color:#fff}.diagnosis-comparison div{text-align:center}.diagnosis-comparison span{display:block;color:#94a3b8;font-size:11px}.diagnosis-comparison strong{font-size:23px}.diagnosis-comparison b{padding:5px 9px;border-radius:999px;font-size:13px}.diagnosis-comparison b.up{background:#14532d;color:#bbf7d0}.diagnosis-comparison b.down{background:#7f1d1d;color:#fecaca}.diagnosis-actions{display:flex;gap:10px;max-width:620px;margin:12px auto 0}.diagnosis-actions a{flex:1;padding:12px;text-align:center;border-radius:12px;text-decoration:none;font-size:14px;font-weight:700}.diagnosis-primary-btn{background:#2563eb;color:#fff}.diagnosis-secondary-btn{border:1px solid #cbd5e1;background:#fff;color:#334155}
.learning-diagnosis{border-color:#bfdbfe!important;background:linear-gradient(145deg,#f8fbff,#fff)}.learning-diagnosis-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:12px;margin-top:12px}.learning-diagnosis-grid>div{padding:14px;border:1px solid #e2e8f0;border-radius:13px;background:rgba(255,255,255,.82)}.learning-diagnosis-grid>div>span{display:block;margin-bottom:9px;color:#64748b;font-size:11px;font-weight:700}.learning-diagnosis-grid a,.learning-diagnosis-grid p{display:flex;align-items:center;gap:5px;margin:6px 0;color:#334155;font-size:12px;text-decoration:none}.learning-diagnosis-grid a b{min-width:50px}.learning-diagnosis-grid em{margin-left:auto;color:#dc2626;font-style:normal}.learning-diagnosis-grid strong{display:block;color:#2563eb;font-size:28px}
@media(max-width:520px){.diagnosis-insights{grid-template-columns:1fr}.diagnosis-comparison{gap:12px}.diagnosis-actions{flex-direction:column}.learning-diagnosis-grid{grid-template-columns:1fr}.error-cause-grid{grid-template-columns:1fr 1fr}.error-cause-card{padding:15px}}
@media(prefers-reduced-motion:reduce){.diag-bar{transition:none!important}}

/* Standardized assessment */
.exam-setup{--assess-ink:#172033;--assess-blue:#155eef;--assess-line:#dbe5f0;max-width:680px;margin:0 auto}.exam-setup>header{padding:26px 22px;margin-bottom:16px;border-radius:22px;background:radial-gradient(circle at 90% 10%,rgba(96,165,250,.35),transparent 36%),linear-gradient(135deg,#102a56,#163f7d);color:#fff;box-shadow:0 16px 36px rgba(15,42,86,.2)}.exam-setup>header>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#93c5fd}.exam-setup>header h1{margin:7px 0 6px;font-size:26px}.exam-setup>header p{max-width:560px;margin:0;color:#dbeafe;font-size:13px;line-height:1.65}.paper-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.paper-option{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:175px;padding:18px;border:1px solid var(--assess-line);border-radius:18px;background:#fff;color:var(--assess-ink);text-decoration:none;box-shadow:0 8px 22px rgba(30,64,175,.06)}.paper-option.recommended{border:2px solid var(--assess-blue)}.paper-option small{color:var(--assess-blue);font-size:9px;font-weight:800;letter-spacing:.12em}.paper-option h2{margin:7px 0 4px;font-size:20px}.paper-option p{margin:0;color:#64748b;font-size:12px}.paper-spec{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:end;gap:4px;margin-top:18px;padding-top:13px;border-top:1px solid #e2e8f0}.paper-spec strong{font-size:25px;line-height:1;color:var(--assess-blue)}.paper-spec span{color:#64748b;font-size:11px}.exam-rules{margin-top:14px;padding:17px 18px;border:1px solid var(--assess-line);border-radius:16px;background:#f8fafc}.exam-rules h3{margin:0 0 8px;font-size:14px}.exam-rules ul{margin:0;padding-left:18px;color:#64748b;font-size:12px;line-height:1.8}.exam-back{display:block;margin:18px 0;text-align:center;color:#64748b;font-size:13px;text-decoration:none}.exam-trend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.exam-trend-summary div{padding:12px;border:1px solid var(--assess-line);border-radius:13px;background:#fff;text-align:center}.exam-trend-summary span{display:block;color:#64748b;font-size:10px}.exam-trend-summary strong{font-size:21px;color:var(--assess-ink)}.exam-trend-summary .positive{color:#15803d}.exam-trend-summary .negative{color:#dc2626}
.exam-resume-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:17px 18px;border:1px solid #86efac;border-radius:16px;background:linear-gradient(135deg,#ecfdf5,#fff);color:#14532d;text-decoration:none;box-shadow:0 7px 20px rgba(22,101,52,.07)}.exam-resume-card small{color:#15803d;font-size:9px;font-weight:800;letter-spacing:.14em}.exam-resume-card h2{margin:4px 0;font-size:17px}.exam-resume-card p{margin:0;color:#4b7160;font-size:11px}.exam-resume-card>span{padding:9px 11px;border-radius:9px;background:#15803d;color:#fff;font-size:11px;font-weight:700;white-space:nowrap}
.assessment-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin:0 0 16px;padding:20px;border-radius:18px;border:1px solid #bfdbfe;background:linear-gradient(140deg,#eff6ff,#fff)}.assessment-overview.excellent{border-color:#a7f3d0;background:linear-gradient(140deg,#ecfdf5,#fff)}.assessment-status small,.assessment-title small,.assessment-plan small{font-size:9px;font-weight:800;letter-spacing:.15em;color:#2563eb}.assessment-status h2,.assessment-title h2,.assessment-plan h2{margin:4px 0;font-size:19px;color:#172033}.assessment-status p,.assessment-plan p{margin:0;color:#64748b;font-size:12px;line-height:1.55}.assessment-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-content:center}.assessment-meta div{text-align:center}.assessment-meta strong{display:block;color:#172033;font-size:17px}.assessment-meta span{display:block;color:#64748b;font-size:9px}.assessment-card,.assessment-plan{margin-bottom:16px;padding:18px;border:1px solid #dbe5f0;border-radius:17px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.04)}.assessment-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:13px}.assessment-title>span{padding:4px 8px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:700}.assessment-bars>div{display:grid;grid-template-columns:minmax(110px,1.5fr) 2fr 38px;align-items:center;gap:8px;margin:9px 0}.assessment-bars>div>div{display:flex;justify-content:space-between;gap:5px;color:#334155;font-size:11px}.assessment-bars>div>div b{color:#94a3b8;font-weight:500}.assessment-bars i{height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.assessment-bars em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#38bdf8)}.assessment-bars>div>strong{color:#172033;font-size:11px;text-align:right}.assessment-plan{display:flex;align-items:center;gap:14px;border-color:#fed7aa;background:linear-gradient(135deg,#fff7ed,#fff)}.assessment-plan>div{min-width:125px}.assessment-plan p{flex:1}.assessment-plan a{padding:9px 11px;border-radius:10px;background:#ea580c;color:#fff;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.exam-sparkline{display:flex;align-items:flex-end;gap:10px;height:130px;padding-top:10px}.exam-sparkline>div{display:grid;grid-template-rows:1fr auto auto;align-items:end;flex:1;height:100%;text-align:center}.exam-sparkline i{display:block;width:min(30px,75%);min-height:8px;margin:0 auto;border-radius:6px 6px 2px 2px;background:linear-gradient(#38bdf8,#2563eb)}.exam-sparkline strong{font-size:11px;color:#172033}.exam-sparkline span{font-size:9px;color:#94a3b8}.learning-exam small{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.12em}.learning-exam-latest{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.learning-exam-latest>div{padding:13px;border:1px solid #e2e8f0;border-radius:12px}.learning-exam-latest span,.learning-exam-latest small{display:block;color:#64748b;font-size:10px;letter-spacing:0}.learning-exam-latest strong{display:block;margin:4px 0;color:#172033;font-size:20px}
@media(max-width:560px){.paper-options{grid-template-columns:1fr}.paper-option{min-height:145px}.exam-resume-card{align-items:flex-start;flex-direction:column}.exam-resume-card>span{width:100%;text-align:center}.assessment-overview{grid-template-columns:1fr}.assessment-plan{align-items:flex-start;flex-direction:column}.assessment-plan>div{min-width:0}.assessment-bars>div{grid-template-columns:1.4fr 1fr 34px}.learning-exam-latest{grid-template-columns:1fr}.exam-setup>header{padding:22px 18px}.exam-setup>header h1{font-size:22px}}
.blueprint-card{margin-bottom:14px;padding:17px;border:1px solid #fed7aa;border-radius:17px;background:#fff7ed}.blueprint-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.blueprint-head small{color:#c2410c;font-size:9px;font-weight:800;letter-spacing:.13em}.blueprint-head h2{margin:4px 0;color:#7c2d12;font-size:18px}.blueprint-head>span{padding:4px 8px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:10px;font-weight:700}.blueprint-types{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0}.blueprint-types>div{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px;border:1px solid #fed7aa;border-radius:10px;background:#fff}.blueprint-types span{font-size:11px;font-weight:700}.blueprint-types strong{font-size:13px}.blueprint-types strong small{color:#94a3b8;font-size:9px}.blueprint-types i{height:6px;border-radius:99px;background:#e2e8f0;overflow:hidden}.blueprint-types em{display:block;height:100%;background:#f97316}.blueprint-types b{color:#c2410c;font-size:9px;text-align:right}.blueprint-types .ready em{background:#16a34a}.blueprint-types .ready b{color:#15803d}.blueprint-card>p{margin:0;color:#9a3412;font-size:10px;line-height:1.6}.blueprint-warning{margin-bottom:14px;padding:12px;border-left:4px solid #f97316;background:#fff7ed;color:#9a3412;font-size:12px}.exam-blueprint-result{display:inline-block;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:10px;font-weight:800}.exam-blueprint-result.ready{background:#dcfce7;color:#166534}@media(max-width:520px){.blueprint-types{grid-template-columns:1fr}.blueprint-head{flex-direction:column}}
.curriculum-path-card{margin:14px 0;border:1px solid #bae6fd!important;background:linear-gradient(135deg,#ecfeff,#fff)!important}.curriculum-path-card .mc-icon{background:#0e7490;color:#fff}.curriculum-path-card .mc-title{color:#164e63}

.learning-empty-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:26px;align-items:start;margin-top:28px;padding:22px;border-left:4px solid #155eef;background:#f8fafc}.learning-empty-start small,.learning-next-task small{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.12em}.learning-empty-start h2{margin:5px 0 7px;font-size:21px;letter-spacing:0}.learning-empty-start p{margin:0;color:#64748b;font-size:14px;line-height:1.7}.learning-empty-start ol{grid-row:1/span 2;grid-column:2;margin:0;padding:0;list-style:none}.learning-empty-start li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #e2e8f0;color:#64748b}.learning-empty-start li>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e2e8f0;color:#475569}.learning-empty-start li.active>b{background:#155eef;color:#fff}.learning-empty-start li strong,.learning-empty-start li span{display:block}.learning-empty-start li strong{margin-bottom:2px;color:#1e293b}.learning-empty-start li span{font-size:12px;line-height:1.5}.learning-empty-actions{display:flex;gap:8px;margin-top:18px}.learning-empty-actions a,.learning-empty-actions button{min-height:44px;padding:0 15px;border-radius:6px;font-size:13px;font-weight:800;cursor:pointer}.learning-empty-actions a{background:#155eef;color:#fff;line-height:44px;text-decoration:none}.learning-empty-actions button{border:1px solid #cbd5e1;background:#fff;color:#334155}.learning-next-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:22px;padding:15px 18px;border-left:4px solid #0f766e;background:#f0fdfa}.learning-next-task h2{margin:4px 0 2px;font-size:17px;letter-spacing:0}.learning-next-task p{margin:0;color:#64748b;font-size:12px}.learning-next-task a{min-height:42px;padding:0 15px;border-radius:6px;background:#0f766e;color:#fff;font-size:13px;font-weight:800;line-height:42px;text-decoration:none}
@media(max-width:640px){.learning-empty-start{grid-template-columns:1fr;padding:18px 16px}.learning-empty-start ol{grid-row:auto;grid-column:auto}.learning-empty-actions{align-items:stretch;flex-direction:column}.learning-empty-actions a,.learning-empty-actions button{width:100%;text-align:center}.learning-next-task{align-items:stretch;grid-template-columns:1fr}.learning-next-task a{text-align:center}}
