:root {
  --bg: #f6f7fa; --surface: #ffffff; --txt: #1a1e2a; --muted: #5a6075;
  --rule: #e7eaf1; --accent: #384a86; --todo-bg: #ffe2b0; --todo-txt: #5a3b00;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f1117; --surface: #161a22; --txt: #e6e9f2; --muted: #c2c7d5;
    --rule: #333947; --accent: #afbbf2; --todo-bg: #5a4112; --todo-txt: #fbe9cf;
  }
}
:root[data-theme="dark"] {
  --bg: #0f1117; --surface: #161a22; --txt: #e6e9f2; --muted: #c2c7d5;
  --rule: #333947; --accent: #afbbf2; --todo-bg: #5a4112; --todo-txt: #fbe9cf;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--txt);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6; font-size: 17px;
}
main {
  max-width: 760px; margin: 0 auto; padding: 48px 16px 80px;
}
article {
  background: var(--surface); border: 1px solid var(--rule);
  border-radius: 14px; padding: 32px 28px;
}
h1 { font-size: 1.7rem; line-height: 1.25; margin: 0 0 .3em; }
h2 { font-size: 1.2rem; margin: 1.8em 0 .4em; padding-top: .6em; border-top: 1px solid var(--rule); }
h3 { font-size: 1.02rem; margin: 1.2em 0 .3em; color: var(--muted); }
h2:first-of-type { border-top: none; padding-top: 0; }
a { color: var(--accent); }
.meta { color: var(--muted); font-size: .95rem; margin: 0 0 1.4em; }
.meta strong { color: var(--txt); }
ul { padding-left: 1.3em; }
li { margin: .25em 0; }
footer { color: var(--muted); font-size: .9rem; margin-top: 2.4em; padding-top: 1em; border-top: 1px solid var(--rule); }
nav.topo { margin-bottom: 24px; font-size: .95rem; }
nav.topo a { margin-right: 18px; }
.todo {
  background: var(--todo-bg); color: var(--todo-txt);
  padding: 1px 7px; border-radius: 5px; font-weight: 600; font-size: .9em;
  white-space: nowrap;
}
.aviso-build {
  background: var(--todo-bg); color: var(--todo-txt);
  border-radius: 10px; padding: 12px 16px; margin: 0 0 24px; font-size: .92rem;
}
.hub-links { list-style: none; padding: 0; }
.hub-links li { margin: .6em 0; }
.hub-links a { font-size: 1.1rem; font-weight: 600; }
