*, ::before, ::after {
  --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: rgb(59 130 246 / 0.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 {
  --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: rgb(59 130 246 / 0.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:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

input::placeholder,textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

::-webkit-datetime-edit {
  display: inline-flex;
}

::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

[multiple],[size]:where(select:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}

[type='checkbox'],[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

[type='checkbox'] {
  border-radius: 0px;
}

[type='radio'] {
  border-radius: 100%;
}

[type='checkbox']:focus,[type='radio']:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

[type='checkbox']:checked,[type='radio']:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

[type='checkbox']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

@media (forced-colors: active)  {

  [type='checkbox']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

[type='radio']:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

@media (forced-colors: active)  {

  [type='radio']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='checkbox']:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media (forced-colors: active)  {

  [type='checkbox']:indeterminate {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='file'] {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

[type='file']:focus {
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}
  /* Preflight already hides [hidden], but at the same specificity as a display
     utility -- and utilities are emitted later in the sheet, so `class="grid"`
     on a [hidden] element wins the cascade and the element stays visible.
     Collapsible panels depend on [hidden], so give it !important. */
  [hidden] {
    display: none !important;
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 960px) {

  .container {
    max-width: 960px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}
.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 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-top: 1.2em;
  margin-bottom: 1.2em;
}
.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}
.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-top: 1.25em;
  margin-bottom: 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-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}
.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-top: 3em;
  margin-bottom: 3em;
}
.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}
.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-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}
.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}
.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}
.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}
.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}
.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}
.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}
.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}
.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: 0.875em;
}
.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.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"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
.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"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}
.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}
.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}
.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}
.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-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}
.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-top: 0;
  margin-bottom: 0;
}
.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.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: rgb(0 0 0 / 50%);
  --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-top: 0;
  margin-bottom: 0;
}
.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}
.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.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-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.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-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.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-top: 2em;
  margin-bottom: 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-sm {
  font-size: 0.875rem;
  line-height: 1.7142857;
}
.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}
.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  line-height: 1.5555556;
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.1111111em;
}
.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.1428571em;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.2;
}
.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.4285714em;
  margin-top: 1.6em;
  margin-bottom: 0.8em;
  line-height: 1.4;
}
.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  margin-top: 1.5555556em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}
.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.4285714em;
  margin-bottom: 0.5714286em;
  line-height: 1.4285714;
}
.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  border-radius: 0.3125rem;
  padding-top: 0.1428571em;
  padding-inline-end: 0.3571429em;
  padding-bottom: 0.1428571em;
  padding-inline-start: 0.3571429em;
}
.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
}
.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.9em;
}
.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}
.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.6666667;
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  border-radius: 0.25rem;
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}
.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}
.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}
.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  margin-bottom: 0.2857143em;
}
.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}
.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}
.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}
.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}
.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}
.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}
.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}
.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}
.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}
.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}
.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  padding-inline-start: 1.5714286em;
}
.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2.8571429em;
  margin-bottom: 2.8571429em;
}
.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.5;
}
.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}
.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}
.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}
.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.3333333;
  margin-top: 0.6666667em;
}
.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}
.prose-lg {
  font-size: 1.125rem;
  line-height: 1.7777778;
}
.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}
.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2222222em;
  line-height: 1.4545455;
  margin-top: 1.0909091em;
  margin-bottom: 1.0909091em;
}
.prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  padding-inline-start: 1em;
}
.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.6666667em;
  margin-top: 0;
  margin-bottom: 0.8333333em;
  line-height: 1;
}
.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.6666667em;
  margin-top: 1.8666667em;
  margin-bottom: 1.0666667em;
  line-height: 1.3333333;
}
.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.3333333em;
  margin-top: 1.6666667em;
  margin-bottom: 0.6666667em;
  line-height: 1.5;
}
.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}
.prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  border-radius: 0.3125rem;
  padding-top: 0.2222222em;
  padding-inline-end: 0.4444444em;
  padding-bottom: 0.2222222em;
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}
.prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8666667em;
}
.prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
}
.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.75;
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 0.375rem;
  padding-top: 1em;
  padding-inline-end: 1.5em;
  padding-bottom: 1em;
  padding-inline-start: 1.5em;
}
.prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  margin-bottom: 0.6666667em;
}
.prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}
.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}
.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}
.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}
.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}
.prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}
.prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 3.1111111em;
  margin-bottom: 3.1111111em;
}
.prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
}
.prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}
.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.75em;
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}
.prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
  margin-top: 1em;
}
.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}
.prose-slate {
  --tw-prose-body: #334155;
  --tw-prose-headings: #0f172a;
  --tw-prose-lead: #475569;
  --tw-prose-links: #0f172a;
  --tw-prose-bold: #0f172a;
  --tw-prose-counters: #64748b;
  --tw-prose-bullets: #cbd5e1;
  --tw-prose-hr: #e2e8f0;
  --tw-prose-quotes: #0f172a;
  --tw-prose-quote-borders: #e2e8f0;
  --tw-prose-captions: #64748b;
  --tw-prose-kbd: #0f172a;
  --tw-prose-kbd-shadows: 15 23 42;
  --tw-prose-code: #0f172a;
  --tw-prose-pre-code: #e2e8f0;
  --tw-prose-pre-bg: #1e293b;
  --tw-prose-th-borders: #cbd5e1;
  --tw-prose-td-borders: #e2e8f0;
  --tw-prose-invert-body: #cbd5e1;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #94a3b8;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #94a3b8;
  --tw-prose-invert-bullets: #475569;
  --tw-prose-invert-hr: #334155;
  --tw-prose-invert-quotes: #f1f5f9;
  --tw-prose-invert-quote-borders: #334155;
  --tw-prose-invert-captions: #94a3b8;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: 255 255 255;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #cbd5e1;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #475569;
  --tw-prose-invert-td-borders: #334155;
}
.prose-orange {
  --tw-prose-links: #ea580c;
  --tw-prose-invert-links: #f97316;
}
.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);
}
.prose h1 {
  font-size: 1.5rem;
  line-height: 2rem;
}
@media (min-width: 640px) {

  .prose h1 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
@media (min-width: 768px) {

  .prose h1 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
@media (min-width: 1024px) {

  .prose h1 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
@media (min-width: 1280px) {

  .prose h1 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
.prose h2 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
@media (min-width: 640px) {

  .prose h2 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media (min-width: 768px) {

  .prose h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
@media (min-width: 1024px) {

  .prose h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
@media (min-width: 1280px) {

  .prose h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
.prose h3 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
@media (min-width: 640px) {

  .prose h3 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 768px) {

  .prose h3 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media (min-width: 1024px) {

  .prose h3 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
@media (min-width: 1280px) {

  .prose h3 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-2 {
  inset: -0.5rem;
}
.-inset-3 {
  inset: -0.75rem;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.inset-y-\[-50\%\] {
  top: -50%;
  bottom: -50%;
}
.inset-y-\[2px\] {
  top: 2px;
  bottom: 2px;
}
.-left-2 {
  left: -0.5rem;
}
.-left-2\.5 {
  left: -0.625rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-2\.5 {
  right: -0.625rem;
}
.-right-\[40px\] {
  right: -40px;
}
.-right-\[50px\] {
  right: -50px;
}
.-right-\[65px\] {
  right: -65px;
}
.-right-\[75px\] {
  right: -75px;
}
.-right-\[85px\] {
  right: -85px;
}
.-right-\[95px\] {
  right: -95px;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-2\.5 {
  top: -0.625rem;
}
.-top-24 {
  top: -6rem;
}
.-top-3 {
  top: -0.75rem;
}
.-top-32 {
  top: -8rem;
}
.-top-40 {
  top: -10rem;
}
.-top-\[40px\] {
  top: -40px;
}
.-top-\[50px\] {
  top: -50px;
}
.-top-\[65px\] {
  top: -65px;
}
.-top-\[75px\] {
  top: -75px;
}
.-top-\[85px\] {
  top: -85px;
}
.-top-\[95px\] {
  top: -95px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-64 {
  bottom: 16rem;
}
.end-1 {
  inset-inline-end: 0.25rem;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-3 {
  left: 0.75rem;
}
.left-5 {
  left: 1.25rem;
}
.left-\[12\%\] {
  left: 12%;
}
.left-\[2px\] {
  left: 2px;
}
.left-\[calc\(50\%-11rem\)\] {
  left: calc(50% - 11rem);
}
.left-\[calc\(50\%-4rem\)\] {
  left: calc(50% - 4rem);
}
.right-0 {
  right: 0px;
}
.right-1\/2 {
  right: 50%;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\/2 {
  top: 50%;
}
.top-10 {
  top: 2.5rem;
}
.top-3 {
  top: 0.75rem;
}
.top-52 {
  top: 13rem;
}
.top-80 {
  top: 20rem;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.-z-20 {
  z-index: -20;
}
.-z-30 {
  z-index: -30;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-\[10000\] {
  z-index: 10000;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[99999\] {
  z-index: 99999;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-5 {
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}
.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.-ml-1 {
  margin-left: -0.25rem;
}
.-ml-3 {
  margin-left: -0.75rem;
}
.-ml-96 {
  margin-left: -24rem;
}
.-mr-1 {
  margin-right: -0.25rem;
}
.-mr-96 {
  margin-right: -24rem;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.-mt-7 {
  margin-top: -1.75rem;
}
.-mt-px {
  margin-top: -1px;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-8 {
  margin-left: 2rem;
}
.ml-\[-38rem\] {
  margin-left: -38rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-4 {
  margin-right: 1rem;
}
.ms-2 {
  margin-inline-start: 0.5rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-14 {
  margin-top: 3.5rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.mt-px {
  margin-top: 1px;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.\!grid {
  display: grid !important;
}
.grid {
  display: grid;
}
.inline-grid {
  display: inline-grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-\[1155\/678\] {
  aspect-ratio: 1155/678;
}
.size-1\.5 {
  width: 0.375rem;
  height: 0.375rem;
}
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
.size-11 {
  width: 2.75rem;
  height: 2.75rem;
}
.size-12 {
  width: 3rem;
  height: 3rem;
}
.size-14 {
  width: 3.5rem;
  height: 3.5rem;
}
.size-2\.5 {
  width: 0.625rem;
  height: 0.625rem;
}
.size-3 {
  width: 0.75rem;
  height: 0.75rem;
}
.size-3\.5 {
  width: 0.875rem;
  height: 0.875rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-7 {
  width: 1.75rem;
  height: 1.75rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.size-9 {
  width: 2.25rem;
  height: 2.25rem;
}
.h-1 {
  height: 0.25rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-\[1\.4em\] {
  height: 1.4em;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[200\%\] {
  height: 200%;
}
.h-\[24rem\] {
  height: 24rem;
}
.h-\[25rem\] {
  height: 25rem;
}
.h-\[26rem\] {
  height: 26rem;
}
.h-\[38rem\] {
  height: 38rem;
}
.h-\[46rem\] {
  height: 46rem;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[68\%\] {
  height: 68%;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-\[400px\] {
  max-height: 400px;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85dvh\] {
  max-height: 85dvh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-full {
  max-height: 100%;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[2rem\] {
  min-height: 2rem;
}
.min-h-\[3\.25rem\] {
  min-height: 3.25rem;
}
.min-h-\[6\.75rem\] {
  min-height: 6.75rem;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-4 {
  width: 1rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[200\%\] {
  width: 200%;
}
.w-\[36\.125rem\] {
  width: 36.125rem;
}
.w-\[36rem\] {
  width: 36rem;
}
.w-\[42rem\] {
  width: 42rem;
}
.w-\[44rem\] {
  width: 44rem;
}
.w-\[46rem\] {
  width: 46rem;
}
.w-\[60px\] {
  width: 60px;
}
.w-\[68\%\] {
  width: 68%;
}
.w-\[69\.25rem\] {
  width: 69.25rem;
}
.w-\[80rem\] {
  width: 80rem;
}
.w-\[81\.25rem\] {
  width: 81.25rem;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[94\%\] {
  width: 94%;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-screen {
  width: 100vw;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[5\.5rem\] {
  min-width: 5.5rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[1920px\] {
  max-width: 1920px;
}
.max-w-\[250px\] {
  max-width: 250px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[90\%\] {
  max-width: 90%;
}
.max-w-\[9rem\] {
  max-width: 9rem;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-prose {
  max-width: 65ch;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.basis-full {
  flex-basis: 100%;
}
.origin-top-right {
  transform-origin: top right;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-8 {
  --tw-translate-x: -2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1 {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/4 {
  --tw-translate-y: -25%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-8 {
  --tw-translate-y: -2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-6 {
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1 {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-4 {
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-1 {
  --tw-rotate: -1deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[30deg\] {
  --tw-rotate: 30deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.skew-x-\[-30deg\] {
  --tw-skew-x: -30deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.skew-x-\[30deg\] {
  --tw-skew-x: 30deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.skew-y-\[-18deg\] {
  --tw-skew-y: -18deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.01\] {
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.02\] {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform-gpu {
  transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-\[spin_12s_linear_infinite\] {
  animation: spin 12s linear infinite;
}
@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes slide-left {

  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}
.animate-slide-left-infinite {
  animation: slide-left 15s linear infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-help {
  cursor: help;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-pan-y {
  --tw-pan-y: pan-y;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-manipulation {
  touch-action: manipulation;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize {
  resize: both;
}
.scroll-mt-6 {
  scroll-margin-top: 1.5rem;
}
.list-none {
  list-style-type: none;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-items-center {
  justify-items: center;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-1\.5 {
  row-gap: 0.375rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-2\.5 {
  row-gap: 0.625rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-7 {
  row-gap: 1.75rem;
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.25rem * var(--tw-space-x-reverse));
  margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-emerald-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-divide-opacity, 1));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}
.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));
}
.divide-slate-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
}
.divide-white\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.1);
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.scroll-smooth {
  scroll-behavior: smooth;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.text-balance {
  text-wrap: balance;
}
.text-pretty {
  text-wrap: pretty;
}
.break-words {
  overflow-wrap: break-word;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-l-\[0\.25rem\] {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.rounded-l-md {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-br {
  border-bottom-right-radius: 0.25rem;
}
.rounded-tl {
  border-top-left-radius: 0.25rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-y-2 {
  border-top-width: 2px;
  border-bottom-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.\!border-red-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-current {
  border-color: currentColor;
}
.border-emerald-100\/50 {
  border-color: rgb(209 250 229 / 0.5);
}
.border-emerald-100\/60 {
  border-color: rgb(209 250 229 / 0.6);
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-400 {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}
.border-emerald-600 {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-neutral-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity, 1));
}
.border-orange-100\/80 {
  border-color: rgb(255 237 213 / 0.8);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-300\/40 {
  border-color: rgb(203 213 225 / 0.4);
}
.border-slate-400 {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/70 {
  border-color: rgb(255 255 255 / 0.7);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-b-transparent {
  border-bottom-color: transparent;
}
.border-r-transparent {
  border-right-color: transparent;
}
.bg-\[\#003399\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 51 153 / var(--tw-bg-opacity, 1));
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 253 245 / var(--tw-bg-opacity, 1));
}
.bg-amber-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}
.bg-amber-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(146 64 14 / var(--tw-bg-opacity, 1));
}
.bg-amber-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.bg-blue-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
}
.bg-cyan-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 51 68 / var(--tw-bg-opacity, 1));
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-100\/80 {
  background-color: rgb(209 250 229 / 0.8);
}
.bg-emerald-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 254 250 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400\/90 {
  background-color: rgb(52 211 153 / 0.9);
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/40 {
  background-color: rgb(236 253 245 / 0.4);
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/60 {
  background-color: rgb(16 185 129 / 0.6);
}
.bg-emerald-500\/\[0\.07\] {
  background-color: rgb(16 185 129 / 0.07);
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity, 1));
}
.bg-emerald-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 44 34 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(134 25 143 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 4 78 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}
.bg-green-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 249 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}
.bg-green-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-indigo-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1));
}
.bg-indigo-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 27 75 / var(--tw-bg-opacity, 1));
}
.bg-lime-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(63 98 18 / var(--tw-bg-opacity, 1));
}
.bg-lime-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(26 46 5 / var(--tw-bg-opacity, 1));
}
.bg-neutral-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-neutral-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.bg-neutral-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}
.bg-orange-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}
.bg-orange-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 246 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-orange-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(154 52 18 / var(--tw-bg-opacity, 1));
}
.bg-orange-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(67 20 7 / var(--tw-bg-opacity, 1));
}
.bg-pink-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(157 23 77 / var(--tw-bg-opacity, 1));
}
.bg-pink-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(80 7 36 / var(--tw-bg-opacity, 1));
}
.bg-purple-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1));
}
.bg-purple-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 7 100 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}
.bg-red-900\/40 {
  background-color: rgb(127 29 29 / 0.4);
}
.bg-red-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}
.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.bg-rose-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(159 18 57 / var(--tw-bg-opacity, 1));
}
.bg-rose-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(76 5 25 / var(--tw-bg-opacity, 1));
}
.bg-sky-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(7 89 133 / var(--tw-bg-opacity, 1));
}
.bg-sky-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 47 73 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 252 254 / var(--tw-bg-opacity, 1));
}
.bg-slate-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/40 {
  background-color: rgb(248 250 252 / 0.4);
}
.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/10 {
  background-color: rgb(15 23 42 / 0.1);
}
.bg-slate-900\/40 {
  background-color: rgb(15 23 42 / 0.4);
}
.bg-slate-900\/60 {
  background-color: rgb(15 23 42 / 0.6);
}
.bg-slate-900\/70 {
  background-color: rgb(15 23 42 / 0.7);
}
.bg-slate-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-slate-950\/60 {
  background-color: rgb(2 6 23 / 0.6);
}
.bg-stone-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
}
.bg-stone-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(41 37 36 / var(--tw-bg-opacity, 1));
}
.bg-stone-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(12 10 9 / var(--tw-bg-opacity, 1));
}
.bg-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.bg-teal-25 {
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 252 / var(--tw-bg-opacity, 1));
}
.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 94 89 / var(--tw-bg-opacity, 1));
}
.bg-teal-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 47 46 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(91 33 182 / var(--tw-bg-opacity, 1));
}
.bg-violet-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(46 16 101 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(133 77 14 / var(--tw-bg-opacity, 1));
}
.bg-yellow-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(66 32 6 / var(--tw-bg-opacity, 1));
}
.bg-zinc-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-zinc-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}
.bg-zinc-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
}
.bg-opacity-75 {
  --tw-bg-opacity: 0.75;
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.bg-none {
  background-image: none;
}
.from-amber-50 {
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-300\/50 {
  --tw-gradient-from: rgb(110 231 183 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(110 231 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400 {
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-700 {
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-700\/50 {
  --tw-gradient-from: rgb(55 65 81 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-300\/25 {
  --tw-gradient-from: rgb(165 180 252 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(165 180 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/15 {
  --tw-gradient-from: rgb(99 102 241 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-400\/15 {
  --tw-gradient-from: rgb(251 146 60 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-200 {
  --tw-gradient-from: #e2e8f0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-200 {
  --tw-gradient-from: #fef08a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 240 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-amber-300\/20 {
  --tw-gradient-to: rgb(252 211 77 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(252 211 77 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-400 {
  --tw-gradient-to: rgb(251 191 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fbbf24 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-200\/60 {
  --tw-gradient-to: rgb(167 243 208 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(167 243 208 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-500\/60 {
  --tw-gradient-to: rgb(16 185 129 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(16 185 129 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-200\/40 {
  --tw-gradient-to: rgb(199 210 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(199 210 254 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-amber-200 {
  --tw-gradient-to: #fde68a var(--tw-gradient-to-position);
}
.to-emerald-300\/50 {
  --tw-gradient-to: rgb(110 231 183 / 0.5) var(--tw-gradient-to-position);
}
.to-indigo-300\/25 {
  --tw-gradient-to: rgb(165 180 252 / 0.25) var(--tw-gradient-to-position);
}
.to-indigo-500\/5 {
  --tw-gradient-to: rgb(99 102 241 / 0.05) var(--tw-gradient-to-position);
}
.to-orange-400\/15 {
  --tw-gradient-to: rgb(251 146 60 / 0.15) var(--tw-gradient-to-position);
}
.to-slate-400 {
  --tw-gradient-to: #94a3b8 var(--tw-gradient-to-position);
}
.to-teal-300 {
  --tw-gradient-to: #5eead4 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-yellow-200 {
  --tw-gradient-to: #fef08a var(--tw-gradient-to-position);
}
.bg-cover {
  background-size: cover;
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.bg-center {
  background-position: center;
}
.bg-repeat {
  background-repeat: repeat;
}
.fill-black\/40 {
  fill: rgb(0 0 0 / 0.4);
}
.fill-white {
  fill: #fff;
}
.stroke-black\/50 {
  stroke: rgb(0 0 0 / 0.5);
}
.stroke-gray-400 {
  stroke: #9ca3af;
}
.stroke-gray-600 {
  stroke: #4b5563;
}
.stroke-red-500 {
  stroke: #ef4444;
}
.stroke-white\/5 {
  stroke: rgb(255 255 255 / 0.05);
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[2px\] {
  padding: 2px;
}
.p-px {
  padding: 1px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-0 {
  padding-left: 0px;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-14 {
  padding-left: 3.5rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-3\.5 {
  padding-left: 0.875rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-14 {
  padding-right: 3.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-7 {
  padding-right: 1.75rem;
}
.pr-8 {
  padding-right: 2rem;
}
.ps-3 {
  padding-inline-start: 0.75rem;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-\[0\.65rem\] {
  font-size: 0.65rem;
}
.text-\[0\.75rem\] {
  font-size: 0.75rem;
}
.text-\[0\.7rem\] {
  font-size: 0.7rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-7 {
  line-height: 1.75rem;
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-50 {
  --tw-text-opacity: 1;
  color: rgb(255 251 235 / var(--tw-text-opacity, 1));
}
.text-amber-50\/90 {
  color: rgb(255 251 235 / 0.9);
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-400\/90 {
  color: rgb(52 211 153 / 0.9);
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-indigo-300 {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-neutral-700 {
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity, 1));
}
.text-neutral-800 {
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity, 1));
}
.text-neutral-900 {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-red-200 {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-slate-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/10 {
  color: rgb(255 255 255 / 0.1);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-yellow-950 {
  --tw-text-opacity: 1;
  color: rgb(66 32 6 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.decoration-emerald-300 {
  text-decoration-color: #6ee7b7;
}
.decoration-slate-400 {
  text-decoration-color: #94a3b8;
}
.decoration-white\/30 {
  text-decoration-color: rgb(255 255 255 / 0.3);
}
.decoration-2 {
  text-decoration-thickness: 2px;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-gray-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.2\] {
  opacity: 0.2;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.mix-blend-hard-light {
  mix-blend-mode: hard-light;
}
.mix-blend-soft-light {
  mix-blend-mode: soft-light;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(52\2c 211\2c 153\2c 0\.5\)\] {
  --tw-shadow: 0 0 12px rgba(52,211,153,0.5);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_35px_60px_-15px_rgba\(0\2c 0\2c 0\2c 0\.6\)\] {
  --tw-shadow: 0 35px 60px -15px rgba(0,0,0,0.6);
  --tw-shadow-colored: 0 35px 60px -15px var(--tw-shadow-color);
  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 rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-amber-900\/20 {
  --tw-shadow-color: rgb(120 53 15 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-900\/40 {
  --tw-shadow-color: rgb(120 53 15 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/5 {
  --tw-shadow-color: rgb(0 0 0 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/20 {
  --tw-shadow-color: rgb(16 185 129 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-600\/30 {
  --tw-shadow-color: rgb(5 150 105 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-900\/10 {
  --tw-shadow-color: rgb(6 78 59 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-500 {
  --tw-shadow-color: #6b7280;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-500\/20 {
  --tw-shadow-color: rgb(107 114 128 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-500\/30 {
  --tw-shadow-color: rgb(99 102 241 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-200 {
  --tw-shadow-color: #e2e8f0;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-600\/10 {
  --tw-shadow-color: rgb(71 85 105 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-900\/20 {
  --tw-shadow-color: rgb(15 23 42 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-900\/5 {
  --tw-shadow-color: rgb(15 23 42 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-950\/20 {
  --tw-shadow-color: rgb(2 6 23 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-950\/30 {
  --tw-shadow-color: rgb(2 6 23 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-yellow-200 {
  --tw-shadow-color: #fef08a;
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-amber-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}
.ring-amber-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}
.ring-amber-500\/30 {
  --tw-ring-color: rgb(245 158 11 / 0.3);
}
.ring-black\/5 {
  --tw-ring-color: rgb(0 0 0 / 0.05);
}
.ring-emerald-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));
}
.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}
.ring-emerald-200\/70 {
  --tw-ring-color: rgb(167 243 208 / 0.7);
}
.ring-emerald-300\/50 {
  --tw-ring-color: rgb(110 231 183 / 0.5);
}
.ring-emerald-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity, 1));
}
.ring-emerald-50 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(236 253 245 / var(--tw-ring-opacity, 1));
}
.ring-emerald-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1));
}
.ring-emerald-500\/15 {
  --tw-ring-color: rgb(16 185 129 / 0.15);
}
.ring-emerald-500\/20 {
  --tw-ring-color: rgb(16 185 129 / 0.2);
}
.ring-emerald-600\/20 {
  --tw-ring-color: rgb(5 150 105 / 0.2);
}
.ring-indigo-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity, 1));
}
.ring-indigo-400\/30 {
  --tw-ring-color: rgb(129 140 248 / 0.3);
}
.ring-indigo-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}
.ring-orange-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 237 213 / var(--tw-ring-opacity, 1));
}
.ring-orange-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity, 1));
}
.ring-orange-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1));
}
.ring-orange-500\/20 {
  --tw-ring-color: rgb(249 115 22 / 0.2);
}
.ring-red-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}
.ring-red-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.ring-red-500\/25 {
  --tw-ring-color: rgb(239 68 68 / 0.25);
}
.ring-rose-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity, 1));
}
.ring-slate-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity, 1));
}
.ring-slate-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1));
}
.ring-slate-300\/70 {
  --tw-ring-color: rgb(203 213 225 / 0.7);
}
.ring-slate-900 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(15 23 42 / var(--tw-ring-opacity, 1));
}
.ring-slate-900\/10 {
  --tw-ring-color: rgb(15 23 42 / 0.1);
}
.ring-slate-900\/5 {
  --tw-ring-color: rgb(15 23 42 / 0.05);
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/10 {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/15 {
  --tw-ring-color: rgb(255 255 255 / 0.15);
}
.ring-white\/20 {
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.ring-white\/25 {
  --tw-ring-color: rgb(255 255 255 / 0.25);
}
.ring-white\/5 {
  --tw-ring-color: rgb(255 255 255 / 0.05);
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-white {
  --tw-ring-offset-color: #fff;
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[100px\] {
  --tw-blur: blur(100px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[80px\] {
  --tw-blur: blur(80px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[90px\] {
  --tw-blur: blur(90px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.brightness-0 {
  --tw-brightness: brightness(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_10px_10px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-drop-shadow: drop-shadow(0 10px 10px rgba(0,0,0,0.3));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg {
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  -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);
}
.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);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -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 {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.will-change-transform {
  will-change: transform;
}
.appearance-none {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance:textfield;
  }
.\[--field-accent\:\#ea580c\] {
  --field-accent: #ea580c;
}
.\[--field-accent\:\#ef4444\] {
  --field-accent: #ef4444;
}
.\[--field-accent\:\#fb923c\] {
  --field-accent: #fb923c;
}
.\[--field-glow\:rgb\(239_68_68_\/_0\.14\)\] {
  --field-glow: rgb(239 68 68 / 0.14);
}
.\[grid-area\:1\/1\] {
  grid-area: 1/1;
}
.\[mask-image\:linear-gradient\(to_right\2c transparent\2c white_12\%\2c white_88\%\2c transparent\)\] {
  -webkit-mask-image: linear-gradient(to right,transparent,white 12%,white 88%,transparent);
          mask-image: linear-gradient(to right,transparent,white 12%,white 88%,transparent);
}
.\[mask-image\:linear-gradient\(to_right\2c transparent\2c white_20\%\2c white_80\%\2c transparent\)\] {
  -webkit-mask-image: linear-gradient(to right,transparent,white 20%,white 80%,transparent);
          mask-image: linear-gradient(to right,transparent,white 20%,white 80%,transparent);
}
.\[mask-image\:radial-gradient\(100\%_100\%_at_top_center\2c white\2c transparent\)\] {
  -webkit-mask-image: radial-gradient(100% 100% at top center,white,transparent);
          mask-image: radial-gradient(100% 100% at top center,white,transparent);
}
.\[mask-image\:radial-gradient\(farthest-side_at_top\2c white\2c transparent\)\] {
  -webkit-mask-image: radial-gradient(farthest-side at top,white,transparent);
          mask-image: radial-gradient(farthest-side at top,white,transparent);
}
.\[oaicite\:0\] {
  oaicite: 0;
}
.\[oaicite\:1\] {
  oaicite: 1;
}
.\[oaicite\:2\] {
  oaicite: 2;
}
.\[oaicite\:3\] {
  oaicite: 3;
}

.tooltip {
  visibility: hidden;
  position: absolute;
}

.has-tooltip:hover .tooltip {
  visibility: visible;
  z-index: 50;
}

.selection\:bg-orange-200\/70 *::-moz-selection {
  background-color: rgb(254 215 170 / 0.7);
}

.selection\:bg-orange-200\/70 *::selection {
  background-color: rgb(254 215 170 / 0.7);
}

.selection\:bg-red-500 *::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.selection\:bg-red-500 *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.selection\:text-slate-900 *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.selection\:text-slate-900 *::selection {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.selection\:text-white *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.selection\:text-white *::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.selection\:bg-orange-200\/70::-moz-selection {
  background-color: rgb(254 215 170 / 0.7);
}

.selection\:bg-orange-200\/70::selection {
  background-color: rgb(254 215 170 / 0.7);
}

.selection\:bg-red-500::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.selection\:bg-red-500::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.selection\:text-slate-900::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.selection\:text-slate-900::selection {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.selection\:text-white::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.selection\:text-white::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.placeholder\:text-slate-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.placeholder\:text-slate-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.before\:text-slate-300::before {
  content: var(--tw-content);
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.before\:content-\[\'\B7\'\]::before {
  --tw-content: '·';
  content: var(--tw-content);
}

.first\:pt-0:first-child {
  padding-top: 0px;
}

.last\:mb-0:last-child {
  margin-bottom: 0px;
}

.last\:pb-0:last-child {
  padding-bottom: 0px;
}

.checked\:border-orange-600:checked {
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}

.focus-within\:ring-2:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-indigo-400:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity, 1));
}

.focus-within\:ring-indigo-500:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:rotate-0:hover {
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-emerald-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

.hover\:border-white:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-900\/5:hover {
  background-color: rgb(15 23 42 / 0.05);
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:from-indigo-500\/25:hover {
  --tw-gradient-from: rgb(99 102 241 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:text-emerald-800:hover {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-700:hover {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-700:hover {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:decoration-emerald-500\/60:hover {
  text-decoration-color: rgb(16 185 129 / 0.6);
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:ring-2:hover {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.hover\:ring-indigo-300:hover {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity, 1));
}

.hover\:ring-indigo-400\/50:hover {
  --tw-ring-color: rgb(129 140 248 / 0.5);
}

.hover\:ring-slate-400:hover {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1));
}

.hover\:ring-opacity-50:hover {
  --tw-ring-opacity: 0.5;
}

.hover\:ring-offset-1:hover {
  --tw-ring-offset-width: 1px;
}

.hover\:brightness-105:hover {
  --tw-brightness: brightness(1.05);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.focus\:border-emerald-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.focus\:border-orange-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:outline:focus {
  outline-style: solid;
}

.focus\:outline-2:focus {
  outline-width: 2px;
}

.focus\:outline-red-500:focus {
  outline-color: #ef4444;
}

.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-inset:focus {
  --tw-ring-inset: inset;
}

.focus\:ring-emerald-400\/40:focus {
  --tw-ring-color: rgb(52 211 153 / 0.4);
}

.focus\:ring-emerald-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-4:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-amber-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-emerald-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-emerald-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-indigo-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-indigo-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-orange-400\/60:focus-visible {
  --tw-ring-color: rgb(251 146 60 / 0.6);
}

.focus-visible\:ring-orange-600:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(234 88 12 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-slate-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-white\/60:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.6);
}

.focus-visible\:ring-white\/70:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.7);
}

.focus-visible\:ring-opacity-30:focus-visible {
  --tw-ring-opacity: 0.3;
}

.focus-visible\:ring-offset-0:focus-visible {
  --tw-ring-offset-width: 0px;
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.disabled\:opacity-70:disabled {
  opacity: 0.7;
}

.group[open] .group-open\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:focus-within .group-focus-within\:text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.group\/btn:hover .group-hover\/btn\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:-translate-y-0\.5 {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-y-0\.5 {
  --tw-translate-y: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/btn:hover .group-hover\/btn\:animate-\[shimmer_1\.5s_infinite\] {
  animation: shimmer 1.5s infinite;
}

.group:hover .group-hover\:border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:stroke-gray-600 {
  stroke: #4b5563;
}

.group\/coupon:hover .group-hover\/coupon\:text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-40 {
  opacity: 0.4;
}

.group:hover .group-hover\:shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group:hover .group-hover\:animation-pause {
    animation-play-state: paused;
  }

.group:focus-visible .group-focus-visible\:opacity-100 {
  opacity: 1;
}

.has-\[\:checked\]\:bg-orange-50:has(:checked) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.has-\[\[data-active\]\]\:ring-2:has([data-active]) {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.has-\[\[data-active\]\]\:ring-indigo-500:has([data-active]) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.data-\[state\=done\]\:bg-emerald-400\/10[data-state="done"] {
  background-color: rgb(52 211 153 / 0.1);
}

.data-\[state\=failed\]\:opacity-50[data-state="failed"] {
  opacity: 0.5;
}

.data-\[state\=done\]\:ring-emerald-400\/40[data-state="done"] {
  --tw-ring-color: rgb(52 211 153 / 0.4);
}

.prose-headings\:tracking-tight :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  letter-spacing: -0.025em;
}

.prose-headings\:text-slate-900 :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.prose-p\:my-0 :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0px;
  margin-bottom: 0px;
}

.prose-p\:my-1 :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose-p\:text-xs :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 0.75rem;
  line-height: 1rem;
}

.prose-p\:leading-relaxed :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  line-height: 1.625;
}

.prose-a\:text-emerald-600 :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.prose-a\:text-orange-700 :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.prose-a\:underline-offset-2 :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  text-underline-offset: 2px;
}

.hover\:prose-a\:text-orange-800 :is(:where(a):not(:where([class~="not-prose"],[class~="not-prose"] *))):hover {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.prose-strong\:font-bold :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-weight: 700;
}

.prose-strong\:text-slate-900 :is(:where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.prose-ol\:my-1 :is(:where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose-ul\:my-1 :is(:where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose-li\:my-0\.5 :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.prose-li\:text-xs :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
  font-size: 0.75rem;
  line-height: 1rem;
}

@media (prefers-reduced-motion: no-preference) {

  @keyframes pulse {

    50% {
      opacity: .5;
    }
  }

  .motion-safe\:animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }

  @keyframes spin {

    to {
      transform: rotate(360deg);
    }
  }

  .motion-safe\:animate-spin {
    animation: spin 1s linear infinite;
  }

  .motion-safe\:hover\:scale-\[1\.01\]:hover {
    --tw-scale-x: 1.01;
    --tw-scale-y: 1.01;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:transform-none {
    transform: none;
  }
}

@media (min-width: 640px) {

  .sm\:-top-80 {
    top: -20rem;
  }

  .sm\:left-\[calc\(50\%-18rem\)\] {
    left: calc(50% - 18rem);
  }

  .sm\:left-\[calc\(50\%-30rem\)\] {
    left: calc(50% - 30rem);
  }

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .sm\:my-8 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .sm\:-ml-80 {
    margin-left: -20rem;
  }

  .sm\:-mr-80 {
    margin-right: -20rem;
  }

  .sm\:-mt-6 {
    margin-top: -1.5rem;
  }

  .sm\:mb-0 {
    margin-bottom: 0px;
  }

  .sm\:mb-2 {
    margin-bottom: 0.5rem;
  }

  .sm\:mb-3 {
    margin-bottom: 0.75rem;
  }

  .sm\:mb-8 {
    margin-bottom: 2rem;
  }

  .sm\:mb-9 {
    margin-bottom: 2.25rem;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:mt-10 {
    margin-top: 2.5rem;
  }

  .sm\:mt-2 {
    margin-top: 0.5rem;
  }

  .sm\:mt-4 {
    margin-top: 1rem;
  }

  .sm\:mt-5 {
    margin-top: 1.25rem;
  }

  .sm\:mt-6 {
    margin-top: 1.5rem;
  }

  .sm\:mt-8 {
    margin-top: 2rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:inline-flex {
    display: inline-flex;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:size-5 {
    width: 1.25rem;
    height: 1.25rem;
  }

  .sm\:size-9 {
    width: 2.25rem;
    height: 2.25rem;
  }

  .sm\:h-10 {
    height: 2.5rem;
  }

  .sm\:h-16 {
    height: 4rem;
  }

  .sm\:h-20 {
    height: 5rem;
  }

  .sm\:h-6 {
    height: 1.5rem;
  }

  .sm\:h-\[10\.5rem\] {
    height: 10.5rem;
  }

  .sm\:h-\[10rem\] {
    height: 10rem;
  }

  .sm\:h-\[11\.5rem\] {
    height: 11.5rem;
  }

  .sm\:h-\[12\.5rem\] {
    height: 12.5rem;
  }

  .sm\:h-\[2em\] {
    height: 2em;
  }

  .sm\:h-\[6\.5rem\] {
    height: 6.5rem;
  }

  .sm\:h-\[60px\] {
    height: 60px;
  }

  .sm\:h-\[7\.5rem\] {
    height: 7.5rem;
  }

  .sm\:h-\[8\.5rem\] {
    height: 8.5rem;
  }

  .sm\:h-auto {
    height: auto;
  }

  .sm\:w-16 {
    width: 4rem;
  }

  .sm\:w-20 {
    width: 5rem;
  }

  .sm\:w-6 {
    width: 1.5rem;
  }

  .sm\:w-\[10\.5rem\] {
    width: 10.5rem;
  }

  .sm\:w-\[10rem\] {
    width: 10rem;
  }

  .sm\:w-\[11\.5rem\] {
    width: 11.5rem;
  }

  .sm\:w-\[12\.5rem\] {
    width: 12.5rem;
  }

  .sm\:w-\[6\.5rem\] {
    width: 6.5rem;
  }

  .sm\:w-\[60px\] {
    width: 60px;
  }

  .sm\:w-\[7\.5rem\] {
    width: 7.5rem;
  }

  .sm\:w-\[72\.1875rem\] {
    width: 72.1875rem;
  }

  .sm\:w-\[8\.5rem\] {
    width: 8.5rem;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:w-full {
    width: 100%;
  }

  .sm\:max-w-4xl {
    max-width: 56rem;
  }

  .sm\:max-w-lg {
    max-width: 32rem;
  }

  .sm\:flex-1 {
    flex: 1 1 0%;
  }

  .sm\:translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .sm\:scale-100 {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .sm\:scale-95 {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[1fr_auto_auto\] {
    grid-template-columns: 1fr auto auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:items-baseline {
    align-items: baseline;
  }

  .sm\:justify-center {
    justify-content: center;
  }

  .sm\:gap-16 {
    gap: 4rem;
  }

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-5 {
    gap: 1.25rem;
  }

  .sm\:gap-8 {
    gap: 2rem;
  }

  .sm\:gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  .sm\:rounded-lg {
    border-radius: 0.5rem;
  }

  .sm\:rounded-t-lg {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }

  .sm\:border-t-0 {
    border-top-width: 0px;
  }

  .sm\:p-0 {
    padding: 0px;
  }

  .sm\:p-10 {
    padding: 2.5rem;
  }

  .sm\:p-12 {
    padding: 3rem;
  }

  .sm\:p-2 {
    padding: 0.5rem;
  }

  .sm\:p-4 {
    padding: 1rem;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-7 {
    padding: 1.75rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .sm\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .sm\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .sm\:pb-0 {
    padding-bottom: 0px;
  }

  .sm\:pb-1\.5 {
    padding-bottom: 0.375rem;
  }

  .sm\:pb-10 {
    padding-bottom: 2.5rem;
  }

  .sm\:pb-14 {
    padding-bottom: 3.5rem;
  }

  .sm\:pb-20 {
    padding-bottom: 5rem;
  }

  .sm\:pb-4 {
    padding-bottom: 1rem;
  }

  .sm\:pb-8 {
    padding-bottom: 2rem;
  }

  .sm\:pl-16 {
    padding-left: 4rem;
  }

  .sm\:pl-3 {
    padding-left: 0.75rem;
  }

  .sm\:pr-10 {
    padding-right: 2.5rem;
  }

  .sm\:pr-8 {
    padding-right: 2rem;
  }

  .sm\:pt-20 {
    padding-top: 5rem;
  }

  .sm\:pt-3 {
    padding-top: 0.75rem;
  }

  .sm\:pt-6 {
    padding-top: 1.5rem;
  }

  .sm\:pt-8 {
    padding-top: 2rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-\[13px\] {
    font-size: 13px;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .sm\:leading-normal {
    line-height: 1.5;
  }

  .sm\:shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .sm\:ring-2 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  .sm\:ring-4 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  .sm\:ring-amber-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(146 64 14 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-amber-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(69 26 3 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-blue-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-blue-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(23 37 84 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-cyan-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-cyan-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(8 51 68 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-emerald-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(6 95 70 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-emerald-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(2 44 34 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-fuchsia-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(134 25 143 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-fuchsia-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(74 4 78 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-gray-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-gray-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(3 7 18 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-green-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(22 101 52 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-green-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(5 46 22 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-indigo-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(55 48 163 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-indigo-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(30 27 75 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-lime-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-lime-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(26 46 5 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-neutral-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(38 38 38 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-neutral-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(10 10 10 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-orange-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-orange-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(154 52 18 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-orange-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(67 20 7 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-pink-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(157 23 77 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-pink-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(80 7 36 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-purple-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(107 33 168 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-purple-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(59 7 100 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-red-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(153 27 27 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-red-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(69 10 10 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-rose-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(159 18 57 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-rose-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(76 5 25 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-sky-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(7 89 133 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-sky-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(8 47 73 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-slate-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-slate-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(2 6 23 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-stone-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(41 37 36 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-stone-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(12 10 9 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-teal-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(17 94 89 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-teal-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(4 47 46 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-violet-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(91 33 182 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-violet-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(46 16 101 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-yellow-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(133 77 14 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-yellow-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(66 32 6 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-zinc-800 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(39 39 42 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-zinc-950 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(9 9 11 / var(--tw-ring-opacity, 1));
  }

  .sm\:ring-offset-4 {
    --tw-ring-offset-width: 4px;
  }

  .sm\:prose-p\:text-sm :is(:where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:prose-li\:text-sm :is(:where(li):not(:where([class~="not-prose"],[class~="not-prose"] *))) {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 768px) {

  .md\:my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  .md\:mt-3 {
    margin-top: 0.75rem;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:grid {
    display: grid;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-10 {
    height: 2.5rem;
  }

  .md\:min-w-\[19rem\] {
    min-width: 19rem;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
    grid-template-columns: minmax(0,1fr) auto;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-wrap {
    flex-wrap: wrap;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:justify-start {
    justify-content: flex-start;
  }

  .md\:gap-0 {
    gap: 0px;
  }

  .md\:gap-3 {
    gap: 0.75rem;
  }

  .md\:divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  .md\:divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
  }

  .md\:rounded-lg {
    border-radius: 0.5rem;
  }

  .md\:border-t {
    border-top-width: 1px;
  }

  .md\:border-slate-100 {
    --tw-border-opacity: 1;
    border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
  }

  .md\:p-4 {
    padding: 1rem;
  }

  .md\:p-6 {
    padding: 1.5rem;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:pl-3 {
    padding-left: 0.75rem;
  }

  .md\:pl-4 {
    padding-left: 1rem;
  }

  .md\:pr-3 {
    padding-right: 0.75rem;
  }

  .md\:pt-3 {
    padding-top: 0.75rem;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-\[0\.75rem\] {
    font-size: 0.75rem;
  }

  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .md\:font-bold {
    font-weight: 700;
  }

  .md\:text-slate-900 {
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
  }

  .md\:shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .md\:ring-2 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  .md\:ring-4 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  .md\:ring-orange-200 {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity, 1));
  }

  .md\:ring-offset-4 {
    --tw-ring-offset-width: 4px;
  }

  .md\:before\:content-none::before {
    --tw-content: none;
    content: var(--tw-content);
  }
}

@media (min-width: 960px) {

  .card\:order-none {
    order: 0;
  }

  .card\:mt-0 {
    margin-top: 0px;
  }

  .card\:block {
    display: block;
  }

  .card\:flex {
    display: flex;
  }

  .card\:hidden {
    display: none;
  }

  .card\:h-14 {
    height: 3.5rem;
  }

  .card\:min-h-0 {
    min-height: 0px;
  }

  .card\:min-h-\[2rem\] {
    min-height: 2rem;
  }

  .card\:min-h-\[3\.5rem\] {
    min-height: 3.5rem;
  }

  .card\:w-\[7\.5rem\] {
    width: 7.5rem;
  }

  .card\:w-\[9\.5rem\] {
    width: 9.5rem;
  }

  .card\:min-w-0 {
    min-width: 0px;
  }

  .card\:max-w-full {
    max-width: 100%;
  }

  .card\:flex-1 {
    flex: 1 1 0%;
  }

  .card\:flex-none {
    flex: none;
  }

  .card\:shrink-0 {
    flex-shrink: 0;
  }

  .card\:basis-auto {
    flex-basis: auto;
  }

  .card\:flex-row {
    flex-direction: row;
  }

  .card\:flex-col {
    flex-direction: column;
  }

  .card\:content-center {
    align-content: center;
  }

  .card\:items-center {
    align-items: center;
  }

  .card\:items-stretch {
    align-items: stretch;
  }

  .card\:justify-evenly {
    justify-content: space-evenly;
  }

  .card\:gap-0 {
    gap: 0px;
  }

  .card\:gap-1\.5 {
    gap: 0.375rem;
  }

  .card\:gap-2 {
    gap: 0.5rem;
  }

  .card\:divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  .card\:divide-slate-200 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
  }

  .card\:rounded-lg {
    border-radius: 0.5rem;
  }

  .card\:bg-transparent {
    background-color: transparent;
  }

  .card\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .card\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .card\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .card\:text-\[22px\] {
    font-size: 22px;
  }

  .card\:text-\[26px\] {
    font-size: 26px;
  }

  .card\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .card\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .card\:text-slate-500 {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
  }

  .card\:hover\:bg-transparent:hover {
    background-color: transparent;
  }

  .card\:hover\:text-slate-800:hover {
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
  }
}

@media (min-width: 1024px) {

  .lg\:left-48 {
    left: 12rem;
  }

  .lg\:top-\[calc\(50\%-30rem\)\] {
    top: calc(50% - 30rem);
  }

  .lg\:-ml-96 {
    margin-left: -24rem;
  }

  .lg\:-mr-96 {
    margin-right: -24rem;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:gap-8 {
    gap: 2rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

@media (min-width: 1280px) {

  .xl\:left-\[calc\(50\%-24rem\)\] {
    left: calc(50% - 24rem);
  }

  .xl\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .xl\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .xl\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (prefers-color-scheme: dark) {

  .dark\:bg-gray-800\/50 {
    background-color: rgb(31 41 55 / 0.5);
  }

  .dark\:bg-gray-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  }

  .dark\:bg-gradient-to-bl {
    background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
  }

  .dark\:stroke-gray-600 {
    stroke: #4b5563;
  }

  .dark\:text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  }

  .dark\:text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

  .dark\:shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .dark\:ring-1 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  .dark\:ring-inset {
    --tw-ring-inset: inset;
  }

  .dark\:ring-white\/5 {
    --tw-ring-color: rgb(255 255 255 / 0.05);
  }

  .dark\:\[mask-image\:linear-gradient\(white\2c transparent\)\] {
    -webkit-mask-image: linear-gradient(white,transparent);
            mask-image: linear-gradient(white,transparent);
  }

  .group:hover .dark\:group-hover\:stroke-gray-400 {
    stroke: #9ca3af;
  }
}

.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
  display: none;
}

.\[\&_a\:hover\]\:text-orange-200 a:hover {
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}

.\[\&_a\:hover\]\:text-orange-800 a:hover {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.\[\&_a\:hover\]\:underline a:hover {
  text-decoration-line: underline;
}

.\[\&_a\]\:font-semibold a {
  font-weight: 600;
}

.\[\&_a\]\:text-orange-300 a {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.\[\&_a\]\:text-orange-700 a {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}

.\[\&_a\]\:underline-offset-2 a {
  text-underline-offset: 2px;
}

.\[\&_a\]\:underline-offset-4 a {
  text-underline-offset: 4px;
}

.\[\&_h1\]\:text-2xl h1 {
  font-size: 1.5rem;
  line-height: 2rem;
}

.\[\&_h1\]\:text-xl h1 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

@media (min-width: 640px) {

  .\[\&_h1\]\:sm\:text-2xl h1 {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .\[\&_h1\]\:sm\:text-3xl h1 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

.\[\&_h2\]\:text-lg h2 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

@media (min-width: 640px) {

  .\[\&_h2\]\:sm\:text-xl h2 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

.\[\&_h3\]\:text-base h3 {
  font-size: 1rem;
  line-height: 1.5rem;
}


/* Faster taps: no double-tap-zoom delay, no grey tap flash. */
a, button, input, select, textarea, label, [role="button"] {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* Highlighted when using arrow keys */
.active-suggestion {
    background-color: #e2e8f0; /* For example, Tailwind’s gray-100 color */
}

/* Highlighted when hovering (if you’re not relying on Tailwind’s .hover:bg-* utility) */
.hover-suggestion {
    background-color: #f8fafc; /* Tailwind’s gray-50, for instance */
}

[x-cloak] {
    display:none !important;
}

.logo img {
    width:100%;
    max-height:100px;
}

#addressSearchList .ui-menu {
    border: 2px solid #444;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}


#ui-list .ui-menu {
    border: 2px solid #5850ec;
    top: 0px!important;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}

.ui-front {
    background: #fff;
    padding:20px!important;
    -webkit-border-bottom-right-radius: 0.375rem;
    -webkit-border-bottom-left-radius: 0.375rem;
    -moz-border-radius-bottomright: 0.375rem;
    -moz-border-radius-bottomleft: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    -webkit-border-top-left-radius: 0px;
    -webkit-border-top-right-radius: 0px;
    -moz-border-radius-topleft: 0px;
    -moz-border-radius-topright: 0px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    height:100%!important;
    min-height:180px!important;
    max-height:250px!important;
    overflow-y: scroll;
}

.ui-menu-item {
    border-bottom: 1px solid #ccc;
    text-align: left;
    padding-top: 5px;
    padding-bottom: 5px;
}

.ui-menu-item:hover {
    background: #f8f8f8;
    cursor: pointer;
}

#ui-list .ui-menu {
    border: 2px solid #444;
    top: 20px!important;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}

.rating-tiles {
    display: flex;
    gap: 1px;
}

.rating-tiles svg {
    display: block;
}


/* ==========================================================================
   Internet comparison — streaming results
   Cards arrive one provider at a time and animate in. Everything here is
   guarded by prefers-reduced-motion: the layout must not depend on motion.
   ========================================================================== */

@keyframes internet-card-in {
  from { opacity: 0; transform: translateY(14px) scale(.985); }
  to   { opacity: 1; transform: none; }
}


/* Shimmer on the skeletons while we wait */
@keyframes internet-shimmer {
  100% { transform: translateX(100%); }
}



/* Brief highlight so a card that just landed is easy to spot.

   Drawn with outline, not box-shadow: box-shadow is what carries the card's
   ring (and the double ring on a featured+discounted card), so animating it
   here would blank that out for the duration -- and with fill-mode `both`,
   permanently. Outline sits outside the shadow and owns nothing else, so a
   flash that never plays (background tab) simply leaves no trace. */
@keyframes internet-card-flash {
  from { outline: 3px solid rgba(16, 185, 129, .55); outline-offset: 0; }
  to   { outline: 3px solid rgba(16, 185, 129, 0); outline-offset: 6px; }
}

.internet-card-flash {
  animation: internet-card-flash 1.1s ease-out;
}

/* Counter ticking up as results land */
.internet-count-bump {
  animation: internet-card-in .3s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  .internet-card-flash,
  .internet-count-bump,
}

/* --------------------------------------------------------------------------
   Internet comparison — filter controls.
   .internet-seg: segmented sort control on the dark desktop bar.
   .internet-pill: option chips inside the white mobile filter sheet.
   Both mark the active option with aria-pressed, toggled by internet-stream.js.
   -------------------------------------------------------------------------- */
.internet-seg {
    border-radius: 9999px;
    padding: 0.375rem 0.875rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.65);
    transition: background-color 0.15s ease, color 0.15s ease;
}
.internet-seg:hover { color: #fff; }
.internet-seg[aria-pressed="true"] {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(2, 6, 23, 0.35);
}

.internet-pill {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.4rem 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.1;
    color: #334155;
    text-align: center;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* The unit under the value: small enough that five chips still share a row,
   large enough to read. Inherits the active state's white text. */
.internet-pill-unit {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    opacity: 0.65;
}
.internet-pill[aria-pressed="true"] {
    background: #059669;
    border-color: #059669;
    color: #fff;
}


/* Logo carousel on the internet comparison.
   Deliberately not Tailwind's animate-slide-left-infinite (15s): that one is
   shared with the partner strip on the front page, and this strip should
   drift rather than race. Hovering pauses it so a logo can be read. */
.internet-logo-track {
    animation: internet-logo-scroll 45s linear infinite;
}
@keyframes internet-logo-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}
.logos:hover .internet-logo-track {
    animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
    .internet-logo-track { animation: none; }
}

/* The strongest card on the page: featured AND discounted.
   Not a second ring — a stack of rings next to the amber coupon, the rose
   price box and the green CTA turned the card into a colour contest. One
   indigo ring plus a soft indigo-tinted lift does the standing-out, and the
   amber pill in the bar carries the discount message. */
.internet-card-spotlight {
    box-shadow:
        0 0 0 2px #6366f1,
        0 16px 40px -12px rgba(99, 102, 241, 0.45);
}
.internet-card-spotlight:hover {
    box-shadow:
        0 0 0 2px #6366f1,
        0 22px 48px -12px rgba(99, 102, 241, 0.6);
}

/* --------------------------------------------------------------------------
   Internet comparison — address dropdown skin.
   Scoped under .internet-address-search: .addressSearchMenu itself is shared
   with every other deals page AND the signup's jQuery autocomplete, so only
   this wrapper (which exists solely on the internet page) may restyle it.
   The generic orange hover/active classes from local-autocomplete.js are
   neutralised here and replaced with the page's emerald language.
   -------------------------------------------------------------------------- */
.internet-address-search .addressSearchMenu {
    margin-top: 0.5rem !important; /* the JS sets 10px inline */
    border: none;
    border-radius: 1.25rem;
    box-shadow:
        0 0 0 1px rgba(16, 185, 129, 0.25),
        0 24px 48px -12px rgba(2, 6, 23, 0.45);
}

.internet-address-search .addressSearchMenu li {
    padding-left: 1.25rem;
    padding-right: 1rem;
    color: #334155;
}

/* One selector for mouse hover and keyboard focus (the JS toggles the orange
   classes for both), so the two can never look different. */
.internet-address-search .addressSearchMenu li:hover,
.internet-address-search .addressSearchMenu li.bg-orange-50 {
    background-color: #ecfdf5;
    color: #0f172a;
    box-shadow: inset 3px 0 0 #10b981;
}

.internet-address-search .addressSearchMenu li:hover .internet-suggestion-icon,
.internet-address-search .addressSearchMenu li.bg-orange-50 .internet-suggestion-icon {
    color: #059669;
}

.internet-address-search .internet-suggestion-icon {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    color: #94a3b8;
    transition: color 0.15s ease;
}

.internet-address-search .internet-suggestion-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: #f1f5f9;
    padding: 0.2rem 0.55rem 0.2rem 0.7rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
}

.internet-address-search .internet-suggestion-badge svg {
    width: 0.875rem;
    height: 0.875rem;
}

.internet-address-search .addressSearchMenu li:hover .internet-suggestion-badge,
.internet-address-search .addressSearchMenu li.bg-orange-50 .internet-suggestion-badge {
    background: #d1fae5;
    color: #065f46;
}

/* On a phone the badge steals room from the address itself. */
@media (max-width: 480px) {
    .internet-address-search .internet-suggestion-badge { display: none; }
}

/* --------------------------------------------------------------------------
   Signup form — address dropdown skin.
   The deals design (icons, bold match, "Vælg husnummer" badge) in the FORM's
   accent language: the hover keeps the orange the JS already toggles, and the
   inset marker matches the fields' focus orange. Scoped under
   .signup-address-search exactly the way deals scopes its emerald skin.
   -------------------------------------------------------------------------- */
.signup-address-search .addressSearchMenu {
    border: none;
    /* 0.5rem, not deals' 1.25: the menu hangs off a rounded-md field and
       should read as its tray, not as a separate pill. Signup only. */
    border-radius: 0.5rem;
    box-shadow:
        0 0 0 2px rgba(234, 88, 12, 0.25),
        0 24px 48px -12px rgba(2, 6, 23, 0.25);
}

.signup-address-search .addressSearchMenu li {
    padding-left: 1.25rem;
    padding-right: 1rem;
    color: #334155;
}

/* One selector for mouse hover and keyboard focus (the JS toggles the orange
   classes for both), so the two can never look different. */
.signup-address-search .addressSearchMenu li:hover,
.signup-address-search .addressSearchMenu li.bg-orange-50 {
    background-color: #fff7ed;
    color: #0f172a;
    box-shadow: inset 3px 0 0 #ea580c;
}

.signup-address-search .addressSearchMenu li:hover .internet-suggestion-icon,
.signup-address-search .addressSearchMenu li.bg-orange-50 .internet-suggestion-icon {
    color: #ea580c;
}

.signup-address-search .internet-suggestion-icon {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    color: #94a3b8;
    transition: color 0.15s ease;
}

.signup-address-search .internet-suggestion-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: #f1f5f9;
    padding: 0.2rem 0.55rem 0.2rem 0.7rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
}

.signup-address-search .internet-suggestion-badge svg {
    width: 0.875rem;
    height: 0.875rem;
}

.signup-address-search .addressSearchMenu li:hover .internet-suggestion-badge,
.signup-address-search .addressSearchMenu li.bg-orange-50 .internet-suggestion-badge {
    background: #ffedd5;
    color: #9a3412;
}

/* On a phone the badge steals room from the address itself. */
@media (max-width: 480px) {
    .signup-address-search .internet-suggestion-badge { display: none; }
}

/* A pinned weekly deal the address search ruled out folds away rather than
   blinking out of existence. */
.internet-weekly-out {
    animation: internet-weekly-out 0.35s ease forwards;
}
@keyframes internet-weekly-out {
    to { opacity: 0; transform: scale(0.97); }
}
@media (prefers-reduced-motion: reduce) {
    .internet-weekly-out { animation: none; }
}

/* Insurance-type picker — best-in-class card multiselect.
   State styling lives here because :checked must reach children of .wrapper
   (icon, checkmark), which Tailwind's peer-checked sibling combinator can't. */

.field-multiselect input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Card */
.field-multiselect .wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    height: 100%;
    padding: 0.625rem 0.875rem;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;                 /* slate-200 */
    border-radius: 0.75rem;                       /* rounded-xl */
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transition: border-color 0.18s ease, background-color 0.18s ease,
                box-shadow 0.18s ease, transform 0.12s ease;
}

/* Icon tile */
.field-multiselect .ms-icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    background: #f1f5f9;                           /* slate-100 */
    color: #475569;                               /* slate-600 */
    transition: background-color 0.18s ease, color 0.18s ease;
}
.field-multiselect .ms-icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

/* Label */
.field-multiselect .ms-label {
    flex: 1 1 auto;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.3;
    color: #0f172a;                               /* slate-900 */
}

/* Checkmark badge */
.field-multiselect .ms-check {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 9999px;
    border: 1.5px solid #cbd5e1;                  /* slate-300 */
    color: transparent;
    transition: background-color 0.18s ease, border-color 0.18s ease,
                color 0.18s ease, transform 0.18s ease;
}
.field-multiselect .ms-check svg {
    width: 0.75rem;
    height: 0.75rem;
}

/* Hover */
.field-multiselect label:hover .wrapper {
    border-color: #cbd5e1;                        /* slate-300 */
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
.field-multiselect label:active .wrapper {
    transform: scale(0.985);
}

/* Valgt og aktiv, mørkt tema.
   Kortene bar deres eget sprog: en orange kant klods op ad kortet, mens
   felterne, radio-kortene og Ja/Nej-kortene alle har ringen 2px ude. Samme
   farve, anden afstand -- og en afstand der ikke stemmer læser som et andet
   system, ikke som den samme besked.

   Nu er det den samme ring, tegnet som outline af den samme grund som alle
   andre steder: outline-offset maler ikke mellemrummet, så luften viser
   boksen i stedet for en farve nogen skal huske at holde i sync.

   Kanten bliver neutral når kortet er valgt. Ellers ville der stå to orange
   linjer om det samme kort, én klæbende og én 2px ude, og så er vi tilbage
   ved to systemer. Ringen siger det; kanten er kortets anatomi.

   Fokus og valgt ser ens ud, som overalt ellers på formularen. */
.field-multiselect input[type="checkbox"]:checked + .wrapper,
.field-multiselect input[type="checkbox"]:focus-visible + .wrapper {
    outline: 2px solid var(--field-accent, #fb923c);
    outline-offset: 2px;
}
.field-multiselect input[type="checkbox"]:checked + .wrapper {
    background: #fff7ed;                           /* orange-50 */
}
.field-multiselect input[type="checkbox"]:checked + .wrapper .ms-icon {
    background: #ffedd5;                           /* orange-100 */
    color: #c2410c;                               /* orange-700 */
}
.field-multiselect input[type="checkbox"]:checked + .wrapper .ms-check {
    background: #ea580c;                           /* orange-600 */
    border-color: #ea580c;
    color: #ffffff;
    transform: scale(1.08);
}

/* ---------------------------------------------------------------------------
   Light theme.

   The cards are white in both skins, but on a dark box the white IS the
   elevation and a hairline shadow is enough. On a pale page a white card with
   a 1px shadow sits flat while the address field above it floats on the warm
   halo every other control wears -- so the picker joins the same air, and the
   edges step up to the 2px line the light skin draws on every box, card and
   field. Scoped by .is-light from the partial; the dark default is untouched.
   --------------------------------------------------------------------------- */
.field-multiselect.is-light .wrapper {
    border-width: 2px;
    border-color: #cbd5e1;                        /* slate-300, the card role's weight */
    box-shadow: 0 10px 28px -6px rgb(234 88 12 / 0.16),
                0 2px 5px rgb(15 23 42 / 0.06);
}
.field-multiselect.is-light .ms-check {
    border-width: 2px;
}
/* Hover firms the edge one notch, the way a field's does -- the base rule's
   slate-300 is the light card's RESTING colour now, so it would say nothing. */
.field-multiselect.is-light label:hover .wrapper {
    border-color: #94a3b8;                        /* slate-400 */
    box-shadow: 0 14px 32px -8px rgb(234 88 12 / 0.24),
                0 3px 6px rgb(15 23 42 / 0.07);
}
/* På det lyse tema er "aktiv" en kant i accenten plus en blød 4px halo -- det
   er hvad et fokuseret felt og et valgt Ja/Nej-kort gør -- så det gør et valgt
   multiselect-kort også. Ringen fra det mørke tema slås fra her; lyst har
   kanten at farve, mørkt har ikke.

   Løftet ændrer sig ikke med tilstanden. Et gitter på tolv kort ville bølge
   hver gang man klikkede; når højden står stille, kan farven tale.

   Glødens styrke er den samme 0.13 som felterne bruger. Den stod på 0.20 ved
   fokus og manglede helt ved valgt -- to afvigelser fra én værdi der findes
   ét sted. */
.field-multiselect.is-light input[type="checkbox"]:checked + .wrapper,
.field-multiselect.is-light input[type="checkbox"]:focus-visible + .wrapper {
    outline: none;
    border-color: var(--field-accent, #ea580c);
    box-shadow: 0 0 0 4px var(--field-glow, rgb(234 88 12 / 0.13)),
                0 10px 28px -6px rgb(234 88 12 / 0.16),
                0 2px 5px rgb(15 23 42 / 0.06);
}

@media (prefers-reduced-motion: reduce) {
    .field-multiselect .wrapper,
    .field-multiselect .ms-icon,
    .field-multiselect .ms-check {
        transition: none;
    }
}

/*
 * field-light -- the light theme's input signature.
 *
 * The utility roles in formSkin() draw the resting anatomy (border, colour,
 * spacing). This layer holds what utilities cannot say cleanly: state that
 * lives in pseudo-classes and vendor corners, and one focus language shared
 * by every state.
 *
 * The focus glow is a custom property, not a stack of ring utilities. Error
 * and success set --field-accent/--field-glow from their own classes, so a
 * focused error field glows red and a focused valid field glows green without
 * anyone re-declaring what "focus" means. One rule owns the behaviour; the
 * states only recolour it.
 *
 * Laget dækker begge temaer, hver med sin egen sætning: .field-light er den
 * lyse formulars kant i tre vægte, .field-ring er den mørkes ring med luft
 * omkring. De deler --field-accent, så fejl og fokus betyder det samme to
 * steder uden at nogen skriver det to gange.
 */

.field-light {
    caret-color: #ea580c;                      /* orange-600 -- the accent, felt at every keystroke */
    -webkit-tap-highlight-color: transparent;  /* the grey tap flash cheapens the press on mobile */
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

/* Focus: accent border + a soft 4px halo. Wider and quieter than a ring-2 --
   the border carries the 3:1 the indicator owes, the halo carries the feel. */
.field-light:focus {
    border-color: var(--field-accent, #ea580c);
    box-shadow: 0 0 0 4px var(--field-glow, rgb(234 88 12 / 0.13)),
                0 1px 2px rgb(15 23 42 / 0.06);
    outline: none;
}

/* A filled field reads as settled: the border firms one notch past its resting
   slate-400 once there is content and attention has moved on. Inputs and
   textareas only -- selects never match :placeholder-shown. */
input.field-light:not(:placeholder-shown):not(:focus),
textarea.field-light:not(:placeholder-shown):not(:focus) {
    border-color: #64748b;
}

/* The same settled edge, on demand. customjs.js hangs .field-done on a field
   the moment its value passes the client-side shape check -- which is how a
   select (no :placeholder-shown to match) finally looks like the filled text
   input above it. This is where the green success frame used to be; see the
   note on inputSuccess in formSkin() for why it left.

   Answered and hover share slate-500 on purpose. They are the same sentence --
   this field has had your attention -- and a third grey between rest and hover
   would be a distinction nobody could name. Hovering an empty field previews
   the answered weight for as long as the cursor sits there; that is a feature
   of the ladder, not a collision.

   :not(:focus) is the whole trick -- a completed field must still hand the
   border back to the accent while you are standing in it, so this yields to
   .field-light:focus instead of out-shouting it with !important. */
.field-light.field-done:not(:focus) {
    border-color: #64748b;
}

/* --- Ringen: det mørke temas felt-signatur -------------------------------
 *
 * På det mørke tema er feltet en hvid flade der ligger på boksen, og
 * tilstanden er en ring med luft imellem. Det er en anden sætning end det lyse
 * temas kant i tre vægte, og det er med vilje: en kant har ingenting at sige
 * når fladen selv er kanten, hvor ringen har den mørke boks at stå imod.
 *
 * Ringen tegnes som outline, ikke som ring-2 + ring-offset-2. Forskellen er
 * hvem der maler luften. ring-offset maler den selv, med en farve nogen skal
 * huske at holde i sync med boksen -- og det var netop det der gik galt:
 * farven stod hardcodet til gray-900, mens boksene i praksis er stone-800,
 * sky-950, slate-800, neutral-950, cyan-950, violet-950, indigo-950 og
 * red-800. Ingen af dem er #111827, så luften havde forkert farve på hver
 * eneste mørke side.
 *
 * outline-offset maler ikke luften. Den lader det der ligger bag skinne
 * igennem, og det er boksen -- hvad den end måtte blive sat til i morgen.
 * Farven kan ikke komme ud af sync, fordi der ikke længere er nogen farve at
 * holde i sync.
 *
 * Bemærk at outline følger border-radius i alle nuværende browsere. Safari før
 * 16.4 tegner den firkantet; det er en rund flade med en firkantet ring om,
 * ikke en manglende tilstand.
 */
.field-ring {
    transition: outline-color .15s ease;
}

/* Aktiv: accenten, med luft omkring. Ja/Nej-kortet står i den samme regel og
   ikke i sin egen, fordi det er den samme sætning: kortet svarer på det samme
   spørgsmål som feltet, så "valgt" og "aktiv" skal se ens ud -- samme ring,
   samme luft, samme accent. Kortet havde sin egen inset-ring der lå klods op
   ad kanten, og to ringe med hver sin afstand læser som to systemer.

   --tw-ring-color nulstilles her, fordi @tailwindcss/forms giver ethvert
   fokuseret felt en 1px blå ring som standard. Den gamle focus:ring-2
   ring-orange-400 overskrev den tilfældigvis; da den ring blev til en outline,
   var der ingen tilbage til at holde blåt ude, og den kom frem som en tynd
   stribe klos op ad feltet. Det lyse tema rammes ikke: dets box-shadow-glød
   erstatter hele skyggelisten og skyller ringen ud med samme bevægelse. */
.field-ring:focus,
.bool-chosen-ring,
.choice-ring:has(:checked) {
    --tw-ring-color: transparent;
    outline: 2px solid var(--field-accent, #fb923c);
    outline-offset: 2px;
}

/* Besvaret: den samme ring, dæmpet. To vægte af én ting, ligesom hvile og
   besvaret er to vægte af én kant på det lyse tema.

   :not(:focus) er hele tricket -- et udfyldt felt skal stadig give ringen
   tilbage til accenten mens man står i det. Selects matcher aldrig
   :placeholder-shown; de får .field-done fra customjs.js i stedet. */
input.field-ring:not(:placeholder-shown):not(:focus),
textarea.field-ring:not(:placeholder-shown):not(:focus),
.field-ring.field-done:not(:focus) {
    outline: 2px solid rgb(255 255 255 / 0.3);
    outline-offset: 2px;
}

/* Fejl overtager accenten, så et fokuseret fejlfelt lyser rødt i stedet for
   orange uden at nogen skal gentage hvad "fokus" betyder. Reglen står efter
   :focus med vilje: ved samme specificitet vinder den sidste, og et felt med
   fejl skal blive ved med at sige det mens man retter det. */
.field-ring.field-error {
    --field-accent: #ef4444;
    outline: 2px solid #ef4444;
    outline-offset: 2px;
}

/* --- Knappens loader -----------------------------------------------------
 *
 * Var to buede pile der roterede. Pilene tegner en handling -- "kør igen" --
 * og knappen laver ikke noget igen; den arbejder første gang. En bue der
 * løber rundt i en svag ring siger kun "det tager et øjeblik", og det er
 * hele beskeden.
 *
 * To lag bevægelse: hele ikonet drejer jævnt, og buen selv vokser og skrumper
 * mens den drejer videre. Cyklussen ender 90 grader forskudt fra hvor den
 * begyndte (450 mod 360), så samlingen aldrig lander samme sted to gange og
 * øjet ikke opdager løkken.
 */
.btn-spinner {
    animation: btn-spinner-turn 1.4s linear infinite;
}
.btn-spinner-arc {
    stroke-dasharray: 56.5;   /* omkredsen: 2*pi*9 */
    stroke-dashoffset: 48;
    transform-origin: 12px 12px;
    animation: btn-spinner-arc 1.4s ease-in-out infinite;
}
@keyframes btn-spinner-turn {
    to { transform: rotate(360deg); }
}
@keyframes btn-spinner-arc {
    0%   { stroke-dashoffset: 48; transform: rotate(0deg); }
    50%  { stroke-dashoffset: 14; transform: rotate(135deg); }
    100% { stroke-dashoffset: 48; transform: rotate(450deg); }
}

/* Buen der ånder er pynt; drejningen er beskeden. Den, der har bedt om mindre
   bevægelse, får kun beskeden. */
@media (prefers-reduced-motion: reduce) {
    .btn-spinner { animation-duration: 2.4s; }
    .btn-spinner-arc {
        stroke-dashoffset: 30;
        animation: none;
    }
}

/* Kontakter og ja/nej-kort havde den samme fejl et andet sted: offset-farven
   var gray-900 på mørk og white på lys -- og det lyse kort er slate-25, ikke
   hvidt. Samme luft, samme løsning, ét sted. Accenten kommer fra skinnet, så
   den ene regel dækker begge temaer.

   :focus-visible, ikke :focus: en kontakt man klikker på skal ikke stå med
   ring bagefter, kun en man er tastet hen til. */
.ring-gap:focus-visible {
    outline: 2px solid var(--field-accent, #ea580c);
    outline-offset: 2px;
}

/* The placeholder steps back the moment typing is about to replace it. */
.field-light::placeholder {
    transition: opacity .15s ease;
}
.field-light:focus::placeholder {
    opacity: .55;
}

/* Chrome autofill paints its own yellow box and won't be told otherwise --
   except through this shadow trick. Lead forms live off autofill; the yellow
   flash on name/email/phone is the single most common polish break. */
.field-light:-webkit-autofill,
.field-light:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #0f172a;
    caret-color: #ea580c;
}
.field-light:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 4px var(--field-glow, rgb(234 88 12 / 0.13)),
                        0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #0f172a;
}

/* The warm elevation. Two layers -- a wide warm lift in the accent and a
   tight neutral contact shadow -- so fields read as lifted, not as glowing.
   Lives here rather than as an arbitrary utility: Tailwind's extractor stops
   at the comma between shadow layers, and a class that silently fails to
   generate looks exactly like a missing deploy. */
/* Composed through Tailwind's ring variables, exactly like shadow-* utilities:
   ring-1 hairlines and the red error ring live in the same box-shadow, and a
   flat declaration here would silently eat them. */
.field-warm-shadow {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
                var(--tw-ring-shadow, 0 0 #0000),
                0 10px 28px -6px rgb(234 88 12 / 0.16),
                0 2px 5px rgb(15 23 42 / 0.06);
}

/* Det lyse temas valgte kort får feltets sprog: en 2px kant i accenten plus
   den samme bløde 4px halo som et fokuseret felt, oven på kortets varme løft.

   Hele listen erklæres her frem for at sættes sammen gennem ring-variablerne,
   fordi kortet før bar !ring-2 -- og Tailwinds ring-utility erklærer selv
   box-shadow. Med ! foran blev den erklæring !important, og så kunne ingen
   senere regel lægge noget oveni, uanset rækkefølge. Utilityen er væk fra
   rollen; kanten er det inderste lag herunder i stedet. Det er også derfor
   den varme skygges to lag står gentaget: klassen ejer nu hele skyggen, så
   kortet skal ikke miste sit løft for at få sin halo. */
.bool-chosen-glow,
.choice-glow:has(:checked) {
    box-shadow: inset 0 0 0 2px var(--field-accent, #ea580c),
                0 0 0 4px var(--field-glow, rgb(234 88 12 / 0.13)),
                0 10px 28px -6px rgb(234 88 12 / 0.16),
                0 2px 5px rgb(15 23 42 / 0.06);
}

/*
 * Logo-skalering, ét sted for alle skins.
 *
 * Logoerne stod på `width: <logo_width>px; max-width: 80vw`. Den kombination
 * er i praksis min(logo_width, 80vw) -- og 80vw er for meget på en telefon:
 * et logo tegnet til 360px fyldte fire femtedele af skærmens bredde og
 * skubbede alt andet ned. Redaktøren sætter én px-værdi i Nova og kan ikke
 * vide hvad den bliver til på 375px.
 *
 * Så: bredden er MINDSTE af den designede bredde og en fornuftig andel af
 * skærmen. Et smalt logo (140px) rører aldrig loftet og bliver ved sin egen
 * størrelse; et bredt bliver skaleret ned proportionalt. Over sm gælder den
 * designede bredde ubeskåret, og max-width:100% fanger den beholder der
 * måtte være smallere endnu. width/height-attributterne bliver på img'en, så
 * aspect ratio -- og dermed CLS-reservationen -- er uændret.
 */
/*
 * På telefonen styres logoet af sin HØJDE, ikke sin bredde.
 *
 * En ren bredde-grænse behandler alle logoer ens, og det er de ikke: i basen
 * går de fra 2,5:1 til 9,5:1. Ved en fast bredde blev et 5,5:1-logo 30px højt
 * og et 6,4:1-logo kun 24px -- samme bredde, men det brede så mindre ud, for
 * det er højden man aflæser som størrelse på et vandret mærke i en header.
 *
 * Loftet er derfor 36px højde, men skrevet som en BREDDE: højden gange
 * forholdet. Den omvej er ikke pynt. Den direkte formulering -- width/height
 * auto med max-height -- fik browseren til at regne billedets bredde ud fra
 * forælderens og forælderens ud fra billedets i footeren, hvor logoet ligger i
 * et <a class="inline-block"> der får sin bredde FRA sit indhold. Cirklen
 * endte i nul, og logoet forsvandt sporløst på telefonen. Med en definit
 * bredde er der ingen cirkel: højden følger af width/height-attributterne.
 *
 * --logo-ratio sættes af PHP, som allerede kender begge mål. Falder den ud,
 * er 5,5 katalogets median og et fornuftigt gæt.
 *
 * 40px er loftet, og det er lavet i tre skridt: 30 var for lidt, 36 var
 * stadig for lidt på de brede mærker, 40 er der hvor de læses rigtigt. Med
 * 12px luft over og under er båndet 64px, og mærket fylder 62% af det --
 * midt i det interval en header normalt bruger.
 *
 * Videre op ville jeg fraråde. Ved 44px begynder headeren at konkurrere med
 * overskriften (26px) om hierarkiet, og første felt skubbes tilsvarende ned.
 * Et logo skal bekræfte hvor man er, ikke være det første man læser.
 *
 * At ForsikringTjeks mærke stadig ser mindre ud end InternetTjeks ved samme
 * højde er ikke noget CSS kan rette: dets flueben er højere end bogstaverne,
 * så boksens 40px bliver til ~28px bogstavhøjde. Skal de to veje ens optisk,
 * er det logofilen der skal beskæres, ikke reglen.
 *
 * Bredde-loftet er 80vw og ikke mindre, netop for at højden kan nå sine 36:
 * ved 56vw ramte et 6,4:1-mærke bredden først og stoppede på 34px, hvor et
 * 5,5:1 nåede de 36. Samme loft, to forskellige resultater -- og det brede
 * mærke så mindst ud, fordi det bruger sin højde til luft mellem ordene. Nu er
 * 80vw kun nødstoppet for de allerbredeste; alle andre lander på 36px.
 */
/* img.logo-fluid, ikke .logo-fluid: customcss.css har en ældre
   `.logo img { width: 100% }` (0,1,1) som moresale-modalens .logo-wrapper
   udløser. Element + klasse gør uafgjort på specificitet, og field-light.css
   ligger sidst i mix.styles -- så vinder den rigtige regel. */
img.logo-fluid {
    width: min(var(--logo-w, 200px), 80vw, calc(40px * var(--logo-ratio, 5.5)));
    max-width: 100%;
    height: auto;
}
@media (min-width: 640px) {
    img.logo-fluid { width: var(--logo-w, 200px); }
}

/*
 * Logobåndet på det lyse tema.
 *
 * Grundformen er en hvid fade: uigennemsigtig øverst, væk ved bundkanten. Den
 * ligger over sidens baggrund -- på desktop et foto -- og giver logoet sin
 * egen zone uden en hård kant at lægge mærke til.
 *
 * På en telefon var der ingen zone at give: fotoet er slået fra dernede, så
 * faden lå oven på den slørede farveklat og løb ud i boksens tint. Tre flader
 * i tre nuancer inden for 100px, og logoet stod midt i overgangen. --sheet
 * gør derfor båndet til en hvid plade på telefonen -- den samme som det mørke
 * tema altid har haft. Logoet står på den samme flade i begge arme, headeren
 * er den samme, og kun det der ligger under hårstregen skiller dem.
 * Fra sm er fotoet der igen, og så er faden tilbage -- derfor slukkes
 * fladen der, ellers ville båndet dække det foto det er tegnet til at ligge på.
 */
.light-logo-band {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0));
}

@media (max-width: 639px) {
    .light-logo-band--sheet { background-image: none; }
}

@media (min-width: 640px) {
    .light-logo-band--sheet { background-color: transparent; }
}

/*
 * Overskrifter der selv finder deres størrelse.
 *
 * Størrelsen var fast pr. breakpoint, og så passer den kun til én
 * tekstlængde. En kort overskrift efterlod den halve linje tom; en lang løb
 * ned over en tredje linje eller blev brudt i to halvtomme af text-balance.
 * Redaktøren skriver 187 forskellige overskrifter på ni sprog og kan ikke
 * vide hvilken størrelse hans netop rammer.
 *
 * Så regner CSS den ud: linjebredden gange antal linjer, delt med tekstens
 * bredde målt i skriftstørrelser. Resultatet er den størrelse der fylder
 * linjerne præcis ud. clamp() holder den mellem et gulv og et loft, så en
 * treords-overskrift ikke bliver et plakat-slogan og en lang ikke bliver
 * ulæselig.
 *
 * 100cqi er beholderens egen bredde -- derfor container-type på h1'en. Det
 * gør at det samme regnestykke virker i formularens boks, i popuppen og på
 * en 320px-telefon uden et eneste breakpoint: bliver linjen smallere, bliver
 * skriften det også, glidende.
 *
 * fitText() i Helper.php leverer de to tal: tekstens bredde i em (tegnantal
 * gange skriftens målte tegnbredde) og hvor mange linjer den skal fylde --
 * som ikke er det samme på en telefon og på en desktop.
 */
.fit-box {
    container-type: inline-size;
}

.fit-text {
    font-size: clamp(var(--fit-min), calc(var(--fit-lines, 1) * 100cqi / var(--fit-adv, 20)), var(--fit-max));
}

.fit-head {
    /* Aldrig under 24px -- heller ikke på den længste overskrift i basen.
       Under det holder den op med at være en overskrift. */
    --fit-min: 1.5rem;
    --fit-max: 1.75rem;
    --fit-lines: var(--fit-m, 2);

    /*
     * Overskriften arvede linjeafstand 1,5 fra body'en, da text-4xl (der satte
     * 1,11) blev taget af. På to linjer er det en halv tom linje imellem dem --
     * tydeligst på en telefon, hvor lange overskrifter altid bryder. 1,15 er
     * en overskrifts afstand; 1,5 er brødtekstens.
     *
     * Afstanden NED til underoverskriften er en anden sag: den skal ikke
     * skrumpe med, så den flyttes over i en padding der ikke afhænger af
     * skriftstørrelsen (pb-1 på selve spanet).
     */
    line-height: 1.15;
}

.fit-tag {
    /* Aldrig under 16px: brødtekstens nedre grænse. En underoverskrift der
       skal knibes mindre, må hellere tage en linje mere. */
    --fit-min: 1rem;
    --fit-max: 1.0625rem;
    --fit-lines: var(--fit-m, 2);
}

@media (min-width: 640px) {
    .fit-head { --fit-max: 2rem;    --fit-lines: var(--fit-d, 1); }
    .fit-tag  { --fit-max: 1.25rem; --fit-lines: var(--fit-d, 1); }
}

@media (min-width: 1280px) {
    .fit-head { --fit-max: 2.25rem; }
}

/*
 * Adresselistens højde.
 *
 * Den stod på max-h-60 -- 240px, uanset hvad. På en telefon med tastaturet
 * oppe var det for meget hvis feltet lå lavt, og alt for lidt når feltet er
 * løftet til toppen og der er 500px ledigt. Et fast tal kan kun ramme én af
 * de to.
 *
 * Derfor en variabel med en fornuftig reserve. address-focus.js måler hvad
 * der faktisk er plads til under feltet -- efter tastaturet står stille -- og
 * sætter den; sker det ikke (ingen JS, desktop, ingen fokus) gælder reserven:
 * 21rem, eller 60% af skærmen på den lave. min() frem for et fast tal, fordi
 * en liste der fylder tre fjerdedele af en lille skærm skjuler det felt man
 * skriver i.
 *
 * overscroll-behavior: contain, så det at nå bunden af listen ikke fortsætter
 * i siden bagved. Uden den ruller siden videre mens man kigger på forslag.
 */
.adresse-liste {
    max-height: var(--adresseliste-maks, min(21rem, 60vh));
    overflow-y: auto;
    overscroll-behavior: contain;
}

/*
 * Zigzag-stregens farve følger fladen bag den, ikke temaet.
 *
 * Stregen tegnes i sidens egen farve. Den farve er valgt til at fylde en
 * flade bag et mørkt kort, og som tynd streg på hvidt papir kan den være
 * for lys -- #fb923c, som 22 sider kører, giver 2,3:1. inkOnWhite() i
 * Helper.php leverer derfor et alternativ med mindst 3:1 og lader alle
 * andre farver være.
 *
 * Hvilken der bruges afhænger IKKE af temaet, men af hvad der ligger under
 * stregen. På telefon er pladen hvid i begge temaer, så dér skal begge bruge
 * blækket. Fra sm er pladen gennemsigtig: dér står stregen på fotoet i det
 * mørke tema (hvor den rå farve er den rigtige) og på den lyse side i det
 * lyse tema (hvor blækket stadig er). Derfor bærer den lyse gren klassen
 * permanent, mens media query'en slår til for alle under sm.
 */
.logo-zigzag {
    fill: var(--zig, currentColor);
}
.logo-zigzag--blaek {
    fill: var(--zig-blaek, var(--zig, currentColor));
}
@media (max-width: 639px) {
    .logo-zigzag {
        fill: var(--zig-blaek, var(--zig, currentColor));
    }
}

/*
 * Logopladen på det MØRKE tema, telefon.
 *
 * Det mørke tema har aldrig haft et bånd: logoet står på sidens egen flade
 * over den mørke boks, fordi mærket er tegnet i mørk streg og skal have noget
 * lyst at stå på (det er også derfor footeren er den lyse på begge temaer).
 * Men "sidens egen flade" er ikke en flade -- det er en stump af skallen med
 * logo_flag-mønstret og den slørede farveklat bagved, og på en telefon læste
 * de første 50px som et gengivelsesuheld frem for som en header.
 *
 * En ren hvid plade i fuld bredde i stedet, med samme luft over og under som
 * det lyse bånd. Så har begge temaer den samme opbygning i toppen -- header,
 * kant, formular -- og splittesten måler tema frem for to forskellige sider.
 * Fra sm er alt som før: dér er der plads til at logoet står frit på fotoet.
 */
@media (max-width: 639px) {
    .logo-plate {
        position: relative;
        left: 50%;
        width: 100vw;
        margin-top: 0;
        transform: translateX(-50%);
        padding-top: .75rem;
        background: #fff;
    }
}


/* The FORM BOX's frame. Same warmth as .light-card-warm, but the two layers
   that hug the edge -- the 6px halo and, through the ring vars, the 2px orange
   line -- only exist where there is a card for them to hug.
   Below sm the box is full-bleed with square corners: the frame's left and
   right edges run off-screen and its top edge stops being a frame and becomes
   an orange stripe under the logo. So below sm only the drop shadow survives,
   which is still what separates the box from the page beneath it. The dark
   skin already gated its own ring behind sm: for exactly this reason. */
.light-card-frame {
    box-shadow: 0 35px 70px -14px rgb(234 88 12 / 0.30),
                0 24px 48px -18px rgb(15 23 42 / 0.30);
}
@media (min-width: 640px) {
    .light-card-frame {
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
                    var(--tw-ring-shadow, 0 0 #0000),
                    0 0 0 6px rgb(234 88 12 / 0.12),
                    0 35px 70px -14px rgb(234 88 12 / 0.30),
                    0 24px 48px -18px rgb(15 23 42 / 0.30);
    }
}

/* The same warmth for elements that are cards at every width -- modals, the
   steps block, the deals shell. Paired with its ring in the markup. */
.light-card-warm {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
                var(--tw-ring-shadow, 0 0 #0000),
                0 0 0 6px rgb(234 88 12 / 0.12),   /* the fields' focus halo, box-sized */
                0 35px 70px -14px rgb(234 88 12 / 0.30),
                0 24px 48px -18px rgb(15 23 42 / 0.30);
}

/* The CTA, both themes. The colour is the editor's (background-color inline);
   what is OURS is the depth: a top shine that makes the solid colour read as
   a surface, a contact shadow, and a glow in the button's own colour --
   --btn-glow, mixed server-side because a hex custom property cannot take
   alpha in CSS. One motion system lives here so the variants cannot drift:
   hover lifts and brightens, active presses. */
.cta-button {
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.18),
                0 1px 2px rgb(15 23 42 / 0.10),
                0 10px 26px -8px var(--btn-glow, rgb(15 23 42 / 0.25));
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.cta-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.22),
                0 2px 4px rgb(15 23 42 / 0.10),
                0 16px 34px -10px var(--btn-glow, rgb(15 23 42 / 0.30));
}
.cta-button:active {
    transform: translateY(0) scale(0.98);
    filter: brightness(0.98);
}
@media (prefers-reduced-motion: reduce) {
    .cta-button, .cta-button:hover, .cta-button:active { transform: none; transition: none; }
}

/*
 * Gløden er i knappens egen farve, og på desktop står den på et kort med luft
 * omkring: dér læses den som dybde. På en telefon går kortet fra kant til
 * kant, så de 26px grøn spreder sig ud over hele bredden og lægger et grønligt
 * skær på fladen under knappen -- en tredje tone på et ark der skal have to.
 * Kontaktskyggen bliver; den er det der løfter knappen. Glødens rækkevidde
 * halveres og dæmpes.
 */
@media (max-width: 639px) {
    .cta-button {
        box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.18),
                    0 1px 2px rgb(15 23 42 / 0.10),
                    0 6px 14px -8px var(--btn-glow, rgb(15 23 42 / 0.25));
    }
}

/*
 * Trust-chips under CTA'en.
 *
 * De stod som en fast række: tre løfter ved siden af hinanden, som brød til to
 * linjer på en telefon med ét løfte alene på anden linje. Nu skifter de gennem
 * én linje, så hvert løfte får sin egen tur i stedet for at dele
 * opmærksomheden. Det gælder også på desktop; en række man har set én gang
 * bliver til tapet, en der skifter bliver ved med at blive læst.
 *
 * Er der plads til to, står der ALTID to -- på to faste pladser, hver med sin
 * egen takt en halv tur forskudt. Så lander der et nyt løfte hvert 1,2 sekund,
 * skiftevis til venstre og til højre, mens det andet bliver stående. Ingen
 * vandret vandring: et forsøg hvor nr. 2 gled over og blev nr. 1 så ud som om
 * linjen blev skubbet mod venstre, i stedet for som nye løfter der kommer til.
 * Løfterne kommer nedefra og går opad, som ny tekst der lander.
 *
 * Hvor mange der er plads til afgøres af målingen, ikke af breakpointet:
 * usp-rotate.js måler chippene, og de to pladser er lige brede (det bredeste
 * løfte), så ingen af dem flytter sig når indholdet skifter. Kan de ikke stå
 * der med luft, kører linjen ét løfte ad gangen samme sted. Den måler igen ved
 * resize og når popuppen åbner, så en lang oversættelse ikke skal gættes på
 * forhånd. JS sætter usp-on, tilstanden (usp-pair eller usp-solo), usp-gN
 * (antal løfter), --i (chip'ets tur) og de to x-positioner. Resten står her.
 *
 * Rækkefølgen: venstre plads viser løfte 0, 1, 2 ... én pr. tur. Højre plads
 * viser det samme to pladser længere fremme, en halv tur forskudt -- to er det
 * mindste spring der aldrig sætter samme løfte to steder på én gang.
 *
 * Højden er reserveret HELE tiden -- også før JS har målt -- og den er præcis
 * den flade rækkes højde. Derfor hopper linjen ikke når skiftet sætter i gang,
 * og knappen over den flytter sig aldrig. Uden JS står første løfte alene;
 * alle bliver i DOM'en, så en skærmlæser hører dem alle, og ved reduceret
 * bevægelse foldes de tilbage til den ombrudte række.
 *
 * Linjen er én tekstlinje høj, så et chip skal kunne stå på én linje. Bliver
 * et løfte bredere end linjen selv, ombrydes det inde i den faste højde og
 * løber ned over det der står under. Målingen redder to-kolonnen, ikke et
 * enkelt løfte der er for langt til sin egen linje.
 */
.usp-rotate {
    position: relative;
    display: block;
    height: 1.25rem;

    /* Hvor langt en gruppe flyver ind nedefra og videre ud foroven. */
    --usp-rise: 10px;

    /* De to pladser. JS måler dem; her står de så en fejlmåling ikke lægger
       begge løfter oven i hinanden midt på linjen. */
    --x-a: -50%;
    --x-b: 50%;
}

.usp-rotate > .usp-item {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}

/* Før JS har målt: ét løfte fremme frem for tre oven i hinanden. */
.usp-rotate > .usp-item:first-child {
    opacity: 1;
}

/*
 * JS har målt og fundet ud af at der ikke er noget at skifte imellem: enten er
 * der kun ét løfte, eller der er flere end der er keyframes til. Så er den
 * flade, ombrudte række svaret -- den samme som ved reduceret bevægelse.
 */
.usp-rotate.usp-flat {
    position: static;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1rem;
}

.usp-rotate.usp-flat > .usp-item {
    position: static;
    opacity: 1;
    animation: none;
    transform: none;
}

.usp-rotate.usp-on > .usp-item {
    opacity: 0;
    animation-delay: calc(var(--i, 0) * var(--usp-step, 2.4s));
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    animation-fill-mode: both;
}

.usp-rotate.usp-on.usp-g2 > .usp-item { animation-duration: calc(2 * var(--usp-step, 2.4s)); }
.usp-rotate.usp-on.usp-g3 > .usp-item { animation-duration: calc(3 * var(--usp-step, 2.4s)); }
.usp-rotate.usp-on.usp-g4 > .usp-item { animation-duration: calc(4 * var(--usp-step, 2.4s)); }
.usp-rotate.usp-on.usp-g5 > .usp-item { animation-duration: calc(5 * var(--usp-step, 2.4s)); }
.usp-rotate.usp-on.usp-g6 > .usp-item { animation-duration: calc(6 * var(--usp-step, 2.4s)); }

.usp-rotate.usp-on.usp-solo.usp-g2 > .usp-item { animation-name: usp-solo-2; }
.usp-rotate.usp-on.usp-solo.usp-g3 > .usp-item { animation-name: usp-solo-3; }
.usp-rotate.usp-on.usp-solo.usp-g4 > .usp-item { animation-name: usp-solo-4; }
.usp-rotate.usp-on.usp-solo.usp-g5 > .usp-item { animation-name: usp-solo-5; }
.usp-rotate.usp-on.usp-solo.usp-g6 > .usp-item { animation-name: usp-solo-6; }

.usp-rotate.usp-on.usp-pair.usp-g3 > .usp-item { animation-name: usp-pair-3; }
.usp-rotate.usp-on.usp-pair.usp-g4 > .usp-item { animation-name: usp-pair-4; }
.usp-rotate.usp-on.usp-pair.usp-g5 > .usp-item { animation-name: usp-pair-5; }
.usp-rotate.usp-on.usp-pair.usp-g6 > .usp-item { animation-name: usp-pair-6; }

/*
 * ÉT AD GANGEN: fremme i sin egen 1/n af cyklussen. Holdet slutter PRÆCIS ved
 * skiftet, og udtoningen ligger efter -- oven i den næstes indtoning. Første
 * forsøg lagde udtoningen før skiftet, og så var linjen tom i ~0,3s hver gang:
 * et blink under knappen. Nu krydser de to hinanden.
 */
@keyframes usp-solo-2 {
    0%     { opacity: 0; transform: translateY(var(--usp-rise)); }
    6.3%   { opacity: 1; transform: translateY(0); }
    50%    { opacity: 1; transform: translateY(0); }
    56.3%  { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
    100%   { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
}
@keyframes usp-solo-3 {
    0%     { opacity: 0; transform: translateY(var(--usp-rise)); }
    4.2%   { opacity: 1; transform: translateY(0); }
    33.3%  { opacity: 1; transform: translateY(0); }
    37.5%  { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
    100%   { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
}
@keyframes usp-solo-4 {
    0%     { opacity: 0; transform: translateY(var(--usp-rise)); }
    3.1%   { opacity: 1; transform: translateY(0); }
    25%    { opacity: 1; transform: translateY(0); }
    28.1%  { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
    100%   { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
}
@keyframes usp-solo-5 {
    0%     { opacity: 0; transform: translateY(var(--usp-rise)); }
    2.5%   { opacity: 1; transform: translateY(0); }
    20%    { opacity: 1; transform: translateY(0); }
    22.5%  { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
    100%   { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
}
@keyframes usp-solo-6 {
    0%     { opacity: 0; transform: translateY(var(--usp-rise)); }
    2.1%   { opacity: 1; transform: translateY(0); }
    16.7%  { opacity: 1; transform: translateY(0); }
    18.8%  { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
    100%   { opacity: 0; transform: translateY(calc(-1 * var(--usp-rise))); }
}

/*
 * TO AD GANGEN: hele gruppen flyver ud, og en ny flyver ind.
 *
 * Tre forsøg gik på at lade løfterne afløse hinanden ét ad gangen på to faste
 * pladser. Pladserne SKULLE ligge fast -- ellers rykkede det løfte der blev
 * stående, når naboen skiftede -- og med faste pladser kan et par af to
 * forskelligt brede tekster enten stå tæt ELLER stå centreret. Ikke begge
 * dele. Centreret på lige brede pladser gav 98px hul; tæt sammen gav 54px ude
 * af midten.
 *
 * Skifter HELE gruppen på én gang, forsvinder tvangen: der er ingen der bliver
 * stående, så hver gruppe må ligge præcis hvor den skal -- centreret, med
 * mellemrummet mellem sine egne to. Hvert løfte har derfor to positioner, én
 * for hver gruppe det er med i, og skiftet mellem dem sker i det øjeblik alt
 * er ude af billedet. Det er derfor der er to keyframe-stop lige efter
 * hinanden ved skiftet: uden dem ville x glide fra den ene position til den
 * anden mens løftet tonede ind, og så var vi tilbage ved et løfte der
 * bevæger sig sidelæns.
 *
 * Linjen står tom et kort øjeblik midt i skiftet. Det er med vilje: det er
 * forskellen på en gruppe der bliver skiftet ud og en enkelt brik der bliver
 * byttet. Ét ad gangen (usp-solo) krydser stadig, for dér ville den tomme
 * linje være det eneste man så.
 *
 * Grupperne overlapper med ét løfte (0-1, 1-2, 2-0), så der altid er to. Det
 * ene løfte der går igen flyver med gruppen ud og ind som alle andre.
 */
@keyframes usp-pair-3 {
    0%      { opacity: 0; transform: translate(var(--x-a), var(--usp-rise)); }
    3.5%   { opacity: 1; transform: translate(var(--x-a), 0); }
    30.5%  { opacity: 1; transform: translate(var(--x-a), 0); }
    33.3%   { opacity: 0; transform: translate(var(--x-a), calc(-1 * var(--usp-rise))); }
    33.4%   { opacity: 0; transform: translate(var(--x-b), var(--usp-rise)); }
    36.9%   { opacity: 1; transform: translate(var(--x-b), 0); }
    63.8%  { opacity: 1; transform: translate(var(--x-b), 0); }
    66.6%   { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
    100%    { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
}
@keyframes usp-pair-4 {
    0%      { opacity: 0; transform: translate(var(--x-a), var(--usp-rise)); }
    2.6%   { opacity: 1; transform: translate(var(--x-a), 0); }
    22.9%  { opacity: 1; transform: translate(var(--x-a), 0); }
    25%   { opacity: 0; transform: translate(var(--x-a), calc(-1 * var(--usp-rise))); }
    25.1%   { opacity: 0; transform: translate(var(--x-b), var(--usp-rise)); }
    27.7%   { opacity: 1; transform: translate(var(--x-b), 0); }
    47.9%  { opacity: 1; transform: translate(var(--x-b), 0); }
    50%   { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
    100%    { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
}
@keyframes usp-pair-5 {
    0%      { opacity: 0; transform: translate(var(--x-a), var(--usp-rise)); }
    2.1%   { opacity: 1; transform: translate(var(--x-a), 0); }
    18.3%  { opacity: 1; transform: translate(var(--x-a), 0); }
    20%   { opacity: 0; transform: translate(var(--x-a), calc(-1 * var(--usp-rise))); }
    20.1%   { opacity: 0; transform: translate(var(--x-b), var(--usp-rise)); }
    22.2%   { opacity: 1; transform: translate(var(--x-b), 0); }
    38.3%  { opacity: 1; transform: translate(var(--x-b), 0); }
    40%   { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
    100%    { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
}
@keyframes usp-pair-6 {
    0%      { opacity: 0; transform: translate(var(--x-a), var(--usp-rise)); }
    1.7%   { opacity: 1; transform: translate(var(--x-a), 0); }
    15.3%  { opacity: 1; transform: translate(var(--x-a), 0); }
    16.7%   { opacity: 0; transform: translate(var(--x-a), calc(-1 * var(--usp-rise))); }
    16.8%   { opacity: 0; transform: translate(var(--x-b), var(--usp-rise)); }
    18.5%   { opacity: 1; transform: translate(var(--x-b), 0); }
    32.0%  { opacity: 1; transform: translate(var(--x-b), 0); }
    33.4%   { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
    100%    { opacity: 0; transform: translate(var(--x-b), calc(-1 * var(--usp-rise))); }
}

@media (prefers-reduced-motion: reduce) {
    .usp-rotate,
    .usp-rotate.usp-on {
        position: static;
        height: auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.5rem 1rem;
    }
    .usp-rotate > .usp-item,
    .usp-rotate.usp-on > .usp-item {
        position: static;
        opacity: 1;
        animation: none;
        transform: none;
    }
}

/*
 * ⓘ'et på rating-chippen lover at der er mere at se, hvis man peger på den.
 * Uden en mus er der ikke -- popoveren bindes kun når pegeenheden kan holde
 * sig over noget (se customjs.js), fordi en finger åbner den uden at kunne
 * lukke den igen. Så tag løftet af der hvor det ikke kan holdes.
 */
@media (hover: none) {
    .rating-info { display: none; }
}

/* ==========================================================================
   Trinskift uden sideskift.

   Formularen henter næste trin og bytter det ind, hvor den før hentede en hel
   side. Uden noget imellem er skiftet et hak: indholdet er ét felt i én frame
   og syv felter i den næste, og fordi de to trin sjældent er lige høje, hopper
   resten af siden med.

   Tre ting sker derfor, og de svarer til tre forskellige spørgsmål:

     VENTETIDEN   Serveren skal validere trinnet, og det tager den tid det tager
                  (telefonvalidering kan koste et sekund). Indholdet bliver
                  stående og træder et skridt tilbage i stedet for at forsvinde
                  -- en tom boks i et sekund læses som om noget gik i stykker.
     RETNINGEN    Det nye trin kommer ind fra højre når man går frem og fra
                  venstre når man går tilbage. Det er den ene ting der fortæller
                  hvad der lige skete, uden ord.
     HØJDEN       Boksen animeres fra sin gamle til sin nye højde, så siden
                  under den ikke hopper. Højden sættes af JS, som er det eneste
                  der kan måle den; her ligger kun overgangen.

   Bevægelsen er kort med vilje. Det er en formular man er i gang med at udfylde,
   ikke en overgang man skal se på -- 260ms er nok til at øjet følger med og lidt
   for lidt til at man venter på den.
   ========================================================================== */

/* Mens serveren arbejder. Indholdet bliver, men er tydeligt ikke det aktive
   længere, og det kan ikke klikkes videre på. */
#form-shell.step-leaving {
    opacity: .45;
    transition: opacity 160ms ease-out;
    pointer-events: none;
}

/* Det nye trin lander. `both` holder starttilstanden indtil animationen
   begynder, så der ikke er en frame hvor trinnet står på plads med fuld
   opacitet før det glider ind.

   Tre tilstande, ikke to. Et AFVIST trin er ikke en bevægelse: serveren sendte
   det samme trin tilbage med en fejl, og en glidetur fra højre ville sige at
   man var kommet videre. Det toner ind på stedet i stedet -- nok til at man ser
   at noget er sket, uden at love fremdrift der ikke er. */
#form-shell.step-entering {
    animation: step-in-forward 260ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

#form-shell.step-entering-back {
    animation: step-in-back 260ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

#form-shell.step-entering-still {
    animation: step-in-still 200ms ease-out both;
}

/* 14px, ikke 40: en lang glidetur gør skiftet langsomt at se på og river
   opmærksomheden væk fra feltet man skal udfylde. Så langt at retningen er
   utvetydig, ikke længere. */
@keyframes step-in-forward {
    from { opacity: 0; transform: translate3d(14px, 0, 0); }
    to   { opacity: 1; transform: none; }
}

@keyframes step-in-back {
    from { opacity: 0; transform: translate3d(-14px, 0, 0); }
    to   { opacity: 1; transform: none; }
}

/* Ingen retning: trinnet skiftede ikke, kun dets indhold. */
@keyframes step-in-still {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Højden animeres kun mens JS har låst den. Uden .step-sizing er der ingen
   transition på højden overhovedet -- ellers ville hvert betinget felt, der
   vises eller skjules af field_rules, glide i stedet for at skifte. */
#form-shell.step-sizing {
    overflow: hidden;
    transition: height 260ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Den der har bedt om mindre bevægelse får skiftet, ikke rejsen: indholdet
   veksler uden at glide, og højden springer. Dæmpningen under ventetiden
   bliver -- den er information om at noget er i gang, ikke udsmykning. */
@media (prefers-reduced-motion: reduce) {
    #form-shell.step-leaving {
        transition: none;
        opacity: .6;
    }

    #form-shell.step-entering,
    #form-shell.step-entering-back,
    #form-shell.step-entering-still {
        animation: none;
    }

    #form-shell.step-sizing {
        transition: none;
    }
}
