:root {
  --paper: #f4efe7;
  --card: #ffffff;
  --ink: #2a2833;
  --ink-dim: #6e6976;
  --meadow: #3e8a2c;
  --radius: 21px;
  color-scheme: light;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.5 ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-text-size-adjust: 100%;
}

main { max-width: 680px; margin: 0 auto; padding: 34px 16px 55px; }

header { text-align: center; margin-bottom: 34px; }
header img { width: 128px; height: 128px; border-radius: 28px; box-shadow: 0 8px 21px rgb(42 40 51 / 0.14); }
h1 { font-size: 34px; line-height: 1.15; margin: 21px 0 8px; }
h2 { font-size: 21px; margin: 0 0 8px; }
p, ul { margin: 0 0 13px; }
p:last-child, ul:last-child { margin-bottom: 0; }
ul { padding-left: 21px; }
.lede { color: var(--ink-dim); font-size: 19px; }
.date { color: var(--ink-dim); font-size: 15px; }

section {
  background: var(--card);
  border-radius: var(--radius);
  padding: 21px;
  margin-bottom: 13px;
  box-shadow: 0 1px 3px rgb(42 40 51 / 0.06);
}

a { color: var(--ink); text-decoration-color: var(--meadow); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--meadow); }

.lang { display: block; text-align: center; margin: -21px 0 34px; font-size: 15px; }
.part { margin: 55px 0 21px; text-align: center; font-size: 28px; }

footer { text-align: center; color: var(--ink-dim); font-size: 15px; margin-top: 34px; }
footer a { color: var(--ink-dim); }
