:root{--ink:#16202b;--ink2:#3a4654;--paper:#f6f3e8;--grid:#e1dbc6;--panel:#fffdf7;--accent:#0d4f8b;--line:#cfc8b3;--focus:#c2410c;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0;line-height:1.45;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.top{background:var(--panel);border-bottom:2px solid var(--ink);padding:1rem 1.25rem}
.home{display:inline-block;color:var(--accent);font-weight:700;text-decoration:none;padding:.3rem 0;min-height:24px}
.home:hover{text-decoration:underline}
h1{font-family:"Courier New",Courier,monospace;text-transform:uppercase;letter-spacing:.12em;font-size:1.6rem;margin:.3rem 0 .4rem}
.sub{color:var(--ink2);margin:0;max-width:46rem}
main{padding:1.25rem}
.grid{list-style:none;margin:0 auto;padding:0;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));max-width:1200px}
.card a{display:block;height:100%;background:var(--panel);border:2px solid var(--ink);border-radius:8px;overflow:hidden;color:var(--ink);text-decoration:none}
.card a:hover{border-color:var(--accent)}
.card a:hover h2{text-decoration:underline}
.card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line);background:var(--paper)}
.card .fig{display:inline-block;margin:.8rem 1rem 0;font-family:"Courier New",Courier,monospace;font-weight:700;letter-spacing:.08em;background:var(--ink);color:#fff;padding:.1rem .45rem;border-radius:3px;font-size:.85rem}
.card h2{font-size:1.15rem;margin:.45rem 1rem .2rem}
.card p{margin:0 1rem 1rem;color:var(--ink2)}
footer{padding:0 1.25rem 2rem;color:var(--ink2);font-size:.9rem;max-width:1200px;margin:0 auto}
@media (max-width:420px){h1{font-size:1.25rem}.top{padding:.8rem 1rem}main{padding:1rem}}
