:root {
  color-scheme: light dark;
  --ink: #16242D; --dim: #5A6B75; --faint: #8A97A0;
  --rule: #DFD9CB; --bg: #F7F4EC; --card: #FFFFFF;
  --link: #076E99; --gold: #7A5C12; --warn-bg: #FBF2DC; --warn-rule: #E3CE93;
}
@media (prefers-color-scheme: dark) {
  :root {
    --ink: #E8E3D5; --dim: #9FB0BA; --faint: #6C818D;
    --rule: #22343F; --bg: #0C1820; --card: #132430;
    --link: #5FB6DC; --gold: #D9B861; --warn-bg: #241E10; --warn-rule: #4A3C1B;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--ink); line-height: 1.65;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
}
main { max-width: 42rem; margin: 0 auto; padding: 3rem 1.25rem 5rem; }
a { color: var(--link); }
h1 { font-size: 1.75rem; line-height: 1.25; margin: 0 0 .25rem; }
h2 { font-size: 1.05rem; margin: 2.25rem 0 .5rem; }
h3 { font-size: .95rem; margin: 1.5rem 0 .35rem; }
.sub { color: var(--dim); margin: 0 0 1.5rem; font-size: .95rem; }
.jump { display: flex; gap: 1rem; margin-bottom: 2.5rem; font-size: .9rem; }
p, li { font-size: 1rem; }
ul { padding-left: 1.15rem; }
li { margin-bottom: .4rem; }
hr { border: 0; border-top: 1px solid var(--rule); margin: 3rem 0; }
em.gap {
  display: inline-block; font-style: normal; font-weight: 600;
  background: var(--warn-bg); color: var(--gold);
  border: 1px dashed var(--warn-rule); border-radius: 4px;
  padding: .05em .4em;
}
.draft {
  background: var(--warn-bg); border: 1px solid var(--warn-rule);
  border-radius: 10px; padding: 1rem 1.15rem; margin-bottom: 2.25rem;
}
.draft h2 { margin: 0 0 .4rem; font-size: .95rem; color: var(--gold); }
.draft p, .draft li { font-size: .92rem; }
.draft ul { margin: .4rem 0 0; }
footer { color: var(--faint); font-size: .85rem; margin-top: 3.5rem;
         border-top: 1px solid var(--rule); padding-top: 1.25rem; }
nav.home { font-size: .9rem; margin-bottom: 2rem; }
.cards { display: grid; gap: 1rem; margin-top: 2rem; }
.cards a {
  display: block; background: var(--card); border: 1px solid var(--rule);
  border-radius: 12px; padding: 1.1rem 1.25rem; text-decoration: none;
}
.cards strong { display: block; color: var(--ink); font-size: 1.05rem; }
.cards span { color: var(--dim); font-size: .92rem; }
