.mistakes-page .mistakes-tool-block { margin-bottom: 2px; }
.mistakes-page .sidebar-footer { flex-shrink: 0; }
.mistake-page-title { margin: 2px 0 0; }
.mistake-total { display: flex; align-items: baseline; gap: 7px; white-space: nowrap; color: var(--ink-500); font-size: 12px; }
.mistake-total strong { color: var(--navy-900); font-size: 27px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.mistake-source-list { padding-top: 0; }
.mistake-source-group { margin: 12px 0 18px; }
.mistake-source-group h2 { margin: 0 10px 8px; color: rgba(255,255,255,.57); font-size: 12px; font-weight: 600; }
.mistake-source-subgroup { margin: 13px 10px 4px; color: rgba(255,255,255,.48); font-size: 11px; }
.mistake-source-button { grid-template-columns: minmax(0,1fr) auto; min-height: 44px; gap: 8px; }
.mistake-source-button .chapter-name { white-space: normal; line-height: 1.55; }
.mistake-source-button .chapter-count { min-width: 23px; text-align: center; padding: 0 5px; border-radius: 6px; background: rgba(255,255,255,.07); font-size: 12px; }
.mistake-nav-empty { margin: 14px 12px; font-size: 12px; color: rgba(255,255,255,.6); }
.mistake-content { max-width: 1160px; padding-bottom: 42px; }
.mistake-storage-warning { margin-bottom: 20px; padding: 12px 16px; border: 1px solid #efcf86; border-radius: 10px; background: var(--amber-50); color: var(--amber-800); font-size: 13px; }
.mistake-empty { margin: 40px auto; max-width: 640px; padding: 56px 35px; border: 1px solid var(--line-100); border-radius: 22px; background: white; text-align: center; box-shadow: var(--shadow-card); }
.mistake-empty-mark { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 20px; background: var(--green-50); color: var(--green-700); font-size: 27px; }
.mistake-empty h2 { margin: 0; font-size: 24px; }
.mistake-empty p { color: var(--ink-500); margin: 12px auto 25px; max-width: 410px; font-size: 14px; }
.mistake-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.mistake-empty-actions a { text-decoration: none; }
.mistake-empty-actions .button-primary { color: white; background: var(--navy-900); }
.mistake-source-overview { margin-bottom: 22px; padding: 22px 26px; border: 1px solid var(--line-200); border-radius: 16px; background: rgba(255,255,255,.7); }
.mistake-source-overview-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.mistake-source-path { margin: 0 0 3px; color: var(--ink-500); font-size: 12px; }
.mistake-source-overview h2 { margin: 0; font-size: 20px; line-height: 1.45; }
.mistake-source-caption { margin: 5px 0 0; color: var(--ink-500); font-size: 12px; }
.mistake-source-overview-top > .button { flex: 0 0 auto; }
.mistake-inline-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 8px; margin-top: 17px; max-height: 155px; overflow-y: auto; padding: 3px; scrollbar-width: thin; }
.mistake-number { min-height: 38px; border: 1px solid var(--line-200); border-radius: 8px; background: #fff; color: var(--ink-700); font-size: 12px; font-variant-numeric: tabular-nums; cursor: pointer; }
.mistake-number:hover { border-color: #aac4e8; background: var(--blue-50); }
.mistake-number.current { border-color: var(--blue-600); background: var(--blue-600); color: #fff; font-weight: 700; }
.mistake-source-cleared { margin: 16px 0 0; color: var(--green-700); font-size: 13px; }
.mistakes-page .question-panel { scroll-margin-top: 95px; }
.mistakes-page .question-title:focus { outline: none; }
.mistakes-page .question-hint { min-height: 23px; }
.mistakes-page .option-label { position: relative; }
.mistake-option-body { min-width: 0; }
.mistakes-page .option-text { display: block; white-space: pre-wrap; }
.mistake-question-images { margin: 18px 0; }
.mistake-question-image { margin: 10px 0; }
.mistake-question-image img { display: block; max-width: 100%; max-height: 620px; object-fit: contain; border-radius: 6px; }
.mistake-question-image figcaption { padding: 12px; color: var(--amber-800); background: var(--amber-50); font-size: 12px; }
.mistakes-page .action-primary-group { flex-wrap: wrap; justify-content: center; gap: 0 8px; }
.mistakes-page .mistake-retry { color: var(--ink-500); font-size: 12px; }
.mistakes-page .result-banner { margin-bottom: 18px; }
.mistakes-page .question-directory { z-index: 95; }
.mistake-directory-empty { padding: 0 24px 24px; color: var(--green-700); font-size: 13px; }
.mistake-correction-note { margin: 0; color: var(--amber-800); font-size: 13px; }
.mistakes-page .original-analysis > div { white-space: pre-wrap; }
@media (max-width: 900px) {
  .mistake-source-overview { padding: 20px; }
}
@media (max-width: 720px) {
  .mistakes-page .sidebar.open { z-index: 45; }
  .mistakes-page .mobile-overlay { z-index: 40; border: 0; }
  .mistake-content { padding-bottom: 25px; }
  .mistake-source-overview { padding: 17px; margin-bottom: 15px; }
  .mistake-source-overview h2 { font-size: 17px; }
  .mistake-source-overview-top > .button { width: auto; padding-inline: 10px; font-size: 12px; min-height: 37px; }
  .mistake-source-overview-top > div { min-width: 0; overflow-wrap: anywhere; }
  .mistake-inline-grid { max-height: 103px; gap: 7px; margin-top: 12px; }
  .mistake-empty { margin: 20px auto; padding: 40px 23px; }
  .mistakes-page .question-actions { grid-template-columns: 1fr auto 1fr; gap: 8px; }
  .mistakes-page .question-actions .button { padding: 10px 8px; min-width: 0; font-size: 12px; }
  .mistakes-page .question-actions > .button-secondary { display: inline-flex; width: auto; }
  .mistakes-page .option-label { grid-template-columns: 30px minmax(0, 1fr); }
  .mistakes-page .option-status { grid-column: 2; width: auto; justify-self: start; min-height: 22px; padding: 2px 7px; }
  .mistake-total { gap: 5px; font-size: 11px; }
  .mistake-total strong { font-size: 24px; }
}
