:root { color-scheme: light dark; --ink: #1f1f1f; --quiet: #6b6b6b; --line: #e3e3e3; --paper: #fdfdfb; --link: #2c5d8f; }
@media (prefers-color-scheme: dark) { :root { --ink: #e8e8e6; --quiet: #a0a09c; --line: #333; --paper: #161616; --link: #8fb8e0; } }
* { box-sizing: border-box; }
body { margin: 0 auto; max-width: 42rem; padding: 2rem 1rem 4rem; background: var(--paper); color: var(--ink);
  font: 18px/1.75 -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
  word-break: keep-all; overflow-wrap: anywhere; }
a { color: var(--link); }
.site-header { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem; border-bottom: 1px solid var(--line); margin-bottom: 2.5rem; }
.site-name { font-weight: 700; color: var(--ink); text-decoration: none; }
.site-header nav a { margin-left: .75rem; color: var(--quiet); text-decoration: none; }
h1 { font-size: 1.75rem; line-height: 1.35; margin: 0 0 .5rem; }
h2 { font-size: 1.3rem; margin: 2.5rem 0 .75rem; }
h3, h4 { font-size: 1.1rem; margin: 2rem 0 .5rem; }
.dates, time, .empty, .site-footer { color: var(--quiet); font-size: .9rem; }
.promise { font-size: 1.25rem; margin: 0 0 2rem; }
.article-list { list-style: none; padding: 0; }
.article-list li { padding: .75rem 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1rem; }
blockquote { margin: 1.5rem 0; padding-left: 1rem; border-left: 3px solid var(--line); color: var(--quiet); }
pre { overflow-x: auto; padding: 1rem; border: 1px solid var(--line); font-size: .85rem; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.source { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .95rem; }
.site-footer { margin-top: 4rem; padding-top: 1rem; border-top: 1px solid var(--line); }
