:root{--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--bg: oklch(.992 .003 255);--bg-2: oklch(.967 .004 255);--ink: oklch(.18 .012 262);--ink-2: oklch(.34 .012 262);--muted: oklch(.52 .01 262);--line: oklch(.905 .005 262);--line-2: oklch(.83 .006 262);--card: oklch(1 0 0);--accent: oklch(.55 .17 256);--accent-ink: oklch(.46 .17 256);--on-accent: oklch(.99 0 0);--maxw: 1240px;--pad: clamp(24px, 6vw, 64px)}html[data-accent=green]{--accent: oklch(.6 .15 152);--accent-ink: oklch(.5 .15 152)}html[data-accent=amber]{--accent: oklch(.66 .15 64);--accent-ink: oklch(.55 .15 64)}html[data-accent=mono]{--accent: var(--ink);--accent-ink: var(--ink)}html[data-theme=dark]{--bg: oklch(.165 .012 263);--bg-2: oklch(.205 .013 263);--ink: oklch(.965 .004 263);--ink-2: oklch(.86 .006 263);--muted: oklch(.66 .01 263);--line: oklch(.3 .012 263);--line-2: oklch(.4 .014 263);--card: oklch(.205 .013 263);--accent: oklch(.68 .15 256);--accent-ink: oklch(.74 .14 256)}html[data-theme=dark][data-accent=green]{--accent: oklch(.7 .15 152);--accent-ink: oklch(.76 .14 152)}html[data-theme=dark][data-accent=amber]{--accent: oklch(.76 .14 70);--accent-ink: oklch(.8 .13 70)}html[data-theme=dark][data-accent=mono]{--accent: var(--ink);--accent-ink: var(--ink)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}::selection{background:var(--accent);color:var(--on-accent)}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}.blog-main{max-width:780px;margin-inline:auto;padding-inline:var(--pad);padding-block:clamp(40px,6vw,80px)}.blog-nav{position:sticky;top:0;z-index:60;background:color-mix(in oklch,var(--bg) 85%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}.blog-nav-inner{max-width:var(--maxw);margin-inline:auto;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:16px}.blog-brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--ink)}.blog-brand a{color:var(--ink);display:flex;align-items:center;transition:color .18s}.blog-brand a:hover{color:var(--accent-ink)}.blog-brand img{height:28px}html[data-theme=dark] .blog-brand img{filter:invert(1)}.blog-brand .sep{color:var(--line-2)}.blog-nav-links{display:flex;align-items:center;gap:4px}.blog-nav-links a{font-size:14px;color:var(--ink-2);padding:7px 14px;border-radius:8px;transition:color .18s,background .18s}.blog-nav-links a:hover{color:var(--ink);background:var(--bg-2)}.blog-nav-links a.active{color:var(--accent-ink)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--ink-2);transition:color .18s,background .18s;margin-left:4px}.theme-toggle:hover{color:var(--ink);background:var(--bg-2)}.theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .icon-sun{display:block}html[data-theme=dark] .theme-toggle .icon-moon{display:none}.blog-hero{padding:clamp(48px,7vw,96px) 0 clamp(32px,5vw,56px)}.blog-hero h1{font-size:clamp(32px,5vw,56px);font-weight:700;letter-spacing:-.025em;line-height:1.08}.blog-hero p{color:var(--muted);margin-top:14px;font-size:17px;max-width:48ch}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.filter-pill{font-size:13px;padding:6px 16px;border-radius:100px;border:1px solid var(--line-2);color:var(--ink-2);transition:border-color .18s,color .18s,background .18s}.filter-pill:hover{border-color:var(--accent);color:var(--accent-ink)}.filter-pill.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}.post-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}.post-card:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 8px 28px #00000012}html[data-theme=dark] .post-card:hover{box-shadow:0 8px 28px #0000004d}.post-card-img{aspect-ratio:16/9;background:var(--bg-2);overflow:hidden}.post-card-img img{width:100%;height:100%;object-fit:cover}.post-card-body{padding:24px;flex:1;display:flex;flex-direction:column;gap:10px}.post-card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);font-family:var(--mono)}.post-card-cat{color:var(--accent-ink);font-weight:500}.post-card h2{font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.25;color:var(--ink)}.post-card p{font-size:14px;color:var(--ink-2);line-height:1.55;flex:1}.post-card-link{font-size:13px;font-weight:600;color:var(--accent-ink);margin-top:4px;display:inline-flex;align-items:center;gap:6px}.post-card-link .arr{transition:transform .2s}.post-card:hover .arr{transform:translate(4px)}.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}.empty-state h3{font-size:22px;margin-bottom:8px}.pagination{display:flex;justify-content:center;gap:6px;margin-top:56px;flex-wrap:wrap}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;color:var(--ink-2);transition:border-color .18s,color .18s,background .18s}.pagination a:hover{background:var(--bg-2);border-color:var(--line-2);color:var(--ink)}.pagination .active span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pagination .disabled span{opacity:.4;pointer-events:none}.post-header{padding-top:clamp(40px,6vw,80px);padding-bottom:32px}.post-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:13px;color:var(--muted);font-family:var(--mono)}.post-eyebrow .cat{color:var(--accent-ink);font-weight:500}.post-eyebrow .sep{color:var(--line-2)}.post-title{font-size:clamp(28px,5vw,52px);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin-bottom:20px}.post-cover{margin-bottom:48px;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:var(--bg-2)}.post-cover img{width:100%;height:100%;object-fit:cover}.prose{font-size:17px;line-height:1.75;color:var(--ink-2)}.prose p{margin-bottom:1.5em}.prose h2{font-size:clamp(22px,3vw,28px);font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:2em 0 .75em}.prose h3{font-size:20px;font-weight:700;color:var(--ink);margin:1.75em 0 .6em}.prose h4{font-size:17px;font-weight:600;color:var(--ink);margin:1.5em 0 .5em}.prose a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--ink)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.6em;margin-bottom:1.5em}.prose li{margin-bottom:.4em}.prose blockquote{border-left:3px solid var(--accent);padding-left:1.25em;margin:1.5em 0;color:var(--muted);font-style:italic}.prose hr{border:none;border-top:1px solid var(--line);margin:2.5em 0}.prose img{border-radius:10px;margin:2em 0}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:15px}.prose th{text-align:left;border-bottom:2px solid var(--line-2);padding:10px 14px;color:var(--ink);font-weight:600}.prose td{border-bottom:1px solid var(--line);padding:10px 14px}.prose code{font-family:var(--mono);font-size:.875em;background:var(--bg-2);border:1px solid var(--line);border-radius:5px;padding:.15em .45em;color:var(--ink)}.prose pre{background:#07090e;border-radius:12px;padding:1.25em 1.5em;overflow-x:auto;margin:1.75em 0;border:1px solid oklch(.25 .012 263)}.prose pre code{background:none;border:none;padding:0;font-size:.875em;color:#e3e5e8;border-radius:0}html[data-theme=dark] .prose pre{background:#040609;border-color:#181b1f}.blog-footer{border-top:1px solid var(--line);padding:32px var(--pad);text-align:center;color:var(--muted);font-size:13px;max-width:var(--maxw);margin:0 auto}.blog-footer a{color:var(--muted)}.blog-footer a:hover{color:var(--ink)}
