/* V34.28 · 문제 해설/유사 선지 글자 크기 분리
   다른 화면별 스타일보다 나중에 불러와 사용자의 설정값을 일관되게 적용한다. */
:root {
  --explanation-font-size: 15px;
  --similar-choice-heading-size: 11.5px;
  --similar-choice-statement-size: 12.5px;
  --similar-choice-meta-size: 9.5px;
  --similar-choice-chip-min-width: 23px;
  --similar-choice-chip-min-height: 21px;
  --similar-choice-chip-padding-block: 2px;
  --similar-choice-chip-padding-inline: 6px;
  --similar-choice-chip-border-width: 1px;
  --similar-choice-count-size: 10px;
  --similar-choice-explanation-size: 13.5px;
  --similar-choice-mobile-explanation-size: 13px;
}

/* 문제 본문의 해설: 일일 OX, 평가원, 주제별, 오답노트에서 같은 설정을 사용한다. */
html body #appRoot #quizCard .feedback .explanation,
html body #appRoot #examPracticeBox .exam-feedback .exam-explanation,
html body #appRoot #examPracticeBox #examExplanation,
html body #appRoot #topicPanel .feedback .explanation,
html body #appRoot #topicPanel #topicExplanation,
html body #appRoot #reviewPanel .feedback .explanation,
html body #appRoot #reviewPanel #reviewExplanation,
html body #appRoot .feedback .explanation,
html body #appRoot .exam-feedback .exam-explanation {
  font-size: var(--explanation-font-size, 15px) !important;
}

/* 화면별 레거시 규칙보다 높은 최종 우선순위로 실제 풀이 해설에 설정값을 보장한다. */
html body #appRoot#appRoot#appRoot#appRoot :is(
  .exam-feedback .exam-explanation,
  .exam-feedback .explanation,
  .feedback .exam-explanation,
  .feedback .explanation,
  .result-explanation,
  .explanation-text
) {
  font-size: var(--explanation-font-size, 15px) !important;
}

/* 표처럼 자체 글자 크기를 가진 해설 내부 요소도 본문 설정을 그대로 따른다. */
html body #appRoot :is(.feedback, .exam-feedback) :is(.explanation, .exam-explanation) table,
html body #appRoot :is(.feedback, .exam-feedback) :is(.explanation, .exam-explanation) th,
html body #appRoot :is(.feedback, .exam-feedback) :is(.explanation, .exam-explanation) td {
  font-size: inherit !important;
}

/* 학습 보관함 밖에서는 공용 헤더의 편집 버튼을 초기 렌더링부터 닫아 둔다. */
html body:not(.storage-library-active) #appRoot #storageLibraryEditBtn {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 유사 선지: 제목·선지·출처/OX·해설이 하나의 배율로 함께 커지고 작아진다. */
html body #appRoot .similar-choices-summary {
  font-size: var(--similar-choice-heading-size, 11.5px) !important;
}

html body #appRoot .similar-choices-count,
html body #appRoot .similar-choice-topic-count {
  font-size: var(--similar-choice-count-size, 10px) !important;
}

html body #appRoot .similar-choice-topic-summary,
html body #appRoot .similar-choice-item > summary {
  font-size: var(--similar-choice-statement-size, 12.5px) !important;
}

html body #appRoot .similar-choice-explanation-toggle > summary {
  font-size: var(--similar-choice-heading-size, 11.5px) !important;
}

html body #appRoot .similar-choice-source,
html body #appRoot .similar-choice-answer {
  font-size: var(--similar-choice-meta-size, 9.5px) !important;
}

html body #appRoot .similar-choice-answer {
  min-width: var(--similar-choice-chip-min-width, 23px) !important;
  min-height: var(--similar-choice-chip-min-height, 21px) !important;
  padding: var(--similar-choice-chip-padding-block, 2px)
    var(--similar-choice-chip-padding-inline, 6px) !important;
  border-width: var(--similar-choice-chip-border-width, 1px) !important;
}

html body #appRoot .similar-choice-explanation {
  font-size: var(--similar-choice-explanation-size, 13.5px) !important;
}

@media (max-width: 640px) {
  html body #appRoot .similar-choice-explanation {
    font-size: var(--similar-choice-mobile-explanation-size, 13px) !important;
  }
}
