@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-soft-normal.DSA2Kggd.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-soft-normal.DKHvU-YN.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-soft-normal.C-lS_vzd.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.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}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}img,video{max-inline-size:100%;display:block}svg{display:block}input,button,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}:where(ul,ol)[role=list]{padding:0;list-style:none}}@layer tokens{:root{color-scheme:light;--pink:#ff5fa2;--pink-2:#c8326f;--pink-3:#ffd3e6;--orange:#ff8a3d;--orange-2:#a9460a;--orange-3:#ffe0c7;--violet:#8b6cf0;--violet-2:#5f43cc;--violet-3:#e4dcff;--sun:#ffd23f;--sun-2:#f5b400;--sun-3:#fff1b8;--grass:#3cc35f;--grass-2:#1f7f3e;--grass-3:#d3f5dc;--cobalt:#2f5bea;--cobalt-2:#2445c2;--cobalt-3:#dbe4ff;--sky:#8fd0f5;--sky-2:#4fb2ea;--sky-3:#dff2fd;--night:#13293d;--night-2:#0c1d2c;--night-3:#1d3a55;--cream:#fff8ec;--bg:light-dark(#f7fbff,#0d1d2b);--bg-2:light-dark(#eef6fd,#11263a);--wash:light-dark(#cdeafc,#143049);--card:light-dark(#fff,#16304a);--card-2:light-dark(#f2f7fc,#1d3b58);--card-3:light-dark(#e3eef8,#26496b);--line:light-dark(#dfe9f3,#29496a);--line-2:light-dark(#c7d6e4,#3a5f84);--shadow:light-dark(#13293d21,#00060e8c);--shadow-c:light-dark(#13293d12,#00060e66);--plate:light-dark(#0000,#fffffff0);--text:light-dark(#13293d,#f3f7fb);--text-2:light-dark(#3f5468,#c9d6e3);--text-3:light-dark(#566b80,#a4b6c8);--cta:light-dark(#111,#fff);--cta-2:light-dark(#333,#dde7f0);--on-cta:light-dark(#fff,#0d1d2b);--link:light-dark(#2445c2,#9db4ff);--link-2:light-dark(#13293d,#fff);--accent:light-dark(#c4520c,#ffa66b);--accent-ink:light-dark(#a6440a,#ffb98a);--accent-soft:light-dark(#ff8a3d26,#ffa66b29);--accent-edge:var(--orange);--on-accent:#fff;--yes:light-dark(#1b7a3c,#74de98);--yes-soft:light-dark(#3cc35f26,#74de9826);--maybe:light-dark(#8a5a00,#ffd76a);--maybe-soft:light-dark(#ffd23f47,#ffd76a26);--prep:light-dark(#2445c2,#9db4ff);--prep-soft:light-dark(#2f5bea1f,#9db4ff26);--no:light-dark(#b8233f,#ff8fa3);--no-soft:light-dark(#c8326f1f,#ff8fa326);--leaf:var(--yes);--leaf-soft:var(--yes-soft);--leaf-edge:var(--yes);--gold:light-dark(#8a5a00,#ffd76a);--gold-bar:var(--sun);--gold-edge:var(--sun-2);--gold-soft:var(--maybe-soft);--red:var(--no);--red-soft:var(--no-soft);--danger:var(--no);--positive:var(--yes);--frost:var(--prep);--frost-soft:var(--prep-soft);--plum:var(--violet);--bronze:var(--accent-ink);--brand:var(--orange);--craft:var(--accent);--craft-soft:var(--accent-soft);--craft-edge:var(--accent);--paper:var(--bg);--paper-2:var(--card);--paper-3:var(--card-2);--ink:var(--text);--ink-2:var(--text-2);--ink-3:var(--text-3);--rule:var(--line);--rule-strong:var(--line-2);--line-strong:var(--line-2);--bg-sunken:var(--bg-2);--bg-raised:var(--card);--focus:light-dark(#2445c2,#9db4ff);--overlay:#0d1d2b8c;--font-display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-ui:"Plus Jakarta Sans Variable", ui-sans-serif, system-ui, sans-serif;--font-sans:var(--font-ui);--step--2:clamp(.76rem, .74rem + .1vw, .82rem);--step--1:clamp(.86rem, .83rem + .14vw, .93rem);--step-0:clamp(1rem, .97rem + .18vw, 1.08rem);--step-1:clamp(1.18rem, 1.1rem + .35vw, 1.32rem);--step-2:clamp(1.45rem, 1.3rem + .7vw, 1.85rem);--step-3:clamp(1.85rem, 1.55rem + 1.5vw, 2.75rem);--step-4:clamp(2.3rem, 1.7rem + 3vw, 4.1rem);--step-5:clamp(2.6rem, 1.7rem + 4.8vw, 5.4rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:clamp(1.2rem, 1.05rem + .7vw, 1.6rem);--space-l:clamp(1.7rem, 1.35rem + 1.6vw, 2.7rem);--space-xl:clamp(2.4rem, 1.7rem + 3.2vw, 4.4rem);--space-2xl:clamp(3.2rem, 2.2rem + 5vw, 6.5rem);--gutter:1rem;--shell:76rem;--measure:66ch;--radius:26px;--radius-s:16px;--radius-l:36px;--hair:1px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-quiet:cubic-bezier(.4, 0, .2, 1);--appbar-h:4.25rem;--tabbar-h:4.4rem}@media (width>=48rem){:root{--gutter:2rem}}}@layer base{html{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;scroll-padding-block-start:calc(var(--appbar-h) + 1rem);font-size:100%;line-height:1.6}body{background:linear-gradient(180deg, var(--wash) 0, var(--bg) 38rem) no-repeat, var(--bg);min-block-size:100dvh;font-size:var(--step-0)}h1,h2,h3,h4{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:-.02em;text-wrap:balance;color:var(--text);font-weight:560;line-height:1.08}h1{font-size:var(--step-4);letter-spacing:-.03em;font-weight:540}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);letter-spacing:-.01em;font-weight:620}:is(h1,h2,h3) em{color:var(--accent);font-style:normal}p,li{text-wrap:pretty}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--link-2)}strong,b{font-weight:700}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}::selection{background:var(--sun);color:#13293d}hr{border:0;border-block-start:2px dashed var(--line-2);margin-block:var(--space-l)}code,kbd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em}summary,button{cursor:pointer}}@layer layout{.page{padding-block-end:var(--space-2xl)}.wide,.narrow{inline-size:min(100% - 2 * var(--gutter), var(--shell));margin-inline:auto}.narrow{inline-size:min(100% - 2 * var(--gutter), 46rem)}.section{margin-block-start:var(--space-2xl)}.section>:is(h2,h3):not(:last-child){margin-block-end:var(--space-m)}.section-head{justify-content:space-between;align-items:end;gap:var(--space-s);flex-wrap:wrap;margin-block-end:var(--space-m);display:flex}.section-head h2{font-size:var(--step-3);max-inline-size:22ch}.section-head>a{font-weight:700}.stack>*+*{margin-block-start:var(--flow,var(--space-s))}.grid-cards{gap:var(--space-s);grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));display:grid}@media (width<=40rem){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}.sitehead{z-index:40;transition:background .25s var(--ease-quiet), box-shadow .25s;position:sticky;inset-block-start:0}.sitehead[data-scrolled]{background:color-mix(in oklab, var(--bg) 90%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);box-shadow:0 1px 0 var(--line)}.sitehead__in{align-items:center;gap:var(--space-s);min-block-size:var(--appbar-h);display:flex}.logo{color:var(--text);flex:none;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.logo:hover{color:var(--text)}.logo__mark{flex:none;block-size:2.3rem;inline-size:2.3rem}.logo__word{font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:-.03em;font-size:1.45rem;font-weight:620;line-height:1}.logo__word b{color:var(--accent);font-weight:620}.sitenav{gap:.15rem;margin-inline:auto;display:none}.sitenav a{font-weight:650;font-size:var(--step--1);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:.5rem .85rem;text-decoration:none;transition:background .2s,color .2s}.sitenav a:hover{color:var(--text);background:color-mix(in oklab, var(--card) 75%, transparent)}.sitenav a[aria-current=page]{color:var(--text);background:var(--card);box-shadow:0 4px 14px -8px var(--shadow)}.sitehead__end{align-items:center;gap:.45rem;margin-inline-start:auto;display:flex}.roundbtn{background:color-mix(in oklab, var(--card) 80%, transparent);block-size:2.6rem;inline-size:2.6rem;color:var(--text);box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:50%;place-items:center;transition:background .2s;display:grid}.roundbtn:hover{background:var(--card)}.roundbtn svg{block-size:1.2rem;inline-size:1.2rem}.langsw{background:color-mix(in oklab, var(--card) 80%, transparent);block-size:2.6rem;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--text);font-weight:800;font-size:var(--step--1);letter-spacing:.04em;border-radius:999px;align-items:center;gap:.3rem;padding-inline:.75rem;text-decoration:none;display:inline-flex}.langsw:hover{background:var(--card);color:var(--text)}.langsw svg{block-size:1.05rem;inline-size:1.05rem}@media (width>=64rem){.sitenav{display:flex}.sitehead__end{margin-inline-start:0}.tabbar{display:none!important}}.tabbar{z-index:45;padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));background:color-mix(in oklab, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(16px);box-shadow:0 -1px 0 var(--line), 0 -10px 30px -20px var(--shadow);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset-block-end:0;inset-inline:0}.tabbar a{color:var(--text-3);border-radius:14px;justify-items:center;gap:.12rem;padding-block:.3rem;font-size:.72rem;font-weight:700;text-decoration:none;display:grid}.tabbar__icon{border-radius:999px;place-items:center;block-size:1.9rem;inline-size:2.7rem;transition:background .2s;display:grid}.tabbar svg{block-size:1.35rem;inline-size:1.35rem}.tabbar a[aria-current=page]{color:var(--text)}.tabbar a[aria-current=page] .tabbar__icon{background:var(--sky);color:#13293d}@media (width<=63.99rem){body{padding-block-end:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}html{scroll-padding-block-end:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 1rem)}}.sitefoot{--fg:#f3f7fb;color:var(--fg);background:var(--night);isolation:isolate;margin-block-start:var(--space-2xl);position:relative}.sitefoot__grass{block-size:46px;inline-size:100%;color:var(--grass);position:absolute;inset-block-end:calc(100% - 2px);inset-inline:0}.sitefoot__in{padding-block:var(--space-xl) var(--space-l);gap:var(--space-xl);display:grid;position:relative}.sitefoot__hello{gap:var(--space-m);align-items:center;display:grid}.sitefoot__hello h2{color:#fff;font-size:var(--step-4)}.sitefoot__hello h2 em{color:var(--sun)}.sitefoot__hello p{color:#fffc;max-inline-size:46ch;font-size:var(--step-1)}.sitefoot__art{background:#fff;border-radius:40% 60% 55% 45%/50% 45% 55% 50%;justify-self:center;inline-size:min(22rem,80vw);padding:1.2rem}.sitefoot__hello .stack{--flow:var(--space-m)}.sitefoot__actions{flex-wrap:wrap;gap:.75rem;display:flex;margin-block-start:var(--space-l)!important}.sitefoot .btn:not(.btn--sun){--btn-bg:#fff;--btn-fg:#13293d}.sitefoot .btn:not(.btn--sun):hover{background:#eef6fd}.sitefoot__cols{gap:var(--space-l) var(--space-m);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.sitefoot__cols h3{color:var(--sky);font-family:var(--font-ui);font-size:var(--step--2);text-transform:uppercase;letter-spacing:.12em;margin-block-end:.7rem;font-weight:800}.sitefoot__cols ul{gap:.45rem;padding:0;list-style:none;display:grid}.sitefoot__cols a{color:#ffffffdb;font-weight:600;font-size:var(--step--1);text-decoration:none}.sitefoot__cols a:hover{color:#fff;text-decoration:underline}.sitefoot__base{color:#ffffffb3;font-size:var(--step--1);border-block-start:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.4rem;padding-block-start:var(--space-m);display:flex}.sitefoot__base a,.sitefoot__base button{color:#ffffffd9;text-underline-offset:.2em;font-weight:600;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.sitefoot__base nav{flex-wrap:wrap;gap:.4rem 1rem;display:flex}@media (width>=52rem){.sitefoot__hello{grid-template-columns:1.3fr 1fr}.sitefoot__art{justify-self:end}}.palette{inline-size:min(100% - 2rem,38rem);color:var(--text);background:0 0;border:0;margin:12vh auto auto;padding:0}.palette::backdrop{background:var(--overlay);backdrop-filter:blur(4px)}.palette__box{background:var(--card);border-radius:28px;overflow:hidden;box-shadow:0 30px 80px -20px #00000073}.palette__field{border-block-end:1px solid var(--line);align-items:center;gap:.7rem;padding:1rem 1.25rem;display:flex}.palette__field svg{inline-size:1.3rem;color:var(--text-3);flex:none}.palette__field input{font-size:var(--step-1);background:0 0;border:0;outline:none;flex:1;min-inline-size:0;font-weight:600}.palette__field kbd,.palette__hint kbd{background:var(--card-2);color:var(--text-3);border-radius:6px;padding:.1rem .45rem;font-size:.72rem}.palette__list{max-block-size:55vh;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.palette__item{color:var(--text);border-radius:16px;align-items:center;gap:.75rem;padding:.65rem .8rem;text-decoration:none;display:flex}.palette__item.is-active,.palette__item:hover{background:var(--card-2);color:var(--text)}.palette__kind{text-align:center;background:var(--accent-soft);min-inline-size:4.6rem;color:var(--accent-ink);border-radius:999px;flex:none;padding:.18rem .5rem;font-size:.72rem;font-weight:800}.palette__kind--cat{background:var(--violet-3);color:#4a32a8}.palette__kind--tool{background:var(--prep-soft);color:var(--prep)}.palette__kind--page{background:var(--card-3);color:var(--text-2)}.palette__item b{font-weight:700}.palette__item small{color:var(--text-3);margin-inline-start:auto;font-weight:600}.palette__none{color:var(--text-3);padding:1rem}.palette__hint{color:var(--text-3);font-size:var(--step--2);align-items:center;gap:.3rem;padding:.6rem 1.25rem .9rem;display:flex}}@layer components{.skip{z-index:100;background:var(--cta);color:var(--on-cta);border-radius:999px;padding:.6rem 1rem;font-weight:700;position:absolute;inset-block-start:-4rem;inset-inline-start:1rem}.skip:focus{inset-block-start:1rem}.eyebrow{font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:.45rem;font-weight:750;display:inline-flex}.eyebrow svg{block-size:1.05rem;inline-size:1.05rem;color:var(--orange)}.btn{--btn-bg:var(--cta);--btn-fg:var(--on-cta);background:var(--btn-bg);min-block-size:3rem;color:var(--btn-fg);font-weight:700;font-size:var(--step-0);transition:background .2s var(--ease-quiet), transform .2s var(--ease-out), box-shadow .2s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.45rem;line-height:1.1;text-decoration:none;display:inline-flex}.btn:hover{color:var(--btn-fg);background:var(--cta-2)}.btn:active{transform:scale(.97)}.btn svg{flex:none;block-size:1.15em;inline-size:1.15em}.btn--icon{padding-inline-start:.35rem}.btn__dot{background:var(--sky);color:#13293d;border-radius:50%;place-items:center;block-size:2.35rem;inline-size:2.35rem;display:grid}.btn__dot svg{block-size:1.2rem;inline-size:1.2rem}.btn--quiet,.btn--ghost{--btn-bg:var(--card);--btn-fg:var(--text);box-shadow:inset 0 0 0 1.5px var(--line-2)}.btn--quiet:hover,.btn--ghost:hover{background:var(--card-2);color:var(--text)}.btn--sun{--btn-bg:var(--sun);--btn-fg:#13293d}.btn--sun:hover{background:var(--sun-2)}.btn--white{--btn-bg:#fff;--btn-fg:#13293d}.btn--white:hover{background:#eef6fd}.btn--small{min-block-size:2.4rem;font-size:var(--step--1);padding:.45rem 1.05rem}.btn--small.btn--icon{padding-inline-start:.25rem}.btn--small .btn__dot{block-size:1.9rem;inline-size:1.9rem}.btn--block{inline-size:100%}.card{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 0 var(--shadow-c), 0 14px 34px -18px var(--shadow)}a.card{color:inherit;transition:transform .25s var(--ease-out), box-shadow .25s;text-decoration:none}a.card:hover{box-shadow:0 2px 0 var(--shadow-c), 0 22px 44px -18px var(--shadow);color:inherit;transform:translateY(-3px)}.kicker{background:var(--accent-soft);color:var(--accent-ink);font-weight:750;font-size:var(--step--1);letter-spacing:.01em;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;display:inline-flex}.kicker--blue{background:var(--prep-soft);color:var(--prep)}.kicker--white{color:#13293d;background:#ffffffeb}.lede{font-size:var(--step-1);color:var(--text-2);max-inline-size:60ch;line-height:1.55}.muted{color:var(--text-3)}.small{font-size:var(--step--1)}.hl{color:var(--accent)}.linkbtn{color:var(--link);font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline;display:inline}.crumbs{color:var(--text-3);font-weight:600;font-size:var(--step--1);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.crumbs a{color:var(--text-2);text-decoration:none}.crumbs a:hover{color:var(--link);text-decoration:underline}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--card);color:var(--text);font-weight:650;font-size:var(--step--1);box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .9rem;text-decoration:none;display:inline-flex}.chip svg{block-size:1rem;inline-size:1rem}a.chip:hover,button.chip:hover{box-shadow:inset 0 0 0 1.5px var(--line-2);background:var(--card-2);color:var(--text)}.chip[aria-pressed=true],.chip.is-on{background:var(--cta);color:var(--on-cta);box-shadow:none}.chip--soft{background:var(--card-2);box-shadow:none}.choice{gap:.6rem;display:grid}fieldset.choice{border:0;min-inline-size:0;margin:0;padding:0}.choice label{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-weight:650;transition:background .2s,box-shadow .2s;display:flex}.choice label:hover{box-shadow:inset 0 0 0 1.5px var(--line-2)}.choice input{appearance:none;border:2px solid var(--line-2);background:var(--card);border-radius:50%;flex:none;place-items:center;block-size:1.4rem;inline-size:1.4rem;margin:0;display:grid}.choice input[type=checkbox]{border-radius:7px}.choice input:checked{border-color:var(--cta);background:radial-gradient(circle, var(--cta) 0 42%, var(--card) 46%)}.choice input[type=checkbox]:checked{background:var(--cta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 80% no-repeat}.choice label:has(input:checked){box-shadow:inset 0 0 0 2px var(--cta);background:var(--card-2)}.choice input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.field{gap:.4rem;display:grid}.field label,.field__label{font-weight:700}.field__hint{color:var(--text-3);font-size:var(--step--1)}.field__err{color:var(--no);font-weight:650;font-size:var(--step--1)}.field__top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.field__count{color:var(--text-3);font-size:var(--step--2)}.input,.field input:not([type=checkbox],[type=radio],[type=range]),.field select,.field textarea{border:1.5px solid var(--line-2);background:var(--card);min-block-size:3rem;inline-size:100%;color:var(--text);font-size:var(--step-0);border-radius:16px;padding:.7rem 1.1rem}.field textarea{border-radius:20px;min-block-size:9rem}.input:focus,.field :is(input,select,textarea):focus{border-color:var(--cobalt);box-shadow:0 0 0 4px color-mix(in oklab, var(--cobalt) 22%, transparent);outline:none}.stepper{background:var(--card-2);border-radius:999px;align-items:center;gap:.25rem;padding:.3rem;display:inline-flex}.stepper button{background:var(--card);block-size:2.6rem;inline-size:2.6rem;color:var(--text);box-shadow:0 2px 6px -2px var(--shadow);border:0;border-radius:50%;place-items:center;display:grid}.stepper button:hover{background:var(--sky-3);color:#13293d}.stepper button svg{inline-size:1.1rem}.stepper output,.stepper input{text-align:center;min-inline-size:3ch;font-weight:800;font-size:var(--step-1);-moz-appearance:textfield;background:0 0;border:0;inline-size:4.5ch}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}input[type=range]{accent-color:var(--cobalt);inline-size:100%}.stats{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.stat{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:22px;gap:.2rem;padding:1rem 1.1rem;display:grid}.stat__v{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:var(--step-3);letter-spacing:-.03em;font-weight:600;line-height:1}.stat__v small{font-family:var(--font-ui);letter-spacing:0;color:var(--text-2);margin-inline-start:.2em;font-size:.42em;font-weight:700}.stat__k{color:var(--text-2);font-weight:650;font-size:var(--step--1)}.tile{--tile:var(--violet-2);isolation:isolate;border-radius:var(--radius);background:var(--tile);color:#fff;min-block-size:9.5rem;font-weight:750;font-size:var(--step-1);transition:transform .35s var(--ease-out);flex-direction:column;justify-content:flex-end;padding:1.1rem 1.2rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.tile:hover{color:#fff}.tile small{font-weight:600;font-size:var(--step--1);margin-block-start:.15rem;display:block}.tile--violet{--tile:var(--violet-2)}.tile--orange{--tile:var(--orange-2)}.tile--pink{--tile:var(--pink-2)}.tile--cobalt{--tile:var(--cobalt-2)}.tile--grass{--tile:var(--grass-2)}.tile--sun{--tile:var(--sun);color:#13293d}.tile--sun:hover{color:#13293d}.tile--sky{--tile:var(--sky);color:#13293d}.tile--sky:hover{color:#13293d}.tile--night{--tile:var(--night-3)}.sources{counter-reset:s;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:.6rem;padding:0;list-style:none;display:grid}.sources li{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:18px;align-items:start;gap:.75rem;padding:.8rem 1rem;display:flex}.sources__no{background:var(--sky-3);color:#13293d;block-size:1.8rem;inline-size:1.8rem;font-weight:800;font-size:var(--step--1);border-radius:50%;flex:none;place-items:center;display:grid}.sources a{color:var(--text);overflow-wrap:anywhere;font-weight:700;text-decoration:none}.sources a:hover{color:var(--link);text-decoration:underline}.sources small{color:var(--text-3);overflow-wrap:anywhere;display:block}.faq{gap:.6rem;display:grid}.faq__item{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:20px}.faq__item summary{font-weight:700;font-size:var(--step-0);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";background:var(--card-2);block-size:2rem;inline-size:2rem;transition:transform .25s var(--ease-out);border-radius:50%;flex:none;place-items:center;font-size:1.3rem;font-weight:600;display:grid}.faq__item[open] summary:after{background:var(--sky);color:#13293d;transform:rotate(45deg)}.faq__item p{color:var(--text-2);max-inline-size:70ch;padding:0 1.25rem 1.15rem}.note{background:var(--card-2);border-radius:20px;align-items:start;gap:.9rem;padding:1rem 1.2rem;display:flex}.note--sun{background:color-mix(in oklab, var(--sun) 28%, var(--card))}.note--no{background:var(--no-soft)}.note--sky{background:color-mix(in oklab, var(--sky) 30%, var(--card))}.note>svg{block-size:1.5rem;inline-size:1.5rem;color:var(--accent);flex:none;margin-block-start:.1rem}.note--no>svg{color:var(--no)}.checks{gap:.55rem;padding:0;list-style:none;display:grid}.checks li{align-items:start;gap:.65rem;display:flex}.checks li:before{content:"";background:var(--grass-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7f3e' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 70% no-repeat;border-radius:50%;flex:none;block-size:1.35rem;inline-size:1.35rem;margin-block-start:.15rem}.checks--no li:before{background:var(--pink-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8326f' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 64% no-repeat}.table-wrap{border-radius:var(--radius);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);overflow-x:auto}.table{inline-size:100%;font-size:var(--step--1)}.table th,.table td{text-align:start;border-block-end:1px solid var(--line);padding:.75rem 1rem}.table thead th{background:var(--card-2);white-space:nowrap;font-weight:750}.table tr:last-child td{border-block-end:0}.titleblock{padding-block:var(--space-l) var(--space-m);gap:var(--space-xs);display:grid}.tile__icon{background:var(--accent-soft);block-size:2.6rem;inline-size:2.6rem;color:var(--accent);border-radius:50%;place-items:center;display:grid}.tile__icon svg{inline-size:1.3rem}.art{block-size:auto;display:block}.art--plate{background:var(--plate);border-radius:var(--radius)}.doodle{pointer-events:none;position:absolute;overflow:visible}.inline-icon{vertical-align:-.15em;block-size:1em;inline-size:1em;display:inline-block}.section-head>a{align-items:center;gap:.35rem;display:inline-flex}.a11y{--font-ui:"Plus Jakarta Sans Variable", ui-sans-serif, system-ui, sans-serif;--font-display:var(--font-ui);font-family:var(--font-ui);--a11y-gap:max(1.25rem, env(safe-area-inset-right));--a11y-bottom:calc(1.25rem + env(safe-area-inset-bottom));--a11y-fab:3.25rem}@media (width<=63.99rem){.a11y{--a11y-gap:max(1rem, env(safe-area-inset-right));--a11y-bottom:calc(6rem + env(safe-area-inset-bottom))}}.a11y__fab{z-index:70;inline-size:var(--a11y-fab);block-size:var(--a11y-fab);background:var(--accent);color:var(--on-accent);box-shadow:0 4px 0 var(--accent-edge), 0 14px 30px -12px var(--shadow);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:translate .16s,box-shadow .16s,background .16s;display:grid;position:fixed;inset-block-end:var(--a11y-bottom);inset-inline-end:var(--a11y-gap);& svg{stroke-width:2.4px;block-size:1.7rem;inline-size:1.7rem}&:hover{box-shadow:0 6px 0 var(--accent-edge), 0 18px 34px -12px var(--shadow);translate:0 -2px}&:active{box-shadow:0 1px 0 var(--accent-edge), 0 8px 20px -12px var(--shadow);translate:0 3px}&:focus-visible{outline:3px solid var(--text);outline-offset:3px}}.a11y.is-open .a11y__fab{background:var(--card-2);color:var(--text);box-shadow:0 4px 0 var(--line-2), 0 14px 30px -12px var(--shadow)}.a11y__dot{background:var(--gold-bar);border:2.5px solid var(--bg);border-radius:50%;block-size:.95rem;inline-size:.95rem;position:absolute;inset-block-start:-2px;inset-inline-end:-2px}.a11y__dot[hidden]{display:none}.a11y__panel{z-index:70;inline-size:min(22.5rem,100vw - 2rem);max-block-size:min(40rem, 100dvh - var(--a11y-bottom) - var(--a11y-fab) - 5.5rem);background:var(--card);border:var(--hair) solid var(--line-2);box-shadow:0 30px 60px -24px var(--shadow), 0 0 0 1px var(--line);color:var(--text);transform-origin:100% 100%;border-radius:24px;flex-direction:column;animation:.22s cubic-bezier(.2,.9,.3,1.2) a11y-pop;display:flex;position:fixed;inset-block-end:calc(var(--a11y-bottom) + var(--a11y-fab) + .85rem);inset-inline-end:var(--a11y-gap);overflow:hidden}.a11y__panel[hidden]{display:none}@keyframes a11y-pop{0%{opacity:0;translate:0 8px;scale:.92}}.a11y__head{border-block-end:var(--hair) solid var(--line);align-items:center;gap:.6rem;padding:.9rem .9rem .9rem 1rem;display:flex;& h2{min-inline-size:0;font-size:var(--step-1);letter-spacing:-.01em;overflow-wrap:anywhere;outline:none;flex:1;margin:0;font-weight:900}}.a11y__badge{background:var(--accent-soft);block-size:2.1rem;inline-size:2.1rem;color:var(--accent-ink);border-radius:12px;flex:none;place-items:center;display:grid;& svg{block-size:1.25rem;inline-size:1.25rem}}.a11y__reset,.a11y__close{white-space:nowrap;cursor:pointer;min-block-size:2.2rem;font:inherit;font-weight:850;font-size:var(--step--1);border:0;border-radius:999px;flex:none;align-items:center;gap:.3rem;display:inline-flex;& svg{block-size:1rem;inline-size:1rem}}.a11y__reset{background:var(--gold-soft);color:var(--gold);padding:0 .75rem}.a11y__reset[hidden]{display:none}.a11y__close{background:var(--card-2);inline-size:2.2rem;color:var(--text-2);justify-content:center}.a11y__reset:hover,.a11y__close:hover{filter:brightness(.96)}.a11y__reset:focus-visible,.a11y__close:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px}.a11y__body{overscroll-behavior:contain;padding:.4rem .9rem .9rem;overflow-y:auto}.a11y__group{padding-block:.6rem .2rem}.a11y__group+.a11y__group{border-block-start:1px dashed var(--line)}.a11y__group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 .4rem;padding-inline:.2rem;font-size:.72rem;font-weight:900}.a11y__row,.a11y__toggle{border-radius:14px;align-items:center;gap:.65rem;min-block-size:2.85rem;inline-size:100%;padding:.35rem .55rem;display:flex}.a11y__label{font-weight:800;font-size:var(--step--1);align-items:center;gap:.65rem;margin-inline-end:auto;display:inline-flex}.a11y__row svg,.a11y__toggle>svg{block-size:1.2rem;inline-size:1.2rem;color:var(--accent-ink);flex:none}.a11y__step{background:var(--card-2);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem;display:inline-flex;& button{background:var(--card);block-size:2rem;inline-size:2rem;color:var(--text);cursor:pointer;box-shadow:0 2px 0 var(--line-2);border:0;border-radius:50%;place-items:center;display:grid;& svg{color:currentColor;block-size:1rem;inline-size:1rem}&:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}&:not(:disabled):active{box-shadow:none;translate:0 2px}&:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px}}& output{text-align:center;min-inline-size:3.6rem;font-weight:900;font-size:var(--step--1);font-variant-numeric:tabular-nums}}.a11y__toggle{color:var(--text);cursor:pointer;text-align:start;font:inherit;font-weight:800;font-size:var(--step--1);background:0 0;border:0;&>span:first-of-type{margin-inline-end:auto}&:hover{background:var(--card-2)}&:focus-visible{outline:2.5px solid var(--focus);outline-offset:-2px}&[aria-checked=true]{background:var(--accent-soft)}}.a11y__switch{background:var(--line-2);border-radius:999px;flex:none;block-size:1.5rem;inline-size:2.6rem;transition:background .16s;position:relative;&:after{content:"";background:var(--card);border-radius:50%;block-size:1.1rem;inline-size:1.1rem;transition:translate .18s cubic-bezier(.3,1.4,.5,1);position:absolute;inset-block-start:.2rem;inset-inline-start:.2rem;box-shadow:0 1px 3px oklch(0% 0 0/.3)}}.a11y__toggle[aria-checked=true] .a11y__switch{background:var(--accent-edge)}.a11y__toggle[aria-checked=true] .a11y__switch:after{translate:1.1rem}@media (hover:none){.a11y__keys{display:none}}.a11y__foot{border-block-start:var(--hair) solid var(--line);background:var(--card-2);color:var(--text-3);padding:.7rem 1rem;font-size:.75rem;font-weight:700;line-height:1.45;& kbd{border:1px solid var(--line-2);background:var(--card);font:inherit;color:var(--text-2);border-radius:6px;padding:.05rem .35rem;font-weight:900}}.a11y-guide{z-index:69;pointer-events:none;background:color-mix(in oklch, var(--gold-bar) 16%, transparent);border-block:2px solid color-mix(in oklch, var(--gold-bar) 70%, transparent);block-size:1.8rem;position:fixed;inset-block-start:-.9rem;inset-inline:0}.a11y-guide[hidden]{display:none}.pip-toast{inset-block-end:calc(1.25rem + env(safe-area-inset-bottom) + 3.25rem + .75rem)}@media (width<=47.99rem){.pip-toast{inset-block-end:calc(var(--tabbar-h) + .75rem + env(safe-area-inset-bottom) + 3.25rem + .75rem)}}@media print{.a11y,.a11y-guide{display:none!important}}.sitehead__cta{display:none}@media (width>=64rem){.sitehead__cta{display:inline-flex}}.blog-cats{margin-block:var(--space-xs) var(--space-l)}.blog-cats ul{scrollbar-width:none;gap:.45rem;padding-block-end:.35rem;display:flex;overflow-x:auto}.blog-cats a{border:var(--hair) solid var(--line);background:var(--card);min-block-size:2.5rem;color:var(--text-2);font-weight:800;font-size:var(--step--1);white-space:nowrap;border-radius:999px;align-items:center;padding:.4rem 1rem;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex;&:hover{color:var(--text);border-color:var(--line-2)}&[aria-current=page]{background:var(--text);color:var(--bg);box-shadow:none;border-color:#0000}}.post-grid{gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));display:grid}.post-card{border-radius:var(--radius-l);background:var(--card);border:var(--hair) solid var(--line);transition:translate .2s var(--ease-out), box-shadow .2s;grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden;&:hover{box-shadow:0 18px 40px -22px var(--shadow);translate:0 -4px}&:hover .post-card__media img{scale:1.05}}.post-card__media{aspect-ratio:16/10;background:var(--card-2);display:block;overflow:hidden}.post-card__media img{object-fit:cover;block-size:100%;inline-size:100%;transition:scale .5s var(--ease-out)}.post-card__body{padding:var(--space-s) var(--space-m) var(--space-m);flex-direction:column;gap:.45rem;display:flex}.post-card__cat{background:var(--accent-soft);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.05em;z-index:1;border-radius:999px;align-self:flex-start;align-items:center;min-block-size:24px;padding:.15rem .6rem;font-size:.72rem;font-weight:900;text-decoration:none;display:inline-flex;position:relative}.post-card__title{font-size:var(--step-1);font-weight:900;line-height:1.2}.post-card__title a{color:var(--text);font-weight:inherit;text-decoration:none;&:after{content:"";position:absolute;inset:0}}.post-card__title a:focus-visible{outline:none}.post-card:has(.post-card__title a:focus-visible){outline:2.5px solid var(--focus);outline-offset:3px}.post-card__excerpt{color:var(--text-2);font-size:var(--step--1);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.post-card__meta{color:var(--text-3);margin-block-start:auto;padding-block-start:.35rem;font-size:.78rem;font-weight:750}.post-card--lead{margin-block-end:var(--space-m)}@media (width>=52rem){.post-card--lead{grid-template-rows:auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.post-card--lead .post-card__media{aspect-ratio:auto;min-block-size:20rem}.post-card--lead .post-card__body{padding:var(--space-l);justify-content:center;gap:.7rem}.post-card--lead .post-card__title{font-size:var(--step-3)}.post-card--lead .post-card__excerpt{font-size:var(--step-0);-webkit-line-clamp:4}}.blog-pager{justify-content:space-between;align-items:center;gap:var(--space-s);margin-block:var(--space-l);display:flex}.blog-pager__n{color:var(--text-3);font-weight:800;font-size:var(--step--1)}.blog-empty{text-align:center;padding:var(--space-xl) var(--space-m)}.blog-empty h2{font-size:var(--step-2);margin-block-end:.4rem}.blog-empty p{margin-inline:auto}.blog-ad{margin-block:var(--space-m);justify-items:center;gap:.3rem;display:grid}.blog-ad__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:.68rem;font-weight:800}.blog-ad img{border-radius:var(--radius-s);block-size:auto;max-inline-size:100%}.blog-ad__placeholder{inline-size:min(100%, var(--ad-w));block-size:min(var(--ad-h), 12rem);border:1.5px dashed var(--line-2);border-radius:var(--radius);color:var(--text-3);font-weight:800;font-size:var(--step--1);place-items:center;display:grid}.phero.post__hero h1{max-inline-size:24ch;font-size:clamp(2rem,1.4rem + 2.2vw,3.2rem)}.post__hero .lede{max-inline-size:60ch}.post__meta{color:var(--text-2);font-size:var(--step--1);flex-wrap:wrap;gap:.4rem 1rem;margin-block-start:var(--space-s);font-weight:750;display:flex}.post__meta li{align-items:center;gap:.35rem;display:inline-flex}.post__meta svg{block-size:1rem;inline-size:1rem;color:var(--accent-ink)}.crumbs{color:var(--text-3);margin-block-end:var(--space-xs);font-weight:800}.crumbs a{color:var(--text-2)}.post__layout{gap:var(--space-l) var(--space-xl);align-items:start;display:grid}@media (width>=64rem){.post__layout{grid-template-columns:minmax(0,1fr) 17rem}}.post__main{min-inline-size:0;max-inline-size:44rem}.post__side{gap:var(--space-s);display:grid;position:sticky;inset-block-start:calc(var(--appbar-h) + var(--space-s))}@media (width<=63.99rem){.post__side{position:static}.post__side .post__toc{display:none}}@media (width>=64rem){.post__toc--mobile{display:none}}.post__summary{padding:var(--space-m);border-radius:var(--radius-l);background:var(--accent-soft);border:var(--hair) solid color-mix(in oklch, var(--accent) 35%, transparent);margin-block-end:var(--space-l);padding-inline-end:calc(var(--space-m) + 2.6rem);position:relative}.post__summary-vine,.post__toc-vine{z-index:1;inline-size:7.5rem;position:absolute;scale:-1 1}.post__summary-vine{inset-block-start:-.85rem;inset-inline-end:-1.6rem}.post__summary-pip{display:none}@media (width<=63.99rem){.post__summary{margin-block-start:2.6rem}.post__summary-pip{z-index:2;block-size:auto;inline-size:4rem;filter:drop-shadow(0 6px 8px color-mix(in oklch, var(--shadow) 60%, transparent));display:block;position:absolute;inset-block-start:-3.2rem;inset-inline-end:.4rem}}.post__summary h2{font-size:var(--step-0);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);margin-block-end:.5rem}.post__summary ul{gap:.45rem;display:grid}.post__summary li{color:var(--text);padding-inline-start:1.5rem;font-weight:700;position:relative}.post__summary li:before{content:"";background:var(--accent);block-size:.55rem;inline-size:.55rem;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;position:absolute;inset-block-start:.55em;inset-inline-start:.2rem}.post__toc{font-size:var(--step--1);position:relative}.post__toc-vine{inline-size:6.2rem;inset-block-start:-.8rem;inset-inline-end:-1.4rem}.post__toc--side{margin-block-start:2.6rem;padding-inline-end:2.4rem}.post__toc--side .post__toc-vine{inset-block-start:-.5rem}.post__toc-pip{z-index:2;block-size:auto;inline-size:4.2rem;filter:drop-shadow(0 6px 8px color-mix(in oklch, var(--shadow) 60%, transparent));transform-origin:50% 100%;position:absolute;inset-block-start:-3.3rem;inset-inline-end:.2rem}.post__toc--side:hover .post__toc-pip{animation:pip-peek .9s var(--ease-out)}@keyframes pip-peek{0%,to{rotate:0deg}35%{rotate:-7deg}70%{rotate:4deg}}@media (prefers-reduced-motion:reduce){.post__toc--side:hover .post__toc-pip{animation:none}}.post__chapter{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-weight:850;text-decoration:none;display:inline-flex}.post__chapter:hover{background:color-mix(in oklch, var(--accent) 30%, var(--accent-soft))}.post__toc-title,.post__toc summary{color:var(--text);margin-block-end:.4rem;font-weight:900}.post__toc summary{cursor:pointer;min-block-size:24px}.post__toc--mobile{padding:var(--space-s) var(--space-m);border-radius:var(--radius-l);background:var(--card);border:var(--hair) solid var(--line);margin-block-end:var(--space-m);padding-inline-end:calc(var(--space-m) + 2rem)}.post__toc ol{gap:.15rem;display:grid}.post__toc li.sub{padding-inline-start:.9rem}.post__toc a{color:var(--text-2);border-radius:8px;padding:.3rem .55rem;font-weight:700;line-height:1.3;text-decoration:none;display:block;&:hover{background:var(--card-2);color:var(--text)}&[aria-current]{background:var(--accent-soft);color:var(--accent-ink)}}.post__cta{color:var(--text);padding:var(--space-s);transition:translate .16s var(--ease-out);align-items:flex-start;gap:.75rem;text-decoration:none;display:flex}.post__cta:hover{translate:0 -2px}.post__cta svg{block-size:1.6rem;inline-size:1.6rem;color:var(--accent-ink);flex:none}.post__cta strong{font-weight:900;display:block}.post__cta small{color:var(--text-2);margin-block-start:.15rem;font-size:.8rem;font-weight:650;display:block}.post__tags{flex-wrap:wrap;gap:.4rem;margin-block-start:var(--space-l);display:flex}.post__tags a{background:var(--card-2);min-block-size:2rem;color:var(--text-2);font-weight:800;font-size:var(--step--1);border-radius:999px;align-items:center;padding:.2rem .75rem;text-decoration:none;display:inline-flex}.post__tags a:hover{color:var(--text)}.post__author{gap:var(--space-s);align-items:center;margin-block-start:var(--space-l);display:flex}.post__avatar{background:linear-gradient(160deg, var(--accent), var(--accent-edge));block-size:3rem;inline-size:3rem;color:var(--on-accent);font-weight:900;font-size:var(--step-1);border-radius:50%;flex:none;place-items:center;display:grid}.post__author-name{color:var(--text);font-weight:900}.post__author{align-items:flex-start}.post__avatar--brand{object-fit:cover;block-size:3.5rem;inline-size:3.5rem;box-shadow:0 2px 0 var(--line);background:0 0;border-radius:.95rem}.post__author-role{color:var(--text-3);font-size:var(--step--1);font-weight:750}.post__author-bio{margin-block-start:.35rem}.post__author-links{flex-wrap:wrap;gap:.25rem 1rem;margin-block-start:.5rem;font-weight:800;display:flex}.post__byline-avatar{border-radius:.45rem;block-size:1.5rem;inline-size:1.5rem}.post__comments{max-inline-size:44rem}.comments__empty{color:var(--text-2);font-weight:600}.comments__list,.comments__replies{gap:var(--space-s);display:grid}.comments__replies{border-inline-start:2px solid var(--line);margin-block-start:var(--space-s);padding-inline-start:var(--space-m)}.comments__item{padding:var(--space-s) var(--space-m);border-radius:var(--radius);background:var(--card);border:var(--hair) solid var(--line)}.comments__replies .comments__item{background:var(--card-2)}.comments__head{font-size:var(--step--1);color:var(--text);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.comments__head time{color:var(--text-3);font-weight:700}.comments__avatar{background:var(--accent-soft);block-size:1.8rem;inline-size:1.8rem;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.8rem;font-weight:900;display:grid}.comments__body{white-space:pre-line;color:var(--text-2);margin-block-start:.4rem;font-weight:600}.comments__reply{min-block-size:24px;color:var(--accent-ink);cursor:pointer;background:0 0;border:0;border-radius:999px;margin-block-start:.4rem;padding:.15rem .55rem;font-size:.8rem;font-weight:850}.comments__reply:hover{background:var(--accent-soft)}.comments__formtitle{margin-block:var(--space-l) var(--space-s);font-size:var(--step-1)}.comments__form{gap:var(--space-s);margin-block-start:var(--space-s);display:grid}.comments__field{font-size:var(--step--1);color:var(--text-2);gap:.3rem;font-weight:800;display:grid}.comments__field input,.comments__field textarea{font:inherit;font-weight:650;font-size:var(--step-0);color:var(--text);background:var(--card);border:1.5px solid var(--line-2);border-radius:12px;padding:.6rem .75rem;&:focus-visible{border-color:var(--accent-edge);box-shadow:0 0 0 3px var(--accent-soft);outline:none}&[aria-invalid=true]{border-color:var(--red)}}.comments__field small{color:var(--text-3);justify-self:end;font-weight:700}.comments__field em{color:var(--red);font-style:normal;font-weight:800}.comments__hp{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.comments__error{color:var(--red);font-weight:800}.comments__ok{color:var(--accent-ink);font-weight:800}.comments__form .btn{justify-self:start}.post__layout{margin-block-start:var(--space-l)}.post__block{margin-block-start:var(--space-xl)}.post__block>h2{font-size:var(--step-2);margin-block-end:var(--space-s)}.stitch-links{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.7rem;padding:0;list-style:none;display:grid}.stitch-link{border-radius:var(--radius);gap:.3rem;padding:1rem 1.15rem;display:grid}.stitch-link__craft{background:var(--accent-soft);color:var(--accent-ink);font-size:var(--step--2);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-self:start;padding:.2rem .65rem;font-weight:800}.stitch-link strong{font-size:var(--step-1);color:var(--text)}.stitch-link__go{color:var(--cta);font-weight:700;font-size:var(--step--1);align-items:center;gap:.3rem;display:inline-flex}.stitch-link__go svg{flex:none;block-size:1rem;inline-size:1rem}.post__comments{background:var(--card);border-radius:var(--radius-l);padding:var(--space-m);box-shadow:0 10px 30px -18px var(--shadow)}@media (width>=48rem){.post__comments{padding:var(--space-l)}}.post__comments>*{max-inline-size:44rem}}@layer utilities{.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.center{text-align:center}.nowrap{white-space:nowrap}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-a11y-text="-2"]{font-size:87.5%}html[data-a11y-text="-1"]{font-size:93.75%}html[data-a11y-text="1"]{font-size:112.5%}html[data-a11y-text="2"]{font-size:125%}html[data-a11y-text="3"]{font-size:137.5%}html[data-a11y-text="4"]{font-size:150%}html[data-a11y-lh="1"]{--a11y-lh:1.8}html[data-a11y-lh="2"]{--a11y-lh:2.05}html[data-a11y-lh="3"]{--a11y-lh:2.3}html[data-a11y-lh] :is(p,li,dd,dt,td,th,label,summary,blockquote,figcaption,.lede,.answer,.pip__bubble):not(.a11y *){line-height:var(--a11y-lh)!important}html[data-a11y-ls="1"]{--a11y-ls:.04em;--a11y-ws:.1em}html[data-a11y-ls="2"]{--a11y-ls:.08em;--a11y-ws:.18em}html[data-a11y-ls="3"]{--a11y-ls:.12em;--a11y-ws:.26em}html[data-a11y-ls] body :not(.a11y,.a11y *){letter-spacing:var(--a11y-ls)!important;word-spacing:var(--a11y-ws)!important}html[data-a11y-dyslexia]{--font-ui:"OpenDyslexic", "Comic Sans MS", sans-serif;--font-display:"OpenDyslexic", "Comic Sans MS", sans-serif}html[data-a11y-dyslexia] body :not(svg,svg *,kbd,.a11y,.a11y *){font-family:OpenDyslexic,Comic Sans MS,sans-serif!important}html[data-a11y-contrast]{--text:light-dark(oklch(10% .02 165),oklch(100% 0 0));--text-2:var(--text);--text-3:light-dark(oklch(22% .03 165),oklch(92% .01 160));--line:light-dark(oklch(45% .03 160),oklch(70% .03 165));--line-2:light-dark(oklch(30% .03 160),oklch(82% .03 165));--accent-ink:light-dark(oklch(34% .13 148),oklch(92% .17 140));--bg:light-dark(oklch(100% 0 0),oklch(8% .01 170));--card:light-dark(oklch(100% 0 0),oklch(14% .015 170))}html[data-a11y-contrast] a:not(.btn,.crop-card,[class*=tab]){text-underline-offset:3px;text-decoration:underline}html[data-a11y-mono] :is(.sitehead,main,.sitefoot,.tabbar){filter:grayscale()}html[data-a11y-motion]{scroll-behavior:auto!important}html[data-a11y-motion] *,html[data-a11y-motion] :before,html[data-a11y-motion] :after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html[data-a11y-noimg] img:not(.pip img,.wordmark__logo,.foot-brand__logo img,[data-a11y-keep]){opacity:.06!important}html[data-a11y-cursor],html[data-a11y-cursor] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2.5 19.5 10l-7 2.1-2.6 7.4z' fill='black' stroke='white' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4,auto!important}html[data-a11y-cursor] :is(a,button,summary,label,[role=switch],input[type=checkbox],select),html[data-a11y-cursor] :is(a,button,summary,label,[role=switch],select) *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2.5 19.5 10l-7 2.1-2.6 7.4z' fill='%2357c43e' stroke='black' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 6 4,pointer!important}html[data-a11y-links] a{outline-offset:2px;text-underline-offset:3px;border-radius:4px;outline:2.5px solid var(--gold-bar)!important;text-decoration:underline!important}}@layer print{@media print{.sitehead,.tabbar,.sitefoot,.a11y-fab,.no-print,.doodle{display:none!important}body,html{color:#000;background:#fff}.card,.stat{box-shadow:none;border:1px solid #ddd}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}}@view-transition{navigation:auto}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/opendyslexic-latin-400-normal.nUhe5EwG.woff2)format("woff2"),url(/_astro/opendyslexic-latin-400-normal.Cv3YY6GF.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/opendyslexic-latin-700-normal.Bnmt45Ln.woff2)format("woff2"),url(/_astro/opendyslexic-latin-700-normal.wYUJcbXi.woff)format("woff")}.consent[data-astro-cid-u6s5b3h2]{border:var(--hair) solid var(--line-2);background:var(--card);max-block-size:calc(100dvh - 2rem);inline-size:min(32rem,100vw - 2rem);color:var(--text);box-shadow:0 30px 70px -24px var(--shadow), 0 4px 12px -4px var(--shadow);text-align:center;border-radius:24px;margin:auto;padding:clamp(1.4rem,4vw,2rem);overflow-y:auto}.consent[data-astro-cid-u6s5b3h2]:not([open]){display:none}.consent[data-astro-cid-u6s5b3h2][open]{justify-items:center;gap:.6rem;display:grid}.consent[data-astro-cid-u6s5b3h2]:focus{outline:none}.consent[data-astro-cid-u6s5b3h2]::backdrop{background:var(--overlay);backdrop-filter:blur(3px)}.consent__icon[data-astro-cid-u6s5b3h2]{block-size:56px;inline-size:56px;margin-block-end:.2rem}.consent[data-astro-cid-u6s5b3h2] h2[data-astro-cid-u6s5b3h2]{font-size:var(--step-2);text-wrap:balance;margin:0;font-weight:900;line-height:1.2}.consent[data-astro-cid-u6s5b3h2] p[data-astro-cid-u6s5b3h2]{font-size:var(--step-0);color:var(--text-2);text-wrap:pretty;margin:0;line-height:1.55}.consent[data-astro-cid-u6s5b3h2] .consent__more[data-astro-cid-u6s5b3h2]{font-size:var(--step--1)}.consent__actions[data-astro-cid-u6s5b3h2]{grid-template-columns:1fr 1fr;gap:.75rem;inline-size:100%;margin-block-start:.8rem;display:grid}.consent__actions[data-astro-cid-u6s5b3h2] .btn[data-astro-cid-u6s5b3h2]{min-block-size:3.25rem;font-size:var(--step-0);justify-content:center}@media (width<=22rem){.consent__actions[data-astro-cid-u6s5b3h2]{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.consent[data-astro-cid-u6s5b3h2][open]{animation:.22s cubic-bezier(.2,.8,.2,1) consent-in}.consent[data-astro-cid-u6s5b3h2][open]::backdrop{animation:.22s ease-out consent-fade}}@keyframes consent-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes consent-fade{0%{opacity:0}}html:has(.consent[open]){overflow:hidden}@media print{.consent[data-astro-cid-u6s5b3h2],.consent[data-astro-cid-u6s5b3h2]::backdrop{display:none!important}}.social[data-astro-cid-y2qsmizv]{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.social__lead[data-astro-cid-y2qsmizv]{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:.75rem;font-weight:900}.social__list[data-astro-cid-y2qsmizv].social__list{flex-wrap:wrap;gap:.4rem;max-inline-size:none;margin:0;padding:0;display:flex}.social__list[data-astro-cid-y2qsmizv].social__list li[data-astro-cid-y2qsmizv]{margin:0}.social__link[data-astro-cid-y2qsmizv]{background:var(--card);border:var(--hair) solid var(--line-2);min-block-size:2.5rem;color:var(--text);font-size:var(--step--1);transition:border-color .16s, translate .16s var(--ease-out);border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .95rem .35rem .75rem;font-weight:800;text-decoration:none;display:inline-flex}.social__link[data-astro-cid-y2qsmizv] svg[data-astro-cid-y2qsmizv]{color:var(--brand);flex:none}.social__link[data-astro-cid-y2qsmizv]:hover{border-color:var(--brand);translate:0 -1px}.social__link[data-astro-cid-y2qsmizv]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.social__link[data-astro-cid-y2qsmizv]{transition:none}}.sitefoot__artwrap[data-astro-cid-nns7i3if]{justify-self:center;position:relative}@media (width>=52rem){.sitefoot__artwrap[data-astro-cid-nns7i3if]{justify-self:end}}.prose-journal{color:var(--text-2);overflow-wrap:break-word;font-size:1.0625rem;font-weight:550;line-height:1.75}.prose-journal>*+*{margin-block-start:1.15em}.prose-journal h2,.prose-journal h3{color:var(--text);letter-spacing:-.02em;text-wrap:balance;scroll-margin-block-start:6rem;font-weight:900;line-height:1.15}.prose-journal h2{margin-block-start:2.1em;font-size:clamp(1.45rem,1.25rem + .8vw,1.85rem)}.prose-journal h3{margin-block-start:1.7em;font-size:clamp(1.18rem,1.1rem + .35vw,1.32rem)}.prose-journal h2+*,.prose-journal h3+*{margin-block-start:.6em}.prose-journal .prose__anchor{color:var(--text-3);opacity:0;margin-inline-start:.4em;text-decoration:none;transition:opacity .16s}.prose-journal :is(h2,h3):hover .prose__anchor,.prose-journal .prose__anchor:focus-visible{opacity:1}.prose-journal strong{color:var(--text);font-weight:850}.prose-journal a:not(.prose__anchor){color:var(--accent-ink);text-underline-offset:.2em;text-decoration:underline 1.5px;text-decoration-color:color-mix(in oklch, currentColor 40%, transparent);font-weight:750}.prose-journal a:not(.prose__anchor):hover{text-decoration-color:currentColor}.prose-journal ul,.prose-journal ol{padding-inline-start:1.3em}.prose-journal ul{list-style:outside}.prose-journal ol{list-style:decimal}.prose-journal li+li{margin-block-start:.4em}.prose-journal li::marker{color:var(--accent-ink);font-weight:900}.prose-journal blockquote{border-inline-start:4px solid var(--accent);background:var(--card-2);color:var(--text);border-radius:0 14px 14px 0;padding:.9em 1.1em;font-size:1.1rem;line-height:1.55}.prose-journal code{background:var(--card-2);border-radius:6px;padding:.1em .35em;font-size:.9em}.prose-journal pre{background:var(--card-2);border-radius:14px;padding:1em 1.1em;font-size:.875rem;line-height:1.6;overflow-x:auto}.prose-journal pre code{background:0 0;padding:0}.prose-journal hr{border:0;border-block-start:1px solid var(--line);margin-block:2.5em}.prose-journal .prose__fig{margin-block:2em;display:block}.prose-journal .prose__fig img{background:var(--card-2);border-radius:18px;block-size:auto;max-inline-size:100%;margin-inline:auto;display:block}.prose-journal .prose__cap{text-align:center;color:var(--text-3);margin-block-start:.6em;font-size:.8rem;font-weight:650;display:block}.prose-journal .prose__table{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-block:2em;overflow-x:auto}.prose-journal table{border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums;inline-size:100%;font-size:.92rem}.prose-journal thead th{text-align:start;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border-block-end:1px solid var(--line);white-space:nowrap;padding:.75em .9em;font-size:.72rem;font-weight:900}.prose-journal td{border-block-start:1px solid var(--line);color:var(--text);vertical-align:top;padding:.7em .9em}.prose-journal tbody tr:first-child td{border-block-start:0}.prose-journal input[type=checkbox]{accent-color:var(--accent-edge);margin-inline-end:.4em}.blog-hero{gap:var(--space-l);padding-block:var(--space-l) var(--space-m);align-items:center;display:grid}.blog-hero .stack{--flow:var(--space-s)}.blog-hero__art{justify-self:center;inline-size:min(78%,24rem);position:relative}.blog-hero__art .art{block-size:auto;inline-size:100%}@media (width>=52rem){.blog-hero{grid-template-columns:1.2fr .8fr}.blog-hero__art{justify-self:end}}.post__cover{border-radius:var(--radius-l);background:var(--sky-3);margin-block-start:var(--space-m);overflow:hidden}.post__cover img{object-fit:contain;block-size:auto;max-block-size:30rem;inline-size:100%}
