:root{--bg:#0b0e0c;--panel:#121714;--line:#1f2a23;--text:#d7e0da;--muted:#7f8f85;--accent:#39ff88;--accent-dim:#1d7a47;--warn:#ffb347;--mono:"JetBrains Mono", ui-monospace, monospace;--sans:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{font-family:var(--sans);background-image:radial-gradient(circle at 1px 1px,#ffffff08 1px,#0000 0);background-size:22px 22px;margin:0;font-size:17px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:860px;margin:0 auto;padding:0 16px}.topbar{font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:28px;padding-bottom:28px;display:flex}.logo{color:var(--text);font-size:20px;font-weight:800}.logo .prompt{color:var(--accent)}.cursor{color:var(--accent);animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}nav{gap:18px;font-size:14px;display:flex}nav a{color:var(--muted)}nav a.active,nav a:hover{color:var(--accent);text-decoration:none}h1,h2,h3{font-family:var(--mono);letter-spacing:-.01em;line-height:1.25}h1{margin:.2em 0 .4em;font-size:clamp(30px,6vw,48px)}.hero{border-bottom:1px solid var(--line);padding:48px 0 32px}.hero .kicker{font-family:var(--mono);color:var(--accent);font-size:14px}.hero p{color:var(--muted);max-width:560px;font-size:19px}.btns{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.btn{font-family:var(--mono);border:1px solid var(--accent-dim);border-radius:4px;padding:10px 16px;font-size:14px}.btn.primary{background:var(--accent);color:#04140a;border-color:var(--accent);font-weight:600}.btn:hover{filter:brightness(1.1);text-decoration:none}.section-title{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:40px 0 12px;font-size:14px}.posts{margin:0;padding:0;list-style:none}.posts li{border-bottom:1px solid var(--line)}.posts a.row{color:var(--text);grid-template-columns:110px 1fr;gap:16px;padding:18px 0;display:grid}.posts a.row:hover{text-decoration:none}.posts a.row:hover .t{color:var(--accent)}.posts .d{font-family:var(--mono);color:var(--muted);padding-top:3px;font-size:13px}.posts .t{font-size:18px;font-weight:600}.posts .desc{color:var(--muted);margin-top:2px;font-size:15px}@media (width<=560px){.posts a.row{grid-template-columns:1fr;gap:4px}}.tag{font-family:var(--mono);color:var(--accent);border:1px solid var(--line);background:var(--panel);border-radius:3px;margin:6px 6px 0 0;padding:1px 8px;font-size:12px;display:inline-block}.tag.cat{color:var(--warn)}.filters{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.filters a{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:3px;padding:4px 10px;font-size:13px}.filters a.on,.filters a:hover{color:var(--accent);border-color:var(--accent-dim);text-decoration:none}.meta{font-family:var(--mono);color:var(--muted);font-size:14px}.prose{margin-top:28px}.prose img{border-radius:4px;max-width:100%}.prose pre{border:1px solid var(--line);border-radius:6px;padding:16px;font-size:14px;overflow-x:auto}.prose code{font-family:var(--mono);font-size:.9em}.prose :not(pre)>code{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:1px 5px}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:0;padding:4px 16px}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:6px 10px}.prose h2{margin-top:1.8em}.prose h2:before{content:"## ";color:var(--accent-dim)}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px}.card .h{font-family:var(--mono);color:var(--text);font-size:18px;font-weight:800}.card .r{color:var(--muted);font-size:14px}.foot{border-top:1px solid var(--line);font-family:var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:72px;padding-top:24px;padding-bottom:40px;font-size:13px;display:flex}.foot .links{gap:16px;display:flex}
