/*
 * 법률 문서 공용 스타일 — 4개 문서(privacy·terms·privacy-choices·ad-partners)가 공유한다.
 * open_source_licenses는 자체 스타일을 유지한다(2단 목록 등 구조가 달라서).
 *
 * ⚠ 방향 종속 속성은 **논리 속성**으로만 쓸 것(padding-inline-start, border-inline-start …).
 *   physical(padding-left 등)을 쓰면 아랍어에서 여백이 반대쪽에 붙는다. dir="rtl"만 지정하면
 *   나머지는 브라우저가 처리하도록 만든 구조다.
 */
:root {
  color-scheme: light dark;
  --text: #1c1b1a;
  --muted: #6b6664;
  --line: #e5e1de;
  --accent: #c2410c;
  --bg: #fff;
  --callout-bg: #fdf6f2;
  --stale-bg: #fef3c7;
  --stale-text: #92400e;
}

@media (prefers-color-scheme: dark) {
  :root {
    --text: #e8e6e3;
    --muted: #a8a29e;
    --line: #35302c;
    --accent: #fb923c;
    --bg: #171614;
    --callout-bg: #241c17;
    --stale-bg: #45301a;
    --stale-text: #fbbf24;
  }
}

body {
  margin: 0 auto;
  padding: 2rem 1.25rem 5rem;
  max-width: 44rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Noto Sans KR", "Noto Sans JP",
               "Noto Sans Arabic", "Noto Sans Thai", "Noto Sans Devanagari",
               sans-serif;
  line-height: 1.65;
  color: var(--text);
  background: var(--bg);
}

/*
 * 태국어·힌디어는 기본 1.65로 부족하다. 태국어는 성조/모음 부호가 자음 위아래로 2단까지
 * 쌓이고, 데바나가리는 마트라가 윗선(शिरोरेखा) 위로 올라간다 — 좁으면 윗줄과 겹쳐 잘려 보인다.
 * ⚠ 태국어는 단어 사이에 공백이 없다. 줄바꿈은 브라우저 ICU가 처리하므로
 *   overflow-wrap/word-break를 걸지 말 것 — 걸면 음절 한가운데서 잘린다.
 */
[data-lang="th"] body { line-height: 1.9; }
[data-lang="hi"] body { line-height: 1.8; }

h1 { font-size: 1.5rem; margin: 0 0 .25rem; }
h2 { font-size: 1.125rem; margin: 2.25rem 0 .5rem; }
p { margin: .75rem 0; }
ul { margin: .75rem 0; padding-inline-start: 1.25rem; }
li { margin: .35rem 0; }
a { color: var(--accent); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; }

.updated { color: var(--muted); font-size: .875rem; margin: 0 0 2rem; }
.lead { font-size: 1.0625rem; }

/* 번역본 상단 고지 — 원문 우선(약관) / 참조 텍스트(방침) 문구는 문서가 각자 넣는다. */
.source-note {
  margin: 0 0 1.5rem;
  padding: .6rem .85rem;
  border-inline-start: 3px solid var(--line);
  color: var(--muted);
  font-size: .875rem;
}

.callout {
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border-radius: .5rem;
  border-inline-start: 4px solid var(--accent);
  background: var(--callout-bg);
}

/* 번역이 영어본보다 낡았을 때 lang.js가 삽입한다. */
.stale-notice {
  margin: 0 0 1.5rem;
  padding: .7rem .95rem;
  border-radius: .4rem;
  background: var(--stale-bg);
  color: var(--stale-text);
  font-size: .875rem;
}
.stale-notice a { color: inherit; }

.lang-switch {
  position: fixed;
  inset-block-end: 1rem;
  inset-inline-end: 1rem;
  z-index: 10;
}
.lang-switch select {
  padding: .45rem .7rem;
  border: 1px solid var(--line);
  border-radius: .4rem;
  background: var(--bg);
  color: var(--text);
  font-size: .875rem;
}

footer {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  font-size: .875rem;
  color: var(--muted);
}
