:root{--bg:#f7f5f0;--ink:#141414;--muted:#5d5a54;--line:#e2ddd3;--accent:#1f6f4a;--keep:#1f6f4a;--card:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#121211;--ink:#f1efe9;--muted:#a8a49b;--line:#2b2a27;--accent:#6fcf97;--keep:#6fcf97;--card:#1a1a18}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 "Inter",system-ui,-apple-system,sans-serif}
main{max-width:680px;margin:0 auto;padding:40px 20px 80px}
.brand{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none}
h1{font-size:clamp(30px,7vw,44px);line-height:1.1;margin:18px 0 12px;letter-spacing:-.02em}
h2{font-size:22px;margin:44px 0 10px;letter-spacing:-.01em}
p,li{color:var(--ink)}.lede{font-size:19px;color:var(--muted)}
.verdict{display:inline-block;border:2px solid var(--keep);color:var(--keep);font-weight:800;letter-spacing:.1em;padding:4px 12px;border-radius:6px;font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:18px 0}
.card p{margin:.3em 0}
table{width:100%;border-collapse:collapse;font-size:15px}td,th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
a{color:var(--accent)}code,kbd{font:14px ui-monospace,Menlo,monospace;background:var(--line);padding:2px 6px;border-radius:4px}
.cta{margin-top:56px;border-top:1px solid var(--line);padding-top:24px;color:var(--muted);font-size:15px}
.list a{display:block;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}
.list span{display:block;font-weight:400;color:var(--muted);font-size:15px}

/* email gate */
#gated.locked { max-height: 220px; overflow: hidden; position: relative; pointer-events: none; user-select: none; }
#gated.locked::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent, var(--bg) 85%); }
.unlock { border: 1px solid var(--line, #ddd); border-radius: 14px; padding: 22px; margin: 8px 0 28px; background: var(--card, transparent); }
.unlock h2 { margin-top: 0; }
.unlock form { display: flex; gap: 8px; flex-wrap: wrap; }
.unlock input[type=email] { flex: 1 1 220px; font: inherit; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line, #ccc); background: var(--bg); color: inherit; }
.unlock button { font: inherit; font-weight: 600; padding: 12px 18px; border: 0; border-radius: 10px; background: var(--ink); color: var(--bg); cursor: pointer; }
.unlock .fine { font-size: 13px; color: var(--muted); margin: 10px 0 0; }
.unlock .msg { color: #c0392b; font-size: 14px; min-height: 1em; margin: 8px 0 0; }
.hp { position: absolute; left: -9999px; }
