/* Shared styles for every page but the home page (legal, /checks, guides, blog, 404). Tokens mirror index.html. */
:root{
  --ground:#FFFFFF; --surface:#FFFFFF; --surface-2:#FAFAFA;
  --ink:#0A0A0A; --muted:#666666; --border:#E5E5E5; --border-strong:#D4D4D4;
  --accent:#0A0A0A; --accent-strong:#262626; --accent-soft:#F4F4F4;
  --maxw:1120px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#0A0A0A; --surface:#141414; --surface-2:#1A1A1A;
    --ink:#EDEDED; --muted:#A1A1A1; --border:#262626; --border-strong:#333333;
    --accent:#EDEDED; --accent-strong:#FFFFFF; --accent-soft:#1F1F1F;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#0A0A0A; --surface:#141414; --surface-2:#1A1A1A;
  --ink:#EDEDED; --muted:#A1A1A1; --border:#262626; --border-strong:#333333;
  --accent:#EDEDED; --accent-strong:#FFFFFF; --accent-soft:#1F1F1F;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3{font-weight:700;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.03em}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent-strong)}

header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 86%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px;letter-spacing:-.03em}
.brand svg{display:block}
.nav-cta{display:inline-flex;align-items:center;gap:7px;font-size:14.5px;font-weight:600;color:var(--accent-strong)}
.nav-cta:hover{color:var(--accent)}

/* ---------- document ---------- */
.doc{max-width:52rem;margin:0 auto;padding:64px 24px 80px}
.doc h1{font-size:clamp(32px,4.4vw,46px);margin-top:12px}
.doc .updated{color:var(--muted);font-size:14.5px;margin-top:14px}
.doc .summary{margin-top:32px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:22px 24px}
.doc .summary p{margin:0}
.doc .summary ul{margin:10px 0 0;padding-left:20px}
.doc h2{font-size:24px;margin:48px 0 12px;scroll-margin-top:80px}
.doc h3{font-size:18px;margin:28px 0 8px;letter-spacing:-.01em}
.doc p{margin:0 0 14px}
.doc ul{margin:0 0 14px;padding-left:22px}
.doc li{margin-bottom:6px}
.doc a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.doc a:hover{color:var(--accent)}
.doc .table-wrap{overflow-x:auto;margin:0 0 18px}
.doc table{width:100%;border-collapse:collapse;font-size:15px;min-width:30rem}
.doc th,.doc td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--border)}
.doc th{font-weight:700;color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.doc strong{font-weight:700}

footer{border-top:1px solid var(--border);padding:40px 0 56px}
.foot{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.foot .brand{font-size:17px}
.foot .meta{font-size:13.5px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.foot .dot{width:4px;height:4px;border-radius:50%;background:var(--muted);opacity:.6}
.foot a:hover{color:var(--accent-strong)}
.doc code{font-size:.92em;overflow-wrap:anywhere}

/* Taller hit areas (44px) for small links, without moving the layout. */
.foot .meta a{display:inline-block;padding-block:11px;margin-block:-11px}
.nav-cta{padding-block:12px}
.foot .disclaimer{flex-basis:100%;margin:0;font-size:12.5px;color:var(--muted)}


/* ---------- what-we-check page ---------- */
.checks{
  --blocker:#BE3A2B; --blocker-soft:#F7E7E4;
  --leak:#8F5512;    --leak-soft:#F7ECDA;
  --risk:#7A6110;    --risk-soft:#F5EED4;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .checks{
    --blocker:#E9705F; --blocker-soft:#2A1815;
    --leak:#D79A46;    --leak-soft:#291E10;
    --risk:#C9AC4D;    --risk-soft:#25200F;
  }
}
:root[data-theme="dark"] .checks{
  --blocker:#E9705F; --blocker-soft:#2A1815;
  --leak:#D79A46;    --leak-soft:#291E10;
  --risk:#C9AC4D;    --risk-soft:#25200F;
}
.checks .lede{margin-top:28px;font-size:18.5px}
.checks .area{padding:16px 0;border-bottom:1px solid var(--border)}
.checks .area h3{margin:0 0 6px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.checks .area .count{font-size:13px;font-weight:600;color:var(--muted)}
.checks .area p{margin:0}
.checks .summary ul{margin:0;padding-left:20px}
.checks .sevs{list-style:none;padding:0}
.checks .sevs li{display:flex;gap:12px;align-items:baseline;margin-bottom:10px}
.checks .sev{flex:none;display:inline-flex;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.checks .sev.blocker{color:var(--blocker);background:var(--blocker-soft)}
.checks .sev.leak{color:var(--leak);background:var(--leak-soft)}
.checks .sev.risk{color:var(--risk);background:var(--risk-soft)}
.checks .cta{margin-top:48px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.checks .cta p{margin:0 0 16px}
.checks .cta .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:11px;font-weight:600;background:var(--accent);color:#fff;text-decoration:none}
.checks .cta .btn:hover{background:var(--accent-strong);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .checks .cta .btn,:root:not([data-theme="light"]) .checks .cta .btn:hover{color:#0A0A0A}}
:root[data-theme="dark"] .checks .cta .btn,:root[data-theme="dark"] .checks .cta .btn:hover{color:#0A0A0A}

/* Header account links (same as index.html). */
.nav-actions{display:flex;align-items:center;gap:18px}
.nav-link{display:inline-block;padding-block:12px;font-size:14.5px;font-weight:600;color:var(--ink)}
.nav-link:hover{color:var(--accent-strong)}
.nav-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;font-size:14.5px;font-weight:600;background:var(--accent);color:#fff}
.nav-btn:hover{background:var(--accent-strong)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav-btn{color:#0A0A0A}}
:root[data-theme="dark"] .nav-btn{color:#0A0A0A}
@media (max-width:400px){.nav-actions{gap:12px}.nav-btn{padding:0 12px}}
/* Landing-page navigation and column footer (the blog uses these) */
.nav-links{display:flex;align-items:center;gap:26px;margin-right:auto;margin-left:40px}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--muted);padding-block:12px}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
@media (max-width:760px){.nav-links{display:none}}
@media (max-width:480px){.nav-actions .nav-link{display:none}}
.foot.cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;align-items:start}
.foot-brand p{margin:12px 0 0;font-size:14px;color:var(--muted);max-width:22em}
.foot-col h3{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.foot-col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.foot-base{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-top:24px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}
@media (max-width:760px){.foot.cols{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}

/* ---------- guides ---------- */
.guide .crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}
.guide .crumbs a{color:var(--muted);text-decoration:none}
.guide .crumbs a:hover{color:var(--accent-strong)}
.guide .lede{font-size:18.5px;margin-top:24px}
.guide h3{font-size:20px;margin:30px 0 8px}
.guide-cta{margin:40px 0;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.guide-cta p{margin:0 0 16px}
.guide-cta .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:11px;font-weight:600;background:var(--accent);color:#fff;text-decoration:none}
.guide-cta .btn:hover{background:var(--accent-strong);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .guide-cta .btn,:root:not([data-theme="light"]) .guide-cta .btn:hover{color:#0A0A0A}}
:root[data-theme="dark"] .guide-cta .btn,:root[data-theme="dark"] .guide-cta .btn:hover{color:#0A0A0A}
.guide .guide-list{list-style:none;padding:0;margin:28px 0 0}
.guide-list li{margin:0}
.guide-list a{display:block;padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink)}
.guide-list a:hover{border-color:var(--accent)}
.guide-title{display:block;font-weight:700;font-size:21px;line-height:1.25;letter-spacing:-.02em}
.guide-desc{display:block;color:var(--muted);margin-top:8px;font-size:15.5px}
.guide-meta{display:block;color:var(--muted);margin-top:10px;font-size:13.5px}

/* ---------- blog (rendered by site/worker from D1) ---------- */
.blog .post-list{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}
.doc.blog-index{max-width:var(--maxw)}
.blog-index .lede{max-width:44rem}
.blog .post-list a{height:100%}
.blog .post-thumb{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:10px;margin-bottom:14px;background:var(--surface-2)}
.blog .post-hero{display:block;width:100%;height:auto;border-radius:14px;margin:28px 0 8px;background:var(--surface-2)}
.blog .post-body{margin-top:24px}
.blog .post-body img{max-width:100%;height:auto;border-radius:12px;margin:8px 0}
.blog .post-body ol{margin:0 0 14px;padding-left:22px}
.blog .post-body blockquote{margin:20px 0;padding:4px 0 4px 18px;border-left:3px solid var(--accent);color:var(--muted)}
.blog .post-body hr{border:0;border-top:1px solid var(--border);margin:32px 0}
.blog .post-body pre{overflow-x:auto;padding:14px 16px;border-radius:10px;background:var(--surface-2);font-size:14px}
.blog .post-body figure{margin:20px 0}
.blog .post-body figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.blog .empty{margin-top:28px;color:var(--muted)}
.blog .pager{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-size:15px;color:var(--muted)}
.blog .pager a{text-decoration:none;font-weight:600}
