:root,:root[data-theme=dark]{--bg: #0b0f14;--bg-raised: #111820;--border: #1e2a36;--text: #e6edf3;--dim: #8b98a5;--accent: #34d399;--accent-contrast: #06251a;--accent-soft: rgba(52, 211, 153, .12);--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "Inter", -apple-system, sans-serif}:root[data-theme=light]{--bg: #f4f6f5;--bg-raised: #ffffff;--border: #d5ded9;--text: #16211c;--dim: #5b6a63;--accent: #0b8a60;--accent-contrast: #ffffff;--accent-soft: rgba(11, 138, 96, .1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}.wrap{max-width:880px;margin:0 auto;padding:0 24px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}nav.site-nav{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}nav.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:60px;padding-top:8px;padding-bottom:8px;gap:4px 16px}.logo{font-family:var(--mono);font-weight:700;color:var(--text);font-size:15px}.logo span{color:var(--accent)}.nav-right{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}.nav-right a{color:var(--dim);font-size:14px;font-weight:500}.nav-right a:hover{color:var(--text);text-decoration:none}.nav-right a.nav-mail{color:var(--accent);font-family:var(--mono);font-size:13px}.nav-right a.nav-mail:hover{color:var(--text)}@media(max-width:480px){.nav-right{gap:6px 10px}.nav-right a{font-size:13px}.nav-right a.nav-mail{font-size:12px}#theme-toggle{font-size:11px;padding:4px 6px}.logo{font-size:13px}}#theme-toggle{font-family:var(--mono);font-size:12px;cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--dim);border-radius:6px;padding:5px 10px}#theme-toggle:hover{color:var(--accent);border-color:var(--accent)}:root[data-theme=dark] .show-light{display:none}:root[data-theme=light] .show-dark{display:none}.prompt{font-family:var(--mono);font-size:14px;color:var(--accent);margin-bottom:20px;display:block}.prompt:before{content:"$ ";color:var(--dim)}h1{font-size:clamp(36px,6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.1}section.block{padding-top:56px;padding-bottom:56px;border-top:1px solid var(--border)}h2.block-title{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--accent);text-transform:lowercase;letter-spacing:.02em;margin-bottom:32px}h2.block-title:before{content:"── ";color:var(--border)}h2.block-title:after{content:" ──────";color:var(--border)}.btn{display:inline-block;padding:12px 22px;border-radius:8px;font-weight:600;font-size:15px;transition:transform .15s}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-ghost{border:1px solid var(--border);color:var(--text)}.chip{font-family:var(--mono);font-size:13px;padding:7px 14px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;color:var(--text)}.chip.core{border-color:var(--accent);background:var(--accent-soft)}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:20px}footer.site-footer{border-top:1px solid var(--border);padding:32px 0 48px;text-align:center;font-family:var(--mono);font-size:12px;color:var(--dim)}.prose{max-width:68ch}.prose h1,.prose h2,.prose h3{letter-spacing:-.02em;margin:1.6em 0 .5em}.prose p,.prose ul,.prose ol{color:var(--dim);margin:.9em 0;font-size:16.5px}.prose li{margin:.35em 0 .35em 1.2em}.prose strong{color:var(--text)}.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-raised);border:1px solid var(--border);padding:2px 6px;border-radius:4px}.prose pre{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:16px 20px;overflow-x:auto;margin:1.2em 0}.prose pre code{background:none;border:none;padding:0}.prose blockquote{border-left:3px solid var(--accent);padding-left:16px;color:var(--dim);font-style:italic;margin:1.2em 0}
