/* Fonts (Inter, IBM Plex Sans Arabic, JetBrains Mono) load from client/index.html. */

*, ::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.19 | 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: var(--font-sans); /* 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: var(--font-mono); /* 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;
}
  /* Headlines: Inter 700-800, tight tracking (-1% to -2%) */
  h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
    font-weight: 700;
    letter-spacing: -0.015em; /* -1.5% tracking */
    font-feature-settings: 'ss01' on, 'ss02' on, 'cv01' on; /* Inter Display features */
}
  
  h1 {
    font-weight: 700;
    letter-spacing: -0.02em; /* -2% tracking for main headlines */
    line-height: 1.05;
  }
  
  h2 {
    font-weight: 700;
    letter-spacing: -0.018em;
    line-height: 1.1;
  }
  
  h3, h4 {
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.2;
  }
  
  /* Body/UI: Inter 400-500, line-height 1.5-1.6 */
  body {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.5rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    line-height: 1.6;
    font-feature-settings: 'kern' on, 'liga' on;
}
  
  p {
    line-height: 1.6;
    font-weight: 400;
  }
  
  /* Buttons/Labels: Inter 500-600 */
  button, [role="button"], label, .label {
    font-weight: 500;
    letter-spacing: -0.005em;
  }
   .\!label {
    font-weight: 500 !important;
    letter-spacing: -0.005em !important;
  }

  .prose {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
  
  /* Heading spacing and typography - Premium weights */
  .prose h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  scroll-margin-top: 5rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
    letter-spacing: -0.025em;
}
  
  .prose h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  scroll-margin-top: 5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
    letter-spacing: -0.02em;
}
  
  .prose h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  scroll-margin-top: 5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
    letter-spacing: -0.015em;
}
  
  /* Reduce spacing between consecutive headings to prevent excessive gaps */
  .prose h2 + h2,
  .prose h2 + h3 {
  margin-top: 1.5rem;
}
  
  .prose h3 + h3,
  .prose h3 + h4 {
  margin-top: 1rem;
}
  
  .prose h4 + h4 {
  margin-top: 0.75rem;
}
  
  /* Paragraph spacing - single margin for consistency */
  .prose p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 1.625;
}
  
  /* First paragraph after heading should be closer */
  .prose h2 + p,
  .prose h3 + p,
  .prose h4 + p {
  margin-top: 0.75rem;
}
  
  /* List spacing */
  .prose ul,
  .prose ol {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
  .prose ul > :not([hidden]) ~ :not([hidden]),
  .prose ol > :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));
}
  
  .prose li {
  line-height: 1.625;
}
  
  /* Code blocks */
  .prose code {
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  line-height: 1.25rem;
}
  @media print {
  .prose code {
    background: white;
  }
}
  
  .prose pre {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  overflow-x: auto;
  border-radius: .625rem;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
  padding: 1rem;
}
  
  @media print {
  .prose pre {
    background: white;
  }
}
  
  .prose pre code {
  background-color: transparent;
  padding: 0px;
}
  
  /* Blockquotes — no single-sided rail. This carried `border-s-4
     border-primary`, a bar down the inline-start edge only. The indent,
     italics and muted color already mark the quote; the rule just added a
     stray line beside every quoted passage. */
  .prose blockquote {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-inline-start: 1rem;
  font-style: italic;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
  @media (max-width: 640px) {
    .prose blockquote {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
  
  /* Tables */
  .prose table {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 100%;
  border-collapse: collapse;
}
  
  .prose th {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: start;
  font-weight: 600;
}
  
  .prose th.toggle-elevate::before {
    inset: -1px;
  }
  
  .prose th.hover-elevate:not(.no-hover-interaction-elevate)::after,.prose th.active-elevate:not(.no-active-interaction-elevate)::after,.prose th.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.prose th.active-elevate-2:not(.no-active-interaction-elevate)::after,.prose th.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  
  @media print {
  .prose th {
    background: white;
  }
}
  
  .prose td {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
  
  .prose td.toggle-elevate::before {
    inset: -1px;
  }
  
  .prose td.hover-elevate:not(.no-hover-interaction-elevate)::after,.prose td.active-elevate:not(.no-active-interaction-elevate)::after,.prose td.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.prose td.active-elevate-2:not(.no-active-interaction-elevate)::after,.prose td.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  
  /* Links */
  .prose a {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
  .prose a:hover {
  text-decoration-line: underline;
}
  
  /* Strong and emphasis */
  .prose strong {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
  
  .prose em {
  font-style: italic;
}
  
  /* Horizontal rules */
  .prose hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}
  /* Mobile Headlines */
  @media (max-width: 640px) {
    h1 {
      font-size: 36px;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.1;
    }
    
    h2 {
      font-size: 32px;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.15;
    }
    
    h3 {
      font-size: 24px;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.2;
    }
    
    h4 {
      font-size: 20px;
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.25;
    }
  }
  
  /* Prevent iOS zoom on inputs - 16px minimum */
  input, textarea, select {
    font-size: 16px !important;
  }
  
  @media (min-width: 640px) {
    input, textarea, select {
      font-size: inherit !important;
    }
  }
  * {
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}

  body {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
  font-family: var(--font-sans);
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

  @media print {
  body {
    background: white;
  }
}

  /* Ensure proper box-sizing for all elements */
  *, *::before, *::after {
    box-sizing: border-box;
  }

  /* Calm focus for command/search inputs inside dropdowns */
  [cmdk-input] {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    ring: none !important;
  }
  [cmdk-input]:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* Prevent horizontal overflow on mobile.
     Must be `clip`, NOT `hidden`: `overflow-x: hidden` turns body into a
     scroll container, which silently disables every position:sticky
     descendant on the page (e.g. the Built On section's pinned heading
     column). `clip` clips overflow without creating a scroll container. */
  html, body {
    overflow-x: clip;
    width: 100%;
    max-width: 100vw;
  }

  /* Clearance a jumped-to answer heading needs so it lands BELOW the sticky
     "Jump to section" bar instead of underneath it (P2-10: jumping to "Study
     Quality" left the heading itself hidden behind the bar). Single source of
     truth for both the bar's sticky offset and the headings' scroll-margin-top.

     MEASURED, not estimated (2026-07-29, live DOM): the bar's own
     getBoundingClientRect().height is 58px and it sits 8px below the pane's top
     edge, so the real obstruction is 66px = 4.125rem. The previous 3.75rem/60px
     was an estimate from the bar's padding and type size, and left a jumped-to
     heading 6px clipped under the bar. client/src/lib/pane-scroll.ts measures
     the live bar at scroll time, so this value is the static fallback for
     scroll-margin-top rather than the only source of truth. */
  :root {
    /* C2 (2026-08-01): was 4.125rem, sized to clear the "Jump to section" bar
       when that bar was `sticky top-2`. It no longer is — a sticky element
       inside a scroll container always overlays what scrolls under it, and live
       it hid a full line of clinical prose — so nothing inside the pane covers a
       jumped-to heading and there is nothing left to clear. Reduced to breathing
       room, matching BREATHING_ROOM_PX in lib/pane-scroll.ts, which measures the
       live obstruction and is the source of truth; this is only the static
       scroll-margin fallback. */
    --helix-toc-clearance: 0.75rem;
  }

  /* ── Helix Copilot: single scroll owner ──────────────────────────────────
     The /helix chat must have EXACTLY ONE scroll container: the message list.
     Previously the document overflowed as well, producing two nested scroll
     contexts, and every scroll symptom on the route traced back to it:
       - the wheel scrolled the document, not the chat pane, so the newest
         answer was unreachable;
       - a follow-up's user turn + answer rendered below the fold and users
         concluded their message had been silently dropped;
       - "Scroll to latest" was permanently visible, because the pane could
         never be observed sitting at its own bottom.

     The class is added to <html> by the Helix route on mount and removed on
     unmount (useLayoutEffect in pages/ask-hormonaly.tsx), so every other route
     keeps ordinary document scrolling.

     This also retires the hardcoded `calc(100dvh - 61px)` the chat shell used
     to size itself with: #root becomes the flex column, the header takes its
     natural height, and the shell claims the remainder. If the header height
     ever changes, nothing needs to be recalculated. */
  html.helix-viewport-lock {
    height: 100dvh;
    overflow: hidden;
    /* Stop the iOS/Android rubber-band from scrolling the page behind the pane. */
    overscroll-behavior: none;
  }

  /* ── Why `position: relative` and `overflow: clip` below ──────────────────
     The lock above was not sufficient. Live measurement on production
     (2026-07-30) found documentElement.scrollHeight = 8195 against
     innerHeight 1116, with body.scrollHeight 749 and every element in the
     chain clipped and 749px tall — i.e. a phantom 7,446px scrolling box on the
     ROOT that no element in the layout accounted for. `scrollTo(0, 4000)`
     succeeded with the lock class on, and a single
     `scrollIntoView({block:'center'})` inside the message list moved the
     document to 103, taking the sticky header to top:-102 with no way back.

     CONFIRMED AGAINST THE RUNNING APP (operator, live hormonaly.ai,
     /helix/c/99bd3870…, 2026-07-30). This exact rule set was applied as inline
     styles on the live page, measured, and then restored:

       before   documentElement.scrollHeight 7616, body.scrollHeight 1108,
                scrollTo(0, 4000) succeeded and left the document at 4000
       after    documentElement.scrollHeight 1108 — equal to body.scrollHeight
                AND to innerHeight — and scrollTo(0, 4000) came back 0, refused
       restored documentElement.scrollHeight back to 7616

     The pane was unharmed in both states: scrollHeight 7623 unchanged, and a
     programmatic scroll still moved it 3377px. That is the production
     measurement the Chromium harness below could only approximate.

     Cause, reproduced in Chromium (scroll-leak-probe.mjs, 1280x749):
     an element with `position: absolute` and NO positioned ancestor takes the
     INITIAL CONTAINING BLOCK as its containing block, so `overflow: hidden` on
     body/#root does not clip it — clipping only applies to descendants whose
     containing-block chain passes through the clipping box. Its static
     position is thousands of pixels down inside the scrolled message list, so
     it extends the VIEWPORT's scrolling area to the full conversation height.
     Measured, same chain, one absolutely-positioned 40px box inside the last
     message:

       control                      doc.scrollHeight 7319, body 749,
                                    window.scrollTo(0,4000) → 4000,
                                    scrollIntoView leaked 193px into the root
       same box inside a
         `position: relative` parent doc.scrollHeight 749  (no leak)
       body/#root relative + clip    doc.scrollHeight 749, nothing movable,
                                     scrollIntoView leak 0, sticky header top 0

     So the fix is structural, at the root, and does not depend on finding the
     one offending element:

       `position: relative`  — body and #root become containing blocks, so NO
                               descendant can reach the initial containing
                               block and escape the clip. The boxes are already
                               the full viewport at (0,0), so nothing moves.
       `overflow: clip`      — `hidden` clips but still creates a scrolling box
                               that scrollTop/scrollIntoView can move
                               programmatically; `clip` creates NO scrolling
                               box at all. Without it the fix merely relocates
                               the leak one level down (measured: with
                               `position: relative` on body alone,
                               body.scrollHeight became 7319 and body.scrollTop
                               accepted 4000).

     `overflow: hidden` stays as the preceding declaration so a UA without
     `overflow: clip` (pre-Chrome 90 / Safari 16 / Firefox 81) still gets
     today's behaviour rather than none. Measured as safe: the sticky header
     stays at top 0, the message pane still scrolls, and a body-portalled
     `position: fixed` overlay (Radix popper, toast) is unclipped and still
     hit-testable — `clip` does not clip a fixed descendant whose containing
     block is the viewport. */
  html.helix-viewport-lock body {
    height: 100%;
    position: relative;
    overflow: hidden;
    overflow: clip;
    overscroll-behavior: none;
  }

  html.helix-viewport-lock body > #root {
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    overflow: clip;
  }

  /* The sticky global header keeps its intrinsic height instead of being
     squashed by flex-shrink. */
  html.helix-viewport-lock body > #root > header {
    flex: 0 0 auto;
  }

  /* The chat shell claims whatever the header leaves. min-height:0 is load-
     bearing: without it a flex item refuses to shrink below its content
     height and the overflow leaks straight back out to the document — which
     is the exact failure this block exists to prevent. */
  html.helix-viewport-lock #main-content {
    flex: 1 1 auto;
    min-height: 0;
  }

  /* Lock body scroll when modal/drawer/sheet overlay is active (prevents scroll bleed on mobile) */
  /* Radix UI sets data-scroll-locked on body when dialogs/sheets open */
  body[data-scroll-locked] {
    overflow: hidden !important;
    touch-action: none;
  }

  /* Improve text rendering on mobile */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  /* Better touch targets for mobile - minimum 44x44px */
  button, a, input[type="button"], input[type="submit"] {
    min-height: 44px;
    min-width: 44px;
    touch-action: manipulation;
  }
  [aria-current="page"],
  [aria-current="true"] {
    font-weight: 600;
    color: hsl(var(--primary));
  }
  [aria-selected="true"]:not([role="tab"], .rdp-root *) {
    background-color: hsl(var(--accent));
    color: hsl(var(--accent-foreground));
  }
  [aria-pressed="true"] {
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
  }
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 375px) {

  .\!container {
    max-width: 375px !important;
  }

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

  .\!container {
    max-width: 640px !important;
  }

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

  .\!container {
    max-width: 768px !important;
  }

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

  .\!container {
    max-width: 1024px !important;
  }

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

  .\!container {
    max-width: 1280px !important;
  }

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

  .\!container {
    max-width: 1536px !important;
  }

  .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 var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  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: rgb(17 24 39 / 10%);
  --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: rgb(255 255 255 / 10%);
  --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-base {
  font-size: 1rem;
  line-height: 1.75;
}
.prose-base :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose-base :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}
.prose-base :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}
.prose-base :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}
.prose-base :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}
.prose-base :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}
.prose-base :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.prose-base :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose-base :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose-base :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-base :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose-base :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  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-base :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
}
.prose-base :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
}
.prose-base :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.9em;
}
.prose-base :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  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-base :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose-base :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose-base :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.prose-base :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}
.prose-base :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}
.prose-base :where(.prose-base > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose-base :where(.prose-base > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}
.prose-base :where(.prose-base > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}
.prose-base :where(.prose-base > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}
.prose-base :where(.prose-base > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}
.prose-base :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-base :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose-base :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}
.prose-base :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}
.prose-base :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 3em;
  margin-bottom: 3em;
}
.prose-base :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-base :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-base :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-base :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-base :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
  line-height: 1.7142857;
}
.prose-base :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}
.prose-base :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-base :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-base :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-base :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}
.prose-base :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}
.prose-base :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose-base :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}
.prose-base :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}
.prose-base :where(.prose-base > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}
.prose-base :where(.prose-base > :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;
}
  /* Section label — standardized pill used for "FOR PROVIDERS", "SYSTEMATIC REVIEWS" etc.
     One consistent design pattern replacing the 3+ variations currently on the page. */
  .section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
    color: hsl(var(--primary));
    background: hsl(var(--primary) / 0.06);
    border: 1px solid hsl(var(--primary) / 0.15);
}
  
  /* Enterprise-grade card — consistent card treatment for product/feature cards */
  .card-enterprise {
  border-radius: .75rem;
  border-width: 1px;
  border-color: hsl(var(--border) / 0.5);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));
  padding: 1.25rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  animation-duration: 200ms;
}
  .card-enterprise.toggle-elevate::before {
    inset: -1px;
  }
  .card-enterprise.hover-elevate:not(.no-hover-interaction-elevate)::after,.card-enterprise.active-elevate:not(.no-active-interaction-elevate)::after,.card-enterprise.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.card-enterprise.active-elevate-2:not(.no-active-interaction-elevate)::after,.card-enterprise.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  @media print {
  .card-enterprise {
    background: white;
  }
}
  .card-enterprise:hover {
  border-color: hsl(var(--primary) / 0.2);
  --tw-shadow: 0 2px 16px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 2px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
  
  /* Metric display — large numbers with label below (for stats strip) */

  /* Display (Hero headlines) - 56px, weight 800 */
  
  /* H1 (Section headlines) - 40px, weight 700 */
  
  /* H2 (Subsections) - 32px, weight 600 */
  
  /* H3 (Card titles) - 24px, weight 600 */
  
  /* Body Large (Subheadlines, Lead text) - 18px, weight 400 */
  
  /* Lead text for hero subheadlines - extra generous line-height */
  
  /* Body (Default) - 16px, weight 400 */
  
  /* Caption (Fine print) - 14px, weight 400 */
  
  /* Highlight - Primary colored emphasized text */
  .highlight {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
  
  /* Highlight with gradient for extra impact */
  
  /* Emphasized body text - medium weight */
  
  /* Clinical data typography - monospace for precision */
  
  /* Stat numbers - extra bold for impact */
  
  /* ================================================
     Named Typography Classes - Semantic Usage
     .hero-headline    → Hero sections (60px, bold)
     .section-headline → Section titles (36px, semibold)
     .card-title       → Card headings (20px, semibold)
     .body-text        → Default body (16px, normal)
     .caption          → Fine print (14px, muted)
     ================================================ */
  
  /* Hero headline - 60px on desktop, scales down responsively */
  
  /* Section headline - 36px, for major sections */
  
  /* Card title - 20px, for card headings */
  
  /* Body text - 16px, default paragraph style */
  
  /* Caption - 14px, for fine print and secondary info */
  .caption {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--font-normal);
    line-height: 1.5;
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
  }
  @media (max-width: 640px) {
    .caption {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
  
  /* ================================================
     Spacing Utility Classes (8-Point Grid)
     For consistent, spacious layouts
     ================================================ */
  
  /* Section spacing - generous vertical rhythm */

  /* ================================================
     section-gap-y — Canonical vertical-padding utility
     for marketing-page <section>s. Establishes a single
     80–112px rhythm across home / enterprise / pharmacy
     / about / pricing. Targets the "blank-air" problem
     where each section was hand-tuned with py-8/14/24
     and the gaps no longer felt intentional.

     Usage:
       <section className="section-gap-y">…</section>
     ================================================ */
  .section-gap-y {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
  @media (min-width: 640px) {

  .section-gap-y {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
  @media (min-width: 768px) {

  .section-gap-y {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}
  .section-gap-y { /* 56px → 80px → 112px */
  }
  /* Compact variant for sections that already carry a
     top/bottom border or live on a tinted background
     (border-y bg-muted/40), where full 80/112 padding
     reads as too much air. */
  .section-gap-y-compact {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
  @media (min-width: 640px) {

  .section-gap-y-compact {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
  @media (min-width: 768px) {

  .section-gap-y-compact {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
  .section-gap-y-compact { /* 40px → 56px → 80px */
  }
  
  /* Section header spacing */
  
  /* Card grid gaps */
  
  /* Card internal padding */
  
  /* Button padding variants */
  
  /* ================================================
     Elevation & Depth Utilities
     Replace flat borders with multi-layer shadows
     ================================================ */
  
  /* Shadow utility classes */
  
  /* Colored elevation for accent elements */
  
  /* Focus ring */
  
  /* Card with depth (shadow-based, no border) */
  
  /* Hero/feature preview with prominent depth */
  .dark .preview-depth {
    border-color: hsl(var(--primary-900) / 0.3);
  }
  
  /* Floating badge/element */
  
  /* Modal/dialog depth */
  
  /* Button with depth - lifts on hover */
  
  /* ================================================
     Hero Section Styling
     Gradient background, decorative elements, copilot preview
     ================================================ */
  
  .hero-section {
    background: linear-gradient(180deg, #FAFCFF 0%, #FFFFFF 100%);
    padding: 120px 0 140px;
    position: relative;
    overflow: hidden;
  }
  .dark .hero-section {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 8%) 100%);
  }
  
  /* Decorative gradient orb - top right */
  .hero-section::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, 
      rgba(36, 99, 235, 0.08) 0%, 
      transparent 70%
    );
    border-radius: 50%;
    pointer-events: none;
  }
  .dark .hero-section::before {
    background: radial-gradient(circle, 
      rgba(36, 99, 235, 0.15) 0%, 
      transparent 70%
    );
  }
  
  /* Optional second decorative orb - bottom left */
  .hero-section::after {
    content: '';
    position: absolute;
    bottom: -150px;
    left: -150px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, 
      rgba(20, 184, 166, 0.06) 0%, 
      transparent 70%
    );
    border-radius: 50%;
    pointer-events: none;
  }
  
  /* Hero subheadline styling */
  
  /* Hero trust badges - teal pills */
  .dark .hero-badge {
    background: linear-gradient(135deg, hsl(var(--teal-500) / 0.15) 0%, hsl(var(--teal-600) / 0.1) 100%);
    color: hsl(var(--teal-300));
    border-color: hsl(var(--teal-500) / 0.4);
  }
  
  /* Copilot preview card */
  .dark .copilot-preview {
    border-color: hsl(var(--primary-900) / 0.4);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3),
                0 6px 16px rgba(0, 0, 0, 0.2);
  }
  
  /* Floating animation for agent badges in copilot */
  @keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
  }
  
  .copilot-preview .agent-badge {
    animation: float 3s ease-in-out infinite;
  }
  .copilot-preview .agent-badge:nth-child(1) { animation-delay: 0s; }
  .copilot-preview .agent-badge:nth-child(2) { animation-delay: 0.5s; }
  .copilot-preview .agent-badge:nth-child(3) { animation-delay: 1s; }
  .copilot-preview .agent-badge:nth-child(4) { animation-delay: 1.5s; }
  
  /* Reduce animation for users who prefer reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .copilot-preview .agent-badge {
      animation: none;
    }
  }
  
  /* Hero bottom trust indicators */
  
  .hero-trust-indicators .checkmark {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
  
  .hero-trust-indicators .checkmark:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
  
  /* ================================================
     Social Proof Bar
     Logo strip with grayscale → color hover effect
     ================================================ */
  
  .dark .logo-grid img {
    filter: grayscale(100%) opacity(0.4) brightness(1.5);
  }
  .dark .logo-grid img:hover {
    filter: grayscale(0%) opacity(1) brightness(1);
  }
  
  /* ================================================
     How It Works Section
     Step 1 hero treatment, steps 2-3 normal
     ================================================ */
  
  .how-it-works {
    padding: var(--space-24) 0;
    --tw-bg-opacity: 1;
    background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
  }
  
  @media print {
  .how-it-works {
    background: white;
  }
}
  
  /* Step 1 - HERO TREATMENT (blue gradient, larger, glowing) */
  
  /* Glow border effect */
  
  /* Steps 2 & 3 - NORMAL TREATMENT */
  
  /* Step number badge */
  
  /* ================================================
     Clinical Features Section
     Borderless items with colored icons
     ================================================ */
  .dark .clinical-features {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 6%) 100%);
  }
  
  /* Borderless feature item */
  
  /* Color-coded feature icons */
  .dark .feature-icon-database {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.2) 0%, rgba(13, 148, 136, 0.15) 100%);
    color: #5EEAD4;
  }
  .dark .feature-icon-agents {
    background: linear-gradient(135deg, rgba(36, 99, 235, 0.2) 0%, rgba(0, 119, 237, 0.15) 100%);
    color: #93C5FD;
  }
  .dark .feature-icon-quality {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2) 0%, rgba(245, 158, 11, 0.15) 100%);
    color: #FCD34D;
  }
  
  /* ================================================
     Comparison Table
     Hormonaly column highlighted with "RECOMMENDED" badge
     ================================================ */
  
  /* Hormonaly column header - highlighted */
  .dark .comparison-table thead th.hormonaly-column {
    background: linear-gradient(180deg, rgba(36, 99, 235, 0.2) 0%, rgba(0, 119, 237, 0.15) 100%);
    border-color: hsl(var(--primary));
  }
  
  /* "RECOMMENDED" badge */
  
  /* Hormonaly column - highlight */
  .dark .comparison-table tbody td.hormonaly-column {
    background: linear-gradient(180deg, rgba(36, 99, 235, 0.1) 0%, transparent 100%);
  }
  
  /* Zebra striping */
  
  /* ================================================
     Testimonials Section
     Cards with accent border on hover
     ================================================ */
  
  .testimonials {
    padding: var(--space-24) 0;
    background: linear-gradient(180deg, #FAFCFF 0%, #FFFFFF 100%);
  }
  .dark .testimonials {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 6%) 100%);
  }
  
  /* Accent border on hover */
  
  /* ================================================
     FAQ Section
     Enhanced accordion with hover effects
     ================================================ */
  
  .faq-item.\!open .faq-icon {
    transform: rotate(180deg) !important;
  }
  
  .faq-item.open .faq-icon {
    transform: rotate(180deg);
  }
  
  .faq-item.\!open .faq-icon {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
  
  .faq-item.open .faq-icon {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
  
  .faq-item.\!open .faq-answer {
    max-height: 500px !important;
    margin-top: var(--space-4) !important;
  }
  
  .faq-item.open .faq-answer {
    max-height: 500px;
    margin-top: var(--space-4);
  }
  
  /* ================================================
     Final CTA Section
     Gradient background with decorative orbs
     ================================================ */
  .dark .final-cta {
    background: linear-gradient(135deg, hsl(220 20% 10%) 0%, hsl(200 30% 12%) 50%, hsl(170 30% 10%) 100%);
  }
  
  /* ================================================
     Copilot Page & Interactive Demo
     Enhanced demo container with agent badges
     ================================================ */
  .dark .copilot-page {
    background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(220 20% 6%) 100%);
  }
  .dark .copilot-demo-container {
    border-color: hsl(var(--primary-900) / 0.4);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
  }
  
  /* Copilot header */
  .dark .copilot-header {
    background: linear-gradient(135deg, rgba(36, 99, 235, 0.15) 0%, rgba(0, 119, 237, 0.1) 100%);
    border-color: hsl(var(--primary-900) / 0.3);
  }
  
  /* Agent badges strip */
  
  .agent-badge {
    padding: var(--space-2) var(--space-4);
    border-radius: 999px;
    font-size: 13px;
    font-weight: var(--font-medium);
    white-space: nowrap;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1.5px solid transparent;
  }
  .dark .agent-badge-research {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.15) 0%, rgba(13, 148, 136, 0.1) 100%);
    color: #5EEAD4;
  }
  .dark .agent-badge-safety {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.1) 100%);
    color: #6EE7B7;
  }
  .dark .agent-badge-protocol {
    background: linear-gradient(135deg, rgba(36, 99, 235, 0.15) 0%, rgba(0, 119, 237, 0.1) 100%);
    color: #93C5FD;
  }
  .dark .agent-badge-stacking {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.15) 0%, rgba(139, 92, 246, 0.1) 100%);
    color: #C4B5FD;
  }
  
  /* Suggestion chips */
  
  /* Input section */
  
  /* Trial notice */
  
  /* ================================================
     Evidence Page
     Database grid, GRADE methodology, evidence hero
     ================================================ */
  .dark .evidence-badge {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2) 0%, rgba(245, 158, 11, 0.15) 100%);
    color: #FCD34D;
  }
  
  /* Database grid */
  .dark .database-card:hover {
    border-color: #5EEAD4;
    box-shadow: 0 8px 24px rgba(20, 184, 166, 0.15);
  }
  .dark .database-icon {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.2) 0%, rgba(13, 148, 136, 0.15) 100%);
    color: #5EEAD4;
  }
  
  /* GRADE methodology section */
  .dark .grade-section {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1) 0%, rgba(245, 158, 11, 0.08) 100%);
    border: 1px solid rgba(245, 158, 11, 0.2);
  }
  
  /* GRADE A - High quality */
  .grade-a .grade-letter {
    background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
    color: #059669;
  }
  .dark .grade-a .grade-letter {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.15));
    color: #6EE7B7;
  }
  
  /* GRADE B - Moderate quality */
  .grade-b .grade-letter {
    background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
    color: #2463EB;
  }
  .dark .grade-b .grade-letter {
    background: linear-gradient(135deg, rgba(36, 99, 235, 0.2), rgba(0, 119, 237, 0.15));
    color: #93C5FD;
  }
  
  /* GRADE C - Low quality */
  .grade-c .grade-letter {
    background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
    color: #D97706;
  }
  .dark .grade-c .grade-letter {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2), rgba(245, 158, 11, 0.15));
    color: #FCD34D;
  }
  
  /* GRADE D - Very low quality */
  .grade-d .grade-letter {
    background: linear-gradient(135deg, #FEF2F2, #FECACA);
    color: #DC2626;
  }
  .dark .grade-d .grade-letter {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.2), rgba(239, 68, 68, 0.15));
    color: #FCA5A5;
  }
  
  /* ================================================
     Pricing Page
     Enhanced pricing cards with featured plan
     ================================================ */
  
  /* Featured plan (Clinic) */
  .dark .pricing-card-featured {
    background: linear-gradient(180deg, hsl(var(--card)) 0%, hsl(220 20% 8%) 100%);
  }
  
  .pricing-feature.unavailable {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
  
  @media (max-width: 640px) {
    .pricing-feature.unavailable {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
  
  .pricing-feature.unavailable svg {
  --tw-text-opacity: 1;
  color: rgb(174 174 178 / var(--tw-text-opacity, 1));
}
  
  .pricing-feature.unavailable svg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(110 110 115 / var(--tw-text-opacity, 1));
}
  
  /* ================================================
     Animation & Microinteractions
     Button effects, card hovers, scroll animations
     ================================================ */
  
  /* Button interactions */
  
  /* Ripple effect for buttons */
  
  /* Card glow effect on hover */
  
  /* Counter animation utility */
  .counter {
  font-weight: 700;
    font-feature-settings: 'tnum' on, 'lnum' on;
}
  
  /* ================================================
     Mobile Optimizations
     Touch-friendly, responsive breakpoints
     ================================================ */
  
  /* Mobile menu */
  @media (max-width: 768px) {
    
    .mobile-menu.\!open {
      transform: translateX(0) !important;
    }
    .mobile-menu {
      position: fixed;
      inset: 0;
      --tw-bg-opacity: 1;
      background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
    }
@media print {
  .mobile-menu {
    background: white;
  }
}
    .mobile-menu {
      z-index: 999;
      padding: 80px var(--space-6) var(--space-6);
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }
    
    .mobile-menu.open {
      transform: translateX(0);
    }
    
    .mobile-menu-item {
      font-size: var(--text-xl);
      font-weight: var(--font-medium);
      padding: var(--space-4) 0;
      border-bottom: 1px solid hsl(var(--border));
      --tw-text-opacity: 1;
      color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
    }
    
    .mobile-menu-item:hover {
    --tw-text-opacity: 1;
    color: hsl(var(--primary) / var(--tw-text-opacity, 1));
  }
  }
  
  /* Touch-friendly elements (48px min tap target) */
  
  /* Extend tap area for links/buttons */
  
  /* CSS Containment for performance */
  
  /* ================================================
     Accessibility
     Focus states, screen reader support, skip links
     ================================================ */
  
  /* Visible focus indicators */
  *:focus-visible {
    outline: 3px solid hsl(var(--primary));
    outline-offset: 2px;
    border-radius: 4px;
  }
  
  /* Custom focus for buttons */
  .btn:focus-visible,
  button:focus-visible {
    outline: none;
    box-shadow: var(--shadow-focus);
  }
  
  /* Custom focus for cards */
  .card:focus-visible,
  [role="button"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(36, 99, 235, 0.2),
                0 8px 24px rgba(0, 0, 0, 0.12);
  }
  
  /* Custom focus for inputs */
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: none;
    border-color: hsl(var(--primary));
    box-shadow: var(--shadow-focus);
  }
  
  /* Visually hidden but accessible to screen readers */
  .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;
  }
  
  /* Skip to main content link */
  .skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    --tw-bg-opacity: 1;
    background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    padding: var(--space-3) var(--space-4);
    text-decoration: none;
    z-index: 9999;
    border-radius: 0 0 8px 0;
    font-weight: var(--font-medium);
  }
  
  .skip-link:focus {
    top: 0;
  }

  /* Inline citation markers [1]…[n] — the core evidence affordance.
     WCAG fixes (audit round-3):
     - 2.5.8 target size: the visible glyph is ~11×11px; an absolutely-
       positioned ::after pseudo-element expands the HIT AREA to ≥24×24
       without disturbing the typography.
     - 1.4.3 contrast: text-muted-foreground/60 measured 1.67:1 (light) /
       2.17:1 (dark); use the full-opacity foreground-adjacent token so the
       marker meets ≥4.5:1 in both themes.
     - 1.4.11/2.4.11 focus visibility: the old 1px half-opacity ring computed
       2.06:1 and was invisible; use a 2px full-opacity primary outline. */
  .helix-citation-marker {
    position: relative;
    color: hsl(var(--foreground) / 0.72);
    transition: color 0.15s ease;
    /* ── C5 (live audit, 2026-08-01) ────────────────────────────────────────
       The markers "sat oddly against the baseline". They were styled with
       Tailwind's `align-super` + `text-3xs` + `leading-none` on the <sup>, and
       `vertical-align: super` is the wrong tool here for two reasons: the shift
       it applies is font-defined rather than chosen, and a raised inline box
       INFLATES the line box it sits in — so a paragraph containing a citation
       gets a taller line than the paragraph above it, which is the "odd" part.
       `top` on an already-relatively-positioned element moves the glyph without
       touching layout at all, and `line-height: 0` keeps the marker out of the
       line-box calculation entirely.
       Sizing is `em`-relative so a marker in a heading scales with the heading
       instead of staying pinned to a fixed 3xs step. */
    font-size: 0.68em;
    line-height: 0;
    vertical-align: baseline;
    top: -0.42em;
    /* Belt-and-braces with the WORD JOINER the renderer inserts: a marker run
       may never break away from the word it belongs to, nor split internally. */
    white-space: nowrap;
  }
  .helix-citation-marker::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
    /* hit area only — invisible */
  }
  .helix-citation-marker:hover,
  .helix-citation-marker:focus {
    color: hsl(var(--foreground));
  }
  .helix-citation-marker:focus {
    outline: none;
  }
  .helix-citation-marker:focus-visible {
    outline: 2px solid hsl(var(--primary));
    outline-offset: 2px;
    border-radius: 3px;
  }

  /* Loading/spinner accessibility */
  
  /* High contrast mode support */
  @media (prefers-contrast: high) {
    *:focus-visible {
      outline-width: 4px;
    }
    
    .btn,
    button {
      border-width: 2px;
    }
    
    .card {
      border-width: 2px;
    }
  }
  
  /* Reduced motion support (additional) */
  
  /* ================================================
     Semantic Color System - Icon & Badge Utilities
     Use sparingly (10-15% of UI) - Blue remains dominant
     ================================================ */
  
  /* Icon Background Containers - 56px with gradient backgrounds */
  
  /* Subtle pulse animation for icon containers */
  
  @keyframes icon-pulse {
    0%, 100% { opacity: 0; transform: scale(1); }
    50% { opacity: 0.15; transform: scale(1.08); }
  }
  
  /* Disable pulse on reduced motion preference */
  
  /* Static icon variant (no pulse) */
  
  /* ================================================
     Semantic Badge Variants - Gradient Backgrounds
     Usage: [8 databases] (teal) [GRADE A] (gold) [Safety verified] (green)
     ================================================ */
  
  /* GRADE/Evidence Quality - Gold/Amber gradient */
  .badge-grade,
  .badge-gold {
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
  .badge-grade.toggle-elevate::before,
  .badge-gold.toggle-elevate::before {
    inset: -1px;
  }
  .badge-grade.hover-elevate:not(.no-hover-interaction-elevate)::after,.badge-grade.active-elevate:not(.no-active-interaction-elevate)::after,.badge-grade.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.badge-grade.active-elevate-2:not(.no-active-interaction-elevate)::after,.badge-grade.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-gold.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-gold.active-elevate:not(.no-active-interaction-elevate)::after,
  .badge-gold.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .badge-gold.active-elevate-2:not(.no-active-interaction-elevate)::after,
  .badge-gold.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  .badge-grade:is(.dark *),
  .badge-gold:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
  .badge-grade,
  .badge-gold {
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
    border-color: #F59E0B;
  }
  .dark .badge-grade,
  .dark .badge-gold {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.15) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(245, 158, 11, 0.4);
  }
  
  /* GRADE A-D specific variants */
  .badge-grade-a {
  border-width: 1px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
  .badge-grade-a.toggle-elevate::before {
    inset: -1px;
  }
  .badge-grade-a.hover-elevate:not(.no-hover-interaction-elevate)::after,.badge-grade-a.active-elevate:not(.no-active-interaction-elevate)::after,.badge-grade-a.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.badge-grade-a.active-elevate-2:not(.no-active-interaction-elevate)::after,.badge-grade-a.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  .badge-grade-a:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
  .badge-grade-a {
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
    border-color: #F59E0B;
  }
  .dark .badge-grade-a {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2) 0%, rgba(245, 158, 11, 0.15) 100%);
    border-color: rgba(245, 158, 11, 0.5);
  }
  .dark .badge-grade-b {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.15) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(217, 119, 6, 0.4);
  }
  .dark .badge-grade-c {
    background: linear-gradient(135deg, rgba(180, 83, 9, 0.12) 0%, rgba(217, 119, 6, 0.08) 100%);
    border-color: rgba(180, 83, 9, 0.35);
  }
  
  /* Database/Research Sources - Teal gradient */
  .dark .badge-database,
  .dark .badge-teal {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.15) 0%, rgba(13, 148, 136, 0.1) 100%);
    border-color: rgba(20, 184, 166, 0.4);
  }
  
  /* Safety/Success - Green gradient */
  .badge-safety,
  .badge-success {
  border-width: 1px;
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
  .badge-safety.toggle-elevate::before,
  .badge-success.toggle-elevate::before {
    inset: -1px;
  }
  .badge-safety.hover-elevate:not(.no-hover-interaction-elevate)::after,.badge-safety.active-elevate:not(.no-active-interaction-elevate)::after,.badge-safety.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.badge-safety.active-elevate-2:not(.no-active-interaction-elevate)::after,.badge-safety.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-success.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .badge-success.active-elevate:not(.no-active-interaction-elevate)::after,
  .badge-success.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .badge-success.active-elevate-2:not(.no-active-interaction-elevate)::after,
  .badge-success.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  .badge-safety:is(.dark *),
  .badge-success:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
  .badge-safety,
  .badge-success {
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
    border-color: #10B981;
  }
  .dark .badge-safety,
  .dark .badge-success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.1) 100%);
    border-color: rgba(16, 185, 129, 0.4);
  }
  
  /* AI/ML/Purple features */
  .dark .badge-purple {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.15) 0%, rgba(139, 92, 246, 0.1) 100%);
    border-color: rgba(124, 58, 237, 0.4);
  }
  
  /* Primary/Blue variant for brand consistency */
  .dark .badge-primary {
    background: linear-gradient(135deg, rgba(36, 99, 235, 0.15) 0%, rgba(0, 119, 237, 0.1) 100%);
    border-color: rgba(36, 99, 235, 0.4);
  }
  
  /* Stat Number Colors - for statistics sections */
  
  /* ================================================
     Card & Container Variety System
     Not everything needs a container!
     ================================================ */
  
  /* Elevated Cards - for important content (testimonials, features) */
  
  /* Borderless Content - for lightweight sections (stats, feature lists) */
  
  /* Subtle Containers - for grouped content (code, info blocks) */
  
  /* Hero Cards - for primary focus (copilot preview, main CTA) */
  .dark .card-hero {
    background: linear-gradient(135deg, hsl(var(--primary-900) / 0.3) 0%, hsl(var(--primary-700) / 0.2) 100%);
    box-shadow: 0 8px 32px rgba(36, 99, 235, 0.25);
  }
  
  /* Feature Card - borderless with icon focus */
  
  /* ================================================
     Animation & Microinteraction System
     Purposeful animation for feedback, attention, progression, delight
     ================================================ */
  
  /* Scroll-Triggered Animations */
  
  .animate-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Staggered children animation */
  
  /* Button Microinteractions - Enhanced hover/active states */
  
  /* Ripple effect on click */
  
  @keyframes btn-ripple {
    0% { transform: scale(0); opacity: 0.25; }
    100% { transform: scale(2.5); opacity: 0; }
  }
  
  /* Card Hover Effects - Icon scale & arrow slide */
  
  /* Shimmer Loading Skeleton */
  .skeleton {
  border-radius: .625rem;
    background: linear-gradient(
      90deg,
      hsl(var(--muted)) 25%,
      hsl(var(--muted-foreground) / 0.1) 50%,
      hsl(var(--muted)) 75%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite linear;
}
  
  @keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
  }
  
  /* Typing Indicator */
  
  @keyframes typing-bounce {
    0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-6px); }
  }

  @keyframes helix-msg-breathe {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.1); opacity: 1; }
  }
  
  /* Counting Number Animation (used with JS) */
  .count-up {
  --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);
    font-feature-settings: 'tnum' on, 'lnum' on;
}
  
  /* Fade-in-up animation utility */
  
  @keyframes fadeInUp {
    from { 
      opacity: 0; 
      transform: translateY(16px); 
    }
    to { 
      opacity: 1; 
      transform: translateY(0); 
    }
  }
  
  /* Scale-in animation */
  
  @keyframes scaleIn {
    from { 
      opacity: 0; 
      transform: scale(0.9); 
    }
    to { 
      opacity: 1; 
      transform: scale(1); 
    }
  }
  
  /* Reduced Motion Support - Accessibility */
  @media (prefers-reduced-motion: reduce) {
    .animate-on-scroll,
    .btn-animated,
    .card-interactive,
    .card-elevated,
    .skeleton,
    .typing-indicator span,
    .fade-in-up,
    .scale-in {
      animation: none !important;
      transition: none !important;
      transform: none !important;
      opacity: 1 !important;
    }
    
    .btn-animated::after,
    .icon-container::after {
      animation: none !important;
    }
  }
  
  /* ================================================
     Mobile Responsiveness Enhancements
     Touch targets, font sizing, navigation, layout
     ================================================ */
  
  /* Touch Targets - 48x48px minimum for medical use case (Apple HIG) */
  @media (max-width: 768px) {
    .btn-mobile,
    .touch-target {
      min-height: 48px;
      min-width: 48px;
    }
    
    /* Increase card tap area on mobile */
    .card-mobile,
    .card-elevated {
    padding: 1.5rem;
  }
    
    /* Icon buttons need proper touch targets */
    button[data-testid*="button-"] {
      min-height: 44px;
      min-width: 44px;
    }
  }
  
  /* Mobile Font Sizing - Never below 16px for body */
  @media (max-width: 768px) {
    .text-display {
      font-size: 36px !important;
      line-height: 1.1 !important;
      letter-spacing: -0.02em;
    }
    
    .text-h1 {
      font-size: 32px !important;
      line-height: 1.15 !important;
    }
    
    .text-h2 {
      font-size: 26px !important;
      line-height: 1.2 !important;
    }
    
    .text-h3 {
      font-size: 20px !important;
      line-height: 1.25 !important;
    }
    
    /* Ensure minimum 16px for body text (prevents iOS zoom on focus) */
    .lead-text,
    .text-body {
      font-size: 16px !important;
      line-height: 1.6 !important;
    }
    
    /* Ensure inputs are at least 16px to prevent iOS zoom */
    input, textarea, select {
      font-size: 16px !important;
    }
  }
  
  /* Mobile Navigation - Sticky header with blur */
  
  .dark .header-mobile {
    background: rgba(0, 0, 0, 0.9);
  }
  
  /* Full-screen mobile menu */
  
  /* Mobile Copilot Preview - Full width bleed */
  
  /* Mobile card spacing */
  
  /* Safe area insets for notched devices */
  
  /* Mobile CTA button full width */
  
  /* Horizontal scroll container for mobile */

  /* ================================================
     Apple-Style Mobile Minimalism Utilities
     Clean, focused, reduced cognitive load
     ================================================ */
  
  /* Hide elements on mobile - for secondary/supporting content */
  
  /* Show only on mobile */
  
  /* Apple-style increased whitespace on mobile */
  
  /* Apple-style simplified text on mobile */
  
  /* Apple-style card minimalism on mobile */
  
  /* Apple-style breathing room for buttons on mobile */
  
  /* Hide decorative elements on mobile for focus */
  
  /* Apple-style section headers on mobile */
  
  /* Simplified grid layouts on mobile */
  
  /* Apple-style trust indicators on mobile - ultra minimal */
  
  /* ================================================
     Accessibility Enhancements (WCAG 2.1 AA)
     Critical for Healthcare Applications
     ================================================ */
  
  /* Skip to Main Content Link */
  .skip-link {
  position: absolute;
  left: 0px;
  z-index: 9999;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    top: -50px;
    background: hsl(var(--primary));
    transition: top 0.2s ease;
}
  
  .skip-link:focus {
    top: 0;
    outline: none;
  }
  
  /* Enhanced Focus Indicators - Always visible */
  *:focus-visible {
    outline: 3px solid hsl(var(--primary));
    outline-offset: 2px;
    border-radius: 4px;
  }
  
  /* Custom focus ring for buttons */
  button:focus-visible,
  [role="button"]:focus-visible,
  a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px hsl(var(--primary) / 0.35);
  }
  
  /* High contrast focus for inputs */
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: 2px solid hsl(var(--primary));
    outline-offset: 1px;
  }
  
  /* Screen Reader Only - Visually hidden but accessible */
  .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;
  }
  
  /* ── sr-only must not escape its scroll container ────────────────────────
     `sr-only` is `position: absolute` with NO offsets. With an all-static
     ancestor chain — which is the normal case, because nothing gives a message
     bubble or a live-region host a `position` — its containing block is the
     INITIAL containing block, so `overflow: hidden` on an ancestor cannot clip
     it (clipping only reaches descendants whose containing-block chain passes
     through the clipping box), and with `top: auto` its box is laid out at its
     STATIC position: thousands of pixels down inside a clipped scroller.

     OPERATOR MEASUREMENT (live hormonaly.ai, /helix/c/99bd3870…, 2026-07-30):
     the "absolutely positioned with an all-static ancestor chain" selector
     returned 11 elements and every one was an `sr-only` plus the skip link.
     The deepest, span.sr-only "Helix response stopped. The pa…", sat at
     offsetTop 7615; documentElement.scrollHeight was 7616.

     Pinning the offsets closes it at the source, in one line, for every scroll
     container in the app — not just the Helix routes the viewport lock covers.
     `position: absolute` is deliberately KEPT (rather than `fixed`, the other
     candidate): it changes nothing about paint order, print, or behaviour
     inside a transformed ancestor.

     MEASURED, scripts/helix-sr-only-escape-probe.mjs, Chromium 1194:
       no narrow fix, one host left static   doc.scrollHeight 7633, scrollTo(4000) → 4000
       this fix                              doc.scrollHeight 1108 (= innerHeight), scrollTo → 0
       pane unaffected either way            scrollHeight 7623, programmatic scroll 3377px
       sr-only still 1x1 and in the a11y tree; .sr-only-focusable:focus still
       reveals it (1x1 → 88x15, position static)

     The alternative — giving each sr-only host `position: relative` — was
     measured and REJECTED: it works only for hosts somebody remembered to
     close. With a single host left static it leaked identically (7633), which
     is precisely the state the app is in today and the state any new component
     starts in.

     Doubled class selector on purpose: Tailwind emits its own `.sr-only`
     utility and this file already declares `.sr-only` twice, with Tailwind's
     landing LAST in the compiled bundle. (0,2,0) beats (0,1,0) regardless of
     source order, so this cannot be undone by a build-order change. Verified
     against the built bundle by step 5 of the probe.

     NOTE, and do not let it become a reason to skip this: with the declarations
     exactly as shipped the escape is currently INERT, because `width: 1px` with
     `margin: -1px` gives a margin box −1px wide and Chromium drops a
     negative-width margin box from the scrollable overflow region. Clearing the
     horizontal margin, or any width ≥ 2px from a shared rule, restores the leak
     in full. That quirk is one declaration deep and is not a safety margin. */
  .sr-only.sr-only {
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
  }

  /* Make sr-only focusable when needed */
  
  /* High Contrast Mode Support */
  @media (forced-colors: active) {
    .btn-animated,
    .card-elevated,
    .icon-container {
      border: 2px solid currentColor;
    }
    
    *:focus-visible {
      outline: 3px solid Highlight;
    }
  }
  
  /* Color Contrast Fixes - Use accessible grays */
  
  .dark .text-accessible-muted {
    color: #9CA3AF; /* Lighter for dark mode */
  }
  
  /* Loading/Status Announcements for Screen Readers */
  
  [aria-busy="true"] {
    cursor: wait;
  }
  
  /* Ensure interactive elements have visible states */
  [disabled],
  [aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.5;
    pointer-events: none;
}
  
  /* Link underlines for better visibility */
  
  /* Ensure sufficient spacing for touch/click targets */
  
  /* ================================================
     Performance Optimization Utilities
     Lazy loading, image optimization, loading states
     ================================================ */
  
  /* Lazy loaded images - fade in on load */
  
  .lazy-image.loaded {
    opacity: 1;
  }
  
  /* Placeholder blur for lazy images */
  
  .image-placeholder.loaded {
    filter: blur(0);
    transform: scale(1);
  }
  
  /* Content visibility for off-screen optimization */
  
  /* GPU acceleration for animations */
  
  /* Reduce paint areas */
  
  /* Loading placeholder with aspect ratio */
  
  /* Optimized scrolling */
  .eyebrow {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: hsl(var(--primary));
  }
  .eyebrow-muted {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: hsl(var(--muted-foreground));
  }
  [dir="rtl"] .eyebrow,
  [dir="rtl"] .eyebrow-muted,
  [dir="rtl"] .marketing-surface .section-label {
    /* Arabic has no case and tracking breaks its joins. */
    font-family: var(--font-sans);
    letter-spacing: 0;
    text-transform: none;
  }
  .rule-strong { border-top: 2px solid hsl(var(--foreground)); }
  .rule-accent { border-top: 2px solid hsl(var(--primary)); }
  .display-tight {
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.02;
    text-wrap: balance;
  }
  [dir="rtl"] .display-tight { letter-spacing: 0; line-height: 1.2; }
  :where(.home-landing) .eyebrow {
    letter-spacing: 0.05em;
    color: hsl(var(--foreground) / 0.8);
  }
  :where(.home-landing) .eyebrow-muted {
    letter-spacing: 0.05em;
  }
.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;
}
.pointer-events-auto {
  pointer-events: auto;
}
.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-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-3 {
  left: 0.75rem;
  right: 0.75rem;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.inset-x-8 {
  left: 2rem;
  right: 2rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-12 {
  bottom: -3rem;
}
.-end-0\.5 {
  inset-inline-end: -0.125rem;
}
.-end-40 {
  inset-inline-end: -10rem;
}
.-end-72 {
  inset-inline-end: -18rem;
}
.-left-12 {
  left: -3rem;
}
.-left-\[25px\] {
  left: -25px;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-12 {
  right: -3rem;
}
.-right-8 {
  right: -2rem;
}
.-start-48 {
  inset-inline-start: -12rem;
}
.-top-0\.5 {
  top: -0.125rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-11 {
  top: -2.75rem;
}
.-top-12 {
  top: -3rem;
}
.-top-8 {
  top: -2rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-0\.5 {
  bottom: 0.125rem;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-8 {
  bottom: 2rem;
}
.bottom-full {
  bottom: 100%;
}
.end-0 {
  inset-inline-end: 0px;
}
.end-1 {
  inset-inline-end: 0.25rem;
}
.end-2 {
  inset-inline-end: 0.5rem;
}
.end-2\.5 {
  inset-inline-end: 0.625rem;
}
.end-3 {
  inset-inline-end: 0.75rem;
}
.end-4 {
  inset-inline-end: 1rem;
}
.end-\[calc\(100\%\+1\.5rem\)\] {
  inset-inline-end: calc(100% + 1.5rem);
}
.end-full {
  inset-inline-end: 100%;
}
.left-0 {
  left: 0px;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-7 {
  left: 1.75rem;
}
.left-\[12\.5\%\] {
  left: 12.5%;
}
.left-\[50\%\] {
  left: 50%;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-\[12\.5\%\] {
  right: 12.5%;
}
.start-0 {
  inset-inline-start: 0px;
}
.start-3 {
  inset-inline-start: 0.75rem;
}
.start-4 {
  inset-inline-start: 1rem;
}
.start-5 {
  inset-inline-start: 1.25rem;
}
.start-6 {
  inset-inline-start: 1.5rem;
}
.start-\[10\%\] {
  inset-inline-start: 10%;
}
.start-\[calc\(100\%\+1\.5rem\)\] {
  inset-inline-start: calc(100% + 1.5rem);
}
.start-full {
  inset-inline-start: 100%;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-12 {
  top: 3rem;
}
.top-16 {
  top: 4rem;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-20 {
  top: 5rem;
}
.top-24 {
  top: 6rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[20\%\] {
  top: 20%;
}
.top-\[22rem\] {
  top: 22rem;
}
.top-\[32rem\] {
  top: 32rem;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[56px\] {
  top: 56px;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[300\] {
  z-index: 300;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[99\] {
  z-index: 99;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-first {
  order: -9999;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-7 {
  grid-column: span 7 / span 7;
}
.col-span-full {
  grid-column: 1 / -1;
}
.-m-2 {
  margin: -0.5rem;
}
.m-0 {
  margin: 0px;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.\!mt-0 {
  margin-top: 0px !important;
}
.-mb-1 {
  margin-bottom: -0.25rem;
}
.-mb-2 {
  margin-bottom: -0.5rem;
}
.-me-2 {
  margin-inline-end: -0.5rem;
}
.-ms-3 {
  margin-inline-start: -0.75rem;
}
.-ms-4 {
  margin-inline-start: -1rem;
}
.-ms-px {
  margin-inline-start: -1px;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-20 {
  margin-bottom: 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;
}
.mb-9 {
  margin-bottom: 2.25rem;
}
.me-0\.5 {
  margin-inline-end: 0.125rem;
}
.me-1 {
  margin-inline-end: 0.25rem;
}
.me-1\.5 {
  margin-inline-end: 0.375rem;
}
.me-2 {
  margin-inline-end: 0.5rem;
}
.me-3 {
  margin-inline-end: 0.75rem;
}
.me-auto {
  margin-inline-end: auto;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-auto {
  margin-left: auto;
}
.ml-px {
  margin-left: 1px;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.ms-0 {
  margin-inline-start: 0px;
}
.ms-0\.5 {
  margin-inline-start: 0.125rem;
}
.ms-1 {
  margin-inline-start: 0.25rem;
}
.ms-1\.5 {
  margin-inline-start: 0.375rem;
}
.ms-2 {
  margin-inline-start: 0.5rem;
}
.ms-3 {
  margin-inline-start: 0.75rem;
}
.ms-4 {
  margin-inline-start: 1rem;
}
.ms-5 {
  margin-inline-start: 1.25rem;
}
.ms-6 {
  margin-inline-start: 1.5rem;
}
.ms-\[68px\] {
  margin-inline-start: 68px;
}
.ms-auto {
  margin-inline-start: auto;
}
.ms-px {
  margin-inline-start: 1px;
}
.mt-0 {
  margin-top: 0px;
}
.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-9 {
  margin-top: 2.25rem;
}
.mt-\[0\.55em\] {
  margin-top: 0.55em;
}
.mt-\[3px\] {
  margin-top: 3px;
}
.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;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.line-clamp-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.line-clamp-5 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
.line-clamp-6 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.table-row {
  display: table-row;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.list-item {
  display: list-item;
}
.hidden {
  display: none;
}
.aspect-\[16\/10\] {
  aspect-ratio: 16/10;
}
.aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}
.aspect-\[4\/5\] {
  aspect-ratio: 4/5;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.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-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-52 {
  height: 13rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-96 {
  height: 24rem;
}
.h-\[0\.85em\] {
  height: 0.85em;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[100px\] {
  height: 100px;
}
.h-\[125px\] {
  height: 125px;
}
.h-\[150px\] {
  height: 150px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[2\.5px\] {
  height: 2.5px;
}
.h-\[200px\] {
  height: 200px;
}
.h-\[250px\] {
  height: 250px;
}
.h-\[26rem\] {
  height: 26rem;
}
.h-\[280px\] {
  height: 280px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[300px\] {
  height: 300px;
}
.h-\[30rem\] {
  height: 30rem;
}
.h-\[31px\] {
  height: 31px;
}
.h-\[320px\] {
  height: 320px;
}
.h-\[350px\] {
  height: 350px;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[40rem\] {
  height: 40rem;
}
.h-\[44px\] {
  height: 44px;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[56px\] {
  height: 56px;
}
.h-\[600px\] {
  height: 600px;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[640px\] {
  height: 640px;
}
.h-\[69px\] {
  height: 69px;
}
.h-\[87px\] {
  height: 87px;
}
.h-\[calc\(100vh-120px\)\] {
  height: calc(100vh - 120px);
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-dvh {
  height: 100dvh;
}
.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.h-svh {
  height: 100svh;
}
.max-h-0 {
  max-height: 0px;
}
.max-h-32 {
  max-height: 8rem;
}
.max-h-4 {
  max-height: 1rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-7 {
  max-height: 1.75rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[--radix-select-content-available-height\] {
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[100px\] {
  max-height: 100px;
}
.max-h-\[120px\] {
  max-height: 120px;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[240px\] {
  max-height: 240px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[32px\] {
  max-height: 32px;
}
.max-h-\[32rem\] {
  max-height: 32rem;
}
.max-h-\[360px\] {
  max-height: 360px;
}
.max-h-\[40vh\] {
  max-height: 40vh;
}
.max-h-\[500px\] {
  max-height: 500px;
}
.max-h-\[56px\] {
  max-height: 56px;
}
.max-h-\[600px\] {
  max-height: 600px;
}
.max-h-\[70\%\] {
  max-height: 70%;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[80px\] {
  max-height: 80px;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[88vh\] {
  max-height: 88vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[calc\(100dvh-2rem\)\] {
  max-height: calc(100dvh - 2rem);
}
.max-h-\[calc\(100vh-6rem\)\] {
  max-height: calc(100vh - 6rem);
}
.max-h-\[calc\(100vh-7rem\)\] {
  max-height: calc(100vh - 7rem);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-full {
  max-height: 100%;
}
.max-h-screen {
  max-height: 100vh;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-10 {
  min-height: 2.5rem;
}
.min-h-11 {
  min-height: 2.75rem;
}
.min-h-12 {
  min-height: 3rem;
}
.min-h-20 {
  min-height: 5rem;
}
.min-h-24 {
  min-height: 6rem;
}
.min-h-64 {
  min-height: 16rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[1\.5em\] {
  min-height: 1.5em;
}
.min-h-\[100dvh\] {
  min-height: 100dvh;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[240px\] {
  min-height: 240px;
}
.min-h-\[28vh\] {
  min-height: 28vh;
}
.min-h-\[2rem\] {
  min-height: 2rem;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[32px\] {
  min-height: 32px;
}
.min-h-\[340px\] {
  min-height: 340px;
}
.min-h-\[360px\] {
  min-height: 360px;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-\[50vh\] {
  min-height: 50vh;
}
.min-h-\[52px\] {
  min-height: 52px;
}
.min-h-\[56px\] {
  min-height: 56px;
}
.min-h-\[60px\] {
  min-height: 60px;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.min-h-svh {
  min-height: 100svh;
}
.min-h-touch {
  min-height: 44px;
}
.w-0 {
  width: 0px;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/3 {
  width: 33.333333%;
}
.w-1\/5 {
  width: 20%;
}
.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-2\/3 {
  width: 66.666667%;
}
.w-2\/5 {
  width: 40%;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-4\/5 {
  width: 80%;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-5\/6 {
  width: 83.333333%;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-96 {
  width: 24rem;
}
.w-\[100px\] {
  width: 100px;
}
.w-\[125px\] {
  width: 125px;
}
.w-\[130px\] {
  width: 130px;
}
.w-\[140px\] {
  width: 140px;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[170px\] {
  width: 170px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[200px\] {
  width: 200px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[224px\] {
  width: 224px;
}
.w-\[264px\] {
  width: 264px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[31px\] {
  width: 31px;
}
.w-\[32\%\] {
  width: 32%;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[38\%\] {
  width: 38%;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[44px\] {
  width: 44px;
}
.w-\[50rem\] {
  width: 50rem;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[56px\] {
  width: 56px;
}
.w-\[56rem\] {
  width: 56rem;
}
.w-\[58\%\] {
  width: 58%;
}
.w-\[68rem\] {
  width: 68rem;
}
.w-\[69px\] {
  width: 69px;
}
.w-\[75rem\] {
  width: 75rem;
}
.w-\[80\%\] {
  width: 80%;
}
.w-\[85vw\] {
  width: 85vw;
}
.w-\[87px\] {
  width: 87px;
}
.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}
.w-\[min\(18rem\2c calc\(100vw-2rem\)\)\] {
  width: min(18rem, calc(100vw - 2rem));
}
.w-\[var\(--sidebar-width\)\] {
  width: var(--sidebar-width);
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-10 {
  min-width: 2.5rem;
}
.min-w-12 {
  min-width: 3rem;
}
.min-w-48 {
  min-width: 12rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-\[1\.25rem\] {
  min-width: 1.25rem;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[10rem\] {
  min-width: 10rem;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[144px\] {
  min-width: 144px;
}
.min-w-\[14rem\] {
  min-width: 14rem;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[16rem\] {
  min-width: 16rem;
}
.min-w-\[18px\] {
  min-width: 18px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[280px\] {
  min-width: 280px;
}
.min-w-\[34rem\] {
  min-width: 34rem;
}
.min-w-\[400px\] {
  min-width: 400px;
}
.min-w-\[44px\] {
  min-width: 44px;
}
.min-w-\[4px\] {
  min-width: 4px;
}
.min-w-\[500px\] {
  min-width: 500px;
}
.min-w-\[560px\] {
  min-width: 560px;
}
.min-w-\[60px\] {
  min-width: 60px;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[100px\] {
  max-width: 100px;
}
.max-w-\[132px\] {
  max-width: 132px;
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[148px\] {
  max-width: 148px;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[16rem\] {
  max-width: 16rem;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[250px\] {
  max-width: 250px;
}
.max-w-\[260px\] {
  max-width: 260px;
}
.max-w-\[340px\] {
  max-width: 340px;
}
.max-w-\[360px\] {
  max-width: 360px;
}
.max-w-\[380px\] {
  max-width: 380px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[440px\] {
  max-width: 440px;
}
.max-w-\[50\%\] {
  max-width: 50%;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.max-w-\[700px\] {
  max-width: 700px;
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[85vw\] {
  max-width: 85vw;
}
.max-w-\[900px\] {
  max-width: 900px;
}
.max-w-\[calc\(100vw-1\.5rem\)\] {
  max-width: calc(100vw - 1.5rem);
}
.max-w-\[var\(--skeleton-width\)\] {
  max-width: var(--skeleton-width);
}
.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-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.basis-\[88\%\] {
  flex-basis: 88%;
}
.basis-full {
  flex-basis: 100%;
}
.caption-top {
  caption-side: top;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-\[--radix-dropdown-menu-content-transform-origin\] {
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\] {
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\] {
  transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\] {
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-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-px {
  --tw-translate-x: -1px;
  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-10 {
  --tw-translate-y: -2.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-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-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-\[-50\%\] {
  --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-px {
  --tw-translate-x: 1px;
  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-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-y-\[-50\%\] {
  --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));
}
.-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-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));
}
.scale-\[0\.85\] {
  --tw-scale-x: 0.85;
  --tw-scale-y: 0.85;
  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-\[2\.5\] {
  --tw-scale-x: 2.5;
  --tw-scale-y: 2.5;
  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));
}
.animate-\[routeProgress_1\.8s_ease-in-out_infinite\] {
  animation: routeProgress 1.8s ease-in-out infinite;
}
@keyframes bounce {

  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce {
  animation: bounce 1s 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 spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-help {
  cursor: help;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.scroll-mt-20 {
  scroll-margin-top: 5rem;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.scroll-mt-28 {
  scroll-margin-top: 7rem;
}
.scroll-mt-4 {
  scroll-margin-top: 1rem;
}
.scroll-mt-\[var\(--helix-toc-clearance\)\] {
  scroll-margin-top: var(--helix-toc-clearance);
}
.list-inside {
  list-style-position: inside;
}
.list-outside {
  list-style-position: outside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.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-12 {
  grid-template-columns: repeat(12, 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-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-\[1fr_0\.8fr_1\.3fr_1\.5fr\] {
  grid-template-columns: 1fr 0.8fr 1.3fr 1.5fr;
}
.grid-cols-\[auto_1fr\] {
  grid-template-columns: auto 1fr;
}
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.place-items-center {
  place-items: center;
}
.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-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[2px\] {
  gap: 2px;
}
.gap-px {
  gap: 1px;
}
.gap-x-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-0\.5 {
  row-gap: 0.125rem;
}
.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-4 {
  row-gap: 1rem;
}
.gap-y-5 {
  row-gap: 1.25rem;
}
.gap-y-6 {
  row-gap: 1.5rem;
}
.gap-y-8 {
  row-gap: 2rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-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-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.space-y-16 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * 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-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * 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-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * 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-border > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-divide-opacity, 1));
}
.divide-border\/30 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.3);
}
.divide-border\/40 > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border) / 0.4);
}
.self-start {
  align-self: flex-start;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.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;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-balance {
  text-wrap: balance;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.break-keep {
  word-break: keep-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-\[1\.25rem\] {
  border-radius: 1.25rem;
}
.rounded-\[1\.5rem\] {
  border-radius: 1.5rem;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: .625rem;
}
.rounded-md {
  border-radius: .5rem;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: .25rem;
}
.rounded-xl {
  border-radius: .75rem;
}
.rounded-b-xl {
  border-bottom-right-radius: .75rem;
  border-bottom-left-radius: .75rem;
}
.rounded-e-md {
  border-start-end-radius: .5rem;
  border-end-end-radius: .5rem;
}
.rounded-r-full {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-s-md {
  border-start-start-radius: .5rem;
  border-end-start-radius: .5rem;
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-t-lg {
  border-top-left-radius: .625rem;
  border-top-right-radius: .625rem;
}
.rounded-t-md {
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}
.rounded-t-none {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.rounded-t-sm {
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
}
.rounded-bl-full {
  border-bottom-left-radius: 9999px;
}
.rounded-se-md {
  border-start-end-radius: .5rem;
}
.rounded-ss-md {
  border-start-start-radius: .5rem;
}
.rounded-tl-none {
  border-top-left-radius: 0px;
}
.rounded-tr-none {
  border-top-right-radius: 0px;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-\[3px\] {
  border-width: 3px;
}
.border-x-0 {
  border-left-width: 0px;
  border-right-width: 0px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-0 {
  border-bottom-width: 0px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-e {
  border-inline-end-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-r {
  border-right-width: 1px;
}
.border-s {
  border-inline-start-width: 1px;
}
.border-s-2 {
  border-inline-start-width: 2px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-0 {
  border-top-width: 0px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-dotted {
  border-style: dotted;
}
.\!border-foreground\/30 {
  border-color: hsl(var(--foreground) / 0.3) !important;
}
.border-\[\#FF3B30\]\/30 {
  border-color: rgb(255 59 48 / 0.3);
}
.border-\[--color-border\] {
  border-color: var(--color-border);
}
.border-\[hsl\(var\(--grade-a\)\/0\.3\)\] {
  border-color: hsl(var(--grade-a)/0.3);
}
.border-\[hsl\(var\(--grade-b\)\/0\.3\)\] {
  border-color: hsl(var(--grade-b)/0.3);
}
.border-\[hsl\(var\(--grade-c\)\/0\.3\)\] {
  border-color: hsl(var(--grade-c)/0.3);
}
.border-\[hsl\(var\(--grade-d\)\/0\.3\)\] {
  border-color: hsl(var(--grade-d)/0.3);
}
.border-\[hsl\(var\(--primary\)\)\]\/20 {
  border-color: hsl(var(--primary) / 0.2);
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-200\/70 {
  border-color: rgb(253 230 138 / 0.7);
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-400\/40 {
  border-color: rgb(251 191 36 / 0.4);
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-500\/50 {
  border-color: rgb(245 158 11 / 0.5);
}
.border-amber-600\/30 {
  border-color: rgb(217 119 6 / 0.3);
}
.border-amber-600\/40 {
  border-color: rgb(217 119 6 / 0.4);
}
.border-amber-600\/60 {
  border-color: rgb(217 119 6 / 0.6);
}
.border-amber-700 {
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}
.border-amber-900\/40 {
  border-color: rgb(120 53 15 / 0.4);
}
.border-background {
  --tw-border-opacity: 1;
  border-color: hsl(var(--background) / var(--tw-border-opacity, 1));
}
.border-background\/10 {
  border-color: hsl(var(--background) / 0.1);
}
.border-background\/15 {
  border-color: hsl(var(--background) / 0.15);
}
.border-background\/20 {
  border-color: hsl(var(--background) / 0.2);
}
.border-background\/40 {
  border-color: hsl(var(--background) / 0.4);
}
.border-black\/\[0\.08\] {
  border-color: rgb(0 0 0 / 0.08);
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-200\/70 {
  border-color: rgb(191 219 254 / 0.7);
}
.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-500\/30 {
  border-color: rgb(59 130 246 / 0.3);
}
.border-blue-500\/40 {
  border-color: rgb(59 130 246 / 0.4);
}
.border-border {
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}
.border-border\/20 {
  border-color: hsl(var(--border) / 0.2);
}
.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}
.border-border\/40 {
  border-color: hsl(var(--border) / 0.4);
}
.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/60 {
  border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
  border-color: hsl(var(--border) / 0.7);
}
.border-cyan-200 {
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.border-cyan-500\/20 {
  border-color: rgb(6 182 212 / 0.2);
}
.border-destructive {
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));
}
.border-destructive-border {
  border-color: var(--destructive-border);
}
.border-destructive\/20 {
  border-color: hsl(var(--destructive) / 0.2);
}
.border-destructive\/30 {
  border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
  border-color: hsl(var(--destructive) / 0.4);
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-200\/70 {
  border-color: rgb(167 243 208 / 0.7);
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-400\/30 {
  border-color: rgb(52 211 153 / 0.3);
}
.border-emerald-500\/20 {
  border-color: rgb(16 185 129 / 0.2);
}
.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-500\/50 {
  border-color: rgb(16 185 129 / 0.5);
}
.border-emerald-600\/30 {
  border-color: rgb(5 150 105 / 0.3);
}
.border-foreground\/25 {
  border-color: hsl(var(--foreground) / 0.25);
}
.border-foreground\/\[0\.06\] {
  border-color: hsl(var(--foreground) / 0.06);
}
.border-gold-500\/30 {
  border-color: hsl(var(--gold-500) / 0.3);
}
.border-gold-500\/50 {
  border-color: hsl(var(--gold-500) / 0.5);
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-500\/20 {
  border-color: rgb(34 197 94 / 0.2);
}
.border-green-500\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-green-500\/40 {
  border-color: rgb(34 197 94 / 0.4);
}
.border-indigo-500\/30 {
  border-color: rgb(99 102 241 / 0.3);
}
.border-input {
  --tw-border-opacity: 1;
  border-color: hsl(var(--input) / var(--tw-border-opacity, 1));
}
.border-muted {
  --tw-border-opacity: 1;
  border-color: hsl(var(--muted) / var(--tw-border-opacity, 1));
}
.border-muted-foreground {
  --tw-border-opacity: 1;
  border-color: hsl(var(--muted-foreground) / var(--tw-border-opacity, 1));
}
.border-muted-foreground\/20 {
  border-color: hsl(var(--muted-foreground) / 0.2);
}
.border-muted-foreground\/30 {
  border-color: hsl(var(--muted-foreground) / 0.3);
}
.border-muted-foreground\/40 {
  border-color: hsl(var(--muted-foreground) / 0.4);
}
.border-muted-foreground\/50 {
  border-color: hsl(var(--muted-foreground) / 0.5);
}
.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-500\/20 {
  border-color: rgb(249 115 22 / 0.2);
}
.border-orange-500\/30 {
  border-color: rgb(249 115 22 / 0.3);
}
.border-orange-500\/50 {
  border-color: rgb(249 115 22 / 0.5);
}
.border-primary {
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}
.border-primary-border {
  border-color: var(--primary-border);
}
.border-primary\/10 {
  border-color: hsl(var(--primary) / 0.1);
}
.border-primary\/15 {
  border-color: hsl(var(--primary) / 0.15);
}
.border-primary\/20 {
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/25 {
  border-color: hsl(var(--primary) / 0.25);
}
.border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
.border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.border-primary\/50 {
  border-color: hsl(var(--primary) / 0.5);
}
.border-primary\/60 {
  border-color: hsl(var(--primary) / 0.6);
}
.border-purple-200 {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-500\/20 {
  border-color: rgb(168 85 247 / 0.2);
}
.border-purple-500\/30 {
  border-color: rgb(168 85 247 / 0.3);
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-200\/70 {
  border-color: rgb(254 202 202 / 0.7);
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/40 {
  border-color: rgb(239 68 68 / 0.4);
}
.border-red-500\/50 {
  border-color: rgb(239 68 68 / 0.5);
}
.border-rose-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}
.border-secondary-border {
  border-color: var(--secondary-border);
}
.border-sidebar-border {
  --tw-border-opacity: 1;
  border-color: hsl(var(--sidebar-border) / var(--tw-border-opacity, 1));
}
.border-sky-500\/50 {
  border-color: rgb(14 165 233 / 0.5);
}
.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-400\/70 {
  border-color: rgb(148 163 184 / 0.7);
}
.border-transparent {
  border-color: transparent;
}
.border-violet-400\/30 {
  border-color: rgb(167 139 250 / 0.3);
}
.border-violet-500\/20 {
  border-color: rgb(139 92 246 / 0.2);
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/60 {
  border-color: rgb(255 255 255 / 0.6);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-yellow-500\/30 {
  border-color: rgb(234 179 8 / 0.3);
}
.border-yellow-500\/40 {
  border-color: rgb(234 179 8 / 0.4);
}
.border-s-transparent {
  border-inline-start-color: transparent;
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#0d2240\] {
  --tw-bg-opacity: 1;
  background-color: rgb(13 34 64 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1D1D1F\] {
  --tw-bg-opacity: 1;
  background-color: rgb(29 29 31 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2463EB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(36 99 235 / var(--tw-bg-opacity, 1));
}
.bg-\[\#76b900\]\/10 {
  background-color: rgb(118 185 0 / 0.1);
}
.bg-\[\#86868B\] {
  --tw-bg-opacity: 1;
  background-color: rgb(134 134 139 / var(--tw-bg-opacity, 1));
}
.bg-\[\#AEAEB2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(174 174 178 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF9F0A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 159 10 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf9f5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 245 / var(--tw-bg-opacity, 1));
}
.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}
.bg-\[hsl\(var\(--grade-a-bg\)\)\] {
  background-color: hsl(var(--grade-a-bg));
}
.bg-\[hsl\(var\(--grade-b-bg\)\)\] {
  background-color: hsl(var(--grade-b-bg));
}
.bg-\[hsl\(var\(--grade-c-bg\)\)\] {
  background-color: hsl(var(--grade-c-bg));
}
.bg-\[hsl\(var\(--grade-d-bg\)\)\] {
  background-color: hsl(var(--grade-d-bg));
}
.bg-\[hsl\(var\(--primary\)\)\] {
  background-color: hsl(var(--primary));
}
.bg-\[hsl\(var\(--primary\)\)\]\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.bg-\[hsl\(var\(--primary\)\)\]\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-\[hsl\(var\(--primary-50\)\)\] {
  background-color: hsl(var(--primary-50));
}
.bg-\[rgba\(250\2c 250\2c 250\2c 0\.90\)\] {
  background-color: rgba(250,250,250,0.90);
}
.bg-accent {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / 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-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-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-50\/60 {
  background-color: rgb(255 251 235 / 0.6);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/95 {
  background-color: rgb(245 158 11 / 0.95);
}
.bg-amber-500\/\[0\.03\] {
  background-color: rgb(245 158 11 / 0.03);
}
.bg-amber-500\/\[0\.04\] {
  background-color: rgb(245 158 11 / 0.04);
}
.bg-amber-500\/\[0\.05\] {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/\[0\.06\] {
  background-color: rgb(245 158 11 / 0.06);
}
.bg-amber-500\/\[0\.07\] {
  background-color: rgb(245 158 11 / 0.07);
}
.bg-background {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}
.bg-background\/10 {
  background-color: hsl(var(--background) / 0.1);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/60 {
  background-color: hsl(var(--background) / 0.6);
}
.bg-background\/70 {
  background-color: hsl(var(--background) / 0.7);
}
.bg-background\/80 {
  background-color: hsl(var(--background) / 0.8);
}
.bg-background\/85 {
  background-color: hsl(var(--background) / 0.85);
}
.bg-background\/90 {
  background-color: hsl(var(--background) / 0.9);
}
.bg-background\/95 {
  background-color: hsl(var(--background) / 0.95);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/50 {
  background-color: rgb(239 246 255 / 0.5);
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/15 {
  background-color: rgb(59 130 246 / 0.15);
}
.bg-blue-500\/5 {
  background-color: rgb(59 130 246 / 0.05);
}
.bg-border {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--border) / var(--tw-bg-opacity, 1));
}
.bg-border\/25 {
  background-color: hsl(var(--border) / 0.25);
}
.bg-border\/30 {
  background-color: hsl(var(--border) / 0.3);
}
.bg-border\/40 {
  background-color: hsl(var(--border) / 0.4);
}
.bg-border\/50 {
  background-color: hsl(var(--border) / 0.5);
}
.bg-card {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));
}
.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}
.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}
.bg-current {
  background-color: currentColor;
}
.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500\/10 {
  background-color: rgb(6 182 212 / 0.1);
}
.bg-destructive {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}
.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/5 {
  background-color: hsl(var(--destructive) / 0.05);
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / 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-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/50 {
  background-color: rgb(236 253 245 / 0.5);
}
.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\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/5 {
  background-color: rgb(16 185 129 / 0.05);
}
.bg-emerald-500\/\[0\.03\] {
  background-color: rgb(16 185 129 / 0.03);
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-950\/40 {
  background-color: rgb(2 44 34 / 0.4);
}
.bg-foreground {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--foreground) / var(--tw-bg-opacity, 1));
}
.bg-foreground\/10 {
  background-color: hsl(var(--foreground) / 0.1);
}
.bg-foreground\/30 {
  background-color: hsl(var(--foreground) / 0.3);
}
.bg-foreground\/40 {
  background-color: hsl(var(--foreground) / 0.4);
}
.bg-foreground\/\[0\.03\] {
  background-color: hsl(var(--foreground) / 0.03);
}
.bg-foreground\/\[0\.04\] {
  background-color: hsl(var(--foreground) / 0.04);
}
.bg-foreground\/\[0\.05\] {
  background-color: hsl(var(--foreground) / 0.05);
}
.bg-foreground\/\[0\.07\] {
  background-color: hsl(var(--foreground) / 0.07);
}
.bg-foreground\/\[0\.12\] {
  background-color: hsl(var(--foreground) / 0.12);
}
.bg-foreground\/\[0\.15\] {
  background-color: hsl(var(--foreground) / 0.15);
}
.bg-fuchsia-500\/10 {
  background-color: rgb(217 70 239 / 0.1);
}
.bg-gold-500 {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--gold-500) / var(--tw-bg-opacity, 1));
}
.bg-gold-500\/\[0\.04\] {
  background-color: hsl(var(--gold-500) / 0.04);
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-400\/5 {
  background-color: rgb(156 163 175 / 0.05);
}
.bg-gray-500\/10 {
  background-color: rgb(107 114 128 / 0.1);
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / 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-50\/50 {
  background-color: rgb(240 253 244 / 0.5);
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/15 {
  background-color: rgb(34 197 94 / 0.15);
}
.bg-green-500\/5 {
  background-color: rgb(34 197 94 / 0.05);
}
.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500\/10 {
  background-color: rgb(99 102 241 / 0.1);
}
.bg-indigo-500\/5 {
  background-color: rgb(99 102 241 / 0.05);
}
.bg-lime-500\/10 {
  background-color: rgb(132 204 22 / 0.1);
}
.bg-muted {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.bg-muted-foreground {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted-foreground) / var(--tw-bg-opacity, 1));
}
.bg-muted-foreground\/30 {
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.bg-muted-foreground\/40 {
  background-color: hsl(var(--muted-foreground) / 0.4);
}
.bg-muted-foreground\/50 {
  background-color: hsl(var(--muted-foreground) / 0.5);
}
.bg-muted-foreground\/60 {
  background-color: hsl(var(--muted-foreground) / 0.6);
}
.bg-muted\/10 {
  background-color: hsl(var(--muted) / 0.1);
}
.bg-muted\/15 {
  background-color: hsl(var(--muted) / 0.15);
}
.bg-muted\/20 {
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
  background-color: hsl(var(--muted) / 0.6);
}
.bg-muted\/70 {
  background-color: hsl(var(--muted) / 0.7);
}
.bg-muted\/80 {
  background-color: hsl(var(--muted) / 0.8);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / 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-50\/50 {
  background-color: rgb(255 247 237 / 0.5);
}
.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-500\/5 {
  background-color: rgb(249 115 22 / 0.05);
}
.bg-pink-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.bg-pink-500\/10 {
  background-color: rgb(236 72 153 / 0.1);
}
.bg-pink-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.bg-popover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--popover) / var(--tw-bg-opacity, 1));
}
.bg-primary {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.bg-primary-foreground\/20 {
  background-color: hsl(var(--primary-foreground) / 0.2);
}
.bg-primary-foreground\/85 {
  background-color: hsl(var(--primary-foreground) / 0.85);
}
.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/30 {
  background-color: hsl(var(--primary) / 0.3);
}
.bg-primary\/35 {
  background-color: hsl(var(--primary) / 0.35);
}
.bg-primary\/40 {
  background-color: hsl(var(--primary) / 0.4);
}
.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/50 {
  background-color: hsl(var(--primary) / 0.5);
}
.bg-primary\/60 {
  background-color: hsl(var(--primary) / 0.6);
}
.bg-primary\/70 {
  background-color: hsl(var(--primary) / 0.7);
}
.bg-primary\/80 {
  background-color: hsl(var(--primary) / 0.8);
}
.bg-primary\/\[0\.02\] {
  background-color: hsl(var(--primary) / 0.02);
}
.bg-primary\/\[0\.03\] {
  background-color: hsl(var(--primary) / 0.03);
}
.bg-primary\/\[0\.04\] {
  background-color: hsl(var(--primary) / 0.04);
}
.bg-primary\/\[0\.06\] {
  background-color: hsl(var(--primary) / 0.06);
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-purple-500\/5 {
  background-color: rgb(168 85 247 / 0.05);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-100\/60 {
  background-color: rgb(254 226 226 / 0.6);
}
.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / 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-50\/50 {
  background-color: rgb(254 242 242 / 0.5);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}
.bg-red-500\/\[0\.07\] {
  background-color: rgb(239 68 68 / 0.07);
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-rose-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / 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-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-secondary {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}
.bg-sidebar {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar) / var(--tw-bg-opacity, 1));
}
.bg-sidebar-accent {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}
.bg-sidebar-border {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1));
}
.bg-sky-500\/10 {
  background-color: rgb(14 165 233 / 0.1);
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / 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-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/50 {
  background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-500\/10 {
  background-color: rgb(100 116 139 / 0.1);
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/\[0\.04\] {
  background-color: rgb(15 23 42 / 0.04);
}
.bg-slate-900\/\[0\.05\] {
  background-color: rgb(15 23 42 / 0.05);
}
.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-teal-500\/10 {
  background-color: rgb(20 184 166 / 0.1);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.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\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50\/50 {
  background-color: rgb(254 252 232 / 0.5);
}
.bg-yellow-50\/60 {
  background-color: rgb(254 252 232 / 0.6);
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-\[linear-gradient\(180deg\2c hsl\(var\(--primary\)\/0\.14\)_0\%\2c hsl\(var\(--primary\)\/0\.05\)_45\%\2c hsl\(var\(--background\)\)_100\%\)\] {
  background-image: linear-gradient(180deg,hsl(var(--primary)/0.14) 0%,hsl(var(--primary)/0.05) 45%,hsl(var(--background)) 100%);
}
.bg-\[radial-gradient\(circle_at_20\%_30\%\2c rgba\(37\2c 99\2c 235\2c 0\.15\)\2c transparent_50\%\)\] {
  background-image: radial-gradient(circle at 20% 30%,rgba(37,99,235,0.15),transparent 50%);
}
.bg-\[radial-gradient\(circle_at_80\%_20\%\2c rgba\(124\2c 58\2c 237\2c 0\.1\)\2c transparent_40\%\)\] {
  background-image: radial-gradient(circle at 80% 20%,rgba(124,58,237,0.1),transparent 40%);
}
.bg-\[radial-gradient\(closest-side\2c hsl\(var\(--background\)\/0\.9\)\2c transparent\)\] {
  background-image: radial-gradient(closest-side,hsl(var(--background)/0.9),transparent);
}
.bg-\[radial-gradient\(closest-side\2c hsl\(var\(--background\)\/0\.95\)\2c transparent\)\] {
  background-image: radial-gradient(closest-side,hsl(var(--background)/0.95),transparent);
}
.bg-\[radial-gradient\(closest-side\2c hsl\(var\(--primary\)\/0\.14\)\2c transparent\)\] {
  background-image: radial-gradient(closest-side,hsl(var(--primary)/0.14),transparent);
}
.bg-\[radial-gradient\(closest-side\2c hsl\(var\(--primary\)\/0\.22\)\2c transparent\)\] {
  background-image: radial-gradient(closest-side,hsl(var(--primary)/0.22),transparent);
}
.bg-\[radial-gradient\(ellipse_at_bottom_left\2c _var\(--tw-gradient-stops\)\)\] {
  background-image: radial-gradient(ellipse at bottom left, var(--tw-gradient-stops));
}
.bg-\[radial-gradient\(ellipse_at_top_right\2c _var\(--tw-gradient-stops\)\)\] {
  background-image: radial-gradient(ellipse at top right, var(--tw-gradient-stops));
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-\[\#2463EB\] {
  --tw-gradient-from: #2463EB var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(36 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-background {
  --tw-gradient-from: hsl(var(--background) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/50 {
  --tw-gradient-from: rgb(239 246 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/10 {
  --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/10 {
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-900 {
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted\/50 {
  --tw-gradient-from: hsl(var(--muted) / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
  --tw-gradient-from: hsl(var(--primary) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/10 {
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/15 {
  --tw-gradient-from: hsl(var(--primary) / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/20 {
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/5 {
  --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/80 {
  --tw-gradient-from: hsl(var(--primary) / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/\[0\.04\] {
  --tw-gradient-from: hsl(var(--primary) / 0.04) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-50\/50 {
  --tw-gradient-from: rgb(248 250 252 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900 {
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 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-violet-50\/50 {
  --tw-gradient-from: rgb(245 243 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-background {
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-foreground\/10 {
  --tw-gradient-to: hsl(var(--foreground) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-muted\/30 {
  --tw-gradient-to: hsl(var(--muted) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--muted) / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/15 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/20 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/5 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/50 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800 {
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b 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);
}
.to-\[\#2463EB\]\/70 {
  --tw-gradient-to: rgb(36 99 235 / 0.7) var(--tw-gradient-to-position);
}
.to-background {
  --tw-gradient-to: hsl(var(--background) / 1) var(--tw-gradient-to-position);
}
.to-gray-900\/90 {
  --tw-gradient-to: rgb(17 24 39 / 0.9) var(--tw-gradient-to-position);
}
.to-indigo-500\/10 {
  --tw-gradient-to: rgb(99 102 241 / 0.1) var(--tw-gradient-to-position);
}
.to-muted\/30 {
  --tw-gradient-to: hsl(var(--muted) / 0.3) var(--tw-gradient-to-position);
}
.to-primary {
  --tw-gradient-to: hsl(var(--primary) / 1) var(--tw-gradient-to-position);
}
.to-primary\/10 {
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}
.to-primary\/15 {
  --tw-gradient-to: hsl(var(--primary) / 0.15) var(--tw-gradient-to-position);
}
.to-primary\/20 {
  --tw-gradient-to: hsl(var(--primary) / 0.2) var(--tw-gradient-to-position);
}
.to-primary\/5 {
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}
.to-primary\/70 {
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
}
.to-primary\/80 {
  --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}
.to-slate-900 {
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.to-teal-500\/10 {
  --tw-gradient-to: rgb(20 184 166 / 0.1) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-600 {
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.fill-current {
  fill: currentColor;
}
.fill-foreground {
  fill: hsl(var(--foreground) / 1);
}
.fill-muted-foreground {
  fill: hsl(var(--muted-foreground) / 1);
}
.fill-slate-900 {
  fill: #0f172a;
}
.stroke-border {
  stroke: hsl(var(--border) / 1);
}
.stroke-border\/50 {
  stroke: hsl(var(--border) / 0.5);
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-left {
  -o-object-position: left;
     object-position: left;
}
.object-top {
  -o-object-position: top;
     object-position: top;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.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-7 {
  padding: 1.75rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[1px\] {
  padding: 1px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.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-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.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-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.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-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.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-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-px {
  padding-top: 1px;
  padding-bottom: 1px;
}
.\!pt-0 {
  padding-top: 0px !important;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-14 {
  padding-bottom: 3.5rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[calc\(0\.5rem\+env\(safe-area-inset-bottom\2c 0px\)\)\] {
  padding-bottom: calc(0.5rem + env(safe-area-inset-bottom,0px));
}
.pe-1 {
  padding-inline-end: 0.25rem;
}
.pe-1\.5 {
  padding-inline-end: 0.375rem;
}
.pe-10 {
  padding-inline-end: 2.5rem;
}
.pe-12 {
  padding-inline-end: 3rem;
}
.pe-14 {
  padding-inline-end: 3.5rem;
}
.pe-2 {
  padding-inline-end: 0.5rem;
}
.pe-20 {
  padding-inline-end: 5rem;
}
.pe-3 {
  padding-inline-end: 0.75rem;
}
.pe-4 {
  padding-inline-end: 1rem;
}
.pe-6 {
  padding-inline-end: 1.5rem;
}
.pe-8 {
  padding-inline-end: 2rem;
}
.pe-9 {
  padding-inline-end: 2.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.ps-1 {
  padding-inline-start: 0.25rem;
}
.ps-10 {
  padding-inline-start: 2.5rem;
}
.ps-12 {
  padding-inline-start: 3rem;
}
.ps-2 {
  padding-inline-start: 0.5rem;
}
.ps-2\.5 {
  padding-inline-start: 0.625rem;
}
.ps-3 {
  padding-inline-start: 0.75rem;
}
.ps-4 {
  padding-inline-start: 1rem;
}
.ps-5 {
  padding-inline-start: 1.25rem;
}
.ps-6 {
  padding-inline-start: 1.5rem;
}
.ps-8 {
  padding-inline-start: 2rem;
}
.ps-9 {
  padding-inline-start: 2.25rem;
}
.ps-\[36px\] {
  padding-inline-start: 36px;
}
.ps-\[44px\] {
  padding-inline-start: 44px;
}
.pt-0 {
  padding-top: 0px;
}
.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-14 {
  padding-top: 3.5rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-28 {
  padding-top: 7rem;
}
.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;
}
.text-start {
  text-align: start;
}
.text-end {
  text-align: end;
}
.-indent-6 {
  text-indent: -1.5rem;
}
.-indent-8 {
  text-indent: -2rem;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-text-top {
  vertical-align: text-top;
}
.align-\[-0\.08em\] {
  vertical-align: -0.08em;
}
.align-\[-2px\] {
  vertical-align: -2px;
}
.font-mono {
  font-family: var(--font-mono);
}
.font-sans {
  font-family: var(--font-sans);
}
.font-serif {
  font-family: var(--font-serif);
}
.text-1xs {
  font-size: 11px;
  line-height: 1.4;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-2xs {
  font-size: 10px;
  line-height: 1.4;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-3xs {
  font-size: 9px;
  line-height: 1.3;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[5px\] {
  font-size: 5px;
}
.text-\[6px\] {
  font-size: 6px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[8px\] {
  font-size: 8px;
}
.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-mkt-h2 {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.015em;
  font-weight: 700;
}
.text-mkt-h3 {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-weight: 600;
}
.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-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.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-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.0\] {
  line-height: 1.0;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.85\] {
  line-height: 1.85;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.045em\] {
  letter-spacing: -0.045em;
}
.tracking-\[0\.05em\] {
  letter-spacing: 0.05em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.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-\[\#34C759\] {
  --tw-text-opacity: 1;
  color: rgb(52 199 89 / var(--tw-text-opacity, 1));
}
.text-\[\#76b900\] {
  --tw-text-opacity: 1;
  color: rgb(118 185 0 / var(--tw-text-opacity, 1));
}
.text-\[hsl\(var\(--grade-a\)\)\] {
  color: hsl(var(--grade-a));
}
.text-\[hsl\(var\(--grade-a-foreground\)\)\] {
  color: hsl(var(--grade-a-foreground));
}
.text-\[hsl\(var\(--grade-b-foreground\)\)\] {
  color: hsl(var(--grade-b-foreground));
}
.text-\[hsl\(var\(--grade-c-foreground\)\)\] {
  color: hsl(var(--grade-c-foreground));
}
.text-\[hsl\(var\(--grade-d-foreground\)\)\] {
  color: hsl(var(--grade-d-foreground));
}
.text-\[hsl\(var\(--primary\)\)\] {
  color: hsl(var(--primary));
}
.text-accent-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.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-700\/80 {
  color: rgb(180 83 9 / 0.8);
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-background {
  --tw-text-opacity: 1;
  color: hsl(var(--background) / var(--tw-text-opacity, 1));
}
.text-background\/50 {
  color: hsl(var(--background) / 0.5);
}
.text-background\/60 {
  color: hsl(var(--background) / 0.6);
}
.text-background\/70 {
  color: hsl(var(--background) / 0.7);
}
.text-background\/75 {
  color: hsl(var(--background) / 0.75);
}
.text-background\/80 {
  color: hsl(var(--background) / 0.8);
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / 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-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-border {
  --tw-text-opacity: 1;
  color: hsl(var(--border) / var(--tw-text-opacity, 1));
}
.text-border\/60 {
  color: hsl(var(--border) / 0.6);
}
.text-card-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--card-foreground) / var(--tw-text-opacity, 1));
}
.text-current {
  color: currentColor;
}
.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-cyan-600 {
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-destructive {
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.text-destructive-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));
}
.text-destructive\/70 {
  color: hsl(var(--destructive) / 0.7);
}
.text-destructive\/80 {
  color: hsl(var(--destructive) / 0.8);
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.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-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/70 {
  color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/75 {
  color: hsl(var(--foreground) / 0.75);
}
.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}
.text-foreground\/85 {
  color: hsl(var(--foreground) / 0.85);
}
.text-foreground\/90 {
  color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-600 {
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / var(--tw-text-opacity, 1));
}
.text-gold-600 {
  --tw-text-opacity: 1;
  color: hsl(var(--gold-600) / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}
.text-lime-600 {
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / var(--tw-text-opacity, 1));
}
.text-muted-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.text-muted-foreground\/30 {
  color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/40 {
  color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/50 {
  color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/60 {
  color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / 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-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-500 {
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--popover-foreground) / var(--tw-text-opacity, 1));
}
.text-primary {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
.text-primary-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}
.text-primary-foreground\/85 {
  color: hsl(var(--primary-foreground) / 0.85);
}
.text-primary-foreground\/90 {
  color: hsl(var(--primary-foreground) / 0.9);
}
.text-primary\/30 {
  color: hsl(var(--primary) / 0.3);
}
.text-primary\/40 {
  color: hsl(var(--primary) / 0.4);
}
.text-primary\/50 {
  color: hsl(var(--primary) / 0.5);
}
.text-primary\/60 {
  color: hsl(var(--primary) / 0.6);
}
.text-primary\/70 {
  color: hsl(var(--primary) / 0.7);
}
.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}
.text-primary\/90 {
  color: hsl(var(--primary) / 0.9);
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-500\/80 {
  color: rgb(239 68 68 / 0.8);
}
.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-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-red-900 {
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));
}
.text-sidebar-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-foreground) / var(--tw-text-opacity, 1));
}
.text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.text-sky-500 {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
}
.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / 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-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.text-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}
.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/30 {
  color: rgb(255 255 255 / 0.3);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.decoration-dotted {
  text-decoration-style: dotted;
}
.decoration-2 {
  text-decoration-thickness: 2px;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.accent-primary {
  accent-color: hsl(var(--primary) / 1);
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-35 {
  opacity: 0.35;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.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_-4px_20px_-4px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 -4px 20px -4px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 -4px 20px -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-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 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-\[0_0_30px_rgba\(36\2c 99\2c 235\2c 0\.05\)\] {
  --tw-shadow: 0 0 30px rgba(36,99,235,0.05);
  --tw-shadow-colored: 0 0 30px 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_6px_1px\] {
  --tw-shadow: 0 0 6px 1px;
  --tw-shadow-colored: 0 0 6px 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-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 1px 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-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 20px 60px 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_24px_48px_rgba\(0\2c 0\2c 0\2c 0\.12\)\2c 0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 0 24px 48px rgba(0,0,0,0.12),0 0 0 1px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 24px 48px var(--tw-shadow-color), 0 0 0 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-\[0_2px_12px_rgba\(0\2c 0\2c 0\2c 0\.08\)\2c 0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 2px 12px rgba(0,0,0,0.08),0 0 0 1px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color), 0 0 0 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-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 4px 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_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 8px 24px 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-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);
}
.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-primary\/20 {
  --tw-shadow-color: hsl(var(--primary) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/25 {
  --tw-shadow-color: hsl(var(--primary) / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/30 {
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/40 {
  --tw-shadow-color: hsl(var(--primary) / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.outline-2 {
  outline-width: 2px;
}
.outline-offset-2 {
  outline-offset: 2px;
}
.outline-transparent {
  outline-color: transparent;
}
.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-\[3px\] {
  --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-border\/30 {
  --tw-ring-color: hsl(var(--border) / 0.3);
}
.ring-emerald-500\/50 {
  --tw-ring-color: rgb(16 185 129 / 0.5);
}
.ring-primary {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));
}
.ring-primary\/10 {
  --tw-ring-color: hsl(var(--primary) / 0.1);
}
.ring-primary\/20 {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-primary\/25 {
  --tw-ring-color: hsl(var(--primary) / 0.25);
}
.ring-primary\/30 {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.ring-sidebar {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--sidebar) / var(--tw-ring-opacity, 1));
}
.ring-sidebar-ring {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--sidebar-ring) / var(--tw-ring-opacity, 1));
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background) / 1);
}
.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);
}
.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);
}
.brightness-75 {
  --tw-brightness: brightness(.75);
  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-90 {
  --tw-brightness: brightness(.9);
  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);
}
.contrast-125 {
  --tw-contrast: contrast(1.25);
  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);
}
.contrast-150 {
  --tw-contrast: contrast(1.5);
  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);
}
.grayscale {
  --tw-grayscale: grayscale(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);
}
.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 {
  --tw-backdrop-blur: blur(8px);
  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);
  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);
  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-xl {
  --tw-backdrop-blur: blur(24px);
  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 {
  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, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[border-color\2c box-shadow\] {
  transition-property: border-color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[left\2c right\2c width\] {
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[margin\2c opacity\] {
  transition-property: margin,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[max-height\2c opacity\] {
  transition-property: max-height,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[transform\2c opacity\] {
  transition-property: transform,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\] {
  transition-property: width,height,padding;
  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;
}
.delay-0 {
  transition-delay: 0s;
}
.delay-100 {
  transition-delay: 100ms;
}
.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-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  transition-timing-function: linear;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.fade-in {
  --tw-enter-opacity: 0;
}
.fade-in-0 {
  --tw-enter-opacity: 0;
}
.fade-out {
  --tw-exit-opacity: 0;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.slide-in-from-bottom-2 {
  --tw-enter-translate-y: 0.5rem;
}
.duration-100 {
  animation-duration: 100ms;
}
.duration-150 {
  animation-duration: 150ms;
}
.duration-200 {
  animation-duration: 200ms;
}
.duration-300 {
  animation-duration: 300ms;
}
.duration-500 {
  animation-duration: 500ms;
}
.duration-700 {
  animation-duration: 700ms;
}
.delay-0 {
  animation-delay: 0s;
}
.delay-100 {
  animation-delay: 100ms;
}
.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  animation-timing-function: linear;
}
.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
  animation-play-state: running;
}
.paused {
  animation-play-state: paused;
}
  /* Button tap feedback */
  
  /* Card tap feedback */
  
  /* Link tap feedback */
  
  /* Touch target minimum size */
  
  /* Larger touch target */
  
  /* Mobile-optimized text colors (higher contrast) */
  @media (max-width: 640px) {
    .text-muted-foreground {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
  input[type="search"]::-webkit-search-cancel-button {
  display: none;
}

  [contenteditable][data-placeholder]:empty::before {
    content: attr(data-placeholder);
    color: hsl(var(--muted-foreground));
    pointer-events: none;
  }

  /* Responsive container utilities */

  /* Safe area insets for notched devices */

  /* Responsive text utilities */

  /* Responsive spacing utilities */

  /* Touch-friendly utilities */

  /* Prevent text selection on double-tap (mobile) */

  /* Smooth scrolling with momentum on iOS */
  .smooth-scroll {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }

  /* Hide scrollbar but keep functionality */
  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }

  /* Responsive grid utilities */

  /* Full width on mobile, constrained on desktop */

  .no-default-hover-elevate {}
  .no-default-active-elevate {}

  .toggle-elevate::before,
  .toggle-elevate-2::before {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: inherit;
    z-index: -1;
  }

  .toggle-elevate.toggle-elevated::before {
    background-color: var(--elevate-2);
  }

  .border.toggle-elevate::before {
    inset: -1px;
  }

  .hover-elevate:not(.no-default-hover-elevate),
  .active-elevate:not(.no-default-active-elevate),
  .hover-elevate-2:not(.no-default-hover-elevate),
  .active-elevate-2:not(.no-default-active-elevate) {
    position: relative;
    z-index: 0;
  }

  .hover-elevate:not(.no-default-hover-elevate)::after,
  .active-elevate:not(.no-default-active-elevate)::after,
  .hover-elevate-2:not(.no-default-hover-elevate)::after,
  .active-elevate-2:not(.no-default-active-elevate)::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: inherit;
    z-index: 999;
  }

  .hover-elevate:hover:not(.no-default-hover-elevate)::after,
  .active-elevate:active:not(.no-default-active-elevate)::after {
    background-color: var(--elevate-1);
  }

  .hover-elevate-2:hover:not(.no-default-hover-elevate)::after,
  .active-elevate-2:active:not(.no-default-active-elevate)::after {
    background-color: var(--elevate-2);
  }

  .border.hover-elevate:not(.no-hover-interaction-elevate)::after,
  .border.active-elevate:not(.no-active-interaction-elevate)::after,
  .border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,
  .border.active-elevate-2:not(.no-active-interaction-elevate)::after,
  .border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
  /* Glass Morphism Effects */
  
  .dark .glass-surface {
    background: rgba(9, 9, 11, 0.7);
  }
  
  .dark .glass-card {
    background: rgba(24, 24, 27, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  }
  
  /* Premium Shadows - Apple-inspired elevation */
  
  /* 3D Hover Tilt Effects */
  
  /* Light Sweep Effect */
  .light-sweep {
    position: relative;
    overflow: hidden;
  }
  
  .light-sweep::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent
    );
    transition: left 0.5s ease;
  }
  
  .light-sweep:hover::after {
    left: 100%;
  }
  
  /* Atmospheric Gradient Backgrounds */
  
  /* Refined Border Radius - Apple-style precision */
  
  /* Gradient Heading Utilities */
  
  /* Landscape orientation utilities for tablets and phones */
  
  /* Touch-friendly spacing for mobile */
  
  /* ===== MOTION & MICROINTERACTIONS ===== */
  /* Calm, confident, expensive software animations */
  
  /* Panel Slide-ins - subtle entrance animations */
  
  .fade-in {
    animation: fadeIn 0.2s ease-out;
  }
  
  @keyframes slideInLeft {
    from {
      opacity: 0;
      transform: translateX(-12px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  @keyframes slideInRight {
    from {
      opacity: 0;
      transform: translateX(12px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes slideInDown {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(6px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes scaleIn {
    from {
      opacity: 0;
      transform: scale(0.96);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  
  /* Agent Thinking Indicator - subtle pulse */
  
  @keyframes thinkingPulse {
    0%, 100% {
      opacity: 0.4;
    }
    50% {
      opacity: 1;
    }
  }
  
  @keyframes thinkingDot {
    0%, 80%, 100% {
      opacity: 0.3;
      transform: scale(0.8);
    }
    40% {
      opacity: 1;
      transform: scale(1);
    }
  }
.\[border-color\:var\(--badge-outline\)\] {
  border-color: var(--badge-outline);
}
.\[border-color\:var\(--button-outline\)\] {
  border-color: var(--button-outline);
}
.\[box-shadow\:0_0_0_1px_hsl\(var\(--primary\)\/0\.1\)\2c 0_2px_4px_hsl\(var\(--primary\)\/0\.1\)\2c 0_4px_12px_hsl\(var\(--primary\)\/0\.15\)\] {
  box-shadow: 0 0 0 1px hsl(var(--primary)/0.1),0 2px 4px hsl(var(--primary)/0.1),0 4px 12px hsl(var(--primary)/0.15);
}
.\[justify-content\:safe_center\] {
  justify-content: safe center;
}
.\[mask-image\:linear-gradient\(to_bottom\2c transparent_0\2c \#000_20\%\2c \#000_80\%\2c transparent_100\%\)\] {
  -webkit-mask-image: linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);
          mask-image: linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);
}
.\[mask-image\:radial-gradient\(ellipse_at_center\2c white\2c transparent_80\%\)\] {
  -webkit-mask-image: radial-gradient(ellipse at center,white,transparent 80%);
          mask-image: radial-gradient(ellipse at center,white,transparent 80%);
}
.\[quotes\:none\] {
  quotes: none;
}
.\[unicode-bidi\:isolate\] {
  unicode-bidi: isolate;
}

/* Helix sphere animations (home page hero) */
@keyframes helix-breathe { 0%, 100% { transform: scale(1); opacity: 0.6; } 50% { transform: scale(1.15); opacity: 1; } }
@keyframes helix-glow-pulse { 0%, 100% { box-shadow: 0 0 40px 8px rgba(36,99,235,0.2), 0 0 80px 20px rgba(36,99,235,0.1); } 50% { box-shadow: 0 0 60px 12px rgba(36,99,235,0.35), 0 0 120px 40px rgba(36,99,235,0.15); } }
@keyframes helix-orbit-1 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes helix-orbit-2 { from { transform: rotate(60deg); } to { transform: rotate(420deg); } }
@keyframes helix-orbit-3 { from { transform: rotate(120deg); } to { transform: rotate(-240deg); } }
@keyframes helix-node-pulse { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; } 50% { transform: translate(-50%, -50%) scale(1.6); opacity: 1; } }
@keyframes helix-float-1 { 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.4; } 33% { transform: translate(6px, -8px) scale(1.2); opacity: 0.7; } 66% { transform: translate(-4px, 4px) scale(0.9); opacity: 0.3; } }
@keyframes helix-float-2 { 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.3; } 50% { transform: translate(-8px, 6px) scale(1.3); opacity: 0.6; } }
@keyframes helix-arc { 0% { transform: rotate(0deg) translateX(var(--arc-r)) rotate(0deg); opacity: 0; } 10% { opacity: 0.6; } 90% { opacity: 0.6; } 100% { transform: rotate(180deg) translateX(var(--arc-r)) rotate(-180deg); opacity: 0; } }

/* SVG pulse-ring animation (query-flow-diagram) */
@keyframes pulse-ring {
  0%, 100% { r: 24px; opacity: 0.3; }
  50% { r: 32px; opacity: 0.1; }
}

/* Landing-page system telemetry: quiet pulsing makes the evidence motifs
   feel like active routing rather than illustrations. Only opacity and
   transform are animated (compositor-only), so these remain cheap on long
   pages — no per-frame SVG repaint like stroke-dashoffset would cause. */
@keyframes system-line-pulse {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}
@keyframes system-node-breathe {
  0%, 100% { opacity: .5; transform: scale(1); }
  50% { opacity: .95; transform: scale(1.04); }
}
.system-flow path[stroke-dasharray],
.system-flow line[stroke-dasharray] {
  animation: system-line-pulse 3.8s ease-in-out infinite;
}
.system-flow circle {
  transform-box: fill-box;
  transform-origin: center;
  animation: system-node-breathe 4.5s ease-in-out infinite;
}
.system-flow circle:nth-of-type(3n) { animation-delay: -1.4s; }
.system-flow circle:nth-of-type(4n) { animation-delay: -2.7s; }
@media (prefers-reduced-motion: reduce) {
  .system-flow path[stroke-dasharray],
  .system-flow line[stroke-dasharray],
  .system-flow circle { animation: none; }
}

/* Audit page print styles */
@media print {
  .print-hide { display: none !important; }
  .print-full  { max-width: 100% !important; padding: 0 !important; }
  body { background: white !important; }
  .dark body { background: white !important; color: black !important; }
}

/* RTL Support */
[dir="rtl"] {
  font-family: 'IBM Plex Sans Arabic', 'Inter', sans-serif;
  --font-serif: 'IBM Plex Sans Arabic', 'Georgia', 'Times New Roman', serif;
}

[dir="rtl"] .rtl\:flip {
  transform: scaleX(-1);
}

[dir="rtl"] .rtl\:space-reverse > * + * {
  margin-left: 0;
  margin-right: var(--space-x);
}

/* RTL: Centered text stays centered */
[dir="rtl"] .text-center {
  text-align: center !important;
}

/* RTL: Prose / Markdown output — scoped to .prose containers */
[dir="rtl"] .prose {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .prose h1,
[dir="rtl"] .prose h2,
[dir="rtl"] .prose h3,
[dir="rtl"] .prose h4,
[dir="rtl"] .prose h5,
[dir="rtl"] .prose h6,
[dir="rtl"] .prose p,
[dir="rtl"] .prose li,
[dir="rtl"] .prose blockquote,
[dir="rtl"] .prose a,
[dir="rtl"] .prose td,
[dir="rtl"] .prose th {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] .prose ul,
[dir="rtl"] .prose ol {
  padding-right: 1.5em;
  padding-left: 0;
}

/* RTL: Code blocks always stay LTR */
[dir="rtl"] pre, [dir="rtl"] code {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

/* RTL: Form inputs inherit direction from root */
[dir="rtl"] input:not([type="checkbox"]):not([type="radio"]):not([dir="ltr"]),
[dir="rtl"] textarea:not([dir="ltr"]),
[dir="rtl"] select:not([dir="ltr"]) {
  text-align: right;
}

[dir="rtl"] input::-moz-placeholder, [dir="rtl"] textarea::-moz-placeholder {
  text-align: right;
}

[dir="rtl"] input::placeholder,
[dir="rtl"] textarea::placeholder {
  text-align: right;
}

/* LTR override: English-only content containers */
[dir="rtl"] .ltr-content,
[dir="rtl"] .ltr-content * {
  direction: ltr;
  text-align: left;
}

[dir="rtl"] .ltr-content ul,
[dir="rtl"] .ltr-content ol {
  padding-left: 1.5rem;
  padding-right: 0;
}

[dir="rtl"] .ltr-content pre,
[dir="rtl"] .ltr-content code {
  direction: ltr;
  text-align: left;
}

/* Premium Typography System - Linear/Vercel inspired */

/* ================================================
   Mobile-First Typography System (Apple-style)
   ================================================ */

/* ================================================
   Global Mobile Interaction Styles
   ================================================ */

/* ================================================
   Typography Utility Classes - Premium Type Scale
   Linear/Vercel/Notion inspired
   ================================================ */

/* LIGHT MODE — blue and white (2026-10).
   Page #FFFFFF · pale-blue grouped surface #F4F7FE · ink #111114 ·
   graphite #5A5A60 · one accent #2463EB · cool hairline #E3E8F2 ·
   4px corners. Replaces the warm-paper deck palette (#FAFAF7 / #E4E4DF). Latin text
   sets in Inter; Arabic falls through to IBM Plex Sans Arabic (and
   [dir="rtl"] selects it outright). */
:root {
  --button-outline: rgba(0,0,0, .08);
  --badge-outline: rgba(0,0,0, .04);

  /* Automatic computation of border around primary / danger buttons */
  --opaque-button-border-intensity: -8; /* In terms of percentages */

  /* Backgrounds applied on top of other backgrounds when hovered/active */
  --elevate-1: rgba(0,0,0, .04);
  --elevate-2: rgba(0,0,0, .08);

  /* ===== TYPOGRAPHY SYSTEM ===== */
  
  /* Font families */
  --font-display: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', ui-monospace, monospace;
  
  /* Display sizes (Hero sections) */
  --text-6xl: 60px;   /* line-height: 1.0 */
  --text-5xl: 48px;   /* line-height: 1.0 */
  
  /* Heading sizes */
  --text-4xl: 36px;   /* line-height: 1.1 */
  --text-3xl: 30px;   /* line-height: 1.2 */
  --text-2xl: 24px;   /* line-height: 1.3 */
  --text-xl:  20px;   /* line-height: 1.4 */
  
  /* Body sizes */
  --text-lg:  18px;   /* line-height: 1.6 */
  --text-base: 16px;  /* line-height: 1.6 */
  --text-sm:  14px;   /* line-height: 1.5 */
  --text-xs:  12px;   /* line-height: 1.4 */
  
  /* Font weights */
  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;
  --font-black:    800;

  /* ===== SPACING SYSTEM (8-Point Grid) ===== */
  --space-1:  4px;    /* XXS - minimal gaps */
  --space-2:  8px;    /* XS - tight elements */
  --space-3:  12px;   /* SM - related items */
  --space-4:  16px;   /* MD - component internal */
  --space-5:  20px;
  --space-6:  24px;   /* LG - between items */
  --space-8:  32px;   /* XL - card padding */
  --space-10: 40px;
  --space-12: 48px;   /* 2XL - section elements */
  --space-16: 64px;   /* 3XL - small sections */
  --space-20: 80px;
  --space-24: 96px;   /* 4XL - major sections */
  --space-32: 128px;  /* 5XL - page sections */

  /* ===== ELEVATION & DEPTH SYSTEM ===== */
  /* Multi-layer shadows for realistic depth */
  --shadow-xs:  0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm:  0 2px 4px rgba(0, 0, 0, 0.06), 
                0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md:  0 4px 8px rgba(0, 0, 0, 0.08), 
                0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg:  0 8px 16px rgba(0, 0, 0, 0.1), 
                0 4px 8px rgba(0, 0, 0, 0.06);
  --shadow-xl:  0 12px 24px rgba(0, 0, 0, 0.12), 
                0 6px 12px rgba(0, 0, 0, 0.08);
  --shadow-2xl: 0 20px 40px rgba(0, 0, 0, 0.15), 
                0 10px 20px rgba(0, 0, 0, 0.1);
  
  /* Focus ring shadow */
  --shadow-focus: 0 0 0 4px rgba(36, 99, 235, 0.15);
  
  /* Colored accent shadows */
  --shadow-blue:  0 8px 16px rgba(36, 99, 235, 0.3);
  --shadow-teal:  0 8px 16px rgba(20, 184, 166, 0.3);
  --shadow-gold:  0 8px 16px rgba(245, 158, 11, 0.3);
  --shadow-green: 0 8px 16px rgba(16, 185, 129, 0.3);

  /* ===== NEUTRAL PALETTE — blue and white, cool ink ===== */
  
  /* Refined Neutrals */
  --gray-50: 0 0% 100%;     /* #FFFFFF - page */
  --gray-100: 223 85% 97%;  /* #F4F7FE - pale blue grouped backgrounds */
  --gray-200: 220 37% 92%;  /* #E3E8F2 - cool hairlines */
  --gray-400: 240 1% 68%;   /* #AEAEB2 - placeholders/tertiary */
  --gray-600: 240 3% 36%;   /* #5A5A60 - graphite, secondary text */
  --gray-900: 240 8% 7%;    /* #111114 - ink */

  /* Page: white */
  --background: 0 0% 100%;
  /* Ink */
  --foreground: 240 8% 7%;
  --border: 220 37% 92%;

  /* Cards - pure white */
  --card: 0 0% 100%;
  --card-foreground: 240 8% 7%;
  --card-border: 220 37% 92%;

  /* Sidebar */
  --sidebar: 223 85% 97%;
  --sidebar-foreground: 240 8% 7%;
  --sidebar-border: 220 37% 92%;
  --sidebar-primary: 221 83% 53%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 221 83% 94%;
  --sidebar-accent-foreground: 240 3% 36%;
  --sidebar-ring: 221 83% 53%;

  --popover: 0 0% 100%;
  --popover-foreground: 240 8% 7%;
  --popover-border: 220 37% 92%;

  /* Accent blue - #2463EB (the only accent) */
  --primary: 221 83% 53%;
  --primary-foreground: 0 0% 100%;
  
  /* CTA - same accent */
  --primary-cta: 221 83% 53%;
  --primary-cta-foreground: 0 0% 100%;
  
  /* Blue scale for hover/active states */
  --primary-50: 221 83% 96%;    /* #EDF2FD */
  --primary-100: 221 83% 92%;   /* #DAE5FC */
  --primary-500: 221 83% 53%;   /* #2463EB */
  --primary-600: 221 83% 48%;   /* #1A56D8 */
  --primary-700: 221 83% 40%;   /* #1147B7 - deeper hover state */
  --primary-900: 221 83% 22%;   /* #0A2766 */

  /* Evidence Gold (NEW) - for quality ratings, premium features */
  --gold-50: 48 100% 96%;       /* #FFFBEB */
  --gold-500: 37 91% 50%;       /* #D97706 - evidence badges */
  --gold-600: 32 95% 37%;       /* #B45309 - hover */
  
  /* Success green */
  --green-50: 145 72% 94%;      /* #E8FAF0 */
  --green-500: 142 71% 50%;     /* #34C759 - Apple green */
  --green-600: 142 71% 40%;     /* #2AAE48 */

  /* Database Teal (NEW) - for data sources, databases */
  --teal-50: 166 76% 97%;       /* #F0FDFA */
  --teal-100: 167 70% 89%;      /* #CCFBF1 - light teal fill */
  --teal-300: 171 72% 64%;      /* #5EEAD4 - light teal (dark-mode text) */
  --teal-500: 168 76% 42%;      /* #14B8A6 - database indicators */
  --teal-600: 172 80% 32%;      /* #0D9488 - hover */

  /* Secondary */
  --secondary: 223 85% 97%;
  --secondary-foreground: 240 3% 36%;

  /* Muted */
  --muted: 223 85% 97%;
  --muted-foreground: 240 3% 36%;

  /* Accent - blue tint */
  --accent: 221 83% 96%;
  --accent-foreground: 221 83% 45%;
  
  /* Clinical highlight */
  --clinical: 145 72% 94%;
  --clinical-foreground: 142 71% 40%;
  --clinical-border: 142 50% 85%;

  /* Evidence grade tokens */
  --grade-a: 152 69% 31%;
  --grade-a-foreground: 152 69% 31%;
  --grade-a-bg: 152 69% 95%;
  --grade-b: 221 83% 53%;
  --grade-b-foreground: 221 83% 45%;
  --grade-b-bg: 221 83% 96%;
  --grade-c: 37 91% 50%;
  --grade-c-foreground: 37 91% 38%;
  --grade-c-bg: 37 91% 95%;
  --grade-d: 4 90% 58%;
  --grade-d-foreground: 4 90% 42%;
  --grade-d-bg: 4 90% 96%;

  --destructive: 4 90% 58%;
  --destructive-foreground: 0 0% 100%;

  --input: 220 30% 87%;
  --ring: 221 83% 53%;

  --chart-1: 221 83% 53%;
  --chart-2: 195 75% 35%;
  --chart-3: 142 71% 50%;
  --chart-4: 37 91% 50%;
  --chart-5: 4 90% 58%;

  /* ===== TYPOGRAPHY SYSTEM ===== */
  /* Display/Headlines: Inter with optical sizing for refined display */
  --font-display: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  /* Body: Inter for Latin; IBM Plex Sans Arabic for Arabic glyphs */
  --font-sans: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-heading: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  /* Serif: reserved for long-form reading surfaces only (no display serif) */
  --font-serif: 'Georgia', 'Times New Roman', serif;
  /* Monospace: JetBrains Mono for citations, code, clinical data */
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Menlo', monospace;
  --radius: 0.25rem; /* 4px - near-square */
  --shadow-2xs: 0px 1px 2px 0px hsl(210 8% 12% / 0.04);
  --shadow-xs: 0px 1px 3px 0px hsl(210 8% 12% / 0.06);
  --shadow-sm: 0px 2px 4px 0px hsl(210 8% 12% / 0.04), 0px 1px 2px -1px hsl(210 8% 12% / 0.04);
  --shadow: 0px 4px 6px -1px hsl(210 8% 12% / 0.06), 0px 2px 4px -2px hsl(210 8% 12% / 0.04);
  --shadow-md: 0px 6px 8px -1px hsl(210 8% 12% / 0.06), 0px 4px 6px -2px hsl(210 8% 12% / 0.05);
  --shadow-lg: 0px 10px 15px -3px hsl(210 8% 12% / 0.08), 0px 4px 6px -4px hsl(210 8% 12% / 0.05);
  --shadow-xl: 0px 20px 25px -5px hsl(210 8% 12% / 0.08), 0px 8px 10px -6px hsl(210 8% 12% / 0.05);
  --shadow-2xl: 0px 25px 50px -12px hsl(210 8% 12% / 0.12);
  --tracking-normal: 0em;
  --spacing: 0.5rem; /* 8px base grid */

  /* Automatically computed borders - intensity can be controlled by the user by the --opaque-button-border-intensity setting */
  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

/* DARK MODE — the deck palette, inverted: ink ground, paper text, the accent lifted for contrast. */
.dark {
  --font-display: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-heading: 'Inter', 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  
  --button-outline: rgba(255,255,255, .08);
  --badge-outline: rgba(255,255,255, .04);

  --opaque-button-border-intensity: 9;  /* In terms of percentages */

  /* Backgrounds applied on top of other backgrounds when hovered/active */
  --elevate-1: rgba(255,255,255, .06);
  --elevate-2: rgba(255,255,255, .12);

  /* ===== NEUTRAL PALETTE (Dark) ===== */
  
  /* Refined Neutrals (Dark) */
  --gray-50: 240 6% 6%;
  --gray-100: 240 5% 10%;
  --gray-200: 240 4% 16%;
  --gray-400: 240 1% 68%;
  --gray-600: 240 1% 88%;
  --gray-900: 240 3% 93%;

  /* Dark background */
  --background: 240 6% 6%;
  /* Paper text */
  --foreground: 60 13% 94%;
  --border: 240 5% 17%;

  /* Cards with elevation */
  --card: 240 5% 10%;
  --card-foreground: 60 13% 94%;
  --card-border: 240 4% 14%;

  /* Sidebar */
  --sidebar: 240 5% 9%;
  --sidebar-foreground: 60 13% 94%;
  --sidebar-border: 240 4% 16%;
  --sidebar-primary: 221 83% 58%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 240 5% 16%;
  --sidebar-accent-foreground: 240 1% 88%;
  --sidebar-ring: 221 83% 58%;

  --popover: 240 5% 10%;
  --popover-foreground: 60 13% 94%;
  --popover-border: 240 4% 16%;

  /* Accent blue (Dark - lifted to hold ~4.3:1 on ink and under white text) */
  --primary: 221 83% 58%;
  --primary-foreground: 0 0% 100%;
  
  /* CTA blue */
  --primary-cta: 221 83% 58%;
  --primary-cta-foreground: 0 0% 100%;
  
  /* Blue scale (Dark) */
  --primary-50: 221 45% 11%;
  --primary-100: 221 45% 15%;
  --primary-500: 221 83% 58%;
  --primary-600: 221 83% 53%;
  --primary-700: 221 83% 62%;
  --primary-900: 221 90% 80%;

  /* Evidence Gold (Dark) */
  --gold-50: 26 83% 12%;
  --gold-500: 37 91% 55%;
  --gold-600: 37 91% 50%;
  
  /* Success green (Dark) */
  --green-50: 142 71% 10%;
  --green-500: 142 71% 55%;
  --green-600: 142 71% 50%;

  /* Database Teal (Dark) */
  --teal-50: 168 76% 10%;
  --teal-500: 168 76% 48%;
  --teal-600: 168 76% 42%;

  /* Secondary */
  --secondary: 240 5% 16%;
  --secondary-foreground: 240 1% 88%;

  /* Muted */
  --muted: 240 5% 16%;
  --muted-foreground: 240 2% 72%;

  /* Accent - blue tint */
  --accent: 221 45% 15%;
  --accent-foreground: 221 90% 78%;
  
  /* Clinical highlight */
  --clinical: 142 50% 12%;
  --clinical-foreground: 142 65% 70%;
  --clinical-border: 142 50% 22%;

  /* Evidence grade tokens (dark) */
  --grade-a: 152 69% 50%;
  --grade-a-foreground: 152 69% 70%;
  --grade-a-bg: 152 69% 12%;
  --grade-b: 221 83% 58%;
  --grade-b-foreground: 221 90% 75%;
  --grade-b-bg: 221 60% 12%;
  --grade-c: 37 91% 55%;
  --grade-c-foreground: 37 91% 70%;
  --grade-c-bg: 37 91% 12%;
  --grade-d: 4 72% 50%;
  --grade-d-foreground: 4 72% 70%;
  --grade-d-bg: 4 72% 12%;

  --destructive: 4 72% 50%;
  --destructive-foreground: 0 0% 100%;

  --input: 240 4% 32%;
  --ring: 221 83% 58%;

  --chart-1: 221 83% 65%;
  --chart-2: 195 75% 68%;
  --chart-3: 142 71% 55%;
  --chart-4: 37 91% 60%;
  --chart-5: 4 90% 65%;

  --shadow-2xs: 0px 1px 2px 0px hsl(210 8% 2% / 0.30);
  --shadow-xs: 0px 1px 3px 0px hsl(210 8% 2% / 0.40);
  --shadow-sm: 0px 2px 4px 0px hsl(210 8% 2% / 0.30), 0px 1px 2px -1px hsl(210 8% 2% / 0.30);
  --shadow: 0px 4px 6px -1px hsl(210 8% 2% / 0.40), 0px 2px 4px -2px hsl(210 8% 2% / 0.30);
  --shadow-md: 0px 6px 8px -1px hsl(210 8% 2% / 0.40), 0px 4px 6px -2px hsl(210 8% 2% / 0.35);
  --shadow-lg: 0px 10px 15px -3px hsl(210 8% 2% / 0.45), 0px 4px 6px -4px hsl(210 8% 2% / 0.35);
  --shadow-xl: 0px 20px 25px -5px hsl(210 8% 2% / 0.45), 0px 8px 10px -6px hsl(210 8% 2% / 0.35);
  --shadow-2xl: 0px 25px 50px -12px hsl(210 8% 2% / 0.50);

  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);

  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

/* ===== CONTAINER & GRID STRUCTURE ===== */

/* Responsive Breakpoints - Optimized for Provider Workflows */
:root {
  /* Mobile first breakpoints */
  --bp-xs: 375px;   /* Small phones - quick lookups */
  --bp-sm: 640px;   /* Large phones */
  --bp-md: 768px;   /* Tablets - common in clinics (iPad) */
  --bp-lg: 1024px;  /* Laptops */
  --bp-xl: 1280px;  /* Desktop monitors - research */
  --bp-2xl: 1536px; /* Large displays */
}

/* Container Max Widths */
:root {
  --container-sm: 640px;   /* Single-column content */
  --container-md: 768px;   /* Forms, focused content */
  --container-lg: 1024px;  /* 2-column layouts */
  --container-xl: 1280px;  /* Main content area */
  --container-2xl: 1536px; /* Full-width sections */
}

/* Container utility classes */
.container-sm { max-width: var(--container-sm); margin-inline: auto; }
.container-md { max-width: var(--container-md); margin-inline: auto; }
.container-lg { max-width: var(--container-lg); margin-inline: auto; }
.container-xl { max-width: var(--container-xl); margin-inline: auto; }
.container-2xl { max-width: var(--container-2xl); margin-inline: auto; }

/* 12-Column Grid System */
.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

/* Common Grid Layouts */
.layout-hero {
  display: grid;
  grid-template-columns: 7fr 5fr; /* 60/40 split */
  gap: 32px;
  align-items: center;
}

.layout-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.layout-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.layout-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.layout-sidebar {
  display: grid;
  grid-template-columns: 280px 1fr; /* Fixed sidebar + fluid content */
  gap: 32px;
}

.layout-sidebar-right {
  display: grid;
  grid-template-columns: 1fr 280px; /* Fluid content + fixed sidebar */
  gap: 32px;
}

/* Responsive: Tablet (max-width: 1024px) */
@media (max-width: 1024px) {
  .layout-hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .layout-sidebar,
  .layout-sidebar-right {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Responsive: Mobile (max-width: 768px) - Stack everything */
@media (max-width: 768px) {
  .grid-12 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .layout-features,
  .layout-testimonials,
  .layout-2col {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Grid Column Spans */
.col-span-1 { grid-column: span 1; }
.col-span-2 { grid-column: span 2; }
.col-span-3 { grid-column: span 3; }
.col-span-4 { grid-column: span 4; }
.col-span-5 { grid-column: span 5; }
.col-span-6 { grid-column: span 6; }
.col-span-7 { grid-column: span 7; }
.col-span-8 { grid-column: span 8; }
.col-span-9 { grid-column: span 9; }
.col-span-10 { grid-column: span 10; }
.col-span-11 { grid-column: span 11; }
.col-span-12 { grid-column: span 12; }

/* Responsive column spans - stack on mobile */
@media (max-width: 768px) {
  [class*="col-span-"] {
    grid-column: span 1;
  }
}

/* ===== PROVIDER-OPTIMIZED RESPONSIVE BEHAVIOR ===== */

/*
 * Provider Workflow Considerations:
 * - Many providers use iPads in clinics (768px)
 * - Desktop monitors for research (1280px+)
 * - Mobile for quick lookups (375-640px)
 *
 * Responsive Behavior:
 * < 768px: Single column, stacked layout
 * 768-1024px: 2-column where appropriate
 * 1024px+: Full multi-column layouts
 * 1280px+: Wider spacing, larger typography
 */

/* Small phones - Quick lookups (< 640px) */
@media (max-width: 639px) {
  .provider-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  
  .provider-card {
    padding: 20px;
  }
  
  .provider-heading {
    font-size: 1.75rem;
    line-height: 1.15;
  }
}

/* Tablets - Common in clinics (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .provider-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  
  .provider-card {
    padding: 24px;
  }
  
  .provider-heading {
    font-size: 2rem;
    line-height: 1.1;
  }
  
  /* iPad-optimized touch targets */
  .provider-btn {
    min-height: 48px;
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* Laptops (1024px - 1279px) */
@media (min-width: 1024px) and (max-width: 1279px) {
  .provider-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  
  .provider-card {
    padding: 28px;
  }
  
  .provider-heading {
    font-size: 2.25rem;
  }
}

/* Desktop monitors - Research mode (1280px+) */
@media (min-width: 1280px) {
  .provider-section {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  
  .provider-card {
    padding: 32px;
  }
  
  .provider-heading {
    font-size: 2.5rem;
    letter-spacing: -0.025em;
  }
  
  /* Wider spacing for research readability */
  .provider-content {
    line-height: 1.7;
  }
}

/* Large displays (1536px+) */
@media (min-width: 1536px) {
  .provider-section {
    padding-top: 112px;
    padding-bottom: 112px;
  }
  
  .provider-heading {
    font-size: 3rem;
  }
}

/* Bug #6 fix: suppress browser autofill background colour that makes inputs
   appear pre-populated / grey in dark mode */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px hsl(var(--background)) inset !important;
  -webkit-text-fill-color: hsl(var(--foreground)) !important;
  caret-color: hsl(var(--foreground));
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

/* Utility: Hide on specific device types */
.hide-mobile { display: block; }
.hide-tablet { display: block; }
.hide-desktop { display: block; }
.show-mobile-only { display: none; }
.show-tablet-only { display: none; }
.show-desktop-only { display: none; }

@media (max-width: 767px) {
  .hide-mobile { display: none !important; }
  .show-mobile-only { display: block !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hide-tablet { display: none !important; }
  .show-tablet-only { display: block !important; }
}

@media (min-width: 1024px) {
  .hide-desktop { display: none !important; }
  .show-desktop-only { display: block !important; }
}

/* iPhone SE Optimization (320px-375px screens) */
@media (max-width: 375px) {
  /* Tighter padding for narrow screens */
  .container, .container-responsive {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  /* Reduce hero text for iPhone SE */
  .hero-title-se {
    font-size: 2rem !important;
    line-height: 1.1 !important;
  }
  
  /* Smaller buttons on iPhone SE */
  .btn-se {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: 0.875rem !important;
  }
  
  /* Compact header for SE */
  .header-se {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  
  /* Stack badges vertically on very small screens */
  .badges-se {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }
  
  /* Reduce card padding */
  .card-se {
    padding: 0.75rem !important;
  }
  
  /* Smaller text for feature lists */
  .feature-text-se {
    font-size: 0.75rem !important;
  }
}

/* ===== MICRO-INTERACTIONS ===== */

/* Button Interactions - Primary */
.btn-interactive {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-interactive:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(36, 99, 235, 0.3);
}

.btn-interactive:active {
  transform: translateY(0);
  box-shadow: 0 4px 8px rgba(36, 99, 235, 0.2);
}

/* Button Interactions - Secondary/Outline */
.btn-interactive-outline {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-interactive-outline:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: hsl(var(--primary));
}

.btn-interactive-outline:active {
  transform: translateY(0);
}

/* Card Interactions */
.card-interactive {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-interactive:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  border-color: hsl(var(--primary));
}

.card-interactive:active {
  transform: translateY(-2px);
}

/* Card Interactions - Subtle (for dense layouts) */
.card-interactive-subtle {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-interactive-subtle:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

/* Input Focus States */
.input-focus-ring:focus {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 4px hsla(var(--primary), 0.1);
  outline: none;
}

.input-focus-ring:focus-visible {
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 4px hsla(var(--primary), 0.15);
  outline: none;
}

/* Link Interactions */
.link-interactive {
  transition: all 0.15s ease;
  text-decoration-color: transparent;
}

.link-interactive:hover {
  text-decoration-color: currentColor;
  color: hsl(var(--primary));
}

/* Icon Button Interactions */
.icon-btn-interactive {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.icon-btn-interactive:hover {
  transform: scale(1.05);
  background-color: hsla(var(--primary), 0.1);
}

.icon-btn-interactive:active {
  transform: scale(0.98);
}

/* Badge/Chip Interactions */
.badge-interactive {
  transition: all 0.15s ease;
}

.badge-interactive:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Loading Pulse Animation */
@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

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

@keyframes workspace-icon-breathe {
  0%, 100% {
    transform: scale(1) translateY(0px);
    box-shadow: 0 0 0 0 hsl(var(--primary) / 0);
  }
  50% {
    transform: scale(1.07) translateY(-2px);
    box-shadow: 0 0 0 6px hsl(var(--primary) / 0.16), 0 4px 12px hsl(var(--primary) / 0.2);
  }
}

.animate-workspace-icon {
  animation: workspace-icon-breathe 3.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .animate-workspace-icon {
    animation: none;
  }
}

/* Smooth Entrance Animation */
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.3s ease-out forwards;
}

/* Staggered Entrance for Lists */
.stagger-animate > * {
  animation: fade-in-up 0.3s ease-out forwards;
  opacity: 0;
}

.stagger-animate > *:nth-child(1) { animation-delay: 0ms; }
.stagger-animate > *:nth-child(2) { animation-delay: 50ms; }
.stagger-animate > *:nth-child(3) { animation-delay: 100ms; }
.stagger-animate > *:nth-child(4) { animation-delay: 150ms; }
.stagger-animate > *:nth-child(5) { animation-delay: 200ms; }
.stagger-animate > *:nth-child(6) { animation-delay: 250ms; }

/* Scale on Hover (for images, avatars) */
.hover-scale {
  transition: transform 0.2s ease;
}

.hover-scale:hover {
  transform: scale(1.03);
}

/* Rotate on Hover (for icons) */
.hover-rotate {
  transition: transform 0.3s ease;
}

.hover-rotate:hover {
  transform: rotate(15deg);
}

/* Glow Effect for Primary Actions */
.glow-primary {
  box-shadow: 0 0 20px hsla(var(--primary), 0.3);
}

.hover-glow:hover {
  box-shadow: 0 0 30px hsla(var(--primary), 0.4);
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .btn-interactive,
  .btn-interactive-outline,
  .card-interactive,
  .card-interactive-subtle,
  .link-interactive,
  .icon-btn-interactive,
  .badge-interactive,
  .hover-scale,
  .hover-rotate,
  .animate-on-scroll {
    transition: none;
  }
  
  .animate-fade-in-up,
  .stagger-animate > *,
  .animate-on-scroll {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* ===== SCROLL ANIMATIONS ===== */

/* Base scroll animation - Fade In + Slide Up */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for multiple elements */
.animate-on-scroll:nth-child(1) { transition-delay: 0.1s; }
.animate-on-scroll:nth-child(2) { transition-delay: 0.2s; }
.animate-on-scroll:nth-child(3) { transition-delay: 0.3s; }
.animate-on-scroll:nth-child(4) { transition-delay: 0.4s; }
.animate-on-scroll:nth-child(5) { transition-delay: 0.5s; }
.animate-on-scroll:nth-child(6) { transition-delay: 0.6s; }

/* Variant: Fade In from Left */
.animate-on-scroll-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-left.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Variant: Fade In from Right */
.animate-on-scroll-right {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Variant: Scale Up */
.animate-on-scroll-scale {
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-scale.visible {
  opacity: 1;
  transform: scale(1);
}

/* Variant: Fade Only (no movement) */
.animate-on-scroll-fade {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll-fade.visible {
  opacity: 1;
}

/* Section Reveal - for entire sections */
.section-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.section-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Counter Animation (for statistics) */
.counter-animate {
  opacity: 0;
  transform: translateY(20px) scale(0.9);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.counter-animate.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Stagger delays for counters */
.counter-animate:nth-child(1) { transition-delay: 0s; }
.counter-animate:nth-child(2) { transition-delay: 0.15s; }
.counter-animate:nth-child(3) { transition-delay: 0.3s; }
.counter-animate:nth-child(4) { transition-delay: 0.45s; }

/* Testimonial Cards - slower, more elegant */
.testimonial-animate {
  opacity: 0;
  transform: translateY(25px);
  transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.testimonial-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

.testimonial-animate:nth-child(1) { transition-delay: 0.1s; }
.testimonial-animate:nth-child(2) { transition-delay: 0.25s; }
.testimonial-animate:nth-child(3) { transition-delay: 0.4s; }

/* Feature Cards - medium speed */
.feature-animate {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

.feature-animate:nth-child(1) { transition-delay: 0.05s; }
.feature-animate:nth-child(2) { transition-delay: 0.1s; }
.feature-animate:nth-child(3) { transition-delay: 0.15s; }
.feature-animate:nth-child(4) { transition-delay: 0.2s; }
.feature-animate:nth-child(5) { transition-delay: 0.25s; }
.feature-animate:nth-child(6) { transition-delay: 0.3s; }

/* ===== LOADING & FEEDBACK STATES ===== */

/* Skeleton Screen Base */
.skeleton {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Shimmer Animation */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Skeleton Line */
.skeleton-line {
  height: 16px;
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  width: 100%;
}

.skeleton-line.short {
  width: 60%;
}

.skeleton-line.medium {
  width: 80%;
}

.skeleton-line.xs {
  height: 12px;
}

.skeleton-line.lg {
  height: 24px;
}

/* Skeleton Circle (avatars, icons) */
.skeleton-circle {
  width: 40px;
  height: 40px;
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 50%;
}

.skeleton-circle.sm {
  width: 32px;
  height: 32px;
}

.skeleton-circle.lg {
  width: 56px;
  height: 56px;
}

/* Skeleton Box (cards, images) */
.skeleton-box {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 25%,
    hsl(var(--muted-foreground) / 0.1) 50%,
    hsl(var(--muted)) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}

/* Skeleton Card Layout */
.skeleton-card {
  padding: 20px;
  border: 1px solid hsl(var(--border));
  border-radius: 12px;
  background: hsl(var(--card));
}

.skeleton-card .skeleton-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.skeleton-card .skeleton-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ===== SUCCESS & ERROR ANIMATIONS ===== */

/* Success checkmark animation - scale with bounce */
@keyframes success-check {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.animate-success-check {
  animation: success-check 400ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* Success background flash */
@keyframes success-flash {
  0% {
    background-color: transparent;
  }
  30% {
    background-color: hsl(142, 76%, 36%, 0.15);
  }
  100% {
    background-color: transparent;
  }
}

.animate-success-flash {
  animation: success-flash 600ms ease-out forwards;
}

/* Error shake animation */
@keyframes error-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-8px);
  }
  40% {
    transform: translateX(8px);
  }
  60% {
    transform: translateX(-6px);
  }
  80% {
    transform: translateX(6px);
  }
}

.animate-error-shake {
  animation: error-shake 400ms ease-out;
}

@keyframes progressBar {
  0% {
    width: 0%;
    margin-left: 0%;
  }
  50% {
    width: 60%;
    margin-left: 20%;
  }
  100% {
    width: 0%;
    margin-left: 100%;
  }
}

@keyframes routeProgress {
  0% {
    width: 0%;
    opacity: 1;
  }
  20% {
    width: 30%;
    opacity: 1;
  }
  60% {
    width: 70%;
    opacity: 1;
  }
  80% {
    width: 90%;
    opacity: 0.8;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}

/* Cold-load splash fade-in (avoids logo flash on fast boots) */ @keyframes coldLoadIn { from { opacity: 0; } to { opacity: 1; } } .animate-cold-load-in { animation: coldLoadIn 260ms ease-out both; animation-delay: 120ms; } @media (prefers-reduced-motion: reduce) { .animate-cold-load-in { animation: none; } } /* Spinner rotation */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Standardized loading spinner */
.loading-spinner {
  width: 24px;
  height: 24px;
  border: 2px solid hsl(var(--primary));
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 800ms linear infinite;
}

.loading-spinner.sm {
  width: 16px;
  height: 16px;
}

.loading-spinner.lg {
  width: 32px;
  height: 32px;
}

/* Toast Notification Animations */
@keyframes slideInRight {
  from {
    transform: translateX(400px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOutRight {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(400px);
    opacity: 0;
  }
}

@keyframes slideInUp {
  from {
    transform: translateY(100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Custom Toast Styling */
.toast-custom {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: hsl(var(--foreground));
  color: hsl(var(--background));
  padding: 16px 24px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  animation: slideInRight 0.3s ease;
  z-index: 9999;
}

.toast-custom.toast-exit {
  animation: slideOutRight 0.3s ease forwards;
}

/* Toast Variants */
.toast-success {
  background: hsl(var(--clinical-green));
  color: white;
}

.toast-error {
  background: hsl(var(--destructive));
  color: hsl(var(--destructive-foreground));
}

.toast-warning {
  background: hsl(var(--evidence-gold));
  color: white;
}

/* Loading Spinner */
@keyframes spin {
  to { transform: rotate(360deg); }
}

.loading-spinner {
  width: 24px;
  height: 24px;
  border: 2px solid hsl(var(--muted));
  border-top-color: hsl(var(--primary));
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.loading-spinner.sm {
  width: 16px;
  height: 16px;
  border-width: 2px;
}

.loading-spinner.lg {
  width: 40px;
  height: 40px;
  border-width: 3px;
}

/* Loading Dots */
@keyframes bounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

.loading-dots {
  display: flex;
  gap: 6px;
  align-items: center;
}

.loading-dots span {
  width: 8px;
  height: 8px;
  background: hsl(var(--primary));
  border-radius: 50%;
  animation: bounce 1.4s infinite ease-in-out both;
}

.loading-dots span:nth-child(1) { animation-delay: -0.32s; }
.loading-dots span:nth-child(2) { animation-delay: -0.16s; }
.loading-dots span:nth-child(3) { animation-delay: 0s; }

/* Progress Bar */
.progress-bar {
  height: 4px;
  background: hsl(var(--muted));
  border-radius: 2px;
  overflow: hidden;
}

.progress-bar-fill {
  height: 100%;
  background: hsl(var(--primary));
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* Indeterminate Progress */
@keyframes indeterminate {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(400%); }
}

.progress-bar-indeterminate .progress-bar-fill {
  width: 30%;
  animation: indeterminate 1.5s infinite ease-in-out;
}

/* Helix Equalizer Bars Animation */
@keyframes helix-eq {
  0%, 100% { transform: scaleY(0.35); }
  25% { transform: scaleY(1); }
  50% { transform: scaleY(0.5); }
  75% { transform: scaleY(0.85); }
}

.animate-helix-eq {
  animation: helix-eq 1s ease-in-out infinite;
  transform-origin: bottom;
}

/* Pulse Loading (for buttons) */
.btn-loading {
  position: relative;
  pointer-events: none;
}

.btn-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  border-radius: inherit;
  animation: pulse-subtle 1.5s infinite;
}

/* Horizontal Scroll Animation (for carousels/marquees) */
@keyframes scroll-x {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.animate-scroll-x {
  animation: scroll-x 30s linear infinite;
}

.animate-scroll-x:hover {
  animation-play-state: paused;
}

/* Faster scroll variant */
.animate-scroll-x-fast {
  animation: scroll-x 20s linear infinite;
}

/* Slower scroll variant */
.animate-scroll-x-slow {
  animation: scroll-x 45s linear infinite;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .skeleton-line,
  .skeleton-circle,
  .skeleton-box,
  .loading-spinner,
  .loading-dots span,
  .progress-bar-indeterminate .progress-bar-fill,
  .animate-scroll-x,
  .animate-scroll-x-fast,
  .animate-scroll-x-slow {
    animation: none;
  }
  
  .toast-custom {
    animation: none;
  }
}

/* Hero query-mode tabs — overflow scroll affordance below 480px.
   Mounted on the wrapper (`.hero-tabs-scroller`); the inner `[role=tablist]`
   has its own `overflow-x: auto`. We render the fade as a pseudo-element
   on the wrapper so it floats above the scrolling row without intercepting
   pointer events.
   Above 480px the tab row fits without scroll, so we hide the gradient. */
.hero-tabs-scroller::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  inset-inline-end: 0;
  width: 32px;
  pointer-events: none;
  background: linear-gradient(to left, hsl(var(--muted)) 0%, hsl(var(--muted) / 0) 100%);
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  opacity: 1;
}
@media (min-width: 480px) {
  .hero-tabs-scroller::after {
    display: none;
  }
}
[dir="rtl"] .hero-tabs-scroller::after {
  background: linear-gradient(to right, hsl(var(--muted)) 0%, hsl(var(--muted) / 0) 100%);
}

/* Active hero-tab pill — overrides the global [aria-selected="true"]
   rule in this file (set later) which forces `--accent` on every selected
   element. The hero tabs sit inside a `bg-muted` track and need a
   white/background pill with a subtle shadow (iOS segmented-control
   pattern) so the active mode reads at a glance against the muted track.
   The Tailwind utilities on the button (`bg-background shadow-sm
   text-foreground`) get overwritten by the global rule's higher source
   order; this scoped selector wins on specificity and on order. */
.hero-tabs-scroller [role="tab"][aria-selected="true"] {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.06);
}

/* Active filter-pill chips (e.g. the /courses topic row) — same story as the
   hero tabs above: the global [aria-selected="true"] rule forces a solid
   `--accent` fill on the selected chip, drowning the FILTER_PILL_ACTIVE
   token's light primary tint and leaving primary-on-primary text that's
   nearly unreadable. This scoped rule restores the standardized tinted
   look for any chip row marked with the `filter-pill-row` class. */
.filter-pill-row [role="tab"][aria-selected="true"] {
  background-color: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
}

.dark .filter-pill-row [role="tab"][aria-selected="true"] {
  background-color: hsl(var(--primary) / 0.2);
}

/* Apple-style spring physics easing */
.spring-transition {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

.spring-transition-fast {
  transition: all 150ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

.spring-transition-normal {
  transition: all 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

.spring-transition-slow {
  transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
}


/* Floating animation keyframes */
@keyframes float {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(30px, -30px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
}

@keyframes float-delayed {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(-25px, 25px) scale(0.95);
  }
  66% {
    transform: translate(25px, -20px) scale(1.05);
  }
}

@keyframes float-slow {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(15px, -15px) scale(1.08);
  }
}

.animate-float {
  animation: float 20s ease-in-out infinite;
}

.animate-float-delayed {
  animation: float-delayed 25s ease-in-out infinite;
  animation-delay: 2s;
}

.animate-float-slow {
  animation: float-slow 30s ease-in-out infinite;
  animation-delay: 4s;
}

/* Hero background animations */
@keyframes hero-float-1 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  33% {
    transform: translate(40px, -40px) scale(1.1);
    opacity: 0.8;
  }
  66% {
    transform: translate(-30px, 30px) scale(0.95);
    opacity: 0.9;
  }
}

@keyframes hero-float-2 {
  0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  33% {
    transform: translate(-35px, 35px) scale(0.9);
    opacity: 0.85;
  }
  66% {
    transform: translate(35px, -25px) scale(1.05);
    opacity: 0.95;
  }
}

@keyframes hero-float-3 {
  0%, 100% {
    transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 1;
  }
  50% {
    transform: translate(20px, -20px) scale(1.08) rotate(5deg);
    opacity: 0.9;
  }
}

@keyframes hero-pulse-1 {
  0%, 100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.8;
  }
}

@keyframes hero-pulse-2 {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.7;
  }
}

.animate-hero-float-1 {
  animation: hero-float-1 25s ease-in-out infinite;
  will-change: transform, opacity;
}

.animate-hero-float-2 {
  animation: hero-float-2 28s ease-in-out infinite;
  animation-delay: -8s;
  will-change: transform, opacity;
}

.animate-hero-float-3 {
  animation: hero-float-3 32s ease-in-out infinite;
  animation-delay: -12s;
  will-change: transform, opacity;
}

.animate-hero-pulse-1 {
  animation: hero-pulse-1 15s ease-in-out infinite;
  animation-delay: -5s;
  will-change: transform, opacity;
}

.animate-hero-pulse-2 {
  animation: hero-pulse-2 18s ease-in-out infinite;
  animation-delay: -7s;
  will-change: transform, opacity;
}

/* Infinite scroll carousel animation */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.animate-scroll {
  animation: scroll-left 30s linear infinite;
}

.animate-scroll:hover {
  animation-play-state: paused;
}

/* Carousel wrapper - hidden overflow by default for animation */
.carousel-wrapper {
  overflow: hidden;
}

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
  .animate-scroll {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: 100% !important;
  }
  
  /* Show all logos in a static, fully visible layout */
  .carousel-wrapper {
    overflow: visible;
  }
  
  /* Hide duplicate logo set when motion is reduced to avoid confusion */
  .carousel-set:last-child {
    display: none;
  }
  
  /* Ensure carousel set wraps and centers */
  .carousel-set {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* Fade-in animations for scroll-triggered sections */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-section {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-section.visible {
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Print styles - Core print resets only */
@media print {
  @page {
    margin: 16mm;
    size: letter;
  }

  /* Global print resets */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
  }

  html, body {
    background: white !important;
    color: #1a1a1a !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10pt !important;
    line-height: 1.45 !important;
  }

  /* ═══════════════════════════════════════════════════════
     HIDE NON-PRINT ELEMENTS
     ═══════════════════════════════════════════════════════ */
  header,
  footer,
  nav,
  aside,
  .print\\:hidden,
  [data-testid="workspace-sidebar"],
  [data-testid="workspace-chat-panel"],
  [data-testid="agent-tabs-container"],
  .workspace-sidebar,
  [class*="SidebarProvider"],
  [class*="sidebar"],
  [data-sidebar],
  [data-testid="button-sidebar-toggle"],
  [data-testid="floating-concierge"],
  .floating-concierge-button,
  button[aria-label*="sidebar"],
  button[aria-label*="menu"],
  .print-hide,
  [data-testid="article-action-bar"],
  [data-testid="podcast-player-card"],
  [data-testid="button-continue-reading"],
  [data-testid="cookie-banner"],
  [class*="sticky"],
  [class*="fixed"]:not(.blog-print-only *) {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* ═══════════════════════════════════════════════════════
     BLOG ARTICLE PRINT LAYOUT
     ═══════════════════════════════════════════════════════ */

  /* Show the print-only container */
  .blog-print-only {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    background: white !important;
  }

  /* Blog article layout - prevent blank first page */
  article[data-article-print="true"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    page-break-before: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  article[data-article-print="true"] > * {
    page-break-before: auto !important;
    -moz-column-break-before: auto !important;
         break-before: auto !important;
  }

  /* Hide all screen-only content when printing blog articles */
  article[data-article-print="true"] > *:not(.blog-print-only) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Print Header */
  .blog-print-header {
    display: block !important;
    border-bottom: 2px solid #2463EB !important;
    padding-bottom: 8pt !important;
    margin-bottom: 10pt !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 6pt !important;
  }

  .blog-print-title {
    font-size: 16pt !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.2 !important;
    margin: 6pt 0 4pt 0 !important;
  }

  .blog-print-subtitle {
    font-size: 10pt !important;
    color: #4b5563 !important;
    font-style: italic !important;
    margin-bottom: 4pt !important;
    line-height: 1.3 !important;
  }

  .blog-print-meta-badges {
    display: flex !important;
    gap: 6pt !important;
    flex-wrap: wrap !important;
    margin: 6pt 0 !important;
  }

  .blog-print-badge {
    display: inline-block !important;
    padding: 1pt 6pt !important;
    font-size: 7pt !important;
    border: 0.5pt solid #d1d5db !important;
    border-radius: 2pt !important;
    background: #f3f4f6 !important;
    color: #374151 !important;
  }

  .blog-print-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12pt !important;
    font-size: 8pt !important;
    color: #6b7280 !important;
    margin-top: 4pt !important;
  }

  /* Print Key Findings */
  .blog-print-findings {
    display: block !important;
    margin: 10pt 0 !important;
    padding: 8pt 10pt !important;
    border: 0.5pt solid #e5e7eb !important;
    border-radius: 3pt !important;
    background: #f9fafb !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-findings-title {
    font-size: 10pt !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 5pt 0 !important;
    padding: 0 !important;
    border-bottom: 0.5pt solid #e5e7eb !important;
    padding-bottom: 3pt !important;
  }

  .blog-print-findings-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    -moz-columns: 2 !important;
         columns: 2 !important;
    -moz-column-gap: 14pt !important;
         column-gap: 14pt !important;
  }

  .blog-print-findings-list li {
    font-size: 8pt !important;
    line-height: 1.35 !important;
    color: #374151 !important;
    padding: 2pt 0 2pt 10pt !important;
    position: relative !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-findings-list li::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    color: #2463EB !important;
    font-weight: bold !important;
  }

  /* Print Body Content */
  .blog-print-body {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .blog-print-body.prose {
    max-width: 100% !important;
    color: #1a1a1a !important;
  }

  .blog-print-body h1 {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 14pt 0 6pt 0 !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body h2 {
    font-size: 12pt !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 12pt 0 5pt 0 !important;
    padding-bottom: 2pt !important;
    border-bottom: 0.5pt solid #e5e7eb !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body h3 {
    font-size: 10.5pt !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    margin: 10pt 0 4pt 0 !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body h4 {
    font-size: 9.5pt !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 8pt 0 3pt 0 !important;
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
  }

  .blog-print-body p {
    font-size: 9pt !important;
    line-height: 1.45 !important;
    color: #1a1a1a !important;
    margin: 0 0 6pt 0 !important;
    orphans: 3 !important;
    widows: 3 !important;
  }

  .blog-print-body li {
    font-size: 9pt !important;
    line-height: 1.4 !important;
    color: #1a1a1a !important;
    margin-bottom: 2pt !important;
  }

  .blog-print-body ul,
  .blog-print-body ol {
    margin: 4pt 0 6pt 0 !important;
    padding-left: 16pt !important;
  }

  .blog-print-body blockquote {
    /* No single-sided rail — this is the print counterpart of the on-screen
       blockquote and carried the same 2pt blue bar down the left edge only.
       The indent, italics and muted color mark the quote on paper too. */
    padding: 4pt 0 4pt 10pt !important;
    margin: 6pt 0 !important;
    font-style: italic !important;
    color: #4b5563 !important;
    background: transparent !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-body a {
    color: #2463EB !important;
    text-decoration: none !important;
  }

  .blog-print-body table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 6pt 0 !important;
    font-size: 8pt !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-body th,
  .blog-print-body td {
    border: 0.5pt solid #d1d5db !important;
    padding: 3pt 5pt !important;
    text-align: left !important;
    vertical-align: top !important;
  }

  .blog-print-body th {
    background: #f3f4f6 !important;
    font-weight: 600 !important;
  }

  .blog-print-body figure,
  .blog-print-body img {
    max-width: 100% !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-body strong {
    color: #111827 !important;
  }

  /* Print References Section */
  .blog-print-references {
    display: block !important;
    margin-top: 14pt !important;
    padding-top: 8pt !important;
    border-top: 1pt solid #d1d5db !important;
  }

  .blog-print-references h2 {
    font-size: 11pt !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin: 0 0 6pt 0 !important;
  }

  .blog-print-references ol {
    margin: 0 !important;
    padding-left: 16pt !important;
    list-style-type: decimal !important;
  }

  .blog-print-references li {
    font-size: 7.5pt !important;
    line-height: 1.35 !important;
    color: #374151 !important;
    margin-bottom: 3pt !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  .blog-print-ref-url {
    font-size: 6.5pt !important;
    color: #6b7280 !important;
    word-break: break-all !important;
    overflow-wrap: break-word !important;
  }

  /* Print Footer */
  .blog-print-footer {
    display: block !important;
    margin-top: 16pt !important;
    padding-top: 8pt !important;
    border-top: 1pt solid #d1d5db !important;
    text-align: center !important;
    page-break-before: avoid !important;
  }

  .blog-print-footer p {
    font-size: 7pt !important;
    color: #9ca3af !important;
    margin: 1pt 0 !important;
    line-height: 1.3 !important;
  }

  /* ═══════════════════════════════════════════════════════
     SHARED PRINT UTILITIES (workspace, etc.)
     ═══════════════════════════════════════════════════════ */

  /* Show print header with logo */
  .print-header {
    display: block !important;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #2463EB;
  }

  .print-logo {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
  }

  .print-logo img {
    height: 32px;
    width: auto;
  }

  .print-logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: #2463EB;
  }

  .print-date {
    font-size: 0.75rem;
    color: #666;
    margin-top: 0.25rem;
  }

  /* Ensure backgrounds are white for print */
  .bg-muted,
  .bg-background,
  .bg-card,
  .bg-secondary {
    background: white !important;
  }

  /* Main content should take full width when printing */
  main,
  [role="main"],
  .main-content,
  [data-testid*="panel-content"] {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 !important;
  }

  /* Fix ScrollArea overflow for printing */
  [data-radix-scroll-area-viewport],
  [data-testid="workspace-directory-panel"] [data-radix-scroll-area-viewport],
  [data-testid="workspace-decision-support-panel"] [data-radix-scroll-area-viewport],
  [data-testid="workspace-lab-panel"] [data-radix-scroll-area-viewport] {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }



  /* Blog detail view - ensure full-width layout on print */
  [data-testid="workspace-blog-detail"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: white !important;
  }

  [data-testid="workspace-blog-detail"] [data-radix-scroll-area-viewport] {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Flex containers should not constrain height */
  .flex-1,
  .flex-grow {
    flex: none !important;
    height: auto !important;
  }

  /* Typography defaults for print */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid !important;
    -moz-column-break-after: avoid !important;
         break-after: avoid !important;
    color: #111827 !important;
  }

  p {
    orphans: 3 !important;
    widows: 3 !important;
  }

  /* Figures, blockquotes, tables avoid breaking */
  figure,
  blockquote,
  table,
  pre {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }

  /* Badges should have visible borders when printed */
  .badge,
  [class*="Badge"] {
    border: 1px solid #ccc !important;
    background: #f5f5f5 !important;
    color: #333 !important;
  }

  /* Charts and visualizations */
  svg {
    max-height: 300px !important;
    max-width: 100% !important;
  }

  /* Links - print-friendly */
  a {
    text-decoration: none !important;
    color: #1a1a1a !important;
  }

  /* Print footer */
  .print-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.5rem;
    font-size: 0.65rem;
    color: #999;
    text-align: center;
    border-top: 1px solid #eee;
    background: white;
  }

  /* ═══════════════════════════════════════════════════════
     PITCH DECK PRINT LAYOUT (scoped to [data-deck-shell])
     ═══════════════════════════════════════════════════════ */
  [data-deck-shell] [data-testid^="nav-dot-"] {
    display: none !important;
  }

  [data-deck-shell] section {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    min-height: auto !important;
  }

  [data-deck-shell] section[id="hero"] {
    page-break-after: always;
    min-height: 90vh !important;
  }

  [data-deck-shell] section[id="closing"] {
    page-break-before: always;
  }

  [data-deck-shell] .grid {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

  [data-deck-shell] img {
    max-width: 100% !important;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

  [data-deck-shell] section[id] h2 {
    font-size: 1.5rem !important;
    margin-bottom: 1rem !important;
  }

  [data-deck-shell] section[id] h3 {
    font-size: 1.1rem !important;
  }
}
/* Premium Design System Utilities */

/* ===== MOBILE RESPONSIVENESS UTILITIES ===== */

/**
 * Touch Target Minimum (44px WCAG requirement)
 */
.touch-target {
  min-height: 44px;
  min-width: 44px;
}

.touch-target-lg {
  min-height: 48px;
  min-width: 48px;
}

/**
 * Mobile-First Typography Scale
 * H1: 2rem mobile → 3.5rem desktop
 * H2: 1.75rem mobile → 2.5rem desktop
 */

/**
 * Mobile Navigation Drawer
 */
.mobile-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: 100%;
  max-width: 320px;
  background: hsl(var(--background));
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
  z-index: 50;
  transform: translateX(100%);
  transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-drawer.open {
  transform: translateX(0);
}

.mobile-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 40;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease-out;
}

.mobile-drawer-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/**
 * Mobile Table to Card Conversion
 */
@media (max-width: 640px) {
  .table-to-cards {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .table-to-cards thead {
    display: none;
  }
  
  .table-to-cards tbody {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .table-to-cards tr {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    border: 1px solid hsl(var(--border));
    border-radius: 0.75rem;
    background: hsl(var(--card));
  }
  
  .table-to-cards td {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border: none;
  }
  
  .table-to-cards td::before {
    content: attr(data-label);
    font-weight: 600;
    color: hsl(var(--muted-foreground));
  }
}

/**
 * Mobile Sticky Submit Button
 */
.mobile-sticky-submit {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  background: hsl(var(--background));
  border-top: 1px solid hsl(var(--border));
  z-index: 30;
}

@media (min-width: 640px) {
  .mobile-sticky-submit {
    position: relative;
    padding: 0;
    border-top: none;
  }
}

/**
 * Prevent horizontal scroll on mobile
 */
.no-mobile-overflow {
  overflow-x: hidden;
  max-width: 100vw;
}

/**
 * Mobile-safe image scaling
 */
.mobile-image {
  width: 100%;
  height: auto;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/**
 * Mobile spacing adjustments
 */
@media (max-width: 640px) {
  /* Section padding reduction */
  .section-mobile-compact {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  
  /* Container padding reduction */
  .container-mobile {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Grid gap reduction */
  .grid-mobile-compact {
    gap: 1rem;
  }
}

/* Skeleton Shimmer - premium loading effect */
.skeleton-shimmer {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 0%,
    hsl(var(--muted) / 0.5) 50%,
    hsl(var(--muted)) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}

/* Protocol Assembling - staggered reveal */
.stagger-in > * {
  opacity: 0;
  animation: staggerFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.stagger-in > *:nth-child(1) { animation-delay: 0ms; }
.stagger-in > *:nth-child(2) { animation-delay: 50ms; }
.stagger-in > *:nth-child(3) { animation-delay: 100ms; }
.stagger-in > *:nth-child(4) { animation-delay: 150ms; }
.stagger-in > *:nth-child(5) { animation-delay: 200ms; }
.stagger-in > *:nth-child(6) { animation-delay: 250ms; }
.stagger-in > *:nth-child(7) { animation-delay: 300ms; }
.stagger-in > *:nth-child(8) { animation-delay: 350ms; }

@keyframes staggerFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Subtle content reveal for sections */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.reveal-on-scroll.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Spinner for loading states */
.spinner {
  animation: spin 1s linear infinite;
}

/* Gentle breathing effect for active states */
.breathe {
  animation: breathe 3s ease-in-out infinite;
}

@keyframes breathe {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

/* ===== ERROR & EMPTY STATE UTILITIES ===== */

/**
 * Form Validation Error State
 * Border: 2px solid red, light red background
 */
.form-error {
  border: 2px solid hsl(0, 84%, 60%) !important;
  background-color: hsl(0, 100%, 97%) !important;
}

.dark .form-error {
  background-color: hsl(0, 84%, 10%) !important;
}

.form-error-message {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: hsl(0, 84%, 50%);
}

/**
 * Empty State Container
 */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  text-align: center;
}

.empty-state-icon {
  width: 96px;
  height: 96px;
  margin-bottom: 1.5rem;
  color: hsl(var(--muted-foreground));
  opacity: 0.5;
}

.empty-state-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.5rem;
}

.empty-state-description {
  font-size: 1rem;
  color: hsl(var(--muted-foreground));
  max-width: 400px;
  margin-bottom: 1.5rem;
}

/**
 * Error Page Layout
 */
.error-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding: 2rem;
  text-align: center;
}

.error-code {
  font-size: 6rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  line-height: 1;
  margin-bottom: 1rem;
}

.error-message {
  font-size: 1.25rem;
  color: hsl(var(--muted-foreground));
  margin-bottom: 2rem;
}

/**
 * Loading Failed State
 */
.loading-failed {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 2rem;
  text-align: center;
  background-color: hsl(0, 100%, 97%);
  border-radius: 0.75rem;
}

.dark .loading-failed {
  background-color: hsl(0, 84%, 10%);
}

.loading-failed-icon {
  width: 48px;
  height: 48px;
  color: hsl(0, 84%, 50%);
  margin-bottom: 1rem;
}

.loading-failed-message {
  font-size: 1rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  margin-bottom: 0.5rem;
}

.loading-failed-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

/**
 * Network Offline State
 */
.network-offline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  background-color: hsl(45, 93%, 96%);
  border: 1px solid hsl(45, 93%, 80%);
  border-radius: 0.75rem;
}

.dark .network-offline {
  background-color: hsl(45, 93%, 10%);
  border-color: hsl(45, 93%, 25%);
}

.network-offline-icon {
  width: 48px;
  height: 48px;
  color: hsl(45, 93%, 47%);
  margin-bottom: 1rem;
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */

/**
 * WCAG 2.1 AA Compliant Focus Indicators
 * Style: 2px solid #2463EB (primary), 4px offset
 * Applied to all interactive elements
 */
.focus-ring {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 4px;
  border-radius: inherit;
}

.focus-ring-inset {
  outline: 2px solid hsl(var(--primary));
  outline-offset: -2px;
  border-radius: inherit;
}

/**
 * Enhanced focus states for specific elements
 */
a:focus-visible,
[role="link"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 4px;
  border-radius: 4px;
}

[role="tab"]:focus-visible,
[role="menuitem"]:focus-visible,
[role="option"]:focus-visible,
[role="listitem"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 2px;
  background-color: hsl(var(--accent) / 0.5);
}

[role="checkbox"]:focus-visible,
[role="radio"]:focus-visible,
[role="switch"]:focus-visible {
  outline: 2px solid hsl(var(--primary));
  outline-offset: 4px;
}

/**
 * Keyboard navigation helpers
 * Arrow key navigation for dropdowns/tabs
 */
[data-keyboard-nav] [role="menuitem"]:focus,
[data-keyboard-nav] [role="option"]:focus,
[data-keyboard-nav] [role="tab"]:focus {
  background-color: hsl(var(--accent));
}

/**
 * ARIA live regions for announcements
 */
.aria-live-polite {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.aria-live-assertive {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/**
 * Icon accessibility - ensure icons have proper sizing for click targets
 * WCAG minimum touch target: 44x44px
 */
.icon-button {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.icon-button-sm {
  min-width: 36px;
  min-height: 36px;
}

/**
 * Decorative image marker
 * Use for images that don't add information
 */
.decorative-img {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}

/**
 * Form field accessibility
 * Proper label association indicators
 */
.form-field-required::after {
  content: " *";
  color: hsl(0, 84%, 60%);
  font-weight: 600;
}

.form-field-error {
  border-color: hsl(0, 84%, 60%) !important;
  box-shadow: 0 0 0 3px hsl(0, 84%, 60%, 0.15);
}

.form-field-error:focus-visible {
  outline-color: hsl(0, 84%, 60%);
  box-shadow: 0 0 0 4px hsl(0, 84%, 60%, 0.2);
}

.form-error-text {
  color: hsl(0, 84%, 50%);
  font-size: 0.875rem;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.form-error-text::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23DC2626'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-size: contain;
  flex-shrink: 0;
}

/**
 * Loading state announcements
 */
.loading-announce::before {
  content: "Loading...";
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/**
 * Color contrast safe text utilities
 * WCAG AA: 4.5:1 for normal text, 3:1 for large text (18px+)
 */
.text-high-contrast {
  color: hsl(var(--foreground));
}

.text-medium-contrast {
  color: hsl(var(--muted-foreground));
}

.text-on-primary {
  color: hsl(var(--primary-foreground));
}

.text-on-dark {
  color: white;
}

.text-on-light {
  color: hsl(222, 47%, 11%);
}

/**
 * Background with guaranteed contrast
 */
.bg-contrast-safe {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

.bg-primary-contrast-safe {
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

/**
 * Visible focus when outline:none is used
 * Alternative focus indicator using box-shadow
 */
.focus-shadow:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px hsl(var(--background)), 
              0 0 0 4px hsl(var(--primary));
}

/**
 * Disabled state styling (accessible)
 */
.a11y-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}

/**
 * Current/active state indicator for navigation: a fallback for items that
 * do not style their own current state. In the base layer so a component's
 * own color wins. Unlayered, it beat every utility class: the current page
 * of the /protocols pagination (a filled primary button) got primary text
 * on its primary fill and its number vanished, and the breadcrumb's current
 * page lost its foreground color.
 */

/*
 * No single-sided edge marker for the current item. This carried a
 * `::before` rail — a 3px primary-colored bar pinned to `left: 0` — which
 * painted one physical side only. `left` is physical, so in RTL the bar
 * landed on the outside of the item instead of against its leading edge,
 * and inside the workspace rail it read as a stray line down the tab bar.
 * The current item is already conveyed by `aria-current` to assistive tech
 * and, visually, by the primary color and 600 weight above plus each
 * component's own active fill — no rule needed.
 */

/**
 * Expanded/collapsed state indicators
 */
[aria-expanded="true"] > .expand-icon {
  transform: rotate(180deg);
}

[aria-expanded="false"] > .expand-icon {
  transform: rotate(0deg);
}

.expand-icon {
  transition: transform 200ms ease-out;
}

/**
 * Selected state for options/items — fallback accent fill for generic
 * options/listbox items that don't style their own selection. In the base
 * layer so an item's own colors win.
 *
 * Scoped with :not() because two families of elements ALWAYS define their
 * own selected styling and were being clobbered by this blanket fill:
 *  - role="tab" (hero query-mode tabs, /courses topic chips, shadcn Tabs):
 *    the solid accent fill drowned the tinted FILTER_PILL_ACTIVE look and
 *    left near-unreadable active labels; each tab row styles its own
 *    active state (see the .hero-tabs-scroller / .filter-pill-row
 *    overrides, kept as belt-and-suspenders).
 *  - react-day-picker days (.rdp-root *): selected days use bg-primary /
 *    text-primary-foreground; the accent fill made the selected date
 *    indistinguishable from "today".
 */

/**
 * Pressed state for toggle buttons: a fallback for buttons that do not style
 * their own pressed state. In the base layer, like the selected and current
 * rules, so a component's own colors win. Unlayered, it beat every utility
 * class: the filter pills (FILTER_PILL_ACTIVE on /protocols, /blog, /courses,
 * /updates, /pricing) became a solid primary fill instead of their light
 * tint, and the /protocols category count (text-primary) was primary on
 * primary.
 */

/**
 * Modal/dialog backdrop - traps focus visually
 */
[aria-modal="true"] {
  position: fixed;
  z-index: 50;
}

/**
 * Invalid form field indication
 */
[aria-invalid="true"] {
  border-color: hsl(0, 84%, 60%);
}

[aria-invalid="true"]:focus-visible {
  outline-color: hsl(0, 84%, 60%);
}

/**
 * Busy/loading state
 */
[aria-busy="true"] {
  cursor: wait;
}

/**
 * Screen reader only - show on focus (for skip links style patterns)
 */
.sr-only-focusable:focus,
.sr-only-focusable:focus-within {
  position: static;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* ===== LOADING & PERFORMANCE UTILITIES ===== */

/**
 * Indeterminate Progress Bar Animation
 */
@keyframes progress-indeterminate {
  0% {
    width: 0%;
    margin-left: 0%;
  }
  50% {
    width: 40%;
    margin-left: 30%;
  }
  100% {
    width: 0%;
    margin-left: 100%;
  }
}

.animate-progress-indeterminate {
  animation: progress-indeterminate 1.5s ease-in-out infinite;
}

/**
 * Shimmer Animation (Premium Loading Effect)
 */
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/**
 * Image Lazy Loading Utilities
 */
.lazy-image {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.lazy-image.loaded {
  opacity: 1;
}

.lazy-image-placeholder {
  background-color: hsl(var(--muted));
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lazy-image-blur {
  filter: blur(20px);
  transform: scale(1.1);
  transition: filter 0.3s ease-out, transform 0.3s ease-out;
}

.lazy-image-blur.loaded {
  filter: blur(0);
  transform: scale(1);
}

/**
 * Aspect Ratio Containers (Prevent CLS)
 */
.aspect-square {
  aspect-ratio: 1 / 1;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.aspect-portrait {
  aspect-ratio: 3 / 4;
}

.aspect-landscape {
  aspect-ratio: 4 / 3;
}

.aspect-wide {
  aspect-ratio: 21 / 9;
}

/**
 * Content Placeholder (Prevent Layout Shift)
 */
.content-placeholder {
  min-height: var(--placeholder-height, 200px);
  background-color: hsl(var(--muted) / 0.5);
}

/**
 * Fade In Animation (for loaded content)
 */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.animate-fade-in {
  animation: fadeIn 0.3s ease-out forwards;
}

/**
 * Pulse Animation (for skeleton loading)
 */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

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

/**
 * Loading Dots Animation
 */
@keyframes loadingDots {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.loading-dots {
  display: inline-flex;
  gap: 4px;
}

.loading-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
  animation: loadingDots 1.4s ease-in-out infinite;
}

.loading-dots span:nth-child(1) {
  animation-delay: 0s;
}

.loading-dots span:nth-child(2) {
  animation-delay: 0.16s;
}

.loading-dots span:nth-child(3) {
  animation-delay: 0.32s;
}

/**
 * Skeleton Base Styles
 */
.skeleton-base {
  background: linear-gradient(
    90deg,
    hsl(var(--muted)) 0%,
    hsl(var(--muted) / 0.6) 50%,
    hsl(var(--muted)) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: 0.375rem;
}

.skeleton-text {
  height: 1rem;
  width: 100%;
}

.skeleton-heading {
  height: 1.5rem;
  width: 75%;
}

.skeleton-avatar-sm {
  height: 2rem;
  width: 2rem;
  border-radius: 50%;
}

.skeleton-avatar-md {
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 50%;
}

.skeleton-avatar-lg {
  height: 3rem;
  width: 3rem;
  border-radius: 50%;
}

.skeleton-button {
  height: 2.5rem;
  width: 6rem;
  border-radius: 0.375rem;
}

.skeleton-image {
  height: 10rem;
  width: 100%;
  border-radius: 0.5rem;
}

/**
 * Performance: Will-change hints
 */
.will-animate {
  will-change: transform, opacity;
}

.will-scroll {
  will-change: scroll-position;
}

/**
 * GPU Acceleration for animations
 */
.gpu-accelerate {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* ===== DESIGN SYSTEM HELPER CLASSES ===== */

/**
 * Typography - Serif Headlines
 * Apply to key words for brand consistency
 */
.font-serif-display {
  font-family: var(--font-serif);
}

.headline-serif {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
}

.headline-h1 {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.headline-h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

/**
 * Card Styling (12px radius, 32px padding, consistent hover)
 */
.card-standard {
  background-color: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: 0.75rem;
  padding: 2rem;
  transition: all 200ms ease-out;
}

.card-standard:hover {
  border-color: hsl(var(--primary) / 0.3);
  transform: translateY(-4px);
  box-shadow: 0 8px 24px hsl(var(--foreground) / 0.08);
}

.card-icon-container {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.card-icon-blue {
  background: linear-gradient(135deg, hsl(221 83% 93%) 0%, hsl(219 91% 88%) 100%);
  box-shadow: 0 4px 12px hsl(221 83% 88% / 0.5);
}

.dark .card-icon-blue {
  background: linear-gradient(135deg, hsl(221 83% 20% / 0.4) 0%, hsl(219 91% 15% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(221 83% 12% / 0.3);
}

.card-icon-purple {
  background: linear-gradient(135deg, hsl(270 76% 93%) 0%, hsl(268 76% 88%) 100%);
  box-shadow: 0 4px 12px hsl(270 76% 88% / 0.5);
}

.dark .card-icon-purple {
  background: linear-gradient(135deg, hsl(270 76% 20% / 0.4) 0%, hsl(268 76% 15% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(270 76% 12% / 0.3);
}

.card-icon-emerald {
  background: linear-gradient(135deg, hsl(152 76% 92%) 0%, hsl(150 80% 86%) 100%);
  box-shadow: 0 4px 12px hsl(152 76% 86% / 0.5);
}

.dark .card-icon-emerald {
  background: linear-gradient(135deg, hsl(152 76% 18% / 0.4) 0%, hsl(150 80% 14% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(152 76% 10% / 0.3);
}

.card-icon-amber {
  background: linear-gradient(135deg, hsl(48 96% 92%) 0%, hsl(45 93% 86%) 100%);
  box-shadow: 0 4px 12px hsl(48 96% 86% / 0.5);
}

.dark .card-icon-amber {
  background: linear-gradient(135deg, hsl(48 96% 18% / 0.4) 0%, hsl(45 93% 14% / 0.3) 100%);
  box-shadow: 0 4px 12px hsl(48 96% 10% / 0.3);
}

/**
 * Button Standards (8px radius, consistent sizing)
 */
.btn-primary-standard {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.75rem;
  padding: 0 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
  background-color: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  transition: all 200ms ease-out;
}

.btn-primary-standard:hover {
  background-color: hsl(var(--primary) / 0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px hsl(var(--primary) / 0.3);
}

.btn-secondary-standard {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.75rem;
  padding: 0 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
  background-color: transparent;
  border: 2px solid hsl(var(--border));
  color: hsl(var(--foreground));
  transition: all 200ms ease-out;
}

.btn-secondary-standard:hover {
  border-color: hsl(var(--primary));
  color: hsl(var(--primary));
}

/**
 * Badge Standards
 */
.badge-status {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  background-color: hsl(160 84% 39%);
  color: white;
}

.badge-premium {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  background-color: hsl(var(--primary));
  color: white;
}

.badge-highlight {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(271 76% 53%) 100%);
  color: white;
}

.badge-category {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  background-color: hsl(var(--muted));
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  cursor: pointer;
  transition: all 200ms ease-out;
}

.badge-category:hover {
  border-color: hsl(var(--primary));
  background-color: hsl(221 83% 97%);
}

.dark .badge-category:hover {
  background-color: hsl(221 83% 10%);
}

/**
 * Navigation Standards
 */
.nav-link-standard {
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--muted-foreground));
  transition: color 200ms ease-out;
}

.nav-link-standard:hover {
  color: hsl(var(--foreground));
}

.nav-link-active {
  color: hsl(var(--primary));
  border-bottom: 3px solid hsl(var(--primary));
  padding-bottom: 0.25rem;
}

/**
 * Section Backgrounds
 */
.section-white {
  background-color: hsl(var(--background));
}

.section-muted {
  background-color: hsl(210 40% 98%);
}

.dark .section-muted {
  background-color: hsl(215 28% 8%);
}

.section-hero-gradient {
  background: linear-gradient(
    135deg,
    hsl(222 47% 11%) 0%,
    hsl(215 28% 17%) 50%,
    hsl(217 19% 27%) 100%
  );
}

.section-cta-gradient {
  background: linear-gradient(
    135deg,
    hsl(var(--primary) / 0.1) 0%,
    hsl(var(--primary) / 0.15) 50%,
    hsl(var(--primary) / 0.1) 100%
  );
  border-top: 1px solid hsl(var(--primary) / 0.2);
  border-bottom: 1px solid hsl(var(--primary) / 0.2);
}

/**
 * Container Standards (1400px max-width, responsive padding)
 */
.container-standard {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .container-standard {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container-standard {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/**
 * Section Spacing (5rem standard, 6rem hero)
 */
.section-padding-standard {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 640px) {
  .section-padding-standard {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.section-padding-hero {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 640px) {
  .section-padding-hero {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/**
 * Form Field Standards (48px height, 8px radius)
 */
.input-standard {
  height: 3rem;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--border));
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  transition: all 200ms ease-out;
}

.input-standard::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.input-standard::placeholder {
  color: hsl(var(--muted-foreground));
}

.input-standard:focus {
  outline: none;
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.1);
}

.input-error {
  border-color: hsl(0 84% 60%);
  background-color: hsl(0 100% 98%);
}

.dark .input-error {
  background-color: hsl(0 84% 8%);
}

.label-standard {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--foreground));
  margin-bottom: 0.5rem;
}

.label-required::after {
  content: " *";
  color: hsl(0 84% 60%);
}

/**
 * Medical Disclaimer
 */
.medical-disclaimer {
  background-color: hsl(45 93% 96%);
  border: 1px solid hsl(45 93% 85%);
  border-radius: 0.75rem;
  padding: 1rem;
  font-size: 0.875rem;
  color: hsl(26 90% 30%);
}

.dark .medical-disclaimer {
  background-color: hsl(45 93% 10%);
  border-color: hsl(45 93% 25%);
  color: hsl(45 93% 80%);
}

/**
 * Grid Standards
 */
.grid-2-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .grid-2-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

.grid-3-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .grid-3-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .grid-3-col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }
}

/* Helix Landing Voice Section — Environmental Background */
.helix-env-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(
    ellipse 50% 60% at 50% 45%,
    rgba(36, 99, 235, 0.04) 0%,
    rgba(36, 99, 235, 0.015) 40%,
    transparent 80%
  );
}

.dark .helix-env-bg {
  background: radial-gradient(
    ellipse 50% 60% at 50% 45%,
    rgba(0, 119, 237, 0.06) 0%,
    rgba(0, 119, 237, 0.02) 40%,
    transparent 80%
  );
}

/* Helix secondary action buttons — hover micro-interaction */
.helix-action-btn {
  transform: translateY(0);
}
.helix-action-btn:hover:not(:disabled) {
  color: hsl(var(--foreground));
  background: hsl(var(--muted) / 0.5);
  transform: translateY(-1px);
}
.helix-action-btn:active:not(:disabled) {
  transform: translateY(0);
}

.grid-4-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px) {
  .grid-4-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .grid-4-col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

@keyframes logo-ring-1 {
  from { transform: rotate(-15deg); }
  to { transform: rotate(345deg); }
}

@keyframes logo-ring-2 {
  from { transform: rotate(35deg); }
  to { transform: rotate(-325deg); }
}

@keyframes logo-ring-3 {
  from { transform: rotate(-55deg); }
  to { transform: rotate(305deg); }
}

@keyframes logo-glow-breathe {
  0%, 100% { opacity: 0.08; transform: scale(1); }
  50% { opacity: 0.18; transform: scale(1.04); }
}

@keyframes logoEntrance {
  0%   { opacity: 0; transform: translateY(-10px) scale(0.92); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  [style*="logo-ring"],
  [style*="logo-glow"] {
    animation: none !important;
  }
}

/* ─── Helix Streaming Cursor ─────────────────────────────────────────────── */
@keyframes helix-cursor-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}
.helix-streaming-cursor {
  display: inline-block;
  margin-inline-start: 1px;
  animation: helix-cursor-blink 0.9s step-start infinite;
  color: hsl(var(--primary) / 0.7);
  font-size: 0.85em;
  line-height: 1;
  vertical-align: middle;
}

/* ─── Helix Section Header Fade-In ──────────────────────────────────────── */
@keyframes helix-section-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-helix-section-in {
  /* P3-20: the resting state is FULL contrast, set on the element itself, and
     the animation only plays the entrance. This used `animation-fill-mode:
     both`, which holds the keyframe's `from` state (opacity 0) whenever the
     animation has not actually run to completion — so stopping a stream
     mid-answer left the section headings greyed out while the body text beside
     them stayed at full contrast. A heading must never depend on an animation
     having finished in order to be readable. */
  opacity: 1;
  animation: helix-section-fade-in 0.2s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .animate-helix-section-in { animation: none; }
}

/* ─── Feedback Button Scale Micro-interaction ────────────────────────────── */
.helix-feedback-btn {
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.helix-feedback-btn:active {
  transform: scale(1.2);
}
.helix-feedback-btn.feedback-given {
  animation: helix-feedback-pop 0.15s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes helix-feedback-pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.15); }
  100% { transform: scale(1); }
}

/* ─── Helix Thinking State Animations ───────────────────────────────────── */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 8px 2px rgba(59, 130, 246, 0.3); }
  50%       { box-shadow: 0 0 20px 6px rgba(59, 130, 246, 0.5); }
}

@keyframes barWave {
  0%, 100% { height: 4px; }
  50%       { height: 12px; }
}

@keyframes helixCursorBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

.animate-glow-pulse {
  animation: glowPulse 2s ease-in-out infinite;
}

.animate-bar-wave {
  animation: barWave 0.7s ease-in-out infinite;
}

.animate-helix-cursor {
  animation: helixCursorBlink 0.9s step-start infinite;
}

/* ─── ThinkingIndicator full-panel variant ───────────────────────────────── */
.thinking-indicator-panel {
  animation: helix-section-fade-in 0.3s ease-out both;
}

/* ─── Helix Shimmer Slide (thinking bubble + skeleton lines) ─────────────── */
@keyframes helix-shimmer-slide {
  0%   { transform: translateX(-250%); }
  100% { transform: translateX(500%); }
}

.animate-helix-shimmer-slide {
  animation: helix-shimmer-slide 2s ease-in-out infinite;
}

/* ─── Helix Breathing Glow (thinking bubble logo) ────────────────────────── */
@keyframes helix-breathe-glow {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 hsl(var(--primary) / 0.15), 0 0 12px 2px hsl(var(--primary) / 0.08);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 6px hsl(var(--primary) / 0.06), 0 0 20px 6px hsl(var(--primary) / 0.12);
  }
}
.animate-helix-breathe-glow {
  animation: helix-breathe-glow 2.8s ease-in-out infinite;
  border-radius: 9999px;
}

/* ─── Helix Fade-Slide (thinking message transitions) ────────────────────── */
@keyframes helix-fade-slide-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes helix-fade-slide-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}
.animate-helix-fade-slide-in {
  animation: helix-fade-slide-in 0.35s ease-out both;
}
.animate-helix-fade-slide-out {
  animation: helix-fade-slide-out 0.25s ease-in both;
}

/* ─── Helix Crossfade (skeleton → content) ───────────────────────────────── */
@keyframes helix-crossfade-in {
  from { opacity: 0; filter: blur(4px); }
  to   { opacity: 1; filter: blur(0); }
}
.animate-helix-crossfade-in {
  animation: helix-crossfade-in 0.5s ease-out both;
}

/* ─── Helix Stage Stepper Dot ────────────────────────────────────────────── */
@keyframes helix-stage-dot-active {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.3); opacity: 0.8; }
}
.animate-helix-stage-active {
  animation: helix-stage-dot-active 1.6s ease-in-out infinite;
}

/* ─── Thin custom scrollbars ─────────────────────────────────────────────── */
::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: hsl(var(--border));
  border-radius: 2px;
}
::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--muted-foreground) / 0.4);
}

/* ─── Helix document mode print styles ───────────────────────────────────── */
@media print {
  body > *:not(#helix-print-root) { display: none !important; }

  #helix-print-root {
    display: block !important;
    font-family: 'Times New Roman', serif;
    font-size: 11pt;
    line-height: 1.6;
    color: #000;
    background: #fff;
    padding: 1in;
    max-width: 8.5in;
    margin: 0 auto;
  }

  #helix-print-root.mode-rx {
    font-family: 'Courier New', monospace;
    font-size: 10pt;
    border: 2px solid #000;
    padding: 0.75in;
  }

  #helix-print-root.mode-scribe {
    font-family: Arial, sans-serif;
    font-size: 10pt;
  }

  .helix-action-bar,
  .helix-mode-selector,
  .helix-follow-ups,
  .helix-citations,
  [data-testid*="button"],
  .sidebar,
  nav { display: none !important; }
}


/* ================================================
   Marketing surface — the buyer-facing register
   ================================================

   WHY THIS SCOPE EXISTS. The product and the marketing site had one visual
   system, and it was the product's: Apple blue (#2463EB), 8px radii, elevated
   cards with 12px shadows, gradient icon tiles. Inside the app that is correct
   — a clinician using Workspace all day wants affordances that read as
   clickable, and blue is the affordance.

   On the front door it argues against the thing the copy claims. A page whose
   thesis is "we are the evidence infrastructure other companies build on"
   cannot look like every Series-A SaaS template, because the look is itself a
   claim about what kind of company this is. Infrastructure companies —
   Palantir being the reference — publish in near-monochrome: hairline rules
   instead of shadows, near-square corners, one accent used sparingly, and
   figures set in monospace so they read as measurements rather than as
   marketing.

   So: same tokens, re-pointed, and only inside `.marketing-surface`. Nothing
   in the app changes. Applied per page on <MainContent>, not globally, so a
   page opts in when its copy is buyer-facing.

   WHAT IT DOES. Repoints --primary from brand blue to the page's own
   foreground, so buttons and links go black-on-white / white-on-black and
   invert correctly with the theme; flattens radii; and removes the lift,
   glow and gradient treatments from cards and icon tiles. */
.marketing-surface {
  /* Color tokens intentionally NOT re-pointed (2026-08): the earlier
     monochrome treatment turned brand blue into black on marketing pages,
     which read as an inconsistency against the rest of the site. Marketing
     pages now share the standard brand palette; this class only calms card
     elevation and icon-tile decoration below. */
}

/* Hairlines, not elevation. `card-elevated` and `card-interactive` carry a
   translate-on-hover and a 40px shadow — the grammar of a card you are meant
   to want to click, which is the wrong verb for a section that is stating
   facts. */
.marketing-surface .card-elevated,
.marketing-surface .card-interactive,
.marketing-surface .card-enterprise {
  box-shadow: none;
  border: 1px solid hsl(var(--border));
  border-radius: 2px;
}

.marketing-surface .card-elevated:hover,
.marketing-surface .card-interactive:hover {
  transform: none;
  box-shadow: none;
  border-color: hsl(var(--foreground) / 0.4);
}

.marketing-surface .card-interactive:hover .icon-container {
  transform: none;
}

/* The icon tiles carry a gradient wash via ::after. A gradient behind a
   line icon is the single most recognisable tell of the template this page
   is trying not to be. */
.marketing-surface .icon-container::after {
  display: none;
}

.marketing-surface .icon-container {
  background: hsl(var(--muted));
  border-radius: 2px;
}

/* Marketing eyebrows follow the deck: monospace, uppercase, tracked, in the
   accent, with no pill. "01 · EVIDENCE" is the house label. Scoped so
   in-app consumers of section-label keep their pill. */
.marketing-surface .section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0px;
  padding: 0px;
  font-weight: 400;
  text-transform: uppercase;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  color: hsl(var(--primary));
  background: none;
  border: 0;
}

/* ── Deck grammar (2026-09) ────────────────────────────────────────────────
   The Series A deck's layout vocabulary, as utilities for marketing pages:

     .eyebrow        mono, uppercase, +0.16em — labels, folios, figures
     .eyebrow-muted  the same in graphite, for the non-leading column
     .rule-strong    the 2px ink rule that opens a section or a column
     .rule-accent    the same rule in the accent, for the lead column
     .display-tight  Inter 800 at -0.035em / 1.02 — every marketing H1/H2
*/
/* In the components layer so a utility (e.g. text-background/60 on an
   inverted band) can still override the color. */

/* Landing page (2026-10 hero redesign): every section eyebrow follows the
   hero's — tighter tracking, in ink rather than the accent. :where() keeps
   the specificity of .eyebrow itself, so a colour utility (the inverted
   closing band's text-background/60) and the RTL rule above still win. */
.home-landing .section-label {
  letter-spacing: 0.05em;
  color: hsl(var(--foreground) / 0.8);
}
[dir="rtl"] .home-landing .section-label { letter-spacing: 0; }

/* Every H1/H2 on a buyer-facing page takes the deck's display treatment, so
   pages built on SectionHeading / PageTitle match the home page without
   per-call-site edits. Arabic keeps default tracking. */
.marketing-surface h1,
.marketing-surface h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
[dir="rtl"] .marketing-surface h1,
[dir="rtl"] .marketing-surface h2,
.marketing-surface [dir="rtl"] h1,
.marketing-surface [dir="rtl"] h2 {
  letter-spacing: 0;
}

/* Global reduced-motion guard: collapse all CSS animations/transitions for
   users who ask for reduced motion. Scroll-reveal styles animate only
   opacity/transform, so removing them never shifts layout. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ─── Helix draft → verified answer (use-answer-swap.ts) ──────────────────
   Draft blocks fade in as they arrive; on the verified swap only the sections
   whose text changed cross-fade. Resting state is full opacity (no fill-mode),
   so an interrupted animation never leaves text dimmed. */
@keyframes helix-swap-in {
  from { opacity: 0.35; }
  to   { opacity: 1; }
}
.helix-block-in { animation: helix-swap-in 180ms ease-out; }
.helix-section-swap { animation: helix-swap-in 220ms ease-out; }
@media (prefers-reduced-motion: reduce) {
  .helix-block-in, .helix-section-swap { animation: none; }
}
  
  .group:hover .group-hover\:visible.animate-on-scroll {
    opacity: 1;
    transform: translateY(0);
  }
.dark\:prose-invert:is(.dark *) {
  --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);
}
@media (min-width: 768px) {
  .md\:text-display {
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 800;
  }
  @media (min-width: 640px) {

    .md\:text-display {
      font-size: 3rem;
      line-height: 1;
    }
  }
  @media (min-width: 1024px) {

    .md\:text-display {
      font-size: 3.75rem;
      line-height: 1;
    }
  }
  .md\:text-display {
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-feature-settings: 'ss01' on, 'ss02' on;
  }
  @media (max-width: 768px) {
    .md\:text-display {
      font-size: 36px !important;
      line-height: 1.1 !important;
      letter-spacing: -0.02em;
    }
    
    /* Ensure minimum 16px for body text (prevents iOS zoom on focus) */
    
    /* Ensure inputs are at least 16px to prevent iOS zoom */
  }
}
@media (min-width: 1024px) {
  .lg\:text-display {
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 800;
  }
  @media (min-width: 640px) {

    .lg\:text-display {
      font-size: 3rem;
      line-height: 1;
    }
  }
  @media (min-width: 1024px) {

    .lg\:text-display {
      font-size: 3.75rem;
      line-height: 1;
    }
  }
  .lg\:text-display {
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-feature-settings: 'ss01' on, 'ss02' on;
  }
  @media (max-width: 768px) {
    .lg\:text-display {
      font-size: 36px !important;
      line-height: 1.1 !important;
      letter-spacing: -0.02em;
    }
    
    /* Ensure minimum 16px for body text (prevents iOS zoom on focus) */
    
    /* Ensure inputs are at least 16px to prevent iOS zoom */
  }
}
.file\:border-0::file-selector-button {
  border-width: 0px;
}
.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}
.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:font-medium::file-selector-button {
  font-weight: 500;
}
.file\:text-foreground::file-selector-button {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.placeholder\:text-muted-foreground::-moz-placeholder {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.placeholder\:text-muted-foreground::placeholder {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.placeholder\:text-muted-foreground\/50::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}
.placeholder\:text-muted-foreground\/50::placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}
.placeholder\:text-muted-foreground\/60::-moz-placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-muted-foreground\/60::placeholder {
  color: hsl(var(--muted-foreground) / 0.6);
}
.placeholder\:text-slate-500::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-500::placeholder {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
  @media (max-width: 640px) {
    .placeholder\:text-muted-foreground::-moz-placeholder {
      color: hsl(var(--muted-foreground) / 0.9);
    }
    .placeholder\:text-muted-foreground::placeholder {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}
.before\:bottom-5::before {
  content: var(--tw-content);
  bottom: 1.25rem;
}
.before\:left-0::before {
  content: var(--tw-content);
  left: 0px;
}
.before\:start-\[26px\]::before {
  content: var(--tw-content);
  inset-inline-start: 26px;
}
.before\:top-2::before {
  content: var(--tw-content);
  top: 0.5rem;
}
.before\:top-5::before {
  content: var(--tw-content);
  top: 1.25rem;
}
.before\:h-1\.5::before {
  content: var(--tw-content);
  height: 0.375rem;
}
.before\:w-1\.5::before {
  content: var(--tw-content);
  width: 0.375rem;
}
.before\:w-px::before {
  content: var(--tw-content);
  width: 1px;
}
.before\:rounded-full::before {
  content: var(--tw-content);
  border-radius: 9999px;
}
.before\:bg-border::before {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--border) / var(--tw-bg-opacity, 1));
}
.before\:bg-muted-foreground\/30::before {
  content: var(--tw-content);
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.before\:content-\[\'\'\]::before {
  --tw-content: '';
  content: var(--tw-content);
}
.after\:pointer-events-none::after {
  content: var(--tw-content);
  pointer-events: none;
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}
.after\:inset-0::after {
  content: var(--tw-content);
  inset: 0px;
}
.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}
.after\:block::after {
  content: var(--tw-content);
  display: block;
}
.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}
.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}
.after\:border::after {
  content: var(--tw-content);
  border-width: 1px;
}
.after\:border-black\/10::after {
  content: var(--tw-content);
  border-color: rgb(0 0 0 / 0.1);
}
.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

  .after\:border.toggle-elevate::after::before {
    content: var(--tw-content);
    inset: -1px;
  }

  .after\:border.hover-elevate:not(.no-hover-interaction-elevate)::after::after,.after\:border.active-elevate:not(.no-active-interaction-elevate)::after::after,.after\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after::after,.after\:border.active-elevate-2:not(.no-active-interaction-elevate)::after::after,.after\:border.hover-elevate:not(.no-hover-interaction-elevate)::after::after {
    content: var(--tw-content);
    inset: -1px;
  }
.first\:mt-0:first-child {
  margin-top: 0px;
}
.first\:border-s-0:first-child {
  border-inline-start-width: 0px;
}
.first\:border-t-0:first-child {
  border-top-width: 0px;
}
.first\:ps-0:first-child {
  padding-inline-start: 0px;
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:bg-transparent:last-child {
  background-color: transparent;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.last\:pe-0:last-child {
  padding-inline-end: 0px;
}
.checked\:border-primary:checked {
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}
.checked\:bg-primary:checked {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.focus-within\:relative:focus-within {
  position: relative;
}
.focus-within\:z-20:focus-within {
  z-index: 20;
}
.focus-within\:border-primary\/40:focus-within {
  border-color: hsl(var(--primary) / 0.4);
}
.focus-within\:shadow-md:focus-within {
  --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);
}
.focus-within\:shadow-primary\/5:focus-within {
  --tw-shadow-color: hsl(var(--primary) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.focus-within\:ring-1: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(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);
}
.focus-within\:ring-primary\/30:focus-within {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.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\: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-foreground\/50:hover {
  border-color: hsl(var(--foreground) / 0.5) !important;
}
.hover\:border-border:hover {
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}
.hover\:border-border\/40:hover {
  border-color: hsl(var(--border) / 0.4);
}
.hover\:border-border\/50:hover {
  border-color: hsl(var(--border) / 0.5);
}
.hover\:border-border\/60:hover {
  border-color: hsl(var(--border) / 0.6);
}
.hover\:border-primary:hover {
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}
.hover\:border-primary\/30:hover {
  border-color: hsl(var(--primary) / 0.3);
}
.hover\:border-primary\/40:hover {
  border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-primary\/50:hover {
  border-color: hsl(var(--primary) / 0.5);
}
.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-background:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}
.hover\:bg-background\/10:hover {
  background-color: hsl(var(--background) / 0.1);
}
.hover\:bg-background\/15:hover {
  background-color: hsl(var(--background) / 0.15);
}
.hover\:bg-background\/90:hover {
  background-color: hsl(var(--background) / 0.9);
}
.hover\:bg-destructive\/5:hover {
  background-color: hsl(var(--destructive) / 0.05);
}
.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gold-500\/\[0\.07\]:hover {
  background-color: hsl(var(--gold-500) / 0.07);
}
.hover\:bg-muted:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted-foreground:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted-foreground) / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted\/20:hover {
  background-color: hsl(var(--muted) / 0.2);
}
.hover\:bg-muted\/30:hover {
  background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/40:hover {
  background-color: hsl(var(--muted) / 0.4);
}
.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-muted\/60:hover {
  background-color: hsl(var(--muted) / 0.6);
}
.hover\:bg-muted\/80:hover {
  background-color: hsl(var(--muted) / 0.8);
}
.hover\:bg-primary:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary-foreground\/15:hover {
  background-color: hsl(var(--primary-foreground) / 0.15);
}
.hover\:bg-primary\/10:hover {
  background-color: hsl(var(--primary) / 0.1);
}
.hover\:bg-primary\/15:hover {
  background-color: hsl(var(--primary) / 0.15);
}
.hover\:bg-primary\/20:hover {
  background-color: hsl(var(--primary) / 0.2);
}
.hover\:bg-primary\/5:hover {
  background-color: hsl(var(--primary) / 0.05);
}
.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-secondary:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}
.hover\:bg-sidebar-accent:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}
.hover\:bg-sidebar-accent\/70:hover {
  background-color: hsl(var(--sidebar-accent) / 0.7);
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:text-background:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--background) / var(--tw-text-opacity, 1));
}
.hover\:text-blue-700:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.hover\:text-destructive:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.hover\:text-emerald-700:hover {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.hover\:text-muted-foreground:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.hover\:text-primary:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
.hover\:text-primary-foreground:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}
.hover\:text-primary\/70:hover {
  color: hsl(var(--primary) / 0.7);
}
.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}
.hover\:text-sidebar-accent-foreground:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
.hover\:text-sidebar-foreground:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-foreground) / 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\:no-underline:hover {
  text-decoration-line: none;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:opacity-85:hover {
  opacity: 0.85;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 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);
}
.hover\:shadow-\[0_24px_70px_rgba\(0\2c 0\2c 0\2c 0\.2\)\]:hover {
  --tw-shadow: 0 24px 70px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 24px 70px 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-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]:hover {
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 2px 8px 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-none:hover {
  --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);
}
.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-primary\/30:hover {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
  @media (max-width: 640px) {
    .hover\:text-muted-foreground:hover {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.hover\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-border) / var(--tw-bg-opacity, 1));
}
.focus\:border-0:focus {
  border-width: 0px;
}
.focus\:border-primary:focus {
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}
.focus\:border-transparent:focus {
  border-color: transparent;
}
.focus\:bg-accent:focus {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}
.focus\:bg-muted:focus {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.focus\:bg-primary:focus {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.focus\:text-accent-foreground:focus {
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}
.focus\:text-destructive:focus {
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.focus\:text-foreground:focus {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.focus\:text-primary-foreground:focus {
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:shadow-none:focus {
  --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);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-1: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(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);
}
.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-\[3px\]: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(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);
}
.focus\:ring-primary:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary\/10:focus {
  --tw-ring-color: hsl(var(--primary) / 0.1);
}
.focus\:ring-primary\/20:focus {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus\:ring-primary\/30:focus {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus\:ring-primary\/40:focus {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus\:ring-ring:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));
}
.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:border-primary:focus-visible {
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));
}
.focus-visible\:bg-gold-500\/\[0\.07\]:focus-visible {
  background-color: hsl(var(--gold-500) / 0.07);
}
.focus-visible\:bg-muted\/40:focus-visible {
  background-color: hsl(var(--muted) / 0.4);
}
.focus-visible\:opacity-100:focus-visible {
  opacity: 1;
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-0: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(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-visible\:ring-1: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(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);
}
.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-\[3px\]: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(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);
}
.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}
.focus-visible\:ring-destructive:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--destructive) / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-primary:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-primary\/10:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.1);
}
.focus-visible\:ring-primary\/20:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus-visible\:ring-primary\/40:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus-visible\:ring-primary\/50:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.focus-visible\:ring-red-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-ring:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--sidebar-ring) / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-slate-900:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(15 23 42 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-\[\#faf9f5\]:focus-visible {
  --tw-ring-offset-color: #faf9f5;
}
.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background) / 1);
}
.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\:bg-sidebar-accent:active {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}
.active\:text-sidebar-accent-foreground:active {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
.active\:opacity-75:active {
  opacity: 0.75;
}
.active\:opacity-80:active {
  opacity: 0.8;
}
.active\:shadow-none:active {
  --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);
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:bg-primary\/40:disabled {
  background-color: hsl(var(--primary) / 0.4);
}
.disabled\:text-white\/70:disabled {
  color: rgb(255 255 255 / 0.7);
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.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[open] .group-open\: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));
}
.group\/header:focus-within .group-focus-within\/header\:invisible {
  visibility: hidden;
}
.group:focus-within .group-focus-within\:block {
  display: block;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:visible {
  visibility: visible;
}
.group\/header:hover .group-hover\/header\:invisible {
  visibility: hidden;
}
.group:hover .group-hover\:block {
  display: block;
}
.group:hover .group-hover\:scale-105 {
  --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));
}
.group:hover .group-hover\: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));
}
.group:hover .group-hover\: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));
}
.group:hover .group-hover\:border-primary\/40 {
  border-color: hsl(var(--primary) / 0.4);
}
.group:hover .group-hover\:bg-primary {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
.group:hover .group-hover\:bg-primary\/40 {
  background-color: hsl(var(--primary) / 0.4);
}
.group:hover .group-hover\:text-primary {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-sidebar-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-foreground) / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:underline {
  text-decoration-line: underline;
}
.group\/header:hover .group-hover\/header\:opacity-100 {
  opacity: 1;
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-60 {
  opacity: 0.6;
}
.group:hover .group-hover\:opacity-90 {
  opacity: 0.9;
}
.group:hover .group-hover\:brightness-100 {
  --tw-brightness: brightness(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);
}
.group:hover .group-hover\:contrast-100 {
  --tw-contrast: contrast(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);
}
.group:hover .group-hover\:grayscale-0 {
  --tw-grayscale: grayscale(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);
}
.group:focus-visible .group-focus-visible\:opacity-100 {
  opacity: 1;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}
.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}
.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}
.aria-selected\:bg-accent[aria-selected="true"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}
.aria-selected\:bg-accent\/50[aria-selected="true"] {
  background-color: hsl(var(--accent) / 0.5);
}
.aria-selected\:text-accent-foreground[aria-selected="true"] {
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}
.aria-selected\:text-muted-foreground[aria-selected="true"] {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.aria-selected\:opacity-100[aria-selected="true"] {
  opacity: 1;
}
  @media (max-width: 640px) {
    .aria-selected\:text-muted-foreground[aria-selected="true"] {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
  --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));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
  --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));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
  --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));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
  --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));
}
.data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
  --tw-translate-x: 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));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --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));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
  --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));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  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));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  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));
}
@keyframes accordion-up {

  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}
.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up 0.2s ease-out;
}
@keyframes accordion-down {

  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}
.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}
.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--input) / var(--tw-bg-opacity, 1));
}
.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
.data-\[placeholder\]\:text-muted-foreground\/60[data-placeholder] {
  color: hsl(var(--muted-foreground) / 0.6);
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}
.data-\[state\=open\]\:opacity-100[data-state="open"] {
  opacity: 1;
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
  --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);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
  transition-property: none;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
.data-\[side\=bottom\]\:slide-in-from-top-1[data-side="bottom"] {
  --tw-enter-translate-y: -0.25rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-1[data-side="left"] {
  --tw-enter-translate-x: 0.25rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-1[data-side="right"] {
  --tw-enter-translate-x: -0.25rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-1[data-side="top"] {
  --tw-enter-translate-y: 0.25rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-right-full[data-state="open"] {
  --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}
  @media (max-width: 640px) {
    .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar-accent) / var(--tw-bg-opacity, 1));
}
.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}
.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}
.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\] {
  width: calc(var(--sidebar-width-icon) + var(--spacing-4));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\] {
  width: var(--sidebar-width-icon);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\: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));
}
.group[data-side="right"] .group-data-\[side\=right\]\: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[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: .625rem;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-e {
  border-inline-end-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-s {
  border-inline-start-width: 1px;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
  --tw-border-opacity: 1;
  border-color: hsl(var(--sidebar-border) / var(--tw-border-opacity, 1));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}

  .group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.toggle-elevate::before {
    inset: -1px;
  }

  .group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.hover-elevate:not(.no-hover-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.active-elevate:not(.no-active-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.active-elevate-2:not(.no-active-interaction-elevate)::after,.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--sidebar) / var(--tw-bg-opacity, 1));
}
.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}
.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}
.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}
.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
@supports (backdrop-filter: var(--tw)) {

  .supports-\[backdrop-filter\]\:bg-background\/80 {
    background-color: hsl(var(--background) / 0.8);
  }
}
@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;
  }

  .motion-safe\:duration-300 {
    transition-duration: 300ms;
  }

  .motion-safe\:animate-in {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
  }

  .motion-safe\:fade-in {
    --tw-enter-opacity: 0;
  }

  .motion-safe\:duration-300 {
    animation-duration: 300ms;
  }
  
  .motion-safe\:fade-in {
    animation: fadeIn 0.2s ease-out;
  }
}
@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:animate-none {
    animation: none;
  }

  .motion-reduce\:transition-none {
    transition-property: none;
  }
}
.dark\:border-amber-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-500\/20:is(.dark *) {
  border-color: rgb(245 158 11 / 0.2);
}
.dark\:border-amber-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-800\/40:is(.dark *) {
  border-color: rgb(146 64 14 / 0.4);
}
.dark\:border-amber-800\/50:is(.dark *) {
  border-color: rgb(146 64 14 / 0.5);
}
.dark\:border-amber-900\/50:is(.dark *) {
  border-color: rgb(120 53 15 / 0.5);
}
.dark\:border-blue-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-800\/40:is(.dark *) {
  border-color: rgb(30 64 175 / 0.4);
}
.dark\:border-blue-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(30 58 138 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-900\/40:is(.dark *) {
  border-color: rgb(30 58 138 / 0.4);
}
.dark\:border-blue-900\/50:is(.dark *) {
  border-color: rgb(30 58 138 / 0.5);
}
.dark\:border-border:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity, 1));
}
.dark\:border-cyan-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(22 78 99 / var(--tw-border-opacity, 1));
}
.dark\:border-destructive:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));
}
.dark\:border-destructive\/50:is(.dark *) {
  border-color: hsl(var(--destructive) / 0.5);
}
.dark\:border-emerald-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
}
.dark\:border-emerald-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(6 95 70 / var(--tw-border-opacity, 1));
}
.dark\:border-emerald-800\/40:is(.dark *) {
  border-color: rgb(6 95 70 / 0.4);
}
.dark\:border-emerald-800\/50:is(.dark *) {
  border-color: rgb(6 95 70 / 0.5);
}
.dark\:border-emerald-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(6 78 59 / var(--tw-border-opacity, 1));
}
.dark\:border-emerald-900\/50:is(.dark *) {
  border-color: rgb(6 78 59 / 0.5);
}
.dark\:border-green-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.dark\:border-green-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}
.dark\:border-green-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}
.dark\:border-green-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(20 83 45 / var(--tw-border-opacity, 1));
}
.dark\:border-green-900\/40:is(.dark *) {
  border-color: rgb(20 83 45 / 0.4);
}
.dark\:border-orange-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(124 45 18 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-900\/40:is(.dark *) {
  border-color: rgb(124 45 18 / 0.4);
}
.dark\:border-primary\/20:is(.dark *) {
  border-color: hsl(var(--primary) / 0.2);
}
.dark\:border-primary\/30:is(.dark *) {
  border-color: hsl(var(--primary) / 0.3);
}
.dark\:border-purple-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(88 28 135 / var(--tw-border-opacity, 1));
}
.dark\:border-red-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
.dark\:border-red-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.dark\:border-red-800\/40:is(.dark *) {
  border-color: rgb(153 27 27 / 0.4);
}
.dark\:border-red-800\/50:is(.dark *) {
  border-color: rgb(153 27 27 / 0.5);
}
.dark\:border-red-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1));
}
.dark\:border-red-900\/40:is(.dark *) {
  border-color: rgb(127 29 29 / 0.4);
}
.dark\:border-red-900\/50:is(.dark *) {
  border-color: rgb(127 29 29 / 0.5);
}
.dark\:border-rose-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(136 19 55 / var(--tw-border-opacity, 1));
}
.dark\:border-slate-500\/70:is(.dark *) {
  border-color: rgb(100 116 139 / 0.7);
}
.dark\:border-slate-700\/40:is(.dark *) {
  border-color: rgb(51 65 85 / 0.4);
}
.dark\:border-slate-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.dark\:border-white\/10:is(.dark *) {
  border-color: rgb(255 255 255 / 0.1);
}
.dark\:border-white\/20:is(.dark *) {
  border-color: rgb(255 255 255 / 0.2);
}
.dark\:border-white\/30:is(.dark *) {
  border-color: rgb(255 255 255 / 0.3);
}
.dark\:border-white\/\[0\.08\]:is(.dark *) {
  border-color: rgb(255 255 255 / 0.08);
}
.dark\:border-yellow-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-900\/40:is(.dark *) {
  border-color: rgb(113 63 18 / 0.4);
}
.dark\:bg-\[\#1D1D1F\]\/80:is(.dark *) {
  background-color: rgb(29 29 31 / 0.8);
}
.dark\:bg-\[\#3A3A3C\]:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(58 58 60 / var(--tw-bg-opacity, 1));
}
.dark\:bg-\[rgba\(9\2c 9\2c 11\2c 0\.90\)\]:is(.dark *) {
  background-color: rgba(9,9,11,0.90);
}
.dark\:bg-amber-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.dark\:bg-amber-500\/10:is(.dark *) {
  background-color: rgb(245 158 11 / 0.1);
}
.dark\:bg-amber-500\/15:is(.dark *) {
  background-color: rgb(245 158 11 / 0.15);
}
.dark\:bg-amber-500\/20:is(.dark *) {
  background-color: rgb(245 158 11 / 0.2);
}
.dark\:bg-amber-500\/5:is(.dark *) {
  background-color: rgb(245 158 11 / 0.05);
}
.dark\:bg-amber-900\/10:is(.dark *) {
  background-color: rgb(120 53 15 / 0.1);
}
.dark\:bg-amber-900\/20:is(.dark *) {
  background-color: rgb(120 53 15 / 0.2);
}
.dark\:bg-amber-900\/30:is(.dark *) {
  background-color: rgb(120 53 15 / 0.3);
}
.dark\:bg-amber-900\/40:is(.dark *) {
  background-color: rgb(120 53 15 / 0.4);
}
.dark\:bg-amber-950\/10:is(.dark *) {
  background-color: rgb(69 26 3 / 0.1);
}
.dark\:bg-amber-950\/20:is(.dark *) {
  background-color: rgb(69 26 3 / 0.2);
}
.dark\:bg-amber-950\/30:is(.dark *) {
  background-color: rgb(69 26 3 / 0.3);
}
.dark\:bg-background:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));
}
.dark\:bg-background\/95:is(.dark *) {
  background-color: hsl(var(--background) / 0.95);
}
.dark\:bg-blue-500\/20:is(.dark *) {
  background-color: rgb(59 130 246 / 0.2);
}
.dark\:bg-blue-900\/10:is(.dark *) {
  background-color: rgb(30 58 138 / 0.1);
}
.dark\:bg-blue-900\/30:is(.dark *) {
  background-color: rgb(30 58 138 / 0.3);
}
.dark\:bg-blue-900\/40:is(.dark *) {
  background-color: rgb(30 58 138 / 0.4);
}
.dark\:bg-blue-950\/30:is(.dark *) {
  background-color: rgb(23 37 84 / 0.3);
}
.dark\:bg-blue-950\/40:is(.dark *) {
  background-color: rgb(23 37 84 / 0.4);
}
.dark\:bg-card:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));
}
.dark\:bg-cyan-500\/20:is(.dark *) {
  background-color: rgb(6 182 212 / 0.2);
}
.dark\:bg-cyan-950\/40:is(.dark *) {
  background-color: rgb(8 51 68 / 0.4);
}
.dark\:bg-destructive\/10:is(.dark *) {
  background-color: hsl(var(--destructive) / 0.1);
}
.dark\:bg-destructive\/15:is(.dark *) {
  background-color: hsl(var(--destructive) / 0.15);
}
.dark\:bg-emerald-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.dark\:bg-emerald-500\/15:is(.dark *) {
  background-color: rgb(16 185 129 / 0.15);
}
.dark\:bg-emerald-900\/20:is(.dark *) {
  background-color: rgb(6 78 59 / 0.2);
}
.dark\:bg-emerald-900\/30:is(.dark *) {
  background-color: rgb(6 78 59 / 0.3);
}
.dark\:bg-emerald-900\/40:is(.dark *) {
  background-color: rgb(6 78 59 / 0.4);
}
.dark\:bg-emerald-950\/20:is(.dark *) {
  background-color: rgb(2 44 34 / 0.2);
}
.dark\:bg-emerald-950\/30:is(.dark *) {
  background-color: rgb(2 44 34 / 0.3);
}
.dark\:bg-emerald-950\/40:is(.dark *) {
  background-color: rgb(2 44 34 / 0.4);
}
.dark\:bg-foreground\/\[0\.06\]:is(.dark *) {
  background-color: hsl(var(--foreground) / 0.06);
}
.dark\:bg-green-500\/10:is(.dark *) {
  background-color: rgb(34 197 94 / 0.1);
}
.dark\:bg-green-500\/15:is(.dark *) {
  background-color: rgb(34 197 94 / 0.15);
}
.dark\:bg-green-500\/20:is(.dark *) {
  background-color: rgb(34 197 94 / 0.2);
}
.dark\:bg-green-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-900\/10:is(.dark *) {
  background-color: rgb(20 83 45 / 0.1);
}
.dark\:bg-green-900\/20:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2);
}
.dark\:bg-green-900\/30:is(.dark *) {
  background-color: rgb(20 83 45 / 0.3);
}
.dark\:bg-green-900\/40:is(.dark *) {
  background-color: rgb(20 83 45 / 0.4);
}
.dark\:bg-green-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-950\/20:is(.dark *) {
  background-color: rgb(5 46 22 / 0.2);
}
.dark\:bg-green-950\/30:is(.dark *) {
  background-color: rgb(5 46 22 / 0.3);
}
.dark\:bg-green-950\/40:is(.dark *) {
  background-color: rgb(5 46 22 / 0.4);
}
.dark\:bg-green-950\/50:is(.dark *) {
  background-color: rgb(5 46 22 / 0.5);
}
.dark\:bg-indigo-500\/20:is(.dark *) {
  background-color: rgb(99 102 241 / 0.2);
}
.dark\:bg-muted:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.dark\:bg-muted\/10:is(.dark *) {
  background-color: hsl(var(--muted) / 0.1);
}
.dark\:bg-muted\/15:is(.dark *) {
  background-color: hsl(var(--muted) / 0.15);
}
.dark\:bg-muted\/20:is(.dark *) {
  background-color: hsl(var(--muted) / 0.2);
}
.dark\:bg-muted\/30:is(.dark *) {
  background-color: hsl(var(--muted) / 0.3);
}
.dark\:bg-muted\/5:is(.dark *) {
  background-color: hsl(var(--muted) / 0.05);
}
.dark\:bg-muted\/50:is(.dark *) {
  background-color: hsl(var(--muted) / 0.5);
}
.dark\:bg-muted\/80:is(.dark *) {
  background-color: hsl(var(--muted) / 0.8);
}
.dark\:bg-orange-500\/20:is(.dark *) {
  background-color: rgb(249 115 22 / 0.2);
}
.dark\:bg-orange-900\/10:is(.dark *) {
  background-color: rgb(124 45 18 / 0.1);
}
.dark\:bg-orange-900\/30:is(.dark *) {
  background-color: rgb(124 45 18 / 0.3);
}
.dark\:bg-orange-950\/40:is(.dark *) {
  background-color: rgb(67 20 7 / 0.4);
}
.dark\:bg-orange-950\/50:is(.dark *) {
  background-color: rgb(67 20 7 / 0.5);
}
.dark\:bg-pink-500\/20:is(.dark *) {
  background-color: rgb(236 72 153 / 0.2);
}
.dark\:bg-primary\/10:is(.dark *) {
  background-color: hsl(var(--primary) / 0.1);
}
.dark\:bg-primary\/15:is(.dark *) {
  background-color: hsl(var(--primary) / 0.15);
}
.dark\:bg-primary\/20:is(.dark *) {
  background-color: hsl(var(--primary) / 0.2);
}
.dark\:bg-primary\/\[0\.04\]:is(.dark *) {
  background-color: hsl(var(--primary) / 0.04);
}
.dark\:bg-primary\/\[0\.06\]:is(.dark *) {
  background-color: hsl(var(--primary) / 0.06);
}
.dark\:bg-primary\/\[0\.08\]:is(.dark *) {
  background-color: hsl(var(--primary) / 0.08);
}
.dark\:bg-purple-500\/15:is(.dark *) {
  background-color: rgb(168 85 247 / 0.15);
}
.dark\:bg-purple-500\/20:is(.dark *) {
  background-color: rgb(168 85 247 / 0.2);
}
.dark\:bg-purple-900\/40:is(.dark *) {
  background-color: rgb(88 28 135 / 0.4);
}
.dark\:bg-purple-950\/40:is(.dark *) {
  background-color: rgb(59 7 100 / 0.4);
}
.dark\:bg-red-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.dark\:bg-red-500\/20:is(.dark *) {
  background-color: rgb(239 68 68 / 0.2);
}
.dark\:bg-red-900\/10:is(.dark *) {
  background-color: rgb(127 29 29 / 0.1);
}
.dark\:bg-red-900\/20:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2);
}
.dark\:bg-red-900\/30:is(.dark *) {
  background-color: rgb(127 29 29 / 0.3);
}
.dark\:bg-red-900\/40:is(.dark *) {
  background-color: rgb(127 29 29 / 0.4);
}
.dark\:bg-red-900\/50:is(.dark *) {
  background-color: rgb(127 29 29 / 0.5);
}
.dark\:bg-red-950\/30:is(.dark *) {
  background-color: rgb(69 10 10 / 0.3);
}
.dark\:bg-red-950\/40:is(.dark *) {
  background-color: rgb(69 10 10 / 0.4);
}
.dark\:bg-red-950\/50:is(.dark *) {
  background-color: rgb(69 10 10 / 0.5);
}
.dark\:bg-rose-900\/30:is(.dark *) {
  background-color: rgb(136 19 55 / 0.3);
}
.dark\:bg-rose-950\/40:is(.dark *) {
  background-color: rgb(76 5 25 / 0.4);
}
.dark\:bg-secondary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-500\/20:is(.dark *) {
  background-color: rgb(100 116 139 / 0.2);
}
.dark\:bg-slate-800\/20:is(.dark *) {
  background-color: rgb(30 41 59 / 0.2);
}
.dark\:bg-slate-800\/40:is(.dark *) {
  background-color: rgb(30 41 59 / 0.4);
}
.dark\:bg-teal-500\/20:is(.dark *) {
  background-color: rgb(20 184 166 / 0.2);
}
.dark\:bg-transparent:is(.dark *) {
  background-color: transparent;
}
.dark\:bg-violet-900\/40:is(.dark *) {
  background-color: rgb(76 29 149 / 0.4);
}
.dark\:bg-white\/10:is(.dark *) {
  background-color: rgb(255 255 255 / 0.1);
}
.dark\:bg-white\/15:is(.dark *) {
  background-color: rgb(255 255 255 / 0.15);
}
.dark\:bg-yellow-500\/20:is(.dark *) {
  background-color: rgb(234 179 8 / 0.2);
}
.dark\:bg-yellow-900\/10:is(.dark *) {
  background-color: rgb(113 63 18 / 0.1);
}
.dark\:bg-yellow-900\/30:is(.dark *) {
  background-color: rgb(113 63 18 / 0.3);
}
.dark\:bg-yellow-950\/20:is(.dark *) {
  background-color: rgb(66 32 6 / 0.2);
}
.dark\:bg-yellow-950\/50:is(.dark *) {
  background-color: rgb(66 32 6 / 0.5);
}
.dark\:from-blue-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(23 37 84 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-muted\/20:is(.dark *) {
  --tw-gradient-from: hsl(var(--muted) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-primary\/10:is(.dark *) {
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-primary\/\[0\.06\]:is(.dark *) {
  --tw-gradient-from: hsl(var(--primary) / 0.06) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-slate-900\/20:is(.dark *) {
  --tw-gradient-from: rgb(15 23 42 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-violet-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(46 16 101 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:via-background:is(.dark *) {
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:via-primary\/5:is(.dark *) {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:to-background:is(.dark *) {
  --tw-gradient-to: hsl(var(--background) / 1) var(--tw-gradient-to-position);
}
.dark\:to-transparent:is(.dark *) {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.dark\:fill-slate-800:is(.dark *) {
  fill: #1e293b;
}
.dark\:text-\[\#34C759\]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 199 89 / var(--tw-text-opacity, 1));
}
.dark\:text-\[hsl\(211\2c 100\%\2c 68\%\)\]:is(.dark *) {
  --tw-text-opacity: 1;
  color: hsl(211 100% 68% / var(--tw-text-opacity, 1));
}
.dark\:text-amber-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400\/80:is(.dark *) {
  color: rgb(251 191 36 / 0.8);
}
.dark\:text-amber-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-cyan-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.dark\:text-destructive:is(.dark *) {
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-foreground:is(.dark *) {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.dark\:text-foreground\/80:is(.dark *) {
  color: hsl(var(--foreground) / 0.8);
}
.dark\:text-fuchsia-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-green-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.dark\:text-lime-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}
.dark\:text-muted-foreground:is(.dark *) {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.dark\:text-orange-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.dark\:text-primary:is(.dark *) {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
.dark\:text-primary\/60:is(.dark *) {
  color: hsl(var(--primary) / 0.6);
}
.dark\:text-primary\/80:is(.dark *) {
  color: hsl(var(--primary) / 0.8);
}
.dark\:text-purple-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.dark\:text-red-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.dark\:text-sky-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.dark\:text-sky-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.dark\:text-teal-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}
.dark\:text-teal-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}
.dark\:text-violet-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.dark\:text-violet-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.dark\:text-white:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.dark\:text-white\/50:is(.dark *) {
  color: rgb(255 255 255 / 0.5);
}
.dark\:text-white\/60:is(.dark *) {
  color: rgb(255 255 255 / 0.6);
}
.dark\:text-white\/80:is(.dark *) {
  color: rgb(255 255 255 / 0.8);
}
.dark\:text-white\/85:is(.dark *) {
  color: rgb(255 255 255 / 0.85);
}
.dark\:text-yellow-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.dark\:mix-blend-screen:is(.dark *) {
  mix-blend-mode: screen;
}
.dark\:shadow-\[0_-4px_20px_-4px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *) {
  --tw-shadow: 0 -4px 20px -4px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 -4px 20px -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);
}
.dark\:shadow-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.4\)\]:is(.dark *) {
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:shadow-\[0_24px_48px_rgba\(0\2c 0\2c 0\2c 0\.4\)\2c 0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.05\)\]:is(.dark *) {
  --tw-shadow: 0 24px 48px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05);
  --tw-shadow-colored: 0 24px 48px var(--tw-shadow-color), 0 0 0 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);
}
.dark\:shadow-\[0_2px_12px_rgba\(0\2c 0\2c 0\2c 0\.3\)\2c 0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.06\)\]:is(.dark *) {
  --tw-shadow: 0 2px 12px rgba(0,0,0,0.3),0 0 0 1px rgba(255,255,255,0.06);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color), 0 0 0 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);
}
.dark\:shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *) {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 4px 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);
}
.dark\:shadow-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.3\)\]:is(.dark *) {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark\:ring-primary\/20:is(.dark *) {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.dark\:ring-slate-800:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(30 41 59 / var(--tw-ring-opacity, 1));
}
.dark\:invert:is(.dark *) {
  --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);
}
  @media (max-width: 640px) {
    .dark\:text-muted-foreground:is(.dark *) {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.dark\:placeholder\:text-white\/60:is(.dark *)::-moz-placeholder {
  color: rgb(255 255 255 / 0.6);
}
.dark\:placeholder\:text-white\/60:is(.dark *)::placeholder {
  color: rgb(255 255 255 / 0.6);
}
.dark\:after\:border-white\/10:is(.dark *)::after {
  content: var(--tw-content);
  border-color: rgb(255 255 255 / 0.1);
}
.dark\:hover\:bg-amber-950\/20:hover:is(.dark *) {
  background-color: rgb(69 26 3 / 0.2);
}
.dark\:hover\:bg-emerald-950\/20:hover:is(.dark *) {
  background-color: rgb(2 44 34 / 0.2);
}
.dark\:hover\:bg-muted:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-muted\/50:hover:is(.dark *) {
  background-color: hsl(var(--muted) / 0.5);
}
.dark\:hover\:bg-primary\/25:hover:is(.dark *) {
  background-color: hsl(var(--primary) / 0.25);
}
.dark\:hover\:bg-primary\/30:hover:is(.dark *) {
  background-color: hsl(var(--primary) / 0.3);
}
.dark\:hover\:text-blue-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-foreground:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.dark\:focus\:bg-secondary:focus:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));
}
.dark\:focus-visible\:ring-white:focus-visible:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.dark\:focus-visible\:ring-offset-background:focus-visible:is(.dark *) {
  --tw-ring-offset-color: hsl(var(--background) / 1);
}
@media (min-width: 375px) {

  .xs\:block {
    display: block;
  }

  .xs\:inline {
    display: inline;
  }

  .xs\:hidden {
    display: none;
  }

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

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

  .xs\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (min-width: 640px) {

  .sm\:relative {
    position: relative;
  }

  .sm\:inset-auto {
    inset: auto;
  }

  .sm\:inset-x-auto {
    left: auto;
    right: auto;
  }

  .sm\:end-5 {
    inset-inline-end: 1.25rem;
  }

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

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

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

  .sm\:mb-10 {
    margin-bottom: 2.5rem;
  }

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

  .sm\:mb-14 {
    margin-bottom: 3.5rem;
  }

  .sm\:mb-16 {
    margin-bottom: 4rem;
  }

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

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

  .sm\:mb-4 {
    margin-bottom: 1rem;
  }

  .sm\:mb-5 {
    margin-bottom: 1.25rem;
  }

  .sm\:mb-6 {
    margin-bottom: 1.5rem;
  }

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

  .sm\:ms-\[52px\] {
    margin-inline-start: 52px;
  }

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

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

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

  .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\:grid {
    display: grid;
  }

  .sm\:hidden {
    display: none;
  }

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

  .sm\:h-12 {
    height: 3rem;
  }

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

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

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

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

  .sm\:h-7 {
    height: 1.75rem;
  }

  .sm\:h-8 {
    height: 2rem;
  }

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

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

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

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

  .sm\:max-h-\[90vh\] {
    max-height: 90vh;
  }

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

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

  .sm\:w-14 {
    width: 3.5rem;
  }

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

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

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

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

  .sm\:w-44 {
    width: 11rem;
  }

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

  .sm\:w-7 {
    width: 1.75rem;
  }

  .sm\:w-8 {
    width: 2rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .sm\:max-w-\[80\%\] {
    max-width: 80%;
  }

  .sm\:max-w-\[85\%\] {
    max-width: 85%;
  }

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

  .sm\:max-w-md {
    max-width: 28rem;
  }

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

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

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

  .sm\:basis-\[70\%\] {
    flex-basis: 70%;
  }

  .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\: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-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

  .sm\:grid-cols-\[12rem_1fr\] {
    grid-template-columns: 12rem 1fr;
  }

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

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

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

  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

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

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

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

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

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-10 {
    gap: 2.5rem;
  }

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

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

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

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

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

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

  .sm\:gap-6 {
    gap: 1.5rem;
  }

  .sm\:gap-7 {
    gap: 1.75rem;
  }

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

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

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

  .sm\: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)));
  }

  .sm\:space-y-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  .sm\: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));
  }

  .sm\:overflow-x-visible {
    overflow-x: visible;
  }

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

  .sm\:rounded-md {
    border-radius: .5rem;
  }

  .sm\:rounded-xl {
    border-radius: .75rem;
  }

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

  .sm\:border-s {
    border-inline-start-width: 1px;
  }

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

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

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

  .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-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .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-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

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

  .sm\:py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

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

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

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

  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

  .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\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

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

  .sm\:py-9 {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

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

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

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

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

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

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

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

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

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

  .sm\:pe-10 {
    padding-inline-end: 2.5rem;
  }

  .sm\:pe-24 {
    padding-inline-end: 6rem;
  }

  .sm\:ps-5 {
    padding-inline-start: 1.25rem;
  }

  .sm\:ps-\[44px\] {
    padding-inline-start: 44px;
  }

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

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

  .sm\:pt-16 {
    padding-top: 4rem;
  }

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

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

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

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

  .sm\:pt-9 {
    padding-top: 2.25rem;
  }

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

  .sm\:text-1xs {
    font-size: 11px;
    line-height: 1.4;
  }

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

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

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

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

  .sm\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

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

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

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

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

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

  .sm\:text-mkt-display {
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-weight: 800;
  }

  .sm\:text-mkt-h1 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.018em;
    font-weight: 700;
  }

  .sm\:text-mkt-h2 {
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -0.015em;
    font-weight: 700;
  }

  .sm\:text-mkt-h3 {
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: -0.01em;
    font-weight: 600;
  }

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

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

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

  .md\:mb-12 {
    margin-bottom: 3rem;
  }

  .md\:mb-4 {
    margin-bottom: 1rem;
  }

  .md\:me-1 {
    margin-inline-end: 0.25rem;
  }

  .md\:ms-1 {
    margin-inline-start: 0.25rem;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-1\.5 {
    height: 0.375rem;
  }

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

  .md\:h-3 {
    height: 0.75rem;
  }

  .md\:h-3\.5 {
    height: 0.875rem;
  }

  .md\:h-32 {
    height: 8rem;
  }

  .md\:h-5 {
    height: 1.25rem;
  }

  .md\:h-8 {
    height: 2rem;
  }

  .md\:h-\[400px\] {
    height: 400px;
  }

  .md\:max-h-\[64px\] {
    max-height: 64px;
  }

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

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-2\/5 {
    width: 40%;
  }

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

  .md\:w-3 {
    width: 0.75rem;
  }

  .md\:w-3\.5 {
    width: 0.875rem;
  }

  .md\:w-5 {
    width: 1.25rem;
  }

  .md\:w-8 {
    width: 2rem;
  }

  .md\:w-\[200px\] {
    width: 200px;
  }

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

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

  .md\:max-w-\[360px\] {
    max-width: 360px;
  }

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

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

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

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

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

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

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

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

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

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

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:gap-10 {
    gap: 2.5rem;
  }

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

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

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

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

  .md\:gap-6 {
    gap: 1.5rem;
  }

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

  .md\: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));
  }

  .md\:space-y-12 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }

  .md\: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));
  }

  .md\:rounded-\[1\.5rem\] {
    border-radius: 1.5rem;
  }

  .md\:rounded-\[2rem\] {
    border-radius: 2rem;
  }

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

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

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

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

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

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

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

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

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

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

  .md\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

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

  .md\:pt-14 {
    padding-top: 3.5rem;
  }

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

  .md\:text-2xs {
    font-size: 10px;
    line-height: 1.4;
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

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

  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-8xl {
    font-size: 6rem;
    line-height: 1;
  }

  .md\:text-\[2\.75rem\] {
    font-size: 2.75rem;
  }

  .md\:text-\[6px\] {
    font-size: 6px;
  }

  .md\:text-\[7px\] {
    font-size: 7px;
  }

  .md\:text-\[8px\] {
    font-size: 8px;
  }

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

  .md\:text-display {
    font-size: 56px;
    line-height: 1.1;
  }

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

  .md\:text-mkt-display {
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-weight: 800;
  }

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

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

  .md\:opacity-0 {
    opacity: 0;
  }
  
  .md\:hover-tilt-3d {
    transform-style: preserve-3d;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  
  .md\:hover-tilt-3d:hover {
    transform: perspective(1000px) rotateX(2deg) rotateY(-2deg) translateY(-6px) scale(1.02);
  }
  
  .md\:after\:hidden::after {
    content: var(--tw-content);
    display: none;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ms-0 {
    margin-inline-start: 0px;
  }
  
  .peer[data-variant="inset"][data-state="collapsed"] ~ .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ms-2 {
    margin-inline-start: 0.5rem;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: .75rem;
  }
  
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}
@media (min-width: 1024px) {

  .lg\:absolute {
    position: absolute;
  }

  .lg\:sticky {
    position: sticky;
  }

  .lg\:inset-x-0 {
    left: 0px;
    right: 0px;
  }

  .lg\:bottom-4 {
    bottom: 1rem;
  }

  .lg\:end-4 {
    inset-inline-end: 1rem;
  }

  .lg\:start-auto {
    inset-inline-start: auto;
  }

  .lg\:top-0 {
    top: 0px;
  }

  .lg\:top-28 {
    top: 7rem;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

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

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

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

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:col-start-1 {
    grid-column-start: 1;
  }

  .lg\:col-start-2 {
    grid-column-start: 2;
  }

  .lg\:col-start-3 {
    grid-column-start: 3;
  }

  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }

  .lg\:row-start-1 {
    grid-row-start: 1;
  }

  .lg\:mx-10 {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }

  .lg\:mx-20 {
    margin-left: 5rem;
    margin-right: 5rem;
  }

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

  .lg\:mb-12 {
    margin-bottom: 3rem;
  }

  .lg\:mb-16 {
    margin-bottom: 4rem;
  }

  .lg\:mb-20 {
    margin-bottom: 5rem;
  }

  .lg\:mt-16 {
    margin-top: 4rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:table-cell {
    display: table-cell;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-72 {
    height: 18rem;
  }

  .lg\:h-\[200vh\] {
    height: 200vh;
  }

  .lg\:h-\[420px\] {
    height: 420px;
  }

  .lg\:h-screen {
    height: 100vh;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-72 {
    width: 18rem;
  }

  .lg\:w-\[420px\] {
    width: 420px;
  }

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

  .lg\:max-w-\[58\%\] {
    max-width: 58%;
  }

  .lg\:max-w-\[64\%\] {
    max-width: 64%;
  }

  .lg\:max-w-\[95\%\] {
    max-width: 95%;
  }

  .lg\:max-w-md {
    max-width: 28rem;
  }

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

  .lg\:flex-\[1\.2\] {
    flex: 1.2;
  }

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

  .lg\:basis-1\/2 {
    flex-basis: 50%;
  }

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

  .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\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

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

  .lg\:grid-cols-\[0\.72fr_1\.28fr\] {
    grid-template-columns: 0.72fr 1.28fr;
  }

  .lg\:grid-cols-\[14rem_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 14rem minmax(0,1fr);
  }

  .lg\:grid-cols-\[18rem_1fr\] {
    grid-template-columns: 18rem 1fr;
  }

  .lg\:grid-cols-\[1fr_0\.9fr\] {
    grid-template-columns: 1fr 0.9fr;
  }

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

  .lg\:grid-cols-\[minmax\(0\2c 16rem\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,16rem) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 18rem\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,18rem) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 22rem\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,1fr) minmax(0,22rem) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 3fr\)\] {
    grid-template-columns: minmax(0,1fr) minmax(0,3fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 20rem\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,20rem) minmax(0,1fr);
  }

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

  .lg\:grid-cols-\[minmax\(0\2c 2fr\)_minmax\(0\2c 3fr\)\] {
    grid-template-columns: minmax(0,2fr) minmax(0,3fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 340px\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,340px) minmax(0,1fr);
  }

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

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

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

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

  .lg\:justify-end {
    justify-content: flex-end;
  }

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

  .lg\:gap-10 {
    gap: 2.5rem;
  }

  .lg\:gap-12 {
    gap: 3rem;
  }

  .lg\:gap-14 {
    gap: 3.5rem;
  }

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

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

  .lg\:gap-20 {
    gap: 5rem;
  }

  .lg\:gap-24 {
    gap: 6rem;
  }

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

  .lg\:gap-6 {
    gap: 1.5rem;
  }

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

  .lg\: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));
  }

  .lg\:justify-self-end {
    justify-self: end;
  }

  .lg\:rounded-2xl {
    border-radius: 1rem;
  }

  .lg\:border {
    border-width: 1px;
  }

  .lg\:border-s {
    border-inline-start-width: 1px;
  }

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

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

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

  .lg\:px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

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

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

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

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

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

  .lg\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

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

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

  .lg\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

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

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

  .lg\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .lg\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

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

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

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pb-36 {
    padding-bottom: 9rem;
  }

  .lg\:pe-6 {
    padding-inline-end: 1.5rem;
  }

  .lg\:ps-6 {
    padding-inline-start: 1.5rem;
  }

  .lg\:pt-28 {
    padding-top: 7rem;
  }

  .lg\:pt-32 {
    padding-top: 8rem;
  }

  .lg\:text-center {
    text-align: center;
  }

  .lg\:text-start {
    text-align: start;
  }

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

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

  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

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

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-\[4\.5rem\] {
    font-size: 4.5rem;
  }

  .lg\:text-\[40px\] {
    font-size: 40px;
  }

  .lg\:text-\[56px\] {
    font-size: 56px;
  }

  .lg\:text-display {
    font-size: 56px;
    line-height: 1.1;
  }

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

  .lg\:text-mkt-display {
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-weight: 800;
  }

  .lg\:text-mkt-h1 {
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.018em;
    font-weight: 700;
  }

  .lg\:text-mkt-hero {
    font-size: 72px;
    line-height: 1.02;
    letter-spacing: -0.03em;
    font-weight: 800;
  }

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

  .lg\: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);
  }

  .lg\:border.toggle-elevate::before {
    inset: -1px;
  }

  .lg\:border.hover-elevate:not(.no-hover-interaction-elevate)::after,.lg\:border.active-elevate:not(.no-active-interaction-elevate)::after,.lg\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.lg\:border.active-elevate-2:not(.no-active-interaction-elevate)::after,.lg\:border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
}
@media (min-width: 1280px) {

  .xl\:flex {
    display: flex;
  }

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

  .xl\:hidden {
    display: none;
  }

  .xl\:w-\[460px\] {
    width: 460px;
  }

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

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

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

  .xl\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}
.rtl\:translate-x-1\/2:where([dir="rtl"], [dir="rtl"] *) {
  --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));
}
.rtl\:rotate-180:where([dir="rtl"], [dir="rtl"] *) {
  --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));
}
.rtl\:-scale-x-100:where([dir="rtl"], [dir="rtl"] *) {
  --tw-scale-x: -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));
}
.rtl\:divide-x-reverse:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 1;
}
.rtl\:bg-gradient-to-r:where([dir="rtl"], [dir="rtl"] *) {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
@media print {

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

  .print\:mb-1 {
    margin-bottom: 0.25rem;
  }

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

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

  .print\:mb-4 {
    margin-bottom: 1rem;
  }

  .print\:mt-1 {
    margin-top: 0.25rem;
  }

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

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

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

  .print\:block {
    display: block;
  }

  .print\:flex {
    display: flex;
  }

  .print\:hidden {
    display: none;
  }

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

  .print\:max-w-none {
    max-width: none;
  }

  .print\:items-start {
    align-items: flex-start;
  }

  .print\:justify-between {
    justify-content: space-between;
  }

  .print\:space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
  }

  .print\:border {
    border-width: 1px;
  }

  .print\:border-black\/\[0\.08\] {
    border-color: rgb(0 0 0 / 0.08);
  }

  .print\:border-primary\/10 {
    border-color: hsl(var(--primary) / 0.1);
  }

  .print\:border-primary\/20 {
    border-color: hsl(var(--primary) / 0.2);
  }

  .print\:bg-\[\#F2F2F7\] {
    --tw-bg-opacity: 1;
    background-color: rgb(242 242 247 / var(--tw-bg-opacity, 1));
  }

  .print\:bg-primary\/10 {
    background-color: hsl(var(--primary) / 0.1);
  }

  .print\:bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

  .print\:p-3 {
    padding: 0.75rem;
  }

  .print\:ps-3 {
    padding-inline-start: 0.75rem;
  }

  .print\:ps-4 {
    padding-inline-start: 1rem;
  }

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

  .print\:text-start {
    text-align: start;
  }

  .print\:text-\[8pt\] {
    font-size: 8pt;
  }

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

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

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

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

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

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

  .print\:font-semibold {
    font-weight: 600;
  }

  .print\:italic {
    font-style: italic;
  }

  .print\:leading-relaxed {
    line-height: 1.625;
  }

  .print\:text-\[\#1D1D1F\] {
    --tw-text-opacity: 1;
    color: rgb(29 29 31 / var(--tw-text-opacity, 1));
  }

  .print\:text-\[\#6E6E73\] {
    --tw-text-opacity: 1;
    color: rgb(110 110 115 / var(--tw-text-opacity, 1));
  }

  .print\:text-\[\#999\] {
    --tw-text-opacity: 1;
    color: rgb(153 153 153 / var(--tw-text-opacity, 1));
  }

  .print\:text-primary {
    --tw-text-opacity: 1;
    color: hsl(var(--primary) / var(--tw-text-opacity, 1));
  }

  .print\:border.toggle-elevate::before {
    inset: -1px;
  }

  .print\:border.hover-elevate:not(.no-hover-interaction-elevate)::after,.print\:border.active-elevate:not(.no-active-interaction-elevate)::after,.print\:border.hover-elevate-2:not(.no-hover-interaction-elevate)::after,.print\:border.active-elevate-2:not(.no-active-interaction-elevate)::after,.print\:border.hover-elevate:not(.no-hover-interaction-elevate)::after {
    inset: -1px;
  }
}
.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
  display: none;
}
.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));
}
.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
  border-top-left-radius: .5rem;
  border-bottom-left-radius: .5rem;
}
.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
  border-top-right-radius: .5rem;
  border-bottom-right-radius: .5rem;
}
.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
  background-color: hsl(var(--accent) / 0.5);
}
.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
  border-top-right-radius: .5rem;
  border-bottom-right-radius: .5rem;
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]) {
  padding-inline-end: 0px;
}
.\[\&\>button\:last-child\]\:hidden>button:last-child {
  display: none;
}
.\[\&\>button\]\:hidden>button {
  display: none;
}
.\[\&\>div\]\:bg-amber-500>div {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.\[\&\>div\]\:bg-destructive>div {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));
}
.\[\&\>div\]\:bg-red-500>div {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  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));
}
.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}
.\[\&\>svg\]\:start-4>svg {
  inset-inline-start: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}
.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}
.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}
.\[\&\>svg\]\:h-3\.5>svg {
  height: 0.875rem;
}
.\[\&\>svg\]\:h-4>svg {
  height: 1rem;
}
.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}
.\[\&\>svg\]\:w-3\.5>svg {
  width: 0.875rem;
}
.\[\&\>svg\]\:w-4>svg {
  width: 1rem;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&\>svg\]\:text-amber-600>svg {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-destructive>svg {
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-emerald-600>svg {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-muted-foreground>svg {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-primary>svg {
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  --tw-text-opacity: 1;
  color: hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity, 1));
}
  @media (max-width: 640px) {
    .\[\&\>svg\]\:text-muted-foreground>svg {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.dark\:\[\&\>svg\]\:text-amber-400>svg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:\[\&\>svg\]\:text-emerald-400>svg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\~\*\]\:ps-7>svg~* {
  padding-inline-start: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --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));
}
.\[\&\[data-state\=open\]\]\:bg-muted\/20[data-state=open] {
  background-color: hsl(var(--muted) / 0.2);
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground) / 1);
}
.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
  stroke: hsl(var(--border) / 0.5);
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: hsl(var(--border) / 1);
}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: hsl(var(--border) / 1);
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted) / 1);
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted) / 1);
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border) / 1);
}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:pb-1 [cmdk-group-heading] {
  padding-bottom: 0.25rem;
}
.\[\&_\[cmdk-group-heading\]\]\:pt-2 [cmdk-group-heading] {
  padding-top: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-\[11px\] [cmdk-group-heading] {
  font-size: 11px;
}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: 500;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));
}
  @media (max-width: 640px) {
    .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
      color: hsl(var(--muted-foreground) / 0.9);
    }
  }
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}
.\[\&_\[cmdk-group\]\]\:px-1\.5 [cmdk-group] {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.\[\&_\[cmdk-input-wrapper\]\]\:bg-transparent [cmdk-input-wrapper] {
  background-color: transparent;
}
.\[\&_\[cmdk-input-wrapper\]\]\:px-4 [cmdk-input-wrapper] {
  padding-left: 1rem;
  padding-right: 1rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}
.\[\&_\[cmdk-input\]\]\:text-\[15px\] [cmdk-input] {
  font-size: 15px;
}
.\[\&_\[cmdk-item\]\[data-selected\=true\]\]\:bg-muted [cmdk-item][data-selected=true] {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));
}
.\[\&_\[cmdk-item\]\[data-selected\=true\]\]\:text-foreground [cmdk-item][data-selected=true] {
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity, 1));
}
.\[\&_\[cmdk-item\]\]\:h-9 [cmdk-item] {
  height: 2.25rem;
}
.\[\&_\[cmdk-item\]\]\:px-2\.5 [cmdk-item] {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.\[\&_\[cmdk-item\]\]\:py-0 [cmdk-item] {
  padding-top: 0px;
  padding-bottom: 0px;
}
.\[\&_\[cmdk-item\]\]\:text-\[13px\] [cmdk-item] {
  font-size: 13px;
}
.\[\&_\[data-radix-scroll-area-viewport\]\>div\]\:\!block [data-radix-scroll-area-viewport]>div {
  display: block !important;
}
.\[\&_h1\]\:text-base h1 {
  font-size: 1rem;
  line-height: 1.5rem;
}
.\[\&_h2\]\:text-sm h2 {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_strong\]\:font-semibold strong {
  font-weight: 600;
}
.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}
.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
.\[\&_td\]\:tabular-nums td {
  --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);
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}
