:root { --fg:#141414; --bg:#fdfdfc; --muted:#5b5b5b; --accent:#0b5cad; --code-bg:#f4f4f2; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
       color:var(--fg); background:var(--bg); }
header.site, main, footer.site { max-width:44rem; margin:0 auto; padding:0 1.2rem; }
header.site { display:flex; gap:1.5rem; align-items:baseline; padding-top:1.6rem; padding-bottom:1.6rem;
              border-bottom:1px solid #e6e6e3; margin-bottom:2rem; }
.brand { font-weight:700; font-size:1.25rem; text-decoration:none; color:var(--fg); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
nav a { margin-right:1rem; color:var(--muted); text-decoration:none; font-size:.95rem; }
nav a:hover, a:hover { color:var(--accent); }
a { color:var(--accent); }
h1 { font-size:1.75rem; line-height:1.25; margin:0 0 .6rem; }
h2 { font-size:1.3rem; margin-top:2.2rem; }
h3 { font-size:1.08rem; margin-top:1.8rem; }
p.meta, time { color:var(--muted); font-size:.9rem; }
pre { background:var(--code-bg); padding:.9rem 1rem; overflow-x:auto; border-radius:4px; font-size:.9rem; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.92em; }
:not(pre) > code { background:var(--code-bg); padding:.1rem .3rem; border-radius:3px; }
ul.postlist { list-style:none; padding:0; }
ul.postlist li { padding:.9rem 0; border-bottom:1px solid #ececea; }
ul.postlist li a { font-weight:600; }
ul.postlist li p { margin:.3rem 0 0; color:var(--muted); font-size:.95rem; }
blockquote { margin:1.2rem 0; padding:.2rem 0 .2rem 1rem; border-left:3px solid #dcdcd8; color:var(--muted); }
table { border-collapse:collapse; width:100%; font-size:.95rem; }
th, td { text-align:left; border-bottom:1px solid #ececea; padding:.45rem .5rem; }
.tags span { display:inline-block; background:var(--code-bg); color:var(--muted); font-size:.8rem;
             padding:.1rem .45rem; border-radius:3px; margin-right:.3rem; }
footer.site { margin-top:3rem; padding-top:1.2rem; padding-bottom:2.5rem; border-top:1px solid #e6e6e3;
              color:var(--muted); font-size:.88rem; }

form.filter { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin:1.4rem 0 .4rem; }
form.filter label { color:var(--muted); font-size:.9rem; }
form.filter input { flex:1 1 14rem; padding:.45rem .6rem; font:inherit; font-size:.95rem;
                    border:1px solid #d8d8d4; border-radius:4px; background:#fff; color:var(--fg); }
form.filter input:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
form.filter #qcount { color:var(--muted); font-size:.85rem; white-space:nowrap; }
ul.postlist li[hidden] { display:none; }

#cookie-settings { background:none; border:0; padding:0; font:inherit; font-size:inherit;
                   color:var(--accent); cursor:pointer; text-decoration:underline; }
