:root{
  --ink:#1a1c20; --ink2:#4a4e57; --faint:#767b85; --line:#d8dade;
  --bg:#fbfbfa; --panel:#ffffff; --accent:#1d4e89; --accent-ink:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
a{color:var(--accent)}

header{border-bottom:1px solid var(--line);background:var(--panel)}
header .wrap{padding:26px 20px 0}
.site{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0}
.site a{color:inherit;text-decoration:none}
.site a:hover{text-decoration:underline}
h1{margin:.35em 0 .2em;font-size:28px;letter-spacing:-.01em}
.lede{color:var(--ink2);margin:0 0 18px;max-width:62ch}
nav.tabs{display:flex;gap:2px;margin-top:6px}
nav.tabs a{padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink2);
  border:1px solid var(--line);border-bottom:none;border-radius:7px 7px 0 0;background:var(--bg)}
nav.tabs a[aria-current="page"]{background:var(--panel);color:var(--ink);
  position:relative;top:1px;border-color:var(--line)}
nav.tabs a:hover{color:var(--ink)}

main{padding:26px 0 60px}
.note{font-size:14px;color:var(--ink2);border:1px solid var(--line);background:var(--panel);
  border-radius:8px;padding:12px 16px;margin:0 0 8px}

article.rec{background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:20px 22px;margin:18px 0;scroll-margin-top:16px}
article.rec:target{outline:2px solid var(--accent);outline-offset:2px}
article.rec h2{margin:0 0 4px;font-size:19px;line-height:1.35}
article.rec h2 a{color:inherit;text-decoration:none}
article.rec h2 a:hover{text-decoration:underline}
.meta{font-size:13px;color:var(--faint);margin:0 0 10px}
.meta b{color:var(--ink2);font-weight:600}
article.rec p.desc{margin:0 0 14px;color:var(--ink2)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.actions a{display:inline-block;padding:8px 15px;border-radius:6px;font-size:14px;font-weight:600;
  text-decoration:none;border:1px solid var(--accent)}
.actions a.view{background:var(--accent);color:var(--accent-ink)}
.actions a.dl{background:var(--panel);color:var(--accent)}
.actions a:hover{filter:brightness(1.12)}
.actions .fileinfo{font-size:12.5px;color:var(--faint);align-self:center}

.cards{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:22px}
@media(max-width:560px){.cards{grid-template-columns:1fr}}
.cards a{display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:22px;text-decoration:none;color:var(--ink)}
.cards a:hover{border-color:var(--accent)}
.cards .big{font-size:20px;font-weight:700;color:var(--accent)}
.cards p{margin:6px 0 0;font-size:14.5px;color:var(--ink2)}

footer{border-top:1px solid var(--line);padding:18px 0 44px;font-size:13px;color:var(--faint)}
footer .wrap{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{color:var(--ink2)}
