/* 이 파일은 build_tokens.py 가 만든다. 손으로 고치지 말 것. */
/* [주의] 이 파일은 화면을 바꾼다. 신규 제작 사이트에만 넣는다. */
/* 이미 완성된 사이트에는 tokens.vars.css(변수만) 를 넣는다. */
/* 생성: 2026-09-26 17:54 */


/* 한국어 필수 — 단어 중간에서 끊기지 않게 */
body, p, h1, h2, h3, h4, li, dd, dt, figcaption, button, a {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* 본문 기본값 */
body {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
}

/* 제목: 위는 넓게, 아래는 좁게. 제목은 아래 문단의 소유물이다. */
h2 {
  font-size: var(--fs-24);
  line-height: var(--lh-head);
  letter-spacing: var(--ls-head);
  margin-top: var(--h2-top);
  margin-bottom: var(--h2-bottom);
}
h3 {
  font-size: var(--fs-20);
  line-height: var(--lh-subhead);
  letter-spacing: var(--ls-subhead);
  margin-top: var(--h3-top);
  margin-bottom: var(--h3-bottom);
}
h4 {
  font-size: var(--fs-18);
  line-height: var(--lh-subhead);
  letter-spacing: var(--ls-subhead);
  margin-top: var(--h4-top);
  margin-bottom: var(--h4-bottom);
}

/* 섹션의 첫 제목은 위 여백 0 — 섹션 패딩이 이미 담당한다 */
section > h2:first-child, section > h3:first-child { margin-top: 0; }

p { margin-top: 0; margin-bottom: var(--para-gap); }

/* 본문 열 — 한 줄 21자가 넘어가면 읽기 어려워진다 */
.prose { max-width: var(--container-prose); }
