@font-face{font-family:Crimson Pro;font-style:italic;font-weight:400;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.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:Crimson Pro;font-style:italic;font-weight:400;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.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:Crimson Pro;font-style:italic;font-weight:400;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.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:Crimson Pro;font-style:italic;font-weight:500;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.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:Crimson Pro;font-style:italic;font-weight:500;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.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:Crimson Pro;font-style:italic;font-weight:500;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.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:Crimson Pro;font-style:italic;font-weight:600;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.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:Crimson Pro;font-style:italic;font-weight:600;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.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:Crimson Pro;font-style:italic;font-weight:600;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.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:Crimson Pro;font-style:italic;font-weight:700;font-display:swap;src:url(../media/d4cfff78d70c32f1-s.0.f_03yjeizj3.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:Crimson Pro;font-style:italic;font-weight:700;font-display:swap;src:url(../media/edd49e6a728081e1-s.0nec83w9a499y.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:Crimson Pro;font-style:italic;font-weight:700;font-display:swap;src:url(../media/a41eab1df8ed80c4-s.p.05m5kcrbsr6xs.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:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.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:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.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:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.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:Crimson Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.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:Crimson Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.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:Crimson Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.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:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.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:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.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:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.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:Crimson Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bbe2082c2ebf69de-s.0tj914n-9wmjl.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:Crimson Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9ae69ccf0a67f3e4-s.07rqilbxje11w.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:Crimson Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/115e7a2565b70400-s.p.0ldth1faq2ch-.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:Crimson Pro Fallback;src:local(Times New Roman);ascent-override:90.96%;descent-override:21.8%;line-gap-override:0.0%;size-adjust:98.56%}.crimson_pro_4dc13d27-module__aba-5a__className{font-family:Crimson Pro,Crimson Pro Fallback}.crimson_pro_4dc13d27-module__aba-5a__variable{--font-crimson:"Crimson Pro", "Crimson Pro Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_e716ad94-module__6aGnIq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_e716ad94-module__6aGnIq__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, serif;--font-mono:ui-monospace, monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#f6efde;--color-paper-dark:#ede2c8;--color-ink:#1c1410;--color-ink-soft:#3a2c22;--color-ink-faint:#7a6c5e;--color-rule:#d4c5a3;--color-rule-soft:#e2d6b8;--color-stamp:#b22222;--color-stamp-soft:#c94a4a}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.italic{font-style:italic}}:root{--font-serif:var(--font-crimson), Georgia, "Times New Roman", serif;--font-mono:var(--font-jetbrains), ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--grain-opacity:1;--vignette:#78501e0f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#1a1410;--color-paper-dark:#251c16;--color-ink:#f0e5cb;--color-ink-soft:#c7b894;--color-ink-faint:#7a6c52;--color-rule:#3d2f22;--color-rule-soft:#2c2118;--color-stamp:#e85a4f;--color-stamp-soft:#c94a4a;--vignette:#00000059}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#1a1410;--color-paper-dark:#251c16;--color-ink:#f0e5cb;--color-ink-soft:#c7b894;--color-ink-faint:#7a6c52;--color-rule:#3d2f22;--color-rule-soft:#2c2118;--color-stamp:#e85a4f;--color-stamp-soft:#c94a4a;--vignette:#00000059}html,body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-serif);font-feature-settings:"kern", "liga", "onum";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background-image:radial-gradient(80% 50% at 50% 0,#dcbe821f,#0000 60%),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.32 0 0 0 0 0.18 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:relative}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:radial-gradient(80% 50% at 50% 0,#dca05a0f,#0000 60%),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.85 0 0 0 0 0.6 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}}[data-theme=dark] body{background-image:radial-gradient(80% 50% at 50% 0,#dca05a0f,#0000 60%),url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.85 0 0 0 0 0.6 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body:before{content:"";pointer-events:none;background:radial-gradient(ellipse 100% 100% at 50% 50%, transparent 50%, var(--vignette) 100%);z-index:0;position:fixed;inset:0}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.smallcaps{letter-spacing:.08em;font-variant-caps:small-caps}.guide{max-width:60rem;margin:0 auto;padding:2.5rem 2rem 8rem;position:relative}.codeblock{font-family:var(--font-mono);background:var(--color-paper-dark);border:1px solid var(--color-rule);color:var(--color-ink);box-shadow:2px 2px 0 var(--color-rule);margin:1.25rem 0;padding:1rem 1.25rem;font-size:.85rem;line-height:1.65;overflow-x:auto}.codeblock .kw{color:var(--color-stamp);font-weight:500}.codeblock .str{color:#6b4423}.codeblock .comment{color:var(--color-ink-faint);font-style:italic}.codeblock .fn{color:#2a5530;font-weight:500}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .codeblock .str{color:#d4a574}:root:not([data-theme=light]) .codeblock .fn{color:#88c98a}}[data-theme=dark] .codeblock .str{color:#d4a574}[data-theme=dark] .codeblock .fn{color:#88c98a}.nav-bar{border-bottom:1px solid var(--color-rule);grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin-bottom:3rem;padding-bottom:1.25rem;display:grid}@media (max-width:480px){.nav-bar{grid-template-columns:auto 1fr auto}.nav-wordmark{font-size:1rem}.fire-badge{gap:.45rem;padding:.35rem .65rem;font-size:.78rem}}.nav-wordmark{font-family:var(--font-serif);color:var(--color-ink);letter-spacing:-.018em;justify-self:start;margin:0;font-size:1.45rem;font-weight:700;line-height:1}.nav-wordmark a{color:inherit;text-decoration:none;display:inline-block}.nav-wordmark a:hover{color:var(--color-stamp)}.nav-center{justify-self:center}.fire-badge{border:1px solid var(--color-rule);cursor:pointer;font-family:var(--font-mono);color:var(--color-ink-soft);-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:.55rem;padding:.4rem .85rem;font-size:.82rem;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex;position:relative}.fire-badge:after{content:attr(data-tooltip);font-family:var(--font-serif);color:var(--color-ink-soft);background:var(--color-paper);border:1px solid var(--color-rule);white-space:nowrap;pointer-events:none;opacity:0;z-index:60;box-shadow:1px 1px 0 var(--color-rule);padding:.25rem .6rem;font-size:.85rem;font-style:italic;font-weight:400;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%)translateY(2px)}.fire-badge:hover:after,.fire-badge:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.fire-badge:hover,.fire-badge:focus-visible{background:var(--color-paper-dark);border-color:var(--color-ink-faint);outline:none}.fire-badge.cooling{opacity:.85;cursor:default;transform:translateY(1px)}.fire-badge:disabled{cursor:default}.fire-badge.cooling:hover,.fire-badge.cooling:focus-visible{border-color:var(--color-rule);background:0 0}.fire-badge.cooling:after{display:none}.fire-badge.is-out{color:var(--color-ink-faint)}.fire-stats{tab-size:4;align-items:baseline;gap:.4rem;display:inline-flex}.fire-count{color:var(--color-ink);font-weight:500}.fire-sep{color:var(--color-ink-faint)}.fire-time{color:var(--color-ink-soft);text-align:right;font-variant-numeric:tabular-nums;min-width:2.2em}.is-out .fire-count,.is-out .fire-time{color:var(--color-ink-faint)}.flame-mark{transform-origin:bottom;flex-shrink:0}.flame-mark-alive{color:var(--color-stamp);animation:1.6s ease-in-out infinite flame-flicker}.flame-mark-out{color:var(--color-ink-faint);opacity:.55;animation:2.4s ease-in-out infinite ember-pulse}.fire-badge.cooling .flame-mark-alive,.fire-badge.cooling .flame-mark-out{color:var(--color-stamp);opacity:1;animation:3s ease-out forwards flame-flare}@keyframes flame-flare{0%{transform:scale(1)}12%{transform:scale(1.28)}30%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes ember-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}.header-actions{justify-content:flex-end;justify-self:end;align-items:center;gap:.4rem;display:flex}.header-icon{width:2.25rem;height:2.25rem;color:var(--color-ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.header-icon:hover,.header-icon:focus-visible{color:var(--color-ink);border-color:var(--color-rule);background:var(--color-paper-dark);outline:none}.header-icon-placeholder{pointer-events:none}.patterns,.properties{margin-top:5rem;margin-bottom:5rem}.section-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--color-stamp);margin-bottom:.6rem;font-size:.72rem}.section-title-h2{font-family:var(--font-serif);letter-spacing:-.012em;color:var(--color-ink);margin:0 0 2rem;font-size:clamp(1.9rem,3.5vw,2.4rem);font-weight:600;line-height:1.1}.pattern-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:1.25rem;display:grid}@media (min-width:600px){.pattern-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}}.pattern-card{border:1px solid var(--color-rule);background:var(--color-paper);box-shadow:2px 2px 0 var(--color-rule);color:inherit;flex-direction:column;height:100%;min-height:11rem;padding:1.5rem 1.6rem 1.4rem;text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;position:relative}.pattern-card:hover{box-shadow:3px 3px 0 var(--color-stamp);border-color:var(--color-ink-faint);transform:translate(-1px,-1px)}.pattern-signature-wrap{flex-direction:column;gap:.45rem;margin-top:auto;display:flex}.pattern-signature{font-family:var(--font-mono);color:var(--color-ink);background:var(--color-paper-dark);border:1px solid var(--color-rule);white-space:nowrap;align-items:baseline;gap:.55rem;padding:.55rem .75rem;font-size:.78rem;line-height:1.5;display:flex;overflow-x:auto}.pattern-signature-mark{color:var(--color-stamp);font-family:var(--font-serif);flex-shrink:0;font-size:1rem;font-style:italic;line-height:1}.pattern-signature-note{font-family:var(--font-serif);color:var(--color-ink-faint);align-items:baseline;gap:.55rem;padding:0 .1rem;font-size:.85rem;font-style:italic;line-height:1.4;display:flex}.pattern-signature-note-mark{color:var(--color-stamp);flex-shrink:0;font-size:.9rem;font-style:normal;line-height:1}.pattern-all-link{font-family:var(--font-serif);margin-top:2rem;font-size:1.05rem;font-style:italic}.pattern-all-link a{color:var(--color-stamp);text-underline-offset:.18em;text-decoration:underline}.pattern-name{font-family:var(--font-serif);color:var(--color-ink);letter-spacing:-.005em;margin:0 0 .4rem;font-size:1.25rem;font-style:italic;font-weight:600}.pattern-desc{font-family:var(--font-serif);color:var(--color-ink-soft);margin:0 0 1rem;font-size:1rem;line-height:1.5}.property-list{grid-template-columns:1fr;gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:600px){.property-list{grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem}}.property-list li{font-family:var(--font-serif);color:var(--color-ink-soft);align-items:baseline;gap:.85rem;font-size:1.2rem;line-height:1.6;display:flex}.property-tag{font-family:var(--font-serif);color:var(--color-stamp);text-align:center;flex-shrink:0;width:1.1rem;font-size:1.3rem;font-style:italic;font-weight:500;line-height:1}.property-text strong{color:var(--color-ink);font-weight:600}.property-text code{font-family:var(--font-mono);background:var(--color-paper-dark);border:1px solid var(--color-rule-soft);padding:.05em .35em;font-size:.85em}.how-it-works{margin-top:5rem;margin-bottom:5rem}.steps{grid-template-columns:1fr;gap:1.25rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.steps li{font-family:var(--font-serif);color:var(--color-ink-soft);align-items:baseline;gap:.85rem;font-size:1.05rem;line-height:1.55;display:flex}.step-number{font-family:var(--font-serif);color:var(--color-stamp);text-align:center;flex-shrink:0;width:1rem;font-size:1.3rem;font-style:italic;font-weight:500;line-height:1}.step-text strong{color:var(--color-ink);font-weight:600}.step-text code{font-family:var(--font-mono);background:var(--color-paper-dark);border:1px solid var(--color-rule-soft);padding:.05em .35em;font-size:.85em}.pattern-page{margin:0 auto}.pattern-crumb{font-family:var(--font-serif);margin-bottom:1.5rem;font-size:1rem;font-style:italic}.pattern-crumb a{color:var(--color-ink-faint);text-decoration:none}.pattern-crumb a:hover{color:var(--color-stamp)}.pattern-page-header{border-bottom:1px solid var(--color-rule);max-width:44rem;margin-bottom:3rem;padding-bottom:1.5rem}.pattern-page-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-ink);margin:0 0 .75rem;font-size:clamp(2.2rem,4.5vw,3rem);font-weight:600;line-height:1.05}.pattern-page-desc{font-family:var(--font-serif);color:var(--color-ink-soft);text-wrap:balance;margin:0;font-size:clamp(1.15rem,2vw,1.4rem);font-style:italic;line-height:1.4}.pattern-use-when{max-width:44rem;margin-bottom:3rem}.use-when-list{font-family:var(--font-serif);color:var(--color-ink);flex-direction:column;gap:.85rem;margin:1rem 0 0;padding:0;font-size:1.1rem;line-height:1.5;list-style:none;display:flex}.use-when-list li{align-items:baseline;gap:.8rem;display:flex}.use-when-mark{font-family:var(--font-serif);color:var(--color-stamp);text-align:center;flex-shrink:0;width:1rem;font-size:1.3rem;font-style:italic;font-weight:500;line-height:1}.pattern-examples{max-width:36rem;margin-bottom:3rem}.example-block{margin-top:1.25rem}.example-block:first-of-type{margin-top:1rem}.example-label{font-family:var(--font-serif);color:var(--color-ink-soft);margin-bottom:.5rem;font-size:1rem;font-style:italic}.pattern-cta{border-top:1px solid var(--color-rule);margin:3rem 0 4rem;padding-top:2rem}.pattern-cta .install-line{margin-top:1rem}.pattern-related{border-top:1px solid var(--color-rule);margin-top:3rem;padding-top:2rem}.patterns-index-title{max-width:32rem}.deploy{margin-top:5rem;margin-bottom:5rem}.deploy .install-line{margin-top:0;margin-bottom:2rem}.deploy-note{font-family:var(--font-serif);color:var(--color-ink-soft);text-wrap:pretty;max-width:42rem;margin:1.5rem 0 0;font-size:1.05rem;line-height:1.6}.deploy-note:first-of-type{margin-top:0}.deploy-note code{font-family:var(--font-mono);background:var(--color-paper-dark);border:1px solid var(--color-rule-soft);padding:.05em .35em;font-size:.85em}.deploy-note a{color:var(--color-stamp);text-underline-offset:.18em;text-decoration:underline}.hero{margin-bottom:4rem}.hero-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:2rem;display:grid}@media (min-width:760px){.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.hero-left{padding-top:.65rem}}.hero-left{flex-direction:column;display:flex}.hero-right{align-items:flex-start;min-width:0;display:flex}@media (max-width:759px){.hero-left{display:contents}.hero-right{order:1}.hero-headline,.hero-subhead{order:0}.install-line,.hero-actions{order:2}}.hero-headline{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-ink);text-wrap:balance;margin:0 0 .85rem;font-size:clamp(2.25rem,4.8vw,3.4rem);font-weight:600;line-height:1.05}.hero-subhead{font-family:var(--font-serif);color:var(--color-ink-soft);text-wrap:balance;max-width:28rem;margin:0 0 1.75rem;font-size:clamp(1.1rem,2vw,1.35rem);font-style:italic;line-height:1.4}.title-sub{font-family:var(--font-serif);color:var(--color-ink-soft);text-wrap:balance;margin-top:0;margin-bottom:0;font-size:clamp(1.25rem,2.4vw,1.65rem);font-style:italic;font-weight:400;line-height:1.35}.title-sub-lead{color:var(--color-ink);font-size:clamp(1.6rem,3.2vw,2.2rem);font-style:italic;line-height:1.25}.hero-code{width:100%;margin:0!important;padding:1rem 1.2rem!important;font-size:.82rem!important}@media (min-width:760px){.hero-code{padding:1.15rem 1.35rem!important;font-size:.88rem!important}}.install-line{font-family:var(--font-mono);background:var(--color-ink);color:var(--color-paper);box-shadow:3px 3px 0 var(--color-stamp);-webkit-user-select:all;user-select:all;cursor:text;align-items:baseline;gap:.6rem;margin-bottom:1.75rem;padding:.85rem 1.25rem;font-size:.95rem;display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .install-line{background:var(--color-paper-dark);color:var(--color-ink);border:1px solid var(--color-rule);box-shadow:3px 3px 0 var(--color-stamp)}}[data-theme=dark] .install-line{background:var(--color-paper-dark);color:var(--color-ink);border:1px solid var(--color-rule);box-shadow:3px 3px 0 var(--color-stamp)}.install-prompt{color:var(--color-stamp-soft);-webkit-user-select:none;user-select:none;font-weight:600}.install-cmd{flex:1}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.cta{font-family:var(--font-serif);border:1px solid var(--color-ink);align-items:center;gap:.4rem;padding:.7rem 1.25rem;font-size:1.05rem;line-height:1;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:inline-flex}.cta-primary{background:var(--color-ink);color:var(--color-paper);box-shadow:3px 3px 0 var(--color-stamp);font-weight:500}.cta-primary:hover{background:var(--color-stamp);border-color:var(--color-stamp);box-shadow:4px 4px 0 var(--color-ink);transform:translate(-1px,-1px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cta-primary{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}:root:not([data-theme=light]) .cta-primary:hover{background:var(--color-stamp);color:var(--color-paper);border-color:var(--color-stamp)}}[data-theme=dark] .cta-primary{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}[data-theme=dark] .cta-primary:hover{background:var(--color-stamp);color:var(--color-paper);border-color:var(--color-stamp)}.hero-down{font-family:var(--font-serif);color:var(--color-ink-faint);font-size:1rem;font-style:italic;text-decoration:none}.hero-down:hover{color:var(--color-stamp)}.colophon{border-top:1px solid var(--color-rule);font-family:var(--font-serif);color:var(--color-ink-soft);text-align:left;margin-top:4rem;padding-top:1.5rem;font-size:.9rem;font-style:italic;line-height:1.6}.colophon a{color:var(--color-stamp);text-underline-offset:.18em;text-decoration:underline}@keyframes flame-flicker{0%,to{transform:scaleX(1)scaleY(1)translate(0)}25%{transform:scaleX(.98)scaleY(1.02)translate(-.5px)}50%{transform:scaleX(1.02)scaleY(.99)translate(.5px)}75%{transform:scaleX(.99)scaleY(1.01)translate(0)}}.reveal{opacity:0;animation:.8s ease-out forwards reveal}.reveal-1{animation-delay:50ms}.reveal-2{animation-delay:.15s}.reveal-3{animation-delay:.25s}.reveal-4{animation-delay:.4s}@keyframes reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
