:root{
  --paper:#F5F6F8; --paper-2:#EDEFF2; --card:#FFFFFF;
  --ink:#15161A; --ink-soft:#3E4047; --mute:#787C85; --mute-2:#A6AAB2;
  --coral:#F0431E; --coral-soft:#FCE6E0;
  --rule:rgba(20,22,28,0.14); --rule-soft:rgba(20,22,28,0.07);
  --max:860px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Geist',sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.4rem}
a{color:var(--coral);text-decoration:none}
a:hover{text-decoration:underline}
.site-head{border-bottom:2px solid var(--ink)}
.site-head .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:1.4rem;padding-bottom:1rem;flex-wrap:wrap}
.brand{font-family:'Geist Mono',monospace;font-weight:600;font-size:1rem;letter-spacing:0.12em;color:var(--ink);text-transform:uppercase}
.brand:hover{text-decoration:none}
.brand small{display:block;font-weight:400;font-size:0.56rem;letter-spacing:0.1em;color:var(--mute)}
.nav{display:flex;gap:1.2rem;flex-wrap:wrap}
.nav a{font-family:'Geist Mono',monospace;font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft)}
.nav a:hover{color:var(--coral);text-decoration:none}
main{padding:2.2rem 0 3rem}
h1,h2,h3{line-height:1.2;letter-spacing:-0.01em}
h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:2.5rem;margin:0 0 .6rem}
h2{font-size:1.35rem;margin:2rem 0 .6rem;border-bottom:1px solid var(--rule);padding-bottom:.3rem}
h3{font-size:1.05rem;margin:1.4rem 0 .4rem}
blockquote{border-left:3px solid var(--coral);margin:1rem 0;padding:.2rem 0 .2rem 1rem;color:var(--ink-soft)}
code{font-family:'Geist Mono',monospace;font-size:.86em;background:var(--coral-soft);padding:.1em .35em;border-radius:2px;word-break:break-all}
pre{background:var(--ink);color:var(--paper);padding:1rem;border-radius:3px;overflow:auto}
pre code{background:none;color:inherit;word-break:normal}
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92rem}
th,td{border:1px solid var(--rule);padding:.5rem .7rem;text-align:left;vertical-align:top}
th{background:var(--paper-2);font-family:'Geist Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
hr{border:none;border-top:1px solid var(--rule);margin:2rem 0}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;border-radius:2px;padding:.75rem 1.4rem}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{text-decoration:none;filter:brightness(1.06)}
.post-list{list-style:none;padding:0;margin:1.5rem 0}
.post-list li{padding:1.2rem 0;border-bottom:1px solid var(--rule)}
.post-list .date{font-family:'Geist Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.post-list .title{font-family:'Instrument Serif',Georgia,serif;font-size:1.5rem;margin:.15rem 0}
.post-list .title a{color:var(--ink)}
.post-list .title a:hover{color:var(--coral);text-decoration:none}
.post-list .excerpt{color:var(--ink-soft);margin:.2rem 0 0}
.post-meta{font-family:'Geist Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:1rem}
.site-foot{border-top:2px solid var(--ink);margin-top:2rem}
.site-foot .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.1rem;padding-bottom:1.4rem;font-family:'Geist Mono',monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
