/* blog.c42.ro chrome — served at /assets/blog.css
   Same typefaces as the c42.ro landing page (self-hosted woff2, no external
   host, ever). Posts are read on a screen for a long time; this optimises for
   that, not for looking busy. */

@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/fraunces-600-1.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/fraunces-600-4.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/public-sans-400-2.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/public-sans-400-5.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/public-sans-600-3.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/public-sans-600-6.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --ink:#16181d; --ink-soft:#4a4f5a; --ink-faint:#7b818d;
  --paper:#fbfaf8; --rule:#e2ded7; --accent:#b4531a; --code-bg:#f2efea;
}
@media (prefers-color-scheme:dark){
  :root{
    --ink:#e8e6e2; --ink-soft:#b0b4bd; --ink-faint:#7f858f;
    --paper:#131519; --rule:#2b2f36; --accent:#e08a4c; --code-bg:#1b1e24;
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Public Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:1.0625rem; line-height:1.65;
}

main,header.site,footer.site{max-width:44rem;margin:0 auto;padding:0 1.25rem}
header.site{padding-top:3rem;padding-bottom:2rem}
footer.site{padding-top:3rem;padding-bottom:4rem;border-top:1px solid var(--rule);margin-top:4rem;color:var(--ink-faint);font-size:.9rem}

.wordmark{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.15rem;letter-spacing:.01em;color:var(--ink);text-decoration:none}
.tagline{margin:.35rem 0 0;color:var(--ink-faint);font-size:.95rem}

h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.2;letter-spacing:-.01em}
h1{font-size:clamp(1.75rem,4.5vw,2.4rem);margin:0 0 .5rem}
h2{font-size:1.4rem;margin:2.5rem 0 .5rem}
h3{font-size:1.1rem;margin:2rem 0 .4rem}

a{color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:.06em}
a:hover{text-decoration-thickness:.12em}

p{margin:0 0 1.1rem}
.meta{color:var(--ink-faint);font-size:.9rem;margin:0 0 .6rem}
.topics a{display:inline-block;margin-right:.5rem;font-size:.82rem;color:var(--ink-soft);text-decoration:none;border:1px solid var(--rule);border-radius:99px;padding:.05rem .55rem}
.topics a:hover{border-color:var(--accent);color:var(--accent)}
.empty{color:var(--ink-faint);font-style:italic}

.card{padding:1.5rem 0;border-bottom:1px solid var(--rule)}
.card h2{margin:0 0 .3rem;font-size:1.25rem}
.card h2 a{color:var(--ink);text-decoration:none}
.card h2 a:hover{color:var(--accent)}
.card p:last-child{margin-bottom:0}

/* Results tables are the point of most posts — they must stay legible and
   must never make the page scroll sideways. */
.table-wrap{overflow-x:auto;margin:1.5rem 0}
table{border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.45rem .7rem;border-bottom:1px solid var(--rule);white-space:nowrap}
th{font-weight:600;color:var(--ink-soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
td.num,th.num{text-align:right}
caption{caption-side:bottom;padding-top:.6rem;color:var(--ink-faint);font-size:.85rem;text-align:left}

code,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
code{background:var(--code-bg);padding:.1em .32em;border-radius:3px}
pre{background:var(--code-bg);padding:1rem;border-radius:5px;overflow-x:auto;line-height:1.5}
pre code{background:none;padding:0}

blockquote{margin:1.5rem 0;padding-left:1rem;border-left:2px solid var(--rule);color:var(--ink-soft)}
figure{margin:1.75rem 0}
figcaption{color:var(--ink-faint);font-size:.85rem;margin-top:.5rem}
svg{max-width:100%;height:auto}
hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}

.correction{border:1px solid var(--accent);border-radius:4px;padding:.8rem 1rem;margin:1.5rem 0;font-size:.95rem}
.correction strong{color:var(--accent)}
