:root{--bg: #0d1117;--surface: #161b22;--border: #30363d;--fg: #c9d1d9;--muted: #8b949e;--accent: #3fb950;--accent-2: #58a6ff;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: system-ui, -apple-system, Segoe UI, Roboto, sans-serif}@media (prefers-color-scheme: light){:root{--bg: #ffffff;--surface: #f6f8fa;--border: #d0d7de;--fg: #1f2328;--muted: #636c76;--accent: #1a7f37;--accent-2: #0969da}}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}.wrap{max-width:780px;margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header .wrap{display:flex;align-items:baseline;gap:.75rem;padding:1.1rem 1.25rem}.prompt{font-family:var(--mono);font-size:1rem;color:var(--fg);text-decoration:none}.prompt .accent{color:var(--accent)}.prompt .cursor{color:var(--accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.site-header .tagline{font-family:var(--mono);font-size:.8rem;color:var(--muted);margin-left:auto}.langswitch{font-family:var(--mono);font-size:.8rem;color:var(--accent-2);text-decoration:none;margin-left:1rem;border:1px solid var(--border);border-radius:6px;padding:.1rem .5rem}.langswitch:hover{text-decoration:none;border-color:var(--accent-2)}main.wrap{padding-top:2.5rem;padding-bottom:3rem}.meta{font-family:var(--mono);font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center}.tag{font-family:var(--mono);font-size:.78rem;color:var(--accent-2);text-decoration:none}.tag:hover{text-decoration:underline}.post{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem 0;border-bottom:1px solid var(--border)}.post .body{min-width:0;flex:1}.thumb{width:76px;height:76px;border-radius:8px;flex:0 0 auto;background-size:cover;background-position:center;border:1px solid var(--border)}.hero{width:100%;aspect-ratio:21 / 8;border-radius:12px;border:1px solid var(--border);background-size:cover;background-position:center;margin-bottom:.5rem}.credit{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin:0 0 1.5rem}.credit a{color:var(--muted)}@media (max-width: 520px){.thumb{width:56px;height:56px}}.ad{position:relative;display:block;background:var(--surface);border:1px dashed var(--border);border-radius:10px;overflow:hidden;margin:1.25rem 0;text-decoration:none;color:inherit;transition:border-color .15s}.ad:hover{border-color:var(--accent-2)}.ad .adlabel{position:absolute;top:.5rem;right:.6rem;font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:.1rem .42rem}.ad img{display:block;width:100%;height:auto}.ad .adtext{padding:1rem 2.8rem 1rem 1.1rem;font-family:var(--mono);font-size:.9rem;color:var(--fg)}.ad .adtext .cta{color:var(--accent);font-weight:700;margin-left:.35rem;white-space:nowrap}.prose{font-size:1.05rem}.prose>*+*{margin-top:1.1rem}.prose h1,.prose h2,.prose h3{font-family:var(--mono);line-height:1.3;margin-top:2rem}.prose h2{font-size:1.35rem}.prose h3{font-size:1.1rem}.prose a{color:var(--accent-2)}.prose ul,.prose ol{padding-left:1.4rem}.prose code{font-family:var(--mono);font-size:.9em;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.15rem;overflow-x:auto}.prose pre code{background:none;border:none;padding:0;font-size:.9rem}.prose blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--muted)}.back{display:inline-block;font-family:var(--mono);font-size:.85rem;color:var(--accent);text-decoration:none;margin-bottom:1.75rem}.back:hover{text-decoration:underline}footer.site-footer{border-top:1px solid var(--border)}footer.site-footer .wrap{font-family:var(--mono);font-size:.78rem;color:var(--muted);padding:1.5rem 1.25rem}footer.site-footer a{color:var(--accent-2);text-decoration:none}footer.site-footer a:hover{text-decoration:underline}
