.ec-comments[data-astro-cid-godm52ds]{--ec-comment-gap:1.5rem;--ec-comment-indent:2rem;--ec-comment-border:1px solid #e5e7eb}.ec-comments-list[data-astro-cid-godm52ds],.ec-comment-replies[data-astro-cid-godm52ds]{margin:0;padding:0;list-style:none}.ec-comments-list[data-astro-cid-godm52ds]>li[data-astro-cid-godm52ds]+li[data-astro-cid-godm52ds]{margin-top:var(--ec-comment-gap)}.ec-comment[data-astro-cid-godm52ds]{padding-bottom:var(--ec-comment-gap);border-bottom:var(--ec-comment-border)}.ec-comment-replies[data-astro-cid-godm52ds]{margin-top:var(--ec-comment-gap);padding-inline-start:var(--ec-comment-indent)}.ec-comment-replies[data-astro-cid-godm52ds]>li[data-astro-cid-godm52ds]+li[data-astro-cid-godm52ds]{margin-top:var(--ec-comment-gap)}.ec-comment-header[data-astro-cid-godm52ds]{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.ec-comment-author[data-astro-cid-godm52ds]{font-weight:600}.ec-comment-author[data-astro-cid-godm52ds] a[data-astro-cid-godm52ds]{color:inherit}.ec-comment-badge[data-astro-cid-godm52ds]{vertical-align:super;font-size:.75em}.ec-comment-date[data-astro-cid-godm52ds]{opacity:.6;font-size:.875em}.ec-comment-body[data-astro-cid-godm52ds]{white-space:pre-wrap;word-break:break-word;margin-top:.5rem}.ec-comment-actions[data-astro-cid-godm52ds]{margin-top:.5rem}.ec-reaction[data-astro-cid-godm52ds]{font:inherit;color:inherit;border:var(--ec-comment-border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.875em;display:inline-flex}.ec-reaction[data-astro-cid-godm52ds][aria-pressed=true]{border-color:currentColor;font-weight:600}.ec-reaction[data-astro-cid-godm52ds][aria-pressed=true] .ec-reaction-icon[data-astro-cid-godm52ds]{color:#e0245e}.ec-reaction[data-astro-cid-godm52ds]:disabled{opacity:.5;cursor:default}.ec-reaction-count[data-astro-cid-godm52ds]{font-variant-numeric:tabular-nums}.ec-comment-form[data-astro-cid-myimadtb]{--ec-form-gap:.75rem}.ec-comment-form-fields[data-astro-cid-myimadtb]{gap:var(--ec-form-gap);display:grid}@media (width>=640px){.ec-comment-form-fields[data-astro-cid-myimadtb]{grid-template-columns:1fr 1fr}}.ec-comment-form-field[data-astro-cid-myimadtb]{margin-top:var(--ec-form-gap);flex-direction:column;gap:.25rem;display:flex}.ec-comment-form-field[data-astro-cid-myimadtb]:first-child,.ec-comment-form-fields[data-astro-cid-myimadtb] .ec-comment-form-field[data-astro-cid-myimadtb]{margin-top:0}.ec-comment-form-field[data-astro-cid-myimadtb] input[data-astro-cid-myimadtb],.ec-comment-form-field[data-astro-cid-myimadtb] textarea[data-astro-cid-myimadtb]{border:1px solid var(--ec-form-border,#d1d5db);font:inherit;background:var(--ec-form-bg,#fff);color:var(--ec-form-color,inherit);border-radius:.25rem;padding:.5rem}.dark .ec-comment-form-field[data-astro-cid-myimadtb] input[data-astro-cid-myimadtb],.dark .ec-comment-form-field[data-astro-cid-myimadtb] textarea[data-astro-cid-myimadtb]{--ec-form-bg:#1f2937;--ec-form-border:#4b5563;--ec-form-color:#f9fafb}.ec-comment-user-info[data-astro-cid-myimadtb]{background:var(--ec-form-user-bg,#f3f4f6);border:1px solid var(--ec-form-user-border,#d1d5db);border-radius:.375rem;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.dark .ec-comment-user-info[data-astro-cid-myimadtb]{background:var(--ec-form-user-bg-dark,#374151)}.ec-comment-user-name[data-astro-cid-myimadtb]{font-weight:600}.ec-comment-user-email[data-astro-cid-myimadtb]{opacity:.7}.ec-comment-user-email[data-astro-cid-myimadtb]:before{content:"·";margin-inline-end:.5rem}.ec-comment-form-submit[data-astro-cid-myimadtb]{margin-top:var(--ec-form-gap);font:inherit;cursor:pointer;background:var(--ec-form-submit-bg,#1f2937);color:var(--ec-form-submit-color,#fff);border:none;border-radius:.25rem;padding:.5rem 1.5rem;font-weight:600}.ec-comment-form-submit[data-astro-cid-myimadtb]:disabled{opacity:.6;cursor:not-allowed}.ec-comment-form-status[data-astro-cid-myimadtb]{margin-top:var(--ec-form-gap);font-size:.875em}.ec-comment-form-status[data-astro-cid-myimadtb]:empty{display:none}.ec-comment-form-success[data-astro-cid-myimadtb]{color:var(--ec-form-success-color,#059669)}.ec-comment-form-error[data-astro-cid-myimadtb]{color:var(--ec-form-error-color,#dc2626)}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.post-header[data-astro-cid-z7xolria]{padding-top:clamp(3rem,2rem + 3vw,4.5rem)}.post-header__inner[data-astro-cid-z7xolria]{max-width:var(--content-width);margin-inline:auto}.post-header__meta[data-astro-cid-z7xolria]{align-items:center;gap:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.post-header__chip[data-astro-cid-z7xolria]{font-size:var(--font-size-xs);padding:2px 12px}.post-header__title[data-astro-cid-z7xolria]{margin-top:var(--spacing-5);font-size:clamp(1.875rem,1.4rem + 2.2vw,3rem);line-height:1.15}.post-header__subtitle[data-astro-cid-z7xolria]{margin-top:var(--spacing-3);color:var(--color-muted);font-size:clamp(1.25rem,1.1rem + .7vw,1.5rem);font-weight:500}.post-header__chapeau[data-astro-cid-z7xolria]{margin-top:var(--spacing-6);border-left:4px solid var(--color-brand-500);background:var(--color-bg-subtle);font-size:var(--font-size-lg);font-style:italic;line-height:var(--leading-relaxed);color:var(--color-text-secondary);padding:12px 16px 12px 20px}.post-hero[data-astro-cid-z7xolria]{margin-top:var(--spacing-10)}.post-hero__media[data-astro-cid-z7xolria]{border-radius:var(--radius-xl);background:var(--color-fill);overflow:hidden}.post-hero__media[data-astro-cid-z7xolria] img{width:100%;max-width:none}.post-body[data-astro-cid-z7xolria]{gap:var(--spacing-12);margin-top:var(--spacing-12);display:flex}.post-toc[data-astro-cid-z7xolria]{display:none}.content-body[data-astro-cid-z7xolria]{width:100%;min-width:0;margin-inline:auto}@media (width>=1024px){.post-toc[data-astro-cid-z7xolria]{top:calc(var(--nav-height) + var(--spacing-8));width:var(--gutter-width);flex-shrink:0;height:fit-content;display:block;position:sticky}.post-toc__label[data-astro-cid-z7xolria]{margin-bottom:var(--spacing-3);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);font-weight:600}.post-toc[data-astro-cid-z7xolria] nav[data-astro-cid-z7xolria]{border-left:1px solid var(--color-border)}.content-body[data-astro-cid-z7xolria]{margin-inline:0}}.post-toc[data-astro-cid-z7xolria] .toc-link{font-size:var(--font-size-sm);color:var(--color-muted);transition:color var(--transition-fast), border-color var(--transition-fast);border-left:2px solid #0000;margin-left:-1px;padding:4px 0 4px 12px;display:block}.post-toc[data-astro-cid-z7xolria] .toc-link:hover{border-left-color:var(--color-brand-300);color:var(--color-text)}.post-toc[data-astro-cid-z7xolria] .toc-link.is-active{border-left-color:var(--color-brand-500);color:var(--color-brand-700);font-weight:500}.post-toc[data-astro-cid-z7xolria] .toc-link--h3{padding-left:24px;font-size:.8rem}.contact-form-section[data-astro-cid-z7xolria]{max-width:42rem;margin-top:var(--spacing-8)}.post-comments[data-astro-cid-z7xolria]{margin-top:var(--spacing-12);padding-top:var(--spacing-10);border-top:1px solid var(--color-border)}.post-comments__inner[data-astro-cid-z7xolria]{max-width:var(--content-width);margin-inline:auto}.post-comments[data-astro-cid-z7xolria] h2[data-astro-cid-z7xolria]{margin-bottom:var(--spacing-6);font-size:var(--font-size-2xl)}.post-comments:not(:has(.ec-comments,.ec-comment-form)){display:none}.post-comments[data-astro-cid-z7xolria] .ec-comments{--ec-comment-border:1px solid var(--color-border);--ec-comment-gap:var(--spacing-6);--ec-comment-indent:var(--spacing-5)}.post-comments[data-astro-cid-z7xolria] .ec-comment-author{font-size:var(--font-size-sm);color:var(--color-text)}.post-comments[data-astro-cid-z7xolria] .ec-comment-date{opacity:1;color:var(--color-muted);font-size:var(--font-size-xs)}.post-comments[data-astro-cid-z7xolria] .ec-comment-body{line-height:var(--leading-relaxed);color:var(--color-text)}.post-comments[data-astro-cid-z7xolria] .ec-comment-replies{padding-left:0;border-inline-start:1px solid var(--color-border);padding-inline-start:var(--ec-comment-indent)}.post-comments[data-astro-cid-z7xolria] .ec-comment-form{margin-top:var(--spacing-8);border:1px solid var(--color-ring);border-radius:var(--radius-xl);background:var(--color-surface);padding:clamp(1rem,.5rem + 2vw,1.5rem);position:relative;overflow:clip}.post-comments[data-astro-cid-z7xolria] .ec-comment-form .ec-comment-form-field input,.post-comments[data-astro-cid-z7xolria] .ec-comment-form .ec-comment-form-field textarea{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base);border-radius:10px;padding:10px 12px}.post-comments[data-astro-cid-z7xolria] .ec-comment-form .ec-comment-form-field textarea{resize:vertical;min-height:8rem}.post-comments[data-astro-cid-z7xolria] .ec-comment-form .ec-comment-form-field :is(input,textarea):focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring);outline:2px solid #0000}.post-comments[data-astro-cid-z7xolria] .ec-comment-form-submit{height:40px;margin-top:var(--spacing-4);padding:0 var(--spacing-5);border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-on-brand);font-size:var(--font-size-sm);transition:background-color var(--transition-fast), scale var(--transition-fast);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.post-comments[data-astro-cid-z7xolria] .ec-comment-form-submit:hover:not(:disabled){background:var(--color-brand-hover)}.post-comments[data-astro-cid-z7xolria] .ec-comment-form-submit:active:not(:disabled){scale:.98}#reading-progress{z-index:60;background:var(--color-brand-500);width:0;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.code-block{border-radius:var(--radius-lg);background:#0d1117;border:1px solid #30363d;margin-block:1.5rem;position:relative;overflow:hidden}.code-block__bar{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.code-block__lang{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;color:#8b949e}.code-copy{border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:#8b949e;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.code-copy:hover{color:#fff;background:#ffffff1a}.code-block pre{overflow-x:auto;border:0!important;border-radius:0!important;margin-block:0!important}
