:root {
  --paper: #F3EEE4;
  --ink: #2A2722;
  --soft: #6B655B;
  --rule: rgba(42, 39, 34, 0.14);
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #1C1A17;
    --ink: #EDE6DA;
    --soft: #A8A092;
    --rule: rgba(237, 230, 218, 0.16);
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  -webkit-text-size-adjust: 100%;
}

main {
  max-width: 640px;
  margin: 0 auto;
  padding: 48px 16px 64px;
}

h1, h2, h3 {
  font-family: "New York", "Iowan Old Style", Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.25;
}

h1 { font-size: 2rem; margin: 0 0 0.25em; }
h2 { font-size: 1.35rem; margin: 2.2em 0 0.5em; padding-top: 1.2em; border-top: 1px solid var(--rule); }
h3 { font-size: 1.1rem; margin: 1.6em 0 0.4em; }

p, li { margin: 0 0 0.8em; }
ul { padding-left: 1.2em; }
:lang(ko) p, :lang(ko) li, :lang(ko) td { word-break: keep-all; }

a { color: inherit; text-underline-offset: 3px; }

.meta, .soft { color: var(--soft); }
.meta { font-size: 0.9rem; margin-bottom: 2em; }

code { font: 0.9em ui-monospace, SFMono-Regular, Menlo, monospace; }

table { width: 100%; border-collapse: collapse; font-size: 0.92rem; margin: 0 0 1em; }
th, td { text-align: left; vertical-align: top; padding: 8px 6px; border-bottom: 1px solid var(--rule); }
th { font-weight: 600; }
.scroll { overflow-x: auto; }

footer { margin-top: 3em; font-size: 0.9rem; color: var(--soft); }
