:root{color-scheme:light dark;--bg:#fff;--surface:#f6f7fb;--surface-border:#e3e6ef;--text:#0f172a;--text-muted:#4a5268;--accent:#3b2ecb;--accent-hover:#2f25a6;--accent-text:#fff;--focus:#f59e0b;--navy:#0d1117;--navy-deep:#010409;--brand-blue:#2f9bff;--brand-violet:#5a3df0;--amber:#f59e0b;--amber-ink:#0d1117;--radius:.75rem;--container:72rem;--measure:68ch;--step:clamp(1rem, .7rem + 1.2vw, 1.125rem)}@media (prefers-color-scheme:dark){:root{--bg:#0b1120;--surface:#131c31;--surface-border:#26314c;--text:#f1f5f9;--text-muted:#aab4c8;--accent:#8b7dff;--accent-hover:#a99fff;--accent-text:#0b1120;--focus:#f59e0b}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--step);text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg,video{max-width:100%;display:block}a{color:var(--accent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.2em}a:hover{text-decoration-color:currentColor}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:.25rem}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .75rem;line-height:1.15}h1{font-size:clamp(2rem,1.2rem + 3.6vw,3rem)}h2{font-size:clamp(1.5rem,1.1rem + 1.8vw,2.25rem)}h3{font-size:1.125rem}p{text-wrap:pretty;margin:0 0 1rem}ul{margin:0 0 1rem;padding-left:1.25rem}code{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:5px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.85em}pre{border-radius:var(--radius);background:var(--navy);color:#f0f6fc;border:1px solid #2b323b;margin:0 0 1rem;padding:1rem 1.25rem;font-size:.9rem;line-height:1.5;overflow-x:auto}pre code{font-size:inherit;white-space:pre;background:0 0;padding:0}.code-block{position:relative}.copy-btn{color:#c9d1d9;font:inherit;cursor:pointer;background:#f0f6fc14;border:1px solid #2b323b;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;transition:background-color .15s,color .15s;position:absolute;top:.5rem;right:.5rem}.copy-btn:hover{color:#f0f6fc;background:#f0f6fc29}.skip-link{z-index:10;background:var(--accent);color:var(--accent-text);border-radius:.5rem;padding:.5rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.container{width:min(100% - 2.5rem, var(--container));margin-inline:auto}.site-header{z-index:20;background:var(--navy-deep);color:#f0f6fc;border-bottom:1px solid #f0f6fc14;position:sticky;top:0}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:.9rem;display:flex}.brand img{width:clamp(7.5rem,18vw,10rem);height:auto}.site-nav ul{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav li+li{margin-top:0}.site-nav a{color:#f0f6fc;font-weight:600;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--brand-blue)}.site-nav .nav-github{align-items:center;display:inline-flex}.site-nav .nav-github:hover{color:var(--brand-blue)}main{padding-block:clamp(2rem,5vw,4rem)}.blog-header{text-align:center;margin-bottom:1rem}.page-intro{color:var(--text-muted);max-width:var(--measure);margin-inline:auto}.post-list{gap:1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}@media (width>=48rem){.post-list{grid-template-columns:repeat(2,minmax(0,1fr))}.post-card-featured{grid-column:1/-1}.post-card-featured .post-card-link{grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:center;gap:1.5rem;padding:1.25rem}.post-card-featured .post-card-thumb{margin-bottom:0}.post-card-featured .post-card-title{font-size:1.7rem}.post-card-featured .post-card-desc{font-size:1rem}}.post-list li+li{margin-top:0}.post-card{border-radius:var(--radius);border:1px solid var(--surface-border);background:var(--surface);transition:transform .15s,box-shadow .15s,border-color .15s}.post-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--surface-border));transform:translateY(-2px);box-shadow:0 8px 28px #0f172a1f}.post-card-link{color:inherit;gap:.4rem;padding:1rem;text-decoration:none;display:grid}.post-card-thumb{aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius) - .25rem);width:100%;height:auto;margin-bottom:.4rem}.post-card-body{align-content:center;gap:.45rem;display:grid}.post-card-body .post-card-title{margin:0}.post-card-more{color:var(--accent);margin-top:.35rem;font-weight:600}.post-card-title{color:var(--text);font-size:1.3rem;font-weight:700;line-height:1.25}.post-meta{color:var(--text-muted);margin:0;font-size:.9rem}.post-card-desc{color:var(--text-muted);font-size:.95rem}.tag-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.tag-list li+li{margin-top:0}.tag-list li{border:1px solid var(--surface-border);color:var(--text-muted);border-radius:999px;padding:.05rem .55rem}.prose~.tag-list a,.post .tag-list a{border:1px solid var(--surface-border);color:var(--text-muted);border-radius:999px;padding:.1rem .6rem;text-decoration:none;display:inline-block}.post .tag-list a:hover{border-color:var(--accent);color:var(--accent)}.post{max-width:none}.post-header{text-align:center;margin-bottom:1.5rem}.post-header h1{margin-bottom:.5rem}.post-header .post-meta{margin:0}.post-video{max-width:26rem;margin:0 auto 2rem}.post-video video{border-radius:var(--radius);background:#000;width:100%;height:auto}.prose{max-width:none}.prose p,.prose li{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.prose h2[id],.prose h3[id]{scroll-margin-top:5rem;position:relative}.heading-anchor{color:var(--text-muted);opacity:0;font-size:.75em;font-weight:400;text-decoration:none;transition:opacity .15s;position:absolute;top:.1em;left:-1.1em}.prose h2[id]:hover .heading-anchor,.prose h3[id]:hover .heading-anchor{opacity:1}.closing-cta{border-radius:var(--radius);border:1px solid var(--surface-border);background:var(--surface);text-align:center;margin-top:3rem;padding:2rem}.closing-cta h2{font-size:1.5rem}.closing-cta p{color:var(--text-muted);margin-bottom:1.5rem}.cta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.button{border:1px solid var(--surface-border);border-radius:999px;padding:.7rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s;display:inline-block}.button-primary{background:var(--amber);border-color:var(--amber);color:var(--amber-ink);box-shadow:0 6px 18px color-mix(in srgb, var(--amber) 30%, transparent)}.button-primary:hover{background:#fbbf24;border-color:#fbbf24}.button-secondary{border-color:var(--text-muted);color:var(--text);background:0 0;align-items:center;gap:.5rem;display:inline-flex}.button-xl{padding:.95rem 2rem;font-size:1.05rem}.button:hover{transform:translateY(-1px)}.button-icon{flex:none}.related{margin-top:3rem}.related h2{font-size:1.3rem}.related .post-list{grid-template-columns:none}.site-footer{background:radial-gradient(48rem 26rem at 100% 0%, color-mix(in srgb, var(--brand-blue) 12%, transparent), transparent 65%), var(--navy-deep);color:#c9d1d9;border-top:1px solid #2b323b;padding-block:2.5rem;font-size:.95rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}.site-footer-brand{max-width:42rem}.site-footer .footer-logo{width:clamp(7.5rem,18vw,10rem);height:auto;margin-bottom:.9rem}.site-footer a{color:#f0f6fc;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer h2,.site-footer .footer-meta{color:#9198a1}.site-footer h2{text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.site-footer ul{flex-direction:column;align-items:flex-start;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.site-footer-groups{flex-wrap:wrap;gap:2rem 3rem;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.toc-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem;font-size:.8rem;font-weight:600}.toc-list{margin:0;padding:0;list-style:none}.toc-list .toc-sub{padding-left:.85rem}.toc-list a{border-left:2px solid var(--surface-border);color:var(--text-muted);padding:.3rem 0 .3rem .75rem;font-size:.9rem;line-height:1.35;text-decoration:none;display:block}.toc-list a:hover{color:var(--text)}.toc-list a[aria-current]{border-left-color:var(--accent);color:var(--accent);font-weight:600}.toc-inline{border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface);margin:0 0 2rem;padding:.75rem 1rem}.toc-inline summary{cursor:pointer;margin:0}.toc-inline[open] summary{margin-bottom:.5rem}.toc-side{display:none}@media (width>=80rem){.post-body.has-toc{grid-template-columns:minmax(0,1fr) 14rem;column-gap:3rem;display:grid}.post-body.has-toc .prose{grid-column:1}.toc-inline{display:none}.toc-side{grid-area:1/2;align-self:start;max-width:15rem;max-height:calc(100vh - 8rem);display:block;position:sticky;top:6rem;overflow-y:auto}}
