:root{--bg: #ffffff;--bg-soft: #f6f7f9;--ink: #14171a;--ink-soft: #4b5563;--ink-faint: #8a94a3;--line: #e6e8ec;--accent: #2f6df6;--accent-ink: #1e4fd0;--radius: 12px;--maxw: 880px;--pad: clamp(20px, 5vw, 40px);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Inter", system-ui, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #0e1116;--bg-soft: #161b22;--ink: #e8ebf0;--ink-soft: #aab2bf;--ink-faint: #6b7686;--line: #232a33;--accent: #5b8cff;--accent-ink: #82a6ff}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-ink);text-decoration:underline}h1,h2,h3{line-height:1.18;letter-spacing:-.02em;font-weight:680}h1{font-size:clamp(2rem,5vw,3.1rem);margin:0 0 .5em}h2{font-size:1.35rem;margin:0 0 .2em}h3{font-size:1.05rem;margin:0 0 .25em}p{margin:0 0 1em}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:16px}.brand{font-weight:680;letter-spacing:-.02em;color:var(--ink)}.brand:hover{text-decoration:none}.nav{display:flex;gap:22px;align-items:center}.nav a{color:var(--ink-soft);font-size:.95rem}.nav a:hover{color:var(--ink);text-decoration:none}@media (max-width: 620px){.nav a.nav-secondary{display:none}}.btn{display:inline-block;background:var(--accent);color:#fff;padding:11px 20px;border-radius:10px;font-weight:600;font-size:.97rem;border:1px solid transparent;transition:transform .08s ease,background .15s ease}.btn:hover{background:var(--accent-ink);color:#fff;text-decoration:none;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--bg-soft);color:var(--ink)}section{padding-block:clamp(48px,8vw,84px);border-bottom:1px solid var(--line)}section:last-of-type{border-bottom:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:680;color:var(--accent);margin:0 0 18px}.hero{padding-block:clamp(64px,11vw,120px)}.hero p.lede{font-size:clamp(1.05rem,2.4vw,1.3rem);color:var(--ink-soft);max-width:60ch}.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.grid{display:grid;gap:22px;grid-template-columns:1fr 1fr;margin-top:10px}@media (max-width: 640px){.grid{grid-template-columns:1fr}}.feature p{color:var(--ink-soft);margin:0}.work-item{padding:22px 0;border-top:1px solid var(--line)}.work-item:first-of-type{border-top:none}.work-item .summary{color:var(--ink-soft);margin:.35em 0 .6em}.work-item.lead{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:26px}.stack{font-size:.82rem;color:var(--ink-faint);letter-spacing:.01em}.tag{display:inline-block;font-size:.7rem;font-weight:680;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:3px 8px;border-radius:6px;margin-left:8px;vertical-align:2px}.also{color:var(--ink-soft);font-size:.97rem;margin-top:22px}.about p{color:var(--ink-soft);max-width:66ch}.post-list{list-style:none;padding:0;margin:18px 0 0}.post-list li{padding:16px 0;border-top:1px solid var(--line)}.post-list li:first-child{border-top:none}.post-list .date{color:var(--ink-faint);font-size:.85rem}.post-list .summary{color:var(--ink-soft);margin:.2em 0 0}.article{padding-block:clamp(40px,7vw,72px)}.article .meta{color:var(--ink-faint);font-size:.9rem;margin-bottom:6px}.prose{max-width:70ch}.prose h2{margin-top:1.6em}.prose h3{margin-top:1.3em}.prose pre{background:var(--bg-soft);border:1px solid var(--line);padding:14px 16px;border-radius:10px;overflow-x:auto;font-size:.88rem}.prose code{background:var(--bg-soft);padding:1px 5px;border-radius:5px;font-size:.9em}.prose pre code{background:none;padding:0}.prose blockquote{margin:1.2em 0;padding-left:16px;border-left:3px solid var(--line);color:var(--ink-soft)}.site-footer{padding-block:40px;color:var(--ink-faint);font-size:.9rem}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.site-footer a{color:var(--ink-faint)}.site-footer a:hover{color:var(--ink)}.back-link{display:inline-block;margin-bottom:18px;font-size:.9rem;color:var(--ink-soft)}
