:root { --bg:#fff; --fg:#1a1a1a; --muted:#666; --line:#e5e5e5; --accent:#562205; --box:#faf8f6; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#141414; --fg:#e8e8e8; --muted:#9a9a9a; --line:#2e2e2e; --accent:#d99a5b; --box:#1d1c1b; }
}
* { box-sizing:border-box; }
body { margin:0; padding:2.5rem 1.25rem 4rem; background:var(--bg); color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;
  line-height:1.75; -webkit-text-size-adjust:100%; }
main { max-width:44rem; margin:0 auto; }
h1 { font-size:1.7rem; line-height:1.35; margin:0 0 .5rem; }
h2 { font-size:1.2rem; margin:2.5rem 0 .75rem; padding-top:1.25rem; border-top:1px solid var(--line); }
h3 { font-size:1.02rem; margin:1.75rem 0 .5rem; }
p, li { font-size:1rem; }
p.updated { color:var(--muted); margin:0 0 2rem; font-size:.92rem; }
ul, ol { padding-left:1.3rem; }
li { margin:.4rem 0; }
a { color:var(--accent); word-break:break-all; }
strong { font-weight:600; }
code { background:var(--box); padding:.1em .35em; border-radius:3px; font-size:.92em; }
blockquote { margin:1.5rem 0; padding:1rem 1.25rem; background:var(--box);
  border-left:3px solid var(--accent); border-radius:0 6px 6px 0; }
blockquote p:first-child { margin-top:0; }
blockquote p:last-child { margin-bottom:0; }
.table-wrap { overflow-x:auto; margin:1.25rem 0; }
table { border-collapse:collapse; width:100%; min-width:22rem; font-size:.95rem; }
th, td { border:1px solid var(--line); padding:.6rem .75rem; text-align:left; vertical-align:top; }
th { background:var(--box); font-weight:600; white-space:nowrap; }
hr { border:0; border-top:1px solid var(--line); margin:2.5rem 0; }
footer { margin-top:3rem; padding-top:1.5rem; border-top:1px solid var(--line);
  color:var(--muted); font-size:.9rem; }
