/* BlockCalm site — one shared stylesheet, no external fonts/CDN/analytics.
   Keeping zero third-party requests is deliberate: the site makes the same
   no-tracking promise the extension does. */
:root { --ink:#17202a; --muted:#5b6b7a; --accent:#1f7a5c; --bg:#f7f9f8; --card:#ffffff; --line:#dde5e1; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); line-height:1.6; }
header, main, footer { max-width: 760px; margin: 0 auto; padding: 0 20px; }
header { padding-top: 28px; display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; }
.brand { font-size: 1.35rem; font-weight: 700; color:var(--ink); text-decoration:none; }
.brand span { color: var(--accent); }
nav a { margin-left: 16px; color: var(--muted); text-decoration:none; font-size:.95rem; }
nav a:hover { color: var(--accent); }
main { padding-top: 32px; padding-bottom: 48px; }
h1 { font-size: 2rem; line-height:1.25; margin: 0 0 12px; }
h2 { font-size: 1.25rem; margin: 28px 0 8px; }
.lede { font-size: 1.12rem; color: var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px 24px; margin:24px 0; }
.price { font-size: 2rem; font-weight:700; }
.price small { font-size: 1rem; font-weight:400; color:var(--muted); }
ul { padding-left: 20px; }
footer { border-top:1px solid var(--line); padding-top:16px; padding-bottom:32px; color:var(--muted); font-size:.92rem; }
footer a { color: var(--muted); margin-right:14px; }
.updated { color: var(--muted); font-size:.9rem; }
