:root {
  color-scheme: dark;
  --ink: #f4f1e7;
  --muted: #a8a89f;
  --panel: #1a1c1b;
  --line: #353834;
  --lime: #c9f269;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background:
    radial-gradient(circle at 80% 0%, rgba(201, 242, 105, .08), transparent 28rem),
    #111312;
  color: var(--ink);
  font-family: "Avenir Next", Avenir, "Helvetica Neue", sans-serif;
  line-height: 1.65;
}

main { width: min(720px, calc(100% - 40px)); margin: 0 auto; padding: 64px 0 80px; }
header { display: flex; align-items: center; gap: 14px; margin-bottom: 32px; }
.mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px 12px 12px 4px; background: var(--lime); color: #19200e; font-size: 22px; font-weight: 800; }
.kicker { margin: 0 0 2px; color: var(--lime); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(28px, 6vw, 42px); line-height: 1.05; }
.updated { color: var(--muted); font-size: 12px; }
.summary { margin: 24px 0 38px; padding: 20px 22px; border: 1px solid rgba(201, 242, 105, .22); border-radius: 14px; background: rgba(201, 242, 105, .05); font-size: 17px; }
section { padding: 24px 0; border-top: 1px solid var(--line); }
h2 { margin: 0 0 8px; font-size: 16px; }
p { margin: 0; color: #cac8bf; }
a { color: var(--lime); text-underline-offset: 3px; }
code { padding: 2px 5px; border-radius: 4px; background: var(--panel); color: var(--ink); }

@media (max-width: 520px) {
  main { width: min(100% - 28px, 720px); padding-top: 36px; }
  .summary { padding: 16px; font-size: 15px; }
}
