@font-face{font-family:"SG";src:url(/assets/fonts/space-grotesk-var.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"JBM";src:url(/assets/fonts/jbmono-sub.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--bg:#121210;--ink:#ede8dc;--dim:#a19b8e;--rule:#2d2c28;--dot:#2a2925;--acc:#e8c547;--acc-ink:#e8c547;--sans:"SG",ui-sans-serif,system-ui,sans-serif;--mono:"JBM",ui-monospace,monospace;--r:6px}
@media (prefers-color-scheme:light){:root{--bg:#f5f2ea;--ink:#1c1b17;--dim:#5a554b;--rule:#ddd6c6;--dot:#d9d2c1;--acc-ink:#7d5c00}}
*{box-sizing:border-box}html{background:var(--bg) radial-gradient(var(--dot) 1px,transparent 1px) 0 0/22px 22px;color:var(--ink)}
body{margin:0;font:17px/1.65 var(--sans)}a{color:var(--acc-ink)}a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--bg);padding:.4rem}
header.site,footer.site{max-width:46rem;margin:0 auto;padding:1.4rem 1.2rem;display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;font-family:var(--mono);font-size:.85rem}
header.site .brand{font:700 1.25rem var(--sans);color:var(--ink);text-decoration:none;letter-spacing:.04em;margin-right:auto}
header.site nav a,footer.site a{color:var(--dim);text-decoration:none;margin-left:.9rem}header.site nav a:hover,footer.site a:hover{color:var(--acc-ink)}
footer.site{border-top:1px dashed var(--rule);color:var(--dim);margin-top:3rem}
main{max-width:46rem;margin:0 auto;padding:0 1.2rem}
.note{font-family:var(--mono);font-size:.82rem;color:var(--dim);border:1px dashed var(--rule);border-radius:var(--r);padding:.7rem .9rem;margin:1rem 0 2rem;background:var(--bg)}
h1{font-size:2rem;line-height:1.2;margin:.6rem 0}.meta{font-family:var(--mono);font-size:.8rem;color:var(--dim)}
.meta a{color:var(--dim)}ul.posts{list-style:none;padding:0}ul.posts li{padding:.9rem 0;border-bottom:1px dashed var(--rule)}
ul.posts a.t{font-weight:600;font-size:1.08rem;text-decoration:none;color:var(--ink)}ul.posts a.t:hover{color:var(--acc-ink)}
ul.posts p{margin:.2rem 0 0;color:var(--dim);font-size:.95rem}
article img,article video,article iframe{max-width:100%;height:auto;border-radius:var(--r)}article iframe{aspect-ratio:16/9;width:100%;height:auto;border:0}
article figure{margin:1.6rem 0}article figcaption{font-size:.85rem;color:var(--dim);text-align:center}
article blockquote{border-left:3px solid var(--acc);margin:1.2rem 0;padding:.2rem 1rem;color:var(--ink)}
article pre,article code{font-family:var(--mono);font-size:.88em}article pre{overflow:auto;background:rgba(127,127,127,.08);padding:.8rem;border-radius:var(--r)}
.kg-gallery-row{display:flex;gap:.5rem}.kg-gallery-image{flex:1}.kg-bookmark-card a{display:flex;gap:1rem;border:1px solid var(--rule);border-radius:var(--r);padding:.8rem;text-decoration:none;color:var(--ink)}
.kg-bookmark-thumbnail img{max-width:9rem}.kg-bookmark-icon{width:20px;height:20px;vertical-align:middle}.kg-bookmark-description{color:var(--dim);font-size:.9rem}
.kg-callout-card{border:1px dashed var(--rule);border-radius:var(--r);padding:.8rem 1rem}.feature{margin:1.2rem 0}
.tags a{font-family:var(--mono);font-size:.78rem;border:1px solid var(--rule);border-radius:99px;padding:.05rem .55rem;margin-right:.3rem;text-decoration:none}
