diff --git a/assets/static/css/main.css b/assets/static/css/main.css index 4812ab9..8a05080 100644 --- a/assets/static/css/main.css +++ b/assets/static/css/main.css @@ -1 +1 @@ -/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--motion-default-timing:cubic-bezier(.165,.84,.44,1);--motion-bounce:linear(0,0.004,0.016,0.035,0.063,0.098,0.141 13.6%,0.25,0.391,0.563,0.765,1,0.891 40.9%,0.848,0.813,0.785,0.766,0.754,0.75,0.754,0.766,0.785,0.813,0.848,0.891 68.2%,1 72.7%,0.973,0.953,0.941,0.938,0.941,0.953,0.973,1,0.988,0.984,0.988,1);--motion-spring-smooth:linear(0,0.001 0.44%,0.0045 0.94%,0.0195 2.03%,0.0446 3.19%,0.0811 4.5%,0.1598 6.82%,0.3685 12.34%,0.4693 15.17%,0.5663,0.6498 21.27%,0.7215 24.39%,0.7532 25.98%,0.7829 27.65%,0.8105,0.8349 31.14%,0.8573 32.95%,0.8776 34.84%,0.8964 36.87%,0.9136 39.05%,0.929 41.37%,0.9421 43.77%,0.9537 46.38%,0.9636 49.14%,0.9789 55.31%,0.9888 62.35%,0.9949 71.06%,0.9982 82.52%,0.9997 99.94%);--motion-spring-snappy:linear(0,0.0014,0.0053 1.02%,0.0126,0.0227 2.18%,0.0517 3.41%,0.094 4.79%,0.1865 7.26%,0.4182 12.77%,0.5246 15.46%,0.6249,0.7112,0.7831 23.95%,0.8146 25.4%,0.844,0.8699 28.45%,0.8935,0.9139 31.64%,0.932,0.9473,0.9601 36.65%,0.9714 38.47%,0.9808 40.35%,0.9948 44.49%,1.0031 49.43%,1.0057 53.35%,1.0063 58.14%,1.0014 80.78%,1.0001 99.94%);--motion-spring-bouncy:linear(0,0.0018,0.0069,0.0151 1.74%,0.0277 2.4%,0.062 3.7%,0.1115 5.15%,0.2211 7.77%,0.4778 13.21%,0.5912 15.75%,0.6987 18.44%,0.7862 20.98%,0.861 23.59%,0.8926,0.9205,0.945 27.51%,0.9671 28.89%,0.9868,1.003 31.79%,1.0224 34.11%,1.0358 36.58%,1.0436 39.27%,1.046 42.31%,1.0446 44.71%,1.0406 47.47%,1.0118 61.84%,1.0027 69.53%,0.9981 80.49%,0.9991 99.94%);--motion-spring-bouncier:linear(0,0.0023,0.0088,0.0194 1.59%,0.035 2.17%,0.078 3.33%,0.1415 4.64%,0.2054 5.75%,0.2821 6.95%,0.5912 11.45%,0.7205 13.43%,0.8393 15.45%,0.936 17.39%,0.9778,1.015,1.0477,1.0759,1.0998 22.22%,1.1203,1.1364,1.1484 25.26%,1.1586 26.61%,1.1629 28.06%,1.1613 29.56%,1.1537 31.2%,1.1434 32.6%,1.1288 34.19%,1.0508 41.29%,1.0174 44.87%,1.0025 46.89%,0.9911 48.87%,0.9826 50.9%,0.9769 53.03%,0.9735 56.02%,0.9748 59.45%,0.9964 72.64%,1.0031 79.69%,1.0042 86.83%,1.0008 99.97%);--motion-spring-bounciest:linear(0,0.0032,0.0131,0.0294,0.0524,0.0824,0.1192 1.54%,0.2134 2.11%,0.3102 2.59%,0.4297 3.13%,0.8732 4.95%,1.0373,1.1827 6.36%,1.2972 7.01%,1.3444,1.3859,1.4215,1.4504,1.4735,1.4908,1.5024,1.5084 9.5%,1.5091,1.5061,1.4993,1.4886,1.4745,1.4565 11.11%,1.4082 11.7%,1.3585 12.2%,1.295 12.77%,1.0623 14.64%,0.9773,0.9031 16.08%,0.8449 16.73%,0.8014,0.7701 17.95%,0.7587,0.7501,0.7443,0.7412 19.16%,0.7421 19.68%,0.7508 20.21%,0.7672 20.77%,0.7917 21.37%,0.8169 21.87%,0.8492 22.43%,0.9681 24.32%,1.0114,1.0492 25.75%,1.0789 26.41%,1.1008,1.1167,1.1271,1.1317 28.81%,1.1314,1.1271 29.87%,1.1189 30.43%,1.1063 31.03%,1.0769 32.11%,0.9941 34.72%,0.9748 35.43%,0.9597 36.09%,0.9487,0.9407,0.9355,0.933 38.46%,0.9344 39.38%,0.9421 40.38%,0.9566 41.5%,0.9989 44.12%,1.0161 45.37%,1.029 46.75%,1.0341 48.1%,1.0335 49.04%,1.0295 50.05%,1.0221 51.18%,0.992 55.02%,0.9854 56.38%,0.9827 57.72%,0.985 59.73%,1.004 64.67%,1.0088 67.34%,1.0076 69.42%,0.9981 74.28%,0.9956 76.85%,0.9961 79.06%,1.0023 86.46%,0.999 95.22%,0.9994 100%)}*,:after,:before{--motion-origin-scale-x:100%;--motion-origin-scale-y:100%;--motion-origin-translate-x:0%;--motion-origin-translate-y:0%;--motion-origin-rotate:0deg;--motion-origin-blur:0px;--motion-origin-grayscale:0%;--motion-origin-opacity:100%;--motion-origin-background-color: ;--motion-origin-text-color: ;--motion-end-scale-x:100%;--motion-end-scale-y:100%;--motion-end-translate-x:0%;--motion-end-translate-y:0%;--motion-end-rotate:0deg;--motion-end-blur:0px;--motion-end-grayscale:0%;--motion-end-opacity:100%;--motion-end-background-color: ;--motion-end-text-color: ;--motion-loop-scale-x:100%;--motion-loop-scale-y:100%;--motion-loop-translate-x:0%;--motion-loop-translate-y:0%;--motion-loop-rotate:0deg;--motion-loop-blur:0px;--motion-loop-grayscale:0%;--motion-loop-opacity:100%;--motion-loop-background-color: ;--motion-loop-text-color: ;--motion-duration:750ms;--motion-timing:var(--motion-default-timing);--motion-perceptual-duration-multiplier:1;--motion-delay:0ms;--motion-loop-count:infinite;--motion-scale-duration:var(--motion-duration);--motion-scale-timing:var(--motion-timing);--motion-scale-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-scale-delay:var(--motion-delay);--motion-scale-loop-count:var(--motion-loop-count);--motion-translate-duration:var(--motion-duration);--motion-translate-timing:var(--motion-timing);--motion-translate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-translate-delay:var(--motion-delay);--motion-translate-loop-count:var(--motion-loop-count);--motion-rotate-duration:var(--motion-duration);--motion-rotate-timing:var(--motion-timing);--motion-rotate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-rotate-delay:var(--motion-delay);--motion-rotate-loop-count:var(--motion-loop-count);--motion-filter-duration:var(--motion-duration);--motion-filter-timing:var(--motion-timing);--motion-filter-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-filter-delay:var(--motion-delay);--motion-filter-loop-count:var(--motion-loop-count);--motion-opacity-duration:var(--motion-duration);--motion-opacity-timing:var(--motion-timing);--motion-opacity-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-opacity-delay:var(--motion-delay);--motion-opacity-loop-count:var(--motion-loop-count);--motion-background-color-duration:var(--motion-duration);--motion-background-color-timing:var(--motion-timing);--motion-background-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-background-color-delay:var(--motion-delay);--motion-background-color-loop-count:var(--motion-loop-count);--motion-text-color-duration:var(--motion-duration);--motion-text-color-timing:var(--motion-timing);--motion-text-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-text-color-delay:var(--motion-delay);--motion-text-color-loop-count:var(--motion-loop-count);--motion-scale-in-animation:none;--motion-translate-in-animation:none;--motion-rotate-in-animation:none;--motion-filter-in-animation:none;--motion-opacity-in-animation:none;--motion-background-color-in-animation:none;--motion-text-color-in-animation:none;--motion-scale-out-animation:none;--motion-translate-out-animation:none;--motion-rotate-out-animation:none;--motion-filter-out-animation:none;--motion-opacity-out-animation:none;--motion-background-color-out-animation:none;--motion-text-color-out-animation:none;--motion-scale-loop-animation:none;--motion-translate-loop-animation:none;--motion-rotate-loop-animation:none;--motion-filter-loop-animation:none;--motion-opacity-loop-animation:none;--motion-background-color-loop-animation:none;--motion-text-color-loop-animation:none;--motion-all-enter-animations:var(--motion-scale-in-animation),var(--motion-translate-in-animation),var(--motion-rotate-in-animation),var(--motion-filter-in-animation),var(--motion-opacity-in-animation),var(--motion-background-color-in-animation),var(--motion-text-color-in-animation);--motion-all-exit-animations:var(--motion-scale-out-animation),var(--motion-translate-out-animation),var(--motion-rotate-out-animation),var(--motion-filter-out-animation),var(--motion-opacity-out-animation),var(--motion-background-color-out-animation),var(--motion-text-color-out-animation);--motion-all-loop-animations:var(--motion-scale-loop-animation),var(--motion-translate-loop-animation),var(--motion-rotate-loop-animation),var(--motion-filter-loop-animation),var(--motion-opacity-loop-animation),var(--motion-background-color-loop-animation),var(--motion-text-color-loop-animation);--motion-all-loop-and-enter-animations:var(--motion-all-loop-animations),var(--motion-all-enter-animations);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--motion-origin-scale-x:100%;--motion-origin-scale-y:100%;--motion-origin-translate-x:0%;--motion-origin-translate-y:0%;--motion-origin-rotate:0deg;--motion-origin-blur:0px;--motion-origin-grayscale:0%;--motion-origin-opacity:100%;--motion-origin-background-color: ;--motion-origin-text-color: ;--motion-end-scale-x:100%;--motion-end-scale-y:100%;--motion-end-translate-x:0%;--motion-end-translate-y:0%;--motion-end-rotate:0deg;--motion-end-blur:0px;--motion-end-grayscale:0%;--motion-end-opacity:100%;--motion-end-background-color: ;--motion-end-text-color: ;--motion-loop-scale-x:100%;--motion-loop-scale-y:100%;--motion-loop-translate-x:0%;--motion-loop-translate-y:0%;--motion-loop-rotate:0deg;--motion-loop-blur:0px;--motion-loop-grayscale:0%;--motion-loop-opacity:100%;--motion-loop-background-color: ;--motion-loop-text-color: ;--motion-duration:750ms;--motion-timing:var(--motion-default-timing);--motion-perceptual-duration-multiplier:1;--motion-delay:0ms;--motion-loop-count:infinite;--motion-scale-duration:var(--motion-duration);--motion-scale-timing:var(--motion-timing);--motion-scale-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-scale-delay:var(--motion-delay);--motion-scale-loop-count:var(--motion-loop-count);--motion-translate-duration:var(--motion-duration);--motion-translate-timing:var(--motion-timing);--motion-translate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-translate-delay:var(--motion-delay);--motion-translate-loop-count:var(--motion-loop-count);--motion-rotate-duration:var(--motion-duration);--motion-rotate-timing:var(--motion-timing);--motion-rotate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-rotate-delay:var(--motion-delay);--motion-rotate-loop-count:var(--motion-loop-count);--motion-filter-duration:var(--motion-duration);--motion-filter-timing:var(--motion-timing);--motion-filter-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-filter-delay:var(--motion-delay);--motion-filter-loop-count:var(--motion-loop-count);--motion-opacity-duration:var(--motion-duration);--motion-opacity-timing:var(--motion-timing);--motion-opacity-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-opacity-delay:var(--motion-delay);--motion-opacity-loop-count:var(--motion-loop-count);--motion-background-color-duration:var(--motion-duration);--motion-background-color-timing:var(--motion-timing);--motion-background-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-background-color-delay:var(--motion-delay);--motion-background-color-loop-count:var(--motion-loop-count);--motion-text-color-duration:var(--motion-duration);--motion-text-color-timing:var(--motion-timing);--motion-text-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-text-color-delay:var(--motion-delay);--motion-text-color-loop-count:var(--motion-loop-count);--motion-scale-in-animation:none;--motion-translate-in-animation:none;--motion-rotate-in-animation:none;--motion-filter-in-animation:none;--motion-opacity-in-animation:none;--motion-background-color-in-animation:none;--motion-text-color-in-animation:none;--motion-scale-out-animation:none;--motion-translate-out-animation:none;--motion-rotate-out-animation:none;--motion-filter-out-animation:none;--motion-opacity-out-animation:none;--motion-background-color-out-animation:none;--motion-text-color-out-animation:none;--motion-scale-loop-animation:none;--motion-translate-loop-animation:none;--motion-rotate-loop-animation:none;--motion-filter-loop-animation:none;--motion-opacity-loop-animation:none;--motion-background-color-loop-animation:none;--motion-text-color-loop-animation:none;--motion-all-enter-animations:var(--motion-scale-in-animation),var(--motion-translate-in-animation),var(--motion-rotate-in-animation),var(--motion-filter-in-animation),var(--motion-opacity-in-animation),var(--motion-background-color-in-animation),var(--motion-text-color-in-animation);--motion-all-exit-animations:var(--motion-scale-out-animation),var(--motion-translate-out-animation),var(--motion-rotate-out-animation),var(--motion-filter-out-animation),var(--motion-opacity-out-animation),var(--motion-background-color-out-animation),var(--motion-text-color-out-animation);--motion-all-loop-animations:var(--motion-scale-loop-animation),var(--motion-translate-loop-animation),var(--motion-rotate-loop-animation),var(--motion-filter-loop-animation),var(--motion-opacity-loop-animation),var(--motion-background-color-loop-animation),var(--motion-text-color-loop-animation);--motion-all-loop-and-enter-animations:var(--motion-all-loop-animations),var(--motion-all-enter-animations);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-blue{--tw-prose-links:#2563eb;--tw-prose-invert-links:#3b82f6}.motion-preset-slide-right{--motion-origin-translate-x:-25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.motion-preset-pop{--motion-origin-scale-x:50%;--motion-origin-scale-y:50%;--motion-origin-opacity:0;--motion-scale-timing:var(--motion-spring-bouncier);--motion-scale-perceptual-duration-multiplier:2.035;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-scale-in-animation:motion-scale-in calc(var(--motion-scale-duration)*var(--motion-scale-perceptual-duration-multiplier)) var(--motion-scale-timing) var(--motion-scale-delay) both;animation:var(--motion-all-loop-and-enter-animations)}@keyframes RomboConfettiPop{0%{opacity:0;transform:scale(1)}33%{opacity:1;transform:scale(1.15)}50%{transform:scale(.975)}65%{transform:scale(1.025)}80%{transform:scale(.99)}87%{transform:scale(1.01)}to{opacity:1;transform:scale(1)}}@keyframes topfetti{0%{background-position:5% 90%,10% 90%,10% 90%,15% 90%,25% 90%,25% 90%,40% 90%,55% 90%,70% 90%}50%{background-position:0 80%,0 20%,10% 40%,20% 0,30% 30%,22% 50%,50% 50%,65% 20%,90% 30%}to{background-position:0 70%,0 10%,10% 30%,20% -10%,30% 20%,22% 40%,50% 40%,65% 10%,90% 20%;background-size:0 0,0 0,0 0,0 0,0 0,0 0}}@keyframes bottomfetti{0%{background-position:10% -10%,30% 10%,55% -10%,70% -10%,85% -10%,70% -10%,70% 0}50%{background-position:0 80%,20% 80%,45% 60%,60% 100%,75% 70%,95% 60%,105% 0}to{background-position:0 90%,20% 90%,45% 70%,60% 110%,75% 80%,95% 70%,110% 10%;background-size:0 0,0 0,0 0,0 0,0 0,0 0}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.z-20{z-index:20}.z-50{z-index:50}.m-2{margin:.5rem}.m-4{margin:1rem}.m-8{margin:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.hidden{display:none}.h-\[40rem\]{height:40rem}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-\[4rem\]{min-width:4rem}.min-w-full{min-width:100%}.max-w-\[12rem\]{max-width:12rem}.max-w-\[20rem\]{max-width:20rem}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-gray-900\/80{background-color:rgba(17,24,39,.8)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-violet-600{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,58,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-semibold{font-weight:600}.tracking-tight{letter-spacing:-.025em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media screen and (prefers-reduced-motion:no-preference){@keyframes motion-scale-in{0%{scale:var(--motion-origin-scale-x) var(--motion-origin-scale-y)}to{scale:1 1}}@keyframes motion-scale-out{0%{scale:1 1}to{scale:var(--motion-end-scale-x) var(--motion-end-scale-y)}}@keyframes motion-scale-loop-mirror{0%,to{scale:1 1}50%{scale:var(--motion-loop-scale-x) var(--motion-loop-scale-y)}}@keyframes motion-scale-loop-reset{0%{scale:1 1}to{scale:var(--motion-loop-scale-x) var(--motion-loop-scale-y)}}@keyframes motion-translate-in{0%{translate:var(--motion-origin-translate-x) var(--motion-origin-translate-y)}to{translate:0 0}}@keyframes motion-translate-out{0%{translate:0 0}to{translate:var(--motion-end-translate-x) var(--motion-end-translate-y)}}@keyframes motion-translate-loop-mirror{0%,to{translate:0 0}50%{translate:var(--motion-loop-translate-x) var(--motion-loop-translate-y)}}@keyframes motion-translate-loop-reset{0%{translate:0 0}to{translate:var(--motion-loop-translate-x) var(--motion-loop-translate-y)}}@keyframes motion-rotate-in{0%{rotate:var(--motion-origin-rotate)}to{rotate:0}}@keyframes motion-rotate-out{0%{rotate:0}to{rotate:var(--motion-end-rotate)}}@keyframes motion-rotate-loop-mirror{0%,to{rotate:0deg}50%{rotate:var(--motion-loop-rotate)}}@keyframes motion-rotate-loop-reset{to{rotate:var(--motion-loop-rotate)}}}@keyframes motion-filter-in{0%{filter:blur(var(--motion-origin-blur)) grayscale(var(--motion-origin-grayscale))}to{filter:blur(0) grayscale(0)}}@keyframes motion-filter-out{0%{filter:blur(0) grayscale(0)}to{filter:blur(var(--motion-end-blur)) grayscale(var(--motion-end-grayscale))}}@keyframes motion-filter-loop-mirror{0%,to{filter:blur(0) grayscale(0)}50%{filter:blur(var(--motion-loop-blur)) grayscale(var(--motion-loop-grayscale))}}@keyframes motion-filter-loop-reset{0%{filter:blur(0) grayscale(0)}to{filter:blur(var(--motion-loop-blur)) grayscale(var(--motion-loop-grayscale))}}@keyframes motion-opacity-in{0%{opacity:var(--motion-origin-opacity)}}@keyframes motion-opacity-out{to{opacity:var(--motion-end-opacity)}}@keyframes motion-opacity-loop-mirror{50%{opacity:var(--motion-loop-opacity)}}@keyframes motion-opacity-loop-reset{to{opacity:var(--motion-loop-opacity)}}@keyframes motion-background-color-in{0%{background-color:var(--motion-origin-background-color)}}@keyframes motion-background-color-out{to{background-color:var(--motion-end-background-color)}}@keyframes motion-background-color-loop-mirror{50%{background-color:var(--motion-loop-background-color)}}@keyframes motion-background-color-loop-reset{to{background-color:var(--motion-loop-background-color)}}@keyframes motion-text-color-in{0%{color:var(--motion-origin-text-color)}}@keyframes motion-text-color-out{to{color:var(--motion-end-text-color)}}@keyframes motion-text-color-loop-mirror{50%{color:var(--motion-loop-text-color)}}@keyframes motion-text-color-loop-reset{to{color:var(--motion-loop-text-color)}}.-motion-translate-x-in-100{--motion-origin-translate-x:-100%;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.motion-translate-y-in-75{--motion-origin-translate-y:75%;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.motion-duration-1000{--motion-duration:1000ms}.motion-duration-2000{--motion-duration:2000ms}.motion-delay-100{--motion-delay:100ms}.motion-delay-200{--motion-delay:200ms}.motion-delay-75{--motion-delay:75ms}.my-animate{opacity:1!important;transform:translateY(0)!important}.hidden-for-animation,.my-animate{transition:opacity .3s ease,transform .3s ease}.hidden-for-animation{opacity:0;transform:translateY(20px)}.odd\:motion-preset-slide-left:nth-child(odd){--motion-origin-translate-x:25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.odd\:motion-preset-slide-left-lg:nth-child(odd){--motion-origin-translate-x:100%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.odd\:motion-preset-slide-right-lg:nth-child(odd){--motion-origin-translate-x:-100%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.odd\:motion-preset-slide-right-md:nth-child(odd){--motion-origin-translate-x:-25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.odd\:motion-preset-bounce:nth-child(odd){--motion-duration:300ms;--motion-translate-timing:var(--motion-bounce);--motion-translate-perceptual-duration-multiplier:2;--motion-origin-opacity:0;--motion-origin-translate-y:-25%;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.odd\:motion-preset-stretch:nth-child(odd){--motion-loop-scale-x:85%;--motion-loop-scale-y:115%;--motion-scale-timing:var(--motion-spring-bouncier);--motion-scale-perceptual-duration-multiplier:2.035;--motion-scale-loop-animation:motion-scale-loop-mirror calc(var(--motion-scale-duration)*var(--motion-scale-perceptual-duration-multiplier)) var(--motion-scale-timing) var(--motion-scale-delay) both var(--motion-scale-loop-count);animation:var(--motion-all-loop-and-enter-animations)}.even\:motion-preset-slide-right:nth-child(2n){--motion-origin-translate-x:-25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.even\:motion-preset-rebound:nth-child(2n){--motion-origin-translate-x:25%;--motion-translate-timing:var(--motion-spring-bouncier);--motion-translate-perceptual-duration-multiplier:2.035;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.even\:motion-preset-bounce:nth-child(2n){--motion-duration:300ms;--motion-translate-timing:var(--motion-bounce);--motion-translate-perceptual-duration-multiplier:2;--motion-origin-opacity:0;--motion-origin-translate-y:-25%;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.even\:motion-preset-compress:nth-child(2n){--motion-origin-scale-x:150%;--motion-origin-scale-y:150%;--motion-origin-opacity:0;--motion-scale-timing:var(--motion-spring-bouncier);--motion-scale-perceptual-duration-multiplier:2.035;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-scale-in-animation:motion-scale-in calc(var(--motion-scale-duration)*var(--motion-scale-perceptual-duration-multiplier)) var(--motion-scale-timing) var(--motion-scale-delay) both;animation:var(--motion-all-loop-and-enter-animations)}@media (min-width:768px){.md\:prose-lg{font-size:1.125rem;line-height:1.7777778}.md\:prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.md\:prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.md\:prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.md\:prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.md\:prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.md\:prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.md\:prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.md\:prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.md\:prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.md\:prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.md\:prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.md\:prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.md\:prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.md\:prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.md\:prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.md\:prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.md\:prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.md\:prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.md\:prose-lg :where(.md\:prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.md\:prose-lg :where(.md\:prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.md\:prose-lg :where(.md\:prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.md\:prose-lg :where(.md\:prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.md\:prose-lg :where(.md\:prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.md\:prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.md\:prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.md\:prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.md\:prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.md\:prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.md\:prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.md\:prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.md\:prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.md\:prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.md\:prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.md\:prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.md\:prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.md\:prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.md\:prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.md\:prose-lg :where(.md\:prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(.md\:prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}@media (min-width:1024px){.lg\:prose-lg{font-size:1.125rem;line-height:1.7777778}.lg\:prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.lg\:prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.lg\:prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.lg\:prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.lg\:prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.lg\:prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.lg\:prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.lg\:prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.lg\:prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.lg\:prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.lg\:prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.lg\:prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.lg\:prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.lg\:prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.lg\:prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.lg\:prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.lg\:prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.lg\:prose-lg :where(.lg\:prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.lg\:prose-lg :where(.lg\:prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.lg\:prose-lg :where(.lg\:prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.lg\:prose-lg :where(.lg\:prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.lg\:prose-lg :where(.lg\:prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.lg\:prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.lg\:prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.lg\:prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.lg\:prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.lg\:prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.lg\:prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.lg\:prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.lg\:prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.lg\:prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.lg\:prose-lg :where(.lg\:prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(.lg\:prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lg\:prose-xl{font-size:1.25rem;line-height:1.8}.lg\:prose-xl :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.lg\:prose-xl :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2em;line-height:1.5;margin-bottom:1em;margin-top:1em}.lg\:prose-xl :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1.0666667em}.lg\:prose-xl :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.8em;line-height:1;margin-bottom:.8571429em;margin-top:0}.lg\:prose-xl :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.8em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:1.5555556em}.lg\:prose-xl :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:.6666667em;margin-top:1.6em}.lg\:prose-xl :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.6;margin-bottom:.6em;margin-top:1.8em}.lg\:prose-xl :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-xl :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.9em;padding-inline-end:.4em;padding-bottom:.25em;padding-top:.25em;padding-inline-start:.4em}.lg\:prose-xl :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.lg\:prose-xl :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8611111em}.lg\:prose-xl :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.lg\:prose-xl :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.5rem;font-size:.9em;line-height:1.7777778;margin-bottom:2em;margin-top:2em;padding-inline-end:1.3333333em;padding-bottom:1.1111111em;padding-top:1.1111111em;padding-inline-start:1.3333333em}.lg\:prose-xl :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.lg\:prose-xl :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.lg\:prose-xl :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6em;margin-top:.6em}.lg\:prose-xl :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.lg\:prose-xl :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.lg\:prose-xl :where(.lg\:prose-xl>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.lg\:prose-xl :where(.lg\:prose-xl>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.lg\:prose-xl :where(.lg\:prose-xl>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.lg\:prose-xl :where(.lg\:prose-xl>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.lg\:prose-xl :where(.lg\:prose-xl>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.lg\:prose-xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.lg\:prose-xl :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.lg\:prose-xl :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.lg\:prose-xl :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;padding-inline-start:1.6em}.lg\:prose-xl :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8em;margin-top:2.8em}.lg\:prose-xl :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556}.lg\:prose-xl :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-inline-start:.6666667em}.lg\:prose-xl :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-xl :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-xl :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-top:.8888889em;padding-inline-start:.6666667em}.lg\:prose-xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-xl :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-xl :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556;margin-top:1em}.lg\:prose-xl :where(.lg\:prose-xl>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(.lg\:prose-xl>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}@media (min-width:1280px){.xl\:prose-xl{font-size:1.25rem;line-height:1.8}.xl\:prose-xl :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.xl\:prose-xl :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2em;line-height:1.5;margin-bottom:1em;margin-top:1em}.xl\:prose-xl :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1.0666667em}.xl\:prose-xl :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.8em;line-height:1;margin-bottom:.8571429em;margin-top:0}.xl\:prose-xl :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.8em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:1.5555556em}.xl\:prose-xl :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:.6666667em;margin-top:1.6em}.xl\:prose-xl :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.6;margin-bottom:.6em;margin-top:1.8em}.xl\:prose-xl :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.xl\:prose-xl :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.9em;padding-inline-end:.4em;padding-bottom:.25em;padding-top:.25em;padding-inline-start:.4em}.xl\:prose-xl :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.xl\:prose-xl :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8611111em}.xl\:prose-xl :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.xl\:prose-xl :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.5rem;font-size:.9em;line-height:1.7777778;margin-bottom:2em;margin-top:2em;padding-inline-end:1.3333333em;padding-bottom:1.1111111em;padding-top:1.1111111em;padding-inline-start:1.3333333em}.xl\:prose-xl :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.xl\:prose-xl :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.xl\:prose-xl :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6em;margin-top:.6em}.xl\:prose-xl :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.xl\:prose-xl :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.xl\:prose-xl :where(.xl\:prose-xl>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.xl\:prose-xl :where(.xl\:prose-xl>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.xl\:prose-xl :where(.xl\:prose-xl>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.xl\:prose-xl :where(.xl\:prose-xl>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.xl\:prose-xl :where(.xl\:prose-xl>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.xl\:prose-xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.xl\:prose-xl :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.xl\:prose-xl :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.xl\:prose-xl :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;padding-inline-start:1.6em}.xl\:prose-xl :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8em;margin-top:2.8em}.xl\:prose-xl :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556}.xl\:prose-xl :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-inline-start:.6666667em}.xl\:prose-xl :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.xl\:prose-xl :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.xl\:prose-xl :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-top:.8888889em;padding-inline-start:.6666667em}.xl\:prose-xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.xl\:prose-xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.xl\:prose-xl :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.xl\:prose-xl :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556;margin-top:1em}.xl\:prose-xl :where(.xl\:prose-xl>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(.xl\:prose-xl>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}@media (prefers-color-scheme:dark){.dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}.odd\:motion-delay:nth-child(odd){--motion-delay:150ms}.odd\:motion-delay-100:nth-child(odd){--motion-delay:100ms}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:640px){.sm\:justify-center{justify-content:center}}@media (min-width:768px){.md\:m-0{margin:0}.md\:mb-0{margin-bottom:0}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-fit{width:-moz-fit-content;width:fit-content}.md\:max-w-\[50hw\]{max-width:50hw}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-start{justify-content:flex-start}.md\:p-16{padding:4rem}.md\:text-left{text-align:left}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:p-20{padding:5rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}} \ No newline at end of file +/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--motion-default-timing:cubic-bezier(.165,.84,.44,1);--motion-bounce:linear(0,0.004,0.016,0.035,0.063,0.098,0.141 13.6%,0.25,0.391,0.563,0.765,1,0.891 40.9%,0.848,0.813,0.785,0.766,0.754,0.75,0.754,0.766,0.785,0.813,0.848,0.891 68.2%,1 72.7%,0.973,0.953,0.941,0.938,0.941,0.953,0.973,1,0.988,0.984,0.988,1);--motion-spring-smooth:linear(0,0.001 0.44%,0.0045 0.94%,0.0195 2.03%,0.0446 3.19%,0.0811 4.5%,0.1598 6.82%,0.3685 12.34%,0.4693 15.17%,0.5663,0.6498 21.27%,0.7215 24.39%,0.7532 25.98%,0.7829 27.65%,0.8105,0.8349 31.14%,0.8573 32.95%,0.8776 34.84%,0.8964 36.87%,0.9136 39.05%,0.929 41.37%,0.9421 43.77%,0.9537 46.38%,0.9636 49.14%,0.9789 55.31%,0.9888 62.35%,0.9949 71.06%,0.9982 82.52%,0.9997 99.94%);--motion-spring-snappy:linear(0,0.0014,0.0053 1.02%,0.0126,0.0227 2.18%,0.0517 3.41%,0.094 4.79%,0.1865 7.26%,0.4182 12.77%,0.5246 15.46%,0.6249,0.7112,0.7831 23.95%,0.8146 25.4%,0.844,0.8699 28.45%,0.8935,0.9139 31.64%,0.932,0.9473,0.9601 36.65%,0.9714 38.47%,0.9808 40.35%,0.9948 44.49%,1.0031 49.43%,1.0057 53.35%,1.0063 58.14%,1.0014 80.78%,1.0001 99.94%);--motion-spring-bouncy:linear(0,0.0018,0.0069,0.0151 1.74%,0.0277 2.4%,0.062 3.7%,0.1115 5.15%,0.2211 7.77%,0.4778 13.21%,0.5912 15.75%,0.6987 18.44%,0.7862 20.98%,0.861 23.59%,0.8926,0.9205,0.945 27.51%,0.9671 28.89%,0.9868,1.003 31.79%,1.0224 34.11%,1.0358 36.58%,1.0436 39.27%,1.046 42.31%,1.0446 44.71%,1.0406 47.47%,1.0118 61.84%,1.0027 69.53%,0.9981 80.49%,0.9991 99.94%);--motion-spring-bouncier:linear(0,0.0023,0.0088,0.0194 1.59%,0.035 2.17%,0.078 3.33%,0.1415 4.64%,0.2054 5.75%,0.2821 6.95%,0.5912 11.45%,0.7205 13.43%,0.8393 15.45%,0.936 17.39%,0.9778,1.015,1.0477,1.0759,1.0998 22.22%,1.1203,1.1364,1.1484 25.26%,1.1586 26.61%,1.1629 28.06%,1.1613 29.56%,1.1537 31.2%,1.1434 32.6%,1.1288 34.19%,1.0508 41.29%,1.0174 44.87%,1.0025 46.89%,0.9911 48.87%,0.9826 50.9%,0.9769 53.03%,0.9735 56.02%,0.9748 59.45%,0.9964 72.64%,1.0031 79.69%,1.0042 86.83%,1.0008 99.97%);--motion-spring-bounciest:linear(0,0.0032,0.0131,0.0294,0.0524,0.0824,0.1192 1.54%,0.2134 2.11%,0.3102 2.59%,0.4297 3.13%,0.8732 4.95%,1.0373,1.1827 6.36%,1.2972 7.01%,1.3444,1.3859,1.4215,1.4504,1.4735,1.4908,1.5024,1.5084 9.5%,1.5091,1.5061,1.4993,1.4886,1.4745,1.4565 11.11%,1.4082 11.7%,1.3585 12.2%,1.295 12.77%,1.0623 14.64%,0.9773,0.9031 16.08%,0.8449 16.73%,0.8014,0.7701 17.95%,0.7587,0.7501,0.7443,0.7412 19.16%,0.7421 19.68%,0.7508 20.21%,0.7672 20.77%,0.7917 21.37%,0.8169 21.87%,0.8492 22.43%,0.9681 24.32%,1.0114,1.0492 25.75%,1.0789 26.41%,1.1008,1.1167,1.1271,1.1317 28.81%,1.1314,1.1271 29.87%,1.1189 30.43%,1.1063 31.03%,1.0769 32.11%,0.9941 34.72%,0.9748 35.43%,0.9597 36.09%,0.9487,0.9407,0.9355,0.933 38.46%,0.9344 39.38%,0.9421 40.38%,0.9566 41.5%,0.9989 44.12%,1.0161 45.37%,1.029 46.75%,1.0341 48.1%,1.0335 49.04%,1.0295 50.05%,1.0221 51.18%,0.992 55.02%,0.9854 56.38%,0.9827 57.72%,0.985 59.73%,1.004 64.67%,1.0088 67.34%,1.0076 69.42%,0.9981 74.28%,0.9956 76.85%,0.9961 79.06%,1.0023 86.46%,0.999 95.22%,0.9994 100%)}*,:after,:before{--motion-origin-scale-x:100%;--motion-origin-scale-y:100%;--motion-origin-translate-x:0%;--motion-origin-translate-y:0%;--motion-origin-rotate:0deg;--motion-origin-blur:0px;--motion-origin-grayscale:0%;--motion-origin-opacity:100%;--motion-origin-background-color: ;--motion-origin-text-color: ;--motion-end-scale-x:100%;--motion-end-scale-y:100%;--motion-end-translate-x:0%;--motion-end-translate-y:0%;--motion-end-rotate:0deg;--motion-end-blur:0px;--motion-end-grayscale:0%;--motion-end-opacity:100%;--motion-end-background-color: ;--motion-end-text-color: ;--motion-loop-scale-x:100%;--motion-loop-scale-y:100%;--motion-loop-translate-x:0%;--motion-loop-translate-y:0%;--motion-loop-rotate:0deg;--motion-loop-blur:0px;--motion-loop-grayscale:0%;--motion-loop-opacity:100%;--motion-loop-background-color: ;--motion-loop-text-color: ;--motion-duration:750ms;--motion-timing:var(--motion-default-timing);--motion-perceptual-duration-multiplier:1;--motion-delay:0ms;--motion-loop-count:infinite;--motion-scale-duration:var(--motion-duration);--motion-scale-timing:var(--motion-timing);--motion-scale-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-scale-delay:var(--motion-delay);--motion-scale-loop-count:var(--motion-loop-count);--motion-translate-duration:var(--motion-duration);--motion-translate-timing:var(--motion-timing);--motion-translate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-translate-delay:var(--motion-delay);--motion-translate-loop-count:var(--motion-loop-count);--motion-rotate-duration:var(--motion-duration);--motion-rotate-timing:var(--motion-timing);--motion-rotate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-rotate-delay:var(--motion-delay);--motion-rotate-loop-count:var(--motion-loop-count);--motion-filter-duration:var(--motion-duration);--motion-filter-timing:var(--motion-timing);--motion-filter-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-filter-delay:var(--motion-delay);--motion-filter-loop-count:var(--motion-loop-count);--motion-opacity-duration:var(--motion-duration);--motion-opacity-timing:var(--motion-timing);--motion-opacity-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-opacity-delay:var(--motion-delay);--motion-opacity-loop-count:var(--motion-loop-count);--motion-background-color-duration:var(--motion-duration);--motion-background-color-timing:var(--motion-timing);--motion-background-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-background-color-delay:var(--motion-delay);--motion-background-color-loop-count:var(--motion-loop-count);--motion-text-color-duration:var(--motion-duration);--motion-text-color-timing:var(--motion-timing);--motion-text-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-text-color-delay:var(--motion-delay);--motion-text-color-loop-count:var(--motion-loop-count);--motion-scale-in-animation:none;--motion-translate-in-animation:none;--motion-rotate-in-animation:none;--motion-filter-in-animation:none;--motion-opacity-in-animation:none;--motion-background-color-in-animation:none;--motion-text-color-in-animation:none;--motion-scale-out-animation:none;--motion-translate-out-animation:none;--motion-rotate-out-animation:none;--motion-filter-out-animation:none;--motion-opacity-out-animation:none;--motion-background-color-out-animation:none;--motion-text-color-out-animation:none;--motion-scale-loop-animation:none;--motion-translate-loop-animation:none;--motion-rotate-loop-animation:none;--motion-filter-loop-animation:none;--motion-opacity-loop-animation:none;--motion-background-color-loop-animation:none;--motion-text-color-loop-animation:none;--motion-all-enter-animations:var(--motion-scale-in-animation),var(--motion-translate-in-animation),var(--motion-rotate-in-animation),var(--motion-filter-in-animation),var(--motion-opacity-in-animation),var(--motion-background-color-in-animation),var(--motion-text-color-in-animation);--motion-all-exit-animations:var(--motion-scale-out-animation),var(--motion-translate-out-animation),var(--motion-rotate-out-animation),var(--motion-filter-out-animation),var(--motion-opacity-out-animation),var(--motion-background-color-out-animation),var(--motion-text-color-out-animation);--motion-all-loop-animations:var(--motion-scale-loop-animation),var(--motion-translate-loop-animation),var(--motion-rotate-loop-animation),var(--motion-filter-loop-animation),var(--motion-opacity-loop-animation),var(--motion-background-color-loop-animation),var(--motion-text-color-loop-animation);--motion-all-loop-and-enter-animations:var(--motion-all-loop-animations),var(--motion-all-enter-animations);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--motion-origin-scale-x:100%;--motion-origin-scale-y:100%;--motion-origin-translate-x:0%;--motion-origin-translate-y:0%;--motion-origin-rotate:0deg;--motion-origin-blur:0px;--motion-origin-grayscale:0%;--motion-origin-opacity:100%;--motion-origin-background-color: ;--motion-origin-text-color: ;--motion-end-scale-x:100%;--motion-end-scale-y:100%;--motion-end-translate-x:0%;--motion-end-translate-y:0%;--motion-end-rotate:0deg;--motion-end-blur:0px;--motion-end-grayscale:0%;--motion-end-opacity:100%;--motion-end-background-color: ;--motion-end-text-color: ;--motion-loop-scale-x:100%;--motion-loop-scale-y:100%;--motion-loop-translate-x:0%;--motion-loop-translate-y:0%;--motion-loop-rotate:0deg;--motion-loop-blur:0px;--motion-loop-grayscale:0%;--motion-loop-opacity:100%;--motion-loop-background-color: ;--motion-loop-text-color: ;--motion-duration:750ms;--motion-timing:var(--motion-default-timing);--motion-perceptual-duration-multiplier:1;--motion-delay:0ms;--motion-loop-count:infinite;--motion-scale-duration:var(--motion-duration);--motion-scale-timing:var(--motion-timing);--motion-scale-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-scale-delay:var(--motion-delay);--motion-scale-loop-count:var(--motion-loop-count);--motion-translate-duration:var(--motion-duration);--motion-translate-timing:var(--motion-timing);--motion-translate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-translate-delay:var(--motion-delay);--motion-translate-loop-count:var(--motion-loop-count);--motion-rotate-duration:var(--motion-duration);--motion-rotate-timing:var(--motion-timing);--motion-rotate-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-rotate-delay:var(--motion-delay);--motion-rotate-loop-count:var(--motion-loop-count);--motion-filter-duration:var(--motion-duration);--motion-filter-timing:var(--motion-timing);--motion-filter-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-filter-delay:var(--motion-delay);--motion-filter-loop-count:var(--motion-loop-count);--motion-opacity-duration:var(--motion-duration);--motion-opacity-timing:var(--motion-timing);--motion-opacity-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-opacity-delay:var(--motion-delay);--motion-opacity-loop-count:var(--motion-loop-count);--motion-background-color-duration:var(--motion-duration);--motion-background-color-timing:var(--motion-timing);--motion-background-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-background-color-delay:var(--motion-delay);--motion-background-color-loop-count:var(--motion-loop-count);--motion-text-color-duration:var(--motion-duration);--motion-text-color-timing:var(--motion-timing);--motion-text-color-perceptual-duration-multiplier:var(--motion-perceptual-duration-multiplier);--motion-text-color-delay:var(--motion-delay);--motion-text-color-loop-count:var(--motion-loop-count);--motion-scale-in-animation:none;--motion-translate-in-animation:none;--motion-rotate-in-animation:none;--motion-filter-in-animation:none;--motion-opacity-in-animation:none;--motion-background-color-in-animation:none;--motion-text-color-in-animation:none;--motion-scale-out-animation:none;--motion-translate-out-animation:none;--motion-rotate-out-animation:none;--motion-filter-out-animation:none;--motion-opacity-out-animation:none;--motion-background-color-out-animation:none;--motion-text-color-out-animation:none;--motion-scale-loop-animation:none;--motion-translate-loop-animation:none;--motion-rotate-loop-animation:none;--motion-filter-loop-animation:none;--motion-opacity-loop-animation:none;--motion-background-color-loop-animation:none;--motion-text-color-loop-animation:none;--motion-all-enter-animations:var(--motion-scale-in-animation),var(--motion-translate-in-animation),var(--motion-rotate-in-animation),var(--motion-filter-in-animation),var(--motion-opacity-in-animation),var(--motion-background-color-in-animation),var(--motion-text-color-in-animation);--motion-all-exit-animations:var(--motion-scale-out-animation),var(--motion-translate-out-animation),var(--motion-rotate-out-animation),var(--motion-filter-out-animation),var(--motion-opacity-out-animation),var(--motion-background-color-out-animation),var(--motion-text-color-out-animation);--motion-all-loop-animations:var(--motion-scale-loop-animation),var(--motion-translate-loop-animation),var(--motion-rotate-loop-animation),var(--motion-filter-loop-animation),var(--motion-opacity-loop-animation),var(--motion-background-color-loop-animation),var(--motion-text-color-loop-animation);--motion-all-loop-and-enter-animations:var(--motion-all-loop-animations),var(--motion-all-enter-animations);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-blue{--tw-prose-links:#2563eb;--tw-prose-invert-links:#3b82f6}.motion-preset-slide-right{--motion-origin-translate-x:-25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.motion-preset-pop{--motion-origin-scale-x:50%;--motion-origin-scale-y:50%;--motion-origin-opacity:0;--motion-scale-timing:var(--motion-spring-bouncier);--motion-scale-perceptual-duration-multiplier:2.035;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-scale-in-animation:motion-scale-in calc(var(--motion-scale-duration)*var(--motion-scale-perceptual-duration-multiplier)) var(--motion-scale-timing) var(--motion-scale-delay) both;animation:var(--motion-all-loop-and-enter-animations)}@keyframes RomboConfettiPop{0%{opacity:0;transform:scale(1)}33%{opacity:1;transform:scale(1.15)}50%{transform:scale(.975)}65%{transform:scale(1.025)}80%{transform:scale(.99)}87%{transform:scale(1.01)}to{opacity:1;transform:scale(1)}}@keyframes topfetti{0%{background-position:5% 90%,10% 90%,10% 90%,15% 90%,25% 90%,25% 90%,40% 90%,55% 90%,70% 90%}50%{background-position:0 80%,0 20%,10% 40%,20% 0,30% 30%,22% 50%,50% 50%,65% 20%,90% 30%}to{background-position:0 70%,0 10%,10% 30%,20% -10%,30% 20%,22% 40%,50% 40%,65% 10%,90% 20%;background-size:0 0,0 0,0 0,0 0,0 0,0 0}}@keyframes bottomfetti{0%{background-position:10% -10%,30% 10%,55% -10%,70% -10%,85% -10%,70% -10%,70% 0}50%{background-position:0 80%,20% 80%,45% 60%,60% 100%,75% 70%,95% 60%,105% 0}to{background-position:0 90%,20% 90%,45% 70%,60% 110%,75% 80%,95% 70%,110% 10%;background-size:0 0,0 0,0 0,0 0,0 0,0 0}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.z-20{z-index:20}.z-50{z-index:50}.m-2{margin:.5rem}.m-4{margin:1rem}.m-8{margin:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.hidden{display:none}.h-\[40rem\]{height:40rem}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-\[4rem\]{min-width:4rem}.min-w-full{min-width:100%}.max-w-\[12rem\]{max-width:12rem}.max-w-\[20rem\]{max-width:20rem}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-gray-900\/80{background-color:rgba(17,24,39,.8)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-violet-600{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:rgba(124,58,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-semibold{font-weight:600}.tracking-tight{letter-spacing:-.025em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media screen and (prefers-reduced-motion:no-preference){@keyframes motion-scale-in{0%{scale:var(--motion-origin-scale-x) var(--motion-origin-scale-y)}to{scale:1 1}}@keyframes motion-scale-out{0%{scale:1 1}to{scale:var(--motion-end-scale-x) var(--motion-end-scale-y)}}@keyframes motion-scale-loop-mirror{0%,to{scale:1 1}50%{scale:var(--motion-loop-scale-x) var(--motion-loop-scale-y)}}@keyframes motion-scale-loop-reset{0%{scale:1 1}to{scale:var(--motion-loop-scale-x) var(--motion-loop-scale-y)}}@keyframes motion-translate-in{0%{translate:var(--motion-origin-translate-x) var(--motion-origin-translate-y)}to{translate:0 0}}@keyframes motion-translate-out{0%{translate:0 0}to{translate:var(--motion-end-translate-x) var(--motion-end-translate-y)}}@keyframes motion-translate-loop-mirror{0%,to{translate:0 0}50%{translate:var(--motion-loop-translate-x) var(--motion-loop-translate-y)}}@keyframes motion-translate-loop-reset{0%{translate:0 0}to{translate:var(--motion-loop-translate-x) var(--motion-loop-translate-y)}}@keyframes motion-rotate-in{0%{rotate:var(--motion-origin-rotate)}to{rotate:0}}@keyframes motion-rotate-out{0%{rotate:0}to{rotate:var(--motion-end-rotate)}}@keyframes motion-rotate-loop-mirror{0%,to{rotate:0deg}50%{rotate:var(--motion-loop-rotate)}}@keyframes motion-rotate-loop-reset{to{rotate:var(--motion-loop-rotate)}}}@keyframes motion-filter-in{0%{filter:blur(var(--motion-origin-blur)) grayscale(var(--motion-origin-grayscale))}to{filter:blur(0) grayscale(0)}}@keyframes motion-filter-out{0%{filter:blur(0) grayscale(0)}to{filter:blur(var(--motion-end-blur)) grayscale(var(--motion-end-grayscale))}}@keyframes motion-filter-loop-mirror{0%,to{filter:blur(0) grayscale(0)}50%{filter:blur(var(--motion-loop-blur)) grayscale(var(--motion-loop-grayscale))}}@keyframes motion-filter-loop-reset{0%{filter:blur(0) grayscale(0)}to{filter:blur(var(--motion-loop-blur)) grayscale(var(--motion-loop-grayscale))}}@keyframes motion-opacity-in{0%{opacity:var(--motion-origin-opacity)}}@keyframes motion-opacity-out{to{opacity:var(--motion-end-opacity)}}@keyframes motion-opacity-loop-mirror{50%{opacity:var(--motion-loop-opacity)}}@keyframes motion-opacity-loop-reset{to{opacity:var(--motion-loop-opacity)}}@keyframes motion-background-color-in{0%{background-color:var(--motion-origin-background-color)}}@keyframes motion-background-color-out{to{background-color:var(--motion-end-background-color)}}@keyframes motion-background-color-loop-mirror{50%{background-color:var(--motion-loop-background-color)}}@keyframes motion-background-color-loop-reset{to{background-color:var(--motion-loop-background-color)}}@keyframes motion-text-color-in{0%{color:var(--motion-origin-text-color)}}@keyframes motion-text-color-out{to{color:var(--motion-end-text-color)}}@keyframes motion-text-color-loop-mirror{50%{color:var(--motion-loop-text-color)}}@keyframes motion-text-color-loop-reset{to{color:var(--motion-loop-text-color)}}.-motion-translate-x-in-100{--motion-origin-translate-x:-100%;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.motion-translate-y-in-75{--motion-origin-translate-y:75%;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.motion-duration-1000{--motion-duration:1000ms}.motion-duration-2000{--motion-duration:2000ms}.motion-delay-100{--motion-delay:100ms}.motion-delay-200{--motion-delay:200ms}.motion-delay-75{--motion-delay:75ms}.my-animate{opacity:1!important;transform:translateY(0)!important}.hidden-for-animation,.my-animate{transition:opacity .3s ease,transform .3s ease}.hidden-for-animation{opacity:0;transform:translateY(20px)}.odd\:motion-preset-slide-left:nth-child(odd){--motion-origin-translate-x:25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.even\:motion-preset-slide-right:nth-child(2n),.odd\:motion-preset-slide-right-md:nth-child(odd){--motion-origin-translate-x:-25%;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}.even\:motion-preset-rebound:nth-child(2n){--motion-origin-translate-x:25%;--motion-translate-timing:var(--motion-spring-bouncier);--motion-translate-perceptual-duration-multiplier:2.035;--motion-origin-opacity:0;--motion-opacity-in-animation:motion-opacity-in calc(var(--motion-opacity-duration)*var(--motion-opacity-perceptual-duration-multiplier)) var(--motion-opacity-timing) var(--motion-opacity-delay) both;--motion-translate-in-animation:motion-translate-in calc(var(--motion-translate-duration)*var(--motion-translate-perceptual-duration-multiplier)) var(--motion-translate-timing) var(--motion-translate-delay) both;animation:var(--motion-all-loop-and-enter-animations)}@media (min-width:768px){.md\:prose-lg{font-size:1.125rem;line-height:1.7777778}.md\:prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.md\:prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.md\:prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.md\:prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.md\:prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.md\:prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.md\:prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.md\:prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.md\:prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.md\:prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.md\:prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.md\:prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.md\:prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.md\:prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.md\:prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.md\:prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.md\:prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.md\:prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.md\:prose-lg :where(.md\:prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.md\:prose-lg :where(.md\:prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.md\:prose-lg :where(.md\:prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.md\:prose-lg :where(.md\:prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.md\:prose-lg :where(.md\:prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.md\:prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.md\:prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.md\:prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.md\:prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.md\:prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.md\:prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.md\:prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.md\:prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.md\:prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.md\:prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.md\:prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.md\:prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.md\:prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.md\:prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.md\:prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.md\:prose-lg :where(.md\:prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.md\:prose-lg :where(.md\:prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}@media (min-width:1024px){.lg\:prose-lg{font-size:1.125rem;line-height:1.7777778}.lg\:prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.lg\:prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.lg\:prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.lg\:prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.lg\:prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.lg\:prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.lg\:prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.lg\:prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.lg\:prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.lg\:prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.lg\:prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.lg\:prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.lg\:prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.lg\:prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.lg\:prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.lg\:prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.lg\:prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.lg\:prose-lg :where(.lg\:prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.lg\:prose-lg :where(.lg\:prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.lg\:prose-lg :where(.lg\:prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.lg\:prose-lg :where(.lg\:prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.lg\:prose-lg :where(.lg\:prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.lg\:prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.lg\:prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.lg\:prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.lg\:prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.lg\:prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.lg\:prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.lg\:prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.lg\:prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.lg\:prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.lg\:prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.lg\:prose-lg :where(.lg\:prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-lg :where(.lg\:prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lg\:prose-xl{font-size:1.25rem;line-height:1.8}.lg\:prose-xl :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.lg\:prose-xl :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2em;line-height:1.5;margin-bottom:1em;margin-top:1em}.lg\:prose-xl :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1.0666667em}.lg\:prose-xl :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.8em;line-height:1;margin-bottom:.8571429em;margin-top:0}.lg\:prose-xl :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.8em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:1.5555556em}.lg\:prose-xl :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:.6666667em;margin-top:1.6em}.lg\:prose-xl :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.6;margin-bottom:.6em;margin-top:1.8em}.lg\:prose-xl :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-xl :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.9em;padding-inline-end:.4em;padding-bottom:.25em;padding-top:.25em;padding-inline-start:.4em}.lg\:prose-xl :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.lg\:prose-xl :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8611111em}.lg\:prose-xl :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.lg\:prose-xl :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.5rem;font-size:.9em;line-height:1.7777778;margin-bottom:2em;margin-top:2em;padding-inline-end:1.3333333em;padding-bottom:1.1111111em;padding-top:1.1111111em;padding-inline-start:1.3333333em}.lg\:prose-xl :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.lg\:prose-xl :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.lg\:prose-xl :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6em;margin-top:.6em}.lg\:prose-xl :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.lg\:prose-xl :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.lg\:prose-xl :where(.lg\:prose-xl>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.lg\:prose-xl :where(.lg\:prose-xl>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.lg\:prose-xl :where(.lg\:prose-xl>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.lg\:prose-xl :where(.lg\:prose-xl>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.lg\:prose-xl :where(.lg\:prose-xl>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.lg\:prose-xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.lg\:prose-xl :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.lg\:prose-xl :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.lg\:prose-xl :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;padding-inline-start:1.6em}.lg\:prose-xl :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8em;margin-top:2.8em}.lg\:prose-xl :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556}.lg\:prose-xl :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-inline-start:.6666667em}.lg\:prose-xl :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-xl :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-xl :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-top:.8888889em;padding-inline-start:.6666667em}.lg\:prose-xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.lg\:prose-xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.lg\:prose-xl :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.lg\:prose-xl :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.lg\:prose-xl :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556;margin-top:1em}.lg\:prose-xl :where(.lg\:prose-xl>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.lg\:prose-xl :where(.lg\:prose-xl>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}@media (min-width:1280px){.xl\:prose-xl{font-size:1.25rem;line-height:1.8}.xl\:prose-xl :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.xl\:prose-xl :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2em;line-height:1.5;margin-bottom:1em;margin-top:1em}.xl\:prose-xl :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1.0666667em}.xl\:prose-xl :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.8em;line-height:1;margin-bottom:.8571429em;margin-top:0}.xl\:prose-xl :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.8em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:1.5555556em}.xl\:prose-xl :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:.6666667em;margin-top:1.6em}.xl\:prose-xl :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.6;margin-bottom:.6em;margin-top:1.8em}.xl\:prose-xl :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.xl\:prose-xl :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.9em;padding-inline-end:.4em;padding-bottom:.25em;padding-top:.25em;padding-inline-start:.4em}.xl\:prose-xl :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.xl\:prose-xl :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8611111em}.xl\:prose-xl :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.xl\:prose-xl :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.5rem;font-size:.9em;line-height:1.7777778;margin-bottom:2em;margin-top:2em;padding-inline-end:1.3333333em;padding-bottom:1.1111111em;padding-top:1.1111111em;padding-inline-start:1.3333333em}.xl\:prose-xl :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.xl\:prose-xl :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-inline-start:1.6em}.xl\:prose-xl :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6em;margin-top:.6em}.xl\:prose-xl :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.xl\:prose-xl :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4em}.xl\:prose-xl :where(.xl\:prose-xl>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.xl\:prose-xl :where(.xl\:prose-xl>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.xl\:prose-xl :where(.xl\:prose-xl>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.xl\:prose-xl :where(.xl\:prose-xl>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.xl\:prose-xl :where(.xl\:prose-xl>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em}.xl\:prose-xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.xl\:prose-xl :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.xl\:prose-xl :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em}.xl\:prose-xl :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;padding-inline-start:1.6em}.xl\:prose-xl :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8em;margin-top:2.8em}.xl\:prose-xl :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556}.xl\:prose-xl :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-inline-start:.6666667em}.xl\:prose-xl :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.xl\:prose-xl :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.xl\:prose-xl :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.6666667em;padding-bottom:.8888889em;padding-top:.8888889em;padding-inline-start:.6666667em}.xl\:prose-xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.xl\:prose-xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.xl\:prose-xl :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.xl\:prose-xl :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.xl\:prose-xl :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em;line-height:1.5555556;margin-top:1em}.xl\:prose-xl :where(.xl\:prose-xl>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.xl\:prose-xl :where(.xl\:prose-xl>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}@media (prefers-color-scheme:dark){.dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}.odd\:motion-delay-100:nth-child(odd){--motion-delay:100ms}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}@media (min-width:640px){.sm\:justify-center{justify-content:center}}@media (min-width:768px){.md\:m-0{margin:0}.md\:mb-0{margin-bottom:0}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-fit{width:-moz-fit-content;width:fit-content}.md\:max-w-\[50hw\]{max-width:50hw}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-start{justify-content:flex-start}.md\:p-16{padding:4rem}.md\:text-left{text-align:left}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:p-20{padding:5rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}} \ No newline at end of file diff --git a/assets/views/website/create-project.html b/assets/views/website/create-project.html new file mode 100644 index 0000000..fa7f055 --- /dev/null +++ b/assets/views/website/create-project.html @@ -0,0 +1,36 @@ +{% extends "website/base.html" %} {% block content %} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+{% endblock content%} \ No newline at end of file diff --git a/assets/views/website/macros/image_carousel.html b/assets/views/website/macros/image-carousel.html similarity index 100% rename from assets/views/website/macros/image_carousel.html rename to assets/views/website/macros/image-carousel.html diff --git a/assets/views/website/macros/project-item.html b/assets/views/website/macros/project-item.html new file mode 100644 index 0000000..1fb12c9 --- /dev/null +++ b/assets/views/website/macros/project-item.html @@ -0,0 +1,202 @@ +{% import "website/macros/chip.html" as chip %} +{% import "website/macros/image-carousel.html" as image_carousel %} +{% macro project_item(project) %} + + +
+
+
+

{{ project.name }}

+

{{ project.short_description }}

+
+
+ {% for technology in project.technologies %} + {{ chip::chip(text=technology) }} + {% endfor %} +
+ Read more +
+ {% if project.github_url %} + + + + + + CODE + + {% endif %} + {% if project.visit_url %} + + + + + + LIVE + + {% endif %} + {% if project.download_url %} + + + + + + + DOWNLOAD + + {% endif %} +
+ {% if project.thumbnails|length > 0 %} +
+ {% set carousel_id = "carousel-mobile-" ~ project.id %} + {{ image_carousel::image_carousel(id=carousel_id, thumbnails=project.thumbnails) }} +
+ {% endif %} + {% if project.thumbnails|length == 0 %} +
+
+ {% if project.category == "Desktop" %} + + + + + + + {% endif %} + {% if project.category == "Mobile" %} + + + + + {%endif%} + {% if project.category == "Web" %} + + + + + + {%endif%} + {% if project.category == "Api" %} + + + + + + + + + + + + + + + {%endif%} + {% if project.category == "Game" %} + + + + + + + + {%endif%} +
+
+ {% endif %} +
+ {% if project.thumbnails|length > 0 %} + + {% endif %} + {% if project.thumbnails|length == 0 %} + + {% endif %} +
+{% endmacro project_item %} \ No newline at end of file diff --git a/assets/views/website/macros/project_item.html b/assets/views/website/macros/project_item.html deleted file mode 100644 index 54f8a78..0000000 --- a/assets/views/website/macros/project_item.html +++ /dev/null @@ -1,112 +0,0 @@ -{% import "website/macros/chip.html" as chip %} -{% import "website/macros/image_carousel.html" as image_carousel %} -{% macro project_item(project) %} - - -
-
-
-

{{ project.name }}

-

{{ project.short_description }}

-
-
- {% for technology in project.technologies %} - {{ chip::chip(text=technology) }} - {% endfor %} -
- Read more -
- {% if project.github_url %} - - - - - - CODE - - {% endif %} - {% if project.visit_url %} - - - - - - LIVE - - {% endif %} - {% if project.download_url %} - - - - - - - DOWNLOAD - - {% endif %} -
- {% if project.thumbnails|length > 0 %} -
- {% set carousel_id = "carousel-mobile-" ~ project.id %} - {{ image_carousel::image_carousel(id=carousel_id, thumbnails=project.thumbnails) }} -
- {% endif %} - {% if project.thumbnails|length == 0 %} -
-
- {% if project.category == "Desktop" %} - - {% endif %} - {% if project.category == "Mobile" %} - - {%endif%} - {% if project.category == "Web" %} - - {%endif%} - {% if project.category == "Api" %} - - {%endif%} - {% if project.category == "Game" %} - - {%endif%} -
-
- {% endif %} -
- {% if project.thumbnails|length > 0 %} - - {% endif %} - {% if project.thumbnails|length == 0 %} - - {% endif %} -
-{% endmacro project_item %} \ No newline at end of file diff --git a/assets/views/website/project_detail.html b/assets/views/website/project-detail.html similarity index 70% rename from assets/views/website/project_detail.html rename to assets/views/website/project-detail.html index a6c0003..0cd42ac 100644 --- a/assets/views/website/project_detail.html +++ b/assets/views/website/project-detail.html @@ -36,8 +36,9 @@ {% if project.github_url %} - + @@ -47,9 +48,10 @@ {% endif %} {% if project.visit_url %} - + class="flex items-center justify-center w-full gap-1 p-2 text-center border border-yellow-400 jus rounded-xl hover:bg-yellow-400"> + @@ -58,16 +60,17 @@ {% endif %} {% if project.download_url %} - - - - - - - DOWNLOAD - + + + + + + + DOWNLOAD + {% endif %} {% endif %} diff --git a/assets/views/website/projects.html b/assets/views/website/projects.html index f535036..25175ea 100644 --- a/assets/views/website/projects.html +++ b/assets/views/website/projects.html @@ -1,4 +1,4 @@ -{% import "website/macros/project_item.html" as project_item %} +{% import "website/macros/project-item.html" as project_item %} {% extends "website/base.html" %} {% block content %}
diff --git a/src/app.rs b/src/app.rs index 989ebce..b629bd5 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,4 +1,3 @@ -use core::task; use std::path::Path; use async_trait::async_trait; @@ -49,6 +48,7 @@ impl Hooks for App { fn routes(_ctx: &AppContext) -> AppRoutes { AppRoutes::with_default_routes() // controller routes below + .add_route(controllers::project::routes()) .add_route(controllers::data::routes()) .add_route(controllers::auth::routes()) .add_route(controllers::website::routes()) @@ -76,6 +76,7 @@ impl Hooks for App { tasks.register(tasks::add_data_file::AddDataFile); tasks.register(tasks::delete_data::DeleteData); tasks.register(tasks::clear_data::ClearData); + tasks.register(tasks::delete_project::DeleteProject); } async fn truncate(db: &DatabaseConnection) -> Result<()> { @@ -87,4 +88,4 @@ impl Hooks for App { db::seed::(db, &base.join("users.yaml").display().to_string()).await?; Ok(()) } -} +} \ No newline at end of file diff --git a/src/controllers/mod.rs b/src/controllers/mod.rs index a19094d..f7d7a76 100644 --- a/src/controllers/mod.rs +++ b/src/controllers/mod.rs @@ -1,4 +1,5 @@ pub mod auth; pub mod website; -pub mod data; \ No newline at end of file +pub mod data; +pub mod project; \ No newline at end of file diff --git a/src/controllers/project.rs b/src/controllers/project.rs new file mode 100644 index 0000000..4588506 --- /dev/null +++ b/src/controllers/project.rs @@ -0,0 +1,46 @@ +#![allow(clippy::missing_errors_doc)] +#![allow(clippy::unnecessary_struct_initialization)] +#![allow(clippy::unused_async)] +use loco_rs::prelude::*; + +use crate::{ + models::{ + projects::{get_category_from_string, CreateProject, CreateProjectForm}, + users, + }, + services, + shared::get_technologies_from_string::get_technologies_from_string, +}; + +async fn create_project( + auth: auth::JWT, + State(ctx): State, + Form(project_data): Form, +) -> Result { + match users::Model::find_by_pid(&ctx.db, &auth.claims.pid).await { + Ok(_) => {} + Err(_) => return unauthorized("Unauthorized"), + } + + let technologies = get_technologies_from_string(&project_data.technologies); + + let project_data = CreateProject { + name: project_data.name, + description: project_data.description, + technologies, + category: get_category_from_string(&project_data.category), + download_url: project_data.download_url, + github_url: project_data.github_url, + visit_url: project_data.visit_url, + short_description: project_data.short_description, + }; + + let project = services::projects::add_project(&ctx, project_data).await?; + format::json(&project) +} + +pub fn routes() -> Routes { + Routes::new() + .prefix("api/projects/") + .add("/", post(create_project)) +} diff --git a/src/controllers/website.rs b/src/controllers/website.rs index 7e7d3f4..4aa015e 100644 --- a/src/controllers/website.rs +++ b/src/controllers/website.rs @@ -35,7 +35,7 @@ pub async fn render_projects( ViewEngine(v): ViewEngine, State(ctx): State, ) -> Result { - views::website::projects(v, &ctx).await + views::projects::projects(v, &ctx).await } pub async fn render_project_detail( @@ -43,7 +43,7 @@ pub async fn render_project_detail( State(ctx): State, Path(id): Path, ) -> Result { - views::website::project_detail(v, &ctx, id).await + views::projects::project_detail(v, &ctx, id).await } pub async fn render_project_detail_from_name( @@ -51,7 +51,13 @@ pub async fn render_project_detail_from_name( State(ctx): State, Path(name): Path, ) -> Result { - views::website::project_detail_from_name(v, &ctx, name).await + views::projects::project_detail_from_name(v, &ctx, name).await +} + +pub async fn render_create_project( + ViewEngine(v): ViewEngine, +) -> Result { + views::projects::create_project(v).await } pub async fn render_data( @@ -73,6 +79,7 @@ pub fn routes() -> Routes { .add("/upload", get(render_upload)) .add("/login", get(render_login)) .add("/projects", get(render_projects)) + .add("/projects/create", get(render_create_project)) .add("/projects/:id", get(render_project_detail)) .add("/projects/project/:name", get(render_project_detail_from_name)) .add("/data", get(render_data)) diff --git a/src/models/projects.rs b/src/models/projects.rs index 9bc3c7b..eb6d19a 100644 --- a/src/models/projects.rs +++ b/src/models/projects.rs @@ -42,6 +42,30 @@ pub struct CreateProject { pub technologies: Vec, } +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct CreateProjectForm { + pub name: String, + pub short_description: String, + pub description: Option, + pub category: String, + pub github_url: Option, + pub download_url: Option, + pub visit_url: Option, + pub technologies: String, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct UpdateProject { + pub name: Option, + pub short_description: Option, + pub description: Option, + pub category: Option, + pub github_url: Option, + pub download_url: Option, + pub visit_url: Option, + pub technologies: Option>, +} + pub fn get_category_from_string(category: &str) -> Category { match category { "Web" => Category::Web, diff --git a/src/services/data.rs b/src/services/data.rs index 824abc0..12d9b83 100644 --- a/src/services/data.rs +++ b/src/services/data.rs @@ -224,5 +224,24 @@ pub async fn delete_multiple_data_by_file_names( for file_name in file_names { delete_data_by_file_name(&file_name, &ctx).await?; } + Ok(()) +} + +pub async fn delete_data_by_id(id: i32, ctx: &AppContext) -> ModelResult<()> { + let data = Entity::find().filter(data::Column::Id.eq(id)).one(&ctx.db).await?; + + match data { + Some(data) => { + let path = PathBuf::from(&data.file_url); + match ctx.storage.as_ref().delete(&path).await { + Ok(_) => {} + Err(_) => return Err(ModelError::Any("Failed to delete file from storage".into())), + } + + data.delete(&ctx.db).await?; + } + None => return Err(ModelError::EntityNotFound), + } + Ok(()) } \ No newline at end of file diff --git a/src/services/projects.rs b/src/services/projects.rs index 98ded7e..9ceeac9 100644 --- a/src/services/projects.rs +++ b/src/services/projects.rs @@ -6,23 +6,24 @@ use crate::{ project_thumbnails, projects::{self, ActiveModel, Entity, Model}, }, - projects::{get_category_from_string, get_string_from_category, Category, CreateProject, ProjectDto}, - }, - shared::get_technologies_from_string::get_technologies_from_string, + projects::{get_category_from_string, get_string_from_category, CreateProject, ProjectDto, UpdateProject}, + }, services::data::add_data_file_from_path, shared::get_technologies_from_string::get_technologies_from_string }; -pub async fn get_all_projects(ctx: &AppContext) -> Result> { +use super::data::delete_data_by_id; + +pub async fn get_all_projects(ctx: &AppContext) -> ModelResult> { let projects = Entity::find().all(&ctx.db).await?; Ok(projects) } -pub async fn get_project_by_id(ctx: &AppContext, id: i32) -> Result { +pub async fn get_project_by_id(ctx: &AppContext, id: i32) -> ModelResult { let project = Entity::find_by_id(id).one(&ctx.db).await?; let project = project.ok_or_else(|| ModelError::EntityNotFound)?; Ok(project) } -pub async fn get_project_by_name(ctx: &AppContext, name: &str) -> Result { +pub async fn get_project_by_name(ctx: &AppContext, name: &str) -> ModelResult { let project = Entity::find() .filter(projects::Column::Name.contains(name)) .one(&ctx.db) @@ -31,7 +32,7 @@ pub async fn get_project_by_name(ctx: &AppContext, name: &str) -> Result Ok(project) } -pub async fn get_archived_projects(ctx: &AppContext) -> Result> { +pub async fn get_archived_projects(ctx: &AppContext) -> ModelResult> { let archived_projects = Entity::find() .filter( model::query::condition() @@ -43,7 +44,7 @@ pub async fn get_archived_projects(ctx: &AppContext) -> Result> { Ok(archived_projects) } -pub async fn get_highlighted_projects(ctx: &AppContext) -> Result> { +pub async fn get_highlighted_projects(ctx: &AppContext) -> ModelResult> { let highlighted_projects = Entity::find() .filter( model::query::condition() @@ -161,3 +162,124 @@ pub async fn add_project( Ok(item) } + +pub async fn add_project_with_thumbnails( + ctx: &AppContext, + thumbnails_paths: Vec, + data: CreateProject, +) -> Result<()> { + let txn = ctx.db.begin().await?; + + let project = add_project(ctx, data).await?; + let project_id = project.id; + for thumbnail_path in thumbnails_paths { + let thumbnail_data = add_data_file_from_path(ctx, &thumbnail_path, "thumbnail.png", false, true).await?; + + let thumbnail = project_thumbnails::ActiveModel { + project_id: Set(project_id), + data_id: Set(thumbnail_data.id), + ..Default::default() + }; + + thumbnail.insert(&txn).await?; + } + + txn.commit().await?; + + Ok(()) +} + +pub async fn update_project( + ctx: &AppContext, + id: i32, + data: UpdateProject, +) -> ModelResult { + let item = get_project_by_id(ctx, id).await?; + let mut item = item.into_active_model(); + + if let Some(name) = data.name { + item.name = Set(name); + } + if let Some(short_description) = data.short_description { + item.short_description = Set(short_description); + } + item.description = Set(data.description); + + if let Some(category) = data.category { + item.category = Set(get_string_from_category(&category)); + } + + item.github_url = Set(data.github_url); + item.download_url = Set(data.download_url); + item.visit_url = Set(data.visit_url); + if let Some(technologies) = data.technologies { + item.technology = Set(technologies.join(",")); + } + + let item = item.update(&ctx.db).await?; + Ok(item) +} + +pub async fn update_thumbnails_for_project( + ctx: &AppContext, + id: i32, + thumbnails_paths: Vec, +) -> Result<()> { + let txn = ctx.db.begin().await?; + + let project = get_project_by_id(ctx, id).await?; + let project_id = project.id; + let thumbnails = project + .find_related(project_thumbnails::Entity) + .all(&ctx.db) + .await?; + + for thumbnail in thumbnails { + let _ = delete_data_by_id(thumbnail.data_id, ctx); + let _ = thumbnail.delete(&txn).await?; + } + + for thumbnail_path in thumbnails_paths { + let thumbnail_data = add_data_file_from_path(ctx, &thumbnail_path, "thumbnail.png", false, true).await?; + + let thumbnail = project_thumbnails::ActiveModel { + project_id: Set(project_id), + data_id: Set(thumbnail_data.id), + ..Default::default() + }; + + thumbnail.insert(&txn).await?; + } + + txn.commit().await?; + + Ok(()) +} + +pub async fn delete_project(ctx: &AppContext, id: i32) -> Result<()> { + let item = get_project_by_id(ctx, id).await?; + let thumbnails = item.find_related(project_thumbnails::Entity).all(&ctx.db).await?; + let thumbnails_data_ids = thumbnails.into_iter().map(|thumbnail| thumbnail.data_id).collect::>(); + for data_id in thumbnails_data_ids { + let _ = delete_data_by_id(data_id, ctx); + } + + let _ = item.delete(&ctx.db).await?; + + Ok(()) +} + +pub async fn delete_thumbnails_for_project(ctx: &AppContext, id: i32) -> Result<()> { + let project = get_project_by_id(ctx, id).await?; + let thumbnails = project + .find_related(project_thumbnails::Entity) + .all(&ctx.db) + .await?; + + for thumbnail in thumbnails { + let _ = delete_data_by_id(thumbnail.data_id, ctx); + let _ = thumbnail.delete(&ctx.db).await?; + } + + Ok(()) +} \ No newline at end of file diff --git a/src/tasks/delete_project.rs b/src/tasks/delete_project.rs new file mode 100644 index 0000000..083c463 --- /dev/null +++ b/src/tasks/delete_project.rs @@ -0,0 +1,30 @@ +use loco_rs::prelude::*; + +use crate::services::projects; + +pub struct DeleteProject; + +#[async_trait] +impl Task for DeleteProject { + fn task(&self) -> TaskInfo { + TaskInfo { + name: "delete_project".to_string(), + detail: "Task for deleting a project".to_string(), + } + } + + async fn run(&self, app_context: &AppContext, vars: &task::Vars) -> Result<()> { + let project_id = vars.cli_arg("id")?; + let project_id = project_id.parse::(); + + let project_id = match project_id { + Ok(project_id) => project_id, + Err(_) => return Err(Error::Any("Invalid project ID".into())), + }; + + projects::delete_project(app_context, project_id).await?; + + tracing::info!("Project {} deleted successfully", project_id); + Ok(()) + } +} \ No newline at end of file diff --git a/src/tasks/mod.rs b/src/tasks/mod.rs index 81160c6..63afb3c 100644 --- a/src/tasks/mod.rs +++ b/src/tasks/mod.rs @@ -4,4 +4,5 @@ pub mod create_skill; pub mod create_user; pub mod seed; pub mod clear_data; -pub mod delete_data; \ No newline at end of file +pub mod delete_data; +pub mod delete_project; \ No newline at end of file diff --git a/src/views/mod.rs b/src/views/mod.rs index c6b6c71..6f9d696 100644 --- a/src/views/mod.rs +++ b/src/views/mod.rs @@ -1,3 +1,4 @@ pub mod auth; pub mod data; pub mod website; +pub mod projects; \ No newline at end of file diff --git a/src/views/projects.rs b/src/views/projects.rs new file mode 100644 index 0000000..be66b65 --- /dev/null +++ b/src/views/projects.rs @@ -0,0 +1,24 @@ +use loco_rs::prelude::*; +use crate::services; + +pub async fn projects(v: impl ViewRenderer, ctx: &AppContext) -> Result { + let projects = services::projects::get_all_projects_dto(ctx).await?; + + format::render().view(&v, "website/projects.html", data!({"projects": projects})) +} + +pub async fn project_detail(v: impl ViewRenderer, ctx: &AppContext, id: i32) -> Result { + let project = services::projects::get_project_dto(ctx, id).await?; + + format::render().view(&v, "website/project-detail.html", data!({"project": project})) +} + +pub async fn project_detail_from_name(v: impl ViewRenderer, ctx: &AppContext, name: String) -> Result { + let project = services::projects::get_project_dto_by_name(ctx, &name).await?; + + format::render().view(&v, "website/project-detail.html", data!({"project": project})) +} + +pub async fn create_project(v: impl ViewRenderer) -> Result { + format::render().view(&v, "website/create-project.html", data!({})) +} \ No newline at end of file diff --git a/src/views/website.rs b/src/views/website.rs index 99565f5..babfe90 100644 --- a/src/views/website.rs +++ b/src/views/website.rs @@ -13,24 +13,6 @@ pub async fn index(v: impl ViewRenderer, ctx: &AppContext) -> Result Result { - let projects = services::projects::get_all_projects_dto(ctx).await?; - - format::render().view(&v, "website/projects.html", data!({"projects": projects})) -} - -pub async fn project_detail(v: impl ViewRenderer, ctx: &AppContext, id: i32) -> Result { - let project = services::projects::get_project_dto(ctx, id).await?; - - format::render().view(&v, "website/project_detail.html", data!({"project": project})) -} - -pub async fn project_detail_from_name(v: impl ViewRenderer, ctx: &AppContext, name: String) -> Result { - let project = services::projects::get_project_dto_by_name(ctx, &name).await?; - - format::render().view(&v, "website/project_detail.html", data!({"project": project})) -} - pub async fn about(v: impl ViewRenderer) -> Result { let age = services::website::get_current_age(); diff --git a/tests/requests/mod.rs b/tests/requests/mod.rs index 5abdf06..2f1a225 100644 --- a/tests/requests/mod.rs +++ b/tests/requests/mod.rs @@ -1,4 +1,5 @@ mod auth; mod prepare_data; -pub mod data; \ No newline at end of file +pub mod data; +pub mod project; \ No newline at end of file diff --git a/tests/requests/project.rs b/tests/requests/project.rs new file mode 100644 index 0000000..0a2c846 --- /dev/null +++ b/tests/requests/project.rs @@ -0,0 +1,17 @@ +use gabrielkaszewski_rs::app::App; +use loco_rs::testing; +use serial_test::serial; + +#[tokio::test] +#[serial] +async fn can_get_projects() { + testing::request::(|request, _ctx| async move { + let res = request.get("/projects/").await; + assert_eq!(res.status_code(), 200); + + // you can assert content like this: + // assert_eq!(res.text(), "content"); + }) + .await; +} +