@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_a92d2e80-module__sIbvga__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_a92d2e80-module__sIbvga__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_3497e030-module__YFThRq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_3497e030-module__YFThRq__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#0b0b0b;--surface:#141414;--surface2:#1c1c1c;--border:#2a2a2a;--border2:#333;--text:#f0ede8;--text-muted:#888480;--text-faint:#4a4744;--accent:#c8bfb0;--accent-dim:#6b6259;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--space-2xl:8rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:3rem;--text-4xl:4.5rem;--text-5xl:7rem;--ease:cubic-bezier(.25, .1, .25, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--duration-fast:.15s;--duration-base:.3s;--duration-slow:.6s;--duration-xslow:1s;--g-250:#fafafa;--g-240:#f0f0f0;--g-220:#dcdcdc;--g-200:#c8c8c8;--g-180:#b4b4b4;--g-160:#a0a0a0;--g-140:#8c8c8c;--g-120:#787878;--g-100:#646464;--g-80:#505050;--g-60:#3c3c3c;--g-50:#323232;--verdict-ok:#2b7a57;--verdict-req:#c4321a;--verdict-warn:#8a5a00;--font-sans:var(--font-inter), system-ui, sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, monospace}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--g-240);color:var(--g-50);font-family:var(--font-sans);font-weight:300;font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}ul,ol{list-style:none}
.glass,.tool-dock__handle,.tool-dock__panel,.tool-glass{isolation:isolate;-webkit-backdrop-filter:blur(24px)saturate(1.8);backdrop-filter:blur(24px)saturate(1.8);background:linear-gradient(#ffffff80 0%,#ffffff38 45%,#ffffff4d 100%),#f0f0f04d;border:0;position:relative;box-shadow:0 1px 1px #00000014,0 14px 36px #0000002e,0 1px #ffffffe6,inset 0 2px 6px #ffffffd9,inset 0 1px #fffffff2,inset 0 -4px 10px #00000012,inset 0 -1px #00000014}.glass:before,.tool-dock__handle:before,.tool-dock__panel:before,.tool-glass:before{content:"";border-radius:inherit;-webkit-backdrop-filter:blur(2px)brightness(1.18)saturate(1.6)contrast(1.05);backdrop-filter:blur(2px)brightness(1.18)saturate(1.6)contrast(1.05);-webkit-mask-composite:xor;pointer-events:none;z-index:1;background:linear-gradient(#fffffff2 0%,#ffffff59 30%,#ffffff1a 50%,#0000000a 75%,#0000001f 100%);padding:2.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass:after,.tool-dock__handle:after,.tool-dock__panel:after,.tool-glass:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(140% 60% at 50% 0,#ffffff80,#fff0 60%);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff59,inset 0 0 14px #ffffff38}.glass>*,.tool-dock__handle>*,.tool-dock__panel>*,.tool-glass>*{z-index:2;position:relative}
.prose{max-width:40rem;margin:0 auto;padding:10vh 1.5rem 6rem}.prose h1{letter-spacing:.02em;margin:0 0 1.5rem;font-size:1.5rem}.prose h2{margin:2.5rem 0 .75rem;font-size:.95rem;font-weight:500}.prose p{color:var(--g-100);margin:0 0 1rem;line-height:1.7}.prose p.prose__lead{color:var(--g-50)}.prose ul{margin:0 0 1rem}.prose li{color:var(--g-100);margin:0 0 .6rem;padding-left:1rem;line-height:1.7;position:relative}.prose li:before{content:"";background:var(--g-160);width:5px;height:1px;position:absolute;top:.85em;left:0}.prose a{border-bottom:1px solid var(--g-160);padding-bottom:1px}.prose a:hover{border-bottom-color:var(--g-50)}.prose p.prose__note{color:var(--g-140);margin-top:3rem;font-size:.8rem}.prose .feedback{margin:2.5rem 0 1rem}.feedback form{gap:1rem;display:grid}.feedback label{color:var(--g-80);gap:.35rem;font-size:.85rem;font-weight:400;display:grid}.feedback__opt{color:var(--g-140);font-weight:300}.feedback input,.feedback select,.feedback textarea{width:100%;font:inherit;color:var(--g-50);background:var(--g-250);border:1px solid var(--g-200);border-radius:0;padding:.5rem .6rem;font-size:.95rem}.feedback textarea{resize:vertical;min-height:8rem;line-height:1.6}.feedback input:focus-visible,.feedback select:focus-visible,.feedback textarea:focus-visible{border-color:var(--g-50);outline:none}.feedback button{background:var(--g-50);color:var(--g-250);justify-self:start;min-width:7.5rem;padding:.55rem 1.5rem;font-size:.9rem;font-weight:400}.feedback button:disabled{opacity:.5;cursor:default}.feedback button:focus-visible{outline:2px solid var(--g-50);outline-offset:2px}.feedback__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.feedback__check:empty{display:none}.prose .feedback__note{color:var(--g-120);margin:0;font-size:.8rem}@media print{.feedback{display:none}}
.site-foot{border-top:1px solid var(--g-220)}.site-foot nav{color:var(--g-100);flex-wrap:wrap;gap:.5rem 1.5rem;padding:1.5rem;font-size:.8rem;display:flex}.site-foot a:hover,.site-foot a:focus-visible{color:var(--g-50)}@media print{.site-foot{display:none}}
.toaster{z-index:100;pointer-events:none;justify-items:center;gap:.5rem;width:min(28rem,100vw - 2rem);display:grid;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;max-width:100%;color:var(--g-50);font-family:var(--font-sans);animation:toast-in .32s var(--ease-out) both;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:start;gap:.6rem;padding:.7rem .6rem .7rem 1rem;display:grid}.toast[data-leaving]{animation:toast-out .18s var(--ease-in) both}.toast--ok{--toast-mark:var(--verdict-ok)}.toast--no{--toast-mark:var(--verdict-req)}.toast--note{--toast-mark:var(--g-80)}.toast__mark{color:var(--toast-mark);margin-top:.12rem;font-size:1.1rem}.toast__text{min-width:0}.toast__title{margin:0;font-size:.9rem;font-weight:500;line-height:1.45}.toast__body{color:var(--g-100);margin:.1rem 0 0;font-size:.84rem;font-weight:400;line-height:1.5}.toast__close{width:1.75rem;height:1.75rem;color:var(--g-120);transition:color .15s var(--ease), background-color .15s var(--ease);border-radius:999px;place-items:center;font-size:.95rem;display:grid}.toast__close:hover,.toast__close:focus-visible{color:var(--g-50);background:#ffffff8c}.toast__close:focus-visible{outline:1px solid var(--g-50);outline-offset:1px}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.96)}70%{opacity:1;transform:translateY(2px)scale(1.005)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px)scale(.97)}}@keyframes toast-fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.toast{animation-name:toast-fade-in}.toast[data-leaving]{animation-name:toast-fade-out}}@media print{.toaster{display:none}}
