@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-ext-wght-normal.c-5QAGAI.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-cyrillic-wght-normal.BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-ext-wght-normal.BXZfsJY4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-greek-wght-normal.Cc-u-6OI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-vietnamese-wght-normal.BDs68eHQ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-ext-wght-normal.C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.Bo_j9asI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg:#f6f6f3;--bg-2:#ecece8;--surface:#fbfbf9;--ink:#16171a;--ink-2:#45474d;--muted:#6e7076;--line:#deded9;--line-strong:#c4c4be;--link:#1f3fd1;--link-visited:#6a3cb0;--cover-ink:#fbfbf9;--gold-ink:#8a6205;--good:#2f7a35;--bad:#b23a2a;--trunk-line:#a59a83;--font-display:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--font-read:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--font-sans:"Source Sans 3 Variable", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--step--1:clamp(.8rem, .78rem + .08vw, .85rem);--step-0:clamp(1rem, .97rem + .12vw, 1.07rem);--step-1:clamp(1.2rem, 1.14rem + .25vw, 1.34rem);--step-2:clamp(1.44rem, 1.33rem + .5vw, 1.67rem);--step-3:clamp(1.73rem, 1.54rem + .85vw, 2.09rem);--step-4:clamp(2.07rem, 1.76rem + 1.4vw, 2.61rem);--step-5:clamp(2.49rem, 1.98rem + 2.3vw, 3.73rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--max:1180px;--read:66ch;--radius:6px;--radius-sm:4px;--ease:cubic-bezier(.25, .8, .25, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}:root[data-theme=dark]{color-scheme:dark;--bg:#121316;--bg-2:#1b1c20;--surface:#17181b;--ink:#e8e8e5;--ink-2:#c3c4c8;--muted:#9a9ca3;--line:#2a2c31;--line-strong:#3b3d43;--link:#93a6ff;--link-visited:#c3a2ff;--gold-ink:#e3b83a;--good:#74c978;--bad:#ec7a68;--trunk-line:#cfc6b4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#121316;--bg-2:#1b1c20;--surface:#17181b;--ink:#e8e8e5;--ink-2:#c3c4c8;--muted:#9a9ca3;--line:#2a2c31;--line-strong:#3b3d43;--link:#93a6ff;--link-visited:#c3a2ff;--gold-ink:#e3b83a;--good:#74c978;--bad:#ec7a68;--trunk-line:#cfc6b4}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;margin:0;line-height:1.6;overflow-x:hidden}img,video,svg{max-width:100%;height:auto;display:block}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:400;line-height:1.12}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--link);color:var(--surface)}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--ink);color:var(--bg);border-radius:var(--radius-sm);padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.container{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}.section{padding-block:clamp(3.5rem,2.5rem + 5vw,7rem)}.section+.section{border-top:1px solid var(--line)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-bottom:clamp(1.75rem,1.4rem + 1.5vw,2.75rem);display:flex}.meta-line{font-family:var(--font-sans);font-size:var(--step--1);color:var(--muted);letter-spacing:.01em}.display{font-family:var(--font-display);font-size:var(--step-5);letter-spacing:-.012em;font-weight:400}.h2{font-family:var(--font-display);font-size:var(--step-4);letter-spacing:-.008em}.h3{font-family:var(--font-display);font-size:var(--step-2)}.lede{font-family:var(--font-read);font-size:var(--step-1);color:var(--ink-2);max-width:54ch;line-height:1.5}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-size:.82em}.hl{color:var(--link);text-underline-offset:.18em;transition:text-decoration-thickness .2s var(--ease), text-underline-offset .2s var(--ease);text-decoration:underline 1px}.hl:hover{text-underline-offset:.22em;text-decoration-thickness:2px}.link{text-underline-offset:.2em;transition:text-decoration-color .25s var(--ease);text-decoration:underline 1px #0000}.link:hover{text-decoration-color:currentColor}@media (pointer:coarse){.link,.jump a,.crumbs a,.backlink a{position:relative}.link:after,.jump a:after,.crumbs a:after,.backlink a:after{content:"";position:absolute;inset:-.7rem -.35rem}}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);min-height:2.75rem;font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink);cursor:pointer;transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);background:0 0;align-items:center;gap:.5rem;padding:.6rem 1.05rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn-solid{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-solid:hover{background:var(--ink-2);border-color:var(--ink-2)}.chip{border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--step--1);color:var(--ink-2);white-space:nowrap;padding:.2rem .55rem;display:inline-flex}.prose{font-family:var(--font-read);color:var(--ink-2);font-size:clamp(1.08rem,1rem + .3vw,1.2rem);line-height:1.68}.prose>:is(p,ul,ol,h2,h3,h4,blockquote,aside){max-width:var(--read)}.prose>pre{max-width:92ch}.prose>*+*{margin-top:1.1em}.prose h2{font-family:var(--font-display);font-size:var(--step-4);letter-spacing:-.01em;color:var(--ink);border-top:1px solid var(--line-strong);margin-top:2.6em;padding-top:1.1em;font-weight:500}.prose>h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose h2+*{margin-top:.7em}.prose h2{scroll-margin-top:5.5rem}.prose h2+p{color:var(--ink);font-size:1.14em;line-height:1.55}.prose figure figcaption{color:var(--ink-2);font-size:.92rem;line-height:1.5}.prose h3{font-family:var(--font-display);font-size:var(--step-2);color:var(--ink);margin-top:2.4em;scroll-margin-top:5.5rem;font-weight:500}.prose h3+*{margin-top:.6em}.prose h4{font-family:var(--font-sans);font-size:var(--step-0);color:var(--ink);margin-top:1.8em;font-weight:600}.prose h3[id^=step-]{margin-top:3.2rem}.prose h3[id^=step-]+p{color:var(--ink);font-size:1.08em}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--link);text-underline-offset:.18em;text-decoration:underline 1px}.prose a:hover{text-decoration-thickness:2px}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.4em}.prose blockquote{border-left:1px solid var(--line-strong);font-size:var(--step-2);color:var(--ink);margin:2em 0;padding-left:1.2em;line-height:1.35}.prose blockquote+blockquote{margin-top:-.5em}.prose blockquote p+p{margin-top:.5em}.prose blockquote cite{font-family:var(--font-sans);font-size:var(--step--1);color:var(--muted);font-style:normal;display:block}.prose code{font-family:var(--font-mono);background:var(--bg-2);border-radius:3px;padding:.1em .35em;font-size:.8em}.prose pre{border-radius:var(--radius);background:var(--bg-2);padding:1rem 1.2rem;line-height:1.6;overflow-x:auto}.prose pre code{color:var(--ink);background:0 0;padding:0;font-size:.78em}.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}.prose .clip-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:0 1.25rem;max-width:none;display:grid}.prose .clip-pair>*{margin-block:1.25rem}.prose .table-wrap{max-width:none;overflow-x:auto}.prose table{border-collapse:collapse;font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-2);font-variant-numeric:tabular-nums;line-height:1.45}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.5em 1.2em .5em 0}.prose th{color:var(--ink);border-bottom-color:var(--line-strong);font-weight:600}.prose>table{max-width:100%;display:block;overflow-x:auto}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}::view-transition-old(main){animation:page-out .2s var(--ease-in-out) both}::view-transition-new(main){animation:page-in .45s var(--ease) 50ms both}::view-transition-group(*){animation-duration:.55s;animation-timing-function:var(--ease)}:root.theme-switching *{view-transition-name:none!important}:root.theme-switching::view-transition-old(root),:root.theme-switching::view-transition-new(root){animation-duration:.4s;animation-timing-function:var(--ease)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media print{@page{size:A4;margin:16mm}html{font-size:14px}.display{font-size:28pt}.prose{font-size:10.5pt;line-height:1.45}.prose h2{margin-top:1rem;padding-top:.3rem;font-size:15pt}.prose p{margin-block:.6em}:root,:root[data-theme=dark]{color-scheme:light;--bg:#fff;--bg-2:#fff;--surface:#fff;--ink:#111;--ink-2:#222;--muted:#555;--line:#ccc;--line-strong:#999;--link:#111;--link-visited:#111}html,body{color:#111!important;background:#fff!important}.site-header,.footer,.skip-link,.to-top,.toc,.toc-m,.pn,.nextp,dialog{display:none!important}a{color:inherit!important}h1,h2,h3{break-after:avoid}p,li,blockquote{orphans:3;widows:3}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--bg);transition:transform .4s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs].is-scrolled{border-bottom-color:var(--line)}.site-header[data-astro-cid-nen7h5rs].is-hidden{transform:translateY(-100%)}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:2rem;height:4.25rem;display:flex}.brand[data-astro-cid-nen7h5rs]{min-height:2.75rem;font-family:var(--font-sans);font-size:var(--step--1);color:var(--ink-2);white-space:nowrap;align-items:center;gap:.55rem;margin-right:auto;font-weight:500;display:inline-flex}.brand-mark[data-astro-cid-nen7h5rs] circle[data-astro-cid-nen7h5rs]{fill:currentColor}.brand-mark[data-astro-cid-nen7h5rs] .on[data-astro-cid-nen7h5rs]{fill:var(--link)}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:1.6rem;margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{font-size:var(--step--1);color:var(--ink-2);transition:color .2s var(--ease), border-color .2s var(--ease);border-bottom:1px solid #0000;padding:.4rem 0;font-weight:500;display:block}.nav-link[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.nav-link[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.4rem;display:flex}.icon-btn[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--ink-2);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease);background:0 0;border:0;place-items:center;display:grid}.icon-btn[data-astro-cid-nen7h5rs]:hover{color:var(--ink);background:var(--bg-2)}.icon-btn[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{transition:opacity .3s var(--ease);grid-area:1/1}.moon[data-astro-cid-nen7h5rs],:root[data-theme=dark] .sun[data-astro-cid-nen7h5rs]{opacity:0}:root[data-theme=dark] .moon[data-astro-cid-nen7h5rs]{opacity:1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sun[data-astro-cid-nen7h5rs]{opacity:0}:root:not([data-theme=light]) .moon[data-astro-cid-nen7h5rs]{opacity:1}}.menu-btn[data-astro-cid-nen7h5rs]{display:none}.burger[data-astro-cid-nen7h5rs]{gap:5px;width:16px;display:grid}.burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{height:1.5px;transition:transform .3s var(--ease);background:currentColor}.menu-open[data-astro-cid-nen7h5rs] .burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-open[data-astro-cid-nen7h5rs] .burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:last-child{transform:translateY(-3.25px)rotate(-45deg)}.mobile-menu[data-astro-cid-nen7h5rs]{background:var(--bg);opacity:0;transition:opacity .25s var(--ease);position:fixed;inset:4.25rem 0 0;overflow-y:auto}.menu-open[data-astro-cid-nen7h5rs] .mobile-menu[data-astro-cid-nen7h5rs]{opacity:1}.mobile-menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin:0;padding:1rem 0;list-style:none}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line)}.mobile-menu[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-family:var(--font-display);font-size:var(--step-3);padding:1rem 0;display:block}.mobile-menu[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{text-underline-offset:.2em;text-decoration:underline 1px}@media (width<=860px){.nav[data-astro-cid-nen7h5rs]{display:none}.menu-btn[data-astro-cid-nen7h5rs]{display:grid}.menu-open[data-astro-cid-nen7h5rs]{border-bottom-color:var(--line)}}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);padding-top:clamp(3.5rem,2.5rem + 5vw,7rem)}.cta[data-astro-cid-jo6i4kqk]{gap:1rem;padding-bottom:clamp(3rem,2rem + 3vw,5rem);display:grid}.cta[data-astro-cid-jo6i4kqk] .h2[data-astro-cid-jo6i4kqk]{max-width:36ch}.mail[data-astro-cid-jo6i4kqk]{width:fit-content;max-width:100%;font-family:var(--font-display);font-size:var(--step-3);overflow-wrap:anywhere;margin-top:.5rem}.grid[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);font-size:var(--step--1);color:var(--ink-2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;padding-block:2.25rem;display:grid}.grid[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.label[data-astro-cid-jo6i4kqk]{color:var(--ink);margin-bottom:.5rem;font-weight:600}.base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);font-size:var(--step--1);color:var(--muted);justify-content:space-between;gap:1rem;padding-block:1.25rem 2.5rem;display:flex}.lightbox[data-astro-cid-utnzf2kr]{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.lightbox[data-astro-cid-utnzf2kr]::backdrop{backdrop-filter:blur(2px);background:#08080ae0}.lightbox[data-astro-cid-utnzf2kr][open]{animation:.18s ease-out lb-in}@keyframes lb-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.lightbox[data-astro-cid-utnzf2kr][open]{animation:none}}.stage[data-astro-cid-utnzf2kr]{place-items:center;padding:3.5rem 2rem 3rem;display:grid;position:absolute;inset:0;overflow:hidden}.frame[data-astro-cid-utnzf2kr]{line-height:0;position:relative}.stage[data-astro-cid-utnzf2kr] img[data-astro-cid-utnzf2kr]{object-fit:contain;cursor:zoom-in;background:#1e1e1e;border-radius:4px;width:auto;max-width:calc(100vw - 4rem);height:auto;max-height:calc(100dvh - 6.5rem);display:block;box-shadow:0 10px 40px #00000080}.marks[data-astro-cid-utnzf2kr]{pointer-events:none;position:absolute;inset:0}.marks[data-astro-cid-utnzf2kr] .lb-mark{color:#120d02;width:1.9rem;height:1.9rem;font-family:var(--font-sans);background:#ffd84a;border-radius:50%;place-items:center;font-size:.95rem;font-weight:800;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #120d02}.lightbox[data-astro-cid-utnzf2kr].zoomed .stage[data-astro-cid-utnzf2kr]{padding:2rem;display:flex;overflow:auto}.lightbox[data-astro-cid-utnzf2kr].zoomed .frame[data-astro-cid-utnzf2kr]{flex:none;margin:auto}.lightbox[data-astro-cid-utnzf2kr].zoomed .stage[data-astro-cid-utnzf2kr] img[data-astro-cid-utnzf2kr]{cursor:zoom-out;max-width:none;height:auto;max-height:none;image-rendering:pixelated}.close[data-astro-cid-utnzf2kr]{color:#fff;cursor:pointer;background:#00000080;border:1px solid #ffffff40;border-radius:50%;width:2.4rem;height:2.4rem;font-size:1.4rem;line-height:1;position:absolute;top:.75rem;right:.9rem}.close[data-astro-cid-utnzf2kr]:hover{background:#000c}.hint[data-astro-cid-utnzf2kr]{text-align:center;font-family:var(--font-sans);color:#fff9;pointer-events:none;margin:0;font-size:.75rem;position:absolute;bottom:.9rem;left:0;right:0}.lightbox[data-astro-cid-utnzf2kr].zoomed .hint[data-astro-cid-utnzf2kr]{display:none}html.lb-open{overflow:hidden}
