:root { --bg:#14181B; --panel:#1A1F23; --ink:#E9EAE4; --muted:#9AA1A6; --line:#3B4348; --accent:#7FCDB5; --sans:'IBM Plex Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif; color-scheme:dark; }
@media (prefers-color-scheme: light) { :root { --bg:#F2F3EF; --panel:#FFFFFF; --ink:#1B1F23; --muted:#5B6268; --line:#C3C8BF; --accent:#0F5C4D; color-scheme:light; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.75; }
header { padding:16px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:12px; }
header a { color:var(--ink); text-decoration:none; font-weight:600; font-size:17px; letter-spacing:-.02em; }
header nav a { font-weight:400; font-size:13px; color:var(--muted); margin-left:14px; }
main { max-width:720px; margin:0 auto; padding:32px 20px 80px; }
h1 { margin:0 0 6px; font-size:26px; font-weight:600; letter-spacing:-.02em; }
.date { color:var(--muted); font-size:13px; margin-bottom:28px; }
h2 { margin:30px 0 8px; font-size:17px; font-weight:600; }
p, li { margin:0 0 8px; }
ul { padding-left:20px; margin:0 0 10px; }
table { border-collapse:collapse; width:100%; font-size:14px; margin:8px 0 14px; }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:600; font-size:13px; }
.box { padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:var(--panel); font-size:14px; }
a { color:var(--accent); }
h3 { margin: 18px 0 6px; font-size: 15px; font-weight: 600; }
