@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+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: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+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: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+??,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-italic.BYAq_K0C.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:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-italic.Da0gXVk3.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-italic.0fly6zkB.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:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-italic.XgKbg5n7.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:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-italic.dTnRTFFJ.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:dark;--bg:#060609;--bg-1:#0a0a0f;--bg-2:#101017;--bg-3:#16161f;--panel:#0e0e15b8;--panel-top:#14141ec7;--panel-bottom:#0a0a0fdb;--ink:#eeede8;--ink-2:#bdbbb7;--ink-3:#92918e;--ink-4:#45454b;--ink-hi:#fff;--bg-rgb:6 6 9;--ink-rgb:238 237 232;--wash-rgb:255 255 255;--shadow-k:1;--line:#eeede817;--line-2:#eeede829;--line-3:#eeede838;--t1:#b6a4ff;--t2:#6fe3c1;--t3:#ffc96b;--t4:#ff8a80;--t5:#7cc4ff;--ok:var(--t2);--warn:var(--t3);--err:var(--t4);--field-opacity:.72;--viz-node:#121219;--viz-edge:rgb(var(--ink-rgb) / .16);--viz-ground:#0c0c12;--f-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--f-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--gutter:clamp(16px, 4.2vw, 64px);--maxw:1360px;--hud-h:72px;--fs-display:clamp(3rem, 8vw, 8.2rem);--fs-h2:clamp(2.5rem, 5vw, 4.5rem);--fs-h2-minor:clamp(2.125rem, 3.8vw, 3.5rem);--fs-h3:clamp(1.875rem, 3.2vw, 3rem);--fs-lead:clamp(1.375rem, 2.2vw, 1.875rem);--fs-title:clamp(1.25rem, 1.8vw, 1.5rem);--fs-title-s:1.1875rem;--fs-lede:clamp(1.125rem, 1.4vw, 1.25rem);--fs-body:1.0625rem;--fs-body-s:1rem;--fs-small:.875rem;--fs-xs:.8125rem;--fs-micro:.75rem;--tr-display:-.045em;--tr-head:-.035em;--tr-snug:-.02em;--tr-mono:.02em;--fw-body:400;--fw-medium:500;--fw-head:550;--fw-display:600}:root[data-theme=light]{color-scheme:light;--bg:#f7f6f2;--bg-1:#f1f0eb;--bg-2:#eae8e2;--bg-3:#e2e0d9;--panel:#ffffffb3;--panel-top:#ffffffd1;--panel-bottom:#faf9f5e6;--ink:#15151a;--ink-2:#3f3e3a;--ink-3:#66655f;--ink-4:#b4b2aa;--ink-hi:#000;--bg-rgb:247 246 242;--ink-rgb:21 21 26;--wash-rgb:21 21 26;--shadow-k:.2;--line:#15151a1a;--line-2:#15151a29;--line-3:#15151a42;--t1:#6a4bd6;--t2:#0b7a5e;--t3:#94570a;--t4:#bf3e2d;--t5:#1a6bb8;--field-opacity:.94;--viz-node:#f2f1ec;--viz-edge:rgb(var(--ink-rgb) / .2);--viz-ground:#fbfaf8}.theme-switching *,.theme-switching :before,.theme-switching :after{transition:none!important}@media (width<=480px){:root{--fs-micro:.8125rem;--fs-xs:.875rem}}.cite:before{content:"";position:absolute;inset:-5px -3px}@media (pointer:coarse){.link,.cite{position:relative}.link:after{content:"";position:absolute;inset:-10px -4px}.cite:before{content:"";position:absolute;inset:-12px -8px}button.chip{min-height:40px;padding-inline:12px}summary{padding-block:10px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hud-h) + 24px)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6;overflow-x:hidden}::selection{background:color-mix(in oklab, var(--t1) 45%, transparent);color:var(--ink)}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--t2);outline-offset:3px;border-radius:4px}h1,h2,h3,h4,p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--bg);font-family:var(--f-mono);font-size:var(--fs-small);transition:top .2s var(--ease-out);border-radius:8px;padding:10px 14px;position:fixed;top:-60px;left:16px}.skip:focus{top:12px}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.chapter{z-index:2;padding-block:clamp(96px,16vh,200px);position:relative}.mono{font-family:var(--f-mono);letter-spacing:var(--tr-mono)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.chap-head{gap:22px;max-width:1080px;margin-bottom:clamp(48px,8vh,96px);display:grid}.chap-title{font-size:var(--fs-h2);letter-spacing:var(--tr-display);line-height:1.06;font-weight:var(--fw-head);text-wrap:balance}.chap-title.minor{font-size:var(--fs-h2-minor);letter-spacing:var(--tr-head)}.lede{font-size:var(--fs-lede);color:var(--ink-2);text-wrap:pretty;max-width:34em;line-height:1.5}.lede strong{color:var(--ink);font-weight:var(--fw-medium)}.tok{--c:var(--t1);background:color-mix(in oklab, var(--c) 16%, transparent);box-shadow:inset 0 -.09em 0 color-mix(in oklab, var(--c) 72%, transparent);white-space:pre-wrap;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.18em}.c1{--c:var(--t1)}.c2{--c:var(--t2)}.c3{--c:var(--t3)}.c4{--c:var(--t4)}.c5{--c:var(--t5)}.cite{min-width:1.7em;height:1.35em;font-family:var(--f-mono);font-size:.66em;font-weight:var(--fw-medium);vertical-align:.28em;color:var(--t2);background:color-mix(in oklab, var(--t2) 12%, transparent);border:1px solid color-mix(in oklab, var(--t2) 30%, transparent);transition:background .2s, color .2s, transform .2s var(--ease-out);cursor:pointer;border-radius:.36em;justify-content:center;align-items:center;margin-inline:.12em;padding:0 .32em;line-height:1;display:inline-flex;position:relative}.cite:hover,.cite:focus-visible{background:var(--t2);color:var(--bg);transform:translateY(-1px)}.cite[data-tip]:hover:after,.cite[data-tip]:focus-visible:after{content:attr(data-tip);white-space:nowrap;text-overflow:ellipsis;background:var(--bg-3);border:1px solid var(--line-2);max-width:70vw;color:var(--ink);font-size:var(--fs-micro);font-weight:var(--fw-body);letter-spacing:0;pointer-events:none;z-index:20;box-shadow:0 12px 30px -10px rgb(0 0 0/calc(.7 * var(--shadow-k)));border-radius:8px;padding:7px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:26px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink-2);background:rgb(var(--wash-rgb) / .03);border:1px solid var(--line-2);white-space:nowrap;border-radius:6px;align-items:center;padding:0 10px;line-height:1.2;display:inline-flex}.btn{--c:var(--ink);height:46px;font-size:var(--fs-small);font-weight:var(--fw-medium);border:1px solid var(--line-2);background:rgb(var(--wash-rgb) / .02);transition:background .25s, border-color .25s, color .25s, transform .35s var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:0 18px;display:inline-flex}.btn:hover{border-color:var(--line-3);background:rgb(var(--wash-rgb) / .06);transform:translateY(-2px)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:var(--ink-hi)}.btn .arr{transition:transform .35s var(--ease-out)}.btn:hover .arr{transform:translate(3px)}.link{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--ink-2);border-bottom:1px solid var(--line-2);align-items:center;gap:6px;padding-bottom:2px;transition:color .2s,border-color .2s;display:inline-flex}.link:hover{color:var(--ink);border-color:var(--t2)}.panel{background:linear-gradient(180deg, var(--panel-top), var(--panel-bottom));border:1px solid var(--line);box-shadow:0 1px 0 rgb(var(--wash-rgb) / .04) inset, 0 40px 80px -40px rgb(0 0 0/calc(.8 * var(--shadow-k)));backdrop-filter:blur(14px);border-radius:20px;position:relative}.panel-bar{border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--ink-3);letter-spacing:var(--tr-mono);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.js [data-reveal]{opacity:0;transform:translateY(28px)}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.viz{gap:12px;display:grid;position:relative}.viz-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.viz-status{background:rgb(var(--wash-rgb) / .04);border:1px solid var(--line);min-height:30px;font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--ink-2);border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:inline-flex}.viz-status:before{content:"";background:var(--sc,var(--t2));border-radius:2px;flex:none;width:7px;height:7px;transition:background .3s}.viz-ctl{align-items:center;gap:6px;margin-left:auto;display:flex}.viz-btn{border:1px solid var(--line-2);min-height:30px;font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--ink-2);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 11px;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.viz-btn:hover{color:var(--ink);border-color:var(--line-3);background:rgb(var(--wash-rgb) / .05)}.viz-pause{width:30px;padding:0}.viz-pause svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.viz-pause .i-play,.viz-pause[aria-pressed=true] .i-pause{display:none}.viz-pause[aria-pressed=true] .i-play{display:block}.viz-track{background:var(--line);height:1px;overflow:hidden}.viz-track:after{content:"";background:var(--sc,var(--ink-3));opacity:.7;transform-origin:0;height:100%;transform:scaleX(var(--viz-p,0));display:block}.viz-canvas{min-width:0}.viz svg{width:100%;height:auto;display:block;overflow:visible}.viz-foot{font-family:var(--f-mono);font-size:var(--fs-micro);color:var(--ink-3);line-height:1.5}.viz text{font-family:var(--f-mono);fill:var(--ink-3);letter-spacing:var(--tr-mono);font-size:11px}.viz .lbl{fill:var(--ink);font-size:12.5px;font-weight:var(--fw-medium)}.viz .sub{fill:var(--ink-3);font-size:10px}.viz .wl{paint-order:stroke;stroke:var(--viz-ground);stroke-width:6px;stroke-linejoin:round;font-size:10px}.viz .box{fill:var(--viz-node);stroke:var(--viz-edge);stroke-width:1.2px}.viz .node{--k:var(--ink-3)}.viz .k-ai{--k:var(--t1)}.viz .k-data{--k:var(--t5)}.viz .k-cache{--k:var(--t3)}.viz .k-ok{--k:var(--t2)}.viz .k-fail{--k:var(--t4)}.viz .kind-bar{fill:none;stroke:var(--k);stroke-width:2px;stroke-linecap:round;opacity:.85}.viz .wire{fill:none;stroke:var(--viz-edge);stroke-width:1.3px}.viz .wire.dash{stroke-dasharray:3 5}.viz .flow{fill:none;stroke-width:2px;stroke-linecap:round}.viz .pkt{fill:var(--t2)}.viz .zone{fill:color-mix(in oklab, var(--zc,var(--t2)) 4%, transparent);stroke:color-mix(in oklab, var(--zc,var(--t2)) 55%, transparent);stroke-dasharray:5 6}.pal[data-astro-cid-n5udgzh5]{border:1px solid var(--line-2);background:var(--bg-1);width:min(560px,100vw - 32px);color:var(--ink);box-shadow:0 30px 80px -20px rgb(0 0 0/calc(.8 * var(--shadow-k)));border-radius:14px;margin:14vh auto auto;padding:0}.pal[data-astro-cid-n5udgzh5]::backdrop{background:rgb(var(--bg-rgb) / .55);backdrop-filter:blur(3px)}.pal-field[data-astro-cid-n5udgzh5]{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 14px;display:flex}.pal-ico[data-astro-cid-n5udgzh5]{fill:none;width:16px;height:16px;stroke:var(--ink-3);stroke-width:1.5px;stroke-linecap:round;flex:none}.pal-field[data-astro-cid-n5udgzh5] input[data-astro-cid-n5udgzh5]{min-width:0;height:52px;font:inherit;font-size:var(--fs-body);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.pal-field[data-astro-cid-n5udgzh5] input[data-astro-cid-n5udgzh5]::placeholder{color:var(--ink-3)}.pal-kbd[data-astro-cid-n5udgzh5]{font-family:var(--f-mono);font-size:var(--fs-micro);border:1px solid var(--line-2);color:var(--ink-3);border-radius:5px;padding:2px 6px}.pal-list[data-astro-cid-n5udgzh5]{max-height:min(380px,50vh);margin:0;padding:6px;list-style:none;overflow-y:auto}.pal-list[data-astro-cid-n5udgzh5] li{font-size:var(--fs-small);color:var(--ink-2);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 12px;display:flex}.pal-list[data-astro-cid-n5udgzh5] li[aria-selected=true]{color:var(--ink);background:rgb(var(--wash-rgb) / .07)}.pal-list[data-astro-cid-n5udgzh5] .k{font-size:var(--fs-xs);color:var(--ink-3);flex:none}.pal-list[data-astro-cid-n5udgzh5] mark{color:inherit;text-decoration:underline;text-decoration-color:var(--t2);text-underline-offset:3px;background:0 0}.pal-list[data-astro-cid-n5udgzh5] .empty{cursor:default;color:var(--ink-3)}.pal-hint[data-astro-cid-n5udgzh5]{border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3);padding:10px 16px 12px}@media (pointer:coarse){.pal-hint[data-astro-cid-n5udgzh5]{display:none}}.hud[data-astro-cid-a2sg44tf]{z-index:50;height:var(--hud-h);padding-inline:var(--gutter);background:rgb(var(--bg-rgb) / .82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:28px;display:grid;position:fixed;inset:0 0 auto}.mark[data-astro-cid-a2sg44tf]{font-size:var(--fs-xs);justify-self:start;align-items:center;gap:10px;display:inline-flex}.mk[data-astro-cid-a2sg44tf]{gap:2px;height:14px;display:inline-flex}.mk[data-astro-cid-a2sg44tf] i[data-astro-cid-a2sg44tf]{background:var(--t1);border-radius:2px;width:4px;display:block}.mk[data-astro-cid-a2sg44tf] i[data-astro-cid-a2sg44tf]:first-child{width:8px}.mk[data-astro-cid-a2sg44tf] i[data-astro-cid-a2sg44tf]:nth-child(2){background:var(--t2)}.mk[data-astro-cid-a2sg44tf] i[data-astro-cid-a2sg44tf]:nth-child(3){background:var(--t3)}.stages[data-astro-cid-a2sg44tf]{font-size:var(--fs-xs);justify-self:center;gap:2px;display:flex}.stages[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf]{color:var(--ink-3);white-space:nowrap;border-radius:999px;padding:7px 10px;transition:color .3s,background .3s}.stages[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf]:hover{color:var(--ink)}.stages[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf].on{color:var(--ink);background:rgb(var(--wash-rgb) / .08)}.acts[data-astro-cid-a2sg44tf]{justify-self:end;align-items:center;gap:8px;display:flex}.act[data-astro-cid-a2sg44tf]{min-height:36px;font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:6px;padding:0 14px;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.act[data-astro-cid-a2sg44tf]:hover{color:var(--ink);border-color:var(--line-3);background:rgb(var(--wash-rgb) / .05)}.act[data-astro-cid-a2sg44tf].jump{gap:7px;padding:0 11px 0 10px}.jump-k[data-astro-cid-a2sg44tf]{font-size:var(--fs-micro);color:var(--ink-3)}.act[data-astro-cid-a2sg44tf].theme{justify-content:center;width:36px;padding:0}.ico[data-astro-cid-a2sg44tf]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}:root[data-theme=light] .ico[data-astro-cid-a2sg44tf].sun,:root:not([data-theme=light]) .ico[data-astro-cid-a2sg44tf].moon{display:none}.act[data-astro-cid-a2sg44tf][aria-current=page]{color:var(--ink);background:rgb(var(--wash-rgb) / .08)}.act[data-astro-cid-a2sg44tf].resume{color:var(--bg);background:var(--ink);border-color:var(--ink)}.act[data-astro-cid-a2sg44tf].resume:hover{background:var(--ink-hi)}.mobile-nav[data-astro-cid-a2sg44tf]{font-size:var(--fs-xs);display:none}.mobile-nav[data-astro-cid-a2sg44tf] summary[data-astro-cid-a2sg44tf]{cursor:pointer;border:1px solid var(--line-2);min-height:36px;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 12px;list-style:none;display:inline-flex}.mobile-nav[data-astro-cid-a2sg44tf] summary[data-astro-cid-a2sg44tf]::-webkit-details-marker{display:none}.mobile-nav[data-astro-cid-a2sg44tf] summary[data-astro-cid-a2sg44tf] span[data-astro-cid-a2sg44tf]{color:var(--t2);transition:transform .25s var(--ease-out);margin-left:10px}.mobile-nav[data-astro-cid-a2sg44tf][open] summary[data-astro-cid-a2sg44tf] span[data-astro-cid-a2sg44tf]{display:inline-block;transform:rotate(45deg)}.sheet[data-astro-cid-a2sg44tf]{right:var(--gutter);top:calc(var(--hud-h) - 4px);width:min(300px, calc(100vw - 2 * var(--gutter)));background:var(--bg-2);border:1px solid var(--line-2);box-shadow:0 20px 60px -10px rgb(0 0 0/calc(.7 * var(--shadow-k)));border-radius:12px;padding:8px;position:absolute}.sheet[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf],.sheet[data-astro-cid-a2sg44tf] .row[data-astro-cid-a2sg44tf]{width:100%;color:var(--ink-2);overflow-wrap:anywhere;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.sheet[data-astro-cid-a2sg44tf] .row[data-astro-cid-a2sg44tf]{text-align:left;font-size:inherit}.sheet[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf]:hover,.sheet[data-astro-cid-a2sg44tf] .row[data-astro-cid-a2sg44tf]:hover{color:var(--ink);background:var(--bg-3)}.sheet[data-astro-cid-a2sg44tf] nav[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf].on{color:var(--ink);background:rgb(var(--wash-rgb) / .06)}.sheet[data-astro-cid-a2sg44tf] nav[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf].on:after{content:"";background:var(--t2);border-radius:50%;width:6px;height:6px}.reach[data-astro-cid-a2sg44tf]{border-top:1px solid var(--line-2);margin-top:6px;padding-top:6px}.reach[data-astro-cid-a2sg44tf] a[data-astro-cid-a2sg44tf]{color:var(--ink)}@media (width<=1100px){.stages[data-astro-cid-a2sg44tf]{display:none}.hud[data-astro-cid-a2sg44tf]{grid-template-columns:auto 1fr}.mobile-nav[data-astro-cid-a2sg44tf]{display:block}}@media (width<=480px){.hud[data-astro-cid-a2sg44tf]{gap:10px}.acts[data-astro-cid-a2sg44tf]{gap:6px}.mark[data-astro-cid-a2sg44tf],.act[data-astro-cid-a2sg44tf],.mobile-nav[data-astro-cid-a2sg44tf]{font-size:.8125rem}}@media (width<=560px){.act[data-astro-cid-a2sg44tf].mail,.act[data-astro-cid-a2sg44tf].blog,.act[data-astro-cid-a2sg44tf].theme,.act[data-astro-cid-a2sg44tf].jump{display:none}.act[data-astro-cid-a2sg44tf],.mobile-nav[data-astro-cid-a2sg44tf] summary[data-astro-cid-a2sg44tf]{padding-inline:11px}.mobile-nav[data-astro-cid-a2sg44tf] summary[data-astro-cid-a2sg44tf] span[data-astro-cid-a2sg44tf]{margin-left:8px}}@media (width<=360px){.mark[data-astro-cid-a2sg44tf]>span[data-astro-cid-a2sg44tf]:last-child{display:none}}
