@font-face{font-family:"Geist";src:url("https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --paper:#e9eaeb;
  --ink:#141516;
  --muted:#5b5f63;
  --line:#c4c7ca;
  --accent:#2a45b0;
  --row:#dfe1e3;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#141516;
    --ink:#e8e9ea;
    --muted:#a2a6aa;
    --line:#35383b;
    --accent:#93a6ff;
    --row:#1c1e20;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 "Geist",system-ui,sans-serif;font-feature-settings:"tnum" 1}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:68ch}
.wrap.narrow{max-width:1120px}
.wrap.narrow>*{max-width:68ch}
.wrap.narrow>.tablewrap{max-width:none}

header.site{border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;justify-content:space-between;align-items:center;height:60px;gap:16px}
.mark{font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;font-size:15px}
nav.top{display:flex;gap:22px;font-size:14px}
nav.top a{color:var(--ink);text-decoration:none}
nav.top a[aria-current]{text-decoration:underline}

.hero{padding-top:72px;padding-bottom:40px}
h1{font-size:clamp(38px,6.2vw,76px);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:0 0 22px;max-width:19ch}
.lede{font-size:18px;max-width:58ch;margin:0 0 10px}
.checked{font:400 13px/1.5 "Geist Mono",ui-monospace,monospace;color:var(--muted);margin:0}

h2{font-size:clamp(26px,3.4vw,40px);line-height:1.08;letter-spacing:-.035em;font-weight:600;margin:0 0 14px}
h3{font-size:20px;letter-spacing:-.02em;margin:0 0 6px;font-weight:600}
section{padding:56px 0;border-top:1px solid var(--line)}
p{margin:0 0 14px}
.muted{color:var(--muted)}
.small{font-size:14px}

table{width:100%;border-collapse:collapse;font-size:15px}
th{font-weight:500;color:var(--muted);text-align:left;font-size:13px;padding:0 12px 10px 0;border-bottom:1px solid var(--ink)}
td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
td.num,th.num{text-align:right;font-family:"Geist Mono",ui-monospace,monospace}
.score{font-family:"Geist Mono",ui-monospace,monospace;font-weight:500}
.tablewrap{overflow-x:auto}

.entry{display:grid;grid-template-columns:120px 1fr;gap:8px 40px;padding:40px 0;border-top:1px solid var(--line)}
.entry:first-of-type{border-top:0}
.entry .big{font:500 44px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:-.03em}
.entry .rank{font:400 13px "Geist Mono",ui-monospace,monospace;color:var(--muted);margin-top:8px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;margin:12px 0 16px;font-size:14px}
.facts dt{color:var(--muted);font-size:12px}
.facts dd{margin:0 0 10px}
.breakdown{font:400 13px/1.7 "Geist Mono",ui-monospace,monospace;color:var(--muted);margin:0 0 14px}
.pubs{font-size:15px;margin:0 0 6px}
.pubs b{font-weight:600}

.measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.measure{padding:16px 0;border-top:1px solid var(--line)}
.measure .pts{font:500 28px/1 "Geist Mono",ui-monospace,monospace}
.measure p{font-size:14px;margin:6px 0 0}

ol.checks{padding-left:22px;max-width:68ch}
ol.checks li{margin-bottom:12px}
details{border-top:1px solid var(--line);padding:16px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:500;font-size:17px}
details p{margin:10px 0 0;max-width:68ch}

footer.site{border-top:1px solid var(--ink);padding:32px 0 48px;font-size:13px;color:var(--muted)}
footer.site .wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
footer.site .mark{font-size:14px}

@media (max-width:767px){
  .wrap{padding:0 16px}
  .hero{padding-top:44px;padding-bottom:28px}
  .entry{grid-template-columns:1fr;gap:4px;padding:32px 0}
  .entry .big{font-size:36px}
  .facts{grid-template-columns:1fr 1fr}
  .measures{grid-template-columns:1fr}
  nav.top{gap:14px}
  .hide-sm{display:none}
  footer.site .wrap{grid-template-columns:1fr}
}
