:where(.blog-dark,.blog-light){--blog-measure:68ch;--blog-radius-xs:6px;--blog-radius-sm:10px;--blog-radius-md:14px;--blog-radius-lg:20px;--blog-radius-xl:28px;--blog-ease:cubic-bezier(.22, 1, .36, 1);--blog-ease-spring:cubic-bezier(.34, 1.4, .64, 1);--blog-dur:.22s;--blog-dur-fast:.14s;--blog-shadow-xs:0 1px 2px #0000000d;--blog-shadow-sm:0 2px 10px -4px #0000002e;--blog-shadow-md:0 16px 40px -16px #0000004d;--blog-shadow-lg:0 40px 80px -32px #00000073}.blog-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--blog-bg:#0b1015;--blog-surface:#131a22;--blog-surface-2:#182029;--blog-surface-elevated:#ffffff09;--blog-surface-hover:#ffffff0f;--blog-text-primary:#f4f7fb;--blog-text-body:#eef3fadb;--blog-text-secondary:#eef3faa8;--blog-text-muted:#eef3fa73;--blog-text-emphasis:#fff;--blog-accent:#4f8df7;--blog-accent-hover:#7baaff;--blog-accent-soft:#4f8df724;--blog-accent-ring:#4f8df759;--blog-link:#79acff;--blog-link-underline:#79acff61;--blog-border:#ffffff1a;--blog-border-strong:#fff3;--blog-border-subtle:#ffffff0f;--blog-selection-bg:#4f8df747;--blog-code-text:#b9c4ff;--blog-code-bg:#818cf821;--blog-code-block-bg:#0d131a;--blog-code-block-header:#ffffff07;--blog-code-block-border:#ffffff16;--blog-blockquote-border:#3b82f6;--blog-blockquote-bg:#3b82f60e;--blog-category-bg:#3b82f629;--blog-category-border:#60a5fa52;--blog-category-text:#a8c7ff;--blog-tag-bg:#ffffff0d;--blog-tag-border:#ffffff1a;--blog-tag-text:#eef3fab8;--blog-cta-bg:linear-gradient(135deg, #10b9811a 0%, #3b82f61a 100%);--blog-cta-secondary-bg:#ffffff0d;--blog-cta-secondary-border:#ffffff1f;--blog-cta-secondary-text:#f4f7fb;--blog-bullet:#4f8df7;--blog-bullet-shadow:#4f8df72e;--blog-toggle-active-bg:#2563eb;--blog-toggle-active-text:#fff;--blog-header-gradient:radial-gradient(ellipse at top, #2563eb33, transparent 60%);--blog-callout-info-bg:#3b82f61a;--blog-callout-info-border:#60a5fa4d;--blog-callout-info-text:#c3d8ff;--blog-callout-info-accent:#60a5fa;--blog-callout-warning-bg:#f59e0b1a;--blog-callout-warning-border:#fbbf244d;--blog-callout-warning-text:#fbe2ae;--blog-callout-warning-accent:#fbbf24;--blog-callout-success-bg:#10b9811a;--blog-callout-success-border:#34d3994d;--blog-callout-success-text:#b7f1dc;--blog-callout-success-accent:#34d399;--blog-scrollbar-thumb:#ffffff29}.blog-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blog-bg:#fcfbf9;--blog-surface:#fff;--blog-surface-2:#f6f5f2;--blog-surface-elevated:#0f172a09;--blog-surface-hover:#0f172a0d;--blog-text-primary:#12161c;--blog-text-body:#333a45;--blog-text-secondary:#5a6270;--blog-text-muted:#7a8290;--blog-text-emphasis:#06090d;--blog-accent:#2563eb;--blog-accent-hover:#1d4ed8;--blog-accent-soft:#2563eb14;--blog-accent-ring:#2563eb40;--blog-link:#1d4ed8;--blog-link-underline:#1d4ed852;--blog-border:#0f172a1f;--blog-border-strong:#0f172a38;--blog-border-subtle:#0f172a12;--blog-selection-bg:#2563eb2e;--blog-code-text:#6d28d9;--blog-code-bg:#8b5cf617;--blog-code-block-bg:#f8f7f4;--blog-code-block-header:#0f172a07;--blog-code-block-border:#0f172a1a;--blog-blockquote-border:#2563eb;--blog-blockquote-bg:#2563eb0b;--blog-category-bg:#2563eb1a;--blog-category-border:#2563eb3d;--blog-category-text:#1d4ed8;--blog-tag-bg:#0f172a0a;--blog-tag-border:#0f172a1a;--blog-tag-text:#4a5260;--blog-cta-bg:linear-gradient(135deg, #10b98112 0%, #2563eb12 100%);--blog-cta-secondary-bg:#0f172a0a;--blog-cta-secondary-border:#0f172a24;--blog-cta-secondary-text:#12161c;--blog-bullet:#2563eb;--blog-bullet-shadow:#2563eb24;--blog-toggle-active-bg:#f59e0b;--blog-toggle-active-text:#fff;--blog-header-gradient:radial-gradient(ellipse at top, #2563eb12, transparent 62%);--blog-callout-info-bg:#2563eb0e;--blog-callout-info-border:#2563eb33;--blog-callout-info-text:#1e3a8a;--blog-callout-info-accent:#2563eb;--blog-callout-warning-bg:#d9770612;--blog-callout-warning-border:#d9770638;--blog-callout-warning-text:#7c3a06;--blog-callout-warning-accent:#d97706;--blog-callout-success-bg:#05966912;--blog-callout-success-border:#05966938;--blog-callout-success-text:#065f46;--blog-callout-success-accent:#059669;--blog-scrollbar-thumb:#0f172a2e}.blog-bg{background-color:var(--blog-bg)}.blog-surface{background-color:var(--blog-surface)}.blog-surface-elevated{background-color:var(--blog-surface-elevated)}.blog-text-primary{color:var(--blog-text-primary)}.blog-text-body{color:var(--blog-text-body)}.blog-text-secondary{color:var(--blog-text-secondary)}.blog-text-muted{color:var(--blog-text-muted)}.blog-text-emphasis{color:var(--blog-text-emphasis)}.blog-text-accent{color:var(--blog-accent)}.blog-link{color:var(--blog-link)}.blog-link:hover{color:var(--blog-accent-hover)}.blog-border{border-color:var(--blog-border)}.blog-border-subtle{border-color:var(--blog-border-subtle)}.blog-text-code{color:var(--blog-code-text)}.blog-code-bg{background-color:var(--blog-code-bg)}.blog-blockquote-border{border-color:var(--blog-blockquote-border)}.blog-blockquote-bg{background-color:var(--blog-blockquote-bg)}.blog-category-badge{background-color:var(--blog-category-bg);border:1px solid var(--blog-category-border);color:var(--blog-category-text)}.blog-tag{background-color:var(--blog-tag-bg);border:1px solid var(--blog-tag-border);color:var(--blog-tag-text)}.blog-cta-bg{background:var(--blog-cta-bg)}.blog-cta-secondary-bg{background-color:var(--blog-cta-secondary-bg)}.blog-cta-secondary-bg:hover{background-color:var(--blog-surface-hover)}.blog-cta-secondary-border{border-color:var(--blog-cta-secondary-border)}.blog-cta-secondary-text{color:var(--blog-cta-secondary-text)}.blog-accent-bullet{background-color:var(--blog-bullet);box-shadow:0 0 0 4px var(--blog-bullet-shadow)}.blog-toggle-active{background-color:var(--blog-toggle-active-bg);color:var(--blog-toggle-active-text)}.blog-header-gradient{background:var(--blog-header-gradient)}.article-body.blog-article{--article-size:calc(1.0625rem * var(--blog-font-scale,1));--article-leading:1.78;max-width:var(--blog-measure,68ch);font-size:var(--article-size);line-height:var(--article-leading);color:var(--blog-text-body);font-feature-settings:"kern", "liga", "calt";text-rendering:optimizelegibility;overflow-wrap:break-word;word-break:break-word}@media (min-width:640px){.article-body.blog-article{--article-size:calc(1.125rem * var(--blog-font-scale,1))}}.blog-article ::selection{background:var(--blog-selection-bg);color:var(--blog-text-emphasis)}.blog-article>:first-child{margin-top:0!important}.blog-article>:last-child{margin-bottom:0!important}.blog-article p{text-wrap:pretty;margin:0 0 1.55em}.blog-article>p:first-of-type{margin-bottom:1.7em;font-size:1.07em;line-height:1.72}.blog-article h1,.blog-article h2,.blog-article h3,.blog-article h4,.blog-article h5,.blog-article h6{color:var(--blog-text-primary);letter-spacing:-.021em;text-wrap:balance;scroll-margin-top:6.5rem;font-weight:700;line-height:1.24;position:relative}.blog-article h1{margin:2.6em 0 .7em;font-size:clamp(1.85rem,1.4rem + 1.8vw,2.4rem)}.blog-article h2{margin:2.6em 0 .75em;padding-top:.2em;font-size:clamp(1.5rem,1.15rem + 1.4vw,1.95rem)}.blog-article h2:before{content:"";background:linear-gradient(90deg, var(--blog-accent), transparent);opacity:.9;border-radius:3px;width:2.75rem;height:3px;margin-bottom:.85em;display:block}.blog-article h3{margin:2.1em 0 .6em;font-size:clamp(1.22rem,1.02rem + .85vw,1.48rem)}.blog-article h4{letter-spacing:-.012em;margin:1.9em 0 .55em;font-size:1.12em;font-weight:650}.blog-article h5,.blog-article h6{text-transform:uppercase;letter-spacing:.06em;color:var(--blog-text-secondary);margin:1.7em 0 .5em;font-size:1em;font-weight:650}.blog-article .heading-anchor{color:var(--blog-text-muted);opacity:0;transition:opacity var(--blog-dur) var(--blog-ease), transform var(--blog-dur) var(--blog-ease), color var(--blog-dur-fast) linear;-webkit-user-select:none;user-select:none;margin-left:.4em;font-size:.78em;font-weight:500;text-decoration:none;position:absolute;transform:translate(-6px)}.blog-article h1:hover .heading-anchor,.blog-article h2:hover .heading-anchor,.blog-article h3:hover .heading-anchor,.blog-article h4:hover .heading-anchor,.blog-article h5:hover .heading-anchor,.blog-article h6:hover .heading-anchor,.blog-article .heading-anchor:focus-visible{opacity:1;transform:translate(0)}.blog-article .heading-anchor:hover{color:var(--blog-accent)}.blog-article a{color:var(--blog-link);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--blog-link-underline);text-decoration-color:var(--blog-link-underline);text-underline-offset:3px;transition:color var(--blog-dur-fast) linear, text-decoration-color var(--blog-dur-fast) linear;font-weight:500}.blog-article a:hover{color:var(--blog-accent-hover);text-decoration-color:currentColor}.blog-article a:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px;border-radius:3px}.blog-article ul,.blog-article ol{margin:1.5em 0;padding-left:0;list-style:none}.blog-article li{margin:.55em 0;padding-left:1.7em;position:relative}.blog-article li>ul,.blog-article li>ol{margin:.55em 0 .2em}.blog-article ul>li:before{content:"";background:var(--blog-bullet);width:.4em;height:.4em;box-shadow:0 0 0 4px var(--blog-bullet-shadow);border-radius:50%;position:absolute;top:.72em;left:.32em}.blog-article ul ul>li:before{box-shadow:inset 0 0 0 2px var(--blog-bullet);background:0 0;width:.44em;height:.44em;left:.3em}.blog-article ol{counter-reset:blog-ol}.blog-article ol>li{counter-increment:blog-ol;padding-left:2.5em}.blog-article ol>li:before{content:counter(blog-ol);font-variant-numeric:tabular-nums;width:1.65em;height:1.65em;color:var(--blog-accent);background:var(--blog-accent-soft);border:1px solid var(--blog-accent-ring);border-radius:50%;place-items:center;font-size:.76em;font-weight:700;display:grid;position:absolute;top:.16em;left:0}.blog-article li.task-list-item{padding-left:1.9em}.blog-article li.task-list-item:before{display:none}.blog-article li.task-list-item input[type=checkbox]{width:1.05em;height:1.05em;accent-color:var(--blog-accent);cursor:default;position:absolute;top:.42em;left:0}.blog-article li.blog-list-break{margin-top:1.75em}.blog-article blockquote{border-left:3px solid var(--blog-blockquote-border);color:var(--blog-text-secondary);margin:2.1em 0;padding:.35em 0 .35em 1.5em;font-size:1.03em;line-height:1.72;position:relative}.blog-article blockquote>:last-child{margin-bottom:0}.blog-article :not(pre)>code{border-radius:var(--blog-radius-xs);background:var(--blog-code-bg);color:var(--blog-code-text);border:1px solid var(--blog-border-subtle);white-space:break-spaces;padding:.16em .42em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.875em}.blog-code{border:1px solid var(--blog-code-block-border);border-radius:var(--blog-radius-md);background:var(--blog-code-block-bg);box-shadow:var(--blog-shadow-sm);margin:2.1em 0;overflow:hidden}.blog-code__bar{border-bottom:1px solid var(--blog-code-block-border);background:var(--blog-code-block-header);justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .45rem .4rem .95rem;display:flex}.blog-code__lang{letter-spacing:.1em;text-transform:uppercase;color:var(--blog-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:600}.blog-code__copy{border-radius:var(--blog-radius-xs);color:var(--blog-text-muted);cursor:pointer;transition:color var(--blog-dur-fast) linear, background-color var(--blog-dur-fast) linear, border-color var(--blog-dur-fast) linear;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.blog-code__copy:hover{color:var(--blog-text-primary);background:var(--blog-surface-elevated);border-color:var(--blog-border)}.blog-code__copy[data-copied=true]{color:var(--blog-callout-success-accent);border-color:var(--blog-callout-success-border);background:var(--blog-callout-success-bg)}.blog-code pre{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:calc(.85rem * var(--blog-font-scale,1));tab-size:2;margin:0;padding:1.1rem 1.15rem;line-height:1.72;overflow-x:auto}.blog-code pre code{font-size:inherit;color:var(--blog-text-body);white-space:pre;background:0 0;border:0;padding:0;display:block}.blog-code pre::-webkit-scrollbar{height:8px}.blog-code pre::-webkit-scrollbar-track{background:0 0}.blog-code pre::-webkit-scrollbar-thumb{background:var(--blog-scrollbar-thumb);border-radius:999px}.blog-table-wrap{border:1px solid var(--blog-border);border-radius:var(--blog-radius-md);-webkit-overflow-scrolling:touch;margin:2.1em 0;overflow-x:auto}.blog-article table{border-collapse:separate;border-spacing:0;width:100%;font-size:.94em}.blog-article thead th{z-index:1;background:var(--blog-surface-elevated);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--blog-text-primary);text-align:left;border-bottom:1px solid var(--blog-border);white-space:nowrap;padding:.8rem 1rem;font-weight:650;position:sticky;top:0}.blog-article thead th:first-child{border-top-left-radius:var(--blog-radius-md)}.blog-article thead th:last-child{border-top-right-radius:var(--blog-radius-md)}.blog-article tbody td{border-bottom:1px solid var(--blog-border-subtle);vertical-align:top;color:var(--blog-text-body);padding:.8rem 1rem}.blog-article tbody tr:last-child td{border-bottom:0}.blog-article tbody tr{transition:background-color var(--blog-dur-fast) linear}.blog-article tbody tr:hover{background:var(--blog-surface-elevated)}.blog-figure{margin:2.4em 0}.blog-figure img{border-radius:var(--blog-radius-lg);border:1px solid var(--blog-border);width:100%;height:auto;box-shadow:var(--blog-shadow-md);display:block}.blog-figure figcaption{color:var(--blog-text-muted);text-align:center;text-wrap:pretty;margin-top:.9em;font-size:.84em;line-height:1.6}.blog-article hr{background:0 0;border:0;justify-content:center;align-items:center;height:1.5em;margin:3em 0;display:flex;overflow:visible}.blog-article hr:before{content:"";background:var(--blog-text-muted);opacity:.5;width:.34em;height:.34em;box-shadow:.95em 0 0 var(--blog-text-muted), -.95em 0 0 var(--blog-text-muted);border-radius:50%}.blog-article kbd{color:var(--blog-text-primary);background:var(--blog-surface-elevated);border:1px solid var(--blog-border);border-radius:var(--blog-radius-xs);border-bottom-width:2px;padding:.15em .45em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em;line-height:1.4;display:inline-block}.blog-article mark{background:var(--blog-accent-soft);color:var(--blog-text-primary);border-radius:4px;padding:.1em .28em}.blog-article sup a{padding:0 .15em;font-size:.78em;font-weight:600;text-decoration:none}.blog-article .blog-callout{--callout-bg:var(--blog-callout-info-bg);--callout-border:var(--blog-callout-info-border);--callout-text:var(--blog-callout-info-text);--callout-accent:var(--blog-callout-info-accent);border-radius:var(--blog-radius-md);border:1px solid var(--callout-border);background:var(--callout-bg);color:var(--callout-text);grid-template-columns:auto 1fr;gap:.85rem;margin:2.1em 0;padding:1.1rem 1.25rem;font-size:.98em;line-height:1.7;display:grid}.blog-article .blog-callout[data-kind=warning]{--callout-bg:var(--blog-callout-warning-bg);--callout-border:var(--blog-callout-warning-border);--callout-text:var(--blog-callout-warning-text);--callout-accent:var(--blog-callout-warning-accent)}.blog-article .blog-callout[data-kind=success]{--callout-bg:var(--blog-callout-success-bg);--callout-border:var(--blog-callout-success-border);--callout-text:var(--blog-callout-success-text);--callout-accent:var(--blog-callout-success-accent)}.blog-callout__icon{width:1.75rem;height:1.75rem;color:var(--callout-accent);background:color-mix(in srgb, var(--callout-accent) 14%, transparent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.blog-callout__icon svg{width:1.02rem;height:1.02rem}.blog-callout__title{letter-spacing:.1em;text-transform:uppercase;color:var(--callout-accent)!important;margin:0 0 .25em!important;font-size:.72em!important;font-weight:700!important;line-height:1.5!important}.blog-article .blog-callout__body p{color:inherit;margin:0 0 .7em;font-size:1em;line-height:1.7}.blog-article .blog-callout__body>:last-child{margin-bottom:0}.blog-article .blog-callout__body p:empty{display:none}.blog-article .blog-callout__body a{color:var(--callout-accent)}.blog-progress{z-index:70;pointer-events:none;background:0 0;height:3px;position:fixed;inset:0 0 auto}.blog-progress__bar{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--blog-progress,0));background:linear-gradient(90deg, var(--blog-accent), var(--blog-accent-hover));box-shadow:0 0 14px var(--blog-accent-ring);transition:transform 90ms linear}.blog-back-to-top{right:max(1.25rem, env(safe-area-inset-right));bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:60;border:1px solid var(--blog-border);background:var(--blog-surface);width:2.75rem;height:2.75rem;color:var(--blog-text-secondary);box-shadow:var(--blog-shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;opacity:0;visibility:hidden;transition:opacity var(--blog-dur) var(--blog-ease), transform var(--blog-dur) var(--blog-ease), visibility var(--blog-dur) linear, color var(--blog-dur-fast) linear, border-color var(--blog-dur-fast) linear;border-radius:999px;place-items:center;display:grid;position:fixed;transform:translateY(10px)scale(.94)}.blog-back-to-top[data-visible=true]{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.blog-back-to-top:hover{color:var(--blog-text-primary);border-color:var(--blog-border-strong)}.blog-toc{font-size:.875rem}.blog-toc__label{letter-spacing:.12em;text-transform:uppercase;color:var(--blog-text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;font-size:.68rem;font-weight:700;display:flex}.blog-toc__pct{font-variant-numeric:tabular-nums;color:var(--blog-accent);letter-spacing:.04em;font-weight:600}.blog-toc__track{background:var(--blog-border);border-radius:999px;height:2px;margin-bottom:1.1rem;position:relative;overflow:hidden}.blog-toc__track span{background:linear-gradient(90deg, var(--blog-accent), var(--blog-accent-hover));border-radius:999px;transition:width .12s linear;position:absolute;inset:0 auto 0 0}.blog-toc__list{border-left:1px solid var(--blog-border);margin:0;padding:0;list-style:none}.blog-toc__item{margin:0}.blog-toc__link{color:var(--blog-text-muted);transition:color var(--blog-dur-fast) linear, border-color var(--blog-dur-fast) linear;border-left:2px solid #0000;margin-left:-1px;padding:.34rem 0 .34rem .95rem;font-size:.875rem;line-height:1.5;text-decoration:none;display:block;position:relative}.blog-toc__link:hover{color:var(--blog-text-primary)}.blog-toc__link[data-active=true]{color:var(--blog-text-primary);border-left-color:var(--blog-accent);font-weight:600}.blog-toc__item--h3 .blog-toc__link{padding-left:1.85rem;font-size:.82rem}.blog-toc__link:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px;border-radius:3px}.blog-toolbar{border:1px solid var(--blog-border);background:var(--blog-surface-elevated);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:.15rem;padding:.22rem;display:inline-flex}.blog-toolbar__btn{width:1.9rem;height:1.9rem;color:var(--blog-text-muted);cursor:pointer;transition:color var(--blog-dur-fast) linear, background-color var(--blog-dur-fast) linear;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.blog-toolbar__btn:hover:not(:disabled){color:var(--blog-text-primary);background:var(--blog-surface-hover)}.blog-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.blog-toolbar__btn svg{width:.95rem;height:.95rem}.blog-toolbar__value{text-align:center;font-variant-numeric:tabular-nums;min-width:2.6rem;color:var(--blog-text-secondary);-webkit-user-select:none;user-select:none;font-size:.72rem;font-weight:700}.blog-card{border-radius:var(--blog-radius-lg);border:1px solid var(--blog-border);background:var(--blog-surface);transition:transform var(--blog-dur) var(--blog-ease), border-color var(--blog-dur) var(--blog-ease), box-shadow var(--blog-dur) var(--blog-ease);display:flex;position:relative;overflow:hidden}.blog-card:hover{border-color:var(--blog-border-strong);box-shadow:var(--blog-shadow-md);transform:translateY(-3px)}.blog-card__media{background:var(--blog-surface-2);position:relative;overflow:hidden}.blog-card__img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--blog-ease)}.blog-card:hover .blog-card__img{transform:scale(1.05)}.blog-card__scrim{pointer-events:none;background:linear-gradient(#0000 45%,#0000006b);position:absolute;inset:0}.blog-card__title{color:var(--blog-text-primary);transition:color var(--blog-dur-fast) linear}.blog-card:hover .blog-card__title{color:var(--blog-accent)}.blog-card__arrow{transition:transform var(--blog-dur) var(--blog-ease), color var(--blog-dur-fast) linear}.blog-card:hover .blog-card__arrow{color:var(--blog-text-primary);transform:translate(3px,-3px)}.blog-page-container,.blog-bg,.blog-surface,.blog-surface-elevated,.blog-text-primary,.blog-text-body,.blog-text-secondary,.blog-text-muted,.blog-text-emphasis,.blog-link,.blog-border,.blog-category-badge,.blog-tag,.blog-cta-bg,.blog-toggle-active{transition-property:background-color,color,border-color;transition-duration:.3s;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.blog-page-container,.blog-bg,.blog-surface,.blog-surface-elevated,.blog-text-primary,.blog-text-body,.blog-text-secondary,.blog-text-muted,.blog-text-emphasis,.blog-link,.blog-border,.blog-category-badge,.blog-tag,.blog-cta-bg,.blog-toggle-active,.blog-card,.blog-card__img,.blog-back-to-top,.blog-article .heading-anchor{transition-duration:0s!important}.blog-progress__bar{transition:none}.blog-card:hover,.blog-card:hover .blog-card__img{transform:none}html{scroll-behavior:auto!important}}@media (max-width:640px){.blog-page-container{padding-left:max(env(safe-area-inset-left), 20px);padding-right:max(env(safe-area-inset-right), 20px)}.article-body.blog-article{-webkit-hyphens:auto;hyphens:auto}.blog-article h2:before{margin-bottom:.7em}.blog-article blockquote{padding-left:1.15em;font-size:1em}.blog-article ul>li,.blog-article ol>li{padding-left:1.55em}.blog-article ol>li{padding-left:2.2em}}@media print{.blog-dark,.blog-light{--blog-bg:#fff;--blog-surface:#fff;--blog-text-primary:#000;--blog-text-body:#1f1f1f;--blog-text-secondary:#444;--blog-text-muted:#666;--blog-border:#d8d8d8;--blog-code-block-bg:#f7f7f7}.blog-page-container{background:#fff}.blog-progress,.blog-back-to-top,.blog-toolbar,.blog-code__bar,.heading-anchor{display:none!important}.blog-article{max-width:none;font-size:11.5pt;line-height:1.6}.blog-article h2:before{display:none}.blog-article a{text-decoration:none;color:#000!important}.blog-article a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:.78em}.blog-figure img,.blog-code,.blog-table-wrap{box-shadow:none;break-inside:avoid}.blog-article h2,.blog-article h3,.blog-article h4{break-after:avoid}}.blog-light .article-body [style*="color: #fff"],.blog-light .article-body [style*="color: #FFF"],.blog-light .article-body [style*="color: #ffffff"],.blog-light .article-body [style*="color: #FFFFFF"],.blog-light .article-body [style*="color: white"],.blog-light .article-body [style*="color: rgb(255, 255, 255)"],.blog-light .article-body [style*="color: cyan"],.blog-light .article-body [style*="color: #00ffff"],.blog-light .article-body [style*="color: #0ff"],.blog-light .article-body [style*="color: rgb(0, 255, 255)"],.blog-light .article-body [style*="color: yellow"],.blog-light .article-body [style*="color: #ffff00"],.blog-light .article-body [style*="color: #ff0"],.blog-light .article-body [style*="color: rgb(255, 255, 0)"]{color:var(--blog-text-body)!important}.blog-light .article-body a[style*=color]{color:var(--blog-link)!important}.blog-light [class*=text-white],.blog-light span.text-white\/75,.blog-light span.text-white\/50,.blog-light span.text-white\/60,.blog-light span.text-white\/65,.blog-light span.text-white\/70,.blog-light span.text-white\/80{color:#3a3a3a!important}.blog-light div[class*=bg-white\/]{background-color:#0000000d!important}.blog-light div[class*=border-white\/]{border-color:#00000026!important}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-blog-theme-vt=active]::view-transition-new(root){clip-path:var(--blog-theme-vt-clip-from)}html[data-blog-theme-vt=active]::view-transition-group(root){animation-duration:var(--blog-theme-vt-duration)}html[data-blog-theme-vt=active]{pointer-events:none;cursor:progress}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}
