@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(/assets/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(/assets/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(/assets/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}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-Ce5q_31Z.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-BPBWmzPh.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-Cgks_Qgx.woff2)format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CxNRRMGd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-LC9RFr9I.woff2)format("woff2"),url(/assets/geist-mono-latin-400-normal-CoULgQGM.woff)format("woff");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 base{@property --layout-gap{syntax:"*";inherits:false;initial-value:1rem}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--min-vw:360;--max-vw:800;--vs-xs:.25rem;--vs-s:.5rem;--vs-base:1rem;--vs-m:1.5rem;--vs-l:2rem;--vs-xl:4rem;--vs-xxl:6rem;--vs-xxxl:8rem;--br-xs:2px;--br-s:4px;--br-m:8px;--br-l:16px;--br-xl:24px;--br-xxl:32px;--pad-xs:.25rem;--pad-s:.5rem;--pad-m:.75rem;--pad-l:1rem;--pad-xl:1.5rem;--pad-xxl:2rem;--pad-xxxl:4rem;--lh-xs:1;--lh-s:1.2;--lh:1.5;--lh-l:1.8;--lh-xl:2;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--shadow-1:0 0 1px .5px #0000000d, 0 2px 2px #0000001a;--shadow-2:0 1px 1px 2px #00000008, 0 4px 4px #0000001a;--shadow-3:0 2px 4px #0000000d, 0 4px 8px #0000001a;--shadow-4:0 4px 8px #0000000f, 0 8px 16px #0000001f;--shadow-5:0 8px 16px #00000014, 0 12px 24px #00000024;--shadow-6:0 12px 24px #0000001a, 0 16px 32px #00000029, 0 24px 48px #0000002e;--box:0 1px 2px #0000000a, inset -1px 1px 2px #ffffff1a, inset 1px 1px 2px #ffffff1a;--yellow:oklch(88% .15 95);--amber:oklch(78% .16 80);--orange:oklch(75% .18 65);--red:oklch(62% .22 35);--pink:oklch(62% .25 350);--purple:oklch(65% .24 310);--indigo:oklch(55% .25 275);--blue:oklch(50% .28 270);--teal:oklch(82% .08 185);--green:oklch(72% .18 165);--lime:oklch(80% .16 130);--highlighter:oklch(88% .22 115);--brown:oklch(55% .12 60);--yellow-1:oklch(from var(--yellow) l c h / .1);--yellow-2:oklch(from var(--yellow) l c h / .2);--yellow-3:oklch(from var(--yellow) l c h / .3);--yellow-4:oklch(from var(--yellow) l c h / .4);--yellow-5:oklch(from var(--yellow) l c h / .5);--yellow-6:oklch(from var(--yellow) l c h / .6);--yellow-7:oklch(from var(--yellow) l c h / .75);--yellow-8:oklch(from var(--yellow) l c h / .9);--yellow-9:var(--yellow);--amber-1:oklch(from var(--amber) l c h / .1);--amber-2:oklch(from var(--amber) l c h / .2);--amber-3:oklch(from var(--amber) l c h / .3);--amber-4:oklch(from var(--amber) l c h / .4);--amber-5:oklch(from var(--amber) l c h / .5);--amber-6:oklch(from var(--amber) l c h / .6);--amber-7:oklch(from var(--amber) l c h / .75);--amber-8:oklch(from var(--amber) l c h / .9);--amber-9:var(--amber);--orange-1:oklch(from var(--orange) l c h / .1);--orange-2:oklch(from var(--orange) l c h / .2);--orange-3:oklch(from var(--orange) l c h / .3);--orange-4:oklch(from var(--orange) l c h / .4);--orange-5:oklch(from var(--orange) l c h / .5);--orange-6:oklch(from var(--orange) l c h / .6);--orange-7:oklch(from var(--orange) l c h / .75);--orange-8:oklch(from var(--orange) l c h / .9);--orange-9:var(--orange);--red-1:oklch(from var(--red) l c h / .1);--red-2:oklch(from var(--red) l c h / .2);--red-3:oklch(from var(--red) l c h / .3);--red-4:oklch(from var(--red) l c h / .4);--red-5:oklch(from var(--red) l c h / .5);--red-6:oklch(from var(--red) l c h / .6);--red-7:oklch(from var(--red) l c h / .75);--red-8:oklch(from var(--red) l c h / .9);--red-9:var(--red);--pink-1:oklch(from var(--pink) l c h / .1);--pink-2:oklch(from var(--pink) l c h / .2);--pink-3:oklch(from var(--pink) l c h / .3);--pink-4:oklch(from var(--pink) l c h / .4);--pink-5:oklch(from var(--pink) l c h / .5);--pink-6:oklch(from var(--pink) l c h / .6);--pink-7:oklch(from var(--pink) l c h / .75);--pink-8:oklch(from var(--pink) l c h / .9);--pink-9:var(--pink);--purple-1:oklch(from var(--purple) l c h / .1);--purple-2:oklch(from var(--purple) l c h / .2);--purple-3:oklch(from var(--purple) l c h / .3);--purple-4:oklch(from var(--purple) l c h / .4);--purple-5:oklch(from var(--purple) l c h / .5);--purple-6:oklch(from var(--purple) l c h / .6);--purple-7:oklch(from var(--purple) l c h / .75);--purple-8:oklch(from var(--purple) l c h / .9);--purple-9:var(--purple);--purple-deep:#1b1525;--purple-deep-1:oklch(from var(--purple-deep) l c h / .1);--purple-deep-2:oklch(from var(--purple-deep) l c h / .2);--purple-deep-3:oklch(from var(--purple-deep) l c h / .3);--purple-deep-4:oklch(from var(--purple-deep) l c h / .4);--purple-deep-5:oklch(from var(--purple-deep) l c h / .5);--purple-deep-6:oklch(from var(--purple-deep) l c h / .6);--purple-deep-7:oklch(from var(--purple-deep) l c h / .75);--purple-deep-8:oklch(from var(--purple-deep) l c h / .9);--purple-deep-9:var(--purple-deep);--indigo-1:oklch(from var(--indigo) l c h / .1);--indigo-2:oklch(from var(--indigo) l c h / .2);--indigo-3:oklch(from var(--indigo) l c h / .3);--indigo-4:oklch(from var(--indigo) l c h / .4);--indigo-5:oklch(from var(--indigo) l c h / .5);--indigo-6:oklch(from var(--indigo) l c h / .6);--indigo-7:oklch(from var(--indigo) l c h / .75);--indigo-8:oklch(from var(--indigo) l c h / .9);--indigo-9:var(--indigo);--green-1:oklch(from var(--green) l c h / .1);--green-2:oklch(from var(--green) l c h / .2);--green-3:oklch(from var(--green) l c h / .3);--green-4:oklch(from var(--green) l c h / .4);--green-5:oklch(from var(--green) l c h / .5);--green-6:oklch(from var(--green) l c h / .6);--green-7:oklch(from var(--green) l c h / .75);--green-8:oklch(from var(--green) l c h / .9);--green-9:var(--green);--lime-1:oklch(from var(--lime) l c h / .1);--lime-2:oklch(from var(--lime) l c h / .2);--lime-3:oklch(from var(--lime) l c h / .3);--lime-4:oklch(from var(--lime) l c h / .4);--lime-5:oklch(from var(--lime) l c h / .5);--lime-6:oklch(from var(--lime) l c h / .6);--lime-7:oklch(from var(--lime) l c h / .75);--lime-8:oklch(from var(--lime) l c h / .9);--lime-9:var(--lime);--highlighter-1:oklch(from var(--highlighter) l c h / .1);--highlighter-2:oklch(from var(--highlighter) l c h / .2);--highlighter-3:oklch(from var(--highlighter) l c h / .3);--highlighter-4:oklch(from var(--highlighter) l c h / .4);--highlighter-5:oklch(from var(--highlighter) l c h / .5);--highlighter-6:oklch(from var(--highlighter) l c h / .6);--highlighter-7:oklch(from var(--highlighter) l c h / .75);--highlighter-8:oklch(from var(--highlighter) l c h / .9);--highlighter-9:var(--highlighter);--brown-1:oklch(from var(--brown) l c h / .1);--brown-2:oklch(from var(--brown) l c h / .2);--brown-3:oklch(from var(--brown) l c h / .3);--brown-4:oklch(from var(--brown) l c h / .4);--brown-5:oklch(from var(--brown) l c h / .5);--brown-6:oklch(from var(--brown) l c h / .6);--brown-7:oklch(from var(--brown) l c h / .75);--brown-8:oklch(from var(--brown) l c h / .9);--brown-9:var(--brown);--teal-1:oklch(from var(--teal) l c h / .1);--teal-2:oklch(from var(--teal) l c h / .2);--teal-3:oklch(from var(--teal) l c h / .3);--teal-4:oklch(from var(--teal) l c h / .4);--teal-5:oklch(from var(--teal) l c h / .5);--teal-6:oklch(from var(--teal) l c h / .6);--teal-7:oklch(from var(--teal) l c h / .75);--teal-8:oklch(from var(--teal) l c h / .9);--teal-9:var(--teal);--blue-1:oklch(from var(--blue) l c h / .1);--blue-2:oklch(from var(--blue) l c h / .2);--blue-3:oklch(from var(--blue) l c h / .3);--blue-4:oklch(from var(--blue) l c h / .4);--blue-5:oklch(from var(--blue) l c h / .5);--blue-6:oklch(from var(--blue) l c h / .6);--blue-7:oklch(from var(--blue) l c h / .75);--blue-8:oklch(from var(--blue) l c h / .9);--blue-9:var(--blue);--gray:oklch(50% .02 270);--slate:oklch(52% .04 255);--gray-1:oklch(from var(--gray) l c h / .1);--gray-2:oklch(from var(--gray) l c h / .2);--gray-3:oklch(from var(--gray) l c h / .3);--gray-4:oklch(from var(--gray) l c h / .4);--gray-5:oklch(from var(--gray) l c h / .5);--gray-6:oklch(from var(--gray) l c h / .6);--gray-7:oklch(from var(--gray) l c h / .75);--gray-8:oklch(from var(--gray) l c h / .9);--gray-9:var(--gray);--slate-1:oklch(from var(--slate) l c h / .1);--slate-2:oklch(from var(--slate) l c h / .2);--slate-3:oklch(from var(--slate) l c h / .3);--slate-4:oklch(from var(--slate) l c h / .4);--slate-5:oklch(from var(--slate) l c h / .5);--slate-6:oklch(from var(--slate) l c h / .6);--slate-7:oklch(from var(--slate) l c h / .75);--slate-8:oklch(from var(--slate) l c h / .9);--slate-9:var(--slate);--white:oklch(100% 0 0);--white-05:oklch(from var(--white) l c h / .05);--white-1:oklch(from var(--white) l c h / .1);--white-2:oklch(from var(--white) l c h / .2);--white-3:oklch(from var(--white) l c h / .3);--white-4:oklch(from var(--white) l c h / .4);--white-5:oklch(from var(--white) l c h / .5);--white-6:oklch(from var(--white) l c h / .6);--white-7:oklch(from var(--white) l c h / .75);--white-8:oklch(from var(--white) l c h / .9);--white-9:var(--white);--black:oklch(0% 0 0);--black-05:oklch(from var(--black) l c h / .05);--black-1:oklch(from var(--black) l c h / .1);--black-2:oklch(from var(--black) l c h / .2);--black-3:oklch(from var(--black) l c h / .3);--black-4:oklch(from var(--black) l c h / .4);--black-5:oklch(from var(--black) l c h / .5);--black-6:oklch(from var(--black) l c h / .6);--black-7:oklch(from var(--black) l c h / .75);--black-8:oklch(from var(--black) l c h / .9);--black-9:var(--black);--fg-light:#050505;--fg-dark:#fff;--fg:var(--lightningcss-light,var(--fg-light))var(--lightningcss-dark,var(--fg-dark));--fg-05:oklch(from var(--fg) l c h / .05);--fg-1:oklch(from var(--fg) l c h / .1);--fg-2:oklch(from var(--fg) l c h / .2);--fg-3:oklch(from var(--fg) l c h / .3);--fg-4:oklch(from var(--fg) l c h / .4);--fg-5:oklch(from var(--fg) l c h / .5);--fg-6:oklch(from var(--fg) l c h / .6);--fg-7:oklch(from var(--fg) l c h / .75);--fg-8:oklch(from var(--fg) l c h / .9);--fg-9:var(--fg);--bg-light:#fff;--bg-dark:#050505;--bg:var(--lightningcss-light,var(--bg-light))var(--lightningcss-dark,var(--bg-dark));--bg-05:oklch(from var(--bg) l c h / .05);--bg-1:oklch(from var(--bg) l c h / .1);--bg-2:oklch(from var(--bg) l c h / .2);--bg-3:oklch(from var(--bg) l c h / .3);--bg-4:oklch(from var(--bg) l c h / .4);--bg-5:oklch(from var(--bg) l c h / .5);--bg-6:oklch(from var(--bg) l c h / .6);--bg-7:oklch(from var(--bg) l c h / .75);--bg-8:oklch(from var(--bg) l c h / .9);--bg-9:var(--bg);--font-size-min:16;--font-size-max:18;--font-ratio-min:1.2;--font-ratio-max:1.25;--font-width-min:320;--font-width-max:1500;--border-05:solid 1px var(--fg-05);--border-1:solid 1px var(--fg-2);--border-2:solid 2px var(--fg-2);--ease-smooth:linear(0, .0039, .0157, .0352, .0625 9.09%, .1407, .25, .3908, .5625, .7654, 1);--ease-bounce:linear(0, .004, .016, .035, .063, .098, .141, .191, .25, .316, .391 36.36%, .563, .766, 1 54.55%, .946, .908 72.73%, .953, 1, .994, .998, 1);--ease-emphasized:linear(0, .0038, .0155, .0352, .0625 9%, .1407, .25 18%, .5625 36%, .7655 45%, 1);--primary:var(--blue);--error:var(--red);--warning:var(--yellow);--success:var(--green);--primary-1:oklch(from var(--primary) l c h / .1);--primary-2:oklch(from var(--primary) l c h / .2);--primary-3:oklch(from var(--primary) l c h / .3);--primary-4:oklch(from var(--primary) l c h / .4);--primary-5:oklch(from var(--primary) l c h / .5);--primary-6:oklch(from var(--primary) l c h / .6);--primary-7:oklch(from var(--primary) l c h / .75);--primary-8:oklch(from var(--primary) l c h / .9);--primary-9:var(--primary);--error-1:oklch(from var(--error) l c h / .1);--error-2:oklch(from var(--error) l c h / .2);--error-3:oklch(from var(--error) l c h / .3);--error-4:oklch(from var(--error) l c h / .4);--error-5:oklch(from var(--error) l c h / .5);--error-6:oklch(from var(--error) l c h / .6);--error-7:oklch(from var(--error) l c h / .75);--error-8:oklch(from var(--error) l c h / .9);--error-9:var(--error);--warning-1:oklch(from var(--warning) l c h / .1);--warning-2:oklch(from var(--warning) l c h / .2);--warning-3:oklch(from var(--warning) l c h / .3);--warning-4:oklch(from var(--warning) l c h / .4);--warning-5:oklch(from var(--warning) l c h / .5);--warning-6:oklch(from var(--warning) l c h / .6);--warning-7:oklch(from var(--warning) l c h / .75);--warning-8:oklch(from var(--warning) l c h / .9);--warning-9:var(--warning);--success-1:oklch(from var(--success) l c h / .1);--success-2:oklch(from var(--success) l c h / .2);--success-3:oklch(from var(--success) l c h / .3);--success-4:oklch(from var(--success) l c h / .4);--success-5:oklch(from var(--success) l c h / .5);--success-6:oklch(from var(--success) l c h / .6);--success-7:oklch(from var(--success) l c h / .75);--success-8:oklch(from var(--success) l c h / .9);--success-9:var(--success);--l:clamp(0, (l / var(--l-threshold,.623) - 1) * -infinity, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html{box-sizing:border-box;scroll-padding-top:60px}html,body,body>.body-fill{min-height:100vh;margin:0}body>.body-fill{flex-direction:column;display:flex}main{flex:1}header,main,footer{width:100%}*,:before,:after{box-sizing:inherit}body{font-family:var(--font-sans);line-height:var(--lh);min-height:100vh;color:var(--fg);background:var(--bg);height:-webkit-fill-available;height:-moz-available;height:stretch;margin:0}h1,h2,h3,h4,h5,h6,p,li,.fluid,textarea,input,select,button,a,th,td,label{--fluid-min:calc(var(--font-size-min) * pow(var(--font-ratio-min), var(--fl,0)));--fluid-max:calc(var(--font-size-max) * pow(var(--font-ratio-max), var(--fl,0)));--fluid-preferred:calc((var(--fluid-max) - var(--fluid-min)) / (var(--font-width-max) - var(--font-width-min)));--fluid-type:clamp((var(--fluid-min) / 16) * 1rem, ((var(--fluid-min) / 16) * 1rem) - (((var(--fluid-preferred) * var(--font-width-min)) / 16) * 1rem) + (var(--fluid-preferred) * var(--variable-unit,100vi)), (var(--fluid-max) / 16) * 1rem);font-size:var(--fluid-type);line-height:var(--lh)}.fluid-text-container,.fc{--variable-unit:100cqi;container-type:inline-size}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{line-height:var(--lh-s)}h1,.h1{margin-block:0 var(--vs-base);--fl:5;letter-spacing:-.02em}h2,.h2{--fl:4;letter-spacing:-.015em}h3,.h3{--fl:3;letter-spacing:-.01em}h4,.h4{--fl:2}h5,.h5{--fl:1}h6,.h6{--fl:0}p,li,body,input,textarea,button,select{--fl:0;line-height:var(--lh)}.fs-xs{--fl:-1}.fs-base{--fl:0}.fs-s{--fl:1}.fs-m{--fl:2}.fs-l{--fl:3}.fs-xl{--fl:4}.fs-xxl{--fl:5}.fs-xxxl{--fl:6}img,picture,video,canvas,svg{max-width:100%;display:block}hr{block-size:0;margin-block:var(--vs-l);border:none;border-block-start:var(--border-1);margin-inline:0}button,.button{--button-color:var(--gray-5);--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) .94 calc(c * .15) h / 1))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .16) calc(c * .55) h / .88));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) .88 calc(c * .22) h / 1))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .12) calc(c * .62) h / .92));--button-border:var(--lightningcss-light,oklch(from var(--button-color) .68 calc(c * .35) h / .65))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .08) calc(c * .55) h / .58));--button-shadow:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .25) calc(c * .2) h / .12))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .35) calc(c * .2) h / .25));--button-text:var(--fg);appearance:none;cursor:pointer;background:linear-gradient(180deg, var(--button-bg-top) 0%, var(--button-bg-bottom) 100%);color:var(--button-text);font-weight:560;line-height:var(--lh-s);border:1px solid var(--button-border);border-radius:var(--br-m);padding:6px var(--pad-l);box-shadow:inset 0 1px 0 var(--lightningcss-light,var(--white-5))var(--lightningcss-dark,var(--white-1)), 0 1px 2px var(--button-shadow);transition:background .15s var(--ease-smooth), border-color .15s var(--ease-smooth), color .15s var(--ease-smooth), box-shadow .15s var(--ease-smooth), translate .15s var(--ease-smooth);justify-content:center;align-items:center;gap:.45em;margin:0;text-decoration:none;display:inline-flex}:is(button,.button):hover{--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) .97 calc(c * .12) h / 1))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .06) calc(c * .68) h / .96));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) .92 calc(c * .18) h / 1))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .02) calc(c * .75) h / .98));border-color:var(--lightningcss-light,oklch(from var(--button-color) .6 calc(c * .42) h / .7))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .14) calc(c * .65) h / .72));box-shadow:inset 0 1px 0 var(--lightningcss-light,var(--white-6))var(--lightningcss-dark,var(--white-2)), 0 2px 4px var(--button-shadow);translate:0 -1px}:is(button,.button):active{--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) .7 calc(c * .5) h / 1))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .14) calc(c * .58) h / .9));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) .64 calc(c * .55) h / 1))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .1) calc(c * .65) h / .94));box-shadow:inset 0 1px 0 var(--lightningcss-light,var(--white-2))var(--lightningcss-dark,var(--white-1)), 0 1px 2px var(--button-shadow);translate:0}:is(button,.button):disabled{opacity:.5;cursor:not-allowed}:is(button,.button):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}:is(button,.button).mini{--fl:-1;padding:3px var(--pad-m);border-radius:var(--br-s);gap:.35em}:is(button,.button).primary{--button-color:var(--primary);--button-text:var(--white);--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .08) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .08) calc(c * .85) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .02) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .04) calc(c * .9) h));--button-border:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .12) calc(c * 1.1) h / .7))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .15) calc(c * .7) h / .6))}:is(button,.button).primary:hover{--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .14) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .04) calc(c * .88) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .04) c h))var(--lightningcss-dark,oklch(from var(--button-color) l calc(c * .92) h))}:is(button,.button).error{--button-color:var(--error);--button-text:var(--white);--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .08) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .08) calc(c * .85) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .02) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .04) calc(c * .9) h));--button-border:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .12) calc(c * 1.1) h / .7))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .15) calc(c * .7) h / .6))}:is(button,.button).error:hover{--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .14) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .04) calc(c * .88) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .04) c h))var(--lightningcss-dark,oklch(from var(--button-color) l calc(c * .92) h))}:is(button,.button).warning{--button-color:var(--warning);--button-text:var(--black);--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .06) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .06) calc(c * .88) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) l c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .02) calc(c * .92) h));--button-border:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .15) calc(c * 1.1) h / .7))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .12) calc(c * .7) h / .6))}:is(button,.button).warning:hover{--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .1) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .02) calc(c * .9) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .04) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .02) calc(c * .94) h));color:var(--black)}:is(button,.button).success{--button-color:var(--success);--button-text:var(--white);--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .08) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .08) calc(c * .85) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .02) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .04) calc(c * .9) h));--button-border:var(--lightningcss-light,oklch(from var(--button-color) calc(l - .12) calc(c * 1.1) h / .7))var(--lightningcss-dark,oklch(from var(--button-color) calc(l + .15) calc(c * .7) h / .6))}:is(button,.button).success:hover{--button-bg-top:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .14) c h))var(--lightningcss-dark,oklch(from var(--button-color) calc(l - .04) calc(c * .88) h));--button-bg-bottom:var(--lightningcss-light,oklch(from var(--button-color) calc(l + .04) c h))var(--lightningcss-dark,oklch(from var(--button-color) l calc(c * .92) h))}:is(button,.button).dark{--button-text:var(--white);box-shadow:0 1px 2px var(--black-3);background:oklch(18% 0 0);border-color:var(--lightningcss-light,oklch(10% 0 0))var(--lightningcss-dark,oklch(28% 0 0))}:is(button,.button).dark:hover{box-shadow:0 2px 4px var(--black-3);background:oklch(24% 0 0)}:is(button,.button).dark:active{box-shadow:0 1px 2px var(--black-3);background:oklch(12% 0 0)}:is(button,.button).light{--button-text:var(--black);background:var(--white);border-color:var(--gray-3);box-shadow:0 1px 2px var(--black-1)}:is(button,.button).light:hover{box-shadow:0 2px 4px var(--black-1);background:oklch(97% 0 0)}:is(button,.button).light:active{box-shadow:0 1px 2px var(--black-1);background:oklch(94% 0 0)}:is(button,.button).contrast{--button-text:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--black));background:var(--lightningcss-light,oklch(18% 0 0))var(--lightningcss-dark,var(--white));border-color:var(--lightningcss-light,oklch(10% 0 0))var(--lightningcss-dark,var(--gray-3));box-shadow:0 1px 2px var(--lightningcss-light,var(--black-3))var(--lightningcss-dark,var(--black-1))}:is(button,.button).contrast:hover{box-shadow:0 2px 4px var(--lightningcss-light,var(--black-3))var(--lightningcss-dark,var(--black-1));background:var(--lightningcss-light,oklch(24% 0 0))var(--lightningcss-dark,oklch(97% 0 0))}:is(button,.button).contrast:active{box-shadow:0 1px 2px var(--lightningcss-light,var(--black-3))var(--lightningcss-dark,var(--black-1));background:var(--lightningcss-light,oklch(12% 0 0))var(--lightningcss-dark,oklch(94% 0 0))}:is(button,.button).ghost{--button-color:transparent;--button-text:var(--fg);border:1px solid var(--fg-3);box-shadow:none;background:0 0}:is(button,.button).ghost:hover{background:var(--fg-05);border-color:var(--fg-4);color:var(--fg);translate:0}:is(button,.button).ghost:active{background:var(--fg-1);border-color:var(--fg-5)}:is(button,.button).minimal{--button-color:transparent;--button-text:var(--fg-8);box-shadow:none;padding:var(--pad-xs) var(--pad-s);background:0 0;border:none}:is(button,.button).minimal:hover{color:var(--fg);background:0 0;translate:0}:is(button,.button).minimal:active{background:0 0}.close{--size:2rem;width:var(--size);height:var(--size);box-shadow:var(--shadow-1);color:var(--white);background:var(--red);cursor:pointer;border:none;border-radius:50%;padding:0}.close:hover{background:oklch(from var(--red) calc(l + .1) c h)}a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}:is(input,textarea,select):focus-visible{outline:2px solid var(--fg);outline-offset:2px}:is(input,textarea,select)[aria-invalid=true],:is(input,textarea,select).error{border-color:var(--red-6)}:is(:is(input,textarea,select)[aria-invalid=true],:is(input,textarea,select).error):focus-visible{outline-color:var(--red-6)}:is(input,textarea,select).success{border-color:var(--green-6)}:is(input,textarea,select).success:focus-visible{outline-color:var(--green-6)}:is(input,textarea,select).warning{border-color:var(--yellow-7)}:is(input,textarea,select).warning:focus-visible{outline-color:var(--yellow-7)}label{--fl:-1;display:block}}@layer components{.box{background:var(--fg-05);padding:var(--pad-m);border-radius:var(--br-s);border:var(--border-1)}.box.ghost{background:0 0}.box.invisible{box-shadow:none;background:0 0;border:none}.box.glow{box-shadow:var(--box)}.box.semi-gloss{box-shadow:var(--box), var(--shadow-5);background:linear-gradient(180deg, var(--fg-05) 0%, var(--fg-1) 100%)}.card{background:var(--bg);border:var(--border-1);border-radius:var(--br-l);box-shadow:var(--shadow-2);overflow:clip}.card.linked{color:var(--fg);cursor:pointer;transition:box-shadow .15s var(--ease-smooth), border-color .15s var(--ease-smooth), translate .15s var(--ease-smooth);text-decoration:none}.card.linked:visited{color:var(--fg)}.card.linked:hover{border-color:var(--fg-3);box-shadow:var(--shadow-3);translate:0 -1px}.card.linked:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.card.linked:active{border-color:var(--fg-4);box-shadow:var(--shadow-2);translate:0}.card>:is(header,footer,.card-body,main,section){padding:var(--pad-l)}.card>header,.card>footer{align-items:center;gap:var(--pad-s);display:flex}.card>header{border-block-end:var(--border-1)}.card>footer{border-block-start:var(--border-1)}.card>:is(header,footer)>*{margin:0}.card>:is(img,picture,figure){width:100%;margin:0;display:block}.card.featured{border-color:var(--primary);box-shadow:var(--shadow-4)}.card.featured>header{background:var(--primary-1)}.stat-card{background:var(--bg);border:var(--border-1);border-radius:var(--br-l);padding:var(--pad-l);gap:var(--vs-xs);flex-direction:column;display:flex}.stat-card>*{margin:0}.stat-card>small{color:var(--fg-5);font-weight:var(--fw-medium)}.stat-card>strong{--fl:3;font-weight:var(--fw-bold);line-height:var(--lh-s)}.feature-card{background:var(--bg);border:1px solid var(--fg-1);border-radius:var(--br-l);padding:var(--pad-xxl);gap:var(--vs-s);box-shadow:var(--shadow-2);flex-direction:column;transition:box-shadow .2s,translate .2s;display:flex}.feature-card:hover{box-shadow:var(--shadow-3);translate:0 -2px}.feature-card>*{margin:0}.feature-card>.icon{font-size:1.5rem;line-height:var(--lh-xs);width:var(--icon-size,48px);height:var(--icon-size,48px);border-radius:var(--br-m);background:var(--primary-1);color:var(--primary);place-items:center;display:grid}.feature-card>:is(h1,h2,h3,h4,h5,h6){--fl:1;font-weight:var(--fw-semibold)}.feature-card>p{color:var(--fg-5)}.toc>*{margin:0}.toc>:is(h1,h2,h3,h4,h5,h6){text-transform:uppercase;letter-spacing:.05em;color:var(--fg-5);font-weight:var(--fw-semibold);padding-inline:var(--pad-s);margin-block-end:var(--vs-xs)}.toc ol{border-inline-start:1px solid var(--fg-2);margin:0;padding:0;list-style:none}.toc ol ol{border:none;padding-inline-start:var(--pad-m)}.toc li{margin:0}.toc a{color:var(--fg-5);padding:.25em var(--pad-s);border-inline-start:2px solid #0000;margin-inline-start:-1px;text-decoration:none;transition:color .15s,border-color .15s;display:block}.toc a:hover{color:var(--fg);border-inline-start-color:var(--fg-3)}.toc a[aria-current=true]{color:var(--primary);font-weight:var(--fw-semibold);border-inline-start-color:var(--primary)}.newsletter{background:var(--primary-1);border:1px solid var(--primary-2);border-radius:var(--br-l);padding:var(--pad-xxl)}.header{gap:var(--gap,1rem);padding:var(--pad-l);justify-content:space-between;align-items:center;display:flex}.header>*{margin:0}.header nav ul{gap:var(--gap,1rem);margin:0;padding:0;list-style:none;display:flex}.header nav ul li{margin:0}.header nav ul li a{color:var(--fg);text-decoration:none}.header.border{border-bottom:var(--border-1)}.header.sticky{z-index:10;background:var(--bg);position:sticky;top:0}.header.readable{max-width:1400px;padding-inline:var(--layout-padding,var(--padding,2rem));margin:0 auto}.callout{--callout-color:var(--blue-1);--callout-border-color:var(--blue-5);padding:var(--pad-l);border-radius:var(--br-xl);border:var(--callout-border-color) solid 2px;color:var(--fg-8);gap:var(--gap,1rem)}.callout>*{margin:0}.callout.fill{background:var(--callout-color)}.callout.warning{--callout-color:var(--yellow-1);--callout-border-color:var(--yellow-5)}.callout.error{--callout-color:var(--red-1);--callout-border-color:var(--red-5)}.callout.ghost{--callout-color:var(--gray-1);--callout-border-color:var(--gray-5)}.callout.success{--callout-color:var(--green-1);--callout-border-color:var(--green-5)}.callout.hard{border-inline-start:10px solid var(--callout-border-color)}.pull-quote{--fl:2;color:var(--fg-6);border-inline-start:3px solid var(--fg-2);margin-block:var(--vs-l);font-style:italic;line-height:var(--lh);margin-inline:0;padding-inline-start:var(--pad-xl)}.table{border:var(--border-2);border-radius:var(--table-border,var(--br-m));overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:var(--pad-m) var(--vs-base)}thead{border-bottom:var(--border-2)}td{border-bottom:var(--border-1)}tr:last-child td{border:none}input,select,textarea{color:var(--fg);line-height:var(--lh-xl);background-color:var(--fg-05);border:var(--border-1);border-radius:var(--br-m);padding-inline:var(--pad-m);width:100%}:is(input,select,textarea):has(+small){margin-block-end:var(--vs-xs)}:is(input,select,textarea)+small{margin-block-end:var(--vs-base);display:block}:is(input,select,textarea)[aria-invalid=true],:is(input,select,textarea).error{border-color:var(--red-6)}:is(input,select,textarea).success{border-color:var(--green-6)}:is(input,select,textarea).warning{border-color:var(--yellow-7)}label{margin-block-end:var(--vs-xs)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--pad-m) center;cursor:pointer;transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-smooth);padding-inline-end:calc(var(--pad-m) + 1.5em);box-shadow:0 1px 2px #0000000a}select:hover{border-color:var(--fg-3);background-color:var(--fg-1);box-shadow:0 1px 3px #00000014}select:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}input[type=checkbox],input[type=radio]{width:auto;height:auto;block-size:1em;inline-size:1em;vertical-align:middle;accent-color:var(--accent);cursor:pointer;margin:0;margin-inline-end:var(--vs-s)}.form-option-row{align-items:center;gap:var(--vs-s);cursor:pointer;display:inline-flex}.form-option-row>input:is([type=checkbox],[type=radio]){margin:0}.search{position:relative}.search svg{inset-block:0;inset-inline-start:var(--pad-m);block-size:1.25em;inline-size:1.25em;color:var(--fg-3);pointer-events:none;margin-block:0;position:absolute;top:9px}.search input{padding-inline-start:calc(var(--pad-m) + 1.25em + var(--vs-s))}.dropzone{justify-content:center;align-items:center;gap:var(--vs-s);padding:var(--pad-xxxl);border:2px dashed var(--fg-2);border-radius:var(--br-l);cursor:pointer;transition:border-color .15s var(--ease-smooth), background-color .15s var(--ease-smooth);flex-direction:column;display:flex;position:relative}.dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone svg{block-size:2.5em;inline-size:2.5em;color:var(--fg-3);transition:color .15s var(--ease-smooth), translate .15s var(--ease-smooth)}.dropzone span{color:var(--fg-5);text-align:center;transition:color .15s var(--ease-smooth)}.dropzone:hover{border-color:var(--fg-3);background-color:var(--fg-05)}.dropzone:hover svg{color:var(--fg-4);translate:0 -5px}.dropzone:hover span{color:var(--fg-6)}.dropzone.dragover{border-color:var(--accent,var(--fg-5));background-color:var(--fg-1)}.dropzone.dragover svg{color:var(--accent,var(--fg-6))}.dropzone.dragover span{color:var(--fg-7)}.auto-color{--threshold:.6;--light-text-l:1;--dark-text-l:0;background-color:var(--bg-color);color:var(--lightningcss-light,oklch(from var(--bg-color) clamp(var(--dark-text-l), calc(((l * alpha + 1 - alpha) / var(--threshold) - 1) * -infinity), var(--light-text-l)) 0 0 / 1))var(--lightningcss-dark,oklch(from var(--bg-color) clamp(var(--dark-text-l), calc(((l * alpha) / var(--threshold) - 1) * -infinity), var(--light-text-l)) 0 0 / 1))}.auto-color.chroma{color:var(--lightningcss-light,oklch(from var(--bg-color) clamp(var(--dark-text-l), calc(((l * alpha + 1 - alpha) / var(--threshold) - 1) * -infinity), var(--light-text-l)) 0 0 / .8))var(--lightningcss-dark,oklch(from var(--bg-color) clamp(var(--dark-text-l), calc(((l * alpha) / var(--threshold) - 1) * -infinity), var(--light-text-l)) 0 0 / .8))}.text-muted{color:var(--fg-5)}.text-faint{color:var(--fg-3)}.surface{background:var(--surface-bg,var(--fg-05))}details{margin-block:var(--vs-base)}summary{cursor:pointer;padding:var(--pad-s) var(--pad-m);color:var(--fg-7);align-items:center;gap:var(--pad-s);-webkit-user-select:none;user-select:none;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:before{content:"›";transition:rotate .2s var(--ease-smooth);flex-shrink:0;rotate:0deg}summary:hover{color:var(--fg)}summary:focus-visible{outline:2px solid var(--fg);outline-offset:2px}details[open]>summary:before{rotate:90deg}details::details-content{opacity:1;block-size:auto;transition:opacity .3s var(--ease-smooth), block-size .3s var(--ease-smooth), content-visibility .3s var(--ease-smooth) allow-discrete;overflow:clip}details:not([open])::details-content{opacity:0;block-size:0}@starting-style{details[open]::details-content{opacity:0;block-size:0}}details>:not(summary){padding:var(--pad-s) var(--pad-m);margin:0}details.right>summary,details>summary.right{justify-content:flex-end}:is(details.right>summary,details>summary.right):before{display:none}:is(details.right>summary,details>summary.right):after{content:"›";transition:rotate .2s var(--ease-smooth);flex-shrink:0;rotate:0deg}details.right[open]>summary:after,details[open]>summary.right:after{rotate:90deg}details.bordered{border:var(--border-1);border-radius:var(--br-m);overflow:hidden}details.bordered>summary{border-bottom:var(--border-1)}details.bordered:not([open])>summary{border-bottom-color:#0000}details.bordered>:not(summary){padding-inline:var(--pad-m)}details.minimal>summary{padding:0}details.minimal>summary:before{display:none}details.minimal>summary:after{content:"+";font-weight:var(--fw-semibold);margin-inline-start:var(--pad-s)}details.minimal[open]>summary:after{content:"−"}.timeline{--timeline-marker-size:2.5rem;--timeline-marker-color:var(--fg);--timeline-marker-bg:color-mix(in oklch, var(--timeline-marker-color) 12%, var(--bg));--timeline-line-width:2px;--timeline-line-color:var(--fg-1);--timeline-gap:var(--pad-l);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.timeline:before{content:"";block-size:calc(100% - var(--timeline-marker-size));inline-size:var(--timeline-line-width);background:var(--timeline-line-color);border-radius:var(--timeline-line-width);position:absolute;inset-block-start:calc(var(--timeline-marker-size) / 2);inset-inline-start:calc(var(--timeline-marker-size) / 2 - var(--timeline-line-width) / 2)}.timeline li{grid-template-columns:var(--timeline-marker-size) 1fr;align-items:center;gap:0 var(--timeline-gap);padding-block:var(--pad-m);margin:0;display:grid}.timeline li:first-child{padding-block-start:0}.timeline li:last-child{padding-block-end:0}.timeline .marker{inline-size:var(--timeline-marker-size);block-size:var(--timeline-marker-size);background:var(--timeline-marker-bg);border:1px solid var(--fg-2);color:color-mix(in oklch, var(--timeline-marker-color) 80%, var(--fg));font-weight:var(--fw-semibold);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px 2px var(--lightningcss-light,#ffffffb3)var(--lightningcss-dark,#ffffff1a),inset 0 -1px 2px #0000000d,0 1px 2px #0000000d,0 2px 4px #0000000d,0 4px 8px #0000000d}.timeline .marker svg{width:1.125rem;height:1.125rem}.timeline li.success>.marker{--timeline-marker-color:var(--success);--timeline-marker-bg:color-mix(in oklch, var(--success) 18%, var(--bg));border-color:var(--success-5);box-shadow:inset 0 1px 2px 0 var(--lightningcss-light,#ffffff80)var(--lightningcss-dark,#ffffff1a), 0 0 0 3px color-mix(in oklch, var(--success) 10%, transparent), 0 2px 8px 0 color-mix(in oklch, var(--success) 20%, transparent)}.timeline li.warning>.marker{--timeline-marker-color:var(--warning);--timeline-marker-bg:color-mix(in oklch, var(--warning) 22%, var(--bg));border-color:var(--yellow-5);box-shadow:inset 0 1px 2px 0 var(--lightningcss-light,#ffffff80)var(--lightningcss-dark,#ffffff1a), 0 0 0 3px color-mix(in oklch, var(--warning) 12%, transparent), 0 2px 8px 0 color-mix(in oklch, var(--warning) 25%, transparent)}.timeline li.error>.marker{--timeline-marker-color:var(--error);--timeline-marker-bg:color-mix(in oklch, var(--error) 18%, var(--bg));border-color:var(--red-5);box-shadow:inset 0 1px 2px 0 var(--lightningcss-light,#ffffff80)var(--lightningcss-dark,#ffffff1a), 0 0 0 3px color-mix(in oklch, var(--error) 10%, transparent), 0 2px 8px 0 color-mix(in oklch, var(--error) 20%, transparent)}.timeline li.info>.marker{--timeline-marker-color:var(--blue);--timeline-marker-bg:color-mix(in oklch, var(--blue) 18%, var(--bg));border-color:var(--blue-5);box-shadow:inset 0 1px 2px 0 var(--lightningcss-light,#ffffff80)var(--lightningcss-dark,#ffffff1a), 0 0 0 3px color-mix(in oklch, var(--blue) 10%, transparent), 0 2px 8px 0 color-mix(in oklch, var(--blue) 20%, transparent)}.timeline li.active>.marker{background:var(--fg);border-color:var(--fg);color:var(--bg);box-shadow:inset 0 1px 2px 0 #fff3, 0 0 0 3px var(--fg-2), 0 4px 12px -2px #0000004d}.timeline li.completed>.marker{--timeline-marker-color:var(--success);background:linear-gradient(to bottom, oklch(from var(--success) calc(l + .08) c h), var(--success));border-color:oklch(from var(--success) calc(l - .08) calc(c * 1.1) h);color:var(--white);box-shadow:inset 0 1px 2px 0 #ffffff4d, 0 0 0 3px color-mix(in oklch, var(--success) 20%, transparent), 0 4px 12px -2px color-mix(in oklch, var(--success) 40%, transparent), 0 8px 20px -4px color-mix(in oklch, var(--success) 25%, transparent)}.timeline.horizontal{flex-direction:row}.timeline.horizontal:before{block-size:var(--timeline-line-width);inline-size:calc(100% - var(--timeline-marker-size));inset-block-start:calc(var(--timeline-marker-size) / 2 - var(--timeline-line-width) / 2);inset-inline-start:calc(var(--timeline-marker-size) / 2)}.timeline.horizontal li{grid-template-columns:1fr;grid-template-rows:var(--timeline-marker-size) 1fr;text-align:center;justify-items:center;gap:var(--pad-s) 0;flex:1;padding-block:0}.breadcrumbs{--separator:"/"}.breadcrumbs>ul{align-items:center;gap:var(--pad-s);flex-wrap:wrap;display:flex}.breadcrumbs li{align-items:center;gap:var(--pad-s);display:flex}.breadcrumbs li:not(:first-child):before{content:var(--separator);color:var(--fg-4)}.breadcrumbs a{color:var(--fg-5);margin-block:0;text-decoration:none}.breadcrumbs a:hover{color:var(--fg-7)}.breadcrumbs a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.breadcrumbs li[aria-current=page]{color:var(--fg);font-weight:var(--fw-medium)}.pagination{align-items:center;gap:var(--pad-s);padding:var(--pad-m) var(--pad-l);border-top:var(--border-1);flex-wrap:wrap;display:flex}.pagination>ul{gap:var(--pad-xs);margin:0 auto;padding:0;list-style:none;display:flex}.pagination li{margin:0;padding:0}.pagination>ul :is(a,button){block-size:2rem;inline-size:2rem;padding:0}.pagination [aria-current=page]{border-color:var(--primary);font-weight:var(--fw-semibold)}.sidebar-nav{--sidebar-nav-icon-size:20px;--sidebar-nav-indent:1.5rem;--sidebar-nav-row-radius:calc(var(--br-m) + 2px);--sidebar-nav-row-pad-block:var(--pad-s);--sidebar-nav-row-pad-inline:var(--pad-m);--sn-color:var(--gray-5);--sn-text:var(--fg);--sn-hover-text:var(--sn-text);--sn-active-text:var(--sn-text);--sn-hi:var(--lightningcss-light,var(--white-5))var(--lightningcss-dark,var(--white-1));--sn-shadow:var(--lightningcss-light,oklch(from var(--sn-color) calc(l - .25) calc(c * .2) h / .12))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .35) calc(c * .2) h / .25));--sn-border:var(--lightningcss-light,oklch(from var(--sn-color) .68 calc(c * .35) h / .65))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l + .08) calc(c * .55) h / .58));--sn-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) .94 calc(c * .15) h / 1))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .16) calc(c * .55) h / .88));--sn-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) .88 calc(c * .22) h / 1))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .12) calc(c * .62) h / .92));--sn-hover-hi:var(--lightningcss-light,var(--white-6))var(--lightningcss-dark,var(--white-2));--sn-hover-shadow:var(--sn-shadow);--sn-hover-border:var(--lightningcss-light,oklch(from var(--sn-color) .6 calc(c * .42) h / .7))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l + .14) calc(c * .65) h / .72));--sn-hover-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) .97 calc(c * .12) h / 1))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .06) calc(c * .68) h / .96));--sn-hover-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) .92 calc(c * .18) h / 1))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .02) calc(c * .75) h / .98));--sn-hover-y:-1px;--sn-active-hi:var(--lightningcss-light,var(--white-2))var(--lightningcss-dark,var(--white-1));--sn-active-shadow:var(--sn-shadow);--sn-active-border:var(--sn-border);--sn-active-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) .7 calc(c * .5) h / 1))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .14) calc(c * .58) h / .9));--sn-active-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) .64 calc(c * .55) h / 1))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .1) calc(c * .65) h / .94));--sn-row-hi:transparent;--sn-row-shadow:transparent;--sn-row-border:transparent;--sn-row-bg-top:transparent;--sn-row-bg-bottom:transparent;flex-direction:column;gap:2px;width:100%;display:flex;overflow-x:hidden}.sidebar-nav>:is(a,details,.sidebar-nav-heading),.sidebar-nav>details>:is(a,summary,.sidebar-nav-heading){width:100%;box-sizing:border-box;min-inline-size:0;max-inline-size:100%;margin:0}.sidebar-nav.primary{--sn-color:var(--primary)}.sidebar-nav.error{--sn-color:var(--error)}.sidebar-nav.success{--sn-color:var(--success)}.sidebar-nav:is(.primary,.error,.success){--sn-text:var(--white);--sn-border:var(--lightningcss-light,oklch(from var(--sn-color) calc(l - .12) calc(c * 1.1) h / .7))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l + .15) calc(c * .7) h / .6));--sn-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) calc(l + .08) c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .08) calc(c * .85) h));--sn-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) calc(l - .02) c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .04) calc(c * .9) h));--sn-hover-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) calc(l + .14) c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .04) calc(c * .88) h));--sn-hover-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) calc(l + .04) c h))var(--lightningcss-dark,oklch(from var(--sn-color) l calc(c * .92) h))}.sidebar-nav.warning{--sn-color:var(--warning);--sn-text:var(--black);--sn-border:var(--lightningcss-light,oklch(from var(--sn-color) calc(l - .15) calc(c * 1.1) h / .7))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l + .12) calc(c * .7) h / .6));--sn-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) calc(l + .06) c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .06) calc(c * .88) h));--sn-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) l c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .02) calc(c * .92) h));--sn-hover-bg-top:var(--lightningcss-light,oklch(from var(--sn-color) calc(l + .1) c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l - .02) calc(c * .9) h));--sn-hover-bg-bottom:var(--lightningcss-light,oklch(from var(--sn-color) calc(l + .04) c h))var(--lightningcss-dark,oklch(from var(--sn-color) calc(l + .02) calc(c * .94) h))}.sidebar-nav:is(.dark,.light,.contrast){--sn-hi:transparent;--sn-hover-hi:transparent;--sn-active-hi:transparent;--sn-hover-border:var(--sn-border);--sn-active-border:var(--sn-border)}.sidebar-nav.dark{--sn-text:var(--white);--sn-shadow:0 1px 2px var(--black-3);--sn-border:var(--lightningcss-light,oklch(10% 0 0))var(--lightningcss-dark,oklch(28% 0 0));--sn-bg-top:oklch(18% 0 0);--sn-bg-bottom:oklch(18% 0 0);--sn-hover-shadow:0 2px 4px var(--black-3);--sn-hover-bg-top:oklch(24% 0 0);--sn-hover-bg-bottom:oklch(24% 0 0);--sn-active-shadow:0 1px 2px var(--black-3);--sn-active-bg-top:oklch(12% 0 0);--sn-active-bg-bottom:oklch(12% 0 0)}.sidebar-nav.light{--sn-text:var(--black);--sn-shadow:0 1px 2px var(--black-1);--sn-border:var(--gray-3);--sn-bg-top:var(--white);--sn-bg-bottom:var(--white);--sn-hover-shadow:0 2px 4px var(--black-1);--sn-hover-bg-top:oklch(97% 0 0);--sn-hover-bg-bottom:oklch(97% 0 0);--sn-active-shadow:0 1px 2px var(--black-1);--sn-active-bg-top:oklch(94% 0 0);--sn-active-bg-bottom:oklch(94% 0 0)}.sidebar-nav.contrast{--sn-text:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--black));--sn-shadow:0 1px 2px var(--lightningcss-light,var(--black-3))var(--lightningcss-dark,var(--black-1));--sn-border:var(--lightningcss-light,oklch(10% 0 0))var(--lightningcss-dark,var(--gray-3));--sn-bg-top:var(--lightningcss-light,oklch(18% 0 0))var(--lightningcss-dark,var(--white));--sn-bg-bottom:var(--lightningcss-light,oklch(18% 0 0))var(--lightningcss-dark,var(--white));--sn-hover-shadow:0 2px 4px var(--lightningcss-light,var(--black-3))var(--lightningcss-dark,var(--black-1));--sn-hover-bg-top:var(--lightningcss-light,oklch(24% 0 0))var(--lightningcss-dark,oklch(97% 0 0));--sn-hover-bg-bottom:var(--lightningcss-light,oklch(24% 0 0))var(--lightningcss-dark,oklch(97% 0 0));--sn-active-shadow:0 1px 2px var(--lightningcss-light,var(--black-3))var(--lightningcss-dark,var(--black-1));--sn-active-bg-top:var(--lightningcss-light,oklch(12% 0 0))var(--lightningcss-dark,oklch(94% 0 0));--sn-active-bg-bottom:var(--lightningcss-light,oklch(12% 0 0))var(--lightningcss-dark,oklch(94% 0 0))}.sidebar-nav.ghost{--sn-text:var(--fg);--sn-hi:transparent;--sn-shadow:none;--sn-border:var(--fg-3);--sn-bg-top:transparent;--sn-bg-bottom:transparent;--sn-hover-hi:transparent;--sn-hover-shadow:none;--sn-hover-border:var(--fg-4);--sn-hover-bg-top:var(--fg-05);--sn-hover-bg-bottom:var(--fg-05);--sn-active-hi:transparent;--sn-active-shadow:none;--sn-active-border:var(--fg-5);--sn-active-bg-top:var(--fg-1);--sn-active-bg-bottom:var(--fg-1);--sn-hover-y:0px}.sidebar-nav.minimal{--sn-text:var(--fg-8);--sn-hover-text:var(--fg);--sn-hi:transparent;--sn-shadow:none;--sn-border:transparent;--sn-bg-top:transparent;--sn-bg-bottom:transparent;--sn-hover-hi:transparent;--sn-hover-shadow:none;--sn-hover-border:transparent;--sn-hover-bg-top:transparent;--sn-hover-bg-bottom:transparent;--sn-active-hi:transparent;--sn-active-shadow:none;--sn-active-border:transparent;--sn-active-bg-top:transparent;--sn-active-bg-bottom:transparent;--sn-hover-y:0px}.sidebar-nav .sidebar-nav-heading{width:100%;padding:var(--pad-s) var(--pad-m) var(--pad-xs);color:var(--fg-5);--fl:-1;font-weight:620;text-decoration:none;display:block}.sidebar-nav>.sidebar-nav-heading:first-child{padding-block-start:0}.sidebar-nav>details>.sidebar-nav-heading,.sidebar-nav>a.sub{padding-inline-start:calc(var(--pad-m) + var(--sidebar-nav-indent))}.sidebar-nav>a,.sidebar-nav>details>a,.sidebar-nav>details>summary{align-items:center;gap:var(--pad-s);width:100%;padding:var(--sidebar-nav-row-pad-block) var(--sidebar-nav-row-pad-inline);color:var(--fg-6);-webkit-text-fill-color:currentColor;border:1px solid var(--sn-row-border);border-radius:var(--sidebar-nav-row-radius);background:linear-gradient(180deg, var(--sn-row-bg-top) 0%, var(--sn-row-bg-bottom) 100%);box-shadow:inset 0 1px 0 var(--sn-row-hi), 0 1px 2px var(--sn-row-shadow);cursor:pointer;overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;transition:background .15s var(--ease-smooth), border-color .15s var(--ease-smooth), box-shadow .15s var(--ease-smooth), color .15s var(--ease-smooth), translate .15s var(--ease-smooth);grid-template-columns:auto minmax(0,1fr) auto;margin:0;text-decoration:none;display:grid;overflow:hidden;translate:0}:is(.sidebar-nav>a,.sidebar-nav>details>a,.sidebar-nav>details>summary)>svg{width:var(--sidebar-nav-icon-size);height:var(--sidebar-nav-icon-size);color:var(--fg-4);transition:color .15s var(--ease-smooth);flex-shrink:0}:is(.sidebar-nav>a,.sidebar-nav>details>a,.sidebar-nav>details>summary):hover{--sn-row-hi:var(--sn-hover-hi);--sn-row-shadow:var(--sn-hover-shadow);--sn-row-border:var(--sn-hover-border);--sn-row-bg-top:var(--sn-hover-bg-top);--sn-row-bg-bottom:var(--sn-hover-bg-bottom);color:var(--sn-hover-text);-webkit-text-fill-color:var(--sn-hover-text);translate:0 var(--sn-hover-y)}:is(.sidebar-nav>a,.sidebar-nav>details>a,.sidebar-nav>details>summary):active{--sn-row-hi:var(--sn-active-hi);--sn-row-shadow:var(--sn-active-shadow);--sn-row-border:var(--sn-active-border);--sn-row-bg-top:var(--sn-active-bg-top);--sn-row-bg-bottom:var(--sn-active-bg-bottom);color:var(--sn-active-text);-webkit-text-fill-color:var(--sn-active-text);translate:0}:is(.sidebar-nav>a,.sidebar-nav>details>a,.sidebar-nav>details>summary):is(:hover,:active)>svg{color:currentColor}:is(.sidebar-nav>a,.sidebar-nav>details>a,.sidebar-nav>details>summary):focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.sidebar-nav>[aria-current=page],.sidebar-nav>.active,.sidebar-nav>details>a[aria-current=page],.sidebar-nav>details>a.active{--sn-row-hi:var(--sn-hi);--sn-row-shadow:var(--sn-shadow);--sn-row-border:var(--sn-border);--sn-row-bg-top:var(--sn-bg-top);--sn-row-bg-bottom:var(--sn-bg-bottom);color:var(--sn-text);-webkit-text-fill-color:var(--sn-text)}.sidebar-nav>:is([aria-current=page],.active)>svg,.sidebar-nav>details>:is(a[aria-current=page],a.active)>svg{color:currentColor}.sidebar-nav>details{width:100%;min-inline-size:0;max-inline-size:100%;margin:0;overflow-x:hidden}.sidebar-nav>details>summary{-webkit-user-select:none;user-select:none;list-style:none}.sidebar-nav>details>summary:before{display:none}.sidebar-nav>details>summary::-webkit-details-marker{display:none}.sidebar-nav>details>summary:after{content:"›";color:currentColor;opacity:.72;transition:rotate .15s var(--ease-smooth), opacity .15s var(--ease-smooth);justify-self:end;rotate:0deg}.sidebar-nav>details>summary:hover:after,.sidebar-nav>details>summary:focus-visible:after{opacity:1}.sidebar-nav>details[open]>summary:after{rotate:90deg}.sidebar-nav>details>a{padding-inline-start:calc(var(--pad-m) + var(--sidebar-nav-indent))}.sidebar-nav>details>a:not([aria-current=page]):not(.active){color:var(--fg-5)}.sidebar-nav>details>a:not([aria-current=page]):not(.active)>svg{color:var(--fg-4)}.sidebar-nav>details>.sidebar-nav-heading{padding-inline-start:calc(var(--pad-m) + var(--sidebar-nav-indent))}.sidebar-nav>a.sub:not([aria-current=page]):not(.active){color:var(--fg-5)}.sidebar-nav>a.sub:not([aria-current=page]):not(.active)>svg{color:var(--fg-4)}.sidebar-nav.compact{--sidebar-nav-icon-size:18px;--sidebar-nav-indent:1.25rem}.sidebar-nav.compact .sidebar-nav-heading{padding-block-start:var(--pad-s);padding-block-end:0}.sidebar-nav.compact>a,.sidebar-nav.compact>details>summary,.sidebar-nav.compact>details>a{padding-block:var(--sidebar-nav-row-pad-block);min-block-size:2.25rem}.footer{container-type:inline-size}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer .grid>nav{margin-bottom:var(--vs-m)}@container (width<=600px){.footer .grid{grid-template-columns:1fr}}.dropdown{anchor-name:var(--anchor);display:inline-block;position:relative}.dropdown-menu[popover]{position-anchor:var(--anchor);inset:unset;position-area:block-end span-inline-end;background:var(--bg);border:var(--border-1);border-radius:var(--br-m);min-width:12rem;box-shadow:var(--shadow-4);opacity:1;transform-origin:0 0;transition:opacity .15s var(--ease-smooth), scale .15s var(--ease-smooth), display .15s var(--ease-smooth) allow-discrete;margin:0;margin-block-start:var(--pad-xs);padding:0;position:absolute;overflow:hidden;scale:1}.dropdown-menu[popover] a,.dropdown-menu[popover] button{width:100%;padding:var(--pad-s) var(--pad-m);color:var(--fg-7);text-align:start;cursor:pointer;transition:background-color .1s var(--ease-smooth);font:inherit;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;text-decoration:none;display:block}:is(.dropdown-menu[popover] a,.dropdown-menu[popover] button):hover{background:var(--fg-05);color:var(--fg);opacity:1}:is(.dropdown-menu[popover] a,.dropdown-menu[popover] button):focus-visible{outline:2px solid var(--fg);outline-offset:-2px}:is(.dropdown-menu[popover] a,.dropdown-menu[popover] button):active{background:var(--fg-1)}:is(.dropdown-menu[popover] a,.dropdown-menu[popover] button)[aria-disabled=true],:is(.dropdown-menu[popover] a,.dropdown-menu[popover] button).disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropdown-menu[popover] hr{height:0;margin:var(--pad-xs) 0;border:none;border-top:var(--border-1)}.dropdown-menu[popover]:not(:popover-open){opacity:0;scale:.95}@starting-style{.dropdown-menu[popover]:popover-open{opacity:0;scale:.95}}.dropdown.end .dropdown-menu[popover]{position-area:block-end span-inline-start;transform-origin:100% 0}.dropdown-header{padding:var(--pad-s) var(--pad-m);color:var(--fg-5);--fl:-1}.tooltip{anchor-scope:--tooltip;anchor-name:--tooltip;display:inline-block}.tooltip-content{position-anchor:--tooltip;inset:unset;position-area:block-start center;padding:var(--pad-xs) var(--pad-s);background:var(--bg);border:var(--border-1);border-radius:var(--br-s);width:max-content;max-width:30ch;box-shadow:var(--shadow-3);--fl:-1;pointer-events:none;text-align:center;opacity:0;transition:opacity .15s var(--ease-smooth);margin-block-end:var(--vs-xs);position:absolute}.tooltip:hover .tooltip-content,.tooltip:focus-within .tooltip-content{opacity:1}.tooltip.bottom .tooltip-content{position-area:block-end center;margin-block-start:var(--vs-xs);margin-block-end:0}.tooltip.left .tooltip-content{position-area:inline-start center;margin-block-end:0;margin-inline-end:var(--vs-xs)}.tooltip.right .tooltip-content{position-area:inline-end center;margin-block-end:0;margin-inline-start:var(--vs-xs)}.avatar{--avatar-size:2.5rem;width:var(--avatar-size);height:var(--avatar-size);background:var(--fg-1);color:var(--fg-6);font-weight:var(--fw-semibold);--fl:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.bordered{border:var(--border-1)}.avatar.xs{--avatar-size:1.5rem;--fl:-1}.avatar.s{--avatar-size:2rem;--fl:-1}.avatar.l{--avatar-size:3.5rem;--fl:1}.avatar.xl{--avatar-size:5rem;--fl:2}.avatar:is(button){box-shadow:none;background:var(--fg-1);cursor:pointer;border:none;padding:0}input[type=checkbox].toggle{--toggle-width:2.75em;--toggle-height:1.5em;--toggle-knob-size:calc(var(--toggle-height) - 8px);--toggle-knob-offset:3px;--toggle-color:var(--primary);appearance:none;width:var(--toggle-width);height:var(--toggle-height);border-radius:var(--toggle-height);background:var(--fg-1);cursor:pointer;border:1px solid var(--fg-2);box-shadow:inset 0 1px 2px var(--black-1);transition:background .2s var(--ease-smooth), border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);flex-shrink:0;margin:0;padding:0;position:relative}input[type=checkbox].toggle:before{content:"";width:var(--toggle-knob-size);height:var(--toggle-knob-size);box-shadow:0 1px 3px var(--black-2);transition:translate .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);background:linear-gradient(oklch(100% 0 0) 0%,oklch(85% 0 0) 100%);border-radius:50%;position:absolute;inset-block-start:var(--toggle-knob-offset);inset-inline-start:var(--toggle-knob-offset)}input[type=checkbox].toggle:checked{background:linear-gradient(180deg, oklch(from var(--toggle-color) calc(l + .08) c h) 0%, var(--toggle-color) 100%);border-color:oklch(from var(--toggle-color) calc(l - .1) c h / .5);box-shadow:inset 0 1px 2px oklch(from var(--toggle-color) calc(l - .2) c h / .2)}input[type=checkbox].toggle:checked:before{translate:calc(var(--toggle-width) - var(--toggle-knob-size) - var(--toggle-knob-offset) * 2 - 2px) 0}input[type=checkbox].toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}input[type=checkbox].toggle:hover:not(:disabled){background:var(--fg-2);border-color:var(--fg-3)}input[type=checkbox].toggle:hover:not(:disabled):before{box-shadow:0 2px 4px var(--black-2)}input[type=checkbox].toggle:hover:not(:disabled):checked{background:linear-gradient(180deg, oklch(from var(--toggle-color) calc(l + .12) c h) 0%, oklch(from var(--toggle-color) calc(l + .04) c h) 100%);border-color:oklch(from var(--toggle-color) calc(l - .08) c h / .6)}input[type=checkbox].toggle:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox].toggle.compact{--toggle-width:2em;--toggle-height:1.125em;--toggle-knob-size:calc(var(--toggle-height) - 4px);--toggle-knob-offset:1px}.input-group{align-items:stretch;display:flex}.input-group>input{border-start-end-radius:0;border-end-end-radius:0;flex:1;min-width:0;margin:0}.input-group>button,.input-group>.button{box-shadow:none;border-start-start-radius:0;border-end-start-radius:0;flex-shrink:0;margin:0}:is(.input-group>button,.input-group>.button):active{translate:none}.input-group>input:focus-visible,.input-group>button:focus-visible,.input-group>.button:focus-visible{z-index:1}@media (width<640px){.input-group.stack-mobile{gap:var(--input-group-stack-gap,var(--vs-s));flex-direction:column}.input-group.stack-mobile>input,.input-group.stack-mobile>button,.input-group.stack-mobile>.button{border-radius:var(--br-m)}}.chat-thread{gap:var(--chat-thread-gap,var(--pad-s));padding:var(--chat-thread-padding,var(--pad-l));flex-direction:column;display:flex}.chat-row{justify-content:flex-start;display:flex}.chat-row.self{justify-content:flex-end}.chat-row.self .chat-message{align-items:flex-end}.chat-message{inline-size:min(100%, var(--chat-message-max-inline,72ch));min-inline-size:0}.chat-composer{align-items:flex-end;gap:var(--pad-s);display:flex}.chat-composer>.input-group{flex:1;min-inline-size:0}.bubble{--bubble-bg:var(--fg-05);--bubble-border:var(--fg-2);--bubble-max-inline:70ch;--bubble-pad-block:var(--pad-s);--bubble-pad-inline:var(--pad-m);--bubble-radius:var(--br-xl);inline-size:fit-content;max-inline-size:min(100%, var(--bubble-max-inline));padding:var(--bubble-pad-block) var(--bubble-pad-inline);border:1px solid var(--bubble-border);border-radius:var(--bubble-radius);background:var(--bubble-bg);overflow-wrap:anywhere}.bubble>*{margin:0}.bubble>*+*{margin-block-start:var(--bubble-flow-space,var(--vs-xs))}::selection{background:var(--primary)}dialog{max-width:40ch;width:calc(100% - var(--pad-xxl) * 2);padding:var(--pad-xl);border-radius:var(--br-xxl);box-shadow:var(--shadow-5);background:var(--bg);color:var(--fg);opacity:1;transition:opacity .2s var(--ease-smooth), scale .2s var(--ease-smooth), overlay .2s var(--ease-smooth) allow-discrete, display .2s var(--ease-smooth) allow-discrete;border:none;overflow:visible;scale:1}dialog::backdrop{background-color:#000000e6}dialog>:last-child{margin-block-end:0}dialog:not([open]){opacity:0;scale:.95}@starting-style{dialog[open]{opacity:0;scale:.95}}dialog>.close{position:absolute;inset-block-start:-14px;inset-inline-end:var(--pad-m)}[popover].drawer{border:none;border-inline-end:var(--drawer-border,var(--border-1));inline-size:var(--drawer-inline-size,300px);background:var(--drawer-bg,var(--bg));block-size:100dvh;max-inline-size:85vw;color:var(--fg);overscroll-behavior:contain;transition:translate .25s var(--ease-emphasized), display .25s var(--ease-emphasized) allow-discrete, overlay .25s var(--ease-emphasized) allow-discrete;margin:0;padding:0;position:fixed;inset-block:0;inset-inline:0 auto;overflow-y:auto;translate:-100%}[popover].drawer:popover-open{translate:0}@starting-style{[popover].drawer:popover-open{translate:-100%}}[popover].drawer::backdrop{transition:background .25s var(--ease-smooth), display .25s var(--ease-smooth) allow-discrete, overlay .25s var(--ease-smooth) allow-discrete;background:oklch(0% 0 0/0)}[popover].drawer:popover-open::backdrop{background:oklch(0 0 0 / var(--drawer-backdrop,.5))}@starting-style{[popover].drawer:popover-open::backdrop{background:oklch(0% 0 0/0)}}[popover].drawer.end{border-inline-end:none;border-inline-start:var(--drawer-border,var(--border-1));inset-inline:auto 0;translate:100%}@starting-style{[popover].drawer.end:popover-open{translate:100%}}.chip{align-items:center;gap:var(--pad-xs);padding:var(--pad-xs) var(--pad-m);border:var(--border-1);border-radius:var(--br-xxl);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s var(--ease-smooth), border-color .15s var(--ease-smooth);--fl:-1;margin:0;display:inline-flex}.chip:is(button){box-shadow:none;font:inherit;background:0 0}.chip>svg{flex-shrink:0;width:1em;height:1em}.chip:hover{background:var(--fg-05)}.chip:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.chip:active{background:var(--fg-1)}.chip[aria-pressed=true],.chip.selected{background:var(--primary);border-color:var(--primary);color:var(--white)}:is(.chip[aria-pressed=true],.chip.selected):hover{background:oklch(from var(--primary) calc(l - .05) c h);border-color:oklch(from var(--primary) calc(l - .05) c h)}:is(.chip[aria-pressed=true],.chip.selected):active{background:oklch(from var(--primary) calc(l - .1) c h);border-color:oklch(from var(--primary) calc(l - .1) c h)}.chip:disabled,.chip[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.chip.mini{padding:2px var(--pad-s);gap:2px}.tag{--tag-color:var(--primary);--tag-bg-top:var(--lightningcss-light,oklch(from var(--tag-color) .965 calc(c * .07) h / 1))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .24) calc(c * .16) h / .52));--tag-bg-bottom:var(--lightningcss-light,oklch(from var(--tag-color) .93 calc(c * .11) h / 1))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .2) calc(c * .19) h / .6));--tag-border:var(--lightningcss-light,oklch(from var(--tag-color) .8 calc(c * .25) h / .55))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l + .14) calc(c * .64) h / .62));--tag-shadow:var(--lightningcss-light,oklch(from var(--tag-color) calc(l - .2) calc(c * .16) h / .04))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .38) calc(c * .16) h / .22));--tag-text:var(--lightningcss-light,oklch(from var(--tag-color) calc(l - .1) calc(c * .65) h))var(--lightningcss-dark,oklch(from var(--tag-color) .9 calc(c * .42) h));padding:calc(var(--pad-xs) + 1px) var(--pad-l);border:1px solid var(--tag-border);background:linear-gradient(180deg, var(--tag-bg-top) 0%, var(--tag-bg-bottom) 100%);color:var(--tag-text);box-shadow:inset 0 1px 0 var(--lightningcss-light,transparent)var(--lightningcss-dark,var(--white-1)), 0 1px 2px var(--tag-shadow);font-weight:var(--fw-medium);line-height:var(--lh-s);--fl:-1;border-radius:999px;align-items:center;gap:.45em;display:inline-flex}.tag>svg{stroke-width:2px;flex-shrink:0;width:1em;height:1em}.tag:is(a,button){cursor:pointer;transition:background .2s var(--ease-smooth), border-color .2s var(--ease-smooth), color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth), translate .2s var(--ease-smooth);text-decoration:none}.tag:is(a,button):hover{border-color:var(--lightningcss-light,oklch(from var(--tag-color) .77 calc(c * .3) h / .62))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l + .15) calc(c * .68) h / .72));background:linear-gradient(180deg, var(--lightningcss-light,oklch(from var(--tag-color) .97 calc(c * .08) h / 1))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .22) calc(c * .19) h / .58)) 0%, var(--lightningcss-light,oklch(from var(--tag-color) .92 calc(c * .13) h / 1))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .16) calc(c * .22) h / .66)) 100%);box-shadow:inset 0 1px 0 var(--lightningcss-light,transparent)var(--lightningcss-dark,var(--white-2)), 0 2px 6px var(--tag-shadow);translate:0 -1px}.tag:is(a,button):focus-visible{--focus-ring-color:var(--tag-color);outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.tag:is(a,button):active{background:linear-gradient(180deg, var(--lightningcss-light,oklch(from var(--tag-color) .955 calc(c * .08) h / 1))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .24) calc(c * .19) h / .58)) 0%, var(--lightningcss-light,oklch(from var(--tag-color) .9 calc(c * .13) h / 1))var(--lightningcss-dark,oklch(from var(--tag-color) calc(l - .18) calc(c * .22) h / .62)) 100%);box-shadow:inset 0 1px 0 var(--lightningcss-light,transparent)var(--lightningcss-dark,var(--white-1)), 0 1px 3px var(--tag-shadow);translate:0}.tag:is(button){appearance:none;font:inherit;margin:0}.tag.muted{--tag-text:var(--fg-8)}.tag.success{--tag-color:var(--green)}.tag.warning{--tag-color:var(--yellow)}.tag.error{--tag-color:var(--red)}.tag.info{--tag-color:var(--blue)}.list-nav{gap:var(--pad-m);flex-direction:column;display:flex}.list-nav>a,.list-nav>button{align-items:center;gap:var(--pad-m);padding:var(--pad-l) var(--pad-l);color:var(--fg);cursor:pointer;background:var(--bg);border-radius:var(--br-xxl);box-shadow:var(--shadow-2);transition:box-shadow .1s var(--ease-smooth);grid-template-columns:auto 1fr;margin:0;text-decoration:none;display:grid}:is(.list-nav>a,.list-nav>button):is(button){width:100%;font:inherit;text-align:start;border:none}:is(.list-nav>a,.list-nav>button)>svg{width:1.25em;height:1.25em;color:var(--fg-5)}:is(.list-nav>a,.list-nav>button)>small{color:var(--fg-5);--fl:-1;grid-column:2}:is(.list-nav>a,.list-nav>button):hover{background:var(--fg-05)}:is(.list-nav>a,.list-nav>button):hover>svg{color:var(--fg-6)}:is(.list-nav>a,.list-nav>button):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset-inset)}:is(.list-nav>a,.list-nav>button):active{background:var(--fg-1)}:is(.list-nav>a,.list-nav>button):is([aria-disabled=true],:disabled,.disabled){opacity:.5;cursor:not-allowed;pointer-events:none}@media (prefers-color-scheme:dark){.list-nav>a,.list-nav>button{border:var(--border-1)}}.tabs{grid-template-columns:repeat(var(--tab-count,3), minmax(100px, 1fr));column-gap:var(--gap,1rem);grid-template-rows:auto 1fr;display:grid}.tabs>details{grid-template-columns:subgrid;grid-template-rows:subgrid;grid-area:1/1/span 2/-1;margin:0;display:grid}.tabs>details>summary{grid-row:1;grid-column:var(--n) / span 1;z-index:1;padding:var(--pad-s) var(--pad-m);color:var(--fg-5);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s var(--ease-smooth), border-color .15s var(--ease-smooth);border-bottom:2px solid #0000;justify-content:center;align-items:center;display:flex}.tabs>details>summary:before{display:none}.tabs>details>summary:hover{color:var(--fg-7)}.tabs>details>summary:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.tabs>details[open]>summary{color:var(--fg);font-weight:var(--fw-semibold);border-bottom-color:var(--primary)}.tabs>details::details-content{padding:var(--pad-l);opacity:1;block-size:auto;transition:opacity .2s var(--ease-smooth), display .2s var(--ease-smooth) allow-discrete;grid-area:2/1/auto/-1;overflow:visible}.tabs>details:not([open])::details-content{opacity:0;display:none}.tabs>details>:not(summary){margin:0;padding:0}@starting-style{.tabs>details[open]::details-content{opacity:0}}.tabs.boxed>details>summary{border:var(--border-1);border-radius:var(--br-m) var(--br-m) 0 0;background:var(--fg-05);border-bottom:none;margin-inline-end:-1px;position:relative}.tabs.boxed>details[open]>summary{background:var(--bg);z-index:2}.tabs.boxed>details[open]>summary:after{content:"";background:var(--bg);height:2px;position:absolute;inset-block-end:-1px;inset-inline:0}.tabs.boxed>details::details-content{padding:var(--pad-l);border:var(--border-1);border-radius:0 0 var(--br-m) var(--br-m);margin-block-start:-1px}.tabs.pill{--pill-gap:var(--pad-xs);--pill-track-pad:var(--pad-xs);--pill-tab-count:var(--tab-count,3);--pill-tab-height:calc(1lh + (var(--pad-s) * 1.5));--pill-track-height:calc(var(--pill-tab-height) + (var(--pill-track-pad) * 2));--pill-tab-width:calc(( 100% - (var(--pill-track-pad) * 2) - ((var(--pill-tab-count) - 1) * var(--pill-gap)) ) / var(--pill-tab-count));--pill-thumb-width:var(--pill-tab-width);--pill-index:0;--pill-thumb-offset:calc(var(--pill-track-pad) + (var(--pill-index) * (var(--pill-tab-width) + var(--pill-gap))));isolation:isolate;grid-template-rows:var(--pill-track-height) 1fr;column-gap:var(--pill-gap);row-gap:var(--pad-s);position:relative}.tabs.pill:after{content:"";block-size:var(--pill-track-height);border:var(--border-1);border-radius:var(--br-xxl);background:linear-gradient(180deg, var(--fg-05) 0%, var(--fg-1) 100%);box-shadow:inset 0 1px 0 var(--bg-4), inset 0 -1px 0 var(--fg-1);pointer-events:none;z-index:0;position:absolute;inset-block-start:0;inset-inline:0}.tabs.pill:before{content:"";inline-size:var(--pill-thumb-width);block-size:var(--pill-tab-height);border:var(--border-1);border-radius:calc(var(--br-xxl) - var(--pill-track-pad));background:linear-gradient(180deg, var(--bg) 0%, var(--bg-8) 100%);box-shadow:var(--shadow-1);pointer-events:none;transition:inset-inline-start .25s var(--ease-smooth), border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);z-index:1;position:absolute;inset-block-start:var(--pill-track-pad);inset-inline-start:var(--pill-thumb-offset)}.tabs.pill>details>summary{block-size:var(--pill-tab-height);min-block-size:var(--pill-tab-height);padding-inline:var(--pad-m);border-radius:var(--br-xl);color:var(--fg-6);z-index:2;border:0;justify-content:center;align-self:center;align-items:center;margin-block-end:0;padding-block:0;display:flex;position:relative}.tabs.pill>details>summary:hover{color:var(--fg-8)}.tabs.pill>details>summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset-inset)}.tabs.pill>details[open]>summary{color:var(--fg);font-weight:var(--fw-semibold)}.tabs.pill>details::details-content{border:var(--border-1);border-radius:var(--br-l);box-shadow:var(--shadow-1)}.tabs.pill:has(>details:first-of-type[open]){--pill-index:0}.tabs.pill:has(>details:nth-of-type(2)[open]){--pill-index:1}.tabs.pill:has(>details:nth-of-type(3)[open]){--pill-index:2}.tabs.pill:has(>details:nth-of-type(4)[open]){--pill-index:3}.tabs.pill:has(>details:nth-of-type(5)[open]){--pill-index:4}.tabs.pill:has(>details:nth-of-type(6)[open]){--pill-index:5}.tabs.pill:has(>details:nth-of-type(7)[open]){--pill-index:6}.tabs.pill:has(>details:nth-of-type(8)[open]){--pill-index:7}.app-shell{min-height:var(--app-shell-min-height,100dvh);height:100%;min-block-size:0;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-inline:var(--safe-left) var(--safe-right);grid-template-rows:auto 1fr auto;display:grid}.app-shell>:is(header,main,footer){min-block-size:0}.app-shell>header{z-index:100;background:var(--bg);-webkit-backdrop-filter:blur(10px);position:sticky;top:0}.app-shell>main{overscroll-behavior:contain;min-height:0;overflow-y:auto}.app-shell>footer{z-index:100;background:var(--bg);position:sticky;bottom:0}.bottom-nav{bottom:calc(var(--safe-bottom) + var(--pad-s));inset-inline:var(--pad-m);background:var(--bg);border-radius:var(--br-xxl);box-shadow:var(--shadow-3);padding:var(--pad-xs) var(--pad-s);z-index:100;justify-content:space-around;display:flex;position:fixed}.bottom-nav :is(a,button){align-items:center;gap:var(--pad-xs);padding:var(--pad-s);color:var(--fg-5);font:inherit;cursor:pointer;transition:color .15s var(--ease-smooth);background:0 0;border:none;flex-direction:column;text-decoration:none;display:flex}.bottom-nav :is(a,button) svg{width:24px;height:24px}.bottom-nav :is(a,button) span{--fl:-1}.bottom-nav :is(a,button):hover{color:var(--fg-7)}.bottom-nav :is(a,button)[aria-current=page],.bottom-nav :is(a,button).active{color:var(--primary)}.bottom-nav :is(a,button):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.bottom-nav.blur{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bottom-sheet{bottom:0;background:var(--bg);border-radius:var(--br-xl) var(--br-xl) 0 0;border:var(--border-1);max-height:80dvh;padding:var(--pad-l);padding-bottom:calc(var(--pad-l) + var(--safe-bottom));box-shadow:var(--shadow-6);z-index:200;border-bottom:none;position:fixed;inset-inline:0}.bottom-sheet:before{content:"";background:var(--fg-2);width:36px;height:4px;margin:0 auto var(--pad-m);border-radius:2px;display:block}.safe-top{padding-top:var(--safe-top)}.safe-bottom{padding-bottom:var(--safe-bottom)}.safe-x{padding-inline:var(--safe-left) var(--safe-right)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.momentum-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@layer layouts{.layout-card{grid-template-columns:repeat(auto-fill, minmax(var(--layout-min-card-width,var(--min-card-width,290px)), 1fr));gap:var(--layout-gap,var(--gap,2rem));display:grid}.layout-sidebar{gap:var(--layout-gap,var(--gap,2rem));grid-template-columns:250px 1fr;align-items:start;display:grid}.layout-sidebar.narrow{grid-template-columns:150px 1fr}.layout-sidebar.wide{grid-template-columns:350px 1fr}.layout-sidebar.invert{grid-template-columns:1fr 250px}.layout-sidebar.invert>:first-child{grid-area:1/2}.layout-sidebar.invert>:nth-child(2){grid-area:1/1}.layout-sidebar.invert.narrow{grid-template-columns:1fr 150px}.layout-sidebar.invert.wide{grid-template-columns:1fr 350px}.layout-sidebar.fill{--layout-gap:0;height:var(--app-shell-min-height,100dvh);align-items:stretch}.layout-sidebar.fill>*{min-block-size:0}.layout-sidebar.fill>:first-child:not(.app-shell),.layout-sidebar.fill>:nth-child(2):not(.app-shell){overscroll-behavior:contain;overflow-y:auto}.layout-sidebar.fill>.app-shell{--app-shell-min-height:100%;min-height:100%}.layout-sidebar.fixed>:first-child{align-self:start;max-height:100dvh;position:sticky;top:0}.layout-sidebar.fixed>:first-child:not(.app-shell){overscroll-behavior:contain;overflow-y:auto}.layout-sidebar.layout-readable{--max-width:1400px}@container (width<=768px){.layout-sidebar,.layout-sidebar.narrow,.layout-sidebar.wide,.layout-sidebar.invert,.layout-sidebar.invert.narrow,.layout-sidebar.invert.wide{grid-template-columns:1fr}.layout-sidebar>:first-child:not(.drawer){display:none!important}.layout-sidebar.invert>:first-child,.layout-sidebar.invert>:nth-child(2){grid-area:auto}}@media (width<768px){.layout-sidebar,.layout-sidebar.narrow,.layout-sidebar.wide,.layout-sidebar.invert,.layout-sidebar.invert.narrow,.layout-sidebar.invert.wide{grid-template-columns:1fr}.layout-sidebar>:first-child:not(.drawer){display:none!important}.layout-sidebar.invert>:first-child,.layout-sidebar.invert>:nth-child(2){grid-area:auto}}@media (width>=768px){.layout-sidebar .drawer-toggle{display:none}.layout-sidebar>[popover].drawer{background:0 0;border:none;block-size:auto;inline-size:auto;max-inline-size:none;transition:none;position:static;inset:auto;translate:none}.layout-sidebar>[popover].drawer:not(:popover-open){display:block}}@media (width<768px){.layout-sidebar .drawer-toggle{display:inline-flex}.layout-sidebar>[popover].drawer:not(:popover-open){display:none}}.layout-split{gap:var(--layout-gap,var(--gap,2rem));grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<768px){.layout-split{grid-template-columns:1fr}.layout-split.no-stack{grid-template-columns:1fr 1fr}}.layout-three-col{gap:var(--layout-gap,var(--gap,2rem));grid-template-columns:1fr 1fr 1fr;align-items:start;display:grid}@media (width<1024px){.layout-three-col{grid-template-columns:1fr 1fr}}@media (width<768px){.layout-three-col{grid-template-columns:1fr}}.layout-readable{width:100%;max-width:var(--layout-max-width,var(--max-width,1200px));padding-inline:var(--layout-padding,var(--padding,2rem));margin:0 auto}.layout-readable.center{margin-inline:auto}.layout-readable.end{margin-inline-start:auto}.layout-holy-grail{gap:var(--layout-gap,var(--gap,2rem));grid-template-columns:auto 1fr auto;display:grid}@media (width<768px){.layout-holy-grail{grid-template-columns:1fr}}.layout-readable .full-bleed{width:100vi;margin-inline:calc(50% - 50vi)}.section{padding-block:var(--section-padding,var(--pad-xxxl))}.stack{justify-content:flex-start;gap:var(--gap,1rem);flex-direction:column;display:flex}.stack>*{margin-block:0;margin-inline:0}.cluster{gap:var(--gap,.5rem);flex-wrap:wrap;align-items:center;display:flex}.cluster.center{justify-content:center}.carousel{gap:var(--gap,1rem);scroll-snap-type:x mandatory;scroll-padding-inline:var(--layout-padding,var(--padding,1rem));scrollbar-width:thin;display:flex;overflow-x:auto}.carousel>*{scroll-snap-align:start;flex-shrink:0}.reel{gap:var(--gap,1rem);scroll-snap-type:y mandatory;scroll-padding-block:var(--layout-padding,var(--padding,1rem));scrollbar-width:thin;max-height:var(--reel-height,80vh);flex-direction:column;display:flex;overflow-y:auto}.reel>*{scroll-snap-align:start;flex-shrink:0}.swipe{scroll-snap-type:x mandatory;border-block:var(--border-1);-ms-overflow-style:none;scrollbar-width:none;grid-template-columns:auto 1fr auto;display:grid;overflow-x:auto;container-type:inline-size}.swipe>:nth-child(2){scroll-snap-align:center;width:100cqw;padding:var(--pad-l) var(--vs-base)}.swipe>button{border:none;border-radius:0;width:200px;box-shadow:inset 1px 1px 4px #00000080}.swipe.stop>*:first-of-type{animation:1ms forwards snap_start_hack}.swipe.stop>*:last-of-type{scroll-snap-align:end}@keyframes snap_start_hack{to{scroll-snap-align:start}}:where(h1,h2,h3,h4,h5,h6){view-transition-name:var(--transition-name);text-wrap:balance}}@layer utilities{.readable{width:100%;max-width:900px}.narrow{max-width:var(--narrow-width,50ch);width:100%}.narrow.center{margin-inline:auto}.flex{gap:var(--gap,1rem);display:flex}.grid{gap:var(--gap,1rem);display:grid}.grid.auto{grid-template-columns:repeat(auto-fit, minmax(var(--grid-min,150px), 1fr))}.split{gap:var(--gap,1rem);justify-content:space-between;align-items:start;display:flex}.split.even{flex:auto}.split.vertical{flex-direction:column;height:100%}.split.center{align-items:center}@container (width<=500px){.split{flex-direction:column}}.visually-hidden{clip:rect(0px, 0px, 0px, 0px);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.no-list{margin:0;padding:0;list-style:none}.no-list li{margin:0;padding:0}.row{margin-block:var(--vs-m)}:is(form,fieldset) .row{gap:var(--row-gap,var(--vs-xs));align-content:start;margin-block:0;display:grid}:is(form,fieldset) .row>label{margin-block-end:0}:is(form,fieldset) .row>:is(input,select,textarea):has(+small){margin-block-end:0}:is(form,fieldset) .row>:is(input,select,textarea)+small{margin-block-end:0}.form-actions{justify-content:var(--form-actions-justify,flex-end);align-items:center;gap:var(--form-actions-gap,var(--vs-s));margin-block:var(--form-actions-margin,var(--vs-m));flex-wrap:wrap;display:flex;container-type:inline-size}.form-actions>*{margin:0}@container (width<=30rem){.form-actions>:is(button,.button,input[type=submit],input[type=button],input[type=reset]){flex:100%}}.no-margin{margin:0}.self-start{align-self:start}.full{width:100%}.reset{appearance:none;box-shadow:none;color:inherit;cursor:pointer;font:inherit;line-height:inherit;text-align:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:0;text-decoration:none}.text-center{text-align:center}.text-end{text-align:end}.circle{--size:40px;border-radius:var(--size);width:var(--size);height:var(--size);padding:0}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.aspect-21-9{aspect-ratio:21/9}.aspect-custom{aspect-ratio:var(--aspect,1 / 1)}.focus-ring:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.focus-ring-inset:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.transition{transition:all .2s var(--ease-smooth)}.transition-fast{transition:all .1s var(--ease-smooth)}.transition-slow{transition:all .4s var(--ease-smooth)}.transition-bounce{transition:all .3s var(--ease-bounce)}.transition-none{transition:none}.gradient-sunset{--g1:var(--lightningcss-light,oklch(92% .08 80))var(--lightningcss-dark,oklch(58% .19 60));--g2:var(--lightningcss-light,oklch(82% .15 45))var(--lightningcss-dark,oklch(45% .22 35));--g3:var(--lightningcss-light,oklch(75% .17 15))var(--lightningcss-dark,oklch(35% .2 10));background:linear-gradient(135deg, var(--g1), var(--g2), var(--g3))}.gradient-ocean{--g1:var(--lightningcss-light,oklch(88% .08 220))var(--lightningcss-dark,oklch(45% .12 220));--g2:var(--lightningcss-light,oklch(78% .1 230))var(--lightningcss-dark,oklch(35% .14 235));--g3:var(--lightningcss-light,oklch(70% .12 250))var(--lightningcss-dark,oklch(25% .13 255));background:radial-gradient(ellipse at 30% 80%, var(--g1), var(--g2), var(--g3))}.gradient-aurora{--g1:var(--lightningcss-light,oklch(88% .1 160))var(--lightningcss-dark,oklch(42% .14 155));--g2:var(--lightningcss-light,oklch(84% .1 190))var(--lightningcss-dark,oklch(38% .13 195));--g3:var(--lightningcss-light,oklch(82% .08 260))var(--lightningcss-dark,oklch(32% .15 265));--g4:var(--lightningcss-light,oklch(86% .06 300))var(--lightningcss-dark,oklch(36% .12 310));background:linear-gradient(160deg, var(--g1), var(--g2), var(--g3), var(--g4))}.gradient-midnight{--g1:var(--lightningcss-light,oklch(75% .06 270))var(--lightningcss-dark,oklch(30% .08 275));--g2:var(--lightningcss-light,oklch(60% .08 260))var(--lightningcss-dark,oklch(20% .1 260));--g3:var(--lightningcss-light,oklch(50% .1 250))var(--lightningcss-dark,oklch(13% .08 250));background:radial-gradient(circle at 50% 50%, var(--g1), var(--g2), var(--g3))}.gradient-dawn{--g1:var(--lightningcss-light,oklch(93% .06 85))var(--lightningcss-dark,oklch(50% .12 75));--g2:var(--lightningcss-light,oklch(90% .09 50))var(--lightningcss-dark,oklch(42% .16 40));--g3:var(--lightningcss-light,oklch(88% .1 340))var(--lightningcss-dark,oklch(38% .15 335));background:linear-gradient(to top right, var(--g1), var(--g2), var(--g3))}.gradient-forest{--g1:var(--lightningcss-light,oklch(88% .08 145))var(--lightningcss-dark,oklch(42% .1 150));--g2:var(--lightningcss-light,oklch(78% .1 150))var(--lightningcss-dark,oklch(32% .12 148));--g3:var(--lightningcss-light,oklch(72% .09 130))var(--lightningcss-dark,oklch(25% .09 135));background:linear-gradient(to bottom, var(--g1), var(--g2), var(--g3))}.gradient-lavender{--g1:var(--lightningcss-light,oklch(92% .06 300))var(--lightningcss-dark,oklch(48% .12 305));--g2:var(--lightningcss-light,oklch(86% .08 285))var(--lightningcss-dark,oklch(38% .14 285));--g3:var(--lightningcss-light,oklch(82% .1 310))var(--lightningcss-dark,oklch(32% .13 315));background:radial-gradient(ellipse at 70% 20%, var(--g1), var(--g2), var(--g3))}.gradient-neon{--g1:var(--lightningcss-light,oklch(85% .18 330))var(--lightningcss-dark,oklch(60% .28 330));--g2:var(--lightningcss-light,oklch(80% .16 290))var(--lightningcss-dark,oklch(50% .26 290));--g3:var(--lightningcss-light,oklch(82% .15 195))var(--lightningcss-dark,oklch(55% .22 195));background:linear-gradient(70deg, var(--g1), var(--g2), var(--g3))}.gradient-slate{--g1:var(--lightningcss-light,oklch(94% .01 260))var(--lightningcss-dark,oklch(35% .015 260));--g2:var(--lightningcss-light,oklch(88% .015 250))var(--lightningcss-dark,oklch(28% .02 250));--g3:var(--lightningcss-light,oklch(85% .01 240))var(--lightningcss-dark,oklch(22% .015 240));background:linear-gradient(170deg, var(--g1), var(--g2), var(--g3))}.gradient-surface{--g1:var(--lightningcss-light,oklch(97% .005 260))var(--lightningcss-dark,oklch(22% .008 260));--g2:var(--lightningcss-light,oklch(95% .003 250))var(--lightningcss-dark,oklch(18% .005 250));background:radial-gradient(ellipse at 50% 0%, var(--g1), var(--g2))}.gradient-text{color:#0000;-webkit-background-clip:text;background-clip:text}}@media (prefers-color-scheme:dark){:root{--shadow-1:0 1px 2px #00000080, 0 2px 4px #0000004d;--shadow-2:0 2px 4px #0009, 0 4px 8px #0006;--shadow-3:0 4px 8px #000000a6, 0 8px 16px #00000073, 0 2px 4px #0000004d;--shadow-4:0 6px 12px #000000b3, 0 12px 24px #00000080, 0 3px 6px #00000059;--shadow-5:0 10px 20px #000000bf, 0 16px 32px #0000008c, 0 4px 8px #0006;--shadow-6:0 16px 32px #000c, 0 24px 48px #0009, 0 32px 64px #00000080, 0 6px 12px #00000073}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}body{font-size:12pt;line-height:var(--lh)}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.8em}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}img{page-break-inside:avoid;max-width:100%!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid}p,blockquote,ul,ol,dl,table,pre{page-break-inside:avoid}.no-print{display:none!important}}:root{--font-heading:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", sans-serif;--font-body:"DM Sans Variable", "DM Sans", system-ui, sans-serif;--font-mono:"Geist Mono", "Fira Code", ui-monospace, monospace;--bg-light:#faf9f7;--bg-dark:#0a0a0a;--surface:var(--lightningcss-light,#f5f4f2)var(--lightningcss-dark,#111);--surface-2:var(--lightningcss-light,#eceae7)var(--lightningcss-dark,#1a1a1a);--gap-xs:.25rem;--gap-s:.5rem;--gap-m:1rem;--gap-l:1.5rem;--gap-xl:2rem;--gap-xxl:4rem;--accent-orange:var(--orange);--accent-purple:var(--purple);--accent-blue:var(--blue);--accent-green:var(--green);--accent-red:var(--red);--accent-cyan:oklch(70% .18 200);--icon-filter:none;--border-1:solid 1px var(--lightningcss-light,oklch(from var(--fg) l c h / .22))var(--lightningcss-dark,oklch(from var(--fg) l c h / .28));--motion-duration-quick:.14s;--motion-duration-normal:.22s;--motion-duration-structural:.32s;--motion-duration-route:.42s;--motion-distance-xs:4px;--motion-distance-sm:8px;--motion-distance-md:16px;--motion-distance-lg:24px;--ease-enter:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasis:cubic-bezier(.34, 1.56, .64, 1);--ease-linear-soft-settle:linear(0, .06 10%, .31 32%, .74 63%, .93 82%, 1)}@media (prefers-reduced-motion:reduce){:root{--motion-duration-quick:1ms;--motion-duration-normal:1ms;--motion-duration-structural:1ms;--motion-duration-route:1ms}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--icon-filter:brightness(0) invert(1)}html,body,button,input,textarea,select{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}body{background-color:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-body);line-height:var(--lh);margin:0}a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:var(--primary-4);text-decoration-color:var(--primary-4);text-underline-offset:3px;transition:text-decoration-color .2s}a:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}img{max-width:100%;display:block}.skip-link{background:var(--primary);color:var(--bg);z-index:100;padding:8px;transition:top .3s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.btn{align-items:center;gap:var(--gap-xs);padding:var(--pad-s) var(--pad-l);border-radius:var(--br-s);cursor:pointer;font-size:.95rem;font-weight:600;line-height:var(--lh-s);border:none;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{--button-color:var(--primary);background:var(--primary);color:var(--bg);box-shadow:none}.btn--primary:hover{box-shadow:0 8px 24px -4px color-mix(in srgb, var(--primary) 45%, transparent)}.btn--ghost{--button-color:var(--fg-3);color:var(--fg);border:var(--border-1);box-shadow:none;background:0 0}.btn--ghost:hover{background:var(--fg-2)}.btn--lg{padding:var(--pad-m) var(--pad-xl);font-size:1rem}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.page{padding:var(--pad-xl) var(--pad-l)}.page-header{max-width:1100px;margin:0 auto var(--gap-xl)}.page-title{font-family:var(--font-heading);margin-bottom:var(--gap-m);font-size:clamp(1.75rem,5vw,2.5rem)}.page-lead{color:var(--fg-5);max-width:560px;font-size:1.1rem;line-height:1.6}[data-motion=reveal]{opacity:0;translate:0 var(--motion-distance-md,16px);transition:opacity var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2, 0, 0, 1)), translate var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2, 0, 0, 1))}[data-motion=reveal].motion-revealed{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){[data-motion=reveal]{transition-duration:1ms}}.theme-toggle.svelte-1cmi4dh{border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);flex-shrink:0;display:inline-flex;overflow:hidden}.theme-btn.svelte-1cmi4dh{width:2.75rem;height:2.75rem;color:var(--fg-4);cursor:pointer;transition:background .2s, color .2s, transform var(--motion-duration-quick,.14s) var(--ease-standard,cubic-bezier(.2, 0, 0, 1));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-btn.svelte-1cmi4dh svg{width:1.5rem;height:1.5rem}@media (width<=768px){.theme-btn.svelte-1cmi4dh{width:2.25rem;height:2.25rem}.theme-btn.svelte-1cmi4dh svg{width:1.125rem;height:1.125rem}}.theme-btn.svelte-1cmi4dh:hover{background-color:var(--fg-2);color:var(--fg);transform:scale(1.05)}.theme-btn.svelte-1cmi4dh:active{transform:scale(.97)}.theme-btn.active.svelte-1cmi4dh{background-color:var(--primary);color:var(--bg)}.sr-only.svelte-1cmi4dh{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav.svelte-ocbj1u{padding:var(--pad-s) var(--pad-l);z-index:50;background-color:oklch(from var(--bg) l c h / .85);-webkit-backdrop-filter:blur(12px);border-bottom:var(--border-1);box-shadow:var(--shadow-1);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nav-logo.svelte-ocbj1u{font-family:var(--font-heading);color:var(--fg);letter-spacing:-.02em;font-size:1.25rem;font-weight:700;text-decoration:none}.nav-toggle.svelte-ocbj1u{background:var(--surface);border:var(--border-1);color:var(--fg);padding:var(--pad-xs) var(--pad-s);cursor:pointer;border-radius:var(--br-s);font-size:.875rem;font-family:var(--font-mono);display:none}.nav-links.svelte-ocbj1u{gap:var(--gap-l);flex-wrap:wrap;align-items:center;display:flex}.nav-link.svelte-ocbj1u{color:var(--fg-5);padding:var(--pad-xs) var(--pad-s);border-radius:var(--br-s);font-size:.9375rem;text-decoration:none;transition:color .2s,background .2s;position:relative}.nav-link.svelte-ocbj1u:hover{color:var(--primary);background:var(--fg-05)}.nav-link.svelte-ocbj1u:after{content:"";background:var(--primary);transform-origin:0;width:100%;height:2px;transition:transform .14s var(--ease-standard,cubic-bezier(.2, 0, 0, 1));position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-link.svelte-ocbj1u:hover:after{transform:scaleX(1)}@media (width<=768px){.nav-toggle.svelte-ocbj1u{display:block}.nav-links.svelte-ocbj1u{background-color:var(--surface);border-bottom:var(--border-1);padding:var(--pad-l);gap:var(--gap-m);box-shadow:var(--shadow-3);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open.svelte-ocbj1u{display:flex}}.site-footer.svelte-jz8lnl{padding:var(--pad-xl) var(--pad-l);border-top:var(--border-1);text-align:center;background:var(--surface);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 8%, transparent)}.footer-inner.svelte-jz8lnl{align-items:center;gap:var(--gap-s);flex-direction:column;display:flex}.footer-brand.svelte-jz8lnl{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-weight:700}.footer-role.svelte-jz8lnl{color:var(--fg-5);margin:0;font-size:.875rem}.footer-social.svelte-jz8lnl{gap:var(--gap-m);margin-top:var(--gap-s);display:flex}.footer-social.svelte-jz8lnl a:where(.svelte-jz8lnl){color:var(--fg-5);padding:var(--pad-xs);border-radius:var(--br-s);border:var(--border-1);background:var(--surface-2);text-decoration:none;transition:background .2s,color .2s}.footer-social.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--primary);background:var(--fg-2)}.circuit-board.svelte-1hsfa4b{pointer-events:none;opacity:.35;z-index:0;position:absolute;inset:0;overflow:hidden}.circuit-board.svelte-1hsfa4b svg:where(.svelte-1hsfa4b){width:100%;height:100%;display:block;position:absolute;inset:0}.cb-trace.svelte-1hsfa4b{opacity:0;stroke-dasharray:1200;stroke-dashoffset:1200px;animation:1.8s ease-out forwards svelte-1hsfa4b-cb-trace-draw;animation-delay:var(--trace-delay,0s)}.cb-trace--main.svelte-1hsfa4b{animation-name:svelte-1hsfa4b-cb-trace-draw-main}@keyframes svelte-1hsfa4b-cb-trace-draw{0%{opacity:0;stroke-dashoffset:1200px}8%{opacity:.15}to{opacity:.15;stroke-dashoffset:0}}@keyframes svelte-1hsfa4b-cb-trace-draw-main{0%{opacity:0;stroke-dashoffset:1200px}8%{opacity:.25}to{opacity:.25;stroke-dashoffset:0}}.cb-pad.svelte-1hsfa4b{opacity:0;animation:.5s ease-out forwards svelte-1hsfa4b-cb-pad-fade;animation-delay:var(--pad-delay,0s)}.cb-pad--hub.svelte-1hsfa4b{animation-name:svelte-1hsfa4b-cb-pad-fade-hub}@keyframes svelte-1hsfa4b-cb-pad-fade{0%{opacity:0}to{opacity:.35}}@keyframes svelte-1hsfa4b-cb-pad-fade-hub{0%{opacity:0}to{opacity:.55}}.cb-data-pulse.svelte-1hsfa4b{opacity:.85}.cb-data-pulse--dim.svelte-1hsfa4b{opacity:.45}.cb-hub-glow.svelte-1hsfa4b{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .1s ease-out, transform .1s var(--ease-emphasis,cubic-bezier(.34, 1.56, .64, 1));transform:scale(0)}.cb-hub-glow[data-energized=true]{opacity:.2;transition:opacity .8s ease-out, transform .8s var(--ease-emphasis,cubic-bezier(.34, 1.56, .64, 1));transform:scale(1.35)}.cb-pad--hub.svelte-1hsfa4b{transition:filter .2s ease-out,opacity .2s ease-out}.cb-pad--hub[data-energized=true]{filter:brightness(.4) saturate(1.5) drop-shadow(0 0 3px var(--circuit-color));opacity:.95}html.dark .cb-pad--hub[data-energized=true]{filter:drop-shadow(0 0 4px var(--circuit-color)) drop-shadow(0 0 10px var(--circuit-color));opacity:1}@media (prefers-reduced-motion:reduce){.cb-trace.svelte-1hsfa4b,.cb-pad.svelte-1hsfa4b,.cb-hub-glow.svelte-1hsfa4b{animation:none}.cb-trace.svelte-1hsfa4b{opacity:.15;stroke-dashoffset:0}.cb-trace--main.svelte-1hsfa4b{opacity:.25}.cb-pad.svelte-1hsfa4b{opacity:.35}.cb-pad--hub.svelte-1hsfa4b{opacity:.55}.cb-hub-glow.svelte-1hsfa4b{opacity:0;transform:none}.cb-data-pulse.svelte-1hsfa4b,.cb-pulse.svelte-1hsfa4b{display:none}}.hero.svelte-1q37ri0{min-height:85dvh;padding:var(--pad-xl) var(--pad-l);background:radial-gradient(ellipse 120% 80% at 50% -20%, color-mix(in srgb, var(--primary) 15%, transparent) 0%, transparent 50%), radial-gradient(ellipse 80% 60% at 80% 100%, color-mix(in srgb, var(--accent-purple) 10%, transparent) 0%, transparent 50%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-inner.svelte-1q37ri0{text-align:center;max-width:800px;position:relative}.hero-eyebrow.svelte-1q37ri0{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--fg-4);margin-bottom:var(--gap-s);font-size:.75rem}.hero-title.svelte-1q37ri0{font-family:var(--font-heading);margin:0 0 var(--gap-m);color:var(--fg);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(3rem,10vw,6rem);font-weight:800;line-height:.95}.hero-role.svelte-1q37ri0{color:var(--primary);margin:0 0 var(--gap-s);letter-spacing:-.01em;font-size:1.35rem;font-weight:600}.hero-tagline.svelte-1q37ri0{color:var(--fg-5);max-width:520px;margin:0 auto var(--gap-xl);font-size:1.15rem;line-height:1.6}.hero-accent.svelte-1q37ri0{color:var(--fg);font-weight:700}.hero-cta.svelte-1q37ri0{gap:var(--gap-m);flex-wrap:wrap;justify-content:center;display:flex}.hero-eyebrow.svelte-1q37ri0,.hero-title.svelte-1q37ri0,.hero-role.svelte-1q37ri0,.hero-tagline.svelte-1q37ri0,.hero-cta.svelte-1q37ri0{animation:svelte-1q37ri0-heroFadeIn .26s var(--ease-standard,cubic-bezier(.2, 0, 0, 1)) both}.hero-eyebrow.svelte-1q37ri0{animation-delay:0s}.hero-title.svelte-1q37ri0{animation-delay:80ms}.hero-role.svelte-1q37ri0{animation-delay:.16s}.hero-tagline.svelte-1q37ri0{animation-delay:.24s}.hero-cta.svelte-1q37ri0{animation-delay:.32s}@keyframes svelte-1q37ri0-heroFadeIn{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.hero-eyebrow.svelte-1q37ri0,.hero-title.svelte-1q37ri0,.hero-role.svelte-1q37ri0,.hero-tagline.svelte-1q37ri0,.hero-cta.svelte-1q37ri0{animation:none}}.skills-grid.svelte-1a80yqy{gap:var(--gap-l);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.skill-category.svelte-1a80yqy{padding:var(--pad-l);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);position:relative;overflow:hidden}.skill-category.svelte-1a80yqy:before{content:"";background:var(--card-accent);opacity:.6;height:3px;position:absolute;top:0;left:0;right:0}.skill-category[data-accent=orange].svelte-1a80yqy{--card-accent:var(--accent-orange)}.skill-category[data-accent=purple].svelte-1a80yqy{--card-accent:var(--accent-purple)}.skill-category[data-accent=blue].svelte-1a80yqy{--card-accent:var(--accent-blue)}.skill-category[data-accent=green].svelte-1a80yqy{--card-accent:var(--accent-green)}.skill-category[data-accent=cyan].svelte-1a80yqy{--card-accent:var(--accent-cyan)}.skill-category[data-accent=red].svelte-1a80yqy{--card-accent:var(--accent-red)}.category-title.svelte-1a80yqy{font-family:var(--font-heading);margin:0 0 var(--gap-m);color:var(--fg);letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.skill-chips.svelte-1a80yqy{gap:var(--gap-s);flex-wrap:wrap;display:flex}.skill-chip.svelte-1a80yqy{padding:var(--pad-xs) var(--pad-s);background:var(--surface-2);border:var(--border-1);border-radius:var(--br-s);color:var(--fg);transition:background var(--motion-duration-quick,.14s) var(--ease-standard,cubic-bezier(.2, 0, 0, 1)), border-color var(--motion-duration-quick,.14s) var(--ease-standard,cubic-bezier(.2, 0, 0, 1)), transform var(--motion-duration-quick,.14s) var(--ease-standard,cubic-bezier(.2, 0, 0, 1));align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.skill-chip.svelte-1a80yqy:hover{background:var(--fg-2);border-color:var(--card-accent);transform:translateY(-1px)}.skill-chip-icon.svelte-1a80yqy{object-fit:contain;flex-shrink:0;width:1rem;height:1rem}.skill-chip-dot.svelte-1a80yqy{background:var(--card-accent);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.skill-chip-name.svelte-1a80yqy{color:var(--fg-5)}html.dark .skill-chip-icon--invert.svelte-1a80yqy{filter:brightness(0)invert()}@media (prefers-reduced-motion:reduce){.skill-chip.svelte-1a80yqy{transition-duration:1ms}}.tools-grid.svelte-1am55q6{gap:var(--gap-l);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.tool-card.svelte-1am55q6{align-items:flex-start;gap:var(--gap-m);padding:var(--pad-l);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);color:inherit;transition:transform var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), box-shadow var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), border-color var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1));text-decoration:none;display:flex}.tool-card.svelte-1am55q6:hover{box-shadow:0 16px 32px -8px color-mix(in srgb, var(--fg) 18%, transparent);border-color:var(--primary-4);transform:translateY(-4px)}.tool-icon-wrap.svelte-1am55q6{background:var(--surface-2);border:var(--border-1);border-radius:var(--br-m);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.tool-icon.svelte-1am55q6{object-fit:contain;width:32px;height:32px}html.dark .tool-icon[src*="/zed.svg"].svelte-1am55q6,html.dark .tool-icon[src*="/ollama.svg"].svelte-1am55q6{filter:brightness(0)invert()}.tool-icon--png.svelte-1am55q6{width:36px;height:36px}.tool-info.svelte-1am55q6{flex-direction:column;gap:.25rem;min-width:0;display:flex}.tool-name.svelte-1am55q6{font-family:var(--font-heading);color:var(--fg);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.tool-description.svelte-1am55q6{color:var(--fg-5);margin:0;font-size:.8125rem;line-height:1.5}.tool-category.svelte-1am55q6{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-top:.25rem;font-size:.625rem;font-weight:600}.section-title.svelte-1nmp6pz{font-family:var(--font-heading);margin-bottom:var(--gap-s);color:var(--fg);letter-spacing:-.015em;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:var(--lh-s)}.section-title-muted.svelte-1nmp6pz{color:var(--fg-5);font-weight:400}.section-lead.svelte-1nmp6pz{color:var(--fg-5);max-width:560px;margin-bottom:var(--gap-xl);font-size:1.05rem;line-height:1.6}.about-section.svelte-1nmp6pz{padding:var(--pad-xxxl) var(--pad-l);border-top:var(--border-1);background:var(--bg)}.about-inner.svelte-1nmp6pz{gap:var(--gap-xl);grid-template-columns:200px 1fr;align-items:start;max-width:900px;margin:0 auto;display:grid}.about-visual.svelte-1nmp6pz{align-items:center;gap:var(--gap-m);flex-direction:column;display:flex}.about-avatar.svelte-1nmp6pz{object-fit:cover;border:4px solid var(--fg-3);background:var(--surface);border-radius:50%;width:160px;height:160px;transition:transform .3s,border-color .3s}.about-avatar.svelte-1nmp6pz:hover{border-color:var(--primary);transform:scale(1.03)}.about-badge.svelte-1nmp6pz{font-family:var(--font-mono);color:var(--fg-4);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.about-badge-dot.svelte-1nmp6pz{background:var(--accent-green);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;animation:2s ease-in-out infinite svelte-1nmp6pz-pulse}@keyframes svelte-1nmp6pz-pulse{0%,to{opacity:1}50%{opacity:.5}}.about-content.svelte-1nmp6pz{gap:var(--gap-m);flex-direction:column;display:flex}.about-text.svelte-1nmp6pz{color:var(--fg-5);margin:0;font-size:1rem;line-height:1.7}.about-social.svelte-1nmp6pz{gap:var(--gap-m);margin-top:var(--gap-s);flex-wrap:wrap;display:flex}.about-social-link.svelte-1nmp6pz{font-family:var(--font-mono);color:var(--primary);padding:var(--pad-xs) var(--pad-s);border-radius:var(--br-s);border:1px solid var(--primary-3);font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s}.about-social-link.svelte-1nmp6pz:hover{background:var(--primary);color:var(--bg);border-color:var(--primary)}.skills-section.svelte-1nmp6pz{padding:var(--pad-xxxl) var(--pad-l);border-top:var(--border-1);background:var(--surface)}.skills-inner.svelte-1nmp6pz{max-width:900px;margin:0 auto}.tools-section.svelte-1nmp6pz{padding:var(--pad-xxxl) var(--pad-l);border-top:var(--border-1);background:var(--bg)}.tools-inner.svelte-1nmp6pz{max-width:900px;margin:0 auto}.cta-section.svelte-1nmp6pz{padding:var(--pad-xxxl) var(--pad-l);border-top:var(--border-1);border-bottom:var(--border-1);text-align:center;background:linear-gradient(160deg, color-mix(in srgb, var(--primary) 6%, var(--surface)) 0%, var(--surface) 60%)}.cta-inner.svelte-1nmp6pz{max-width:600px;margin:0 auto}.cta-title.svelte-1nmp6pz{font-family:var(--font-heading);margin-bottom:var(--gap-m);letter-spacing:-.02em;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;line-height:var(--lh-s)}.cta-lead.svelte-1nmp6pz{color:var(--fg-5);margin-bottom:var(--gap-xl);font-size:1.1rem;line-height:1.6}.cta-actions.svelte-1nmp6pz{gap:var(--gap-m);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=640px){.about-inner.svelte-1nmp6pz{text-align:center;grid-template-columns:1fr}.about-visual.svelte-1nmp6pz{order:-1}.about-social.svelte-1nmp6pz{justify-content:center}}.career-timeline.svelte-1dfw2q7{max-width:1100px;margin:0 auto;position:relative}.career-timeline-line.svelte-1dfw2q7{background:linear-gradient(to bottom, var(--primary) 0%, var(--fg-3) 100%);border-radius:9999px;width:3px;position:absolute;top:0;bottom:0;left:.625rem}.career-timeline-item.svelte-1dfw2q7{padding-left:1.75rem;padding-bottom:var(--gap-l);opacity:0;animation:svelte-1dfw2q7-timelineFadeIn .26s var(--ease-standard,cubic-bezier(.2, 0, 0, 1)) forwards;animation-delay:calc(var(--item-index,0) * 80ms);position:relative}@keyframes svelte-1dfw2q7-timelineFadeIn{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.career-timeline-item.svelte-1dfw2q7{opacity:1;animation:none}}.career-timeline-header.svelte-1dfw2q7{all:unset;cursor:pointer;gap:var(--gap-m);width:100%;padding:var(--pad-m) 0;border-radius:var(--br-s);align-items:start;transition:background .2s;display:flex}.career-timeline-header.svelte-1dfw2q7:hover{background:var(--surface)}.career-timeline-dot.svelte-1dfw2q7{background:var(--primary);width:.625rem;height:.625rem;box-shadow:0 0 0 4px var(--bg), 0 0 0 6px var(--primary), 0 0 20px -2px color-mix(in srgb, var(--primary) 40%, transparent);z-index:1;border-radius:50%;position:absolute;top:1.25rem;left:.4375rem}.career-timeline-meta.svelte-1dfw2q7{flex-direction:column;gap:.125rem;min-width:max-content;display:flex}.career-timeline-date.svelte-1dfw2q7{color:var(--fg-5);font-size:.8125rem;font-family:var(--font-mono);align-items:center;gap:.375rem;display:flex}.career-timeline-duration.svelte-1dfw2q7{color:var(--fg-4);font-variant-numeric:tabular-nums;font-size:.75rem;font-family:var(--font-mono)}.career-timeline-logo.svelte-1dfw2q7{object-fit:contain;border-radius:var(--br-s);background:var(--surface);border:var(--border-1);flex-shrink:0;width:2.5rem;height:2.5rem;margin-top:.125rem}.career-timeline-title-block.svelte-1dfw2q7{text-align:left;flex:1;min-width:0}.career-timeline-role.svelte-1dfw2q7{font-family:var(--font-heading);color:var(--fg);letter-spacing:-.01em;margin:0 0 .125rem;font-size:1.05rem;font-weight:700}.career-timeline-company.svelte-1dfw2q7{color:var(--fg-5);margin:0;font-size:.875rem}.career-timeline-chevron.svelte-1dfw2q7{color:var(--fg-4);margin-top:.25rem}.career-timeline-body.svelte-1dfw2q7{padding:var(--pad-m) var(--pad-m) var(--pad-l) 0;animation:.3s svelte-1dfw2q7-fadeIn}.career-timeline-description.svelte-1dfw2q7{color:var(--fg-5);margin:0 0 var(--gap-m);font-size:.9375rem;line-height:1.6}.career-timeline-highlights.svelte-1dfw2q7{gap:var(--gap-s);margin:0;padding:0;list-style:none;display:grid}.career-timeline-highlights.svelte-1dfw2q7 li:where(.svelte-1dfw2q7){color:var(--fg);padding-left:1.25rem;font-size:.875rem;line-height:1.5;position:relative}.career-timeline-highlights.svelte-1dfw2q7 li:where(.svelte-1dfw2q7):before{content:"→";color:var(--primary);font-weight:700;position:absolute;left:0}@keyframes svelte-1dfw2q7-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.career-timeline-line.svelte-1dfw2q7{left:.375rem}.career-timeline-item.svelte-1dfw2q7{padding-left:1.25rem}.career-timeline-dot.svelte-1dfw2q7{left:.1875rem}.career-timeline-header.svelte-1dfw2q7{gap:var(--gap-s);grid-template-columns:auto 1fr auto;display:grid}.career-timeline-meta.svelte-1dfw2q7{gap:var(--gap-m);flex-direction:row;grid-column:1/-1;align-items:center}.career-timeline-logo.svelte-1dfw2q7{grid-column:1;width:2rem;height:2rem;margin-top:0}.career-timeline-title-block.svelte-1dfw2q7{flex:unset;min-width:unset;grid-column:2}.career-timeline-chevron.svelte-1dfw2q7{grid-column:3;margin-top:0}}.cert-section.svelte-k50g5m{margin-bottom:var(--gap-xl)}.cert-section-title.svelte-k50g5m{font-family:var(--font-heading);align-items:center;gap:var(--gap-s);margin-bottom:var(--gap-m);letter-spacing:-.01em;font-size:1.25rem;font-weight:700;display:flex}.cert-count.svelte-k50g5m{background:var(--surface);min-width:1.75rem;height:1.75rem;color:var(--fg-5);border:var(--border-1);border-radius:9999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.cert-grid.svelte-k50g5m{gap:var(--gap-l);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.cert-grid--expired.svelte-k50g5m{margin-top:var(--gap-l)}.cert-card.svelte-k50g5m{gap:var(--gap-m);padding:var(--pad-l);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), box-shadow var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1));flex-direction:column;display:flex}.cert-card.svelte-k50g5m:hover{box-shadow:0 16px 32px -8px color-mix(in srgb, var(--fg) 18%, transparent);transform:translateY(-3px)}.cert-card--active.svelte-k50g5m{border:1px solid color-mix(in srgb, var(--primary) 40%, var(--fg-3));box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 15%, transparent), var(--shadow-1)}.cert-card--expired.svelte-k50g5m{opacity:.7;filter:grayscale(.4)}.cert-image-wrap.svelte-k50g5m{aspect-ratio:1;background:var(--surface-2);border:var(--border-1);border-radius:var(--br-s);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.cert-image-wrap.svelte-k50g5m img:where(.svelte-k50g5m){object-fit:contain;width:80%;height:80%}.cert-info.svelte-k50g5m{flex-direction:column;gap:.25rem;display:flex}.cert-org.svelte-k50g5m{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.625rem;font-weight:700}.cert-org[data-org=aws].svelte-k50g5m{color:var(--accent-orange)}.cert-org[data-org=azure].svelte-k50g5m{color:var(--accent-blue)}.cert-org[data-org=hashicorp].svelte-k50g5m{color:var(--accent-purple)}.cert-org[data-org=other].svelte-k50g5m{color:var(--fg-5)}.cert-name.svelte-k50g5m{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:.9375rem;font-weight:700;line-height:1.3}.cert-expiry.svelte-k50g5m{color:var(--fg-4);font-size:.75rem;font-family:var(--font-mono)}.cert-toggle.svelte-k50g5m{all:unset;cursor:pointer;align-items:center;gap:var(--gap-s);font-family:var(--font-heading);padding:var(--pad-m) var(--pad-l);background:var(--surface);border:var(--border-1);border-radius:var(--br-s);width:100%;box-shadow:var(--shadow-1);font-size:1.25rem;font-weight:700;transition:background .2s,box-shadow .2s;display:flex}.cert-toggle.svelte-k50g5m:hover{background:var(--surface-2);box-shadow:var(--shadow-2)}.cert-toggle-arrow.svelte-k50g5m{color:var(--fg-5);margin-left:auto;transition:transform .2s}.cert-toggle-arrow.open.svelte-k50g5m{transform:rotate(180deg)}.cert-footer.svelte-k50g5m{text-align:center;margin-top:var(--gap-xl);padding:var(--pad-l);background:var(--surface);border:var(--border-1);border-radius:var(--br-s);box-shadow:var(--shadow-1)}.credly-link.svelte-k50g5m{color:var(--fg-5);font-size:.9375rem;text-decoration:none;transition:color .2s}.credly-link.svelte-k50g5m:hover{color:var(--primary)}@media (width<=480px){.cert-grid.svelte-k50g5m{grid-template-columns:repeat(2,1fr)}}.project-card.svelte-oviq8z{padding:var(--pad-l);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), box-shadow var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), border-color var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1));gap:var(--gap-m);flex-direction:column;height:100%;display:flex}.project-card.svelte-oviq8z:hover{box-shadow:0 20px 40px -12px color-mix(in srgb, var(--fg) 20%, transparent), 0 0 0 1px color-mix(in srgb, var(--primary) 25%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, var(--fg-3));transform:translateY(-5px)}.project-header.svelte-oviq8z{justify-content:space-between;align-items:flex-start;gap:var(--gap-m);display:flex}.project-title.svelte-oviq8z{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.2}.project-links.svelte-oviq8z{gap:var(--gap-s);flex-shrink:0;display:flex}.project-link.svelte-oviq8z{border-radius:var(--br-s);width:2rem;height:2rem;color:var(--fg-5);border:var(--border-1);background:var(--surface-2);justify-content:center;align-items:center;text-decoration:none;transition:background .2s,color .2s;display:flex}.project-link.svelte-oviq8z:hover{background:var(--fg-2);color:var(--primary)}.project-description.svelte-oviq8z{color:var(--fg-5);flex-grow:1;margin:0;font-size:.9375rem;line-height:1.6}.project-tags.svelte-oviq8z{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.project-tag.svelte-oviq8z{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--br-xs);background:var(--surface-2);color:var(--fg-5);border:var(--border-1);padding:.25rem .5rem;font-size:.625rem;font-weight:600}.project-grid.svelte-nz99jg{gap:var(--gap-l);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-width:900px;margin:0 auto;display:grid}.speaking-grid.svelte-evmakc{gap:var(--gap-xl);display:grid}.speaking-card.svelte-evmakc{gap:var(--gap-l);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), box-shadow var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1));opacity:0;grid-template-columns:1fr;animation:.5s cubic-bezier(.2,0,0,1) forwards svelte-evmakc-speak-slide-in;display:grid;overflow:hidden}.speaking-card.svelte-evmakc:first-child{animation-delay:0s}.speaking-card.svelte-evmakc:nth-child(2){animation-delay:.12s}.speaking-card.svelte-evmakc:nth-child(3){animation-delay:.24s}.speaking-card.svelte-evmakc:nth-child(4){animation-delay:.36s}@keyframes svelte-evmakc-speak-slide-in{0%{opacity:0;translate:-50px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.speaking-card.svelte-evmakc{opacity:1;animation:none}}.speaking-card.svelte-evmakc:hover{box-shadow:0 16px 32px -8px color-mix(in srgb, var(--fg) 18%, transparent);transform:translateY(-2px)}@media (width>=768px){.speaking-card.svelte-evmakc{grid-template-columns:320px 1fr}}.speaking-image.svelte-evmakc{aspect-ratio:16/10;background:var(--surface-2);border:var(--border-1);border-radius:var(--br-s);margin:var(--pad-m);position:relative;overflow:hidden}@media (width>=768px){.speaking-image.svelte-evmakc{aspect-ratio:auto;min-height:100%}}.speaking-image.svelte-evmakc img:where(.svelte-evmakc){object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease-standard,cubic-bezier(.2,0,0,1))}.speaking-card.svelte-evmakc:hover .speaking-image:where(.svelte-evmakc) img:where(.svelte-evmakc){transform:scale(1.03)}.speaking-image--placeholder.svelte-evmakc{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, var(--surface-2)) 0%, var(--surface-2) 100%);justify-content:center;align-items:center;display:flex}.speaking-card.no-image.svelte-evmakc{grid-template-columns:1fr}@media (width>=768px){.speaking-card.no-image.svelte-evmakc{grid-template-columns:160px 1fr}}.speaking-badge.svelte-evmakc{top:var(--gap-m);left:var(--gap-m);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--br-s);background:var(--bg);color:var(--primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:var(--border-1);padding:.375rem .75rem;font-size:.625rem;font-weight:700;position:absolute}.speaking-body.svelte-evmakc{padding:var(--pad-l);gap:var(--gap-s);flex-direction:column;display:flex}.speaking-meta.svelte-evmakc{gap:var(--gap-m);margin-bottom:var(--gap-xs);flex-wrap:wrap;display:flex}.speaking-meta-item.svelte-evmakc{color:var(--fg-4);font-size:.8125rem;font-family:var(--font-mono);align-items:center;gap:.375rem;display:flex}.speaking-title.svelte-evmakc{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.speaking-event.svelte-evmakc{color:var(--primary);margin:0;font-size:.9375rem;font-weight:600}.speaking-description.svelte-evmakc{color:var(--fg-5);margin:var(--gap-s) 0 0;font-size:.9375rem;line-height:1.6}.blog-card.svelte-yt2448{padding:var(--pad-l);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), box-shadow var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), border-color var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1))}.blog-card.svelte-yt2448:hover{box-shadow:0 16px 32px -8px color-mix(in srgb, var(--fg) 18%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, var(--fg-3));transform:translateY(-4px)}.blog-card-link.svelte-yt2448{gap:var(--gap-s);color:inherit;flex-direction:column;text-decoration:none;display:flex}.blog-card-meta.svelte-yt2448{align-items:center;gap:var(--gap-m);color:var(--fg-4);font-size:.8125rem;font-family:var(--font-mono);display:flex}.blog-card-reading.svelte-yt2448{font-variant-numeric:tabular-nums}.blog-card-reading.svelte-yt2448:before{content:"·";margin-right:var(--gap-m)}.blog-card-title.svelte-yt2448{font-family:var(--font-heading);color:var(--fg);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.blog-card-description.svelte-yt2448{color:var(--fg-5);margin:0;font-size:.9375rem;line-height:1.5}.blog-card-tags.svelte-yt2448{margin-top:var(--gap-xs);flex-wrap:wrap;gap:.5rem;display:flex}.blog-card-tag.svelte-yt2448{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--br-xs);background:var(--surface-2);color:var(--fg-5);border:var(--border-1);padding:.25rem .5rem;font-size:.625rem;font-weight:600}.blog-grid.svelte-1th3j82{gap:var(--gap-l);max-width:800px;margin:0 auto;display:grid}.blog-empty.svelte-1th3j82{padding:var(--pad-xl);text-align:center;color:var(--fg-4)}.post.svelte-xgi2yv{max-width:720px;margin:0 auto}.post-header.svelte-xgi2yv{padding-bottom:var(--gap-xl);margin-bottom:var(--gap-xl);border-bottom:var(--border-1)}.post-meta.svelte-xgi2yv{align-items:center;gap:var(--gap-m);color:var(--fg-4);margin-bottom:var(--gap-m);font-size:.875rem;display:flex}.post-reading.svelte-xgi2yv:before{content:"·";margin-right:var(--gap-m)}.post-title.svelte-xgi2yv{font-family:var(--font-heading);margin:0 0 var(--gap-m);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;line-height:1.15}.post-description.svelte-xgi2yv{color:var(--fg-5);margin:0 0 var(--gap-m);font-size:1.1rem;line-height:1.6}.post-tags.svelte-xgi2yv{flex-wrap:wrap;gap:.5rem;display:flex}.post-tag.svelte-xgi2yv{letter-spacing:.04em;text-transform:uppercase;background:var(--fg-2);color:var(--fg-5);border-radius:9999px;padding:.25rem .75rem;font-size:.6875rem;font-weight:600}.post-body.svelte-xgi2yv{color:var(--fg-5);font-size:1.05rem;line-height:1.75}.post-body.svelte-xgi2yv h2{font-family:var(--font-heading);margin:var(--gap-xl) 0 var(--gap-m);color:var(--fg);font-size:1.5rem;font-weight:600;line-height:1.3}.post-body.svelte-xgi2yv h3{font-family:var(--font-heading);margin:var(--gap-l) 0 var(--gap-s);color:var(--fg);font-size:1.25rem;font-weight:600}.post-body.svelte-xgi2yv p{margin:0 0 var(--gap-m)}.post-body.svelte-xgi2yv a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 40%, transparent);text-underline-offset:3px}.post-body.svelte-xgi2yv a:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.post-body.svelte-xgi2yv ul,.post-body.svelte-xgi2yv ol{margin:0 0 var(--gap-m);padding-left:1.5rem}.post-body.svelte-xgi2yv li{margin-bottom:var(--gap-xs)}.post-body.svelte-xgi2yv blockquote{margin:0 0 var(--gap-m);padding:var(--pad-m) var(--pad-l);border-left:3px solid var(--primary);background:var(--fg-2);border-radius:0 var(--br-s) var(--br-s) 0;font-style:italic}.post-body.svelte-xgi2yv blockquote p{margin:0}.post-body.svelte-xgi2yv pre{margin:0 0 var(--gap-m);padding:var(--pad-l);background:var(--bg-2);border-radius:var(--br-s);font-family:var(--font-mono);font-size:.875rem;line-height:1.6;overflow-x:auto}.post-body.svelte-xgi2yv code:not(pre code){font-family:var(--font-mono);background:var(--fg-2);color:var(--fg);border-radius:4px;padding:.125rem .375rem;font-size:.875em}.post-body.svelte-xgi2yv hr{margin:var(--gap-xl) 0;border:none;border-top:var(--border-1)}.post-body.svelte-xgi2yv img{border-radius:var(--br-s);margin:var(--gap-m) 0}.not-found.svelte-1h4jfc7{min-height:80dvh;padding:var(--pad-xl) var(--pad-l);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.not-found.svelte-1h4jfc7:before{content:"";background:radial-gradient(ellipse 60% 40% at 50% 50%, color-mix(in srgb, var(--primary) 6%, transparent), transparent);pointer-events:none;position:absolute;inset:0}.not-found-inner.svelte-1h4jfc7{text-align:center;max-width:560px;position:relative}.glitch.svelte-1h4jfc7{margin-bottom:var(--gap-l);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;font-weight:700;line-height:1;display:flex}.glitch-digit.svelte-1h4jfc7{color:var(--fg);font-size:clamp(4rem,12vw,8rem);position:relative}.glitch-zero.svelte-1h4jfc7{color:var(--primary);animation:3s ease-in-out infinite svelte-1h4jfc7-glitchPulse}.glitch-zero.svelte-1h4jfc7:before,.glitch-zero.svelte-1h4jfc7:after{content:"0";opacity:0;width:100%;height:100%;position:absolute;top:0;left:0}.glitch-zero.svelte-1h4jfc7:before{color:var(--accent-red);clip-path:polygon(0 0,100% 0,100% 35%,0 35%);animation:4s infinite svelte-1h4jfc7-glitchRed}.glitch-zero.svelte-1h4jfc7:after{color:var(--accent-cyan);clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%);animation:5s infinite svelte-1h4jfc7-glitchCyan}@keyframes svelte-1h4jfc7-glitchPulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes svelte-1h4jfc7-glitchRed{0%,90%,to{opacity:0;transform:translate(0)}92%{opacity:.6;transform:translate(-4px,1px)}94%{opacity:0;transform:translate(0)}96%{opacity:.4;transform:translate(3px,-1px)}}@keyframes svelte-1h4jfc7-glitchCyan{0%,85%,to{opacity:0;transform:translate(0)}87%{opacity:.5;transform:translate(3px,-2px)}89%{opacity:0;transform:translate(0)}93%{opacity:.3;transform:translate(-2px,1px)}}.not-found-title.svelte-1h4jfc7{font-family:var(--font-heading);margin-bottom:var(--gap-s);color:var(--fg);font-size:1.5rem;font-weight:600}.not-found-lead.svelte-1h4jfc7{color:var(--fg-5);margin-bottom:var(--gap-xl);font-size:1rem;line-height:1.6}.not-found-actions.svelte-1h4jfc7{gap:var(--gap-m);flex-wrap:wrap;justify-content:center;display:flex}.action-btn.svelte-1h4jfc7{align-items:center;gap:var(--gap-xs);padding:var(--pad-s) var(--pad-l);border-radius:var(--br-s);color:var(--fg-5);border:var(--border-1);font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.action-btn.svelte-1h4jfc7:hover{background:var(--fg-2);color:var(--fg)}.action-btn--primary.svelte-1h4jfc7{background:var(--primary);color:var(--bg);border-color:var(--primary)}.action-btn--primary.svelte-1h4jfc7:hover{background:var(--primary-7);border-color:var(--primary-7);color:var(--bg)}.contact-grid.svelte-e9x25m{max-width:900px;margin:0 auto var(--gap-xl);justify-content:center;gap:var(--gap-xl);display:flex}.contact-card.svelte-e9x25m{border:var(--border-1);border-radius:var(--br-s);background:var(--surface);width:64px;height:64px;color:var(--fg);transition:transform var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), box-shadow var(--motion-duration-normal,.22s) var(--ease-standard,cubic-bezier(.2,0,0,1)), border-color .2s;opacity:0;justify-content:center;align-items:center;text-decoration:none;animation:.5s cubic-bezier(.2,0,0,1) forwards svelte-e9x25m-contact-slide-in;display:flex}.contact-card.svelte-e9x25m:first-child{animation-delay:0s}.contact-card.svelte-e9x25m:nth-child(2){animation-delay:.1s}.contact-card.svelte-e9x25m:nth-child(3){animation-delay:.2s}.contact-card.svelte-e9x25m:hover{box-shadow:0 16px 32px -8px color-mix(in srgb, var(--fg) 18%, transparent);border-color:var(--primary-3);color:var(--primary);transform:translateY(-2px)}@keyframes svelte-e9x25m-contact-slide-in{0%{opacity:0;translate:-60px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.contact-card.svelte-e9x25m{opacity:1;animation:none}}.contact-icon.svelte-e9x25m{flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-icon.svelte-e9x25m svg{width:28px;height:28px}.contact-icon.svelte-e9x25m img:where(.svelte-e9x25m){width:28px;height:28px;filter:var(--icon-filter)}.form-wrapper.svelte-e9x25m{max-width:560px;margin:0 auto}.contact-form.svelte-e9x25m{gap:var(--gap-l);flex-direction:column;display:flex}.hp-field.svelte-e9x25m{opacity:0;pointer-events:none;position:absolute;left:-9999px}.field-group.svelte-e9x25m{gap:var(--gap-xs);flex-direction:column;display:flex}.field-group.svelte-e9x25m label:where(.svelte-e9x25m){color:var(--fg-5);font-size:.875rem;font-weight:600}.field-group.svelte-e9x25m input:where(.svelte-e9x25m),.field-group.svelte-e9x25m textarea:where(.svelte-e9x25m){padding:var(--pad-m);border:var(--border-1);border-radius:var(--br-s);background:var(--surface);color:var(--fg);font-family:var(--font-body);resize:vertical;font-size:.9375rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.field-group.svelte-e9x25m input:where(.svelte-e9x25m)::placeholder,.field-group.svelte-e9x25m textarea:where(.svelte-e9x25m)::placeholder{color:var(--fg-4)}.field-group.svelte-e9x25m input:where(.svelte-e9x25m):focus,.field-group.svelte-e9x25m textarea:where(.svelte-e9x25m):focus{border-color:var(--primary-3);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent);outline:none}.field-group.svelte-e9x25m input:where(.svelte-e9x25m):disabled,.field-group.svelte-e9x25m textarea:where(.svelte-e9x25m):disabled{opacity:.6;cursor:not-allowed}.char-count.svelte-e9x25m{color:var(--fg-4);text-align:right;font-size:.75rem;font-family:var(--font-mono)}.char-count.near-limit.svelte-e9x25m{color:var(--error,oklch(55% .2 25))}.form-error.svelte-e9x25m{align-items:center;gap:var(--gap-s);padding:var(--pad-m);border:1px solid color-mix(in srgb, var(--error,oklch(55% .2 25)) 30%, transparent);border-radius:var(--br-s);background:color-mix(in srgb, var(--error,oklch(55% .2 25)) 8%, transparent);color:var(--error,oklch(55% .2 25));font-size:.875rem;display:flex}.form-success.svelte-e9x25m{align-items:center;gap:var(--gap-m);padding:var(--pad-xl);text-align:center;border:var(--border-1);border-radius:var(--br-s);background:var(--surface);color:var(--fg);flex-direction:column;display:flex}.form-success.svelte-e9x25m svg{color:var(--success,oklch(55% .15 145))}.form-success.svelte-e9x25m h2:where(.svelte-e9x25m){font-family:var(--font-heading);margin:0;font-size:1.5rem}.form-success.svelte-e9x25m p:where(.svelte-e9x25m){color:var(--fg-5);max-width:40ch;margin:0}
