:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; color: #1e252b; background: #f4f6f8; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { max-width: 1180px; margin: 0 auto; padding: 40px 32px 80px; line-height: 1.7; }
header, main, nav#TOC { background: #fff; border: 1px solid #dfe4e9; border-radius: 8px; }
header { padding: 36px 44px; margin-bottom: 18px; }
header h1 { margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.3; letter-spacing: -.04em; }
nav#TOC { padding: 20px 28px; margin-bottom: 18px; }
nav#TOC ul { margin: 4px 0 0; padding-left: 22px; columns: 2; }
nav#TOC li { break-inside: avoid; margin: 4px 0; }
main { padding: 24px 44px 48px; overflow-x: auto; }
main > h1:first-child { display: none; }
h2 { margin: 48px 0 14px; border-bottom: 1px solid #e5e9ed; padding-bottom: 9px; font-size: 22px; letter-spacing: -.025em; }
h2:first-of-type { margin-top: 28px; }
h3 { margin: 30px 0 10px; font-size: 17px; }
p, li, td { font-size: 14px; }
strong { color: #171e25; }
blockquote { margin: 20px 0; border-left: 3px solid #5c6975; background: #f3f5f7; padding: 12px 18px; color: #46515b; }
blockquote p { margin: 0; }
a { color: #175d8a; text-decoration: underline; text-underline-offset: 2px; }
table { border-collapse: collapse; width: 100%; min-width: 680px; margin: 18px 0 25px; font-size: 13px; }
table th, table td { border-bottom: 1px solid #e4e8ec; padding: 11px 12px; vertical-align: top; text-align: left; }
table th { background: #f0f3f5; font-weight: 700; white-space: nowrap; }
table tr:nth-child(even) td { background: #fbfcfd; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; background: #f0f2f4; padding: 2px 4px; border-radius: 3px; }
pre { overflow-x: auto; background: #202830; color: #eff3f6; padding: 18px; border-radius: 6px; }
pre code { background: none; padding: 0; color: inherit; }
:focus-visible { outline: 2px solid #175d8a; outline-offset: 3px; }
@media (max-width: 700px) { body { padding: 12px 10px 40px; } header, main { padding: 20px 17px; } nav#TOC ul { columns: 1; } h2 { font-size: 19px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
