:root {
  color-scheme: light dark;
  --background: #f6f1e8;
  --surface: #fffcf7;
  --primary: #b07a2e;
  --secondary: #3f5a50;
  --alert: #a8391f;
  --text: #1e1b16;
  --muted: #7a7266;
  --hairline: rgba(122, 114, 102, 0.22);
}

* { box-sizing: border-box; }

body {
  max-width: 780px;
  margin: 0 auto;
  padding: 32px 20px 64px;
  background: var(--background);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.47;
}

body::before {
  display: block;
  height: 6px;
  margin-bottom: 24px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--secondary) 0 24%, var(--primary) 24% 76%, var(--alert) 76%);
  content: "";
}

h1, h2 { font-family: Georgia, "Times New Roman", serif; }

h1 {
  margin: 0;
  padding: 24px 20px 10px;
  border: 1px solid var(--hairline);
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  background: var(--surface);
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.85rem, 5vw, 1.875rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

h1 + p,
h1 + p + p {
  margin: 0;
  padding-right: 20px;
  padding-left: 20px;
  background: var(--surface);
}

h1 + p {
  padding-top: 4px;
  padding-bottom: 8px;
  border-left: 1px solid var(--hairline);
  border-right: 1px solid var(--hairline);
}

h1 + p + p {
  padding-bottom: 24px;
  border: 1px solid var(--hairline);
  border-top: 0;
  color: var(--muted);
}

body > p,
body > h2,
body > ul,
body > ol {
  padding-right: 20px;
  padding-left: 20px;
  background: var(--surface);
  border-left: 1px solid var(--hairline);
  border-right: 1px solid var(--hairline);
}

body > h2 { margin: 0; padding-top: 24px; color: var(--secondary); font-size: 1.0625rem; line-height: 1.35; }
body > h2::before { margin-right: 8px; color: var(--primary); content: "◆"; font-family: sans-serif; font-size: 0.65em; vertical-align: 0.12em; }
body > p { margin: 0; padding-top: 10px; padding-bottom: 2px; }
body > ul, body > ol { margin: 0; padding-top: 10px; padding-bottom: 2px; }
body > p:last-child { padding-bottom: 28px; border-bottom: 1px solid var(--hairline); border-radius: 0 0 14px 14px; }

em { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8em; font-style: normal; letter-spacing: 0.02em; }
a { color: var(--secondary); font-weight: 600; text-underline-offset: 3px; }
strong { color: var(--text); }
li { margin: 6px 0; }

@media (prefers-color-scheme: dark) {
  :root {
    --background: #14120f;
    --surface: #1f1c17;
    --primary: #d9a25a;
    --secondary: #6e9a87;
    --alert: #d4644a;
    --text: #f2ede3;
    --muted: #948b7c;
    --hairline: rgba(148, 139, 124, 0.22);
  }
}

@media (max-width: 560px) {
  body { padding: 24px 12px 40px; }
  h1, h1 + p, h1 + p + p, body > p, body > h2, body > ul, body > ol { padding-right: 16px; padding-left: 16px; }
}
