/* 게임별 정책 문서 (Read 모드). 토큰은 site.css에서 온다. */
body { padding-bottom: 0; }
.doc { max-width: calc(36em + 2 * var(--gutter)); margin: 0 auto; padding: 144px var(--gutter) 0; }
.doc h1 { margin: 0 0 16px; text-align: center; text-wrap: balance; font: 400 clamp(32px, 4.4vw, 52px)/1.15 var(--f-display); }
.doc h1 .latin { font: 900 1.08em/1 var(--f-latin); font-stretch: 125%; letter-spacing: -0.02em; }
.draft { margin: 0 0 48px; text-align: center; }

/* 목차: 접을 수 있게 */
.toc { margin: 0 0 64px; padding: 4px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.toc summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; font-weight: 600; list-style: none; }
.toc summary::-webkit-details-marker { display: none; }
.toc summary::after { content: ""; width: 8px; height: 8px; margin-left: 10px; border-right: 1.5px solid var(--role); border-bottom: 1.5px solid var(--role); transform: translateY(-2px) rotate(45deg); transition: transform 160ms var(--ease-out); }
.toc[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.toc ol { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 2px; font-size: 15px; }
.toc .l3 { padding-left: 1.2em; }
.toc a { text-decoration: none; color: var(--role); }
.toc a:hover { color: var(--willow); }
.toc .l2 a { color: var(--credit); }

/* 본문 */
.doc article { overflow-wrap: anywhere; }
.doc h2 { margin: 72px 0 20px; font: 400 26px/1.3 var(--f-display); text-wrap: balance; scroll-margin-top: 88px; }
.doc h3 { margin: 40px 0 10px; font: 600 19px/1.4 var(--f-body); scroll-margin-top: 88px; }
.doc h2 + h3 { margin-top: 24px; }
.doc p { margin: 0 0 14px; }
.doc ol, .doc ul { margin: 0 0 16px; padding-left: 1.4em; }
.doc li { margin: 4px 0; }
.doc li::marker { color: var(--role); }
.doc strong { font-weight: 600; }
.doc hr { width: 48px; margin: 56px auto; border: 0; border-top: 1px solid var(--role); opacity: 0.5; }
.doc blockquote { margin: 0 0 16px; padding-left: 16px; border-left: 1px solid var(--rule); color: var(--role); }

/* 표: 가로 스크롤, 채움 없이 가는 선만 */
.table-wrap { overflow-x: auto; margin: 8px 0 24px; }
.doc table { border-collapse: collapse; width: 100%; font-size: 15px; line-height: 1.55; font-variant-numeric: tabular-nums; }
.doc th, .doc td { text-align: left; vertical-align: top; padding: 10px 14px 10px 0; border-bottom: 1px solid var(--rule); min-width: 112px; }
.doc th { font: 500 13px/1.45 var(--f-body); color: var(--role); border-bottom-color: var(--role); }

/* 아직 정하지 않은 값 */
.ph { color: var(--role); border-bottom: 1px dashed var(--role); }

/* 바닥: 사업자 정보 크레딧 */
.doc-foot { max-width: 820px; margin: 0 auto; padding: 0 var(--gutter) 72px; text-align: center; }
.doc-foot hr { width: 48px; margin: 96px auto 48px; border: 0; border-top: 1px solid var(--role); opacity: 0.5; }
.doc-foot .credits { gap: 12px; }
.doc-foot .copy { margin-top: 48px; }

@media (max-width: 560px) {
  .doc { padding-top: 112px; }
  .doc h2 { font-size: 22px; margin-top: 56px; }
  .doc h3 { font-size: 18px; }
}
