:root {
  --bg: #0e1626;
  --panel: #131f33;
  --ink: #f2ece1;
  --dim: #9aa3b2;
  --gold: #c9a227;
  --line: #1d2940;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.8 -apple-system, BlinkMacSystemFont, "Segoe UI",
        "Apple SD Gothic Neo", "Malgun Gothic", "Hiragino Sans", sans-serif;
}
main { max-width: 46rem; margin: 0 auto; padding: 3rem 1.25rem 5rem; }
a { color: var(--gold); }
h1 { font-size: 1.7rem; letter-spacing: .02em; margin: 0 0 .25rem; }
h2 {
  font-size: 1.05rem; margin: 2.5rem 0 .75rem; padding-top: 1.25rem;
  border-top: 1px solid var(--line); color: var(--gold);
}
h3 { font-size: .95rem; margin: 1.5rem 0 .5rem; color: var(--ink); }
p, li { color: var(--ink); }
ul { padding-left: 1.2rem; }
li { margin: .35rem 0; }
.meta { color: var(--dim); font-size: .85rem; margin: 0 0 2rem; }
.lang { margin: 0 0 2rem; font-size: .85rem; color: var(--dim); }
.lang a { margin-right: .75rem; }
.note {
  background: var(--panel); border-left: 3px solid var(--gold);
  padding: .9rem 1.1rem; margin: 1.25rem 0; border-radius: 0 4px 4px 0;
}
table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .92rem; }
th, td { text-align: left; padding: .6rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--dim); font-weight: 600; white-space: nowrap; }
.wrap { overflow-x: auto; }
mark { background: #6b4a00; color: #ffe9a8; padding: 0 .3em; border-radius: 3px; }
footer {
  border-top: 1px solid var(--line); margin-top: 3rem; padding-top: 1.5rem;
  color: var(--dim); font-size: .85rem;
}
