.emdash-image-media[data-astro-cid-wur4q4dn]{max-width:100%;height:auto}:where(:root.dark) .emdash-image--light{display:none}:where(:root.light) .emdash-image--dark{display:none}@media(prefers-color-scheme:dark){:where(:root:not(.light)) .emdash-image--light{display:none}}@media(prefers-color-scheme:light){:where(:root:not(.dark)) .emdash-image--dark{display:none}}.has-text-align-center[data-astro-cid-w77tfqec]{text-align:center}.has-text-align-right[data-astro-cid-w77tfqec]{text-align:right}.has-text-align-justify[data-astro-cid-w77tfqec]{text-align:justify}.emdash-image[data-astro-cid-c77amajr]{margin:1.5rem 0}.emdash-image[data-astro-cid-c77amajr] img[data-astro-cid-c77amajr]{max-width:100%;height:auto}.emdash-image[data-astro-cid-c77amajr] figcaption[data-astro-cid-c77amajr]{font-size:.875rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:.5rem;text-align:center}.emdash-image--align-left[data-astro-cid-c77amajr],.emdash-image--align-right[data-astro-cid-c77amajr]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-c77amajr]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-c77amajr]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-c77amajr]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-c77amajr],.emdash-image--align-full[data-astro-cid-c77amajr]{width:100%}@media(max-width:640px){.emdash-image--align-left[data-astro-cid-c77amajr],.emdash-image--align-right[data-astro-cid-c77amajr]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-rrknb7h2]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-rrknb7h2]{font-size:.75rem;font-family:monospace;background:#2d2d2d;color:#ccc;padding:.5rem 1rem;border-radius:.5rem .5rem 0 0}.emdash-code[data-astro-cid-rrknb7h2] pre[data-astro-cid-rrknb7h2]{margin:0;padding:1rem;background:#1e1e1e;border-radius:.5rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-rrknb7h2]+pre[data-astro-cid-rrknb7h2]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-rrknb7h2] code[data-astro-cid-rrknb7h2]{font-family:Fira Code,Consolas,monospace;font-size:.875rem;color:#e0e0e0}.emdash-embed[data-astro-cid-rv6obr27]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-rv6obr27]{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.emdash-embed-video[data-astro-cid-rv6obr27] iframe[data-astro-cid-rv6obr27],.emdash-embed-video[data-astro-cid-rv6obr27] video[data-astro-cid-rv6obr27]{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.emdash-embed-audio[data-astro-cid-rv6obr27]{width:100%}.emdash-embed-audio[data-astro-cid-rv6obr27] audio[data-astro-cid-rv6obr27]{width:100%}.emdash-embed[data-astro-cid-rv6obr27] figcaption[data-astro-cid-rv6obr27]{font-size:.875rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:.5rem;text-align:center}.emdash-gallery[data-astro-cid-k5mihd7e]{display:grid;grid-template-columns:repeat(var(--columns, 3),1fr);gap:1rem;margin:1.5rem 0}.emdash-gallery-item[data-astro-cid-k5mihd7e]{margin:0}.emdash-gallery-item[data-astro-cid-k5mihd7e] img[data-astro-cid-k5mihd7e]{width:100%;height:auto;object-fit:cover;aspect-ratio:1}.emdash-gallery-item[data-astro-cid-k5mihd7e] figcaption[data-astro-cid-k5mihd7e]{font-size:.75rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:.25rem;text-align:center}@media(max-width:640px){.emdash-gallery[data-astro-cid-k5mihd7e]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-5fmffuo6]{display:flex;gap:2rem;margin:1.5rem 0}.emdash-column[data-astro-cid-5fmffuo6]{flex:1;min-width:0}@media(max-width:768px){.emdash-columns[data-astro-cid-5fmffuo6]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-yeaweyir]{margin:2rem 0}.emdash-break-line[data-astro-cid-yeaweyir]{border:none;border-top:1px solid var(--emdash-break-color, var(--color-border, #e0e0e0))}.emdash-break-dots[data-astro-cid-yeaweyir]{text-align:center;color:var(--emdash-break-dots-color, var(--color-muted, #999));letter-spacing:.5em}.emdash-break-space[data-astro-cid-yeaweyir]{height:2rem}.emdash-html-block[data-astro-cid-jlluofsg]{margin:1.5rem 0}.emdash-table-wrapper[data-astro-cid-e27mihft]{margin:1.5rem 0;overflow-x:auto}.emdash-table[data-astro-cid-e27mihft]{width:100%;border-collapse:collapse;font-size:.9rem}.emdash-table[data-astro-cid-e27mihft] th[data-astro-cid-e27mihft],.emdash-table[data-astro-cid-e27mihft] td[data-astro-cid-e27mihft]{border:1px solid var(--color-border, #ddd);padding:.75rem;text-align:left}.emdash-table[data-astro-cid-e27mihft] th[data-astro-cid-e27mihft] p,.emdash-table[data-astro-cid-e27mihft] td[data-astro-cid-e27mihft] p{margin:0}.emdash-table[data-astro-cid-e27mihft] th[data-astro-cid-e27mihft]{background:var(--color-surface, #f5f5f5);font-weight:600}.emdash-table[data-astro-cid-e27mihft] tbody[data-astro-cid-e27mihft] tr[data-astro-cid-e27mihft]:nth-child(2n){background:var(--color-bg-subtle, #fafafa)}.emdash-table[data-astro-cid-e27mihft] tbody[data-astro-cid-e27mihft] tr[data-astro-cid-e27mihft]:hover{background:var(--color-surface, #f0f0f0)}.emdash-button[data-astro-cid-owpxga2f]{display:inline-block;padding:.75em 1.5em;border-radius:4px;text-decoration:none;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.emdash-button--default[data-astro-cid-owpxga2f],.emdash-button--fill[data-astro-cid-owpxga2f]{background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff);border:2px solid var(--emdash-button-bg, #0073aa)}.emdash-button--default[data-astro-cid-owpxga2f]:hover,.emdash-button--fill[data-astro-cid-owpxga2f]:hover{background-color:var(--emdash-button-bg-hover, #005177);border-color:var(--emdash-button-bg-hover, #005177)}.emdash-button--outline[data-astro-cid-owpxga2f]{background-color:transparent;color:var(--emdash-button-bg, #0073aa);border:2px solid var(--emdash-button-bg, #0073aa)}.emdash-button--outline[data-astro-cid-owpxga2f]:hover{background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff)}.emdash-buttons[data-astro-cid-7xkrfyib]{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.emdash-buttons--vertical[data-astro-cid-7xkrfyib]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-7xkrfyib]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-nmjg64d4]{position:relative;display:flex;align-items:center;padding:2rem;margin:1.5rem 0;overflow:hidden;border-radius:4px;background-color:var(--emdash-cover-fallback-bg, #333)}.emdash-cover__background[data-astro-cid-nmjg64d4]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.emdash-cover__video[data-astro-cid-nmjg64d4]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-nmjg64d4]{position:absolute;inset:0;z-index:1}.emdash-cover__content[data-astro-cid-nmjg64d4]{position:relative;z-index:2;width:100%;color:var(--emdash-cover-text-color, #fff)}.emdash-cover--align-left[data-astro-cid-nmjg64d4]{justify-content:flex-start;text-align:left}.emdash-cover--align-center[data-astro-cid-nmjg64d4]{justify-content:center;text-align:center}.emdash-cover--align-right[data-astro-cid-nmjg64d4]{justify-content:flex-end;text-align:right}.emdash-cover__content[data-astro-cid-nmjg64d4] h1,.emdash-cover__content[data-astro-cid-nmjg64d4] h2,.emdash-cover__content[data-astro-cid-nmjg64d4] h3,.emdash-cover__content[data-astro-cid-nmjg64d4] h4,.emdash-cover__content[data-astro-cid-nmjg64d4] p{color:inherit}.emdash-file[data-astro-cid-npn3z55l]{display:flex;align-items:center;gap:.75rem;padding:1rem;margin:1rem 0;background-color:var(--emdash-file-bg, #f5f5f5);border-radius:4px;border:1px solid var(--emdash-file-border, #e0e0e0)}.emdash-file__link[data-astro-cid-npn3z55l]{display:flex;align-items:center;gap:.5rem;flex:1;text-decoration:none;color:var(--emdash-file-color, #333)}.emdash-file__link[data-astro-cid-npn3z55l]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-npn3z55l]{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--emdash-file-icon-color, #666)}.emdash-file__name[data-astro-cid-npn3z55l]{font-weight:500;word-break:break-all}.emdash-file__download[data-astro-cid-npn3z55l]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff);border-radius:4px;transition:background-color .2s}.emdash-file__download[data-astro-cid-npn3z55l]:hover{background-color:var(--emdash-button-bg-hover, #005177)}.emdash-file__download[data-astro-cid-npn3z55l] svg[data-astro-cid-npn3z55l]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-spcxuuka]{margin:2rem 0;padding:1.5rem 2rem;border-top:4px solid var(--emdash-pullquote-border, #0073aa);border-bottom:4px solid var(--emdash-pullquote-border, #0073aa);text-align:center}.emdash-pullquote__text[data-astro-cid-spcxuuka]{font-size:1.5rem;font-style:italic;line-height:1.4;color:var(--emdash-pullquote-color, #333);margin:0}.emdash-pullquote__citation[data-astro-cid-spcxuuka]{margin-top:1rem;font-size:.9rem;font-style:normal;color:var(--emdash-pullquote-citation-color, #666)}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Geist Variable,system-ui,sans-serif;color-scheme:light dark;--bg: light-dark(#faf9f6, #191e1b);--text: light-dark(#252922, #e8eee9);--muted: light-dark(#656b60, #a9b7ad);--line: light-dark(#dedfd5, #38473e);--accent: light-dark(#426142, #9ac7ac);--surface: light-dark(transparent, #222a25);--control-line: light-dark(#dedfd5, #64776a);--hover: light-dark(#dedfd5, #2d3b32);--code-bg: light-dark(#eceee7, #222a25);background:var(--bg);color:var(--text)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}header,main,footer{max-width:1000px;margin:auto;padding:30px 28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:23px;font-weight:650;text-decoration:none}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.12em;color:var(--muted);margin-top:7px}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:14px}button,input{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--control-line);padding:10px;border-radius:4px}button{cursor:pointer}main{min-height:70vh;padding-top:64px;padding-bottom:80px}h1{font-size:clamp(32px,6vw,56px);font-weight:550;letter-spacing:-.035em;line-height:1.25}h2{font-size:25px;font-weight:550}p{line-height:1.85}.lead{max-width:600px;font-size:20px;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--accent)}.section-head{margin-top:64px;display:flex;justify-content:space-between;align-items:center}.post{padding:28px 0;border-top:1px solid var(--line)}.post :is(h2,h3){margin:8px 0}.post :is(h2,h3) a{text-decoration:none}.meta{font-size:13px;color:var(--muted)}.empty{border-top:1px solid var(--line);padding:36px 0;color:var(--muted)}.pagination{display:flex;gap:24px;margin-top:32px}.tags{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.prose{max-width:720px;margin:auto;line-height:1.85;overflow-wrap:anywhere}.prose img{max-width:100%;height:auto}.prose pre{overflow:auto;padding:20px;background:var(--code-bg)}.prose blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:24px}.preview{padding:12px;background:light-dark(#fff0c9,#3a3222);color:light-dark(#252922,#f0dcae)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--bg);padding:12px;z-index:100}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}form{display:flex;gap:12px;margin:28px 0}input[type=search]{flex:1;min-width:0}@media(max-width:600px){header,main,footer{padding-left:20px;padding-right:20px}nav{gap:16px}footer{gap:18px;flex-wrap:wrap}}.post,.post-copy,.empty,.group-title{min-width:0;overflow-wrap:anywhere}header nav a{padding:12px 4px;min-height:44px;display:inline-flex;align-items:center}header nav a[aria-current]{color:var(--accent);text-decoration:underline}button:hover{background:var(--hover);border-color:var(--accent)}header{gap:16px;flex-wrap:wrap}.post.with-cover{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px}.post-cover{display:block;align-self:start}.post-cover img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;border-radius:4px}.post-copy p{margin:12px 0}.sections{flex-wrap:wrap;gap:12px;margin:28px 0 12px}.sections a{background:var(--surface);padding:10px 14px;border:1px solid var(--control-line);border-radius:4px}.sections span{color:var(--muted);margin-left:8px}.group-title{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;margin-top:48px;scroll-margin-top:24px}.group-title a{font-size:14px;font-weight:400}.toc{background:var(--surface);margin:28px 0;padding:16px 20px;border:1px solid var(--line);border-radius:4px}.toc summary{cursor:pointer;color:var(--accent)}.toc nav{display:block}.toc ol{padding-left:20px}.toc li{padding:4px 0}.toc li.nested{margin-left:16px}.toc a{font-size:15px;text-decoration:underline}.prose :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:24px}.heading-anchor{margin-left:8px;font-size:.7em;color:var(--muted);text-decoration:none}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}@media(max-width:600px){main{padding-top:36px}.section-head{margin-top:40px}.post.with-cover{grid-template-columns:minmax(0,1fr);gap:16px}.post-cover img{aspect-ratio:16 / 9}header nav{gap:12px}}.post h3{font-size:25px;font-weight:550}input::placeholder{color:var(--muted);opacity:1}.sections a:hover{background:var(--hover);border-color:var(--accent)}.categories{margin-bottom:28px}.categories a[aria-current],.tag-options a[aria-current]{background:var(--hover);color:var(--accent);border-color:var(--accent);text-decoration:underline;text-underline-offset:5px}.categories a{overflow-wrap:anywhere;max-width:100%}.tag-filter{margin:20px 0 28px}.tag-filter summary{cursor:pointer;padding:10px 0;color:var(--muted)}.tag-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-options a{padding:8px 12px;border:1px solid var(--line);border-radius:4px;overflow-wrap:anywhere}.filter-status{color:var(--muted);overflow-wrap:anywhere}.filter-status a{margin-left:12px}.post-categories{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0;font-size:13px;color:var(--accent)}.post-categories a{text-decoration:underline}.results-feedback{display:flex;align-items:center;gap:.75rem;min-height:2rem;margin-bottom:.5rem;font-size:.875rem;color:var(--muted)}.results-feedback p{margin:0}.results-feedback button[hidden]{display:none}[data-results-region][aria-busy=true]{cursor:progress}[data-results-region] h1:focus-visible{outline:2px solid var(--accent);outline-offset:.25rem}
