.ec-comments[data-astro-cid-tigfs3xs]{--ec-comment-gap:1.5rem;--ec-comment-indent:2rem;--ec-comment-border:1px solid #e5e7eb}.ec-comments-list[data-astro-cid-tigfs3xs],.ec-comment-replies[data-astro-cid-tigfs3xs]{margin:0;padding:0;list-style:none}.ec-comments-list[data-astro-cid-tigfs3xs]>li[data-astro-cid-tigfs3xs]+li[data-astro-cid-tigfs3xs]{margin-top:var(--ec-comment-gap)}.ec-comment[data-astro-cid-tigfs3xs]{padding-bottom:var(--ec-comment-gap);border-bottom:var(--ec-comment-border)}.ec-comment-replies[data-astro-cid-tigfs3xs]{margin-top:var(--ec-comment-gap);padding-inline-start:var(--ec-comment-indent)}.ec-comment-replies[data-astro-cid-tigfs3xs]>li[data-astro-cid-tigfs3xs]+li[data-astro-cid-tigfs3xs]{margin-top:var(--ec-comment-gap)}.ec-comment-header[data-astro-cid-tigfs3xs]{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.ec-comment-author[data-astro-cid-tigfs3xs]{font-weight:600}.ec-comment-author[data-astro-cid-tigfs3xs] a[data-astro-cid-tigfs3xs]{color:inherit}.ec-comment-badge[data-astro-cid-tigfs3xs]{vertical-align:super;font-size:.75em}.ec-comment-date[data-astro-cid-tigfs3xs]{opacity:.6;font-size:.875em}.ec-comment-body[data-astro-cid-tigfs3xs]{white-space:pre-wrap;word-break:break-word;margin-top:.5rem}.ec-comment-actions[data-astro-cid-tigfs3xs]{margin-top:.5rem}.ec-reaction[data-astro-cid-tigfs3xs]{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-tigfs3xs][aria-pressed=true]{border-color:currentColor;font-weight:600}.ec-reaction[data-astro-cid-tigfs3xs][aria-pressed=true] .ec-reaction-icon[data-astro-cid-tigfs3xs]{color:#e0245e}.ec-reaction[data-astro-cid-tigfs3xs]:disabled{opacity:.5;cursor:default}.ec-reaction-count[data-astro-cid-tigfs3xs]{font-variant-numeric:tabular-nums}.ec-comment-form[data-astro-cid-yueo65eb]{--ec-form-gap:.75rem}.ec-comment-form-fields[data-astro-cid-yueo65eb]{gap:var(--ec-form-gap);display:grid}@media (width>=640px){.ec-comment-form-fields[data-astro-cid-yueo65eb]{grid-template-columns:1fr 1fr}}.ec-comment-form-field[data-astro-cid-yueo65eb]{margin-top:var(--ec-form-gap);flex-direction:column;gap:.25rem;display:flex}.ec-comment-form-field[data-astro-cid-yueo65eb]:first-child,.ec-comment-form-fields[data-astro-cid-yueo65eb] .ec-comment-form-field[data-astro-cid-yueo65eb]{margin-top:0}.ec-comment-form-field[data-astro-cid-yueo65eb] input[data-astro-cid-yueo65eb],.ec-comment-form-field[data-astro-cid-yueo65eb] textarea[data-astro-cid-yueo65eb]{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-yueo65eb] input[data-astro-cid-yueo65eb],.dark .ec-comment-form-field[data-astro-cid-yueo65eb] textarea[data-astro-cid-yueo65eb]{--ec-form-bg:#1f2937;--ec-form-border:#4b5563;--ec-form-color:#f9fafb}.ec-comment-user-info[data-astro-cid-yueo65eb]{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-yueo65eb]{background:var(--ec-form-user-bg-dark,#374151)}.ec-comment-user-name[data-astro-cid-yueo65eb]{font-weight:600}.ec-comment-user-email[data-astro-cid-yueo65eb]{opacity:.7}.ec-comment-user-email[data-astro-cid-yueo65eb]:before{content:"·";margin-inline-end:.5rem}.ec-comment-form-submit[data-astro-cid-yueo65eb]{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-yueo65eb]:disabled{opacity:.6;cursor:not-allowed}.ec-comment-form-status[data-astro-cid-yueo65eb]{margin-top:var(--ec-form-gap);font-size:.875em}.ec-comment-form-status[data-astro-cid-yueo65eb]:empty{display:none}.ec-comment-form-success[data-astro-cid-yueo65eb]{color:var(--ec-form-success-color,#059669)}.ec-comment-form-error[data-astro-cid-yueo65eb]{color:var(--ec-form-error-color,#dc2626)}.bookmark[data-astro-cid-eu3ai7e5]{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:10px;align-items:center;gap:.9rem;padding:.9rem 1.1rem;text-decoration:none;transition:border-color .15s;display:flex}.bookmark[data-astro-cid-eu3ai7e5]:hover{border-color:var(--accent)}.icon[data-astro-cid-eu3ai7e5]{color:var(--muted);flex:none;display:flex}.icon[data-astro-cid-eu3ai7e5] [data-astro-cid-eu3ai7e5][data-icon]{width:1.1rem;height:1.1rem}.body[data-astro-cid-eu3ai7e5]{flex-direction:column;gap:.15rem;min-width:0;display:flex}.name[data-astro-cid-eu3ai7e5]{font-weight:500}.address[data-astro-cid-eu3ai7e5]{color:var(--muted);font-size:.85rem}.meta[data-astro-cid-eu3ai7e5]{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);font-size:.72rem}.go[data-astro-cid-eu3ai7e5]{color:var(--muted);flex:none;margin-left:auto;display:flex}.go[data-astro-cid-eu3ai7e5] [data-astro-cid-eu3ai7e5][data-icon]{width:.95rem;height:.95rem}.bookmark[data-astro-cid-eu3ai7e5]:hover .go[data-astro-cid-eu3ai7e5]{color:var(--accent)}.callout[data-astro-cid-t4kz6gbq]{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.emoji[data-astro-cid-t4kz6gbq]{flex:none;font-size:1.1rem;line-height:1.5}p[data-astro-cid-t4kz6gbq]{margin:0}.toggle[data-astro-cid-ty4qnkq7]{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0 1.25rem}summary[data-astro-cid-ty4qnkq7]{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-weight:500;list-style:none;display:flex}summary[data-astro-cid-ty4qnkq7]::-webkit-details-marker{display:none}summary[data-astro-cid-ty4qnkq7]:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:.5rem;height:.5rem;transition:transform .2s;transform:rotate(45deg)translate(-.15em,-.15em)}.toggle[data-astro-cid-ty4qnkq7][open] summary[data-astro-cid-ty4qnkq7]:after{transform:rotate(225deg)translate(-.1em,-.1em)}summary[data-astro-cid-ty4qnkq7]:hover{color:var(--accent)}summary[data-astro-cid-ty4qnkq7]:hover:after{border-color:var(--accent)}p[data-astro-cid-ty4qnkq7]{margin:0 0 1rem}@media (prefers-reduced-motion:reduce){summary[data-astro-cid-ty4qnkq7]:after{transition:none}}.meta[data-astro-cid-zg7dkzxc]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);margin:0 0 .5rem;font-size:.78rem}h1[data-astro-cid-zg7dkzxc]{margin:0 0 .75rem;font-size:clamp(2rem,6vw,2.8rem)}.tags[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.tags[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;text-decoration:none;display:block}.tags[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{color:var(--accent);border-color:var(--accent)}.feature[data-astro-cid-zg7dkzxc]{margin:0 0 2rem}.feature[data-astro-cid-zg7dkzxc] img{aspect-ratio:16/9;object-fit:cover;border-radius:12px;width:100%;height:auto;display:block}.postscript[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--line);align-items:center;gap:.9rem;margin-top:3rem;padding-top:1.75rem;display:flex}.eyebrow[data-astro-cid-zg7dkzxc]{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.postscript[data-astro-cid-zg7dkzxc] [data-astro-cid-zg7dkzxc][data-icon]{width:1.2rem;height:1.2rem}.postscript[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc],.postscript[data-astro-cid-zg7dkzxc] button[data-astro-cid-zg7dkzxc]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.postscript[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover,.postscript[data-astro-cid-zg7dkzxc] button[data-astro-cid-zg7dkzxc]:hover,.postscript[data-astro-cid-zg7dkzxc] button[data-astro-cid-zg7dkzxc].copied{color:var(--accent)}.related[data-astro-cid-zg7dkzxc],.comments[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.75rem}.related[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc],.comments[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc]{margin:0 0 1.25rem;font-size:1.3rem}.post-content{font-size:1.05rem}.post-content>*+*{margin-top:1.4em}.post-content h2,.post-content h3,.post-content h4{font-family:var(--font-display);letter-spacing:-.01em;margin-top:2em;font-weight:500;line-height:1.25}.post-content h2{font-size:1.5rem}.post-content h3{font-size:1.2rem}.post-content h4{font-size:1.05rem}.post-content a{color:var(--accent);text-underline-offset:.15em}.post-content a[href^="/blog/tag/"]{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;text-decoration:none;display:inline-block}.post-content a[href^="/blog/tag/"]:hover{color:var(--accent);border-color:var(--accent)}.post-content ul,.post-content ol{padding-left:1.4em}.post-content li+li{margin-top:.4em}.post-content hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.post-content blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:0;padding-left:1rem;font-style:italic}.post-content img{border-radius:8px;max-width:100%;height:auto;margin-inline:auto;display:block}.post-content figure{margin-inline:0}.post-content figcaption{text-align:center;color:var(--muted);margin-top:.6rem;font-size:.85rem}.post-content code{background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);border-radius:4px;padding:.15em .4em;font-size:.85em}.post-content .emdash-code{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.post-content .emdash-code-filename{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:.5rem 1.25rem;font-size:.72rem}.post-content pre{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem;overflow-x:auto}.post-content .emdash-code pre{border:0;border-radius:0;margin:0}.post-content pre code{font-family:var(--font-mono);background:0 0;border:0;padding:0;font-size:.85rem;line-height:1.6}.hljs-comment,.hljs-quote{color:var(--muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-tag{color:var(--accent)}.hljs-string,.hljs-attr,.hljs-regexp,.hljs-addition{color:#7a9b5c}.hljs-number,.hljs-built_in,.hljs-symbol{color:#c98a4b}.hljs-title,.hljs-function,.hljs-name,.hljs-section{color:var(--ink);font-weight:500}.hljs-deletion{color:#d1495b}.comments{--ec-form-bg:var(--surface);--ec-form-color:var(--ink);--ec-form-border:var(--line);--ec-form-user-bg:var(--surface);--ec-form-user-bg-dark:var(--surface);--ec-form-user-border:var(--line);--ec-form-submit-bg:var(--surface);--ec-form-submit-color:var(--ink);--ec-comment-border:var(--line)}.comments .ec-comment-author{color:var(--ink)}.comments .ec-comment-date{font-family:var(--font-mono);color:var(--muted);font-size:.78rem}.comments .ec-comment-body{color:var(--ink)}.comments .ec-comment-form-field input,.comments .ec-comment-form-field textarea{border-radius:8px;width:100%;padding:.6rem .8rem}.comments .ec-comment-form-submit{border:1px solid var(--line);border-radius:999px;padding:.5rem 1.2rem;font-weight:400}.comments .ec-comment-form-submit:hover{border-color:var(--accent);color:var(--accent)}
