:root { --ink: #3b3029; --paper: #fbf7f2; --line: #e3d6c6; --brass: #985c4a; --muted: #6b5f55; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: #1f2a27; font-family: "Assistant", "Heebo", Arial, sans-serif; font-size: 18px; line-height: 1.75; }
em, i { font-style: normal; font-weight: 700; }
.wrap { max-width: 780px; margin-inline: auto; padding-inline: 20px; }
.skip { position: absolute; inset-inline-start: 12px; top: -60px; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 8px; }
.skip:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
header { border-block-end: 1px solid var(--line); padding-block: 18px; }
.back { color: var(--ink); font-weight: 700; text-decoration: none; }
main { padding-block: 40px 60px; }
h1, h2 { font-family: "Frank Ruhl Libre", serif; color: var(--ink); line-height: 1.25; }
h1 { font-size: 2.4rem; margin: 0 0 6px; }
h2 { font-size: 1.5rem; margin: 34px 0 8px; }
.meta { color: var(--muted); margin-block-end: 24px; }
.note { background: #fff3cd; border-inline-start: 4px solid var(--brass); padding: 10px 16px; border-radius: 6px; }
.todo { background: #fff3cd; outline: 1px dashed var(--brass); padding-inline: 4px; border-radius: 3px; }
ul { padding-inline-start: 22px; }
footer { border-block-start: 1px solid var(--line); padding-block: 22px; color: var(--muted); font-size: .95rem; }
footer a { color: var(--ink); }
