
:root{
  --bg:#fbfaf8; --fg:#17150f; --muted:#5f5a4e; --line:#e2ded3;
  --card:#ffffff; --accent:#b4531b; --accent-fg:#ffffff; --mark:#fdf0d5;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#12110e; --fg:#f2efe7; --muted:#a09a8b; --line:#2d2a23;
         --card:#1a1814; --accent:#e07a3c; --accent-fg:#17150f; --mark:#2e2415; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size:17px;line-height:1.8;-webkit-text-size-adjust:100%}
.wrap{max-width:660px;margin:0 auto;padding:0 20px}
header{padding:64px 0 8px;border-bottom:1px solid var(--line);margin-bottom:8px}
.kicker{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
h1.book{font-size:clamp(30px,7vw,44px);line-height:1.25;letter-spacing:-.02em;margin:0 0 14px;font-weight:700}
.sub{font-size:19px;color:var(--muted);margin:0 0 8px}
.meta{font-size:14px;color:var(--muted);margin:0 0 40px}
article h2{font-size:26px;line-height:1.35;letter-spacing:-.01em;margin:64px 0 18px;font-weight:700;
  padding-top:24px;border-top:1px solid var(--line)}
article h3{font-size:19px;line-height:1.45;margin:40px 0 12px;font-weight:700}
article h3{font-size:17px;margin:28px 0 10px;font-weight:700}
p{margin:0 0 18px}
b,strong{font-weight:700}
ul,ol{margin:0 0 18px;padding-left:1.2em}
li{margin:0 0 10px}
blockquote{margin:0 0 18px;padding:2px 0 2px 16px;border-left:3px solid var(--accent);color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:48px 0}
table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:15.5px;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
th{background:var(--mark);font-weight:700}
code{background:var(--mark);padding:1px 5px;border-radius:3px;font-size:.92em}
.cta{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 22px;margin:56px 0 0;text-align:center}
.cta p{margin:0 0 6px}
.btn{display:block;margin:18px 0 0;padding:16px 20px;background:var(--accent);color:var(--accent-fg);
  border-radius:10px;text-decoration:none;font-weight:700;font-size:17px}
footer{padding:48px 0 72px;font-size:14px;color:var(--muted);line-height:1.7}
footer a{color:var(--muted)}
.toc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:0 0 8px}
.toc p{margin:0 0 10px;font-weight:700;font-size:15px}
.toc ol{margin:0;padding-left:1.3em;font-size:15.5px}
.toc li{margin:0 0 6px}
a{color:var(--accent);text-underline-offset:.18em}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.topnav{display:flex;justify-content:space-between;gap:16px;padding-top:24px;font-size:14px}
.topnav a{text-decoration:none}
section[id]{scroll-margin-top:24px}
.example{background:var(--mark);border-radius:8px;padding:18px 20px;margin:24px 0}
.example p:last-child{margin-bottom:0}
article{overflow-wrap:break-word}
@media print{.topnav,.toc,.cta{display:none}body{background:white;color:black}}
.article-list{list-style:none;padding:0;margin:24px 0}
.article-list li{border-top:1px solid var(--line);padding:22px 0;margin:0}
.article-list h3{font-size:22px;line-height:1.4;margin:6px 0 10px}
.article-list h3 a{color:var(--fg)}
.article-list p{margin:0;color:var(--muted)}
.article-meta{font-size:13px;letter-spacing:.04em;color:var(--muted)}

