:root {
  --bg: #f6f7fb;
  --card: #ffffff;
  --ink: #111827;
  --sub: #4b5563;
  --line: #e5e7eb;
  --primary: #3d6bff;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0e0f12;
    --card: #16181d;
    --ink: #f3f4f6;
    --sub: #9ca3af;
    --line: #2a2d35;
    --primary: #6f90ff;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
  line-height: 1.7;
  word-break: keep-all;
}
main {
  max-width: 760px;
  margin: 0 auto;
  padding: 32px 16px 64px;
}
h1 { font-size: 1.5rem; line-height: 1.4; margin: 0 0 4px; }
h2 { font-size: 1.1rem; margin: 32px 0 8px; padding-top: 16px; border-top: 1px solid var(--line); }
p, li { color: var(--sub); }
strong { color: var(--ink); }
a { color: var(--primary); }
.meta { font-size: 0.875rem; }
.contact { font-size: 1.05rem; font-weight: 700; color: var(--ink); }
table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 0.9rem; background: var(--card); }
th, td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
th { color: var(--ink); white-space: nowrap; }
td { color: var(--sub); }
@media (max-width: 520px) {
  table, tr, td, th { display: block; width: 100%; }
  tr:first-child { display: none; }
  tr { margin-bottom: 8px; }
  td:first-child { font-weight: 700; color: var(--ink); }
}
