@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.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}@view-transition{navigation:auto}:root{color-scheme:light;--paper:#fff;--paper-2:#f6f6f6;--ink:#222;--ink-2:#555;--ink-3:#888;--line:#0000001a;--accent:oklch(86% .17 90);--accent-ink:oklch(52% .12 70);--accent-soft:oklch(86% .17 90/.3);--on-accent:#222;--link-line:oklch(79% .16 82);--font-sans:"Inter Variable", ui-sans-serif, system-ui, sans-serif;--font-display:"Bricolage Grotesque Variable", var(--font-sans);--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", monospace;--measure:42rem;--wide:66rem;--radius:14px;--spring:linear(0, .25 7%, .9 22%, 1.08 32%, 1.03 45%, .99 60%, 1);--ease-out:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{color-scheme:dark;--paper:#050505;--paper-2:#141414;--ink:#ddd;--ink-2:#bbb;--ink-3:#888;--line:#ffffff1a;--accent:oklch(86% .16 92);--accent-ink:oklch(86% .16 92);--accent-soft:oklch(86% .16 92/.16);--on-accent:#111;--link-line:var(--accent)}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:none;text-size-adjust:none;scrollbar-gutter:stable}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:1.0625rem;line-height:1.7;transition:background-color .3s,color .3s;display:flex}img,picture,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere;font-weight:650;line-height:1.15}h1{font-size:clamp(2rem,1.4rem + 2.6vw,2.9rem)}h2{font-size:1.5rem}p{text-wrap:pretty}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:4px}:where(a){color:inherit;text-decoration:none}:where(a:not([class])){text-decoration-line:underline;text-decoration-color:var(--link-line);text-underline-offset:.2em;text-decoration-thickness:2px}:where(a:not([class])):is(:hover,:focus-visible){background-color:var(--accent);color:var(--on-accent);text-decoration-color:var(--accent);text-decoration-skip-ink:none}.link-ui{text-decoration:none;transition:color .2s}.link-ui:is(:hover,:focus-visible){color:var(--accent-ink)}.link-underline{text-underline-offset:.2em;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:2px;transition:text-decoration-color .2s}.link-underline:is(:hover,:focus-visible){text-decoration-color:var(--link-line)}code,kbd,pre{font-family:var(--font-mono);font-variant-ligatures:none;font-size:.88em}kbd{border:1px solid var(--line);background:var(--paper-2);border-bottom-width:2px;border-radius:6px;padding:.05em .4em;font-size:.78em;line-height:1.5;display:inline-block}.container{width:min(100% - 2.5rem, var(--measure));margin-inline:auto}.container.wide{width:min(100% - 2.5rem, var(--wide))}.muted{color:var(--ink-2)}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:.78rem}.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}::view-transition-old(main){animation:.18s ease-in both vt-out}::view-transition-new(main){animation:.32s var(--ease-out) both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}@property --reveal{syntax:"<length>";inherits:false;initial-value:0}.theme-reveal *{view-transition-name:none!important}.theme-reveal::view-transition-old(root),.theme-reveal::view-transition-new(root){mix-blend-mode:normal;animation:none}.theme-reveal::view-transition-new(root){--feather:220px;mask-image:radial-gradient(circle at var(--reveal-x) var(--reveal-y), #000 calc(var(--reveal) - var(--feather)), transparent var(--reveal));animation:.9s cubic-bezier(.45,0,.3,1) both theme-reveal}@keyframes theme-reveal{0%{--reveal:0px}to{--reveal:calc(var(--reveal-to) + var(--feather))}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:Letter;margin:12mm 14mm}:root,[data-theme=dark]{color-scheme:light;--paper:#fff;--paper-2:oklch(97.5% .006 85);--ink:oklch(20% .01 70);--ink-2:oklch(38% .01 70);--ink-3:oklch(50% .01 70);--line:oklch(20% .01 70/.14);--accent:oklch(80% .16 88);--accent-ink:oklch(45% .1 70);--accent-soft:oklch(86% .17 90/.25);--link-line:oklch(70% .15 80)}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:10pt;line-height:1.45}.site-header,.site-footer,.palette,.skip-link{display:none!important}main{padding:0!important}.container{width:100%}a{text-decoration:none}*,:before,:after{transition:none!important;animation:none!important}}:root{--critter:oklch(60% .16 285);--collar:oklch(60% .19 25);--bug-ink:oklch(24% .02 60);--leaf:oklch(64% .16 145);--leaf-dark:oklch(55% .14 145)}:root[data-theme=dark]{--critter:oklch(74% .12 285);--collar:oklch(68% .17 25);--bug-ink:oklch(56% .025 65);--leaf:oklch(72% .15 145);--leaf-dark:oklch(63% .14 145)}.critter{pointer-events:none;will-change:transform;transition:opacity .6s;position:absolute;top:0;left:0}.critter svg{width:100%;height:100%;transform:scaleX(var(--facing,1)) rotate(var(--tilt,0deg));transform-origin:50% 100%;transition:transform .22s;display:block;overflow:visible}.critter :is(g,path,rect,circle,ellipse){transform-box:fill-box}.critter-bird :is(.body,.crown,.tuft,.tail path){fill:var(--critter)}.critter-bird .belly{fill:color-mix(in oklch, var(--critter) 30%, white)}.critter-bird .tail-light{fill:color-mix(in oklch, var(--critter) 65%, white)}.critter-bird .wing{fill:color-mix(in oklch, var(--critter) 72%, black)}.critter-bird .cheek{fill:oklch(74% .14 12);opacity:.55}.critter-bird .eye circle{fill:oklch(20% .01 70)}.critter-bird .glint{fill:#fff}.critter-bird .beak{fill:oklch(80% .15 70)}.critter-bird .legs rect{fill:oklch(66% .11 55)}.critter-bird[data-state=flying] :is(.legs,.wing-fold),.critter-bird:not([data-state=flying]) .wing-up{display:none}.critter-bird[data-state=flying] .wing-up{transform-origin:30% 95%;animation:.15s ease-in-out infinite alternate flap}.critter-bird[data-state=perched] .bird-body{transform-origin:50% 100%;animation:2.4s ease-in-out infinite breathe}.critter-bird[data-state=perched] .eye{transform-origin:50%;animation:4.2s infinite blink}.critter-bird[data-state=perched] .head{transform-origin:40% 90%;animation:7s ease-in-out infinite glance}.critter-bird[data-state=perched] .tail{transform-origin:100% 40%;animation:5.5s ease-in-out infinite flick}.critter-dog{pointer-events:none}.critter-dog :is(.coat,.leg rect,rect.leg){fill:oklch(74% .09 62)}.critter-dog :is(.leg.far,.coat-dark){fill:oklch(62% .085 55)}.critter-dog .cream{fill:oklch(95% .025 85)}.critter-dog .ear{fill:oklch(48% .08 45);transform-origin:50% 0}.critter-dog .ear-back{fill:none;stroke:oklch(48% .08 45);stroke-width:1.4px;stroke-linecap:round}.critter-dog .tail,.critter-dog .scratch-leg{fill:none;stroke:oklch(74% .09 62);stroke-width:3.2px;stroke-linecap:round}.critter-dog .scratch-leg{stroke:oklch(62% .085 55);stroke-width:3.4px}.critter-dog .tail{transform-origin:100% 100%;animation:.9s ease-in-out infinite alternate wag}.critter-dog .pose-sit .tail{transform-origin:100% 30%}.critter-dog :is(.nose,.eye circle){fill:oklch(22% .02 50)}.critter-dog .eye .glint{fill:#fff}.critter-dog .eye{transform-origin:50%;animation:4.5s infinite blink}.critter-dog .collar{fill:none;stroke:var(--collar);stroke-width:2.4px;stroke-linecap:round}.critter-dog .tag{fill:oklch(82% .14 85)}.critter-dog .mouth{fill:none;stroke:oklch(30% .03 40);stroke-width:.8px;stroke-linecap:round;opacity:0}.critter-dog .yawn{fill:oklch(35% .06 20);opacity:0;transform-origin:50% 0}.critter-dog .tongue{fill:oklch(72% .14 15);opacity:0}.critter-dog .head{transform-origin:30% 85%;transition:transform .35s var(--spring)}.critter-dog .pose{transform-box:view-box;display:none}.critter-dog:is([data-state=walk],[data-state=trot],[data-state=run],[data-state=hop],[data-state=sniff],[data-state=happy],[data-state=bow],[data-state=stand]) .pose-stand,.critter-dog:is([data-state=sit],[data-state=look],[data-state=tilt],[data-state=scratch],[data-state=yawn],[data-state=paw]) .pose-sit,.critter-dog:is([data-state=lie],[data-state=sleep]) .pose-lie{display:inline}.critter-dog[data-state=sit] .pose-sit .torso{transform-origin:50% 100%;animation:2.6s ease-in-out infinite breathe}.critter-dog[data-state=look] .head{transform:rotate(-20deg)}.critter-dog[data-state=tilt] .head{transform:rotate(14deg)}.critter-dog[data-state=tilt] .ear{animation:.5s ease-in-out 2 alternate ear-perk}.critter-dog .scratch-leg{transform-origin:0 100%;display:none}.critter-dog[data-state=scratch] .pose-sit .head{transform:rotate(-10deg)}.critter-dog[data-state=scratch] .scratch-leg{animation:90ms linear infinite alternate scratch;display:inline}.critter-dog[data-state=scratch] .back-paw{display:none}.critter-dog[data-state=scratch] .head{transform:rotate(16deg)}.critter-dog:is([data-state=scratch],[data-state=sleep],[data-state=yawn]) .eye{animation:none;transform:scaleY(.12)}.critter-dog[data-state=yawn] .yawn{opacity:1;animation:1.3s ease-in-out yawn}.critter-dog[data-state=yawn] .head{transform:rotate(-14deg)}.critter-dog [data-p]{transform-box:view-box;transform-origin:0 0}.critter-dog :is(.g-leg,.g-torso,.g-belly){fill:none;stroke-linecap:round;stroke-linejoin:round}.critter-dog .g-leg{stroke:oklch(74% .09 62);stroke-width:3.2px}.critter-dog .g-leg.u.hind{stroke-width:4.6px}.critter-dog .g-leg.u.front{stroke-width:3.6px}.critter-dog .g-leg.far{stroke:oklch(62% .085 55)}.critter-dog .g-torso{stroke:oklch(74% .09 62);stroke-width:11.5px}.critter-dog .g-belly{stroke:oklch(95% .025 85);stroke-width:2.8px}.critter-dog .g-paw{fill:oklch(95% .025 85)}.critter-dog .g-paw.far{fill:oklch(62% .085 55)}.critter-dog:is([data-state=walk],[data-state=trot]) .pose-stand .tail{animation-duration:.45s}.critter-dog[data-state=run] .pose-stand .tail{animation:none}.critter-dog[data-state=run] .ear{animation:.12s ease-in-out infinite alternate ear-flop}.critter-dog[data-state=hop] .tail{animation-duration:.12s}.critter-dog[data-state=sniff] .head{animation:.22s ease-in-out infinite alternate sniff;transform:rotate(24deg)translateY(2.5px)}.critter-dog[data-state=sniff] .tail{animation-duration:.3s}.critter-dog[data-state=paw] .pose-sit .leg.near{transform-origin:50% 0;animation:.28s ease-in-out infinite alternate paw}.critter-dog[data-state=paw] .head{transform:rotate(-18deg)}.critter-dog[data-state=bow] .pose-stand{transform-origin:-12px 0;transition:transform .25s;transform:rotate(13deg)}.critter-dog:is([data-state=bow],[data-state=happy]) .tail{animation-duration:.13s}.critter-dog[data-state=happy] .tongue,.critter-dog[data-bark] .mouth{opacity:1}.critter-dog[data-bark] .head{transform:rotate(-12deg)}.critter-dog:is([data-state=lie],[data-state=sleep]) .tail{animation-duration:2.5s}.critter-dog[data-state=sleep] .tail{animation:none}.critter-dog[data-state=sleep] .pose-lie .torso{transform-origin:50% 100%;animation:3.4s ease-in-out infinite breathe}.critter-dog .bubble,.critter-dog .zzz{pointer-events:none;font:800 12px/1 var(--font-display);position:absolute}.critter-dog .bubble{translate:calc(-50% + var(--facing,1) * 1.2em) 0;border:1px solid var(--line);background:var(--paper);color:var(--critter);opacity:0;transform-origin:50% 100%;border-radius:.5em;padding:.12em .32em;bottom:80%;left:50%;transform:scale(.4)}.critter-dog[data-bark] .bubble{animation:pop .7s var(--spring)}.critter-dog .zzz{color:var(--ink-3);opacity:0;bottom:55%;left:55%}.critter-dog[data-state=sleep] .zzz{animation:2.4s ease-in infinite zzz}.critter-squirrel :is(.fur,.haunch,.tail path:first-child,.ear){fill:oklch(62% .12 48)}.critter-squirrel .tail-light{fill:none;stroke:oklch(78% .08 60);stroke-width:1.1px;stroke-linecap:round}.critter-squirrel :is(.cream,.paw){fill:oklch(93% .03 80)}.critter-squirrel .foot{fill:oklch(55% .11 45)}.critter-squirrel :is(.eye,.nose){fill:oklch(20% .02 50)}.critter-squirrel .glint{fill:#fff}.critter-squirrel .nut{fill:oklch(60% .1 70)}.critter-squirrel .cap{fill:oklch(42% .06 50)}.critter-squirrel .acorn{display:none}.critter-squirrel .tail{transform-origin:85% 90%;animation:3.2s ease-in-out infinite tail-flick}.critter-squirrel .torso{transform-origin:30% 100%;transition:transform .25s}.critter-squirrel .eye{transform-origin:50%;animation:4s infinite blink}.critter-squirrel[data-state=hop] .squirrel-body{transform-origin:50% 100%;transform:scale(1.12,.9)}.critter-squirrel[data-state=hop] .tail{animation:none;transform:rotate(-28deg)}.critter-squirrel[data-state=nibble] .torso{transform:rotate(-22deg)translateY(-.6px)}.critter-squirrel[data-state=nibble] .acorn{display:inline}.critter-squirrel[data-state=nibble] .head{transform-origin:40% 90%;animation:.16s ease-in-out infinite alternate nibble}.critter-squirrel[data-state=alert] .torso{transform:rotate(-30deg)}.critter-squirrel[data-state=alert] .tail{animation:.18s ease-in-out infinite alternate tail-twitch}@keyframes tail-flick{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-14deg)}92%{transform:rotate(8deg)}}@keyframes tail-twitch{to{transform:rotate(-9deg)}}@keyframes nibble{to{transform:rotate(9deg)}}.critter-owl .plumage,.critter-owl .wing{fill:oklch(55% .06 58)}.critter-owl .wing{fill:oklch(47% .06 52)}.critter-owl .belly{fill:oklch(86% .04 78)}.critter-owl .chevrons{fill:none;stroke:oklch(55% .06 58);stroke-width:.6px;stroke-linecap:round}.critter-owl .disc{fill:oklch(94% .02 85)}.critter-owl .iris{fill:oklch(80% .15 80)}.critter-owl .pupil{fill:oklch(18% .02 60)}.critter-owl .beak{fill:oklch(74% .11 68)}.critter-owl .talons{fill:none;stroke:oklch(60% .1 70);stroke-width:.9px;stroke-linecap:round}.critter-owl[data-state=flying] .wing-fold,.critter-owl:not([data-state=flying]) .wing-up{display:none}.critter-owl[data-state=flying] .wing-up{transform-origin:50% 100%;animation:.22s ease-in-out infinite alternate flap}.critter-owl[data-state=perched] .eyes{transform-origin:50%;animation:5s ease-in-out infinite owl-blink}.critter-owl[data-state=perched] .face{animation:9s ease-in-out infinite owl-swivel}.critter-owl[data-state=perched] .owl-body{transform-origin:50% 100%;animation:11s ease-in-out infinite ruffle}.critter-chameleon .skin,.critter-chameleon .casque,.critter-chameleon .turret{fill:var(--leaf);transition:fill 1.2s}.critter-chameleon :is(.tail,.leg){fill:none;stroke:var(--leaf-dark);stroke-width:1.8px;stroke-linecap:round;transition:stroke 1.2s}.critter-chameleon .leg{stroke-width:1.4px}.critter-chameleon :is(.crest,.stripe){fill:none;stroke:oklch(90% .1 115);stroke-width:.8px;stroke-linecap:round}.critter-chameleon .turret{stroke:oklch(30% .05 140/.4);stroke-width:.4px}.critter-chameleon .pupil{fill:oklch(18% .02 60);animation:4.6s step-end infinite eye-roll}.critter-chameleon .tongue path{stroke:oklch(72% .14 10);stroke-width:.9px;stroke-linecap:round}.critter-chameleon .tongue circle{fill:oklch(72% .14 10)}.critter-chameleon .tongue{transform-origin:0;animation:9s ease-out infinite tongue-flick;animation-delay:var(--tongue-delay,0s);transform:scaleX(0)}.critter-chameleon:nth-child(2) .tongue{animation-delay:-3s}.critter-chameleon:nth-child(3) .tongue{animation-delay:-6s}.critter-chameleon[data-state=crawl] .cham-body{transform-origin:50% 100%;animation:.9s ease-in-out infinite alternate cham-step}.critter-chameleon[data-state=crawl] .leg.front{transform-origin:0 0;animation:.9s ease-in-out infinite alternate cham-leg}.critter-chameleon[data-state=crawl] .leg.back{transform-origin:0 0;animation:.9s ease-in-out -.9s infinite alternate cham-leg}.critter-chameleon[data-startled] :is(.skin,.casque,.turret){fill:oklch(42% .08 150);transition-duration:.2s}.critter-chameleon[data-startled] .tail{transform-origin:85% 0;transform:scale(.75)}@keyframes owl-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.12)}}@keyframes owl-swivel{0%,30%,to{transform:translate(0)scaleX(1)}38%,52%{transform:translate(-2.2px)scaleX(.82)}60%,66%{transform:translate(0)scaleX(1)}74%,86%{transform:translate(2.2px)scaleX(.82)}}@keyframes ruffle{0%,90%,to{transform:scale(1)}93%{transform:scale(1.08,.96)}96%{transform:scale(.97,1.03)}}@keyframes eye-roll{0%{transform:translate(0)}25%{transform:translate(-.8px,-.5px)}50%{transform:translate(.5px,.6px)}75%{transform:translate(-.5px,.5px)}}@keyframes tongue-flick{0%,88%,to{transform:scaleX(0)}90%{transform:scaleX(1)}93%{transform:scaleX(0)}}@keyframes cham-step{to{transform:translateY(-.4px)rotate(-1.5deg)}}@keyframes cham-leg{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}.critter-bee .fuzz{fill:oklch(85% .16 88)}.critter-bee :is(.head,.sting){fill:var(--bug-ink)}.critter-bee .stripes{fill:none;stroke:oklch(25% .02 60);stroke-width:1.4px}.critter-bee .eye{fill:#fff}.critter-bee .wings ellipse{fill:oklch(95% .02 250/.7);stroke:oklch(60% .02 250/.5);stroke-width:.3px}.critter-bee .wings{transform-origin:50% 100%;animation:50ms linear infinite alternate buzz}.critter-bee[data-state=perched] .wings{animation-duration:1.2s}.critter-butterfly :is(.upper,.lower){fill:var(--critter)}.critter-butterfly .lower{fill:color-mix(in oklch, var(--critter) 70%, white)}.critter-butterfly .spot{fill:#fff;opacity:.75}.critter-butterfly .thorax{fill:var(--bug-ink)}.critter-butterfly .antenna{fill:none;stroke:var(--bug-ink);stroke-width:.7px;stroke-linecap:round}.critter-butterfly .wing-l{transform-origin:100% 60%}.critter-butterfly .wing-r{transform-origin:0 60%}.critter-butterfly[data-state=flying] :is(.wing-l,.wing-r){animation:.16s ease-in-out infinite alternate wings}.critter-butterfly[data-state=perched] :is(.wing-l,.wing-r){animation:3s ease-in-out infinite wings-rest}.critter-ladybug .shell{fill:oklch(60% .21 28)}.critter-ladybug .dot{fill:oklch(20% .01 60)}.critter-ladybug .head{fill:var(--bug-ink)}.critter-ladybug .eye{fill:#fff}.critter-ladybug .legs{fill:none;stroke:var(--bug-ink);stroke-width:.8px;stroke-linecap:round}.critter-ladybug .wings ellipse{fill:oklch(95% .02 250/.6)}.critter-ladybug:not([data-state=flying]) .wings{display:none}.critter-ladybug[data-state=flying] .wings{transform-origin:50% 100%;animation:60ms linear infinite alternate buzz}.critter-ladybug[data-state=crawl] .ladybug-body{animation:.18s ease-in-out infinite alternate trot}.critter-firefly .abdomen{fill:color-mix(in oklch, var(--bug-ink) 85%, white)}.critter-firefly .head{fill:oklch(60% .12 40)}.critter-firefly .wings ellipse{fill:oklch(95% .02 250/.6)}[data-theme=dark] .critter-firefly :is(.lamp,.halo){fill:oklch(92% .2 112)}[data-theme=dark] .critter-firefly .lamp{animation-name:glow-night}[data-theme=dark] .critter-firefly .halo{animation-name:halo-night}.critter-firefly :is(.lamp,.halo){fill:oklch(86% .19 95);animation:glow 2.6s ease-in-out var(--glow-delay,0s) infinite}.critter-firefly .halo{filter:blur(1.6px);animation-name:halo}.critter-firefly[data-state=flying] .wings{transform-origin:50% 100%;animation:70ms linear infinite alternate buzz}@keyframes flap{to{transform:scaleY(-.55)}}@keyframes breathe{0%{opacity:.85;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes glance{0%,38%,to{transform:rotate(0)}45%,58%{transform:rotate(-12deg)}66%,80%{transform:rotate(7deg)}}@keyframes flick{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-16deg)}95%{transform:rotate(6deg)}}@keyframes wag{0%{transform:rotate(-14deg)}to{transform:rotate(16deg)}}@keyframes trot{to{transform:translateY(-1px)}}@keyframes ear-flop{to{transform:rotate(-12deg)}}@keyframes sniff{to{transform:rotate(28deg)translateY(3.2px)}}@keyframes paw{0%{transform:rotate(-40deg)}to{transform:rotate(-100deg)}}.dog-poked{animation:.5s ease-in-out 2 dog-poked}@keyframes dog-poked{25%{transform:rotate(-6deg)translateY(-1px)}75%{transform:rotate(5deg)}}@keyframes scratch{0%{transform:rotate(-6deg)}to{transform:rotate(10deg)}}@keyframes yawn{0%,to{transform:scaleY(.2)}40%,70%{transform:scaleY(1.3)}}@keyframes ear-perk{to{transform:rotate(-22deg)}}@keyframes zzz{0%{opacity:0;transform:translate(0)scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(.9em,-1.4em)scale(1.1)}}@keyframes pop{0%{opacity:0;transform:translateY(-8px)scale(.97)}}@keyframes wings{to{transform:scaleX(.2)}}@keyframes wings-rest{0%,65%,to{transform:scaleX(1)}80%{transform:scaleX(.3)}}@keyframes buzz{to{transform:rotate(14deg)}}@keyframes halo{0%,to{opacity:.08}50%{opacity:.5}}@keyframes glow-night{0%,to{opacity:.6}50%{opacity:1}}@keyframes halo-night{0%,to{opacity:.2}50%{opacity:.75}}@keyframes glow{0%,to{opacity:.35}50%{opacity:1}}.prose{overflow-wrap:break-word;display:flow-root}.prose>*+*{margin-top:1.15em}.prose :is(h2,h3,h4){margin-top:2.2em;scroll-margin-top:1.5rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.22rem}.prose h4{font-size:1.05rem}.prose :is(h2,h3,h4)+*{margin-top:.6em}.prose :is(ul,ol){padding-left:1.3em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--accent-ink)}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink-2);padding:.2em 0 .2em 1.1em}.prose hr{border:0;border-top:1px dashed var(--line);margin-block:2.5em}.prose img{border:1px solid var(--line);border-radius:12px;height:auto;margin-inline:auto}.prose .caption{text-align:center;color:var(--ink-3);margin-top:.5em;font-size:.875rem}.prose :not(pre)>code{background:var(--accent-soft);border-radius:6px;padding:.12em .38em;font-size:.86em}.prose pre{border:1px solid var(--line);tab-size:4;border-radius:12px;padding:1rem 1.15rem;font-size:.86rem;line-height:1.6;overflow-x:auto}.astro-code,.astro-code span{color:var(--shiki-light)}.astro-code{background-color:var(--paper-2)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)}.prose table{border-collapse:collapse;width:max-content;max-width:100%;font-size:.92rem;display:block;overflow-x:auto}.prose :is(th,td){border:1px solid var(--line);text-align:left;vertical-align:top;padding:.5em .85em}.prose th,.prose tr:first-child td strong{font-weight:650}.prose tr:nth-child(2n) td{background:var(--paper-2)}.code-wrap{position:relative}.copy-code{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;opacity:0;transition:opacity .2s ease, transform .35s var(--spring);border-radius:8px;padding:.2rem .55rem;font-size:.75rem;position:absolute;top:.5rem;right:.5rem}.code-wrap:hover .copy-code,.copy-code:focus-visible,.copy-code[data-copied]{opacity:1}.copy-code[data-copied]{background:var(--accent);color:var(--on-accent);transform:scale(1.05)}.brand[data-astro-cid-qisgtjgl]{font-family:var(--font-display);font-size:clamp(1.5rem,1.1rem + 1.2vw,1.75rem);line-height:1;position:relative}.name[data-astro-cid-qisgtjgl]{color:var(--ink);letter-spacing:-.025em;white-space:nowrap;font-weight:700;text-decoration:none;transition:color .25s;display:inline-block}.name[data-astro-cid-qisgtjgl].wiggle{animation:wiggle .5s var(--spring)}@keyframes wiggle{30%{transform:rotate(-2deg)scale(1.03)}60%{transform:rotate(1.5deg)}}.short[data-astro-cid-qisgtjgl]{display:none}.cast[data-astro-cid-qisgtjgl]{pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.brand[data-astro-cid-qisgtjgl]:not([data-ready]) .cast[data-astro-cid-qisgtjgl]{opacity:0}@media (width<=1180px){.full[data-astro-cid-qisgtjgl]{display:none}.short[data-astro-cid-qisgtjgl]{display:inline}}.sky[data-astro-cid-m7vhzqk3]{aspect-ratio:40/34;cursor:pointer;height:30px;transition:transform .4s var(--spring);background:0 0;border:0;border-radius:8px;padding:0;display:block}.sky[data-astro-cid-m7vhzqk3]:active{transform:scale(.93)}.sky[data-astro-cid-m7vhzqk3]:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.part[data-astro-cid-m7vhzqk3]{transition:transform .7s cubic-bezier(.3,0,.2,1)}.sky[data-astro-cid-m7vhzqk3]:is(:hover,:focus-visible) .part[data-astro-cid-m7vhzqk3].front{transform:translate(-1.6px,.6px)}.sky[data-astro-cid-m7vhzqk3]:is(:hover,:focus-visible) .part[data-astro-cid-m7vhzqk3].back{transform:translate(1.8px,-.3px)}svg[data-astro-cid-m7vhzqk3]{width:100%;height:100%;display:block;overflow:visible}svg[data-astro-cid-m7vhzqk3] [data-astro-cid-m7vhzqk3]:is(g,path){transform-box:view-box}.drift[data-astro-cid-m7vhzqk3]{filter:url(#sky-cloud-lift)}[data-theme=dark] .drift[data-astro-cid-m7vhzqk3]{filter:none}.drift[data-astro-cid-m7vhzqk3].front{animation:9s ease-in-out infinite alternate drift-front}.drift[data-astro-cid-m7vhzqk3].back{animation:13s ease-in-out infinite alternate drift-back}.rim[data-astro-cid-m7vhzqk3]{fill:none;stroke-width:.85px;stroke-linejoin:round}stop[data-astro-cid-m7vhzqk3]{transition:stop-color .9s,stop-opacity .9s}.cf-top[data-astro-cid-m7vhzqk3]{stop-color:#fff}.cf-mid[data-astro-cid-m7vhzqk3]{stop-color:#fdfaf4}.cf-low[data-astro-cid-m7vhzqk3]{stop-color:#ebe2d4}.cb-top[data-astro-cid-m7vhzqk3]{stop-color:#fcf9f3}.cb-low[data-astro-cid-m7vhzqk3]{stop-color:#e2d8c8}.rim-a[data-astro-cid-m7vhzqk3]{stop-color:#ffd65c;stop-opacity:1}.rim-b[data-astro-cid-m7vhzqk3]{stop-color:#ffe7a0;stop-opacity:0}[data-theme=dark] .cf-top[data-astro-cid-m7vhzqk3]{stop-color:#6a7389}[data-theme=dark] .cf-mid[data-astro-cid-m7vhzqk3]{stop-color:#4b5367}[data-theme=dark] .cf-low[data-astro-cid-m7vhzqk3]{stop-color:#2f3544}[data-theme=dark] .cb-top[data-astro-cid-m7vhzqk3]{stop-color:#4c5468}[data-theme=dark] .cb-low[data-astro-cid-m7vhzqk3]{stop-color:#262b37}[data-theme=dark] .rim-a[data-astro-cid-m7vhzqk3]{stop-color:#fff4d6;stop-opacity:.95}[data-theme=dark] .rim-b[data-astro-cid-m7vhzqk3]{stop-color:#e9e4d4;stop-opacity:0}.sun[data-astro-cid-m7vhzqk3],.moon[data-astro-cid-m7vhzqk3]{transition:transform .9s cubic-bezier(.45,0,.25,1),opacity .9s}.halo[data-astro-cid-m7vhzqk3]{opacity:.85;transition:opacity .6s}.sky[data-astro-cid-m7vhzqk3]:is(:hover,:focus-visible) .halo[data-astro-cid-m7vhzqk3]{opacity:1}.glow[data-astro-cid-m7vhzqk3]{transform-box:fill-box;transform-origin:50%;animation:5s ease-in-out infinite alternate breathe}.moon[data-astro-cid-m7vhzqk3]{opacity:0;transform:translateY(18px)}.moon[data-astro-cid-m7vhzqk3] .crater[data-astro-cid-m7vhzqk3]{fill:oklch(55% .03 85/.14)}[data-theme=dark] .sun[data-astro-cid-m7vhzqk3]{opacity:0;transform:translateY(18px)}[data-theme=dark] .moon[data-astro-cid-m7vhzqk3]{opacity:1;transition-delay:.25s;transform:translateY(0)}[data-theme=light] .sun[data-astro-cid-m7vhzqk3]{transition-delay:.25s}.star[data-astro-cid-m7vhzqk3]{fill:oklch(95% .06 95);opacity:0;transition:opacity .6s}[data-theme=dark] .star[data-astro-cid-m7vhzqk3]{opacity:1;transition-delay:calc(.6s + var(--i) * .15s);transform-origin:50%;transform-box:fill-box;animation:twinkle 2.8s ease-in-out calc(var(--i) * -.9s) infinite}@keyframes drift-front{to{transform:translate(1.4px)}}@keyframes drift-back{to{transform:translate(-1.2px)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.45)}}.site-header[data-astro-cid-nen7h5rs]{width:100%;max-width:calc(var(--wide) + 2 * clamp(1.25rem, 3vw, 2rem));view-transition-name:header;align-items:center;gap:1.5rem;margin-inline:auto;padding:1.25rem clamp(1.25rem,3vw,2rem);display:flex;position:relative}nav[data-astro-cid-nen7h5rs]{margin-left:auto}.dog-layer[data-astro-cid-nen7h5rs]{pointer-events:none;z-index:1;position:absolute;inset:0}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;padding:0;list-style:none;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink-2);transition:color .2s ease, background-color .2s ease, transform .35s var(--spring);border-radius:999px;padding:.3rem .7rem;font-size:.95rem;text-decoration:none;display:block}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--ink);transform:translateY(-2px)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink);background:var(--accent-soft)}.tools[data-astro-cid-nen7h5rs]{align-items:center;gap:.75rem;display:flex}.palette-trigger[data-astro-cid-nen7h5rs]{color:var(--ink-2);cursor:pointer;transition:transform .35s var(--spring);background:0 0;border:0;border-radius:10px;align-items:center;gap:.5rem;padding:.3rem;display:flex}.palette-trigger[data-astro-cid-nen7h5rs]:hover{transform:translateY(-2px)}.palette-trigger[data-astro-cid-nen7h5rs] abbr[data-astro-cid-nen7h5rs]{text-decoration:none}.menu-label[data-astro-cid-nen7h5rs]{font-size:.95rem;display:none}@media (width<=760px){nav[data-astro-cid-nen7h5rs]{display:none}.tools[data-astro-cid-nen7h5rs]{margin-left:auto}.menu-label[data-astro-cid-nen7h5rs]{display:inline}.palette-trigger[data-astro-cid-nen7h5rs] kbd[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{margin-top:auto;padding:4rem 0 2.5rem}.inner[data-astro-cid-jo6i4kqk]{border-top:1px dashed var(--line);gap:.75rem;padding-top:1.5rem;display:grid}.links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.25rem 1.25rem;padding:0;list-style:none;display:flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink-2)}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:is(:hover,:focus-visible){color:var(--accent-ink)}.small[data-astro-cid-jo6i4kqk]{font-size:.875rem}.palette[data-astro-cid-oqgw6c2e]{border:1px solid var(--line);background:var(--paper);width:min(36rem,100% - 2rem);max-height:min(30rem,70dvh);color:var(--ink);border-radius:18px;flex-direction:column;margin:14dvh auto auto;padding:0;overflow:hidden;box-shadow:0 1px 2px oklch(0% 0 0/.06),0 24px 60px -12px oklch(0% 0 0/.3)}.palette[data-astro-cid-oqgw6c2e][open]{animation:pop .38s var(--spring);display:flex}.palette[data-astro-cid-oqgw6c2e]::backdrop{backdrop-filter:blur(3px);background:oklch(20% .01 70/.25);animation:.2s fade}@keyframes fade{0%{opacity:0}}.search[data-astro-cid-oqgw6c2e]{border-bottom:1px solid var(--line);color:var(--ink-3);align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}input[data-astro-cid-oqgw6c2e]{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:1.05rem}input[data-astro-cid-oqgw6c2e]::placeholder{color:var(--ink-3)}[data-astro-cid-oqgw6c2e][role=listbox]{padding:.4rem;list-style:none;overflow-y:auto}.group[data-astro-cid-oqgw6c2e] ul[data-astro-cid-oqgw6c2e]{padding:0;list-style:none}.group-label[data-astro-cid-oqgw6c2e]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:.6rem .75rem .3rem;font-size:.7rem;display:block}[data-astro-cid-oqgw6c2e][role=option]{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .75rem;transition:background-color .12s;display:flex}[data-astro-cid-oqgw6c2e][role=option][aria-selected=true]{background:var(--accent-soft)}[data-astro-cid-oqgw6c2e][role=option][aria-selected=true] .label[data-astro-cid-oqgw6c2e]{transform:translate(3px)}.label[data-astro-cid-oqgw6c2e]{transition:transform .3s var(--spring)}.hint[data-astro-cid-oqgw6c2e]{color:var(--ink-3);font-size:.8rem}.empty[data-astro-cid-oqgw6c2e]{text-align:center;color:var(--ink-3);padding:1.5rem}[data-astro-cid-oqgw6c2e][hidden]{display:none!important}main[data-astro-cid-z4jru4n3]{view-transition-name:main;padding-block:clamp(2rem,6vw,4.5rem) 0}.skip-link[data-astro-cid-z4jru4n3]{z-index:10;background:var(--accent);color:var(--on-accent);border-radius:10px;padding:.5rem .9rem;text-decoration:none;transition:top .2s;position:absolute;top:-3rem;left:1rem}.skip-link[data-astro-cid-z4jru4n3]:focus{top:1rem}
