:root { --bg:#11151a; --panel:#181d24; --line:#2a313a; --ink:#e8eaed; --muted:#a3acb7; --ok:#33d17a; --bad:#ff7b6e; --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
* { box-sizing:border-box; margin:0; }
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
body { background:var(--bg); color:var(--ink); font:17px/1.6 ui-sans-serif,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:inherit; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--ok); outline-offset:3px; border-radius:4px; }
code { font:.9em var(--mono); background:var(--panel); border:1px solid var(--line); border-radius:5px; padding:1px 5px; white-space:nowrap; }
.wrap { width:100%; max-width:820px; margin-inline:auto; padding-inline:24px; }
.skip { position:absolute; left:-999px; }
.skip:focus { left:16px; top:12px; background:var(--ink); color:var(--bg); padding:6px 12px; border-radius:6px; }
.top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; padding-block:22px; }
.brand { font:600 15px var(--mono); text-decoration:none; }
.brand span { color:var(--ok); }
nav { display:flex; gap:20px; font-size:14px; }
nav a { color:var(--muted); text-decoration:none; }
nav a:hover { color:var(--ink); }
section { padding-block:44px; }
.hero { padding-block:48px 44px; }
.soon { display:inline-block; padding:4px 12px; border:1px solid var(--line); border-radius:99px; font-size:13px; color:var(--muted); }
h1 { margin:20px 0 16px; font-size:clamp(36px,7.5vw,58px); line-height:1.06; letter-spacing:-.028em; text-wrap:balance; }
h2 { font-size:clamp(25px,4vw,32px); line-height:1.2; letter-spacing:-.018em; margin-bottom:20px; text-wrap:balance; }
h3 { font-size:17px; margin-bottom:4px; }
.lead { color:var(--muted); font-size:19px; max-width:36em; }
section > .lead { font-size:17px; margin-bottom:24px; }
.report { margin-top:36px; padding:18px 20px; background:var(--panel); border:1px solid var(--line); border-radius:12px; }
.report figcaption { font-size:13px; color:var(--muted); margin-bottom:8px; }
.report table { width:100%; border-collapse:collapse; font:14px/1.5 var(--mono); }
.report th, .report td { padding:7px 12px 7px 0; text-align:left; border-top:1px solid var(--line); font-weight:400; vertical-align:top; }
.report thead th { border-top:0; color:var(--muted); font-size:12.5px; }
.ok { color:var(--ok); } .bad { color:var(--bad); }
.fix { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); font-size:15px; color:var(--muted); }
.fix strong { color:var(--ink); font-weight:600; }
.steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:26px 32px; counter-reset:s; }
.steps li { counter-increment:s; padding-left:42px; position:relative; }
.steps li::before { content:counter(s); position:absolute; left:0; top:0; width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font:13px var(--mono); color:var(--ok); }
.steps p, .causes dd { color:var(--muted); font-size:16px; }
.causes { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:22px 32px; }
.causes dt { font-weight:600; margin-bottom:3px; }
.causes dd { margin:0; }
.who { padding-left:20px; color:var(--muted); display:grid; gap:7px; }
details { border-top:1px solid var(--line); padding-block:15px; }
details:last-of-type { border-bottom:1px solid var(--line); }
summary { cursor:pointer; font-weight:600; }
details p { margin-top:9px; color:var(--muted); font-size:16px; max-width:40em; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 24px; padding-block:32px 40px; font-size:13px; color:var(--muted); }
footer a:hover { color:var(--ink); }
@media (max-width:560px) {
  .report { padding:14px; }
  .report table { font-size:12.5px; }
  .steps, .causes { grid-template-columns:1fr; }
}

.page { padding-block:18px 40px; }
.page h1 { margin-top:0; font-size:clamp(30px,5.5vw,44px); }
.page h2 { font-size:clamp(21px,3vw,25px); margin:36px 0 12px; }
.page p, .page li { margin-bottom:12px; }
.page .lead { font-size:18px; margin-bottom:20px; }
.page ol, .page ul { padding-left:22px; }
.page a, .causes a, .more a, .soon a { text-underline-offset:3px; }
.crumbs { font-size:13px; color:var(--muted); margin-bottom:20px; display:block; overflow-wrap:anywhere; }
.crumbs a { color:var(--muted); }
pre { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:0 0 18px; overflow-x:auto; }
pre code { background:none; border:0; padding:0; white-space:pre; font-size:13.5px; line-height:1.6; }
.page p code, .page li code, .page td code { white-space:normal; overflow-wrap:anywhere; }
.tablewrap { overflow-x:auto; margin-bottom:16px; }
.tablewrap table { width:100%; border-collapse:collapse; font-size:15px; }
.tablewrap th, .tablewrap td { padding:9px 12px 9px 0; border-top:1px solid var(--line); text-align:left; vertical-align:top; font-weight:400; }
.tablewrap thead th { border-top:0; color:var(--muted); font-size:13px; }
.cta { margin-top:34px; padding:16px 18px; background:var(--panel); border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:15.5px; }
.cta strong { color:var(--ink); }
.guides { list-style:none; padding:0 !important; }
.guides li { padding-block:16px; border-top:1px solid var(--line); margin:0; }
.guides a { text-decoration:none; }
.guides a:hover strong { text-decoration:underline; }
.guides p { color:var(--muted); font-size:15.5px; margin:4px 0 0; }
.more { margin-top:18px; color:var(--muted); font-size:16px; }
.mail { font-size:20px; font-weight:600; }
footer p a { text-underline-offset:3px; }
