:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-gt-america:"GT America", "GT America Standard", "Helvetica Neue", Arial, sans-serif;--page-bg:#aaa9a4;--page-bg-rgb:170, 169, 164;--page-text:#161617;--page-text-rgb:22, 22, 23;--brand-text:#121214;--hero-text:#161617;--nav-link:#252527;--accent-blue:#003d82;--accent-warm:#8b7e6a;--error-text:#a04040;--page-overlay:radial-gradient(circle at 42% 42%, #aaa9a400 0%, #aaa9a403 48%, #68686309 90%), linear-gradient(180deg, #aaa9a400 0%, #aaa9a402 56%, #5f5f5a09 100%);--page-gutter:clamp(18px, 3.75vw, 40px);--nav-height:59px;--step--2:clamp(10px, .7vw, 11px);--step--1:clamp(10px, .85vw, 12px);--step-0:clamp(13px, 1.1vw, 16px);--step-1:clamp(14px, 1.2vw, 18px);--step-2:clamp(17px, 1.65vw, 23px)}@media (width<=640px){:root{--page-gutter:clamp(18px, 6vw, 28px);--step--2:10px;--step--1:clamp(10px, 2.7vw, 11px);--step-0:clamp(12px, 3.45vw, 15px);--step-1:clamp(13px, 3.8vw, 16px);--step-2:clamp(16px, 4.5vw, 20px)}}[data-theme=light]{--page-bg:#aaa9a4;--page-bg-rgb:170, 169, 164;--page-text:#161617;--page-text-rgb:22, 22, 23;--brand-text:#121214;--hero-text:#161617;--nav-link:#252527;--accent-blue:#003d82;--accent-warm:#8b7e6a;--page-overlay:radial-gradient(circle at 42% 42%, #aaa9a400 0%, #aaa9a403 48%, #68686309 90%), linear-gradient(180deg, #aaa9a400 0%, #aaa9a402 56%, #5f5f5a09 100%)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#050506;--page-bg-rgb:5, 5, 6;--page-text:#e8e5e0;--page-text-rgb:232, 229, 224;--brand-text:#e8e5e0;--hero-text:#e8e5e0;--nav-link:#a9a9a9;--accent-blue:#4a8fd4;--accent-warm:#b8a88a;--page-overlay:radial-gradient(circle at 42% 42%, #05050600 0%, #05050608 48%, #0505062e 90%), linear-gradient(180deg, #05050600 0%, #05050607 56%, #05050638 100%)}*{box-sizing:border-box}:root{--safe-area-top:env(safe-area-inset-top,0px);--browser-background:#f5f4ef}html{background-color:var(--browser-background);overscroll-behavior-x:none;overscroll-behavior-y:none;width:100%;min-height:100%;overflow:hidden auto}body{background-color:var(--browser-background);color:var(--page-text);font-family:var(--font-gt-america);overscroll-behavior-x:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;width:100%;min-width:0;margin:0;font-style:normal;overflow:clip visible}em,i,cite,address{font-style:normal}button,input{font-family:inherit}#root{width:100%;min-height:100dvh;overflow-x:clip}.app-shell{background-color:var(--page-bg);width:100%;min-height:100dvh;position:relative;overflow:clip visible}.h-full{height:100%}.relative{position:relative}.w-full{width:100%}html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto!important}.lenis-scrolling iframe{pointer-events:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes perspectiveTiltIn{0%{opacity:0;transform:perspective(1200px)translateY(60px)scale(.92)rotateX(14deg)}to{opacity:1;transform:perspective(1200px)translateY(0)scale(1)rotateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{box-shadow:inset 0 1px #ffffff2e,0 12px 28px #0000003d}50%{box-shadow:inset 0 1px #ffffff38,0 16px 36px #0000004d}}@keyframes ruleExpand{0%{width:0}to{width:24px}}@keyframes accentReveal{0%{color:var(--hero-text)}to{color:var(--accent-blue)}}.entrance{animation:.7s cubic-bezier(.16,1,.3,1) both fadeInUp}.entrance-0{animation-delay:0s}.entrance-1{animation-delay:.1s}.entrance-2{animation-delay:.25s}.entrance-3{animation-delay:.45s}.entrance-4{animation-delay:.6s}.accent-blue-transition{animation:.8s .7s both accentReveal}.cta-breathe{animation:3s ease-in-out 1.4s infinite breathe}.reveal{opacity:0;transform:translateY(20px)}.reveal-visible{animation:.8s cubic-bezier(.16,1,.3,1) both fadeInUp}.reveal-visible .reveal-child-1,.reveal-visible .reveal-child-2,.reveal-visible .reveal-child-3{animation:.7s cubic-bezier(.16,1,.3,1) both fadeInUp}.reveal-visible .reveal-child-1{animation-delay:.1s}.reveal-visible .reveal-child-2{animation-delay:.2s}.reveal-visible .reveal-child-3{animation-delay:.3s}.reveal-scale{opacity:0;transform:scale(.96)}.reveal-scale-visible{animation:.8s cubic-bezier(.16,1,.3,1) both scaleIn}.reveal-stagger>*{opacity:0;transform:translateY(16px)}.reveal-stagger-visible>*{animation:.7s cubic-bezier(.16,1,.3,1) both fadeInUp}.reveal-stagger-visible>:first-child{animation-delay:0s}.reveal-stagger-visible>:nth-child(2){animation-delay:.1s}.reveal-stagger-visible>:nth-child(3){animation-delay:.2s}.reveal-stagger-visible>:nth-child(4){animation-delay:.3s}.reveal-stagger-visible>:nth-child(5){animation-delay:.4s}.reveal-tilt-stagger>*{opacity:0;transform:perspective(1200px)translateY(60px)scale(.92)rotateX(14deg)}.reveal-tilt-stagger-visible>*{animation:.9s cubic-bezier(.16,1,.3,1) both perspectiveTiltIn}.reveal-tilt-stagger-visible>:first-child{animation-delay:0s}.reveal-tilt-stagger-visible>:nth-child(2){animation-delay:.15s}@media (prefers-reduced-motion:reduce){.reveal,.reveal-scale,.reveal-stagger>*,.reveal-tilt-stagger>*{opacity:1;transform:none}.reveal-visible,.reveal-scale-visible,.reveal-stagger-visible>*,.reveal-tilt-stagger-visible>*,.reveal-visible .reveal-child-1,.reveal-visible .reveal-child-2,.reveal-visible .reveal-child-3{animation:none}}.section-container{background:var(--page-bg);padding:clamp(44px, 7.5vh, 90px) var(--page-gutter);z-index:10;position:relative}.section-inner{max-width:720px;margin:0 auto}.kicker{color:var(--nav-link);font-variant:small-caps;letter-spacing:.08em;margin-bottom:20px}.kicker-rule{background:var(--accent-blue);height:1.5px;margin:0 auto 10px;animation:.5s cubic-bezier(.16,1,.3,1) 50ms both ruleExpand;display:block}.liquid-action{--button-bg:#003d82;--button-border:#ffffff14;--button-glow:#e8e5e02e;--button-sheen:#ffffff8a;--button-text:#e8e5e0;--button-hover-text:#fff;background:var(--button-bg);border:1px solid var(--button-border);color:var(--button-text);letter-spacing:0;isolation:isolate;border-radius:11px;justify-content:center;align-items:center;min-height:32px;font-weight:300;text-decoration:none;transition:background .22s,border-color .18s,box-shadow .18s,transform .18s;display:inline-flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:inset 0 1px #ffffff2e,0 12px 28px #0000003d}.liquid-action:before{background:linear-gradient(115deg, transparent 34%, var(--button-sheen) 50%, transparent 66%);content:"";opacity:0;z-index:0;transition:opacity .18s,transform .62s cubic-bezier(.19,1,.22,1);position:absolute;inset:-70% -36%;transform:translate(-72%)rotate(8deg)}.liquid-action:after{background:radial-gradient(circle at 32% 20%, var(--button-glow), transparent 34%), linear-gradient(180deg, #ffffff1f, transparent 54%);border-radius:inherit;content:"";opacity:0;transform-origin:50%;z-index:0;transition:opacity .26s,transform .36s cubic-bezier(.19,1,.22,1);position:absolute;inset:0;transform:scaleX(.72)}.liquid-action:hover{border-color:#ffffff38;transform:translateY(-2px)scale(1.025);box-shadow:inset 0 1px #ffffff3d,0 18px 42px #00000052}.liquid-action:hover:before{opacity:1;transform:translate(72%)rotate(8deg)}.liquid-action:hover:after{opacity:1;transform:scaleX(1)}.liquid-action-label{z-index:1;line-height:1;transition:color .18s,transform .26s cubic-bezier(.19,1,.22,1);display:block;position:relative}.liquid-action:hover .liquid-action-label{color:var(--button-hover-text);transform:translateY(-1px)}.hero-action{cursor:pointer;min-height:34px;padding:10px 24px;font-size:clamp(15px,1.05vw,18px);line-height:1}.liquid-action-primary{--button-bg:linear-gradient(180deg, #064b9b, #003d82);--button-border:#6da0e138;--button-glow:#a2cbff38;--button-sheen:#ffffff94;--button-text:#e8e5e0;--button-hover-text:#fff}.site-nav{height:calc(52px + var(--safe-area-top));padding:var(--safe-area-top) max(var(--page-gutter), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px)) 0;z-index:50;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:100%;transition:width .45s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1),background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,border-color .35s,border-radius .35s,box-shadow .35s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.site-nav-island{-webkit-backdrop-filter:blur(20px)saturate(180%);background:rgba(var(--page-bg-rgb), .72);border-color:rgba(var(--page-text-rgb), .1);height:44px;top:calc(12px + var(--safe-area-top));border-radius:999px;width:min(700px,100vw - 40px);padding:0 20px;box-shadow:0 2px 20px #00000012}.site-nav-inner{justify-content:space-between;align-items:center;width:100%;max-width:1500px;margin:0 auto;display:flex}.site-logo{color:var(--brand-text);letter-spacing:0;font-size:18px;font-style:normal;font-weight:700;text-decoration:none}.site-nav-links{align-items:center;gap:clamp(16px,2vw,24px);display:flex}.site-nav-link{color:var(--nav-link);white-space:nowrap;font-size:clamp(14px,.95vw,15px);font-style:normal;font-weight:400;text-decoration:none;transition:opacity .18s}.site-nav-link:hover{opacity:.7}.site-nav-github{justify-content:center;align-items:center;min-width:32px;min-height:32px;display:inline-flex}.site-nav-github-icon{background:currentColor;flex:0 0 20px;width:20px;height:20px;display:block;-webkit-mask:url(/github-invertocat.svg) 50%/contain no-repeat;mask:url(/github-invertocat.svg) 50%/contain no-repeat}.site-nav-github:focus-visible{outline-offset:3px;outline:2px solid}.site-nav-menu-button{background:rgba(var(--page-bg-rgb), .34);border:1px solid rgba(var(--page-text-rgb), .12);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:34px;padding:0;display:none}.site-nav-menu-button span{background:var(--nav-link);width:16px;height:1px;transition:transform .18s,opacity .18s;display:block}.site-nav-menu-button[aria-expanded=true] span:first-child{transform:translateY(5px)rotate(45deg)}.site-nav-menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.site-nav-menu-button[aria-expanded=true] span:last-child{transform:translateY(-5px)rotate(-45deg)}.site-nav-mobile-menu{background:rgba(var(--page-bg-rgb), .9);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(var(--page-text-rgb), .1);opacity:0;pointer-events:none;z-index:60;border-radius:12px;width:min(220px,100vw - 48px);min-width:190px;padding:6px;transition:opacity .18s,transform .18s;display:none;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px);box-shadow:0 16px 36px #0000001f}.site-nav-mobile-menu-open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav-mobile-link{color:var(--nav-link);font-size:var(--step-0);border-radius:6px;padding:10px 12px;font-weight:400;text-decoration:none;display:block}.site-nav-mobile-link.site-nav-github{justify-content:flex-start;min-height:44px}.site-nav-mobile-link:focus,.site-nav-mobile-link:hover{background:rgba(var(--page-text-rgb), .06)}.site-nav-mobile-sign-in{border-top:1px solid rgba(var(--page-text-rgb), .1);margin-top:4px}@media (width<=720px){.site-nav-links{display:none}.site-nav-menu-button,.site-nav-mobile-menu{display:flex}.site-nav-mobile-menu{flex-direction:column}.site-nav-island{width:calc(100vw - 32px)}}.site-footer{padding:0 max(var(--page-gutter), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));z-index:10;position:relative}.footer-links{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;width:fit-content;max-width:100%;margin:clamp(28px,4vw,48px) auto 0;display:flex}.footer-link{color:var(--hero-text);font-size:var(--step-0);font-weight:600;text-decoration:none;transition:opacity .2s}.footer-link:hover{opacity:.7}.footer-wordmark{text-align:center;-webkit-user-select:none;user-select:none;max-width:1280px;height:clamp(140px,20vw,300px);margin:clamp(24px,4vw,48px) auto 0;line-height:0;overflow:hidden}.footer-wordmark img{object-fit:contain;opacity:.16;transform-origin:50%;width:100%;max-width:min(100%,1280px);margin:0 auto;display:block;transform:translateY(-28%)scale(1.06)}.footer-bottom{justify-content:space-between;align-items:center;max-width:1100px;margin:clamp(16px,3vw,28px) auto 0;padding-bottom:clamp(20px,3vw,32px);display:flex}.footer-bottom>span{color:var(--hero-text);font-size:var(--step--1);font-weight:700}.footer-github{color:var(--nav-link);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:color .2s;display:flex}.footer-github:hover{color:var(--hero-text)}@media (width<=640px){.footer-links{gap:6px 16px}.footer-wordmark{height:156px;margin-top:28px}.footer-wordmark img{width:112%;transform:translateY(-25%)scale(1.12)}}.persistent-background{background-color:var(--page-bg);pointer-events:none;position:fixed;inset:0}.persistent-background-overlay{background:var(--page-overlay);pointer-events:none;position:absolute;inset:0}.page-dither-bg{background:var(--page-overlay), var(--page-bg);pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.page-dither-bg canvas{width:100%;height:100%;display:block}.terminal-page-frame{max-width:1200px;padding:clamp(100px, 14vh, 160px) var(--page-gutter) clamp(40px, 6vh, 72px);z-index:10;margin:0 auto;position:relative}.terminal-page-window{color:#f2f2f2;background:#191919;border:1px solid #4a4a4a;border-radius:18px;overflow:hidden;box-shadow:0 22px 54px #00000061}.terminal-page-titlebar{background:linear-gradient(#303030 0%,#252525 100%);border-bottom:1px solid #171717;grid-template-columns:92px minmax(0,1fr) 92px;align-items:center;min-height:46px;padding:0 16px;display:grid}.terminal-page-controls{align-items:center;gap:10px;display:flex}.terminal-page-dot{border-radius:999px;width:14px;height:14px;display:block;box-shadow:inset 0 0 0 1px #0000003d}.terminal-page-dot-close{background:#ff5f57}.terminal-page-dot-minimize{background:#ffbd2e}.terminal-page-dot-zoom{background:#28c840}.terminal-page-title{color:#bcbcbc;text-align:center;justify-content:center;align-items:center;min-width:0;font-size:13px;font-weight:600;display:flex}.terminal-page-title span{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.terminal-page-body{--page-bg:#000;--page-bg-rgb:0, 0, 0;--page-text:#c9c9c9;--page-text-rgb:201, 201, 201;--hero-text:#f2f2f2;--nav-link:#a9a9a9;--accent-blue:#4a8fd4;--accent-warm:#b8a88a;--brand-text:#e8e5e0;color:#c9c9c9;background:#000;padding:clamp(24px,3vw,48px);font-family:SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:clamp(14px,1.1vw,16px);line-height:1.6}.terminal-page-body h1,.terminal-page-body h2,.terminal-page-body h3,.terminal-page-body h4{font-family:inherit}.terminal-page-body h1{color:#f2f2f2;letter-spacing:-.01em;font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.15}.terminal-page-body h2{color:#f2f2f2;font-size:clamp(20px,2.5vw,30px);font-weight:500}.terminal-page-body h3{color:#e0e0e0;font-size:clamp(16px,1.4vw,20px);font-weight:500}.terminal-page-body p{color:#c9c9c9}.terminal-page-body a{color:#4a8fd4}.terminal-page-cta{background:var(--page-bg);max-width:1200px;padding:clamp(40px, 6vh, 80px) var(--page-gutter);z-index:10;margin:0 auto;position:relative}@media (width<=960px){.terminal-page-frame{padding-left:clamp(12px,3vw,20px);padding-right:clamp(12px,3vw,20px)}}@media (width<=640px){.terminal-page-frame{padding-top:calc(84px + var(--safe-area-top))}.terminal-page-window{border-radius:12px}.terminal-page-titlebar{grid-template-columns:70px 1fr 70px;min-height:36px;padding:0 12px}.terminal-page-controls{gap:6px}.terminal-page-dot{width:10px;height:10px}.terminal-page-body{padding:clamp(16px,4vw,24px);font-size:14px}}.editorial-page-shell.blog-route{--topo-opacity:.14;--page-bg:#f6f4ef;--page-bg-rgb:246, 244, 239;--blog-ink:#1f1e1b;--blog-text:#3b3a36;--blog-muted:#77746b;--blog-faint:#a29e93;--blog-line:#1f1e1b17;--blog-surface:#ffffff9e;--blog-accent:#2f5fbf;--blog-accent-soft:#e3eaf8;--blog-accent-line:#c8d5ef;background:radial-gradient(1100px 520px at 88% -8%, #d6e2f78c, #d6e2f700 70%), radial-gradient(900px 480px at -6% 22%, #f4e4d473, #f4e4d400 70%), var(--page-bg)}.blog-page{width:100%;min-width:0;max-width:960px;margin:0 auto}.blog-index-header{max-width:600px}.blog-index-label{color:var(--blog-ink);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:14px;font-weight:500;line-height:1.5}.blog-index-intro{color:var(--blog-muted);margin:12px 0 0;font-size:14px;line-height:1.65}.blog-filters{flex-wrap:wrap;gap:8px;margin:32px 0 36px;display:flex}.blog-filter{background:var(--blog-surface);border:1px solid var(--blog-line);color:var(--blog-muted);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:8px;padding:5px 13px;font-size:12px;line-height:1.5;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.blog-filter:hover{color:var(--blog-ink);border-color:#1f1e1b2e}.blog-filter[aria-pressed=true]{background:var(--blog-accent-soft);border-color:var(--blog-accent-line);color:var(--blog-accent)}.blog-filter:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-list-head,.blog-post-card-link{grid-template-columns:104px minmax(0,1fr) 236px;column-gap:28px;display:grid}.blog-list-head{border-bottom:1px solid var(--blog-line);color:var(--blog-faint);letter-spacing:.06em;text-transform:uppercase;padding:0 14px 10px;font-size:11px;font-weight:500}.blog-post-list{margin:0;padding:0;list-style:none;display:grid}.blog-post-card{border-bottom:1px solid var(--blog-line);min-width:0;padding:8px 0}.blog-post-card-link{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:start;min-width:0;padding:16px 14px;text-decoration:none;transition:background .18s,box-shadow .18s}.blog-post-card-link:focus-visible{background:var(--blog-surface);outline:2px solid var(--blog-accent);outline-offset:2px;box-shadow:0 10px 30px #3c382c0f}.blog-post-card-date{color:var(--blog-faint);font-family:var(--font-editorial-mono);font-size:12px;line-height:21px}.blog-post-card-content{min-width:0}.blog-post-card h2{color:var(--blog-ink);letter-spacing:-.005em;overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:550;line-height:1.4;transition:color .16s}.blog-post-card p{-webkit-line-clamp:2;color:var(--blog-muted);-webkit-box-orient:vertical;margin:6px 0 0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-post-card-tag{color:var(--blog-muted);background:#1f1e1b0b;border-radius:999px;margin-top:12px;padding:2px 9px;font-size:11px;line-height:1.5;display:inline-block}.blog-thumbnail{aspect-ratio:16/10;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fbfaf6;border:1px solid #e6e2d8;border-radius:10px;width:100%;overflow:hidden}.blog-thumbnail svg{width:100%;height:100%;display:block}.blog-post-card-thumbnail{transition:box-shadow .18s,transform .18s}@media (hover:hover) and (pointer:fine){.blog-post-card-link:hover{background:var(--blog-surface);box-shadow:0 10px 30px #3c382c0f}.blog-post-card-link:hover h2{color:var(--blog-accent)}.blog-post-card-link:hover .blog-post-card-thumbnail{transform:translateY(-1px);box-shadow:0 8px 22px #3c382c14}}@media (hover:none){.blog-post-card-link{-webkit-touch-callout:none}}.blog-empty-state{border-top:1px solid var(--blog-line);padding:40px 14px}.blog-empty-state p{color:var(--blog-muted);margin:0;font-size:13px;line-height:1.6}.blog-empty-state .blog-empty-state-title{color:var(--blog-ink);margin-bottom:4px;font-size:15px;font-weight:550}.blog-article{color:var(--blog-text);max-width:720px;margin:0 auto}.blog-article-header{border-bottom:1px solid var(--blog-line);padding-bottom:32px}.blog-article-header h1{color:var(--blog-ink);letter-spacing:-.012em;margin:0;font-size:clamp(22px,2.6vw,28px);font-weight:600;line-height:1.25}.blog-article-description{color:var(--blog-muted);margin:14px 0 0;font-size:15px;line-height:1.65}.blog-author-list{flex-wrap:wrap;gap:12px 28px;margin:0;padding:0;list-style:none;display:flex}.blog-article-authors{margin-top:24px}.blog-author-item{min-width:min(100%,200px)}.blog-author-item strong,.blog-author-item>div span{display:block}.blog-author-item strong{color:var(--blog-ink);font-size:13px;font-weight:550}.blog-author-item span{color:var(--blog-muted);margin-top:2px;font-size:12px;line-height:1.5}.blog-article-dates{color:var(--blog-faint);font-family:var(--font-editorial-mono);flex-wrap:wrap;gap:4px 18px;margin-top:18px;font-size:12px;display:flex}.blog-markdown{padding-top:36px}.blog-markdown h1,.blog-markdown h2,.blog-markdown h3,.blog-markdown h4{color:var(--blog-ink);letter-spacing:-.008em;font-weight:600;line-height:1.3}.blog-markdown h1{margin:0 0 .7em;font-size:22px}.blog-markdown h2{margin:2.2em 0 .7em;font-size:19px}.blog-markdown h3{margin:1.9em 0 .6em;font-size:16px}.blog-markdown h4{margin:1.6em 0 .5em;font-size:15px}.blog-markdown p,.blog-markdown li{color:var(--blog-text);font-size:15px;font-weight:400;line-height:1.8}.blog-markdown p{margin:0 0 1.1em}.blog-markdown strong{color:var(--blog-ink);font-weight:600}.blog-markdown ul,.blog-markdown ol{margin:0 0 1.3em}.blog-markdown ul{padding-left:0;list-style:none}.blog-markdown ol{padding-left:1.4em;list-style:decimal}.blog-markdown ul>li{padding-left:1.2em;position:relative}.blog-markdown ul>li:before{background:var(--blog-accent);content:"";opacity:.7;border-radius:50%;width:4px;height:4px;position:absolute;top:.8em;left:.2em}.blog-markdown li::marker{color:var(--blog-muted)}.blog-markdown li+li{margin-top:.35em}.blog-markdown blockquote{background:var(--blog-surface);border-left:2px solid var(--blog-accent-line);border-radius:0 10px 10px 0;margin:1.8em 0;padding:14px 20px}.blog-markdown blockquote p{color:var(--blog-ink);margin:0;font-size:15px;line-height:1.7}.blog-markdown a{color:var(--blog-accent);text-underline-offset:3px;text-decoration-color:#2f5fbf59;text-decoration-thickness:1px}.blog-markdown a:hover{text-decoration-color:currentColor}.blog-markdown img{border:1px solid var(--blog-line);border-radius:10px;max-width:100%;height:auto;margin:2em 0;display:block}.blog-markdown code{color:var(--blog-ink);font-family:var(--font-editorial-mono);background:#1f1e1b0d;border-radius:5px;padding:.12em .36em;font-size:.85em}.blog-markdown pre{border:1px solid var(--blog-line);background:#fff9;border-radius:10px;margin:1.6em 0;padding:16px 18px;overflow-x:auto}.blog-markdown pre code{background:0 0;border-radius:0;padding:0;font-size:12.5px;line-height:1.6;display:block}.blog-terminal{border:1px solid var(--blog-line);background:#fff9;border-radius:10px;max-width:520px;margin:1.6em 0;overflow:hidden}.blog-terminal-bar{border-bottom:1px solid var(--blog-line);justify-content:space-between;align-items:center;padding:6px 8px 6px 14px;display:flex}.blog-terminal-title{color:var(--blog-faint);font-family:var(--font-editorial-mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.blog-terminal-copy{background:var(--blog-surface);border:1px solid var(--blog-line);color:var(--blog-muted);cursor:pointer;font:inherit;border-radius:999px;padding:2px 10px;font-size:11px;line-height:1.5;transition:background .16s,border-color .16s,color .16s}.blog-terminal-copy:hover{border-color:var(--blog-accent-line);color:var(--blog-accent)}.blog-terminal-copy:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-markdown .blog-terminal-body{background:0 0;border:0;border-radius:0;margin:0;padding:12px 14px}.blog-markdown .blog-terminal-body code{color:var(--blog-ink);gap:2px;font-size:12.5px;line-height:1.6;display:grid}.blog-terminal-line{white-space:pre}.blog-terminal-prompt{color:var(--blog-accent);opacity:.7;-webkit-user-select:none;user-select:none;margin-right:10px}.blog-mermaid{border:1px solid var(--blog-line);background:#ffffff80;border-radius:12px;width:100%;margin:2em 0;padding:clamp(16px,3vw,26px);overflow:hidden}.blog-mermaid-svg{justify-content:center;width:100%;margin:0 auto;display:flex}.blog-mermaid svg{width:100%;max-width:100%;height:auto;display:block}.blog-mermaid .node rect,.blog-mermaid .node polygon{rx:3px;ry:3px}.blog-mermaid text,.blog-mermaid .label,.blog-mermaid .nodeLabel,.blog-mermaid .edgeLabel{font-family:var(--font-editorial)!important;font-kerning:normal!important;font-style:normal!important;font-weight:400!important}.blog-mermaid .node .label{overflow:visible}.blog-mermaid .flowchart-link{stroke-linecap:square;stroke-linejoin:miter}.blog-mermaid .edgeLabel{border-radius:2px}.blog-mermaid .labelBkg,.blog-mermaid rect.label-container,.blog-mermaid .edgeLabel rect{rx:2px;ry:2px}.blog-mermaid-loading,.blog-mermaid figcaption{color:var(--blog-muted);font-size:12px;line-height:1.5}.blog-mermaid-error pre{margin:12px 0 0;overflow-x:auto}.blog-markdown table{border-collapse:collapse;width:100%;margin:1.6em 0;display:block;overflow-x:auto}.blog-markdown th,.blog-markdown td{border-bottom:1px solid var(--blog-line);color:var(--blog-text);font-variant-numeric:tabular-nums;text-align:left;padding:9px 12px;font-size:13px;font-weight:400}.blog-markdown th{color:var(--blog-ink);font-size:12px;font-weight:600}@media (width<=720px){.blog-list-head{display:none}.blog-post-card{padding:6px 0}.blog-post-card-link{grid-template-columns:minmax(0,1fr);row-gap:10px;padding:14px 4px}.blog-post-card-thumbnail{order:-1}.blog-post-card-date{line-height:1.4}.blog-markdown p,.blog-markdown li{font-size:15px;line-height:1.75}.blog-mermaid{padding:12px}}
