:root{--ink: #0A0B0D;--surface: #111317;--surface-2: #181B20;--border: #24282E;--border-strong: #3A3F47;--text: #ECE8DF;--text-muted: #9AA0A6;--text-dim: #5E636B;--accent: #7DFFB2;--accent-ink: #041409;--warn: #FFB547;--font-display: "Geist", system-ui, sans-serif;--font-body: "Geist", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-display: clamp(36px, 4.5vw, 56px);--fs-h2: clamp(24px, 2.8vw, 36px);--fs-h3: clamp(18px, 2vw, 24px);--fs-body: 18px;--fs-small: 13px;--lh-display: 1.05;--lh-body: 1.65;--lh-small: 1.4;--ls-display: -.015em;--max-content: 720px;--max-wide: 1120px;--gutter: 24px;--radius-sm: 2px;--radius-md: 6px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-base: .22s}@media(max-width:720px){:root{--fs-body: 17px}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:hidden;background:var(--ink);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--ls-display);color:var(--text);margin:0;font-weight:500}a{color:inherit}img{max-width:100%;display:block}code{font-family:var(--font-mono);font-size:.875em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .35em}pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;overflow-x:auto;margin:32px 0}pre code{background:none;border:none;padding:0;font-size:14px;line-height:1.6}.nav{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);background:#0a0b0de0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-inner{max-width:var(--max-wide);margin:0 auto;padding:0 var(--gutter);height:56px;display:flex;align-items:center;gap:10px}.nav-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-weight:500;font-size:15px;opacity:.9;transition:opacity var(--dur-base)}.nav-brand:hover{opacity:1}.nav-sep{color:var(--text-dim);font-size:14px;user-select:none}.nav-section{font-size:15px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--dur-base)}.nav-section:hover{color:var(--text)}.nav-cta{margin-left:auto;font-size:13px;font-weight:500;padding:6px 14px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);text-decoration:none;letter-spacing:.01em;transition:opacity var(--dur-base)}.nav-cta:hover{opacity:.88}.post-card{display:block;padding:28px 32px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-decoration:none;transition:border-color var(--dur-base),background var(--dur-base),transform var(--dur-base)}.post-card:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-1px)}.post-card:hover .post-card-read{color:var(--accent)}.post-card-meta{display:flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--text-dim);font-family:var(--font-mono);margin-bottom:12px}.post-card-meta .dot{color:var(--border-strong)}.post-card-title{font-size:clamp(18px,2vw,22px);font-weight:500;line-height:1.25;color:var(--text);margin-bottom:10px}.post-card-desc{font-size:15px;color:var(--text-muted);line-height:1.6;margin:0 0 16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.post-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.post-card-read{font-size:13px;font-weight:500;color:var(--text-dim);transition:color var(--dur-base)}.tag{display:inline-flex;align-items:center;font-size:11px;font-family:var(--font-mono);padding:3px 8px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text-dim);letter-spacing:.03em;line-height:1.4}.article{max-width:var(--max-content);margin:0 auto}.article-header{margin-bottom:56px;padding-bottom:40px;border-bottom:1px solid var(--border)}.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;font-family:var(--font-mono);color:var(--text-dim);margin-bottom:20px}.meta-sep{color:var(--border-strong)}.article-title{font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.15;letter-spacing:var(--ls-display);color:var(--text);margin-bottom:16px}.article-desc{font-size:18px;color:var(--text-muted);line-height:1.6;margin:0 0 20px}.article-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.prose{color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body)}.prose h2{font-size:clamp(20px,2.2vw,26px);font-weight:500;line-height:1.25;color:var(--text);margin:56px 0 16px;padding-top:8px}.prose h3{font-size:clamp(17px,1.8vw,21px);font-weight:500;color:var(--text);margin:40px 0 12px}.prose p{margin:0 0 24px;color:var(--text)}.prose ul,.prose ol{margin:0 0 24px;padding-left:24px}.prose li{margin-bottom:8px;color:var(--text)}.prose li::marker{color:var(--accent)}.prose strong{font-weight:600;color:var(--text)}.prose em{color:var(--text-muted);font-style:italic}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color var(--dur-base);border-bottom:none}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{margin:32px 0;padding:20px 24px;border-left:2px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic}.prose blockquote p{margin:0;color:var(--text-muted)}.prose hr{border:none;border-top:1px solid var(--border);margin:48px 0}.prose table{width:100%;border-collapse:collapse;margin:32px 0;font-size:15px}.prose th{text-align:left;font-weight:500;color:var(--text);border-bottom:1px solid var(--border-strong);padding:10px 14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim)}.prose td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-muted);vertical-align:top}.prose tr:last-child td{border-bottom:none}.article-footer{margin-top:80px}.article-footer-rule{height:1px;background:var(--border);margin-bottom:40px}.article-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:32px}@media(max-width:600px){.article-footer-cta{flex-direction:column;align-items:flex-start}}.cta-label{font-size:16px;font-weight:500;color:var(--text);margin:0 0 4px}.cta-sub{font-size:14px;color:var(--text-muted);margin:0}.cta-btn{flex-shrink:0;display:inline-block;padding:10px 20px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-size:14px;font-weight:500;border-radius:var(--radius-sm);transition:opacity var(--dur-base);white-space:nowrap;border-bottom:none}.cta-btn:hover{opacity:.88}.back-link{font-size:14px;font-family:var(--font-mono);color:var(--text-dim);text-decoration:none;transition:color var(--dur-base)}.back-link:hover{color:var(--accent)}.footer,.page-footer{border-top:1px solid var(--border)}.footer-inner,.page-footer-inner{max-width:var(--max-wide);margin:0 auto;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between}.footer-brand{font-size:13px;color:var(--text-dim);text-decoration:none;font-family:var(--font-mono);transition:color var(--dur-base);border-bottom:none}.footer-brand:hover{color:var(--accent)}.footer-copy{font-size:13px;color:var(--text-dim);font-family:var(--font-mono)}.blog-header{max-width:600px;margin-bottom:64px}.eyebrow{font-size:11px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px}.blog-title{font-size:var(--fs-display);font-weight:500;line-height:var(--lh-display);letter-spacing:var(--ls-display);color:var(--text);margin-bottom:16px}.accent{color:var(--accent)}.blog-sub{font-size:17px;color:var(--text-muted);line-height:1.6;margin:0}.post-grid{display:grid;gap:16px}.empty{color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-small)}.article-main{max-width:100%;padding:64px var(--gutter) 120px}.blog-main{max-width:var(--max-wide);margin:0 auto;padding:80px var(--gutter) 120px}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);background:#0a0b0dd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-inner[data-astro-cid-dmqpwcec]{max-width:var(--max-wide);margin:0 auto;padding:0 var(--gutter);height:56px;display:flex;align-items:center;gap:10px}.nav-brand[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-weight:500;font-size:15px;opacity:.9;transition:opacity var(--dur-base) var(--ease-out)}.nav-brand[data-astro-cid-dmqpwcec]:hover{opacity:1}.nav-sep[data-astro-cid-dmqpwcec]{color:var(--text-dim);font-size:14px;user-select:none}.nav-section[data-astro-cid-dmqpwcec]{font-size:15px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--dur-base)}.nav-section[data-astro-cid-dmqpwcec]:hover{color:var(--text)}.nav-cta[data-astro-cid-dmqpwcec]{margin-left:auto;font-size:13px;font-weight:500;padding:6px 14px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);text-decoration:none;letter-spacing:.01em;transition:opacity var(--dur-base)}.nav-cta[data-astro-cid-dmqpwcec]:hover{opacity:.88}
