/* 모바일 전용 레이아웃 (~767px 이하). 가독성 최우선:
   - 본문 글자 크기 16px 이상 유지, 줄 간격을 넉넉히 줘서 좁은 폭에서도 눈이 편하게
   - 마스트헤드/토글 버튼이 좁은 화면에서도 여유 있게 보이도록 별도 크기 조정 */

body {
  font-size: 16px;
  line-height: 1.75;
}

.utility-bar { padding: 8px 16px; }
.theme-toggle { width: 46px; height: 25px; --toggle-travel: 22px; }
.theme-toggle-thumb { width: 18px; height: 18px; font-size: 0.65rem; }
.lang-select-trigger { height: 32px; padding: 0 10px; gap: 5px; font-size: 0.78rem; }
.lang-select-caret { font-size: 0.6rem; }
.lang-select-list { padding: 5px; min-width: 116px; }
.lang-select-list li { padding: 7px 10px; font-size: 0.85rem; }

.header-inner { padding: 22px 16px 16px; }

.site-header h1 { font-size: 1.7rem; }
.tagline { margin: 8px 0 0; font-size: 0.66rem; }
.mission { margin: 10px auto 0; font-size: 0.84rem; line-height: 1.55; }

.subscribe-box { padding: 18px 16px 20px; }
.subscribe-title { font-size: 1.02rem; }
.subscribe-desc { font-size: 0.82rem; margin-bottom: 12px; }
.subscribe-form { flex-direction: column; gap: 8px; }
.subscribe-input { padding: 10px 14px; font-size: 0.92rem; }
.subscribe-submit { padding: 10px 16px; font-size: 0.86rem; }
.subscribe-status { font-size: 0.78rem; min-height: 1.2em; margin-top: 8px; }

.content { padding: 18px 16px 56px; }

.date-bar { padding: 0 0 12px; margin-bottom: 2px; row-gap: 8px; }
.date-label { font-size: 0.8rem; }
.back-link { font-size: 0.72rem; width: 100%; }
.archive-badge { font-size: 0.68rem; }

.toc { margin: 16px 0 6px; padding: 16px 0; }
.toc-title { font-size: 0.75rem; margin: 0 0 10px; }
.toc-list { grid-template-columns: 1fr; gap: 9px; font-size: 0.92rem; line-height: 1.4; }
.toc-num { font-size: 0.8rem; width: 22px; }

.article-card { padding: 22px 0; }
.article-card:first-child { padding-top: 14px; }

.article-meta { font-size: 0.72rem; margin-bottom: 8px; }

.article-title {
  font-size: 1.18rem;
  line-height: 1.42;
  margin: 0 0 12px;
}
.article-title a { display: inline-block; padding: 2px 0; }

.block-label { font-size: 0.68rem; }

.article-summary { margin-bottom: 12px; }
.article-summary p, .article-implication p { font-size: 0.98rem; }

.article-implication { padding: 12px 14px 12px 14px; }

.archive-section { margin-top: 36px; padding-top: 16px; }
.archive-title { font-size: 0.8rem; margin: 0 0 10px; }
.archive-list { gap: 8px 16px; }
.archive-list a { font-size: 0.86rem; display: inline-block; padding-bottom: 1px; }

.site-footer { font-size: 0.72rem; padding: 16px; }
