.dark-mode-toggle{border:1px solid var(--border);border-radius:var(--radius);block-size:2.25rem;inline-size:2.25rem;color:var(--text);cursor:pointer;transition:border-color var(--transition), color var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.dark-mode-toggle:hover{border-color:var(--brand);color:var(--brand)}.search-toggle{border:1px solid var(--border);border-radius:var(--radius);block-size:2.25rem;inline-size:2.25rem;color:var(--text);cursor:pointer;transition:border-color var(--transition), color var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.search-toggle:hover{border-color:var(--brand);color:var(--brand)}.search-modal{z-index:200;justify-content:center;align-items:flex-start;padding-block:15vh;display:flex;position:fixed;inset:0}.search-modal[hidden]{display:none}.search-backdrop{background:#00000080;position:fixed;inset:0}.search-panel{inline-size:100%;max-inline-size:560px;margin-inline:var(--space-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.search-input-wrap{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-block-end:1px solid var(--border);display:flex}.search-icon{color:var(--text-muted);flex-shrink:0}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.search-kbd{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);border-radius:.25rem;flex-shrink:0;padding:.1em .4em;font-size:.75rem}.search-results{max-block-size:50vh;padding:var(--space-sm);overflow-y:auto}.search-result{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);color:var(--text);transition:background var(--transition);flex-direction:column;gap:.15rem;text-decoration:none;display:flex}.search-result:hover{background:var(--surface);color:var(--text)}.search-result-title{color:var(--heading);font-weight:500}.search-result-excerpt{color:var(--text-muted);font-size:.8125rem}.search-result-excerpt mark{background:color-mix(in oklch, var(--brand) 25%, transparent);color:inherit;border-radius:.15em;padding:0 .1em}.search-empty{padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:.875rem}@media (width<=860px){.search-modal{padding-block:var(--space-lg)}}.site-header{z-index:50;background:color-mix(in oklch, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-block-end:1px solid var(--border);position:sticky;inset-block-start:0}.header-inner{justify-content:space-between;align-items:center;block-size:4rem;display:flex}.brand{align-items:center;text-decoration:none;display:flex}.brand-logo{width:auto;height:2rem}[data-theme=dark] .brand-logo{filter:invert()hue-rotate(180deg)}.main-nav{align-items:center;gap:var(--space-lg);display:flex}.nav-link{color:var(--text-muted);transition:color var(--transition);font-size:.9375rem;font-weight:500;text-decoration:none}.nav-link:hover,.nav-link[aria-current=page]{color:var(--brand)}.nav-toggle{border:1px solid var(--border);border-radius:var(--radius);block-size:2.5rem;inline-size:2.5rem;color:var(--text);cursor:pointer;transition:border-color var(--transition);background:0 0;justify-content:center;align-items:center;display:none}.nav-toggle:hover{border-color:var(--brand);color:var(--brand)}@media (width<=860px){.nav-toggle{display:flex}.main-nav{z-index:100;align-items:flex-end;gap:var(--space-md);padding:var(--space-xl);background:var(--bg);border-inline-start:1px solid var(--border);min-inline-size:260px;box-shadow:var(--shadow-xl);opacity:0;visibility:hidden;transition:transform var(--transition-slow), opacity var(--transition-slow), visibility 0s var(--transition-slow);flex-direction:column;position:fixed;inset-block-start:0;inset-inline-end:0;transform:translate(100%)}.main-nav[data-open]{opacity:1;visibility:visible;transition:transform var(--transition-slow), opacity var(--transition-slow), visibility 0s 0s;transform:translate(0)}@starting-style{.main-nav[data-open]{opacity:0;transform:translate(100%)}}.nav-link{font-size:1.125rem}}.site-footer{padding-block:var(--space-xl) var(--space-md);background:var(--slate-900);color:var(--slate-300);margin-block-start:auto}[data-theme=dark] .site-footer{background:#020617}.footer-inner{border-block-end:1px solid var(--slate-700);align-items:center;padding-block-end:var(--space-md);display:flex}.footer-nav{align-items:center;gap:var(--space-lg);flex-wrap:wrap;inline-size:100%;display:flex}.footer-pills{gap:var(--space-md);flex-wrap:wrap;display:flex}.footer-pills-right{margin-inline-start:auto}.footer-bmc{align-items:center;display:inline-flex}.footer-bmc img,.footer-bmc a{block-size:2.25rem;inline-size:auto}.footer-pill{white-space:nowrap;min-inline-size:8.5rem;color:var(--slate-300);border:1px solid var(--border);border-radius:var(--radius-full);transition:color var(--transition), border-color var(--transition), background-color var(--transition);background-color:#0000;justify-content:center;align-items:center;padding:.45rem 1.25rem;font-size:.875rem;text-decoration:none;display:inline-flex}.footer-pill:hover{color:#fff;border-color:var(--brand);background-color:color-mix(in oklch, var(--brand) 15%, transparent)}.footer-bottom{color:var(--slate-400);text-align:center;padding-block-start:var(--space-md);font-size:.8125rem}@media (width<=560px){.footer-pill{flex:auto;min-inline-size:7rem}}@layer reset{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,picture,video,canvas,svg{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse}}@layer base{:root{--brand:#6366f1;--brand-hover:color-mix(in oklch, var(--brand) 80%, black);--bg:#fff;--surface:#f8fafc;--text:var(--slate-700);--heading:#1c1c1c;--text-muted:var(--slate-400);--border:color-mix(in oklch, var(--text) 12%, transparent);--accent:#ff6b00;--accent-hover:color-mix(in oklch, var(--accent) 85%, black);--success:#10b981;--error:#ef4444;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--font-sans:"Inter", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", Menlo, Monaco, Consolas, monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--container:1200px;--radius:.75rem;--radius-lg:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 20px #0000001a;--shadow-xl:0 20px 30px #0000001f;--transition:.15s ease;--transition-slow:.3s ease}[data-theme=dark]{--brand:#818cf8;--brand-hover:color-mix(in oklch, var(--brand) 80%, white);--bg:#0f172a;--surface:#1e293b;--text:#f4f4f4;--heading:#fff;--text-muted:var(--slate-400);--border:color-mix(in oklch, var(--text) 15%, transparent);--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 6px #00000040;--shadow-lg:0 10px 20px #0000004d;--shadow-xl:0 20px 30px #00000059}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;grid-template-rows:auto 1fr auto;height:100dvh;font-size:1rem;line-height:1.55;display:grid;overflow:hidden}main{scroll-behavior:smooth;min-block-size:0;overflow-y:auto}h1,h2,h3,h4,h5,h6{color:var(--heading)}h1{letter-spacing:-.01em;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.15}h2{letter-spacing:-.005em;font-size:clamp(1.75rem,3vw,2rem);font-weight:500;line-height:1.2}h3{letter-spacing:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;line-height:1.3}h4{font-size:1.05rem;font-weight:500}p{max-inline-size:70ch}a:hover{color:var(--brand)}code{font-family:var(--font-mono);background:var(--surface);border-radius:.25rem;padding:.15em .4em;font-size:.9em}pre{font-family:var(--font-mono);padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;line-height:1.6;overflow-x:auto}pre code{background:0 0;padding:0}img{block-size:auto;max-inline-size:100%}@supports (text-wrap:balance){h1,h2,h3{text-wrap:balance}}@supports (text-wrap:pretty){p,li{text-wrap:pretty}}.container{inline-size:100%;max-inline-size:var(--container);padding-inline:var(--space-lg);margin-inline:auto}.section{padding-block:clamp(3rem,7vw,6rem)}.section-layout{gap:var(--space-2xl);grid-template-columns:240px 1fr;display:grid}.grid{gap:var(--space-lg);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));container-type:inline-size}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));container-type:inline-size}}@layer components{.btn{justify-content:center;align-items:center;gap:var(--space-sm);letter-spacing:.01em;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:500;line-height:1.2;display:inline-flex}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.btn-outline{color:var(--brand);border-color:var(--border);background:0 0}.btn-outline:hover{background:var(--surface);border-color:var(--brand);color:var(--brand)}.btn-sm{padding:.4rem 1rem;font-size:.8125rem}.page-hero{background:var(--surface);border-block-end:1px solid var(--border);padding-block:clamp(1.5rem,4vw,2.5rem)}.page-hero h1{margin-block-end:var(--space-md)}.page-hero p{color:var(--text-muted);max-inline-size:60ch;font-size:1.125rem}.card{gap:var(--space-md);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--transition), box-shadow var(--transition);display:flex}.card:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}.card-thumb{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);flex:0 0 80px;width:80px}.card-body{flex:1;min-width:0}.card-title{color:var(--heading);margin-block-end:var(--space-sm);font-size:1.125rem;font-weight:600}.card-desc{color:var(--text-muted);font-size:.9375rem;line-height:1.6}.card-meta{gap:var(--space-sm);color:var(--text-muted);flex-wrap:wrap;margin-block-start:var(--space-md);font-size:.8125rem;display:flex}.card-tag{background:var(--surface);border-radius:var(--radius-full);padding:.15em .6em;font-size:.75rem}@container (width<=420px){.card{padding:var(--space-md)}.card-title{font-size:1rem}}.prose{max-inline-size:70ch}.prose>*+*{margin-block-start:var(--space-lg)}.prose h2{margin-block-start:var(--space-2xl);margin-block-end:var(--space-md)}.prose h3{margin-block-start:var(--space-xl);margin-block-end:var(--space-sm)}.prose p+p{margin-block-start:var(--space-md)}.prose ul,.prose ol{padding-inline-start:var(--space-lg)}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li+li{margin-block-start:var(--space-sm)}.prose blockquote{border-inline-start:3px solid var(--brand);color:var(--text-muted);padding-inline-start:var(--space-lg);font-style:italic}.prose img{border-radius:var(--radius);margin-block:var(--space-xl)}.prose hr{border:none;border-block-start:1px solid var(--border);margin-block:var(--space-2xl)}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-block-end:var(--space-sm);font-size:.75rem;font-weight:500;display:inline-block}.post-cover-grid{gap:var(--space-xl);align-items:flex-start;display:flex}.post-cover-images{flex:0 0 38%;max-width:38%}.post-cover-body{flex:1;min-width:0}.post-cover-img{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);margin-block-end:var(--space-md);display:block}.post-cover-img:last-child{margin-block-end:0}.post-cover-placeholder{aspect-ratio:4/3;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.prose img.full-width{width:100%;border-radius:var(--radius-lg);border:1px solid var(--border);max-inline-size:100%;box-shadow:var(--shadow-sm);margin-block:var(--space-xl)}.download-bar{background:var(--surface);padding-block:var(--space-md);border-block-end:1px solid var(--border)}.download-bar-inner{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.download-bar-label{color:var(--text);white-space:nowrap;font-size:.875rem;font-weight:500}.download-links{gap:var(--space-sm);flex-wrap:wrap;display:flex}@media (width<=768px){.post-cover-grid{flex-direction:column}.post-cover-images{flex:none;max-width:100%}}}@layer utilities{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;padding:var(--space-sm) var(--space-md);background:var(--brand);color:#fff;border-radius:0 0 var(--radius) var(--radius);transition:inset-block-start var(--transition);font-weight:500;position:absolute;inset-block-start:-100%;inset-inline-start:var(--space-md)}.skip-link:focus{outline:2px solid var(--brand);outline-offset:2px;inset-block-start:0}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-brand{color:var(--brand)}}@view-transition{navigation:auto}@media (width<=860px){.section-layout{grid-template-columns:1fr}.main-nav{z-index:100;align-items:flex-end;gap:var(--space-md);padding:var(--space-xl);background:var(--bg);border-inline-start:1px solid var(--border);min-inline-size:260px;box-shadow:var(--shadow-xl);opacity:0;transition:transform var(--transition-slow), opacity var(--transition-slow), display var(--transition-slow) allow-discrete, overlay var(--transition-slow) allow-discrete;flex-direction:column;display:flex;position:fixed;inset-block-start:0;inset-inline-end:0;transform:translate(100%)}.main-nav[data-open]{opacity:1;transform:translate(0)}@starting-style{.main-nav[data-open]{opacity:0;transform:translate(100%)}}.nav-toggle{display:flex}.grid-2,.grid-3{grid-template-columns:1fr}}@media (width>=861px){.nav-toggle{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@view-transition{navigation:auto}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}
