:root {
  --bg: #0a0a0a;
  --card: #141414;
  --rim: #4d0011;
  --ink: #f2f2f2;
  --ink-soft: #b9b9b9;
  --accent: #ff0033;
  --accent-2: #ff8c00;
  --link: #ff6680;
  --rule: #262626;
}
@media (prefers-color-scheme: light) {
  :root {
    --bg: #f4f4f4;
    --card: #ffffff;
    --rim: #ffd6de;
    --ink: #161616;
    --ink-soft: #444444;
    --link: #c8002a;
    --rule: #e6e6e6;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
}
main {
  max-width: 760px;
  margin: 32px auto;
  padding: 32px 28px 40px;
  background: var(--card);
  border: 1px solid var(--rim);
  border-radius: 24px;
}
@media (max-width: 800px) {
  main { margin: 16px; padding: 24px 18px 32px; }
}
h1 {
  font-size: 2rem;
  margin: 0 0 4px;
  line-height: 1.2;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
h2 { font-size: 1.2rem; margin: 30px 0 6px; }
h3 { font-size: 1.02rem; margin: 20px 0 4px; }
p, li, td, th { color: var(--ink-soft); font-size: 1rem; }
strong { color: var(--ink); }
code {
  font-size: 0.9em;
  background: var(--rule);
  border-radius: 6px;
  padding: 1px 6px;
  overflow-wrap: anywhere;
}
.updated { font-size: 0.95rem; margin-bottom: 20px; }
.summary {
  border-left: 3px solid var(--accent);
  padding: 4px 0 4px 16px;
  margin: 20px 0;
}
a { color: var(--link); }
ul { padding-left: 22px; }
table { width: 100%; border-collapse: collapse; margin: 12px 0; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--rule); vertical-align: top; }
th { color: var(--ink); font-weight: 600; }
.table-wrap { overflow-x: auto; }
@media (max-width: 600px) {
  table, tbody, tr, td { display: block; width: 100%; }
  tr:first-child { display: none; }
  tr { padding: 12px 0; border-bottom: 1px solid var(--rule); }
  td { border: none; padding: 2px 0; }
  td + td::before {
    content: attr(data-label);
    display: block;
    margin-top: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink);
  }
}
nav { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--rule); font-size: 0.95rem; }
nav a { margin-right: 18px; }
