:root { --bg: #ECF0ED; --surface: #FFFFFF; --ink: #101913; --ink-2: #3F4C44; --muted: #66736B; --line: #D9E0DB; --brand: #17503A; --hdr: #113A2A; --cream: #F2EEDF; color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #0B100D; --surface: #131A16; --ink: #E7EDE9; --ink-2: #B2BEB6; --muted: #84918A; --line: #232E28; --brand: #5BB98A; --hdr: #0E2C20; color-scheme: dark; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif; font-size: 0.9375rem; line-height: 1.65; word-break: keep-all; -webkit-text-size-adjust: 100%; }
header { background: var(--hdr); color: var(--cream); padding: calc(16px + env(safe-area-inset-top, 0px)) 16px 16px; }
header a { color: var(--cream); text-decoration: none; font-family: "Do Hyeon", "Apple SD Gothic Neo", sans-serif; font-size: 1.375rem; }
main { max-width: 720px; margin: 0 auto; padding: 20px 16px 56px; }
h1 { margin: 4px 0 12px; font-size: 1.5rem; line-height: 1.3; }
h2 { margin: 28px 0 8px; font-size: 1.0625rem; }
p, li { color: var(--ink-2); }
ul { padding-left: 20px; }
.lead { font-size: 1rem; color: var(--ink); }
.table { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; font-size: 0.875rem; }
th, td { padding: 9px 10px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-weight: 600; background: transparent; }
tr:first-child th, tr:first-child td { border-top: 0; }
.note { padding: 12px 14px; border-radius: 10px; background: var(--surface); border: 1px solid var(--line); }
.meta { margin-top: 32px; font-size: 0.8125rem; color: var(--muted); }
a { color: var(--brand); }
