*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

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

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

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Nunito, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

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

small {
  font-size: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

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

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

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

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :root {
    --background: 0 0% 100%;
    --foreground: 250 25% 20%;

    --card: 0 0% 100%;
    --card-foreground: 250 25% 20%;

    --popover: 0 0% 100%;
    --popover-foreground: 250 25% 20%;

    --primary: 258 83% 55%;
    --primary-light: 262 100% 68%;
    --primary-foreground: 0 0% 100%;

    --secondary: 250 30% 96%;
    --secondary-foreground: 250 25% 20%;

    --muted: 250 20% 95%;
    --muted-foreground: 250 10% 43%;

    --accent: 280 55% 65%;
    --accent-strong: 280 50% 45%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 72% 60%;
    --destructive-foreground: 0 0% 100%;

    --border: 250 15% 92%;
    --input: 250 15% 92%;
    --ring: 260 60% 55%;

    --radius: 1.25rem;

    --pastel-blue: 230 70% 95%;
    --pastel-purple: 260 60% 94%;
    --pastel-green: 160 50% 93%;
    --pastel-orange: 32 80% 94%;
    --pastel-pink: 300 50% 95%;
    --pastel-yellow: 45 80% 94%;

    --gradient-primary: linear-gradient(135deg, hsl(260 60% 55%), hsl(280 55% 65%));
    --gradient-hero: linear-gradient(145deg, hsl(240 50% 96%), hsl(260 40% 94%), hsl(280 35% 96%));

    --sidebar-background: 250 20% 98%;
    --sidebar-foreground: 250 12% 30%;
    --sidebar-primary: 260 60% 55%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 250 15% 96%;
    --sidebar-accent-foreground: 250 25% 20%;
    --sidebar-border: 250 13% 92%;
    --sidebar-ring: 260 60% 55%;
  }

  .dark {
    --background: 250 25% 8%;
    --foreground: 250 15% 93%;

    --card: 250 22% 12%;
    --card-foreground: 250 15% 93%;

    --popover: 250 22% 12%;
    --popover-foreground: 250 15% 93%;

    --primary: 260 60% 65%;
    --primary-foreground: 0 0% 100%;

    --secondary: 250 20% 18%;
    --secondary-foreground: 250 15% 88%;

    --muted: 250 18% 16%;
    --muted-foreground: 250 15% 74%;

    --accent: 280 50% 60%;
    --accent-strong: 280 70% 80%;
    --accent-foreground: 0 0% 100%;

    --destructive: 0 65% 55%;
    --destructive-foreground: 0 0% 100%;

    --border: 250 18% 22%;
    --input: 250 18% 22%;
    --ring: 260 60% 65%;

    --pastel-blue: 230 40% 20%;
    --pastel-purple: 260 35% 20%;
    --pastel-green: 160 30% 18%;
    --pastel-orange: 32 45% 18%;
    --pastel-pink: 300 30% 20%;
    --pastel-yellow: 45 45% 18%;

    --gradient-primary: linear-gradient(135deg, hsl(260 60% 65%), hsl(280 50% 60%));
    --gradient-hero: linear-gradient(145deg, hsl(250 25% 10%), hsl(260 22% 12%), hsl(270 20% 11%));

    --sidebar-background: 250 22% 10%;
    --sidebar-foreground: 250 12% 75%;
    --sidebar-primary: 260 60% 65%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 250 18% 16%;
    --sidebar-accent-foreground: 250 15% 88%;
    --sidebar-border: 250 18% 20%;
    --sidebar-ring: 260 60% 65%;
  }
  * {
  border-color: hsl(var(--border));
}

  body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
    font-family: "Nunito", sans-serif;
}

  h1,
  h2,
  h3 {
    font-family: "Quicksand", sans-serif;
    font-weight: 800;
  }
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {

  .container {
    max-width: 1400px;
  }
}
.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 !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.\!fixed {
  position: fixed !important;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-5 {
  inset: -1.25rem;
}
.-inset-6 {
  inset: -1.5rem;
}
.inset-0 {
  inset: 0px;
}
.inset-10 {
  inset: 2.5rem;
}
.inset-12 {
  inset: 3rem;
}
.inset-2 {
  inset: 0.5rem;
}
.inset-3 {
  inset: 0.75rem;
}
.inset-4 {
  inset: 1rem;
}
.inset-5 {
  inset: 1.25rem;
}
.inset-8 {
  inset: 2rem;
}
.inset-\[10\%\] {
  inset: 10%;
}
.inset-\[12\%\] {
  inset: 12%;
}
.inset-\[13\%\] {
  inset: 13%;
}
.inset-\[18px\] {
  inset: 18px;
}
.inset-\[22\%\] {
  inset: 22%;
}
.inset-\[23\%\] {
  inset: 23%;
}
.inset-\[4\%\] {
  inset: 4%;
}
.inset-\[5\%\] {
  inset: 5%;
}
.inset-\[54px\] {
  inset: 54px;
}
.inset-\[7\%\] {
  inset: 7%;
}
.inset-\[8\%\] {
  inset: 8%;
}
.inset-\[9\%\] {
  inset: 9%;
}
.-inset-y-10 {
  top: -2.5rem;
  bottom: -2.5rem;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-12 {
  left: 3rem;
  right: 3rem;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.inset-x-5 {
  left: 1.25rem;
  right: 1.25rem;
}
.inset-x-6 {
  left: 1.5rem;
  right: 1.5rem;
}
.inset-x-8 {
  left: 2rem;
  right: 2rem;
}
.inset-x-\[5\%\] {
  left: 5%;
  right: 5%;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.inset-y-\[-15\%\] {
  top: -15%;
  bottom: -15%;
}
.-bottom-10 {
  bottom: -2.5rem;
}
.-bottom-12 {
  bottom: -3rem;
}
.-bottom-14 {
  bottom: -3.5rem;
}
.-bottom-16 {
  bottom: -4rem;
}
.-bottom-2 {
  bottom: -0.5rem;
}
.-bottom-20 {
  bottom: -5rem;
}
.-bottom-24 {
  bottom: -6rem;
}
.-bottom-28 {
  bottom: -7rem;
}
.-bottom-3 {
  bottom: -0.75rem;
}
.-bottom-32 {
  bottom: -8rem;
}
.-bottom-36 {
  bottom: -9rem;
}
.-bottom-4 {
  bottom: -1rem;
}
.-bottom-40 {
  bottom: -10rem;
}
.-bottom-48 {
  bottom: -12rem;
}
.-bottom-5 {
  bottom: -1.25rem;
}
.-bottom-52 {
  bottom: -13rem;
}
.-bottom-6 {
  bottom: -1.5rem;
}
.-bottom-64 {
  bottom: -16rem;
}
.-bottom-8 {
  bottom: -2rem;
}
.-left-1 {
  left: -0.25rem;
}
.-left-1\.5 {
  left: -0.375rem;
}
.-left-1\/2 {
  left: -50%;
}
.-left-1\/3 {
  left: -33.333333%;
}
.-left-10 {
  left: -2.5rem;
}
.-left-12 {
  left: -3rem;
}
.-left-16 {
  left: -4rem;
}
.-left-20 {
  left: -5rem;
}
.-left-24 {
  left: -6rem;
}
.-left-28 {
  left: -7rem;
}
.-left-3 {
  left: -0.75rem;
}
.-left-32 {
  left: -8rem;
}
.-left-4 {
  left: -1rem;
}
.-left-40 {
  left: -10rem;
}
.-left-44 {
  left: -11rem;
}
.-left-5 {
  left: -1.25rem;
}
.-left-6 {
  left: -1.5rem;
}
.-left-8 {
  left: -2rem;
}
.-left-\[2\.4rem\] {
  left: -2.4rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-11 {
  right: -2.75rem;
}
.-right-12 {
  right: -3rem;
}
.-right-14 {
  right: -3.5rem;
}
.-right-16 {
  right: -4rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-20 {
  right: -5rem;
}
.-right-24 {
  right: -6rem;
}
.-right-28 {
  right: -7rem;
}
.-right-3 {
  right: -0.75rem;
}
.-right-32 {
  right: -8rem;
}
.-right-36 {
  right: -9rem;
}
.-right-4 {
  right: -1rem;
}
.-right-40 {
  right: -10rem;
}
.-right-44 {
  right: -11rem;
}
.-right-48 {
  right: -12rem;
}
.-right-5 {
  right: -1.25rem;
}
.-right-52 {
  right: -13rem;
}
.-right-6 {
  right: -1.5rem;
}
.-right-8 {
  right: -2rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-10 {
  top: -2.5rem;
}
.-top-12 {
  top: -3rem;
}
.-top-14 {
  top: -3.5rem;
}
.-top-16 {
  top: -4rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-20 {
  top: -5rem;
}
.-top-24 {
  top: -6rem;
}
.-top-3\.5 {
  top: -0.875rem;
}
.-top-32 {
  top: -8rem;
}
.-top-4 {
  top: -1rem;
}
.-top-40 {
  top: -10rem;
}
.-top-44 {
  top: -11rem;
}
.-top-5 {
  top: -1.25rem;
}
.-top-6 {
  top: -1.5rem;
}
.-top-64 {
  top: -16rem;
}
.-top-8 {
  top: -2rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-1\/4 {
  bottom: 25%;
}
.bottom-10 {
  bottom: 2.5rem;
}
.bottom-11 {
  bottom: 2.75rem;
}
.bottom-12 {
  bottom: 3rem;
}
.bottom-14 {
  bottom: 3.5rem;
}
.bottom-16 {
  bottom: 4rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-20 {
  bottom: 5rem;
}
.bottom-28 {
  bottom: 7rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-36 {
  bottom: 9rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-8 {
  bottom: 2rem;
}
.bottom-\[10\%\] {
  bottom: 10%;
}
.bottom-\[12\%\] {
  bottom: 12%;
}
.bottom-\[13\%\] {
  bottom: 13%;
}
.bottom-\[14\%\] {
  bottom: 14%;
}
.bottom-\[16\%\] {
  bottom: 16%;
}
.bottom-\[17\%\] {
  bottom: 17%;
}
.bottom-\[19\%\] {
  bottom: 19%;
}
.bottom-\[20\%\] {
  bottom: 20%;
}
.bottom-\[21\%\] {
  bottom: 21%;
}
.bottom-\[23\%\] {
  bottom: 23%;
}
.bottom-\[24\%\] {
  bottom: 24%;
}
.bottom-\[4\%\] {
  bottom: 4%;
}
.bottom-\[5\%\] {
  bottom: 5%;
}
.bottom-\[7\%\] {
  bottom: 7%;
}
.bottom-\[7mm\] {
  bottom: 7mm;
}
.bottom-\[84px\] {
  bottom: 84px;
}
.bottom-\[9\%\] {
  bottom: 9%;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-0\.5 {
  left: 0.125rem;
}
.left-1 {
  left: 0.25rem;
}
.left-1\/2 {
  left: 50%;
}
.left-1\/3 {
  left: 33.333333%;
}
.left-1\/4 {
  left: 25%;
}
.left-10 {
  left: 2.5rem;
}
.left-11 {
  left: 2.75rem;
}
.left-12 {
  left: 3rem;
}
.left-2 {
  left: 0.5rem;
}
.left-3 {
  left: 0.75rem;
}
.left-3\.5 {
  left: 0.875rem;
}
.left-4 {
  left: 1rem;
}
.left-5 {
  left: 1.25rem;
}
.left-6 {
  left: 1.5rem;
}
.left-7 {
  left: 1.75rem;
}
.left-8 {
  left: 2rem;
}
.left-\[-12rem\] {
  left: -12rem;
}
.left-\[10\%\] {
  left: 10%;
}
.left-\[10mm\] {
  left: 10mm;
}
.left-\[11\%\] {
  left: 11%;
}
.left-\[12\%\] {
  left: 12%;
}
.left-\[14\%\] {
  left: 14%;
}
.left-\[16\%\] {
  left: 16%;
}
.left-\[16\.67\%\] {
  left: 16.67%;
}
.left-\[18\%\] {
  left: 18%;
}
.left-\[19\%\] {
  left: 19%;
}
.left-\[2\%\] {
  left: 2%;
}
.left-\[20\%\] {
  left: 20%;
}
.left-\[3\%\] {
  left: 3%;
}
.left-\[38\%\] {
  left: 38%;
}
.left-\[4\%\] {
  left: 4%;
}
.left-\[50\%\] {
  left: 50%;
}
.left-\[6\%\] {
  left: 6%;
}
.left-\[7\%\] {
  left: 7%;
}
.left-\[8\%\] {
  left: 8%;
}
.left-\[9\%\] {
  left: 9%;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-1\/4 {
  right: 25%;
}
.right-10 {
  right: 2.5rem;
}
.right-11 {
  right: 2.75rem;
}
.right-12 {
  right: 3rem;
}
.right-14 {
  right: 3.5rem;
}
.right-16 {
  right: 4rem;
}
.right-2 {
  right: 0.5rem;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-20 {
  right: 5rem;
}
.right-24 {
  right: 6rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-40 {
  right: 10rem;
}
.right-48 {
  right: 12rem;
}
.right-5 {
  right: 1.25rem;
}
.right-52 {
  right: 13rem;
}
.right-56 {
  right: 14rem;
}
.right-6 {
  right: 1.5rem;
}
.right-8 {
  right: 2rem;
}
.right-\[-10rem\] {
  right: -10rem;
}
.right-\[-13rem\] {
  right: -13rem;
}
.right-\[-4rem\] {
  right: -4rem;
}
.right-\[-5px\] {
  right: -5px;
}
.right-\[-8rem\] {
  right: -8rem;
}
.right-\[1\%\] {
  right: 1%;
}
.right-\[105px\] {
  right: 105px;
}
.right-\[10mm\] {
  right: 10mm;
}
.right-\[11\%\] {
  right: 11%;
}
.right-\[12\%\] {
  right: 12%;
}
.right-\[14\%\] {
  right: 14%;
}
.right-\[15\%\] {
  right: 15%;
}
.right-\[16\.67\%\] {
  right: 16.67%;
}
.right-\[17\%\] {
  right: 17%;
}
.right-\[18\%\] {
  right: 18%;
}
.right-\[2\%\] {
  right: 2%;
}
.right-\[20\%\] {
  right: 20%;
}
.right-\[3\%\] {
  right: 3%;
}
.right-\[34\%\] {
  right: 34%;
}
.right-\[38\%\] {
  right: 38%;
}
.right-\[4\%\] {
  right: 4%;
}
.right-\[42\%\] {
  right: 42%;
}
.right-\[46\%\] {
  right: 46%;
}
.right-\[5\%\] {
  right: 5%;
}
.right-\[6\%\] {
  right: 6%;
}
.right-\[7\%\] {
  right: 7%;
}
.right-\[8\%\] {
  right: 8%;
}
.right-\[9\%\] {
  right: 9%;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-1\/4 {
  top: 25%;
}
.top-10 {
  top: 2.5rem;
}
.top-11 {
  top: 2.75rem;
}
.top-12 {
  top: 3rem;
}
.top-14 {
  top: 3.5rem;
}
.top-16 {
  top: 4rem;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-20 {
  top: 5rem;
}
.top-24 {
  top: 6rem;
}
.top-28 {
  top: 7rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-32 {
  top: 8rem;
}
.top-36 {
  top: 9rem;
}
.top-4 {
  top: 1rem;
}
.top-40 {
  top: 10rem;
}
.top-5 {
  top: 1.25rem;
}
.top-6 {
  top: 1.5rem;
}
.top-7 {
  top: 1.75rem;
}
.top-72 {
  top: 18rem;
}
.top-8 {
  top: 2rem;
}
.top-9 {
  top: 2.25rem;
}
.top-\[-5rem\] {
  top: -5rem;
}
.top-\[10\%\] {
  top: 10%;
}
.top-\[112px\] {
  top: 112px;
}
.top-\[12\%\] {
  top: 12%;
}
.top-\[13\%\] {
  top: 13%;
}
.top-\[14\%\] {
  top: 14%;
}
.top-\[15\%\] {
  top: 15%;
}
.top-\[16\%\] {
  top: 16%;
}
.top-\[17\%\] {
  top: 17%;
}
.top-\[18\%\] {
  top: 18%;
}
.top-\[190px\] {
  top: 190px;
}
.top-\[1px\] {
  top: 1px;
}
.top-\[20\%\] {
  top: 20%;
}
.top-\[21\%\] {
  top: 21%;
}
.top-\[22\%\] {
  top: 22%;
}
.top-\[23\%\] {
  top: 23%;
}
.top-\[24\%\] {
  top: 24%;
}
.top-\[27\%\] {
  top: 27%;
}
.top-\[28\%\] {
  top: 28%;
}
.top-\[31\%\] {
  top: 31%;
}
.top-\[315px\] {
  top: 315px;
}
.top-\[32\%\] {
  top: 32%;
}
.top-\[33\%\] {
  top: 33%;
}
.top-\[38\%\] {
  top: 38%;
}
.top-\[4\%\] {
  top: 4%;
}
.top-\[4\.5rem\] {
  top: 4.5rem;
}
.top-\[40\%\] {
  top: 40%;
}
.top-\[44\%\] {
  top: 44%;
}
.top-\[48\%\] {
  top: 48%;
}
.top-\[49\%\] {
  top: 49%;
}
.top-\[5\%\] {
  top: 5%;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[56\%\] {
  top: 56%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-\[68\%\] {
  top: 68%;
}
.top-\[70\%\] {
  top: 70%;
}
.top-\[8\%\] {
  top: 8%;
}
.top-\[9\%\] {
  top: 9%;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-0 {
  z-index: 0;
}
.-z-10 {
  z-index: -10;
}
.-z-20 {
  z-index: -20;
}
.-z-30 {
  z-index: -30;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[10000\] {
  z-index: 10000;
}
.z-\[10020\] {
  z-index: 10020;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[10\] {
  z-index: 10;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[4\] {
  z-index: 4;
}
.z-\[5\] {
  z-index: 5;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[6\] {
  z-index: 6;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[9998\] {
  z-index: 9998;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[9\] {
  z-index: 9;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-start-3 {
  grid-column-start: 3;
}
.row-span-3 {
  grid-row: span 3 / span 3;
}
.row-start-1 {
  grid-row-start: 1;
}
.float-right {
  float: right;
}
.-m-6 {
  margin: -1.5rem;
}
.m-0 {
  margin: 0px;
}
.m-1 {
  margin: 0.25rem;
}
.m-6 {
  margin: 1.5rem;
}
.m-auto {
  margin: auto;
}
.-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-6 {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.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-1\.5 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-16 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-2\.5 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-7 {
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
}
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.\!mt-0 {
  margin-top: 0px !important;
}
.-ml-3 {
  margin-left: -0.75rem;
}
.-ml-4 {
  margin-left: -1rem;
}
.-mr-1 {
  margin-right: -0.25rem;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.-mt-3 {
  margin-top: -0.75rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.-mt-6 {
  margin-top: -1.5rem;
}
.-mt-7 {
  margin-top: -1.75rem;
}
.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-24 {
  margin-bottom: 6rem;
}
.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;
}
.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-5 {
  margin-left: 1.25rem;
}
.ml-6 {
  margin-left: 1.5rem;
}
.ml-7 {
  margin-left: 1.75rem;
}
.ml-8 {
  margin-left: 2rem;
}
.ml-\[52px\] {
  margin-left: 52px;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-7 {
  margin-right: 1.75rem;
}
.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-20 {
  margin-top: 5rem;
}
.mt-24 {
  margin-top: 6rem;
}
.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-auto {
  margin-top: auto;
}
.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;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.\!table {
  display: table !important;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.inline-grid {
  display: inline-grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-\[1\.05\] {
  aspect-ratio: 1.05;
}
.aspect-\[1\.18\/1\] {
  aspect-ratio: 1.18/1;
}
.aspect-\[16\/10\] {
  aspect-ratio: 16/10;
}
.aspect-\[16\/8\] {
  aspect-ratio: 16/8;
}
.aspect-\[16\/9\] {
  aspect-ratio: 16/9;
}
.aspect-\[2\/3\] {
  aspect-ratio: 2/3;
}
.aspect-\[3\/2\] {
  aspect-ratio: 3/2;
}
.aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}
.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-1\/3 {
  height: 33.333333%;
}
.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-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-52 {
  height: 13rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-60 {
  height: 15rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-96 {
  height: 24rem;
}
.h-\[0\.55em\] {
  height: 0.55em;
}
.h-\[104\%\] {
  height: 104%;
}
.h-\[106\%\] {
  height: 106%;
}
.h-\[110\%\] {
  height: 110%;
}
.h-\[110px\] {
  height: 110px;
}
.h-\[120\%\] {
  height: 120%;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[122\%\] {
  height: 122%;
}
.h-\[126\%\] {
  height: 126%;
}
.h-\[150\%\] {
  height: 150%;
}
.h-\[180px\] {
  height: 180px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[210px\] {
  height: 210px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[245px\] {
  height: 245px;
}
.h-\[24rem\] {
  height: 24rem;
}
.h-\[250px\] {
  height: 250px;
}
.h-\[25rem\] {
  height: 25rem;
}
.h-\[260px\] {
  height: 260px;
}
.h-\[270px\] {
  height: 270px;
}
.h-\[280px\] {
  height: 280px;
}
.h-\[285px\] {
  height: 285px;
}
.h-\[298px\] {
  height: 298px;
}
.h-\[300px\] {
  height: 300px;
}
.h-\[30rem\] {
  height: 30rem;
}
.h-\[310px\] {
  height: 310px;
}
.h-\[318px\] {
  height: 318px;
}
.h-\[320px\] {
  height: 320px;
}
.h-\[32rem\] {
  height: 32rem;
}
.h-\[330px\] {
  height: 330px;
}
.h-\[340px\] {
  height: 340px;
}
.h-\[34rem\] {
  height: 34rem;
}
.h-\[350px\] {
  height: 350px;
}
.h-\[360px\] {
  height: 360px;
}
.h-\[365px\] {
  height: 365px;
}
.h-\[36rem\] {
  height: 36rem;
}
.h-\[37rem\] {
  height: 37rem;
}
.h-\[380px\] {
  height: 380px;
}
.h-\[402px\] {
  height: 402px;
}
.h-\[410px\] {
  height: 410px;
}
.h-\[420px\] {
  height: 420px;
}
.h-\[430px\] {
  height: 430px;
}
.h-\[450px\] {
  height: 450px;
}
.h-\[4mm\] {
  height: 4mm;
}
.h-\[500px\] {
  height: 500px;
}
.h-\[55\%\] {
  height: 55%;
}
.h-\[560px\] {
  height: 560px;
}
.h-\[600px\] {
  height: 600px;
}
.h-\[60vh\] {
  height: 60vh;
}
.h-\[62\%\] {
  height: 62%;
}
.h-\[64\%\] {
  height: 64%;
}
.h-\[66px\] {
  height: 66px;
}
.h-\[68\%\] {
  height: 68%;
}
.h-\[680px\] {
  height: 680px;
}
.h-\[700px\] {
  height: 700px;
}
.h-\[70vh\] {
  height: 70vh;
}
.h-\[76\%\] {
  height: 76%;
}
.h-\[760px\] {
  height: 760px;
}
.h-\[76px\] {
  height: 76px;
}
.h-\[78\%\] {
  height: 78%;
}
.h-\[80vh\] {
  height: 80vh;
}
.h-\[82\%\] {
  height: 82%;
}
.h-\[84\%\] {
  height: 84%;
}
.h-\[85\%\] {
  height: 85%;
}
.h-\[85vh\] {
  height: 85vh;
}
.h-\[88\%\] {
  height: 88%;
}
.h-\[92\%\] {
  height: 92%;
}
.h-\[calc\(100\%-1\.5rem\)\] {
  height: calc(100% - 1.5rem);
}
.h-\[calc\(100vh-3\.5rem\)\] {
  height: calc(100vh - 3.5rem);
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
  height: var(--radix-navigation-menu-viewport-height);
}
.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}
.h-auto {
  height: auto;
}
.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-svh {
  height: 100svh;
}
.max-h-32 {
  max-height: 8rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[250px\] {
  max-height: 250px;
}
.max-h-\[280px\] {
  max-height: 280px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[340px\] {
  max-height: 340px;
}
.max-h-\[350px\] {
  max-height: 350px;
}
.max-h-\[360px\] {
  max-height: 360px;
}
.max-h-\[400px\] {
  max-height: 400px;
}
.max-h-\[40vh\] {
  max-height: 40vh;
}
.max-h-\[420px\] {
  max-height: 420px;
}
.max-h-\[42vh\] {
  max-height: 42vh;
}
.max-h-\[480px\] {
  max-height: 480px;
}
.max-h-\[520px\] {
  max-height: 520px;
}
.max-h-\[600px\] {
  max-height: 600px;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[760px\] {
  max-height: 760px;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.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-14 {
  min-height: 3.5rem;
}
.min-h-24 {
  min-height: 6rem;
}
.min-h-32 {
  min-height: 8rem;
}
.min-h-40 {
  min-height: 10rem;
}
.min-h-44 {
  min-height: 11rem;
}
.min-h-48 {
  min-height: 12rem;
}
.min-h-\[1\.5rem\] {
  min-height: 1.5rem;
}
.min-h-\[105px\] {
  min-height: 105px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[122px\] {
  min-height: 122px;
}
.min-h-\[128px\] {
  min-height: 128px;
}
.min-h-\[142px\] {
  min-height: 142px;
}
.min-h-\[160px\] {
  min-height: 160px;
}
.min-h-\[170px\] {
  min-height: 170px;
}
.min-h-\[175px\] {
  min-height: 175px;
}
.min-h-\[190px\] {
  min-height: 190px;
}
.min-h-\[200px\] {
  min-height: 200px;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[225px\] {
  min-height: 225px;
}
.min-h-\[240px\] {
  min-height: 240px;
}
.min-h-\[250px\] {
  min-height: 250px;
}
.min-h-\[255px\] {
  min-height: 255px;
}
.min-h-\[260px\] {
  min-height: 260px;
}
.min-h-\[270px\] {
  min-height: 270px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[297mm\] {
  min-height: 297mm;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[310px\] {
  min-height: 310px;
}
.min-h-\[315px\] {
  min-height: 315px;
}
.min-h-\[320px\] {
  min-height: 320px;
}
.min-h-\[330px\] {
  min-height: 330px;
}
.min-h-\[340px\] {
  min-height: 340px;
}
.min-h-\[350px\] {
  min-height: 350px;
}
.min-h-\[360px\] {
  min-height: 360px;
}
.min-h-\[370px\] {
  min-height: 370px;
}
.min-h-\[390px\] {
  min-height: 390px;
}
.min-h-\[3rem\] {
  min-height: 3rem;
}
.min-h-\[400px\] {
  min-height: 400px;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[410px\] {
  min-height: 410px;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[430px\] {
  min-height: 430px;
}
.min-h-\[440px\] {
  min-height: 440px;
}
.min-h-\[470px\] {
  min-height: 470px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-\[520px\] {
  min-height: 520px;
}
.min-h-\[548px\] {
  min-height: 548px;
}
.min-h-\[60px\] {
  min-height: 60px;
}
.min-h-\[620px\] {
  min-height: 620px;
}
.min-h-\[640px\] {
  min-height: 640px;
}
.min-h-\[700px\] {
  min-height: 700px;
}
.min-h-\[70vh\] {
  min-height: 70vh;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[90vh\] {
  min-height: 90vh;
}
.min-h-\[96px\] {
  min-height: 96px;
}
.min-h-screen {
  min-height: 100vh;
}
.min-h-svh {
  min-height: 100svh;
}
.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-10 {
  width: 2.5rem;
}
.w-10\/12 {
  width: 83.333333%;
}
.w-11 {
  width: 2.75rem;
}
.w-11\/12 {
  width: 91.666667%;
}
.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-9\/12 {
  width: 75%;
}
.w-96 {
  width: 24rem;
}
.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}
.w-\[100px\] {
  width: 100px;
}
.w-\[104\%\] {
  width: 104%;
}
.w-\[106\%\] {
  width: 106%;
}
.w-\[110px\] {
  width: 110px;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[122\%\] {
  width: 122%;
}
.w-\[126\%\] {
  width: 126%;
}
.w-\[130px\] {
  width: 130px;
}
.w-\[15\%\] {
  width: 15%;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[180px\] {
  width: 180px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[190px\] {
  width: 190px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[200px\] {
  width: 200px;
}
.w-\[205px\] {
  width: 205px;
}
.w-\[210px\] {
  width: 210px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[245px\] {
  width: 245px;
}
.w-\[250px\] {
  width: 250px;
}
.w-\[25rem\] {
  width: 25rem;
}
.w-\[260px\] {
  width: 260px;
}
.w-\[270px\] {
  width: 270px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[285px\] {
  width: 285px;
}
.w-\[298px\] {
  width: 298px;
}
.w-\[30\%\] {
  width: 30%;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[30rem\] {
  width: 30rem;
}
.w-\[310px\] {
  width: 310px;
}
.w-\[318px\] {
  width: 318px;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[32rem\] {
  width: 32rem;
}
.w-\[330px\] {
  width: 330px;
}
.w-\[340px\] {
  width: 340px;
}
.w-\[34rem\] {
  width: 34rem;
}
.w-\[350px\] {
  width: 350px;
}
.w-\[360px\] {
  width: 360px;
}
.w-\[365px\] {
  width: 365px;
}
.w-\[36rem\] {
  width: 36rem;
}
.w-\[37rem\] {
  width: 37rem;
}
.w-\[38\%\] {
  width: 38%;
}
.w-\[380px\] {
  width: 380px;
}
.w-\[4\.6rem\] {
  width: 4.6rem;
}
.w-\[4\.8rem\] {
  width: 4.8rem;
}
.w-\[40\%\] {
  width: 40%;
}
.w-\[402px\] {
  width: 402px;
}
.w-\[410px\] {
  width: 410px;
}
.w-\[420px\] {
  width: 420px;
}
.w-\[430px\] {
  width: 430px;
}
.w-\[500px\] {
  width: 500px;
}
.w-\[560px\] {
  width: 560px;
}
.w-\[600px\] {
  width: 600px;
}
.w-\[60rem\] {
  width: 60rem;
}
.w-\[62\%\] {
  width: 62%;
}
.w-\[64\%\] {
  width: 64%;
}
.w-\[65\%\] {
  width: 65%;
}
.w-\[66\%\] {
  width: 66%;
}
.w-\[660px\] {
  width: 660px;
}
.w-\[66px\] {
  width: 66px;
}
.w-\[68\%\] {
  width: 68%;
}
.w-\[680px\] {
  width: 680px;
}
.w-\[700px\] {
  width: 700px;
}
.w-\[72\%\] {
  width: 72%;
}
.w-\[76\%\] {
  width: 76%;
}
.w-\[76px\] {
  width: 76px;
}
.w-\[78\%\] {
  width: 78%;
}
.w-\[82\%\] {
  width: 82%;
}
.w-\[84\%\] {
  width: 84%;
}
.w-\[85\%\] {
  width: 85%;
}
.w-\[86\%\] {
  width: 86%;
}
.w-\[88\%\] {
  width: 88%;
}
.w-\[92\%\] {
  width: 92%;
}
.w-\[calc\(100\%-2rem\)\] {
  width: calc(100% - 2rem);
}
.w-\[calc\(100\%-3rem\)\] {
  width: calc(100% - 3rem);
}
.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}
.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-11 {
  min-width: 2.75rem;
}
.min-w-12 {
  min-width: 3rem;
}
.min-w-44 {
  min-width: 11rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-52 {
  min-width: 13rem;
}
.min-w-7 {
  min-width: 1.75rem;
}
.min-w-72 {
  min-width: 18rem;
}
.min-w-9 {
  min-width: 2.25rem;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[142px\] {
  min-width: 142px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[18px\] {
  min-width: 18px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[320px\] {
  min-width: 320px;
}
.min-w-\[520px\] {
  min-width: 520px;
}
.min-w-\[560px\] {
  min-width: 560px;
}
.min-w-\[60px\] {
  min-width: 60px;
}
.min-w-\[640px\] {
  min-width: 640px;
}
.min-w-\[680px\] {
  min-width: 680px;
}
.min-w-\[70px\] {
  min-width: 70px;
}
.min-w-\[760px\] {
  min-width: 760px;
}
.min-w-\[780px\] {
  min-width: 780px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[900px\] {
  min-width: 900px;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}
.min-w-full {
  min-width: 100%;
}
.min-w-max {
  min-width: -moz-max-content;
  min-width: max-content;
}
.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-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}
.max-w-\[1100px\] {
  max-width: 1100px;
}
.max-w-\[1180px\] {
  max-width: 1180px;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[1240px\] {
  max-width: 1240px;
}
.max-w-\[13ch\] {
  max-width: 13ch;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[190px\] {
  max-width: 190px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[210mm\] {
  max-width: 210mm;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[330px\] {
  max-width: 330px;
}
.max-w-\[340px\] {
  max-width: 340px;
}
.max-w-\[365px\] {
  max-width: 365px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[42ch\] {
  max-width: 42ch;
}
.max-w-\[42vw\] {
  max-width: 42vw;
}
.max-w-\[430px\] {
  max-width: 430px;
}
.max-w-\[44ch\] {
  max-width: 44ch;
}
.max-w-\[455px\] {
  max-width: 455px;
}
.max-w-\[460px\] {
  max-width: 460px;
}
.max-w-\[470px\] {
  max-width: 470px;
}
.max-w-\[500px\] {
  max-width: 500px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[540px\] {
  max-width: 540px;
}
.max-w-\[55vw\] {
  max-width: 55vw;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[58\%\] {
  max-width: 58%;
}
.max-w-\[590px\] {
  max-width: 590px;
}
.max-w-\[600px\] {
  max-width: 600px;
}
.max-w-\[610px\] {
  max-width: 610px;
}
.max-w-\[660px\] {
  max-width: 660px;
}
.max-w-\[68\%\] {
  max-width: 68%;
}
.max-w-\[80\%\] {
  max-width: 80%;
}
.max-w-\[82\%\] {
  max-width: 82%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[88\%\] {
  max-width: 88%;
}
.max-w-\[880px\] {
  max-width: 880px;
}
.max-w-\[9rem\] {
  max-width: 9rem;
}
.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.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-none {
  flex: none;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.basis-\[70\%\] {
  flex-basis: 70%;
}
.basis-full {
  flex-basis: 100%;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-center {
  transform-origin: center;
}
.origin-left {
  transform-origin: left;
}
.-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-2 {
  --tw-translate-x: -0.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-x-\[140\%\] {
  --tw-translate-x: -140%;
  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\.5 {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1 {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-full {
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-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\/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-\[-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-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-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-5 {
  --tw-translate-y: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-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-1 {
  --tw-rotate: -1deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-12 {
  --tw-rotate: -12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-3 {
  --tw-rotate: -3deg;
  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-6 {
  --tw-rotate: -6deg;
  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-\[14deg\] {
  --tw-rotate: -14deg;
  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-\[5deg\] {
  --tw-rotate: -5deg;
  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-\[7deg\] {
  --tw-rotate: -7deg;
  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-\[8deg\] {
  --tw-rotate: -8deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-1 {
  --tw-rotate: 1deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-2 {
  --tw-rotate: 2deg;
  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-3 {
  --tw-rotate: 3deg;
  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-6 {
  --tw-rotate: 6deg;
  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-\[-4deg\] {
  --tw-rotate: -4deg;
  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-\[12deg\] {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[14deg\] {
  --tw-rotate: 14deg;
  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-\[4deg\] {
  --tw-rotate: 4deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-skew-x-12 {
  --tw-skew-x: -12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-skew-x-3 {
  --tw-skew-x: -3deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.skew-x-\[-18deg\] {
  --tw-skew-x: -18deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-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));
}
.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.06\] {
  --tw-scale-x: 1.06;
  --tw-scale-y: 1.06;
  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-x-0 {
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform-gpu {
  transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes 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_2s_ease-in-out_infinite\] {
  animation: bounce 2s ease-in-out infinite;
}
@keyframes spin {

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

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

  to {
    transform: rotate(360deg);
  }
}
.animate-\[spin_28s_linear_infinite\] {
  animation: spin 28s linear 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 float-soft {

  0%, 100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-8px);
  }
}
.animate-float {
  animation: float-soft 6s ease-in-out 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-grab {
  cursor: grab;
}
.cursor-grabbing {
  cursor: grabbing;
}
.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;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start {
  scroll-snap-align: start;
}
.scroll-mt-20 {
  scroll-margin-top: 5rem;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.scroll-mt-28 {
  scroll-margin-top: 7rem;
}
.scroll-mt-32 {
  scroll-margin-top: 8rem;
}
.scroll-mt-36 {
  scroll-margin-top: 9rem;
}
.scroll-mt-44 {
  scroll-margin-top: 11rem;
}
.list-inside {
  list-style-position: inside;
}
.list-\[lower-alpha\] {
  list-style-type: lower-alpha;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.break-inside-avoid {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-\[0\.7fr_1\.4fr_1fr_1\.8fr\] {
  grid-template-columns: 0.7fr 1.4fr 1fr 1.8fr;
}
.grid-cols-\[1fr_auto\] {
  grid-template-columns: 1fr auto;
}
.grid-cols-\[1fr_auto_1fr\] {
  grid-template-columns: 1fr auto 1fr;
}
.grid-cols-\[1fr_auto_auto_auto\] {
  grid-template-columns: 1fr auto auto auto;
}
.grid-cols-\[34px_1fr\] {
  grid-template-columns: 34px 1fr;
}
.grid-cols-\[44px_1fr_auto_auto\] {
  grid-template-columns: 44px 1fr auto auto;
}
.grid-cols-\[46px_1fr_auto\] {
  grid-template-columns: 46px 1fr auto;
}
.grid-cols-\[52px_1fr\] {
  grid-template-columns: 52px 1fr;
}
.grid-cols-\[52px_1fr_auto\] {
  grid-template-columns: 52px 1fr auto;
}
.grid-cols-\[5rem_1fr_auto\] {
  grid-template-columns: 5rem 1fr auto;
}
.grid-cols-\[68px_minmax\(0\2c 1fr\)_auto\] {
  grid-template-columns: 68px minmax(0,1fr) auto;
}
.grid-cols-\[90px_1fr\] {
  grid-template-columns: 90px 1fr;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.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;
}
.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-14 {
  gap: 3.5rem;
}
.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-7 {
  gap: 1.75rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-9 {
  gap: 2.25rem;
}
.gap-\[3px\] {
  gap: 3px;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-7 {
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}
.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-2 {
  row-gap: 0.5rem;
}
.gap-y-2\.5 {
  row-gap: 0.625rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-5 {
  row-gap: 1.25rem;
}
.-space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-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-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * 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-14 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3.5rem * 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-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * 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-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-\[\#ede9fe\] > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-divide-opacity, 1));
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
  border-color: hsl(var(--border));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}
.self-start {
  align-self: flex-start;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.justify-self-end {
  justify-self: end;
}
.justify-self-center {
  justify-self: center;
}
.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;
}
.overflow-x-clip {
  overflow-x: clip;
}
.scroll-smooth {
  scroll-behavior: smooth;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-ellipsis {
  text-overflow: ellipsis;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-wrap {
  text-wrap: wrap;
}
.text-balance {
  text-wrap: balance;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[1\.35rem\] {
  border-radius: 1.35rem;
}
.rounded-\[1\.4rem\] {
  border-radius: 1.4rem;
}
.rounded-\[1\.55rem\] {
  border-radius: 1.55rem;
}
.rounded-\[1\.5rem\] {
  border-radius: 1.5rem;
}
.rounded-\[1\.65rem\] {
  border-radius: 1.65rem;
}
.rounded-\[1\.6rem\] {
  border-radius: 1.6rem;
}
.rounded-\[1\.75rem\] {
  border-radius: 1.75rem;
}
.rounded-\[1\.7rem\] {
  border-radius: 1.7rem;
}
.rounded-\[1\.8rem\] {
  border-radius: 1.8rem;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[1px\] {
  border-radius: 1px;
}
.rounded-\[2\.1rem\] {
  border-radius: 2.1rem;
}
.rounded-\[2\.25rem\] {
  border-radius: 2.25rem;
}
.rounded-\[2\.2rem\] {
  border-radius: 2.2rem;
}
.rounded-\[2\.35rem\] {
  border-radius: 2.35rem;
}
.rounded-\[2\.5rem\] {
  border-radius: 2.5rem;
}
.rounded-\[2\.7rem\] {
  border-radius: 2.7rem;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[26px\] {
  border-radius: 26px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-\[30px\] {
  border-radius: 30px;
}
.rounded-\[32px\] {
  border-radius: 32px;
}
.rounded-\[3rem\] {
  border-radius: 3rem;
}
.rounded-\[42\%\] {
  border-radius: 42%;
}
.rounded-\[48\%\] {
  border-radius: 48%;
}
.rounded-\[50\%\] {
  border-radius: 50%;
}
.rounded-\[calc\(1\.25rem\+8px\)\] {
  border-radius: calc(1.25rem + 8px);
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: var(--radius);
}
.rounded-md {
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-2xl {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.rounded-b-full {
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.rounded-l-xl {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-r-2xl {
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.rounded-r-lg {
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}
.rounded-r-xl {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}
.rounded-t {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-t-full {
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}
.rounded-t-none {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.rounded-bl-sm {
  border-bottom-left-radius: calc(var(--radius) - 4px);
}
.rounded-br-sm {
  border-bottom-right-radius: calc(var(--radius) - 4px);
}
.rounded-tl-md {
  border-top-left-radius: calc(var(--radius) - 2px);
}
.rounded-tl-sm {
  border-top-left-radius: calc(var(--radius) - 4px);
}
.rounded-tl-xl {
  border-top-left-radius: 0.75rem;
}
.rounded-tr-md {
  border-top-right-radius: calc(var(--radius) - 2px);
}
.rounded-tr-sm {
  border-top-right-radius: calc(var(--radius) - 4px);
}
.rounded-tr-xl {
  border-top-right-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-8 {
  border-width: 8px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-\[24px\] {
  border-width: 24px;
}
.border-\[28px\] {
  border-width: 28px;
}
.border-\[30px\] {
  border-width: 30px;
}
.border-\[34px\] {
  border-width: 34px;
}
.border-\[3px\] {
  border-width: 3px;
}
.border-x {
  border-left-width: 1px;
  border-right-width: 1px;
}
.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-b-\[3px\] {
  border-bottom-width: 3px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-l-\[5px\] {
  border-left-width: 5px;
}
.border-r {
  border-right-width: 1px;
}
.border-r-2 {
  border-right-width: 2px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-t-4 {
  border-top-width: 4px;
}
.border-solid {
  border-style: solid;
}
.border-dashed {
  border-style: dashed;
}
.border-dotted {
  border-style: dotted;
}
.border-none {
  border-style: none;
}
.\!border-green-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1)) !important;
}
.\!border-red-400 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1)) !important;
}
.border-\[\#10b981\] {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-\[\#22c55e\] {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-\[\#342647\] {
  --tw-border-opacity: 1;
  border-color: rgb(52 38 71 / var(--tw-border-opacity, 1));
}
.border-\[\#5f2eea\] {
  --tw-border-opacity: 1;
  border-color: rgb(95 46 234 / var(--tw-border-opacity, 1));
}
.border-\[\#5f2eea\]\/20 {
  border-color: rgb(95 46 234 / 0.2);
}
.border-\[\#5f2eea\]\/25 {
  border-color: rgb(95 46 234 / 0.25);
}
.border-\[\#5f2eea\]\/30 {
  border-color: rgb(95 46 234 / 0.3);
}
.border-\[\#6E3FBE\] {
  --tw-border-opacity: 1;
  border-color: rgb(110 63 190 / var(--tw-border-opacity, 1));
}
.border-\[\#6f49a8\] {
  --tw-border-opacity: 1;
  border-color: rgb(111 73 168 / var(--tw-border-opacity, 1));
}
.border-\[\#7c3aed\] {
  --tw-border-opacity: 1;
  border-color: rgb(124 58 237 / var(--tw-border-opacity, 1));
}
.border-\[\#7c6cf3\] {
  --tw-border-opacity: 1;
  border-color: rgb(124 108 243 / var(--tw-border-opacity, 1));
}
.border-\[\#8e5cff\] {
  --tw-border-opacity: 1;
  border-color: rgb(142 92 255 / var(--tw-border-opacity, 1));
}
.border-\[\#CECBF6\] {
  --tw-border-opacity: 1;
  border-color: rgb(206 203 246 / var(--tw-border-opacity, 1));
}
.border-\[\#DDD6FE\] {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.border-\[\#E4E0FA\] {
  --tw-border-opacity: 1;
  border-color: rgb(228 224 250 / var(--tw-border-opacity, 1));
}
.border-\[\#E7DDFC\] {
  --tw-border-opacity: 1;
  border-color: rgb(231 221 252 / var(--tw-border-opacity, 1));
}
.border-\[\#EEEDFE\] {
  --tw-border-opacity: 1;
  border-color: rgb(238 237 254 / var(--tw-border-opacity, 1));
}
.border-\[\#F0EBFF\] {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 255 / var(--tw-border-opacity, 1));
}
.border-\[\#F7C1C1\] {
  --tw-border-opacity: 1;
  border-color: rgb(247 193 193 / var(--tw-border-opacity, 1));
}
.border-\[\#c4b5fd\] {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.border-\[\#cabcf0\] {
  --tw-border-opacity: 1;
  border-color: rgb(202 188 240 / var(--tw-border-opacity, 1));
}
.border-\[\#cbb8ea\] {
  --tw-border-opacity: 1;
  border-color: rgb(203 184 234 / var(--tw-border-opacity, 1));
}
.border-\[\#cdbbe8\] {
  --tw-border-opacity: 1;
  border-color: rgb(205 187 232 / var(--tw-border-opacity, 1));
}
.border-\[\#cdeed8\] {
  --tw-border-opacity: 1;
  border-color: rgb(205 238 216 / var(--tw-border-opacity, 1));
}
.border-\[\#d7c9ea\] {
  --tw-border-opacity: 1;
  border-color: rgb(215 201 234 / var(--tw-border-opacity, 1));
}
.border-\[\#d8ccf3\] {
  --tw-border-opacity: 1;
  border-color: rgb(216 204 243 / var(--tw-border-opacity, 1));
}
.border-\[\#d9cff2\] {
  --tw-border-opacity: 1;
  border-color: rgb(217 207 242 / var(--tw-border-opacity, 1));
}
.border-\[\#ddd2ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(221 210 255 / var(--tw-border-opacity, 1));
}
.border-\[\#ddd6fe\] {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.border-\[\#ded3ed\] {
  --tw-border-opacity: 1;
  border-color: rgb(222 211 237 / var(--tw-border-opacity, 1));
}
.border-\[\#ded3f5\] {
  --tw-border-opacity: 1;
  border-color: rgb(222 211 245 / var(--tw-border-opacity, 1));
}
.border-\[\#e2d5ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(226 213 255 / var(--tw-border-opacity, 1));
}
.border-\[\#e3d7ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(227 215 255 / var(--tw-border-opacity, 1));
}
.border-\[\#e4d9ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(228 217 255 / var(--tw-border-opacity, 1));
}
.border-\[\#e5dbf7\] {
  --tw-border-opacity: 1;
  border-color: rgb(229 219 247 / var(--tw-border-opacity, 1));
}
.border-\[\#e5def5\] {
  --tw-border-opacity: 1;
  border-color: rgb(229 222 245 / var(--tw-border-opacity, 1));
}
.border-\[\#e7ddff\] {
  --tw-border-opacity: 1;
  border-color: rgb(231 221 255 / var(--tw-border-opacity, 1));
}
.border-\[\#e8b94a\]\/45 {
  border-color: rgb(232 185 74 / 0.45);
}
.border-\[\#e8def8\] {
  --tw-border-opacity: 1;
  border-color: rgb(232 222 248 / var(--tw-border-opacity, 1));
}
.border-\[\#e9d5ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-\[\#e9ddff\] {
  --tw-border-opacity: 1;
  border-color: rgb(233 221 255 / var(--tw-border-opacity, 1));
}
.border-\[\#e9e2f7\] {
  --tw-border-opacity: 1;
  border-color: rgb(233 226 247 / var(--tw-border-opacity, 1));
}
.border-\[\#eadfff\] {
  --tw-border-opacity: 1;
  border-color: rgb(234 223 255 / var(--tw-border-opacity, 1));
}
.border-\[\#ece4fb\] {
  --tw-border-opacity: 1;
  border-color: rgb(236 228 251 / var(--tw-border-opacity, 1));
}
.border-\[\#ede9fe\] {
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
}
.border-\[\#eee7ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(238 231 255 / var(--tw-border-opacity, 1));
}
.border-\[\#efe8ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(239 232 255 / var(--tw-border-opacity, 1));
}
.border-\[\#f59e0b\] {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-\[\#f6cccc\] {
  --tw-border-opacity: 1;
  border-color: rgb(246 204 204 / var(--tw-border-opacity, 1));
}
.border-\[--color-border\] {
  border-color: var(--color-border);
}
.border-\[hsl\(var\(--pastel-green\)\)\]\/80 {
  border-color: hsl(var(--pastel-green) / 0.8);
}
.border-\[var\(--exam-color\)\] {
  border-color: var(--exam-color);
}
.border-\[var\(--faq-area\)\] {
  border-color: var(--faq-area);
}
.border-accent\/20 {
  border-color: hsl(var(--accent) / 0.2);
}
.border-accent\/30 {
  border-color: hsl(var(--accent) / 0.3);
}
.border-accent\/40 {
  border-color: hsl(var(--accent) / 0.4);
}
.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-200\/60 {
  border-color: rgb(253 230 138 / 0.6);
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-300\/20 {
  border-color: rgb(252 211 77 / 0.2);
}
.border-amber-300\/30 {
  border-color: rgb(252 211 77 / 0.3);
}
.border-amber-300\/40 {
  border-color: rgb(252 211 77 / 0.4);
}
.border-amber-300\/50 {
  border-color: rgb(252 211 77 / 0.5);
}
.border-amber-300\/60 {
  border-color: rgb(252 211 77 / 0.6);
}
.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-amber-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.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\/60 {
  border-color: rgb(245 158 11 / 0.6);
}
.border-amber-600 {
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}
.border-background {
  border-color: hsl(var(--background));
}
.border-background\/\[0\.04\] {
  border-color: hsl(var(--background) / 0.04);
}
.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-200\/60 {
  border-color: rgb(191 219 254 / 0.6);
}
.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/15 {
  border-color: rgb(59 130 246 / 0.15);
}
.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\/60 {
  border-color: rgb(59 130 246 / 0.6);
}
.border-border {
  border-color: hsl(var(--border));
}
.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-border\/75 {
  border-color: hsl(var(--border) / 0.75);
}
.border-border\/80 {
  border-color: hsl(var(--border) / 0.8);
}
.border-current {
  border-color: currentColor;
}
.border-cyan-100 {
  --tw-border-opacity: 1;
  border-color: rgb(207 250 254 / var(--tw-border-opacity, 1));
}
.border-cyan-200 {
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.border-cyan-200\/20 {
  border-color: rgb(165 243 252 / 0.2);
}
.border-cyan-200\/25 {
  border-color: rgb(165 243 252 / 0.25);
}
.border-cyan-300\/20 {
  border-color: rgb(103 232 249 / 0.2);
}
.border-destructive {
  border-color: hsl(var(--destructive));
}
.border-destructive\/20 {
  border-color: hsl(var(--destructive) / 0.2);
}
.border-destructive\/25 {
  border-color: hsl(var(--destructive) / 0.25);
}
.border-destructive\/30 {
  border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
  border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/50 {
  border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-100 {
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-300\/20 {
  border-color: rgb(110 231 183 / 0.2);
}
.border-emerald-400 {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-emerald-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-emerald-500\/15 {
  border-color: rgb(16 185 129 / 0.15);
}
.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-600 {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}
.border-foreground {
  border-color: hsl(var(--foreground));
}
.border-foreground\/20 {
  border-color: hsl(var(--foreground) / 0.2);
}
.border-foreground\/30 {
  border-color: hsl(var(--foreground) / 0.3);
}
.border-foreground\/40 {
  border-color: hsl(var(--foreground) / 0.4);
}
.border-fuchsia-200 {
  --tw-border-opacity: 1;
  border-color: rgb(245 208 254 / var(--tw-border-opacity, 1));
}
.border-fuchsia-200\/20 {
  border-color: rgb(245 208 254 / 0.2);
}
.border-fuchsia-200\/45 {
  border-color: rgb(245 208 254 / 0.45);
}
.border-fuchsia-200\/90 {
  border-color: rgb(245 208 254 / 0.9);
}
.border-fuchsia-300 {
  --tw-border-opacity: 1;
  border-color: rgb(240 171 252 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.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-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / 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-green-600 {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-indigo-200 {
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}
.border-indigo-200\/20 {
  border-color: rgb(199 210 254 / 0.2);
}
.border-indigo-300 {
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity, 1));
}
.border-indigo-500\/20 {
  border-color: rgb(99 102 241 / 0.2);
}
.border-indigo-600 {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}
.border-input {
  border-color: hsl(var(--input));
}
.border-lime-200 {
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
}
.border-muted {
  border-color: hsl(var(--muted));
}
.border-muted-foreground {
  border-color: hsl(var(--muted-foreground));
}
.border-muted-foreground\/30 {
  border-color: hsl(var(--muted-foreground) / 0.3);
}
.border-orange-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}
.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-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-orange-500\/15 {
  border-color: rgb(249 115 22 / 0.15);
}
.border-orange-500\/30 {
  border-color: rgb(249 115 22 / 0.3);
}
.border-pink-200 {
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-pink-300 {
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.border-primary {
  border-color: hsl(var(--primary));
}
.border-primary-foreground\/30 {
  border-color: hsl(var(--primary-foreground) / 0.3);
}
.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\/35 {
  border-color: hsl(var(--primary) / 0.35);
}
.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-primary\/\[\.07\] {
  border-color: hsl(var(--primary) / .07);
}
.border-primary\/\[0\.15\] {
  border-color: hsl(var(--primary) / 0.15);
}
.border-purple-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}
.border-purple-200 {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-300 {
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.border-purple-400 {
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.border-purple-400\/20 {
  border-color: rgb(192 132 252 / 0.2);
}
.border-purple-500 {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-purple-500\/20 {
  border-color: rgb(168 85 247 / 0.2);
}
.border-purple-600 {
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / 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\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-rose-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));
}
.border-rose-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}
.border-rose-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.border-rose-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));
}
.border-rose-500\/20 {
  border-color: rgb(244 63 94 / 0.2);
}
.border-rose-500\/30 {
  border-color: rgb(244 63 94 / 0.3);
}
.border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.border-sky-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / var(--tw-border-opacity, 1));
}
.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
}
.border-sky-300 {
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.border-sky-500\/20 {
  border-color: rgb(14 165 233 / 0.2);
}
.border-sky-600 {
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity, 1));
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-500\/30 {
  border-color: rgb(100 116 139 / 0.3);
}
.border-slate-800 {
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.border-teal-200 {
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
}
.border-teal-300 {
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.border-teal-400 {
  --tw-border-opacity: 1;
  border-color: rgb(45 212 191 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-violet-100 {
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
}
.border-violet-100\/70 {
  border-color: rgb(237 233 254 / 0.7);
}
.border-violet-100\/80 {
  border-color: rgb(237 233 254 / 0.8);
}
.border-violet-200 {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.border-violet-200\/60 {
  border-color: rgb(221 214 254 / 0.6);
}
.border-violet-200\/70 {
  border-color: rgb(221 214 254 / 0.7);
}
.border-violet-200\/80 {
  border-color: rgb(221 214 254 / 0.8);
}
.border-violet-200\/90 {
  border-color: rgb(221 214 254 / 0.9);
}
.border-violet-300 {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.border-violet-300\/20 {
  border-color: rgb(196 181 253 / 0.2);
}
.border-violet-300\/30 {
  border-color: rgb(196 181 253 / 0.3);
}
.border-violet-300\/45 {
  border-color: rgb(196 181 253 / 0.45);
}
.border-violet-300\/60 {
  border-color: rgb(196 181 253 / 0.6);
}
.border-violet-400 {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.border-violet-400\/20 {
  border-color: rgb(167 139 250 / 0.2);
}
.border-violet-400\/25 {
  border-color: rgb(167 139 250 / 0.25);
}
.border-violet-400\/50 {
  border-color: rgb(167 139 250 / 0.5);
}
.border-violet-50 {
  --tw-border-opacity: 1;
  border-color: rgb(245 243 255 / var(--tw-border-opacity, 1));
}
.border-violet-500 {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.border-violet-500\/20 {
  border-color: rgb(139 92 246 / 0.2);
}
.border-violet-600 {
  --tw-border-opacity: 1;
  border-color: rgb(124 58 237 / var(--tw-border-opacity, 1));
}
.border-violet-700 {
  --tw-border-opacity: 1;
  border-color: rgb(109 40 217 / var(--tw-border-opacity, 1));
}
.border-violet-700\/10 {
  border-color: rgb(109 40 217 / 0.1);
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/35 {
  border-color: rgb(255 255 255 / 0.35);
}
.border-white\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}
.border-white\/60 {
  border-color: rgb(255 255 255 / 0.6);
}
.border-white\/70 {
  border-color: rgb(255 255 255 / 0.7);
}
.border-white\/80 {
  border-color: rgb(255 255 255 / 0.8);
}
.border-white\/90 {
  border-color: rgb(255 255 255 / 0.9);
}
.border-white\/\[0\.035\] {
  border-color: rgb(255 255 255 / 0.035);
}
.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-300\/50 {
  border-color: rgb(253 224 71 / 0.5);
}
.border-yellow-400 {
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / 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-b-foreground\/40 {
  border-bottom-color: hsl(var(--foreground) / 0.4);
}
.border-b-primary {
  border-bottom-color: hsl(var(--primary));
}
.border-l-\[\#5f2eea\] {
  --tw-border-opacity: 1;
  border-left-color: rgb(95 46 234 / var(--tw-border-opacity, 1));
}
.border-l-\[\#e8b94a\] {
  --tw-border-opacity: 1;
  border-left-color: rgb(232 185 74 / var(--tw-border-opacity, 1));
}
.border-l-accent {
  border-left-color: hsl(var(--accent));
}
.border-l-amber-400 {
  --tw-border-opacity: 1;
  border-left-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-l-border {
  border-left-color: hsl(var(--border));
}
.border-l-emerald-400 {
  --tw-border-opacity: 1;
  border-left-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-l-fuchsia-400 {
  --tw-border-opacity: 1;
  border-left-color: rgb(232 121 249 / var(--tw-border-opacity, 1));
}
.border-l-primary {
  border-left-color: hsl(var(--primary));
}
.border-l-purple-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-l-violet-400 {
  --tw-border-opacity: 1;
  border-left-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.border-r-foreground\/40 {
  border-right-color: hsl(var(--foreground) / 0.4);
}
.border-r-transparent {
  border-right-color: transparent;
}
.border-t-amber-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-t-blue-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-t-emerald-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-t-primary {
  border-top-color: hsl(var(--primary));
}
.border-t-primary\/60 {
  border-top-color: hsl(var(--primary) / 0.6);
}
.border-t-slate-300 {
  --tw-border-opacity: 1;
  border-top-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.\!bg-green-50 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-red-50 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1)) !important;
}
.bg-\[\#181825\] {
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 37 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1d2046\] {
  --tw-bg-opacity: 1;
  background-color: rgb(29 32 70 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1e1e2e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(30 30 46 / var(--tw-bg-opacity, 1));
}
.bg-\[\#201436\] {
  --tw-bg-opacity: 1;
  background-color: rgb(32 20 54 / var(--tw-bg-opacity, 1));
}
.bg-\[\#201846\] {
  --tw-bg-opacity: 1;
  background-color: rgb(32 24 70 / var(--tw-bg-opacity, 1));
}
.bg-\[\#21143a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(33 20 58 / var(--tw-bg-opacity, 1));
}
.bg-\[\#211443\] {
  --tw-bg-opacity: 1;
  background-color: rgb(33 20 67 / var(--tw-bg-opacity, 1));
}
.bg-\[\#211443\]\/85 {
  background-color: rgb(33 20 67 / 0.85);
}
.bg-\[\#21162e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(33 22 46 / var(--tw-bg-opacity, 1));
}
.bg-\[\#24143d\] {
  --tw-bg-opacity: 1;
  background-color: rgb(36 20 61 / var(--tw-bg-opacity, 1));
}
.bg-\[\#24143d\]\/85 {
  background-color: rgb(36 20 61 / 0.85);
}
.bg-\[\#241645\] {
  --tw-bg-opacity: 1;
  background-color: rgb(36 22 69 / var(--tw-bg-opacity, 1));
}
.bg-\[\#251d3b\]\/25 {
  background-color: rgb(37 29 59 / 0.25);
}
.bg-\[\#251d3b\]\/30 {
  background-color: rgb(37 29 59 / 0.3);
}
.bg-\[\#29263f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(41 38 63 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2b193c\] {
  --tw-bg-opacity: 1;
  background-color: rgb(43 25 60 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2d2540\] {
  --tw-bg-opacity: 1;
  background-color: rgb(45 37 64 / var(--tw-bg-opacity, 1));
}
.bg-\[\#342647\] {
  --tw-bg-opacity: 1;
  background-color: rgb(52 38 71 / var(--tw-bg-opacity, 1));
}
.bg-\[\#5F2EEA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(95 46 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#5f2eea\] {
  --tw-bg-opacity: 1;
  background-color: rgb(95 46 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#5f2eea\]\/10 {
  background-color: rgb(95 46 234 / 0.1);
}
.bg-\[\#5f2eea\]\/15 {
  background-color: rgb(95 46 234 / 0.15);
}
.bg-\[\#5f2eea\]\/5 {
  background-color: rgb(95 46 234 / 0.05);
}
.bg-\[\#5f2eea\]\/\[0\.04\] {
  background-color: rgb(95 46 234 / 0.04);
}
.bg-\[\#6D28D9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.bg-\[\#6d28d9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.bg-\[\#6f49a8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(111 73 168 / var(--tw-bg-opacity, 1));
}
.bg-\[\#7c3aed\] {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.bg-\[\#7c6cf3\] {
  --tw-bg-opacity: 1;
  background-color: rgb(124 108 243 / var(--tw-bg-opacity, 1));
}
.bg-\[\#8B5CF6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#8e5cff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(142 92 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C4B5FD\]\/50 {
  background-color: rgb(196 181 253 / 0.5);
}
.bg-\[\#C56A45\] {
  --tw-bg-opacity: 1;
  background-color: rgb(197 106 69 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D8B4FE\]\/50 {
  background-color: rgb(216 180 254 / 0.5);
}
.bg-\[\#DDD6FE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E0E7FF\]\/60 {
  background-color: rgb(224 231 255 / 0.6);
}
.bg-\[\#E8DEF6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 222 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E9D5FF\]\/60 {
  background-color: rgb(233 213 255 / 0.6);
}
.bg-\[\#EEEDFE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 237 254 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F0E6F8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 230 248 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F3EEFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 238 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5D0FE\]\/50 {
  background-color: rgb(245 208 254 / 0.5);
}
.bg-\[\#F5F3FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAF7FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 247 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FCEBEB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 235 235 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF5B24\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 91 36 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e0ecff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(224 236 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e6f6ec\] {
  --tw-bg-opacity: 1;
  background-color: rgb(230 246 236 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e8b94a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 185 74 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e8b94a\]\/10 {
  background-color: rgb(232 185 74 / 0.1);
}
.bg-\[\#e8b94a\]\/15 {
  background-color: rgb(232 185 74 / 0.15);
}
.bg-\[\#e9defc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(233 222 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ecfdf5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ede9fe\] {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-\[\#eee7ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 231 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#eef2ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#effbf7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(239 251 247 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f0fdf4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f1ebff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(241 235 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f1edff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(241 237 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f1eefc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(241 238 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f2eeff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 238 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3e8ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3ecff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 236 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3edff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 237 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3eefe\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 238 254 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3f0ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 240 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4edff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 237 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4f4f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f59e0b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f5f0ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 240 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f5f1ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 241 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f5f3ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f7f3ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 243 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f7f5ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 245 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f8f5ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 245 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f8f6ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 246 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f8f7fc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 247 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f8f7ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 247 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf5ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf7ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 247 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf8ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 248 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf9fd\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 253 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faf9ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fafbff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 251 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fbf8ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 248 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fbf9ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 249 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fbfaff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 250 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fcfbff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 251 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fde7e7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(253 231 231 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fef3e2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 226 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ff5b24\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 91 36 / var(--tw-bg-opacity, 1));
}
.bg-\[\#fffbeb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}
.bg-\[hsl\(258\2c 75\%\2c 80\%\)\] {
  --tw-bg-opacity: 1;
  background-color: hsl(258 75% 80% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(260_70\%_82\%\)\] {
  --tw-bg-opacity: 1;
  background-color: hsl(260 70% 82% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(260_70\%_94\%\)\] {
  --tw-bg-opacity: 1;
  background-color: hsl(260 70% 94% / var(--tw-bg-opacity, 1));
}
.bg-\[hsl\(var\(--pastel-blue\)\)\] {
  background-color: hsl(var(--pastel-blue));
}
.bg-\[hsl\(var\(--pastel-blue\)\)\]\/60 {
  background-color: hsl(var(--pastel-blue) / 0.6);
}
.bg-\[hsl\(var\(--pastel-blue\)\)\]\/80 {
  background-color: hsl(var(--pastel-blue) / 0.8);
}
.bg-\[hsl\(var\(--pastel-green\)\)\] {
  background-color: hsl(var(--pastel-green));
}
.bg-\[hsl\(var\(--pastel-green\)\)\]\/80 {
  background-color: hsl(var(--pastel-green) / 0.8);
}
.bg-\[hsl\(var\(--pastel-green\2c 210_100\%_95\%\)\)\] {
  background-color: hsl(var(--pastel-green,210 100% 95%));
}
.bg-\[hsl\(var\(--pastel-orange\)\)\] {
  background-color: hsl(var(--pastel-orange));
}
.bg-\[hsl\(var\(--pastel-orange\)\)\]\/60 {
  background-color: hsl(var(--pastel-orange) / 0.6);
}
.bg-\[hsl\(var\(--pastel-orange\)\)\]\/80 {
  background-color: hsl(var(--pastel-orange) / 0.8);
}
.bg-\[hsl\(var\(--pastel-pink\)\)\] {
  background-color: hsl(var(--pastel-pink));
}
.bg-\[hsl\(var\(--pastel-pink\2c var\(--pastel-purple\)\)\)\] {
  background-color: hsl(var(--pastel-pink,var(--pastel-purple)));
}
.bg-\[hsl\(var\(--pastel-purple\)\)\] {
  background-color: hsl(var(--pastel-purple));
}
.bg-\[hsl\(var\(--pastel-purple\)\)\]\/60 {
  background-color: hsl(var(--pastel-purple) / 0.6);
}
.bg-\[hsl\(var\(--pastel-yellow\)\)\] {
  background-color: hsl(var(--pastel-yellow));
}
.bg-\[hsl\(var\(--pastel-yellow\)\)\]\/60 {
  background-color: hsl(var(--pastel-yellow) / 0.6);
}
.bg-\[hsl\(var\(--pastel-yellow\)\)\]\/80 {
  background-color: hsl(var(--pastel-yellow) / 0.8);
}
.bg-\[hsl\(var\(--pastel-yellow\)\/0\.3\)\] {
  background-color: hsl(var(--pastel-yellow)/0.3);
}
.bg-\[hsl\(var\(--pastel-yellow\2c 45_80\%_94\%\)\)\] {
  background-color: hsl(var(--pastel-yellow,45 80% 94%));
}
.bg-\[hsl\(var\(--primary\)\/0\.08\)\] {
  background-color: hsl(var(--primary)/0.08);
}
.bg-\[var\(--course-accent\)\] {
  background-color: var(--course-accent);
}
.bg-\[var\(--course-soft\)\] {
  background-color: var(--course-soft);
}
.bg-\[var\(--exam-color\)\] {
  background-color: var(--exam-color);
}
.bg-\[var\(--exam-soft\)\] {
  background-color: var(--exam-soft);
}
.bg-\[var\(--faq-area-soft\)\] {
  background-color: var(--faq-area-soft);
}
.bg-accent {
  background-color: hsl(var(--accent));
}
.bg-accent\/10 {
  background-color: hsl(var(--accent) / 0.1);
}
.bg-accent\/15 {
  background-color: hsl(var(--accent) / 0.15);
}
.bg-accent\/20 {
  background-color: hsl(var(--accent) / 0.2);
}
.bg-accent\/30 {
  background-color: hsl(var(--accent) / 0.3);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.bg-amber-200\/35 {
  background-color: rgb(253 230 138 / 0.35);
}
.bg-amber-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}
.bg-amber-300\/10 {
  background-color: rgb(252 211 77 / 0.1);
}
.bg-amber-300\/15 {
  background-color: rgb(252 211 77 / 0.15);
}
.bg-amber-300\/20 {
  background-color: rgb(252 211 77 / 0.2);
}
.bg-amber-300\/30 {
  background-color: rgb(252 211 77 / 0.3);
}
.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\/30 {
  background-color: rgb(255 251 235 / 0.3);
}
.bg-amber-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-50\/55 {
  background-color: rgb(255 251 235 / 0.55);
}
.bg-amber-50\/60 {
  background-color: rgb(255 251 235 / 0.6);
}
.bg-amber-50\/65 {
  background-color: rgb(255 251 235 / 0.65);
}
.bg-amber-50\/70 {
  background-color: rgb(255 251 235 / 0.7);
}
.bg-amber-50\/80 {
  background-color: rgb(255 251 235 / 0.8);
}
.bg-amber-50\/90 {
  background-color: rgb(255 251 235 / 0.9);
}
.bg-amber-50\/95 {
  background-color: rgb(255 251 235 / 0.95);
}
.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-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.bg-amber-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}
.bg-background {
  background-color: hsl(var(--background));
}
.bg-background\/40 {
  background-color: hsl(var(--background) / 0.4);
}
.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/55 {
  background-color: hsl(var(--background) / 0.55);
}
.bg-background\/60 {
  background-color: hsl(var(--background) / 0.6);
}
.bg-background\/65 {
  background-color: hsl(var(--background) / 0.65);
}
.bg-background\/70 {
  background-color: hsl(var(--background) / 0.7);
}
.bg-background\/75 {
  background-color: hsl(var(--background) / 0.75);
}
.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\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/15 {
  background-color: rgb(0 0 0 / 0.15);
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/25 {
  background-color: rgb(0 0 0 / 0.25);
}
.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-black\/85 {
  background-color: rgb(0 0 0 / 0.85);
}
.bg-black\/\[0\.015\] {
  background-color: rgb(0 0 0 / 0.015);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-300\/25 {
  background-color: rgb(147 197 253 / 0.25);
}
.bg-blue-300\/40 {
  background-color: rgb(147 197 253 / 0.4);
}
.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / 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\/20 {
  background-color: rgb(239 246 255 / 0.2);
}
.bg-blue-50\/30 {
  background-color: rgb(239 246 255 / 0.3);
}
.bg-blue-50\/50 {
  background-color: rgb(239 246 255 / 0.5);
}
.bg-blue-50\/70 {
  background-color: rgb(239 246 255 / 0.7);
}
.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-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-border {
  background-color: hsl(var(--border));
}
.bg-border\/40 {
  background-color: hsl(var(--border) / 0.4);
}
.bg-card {
  background-color: hsl(var(--card));
}
.bg-card\/30 {
  background-color: hsl(var(--card) / 0.3);
}
.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
  background-color: hsl(var(--card) / 0.5);
}
.bg-card\/55 {
  background-color: hsl(var(--card) / 0.55);
}
.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}
.bg-card\/65 {
  background-color: hsl(var(--card) / 0.65);
}
.bg-card\/70 {
  background-color: hsl(var(--card) / 0.7);
}
.bg-card\/75 {
  background-color: hsl(var(--card) / 0.75);
}
.bg-card\/80 {
  background-color: hsl(var(--card) / 0.8);
}
.bg-card\/85 {
  background-color: hsl(var(--card) / 0.85);
}
.bg-card\/90 {
  background-color: hsl(var(--card) / 0.9);
}
.bg-card\/95 {
  background-color: hsl(var(--card) / 0.95);
}
.bg-card\/\[0\.85\] {
  background-color: hsl(var(--card) / 0.85);
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(103 232 249 / var(--tw-bg-opacity, 1));
}
.bg-cyan-300\/10 {
  background-color: rgb(103 232 249 / 0.1);
}
.bg-cyan-300\/15 {
  background-color: rgb(103 232 249 / 0.15);
}
.bg-cyan-300\/20 {
  background-color: rgb(103 232 249 / 0.2);
}
.bg-cyan-300\/25 {
  background-color: rgb(103 232 249 / 0.25);
}
.bg-cyan-300\/30 {
  background-color: rgb(103 232 249 / 0.3);
}
.bg-cyan-300\/40 {
  background-color: rgb(103 232 249 / 0.4);
}
.bg-cyan-400\/20 {
  background-color: rgb(34 211 238 / 0.2);
}
.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-50\/50 {
  background-color: rgb(236 254 255 / 0.5);
}
.bg-cyan-50\/60 {
  background-color: rgb(236 254 255 / 0.6);
}
.bg-cyan-50\/70 {
  background-color: rgb(236 254 255 / 0.7);
}
.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 {
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/15 {
  background-color: hsl(var(--destructive) / 0.15);
}
.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-200\/50 {
  background-color: rgb(167 243 208 / 0.5);
}
.bg-emerald-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(110 231 183 / var(--tw-bg-opacity, 1));
}
.bg-emerald-300\/10 {
  background-color: rgb(110 231 183 / 0.1);
}
.bg-emerald-300\/20 {
  background-color: rgb(110 231 183 / 0.2);
}
.bg-emerald-300\/30 {
  background-color: rgb(110 231 183 / 0.3);
}
.bg-emerald-300\/40 {
  background-color: rgb(110 231 183 / 0.4);
}
.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\/30 {
  background-color: rgb(236 253 245 / 0.3);
}
.bg-emerald-50\/50 {
  background-color: rgb(236 253 245 / 0.5);
}
.bg-emerald-50\/60 {
  background-color: rgb(236 253 245 / 0.6);
}
.bg-emerald-50\/70 {
  background-color: rgb(236 253 245 / 0.7);
}
.bg-emerald-50\/80 {
  background-color: rgb(236 253 245 / 0.8);
}
.bg-emerald-50\/90 {
  background-color: rgb(236 253 245 / 0.9);
}
.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-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.bg-foreground {
  background-color: hsl(var(--foreground));
}
.bg-foreground\/10 {
  background-color: hsl(var(--foreground) / 0.1);
}
.bg-foreground\/40 {
  background-color: hsl(var(--foreground) / 0.4);
}
.bg-foreground\/80 {
  background-color: hsl(var(--foreground) / 0.8);
}
.bg-fuchsia-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 232 255 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-100\/45 {
  background-color: rgb(250 232 255 / 0.45);
}
.bg-fuchsia-200\/35 {
  background-color: rgb(245 208 254 / 0.35);
}
.bg-fuchsia-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 171 252 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(232 121 249 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-400\/20 {
  background-color: rgb(232 121 249 / 0.2);
}
.bg-fuchsia-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 244 255 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-50\/30 {
  background-color: rgb(253 244 255 / 0.3);
}
.bg-fuchsia-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 70 239 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-500\/10 {
  background-color: rgb(217 70 239 / 0.1);
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / 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-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-400\/10 {
  background-color: rgb(74 222 128 / 0.1);
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-50\/30 {
  background-color: rgb(240 253 244 / 0.3);
}
.bg-green-50\/40 {
  background-color: rgb(240 253 244 / 0.4);
}
.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\/80 {
  background-color: rgb(34 197 94 / 0.8);
}
.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-200\/25 {
  background-color: rgb(199 210 254 / 0.25);
}
.bg-indigo-300\/30 {
  background-color: rgb(165 180 252 / 0.3);
}
.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}
.bg-indigo-400\/20 {
  background-color: rgb(129 140 248 / 0.2);
}
.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500\/10 {
  background-color: rgb(99 102 241 / 0.1);
}
.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-lime-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
}
.bg-lime-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / var(--tw-bg-opacity, 1));
}
.bg-lime-500\/10 {
  background-color: rgb(132 204 22 / 0.1);
}
.bg-muted {
  background-color: hsl(var(--muted));
}
.bg-muted-foreground\/10 {
  background-color: hsl(var(--muted-foreground) / 0.1);
}
.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\/10 {
  background-color: hsl(var(--muted) / 0.1);
}
.bg-muted\/20 {
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/25 {
  background-color: hsl(var(--muted) / 0.25);
}
.bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/35 {
  background-color: hsl(var(--muted) / 0.35);
}
.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/45 {
  background-color: hsl(var(--muted) / 0.45);
}
.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-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 116 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-pastel-blue {
  background-color: hsl(var(--pastel-blue));
}
.bg-pastel-blue\/20 {
  background-color: hsl(var(--pastel-blue) / 0.2);
}
.bg-pastel-blue\/30 {
  background-color: hsl(var(--pastel-blue) / 0.3);
}
.bg-pastel-green {
  background-color: hsl(var(--pastel-green));
}
.bg-pastel-orange {
  background-color: hsl(var(--pastel-orange));
}
.bg-pastel-pink {
  background-color: hsl(var(--pastel-pink));
}
.bg-pastel-purple {
  background-color: hsl(var(--pastel-purple));
}
.bg-pastel-purple\/30 {
  background-color: hsl(var(--pastel-purple) / 0.3);
}
.bg-pastel-purple\/40 {
  background-color: hsl(var(--pastel-purple) / 0.4);
}
.bg-pastel-purple\/50 {
  background-color: hsl(var(--pastel-purple) / 0.5);
}
.bg-pastel-yellow {
  background-color: hsl(var(--pastel-yellow));
}
.bg-pastel-yellow\/30 {
  background-color: hsl(var(--pastel-yellow) / 0.3);
}
.bg-pastel-yellow\/40 {
  background-color: hsl(var(--pastel-yellow) / 0.4);
}
.bg-pastel-yellow\/60 {
  background-color: hsl(var(--pastel-yellow) / 0.6);
}
.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-200\/50 {
  background-color: rgb(251 207 232 / 0.5);
}
.bg-pink-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 114 182 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-popover {
  background-color: hsl(var(--popover));
}
.bg-primary {
  background-color: hsl(var(--primary));
}
.bg-primary-foreground\/20 {
  background-color: hsl(var(--primary-foreground) / 0.2);
}
.bg-primary\/0 {
  background-color: hsl(var(--primary) / 0);
}
.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\/25 {
  background-color: hsl(var(--primary) / 0.25);
}
.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\/\[\.025\] {
  background-color: hsl(var(--primary) / .025);
}
.bg-primary\/\[\.045\] {
  background-color: hsl(var(--primary) / .045);
}
.bg-primary\/\[0\.025\] {
  background-color: hsl(var(--primary) / 0.025);
}
.bg-primary\/\[0\.02\] {
  background-color: hsl(var(--primary) / 0.02);
}
.bg-primary\/\[0\.035\] {
  background-color: hsl(var(--primary) / 0.035);
}
.bg-primary\/\[0\.03\] {
  background-color: hsl(var(--primary) / 0.03);
}
.bg-primary\/\[0\.045\] {
  background-color: hsl(var(--primary) / 0.045);
}
.bg-primary\/\[0\.04\] {
  background-color: hsl(var(--primary) / 0.04);
}
.bg-primary\/\[0\.055\] {
  background-color: hsl(var(--primary) / 0.055);
}
.bg-primary\/\[0\.05\] {
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/\[0\.06\] {
  background-color: hsl(var(--primary) / 0.06);
}
.bg-primary\/\[0\.07\] {
  background-color: hsl(var(--primary) / 0.07);
}
.bg-primary\/\[0\.08\] {
  background-color: hsl(var(--primary) / 0.08);
}
.bg-primary\/\[0\.09\] {
  background-color: hsl(var(--primary) / 0.09);
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-100\/60 {
  background-color: rgb(243 232 255 / 0.6);
}
.bg-purple-200\/35 {
  background-color: rgb(233 213 255 / 0.35);
}
.bg-purple-300\/40 {
  background-color: rgb(216 180 254 / 0.4);
}
.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / 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-50\/60 {
  background-color: rgb(250 245 255 / 0.6);
}
.bg-purple-50\/70 {
  background-color: rgb(250 245 255 / 0.7);
}
.bg-purple-50\/80 {
  background-color: rgb(250 245 255 / 0.8);
}
.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-purple-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.bg-purple-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-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\/30 {
  background-color: rgb(254 242 242 / 0.3);
}
.bg-red-50\/50 {
  background-color: rgb(254 242 242 / 0.5);
}
.bg-red-50\/60 {
  background-color: rgb(254 242 242 / 0.6);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/80 {
  background-color: rgb(239 68 68 / 0.8);
}
.bg-red-950\/30 {
  background-color: rgb(69 10 10 / 0.3);
}
.bg-rose-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.bg-rose-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 164 175 / var(--tw-bg-opacity, 1));
}
.bg-rose-300\/25 {
  background-color: rgb(253 164 175 / 0.25);
}
.bg-rose-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / 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-50\/60 {
  background-color: rgb(255 241 242 / 0.6);
}
.bg-rose-50\/80 {
  background-color: rgb(255 241 242 / 0.8);
}
.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-rose-500\/5 {
  background-color: rgb(244 63 94 / 0.05);
}
.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.bg-rose-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(136 19 55 / var(--tw-bg-opacity, 1));
}
.bg-secondary {
  background-color: hsl(var(--secondary));
}
.bg-secondary\/20 {
  background-color: hsl(var(--secondary) / 0.2);
}
.bg-secondary\/25 {
  background-color: hsl(var(--secondary) / 0.25);
}
.bg-secondary\/30 {
  background-color: hsl(var(--secondary) / 0.3);
}
.bg-secondary\/35 {
  background-color: hsl(var(--secondary) / 0.35);
}
.bg-secondary\/40 {
  background-color: hsl(var(--secondary) / 0.4);
}
.bg-secondary\/45 {
  background-color: hsl(var(--secondary) / 0.45);
}
.bg-secondary\/50 {
  background-color: hsl(var(--secondary) / 0.5);
}
.bg-secondary\/60 {
  background-color: hsl(var(--secondary) / 0.6);
}
.bg-secondary\/70 {
  background-color: hsl(var(--secondary) / 0.7);
}
.bg-secondary\/80 {
  background-color: hsl(var(--secondary) / 0.8);
}
.bg-sidebar {
  background-color: hsl(var(--sidebar-background));
}
.bg-sidebar-border {
  background-color: hsl(var(--sidebar-border));
}
.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-sky-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(125 211 252 / var(--tw-bg-opacity, 1));
}
.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-sky-50\/30 {
  background-color: rgb(240 249 255 / 0.3);
}
.bg-sky-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-sky-500\/10 {
  background-color: rgb(14 165 233 / 0.1);
}
.bg-sky-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/50 {
  background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-50\/70 {
  background-color: rgb(248 250 252 / 0.7);
}
.bg-slate-50\/80 {
  background-color: rgb(248 250 252 / 0.8);
}
.bg-slate-500\/10 {
  background-color: rgb(100 116 139 / 0.1);
}
.bg-slate-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-slate-950\/55 {
  background-color: rgb(2 6 23 / 0.55);
}
.bg-slate-950\/65 {
  background-color: rgb(2 6 23 / 0.65);
}
.bg-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-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-100\/50 {
  background-color: rgb(237 233 254 / 0.5);
}
.bg-violet-100\/55 {
  background-color: rgb(237 233 254 / 0.55);
}
.bg-violet-100\/70 {
  background-color: rgb(237 233 254 / 0.7);
}
.bg-violet-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}
.bg-violet-200\/35 {
  background-color: rgb(221 214 254 / 0.35);
}
.bg-violet-200\/45 {
  background-color: rgb(221 214 254 / 0.45);
}
.bg-violet-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(196 181 253 / var(--tw-bg-opacity, 1));
}
.bg-violet-300\/10 {
  background-color: rgb(196 181 253 / 0.1);
}
.bg-violet-300\/20 {
  background-color: rgb(196 181 253 / 0.2);
}
.bg-violet-300\/30 {
  background-color: rgb(196 181 253 / 0.3);
}
.bg-violet-300\/40 {
  background-color: rgb(196 181 253 / 0.4);
}
.bg-violet-300\/70 {
  background-color: rgb(196 181 253 / 0.7);
}
.bg-violet-300\/\[0\.15\] {
  background-color: rgb(196 181 253 / 0.15);
}
.bg-violet-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}
.bg-violet-400\/10 {
  background-color: rgb(167 139 250 / 0.1);
}
.bg-violet-400\/15 {
  background-color: rgb(167 139 250 / 0.15);
}
.bg-violet-400\/20 {
  background-color: rgb(167 139 250 / 0.2);
}
.bg-violet-400\/60 {
  background-color: rgb(167 139 250 / 0.6);
}
.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-violet-50\/30 {
  background-color: rgb(245 243 255 / 0.3);
}
.bg-violet-50\/40 {
  background-color: rgb(245 243 255 / 0.4);
}
.bg-violet-50\/45 {
  background-color: rgb(245 243 255 / 0.45);
}
.bg-violet-50\/50 {
  background-color: rgb(245 243 255 / 0.5);
}
.bg-violet-50\/55 {
  background-color: rgb(245 243 255 / 0.55);
}
.bg-violet-50\/60 {
  background-color: rgb(245 243 255 / 0.6);
}
.bg-violet-50\/65 {
  background-color: rgb(245 243 255 / 0.65);
}
.bg-violet-50\/70 {
  background-color: rgb(245 243 255 / 0.7);
}
.bg-violet-50\/80 {
  background-color: rgb(245 243 255 / 0.8);
}
.bg-violet-50\/90 {
  background-color: rgb(245 243 255 / 0.9);
}
.bg-violet-50\/95 {
  background-color: rgb(245 243 255 / 0.95);
}
.bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-500\/25 {
  background-color: rgb(139 92 246 / 0.25);
}
.bg-violet-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.bg-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.bg-violet-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(46 16 101 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/25 {
  background-color: rgb(255 255 255 / 0.25);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/55 {
  background-color: rgb(255 255 255 / 0.55);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/75 {
  background-color: rgb(255 255 255 / 0.75);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/85 {
  background-color: rgb(255 255 255 / 0.85);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.055\] {
  background-color: rgb(255 255 255 / 0.055);
}
.bg-white\/\[0\.05\] {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-white\/\[0\.07\] {
  background-color: rgb(255 255 255 / 0.07);
}
.bg-white\/\[0\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}
.bg-white\/\[0\.12\] {
  background-color: rgb(255 255 255 / 0.12);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-200\/60 {
  background-color: rgb(254 240 138 / 0.6);
}
.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-400\/20 {
  background-color: rgb(250 204 21 / 0.2);
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.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-yellow-500\/15 {
  background-color: rgb(234 179 8 / 0.15);
}
.bg-yellow-500\/80 {
  background-color: rgb(234 179 8 / 0.8);
}
.bg-opacity-15 {
  --tw-bg-opacity: 0.15;
}
.bg-\[conic-gradient\(\#5f2eea_0_78\%\2c \#eee9f6_78\%_100\%\)\] {
  background-image: conic-gradient(#5f2eea 0 78%,#eee9f6 78% 100%);
}
.bg-\[conic-gradient\(from_0deg\2c transparent_0deg\2c transparent_292deg\2c rgba\(95\2c 46\2c 234\2c \.025\)_318deg\2c rgba\(142\2c 92\2c 255\2c \.31\)_355deg\2c transparent_360deg\)\] {
  background-image: conic-gradient(from 0deg,transparent 0deg,transparent 292deg,rgba(95,46,234,.025) 318deg,rgba(142,92,255,.31) 355deg,transparent 360deg);
}
.bg-\[linear-gradient\(100deg\2c rgba\(244\2c 241\2c 255\2c 0\.96\)_0\%\2c rgba\(244\2c 241\2c 255\2c 0\.76\)_30\%\2c rgba\(244\2c 241\2c 255\2c 0\.30\)_52\%\2c rgba\(244\2c 241\2c 255\2c 0\)_68\%\)\] {
  background-image: linear-gradient(100deg,rgba(244,241,255,0.96) 0%,rgba(244,241,255,0.76) 30%,rgba(244,241,255,0.30) 52%,rgba(244,241,255,0) 68%);
}
.bg-\[linear-gradient\(100deg\2c rgba\(244\2c 241\2c 255\2c 0\.96\)_0\%\2c rgba\(244\2c 241\2c 255\2c 0\.78\)_28\%\2c rgba\(244\2c 241\2c 255\2c 0\.32\)_50\%\2c rgba\(244\2c 241\2c 255\2c 0\)_66\%\)\] {
  background-image: linear-gradient(100deg,rgba(244,241,255,0.96) 0%,rgba(244,241,255,0.78) 28%,rgba(244,241,255,0.32) 50%,rgba(244,241,255,0) 66%);
}
.bg-\[linear-gradient\(135deg\2c \#24133f_0\%\2c \#4a1fc7_52\%\2c \#7c55ef_100\%\)\] {
  background-image: linear-gradient(135deg,#24133f 0%,#4a1fc7 52%,#7c55ef 100%);
}
.bg-\[linear-gradient\(135deg\2c \#faf7ff\2c \#fff\)\] {
  background-image: linear-gradient(135deg,#faf7ff,#fff);
}
.bg-\[linear-gradient\(180deg\2c \#ffffff_0\%\2c \#f7f4ff_100\%\)\] {
  background-image: linear-gradient(180deg,#ffffff 0%,#f7f4ff 100%);
}
.bg-\[linear-gradient\(180deg\2c \#ffffff_0\%\2c \#fbf9ff_58\%\2c \#ffffff_100\%\)\] {
  background-image: linear-gradient(180deg,#ffffff 0%,#fbf9ff 58%,#ffffff 100%);
}
.bg-\[linear-gradient\(90deg\2c \#5f2eea\2c \#8e5cff\2c \#e8b94a\2c \#5f2eea\)\] {
  background-image: linear-gradient(90deg,#5f2eea,#8e5cff,#e8b94a,#5f2eea);
}
.bg-\[linear-gradient\(rgba\(109\2c 56\2c 232\2c 0\.035\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(109\2c 56\2c 232\2c 0\.035\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(rgba(109,56,232,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(109,56,232,0.035) 1px,transparent 1px);
}
.bg-\[linear-gradient\(rgba\(95\2c 46\2c 234\2c 0\.055\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(95\2c 46\2c 234\2c 0\.055\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(rgba(95,46,234,0.055) 1px,transparent 1px),linear-gradient(90deg,rgba(95,46,234,0.055) 1px,transparent 1px);
}
.bg-\[linear-gradient\(to_right\2c rgba\(124\2c 58\2c 237\2c 0\)\2c \#7c3aed_45\%\2c \#a855f7_55\%\2c rgba\(124\2c 58\2c 237\2c 0\)\)\] {
  background-image: linear-gradient(to right,rgba(124,58,237,0),#7c3aed 45%,#a855f7 55%,rgba(124,58,237,0));
}
.bg-\[radial-gradient\(circle\2c hsl\(159_65\%_45\%\/0\.11\)\2c transparent_68\%\)\] {
  background-image: radial-gradient(circle,hsl(159 65% 45%/0.11),transparent 68%);
}
.bg-\[radial-gradient\(circle\2c hsl\(var\(--primary\)\/0\.17\)\2c hsl\(var\(--primary\)\/0\.04\)_50\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle,hsl(var(--primary)/0.17),hsl(var(--primary)/0.04) 50%,transparent 72%);
}
.bg-\[radial-gradient\(circle\2c hsl\(var\(--primary\)\/0\.18\)\2c hsl\(var\(--primary\)\/0\.04\)_55\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle,hsl(var(--primary)/0.18),hsl(var(--primary)/0.04) 55%,transparent 72%);
}
.bg-\[radial-gradient\(circle\2c hsl\(var\(--primary\)\/0\.19\)\2c hsl\(var\(--primary\)\/0\.06\)_48\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle,hsl(var(--primary)/0.19),hsl(var(--primary)/0.06) 48%,transparent 72%);
}
.bg-\[radial-gradient\(circle\2c rgba\(142\2c 92\2c 255\2c \.18\)\2c rgba\(95\2c 46\2c 234\2c \.045\)_58\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle,rgba(142,92,255,.18),rgba(95,46,234,.045) 58%,transparent 72%);
}
.bg-\[radial-gradient\(circle\2c rgba\(142\2c 92\2c 255\2c \.23\)\2c rgba\(95\2c 46\2c 234\2c \.07\)_48\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle,rgba(142,92,255,.23),rgba(95,46,234,.07) 48%,transparent 72%);
}
.bg-\[radial-gradient\(circle\2c rgba\(142\2c 92\2c 255\2c 0\.28\)\2c rgba\(95\2c 46\2c 234\2c 0\.08\)_48\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle,rgba(142,92,255,0.28),rgba(95,46,234,0.08) 48%,transparent 72%);
}
.bg-\[radial-gradient\(circle\2c rgba\(196\2c 181\2c 253\2c \.30\)_0\%\2c rgba\(245\2c 243\2c 255\2c \.14\)_56\%\2c transparent_73\%\)\] {
  background-image: radial-gradient(circle,rgba(196,181,253,.30) 0%,rgba(245,243,255,.14) 56%,transparent 73%);
}
.bg-\[radial-gradient\(circle_at_10\%_15\%\2c rgba\(49\2c 184\2c 219\2c \.14\)\2c transparent_26\%\)\2c radial-gradient\(circle_at_91\%_18\%\2c rgba\(232\2c 185\2c 74\2c \.13\)\2c transparent_23\%\)\2c linear-gradient\(135deg\2c \#fff_0\%\2c \#faf7ff_55\%\2c \#f1ebff_100\%\)\] {
  background-image: radial-gradient(circle at 10% 15%,rgba(49,184,219,.14),transparent 26%),radial-gradient(circle at 91% 18%,rgba(232,185,74,.13),transparent 23%),linear-gradient(135deg,#fff 0%,#faf7ff 55%,#f1ebff 100%);
}
.bg-\[radial-gradient\(circle_at_10\%_6\%\2c rgba\(142\2c 92\2c 255\2c \.16\)\2c transparent_26rem\)\2c radial-gradient\(circle_at_90\%_8\%\2c rgba\(232\2c 185\2c 74\2c \.12\)\2c transparent_24rem\)\2c linear-gradient\(180deg\2c \#fff_0\%\2c \#faf7ff_65\%\2c \#fff_100\%\)\] {
  background-image: radial-gradient(circle at 10% 6%,rgba(142,92,255,.16),transparent 26rem),radial-gradient(circle at 90% 8%,rgba(232,185,74,.12),transparent 24rem),linear-gradient(180deg,#fff 0%,#faf7ff 65%,#fff 100%);
}
.bg-\[radial-gradient\(circle_at_12\%_18\%\2c _rgba\(232\2c 185\2c 74\2c 0\.18\)\2c _transparent_28\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_52\%\2c \#effcff_100\%\)\] {
  background-image: radial-gradient(circle at 12% 18%, rgba(232,185,74,0.18), transparent 28%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 52%,#effcff 100%);
}
.bg-\[radial-gradient\(circle_at_12\%_18\%\2c _rgba\(6\2c 182\2c 212\2c 0\.12\)\2c _transparent_30\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_52\%\2c \#f2fcff_100\%\)\] {
  background-image: radial-gradient(circle at 12% 18%, rgba(6,182,212,0.12), transparent 30%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 52%,#f2fcff 100%);
}
.bg-\[radial-gradient\(circle_at_12\%_18\%\2c rgba\(49\2c 184\2c 219\2c \.18\)\2c transparent_25\%\)\2c radial-gradient\(circle_at_90\%_13\%\2c rgba\(232\2c 185\2c 74\2c \.16\)\2c transparent_22\%\)\2c linear-gradient\(130deg\2c \#241451\2c \#43238f_50\%\2c \#6e43d6\)\] {
  background-image: radial-gradient(circle at 12% 18%,rgba(49,184,219,.18),transparent 25%),radial-gradient(circle at 90% 13%,rgba(232,185,74,.16),transparent 22%),linear-gradient(130deg,#241451,#43238f 50%,#6e43d6);
}
.bg-\[radial-gradient\(circle_at_14\%_16\%\2c rgba\(95\2c 46\2c 234\2c 0\.13\)\2c transparent_32\%\)\2c radial-gradient\(circle_at_87\%_20\%\2c rgba\(142\2c 92\2c 255\2c 0\.12\)\2c transparent_29\%\)\] {
  background-image: radial-gradient(circle at 14% 16%,rgba(95,46,234,0.13),transparent 32%),radial-gradient(circle at 87% 20%,rgba(142,92,255,0.12),transparent 29%);
}
.bg-\[radial-gradient\(circle_at_15\%_10\%\2c hsl\(var\(--primary\)\/0\.14\)\2c transparent_34\%\)\2c radial-gradient\(circle_at_88\%_18\%\2c hsl\(var\(--primary\)\/0\.12\)\2c transparent_30\%\)\2c linear-gradient\(to_bottom\2c hsl\(var\(--background\)\)\2c hsl\(var\(--muted\)\/0\.22\)\2c hsl\(var\(--background\)\)\)\] {
  background-image: radial-gradient(circle at 15% 10%,hsl(var(--primary)/0.14),transparent 34%),radial-gradient(circle at 88% 18%,hsl(var(--primary)/0.12),transparent 30%),linear-gradient(to bottom,hsl(var(--background)),hsl(var(--muted)/0.22),hsl(var(--background)));
}
.bg-\[radial-gradient\(circle_at_15\%_15\%\2c _rgba\(59\2c 130\2c 246\2c 0\.14\)\2c _transparent_30\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_50\%\2c \#eef7ff_100\%\)\] {
  background-image: radial-gradient(circle at 15% 15%, rgba(59,130,246,0.14), transparent 30%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 50%,#eef7ff 100%);
}
.bg-\[radial-gradient\(circle_at_15\%_15\%\2c _rgba\(95\2c 46\2c 234\2c 0\.18\)\2c _transparent_30\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_50\%\2c \#eefcff_100\%\)\] {
  background-image: radial-gradient(circle at 15% 15%, rgba(95,46,234,0.18), transparent 30%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 50%,#eefcff 100%);
}
.bg-\[radial-gradient\(circle_at_15\%_15\%\2c _rgba\(95\2c 46\2c 234\2c 0\.18\)\2c _transparent_32\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_50\%\2c \#effcff_100\%\)\] {
  background-image: radial-gradient(circle at 15% 15%, rgba(95,46,234,0.18), transparent 32%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 50%,#effcff 100%);
}
.bg-\[radial-gradient\(circle_at_15\%_15\%\2c rgba\(95\2c 46\2c 234\2c \.18\)\2c transparent_32\%\)\2c linear-gradient\(135deg\2c \#fff\2c \#f5f1ff_58\%\2c \#effcff\)\] {
  background-image: radial-gradient(circle at 15% 15%,rgba(95,46,234,.18),transparent 32%),linear-gradient(135deg,#fff,#f5f1ff 58%,#effcff);
}
.bg-\[radial-gradient\(circle_at_15\%_20\%\2c _rgba\(244\2c 63\2c 94\2c 0\.09\)\2c _transparent_28\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f6f1ff_55\%\2c \#f0fcff_100\%\)\] {
  background-image: radial-gradient(circle at 15% 20%, rgba(244,63,94,0.09), transparent 28%),linear-gradient(135deg,#ffffff 0%,#f6f1ff 55%,#f0fcff 100%);
}
.bg-\[radial-gradient\(circle_at_16\%_18\%\2c rgba\(95\2c 46\2c 234\2c \.18\)\2c transparent_31\%\)\2c radial-gradient\(circle_at_86\%_18\%\2c rgba\(132\2c 204\2c 22\2c \.16\)\2c transparent_28\%\)\2c linear-gradient\(135deg\2c \#fff\2c \#f6f2ff_54\%\2c \#f5ffe9\)\] {
  background-image: radial-gradient(circle at 16% 18%,rgba(95,46,234,.18),transparent 31%),radial-gradient(circle at 86% 18%,rgba(132,204,22,.16),transparent 28%),linear-gradient(135deg,#fff,#f6f2ff 54%,#f5ffe9);
}
.bg-\[radial-gradient\(circle_at_18\%_15\%\2c rgba\(245\2c 158\2c 11\2c \.18\)\2c transparent_30\%\)\2c radial-gradient\(circle_at_82\%_20\%\2c rgba\(95\2c 46\2c 234\2c \.18\)\2c transparent_31\%\)\2c linear-gradient\(135deg\2c \#fff\2c \#f7f3ff_55\%\2c \#fff8ec\)\] {
  background-image: radial-gradient(circle at 18% 15%,rgba(245,158,11,.18),transparent 30%),radial-gradient(circle at 82% 20%,rgba(95,46,234,.18),transparent 31%),linear-gradient(135deg,#fff,#f7f3ff 55%,#fff8ec);
}
.bg-\[radial-gradient\(circle_at_18\%_16\%\2c _rgba\(249\2c 115\2c 22\2c 0\.13\)\2c _transparent_30\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f7f2ff_52\%\2c \#fff7ed_100\%\)\] {
  background-image: radial-gradient(circle at 18% 16%, rgba(249,115,22,0.13), transparent 30%),linear-gradient(135deg,#ffffff 0%,#f7f2ff 52%,#fff7ed 100%);
}
.bg-\[radial-gradient\(circle_at_18\%_18\%\2c _rgba\(132\2c 204\2c 22\2c 0\.16\)\2c _transparent_30\%\)\2c radial-gradient\(circle_at_85\%_15\%\2c _rgba\(236\2c 72\2c 153\2c 0\.14\)\2c _transparent_28\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f8f5ff_52\%\2c \#fbf7ff_100\%\)\] {
  background-image: radial-gradient(circle at 18% 18%, rgba(132,204,22,0.16), transparent 30%),radial-gradient(circle at 85% 15%, rgba(236,72,153,0.14), transparent 28%),linear-gradient(135deg,#ffffff 0%,#f8f5ff 52%,#fbf7ff 100%);
}
.bg-\[radial-gradient\(circle_at_18\%_18\%\2c _rgba\(95\2c 46\2c 234\2c 0\.18\)\2c _transparent_31\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_55\%\2c \#eefcf8_100\%\)\] {
  background-image: radial-gradient(circle at 18% 18%, rgba(95,46,234,0.18), transparent 31%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 55%,#eefcf8 100%);
}
.bg-\[radial-gradient\(circle_at_18\%_18\%\2c hsl\(var\(--background\)\/0\.8\)\2c transparent_23\%\)\2c linear-gradient\(135deg\2c hsl\(var\(--primary\)\/0\.15\)\2c hsl\(var\(--background\)\)_52\%\2c hsl\(159_60\%_92\%\)\)\] {
  background-image: radial-gradient(circle at 18% 18%,hsl(var(--background)/0.8),transparent 23%),linear-gradient(135deg,hsl(var(--primary)/0.15),hsl(var(--background)) 52%,hsl(159 60% 92%));
}
.bg-\[radial-gradient\(circle_at_18\%_18\%\2c hsl\(var\(--primary\)\/0\.13\)\2c transparent_34\%\)\2c radial-gradient\(circle_at_82\%_24\%\2c hsl\(var\(--primary\)\/0\.09\)\2c transparent_28\%\)\2c linear-gradient\(to_bottom\2c hsl\(var\(--background\)\)\2c hsl\(var\(--muted\)\/0\.28\)\2c hsl\(var\(--background\)\)\)\] {
  background-image: radial-gradient(circle at 18% 18%,hsl(var(--primary)/0.13),transparent 34%),radial-gradient(circle at 82% 24%,hsl(var(--primary)/0.09),transparent 28%),linear-gradient(to bottom,hsl(var(--background)),hsl(var(--muted)/0.28),hsl(var(--background)));
}
.bg-\[radial-gradient\(circle_at_18\%_18\%\2c rgba\(95\2c 46\2c 234\2c \.18\)\2c transparent_31\%\)\2c radial-gradient\(circle_at_86\%_16\%\2c rgba\(34\2c 211\2c 238\2c \.16\)\2c transparent_30\%\)\2c linear-gradient\(135deg\2c \#fff\2c \#f6f2ff_56\%\2c \#effcff\)\] {
  background-image: radial-gradient(circle at 18% 18%,rgba(95,46,234,.18),transparent 31%),radial-gradient(circle at 86% 16%,rgba(34,211,238,.16),transparent 30%),linear-gradient(135deg,#fff,#f6f2ff 56%,#effcff);
}
.bg-\[radial-gradient\(circle_at_18\%_8\%\2c hsl\(var\(--primary\)\/0\.14\)\2c transparent_34\%\)\2c radial-gradient\(circle_at_82\%_18\%\2c hsl\(var\(--primary\)\/0\.10\)\2c transparent_30\%\)\2c linear-gradient\(to_bottom\2c hsl\(var\(--background\)\)\2c hsl\(var\(--muted\)\/0\.24\)\2c hsl\(var\(--background\)\)\)\] {
  background-image: radial-gradient(circle at 18% 8%,hsl(var(--primary)/0.14),transparent 34%),radial-gradient(circle at 82% 18%,hsl(var(--primary)/0.10),transparent 30%),linear-gradient(to bottom,hsl(var(--background)),hsl(var(--muted)/0.24),hsl(var(--background)));
}
.bg-\[radial-gradient\(circle_at_20\%_16\%\2c _rgba\(16\2c 185\2c 129\2c 0\.14\)\2c _transparent_30\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f5f1ff_52\%\2c \#eefcf8_100\%\)\] {
  background-image: radial-gradient(circle at 20% 16%, rgba(16,185,129,0.14), transparent 30%),linear-gradient(135deg,#ffffff 0%,#f5f1ff 52%,#eefcf8 100%);
}
.bg-\[radial-gradient\(circle_at_20\%_20\%\2c rgba\(95\2c 46\2c 234\2c \.2\)\2c transparent_32\%\)\2c linear-gradient\(135deg\2c \#fff\2c \#f5f1ff_55\%\2c \#edfcff\)\] {
  background-image: radial-gradient(circle at 20% 20%,rgba(95,46,234,.2),transparent 32%),linear-gradient(135deg,#fff,#f5f1ff 55%,#edfcff);
}
.bg-\[radial-gradient\(circle_at_50\%_45\%\2c hsl\(var\(--primary\)\/0\.09\)\2c transparent_42\%\)\] {
  background-image: radial-gradient(circle at 50% 45%,hsl(var(--primary)/0.09),transparent 42%);
}
.bg-\[radial-gradient\(circle_at_50\%_48\%\2c hsl\(var\(--primary\)\/0\.18\)\2c hsl\(var\(--primary\)\/0\.07\)_44\%\2c transparent_72\%\)\] {
  background-image: radial-gradient(circle at 50% 48%,hsl(var(--primary)/0.18),hsl(var(--primary)/0.07) 44%,transparent 72%);
}
.bg-\[radial-gradient\(circle_at_50\%_50\%\2c rgba\(142\2c 92\2c 255\2c \.16\)\2c transparent_44\%\)\2c linear-gradient\(145deg\2c \#fbf9ff\2c \#f2ecff\)\] {
  background-image: radial-gradient(circle at 50% 50%,rgba(142,92,255,.16),transparent 44%),linear-gradient(145deg,#fbf9ff,#f2ecff);
}
.bg-\[radial-gradient\(circle_at_7\%_2\%\2c rgba\(142\2c 92\2c 255\2c \.10\)\2c transparent_24rem\)\2c linear-gradient\(180deg\2c \#fff\2c \#fdfcff_55\%\2c \#fff\)\] {
  background-image: radial-gradient(circle at 7% 2%,rgba(142,92,255,.10),transparent 24rem),linear-gradient(180deg,#fff,#fdfcff 55%,#fff);
}
.bg-\[radial-gradient\(circle_at_73\%_40\%\2c rgba\(95\2c 46\2c 234\2c 0\.15\)\2c transparent_35\%\)\2c linear-gradient\(135deg\2c \#ffffff\2c \#faf7ff_50\%\2c \#f0eaff\)\] {
  background-image: radial-gradient(circle at 73% 40%,rgba(95,46,234,0.15),transparent 35%),linear-gradient(135deg,#ffffff,#faf7ff 50%,#f0eaff);
}
.bg-\[radial-gradient\(circle_at_78\%_12\%\2c rgba\(255\2c 255\2c 255\2c \.88\)\2c transparent_24\%\)\2c radial-gradient\(circle_at_78\%_55\%\2c rgba\(95\2c 46\2c 234\2c \.13\)\2c transparent_36\%\)\2c linear-gradient\(135deg\2c \#fff_0\%\2c \#faf7ff_48\%\2c \#eee7ff_100\%\)\] {
  background-image: radial-gradient(circle at 78% 12%,rgba(255,255,255,.88),transparent 24%),radial-gradient(circle at 78% 55%,rgba(95,46,234,.13),transparent 36%),linear-gradient(135deg,#fff 0%,#faf7ff 48%,#eee7ff 100%);
}
.bg-\[radial-gradient\(circle_at_8\%_3\%\2c rgba\(142\2c 92\2c 255\2c 0\.08\)\2c transparent_22\%\)\2c linear-gradient\(180deg\2c \#ffffff_0\%\2c \#fdfcff_48\%\2c \#ffffff_100\%\)\] {
  background-image: radial-gradient(circle at 8% 3%,rgba(142,92,255,0.08),transparent 22%),linear-gradient(180deg,#ffffff 0%,#fdfcff 48%,#ffffff 100%);
}
.bg-\[radial-gradient\(circle_at_8\%_4\%\2c rgba\(142\2c 92\2c 255\2c \.13\)\2c transparent_28rem\)\2c radial-gradient\(circle_at_91\%_13\%\2c rgba\(232\2c 185\2c 74\2c \.09\)\2c transparent_25rem\)\2c linear-gradient\(180deg\2c \#fff_0\%\2c \#fbf9ff_62\%\2c \#fff_100\%\)\] {
  background-image: radial-gradient(circle at 8% 4%,rgba(142,92,255,.13),transparent 28rem),radial-gradient(circle at 91% 13%,rgba(232,185,74,.09),transparent 25rem),linear-gradient(180deg,#fff 0%,#fbf9ff 62%,#fff 100%);
}
.bg-\[radial-gradient\(circle_at_8\%_8\%\2c rgba\(142\2c 92\2c 255\2c 0\.10\)\2c transparent_29\%\)\2c radial-gradient\(circle_at_92\%_15\%\2c rgba\(232\2c 185\2c 74\2c 0\.10\)\2c transparent_25\%\)\2c linear-gradient\(180deg\2c \#ffffff_0\%\2c \#fbf9ff_58\%\2c \#ffffff_100\%\)\] {
  background-image: radial-gradient(circle at 8% 8%,rgba(142,92,255,0.10),transparent 29%),radial-gradient(circle at 92% 15%,rgba(232,185,74,0.10),transparent 25%),linear-gradient(180deg,#ffffff 0%,#fbf9ff 58%,#ffffff 100%);
}
.bg-\[radial-gradient\(circle_at_80\%_18\%\2c rgba\(255\2c 255\2c 255\2c 0\.84\)\2c transparent_22\%\)\2c linear-gradient\(135deg\2c \#d9d1ff\2c \#e8e2ff_58\%\2c \#d8ccff\)\] {
  background-image: radial-gradient(circle at 80% 18%,rgba(255,255,255,0.84),transparent 22%),linear-gradient(135deg,#d9d1ff,#e8e2ff 58%,#d8ccff);
}
.bg-\[radial-gradient\(circle_at_80\%_20\%\2c rgba\(142\2c 92\2c 255\2c 0\.22\)\2c transparent_34\%\)\2c radial-gradient\(circle_at_16\%_100\%\2c rgba\(232\2c 185\2c 74\2c 0\.11\)\2c transparent_30\%\)\] {
  background-image: radial-gradient(circle at 80% 20%,rgba(142,92,255,0.22),transparent 34%),radial-gradient(circle at 16% 100%,rgba(232,185,74,0.11),transparent 30%);
}
.bg-\[radial-gradient\(circle_at_82\%_22\%\2c hsl\(var\(--primary\)\/0\.12\)\2c transparent_32\%\)\2c linear-gradient\(180deg\2c hsl\(var\(--background\)\)_0\%\2c hsl\(var\(--primary\)\/0\.035\)_100\%\)\] {
  background-image: radial-gradient(circle at 82% 22%,hsl(var(--primary)/0.12),transparent 32%),linear-gradient(180deg,hsl(var(--background)) 0%,hsl(var(--primary)/0.035) 100%);
}
.bg-\[radial-gradient\(circle_at_83\%_18\%\2c hsl\(var\(--primary\)\/0\.14\)\2c transparent_30\%\)\2c linear-gradient\(135deg\2c hsl\(var\(--primary\)\/0\.10\)\2c hsl\(var\(--background\)\)_50\%\2c hsl\(159_65\%_45\%\/0\.10\)\)\] {
  background-image: radial-gradient(circle at 83% 18%,hsl(var(--primary)/0.14),transparent 30%),linear-gradient(135deg,hsl(var(--primary)/0.10),hsl(var(--background)) 50%,hsl(159 65% 45%/0.10));
}
.bg-\[radial-gradient\(circle_at_84\%_16\%\2c hsl\(var\(--primary\)\/0\.15\)\2c transparent_31\%\)\2c linear-gradient\(180deg\2c hsl\(var\(--background\)\)\2c hsl\(var\(--primary\)\/0\.035\)\)\] {
  background-image: radial-gradient(circle at 84% 16%,hsl(var(--primary)/0.15),transparent 31%),linear-gradient(180deg,hsl(var(--background)),hsl(var(--primary)/0.035));
}
.bg-\[radial-gradient\(circle_at_84\%_16\%\2c hsl\(var\(--primary\)\/0\.15\)\2c transparent_31\%\)\2c radial-gradient\(circle_at_12\%_86\%\2c hsl\(159_65\%_45\%\/0\.10\)\2c transparent_25\%\)\2c linear-gradient\(180deg\2c hsl\(var\(--background\)\)\2c hsl\(var\(--primary\)\/0\.035\)\)\] {
  background-image: radial-gradient(circle at 84% 16%,hsl(var(--primary)/0.15),transparent 31%),radial-gradient(circle at 12% 86%,hsl(159 65% 45%/0.10),transparent 25%),linear-gradient(180deg,hsl(var(--background)),hsl(var(--primary)/0.035));
}
.bg-\[radial-gradient\(circle_at_85\%_10\%\2c hsl\(var\(--primary\)\/0\.14\)\2c transparent_28\%\)\2c radial-gradient\(circle_at_5\%_90\%\2c rgba\(232\2c 185\2c 74\2c 0\.12\)\2c transparent_25\%\)\2c linear-gradient\(180deg\2c \#faf7ff\2c \#ffffff\)\] {
  background-image: radial-gradient(circle at 85% 10%,hsl(var(--primary)/0.14),transparent 28%),radial-gradient(circle at 5% 90%,rgba(232,185,74,0.12),transparent 25%),linear-gradient(180deg,#faf7ff,#ffffff);
}
.bg-\[radial-gradient\(circle_at_85\%_10\%\2c hsl\(var\(--primary\)\/0\.14\)\2c transparent_28\%\)\2c radial-gradient\(circle_at_5\%_90\%\2c rgba\(232\2c 185\2c 74\2c 0\.13\)\2c transparent_25\%\)\2c linear-gradient\(180deg\2c \#faf7ff\2c \#ffffff\)\] {
  background-image: radial-gradient(circle at 85% 10%,hsl(var(--primary)/0.14),transparent 28%),radial-gradient(circle at 5% 90%,rgba(232,185,74,0.13),transparent 25%),linear-gradient(180deg,#faf7ff,#ffffff);
}
.bg-\[radial-gradient\(circle_at_85\%_18\%\2c rgba\(255\2c 255\2c 255\2c \.92\)\2c transparent_23\%\)\2c linear-gradient\(135deg\2c \#ddd5ff\2c \#eee9ff_62\%\2c \#d9ccff\)\] {
  background-image: radial-gradient(circle at 85% 18%,rgba(255,255,255,.92),transparent 23%),linear-gradient(135deg,#ddd5ff,#eee9ff 62%,#d9ccff);
}
.bg-\[radial-gradient\(circle_at_92\%_6\%\2c rgba\(142\2c 92\2c 255\2c 0\.10\)\2c transparent_36\%\)\2c linear-gradient\(180deg\2c \#ffffff\2c \#fdfcff\)\] {
  background-image: radial-gradient(circle at 92% 6%,rgba(142,92,255,0.10),transparent 36%),linear-gradient(180deg,#ffffff,#fdfcff);
}
.bg-\[radial-gradient\(circle_at_center\2c rgba\(232\2c 185\2c 74\2c \.16\)\2c transparent_68\%\)\] {
  background-image: radial-gradient(circle at center,rgba(232,185,74,.16),transparent 68%);
}
.bg-\[radial-gradient\(circle_at_top_left\2c _rgba\(95\2c 46\2c 234\2c 0\.18\)\2c _transparent_36\%\)\2c linear-gradient\(135deg\2c \#fbfaff_0\%\2c \#f1edff_48\%\2c \#ffffff_100\%\)\] {
  background-image: radial-gradient(circle at top left, rgba(95,46,234,0.18), transparent 36%),linear-gradient(135deg,#fbfaff 0%,#f1edff 48%,#ffffff 100%);
}
.bg-\[radial-gradient\(circle_at_top_left\2c _rgba\(95\2c 46\2c 234\2c 0\.2\)\2c _transparent_38\%\)\2c linear-gradient\(135deg\2c \#ffffff_0\%\2c \#f2efff_52\%\2c \#f7fdff_100\%\)\] {
  background-image: radial-gradient(circle at top left, rgba(95,46,234,0.2), transparent 38%),linear-gradient(135deg,#ffffff 0%,#f2efff 52%,#f7fdff 100%);
}
.bg-\[radial-gradient\(circle_at_top_left\2c _rgba\(95\2c 46\2c 234\2c 0\.20\)\2c _transparent_34\%\)\2c linear-gradient\(135deg\2c \#fbfaff_0\%\2c \#eee9ff_52\%\2c \#ffffff_100\%\)\] {
  background-image: radial-gradient(circle at top left, rgba(95,46,234,0.20), transparent 34%),linear-gradient(135deg,#fbfaff 0%,#eee9ff 52%,#ffffff 100%);
}
.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-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-\[\#182033\] {
  --tw-gradient-from: #182033 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(24 32 51 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1d2046\] {
  --tw-gradient-from: #1d2046 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(29 32 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1e1e2e\] {
  --tw-gradient-from: #1e1e2e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 30 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#201846\] {
  --tw-gradient-from: #201846 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(32 24 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#211443\] {
  --tw-gradient-from: #211443 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(33 20 67 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#24123b\] {
  --tw-gradient-from: #24123b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(36 18 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#24143d\] {
  --tw-gradient-from: #24143d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(36 20 61 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#241447\] {
  --tw-gradient-from: #241447 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(36 20 71 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#25123e\] {
  --tw-gradient-from: #25123e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 18 62 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#2b193c\] {
  --tw-gradient-from: #2b193c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(43 25 60 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#4a1fc7\] {
  --tw-gradient-from: #4a1fc7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 31 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#5b21b6\] {
  --tw-gradient-from: #5b21b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(91 33 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#5f2eea\] {
  --tw-gradient-from: #5f2eea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(95 46 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#5f2eea\]\/5 {
  --tw-gradient-from: rgb(95 46 234 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(95 46 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#5f2eea\]\/\[0\.06\] {
  --tw-gradient-from: rgb(95 46 234 / 0.06) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(95 46 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#7d4def\] {
  --tw-gradient-from: #7d4def var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(125 77 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#8e5cff\] {
  --tw-gradient-from: #8e5cff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(142 92 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#956dff\] {
  --tw-gradient-from: #956dff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(149 109 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#e5e7eb\] {
  --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#f3efff\] {
  --tw-gradient-from: #f3efff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 239 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#f5f1ff\] {
  --tw-gradient-from: #f5f1ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 241 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#f5f3ff\] {
  --tw-gradient-from: #f5f3ff 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);
}
.from-\[\#f7f3ff\] {
  --tw-gradient-from: #f7f3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#f7f4ff\] {
  --tw-gradient-from: #f7f4ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 244 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#faf8ff\] {
  --tw-gradient-from: #faf8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 248 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#fbf8ff\] {
  --tw-gradient-from: #fbf8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 248 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(170_65\%_45\%\)\] {
  --tw-gradient-from: hsl(170 65% 45%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(170 65% 45% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(220_70\%_55\%\)\] {
  --tw-gradient-from: hsl(220 70% 55%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(220 70% 55% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(240_50\%_96\%\)\] {
  --tw-gradient-from: hsl(240 50% 96%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(240 50% 96% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(260_60\%_55\%\)\] {
  --tw-gradient-from: hsl(260 60% 55%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(260 60% 55% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(260_70\%_60\%\)\] {
  --tw-gradient-from: hsl(260 70% 60%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(260 70% 60% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(32_85\%_55\%\)\] {
  --tw-gradient-from: hsl(32 85% 55%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(32 85% 55% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(330_65\%_55\%\)\] {
  --tw-gradient-from: hsl(330 65% 55%) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(330 65% 55% / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-blue\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-blue)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-blue) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-blue\2c 210_100\%_92\%\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-blue,210 100% 92%)) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-green\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-green)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-green) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-orange\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-orange)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-orange) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-pink\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-pink)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-pink) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-purple\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-purple)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-purple) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-yellow\)\)\] {
  --tw-gradient-from: hsl(var(--pastel-yellow)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-yellow) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[hsl\(var\(--pastel-yellow\)\)\]\/60 {
  --tw-gradient-from: hsl(var(--pastel-yellow) / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-yellow) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/15 {
  --tw-gradient-from: hsl(var(--accent) / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/20 {
  --tw-gradient-from: hsl(var(--accent) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/25 {
  --tw-gradient-from: hsl(var(--accent) / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/5 {
  --tw-gradient-from: hsl(var(--accent) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-100 {
  --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-300 {
  --tw-gradient-from: #fcd34d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400 {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-50 {
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/10 {
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/15 {
  --tw-gradient-from: rgb(245 158 11 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/5 {
  --tw-gradient-from: rgb(245 158 11 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 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)) 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-background\/90 {
  --tw-gradient-from: hsl(var(--background) / 0.9) 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-background\/95 {
  --tw-gradient-from: hsl(var(--background) / 0.95) 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-black\/30 {
  --tw-gradient-from: rgb(0 0 0 / 0.3) 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-black\/40 {
  --tw-gradient-from: rgb(0 0 0 / 0.4) 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-black\/70 {
  --tw-gradient-from: rgb(0 0 0 / 0.7) 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-black\/75 {
  --tw-gradient-from: rgb(0 0 0 / 0.75) 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-blue-100 {
  --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-100\/80 {
  --tw-gradient-from: rgb(219 234 254 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-200 {
  --tw-gradient-from: #bfdbfe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(191 219 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400 {
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50 {
  --tw-gradient-from: #eff6ff 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-blue-500\/15 {
  --tw-gradient-from: rgb(59 130 246 / 0.15) 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-blue-500\/5 {
  --tw-gradient-from: rgb(59 130 246 / 0.05) 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-blue-600 {
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-card {
  --tw-gradient-from: hsl(var(--card)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-card\/80 {
  --tw-gradient-from: hsl(var(--card) / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-100 {
  --tw-gradient-from: #cffafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(207 250 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-200 {
  --tw-gradient-from: #a5f3fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(165 243 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-50 {
  --tw-gradient-from: #ecfeff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 254 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-100 {
  --tw-gradient-from: #d1fae5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-50 {
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-50\/80 {
  --tw-gradient-from: rgb(236 253 245 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
  --tw-gradient-from: #10b981 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-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-emerald-500\/15 {
  --tw-gradient-from: rgb(16 185 129 / 0.15) 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-emerald-500\/5 {
  --tw-gradient-from: rgb(16 185 129 / 0.05) 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-emerald-600 {
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-foreground {
  --tw-gradient-from: hsl(var(--foreground)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-foreground\/15 {
  --tw-gradient-from: hsl(var(--foreground) / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-foreground\/60 {
  --tw-gradient-from: hsl(var(--foreground) / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-foreground\/70 {
  --tw-gradient-from: hsl(var(--foreground) / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-100 {
  --tw-gradient-from: #fae8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-50 {
  --tw-gradient-from: #fdf4ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 244 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/15 {
  --tw-gradient-from: rgb(217 70 239 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-600 {
  --tw-gradient-from: #c026d3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 38 211 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-400 {
  --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-100 {
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50 {
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50\/50 {
  --tw-gradient-from: rgb(240 253 244 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-600 {
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-100 {
  --tw-gradient-from: #e0e7ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-100\/80 {
  --tw-gradient-from: rgb(224 231 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-50 {
  --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/15 {
  --tw-gradient-from: rgb(99 102 241 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/20 {
  --tw-gradient-from: rgb(99 102 241 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-100 {
  --tw-gradient-from: #ecfccb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 252 203 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-50 {
  --tw-gradient-from: #f7fee7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 254 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-600 {
  --tw-gradient-from: #65a30d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100 {
  --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-400 {
  --tw-gradient-from: #fb923c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50 {
  --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500 {
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/15 {
  --tw-gradient-from: rgb(249 115 22 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-600 {
  --tw-gradient-from: #ea580c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pastel-green {
  --tw-gradient-from: hsl(var(--pastel-green)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-green) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pastel-purple\/30 {
  --tw-gradient-from: hsl(var(--pastel-purple) / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-purple) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pastel-purple\/40 {
  --tw-gradient-from: hsl(var(--pastel-purple) / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-purple) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pastel-yellow\/40 {
  --tw-gradient-from: hsl(var(--pastel-yellow) / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--pastel-yellow) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50 {
  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/15 {
  --tw-gradient-from: rgb(236 72 153 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 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)) 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 {
  --tw-gradient-from: hsl(var(--primary) / 0) 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\/25 {
  --tw-gradient-from: hsl(var(--primary) / 0.25) 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\/30 {
  --tw-gradient-from: hsl(var(--primary) / 0.3) 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\/50 {
  --tw-gradient-from: hsl(var(--primary) / 0.5) 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\/70 {
  --tw-gradient-from: hsl(var(--primary) / 0.7) 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\.035\] {
  --tw-gradient-from: hsl(var(--primary) / 0.035) 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\.055\] {
  --tw-gradient-from: hsl(var(--primary) / 0.055) 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\.05\] {
  --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\/\[0\.06\] {
  --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);
}
.from-primary\/\[0\.075\] {
  --tw-gradient-from: hsl(var(--primary) / 0.075) 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\.07\] {
  --tw-gradient-from: hsl(var(--primary) / 0.07) 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\.08\] {
  --tw-gradient-from: hsl(var(--primary) / 0.08) 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\.09\] {
  --tw-gradient-from: hsl(var(--primary) / 0.09) 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\.10\] {
  --tw-gradient-from: hsl(var(--primary) / 0.10) 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\.13\] {
  --tw-gradient-from: hsl(var(--primary) / 0.13) 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\.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-purple-100 {
  --tw-gradient-from: #f3e8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-200 {
  --tw-gradient-from: #e9d5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(233 213 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50 {
  --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/20 {
  --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/5 {
  --tw-gradient-from: rgb(168 85 247 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-600 {
  --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900 {
  --tw-gradient-from: #581c87 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500 {
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-100 {
  --tw-gradient-from: #ffe4e6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 228 230 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-50 {
  --tw-gradient-from: #fff1f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/10 {
  --tw-gradient-from: rgb(244 63 94 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/15 {
  --tw-gradient-from: rgb(244 63 94 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/5 {
  --tw-gradient-from: rgb(244 63 94 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-100 {
  --tw-gradient-from: #e0f2fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 242 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-50 {
  --tw-gradient-from: #f0f9ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 249 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500 {
  --tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500\/15 {
  --tw-gradient-from: rgb(14 165 233 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-100 {
  --tw-gradient-from: #f1f5f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 245 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-300 {
  --tw-gradient-from: #cbd5e1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500\/15 {
  --tw-gradient-from: rgb(100 116 139 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-100 {
  --tw-gradient-from: #ccfbf1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(204 251 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50 {
  --tw-gradient-from: #f0fdfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 250 / 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-100 {
  --tw-gradient-from: #ede9fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-100\/80 {
  --tw-gradient-from: rgb(237 233 254 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-100\/85 {
  --tw-gradient-from: rgb(237 233 254 / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-200 {
  --tw-gradient-from: #ddd6fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(221 214 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-300 {
  --tw-gradient-from: #c4b5fd var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(196 181 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-300\/35 {
  --tw-gradient-from: rgb(196 181 253 / 0.35) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(196 181 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400 {
  --tw-gradient-from: #a78bfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-50 {
  --tw-gradient-from: #f5f3ff 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);
}
.from-violet-50\/70 {
  --tw-gradient-from: rgb(245 243 255 / 0.7) 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);
}
.from-violet-50\/75 {
  --tw-gradient-from: rgb(245 243 255 / 0.75) 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);
}
.from-violet-500 {
  --tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/10 {
  --tw-gradient-from: rgb(139 92 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/15 {
  --tw-gradient-from: rgb(139 92 246 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/20 {
  --tw-gradient-from: rgb(139 92 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/5 {
  --tw-gradient-from: rgb(139 92 246 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600 {
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-700 {
  --tw-gradient-from: #6d28d9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(109 40 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-800 {
  --tw-gradient-from: #5b21b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(91 33 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-950\/90 {
  --tw-gradient-from: rgb(46 16 101 / 0.9) 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);
}
.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/90 {
  --tw-gradient-from: rgb(255 255 255 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400 {
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-50 {
  --tw-gradient-from: #fefce8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500\/15 {
  --tw-gradient-from: rgb(234 179 8 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#211443\]\/25 {
  --tw-gradient-to: rgb(33 20 67 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(33 20 67 / 0.25) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#211443\]\/30 {
  --tw-gradient-to: rgb(33 20 67 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(33 20 67 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#211443\]\/35 {
  --tw-gradient-to: rgb(33 20 67 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(33 20 67 / 0.35) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#24143d\]\/30 {
  --tw-gradient-to: rgb(36 20 61 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(36 20 61 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#3e1b70\] {
  --tw-gradient-to: rgb(62 27 112 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3e1b70 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#422078\] {
  --tw-gradient-to: rgb(66 32 120 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #422078 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#5f2eea\] {
  --tw-gradient-to: rgb(95 46 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #5f2eea var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#5f2eea\]\/10 {
  --tw-gradient-to: rgb(95 46 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(95 46 234 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#7b4df2\] {
  --tw-gradient-to: rgb(123 77 242 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7b4df2 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#8d6cf1\] {
  --tw-gradient-to: rgb(141 108 241 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #8d6cf1 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#8e5cff\] {
  --tw-gradient-to: rgb(142 92 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #8e5cff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#e9e1ff\] {
  --tw-gradient-to: rgb(233 225 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e9e1ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#eee7ff\] {
  --tw-gradient-to: rgb(238 231 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eee7ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#f3ecff\] {
  --tw-gradient-to: rgb(243 236 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f3ecff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#f4edff\] {
  --tw-gradient-to: rgb(244 237 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f4edff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#f7f3ff\] {
  --tw-gradient-to: rgb(247 243 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f7f3ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#fbf9ff\] {
  --tw-gradient-to: rgb(251 249 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fbf9ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[hsl\(260_40\%_94\%\)\] {
  --tw-gradient-to: hsl(260 40% 94% / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(260 40% 94%) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[hsl\(var\(--pastel-blue\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-blue) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--pastel-blue)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[hsl\(var\(--pastel-purple\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-purple) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--pastel-purple)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[hsl\(var\(--pastel-yellow\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-yellow) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--pastel-yellow)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-accent {
  --tw-gradient-to: hsl(var(--accent) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-accent\/5 {
  --tw-gradient-to: hsl(var(--accent) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent) / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-200\/15 {
  --tw-gradient-to: rgb(253 230 138 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 230 138 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-300\/15 {
  --tw-gradient-to: rgb(252 211 77 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(252 211 77 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-50 {
  --tw-gradient-to: rgb(255 251 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fffbeb var(--tw-gradient-via-position), 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)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-background\/10 {
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/20 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/40 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-300\/10 {
  --tw-gradient-to: rgb(147 197 253 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(147 197 253 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-400\/10 {
  --tw-gradient-to: rgb(96 165 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(96 165 250 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-50 {
  --tw-gradient-to: rgb(239 246 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eff6ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-card {
  --tw-gradient-to: hsl(var(--card) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--card)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-100 {
  --tw-gradient-to: rgb(207 250 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #cffafe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-300\/10 {
  --tw-gradient-to: rgb(103 232 249 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(103 232 249 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-400\/10 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-300\/10 {
  --tw-gradient-to: rgb(110 231 183 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(110 231 183 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-50 {
  --tw-gradient-to: rgb(236 253 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ecfdf5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-foreground {
  --tw-gradient-to: hsl(var(--foreground) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-foreground\/20 {
  --tw-gradient-to: hsl(var(--foreground) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-300\/10 {
  --tw-gradient-to: rgb(240 171 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(240 171 252 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-50 {
  --tw-gradient-to: rgb(253 244 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fdf4ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-300\/10 {
  --tw-gradient-to: rgb(134 239 172 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(134 239 172 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-50 {
  --tw-gradient-to: rgb(240 253 244 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f0fdf4 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-200 {
  --tw-gradient-to: rgb(199 210 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #c7d2fe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-400\/10 {
  --tw-gradient-to: rgb(129 140 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(129 140 248 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-lime-300\/10 {
  --tw-gradient-to: rgb(190 242 100 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(190 242 100 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-muted\/20 {
  --tw-gradient-to: hsl(var(--muted) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--muted) / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-300\/10 {
  --tw-gradient-to: rgb(253 186 116 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 186 116 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-50 {
  --tw-gradient-to: rgb(255 247 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff7ed var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-300\/10 {
  --tw-gradient-to: rgb(249 168 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 168 212 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-50 {
  --tw-gradient-to: rgb(253 242 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fdf2f8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/10 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.1) 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\/25 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.25) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/45 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.45) 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\/55 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.55) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/60 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/70 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/80 {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/\[0\.025\] {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.025) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/\[0\.035\] {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.035) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/\[0\.03\] {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.03) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/\[0\.045\] {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.045) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/\[0\.04\] {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary) / 0.04) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary\/\[0\.05\] {
  --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-purple-100 {
  --tw-gradient-to: rgb(243 232 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f3e8ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-50 {
  --tw-gradient-to: rgb(250 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #faf5ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-50\/60 {
  --tw-gradient-to: rgb(250 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 245 255 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-800 {
  --tw-gradient-to: rgb(107 33 168 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6b21a8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-rose-300\/10 {
  --tw-gradient-to: rgb(253 164 175 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 164 175 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-200\/20 {
  --tw-gradient-to: rgb(186 230 253 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(186 230 253 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-300\/10 {
  --tw-gradient-to: rgb(125 211 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(125 211 252 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-400 {
  --tw-gradient-to: rgb(56 189 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #38bdf8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-50 {
  --tw-gradient-to: rgb(240 249 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f0f9ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-300\/20 {
  --tw-gradient-to: rgb(203 213 225 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(203 213 225 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-50 {
  --tw-gradient-to: rgb(248 250 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f8fafc var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-300\/10 {
  --tw-gradient-to: rgb(94 234 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(94 234 212 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-300\/15 {
  --tw-gradient-to: rgb(94 234 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(94 234 212 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-100 {
  --tw-gradient-to: rgb(237 233 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ede9fe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-300 {
  --tw-gradient-to: rgb(196 181 253 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #c4b5fd var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-400 {
  --tw-gradient-to: rgb(167 139 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a78bfa var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-50 {
  --tw-gradient-to: rgb(245 243 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f5f3ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-50\/70 {
  --tw-gradient-to: rgb(245 243 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(245 243 255 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-50\/80 {
  --tw-gradient-to: rgb(245 243 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(245 243 255 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-500 {
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #8b5cf6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-600 {
  --tw-gradient-to: rgb(124 58 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-950\/45 {
  --tw-gradient-to: rgb(46 16 101 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(46 16 101 / 0.45) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/30 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/35 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.35) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/70 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/80 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-yellow-300\/15 {
  --tw-gradient-to: rgb(253 224 71 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 224 71 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#132b4a\] {
  --tw-gradient-to: #132b4a var(--tw-gradient-to-position);
}
.to-\[\#1e293b\] {
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}
.to-\[\#2a2a3e\] {
  --tw-gradient-to: #2a2a3e var(--tw-gradient-to-position);
}
.to-\[\#2d2b55\] {
  --tw-gradient-to: #2d2b55 var(--tw-gradient-to-position);
}
.to-\[\#4a1fc7\] {
  --tw-gradient-to: #4a1fc7 var(--tw-gradient-to-position);
}
.to-\[\#5424ca\] {
  --tw-gradient-to: #5424ca var(--tw-gradient-to-position);
}
.to-\[\#5f2eea\] {
  --tw-gradient-to: #5f2eea var(--tw-gradient-to-position);
}
.to-\[\#5f2eea\]\/5 {
  --tw-gradient-to: rgb(95 46 234 / 0.05) var(--tw-gradient-to-position);
}
.to-\[\#7b4df2\] {
  --tw-gradient-to: #7b4df2 var(--tw-gradient-to-position);
}
.to-\[\#7c52ee\] {
  --tw-gradient-to: #7c52ee var(--tw-gradient-to-position);
}
.to-\[\#8b5cf6\] {
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-\[\#8e5cff\] {
  --tw-gradient-to: #8e5cff var(--tw-gradient-to-position);
}
.to-\[\#9b6cff\] {
  --tw-gradient-to: #9b6cff var(--tw-gradient-to-position);
}
.to-\[\#9c6cff\] {
  --tw-gradient-to: #9c6cff var(--tw-gradient-to-position);
}
.to-\[\#c4b5fd\] {
  --tw-gradient-to: #c4b5fd var(--tw-gradient-to-position);
}
.to-\[\#ddd0ff\] {
  --tw-gradient-to: #ddd0ff var(--tw-gradient-to-position);
}
.to-\[\#e6dcff\] {
  --tw-gradient-to: #e6dcff var(--tw-gradient-to-position);
}
.to-\[\#e7dcff\] {
  --tw-gradient-to: #e7dcff var(--tw-gradient-to-position);
}
.to-\[\#e8b94a\] {
  --tw-gradient-to: #e8b94a var(--tw-gradient-to-position);
}
.to-\[\#ede9fe\] {
  --tw-gradient-to: #ede9fe var(--tw-gradient-to-position);
}
.to-\[\#eee4ff\] {
  --tw-gradient-to: #eee4ff var(--tw-gradient-to-position);
}
.to-\[\#eee6ff\] {
  --tw-gradient-to: #eee6ff var(--tw-gradient-to-position);
}
.to-\[\#eee7ff\] {
  --tw-gradient-to: #eee7ff var(--tw-gradient-to-position);
}
.to-\[\#eef5ff\] {
  --tw-gradient-to: #eef5ff var(--tw-gradient-to-position);
}
.to-\[\#f2ebff\] {
  --tw-gradient-to: #f2ebff var(--tw-gradient-to-position);
}
.to-\[hsl\(15_80\%_60\%\)\] {
  --tw-gradient-to: hsl(15 80% 60%) var(--tw-gradient-to-position);
}
.to-\[hsl\(190_65\%_55\%\)\] {
  --tw-gradient-to: hsl(190 65% 55%) var(--tw-gradient-to-position);
}
.to-\[hsl\(245_65\%_65\%\)\] {
  --tw-gradient-to: hsl(245 65% 65%) var(--tw-gradient-to-position);
}
.to-\[hsl\(260_70\%_92\%\)\] {
  --tw-gradient-to: hsl(260 70% 92%) var(--tw-gradient-to-position);
}
.to-\[hsl\(260_70\%_96\%\)\] {
  --tw-gradient-to: hsl(260 70% 96%) var(--tw-gradient-to-position);
}
.to-\[hsl\(265_85\%_65\%\)\] {
  --tw-gradient-to: hsl(265 85% 65%) var(--tw-gradient-to-position);
}
.to-\[hsl\(280_35\%_96\%\)\] {
  --tw-gradient-to: hsl(280 35% 96%) var(--tw-gradient-to-position);
}
.to-\[hsl\(280_55\%_65\%\)\] {
  --tw-gradient-to: hsl(280 55% 65%) var(--tw-gradient-to-position);
}
.to-\[hsl\(280_65\%_70\%\)\] {
  --tw-gradient-to: hsl(280 65% 70%) var(--tw-gradient-to-position);
}
.to-\[hsl\(300_55\%_60\%\)\] {
  --tw-gradient-to: hsl(300 55% 60%) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-blue\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-blue)) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-green\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-green)) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-orange\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-orange)) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-orange\)\)\]\/40 {
  --tw-gradient-to: hsl(var(--pastel-orange) / 0.4) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-pink\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-pink)) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-purple\)\)\/30\] {
  --tw-gradient-to: hsl(var(--pastel-purple))/30 var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-purple\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-purple)) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-purple\)\)\]\/20 {
  --tw-gradient-to: hsl(var(--pastel-purple) / 0.2) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-purple\2c 270_100\%_92\%\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-purple,270 100% 92%)) var(--tw-gradient-to-position);
}
.to-\[hsl\(var\(--pastel-yellow\)\)\] {
  --tw-gradient-to: hsl(var(--pastel-yellow)) var(--tw-gradient-to-position);
}
.to-accent {
  --tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position);
}
.to-accent\/10 {
  --tw-gradient-to: hsl(var(--accent) / 0.1) var(--tw-gradient-to-position);
}
.to-accent\/5 {
  --tw-gradient-to: hsl(var(--accent) / 0.05) var(--tw-gradient-to-position);
}
.to-accent\/\[0\.05\] {
  --tw-gradient-to: hsl(var(--accent) / 0.05) var(--tw-gradient-to-position);
}
.to-accent\/\[0\.06\] {
  --tw-gradient-to: hsl(var(--accent) / 0.06) var(--tw-gradient-to-position);
}
.to-accent\/\[0\.10\] {
  --tw-gradient-to: hsl(var(--accent) / 0.10) var(--tw-gradient-to-position);
}
.to-amber-100 {
  --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position);
}
.to-amber-300\/15 {
  --tw-gradient-to: rgb(252 211 77 / 0.15) var(--tw-gradient-to-position);
}
.to-amber-300\/20 {
  --tw-gradient-to: rgb(252 211 77 / 0.2) var(--tw-gradient-to-position);
}
.to-amber-400 {
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.to-amber-50 {
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position);
}
.to-amber-500 {
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.to-amber-500\/10 {
  --tw-gradient-to: rgb(245 158 11 / 0.1) var(--tw-gradient-to-position);
}
.to-amber-500\/5 {
  --tw-gradient-to: rgb(245 158 11 / 0.05) var(--tw-gradient-to-position);
}
.to-amber-600\/5 {
  --tw-gradient-to: rgb(217 119 6 / 0.05) var(--tw-gradient-to-position);
}
.to-background {
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
.to-blue-100 {
  --tw-gradient-to: #dbeafe var(--tw-gradient-to-position);
}
.to-blue-100\/70 {
  --tw-gradient-to: rgb(219 234 254 / 0.7) var(--tw-gradient-to-position);
}
.to-blue-50 {
  --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);
}
.to-blue-500\/5 {
  --tw-gradient-to: rgb(59 130 246 / 0.05) var(--tw-gradient-to-position);
}
.to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/5 {
  --tw-gradient-to: rgb(37 99 235 / 0.05) var(--tw-gradient-to-position);
}
.to-card {
  --tw-gradient-to: hsl(var(--card)) var(--tw-gradient-to-position);
}
.to-cyan-100 {
  --tw-gradient-to: #cffafe var(--tw-gradient-to-position);
}
.to-cyan-300 {
  --tw-gradient-to: #67e8f9 var(--tw-gradient-to-position);
}
.to-cyan-300\/15 {
  --tw-gradient-to: rgb(103 232 249 / 0.15) var(--tw-gradient-to-position);
}
.to-cyan-300\/20 {
  --tw-gradient-to: rgb(103 232 249 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-400 {
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}
.to-cyan-50 {
  --tw-gradient-to: #ecfeff var(--tw-gradient-to-position);
}
.to-cyan-500 {
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}
.to-cyan-500\/10 {
  --tw-gradient-to: rgb(6 182 212 / 0.1) var(--tw-gradient-to-position);
}
.to-cyan-500\/5 {
  --tw-gradient-to: rgb(6 182 212 / 0.05) var(--tw-gradient-to-position);
}
.to-cyan-600 {
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.to-emerald-100 {
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}
.to-emerald-300\/15 {
  --tw-gradient-to: rgb(110 231 183 / 0.15) var(--tw-gradient-to-position);
}
.to-emerald-300\/20 {
  --tw-gradient-to: rgb(110 231 183 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-400 {
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-50 {
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position);
}
.to-emerald-50\/60 {
  --tw-gradient-to: rgb(236 253 245 / 0.6) var(--tw-gradient-to-position);
}
.to-emerald-50\/70 {
  --tw-gradient-to: rgb(236 253 245 / 0.7) var(--tw-gradient-to-position);
}
.to-emerald-500 {
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}
.to-emerald-500\/10 {
  --tw-gradient-to: rgb(16 185 129 / 0.1) var(--tw-gradient-to-position);
}
.to-emerald-500\/15 {
  --tw-gradient-to: rgb(16 185 129 / 0.15) var(--tw-gradient-to-position);
}
.to-emerald-500\/5 {
  --tw-gradient-to: rgb(16 185 129 / 0.05) var(--tw-gradient-to-position);
}
.to-emerald-500\/\[0\.055\] {
  --tw-gradient-to: rgb(16 185 129 / 0.055) var(--tw-gradient-to-position);
}
.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-emerald-600\/5 {
  --tw-gradient-to: rgb(5 150 105 / 0.05) var(--tw-gradient-to-position);
}
.to-foreground\/70 {
  --tw-gradient-to: hsl(var(--foreground) / 0.7) var(--tw-gradient-to-position);
}
.to-fuchsia-100 {
  --tw-gradient-to: #fae8ff var(--tw-gradient-to-position);
}
.to-fuchsia-200 {
  --tw-gradient-to: #f5d0fe var(--tw-gradient-to-position);
}
.to-fuchsia-200\/30 {
  --tw-gradient-to: rgb(245 208 254 / 0.3) var(--tw-gradient-to-position);
}
.to-fuchsia-400 {
  --tw-gradient-to: #e879f9 var(--tw-gradient-to-position);
}
.to-fuchsia-50 {
  --tw-gradient-to: #fdf4ff var(--tw-gradient-to-position);
}
.to-fuchsia-500\/10 {
  --tw-gradient-to: rgb(217 70 239 / 0.1) var(--tw-gradient-to-position);
}
.to-fuchsia-600 {
  --tw-gradient-to: #c026d3 var(--tw-gradient-to-position);
}
.to-gray-100 {
  --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
}
.to-gray-600 {
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}
.to-green-100 {
  --tw-gradient-to: #dcfce7 var(--tw-gradient-to-position);
}
.to-green-300\/15 {
  --tw-gradient-to: rgb(134 239 172 / 0.15) var(--tw-gradient-to-position);
}
.to-green-300\/20 {
  --tw-gradient-to: rgb(134 239 172 / 0.2) var(--tw-gradient-to-position);
}
.to-green-50 {
  --tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position);
}
.to-green-600 {
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-indigo-100 {
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position);
}
.to-indigo-100\/70 {
  --tw-gradient-to: rgb(224 231 255 / 0.7) var(--tw-gradient-to-position);
}
.to-indigo-50 {
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-indigo-500\/10 {
  --tw-gradient-to: rgb(99 102 241 / 0.1) var(--tw-gradient-to-position);
}
.to-indigo-500\/5 {
  --tw-gradient-to: rgb(99 102 241 / 0.05) var(--tw-gradient-to-position);
}
.to-indigo-600 {
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-indigo-700 {
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}
.to-indigo-900 {
  --tw-gradient-to: #312e81 var(--tw-gradient-to-position);
}
.to-lime-100 {
  --tw-gradient-to: #ecfccb var(--tw-gradient-to-position);
}
.to-lime-300\/15 {
  --tw-gradient-to: rgb(190 242 100 / 0.15) var(--tw-gradient-to-position);
}
.to-lime-300\/20 {
  --tw-gradient-to: rgb(190 242 100 / 0.2) var(--tw-gradient-to-position);
}
.to-lime-50 {
  --tw-gradient-to: #f7fee7 var(--tw-gradient-to-position);
}
.to-muted\/20 {
  --tw-gradient-to: hsl(var(--muted) / 0.2) var(--tw-gradient-to-position);
}
.to-muted\/30 {
  --tw-gradient-to: hsl(var(--muted) / 0.3) var(--tw-gradient-to-position);
}
.to-orange-100 {
  --tw-gradient-to: #ffedd5 var(--tw-gradient-to-position);
}
.to-orange-300\/15 {
  --tw-gradient-to: rgb(253 186 116 / 0.15) var(--tw-gradient-to-position);
}
.to-orange-300\/20 {
  --tw-gradient-to: rgb(253 186 116 / 0.2) var(--tw-gradient-to-position);
}
.to-orange-50 {
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-500\/10 {
  --tw-gradient-to: rgb(249 115 22 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-500\/5 {
  --tw-gradient-to: rgb(249 115 22 / 0.05) var(--tw-gradient-to-position);
}
.to-orange-600 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-pastel-blue {
  --tw-gradient-to: hsl(var(--pastel-blue)) var(--tw-gradient-to-position);
}
.to-pastel-blue\/30 {
  --tw-gradient-to: hsl(var(--pastel-blue) / 0.3) var(--tw-gradient-to-position);
}
.to-pastel-orange\/30 {
  --tw-gradient-to: hsl(var(--pastel-orange) / 0.3) var(--tw-gradient-to-position);
}
.to-pastel-pink\/30 {
  --tw-gradient-to: hsl(var(--pastel-pink) / 0.3) var(--tw-gradient-to-position);
}
.to-pastel-purple\/40 {
  --tw-gradient-to: hsl(var(--pastel-purple) / 0.4) var(--tw-gradient-to-position);
}
.to-pink-100 {
  --tw-gradient-to: #fce7f3 var(--tw-gradient-to-position);
}
.to-pink-50 {
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-pink-500\/5 {
  --tw-gradient-to: rgb(236 72 153 / 0.05) var(--tw-gradient-to-position);
}
.to-primary {
  --tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position);
}
.to-primary\/0 {
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
}
.to-primary\/10 {
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}
.to-primary\/30 {
  --tw-gradient-to: hsl(var(--primary) / 0.3) var(--tw-gradient-to-position);
}
.to-primary\/5 {
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}
.to-primary\/60 {
  --tw-gradient-to: hsl(var(--primary) / 0.6) 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-primary\/90 {
  --tw-gradient-to: hsl(var(--primary) / 0.9) var(--tw-gradient-to-position);
}
.to-primary\/\[0\.025\] {
  --tw-gradient-to: hsl(var(--primary) / 0.025) var(--tw-gradient-to-position);
}
.to-primary\/\[0\.04\] {
  --tw-gradient-to: hsl(var(--primary) / 0.04) var(--tw-gradient-to-position);
}
.to-primary\/\[0\.055\] {
  --tw-gradient-to: hsl(var(--primary) / 0.055) var(--tw-gradient-to-position);
}
.to-purple-100 {
  --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position);
}
.to-purple-100\/60 {
  --tw-gradient-to: rgb(243 232 255 / 0.6) var(--tw-gradient-to-position);
}
.to-purple-100\/80 {
  --tw-gradient-to: rgb(243 232 255 / 0.8) var(--tw-gradient-to-position);
}
.to-purple-100\/85 {
  --tw-gradient-to: rgb(243 232 255 / 0.85) var(--tw-gradient-to-position);
}
.to-purple-200 {
  --tw-gradient-to: #e9d5ff var(--tw-gradient-to-position);
}
.to-purple-400 {
  --tw-gradient-to: #c084fc var(--tw-gradient-to-position);
}
.to-purple-400\/15 {
  --tw-gradient-to: rgb(192 132 252 / 0.15) var(--tw-gradient-to-position);
}
.to-purple-50 {
  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);
}
.to-purple-500 {
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}
.to-purple-500\/5 {
  --tw-gradient-to: rgb(168 85 247 / 0.05) var(--tw-gradient-to-position);
}
.to-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-red-100 {
  --tw-gradient-to: #fee2e2 var(--tw-gradient-to-position);
}
.to-red-500 {
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}
.to-rose-100 {
  --tw-gradient-to: #ffe4e6 var(--tw-gradient-to-position);
}
.to-rose-50 {
  --tw-gradient-to: #fff1f2 var(--tw-gradient-to-position);
}
.to-rose-500\/10 {
  --tw-gradient-to: rgb(244 63 94 / 0.1) var(--tw-gradient-to-position);
}
.to-rose-500\/5 {
  --tw-gradient-to: rgb(244 63 94 / 0.05) var(--tw-gradient-to-position);
}
.to-rose-600 {
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-rose-600\/5 {
  --tw-gradient-to: rgb(225 29 72 / 0.05) var(--tw-gradient-to-position);
}
.to-secondary {
  --tw-gradient-to: hsl(var(--secondary)) var(--tw-gradient-to-position);
}
.to-secondary\/20 {
  --tw-gradient-to: hsl(var(--secondary) / 0.2) var(--tw-gradient-to-position);
}
.to-secondary\/30 {
  --tw-gradient-to: hsl(var(--secondary) / 0.3) var(--tw-gradient-to-position);
}
.to-secondary\/40 {
  --tw-gradient-to: hsl(var(--secondary) / 0.4) var(--tw-gradient-to-position);
}
.to-sky-100 {
  --tw-gradient-to: #e0f2fe var(--tw-gradient-to-position);
}
.to-sky-100\/70 {
  --tw-gradient-to: rgb(224 242 254 / 0.7) var(--tw-gradient-to-position);
}
.to-sky-300\/15 {
  --tw-gradient-to: rgb(125 211 252 / 0.15) var(--tw-gradient-to-position);
}
.to-sky-300\/20 {
  --tw-gradient-to: rgb(125 211 252 / 0.2) var(--tw-gradient-to-position);
}
.to-sky-50 {
  --tw-gradient-to: #f0f9ff var(--tw-gradient-to-position);
}
.to-sky-500\/10 {
  --tw-gradient-to: rgb(14 165 233 / 0.1) var(--tw-gradient-to-position);
}
.to-sky-500\/5 {
  --tw-gradient-to: rgb(14 165 233 / 0.05) var(--tw-gradient-to-position);
}
.to-slate-100 {
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-slate-300\/20 {
  --tw-gradient-to: rgb(203 213 225 / 0.2) var(--tw-gradient-to-position);
}
.to-slate-400 {
  --tw-gradient-to: #94a3b8 var(--tw-gradient-to-position);
}
.to-teal-100 {
  --tw-gradient-to: #ccfbf1 var(--tw-gradient-to-position);
}
.to-teal-300\/15 {
  --tw-gradient-to: rgb(94 234 212 / 0.15) var(--tw-gradient-to-position);
}
.to-teal-300\/20 {
  --tw-gradient-to: rgb(94 234 212 / 0.2) var(--tw-gradient-to-position);
}
.to-teal-50 {
  --tw-gradient-to: #f0fdfa var(--tw-gradient-to-position);
}
.to-teal-50\/60 {
  --tw-gradient-to: rgb(240 253 250 / 0.6) var(--tw-gradient-to-position);
}
.to-teal-500\/10 {
  --tw-gradient-to: rgb(20 184 166 / 0.1) var(--tw-gradient-to-position);
}
.to-teal-500\/5 {
  --tw-gradient-to: rgb(20 184 166 / 0.05) var(--tw-gradient-to-position);
}
.to-teal-600 {
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-100 {
  --tw-gradient-to: #ede9fe var(--tw-gradient-to-position);
}
.to-violet-200 {
  --tw-gradient-to: #ddd6fe var(--tw-gradient-to-position);
}
.to-violet-200\/\[0\.12\] {
  --tw-gradient-to: rgb(221 214 254 / 0.12) var(--tw-gradient-to-position);
}
.to-violet-200\/\[0\.35\] {
  --tw-gradient-to: rgb(221 214 254 / 0.35) var(--tw-gradient-to-position);
}
.to-violet-300 {
  --tw-gradient-to: #c4b5fd var(--tw-gradient-to-position);
}
.to-violet-400 {
  --tw-gradient-to: #a78bfa var(--tw-gradient-to-position);
}
.to-violet-400\/10 {
  --tw-gradient-to: rgb(167 139 250 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-400\/15 {
  --tw-gradient-to: rgb(167 139 250 / 0.15) var(--tw-gradient-to-position);
}
.to-violet-50 {
  --tw-gradient-to: #f5f3ff var(--tw-gradient-to-position);
}
.to-violet-500 {
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-violet-500\/10 {
  --tw-gradient-to: rgb(139 92 246 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-500\/5 {
  --tw-gradient-to: rgb(139 92 246 / 0.05) var(--tw-gradient-to-position);
}
.to-violet-500\/\[0\.05\] {
  --tw-gradient-to: rgb(139 92 246 / 0.05) var(--tw-gradient-to-position);
}
.to-violet-600 {
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.to-violet-600\/5 {
  --tw-gradient-to: rgb(124 58 237 / 0.05) var(--tw-gradient-to-position);
}
.to-violet-700 {
  --tw-gradient-to: #6d28d9 var(--tw-gradient-to-position);
}
.to-violet-900 {
  --tw-gradient-to: #4c1d95 var(--tw-gradient-to-position);
}
.to-violet-900\/10 {
  --tw-gradient-to: rgb(76 29 149 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-900\/5 {
  --tw-gradient-to: rgb(76 29 149 / 0.05) var(--tw-gradient-to-position);
}
.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.to-white\/60 {
  --tw-gradient-to: rgb(255 255 255 / 0.6) var(--tw-gradient-to-position);
}
.to-yellow-100 {
  --tw-gradient-to: #fef9c3 var(--tw-gradient-to-position);
}
.to-yellow-200 {
  --tw-gradient-to: #fef08a var(--tw-gradient-to-position);
}
.to-yellow-400 {
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}
.to-yellow-50 {
  --tw-gradient-to: #fefce8 var(--tw-gradient-to-position);
}
.to-yellow-600 {
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}
.to-zinc-500\/10 {
  --tw-gradient-to: rgb(113 113 122 / 0.1) var(--tw-gradient-to-position);
}
.bg-\[length\:220\%_100\%\] {
  background-size: 220% 100%;
}
.bg-\[size\:32px_32px\] {
  background-size: 32px 32px;
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.fill-amber-400 {
  fill: #fbbf24;
}
.fill-current {
  fill: currentColor;
}
.fill-foreground {
  fill: hsl(var(--foreground));
}
.fill-none {
  fill: none;
}
.fill-primary {
  fill: hsl(var(--primary));
}
.fill-primary-foreground\/10 {
  fill: hsl(var(--primary-foreground) / 0.1);
}
.fill-primary\/15 {
  fill: hsl(var(--primary) / 0.15);
}
.fill-white\/60 {
  fill: rgb(255 255 255 / 0.6);
}
.fill-white\/70 {
  fill: rgb(255 255 255 / 0.7);
}
.fill-yellow-300 {
  fill: #fde047;
}
.stroke-accent {
  stroke: hsl(var(--accent));
}
.stroke-emerald-500 {
  stroke: #10b981;
}
.stroke-pink-500 {
  stroke: #ec4899;
}
.stroke-primary {
  stroke: hsl(var(--primary));
}
.stroke-yellow-400 {
  stroke: #facc15;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-bottom {
  -o-object-position: bottom;
     object-position: bottom;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.object-right {
  -o-object-position: right;
     object-position: right;
}
.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-\[10mm\] {
  padding: 10mm;
}
.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-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}
.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-28 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-32 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-40 {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.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-9 {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.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-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-\[env\(safe-area-inset-bottom\2c 0px\)\] {
  padding-bottom: env(safe-area-inset-bottom,0px);
}
.pe-1 {
  padding-inline-end: 0.25rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-11 {
  padding-left: 2.75rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-14 {
  padding-left: 3.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-7 {
  padding-left: 1.75rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pl-\[4\.25rem\] {
  padding-left: 4.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-1\.5 {
  padding-right: 0.375rem;
}
.pr-11 {
  padding-right: 2.75rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-28 {
  padding-right: 7rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.ps-3 {
  padding-inline-start: 0.75rem;
}
.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-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-32 {
  padding-top: 8rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-text-bottom {
  vertical-align: text-bottom;
}
.font-\[Quicksand\] {
  font-family: Quicksand;
}
.font-display {
  font-family: Quicksand, sans-serif;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: Nunito, sans-serif;
}
.font-serif {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.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-7xl {
  font-size: 4.5rem;
  line-height: 1;
}
.text-8xl {
  font-size: 6rem;
  line-height: 1;
}
.text-\[0\.65rem\] {
  font-size: 0.65rem;
}
.text-\[0\.83rem\] {
  font-size: 0.83rem;
}
.text-\[0\.85rem\] {
  font-size: 0.85rem;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[0\.9375rem\] {
  font-size: 0.9375rem;
}
.text-\[0\.95rem\] {
  font-size: 0.95rem;
}
.text-\[0\.98rem\] {
  font-size: 0.98rem;
}
.text-\[1\.7rem\] {
  font-size: 1.7rem;
}
.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-\[2\.2rem\] {
  font-size: 2.2rem;
}
.text-\[2\.5rem\] {
  font-size: 2.5rem;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[7rem\] {
  font-size: 7rem;
}
.text-\[8\.5px\] {
  font-size: 8.5px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[8rem\] {
  font-size: 8rem;
}
.text-\[9\.2px\] {
  font-size: 9.2px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-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;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.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-10 {
  line-height: 2.5rem;
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-7 {
  line-height: 1.75rem;
}
.leading-8 {
  line-height: 2rem;
}
.leading-\[\.98\] {
  line-height: .98;
}
.leading-\[\.99\] {
  line-height: .99;
}
.leading-\[0\.99\] {
  line-height: 0.99;
}
.leading-\[1\.02\] {
  line-height: 1.02;
}
.leading-\[1\.03\] {
  line-height: 1.03;
}
.leading-\[1\.04\] {
  line-height: 1.04;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.06\] {
  line-height: 1.06;
}
.leading-\[1\.08\] {
  line-height: 1.08;
}
.leading-\[1\.15\] {
  line-height: 1.15;
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-\[1\.34\] {
  line-height: 1.34;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-\.035em\] {
  letter-spacing: -.035em;
}
.tracking-\[-\.045em\] {
  letter-spacing: -.045em;
}
.tracking-\[-\.04em\] {
  letter-spacing: -.04em;
}
.tracking-\[-\.055em\] {
  letter-spacing: -.055em;
}
.tracking-\[-\.05em\] {
  letter-spacing: -.05em;
}
.tracking-\[-\.06em\] {
  letter-spacing: -.06em;
}
.tracking-\[-0\.025em\] {
  letter-spacing: -0.025em;
}
.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.tracking-\[-0\.035em\] {
  letter-spacing: -0.035em;
}
.tracking-\[-0\.03em\] {
  letter-spacing: -0.03em;
}
.tracking-\[-0\.045em\] {
  letter-spacing: -0.045em;
}
.tracking-\[-0\.04em\] {
  letter-spacing: -0.04em;
}
.tracking-\[-0\.055em\] {
  letter-spacing: -0.055em;
}
.tracking-\[-0\.05em\] {
  letter-spacing: -0.05em;
}
.tracking-\[\.08em\] {
  letter-spacing: .08em;
}
.tracking-\[\.09em\] {
  letter-spacing: .09em;
}
.tracking-\[\.12em\] {
  letter-spacing: .12em;
}
.tracking-\[\.13em\] {
  letter-spacing: .13em;
}
.tracking-\[\.14em\] {
  letter-spacing: .14em;
}
.tracking-\[\.15em\] {
  letter-spacing: .15em;
}
.tracking-\[\.16em\] {
  letter-spacing: .16em;
}
.tracking-\[\.17em\] {
  letter-spacing: .17em;
}
.tracking-\[\.18em\] {
  letter-spacing: .18em;
}
.tracking-\[\.1em\] {
  letter-spacing: .1em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.09em\] {
  letter-spacing: 0.09em;
}
.tracking-\[0\.11em\] {
  letter-spacing: 0.11em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.13em\] {
  letter-spacing: 0.13em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.17em\] {
  letter-spacing: 0.17em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-\[0\.25em\] {
  letter-spacing: 0.25em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-\[3px\] {
  letter-spacing: 3px;
}
.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-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.text-\[\#047857\] {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-\[\#137a5f\] {
  --tw-text-opacity: 1;
  color: rgb(19 122 95 / var(--tw-text-opacity, 1));
}
.text-\[\#151229\] {
  --tw-text-opacity: 1;
  color: rgb(21 18 41 / var(--tw-text-opacity, 1));
}
.text-\[\#15803d\] {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-\[\#166534\] {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-\[\#17132E\] {
  --tw-text-opacity: 1;
  color: rgb(23 19 46 / var(--tw-text-opacity, 1));
}
.text-\[\#17132d\] {
  --tw-text-opacity: 1;
  color: rgb(23 19 45 / var(--tw-text-opacity, 1));
}
.text-\[\#1c1b21\] {
  --tw-text-opacity: 1;
  color: rgb(28 27 33 / var(--tw-text-opacity, 1));
}
.text-\[\#1d4ed8\] {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-\[\#20122f\] {
  --tw-text-opacity: 1;
  color: rgb(32 18 47 / var(--tw-text-opacity, 1));
}
.text-\[\#211a32\] {
  --tw-text-opacity: 1;
  color: rgb(33 26 50 / var(--tw-text-opacity, 1));
}
.text-\[\#241633\] {
  --tw-text-opacity: 1;
  color: rgb(36 22 51 / var(--tw-text-opacity, 1));
}
.text-\[\#241a52\] {
  --tw-text-opacity: 1;
  color: rgb(36 26 82 / var(--tw-text-opacity, 1));
}
.text-\[\#241b45\] {
  --tw-text-opacity: 1;
  color: rgb(36 27 69 / var(--tw-text-opacity, 1));
}
.text-\[\#281941\] {
  --tw-text-opacity: 1;
  color: rgb(40 25 65 / var(--tw-text-opacity, 1));
}
.text-\[\#2F294A\] {
  --tw-text-opacity: 1;
  color: rgb(47 41 74 / var(--tw-text-opacity, 1));
}
.text-\[\#2d2338\] {
  --tw-text-opacity: 1;
  color: rgb(45 35 56 / var(--tw-text-opacity, 1));
}
.text-\[\#2d2540\] {
  --tw-text-opacity: 1;
  color: rgb(45 37 64 / var(--tw-text-opacity, 1));
}
.text-\[\#2d2545\] {
  --tw-text-opacity: 1;
  color: rgb(45 37 69 / var(--tw-text-opacity, 1));
}
.text-\[\#2f2541\] {
  --tw-text-opacity: 1;
  color: rgb(47 37 65 / var(--tw-text-opacity, 1));
}
.text-\[\#302743\] {
  --tw-text-opacity: 1;
  color: rgb(48 39 67 / var(--tw-text-opacity, 1));
}
.text-\[\#342B4A\] {
  --tw-text-opacity: 1;
  color: rgb(52 43 74 / var(--tw-text-opacity, 1));
}
.text-\[\#342a44\] {
  --tw-text-opacity: 1;
  color: rgb(52 42 68 / var(--tw-text-opacity, 1));
}
.text-\[\#3B335A\] {
  --tw-text-opacity: 1;
  color: rgb(59 51 90 / var(--tw-text-opacity, 1));
}
.text-\[\#3C3489\] {
  --tw-text-opacity: 1;
  color: rgb(60 52 137 / var(--tw-text-opacity, 1));
}
.text-\[\#3a1d99\] {
  --tw-text-opacity: 1;
  color: rgb(58 29 153 / var(--tw-text-opacity, 1));
}
.text-\[\#3b2a6d\] {
  --tw-text-opacity: 1;
  color: rgb(59 42 109 / var(--tw-text-opacity, 1));
}
.text-\[\#3b3354\] {
  --tw-text-opacity: 1;
  color: rgb(59 51 84 / var(--tw-text-opacity, 1));
}
.text-\[\#3c2d52\] {
  --tw-text-opacity: 1;
  color: rgb(60 45 82 / var(--tw-text-opacity, 1));
}
.text-\[\#3c3158\] {
  --tw-text-opacity: 1;
  color: rgb(60 49 88 / var(--tw-text-opacity, 1));
}
.text-\[\#3d2874\] {
  --tw-text-opacity: 1;
  color: rgb(61 40 116 / var(--tw-text-opacity, 1));
}
.text-\[\#3d3159\] {
  --tw-text-opacity: 1;
  color: rgb(61 49 89 / var(--tw-text-opacity, 1));
}
.text-\[\#3f3551\] {
  --tw-text-opacity: 1;
  color: rgb(63 53 81 / var(--tw-text-opacity, 1));
}
.text-\[\#403650\] {
  --tw-text-opacity: 1;
  color: rgb(64 54 80 / var(--tw-text-opacity, 1));
}
.text-\[\#431b83\] {
  --tw-text-opacity: 1;
  color: rgb(67 27 131 / var(--tw-text-opacity, 1));
}
.text-\[\#43385f\] {
  --tw-text-opacity: 1;
  color: rgb(67 56 95 / var(--tw-text-opacity, 1));
}
.text-\[\#433950\] {
  --tw-text-opacity: 1;
  color: rgb(67 57 80 / var(--tw-text-opacity, 1));
}
.text-\[\#46365e\] {
  --tw-text-opacity: 1;
  color: rgb(70 54 94 / var(--tw-text-opacity, 1));
}
.text-\[\#463C57\] {
  --tw-text-opacity: 1;
  color: rgb(70 60 87 / var(--tw-text-opacity, 1));
}
.text-\[\#463e50\] {
  --tw-text-opacity: 1;
  color: rgb(70 62 80 / var(--tw-text-opacity, 1));
}
.text-\[\#475569\] {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-\[\#482a70\] {
  --tw-text-opacity: 1;
  color: rgb(72 42 112 / var(--tw-text-opacity, 1));
}
.text-\[\#4A1FC7\] {
  --tw-text-opacity: 1;
  color: rgb(74 31 199 / var(--tw-text-opacity, 1));
}
.text-\[\#4C435D\] {
  --tw-text-opacity: 1;
  color: rgb(76 67 93 / var(--tw-text-opacity, 1));
}
.text-\[\#4a1fc7\] {
  --tw-text-opacity: 1;
  color: rgb(74 31 199 / var(--tw-text-opacity, 1));
}
.text-\[\#4a3675\] {
  --tw-text-opacity: 1;
  color: rgb(74 54 117 / var(--tw-text-opacity, 1));
}
.text-\[\#4b3f66\] {
  --tw-text-opacity: 1;
  color: rgb(75 63 102 / var(--tw-text-opacity, 1));
}
.text-\[\#4b4b63\] {
  --tw-text-opacity: 1;
  color: rgb(75 75 99 / var(--tw-text-opacity, 1));
}
.text-\[\#4c1d95\] {
  --tw-text-opacity: 1;
  color: rgb(76 29 149 / var(--tw-text-opacity, 1));
}
.text-\[\#4c4470\] {
  --tw-text-opacity: 1;
  color: rgb(76 68 112 / var(--tw-text-opacity, 1));
}
.text-\[\#4f238f\] {
  --tw-text-opacity: 1;
  color: rgb(79 35 143 / var(--tw-text-opacity, 1));
}
.text-\[\#51445f\] {
  --tw-text-opacity: 1;
  color: rgb(81 68 95 / var(--tw-text-opacity, 1));
}
.text-\[\#514660\] {
  --tw-text-opacity: 1;
  color: rgb(81 70 96 / var(--tw-text-opacity, 1));
}
.text-\[\#51475e\] {
  --tw-text-opacity: 1;
  color: rgb(81 71 94 / var(--tw-text-opacity, 1));
}
.text-\[\#51495c\] {
  --tw-text-opacity: 1;
  color: rgb(81 73 92 / var(--tw-text-opacity, 1));
}
.text-\[\#514a67\] {
  --tw-text-opacity: 1;
  color: rgb(81 74 103 / var(--tw-text-opacity, 1));
}
.text-\[\#554c65\] {
  --tw-text-opacity: 1;
  color: rgb(85 76 101 / var(--tw-text-opacity, 1));
}
.text-\[\#5724b7\] {
  --tw-text-opacity: 1;
  color: rgb(87 36 183 / var(--tw-text-opacity, 1));
}
.text-\[\#574d64\] {
  --tw-text-opacity: 1;
  color: rgb(87 77 100 / var(--tw-text-opacity, 1));
}
.text-\[\#5B21B6\] {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-\[\#5F2EEA\] {
  --tw-text-opacity: 1;
  color: rgb(95 46 234 / var(--tw-text-opacity, 1));
}
.text-\[\#5b21b6\] {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-\[\#5b2c91\] {
  --tw-text-opacity: 1;
  color: rgb(91 44 145 / var(--tw-text-opacity, 1));
}
.text-\[\#5b48d9\] {
  --tw-text-opacity: 1;
  color: rgb(91 72 217 / var(--tw-text-opacity, 1));
}
.text-\[\#5b5069\] {
  --tw-text-opacity: 1;
  color: rgb(91 80 105 / var(--tw-text-opacity, 1));
}
.text-\[\#5b5267\] {
  --tw-text-opacity: 1;
  color: rgb(91 82 103 / var(--tw-text-opacity, 1));
}
.text-\[\#5f2eea\] {
  --tw-text-opacity: 1;
  color: rgb(95 46 234 / var(--tw-text-opacity, 1));
}
.text-\[\#5f506e\] {
  --tw-text-opacity: 1;
  color: rgb(95 80 110 / var(--tw-text-opacity, 1));
}
.text-\[\#5f5870\] {
  --tw-text-opacity: 1;
  color: rgb(95 88 112 / var(--tw-text-opacity, 1));
}
.text-\[\#62566d\] {
  --tw-text-opacity: 1;
  color: rgb(98 86 109 / var(--tw-text-opacity, 1));
}
.text-\[\#625773\] {
  --tw-text-opacity: 1;
  color: rgb(98 87 115 / var(--tw-text-opacity, 1));
}
.text-\[\#62586f\] {
  --tw-text-opacity: 1;
  color: rgb(98 88 111 / var(--tw-text-opacity, 1));
}
.text-\[\#635672\] {
  --tw-text-opacity: 1;
  color: rgb(99 86 114 / var(--tw-text-opacity, 1));
}
.text-\[\#655775\] {
  --tw-text-opacity: 1;
  color: rgb(101 87 117 / var(--tw-text-opacity, 1));
}
.text-\[\#675d72\] {
  --tw-text-opacity: 1;
  color: rgb(103 93 114 / var(--tw-text-opacity, 1));
}
.text-\[\#675f76\] {
  --tw-text-opacity: 1;
  color: rgb(103 95 118 / var(--tw-text-opacity, 1));
}
.text-\[\#685d7a\] {
  --tw-text-opacity: 1;
  color: rgb(104 93 122 / var(--tw-text-opacity, 1));
}
.text-\[\#6D28D9\] {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-\[\#6E3FBE\] {
  --tw-text-opacity: 1;
  color: rgb(110 63 190 / var(--tw-text-opacity, 1));
}
.text-\[\#6F6780\] {
  --tw-text-opacity: 1;
  color: rgb(111 103 128 / var(--tw-text-opacity, 1));
}
.text-\[\#6b21a8\] {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-\[\#6b6375\] {
  --tw-text-opacity: 1;
  color: rgb(107 99 117 / var(--tw-text-opacity, 1));
}
.text-\[\#6b7280\] {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-\[\#6d28d9\] {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-\[\#6d6178\] {
  --tw-text-opacity: 1;
  color: rgb(109 97 120 / var(--tw-text-opacity, 1));
}
.text-\[\#6f49a8\] {
  --tw-text-opacity: 1;
  color: rgb(111 73 168 / var(--tw-text-opacity, 1));
}
.text-\[\#6f6580\] {
  --tw-text-opacity: 1;
  color: rgb(111 101 128 / var(--tw-text-opacity, 1));
}
.text-\[\#6f6883\] {
  --tw-text-opacity: 1;
  color: rgb(111 104 131 / var(--tw-text-opacity, 1));
}
.text-\[\#766E84\] {
  --tw-text-opacity: 1;
  color: rgb(118 110 132 / var(--tw-text-opacity, 1));
}
.text-\[\#766e81\] {
  --tw-text-opacity: 1;
  color: rgb(118 110 129 / var(--tw-text-opacity, 1));
}
.text-\[\#776E88\] {
  --tw-text-opacity: 1;
  color: rgb(119 110 136 / var(--tw-text-opacity, 1));
}
.text-\[\#791F1F\] {
  --tw-text-opacity: 1;
  color: rgb(121 31 31 / var(--tw-text-opacity, 1));
}
.text-\[\#7C3AED\] {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-\[\#7c3aed\] {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-\[\#7c58aa\] {
  --tw-text-opacity: 1;
  color: rgb(124 88 170 / var(--tw-text-opacity, 1));
}
.text-\[\#7c6cf3\] {
  --tw-text-opacity: 1;
  color: rgb(124 108 243 / var(--tw-text-opacity, 1));
}
.text-\[\#7c748f\] {
  --tw-text-opacity: 1;
  color: rgb(124 116 143 / var(--tw-text-opacity, 1));
}
.text-\[\#8a8198\] {
  --tw-text-opacity: 1;
  color: rgb(138 129 152 / var(--tw-text-opacity, 1));
}
.text-\[\#8a8297\] {
  --tw-text-opacity: 1;
  color: rgb(138 130 151 / var(--tw-text-opacity, 1));
}
.text-\[\#8b5cf6\] {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}
.text-\[\#991b1b\] {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-\[\#FF5B24\] {
  --tw-text-opacity: 1;
  color: rgb(255 91 36 / var(--tw-text-opacity, 1));
}
.text-\[\#a66d00\] {
  --tw-text-opacity: 1;
  color: rgb(166 109 0 / var(--tw-text-opacity, 1));
}
.text-\[\#b2821d\] {
  --tw-text-opacity: 1;
  color: rgb(178 130 29 / var(--tw-text-opacity, 1));
}
.text-\[\#b45309\] {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-\[\#b91c1c\] {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-\[\#cfc2f5\] {
  --tw-text-opacity: 1;
  color: rgb(207 194 245 / var(--tw-text-opacity, 1));
}
.text-\[\#d9ccff\] {
  --tw-text-opacity: 1;
  color: rgb(217 204 255 / var(--tw-text-opacity, 1));
}
.text-\[\#e8dcff\] {
  --tw-text-opacity: 1;
  color: rgb(232 220 255 / var(--tw-text-opacity, 1));
}
.text-\[\#e9d5ff\] {
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.text-\[\#f3edff\] {
  --tw-text-opacity: 1;
  color: rgb(243 237 255 / var(--tw-text-opacity, 1));
}
.text-\[\#f5d87d\] {
  --tw-text-opacity: 1;
  color: rgb(245 216 125 / var(--tw-text-opacity, 1));
}
.text-\[\#f5f0ff\] {
  --tw-text-opacity: 1;
  color: rgb(245 240 255 / var(--tw-text-opacity, 1));
}
.text-\[\#f5f3ff\] {
  --tw-text-opacity: 1;
  color: rgb(245 243 255 / var(--tw-text-opacity, 1));
}
.text-\[var\(--course-accent\)\] {
  color: var(--course-accent);
}
.text-\[var\(--exam-color\)\] {
  color: var(--exam-color);
}
.text-\[var\(--faq-area\)\] {
  color: var(--faq-area);
}
.text-\[var\(--k2ds-muted\)\] {
  color: var(--k2ds-muted);
}
.text-accent {
  color: hsl(var(--accent));
}
.text-accent-foreground {
  color: hsl(var(--accent-foreground));
}
.text-accent\/10 {
  color: hsl(var(--accent) / 0.1);
}
.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-300\/80 {
  color: rgb(252 211 77 / 0.8);
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-50\/90 {
  color: rgb(255 251 235 / 0.9);
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-900\/80 {
  color: rgb(120 53 15 / 0.8);
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-amber-950\/80 {
  color: rgb(69 26 3 / 0.8);
}
.text-background {
  color: hsl(var(--background));
}
.text-background\/65 {
  color: hsl(var(--background) / 0.65);
}
.text-background\/80 {
  color: hsl(var(--background) / 0.8);
}
.text-black\/60 {
  color: rgb(0 0 0 / 0.6);
}
.text-black\/80 {
  color: rgb(0 0 0 / 0.8);
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-400\/10 {
  color: rgb(96 165 250 / 0.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-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-blue-950 {
  --tw-text-opacity: 1;
  color: rgb(23 37 84 / var(--tw-text-opacity, 1));
}
.text-blue-950\/75 {
  color: rgb(23 37 84 / 0.75);
}
.text-blue-950\/80 {
  color: rgb(23 37 84 / 0.8);
}
.text-card-foreground {
  color: hsl(var(--card-foreground));
}
.text-current {
  color: currentColor;
}
.text-cyan-100 {
  --tw-text-opacity: 1;
  color: rgb(207 250 254 / var(--tw-text-opacity, 1));
}
.text-cyan-200 {
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}
.text-cyan-300 {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.text-cyan-300\/70 {
  color: rgb(103 232 249 / 0.7);
}
.text-cyan-400\/10 {
  color: rgb(34 211 238 / 0.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-cyan-800 {
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}
.text-cyan-900 {
  --tw-text-opacity: 1;
  color: rgb(22 78 99 / var(--tw-text-opacity, 1));
}
.text-cyan-950 {
  --tw-text-opacity: 1;
  color: rgb(8 51 68 / var(--tw-text-opacity, 1));
}
.text-cyan-950\/80 {
  color: rgb(8 51 68 / 0.8);
}
.text-destructive {
  color: hsl(var(--destructive));
}
.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}
.text-emerald-100 {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}
.text-emerald-200 {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-50\/90 {
  color: rgb(236 253 245 / 0.9);
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-emerald-950 {
  --tw-text-opacity: 1;
  color: rgb(2 44 34 / var(--tw-text-opacity, 1));
}
.text-emerald-950\/80 {
  color: rgb(2 44 34 / 0.8);
}
.text-emerald-950\/90 {
  color: rgb(2 44 34 / 0.9);
}
.text-foreground {
  color: hsl(var(--foreground));
}
.text-foreground\/45 {
  color: hsl(var(--foreground) / 0.45);
}
.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/60 {
  color: hsl(var(--foreground) / 0.6);
}
.text-foreground\/65 {
  color: hsl(var(--foreground) / 0.65);
}
.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-400\/60 {
  color: rgb(232 121 249 / 0.6);
}
.text-fuchsia-500 {
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity, 1));
}
.text-fuchsia-600 {
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / var(--tw-text-opacity, 1));
}
.text-fuchsia-700 {
  --tw-text-opacity: 1;
  color: rgb(162 28 175 / var(--tw-text-opacity, 1));
}
.text-fuchsia-800 {
  --tw-text-opacity: 1;
  color: rgb(134 25 143 / var(--tw-text-opacity, 1));
}
.text-fuchsia-900 {
  --tw-text-opacity: 1;
  color: rgb(112 26 117 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-gray-950 {
  --tw-text-opacity: 1;
  color: rgb(3 7 18 / var(--tw-text-opacity, 1));
}
.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-400\/10 {
  color: rgb(74 222 128 / 0.1);
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-500\/10 {
  color: rgb(34 197 94 / 0.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-green-900 {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-indigo-100\/55 {
  color: rgb(224 231 255 / 0.55);
}
.text-indigo-100\/70 {
  color: rgb(224 231 255 / 0.7);
}
.text-indigo-100\/85 {
  color: rgb(224 231 255 / 0.85);
}
.text-indigo-200\/70 {
  color: rgb(199 210 254 / 0.7);
}
.text-indigo-50 {
  --tw-text-opacity: 1;
  color: rgb(238 242 255 / var(--tw-text-opacity, 1));
}
.text-indigo-500 {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / 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-indigo-800 {
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-indigo-900 {
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}
.text-indigo-950 {
  --tw-text-opacity: 1;
  color: rgb(30 27 75 / var(--tw-text-opacity, 1));
}
.text-lime-200 {
  --tw-text-opacity: 1;
  color: rgb(217 249 157 / var(--tw-text-opacity, 1));
}
.text-lime-300 {
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1));
}
.text-lime-600 {
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / var(--tw-text-opacity, 1));
}
.text-lime-700 {
  --tw-text-opacity: 1;
  color: rgb(77 124 15 / var(--tw-text-opacity, 1));
}
.text-lime-800 {
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}
.text-lime-900 {
  --tw-text-opacity: 1;
  color: rgb(54 83 20 / var(--tw-text-opacity, 1));
}
.text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.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-muted-foreground\/90 {
  color: hsl(var(--muted-foreground) / 0.9);
}
.text-muted-foreground\/95 {
  color: hsl(var(--muted-foreground) / 0.95);
}
.text-orange-200 {
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}
.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-orange-900 {
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / 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-pink-800 {
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-pink-900 {
  --tw-text-opacity: 1;
  color: rgb(131 24 67 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
  color: hsl(var(--popover-foreground));
}
.text-primary {
  color: hsl(var(--primary));
}
.text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.text-primary-foreground\/25 {
  color: hsl(var(--primary-foreground) / 0.25);
}
.text-primary-foreground\/55 {
  color: hsl(var(--primary-foreground) / 0.55);
}
.text-primary-foreground\/70 {
  color: hsl(var(--primary-foreground) / 0.7);
}
.text-primary-foreground\/75 {
  color: hsl(var(--primary-foreground) / 0.75);
}
.text-primary-foreground\/80 {
  color: hsl(var(--primary-foreground) / 0.8);
}
.text-primary-foreground\/85 {
  color: hsl(var(--primary-foreground) / 0.85);
}
.text-primary-foreground\/95 {
  color: hsl(var(--primary-foreground) / 0.95);
}
.text-primary\/10 {
  color: hsl(var(--primary) / 0.1);
}
.text-primary\/20 {
  color: hsl(var(--primary) / 0.2);
}
.text-primary\/25 {
  color: hsl(var(--primary) / 0.25);
}
.text-primary\/30 {
  color: hsl(var(--primary) / 0.3);
}
.text-primary\/35 {
  color: hsl(var(--primary) / 0.35);
}
.text-primary\/40 {
  color: hsl(var(--primary) / 0.4);
}
.text-primary\/45 {
  color: hsl(var(--primary) / 0.45);
}
.text-primary\/5 {
  color: hsl(var(--primary) / 0.05);
}
.text-primary\/50 {
  color: hsl(var(--primary) / 0.5);
}
.text-primary\/55 {
  color: hsl(var(--primary) / 0.55);
}
.text-primary\/60 {
  color: hsl(var(--primary) / 0.6);
}
.text-primary\/65 {
  color: hsl(var(--primary) / 0.65);
}
.text-primary\/70 {
  color: hsl(var(--primary) / 0.7);
}
.text-primary\/80 {
  color: hsl(var(--primary) / 0.8);
}
.text-primary\/\[0\.04\] {
  color: hsl(var(--primary) / 0.04);
}
.text-primary\/\[0\.06\] {
  color: hsl(var(--primary) / 0.06);
}
.text-primary\/\[0\.10\] {
  color: hsl(var(--primary) / 0.10);
}
.text-purple-100 {
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}
.text-purple-400\/10 {
  color: rgb(192 132 252 / 0.1);
}
.text-purple-50 {
  --tw-text-opacity: 1;
  color: rgb(250 245 255 / 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-purple-800 {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-purple-900 {
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / var(--tw-text-opacity, 1));
}
.text-purple-950 {
  --tw-text-opacity: 1;
  color: rgb(59 7 100 / var(--tw-text-opacity, 1));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-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-rose-800 {
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1));
}
.text-rose-900 {
  --tw-text-opacity: 1;
  color: rgb(136 19 55 / var(--tw-text-opacity, 1));
}
.text-rose-950 {
  --tw-text-opacity: 1;
  color: rgb(76 5 25 / var(--tw-text-opacity, 1));
}
.text-rose-950\/75 {
  color: rgb(76 5 25 / 0.75);
}
.text-rose-950\/90 {
  color: rgb(76 5 25 / 0.9);
}
.text-secondary-foreground {
  color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
  color: hsl(var(--sidebar-foreground));
}
.text-sidebar-foreground\/70 {
  color: hsl(var(--sidebar-foreground) / 0.7);
}
.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-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}
.text-sky-900 {
  --tw-text-opacity: 1;
  color: rgb(12 74 110 / var(--tw-text-opacity, 1));
}
.text-sky-950 {
  --tw-text-opacity: 1;
  color: rgb(8 47 73 / var(--tw-text-opacity, 1));
}
.text-slate-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-slate-950 {
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / 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-teal-800 {
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}
.text-teal-900 {
  --tw-text-opacity: 1;
  color: rgb(19 78 74 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}
.text-violet-100\/70 {
  color: rgb(237 233 254 / 0.7);
}
.text-violet-100\/75 {
  color: rgb(237 233 254 / 0.75);
}
.text-violet-100\/80 {
  color: rgb(237 233 254 / 0.8);
}
.text-violet-100\/85 {
  color: rgb(237 233 254 / 0.85);
}
.text-violet-100\/90 {
  color: rgb(237 233 254 / 0.9);
}
.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-300 {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-300\/60 {
  color: rgb(196 181 253 / 0.6);
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-400\/70 {
  color: rgb(167 139 250 / 0.7);
}
.text-violet-50 {
  --tw-text-opacity: 1;
  color: rgb(245 243 255 / var(--tw-text-opacity, 1));
}
.text-violet-50\/90 {
  color: rgb(245 243 255 / 0.9);
}
.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-violet-700\/80 {
  color: rgb(109 40 217 / 0.8);
}
.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-violet-900 {
  --tw-text-opacity: 1;
  color: rgb(76 29 149 / var(--tw-text-opacity, 1));
}
.text-violet-950 {
  --tw-text-opacity: 1;
  color: rgb(46 16 101 / var(--tw-text-opacity, 1));
}
.text-violet-950\/80 {
  color: rgb(46 16 101 / 0.8);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/10 {
  color: rgb(255 255 255 / 0.1);
}
.text-white\/15 {
  color: rgb(255 255 255 / 0.15);
}
.text-white\/20 {
  color: rgb(255 255 255 / 0.2);
}
.text-white\/25 {
  color: rgb(255 255 255 / 0.25);
}
.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\/55 {
  color: rgb(255 255 255 / 0.55);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-white\/95 {
  color: rgb(255 255 255 / 0.95);
}
.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-400\/10 {
  color: rgb(250 204 21 / 0.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));
}
.text-yellow-900 {
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.overline {
  text-decoration-line: overline;
}
.line-through {
  text-decoration-line: line-through;
}
.no-underline {
  text-decoration-line: none;
}
.decoration-primary\/30 {
  text-decoration-color: hsl(var(--primary) / 0.3);
}
.decoration-primary\/40 {
  text-decoration-color: hsl(var(--primary) / 0.4);
}
.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;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.caret-green-400 {
  caret-color: #4ade80;
}
.accent-\[\#5f2eea\] {
  accent-color: #5f2eea;
}
.accent-\[\#7c3aed\] {
  accent-color: #7c3aed;
}
.accent-emerald-600 {
  accent-color: #059669;
}
.accent-primary {
  accent-color: hsl(var(--primary));
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-35 {
  opacity: 0.35;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-55 {
  opacity: 0.55;
}
.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;
}
.opacity-\[0\.035\] {
  opacity: 0.035;
}
.opacity-\[0\.045\] {
  opacity: 0.045;
}
.opacity-\[0\.05\] {
  opacity: 0.05;
}
.opacity-\[0\.06\] {
  opacity: 0.06;
}
.opacity-\[0\.07\] {
  opacity: 0.07;
}
.opacity-\[0\.12\] {
  opacity: 0.12;
}
.opacity-\[0\.13\] {
  opacity: 0.13;
}
.opacity-\[0\.15\] {
  opacity: 0.15;
}
.opacity-\[0\.24\] {
  opacity: 0.24;
}
.opacity-\[0\.28\] {
  opacity: 0.28;
}
.mix-blend-luminosity {
  mix-blend-mode: luminosity;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_18px_rgba\(95\2c 46\2c 234\2c \.045\)\2c 0_0_0_38px_rgba\(95\2c 46\2c 234\2c \.025\)\] {
  --tw-shadow: 0 0 0 18px rgba(95,46,234,.045),0 0 0 38px rgba(95,46,234,.025);
  --tw-shadow-colored: 0 0 0 18px var(--tw-shadow-color), 0 0 0 38px 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_0_2px_rgba\(95\2c 46\2c 234\2c \.28\)\] {
  --tw-shadow: 0 0 0 2px rgba(95,46,234,.28);
  --tw-shadow-colored: 0 0 0 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_0_0_5px_rgba\(142\2c 92\2c 255\2c \.11\)\] {
  --tw-shadow: 0 0 0 5px rgba(142,92,255,.11);
  --tw-shadow-colored: 0 0 0 5px 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_5px_rgba\(142\2c 92\2c 255\2c 0\.11\)\] {
  --tw-shadow: 0 0 0 5px rgba(142,92,255,0.11);
  --tw-shadow-colored: 0 0 0 5px 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_5px_rgba\(232\2c 185\2c 74\2c \.16\)\] {
  --tw-shadow: 0 0 0 5px rgba(232,185,74,.16);
  --tw-shadow-colored: 0 0 0 5px 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_6px_rgba\(139\2c 92\2c 246\2c \.10\)\] {
  --tw-shadow: 0 0 0 6px rgba(139,92,246,.10);
  --tw-shadow-colored: 0 0 0 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-\[0_0_0_6px_rgba\(232\2c 121\2c 249\2c 0\.12\)\] {
  --tw-shadow: 0 0 0 6px rgba(232,121,249,0.12);
  --tw-shadow-colored: 0 0 0 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-\[0_0_0_6px_rgba\(52\2c 211\2c 153\2c \.1\)\] {
  --tw-shadow: 0 0 0 6px rgba(52,211,153,.1);
  --tw-shadow-colored: 0 0 0 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-\[0_0_0_7px_rgba\(129\2c 140\2c 248\2c 0\.12\)\] {
  --tw-shadow: 0 0 0 7px rgba(129,140,248,0.12);
  --tw-shadow-colored: 0 0 0 7px 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_7px_rgba\(139\2c 92\2c 246\2c 0\.12\)\] {
  --tw-shadow: 0 0 0 7px rgba(139,92,246,0.12);
  --tw-shadow-colored: 0 0 0 7px 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_7px_rgba\(142\2c 92\2c 255\2c \.11\)\] {
  --tw-shadow: 0 0 0 7px rgba(142,92,255,.11);
  --tw-shadow-colored: 0 0 0 7px 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_7px_rgba\(142\2c 92\2c 255\2c 0\.11\)\] {
  --tw-shadow: 0 0 0 7px rgba(142,92,255,0.11);
  --tw-shadow-colored: 0 0 0 7px 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_7px_rgba\(232\2c 185\2c 74\2c \.12\)\] {
  --tw-shadow: 0 0 0 7px rgba(232,185,74,.12);
  --tw-shadow-colored: 0 0 0 7px 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_7px_rgba\(232\2c 185\2c 74\2c 0\.11\)\] {
  --tw-shadow: 0 0 0 7px rgba(232,185,74,0.11);
  --tw-shadow-colored: 0 0 0 7px 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_8px_rgba\(232\2c 185\2c 74\2c \.12\)\] {
  --tw-shadow: 0 0 0 8px rgba(232,185,74,.12);
  --tw-shadow-colored: 0 0 0 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);
}
.shadow-\[0_0_0_8px_rgba\(95\2c 46\2c 234\2c \.1\)\] {
  --tw-shadow: 0 0 0 8px rgba(95,46,234,.1);
  --tw-shadow-colored: 0 0 0 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);
}
.shadow-\[0_0_0_9999px_rgba\(0\2c 0\2c 0\2c 0\.45\)\] {
  --tw-shadow: 0 0 0 9999px rgba(0,0,0,0.45);
  --tw-shadow-colored: 0 0 0 9999px 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_15px_hsl\(var\(--accent\)\)\] {
  --tw-shadow: 0 0 15px hsl(var(--accent));
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_16px_hsl\(var\(--primary\)\)\] {
  --tw-shadow: 0 0 16px hsl(var(--primary));
  --tw-shadow-colored: 0 0 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);
}
.shadow-\[0_0_16px_rgba\(240\2c 171\2c 252\2c \.8\)\] {
  --tw-shadow: 0 0 16px rgba(240,171,252,.8);
  --tw-shadow-colored: 0 0 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);
}
.shadow-\[0_0_18px_hsl\(var\(--primary\)\)\] {
  --tw-shadow: 0 0 18px hsl(var(--primary));
  --tw-shadow-colored: 0 0 18px 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_18px_rgba\(103\2c 232\2c 249\2c \.9\)\] {
  --tw-shadow: 0 0 18px rgba(103,232,249,.9);
  --tw-shadow-colored: 0 0 18px 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_20px_5px_rgba\(142\2c 92\2c 255\2c \.22\)\] {
  --tw-shadow: 0 0 20px 5px rgba(142,92,255,.22);
  --tw-shadow-colored: 0 0 20px 5px 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_20px_hsl\(var\(--primary\)\)\] {
  --tw-shadow: 0 0 20px hsl(var(--primary));
  --tw-shadow-colored: 0 0 20px 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_20px_hsl\(var\(--primary\)\/0\.8\)\] {
  --tw-shadow: 0 0 20px hsl(var(--primary)/0.8);
  --tw-shadow-colored: 0 0 20px 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_24px_hsl\(var\(--primary\)\)\] {
  --tw-shadow: 0 0 24px hsl(var(--primary));
  --tw-shadow-colored: 0 0 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-\[0_0_80px_rgba\(34\2c 211\2c 238\2c 0\.12\)\] {
  --tw-shadow: 0 0 80px rgba(34,211,238,0.12);
  --tw-shadow-colored: 0 0 80px 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_8px_white\] {
  --tw-shadow: 0 0 8px white;
  --tw-shadow-colored: 0 0 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);
}
.shadow-\[0_10px_24px_rgba\(95\2c 46\2c 234\2c 0\.24\)\] {
  --tw-shadow: 0 10px 24px rgba(95,46,234,0.24);
  --tw-shadow-colored: 0 10px 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-\[0_10px_26px_rgba\(95\2c 46\2c 234\2c \.11\)\] {
  --tw-shadow: 0 10px 26px rgba(95,46,234,.11);
  --tw-shadow-colored: 0 10px 26px 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_10px_28px_rgba\(109\2c 40\2c 217\2c \.20\)\] {
  --tw-shadow: 0 10px 28px rgba(109,40,217,.20);
  --tw-shadow-colored: 0 10px 28px 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_11px_24px_rgba\(95\2c 46\2c 234\2c \.22\)\] {
  --tw-shadow: 0 11px 24px rgba(95,46,234,.22);
  --tw-shadow-colored: 0 11px 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-\[0_12px_28px_rgba\(95\2c 46\2c 234\2c \.22\)\] {
  --tw-shadow: 0 12px 28px rgba(95,46,234,.22);
  --tw-shadow-colored: 0 12px 28px 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_12px_30px_rgba\(109\2c 40\2c 217\2c \.13\)\] {
  --tw-shadow: 0 12px 30px rgba(109,40,217,.13);
  --tw-shadow-colored: 0 12px 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_12px_30px_rgba\(192\2c 38\2c 211\2c \.12\)\] {
  --tw-shadow: 0 12px 30px rgba(192,38,211,.12);
  --tw-shadow-colored: 0 12px 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_12px_30px_rgba\(60\2c 38\2c 120\2c 0\.08\)\] {
  --tw-shadow: 0 12px 30px rgba(60,38,120,0.08);
  --tw-shadow-colored: 0 12px 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_12px_32px_rgba\(62\2c 43\2c 113\2c 0\.07\)\] {
  --tw-shadow: 0 12px 32px rgba(62,43,113,0.07);
  --tw-shadow-colored: 0 12px 32px 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_12px_32px_rgba\(68\2c 45\2c 125\2c 0\.07\)\] {
  --tw-shadow: 0 12px 32px rgba(68,45,125,0.07);
  --tw-shadow-colored: 0 12px 32px 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_12px_34px_hsl\(258_40\%_30\%\/0\.1\)\] {
  --tw-shadow: 0 12px 34px hsl(258 40% 30%/0.1);
  --tw-shadow-colored: 0 12px 34px 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_12px_34px_rgba\(58\2c 39\2c 103\2c 0\.06\)\] {
  --tw-shadow: 0 12px 34px rgba(58,39,103,0.06);
  --tw-shadow-colored: 0 12px 34px 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_12px_36px_rgba\(58\2c 39\2c 103\2c 0\.06\)\] {
  --tw-shadow: 0 12px 36px rgba(58,39,103,0.06);
  --tw-shadow-colored: 0 12px 36px 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_12px_36px_rgba\(58\2c 39\2c 103\2c 0\.10\)\] {
  --tw-shadow: 0 12px 36px rgba(58,39,103,0.10);
  --tw-shadow-colored: 0 12px 36px 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_12px_36px_rgba\(76\2c 29\2c 149\2c 0\.055\)\] {
  --tw-shadow: 0 12px 36px rgba(76,29,149,0.055);
  --tw-shadow-colored: 0 12px 36px 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_14px_34px_rgba\(67\2c 42\2c 130\2c 0\.08\)\] {
  --tw-shadow: 0 14px 34px rgba(67,42,130,0.08);
  --tw-shadow-colored: 0 14px 34px 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_14px_34px_rgba\(70\2c 42\2c 130\2c 0\.08\)\] {
  --tw-shadow: 0 14px 34px rgba(70,42,130,0.08);
  --tw-shadow-colored: 0 14px 34px 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_14px_34px_rgba\(95\2c 46\2c 234\2c \.25\)\] {
  --tw-shadow: 0 14px 34px rgba(95,46,234,.25);
  --tw-shadow-colored: 0 14px 34px 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_14px_34px_rgba\(95\2c 46\2c 234\2c 0\.24\)\] {
  --tw-shadow: 0 14px 34px rgba(95,46,234,0.24);
  --tw-shadow-colored: 0 14px 34px 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_14px_34px_rgba\(95\2c 46\2c 234\2c 0\.25\)\] {
  --tw-shadow: 0 14px 34px rgba(95,46,234,0.25);
  --tw-shadow-colored: 0 14px 34px 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_14px_35px_rgba\(109\2c 40\2c 217\2c \.14\)\] {
  --tw-shadow: 0 14px 35px rgba(109,40,217,.14);
  --tw-shadow-colored: 0 14px 35px 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_14px_35px_rgba\(76\2c 29\2c 149\2c 0\.13\)\] {
  --tw-shadow: 0 14px 35px rgba(76,29,149,0.13);
  --tw-shadow-colored: 0 14px 35px 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_14px_36px_rgba\(70\2c 45\2c 125\2c 0\.18\)\] {
  --tw-shadow: 0 14px 36px rgba(70,45,125,0.18);
  --tw-shadow-colored: 0 14px 36px 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_14px_36px_rgba\(75\2c 48\2c 140\2c 0\.09\)\] {
  --tw-shadow: 0 14px 36px rgba(75,48,140,0.09);
  --tw-shadow-colored: 0 14px 36px 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_14px_36px_rgba\(95\2c 46\2c 234\2c 0\.25\)\] {
  --tw-shadow: 0 14px 36px rgba(95,46,234,0.25);
  --tw-shadow-colored: 0 14px 36px 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_14px_36px_rgba\(95\2c 46\2c 234\2c 0\.28\)\] {
  --tw-shadow: 0 14px 36px rgba(95,46,234,0.28);
  --tw-shadow-colored: 0 14px 36px 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_14px_40px_rgba\(67\2c 42\2c 120\2c 0\.08\)\] {
  --tw-shadow: 0 14px 40px rgba(67,42,120,0.08);
  --tw-shadow-colored: 0 14px 40px 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_14px_40px_rgba\(74\2c 31\2c 199\2c 0\.07\)\] {
  --tw-shadow: 0 14px 40px rgba(74,31,199,0.07);
  --tw-shadow-colored: 0 14px 40px 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_15px_35px_rgba\(95\2c 46\2c 234\2c 0\.28\)\] {
  --tw-shadow: 0 15px 35px rgba(95,46,234,0.28);
  --tw-shadow-colored: 0 15px 35px 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_15px_40px_rgba\(69\2c 42\2c 126\2c 0\.08\)\] {
  --tw-shadow: 0 15px 40px rgba(69,42,126,0.08);
  --tw-shadow-colored: 0 15px 40px 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_16px_35px_rgba\(37\2c 99\2c 235\2c 0\.12\)\] {
  --tw-shadow: 0 16px 35px rgba(37,99,235,0.12);
  --tw-shadow-colored: 0 16px 35px 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_16px_35px_rgba\(95\2c 46\2c 234\2c 0\.075\)\] {
  --tw-shadow: 0 16px 35px rgba(95,46,234,0.075);
  --tw-shadow-colored: 0 16px 35px 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_16px_42px_rgba\(69\2c 45\2c 130\2c 0\.08\)\] {
  --tw-shadow: 0 16px 42px rgba(69,45,130,0.08);
  --tw-shadow-colored: 0 16px 42px 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_16px_42px_rgba\(86\2c 61\2c 135\2c 0\.13\)\] {
  --tw-shadow: 0 16px 42px rgba(86,61,135,0.13);
  --tw-shadow-colored: 0 16px 42px 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_16px_45px_rgba\(76\2c 29\2c 149\2c 0\.06\)\] {
  --tw-shadow: 0 16px 45px rgba(76,29,149,0.06);
  --tw-shadow-colored: 0 16px 45px 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_16px_46px_rgba\(57\2c 37\2c 99\2c 0\.07\)\] {
  --tw-shadow: 0 16px 46px rgba(57,37,99,0.07);
  --tw-shadow-colored: 0 16px 46px 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_16px_46px_rgba\(58\2c 39\2c 103\2c 0\.07\)\] {
  --tw-shadow: 0 16px 46px rgba(58,39,103,0.07);
  --tw-shadow-colored: 0 16px 46px 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_17px_35px_rgba\(95\2c 46\2c 234\2c \.30\)\] {
  --tw-shadow: 0 17px 35px rgba(95,46,234,.30);
  --tw-shadow-colored: 0 17px 35px 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_17px_36px_rgba\(95\2c 46\2c 234\2c \.28\)\] {
  --tw-shadow: 0 17px 36px rgba(95,46,234,.28);
  --tw-shadow-colored: 0 17px 36px 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_18px_44px_rgba\(65\2c 38\2c 116\2c \.10\)\] {
  --tw-shadow: 0 18px 44px rgba(65,38,116,.10);
  --tw-shadow-colored: 0 18px 44px 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_18px_45px_rgba\(65\2c 39\2c 113\2c 0\.08\)\] {
  --tw-shadow: 0 18px 45px rgba(65,39,113,0.08);
  --tw-shadow-colored: 0 18px 45px 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_18px_45px_rgba\(70\2c 45\2c 130\2c 0\.08\)\] {
  --tw-shadow: 0 18px 45px rgba(70,45,130,0.08);
  --tw-shadow-colored: 0 18px 45px 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_18px_50px_-32px_rgba\(76\2c 29\2c 149\2c 0\.55\)\] {
  --tw-shadow: 0 18px 50px -32px rgba(76,29,149,0.55);
  --tw-shadow-colored: 0 18px 50px -32px 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_18px_50px_rgba\(24\2c 32\2c 51\2c 0\.20\)\] {
  --tw-shadow: 0 18px 50px rgba(24,32,51,0.20);
  --tw-shadow-colored: 0 18px 50px 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_18px_50px_rgba\(55\2c 37\2c 86\2c \.12\)\] {
  --tw-shadow: 0 18px 50px rgba(55,37,86,.12);
  --tw-shadow-colored: 0 18px 50px 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_18px_50px_rgba\(67\2c 39\2c 126\2c 0\.06\)\] {
  --tw-shadow: 0 18px 50px rgba(67,39,126,0.06);
  --tw-shadow-colored: 0 18px 50px 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_18px_50px_rgba\(76\2c 29\2c 149\2c 0\.08\)\] {
  --tw-shadow: 0 18px 50px rgba(76,29,149,0.08);
  --tw-shadow-colored: 0 18px 50px 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_18px_55px_rgba\(109\2c 40\2c 217\2c \.10\)\] {
  --tw-shadow: 0 18px 55px rgba(109,40,217,.10);
  --tw-shadow-colored: 0 18px 55px 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_18px_55px_rgba\(69\2c 45\2c 117\2c 0\.13\)\] {
  --tw-shadow: 0 18px 55px rgba(69,45,117,0.13);
  --tw-shadow-colored: 0 18px 55px 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_18px_60px_rgba\(15\2c 23\2c 42\2c 0\.05\)\] {
  --tw-shadow: 0 18px 60px rgba(15,23,42,0.05);
  --tw-shadow-colored: 0 18px 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_18px_60px_rgba\(42\2c 24\2c 85\2c 0\.24\)\] {
  --tw-shadow: 0 18px 60px rgba(42,24,85,0.24);
  --tw-shadow-colored: 0 18px 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_20px_28px_rgba\(75\2c 34\2c 160\2c \.24\)\] {
  --tw-shadow: 0 20px 28px rgba(75,34,160,.24);
  --tw-shadow-colored: 0 20px 28px 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_45px_rgba\(95\2c 46\2c 234\2c \.22\)\] {
  --tw-shadow: 0 20px 45px rgba(95,46,234,.22);
  --tw-shadow-colored: 0 20px 45px 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_55px_rgba\(78\2c 52\2c 128\2c 0\.12\)\] {
  --tw-shadow: 0 20px 55px rgba(78,52,128,0.12);
  --tw-shadow-colored: 0 20px 55px 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_-20px_rgba\(95\2c 46\2c 234\2c 0\.25\)\] {
  --tw-shadow: 0 20px 60px -20px rgba(95,46,234,0.25);
  --tw-shadow-colored: 0 20px 60px -20px 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_hsl\(var\(--primary\)\/0\.14\)\] {
  --tw-shadow: 0 20px 60px hsl(var(--primary)/0.14);
  --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_20px_60px_rgba\(58\2c 39\2c 103\2c 0\.08\)\] {
  --tw-shadow: 0 20px 60px rgba(58,39,103,0.08);
  --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_20px_60px_rgba\(88\2c 28\2c 135\2c 0\.12\)\] {
  --tw-shadow: 0 20px 60px rgba(88,28,135,0.12);
  --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_22px_48px_rgba\(61\2c 39\2c 112\2c \.12\)\] {
  --tw-shadow: 0 22px 48px rgba(61,39,112,.12);
  --tw-shadow-colored: 0 22px 48px 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_22px_55px_-26px_rgba\(76\2c 29\2c 149\2c 0\.55\)\] {
  --tw-shadow: 0 22px 55px -26px rgba(76,29,149,0.55);
  --tw-shadow-colored: 0 22px 55px -26px 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_22px_60px_rgba\(63\2c 38\2c 124\2c 0\.08\)\] {
  --tw-shadow: 0 22px 60px rgba(63,38,124,0.08);
  --tw-shadow-colored: 0 22px 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_22px_60px_rgba\(63\2c 38\2c 124\2c 0\.10\)\] {
  --tw-shadow: 0 22px 60px rgba(63,38,124,0.10);
  --tw-shadow-colored: 0 22px 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_22px_60px_rgba\(65\2c 39\2c 113\2c 0\.08\)\] {
  --tw-shadow: 0 22px 60px rgba(65,39,113,0.08);
  --tw-shadow-colored: 0 22px 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_22px_65px_rgba\(79\2c 45\2c 160\2c 0\.10\)\] {
  --tw-shadow: 0 22px 65px rgba(79,45,160,0.10);
  --tw-shadow-colored: 0 22px 65px 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_55px_rgba\(62\2c 27\2c 112\2c 0\.25\)\] {
  --tw-shadow: 0 24px 55px rgba(62,27,112,0.25);
  --tw-shadow-colored: 0 24px 55px 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_60px_hsl\(258_45\%_30\%\/0\.18\)\] {
  --tw-shadow: 0 24px 60px hsl(258 45% 30%/0.18);
  --tw-shadow-colored: 0 24px 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_60px_rgba\(70\2c 45\2c 130\2c 0\.09\)\] {
  --tw-shadow: 0 24px 60px rgba(70,45,130,0.09);
  --tw-shadow-colored: 0 24px 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_68px_rgba\(74\2c 31\2c 199\2c 0\.14\)\] {
  --tw-shadow: 0 24px 68px rgba(74,31,199,0.14);
  --tw-shadow-colored: 0 24px 68px 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_70px_-48px_rgba\(45\2c 30\2c 90\2c 0\.45\)\] {
  --tw-shadow: 0 24px 70px -48px rgba(45,30,90,0.45);
  --tw-shadow-colored: 0 24px 70px -48px 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_70px_hsl\(var\(--primary\)\/0\.16\)\] {
  --tw-shadow: 0 24px 70px hsl(var(--primary)/0.16);
  --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);
}
.shadow-\[0_24px_70px_rgba\(66\2c 43\2c 117\2c \.12\)\] {
  --tw-shadow: 0 24px 70px rgba(66,43,117,.12);
  --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);
}
.shadow-\[0_24px_70px_rgba\(67\2c 27\2c 131\2c 0\.11\)\] {
  --tw-shadow: 0 24px 70px rgba(67,27,131,0.11);
  --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);
}
.shadow-\[0_24px_70px_rgba\(67\2c 27\2c 131\2c 0\.12\)\] {
  --tw-shadow: 0 24px 70px rgba(67,27,131,0.12);
  --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);
}
.shadow-\[0_24px_70px_rgba\(70\2c 47\2c 110\2c 0\.10\)\] {
  --tw-shadow: 0 24px 70px rgba(70,47,110,0.10);
  --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);
}
.shadow-\[0_24px_70px_rgba\(72\2c 42\2c 112\2c 0\.12\)\] {
  --tw-shadow: 0 24px 70px rgba(72,42,112,0.12);
  --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);
}
.shadow-\[0_24px_70px_rgba\(74\2c 31\2c 199\2c \.24\)\] {
  --tw-shadow: 0 24px 70px rgba(74,31,199,.24);
  --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);
}
.shadow-\[0_24px_70px_rgba\(95\2c 46\2c 234\2c 0\.12\)\] {
  --tw-shadow: 0 24px 70px rgba(95,46,234,0.12);
  --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);
}
.shadow-\[0_24px_70px_rgba\(95\2c 46\2c 234\2c 0\.14\)\] {
  --tw-shadow: 0 24px 70px rgba(95,46,234,0.14);
  --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);
}
.shadow-\[0_24px_80px_rgba\(88\2c 28\2c 135\2c 0\.08\)\] {
  --tw-shadow: 0 24px 80px rgba(88,28,135,0.08);
  --tw-shadow-colored: 0 24px 80px 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_80px_rgba\(88\2c 28\2c 135\2c 0\.24\)\] {
  --tw-shadow: 0 24px 80px rgba(88,28,135,0.24);
  --tw-shadow-colored: 0 24px 80px 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_25px_60px_rgba\(74\2c 31\2c 199\2c \.24\)\] {
  --tw-shadow: 0 25px 60px rgba(74,31,199,.24);
  --tw-shadow-colored: 0 25px 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_25px_60px_rgba\(95\2c 46\2c 234\2c \.16\)\] {
  --tw-shadow: 0 25px 60px rgba(95,46,234,.16);
  --tw-shadow-colored: 0 25px 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_25px_80px_rgba\(79\2c 45\2c 160\2c 0\.08\)\] {
  --tw-shadow: 0 25px 80px rgba(79,45,160,0.08);
  --tw-shadow-colored: 0 25px 80px 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_26px_65px_rgba\(83\2c 55\2c 145\2c 0\.22\)\] {
  --tw-shadow: 0 26px 65px rgba(83,55,145,0.22);
  --tw-shadow-colored: 0 26px 65px 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_26px_70px_rgba\(42\2c 24\2c 87\2c 0\.28\)\] {
  --tw-shadow: 0 26px 70px rgba(42,24,87,0.28);
  --tw-shadow-colored: 0 26px 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);
}
.shadow-\[0_28px_70px_-38px_hsl\(var\(--primary\)\/0\.45\)\] {
  --tw-shadow: 0 28px 70px -38px hsl(var(--primary)/0.45);
  --tw-shadow-colored: 0 28px 70px -38px 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_28px_70px_hsl\(var\(--foreground\)\/0\.10\)\] {
  --tw-shadow: 0 28px 70px hsl(var(--foreground)/0.10);
  --tw-shadow-colored: 0 28px 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);
}
.shadow-\[0_28px_70px_hsl\(var\(--primary\)\/0\.16\)\] {
  --tw-shadow: 0 28px 70px hsl(var(--primary)/0.16);
  --tw-shadow-colored: 0 28px 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);
}
.shadow-\[0_28px_70px_rgba\(42\2c 24\2c 87\2c 0\.28\)\] {
  --tw-shadow: 0 28px 70px rgba(42,24,87,0.28);
  --tw-shadow-colored: 0 28px 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);
}
.shadow-\[0_28px_80px_-28px_rgba\(95\2c 46\2c 234\2c 0\.65\)\] {
  --tw-shadow: 0 28px 80px -28px rgba(95,46,234,0.65);
  --tw-shadow-colored: 0 28px 80px -28px 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_28px_80px_rgba\(66\2c 43\2c 117\2c 0\.11\)\] {
  --tw-shadow: 0 28px 80px rgba(66,43,117,0.11);
  --tw-shadow-colored: 0 28px 80px 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_28px_80px_rgba\(66\2c 43\2c 117\2c 0\.12\)\] {
  --tw-shadow: 0 28px 80px rgba(66,43,117,0.12);
  --tw-shadow-colored: 0 28px 80px 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_28px_80px_rgba\(74\2c 31\2c 199\2c \.16\)\] {
  --tw-shadow: 0 28px 80px rgba(74,31,199,.16);
  --tw-shadow-colored: 0 28px 80px 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_28px_90px_-32px_hsl\(var\(--primary\)\/0\.65\)\] {
  --tw-shadow: 0 28px 90px -32px hsl(var(--primary)/0.65);
  --tw-shadow-colored: 0 28px 90px -32px 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_28px_90px_rgba\(79\2c 45\2c 160\2c 0\.12\)\] {
  --tw-shadow: 0 28px 90px rgba(79,45,160,0.12);
  --tw-shadow-colored: 0 28px 90px 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_8px_-3px_rgba\(76\2c 29\2c 149\2c 0\.3\)\] {
  --tw-shadow: 0 2px 8px -3px rgba(76,29,149,0.3);
  --tw-shadow-colored: 0 2px 8px -3px 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_30px_75px_-38px_hsl\(var\(--primary\)\/0\.45\)\] {
  --tw-shadow: 0 30px 75px -38px hsl(var(--primary)/0.45);
  --tw-shadow-colored: 0 30px 75px -38px 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_30px_76px_rgba\(95\2c 46\2c 234\2c \.20\)\] {
  --tw-shadow: 0 30px 76px rgba(95,46,234,.20);
  --tw-shadow-colored: 0 30px 76px 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_30px_80px_-42px_rgba\(95\2c 46\2c 234\2c 0\.42\)\] {
  --tw-shadow: 0 30px 80px -42px rgba(95,46,234,0.42);
  --tw-shadow-colored: 0 30px 80px -42px 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_30px_80px_-50px_rgba\(35\2c 25\2c 75\2c 0\.7\)\] {
  --tw-shadow: 0 30px 80px -50px rgba(35,25,75,0.7);
  --tw-shadow-colored: 0 30px 80px -50px 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_30px_80px_-54px_rgba\(95\2c 46\2c 234\2c 0\.5\)\] {
  --tw-shadow: 0 30px 80px -54px rgba(95,46,234,0.5);
  --tw-shadow-colored: 0 30px 80px -54px 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_30px_85px_rgba\(42\2c 24\2c 87\2c 0\.22\)\] {
  --tw-shadow: 0 30px 85px rgba(42,24,87,0.22);
  --tw-shadow-colored: 0 30px 85px 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_30px_90px_-34px_hsl\(var\(--primary\)\/0\.48\)\] {
  --tw-shadow: 0 30px 90px -34px hsl(var(--primary)/0.48);
  --tw-shadow-colored: 0 30px 90px -34px 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_30px_90px_-34px_rgba\(49\2c 46\2c 129\2c 0\.85\)\] {
  --tw-shadow: 0 30px 90px -34px rgba(49,46,129,0.85);
  --tw-shadow-colored: 0 30px 90px -34px 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_30px_90px_rgba\(73\2c 49\2c 128\2c 0\.12\)\] {
  --tw-shadow: 0 30px 90px rgba(73,49,128,0.12);
  --tw-shadow-colored: 0 30px 90px 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_30px_90px_rgba\(81\2c 46\2c 163\2c 0\.14\)\] {
  --tw-shadow: 0 30px 90px rgba(81,46,163,0.14);
  --tw-shadow-colored: 0 30px 90px 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_30px_95px_rgba\(76\2c 29\2c 149\2c \.13\)\] {
  --tw-shadow: 0 30px 95px rgba(76,29,149,.13);
  --tw-shadow-colored: 0 30px 95px 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_32px_80px_-38px_hsl\(var\(--primary\)\/0\.6\)\] {
  --tw-shadow: 0 32px 80px -38px hsl(var(--primary)/0.6);
  --tw-shadow-colored: 0 32px 80px -38px 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_32px_80px_rgba\(109\2c 40\2c 217\2c 0\.13\)\] {
  --tw-shadow: 0 32px 80px rgba(109,40,217,0.13);
  --tw-shadow-colored: 0 32px 80px 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_32px_80px_rgba\(71\2c 44\2c 140\2c 0\.2\)\] {
  --tw-shadow: 0 32px 80px rgba(71,44,140,0.2);
  --tw-shadow-colored: 0 32px 80px 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_32px_80px_rgba\(71\2c 44\2c 140\2c 0\.20\)\] {
  --tw-shadow: 0 32px 80px rgba(71,44,140,0.20);
  --tw-shadow-colored: 0 32px 80px 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_32px_90px_-34px_hsl\(var\(--primary\)\/0\.55\)\] {
  --tw-shadow: 0 32px 90px -34px hsl(var(--primary)/0.55);
  --tw-shadow-colored: 0 32px 90px -34px 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_32px_90px_-56px_rgba\(95\2c 46\2c 234\2c 0\.58\)\] {
  --tw-shadow: 0 32px 90px -56px rgba(95,46,234,0.58);
  --tw-shadow-colored: 0 32px 90px -56px 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_32px_90px_rgba\(76\2c 29\2c 149\2c \.16\)\] {
  --tw-shadow: 0 32px 90px rgba(76,29,149,.16);
  --tw-shadow-colored: 0 32px 90px 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_32px_95px_rgba\(76\2c 29\2c 149\2c \.13\)\] {
  --tw-shadow: 0 32px 95px rgba(76,29,149,.13);
  --tw-shadow-colored: 0 32px 95px 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_32px_95px_rgba\(76\2c 29\2c 149\2c 0\.13\)\] {
  --tw-shadow: 0 32px 95px rgba(76,29,149,0.13);
  --tw-shadow-colored: 0 32px 95px 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_34px_100px_rgba\(76\2c 29\2c 149\2c \.14\)\] {
  --tw-shadow: 0 34px 100px rgba(76,29,149,.14);
  --tw-shadow-colored: 0 34px 100px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_35px_100px_rgba\(76\2c 29\2c 149\2c \.14\)\] {
  --tw-shadow: 0 35px 100px rgba(76,29,149,.14);
  --tw-shadow-colored: 0 35px 100px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_35px_90px_-35px_hsl\(var\(--primary\)\/0\.45\)\] {
  --tw-shadow: 0 35px 90px -35px hsl(var(--primary)/0.45);
  --tw-shadow-colored: 0 35px 90px -35px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_35px_90px_rgba\(95\2c 46\2c 234\2c 0\.28\)\] {
  --tw-shadow: 0 35px 90px rgba(95,46,234,0.28);
  --tw-shadow-colored: 0 35px 90px 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_-12px_hsl\(var\(--primary\)\/0\.18\)\] {
  --tw-shadow: 0 8px 24px -12px hsl(var(--primary)/0.18);
  --tw-shadow-colored: 0 8px 24px -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\(55\2c 38\2c 88\2c 0\.045\)\] {
  --tw-shadow: 0 8px 24px rgba(55,38,88,0.045);
  --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-\[0_8px_25px_rgba\(54\2c 35\2c 94\2c 0\.06\)\] {
  --tw-shadow: 0 8px 25px rgba(54,35,94,0.06);
  --tw-shadow-colored: 0 8px 25px 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_9px_23px_rgba\(95\2c 46\2c 234\2c 0\.18\)\] {
  --tw-shadow: 0 9px 23px rgba(95,46,234,0.18);
  --tw-shadow-colored: 0 9px 23px 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-\[inset_0_0_50px_rgba\(255\2c 255\2c 255\2c 0\.05\)\] {
  --tw-shadow: inset 0 0 50px rgba(255,255,255,0.05);
  --tw-shadow-colored: inset 0 0 50px 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-\[inset_0_1px_0_\#fff\2c 0_30px_80px_rgba\(95\2c 46\2c 234\2c 0\.20\)\] {
  --tw-shadow: inset 0 1px 0 #fff,0 30px 80px rgba(95,46,234,0.20);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 30px 80px 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-\[inset_7px_7px_16px_rgba\(255\2c 255\2c 255\2c \.18\)\2c 0_22px_30px_rgba\(72\2c 31\2c 160\2c \.25\)\] {
  --tw-shadow: inset 7px 7px 16px rgba(255,255,255,.18),0 22px 30px rgba(72,31,160,.25);
  --tw-shadow-colored: inset 7px 7px 16px var(--tw-shadow-color), 0 22px 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-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 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-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-\[\#5f2eea33\] {
  --tw-shadow-color: #5f2eea33;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[\#5f2eea\]\/25 {
  --tw-shadow-color: rgb(95 46 234 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-200 {
  --tw-shadow-color: #fde68a;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-200 {
  --tw-shadow-color: #a7f3d0;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-fuchsia-200\/70 {
  --tw-shadow-color: rgb(245 208 254 / 0.7);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-200 {
  --tw-shadow-color: #c7d2fe;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-950\/25 {
  --tw-shadow-color: rgb(30 27 75 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-950\/35 {
  --tw-shadow-color: rgb(30 27 75 / 0.35);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-950\/40 {
  --tw-shadow-color: rgb(30 27 75 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/10 {
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/15 {
  --tw-shadow-color: hsl(var(--primary) / 0.15);
  --tw-shadow: var(--tw-shadow-colored);
}
.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\/5 {
  --tw-shadow-color: hsl(var(--primary) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/\[0\.06\] {
  --tw-shadow-color: hsl(var(--primary) / 0.06);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/\[0\.07\] {
  --tw-shadow-color: hsl(var(--primary) / 0.07);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-900\/10 {
  --tw-shadow-color: rgb(88 28 135 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-200 {
  --tw-shadow-color: #fecdd3;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-sky-200 {
  --tw-shadow-color: #bae6fd;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-violet-100\/70 {
  --tw-shadow-color: rgb(237 233 254 / 0.7);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-violet-200 {
  --tw-shadow-color: #ddd6fe;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-violet-200\/70 {
  --tw-shadow-color: rgb(221 214 254 / 0.7);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-violet-950\/5 {
  --tw-shadow-color: rgb(46 16 101 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-\[\#e0d6ff\] {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(224 214 255 / var(--tw-ring-opacity, 1));
}
.ring-amber-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1));
}
.ring-amber-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity, 1));
}
.ring-background {
  --tw-ring-color: hsl(var(--background));
}
.ring-blue-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1));
}
.ring-cyan-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(207 250 254 / var(--tw-ring-opacity, 1));
}
.ring-cyan-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity, 1));
}
.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}
.ring-fuchsia-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 208 254 / var(--tw-ring-opacity, 1));
}
.ring-green-500\/20 {
  --tw-ring-color: rgb(34 197 94 / 0.2);
}
.ring-primary {
  --tw-ring-color: hsl(var(--primary));
}
.ring-primary\/10 {
  --tw-ring-color: hsl(var(--primary) / 0.1);
}
.ring-primary\/15 {
  --tw-ring-color: hsl(var(--primary) / 0.15);
}
.ring-primary\/20 {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-primary\/30 {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.ring-primary\/40 {
  --tw-ring-color: hsl(var(--primary) / 0.4);
}
.ring-purple-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 232 255 / var(--tw-ring-opacity, 1));
}
.ring-red-500\/20 {
  --tw-ring-color: rgb(239 68 68 / 0.2);
}
.ring-ring {
  --tw-ring-color: hsl(var(--ring));
}
.ring-rose-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity, 1));
}
.ring-sidebar-ring {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.ring-slate-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity, 1));
}
.ring-slate-200\/70 {
  --tw-ring-color: rgb(226 232 240 / 0.7);
}
.ring-violet-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(237 233 254 / var(--tw-ring-opacity, 1));
}
.ring-violet-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity, 1));
}
.ring-offset-1 {
  --tw-ring-offset-width: 1px;
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[0\.2px\] {
  --tw-blur: blur(0.2px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[100px\] {
  --tw-blur: blur(100px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[120px\] {
  --tw-blur: blur(120px);
  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-\[140px\] {
  --tw-blur: blur(140px);
  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-\[1px\] {
  --tw-blur: blur(1px);
  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-\[2px\] {
  --tw-blur: blur(2px);
  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-\[3px\] {
  --tw-blur: blur(3px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[80px\] {
  --tw-blur: blur(80px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[90px\] {
  --tw-blur: blur(90px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-lg {
  --tw-blur: blur(16px);
  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-md {
  --tw-blur: blur(12px);
  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-sm {
  --tw-blur: blur(4px);
  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-xl {
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-2xl {
  --tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_12px_24px_rgba\(95\2c 46\2c 234\2c 0\.22\)\] {
  --tw-drop-shadow: drop-shadow(0 12px 24px rgba(95,46,234,0.22));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_15px_25px_hsl\(260_60\%_55\%\/0\.25\)\] {
  --tw-drop-shadow: drop-shadow(0 15px 25px hsl(260 60% 55%/0.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);
}
.drop-shadow-\[0_22px_26px_hsl\(var\(--primary\)\/0\.17\)\] {
  --tw-drop-shadow: drop-shadow(0 22px 26px hsl(var(--primary)/0.17));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_24px_32px_hsl\(var\(--primary\)\/0\.18\)\] {
  --tw-drop-shadow: drop-shadow(0 24px 32px hsl(var(--primary)/0.18));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_24px_32px_rgba\(74\2c 31\2c 199\2c 0\.14\)\] {
  --tw-drop-shadow: drop-shadow(0 24px 32px rgba(74,31,199,0.14));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_24px_35px_rgba\(79\2c 45\2c 157\2c 0\.2\)\] {
  --tw-drop-shadow: drop-shadow(0 24px 35px rgba(79,45,157,0.2));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_26px_30px_hsl\(var\(--primary\)\/0\.12\)\] {
  --tw-drop-shadow: drop-shadow(0 26px 30px hsl(var(--primary)/0.12));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_28px_30px_rgba\(68\2c 36\2c 123\2c \.20\)\] {
  --tw-drop-shadow: drop-shadow(0 28px 30px rgba(68,36,123,.20));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_32px_65px_rgba\(78\2c 42\2c 160\2c 0\.18\)\] {
  --tw-drop-shadow: drop-shadow(0 32px 65px rgba(78,42,160,0.18));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg {
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-xl {
  --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
  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) !important;
}
.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);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[1px\] {
  --tw-backdrop-blur: blur(1px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-lg {
  --tw-backdrop-blur: blur(16px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[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 opa\] {
  transition-property: margin,opa;
  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-none {
  transition-property: none;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear {
  transition-timing-function: linear;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.will-change-transform {
  will-change: transform;
}
@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-in-80 {
  --tw-enter-opacity: 0.8;
}
.zoom-in-95 {
  --tw-enter-scale: .95;
}
.slide-in-from-bottom-1 {
  --tw-enter-translate-y: 0.25rem;
}
.slide-in-from-bottom-4 {
  --tw-enter-translate-y: 1rem;
}
.duration-1000 {
  animation-duration: 1000ms;
}
.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;
}
.ease-in {
  animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.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;
}
.\[animation-delay\:-1\.3s\] {
  animation-delay: -1.3s;
}
.\[animation-delay\:-1\.4s\] {
  animation-delay: -1.4s;
}
.\[animation-delay\:-1\.5s\] {
  animation-delay: -1.5s;
}
.\[animation-delay\:-1\.6s\] {
  animation-delay: -1.6s;
}
.\[animation-delay\:-1\.8s\] {
  animation-delay: -1.8s;
}
.\[animation-delay\:-2\.1s\] {
  animation-delay: -2.1s;
}
.\[animation-delay\:-2\.5s\] {
  animation-delay: -2.5s;
}
.\[animation-delay\:-2\.7s\] {
  animation-delay: -2.7s;
}
.\[animation-delay\:-2\.8s\] {
  animation-delay: -2.8s;
}
.\[animation-delay\:-2s\] {
  animation-delay: -2s;
}
.\[animation-delay\:-3\.5s\] {
  animation-delay: -3.5s;
}
.\[animation-delay\:-3s\] {
  animation-delay: -3s;
}
.\[animation-delay\:-4s\] {
  animation-delay: -4s;
}
.\[animation-delay\:\.7s\] {
  animation-delay: .7s;
}
.\[animation-delay\:1\.2s\] {
  animation-delay: 1.2s;
}
.\[animation-delay\:1\.3s\] {
  animation-delay: 1.3s;
}
.\[animation-delay\:1\.4s\] {
  animation-delay: 1.4s;
}
.\[animation-delay\:1\.5s\] {
  animation-delay: 1.5s;
}
.\[animation-delay\:1\.6s\] {
  animation-delay: 1.6s;
}
.\[animation-delay\:1s\] {
  animation-delay: 1s;
}
.\[animation-delay\:2\.1s\] {
  animation-delay: 2.1s;
}
.\[animation-delay\:2\.5s\] {
  animation-delay: 2.5s;
}
.\[animation-delay\:2\.6s\] {
  animation-delay: 2.6s;
}
.\[animation-delay\:2s\] {
  animation-delay: 2s;
}
.\[animation-direction\:reverse\] {
  animation-direction: reverse;
}
.\[animation-duration\:26s\] {
  animation-duration: 26s;
}
.\[animation-duration\:28s\] {
  animation-duration: 28s;
}
.\[animation-duration\:30s\] {
  animation-duration: 30s;
}
.\[animation-duration\:38s\] {
  animation-duration: 38s;
}
.\[animation-duration\:42s\] {
  animation-duration: 42s;
}
.\[animation\:histKap1Float_7s_ease-in-out_infinite\] {
  animation: histKap1Float 7s ease-in-out infinite;
}
.\[animation\:histKap1Pulse_2\.8s_ease-in-out_infinite\] {
  animation: histKap1Pulse 2.8s ease-in-out infinite;
}
.\[animation\:histKap1Sheen_6s_ease-in-out_infinite\] {
  animation: histKap1Sheen 6s ease-in-out infinite;
}
.\[animation\:histKap2Draw_1\.8s_ease-out_both\] {
  animation: histKap2Draw 1.8s ease-out both;
}
.\[animation\:histKap2Draw_2\.05s_\.15s_ease-out_both\] {
  animation: histKap2Draw 2.05s .15s ease-out both;
}
.\[animation\:histKap2Float_7s_ease-in-out_infinite\] {
  animation: histKap2Float 7s ease-in-out infinite;
}
.\[animation\:histKap2Pulse_3\.2s_ease-in-out_infinite\] {
  animation: histKap2Pulse 3.2s ease-in-out infinite;
}
.\[animation\:histKap2Pulse_3s_ease-in-out_infinite\] {
  animation: histKap2Pulse 3s ease-in-out infinite;
}
.\[animation\:histKap2Sheen_6\.5s_ease-in-out_infinite\] {
  animation: histKap2Sheen 6.5s ease-in-out infinite;
}
.\[animation\:resource-emblem-breathe_3\.8s_ease-in-out_infinite\] {
  animation: resource-emblem-breathe 3.8s ease-in-out infinite;
}
.\[animation\:resource-emblem-float_4\.8s_ease-in-out_infinite\] {
  animation: resource-emblem-float 4.8s ease-in-out infinite;
}
.\[animation\:resource-emblem-orbit_11s_linear_infinite\] {
  animation: resource-emblem-orbit 11s linear infinite;
}
.\[animation\:resource-spark_3\.5s_ease-in-out_infinite\] {
  animation: resource-spark 3.5s ease-in-out infinite;
}
.\[background-image\:linear-gradient\(hsl\(var\(--foreground\)\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c hsl\(var\(--foreground\)\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(hsl(var(--foreground)) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground)) 1px,transparent 1px);
}
.\[background-image\:linear-gradient\(hsl\(var\(--primary\)\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c hsl\(var\(--primary\)\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(hsl(var(--primary)) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--primary)) 1px,transparent 1px);
}
.\[background-image\:linear-gradient\(hsl\(var\(--primary\)\/0\.08\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c hsl\(var\(--primary\)\/0\.08\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(hsl(var(--primary)/0.08) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--primary)/0.08) 1px,transparent 1px);
}
.\[background-image\:linear-gradient\(rgba\(255\2c 255\2c 255\2c \.12\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(255\2c 255\2c 255\2c \.12\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
}
.\[background-image\:linear-gradient\(rgba\(95\2c 46\2c 234\2c \.13\)_1px\2c transparent_1px\)\2c linear-gradient\(90deg\2c rgba\(95\2c 46\2c 234\2c \.13\)_1px\2c transparent_1px\)\] {
  background-image: linear-gradient(rgba(95,46,234,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(95,46,234,.13) 1px,transparent 1px);
}
.\[background-image\:radial-gradient\(hsl\(var\(--primary\)\/0\.14\)_1px\2c transparent_1px\)\] {
  background-image: radial-gradient(hsl(var(--primary)/0.14) 1px,transparent 1px);
}
.\[background-image\:radial-gradient\(rgba\(95\2c 46\2c 234\2c \.22\)_1px\2c transparent_1px\)\] {
  background-image: radial-gradient(rgba(95,46,234,.22) 1px,transparent 1px);
}
.\[background-size\:24px_24px\] {
  background-size: 24px 24px;
}
.\[background-size\:26px_26px\] {
  background-size: 26px 26px;
}
.\[background-size\:28px_28px\] {
  background-size: 28px 28px;
}
.\[background-size\:42px_42px\] {
  background-size: 42px 42px;
}
.\[background-size\:44px_44px\] {
  background-size: 44px 44px;
}
.\[filter\:brightness\(2\)\] {
  filter: brightness(2);
}
.\[filter\:drop-shadow\(0_24px_28px_rgba\(91\2c 33\2c 182\2c \.18\)\)\] {
  filter: drop-shadow(0 24px 28px rgba(91,33,182,.18));
}
.\[mask-image\:linear-gradient\(to_bottom\2c black\2c transparent_78\%\)\] {
  -webkit-mask-image: linear-gradient(to bottom,black,transparent 78%);
          mask-image: linear-gradient(to bottom,black,transparent 78%);
}
.\[mask-image\:linear-gradient\(to_bottom\2c black\2c transparent_82\%\)\] {
  -webkit-mask-image: linear-gradient(to bottom,black,transparent 82%);
          mask-image: linear-gradient(to bottom,black,transparent 82%);
}
.\[mask-image\:linear-gradient\(to_bottom\2c black\2c transparent_88\%\)\] {
  -webkit-mask-image: linear-gradient(to bottom,black,transparent 88%);
          mask-image: linear-gradient(to bottom,black,transparent 88%);
}
.\[mask-image\:linear-gradient\(to_bottom\2c black\2c transparent_90\%\)\] {
  -webkit-mask-image: linear-gradient(to bottom,black,transparent 90%);
          mask-image: linear-gradient(to bottom,black,transparent 90%);
}
.\[mask-image\:linear-gradient\(to_right\2c black\2c transparent\)\] {
  -webkit-mask-image: linear-gradient(to right,black,transparent);
          mask-image: linear-gradient(to right,black,transparent);
}
.\[perspective\:1000px\] {
  perspective: 1000px;
}
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}
.\[scrollbar-width\:thin\] {
  scrollbar-width: thin;
}
.\[svg\:algbrok\] {
  svg: algbrok;
}
.\[svg\:areal\] {
  svg: areal;
}
.\[svg\:aritmetisk\] {
  svg: aritmetisk;
}
.\[svg\:avrunding\] {
  svg: avrunding;
}
.\[svg\:broek\] {
  svg: broek;
}
.\[svg\:deriv\] {
  svg: deriv;
}
.\[svg\:diskriminant\] {
  svg: diskriminant;
}
.\[svg\:eksp\] {
  svg: eksp;
}
.\[svg\:enhet\] {
  svg: enhet;
}
.\[svg\:faktor\] {
  svg: faktor;
}
.\[svg\:forhold\] {
  svg: forhold;
}
.\[svg\:frekvens\] {
  svg: frekvens;
}
.\[svg\:funksjon\] {
  svg: funksjon;
}
.\[svg\:geogebra\] {
  svg: geogebra;
}
.\[svg\:geometrisk\] {
  svg: geometrisk;
}
.\[svg\:grense\] {
  svg: grense;
}
.\[svg\:induksjon\] {
  svg: induksjon;
}
.\[svg\:komb\] {
  svg: komb;
}
.\[svg\:kompleks\] {
  svg: kompleks;
}
.\[svg\:kvadrat\] {
  svg: kvadrat;
}
.\[svg\:linje\] {
  svg: linje;
}
.\[svg\:log\] {
  svg: log;
}
.\[svg\:parabel\] {
  svg: parabel;
}
.\[svg\:potens\] {
  svg: potens;
}
.\[svg\:pp\] {
  svg: pp;
}
.\[svg\:prosent\] {
  svg: prosent;
}
.\[svg\:pytagoras\] {
  svg: pytagoras;
}
.\[svg\:python\] {
  svg: python;
}
.\[svg\:regler\] {
  svg: regler;
}
.\[svg\:regneark\] {
  svg: regneark;
}
.\[svg\:regresjon\] {
  svg: regresjon;
}
.\[svg\:renter\] {
  svg: renter;
}
.\[svg\:rot\] {
  svg: rot;
}
.\[svg\:sanns\] {
  svg: sanns;
}
.\[svg\:sentral\] {
  svg: sentral;
}
.\[svg\:skalar\] {
  svg: skalar;
}
.\[svg\:skjaering\] {
  svg: skjaering;
}
.\[svg\:spredning\] {
  svg: spredning;
}
.\[svg\:standardform\] {
  svg: standardform;
}
.\[svg\:tallinje\] {
  svg: tallinje;
}
.\[svg\:trig\] {
  svg: trig;
}
.\[svg\:uavh\] {
  svg: uavh;
}
.\[svg\:ulikhet\] {
  svg: ulikhet;
}
.\[svg\:vekst\] {
  svg: vekst;
}
.\[svg\:vekt\] {
  svg: vekt;
}
.\[svg\:vektor\] {
  svg: vektor;
}
.\[svg\:volum\] {
  svg: volum;
}
.\[text-shadow\:0_1px_2px_rgba\(255\2c 255\2c 255\2c 0\.65\)\] {
  text-shadow: 0 1px 2px rgba(255,255,255,0.65);
}
.\[text-shadow\:0_1px_2px_rgba\(255\2c 255\2c 255\2c 0\.7\)\] {
  text-shadow: 0 1px 2px rgba(255,255,255,0.7);
}
.\[text-shadow\:0_1px_2px_rgba\(255\2c 255\2c 255\2c 0\.8\)\] {
  text-shadow: 0 1px 2px rgba(255,255,255,0.8);
}

/* Inline-figurer (.ig-fig): stottende storrelse, ikke banner - begrens bredde og sentrer. */
.eg-page .ig-fig{max-width:480px!important;margin-left:auto!important;margin-right:auto!important}

/* Toppkarakter-sider: fjern dekorativ gradient-underline under hero-overskrifter,
   hovedside + alle undersider. Hver underside har egen wrapper .tk-<navn>-page og
   eget hero-navnerom (.tk-hero, .tc-hero, .tk-intro-hero, .tk-grade-hero osv.), saa
   vi scoper paa den felles wrapperen [class*="tk-"][class*="-page"] i stedet for aa
   liste alle navnerom. !important slaar de ikke-important komponent-reglene. */
[class*="tk-"][class*="-page"] h1 span::after,
[class*="tk-"][class*="-page"] h2 span::after,
[class*="tk-"][class*="-page"] h3 span::after { display: none !important; }

/* Fonts loaded via <link> in index.html for better performance */

/* Hub page hero — auto-inject ifingo book watermark on the FIRST INNER div (hero block with gradient bg) */
.hub-page-content > div:first-of-type > div:first-of-type,
.hub-page-content > div:first-of-type > div:first-child,
.hub-page-content .max-w-4xl > div:first-of-type,
.hub-page-content .max-w-4xl > div:first-child {
  position: relative !important;
  overflow: hidden !important;
}

.hub-page-content > div:first-of-type > div:first-of-type::after,
.hub-page-content > div:first-of-type > div:first-child::after,
.hub-page-content .max-w-4xl > div:first-of-type::after,
.hub-page-content .max-w-4xl > div:first-child::after,
.ifingo-guide .ifingo-hero::after {
  content: "";
  position: absolute;
  bottom: -50px;
  right: -40px;
  width: 220px;
  height: 220px;
  opacity: 0.14;
  transform: rotate(-12deg);
  pointer-events: none;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M170 180 Q210 160 256 180 Q302 160 342 180 L342 330 Q302 310 256 330 Q210 310 170 330 Z' fill='none' stroke='white' stroke-width='20' stroke-linejoin='round'/%3E%3Cline x1='256' y1='180' x2='256' y2='330' stroke='white' stroke-width='16'/%3E%3C/svg%3E");
}

.ifingo-guide .ifingo-hero {
  position: relative;
  overflow: hidden;
}

/* Auto-inject bok-watermark on samfunnskunnskap-vgs hero blokker.
   Bruker [class~=""] (whole-word match) for å unngå Tailwind purge og
   PostCSS-parsing issues med arbitrary-value klasser. */
.max-w-4xl > div[class~="bg-gradient-to-br"][class~="text-white"],
.max-w-4xl > div[class~="bg-gradient-to-br"][class~="rounded-2xl"] {
  position: relative;
  overflow: hidden;
}
.max-w-4xl > div[class~="bg-gradient-to-br"][class~="text-white"]::after,
.max-w-4xl > div[class~="bg-gradient-to-br"][class~="rounded-2xl"]::after {
  content: "";
  position: absolute;
  bottom: -50px;
  right: -40px;
  width: 220px;
  height: 220px;
  opacity: 0.14;
  transform: rotate(-12deg);
  pointer-events: none;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M170 180 Q210 160 256 180 Q302 160 342 180 L342 330 Q302 310 256 330 Q210 310 170 330 Z' fill='none' stroke='white' stroke-width='20' stroke-linejoin='round'/%3E%3Cline x1='256' y1='180' x2='256' y2='330' stroke='white' stroke-width='16'/%3E%3C/svg%3E");
}

/* All text inside ifingo-hero should be white over the purple gradient */
.ifingo-hero,
.ifingo-hero h1,
.ifingo-hero h2,
.ifingo-hero h3,
.ifingo-hero p,
.ifingo-hero span,
.ifingo-hero a,
.ifingo-hero li,
.ifingo-hero small,
.ifingo-hero strong,
.ifingo-hero em {
  color: #ffffff !important;
}
.ifingo-hero p {
  opacity: 0.92;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-12px);
  }
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes blob {
  0%,
  100% {
    transform: scale(1) rotate(0deg);
  }
  33% {
    transform: scale(1.06) rotate(4deg);
  }
  66% {
    transform: scale(0.94) rotate(-4deg);
  }
}

@keyframes wave {
  0% {
    transform: translateX(0) translateY(0);
  }
  50% {
    transform: translateX(-20px) translateY(10px);
  }
  100% {
    transform: translateX(0) translateY(0);
  }
}

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

.fade-up {
  animation: fade-up 0.6s ease-out forwards;
}

.blob-animation {
  animation: blob 8s ease-in-out infinite;
  will-change: transform;
}

.wave-animation {
  animation: wave 6s ease-in-out infinite;
}

@keyframes card-slide-up {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.card-slide-up {
  animation: card-slide-up 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Hero-banner for norsk-sider (verk/epoke) – subtil kontinuerlig shine-bevegelse */
.ifingo-hero-banner {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
.ifingo-hero-banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -45%;
  width: 45%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.38), transparent);
  transform: skewX(-14deg);
  animation: ifingoBannerShine 7s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ifingoBannerShine {
  0% {
    left: -45%;
  }
  55%,
  100% {
    left: 135%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ifingo-hero-banner::after {
    animation: none;
  }
}

.glass-card {
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.dark .glass-card {
  background: rgba(30, 25, 50, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.gradient-text {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-gradient {
  background: linear-gradient(145deg, hsl(240 50% 97%), hsl(260 40% 95%), hsl(280 35% 97%));
}

.dark .hero-gradient {
  background: linear-gradient(145deg, hsl(250 25% 10%), hsl(260 22% 12%), hsl(270 20% 11%));
}

.hero-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.hero-wave svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 80px;
}

.subject-card-hover {
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.subject-card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px -12px rgba(120, 80, 200, 0.12);
}

/* Soft pattern overlays */
.dot-pattern {
  background-image: radial-gradient(circle, hsl(260 60% 55% / 0.04) 1px, transparent 1px);
  background-size: 30px 30px;
}

.grid-pattern {
  background-image:
    linear-gradient(hsl(260 60% 55% / 0.03) 1px, transparent 1px),
    linear-gradient(90deg, hsl(260 60% 55% / 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
}

.grid-pattern-dense {
  background-image:
    linear-gradient(hsl(260 60% 55% / 0.03) 1px, transparent 1px),
    linear-gradient(90deg, hsl(260 60% 55% / 0.03) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Subtle aurora/diagonal gradient pattern, used as section overlay */
.om-norge-tinted {
  position: relative;
  overflow: hidden;
}
.om-norge-tinted::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, hsl(260 60% 55% / 0.06), transparent 40%),
    radial-gradient(circle at 80% 70%, hsl(280 55% 65% / 0.05), transparent 45%),
    radial-gradient(circle, hsl(260 60% 55% / 0.04) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    28px 28px;
  pointer-events: none;
  z-index: 0;
}
.om-norge-tinted > * {
  position: relative;
  z-index: 1;
}

/* 3D Flashcard styles */
.perspective-1000 {
  perspective: 1000px;
}

.preserve-3d {
  transform-style: preserve-3d;
}

.backface-hidden {
  backface-visibility: hidden;
}

.rotate-y-180 {
  transform: rotateY(180deg);
}

/* Remove highlight backgrounds from article prose content */
.prose-no-bold mark,
.prose-no-bold [style*="background"] {
  background: none !important;
  background-color: transparent !important;
}

/* Better spacing and readability for all prose/article content */
/* Each h2 section gets a card-like background */
.prose h2,
.prose-no-bold h2 {
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
  padding: 0.5rem 0 !important;
  background: transparent;
  border: none;
  border-radius: 0;
}

.prose h2:first-child,
.prose-no-bold h2:first-child,
.prose > div > h2:first-child {
  margin-top: 0 !important;
}

.prose h3,
.prose-no-bold h3 {
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}

.prose h4,
.prose-no-bold h4 {
  margin-top: 1.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Engelsk Premium CTA: behold hvit tekst selv inne i .prose (som tvinger mørk h2/p med !important) */
section.engelsk-premium-cta h2,
section.engelsk-premium-cta p {
  color: #ffffff !important;
}

.prose p,
.prose-no-bold p {
  margin-bottom: 1rem !important;
  line-height: 1.75 !important;
  font-size: 1.05rem !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
}

.prose ul,
.prose-no-bold ul,
.prose ol,
.prose-no-bold ol {
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

.prose li,
.prose-no-bold li {
  margin-bottom: 0.4rem !important;
  line-height: 1.75 !important;
  font-size: 1.05rem !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
}

/* Section-divider icons before h2 headings in article content */
.prose h2::before,
.prose-no-bold h2::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: hsl(var(--primary));
  border-radius: 50%;
  margin-right: 0.6rem;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Grammar textbook-style content */
.grammar-content p {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.9);
  margin-bottom: 1rem;
}
.grammar-content p:last-child {
  margin-bottom: 0;
}
.grammar-content strong {
  color: hsl(var(--foreground));
  font-weight: 700;
}
.grammar-content em {
  font-style: italic;
  color: hsl(var(--foreground) / 0.78);
}
.grammar-content ul,
.grammar-content ol {
  margin: 0.5rem 0 1rem 1.35rem;
  font-size: 1.0625rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.9);
}
.grammar-content ul {
  list-style: none;
  margin-left: 0;
}
.grammar-content ul > li {
  position: relative;
  padding-left: 1.4rem;
  margin-bottom: 0.45rem;
}
.grammar-content ul > li::before {
  content: "";
  position: absolute;
  left: 0.2rem;
  top: 0.72em;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: hsl(var(--primary) / 0.65);
}
.grammar-content ol {
  list-style: decimal;
}
.grammar-content ol > li {
  margin-bottom: 0.45rem;
  padding-left: 0.2rem;
}
.grammar-content ol > li::marker {
  color: hsl(var(--primary));
  font-weight: 700;
}
.grammar-content h4 {
  font-family: "Quicksand", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.grammar-content h4:first-child {
  margin-top: 0;
}
.grammar-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0.75rem 0 1.25rem;
  font-size: 0.95rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 0.9rem;
  overflow: hidden;
}
.grammar-content thead th {
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
  font-weight: 700;
  text-align: left;
  padding: 0.65rem 0.9rem;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.grammar-content tbody td {
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid hsl(var(--border) / 0.6);
  color: hsl(var(--foreground) / 0.9);
}
.grammar-content tbody tr:nth-child(even) td {
  background: hsl(var(--muted) / 0.45);
}
.grammar-content tbody tr:last-child td {
  border-bottom: none;
}
.grammar-content .tips {
  margin: 1rem 0;
  padding: 0.9rem 1.1rem 0.9rem 1.25rem;
  background: hsl(var(--pastel-yellow));
  border-left: 4px solid hsl(45 90% 55%);
  border-radius: 0 0.85rem 0.85rem 0;
  font-size: 1rem;
  line-height: 1.7;
}
.grammar-content .tips p:last-child {
  margin-bottom: 0;
}
.grammar-content .example-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
  margin: 0.5rem 0 0.75rem;
}
.grammar-content .example-grid p {
  margin-bottom: 0.25rem;
}
.grammar-content .two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 0.75rem 0;
}
@media (max-width: 640px) {
  .grammar-content .two-columns {
    grid-template-columns: 1fr;
  }
}
.grammar-content .highlight-blue {
  color: hsl(200 70% 40%);
  font-weight: 600;
}
.grammar-content .highlight-yellow {
  background: hsl(var(--pastel-yellow));
}
.grammar-content h1 {
  font-family: "Quicksand", sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  margin-top: 1.75rem;
  margin-bottom: 0.6rem;
}
.grammar-content h1:first-child {
  margin-top: 0;
}
.grammar-content h2 {
  font-family: "Quicksand", sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  margin-top: 1.75rem;
  margin-bottom: 0.6rem;
  padding: 0.55rem 0.9rem;
  background: hsl(var(--primary) / 0.07);
  border-left: 4px solid hsl(var(--primary));
  border-radius: 0 0.6rem 0.6rem 0;
}
.grammar-content h2:first-child {
  margin-top: 0;
}
.grammar-content h3 {
  font-family: "Quicksand", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.grammar-content h3:first-child {
  margin-top: 0;
}

/* Links, highlights and example chips */
.grammar-content a {
  color: hsl(var(--primary));
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.grammar-content a:hover {
  opacity: 0.85;
}
.grammar-content mark {
  background: hsl(var(--pastel-yellow));
  color: inherit;
  padding: 0.05em 0.28em;
  border-radius: 0.3rem;
}
.grammar-examples ul {
  list-style: none;
  margin-left: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.grammar-examples ul > li {
  margin-bottom: 0;
  padding: 0.6rem 0.95rem 0.6rem 1.7rem;
  background: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: 0.75rem;
  font-size: 1rem;
  line-height: 1.55;
}
.grammar-examples ul > li::before {
  left: 0.75rem;
  top: 0.95em;
  background: hsl(var(--primary));
}

/* Chemistry content styling */
.chemistry-content h2 {
  font-size: 1.35rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  margin: 2rem 0 0.75rem;
  padding: 0.6rem 1rem;
  background: hsl(var(--pastel-purple));
  border-left: 4px solid hsl(var(--primary));
  border-radius: 0 0.75rem 0.75rem 0;
}
.chemistry-content h2:first-child {
  margin-top: 0;
}
.chemistry-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  margin: 1.5rem 0 0.5rem;
}
.chemistry-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: hsl(var(--foreground) / 0.9);
  margin: 1rem 0 0.4rem;
}
.chemistry-content p {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: hsl(var(--foreground) / 0.85);
  margin-bottom: 1.05rem;
}
.chemistry-content p:last-child {
  margin-bottom: 0;
}
.chemistry-content ul,
.chemistry-content ol {
  margin: 0.5rem 0 0.75rem 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: hsl(var(--foreground) / 0.85);
}
.chemistry-content li {
  margin-bottom: 0.3rem;
}
/* Oppgave-lister: jevn ut dobbelt innrykk (prose-padding + chemistry-margin ga ~68px).
   Ett rent innrykk så spørsmålslinjene aligner pent under "Spørsmål:". Gjelder alle Kjemi 2 oppgave-sider. */
.kjemi2-oppgaver-content ul,
.kjemi2-oppgaver-content ol {
  margin-left: 0;
  padding-left: 1.5em;
}
.chemistry-content strong {
  color: hsl(var(--foreground));
}
/* Mørke formelbokser i fagtekst (inline background:#1f2937 uten color) –
   tving lys tekst så formlene blir synlige. Gjelder alle fag. */
.chemistry-content div[style*="background:#1f2937"],
.chemistry-content div[style*="background: #1f2937"],
.chemistry-content div[style*="background:#1F2937"] {
  color: #f8fafc;
}
.chemistry-content div[style*="background:#1f2937"] *,
.chemistry-content div[style*="background: #1f2937"] *,
.chemistry-content div[style*="background:#1F2937"] * {
  color: #f8fafc !important;
  border-color: rgba(255, 255, 255, 0.25);
}
.chemistry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.875rem;
  border-radius: 0.75rem;
  overflow: hidden;
}
.chemistry-content thead th {
  background: hsl(140 40% 90%);
  color: hsl(140 50% 30%);
  padding: 0.5rem 0.75rem;
  text-align: left;
  font-weight: 700;
  font-size: 0.8125rem;
}
.chemistry-content tbody td {
  padding: 0.45rem 0.75rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  color: hsl(var(--foreground) / 0.85);
}
.chemistry-content table,
.chemistry-content table.premium-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid hsl(var(--primary) / 0.22) !important;
  box-shadow: 0 10px 24px hsl(var(--primary) / 0.08);
}
.chemistry-content table thead tr,
.chemistry-content table:not(:has(thead)) tr:first-child,
.chemistry-content table.premium-table thead tr,
.chemistry-content table.premium-table:not(:has(thead)) tr:first-child {
  background: linear-gradient(90deg, rgb(124, 58, 237), rgb(109, 40, 217)) !important;
  color: #ffffff !important;
}
.chemistry-content table thead th,
.chemistry-content table:not(:has(thead)) tr:first-child th,
.chemistry-content table:not(:has(thead)) tr:first-child td,
.chemistry-content table.premium-table thead th,
.chemistry-content table.premium-table:not(:has(thead)) tr:first-child th,
.chemistry-content table.premium-table:not(:has(thead)) tr:first-child td {
  color: hsl(var(--primary-foreground)) !important;
  border-color: hsl(var(--primary-foreground) / 0.22) !important;
  /* Fjern ev. lys inline-bakgrunn på header-cellene, så radens lilla gradient
     (og dermed den hvite teksten) blir synlig. Fikser usynlige overskrifter. */
  background-color: transparent !important;
  background-image: none !important;
}
/* Kun tittelraden (thead, eller første rad i thead-løse tabeller) skal være lilla.
   Alle andre rader i tbody skal være nøytrale, uansett om de har inline-style,
   gradient, eller om tabellen mangler .premium-table-klassen.
   Bruker høy spesifisitet + !important for å slå inline style + injiserte regler. */
.chemistry-content table tbody > tr,
.chemistry-content table tbody > tr > td,
.chemistry-content table tbody > tr > th,
.chemistry-content table:not(:has(thead)) > tbody > tr:not(:first-child),
.chemistry-content table:not(:has(thead)) > tbody > tr:not(:first-child) > td,
.chemistry-content table:not(:has(thead)) > tbody > tr:not(:first-child) > th,
.chemistry-content table:not(:has(thead)) > tr:not(:first-child),
.chemistry-content table:not(:has(thead)) > tr:not(:first-child) > td,
.chemistry-content table:not(:has(thead)) > tr:not(:first-child) > th {
  background-image: none !important;
}
.chemistry-content table tbody > tr > td,
.chemistry-content table tbody > tr > th,
.chemistry-content table:not(:has(thead)) > tbody > tr:not(:first-child) > td,
.chemistry-content table:not(:has(thead)) > tbody > tr:not(:first-child) > th,
.chemistry-content table:not(:has(thead)) > tr:not(:first-child) > td,
.chemistry-content table:not(:has(thead)) > tr:not(:first-child) > th {
  background-color: transparent !important;
  color: hsl(var(--foreground));
  border-color: hsl(var(--border) / 0.5) !important;
}
/* Behold meningsbaerende aksentfarger i tbody, men tving usynlig HVIT tekst moerk (lesbarhet) */
.chemistry-content table tbody > tr > td[style*="color:#fff"],
.chemistry-content table tbody > tr > td[style*="color: #fff"],
.chemistry-content table tbody > tr > td[style*="color:#ffffff"],
.chemistry-content table tbody > tr > td[style*="color: #ffffff"],
.chemistry-content table tbody > tr > td[style*="color:white"],
.chemistry-content table tbody > tr > td[style*="color: white"],
.chemistry-content table tbody > tr > th[style*="color:#fff"],
.chemistry-content table tbody > tr > th[style*="color: white"] {
  color: hsl(var(--foreground)) !important;
}
/* Striping (vekselrad) for lesbarhet */
.chemistry-content table tbody > tr:nth-child(odd) {
  background-color: #ffffff !important;
}
.chemistry-content table tbody > tr:nth-child(even) {
  background-color: #f9fafb !important;
}

/* === Kjemi tabell-hover (godkjent forslag) – rad lyser opp + løft === */
.chemistry-content table tbody > tr {
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background-color 0.15s ease;
}
.chemistry-content table tbody > tr:hover {
  background-color: #f3eeff !important;
  transform: scale(1.01);
  box-shadow: 0 6px 16px rgba(95, 46, 234, 0.16);
  position: relative;
  z-index: 1;
}
.chemistry-content table tbody > tr:hover > td:first-child {
  box-shadow: inset 3px 0 0 var(--primary, #5f2eea);
}

/* === Hero-effekt site-wide: shine + lilla linje under + zoom-inn ===
   Treffer hero-bokser (pastell, avrundet) og hero-bilde-containere (avrundet +
   overflow-hidden med <img>) inne i <main>. Ingen per-side-endring nødvendig. */
main :is([class*="rounded-2xl"][class*="pastel"], [class*="rounded-3xl"][class*="pastel"], [class*="rounded-2xl"][class*="overflow-hidden"]:has(img), [class*="rounded-3xl"][class*="overflow-hidden"]:has(img)) {
  position: relative;
}
main :is([class*="rounded-2xl"][class*="pastel"], [class*="rounded-3xl"][class*="pastel"], [class*="rounded-2xl"][class*="overflow-hidden"]:has(img), [class*="rounded-3xl"][class*="overflow-hidden"]:has(img)) img {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
main :is([class*="rounded-2xl"][class*="pastel"], [class*="rounded-3xl"][class*="pastel"], [class*="rounded-2xl"][class*="overflow-hidden"]:has(img), [class*="rounded-3xl"][class*="overflow-hidden"]:has(img)):hover img {
  transform: scale(1.05);
}
main :is([class*="rounded-2xl"][class*="pastel"], [class*="rounded-3xl"][class*="pastel"], [class*="rounded-2xl"][class*="overflow-hidden"]:has(img), [class*="rounded-3xl"][class*="overflow-hidden"]:has(img))::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 0;
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(90deg, transparent, hsl(var(--primary)), transparent);
  pointer-events: none;
  z-index: 3;
}
main :is([class*="rounded-2xl"][class*="pastel"], [class*="rounded-3xl"][class*="pastel"], [class*="rounded-2xl"][class*="overflow-hidden"]:has(img), [class*="rounded-3xl"][class*="overflow-hidden"]:has(img))::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 45%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.28), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
  opacity: 0;
  z-index: 2;
}
main :is([class*="rounded-2xl"][class*="pastel"], [class*="rounded-3xl"][class*="pastel"], [class*="rounded-2xl"][class*="overflow-hidden"]:has(img), [class*="rounded-3xl"][class*="overflow-hidden"]:has(img)):hover::before {
  animation: ifk-hero-shine 1.1s ease;
}
@keyframes ifk-hero-shine {
  from { left: -60%; opacity: 1; }
  to { left: 115%; opacity: 1; }
}

/* === «Mer hjelp til eksamen»-knapper (Alt A – myke lavendel-kort) === */
.kjemi1-help-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  border: 1px solid #ede9fe;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  color: #4a1fc7;
  font-weight: 700;
  text-decoration: none;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    background-color 0.16s ease,
    border-color 0.16s ease;
}
.kjemi1-help-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 3px 0 0 #5f2eea,
    0 10px 22px rgba(95, 46, 234, 0.14);
  border-color: #d9cdf6;
  background: #f5f3ff;
}

/* Kap 7 oppgaver: nøytrale vanskelighets-merker – behold teksten, fjern den sterke fargen */
.tag.tag-lett,
.tag.tag-middels,
.tag.tag-vanskelig,
.tag-lett,
.tag-middels,
.tag-vanskelig {
  background: hsl(var(--muted)) !important;
  background-image: none !important;
  color: hsl(var(--muted-foreground)) !important;
  border-color: hsl(var(--border)) !important;
}

/* Kjemi 1: kapitteloverskriften skal være ifingo-lilla, ikke blå (konsistent intro) */
.chemistry-content.kjemi1-enhanced h1,
.kjemi1-enhanced h1,
.chemistry-content.kjemi1-enhanced h1 strong,
.kjemi1-enhanced h1 strong {
  color: #4a1fc7 !important;
}

/* Body-rader: nøytrale (ingen lilla/gul/grønn tint) */
.chemistry-content table.premium-table tbody tr {
  background-color: #ffffff !important;
}
.chemistry-content table.premium-table tbody tr td,
.chemistry-content table.premium-table tbody tr th {
  background-color: transparent !important;
}
.chemistry-content table.premium-table tbody tr:nth-child(even) {
  background-color: #f9fafb !important;
}
.chemistry-content table.premium-table tbody tr:nth-child(even) td,
.chemistry-content table.premium-table tbody tr:nth-child(even) th {
  background-color: #f9fafb !important;
}
.summary-box {
  margin-top: 3rem;
  padding: 1.5rem;
  border: 1px solid hsl(var(--primary) / 0.3);
  border-radius: 1rem;
  background: hsl(var(--primary) / 0.05);
}
.chemistry-content .tip-box {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: hsl(var(--pastel-yellow));
  border-radius: 0.75rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.chemistry-content .important-box {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: hsl(var(--pastel-blue));
  border-radius: 0.75rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.chemistry-content .example-box {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  background: hsl(var(--pastel-green));
  border-radius: 0.75rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.chemistry-content details.answer-toggle {
  margin: 0.75rem 0;
  border-radius: 0.75rem;
  overflow: hidden;
}
.chemistry-content details.answer-toggle summary {
  cursor: pointer;
  padding: 0.6rem 1rem;
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 0.75rem;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background 0.2s;
}
.chemistry-content details.answer-toggle summary:hover {
  background: hsl(var(--primary) / 0.18);
}
.chemistry-content details.answer-toggle summary::before {
  content: "▶";
  font-size: 0.7rem;
  transition: transform 0.2s;
}
.chemistry-content details[open].answer-toggle summary::before {
  transform: rotate(90deg);
}
.chemistry-content details.answer-toggle .answer-content {
  padding: 0.75rem 1rem;
  background: hsl(var(--pastel-purple));
  border-radius: 0 0 0.75rem 0.75rem;
  font-size: 0.9rem;
  line-height: 1.7;
}

.chemistry-content .kjemi2-kap7-modern {
  display: grid;
  gap: 1rem;
}

.chemistry-content .kjemi2-kap7-title {
  margin: 0 0 1rem;
  font-size: clamp(1.65rem, 1.3rem + 1.2vw, 2.2rem);
  line-height: 1.2;
  font-weight: 850;
  color: hsl(var(--foreground));
}

.chemistry-content .chemistry-section-card {
  margin: 0;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--card));
  box-shadow: 0 4px 16px hsl(262 55% 45% / 0.08);
}

.chemistry-content .chemistry-section-card > :last-child {
  margin-bottom: 0;
}

.chemistry-content .chemistry-section-card h2 {
  margin: 0 0 0.75rem;
}

.chemistry-content .equation-block {
  margin: 0.5rem 0;
  padding: 0.75rem 0.9rem;
  border-radius: 0.9rem;
  border: 1px solid hsl(var(--primary) / 0.24);
  background: linear-gradient(180deg, hsl(var(--primary) / 0.08), hsl(var(--primary) / 0.04));
  overflow-x: auto;
}

.chemistry-content .equation-block code {
  display: block;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  white-space: pre;
  font-family:
    "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
  font-size: 0.84rem;
  color: hsl(var(--foreground));
}

.chemistry-content .responsive-table-wrap {
  margin: 0.65rem 0 0.2rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.chemistry-content .svg-illustration-section {
  margin-top: 0.5rem;
}

.chemistry-content .svg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0.85rem;
}

.chemistry-content .svg-card {
  margin: 0;
  padding: 0.7rem;
  border-radius: 0.9rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  text-align: center;
}

.chemistry-content .svg-card svg {
  display: block;
  width: 100%;
  height: auto;
}

.chemistry-content .svg-card figcaption {
  margin-top: 0.45rem;
  font-size: 0.78rem;
  line-height: 1.25;
  color: hsl(var(--muted-foreground));
}

/* #3: Frittstående figur-bildetekster (uten .svg-card) ble klemt 6px under figuren.
   Tailwind prose-laget overstyrer margin-top selv ved høyere spesifisitet, så vi
   tvinger luften med !important. Beholder prosens font/farge, sentrerer + maks bredde. */
.chemistry-content figure > figcaption {
  margin-top: 1rem !important;
  text-align: center;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;
}

.dark .chemistry-content .chemistry-section-card {
  background: hsl(260 26% 15%);
  border-color: hsl(260 20% 30%);
  box-shadow: 0 6px 22px hsl(260 45% 10% / 0.45);
}

.dark .chemistry-content .equation-block {
  border-color: hsl(var(--primary) / 0.38);
  background: linear-gradient(180deg, hsl(var(--primary) / 0.18), hsl(var(--primary) / 0.08));
}

@media (max-width: 640px) {
  .chemistry-content .chemistry-section-card {
    border-radius: 0.9rem;
    padding: 0.85rem 0.9rem;
  }

  .chemistry-content .equation-block code {
    font-size: 0.78rem;
  }
}

/* ════════════════════════════════════════════════════════════
   Biology content styling – purple accent (ifingo brand)
   Maximum visual quality: icons, gradients, dark-mode, hover
   ════════════════════════════════════════════════════════════ */

/* ── Typography ───────────────────────────────────────────── */
.biology-content h2 {
  font-size: 1.4rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  margin: 2.5rem 0 1rem;
  padding: 0.75rem 1.25rem 0.75rem 1rem;
  background: linear-gradient(90deg, hsl(260 55% 93%), hsl(280 45% 95%));
  border-left: 5px solid hsl(var(--primary));
  border-radius: 0 1rem 1rem 0;
  box-shadow: 0 2px 12px hsl(260 60% 55% / 0.1);
  position: relative;
}
.dark .biology-content h2 {
  background: linear-gradient(90deg, hsl(260 35% 18%), hsl(280 30% 20%));
  box-shadow: 0 2px 12px hsl(260 60% 65% / 0.15);
}
.biology-content h2:first-child {
  margin-top: 0;
}
.biology-content h2::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: hsl(var(--primary) / 0.35);
  border-radius: 50%;
  box-shadow:
    -14px 0 0 hsl(var(--primary) / 0.25),
    -28px 0 0 hsl(var(--primary) / 0.15);
}
.biology-content h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: hsl(var(--primary));
  margin: 1.75rem 0 0.6rem;
  padding-left: 0.75rem;
  border-left: 3px solid hsl(var(--primary) / 0.5);
  line-height: 1.4;
}
.biology-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: hsl(var(--foreground) / 0.9);
  margin: 1.25rem 0 0.45rem;
}
.biology-content p {
  font-size: 1rem;
  line-height: 1.9;
  color: hsl(var(--foreground) / 0.88);
  margin-bottom: 0.9rem;
}
.biology-content p:last-child {
  margin-bottom: 0;
}

/* ── Lists with custom bullet style ──────────────────────── */
.biology-content ul {
  margin: 0.65rem 0 1rem 0;
  padding-left: 0;
  font-size: 1rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.88);
  list-style: none;
}
.biology-content ul li {
  margin-bottom: 0.45rem;
  padding-left: 1.5rem;
  position: relative;
}
.biology-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 7px;
  height: 7px;
  background: hsl(var(--primary) / 0.7);
  border-radius: 50%;
}
.biology-content ol {
  margin: 0.65rem 0 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.88);
}
.biology-content li {
  margin-bottom: 0.4rem;
}
.biology-content strong {
  color: hsl(var(--foreground));
  font-weight: 700;
}
.biology-content em {
  color: hsl(var(--primary));
  font-style: italic;
}

/* ── Tables ────────────────────────────────────────────────── */
.biology-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.9rem;
  border-radius: 0.85rem;
  overflow: hidden;
  box-shadow: 0 1px 8px hsl(260 60% 55% / 0.07);
}
.biology-content thead th {
  background: linear-gradient(90deg, hsl(260 55% 88%), hsl(280 45% 91%));
  color: hsl(260 60% 30%);
  padding: 0.6rem 0.9rem;
  text-align: left;
  font-weight: 700;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dark .biology-content thead th {
  background: linear-gradient(90deg, hsl(260 35% 24%), hsl(280 30% 26%));
  color: hsl(260 60% 80%);
}
.biology-content tbody tr:nth-child(even) {
  background: hsl(260 50% 98%);
}
.dark .biology-content tbody tr:nth-child(even) {
  background: hsl(260 25% 14%);
}
.biology-content tbody tr:hover {
  background: hsl(260 60% 96%);
}
.dark .biology-content tbody tr:hover {
  background: hsl(260 30% 18%);
}
.biology-content tbody td {
  padding: 0.55rem 0.9rem;
  border-bottom: 1px solid hsl(var(--border) / 0.4);
  vertical-align: top;
}
.biology-content tbody tr:last-child td {
  border-bottom: none;
}

/* ── Definition box 📘 ────────────────────────────────────── */
.biology-content .definition-box {
  margin: 1.25rem 0;
  padding: 1rem 1.25rem 1rem 3.25rem;
  background: linear-gradient(135deg, hsl(260 55% 96%), hsl(280 45% 97%));
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.75;
  border: 1px solid hsl(var(--primary) / 0.2);
  border-left: 4px solid hsl(var(--primary));
  position: relative;
  box-shadow: 0 2px 10px hsl(260 60% 55% / 0.07);
}
.dark .biology-content .definition-box {
  background: linear-gradient(135deg, hsl(260 30% 18%), hsl(280 25% 19%));
  border-color: hsl(var(--primary) / 0.3);
  box-shadow: 0 2px 10px hsl(260 60% 65% / 0.1);
}
.biology-content .definition-box::before {
  content: "📘";
  position: absolute;
  left: 0.9rem;
  top: 0.95rem;
  font-size: 1.1rem;
  line-height: 1;
}
.biology-content .definition-box strong:first-child {
  color: hsl(var(--primary));
  display: block;
  margin-bottom: 0.3rem;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ── Important box 🔑 ─────────────────────────────────────── */
.biology-content .important-box {
  margin: 1.25rem 0;
  padding: 1rem 1.25rem 1rem 3.25rem;
  background: linear-gradient(135deg, hsl(220 80% 96%), hsl(240 70% 97%));
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.75;
  border: 1px solid hsl(220 70% 80% / 0.4);
  border-left: 4px solid hsl(220 70% 60%);
  position: relative;
  box-shadow: 0 2px 10px hsl(220 70% 60% / 0.07);
}
.dark .biology-content .important-box {
  background: linear-gradient(135deg, hsl(220 40% 18%), hsl(240 35% 20%));
  border-color: hsl(220 60% 55% / 0.35);
  box-shadow: 0 2px 10px hsl(220 60% 55% / 0.12);
}
.biology-content .important-box::before {
  content: "🔑";
  position: absolute;
  left: 0.9rem;
  top: 0.95rem;
  font-size: 1.1rem;
  line-height: 1;
}

/* ── Tip box 💡 ───────────────────────────────────────────── */
.biology-content .tip-box {
  margin: 1.25rem 0;
  padding: 1rem 1.25rem 1rem 3.25rem;
  background: linear-gradient(135deg, hsl(45 90% 95%), hsl(36 85% 96%));
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.75;
  border: 1px solid hsl(45 80% 75% / 0.4);
  border-left: 4px solid hsl(38 85% 58%);
  position: relative;
  box-shadow: 0 2px 10px hsl(45 80% 55% / 0.07);
}
.dark .biology-content .tip-box {
  background: linear-gradient(135deg, hsl(45 45% 16%), hsl(36 40% 18%));
  border-color: hsl(45 60% 50% / 0.3);
  box-shadow: 0 2px 10px hsl(45 60% 50% / 0.1);
}
.biology-content .tip-box::before {
  content: "💡";
  position: absolute;
  left: 0.9rem;
  top: 0.95rem;
  font-size: 1.1rem;
  line-height: 1;
}

/* ── Example box ✅ ───────────────────────────────────────── */
.biology-content .example-box {
  margin: 1.25rem 0;
  padding: 1rem 1.25rem 1rem 3.25rem;
  background: linear-gradient(135deg, hsl(160 55% 94%), hsl(140 50% 95%));
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.75;
  border: 1px solid hsl(160 50% 70% / 0.35);
  border-left: 4px solid hsl(160 50% 45%);
  position: relative;
  box-shadow: 0 2px 10px hsl(160 50% 45% / 0.07);
}
.dark .biology-content .example-box {
  background: linear-gradient(135deg, hsl(160 30% 16%), hsl(140 25% 17%));
  border-color: hsl(160 40% 45% / 0.3);
  box-shadow: 0 2px 10px hsl(160 40% 45% / 0.1);
}
.biology-content .example-box::before {
  content: "✅";
  position: absolute;
  left: 0.9rem;
  top: 0.95rem;
  font-size: 1.1rem;
  line-height: 1;
}

/* ── Repetisjon box 📝 ────────────────────────────────────── */
.biology-content .repetisjon-box {
  margin: 1.75rem 0;
  padding: 1.1rem 1.25rem 1.1rem 3.25rem;
  background: linear-gradient(135deg, hsl(260 50% 96%), hsl(285 45% 97%));
  border-radius: 1rem;
  border: 1px solid hsl(var(--primary) / 0.18);
  position: relative;
  box-shadow: 0 2px 12px hsl(260 60% 55% / 0.06);
}
.dark .biology-content .repetisjon-box {
  background: linear-gradient(135deg, hsl(260 30% 17%), hsl(285 25% 18%));
  border-color: hsl(var(--primary) / 0.25);
  box-shadow: 0 2px 12px hsl(260 60% 65% / 0.1);
}
.biology-content .repetisjon-box::before {
  content: "📝";
  position: absolute;
  left: 0.9rem;
  top: 1.1rem;
  font-size: 1.1rem;
  line-height: 1;
}
.biology-content .repetisjon-box h3 {
  margin-top: 0;
  color: hsl(var(--primary));
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 800;
  margin-bottom: 0.65rem;
  border-left: none;
  padding-left: 0;
}
.biology-content .repetisjon-box strong {
  color: hsl(var(--primary));
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 0.5rem;
}
.biology-content .repetisjon-box ol,
.biology-content .repetisjon-box ul {
  margin-left: 1.25rem;
  margin-top: 0.4rem;
}

/* ── Oppgave box 📋 ───────────────────────────────────────── */
.biology-content .oppgave-box {
  margin: 1rem 0;
  padding: 1rem 1.25rem 1rem 3.25rem;
  background: linear-gradient(135deg, hsl(180 50% 96%), hsl(200 45% 97%));
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.75;
  border: 1px solid hsl(180 50% 72% / 0.35);
  border-left: 4px solid hsl(180 55% 42%);
  position: relative;
  box-shadow: 0 2px 8px hsl(180 55% 42% / 0.07);
  transition: box-shadow 0.2s;
}
.biology-content .oppgave-box:hover {
  box-shadow: 0 4px 16px hsl(180 55% 42% / 0.13);
}
.dark .biology-content .oppgave-box {
  background: linear-gradient(135deg, hsl(180 30% 16%), hsl(200 25% 17%));
  border-color: hsl(180 45% 45% / 0.3);
  box-shadow: 0 2px 8px hsl(180 45% 45% / 0.1);
}
.dark .biology-content .oppgave-box:hover {
  box-shadow: 0 4px 16px hsl(180 45% 45% / 0.18);
}
.biology-content .oppgave-box::before {
  content: "📋";
  position: absolute;
  left: 0.9rem;
  top: 0.95rem;
  font-size: 1.1rem;
  line-height: 1;
}
.biology-content .oppgave-box h3 {
  margin-top: 0;
  margin-bottom: 0.4rem;
  color: hsl(180 55% 35%);
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 800;
  border-left: none;
  padding-left: 0;
}
.dark .biology-content .oppgave-box h3 {
  color: hsl(180 60% 65%);
}

/* ── Exercise box 🧪 ──────────────────────────────────────── */
.biology-content .exercise-box {
  margin: 1rem 0;
  padding: 1rem 1.25rem 1rem 3.25rem;
  background: linear-gradient(135deg, hsl(140 45% 95%), hsl(160 40% 96%));
  border-radius: 1rem;
  font-size: 0.95rem;
  line-height: 1.75;
  border: 1px solid hsl(140 45% 68% / 0.35);
  border-left: 4px solid hsl(145 50% 42%);
  position: relative;
  box-shadow: 0 2px 8px hsl(145 50% 42% / 0.07);
  transition: box-shadow 0.2s;
}
.biology-content .exercise-box:hover {
  box-shadow: 0 4px 16px hsl(145 50% 42% / 0.13);
}
.dark .biology-content .exercise-box {
  background: linear-gradient(135deg, hsl(140 28% 15%), hsl(160 24% 16%));
  border-color: hsl(145 40% 42% / 0.3);
  box-shadow: 0 2px 8px hsl(145 40% 42% / 0.1);
}
.dark .biology-content .exercise-box:hover {
  box-shadow: 0 4px 16px hsl(145 40% 42% / 0.18);
}
.biology-content .exercise-box::before {
  content: "🧪";
  position: absolute;
  left: 0.9rem;
  top: 0.95rem;
  font-size: 1.1rem;
  line-height: 1;
}
.biology-content .exercise-box h3 {
  margin-top: 0;
  margin-bottom: 0.4rem;
  color: hsl(145 50% 32%);
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 800;
  border-left: none;
  padding-left: 0;
}
.dark .biology-content .exercise-box h3 {
  color: hsl(145 55% 62%);
}

/* ── SVG Figures ──────────────────────────────────────────── */
.biology-content figure.svg-figure {
  margin: 1.75rem 0;
  padding: 1.25rem 1rem 0.75rem;
  background: hsl(var(--card));
  border-radius: 1.1rem;
  border: 1px solid hsl(var(--border));
  text-align: center;
  box-shadow: 0 4px 20px hsl(260 60% 55% / 0.08);
  transition:
    box-shadow 0.25s,
    transform 0.25s;
  overflow: hidden;
}
.biology-content figure.svg-figure:hover {
  box-shadow: 0 8px 32px hsl(260 60% 55% / 0.14);
  transform: translateY(-2px);
}
.dark .biology-content figure.svg-figure {
  box-shadow: 0 4px 20px hsl(260 60% 65% / 0.12);
}
.dark .biology-content figure.svg-figure:hover {
  box-shadow: 0 8px 32px hsl(260 60% 65% / 0.2);
}
.biology-content figure.svg-figure svg {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.biology-content figure.svg-figure figcaption {
  margin-top: 0.75rem;
  font-size: 0.85rem;
  color: hsl(var(--muted-foreground));
  font-style: italic;
  line-height: 1.55;
  padding: 0.4rem 0.5rem 0;
  border-top: 1px solid hsl(var(--border) / 0.5);
}

/* ── Inline .diagram blocks (kjemi2 kap 6 m.fl.) ─────────────
   Generic upgrade for inline <div class="diagram">…<svg>…</svg></div>
   blocks that ship with hardcoded purple palette. Wraps them in the
   same glass card as figure.svg-figure, adds a light inner panel so
   the purple stays legible in dark mode, and forces Inter + responsive
   scaling on mobile. */
.biology-content .diagram,
.chemistry-content .diagram {
  margin: 1.75rem 0;
  padding: 1rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 1.1rem;
  box-shadow: 0 4px 20px hsl(260 60% 55% / 0.08);
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.biology-content .diagram:hover,
.chemistry-content .diagram:hover {
  box-shadow: 0 8px 32px hsl(260 60% 55% / 0.14);
  transform: translateY(-2px);
}
.dark .biology-content .diagram,
.dark .chemistry-content .diagram {
  /* Lyst innvendig panel slik at hardkodet lilla/mørk tekst i SVG
     fortsatt har god kontrast i dark mode. */
  background: hsl(260 30% 97%);
  border-color: hsl(260 25% 80%);
  box-shadow: 0 4px 20px hsl(260 60% 25% / 0.35);
}
.biology-content .diagram svg,
.chemistry-content .diagram svg {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  min-width: 600px; /* Prevents SVG from shrinking so small that text becomes unreadable; container has overflow-x: auto */
  height: auto;
  font-family:
    "Inter",
    ui-sans-serif,
    system-ui,
    -apple-system,
    sans-serif;
}
/* Tving Inter på all SVG-tekst inne i diagrammene, uavhengig av
   inline \3c style> som setter font: bold 14px sans-serif. */
.biology-content .diagram svg text,
.chemistry-content .diagram svg text {
  font-family:
    "Inter",
    ui-sans-serif,
    system-ui,
    -apple-system,
    sans-serif !important;
  font-feature-settings: "ss01", "cv11";
}
/* Litt skarpere strek-rendering */
.biology-content .diagram svg,
.chemistry-content .diagram svg {
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
}
/* Caption rett under .diagram (em + small brukes ofte i markdown) */
.biology-content .diagram + p em,
.chemistry-content .diagram + p em {
  display: block;
  margin-top: -0.5rem;
  font-size: 0.85rem;
  color: hsl(var(--muted-foreground));
  text-align: center;
}
/* Mobil: gi luft og litt mindre padding; tillat SVG å skalere ned til
   kontainerens bredde slik at tekst ikke klipper utenfor på smale skjermer. */
@media (max-width: 640px) {
  .biology-content .diagram,
  .chemistry-content .diagram {
    padding: 0.6rem;
    border-radius: 0.85rem;
    margin: 1.25rem -0.25rem;
  }
  .biology-content .diagram svg,
  .chemistry-content .diagram svg {
    /* Allow diagrams to scale below 600 px on narrow phones while
       still scrolling horizontally only when truly needed. */
    min-width: min(100%, 600px);
    width: 100%;
  }
}

/* ── Answer toggle ────────────────────────────────────────── */
.biology-content details.answer-toggle {
  margin: 0.9rem 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid hsl(var(--primary) / 0.15);
}
.biology-content details.answer-toggle summary {
  cursor: pointer;
  padding: 0.75rem 1.1rem;
  background: hsl(var(--primary) / 0.08);
  color: hsl(var(--primary));
  font-weight: 700;
  font-size: 0.9rem;
  border-radius: 1rem;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background 0.2s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.biology-content details.answer-toggle summary:hover {
  background: hsl(var(--primary) / 0.14);
}
.biology-content details[open].answer-toggle summary {
  border-radius: 1rem 1rem 0 0;
}
.biology-content details.answer-toggle summary::before {
  content: "▶";
  font-size: 0.65rem;
  transition: transform 0.22s ease;
  flex-shrink: 0;
}
.biology-content details[open].answer-toggle summary::before {
  transform: rotate(90deg);
}
.biology-content details.answer-toggle .answer-content {
  padding: 0.9rem 1.1rem;
  background: hsl(var(--pastel-purple));
  border-radius: 0 0 1rem 1rem;
  font-size: 0.95rem;
  line-height: 1.8;
}
.dark .biology-content details.answer-toggle .answer-content {
  background: hsl(260 28% 17%);
}

/* Chemistry formula fraction display */
.chem-formula {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: middle;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.3;
}
.chem-formula .chem-num {
  border-bottom: 2px solid hsl(var(--foreground));
  padding: 0 0.5rem 0.15rem;
  white-space: nowrap;
}
.chem-formula .chem-den {
  padding: 0.15rem 0.5rem 0;
  white-space: nowrap;
}
.chem-formula-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 1rem 0;
  font-size: 1.15rem;
  font-weight: 700;
}
.chem-formula-block .chem-label {
  font-size: 1.15rem;
  white-space: nowrap;
}

/* Exercise card styling */

/* Override colorful boxes inside exercises to use neutral/primary styling */
.chemistry-exercises .example-box {
  background: hsl(var(--muted) / 0.5) !important;
  border-left-color: hsl(var(--primary)) !important;
  border-color: hsl(var(--border)) !important;
  box-shadow: none !important;
}
.dark .chemistry-exercises .example-box {
  background: hsl(var(--muted) / 0.3) !important;
}
.chemistry-exercises .important-box {
  background: hsl(var(--muted) / 0.5) !important;
  border-left-color: hsl(var(--primary)) !important;
  border-color: hsl(var(--border)) !important;
  box-shadow: none !important;
}
.dark .chemistry-exercises .important-box {
  background: hsl(var(--muted) / 0.3) !important;
}

.chemistry-exercises .exercises-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: linear-gradient(135deg, hsl(262 83% 58%), hsl(262 83% 45%));
  color: white;
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  margin-bottom: 2rem;
}

.chemistry-exercises .exercises-header h2 {
  color: white !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.25rem !important;
}
.chemistry-exercises .exercises-header h2::before,
.chemistry-exercises .exercises-header h2::after {
  display: none !important;
}
.chemistry-exercises .exercises-header p {
  color: rgba(255, 255, 255, 0.8);
  margin: 0.15rem 0 0 !important;
  font-size: 0.85rem;
  font-style: italic;
}
.chemistry-exercises .exercises-header svg {
  color: white;
  flex-shrink: 0;
}

/* Each exercise card: h2 (header) → p/ol/ul (body) → details (footer) */
.chemistry-exercises > div > h2 {
  background: hsl(var(--card)) !important;
  border: 1.5px solid hsl(var(--border)) !important;
  border-bottom: none !important;
  border-left: 4px solid hsl(var(--primary)) !important;
  border-radius: 1rem 1rem 0 0 !important;
  padding: 1.1rem 1.5rem 1rem !important;
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: hsl(var(--foreground));
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px hsl(var(--border) / 0.3);
  letter-spacing: -0.005em;
}
.dark .chemistry-exercises > div > h2 {
  background: hsl(var(--card)) !important;
}
.chemistry-exercises > div > h2:first-child {
  margin-top: 0 !important;
}
.chemistry-exercises > div > h2::before {
  display: none !important;
}
.chemistry-exercises > div > h2::after {
  display: none !important;
}

/* Question lists (ol type="a", "1") in body — align markers with prose */
.chemistry-exercises > div:not(.exercises-header) > ol {
  padding-left: 2.75rem !important;
  padding-right: 1.5rem !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.75rem !important;
  list-style-position: outside;
}
.chemistry-exercises > div:not(.exercises-header) > ul {
  padding-left: 2.75rem !important;
  padding-right: 1.5rem !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.75rem !important;
}
.chemistry-exercises > div:not(.exercises-header) > ol > li {
  padding: 0.45rem 0;
  font-size: 0.97rem;
  line-height: 1.7;
  color: hsl(var(--foreground) / 0.9);
}
.chemistry-exercises > div:not(.exercises-header) > ol > li::marker {
  color: hsl(var(--primary));
  font-weight: 700;
}
.dark .chemistry-exercises > div:not(.exercises-header) > ol > li::marker {
  color: hsl(var(--primary));
}

/* Solution list inside details — use primary markers */
.chemistry-exercises > div > details > ol > li::marker,
.chemistry-exercises > div > details > div > ol > li::marker {
  color: hsl(var(--primary));
  font-weight: 700;
}
.dark .chemistry-exercises > div > details > ol > li::marker,
.dark .chemistry-exercises > div > details > div > ol > li::marker {
  color: hsl(var(--primary));
}
.chemistry-exercises > div > details > ol > li,
.chemistry-exercises > div > details > div > ol > li {
  padding: 0.4rem 0;
  line-height: 1.7;
}

/* ── Engelsk-eksamen: gjør den nye .ifingo-exam-stilen lik husstilen ──
   Scopet KUN til .ifingo-exam (finnes bare i engelsk-eksamen-innhold), så
   andre fag (kjemi osv.) påvirkes ikke. Bytter inline-fargene mot temaets
   CSS-variabler → samme uttrykk som resten + korrekt i mørk modus.
   Endrer kun utseende, ikke innhold. */
.chemistry-exercises .ifingo-exam > div {
  background: hsl(var(--card)) !important;
  border: 1.5px solid hsl(var(--border)) !important;
  border-radius: 12px !important;
  color: hsl(var(--foreground)) !important;
}
.chemistry-exercises .ifingo-exam > p {
  color: hsl(var(--muted-foreground)) !important;
}
.chemistry-exercises .ifingo-exam > div > div:first-child {
  color: hsl(var(--primary)) !important;
}
.chemistry-exercises .ifingo-exam p,
.chemistry-exercises .ifingo-exam li,
.chemistry-exercises .ifingo-exam details > div {
  color: hsl(var(--foreground)) !important;
}
.chemistry-exercises .ifingo-exam summary {
  color: hsl(var(--primary)) !important;
}
.chemistry-exercises .ifingo-exam > div[style*="border-left"] {
  border-left: 3px solid hsl(var(--primary)) !important;
}

/* Body elements between h2 and details – exclude exercises-header children */
.chemistry-exercises > div:not(.exercises-header) > p,
.chemistry-exercises > div:not(.exercises-header) > ol,
.chemistry-exercises > div:not(.exercises-header) > ul,
.chemistry-exercises > div:not(.exercises-header) > table,
.chemistry-exercises > div:not(.exercises-header) > blockquote,
.chemistry-exercises > div:not(.exercises-header) > div:not(.exercises-header),
.chemistry-exercises > div:not(.exercises-header) > img,
.chemistry-exercises > div:not(.exercises-header) > svg,
.chemistry-exercises > div:not(.exercises-header) > figure {
  background: hsl(var(--card));
  border-right: 1.5px solid hsl(var(--border));
  border-left: 1.5px solid hsl(var(--border));
  padding: 0.5rem 1.5rem;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative;
}
.chemistry-exercises > div:not(.exercises-header) > table {
  border-radius: 0 !important;
  border-top: none !important;
  border-bottom: none !important;
}
.chemistry-exercises > div:not(.exercises-header) > p::before,
.chemistry-exercises > div:not(.exercises-header) > ol::before,
.chemistry-exercises > div:not(.exercises-header) > ul::before,
.chemistry-exercises > div:not(.exercises-header) > blockquote::before,
.chemistry-exercises > div:not(.exercises-header) > div:not(.exercises-header)::before {
  display: none !important;
}

/* Spørsmål label */
.chemistry-exercises > div > p > strong:first-child {
  color: hsl(var(--primary-light));
}

/* Details (answer toggle) at card bottom */
.chemistry-exercises > div > details {
  background: hsl(var(--card));
  border: 1.5px solid hsl(var(--border));
  border-top: none;
  border-radius: 0 0 1rem 1rem;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  overflow: hidden;
  position: relative;
  box-shadow: 0 2px 6px hsl(var(--border) / 0.2);
}
.chemistry-exercises > div > details::before {
  display: none !important;
}

.chemistry-exercises > div > details summary {
  padding: 0.85rem 1.5rem;
  cursor: pointer;
  font-weight: 600;
  color: hsl(262 83% 58%);
  font-size: 0.9rem;
  border-top: 1px dashed hsl(var(--border));
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.chemistry-exercises > div > details summary::marker,
.chemistry-exercises > div > details summary::-webkit-details-marker {
  display: none;
}
.chemistry-exercises > div > details summary::before {
  content: "▶";
  font-size: 0.65rem;
  transition: transform 0.2s;
  display: inline-block;
}
.chemistry-exercises > div > details[open] summary::before {
  transform: rotate(90deg);
}
.chemistry-exercises > div > details summary:hover {
  background: hsl(262 83% 58% / 0.06);
}
.chemistry-exercises > div > details[open] summary {
  background: hsl(262 83% 58% / 0.05);
  border-bottom: 1px solid hsl(var(--border));
}

/* Answer content inside details */
.chemistry-exercises > div > details > ol,
.chemistry-exercises > div > details > ul,
.chemistry-exercises > div > details > p,
.chemistry-exercises > div > details > div {
  padding: 1.25rem 1.5rem;
  background: hsl(var(--muted) / 0.4);
  border: none;
  box-shadow: none;
}
.chemistry-exercises > div > details > div > * {
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}
.chemistry-exercises > div > details > div > *::before,
.chemistry-exercises > div > details > div > *::after {
  display: none !important;
}
.chemistry-exercises > div > details > div h3 {
  color: hsl(var(--primary));
  font-size: 1rem;
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  padding: 0;
}
.chemistry-exercises > div > details > div h3:first-child {
  margin-top: 0;
}
.chemistry-exercises > div > details > div p {
  margin: 0.4rem 0;
  padding: 0;
}
.chemistry-exercises > div > details > div p strong {
  color: hsl(var(--primary));
}

/* === Kjemi oppgavekort (ekte <section> wrapper, robust) === */
.chemistry-exercises .kjemi-oppgave-card {
  background: hsl(var(--card));
  border: 1.5px solid hsl(var(--border));
  border-left: 4px solid hsl(var(--primary));
  border-radius: 1rem;
  margin: 0 0 1.5rem 0;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 2px 6px hsl(var(--border) / 0.2);
}
.chemistry-exercises .kjemi-oppgave-card > h2 {
  font-size: 1.1rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  margin: 0 !important;
  padding: 1.1rem 1.5rem 0.5rem !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  letter-spacing: -0.005em;
}
.chemistry-exercises .kjemi-oppgave-card > h2::before,
.chemistry-exercises .kjemi-oppgave-card > h2::after {
  display: none !important;
}
.chemistry-exercises .kjemi-oppgave-card > p,
.chemistry-exercises .kjemi-oppgave-card > ol,
.chemistry-exercises .kjemi-oppgave-card > ul,
.chemistry-exercises .kjemi-oppgave-card > blockquote {
  margin: 0 !important;
  padding: 0.4rem 1.5rem !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.chemistry-exercises .kjemi-oppgave-card > ol,
.chemistry-exercises .kjemi-oppgave-card > ul {
  padding-left: 2.75rem !important;
  padding-right: 1.5rem !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.75rem !important;
}
.chemistry-exercises .kjemi-oppgave-card > p > strong:first-child {
  color: hsl(var(--primary-light));
}
.chemistry-exercises .kjemi-oppgave-card > p:last-child,
.chemistry-exercises .kjemi-oppgave-card > ol:last-child,
.chemistry-exercises .kjemi-oppgave-card > ul:last-child {
  padding-bottom: 1.1rem !important;
}
/* Vis svar (details) inni kortet */
.chemistry-exercises .kjemi-oppgave-card > details {
  margin: 0 !important;
  padding: 0 !important;
  background: hsl(var(--muted) / 0.35) !important;
  border: none !important;
  border-top: 1px dashed hsl(var(--border)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
}
.chemistry-exercises .kjemi-oppgave-card > details::before {
  display: none !important;
}
.chemistry-exercises .kjemi-oppgave-card > details > summary {
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  font-weight: 600;
  color: hsl(262 83% 58%);
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  list-style: none;
}
.chemistry-exercises .kjemi-oppgave-card > details > summary::marker,
.chemistry-exercises .kjemi-oppgave-card > details > summary::-webkit-details-marker {
  display: none;
}
.chemistry-exercises .kjemi-oppgave-card > details > summary::before {
  content: "▶";
  font-size: 0.65rem;
  transition: transform 0.2s;
  display: inline-block;
}
.chemistry-exercises .kjemi-oppgave-card > details[open] > summary::before {
  transform: rotate(90deg);
}
.chemistry-exercises .kjemi-oppgave-card > details[open] > summary {
  border-bottom: 1px solid hsl(var(--border));
}
.chemistry-exercises .kjemi-oppgave-card > details > * + * {
  padding: 1rem 1.5rem !important;
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
}
/* ifingo Lærer-knapp som siste element i kortet */
.chemistry-exercises .kjemi-oppgave-card > .ifingo-larer-mount {
  margin: 0 !important;
  padding: 0.6rem 1rem 0.8rem !important;
  background: hsl(var(--muted) / 0.35);
  border-top: 1px dashed hsl(var(--border));
}
.dark .chemistry-exercises .kjemi-oppgave-card > details,
.dark .chemistry-exercises .kjemi-oppgave-card > .ifingo-larer-mount {
  background: hsl(var(--muted) / 0.25);
}
.dark .chemistry-exercises > div > details > ol,
.dark .chemistry-exercises > div > details > ul,
.dark .chemistry-exercises > div > details > p,
.dark .chemistry-exercises > div > details > div {
  background: hsl(var(--muted) / 0.3);
}
.dark .chemistry-exercises > div > details > div h3 {
  color: hsl(var(--primary));
}
.dark .chemistry-exercises > div > details > div p strong {
  color: hsl(var(--primary));
}

/* ── ex-card format (structured exercise cards) ── */
.chemistry-exercises .ex-card {
  margin-bottom: 0;
}
.chemistry-exercises .ex-card .ex-head {
  background: hsl(var(--card)) !important;
  border: 1.5px solid hsl(var(--border)) !important;
  border-radius: 1rem 1rem 0 0 !important;
  padding: 1rem 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
  box-shadow: 0 1px 3px hsl(var(--border) / 0.3);
}
.chemistry-exercises .ex-card:first-child .ex-head,
.chemistry-exercises .exercises-header + .ex-card .ex-head {
  margin-top: 0 !important;
}
.chemistry-exercises .ex-card .ex-num {
  font-weight: 800;
  font-size: 1rem;
  color: hsl(var(--foreground));
  white-space: nowrap;
}
.chemistry-exercises .ex-card .ex-num::after {
  content: "";
}
.chemistry-exercises .ex-card .ex-tag {
  font-size: 0.8rem;
  font-weight: 600;
  color: hsl(var(--primary-light));
  background: hsl(var(--primary-light) / 0.1);
  padding: 0.2rem 0.75rem;
  border-radius: 9999px;
  white-space: nowrap;
}
.chemistry-exercises .ex-card h3 {
  background: hsl(var(--card));
  border-right: 1.5px solid hsl(var(--border));
  border-left: 1.5px solid hsl(var(--border));
  padding: 0.5rem 1.5rem 0;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}
.chemistry-exercises .ex-card .q-text {
  background: hsl(var(--card));
  border-right: 1.5px solid hsl(var(--border));
  border-left: 1.5px solid hsl(var(--border));
  padding: 0.5rem 1.5rem 0.75rem;
}
.chemistry-exercises .ex-card .q-text p {
  margin: 0.4rem 0;
  font-size: 0.9375rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.85);
}
.chemistry-exercises .ex-card > details {
  background: hsl(var(--card));
  border: 1.5px solid hsl(var(--border));
  border-top: none;
  border-radius: 0 0 1rem 1rem;
  margin-bottom: 0;
  overflow: hidden;
  box-shadow: 0 2px 6px hsl(var(--border) / 0.2);
}
.chemistry-exercises .ex-card > details summary {
  padding: 0.85rem 1.5rem;
  cursor: pointer;
  font-weight: 600;
  color: hsl(262 83% 58%);
  font-size: 0.9rem;
  border-top: 1px dashed hsl(var(--border));
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  list-style: none;
}
.chemistry-exercises .ex-card > details summary::marker,
.chemistry-exercises .ex-card > details summary::-webkit-details-marker {
  display: none;
}
.chemistry-exercises .ex-card > details summary::before {
  content: "▶";
  font-size: 0.65rem;
  transition: transform 0.2s;
  display: inline-block;
}
.chemistry-exercises .ex-card > details[open] summary::before {
  transform: rotate(90deg);
}
.chemistry-exercises .ex-card > details summary:hover {
  background: hsl(262 83% 58% / 0.06);
}
.chemistry-exercises .ex-card > details[open] summary {
  background: hsl(262 83% 58% / 0.05);
  border-bottom: 1px solid hsl(var(--border));
}
.chemistry-exercises .ex-card > details .solution {
  padding: 1.25rem 1.5rem;
  background: hsl(var(--muted) / 0.4);
}
.chemistry-exercises .ex-card > details .solution p {
  margin: 0.4rem 0;
  font-size: 0.9375rem;
  line-height: 1.8;
}
.chemistry-exercises .ex-card > details .solution .correct {
  color: hsl(var(--primary));
  font-weight: 600;
}
.chemistry-exercises .ex-card > details .solution table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.5rem 0;
  font-size: 0.875rem;
}
.chemistry-exercises .ex-card > details .solution th,
.chemistry-exercises .ex-card > details .solution td {
  padding: 0.4rem 0.75rem;
  border: 1px solid hsl(var(--border));
  text-align: left;
}
.chemistry-exercises .ex-card > details .solution th {
  background: hsl(var(--muted));
  font-weight: 600;
}
.dark .chemistry-exercises .ex-card > details .solution {
  background: hsl(var(--muted) / 0.3);
}
.dark .chemistry-exercises .ex-card .ex-tag {
  background: hsl(262 83% 58% / 0.15);
  color: hsl(262 80% 75%);
}

/* ─────────────────────────────────────────────
   EKSAMEN – Kjemi 2 (.exam-section / .exam-q-card)
   ───────────────────────────────────────────── */
.chemistry-exercises .exam-section {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1rem;
}
.chemistry-exercises .exam-q-card {
  background: hsl(var(--card));
  border: 1.5px solid hsl(var(--border));
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 4px 16px -8px hsl(var(--foreground) / 0.12);
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.chemistry-exercises .exam-q-card:hover {
  box-shadow: 0 10px 28px -12px hsl(var(--primary) / 0.25);
  transform: translateY(-2px);
}
.chemistry-exercises .exam-q-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.85rem 1.5rem;
  background: hsl(var(--muted) / 0.5);
  border-bottom: 1px solid hsl(var(--border));
}
.dark .chemistry-exercises .exam-q-head {
  background: hsl(var(--muted) / 0.3);
}
.chemistry-exercises .exam-q-num {
  font-weight: 800;
  font-size: 0.95rem;
  color: hsl(var(--primary));
  letter-spacing: 0.01em;
}
.dark .chemistry-exercises .exam-q-num {
  color: hsl(var(--primary));
}
.chemistry-exercises .exam-q-tag {
  display: inline-block;
  background: hsl(262 83% 58% / 0.12);
  color: hsl(262 70% 45%);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dark .chemistry-exercises .exam-q-tag {
  background: hsl(262 83% 58% / 0.18);
  color: hsl(262 80% 78%);
}
.chemistry-exercises .exam-q-card h3 {
  margin: 0;
  padding: 1rem 1.5rem 0.25rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  line-height: 1.4;
}
.chemistry-exercises .exam-q-card .q-text {
  padding: 0.25rem 1.5rem 0.85rem;
  overflow-wrap: break-word;
  word-break: normal;
}
.chemistry-exercises .exam-q-card .q-text p {
  margin: 0.5rem 0;
  font-size: 0.97rem;
  line-height: 1.75;
  color: hsl(var(--foreground) / 0.88);
  overflow-wrap: break-word;
}
.chemistry-exercises .exam-q-card .q-text .exam-udir-figure {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  margin: 12px 0;
  -o-object-fit: contain;
     object-fit: contain;
  background: hsl(var(--muted) / 0.15);
}
.chemistry-exercises .exam-q-card .q-options {
  list-style: none;
  margin: 0;
  padding: 0 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.chemistry-exercises .exam-q-card .q-options li {
  position: relative;
  padding: 0.7rem 0.9rem 0.7rem 2.6rem;
  background: hsl(var(--muted) / 0.5);
  border: 1px solid hsl(var(--border));
  border-radius: 0.65rem;
  font-size: 0.93rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.9);
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.chemistry-exercises .exam-q-card .q-options li:hover {
  background: hsl(var(--muted));
  border-color: hsl(var(--primary) / 0.35);
}
.chemistry-exercises .exam-q-card .q-options li strong {
  position: absolute;
  left: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--primary));
  color: hsl(0 0% 100%);
  border-radius: 50%;
  font-size: 0.78rem;
  font-weight: 800;
}
.chemistry-exercises .exam-q-card > details {
  border-top: 1px dashed hsl(var(--border));
  background: hsl(var(--muted) / 0.25);
}
.chemistry-exercises .exam-q-card > details summary {
  list-style: none;
  cursor: pointer;
  padding: 0.85rem 1.5rem;
  font-weight: 600;
  color: hsl(262 83% 58%);
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background 0.15s ease;
}
.chemistry-exercises .exam-q-card > details summary:hover {
  background: hsl(var(--muted) / 0.5);
}
.chemistry-exercises .exam-q-card > details summary::marker,
.chemistry-exercises .exam-q-card > details summary::-webkit-details-marker {
  display: none;
}
.chemistry-exercises .exam-q-card > details summary::before {
  content: "▶";
  font-size: 0.65rem;
  transition: transform 0.2s ease;
  display: inline-block;
}
.chemistry-exercises .exam-q-card > details[open] summary::before {
  transform: rotate(90deg);
}
.chemistry-exercises .exam-q-card > details .solution {
  padding: 0.25rem 1.5rem 1.25rem;
  background: hsl(142 50% 96%);
  border-top: 1px solid hsl(var(--border));
  font-size: 0.93rem;
  line-height: 1.7;
  color: hsl(var(--foreground) / 0.9);
  overflow-wrap: break-word;
}
.dark .chemistry-exercises .exam-q-card > details .solution {
  background: hsl(142 25% 12%);
}
.chemistry-exercises .exam-q-card > details .solution p {
  margin: 0.5rem 0;
  overflow-wrap: break-word;
}
.chemistry-exercises .exam-q-card .q-text table,
.chemistry-exercises .exam-q-card > details .solution table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.chemistry-muntlig p,
.chemistry-muntlig li {
  overflow-wrap: break-word;
}
.chemistry-muntlig table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.chemistry-exercises .exam-q-card > details .solution .correct {
  display: inline-block;
  background: hsl(142 70% 40%);
  color: hsl(0 0% 100%);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
}

/* ─────────────────────────────────────────────
   EKSAMEN – .exam-q card (UDIR question format)
   ───────────────────────────────────────────── */
.chemistry-exercises .exam-q {
  background: hsl(var(--card));
  border: 1.5px solid hsl(var(--border));
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 4px 16px -8px hsl(var(--foreground) / 0.12);
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
  margin-bottom: 1.25rem;
}
.chemistry-exercises .exam-q:hover {
  box-shadow: 0 10px 28px -12px hsl(25 95% 55% / 0.22);
  transform: translateY(-2px);
}
/* year badge fallback (supplement to inline style) */
.chemistry-exercises .exam-q-year {
  display: inline-flex;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 600;
  color: hsl(25 85% 45%);
  background: hsl(25 95% 55% / 0.1);
  padding: 0.15rem 0.6rem;
  border-radius: 9999px;
  margin-left: auto;
}
.dark .chemistry-exercises .exam-q-year {
  color: hsl(25 80% 70%);
  background: hsl(25 60% 30% / 0.25);
}
.chemistry-exercises .exam-q > p,
.chemistry-exercises .exam-q > p + p {
  padding: 0.9rem 1.5rem 0;
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.88);
}
.chemistry-exercises .exam-q > p:last-of-type {
  padding-bottom: 1rem;
}
.chemistry-exercises .exam-q > p > code,
.chemistry-exercises .exam-q > details .solution code {
  background: hsl(var(--muted));
  border: 1px solid hsl(var(--border));
  border-radius: 0.35rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.88em;
  font-family: ui-monospace, SFMono-Regular, monospace;
  color: hsl(262 70% 48%);
  white-space: nowrap;
}
.dark .chemistry-exercises .exam-q > p > code,
.dark .chemistry-exercises .exam-q > details .solution code {
  background: hsl(262 30% 16%);
  color: hsl(262 80% 78%);
  border-color: hsl(262 40% 28%);
}
/* details toggle */
.chemistry-exercises .exam-q > details {
  border-top: 1px dashed hsl(var(--border));
  background: hsl(var(--muted) / 0.22);
}
.chemistry-exercises .exam-q > details summary {
  list-style: none;
  cursor: pointer;
  padding: 0.8rem 1.5rem;
  font-weight: 600;
  font-size: 0.88rem;
  color: hsl(25 85% 42%);
  display: flex;
  align-items: center;
  gap: 0.45rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.chemistry-exercises .exam-q > details summary:hover {
  background: hsl(25 95% 55% / 0.06);
  color: hsl(25 95% 36%);
}
.chemistry-exercises .exam-q > details summary::marker,
.chemistry-exercises .exam-q > details summary::-webkit-details-marker {
  display: none;
}
.chemistry-exercises .exam-q > details summary::before {
  content: "▶";
  font-size: 0.6rem;
  transition: transform 0.2s ease;
  display: inline-block;
  opacity: 0.7;
}
.chemistry-exercises .exam-q > details[open] summary::before {
  transform: rotate(90deg);
}
/* solution panel */
.chemistry-exercises .exam-q > details .solution {
  padding: 1.25rem 1.5rem 1.5rem;
  background: linear-gradient(160deg, hsl(25 95% 55% / 0.05), hsl(45 90% 55% / 0.03));
  border-top: 1px solid hsl(25 95% 55% / 0.2);
  font-size: 0.93rem;
  line-height: 1.75;
  color: hsl(var(--foreground) / 0.9);
}
.dark .chemistry-exercises .exam-q > details .solution {
  background: linear-gradient(160deg, hsl(25 40% 12%), hsl(35 30% 10%));
}
.chemistry-exercises .exam-q > details .solution p {
  margin: 0.55rem 0;
}
.chemistry-exercises .exam-q > details .solution p:first-child {
  margin-top: 0;
}
.chemistry-exercises .exam-q > details .solution p strong {
  color: hsl(25 85% 38%);
}
.dark .chemistry-exercises .exam-q > details .solution p strong {
  color: hsl(25 85% 70%);
}
.chemistry-exercises .exam-q > details .solution ul,
.chemistry-exercises .exam-q > details .solution ol {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
  line-height: 1.7;
}
.chemistry-exercises .exam-q > details .solution li {
  margin-bottom: 0.3rem;
}

/* ── exam-q: multiple-choice q-options (mirrors exam-q-card) ── */
.chemistry-exercises .exam-q .q-options {
  list-style: none;
  margin: 0;
  padding: 0 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.chemistry-exercises .exam-q .q-options li {
  position: relative;
  padding: 0.7rem 0.9rem 0.7rem 2.6rem;
  background: hsl(var(--muted) / 0.5);
  border: 1px solid hsl(var(--border));
  border-radius: 0.65rem;
  font-size: 0.93rem;
  line-height: 1.55;
  color: hsl(var(--foreground) / 0.9);
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.chemistry-exercises .exam-q .q-options li:hover {
  background: hsl(var(--muted));
  border-color: hsl(262 83% 58% / 0.35);
}
.chemistry-exercises .exam-q .q-options li strong {
  position: absolute;
  left: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--primary-light));
  color: hsl(0 0% 100%);
  border-radius: 50%;
  font-size: 0.78rem;
  font-weight: 800;
}
/* exam-q summary in purple theme */
.chemistry-exercises .exam-q > details summary {
  color: hsl(262 83% 52%);
}
.dark .chemistry-exercises .exam-q > details summary {
  color: hsl(262 80% 72%);
}
.chemistry-exercises .exam-q > details summary:hover {
  background: hsl(262 83% 58% / 0.06);
  color: hsl(262 83% 40%);
}
/* exam-q solution panel in purple theme */
.chemistry-exercises .exam-q > details .solution {
  background: linear-gradient(160deg, hsl(262 83% 58% / 0.05), hsl(280 70% 55% / 0.03));
  border-top: 1px solid hsl(262 83% 58% / 0.2);
}
.dark .chemistry-exercises .exam-q > details .solution {
  background: linear-gradient(160deg, hsl(262 30% 12%), hsl(270 25% 10%));
}
.chemistry-exercises .exam-q > details .solution p strong {
  color: hsl(262 70% 40%);
}
.dark .chemistry-exercises .exam-q > details .solution p strong {
  color: hsl(262 80% 72%);
}
/* correct answer badge (green) */
.chemistry-exercises .exam-q > details .solution .correct {
  display: inline-block;
  background: hsl(142 70% 40%);
  color: hsl(0 0% 100%);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
}

/* ── aktiviteter-section spacing ── */
.chemistry-exercises .aktiviteter-section {
  margin-top: 3rem;
  padding-top: 1rem;
  clear: both;
}
.chemistry-exercises .aktiviteter-section > h2 {
  margin-bottom: 0.5rem !important;
}

/* ── exercise-card format (alternative structured cards) ── */
.chemistry-exercises .exercise-card,
.chemistry-content .exercise-card {
  margin-top: 2rem !important;
  background: hsl(var(--card)) !important;
  border: 1.5px solid hsl(var(--border)) !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px hsl(var(--border) / 0.2) !important;
  padding: 0 !important;
}
.exercise-card .exercise-number {
  display: block !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: hsl(var(--foreground)) !important;
  padding: 1rem 1.5rem 0 !important;
}
.exercise-card h3 {
  padding: 0.25rem 1.5rem 0 !important;
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: hsl(262 83% 58%) !important;
  background: none !important;
  border: none !important;
}
.exercise-card > p,
.exercise-card > ol,
.exercise-card > ul {
  padding: 0.5rem 1.5rem !important;
  margin: 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.8 !important;
  color: hsl(var(--foreground) / 0.85) !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.exercise-card > details {
  border-top: 1px dashed hsl(var(--border)) !important;
  margin: 0 !important;
}
.exercise-card > details summary {
  padding: 0.85rem 1.5rem !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  color: hsl(262 83% 58%) !important;
  font-size: 0.9rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
  list-style: none !important;
  transition: all 0.2s !important;
}
.exercise-card > details summary::marker,
.exercise-card > details summary::-webkit-details-marker {
  display: none !important;
}
.exercise-card > details summary::before {
  content: "▶" !important;
  font-size: 0.65rem !important;
  transition: transform 0.2s !important;
  display: inline-block !important;
}
.exercise-card > details[open] summary::before {
  transform: rotate(90deg) !important;
}
.exercise-card > details summary:hover {
  background: hsl(262 83% 58% / 0.06) !important;
}
.exercise-card > details[open] summary {
  background: hsl(262 83% 58% / 0.05) !important;
  border-bottom: 1px solid hsl(var(--border)) !important;
}
.exercise-card > details .solution-steps {
  padding: 1.25rem 1.5rem !important;
  background: hsl(142 40% 97%) !important;
}
.exercise-card > details .solution-steps p {
  margin: 0.4rem 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.8 !important;
}
.dark .exercise-card > details .solution-steps {
  background: hsl(142 20% 14%) !important;
}

/* ====================================================
   S1 (Matematikk) chapter design system
   Blå/lilla tema som matcher S1-fargene
==================================================== */
.s1-content {
  font-family: "Inter", sans-serif;
  color: hsl(var(--foreground));
  line-height: 1.75;
  font-size: 1.0625rem;
}
.s1-content h2 {
  font-size: 1.75rem;
  font-weight: 800;
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid hsl(217 91% 60% / 0.25);
  color: hsl(217 91% 35%);
}
.dark .s1-content h2 {
  color: hsl(217 91% 75%);
}
.s1-content h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 1.75rem 0 0.75rem;
  color: hsl(262 83% 50%);
}
.dark .s1-content h3 {
  color: hsl(262 83% 78%);
}
.s1-content p {
  margin: 0.85rem 0;
}
.s1-content ul,
.s1-content ol {
  margin: 0.85rem 0 0.85rem 1.25rem;
}
.s1-content li {
  margin: 0.3rem 0;
}
.s1-content strong {
  color: hsl(217 91% 40%);
  font-weight: 700;
}
.dark .s1-content strong {
  color: hsl(217 91% 78%);
}

/* Chapter intro */
.s1-content .chapter-intro {
  background: linear-gradient(135deg, hsl(217 91% 96%), hsl(262 83% 96%));
  border: 1px solid hsl(217 91% 85%);
  border-radius: 1.25rem;
  padding: 1.5rem 1.75rem;
  margin: 0 0 2rem;
}
.dark .s1-content .chapter-intro {
  background: linear-gradient(135deg, hsl(217 50% 14%), hsl(262 50% 14%));
  border-color: hsl(217 50% 28%);
}
.s1-content .chapter-intro .lead {
  font-size: 1.075rem;
  margin: 0 0 1.25rem;
  line-height: 1.7;
}

/* Topic grid */
.s1-content .topic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}
.s1-content .topic-card {
  background: hsl(var(--background));
  border: 1px solid hsl(217 91% 85%);
  border-radius: 0.875rem;
  padding: 0.85rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}
.s1-content .topic-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px -8px hsl(217 91% 60% / 0.3);
}
.dark .s1-content .topic-card {
  border-color: hsl(217 50% 28%);
}
.s1-content .topic-num {
  font-size: 0.75rem;
  font-weight: 800;
  color: hsl(217 91% 55%);
  letter-spacing: 0.05em;
}
.s1-content .topic-card h3 {
  font-size: 0.95rem;
  margin: 0;
  color: hsl(var(--foreground));
}
.s1-content .topic-card p {
  font-size: 0.8rem;
  margin: 0;
  color: hsl(var(--muted-foreground));
  line-height: 1.5;
}

/* Theory box (yellow) */
.s1-content .theory-box {
  background: linear-gradient(135deg, hsl(48 96% 94%), hsl(48 96% 90%));
  border-left: 4px solid hsl(43 96% 56%);
  border-radius: 0.875rem;
  padding: 1.1rem 1.35rem;
  margin: 1.5rem 0;
}
.dark .s1-content .theory-box {
  background: linear-gradient(135deg, hsl(43 50% 14%), hsl(43 50% 10%));
  border-left-color: hsl(43 96% 60%);
}
.s1-content .theory-box h3,
.s1-content .theory-box h4 {
  margin-top: 0;
  color: hsl(36 80% 35%);
  font-size: 1.05rem;
}
.dark .s1-content .theory-box h3,
.dark .s1-content .theory-box h4 {
  color: hsl(43 96% 75%);
}

/* Example box (green) */
.s1-content .example-box {
  background: linear-gradient(135deg, hsl(142 70% 95%), hsl(142 70% 91%));
  border-left: 4px solid hsl(142 71% 45%);
  border-radius: 0.875rem;
  padding: 1.1rem 1.35rem;
  margin: 1.5rem 0;
}
.dark .s1-content .example-box {
  background: linear-gradient(135deg, hsl(142 40% 12%), hsl(142 40% 9%));
  border-left-color: hsl(142 71% 50%);
}
.s1-content .example-box h3,
.s1-content .example-box h4 {
  margin-top: 0;
  color: hsl(142 71% 30%);
  font-size: 1.05rem;
}
.dark .s1-content .example-box h3,
.dark .s1-content .example-box h4 {
  color: hsl(142 71% 70%);
}

/* Exercise box (blue) */
.s1-content .exercise-box {
  background: linear-gradient(135deg, hsl(217 91% 95%), hsl(217 91% 91%));
  border-left: 4px solid hsl(217 91% 60%);
  border-radius: 0.875rem;
  padding: 1.1rem 1.35rem;
  margin: 1.5rem 0;
}
.dark .s1-content .exercise-box {
  background: linear-gradient(135deg, hsl(217 50% 14%), hsl(217 50% 10%));
  border-left-color: hsl(217 91% 65%);
}
.s1-content .exercise-box h3,
.s1-content .exercise-box h4 {
  margin-top: 0;
  color: hsl(217 91% 35%);
  font-size: 1.05rem;
}
.dark .s1-content .exercise-box h3,
.dark .s1-content .exercise-box h4 {
  color: hsl(217 91% 78%);
}

/* Tip / important boxes */
.s1-content .tip-box {
  background: hsl(262 83% 96%);
  border-left: 4px solid hsl(262 83% 58%);
  border-radius: 0.875rem;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
  font-size: 0.95rem;
}
.dark .s1-content .tip-box {
  background: hsl(262 50% 14%);
  border-left-color: hsl(262 83% 70%);
}
.s1-content .important-box {
  background: hsl(0 85% 96%);
  border-left: 4px solid hsl(0 85% 60%);
  border-radius: 0.875rem;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
  font-size: 0.95rem;
}
.dark .s1-content .important-box {
  background: hsl(0 50% 14%);
  border-left-color: hsl(0 85% 65%);
}

/* Summary grid */
.s1-content .summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.85rem;
  margin: 2rem 0 1rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, hsl(217 91% 96%), hsl(262 83% 96%));
  border-radius: 1.25rem;
  border: 1px solid hsl(217 91% 85%);
}
.dark .s1-content .summary-grid {
  background: linear-gradient(135deg, hsl(217 50% 14%), hsl(262 50% 14%));
  border-color: hsl(217 50% 28%);
}
.s1-content .summary-grid > div,
.s1-content .summary-grid .summary-card {
  background: hsl(var(--background));
  padding: 0.9rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border));
  font-size: 0.9rem;
  line-height: 1.55;
}
.s1-content .summary-grid h4 {
  font-size: 0.85rem;
  font-weight: 800;
  color: hsl(217 91% 50%);
  margin: 0 0 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dark .s1-content .summary-grid h4 {
  color: hsl(217 91% 75%);
}

/* R1 example-card / definition-card / mini-oppgave (overrides hardcoded inline colors) */
.s1-content .example-card {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-left: 4px solid hsl(262 83% 58%);
  border-radius: 0.875rem;
  padding: 1.1rem 1.25rem;
  margin: 1.25rem 0;
}
.dark .s1-content .example-card {
  background: hsl(262 30% 14%);
  border-left-color: hsl(262 83% 70%);
}
.s1-content .example-card h4 {
  margin: 0 0 0.6rem 0 !important;
  color: hsl(262 83% 50%) !important;
  font-weight: 700;
  font-size: 1rem;
}
.dark .s1-content .example-card h4 {
  color: hsl(262 83% 78%) !important;
}

.s1-content .definition-card {
  background: hsl(217 91% 96%);
  border: 1px solid hsl(217 91% 85%);
  border-left: 4px solid hsl(217 91% 50%);
  border-radius: 0.875rem;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
}
.dark .s1-content .definition-card {
  background: hsl(217 50% 14%);
  border-color: hsl(217 50% 28%);
  border-left-color: hsl(217 91% 65%);
}

.s1-content .mini-oppgave,
.s1-content details.mini-oppgave {
  background: hsl(43 96% 94%) !important;
  border: 1px solid hsl(43 96% 80%) !important;
  border-radius: 0.75rem !important;
  padding: 0.75rem 1rem !important;
  margin: 1rem 0 !important;
}
.dark .s1-content .mini-oppgave,
.dark .s1-content details.mini-oppgave {
  background: hsl(43 50% 14%) !important;
  border-color: hsl(43 50% 28%) !important;
}
.s1-content .mini-oppgave > summary {
  cursor: pointer;
  font-weight: 600;
  color: hsl(28 90% 35%) !important;
}
.dark .s1-content .mini-oppgave > summary {
  color: hsl(43 96% 75%) !important;
}
.s1-content .mini-oppgave > div {
  margin-top: 0.75rem !important;
  padding-top: 0.75rem !important;
  border-top: 1px dashed hsl(43 96% 70%) !important;
  color: hsl(var(--foreground)) !important;
}

.s1-content .math-figure {
  background: hsl(var(--muted) / 0.4) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 0.875rem !important;
  padding: 1rem !important;
  margin: 1.5rem auto !important;
}

/* === R1 exercises container (sanitized cards + svg safety) === */
.r1-exercises-container {
  font-family: inherit;
  line-height: 1.6;
  color: hsl(var(--foreground));
}
.r1-exercises-container h2 {
  margin-top: 2rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid hsl(var(--border));
  color: hsl(var(--foreground));
  font-size: 1.5rem;
}
.r1-exercises-container h3 {
  margin-top: 1.25rem;
  color: hsl(var(--foreground));
  font-size: 1.1rem;
}
.r1-exercises-container section {
  margin-bottom: 2rem;
}

.r1-exercises-container .ex-card {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 0.875rem;
  padding: 1rem 1.25rem;
  margin: 1rem 0;
  box-shadow: 0 1px 3px hsl(var(--foreground) / 0.04);
}
.r1-exercises-container .ex-card.example-card {
  border-left: 4px solid hsl(262 83% 58%);
  background: hsl(262 60% 98%);
}
.dark .r1-exercises-container .ex-card.example-card {
  background: hsl(262 30% 12%);
  border-left-color: hsl(262 83% 70%);
}
.r1-exercises-container .ex-card.example-card h4 {
  margin: 0 0 0.6rem 0;
  color: hsl(262 83% 50%);
  font-weight: 700;
}
.dark .r1-exercises-container .ex-card.example-card h4 {
  color: hsl(262 83% 78%);
}
.r1-exercises-container .ex-prompt {
  margin: 0.5rem 0;
}
.r1-exercises-container .ex-hint-inline,
.r1-exercises-container .ex-hint {
  margin-top: 0.6rem;
  padding: 0.5rem 0.75rem;
  border-left: 3px solid hsl(43 96% 56%);
  background: hsl(43 96% 94%);
  border-radius: 0.4rem;
  font-size: 0.95rem;
}
.dark .r1-exercises-container .ex-hint-inline,
.dark .r1-exercises-container .ex-hint {
  background: hsl(43 40% 14%);
}
.r1-exercises-container .ex-solution-inline,
.r1-exercises-container .ex-solution {
  margin-top: 0.6rem;
  padding: 0.5rem 0.75rem;
  border-left: 3px solid hsl(160 84% 39%);
  background: hsl(160 60% 95%);
  border-radius: 0.4rem;
  font-size: 0.95rem;
}
.dark .r1-exercises-container .ex-solution-inline,
.dark .r1-exercises-container .ex-solution {
  background: hsl(160 40% 12%);
}

.r1-exercises-container .ex-card details {
  margin-top: 0.75rem;
  border-top: 1px dashed hsl(var(--border));
  padding-top: 0.5rem;
}
.r1-exercises-container .ex-card details > summary {
  cursor: pointer;
  font-weight: 600;
  color: hsl(var(--primary));
  list-style: none;
  padding: 0.4rem 0.6rem;
  border-radius: 0.4rem;
  background: hsl(var(--primary) / 0.08);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.r1-exercises-container .ex-card details > summary::-webkit-details-marker {
  display: none;
}
.r1-exercises-container .ex-card details > summary::before {
  content: "▸";
  display: inline-block;
  transition: transform 0.15s;
}
.r1-exercises-container .ex-card details[open] > summary::before {
  transform: rotate(90deg);
}

/* Distinct colors for hint vs solution toggles */
.r1-exercises-container .ex-card details.ex-hint-toggle {
  border-top-color: hsl(45 90% 60% / 0.4);
}
.r1-exercises-container .ex-card details.ex-hint-toggle > summary {
  color: hsl(35 90% 35%);
  background: hsl(45 95% 55% / 0.12);
}
.dark .r1-exercises-container .ex-card details.ex-hint-toggle > summary {
  color: hsl(45 95% 70%);
  background: hsl(45 95% 55% / 0.15);
}
.r1-exercises-container .ex-card details.ex-solution-toggle {
  border-top-color: hsl(150 60% 45% / 0.4);
  margin-top: 0.5rem;
}
.r1-exercises-container .ex-card details.ex-solution-toggle > summary {
  color: hsl(150 70% 28%);
  background: hsl(150 60% 45% / 0.12);
}
.dark .r1-exercises-container .ex-card details.ex-solution-toggle > summary {
  color: hsl(150 70% 70%);
  background: hsl(150 60% 45% / 0.18);
}

/* SVG safety: never let polylines/paths render as filled blobs */
.r1-exercises-container .graphwrap {
  margin: 0.75rem 0;
  padding: 0.75rem;
  background: hsl(var(--muted) / 0.4);
  border: 1px solid hsl(var(--border));
  border-radius: 0.75rem;
  overflow-x: auto;
}
.r1-exercises-container svg {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.r1-exercises-container svg polyline,
.r1-exercises-container svg path {
  fill: none !important;
}
.r1-exercises-container svg .grid {
  stroke: hsl(var(--border));
  stroke-width: 1;
}
.r1-exercises-container svg .axis {
  stroke: hsl(var(--foreground));
  stroke-width: 1.5;
}
.r1-exercises-container svg .curve {
  stroke: hsl(173 80% 36%);
  stroke-width: 2.5;
  fill: none !important;
}
.r1-exercises-container svg .curve2 {
  stroke: hsl(217 91% 50%);
  stroke-width: 2.5;
  fill: none !important;
}
.r1-exercises-container svg .curve3 {
  stroke: hsl(0 84% 56%);
  stroke-width: 2.5;
  fill: none !important;
}
.r1-exercises-container svg .helper {
  stroke: hsl(var(--muted-foreground));
  stroke-width: 1.5;
  stroke-dasharray: 6 4;
  fill: none !important;
}
.r1-exercises-container svg .point {
  fill: hsl(0 84% 56%) !important;
}
.r1-exercises-container svg .point2 {
  fill: hsl(217 91% 50%) !important;
}
.r1-exercises-container svg .label,
.r1-exercises-container svg .tick {
  fill: hsl(var(--foreground));
  font-size: 11px;
}

/* Vector arrows: lines, polygons (arrowheads), and text labels */
.r1-exercises-container svg line:not(.grid):not(.axis) {
  stroke: hsl(217 91% 45%);
  stroke-width: 2.5;
}
.dark .r1-exercises-container svg line:not(.grid):not(.axis) {
  stroke: hsl(217 91% 65%);
}
.r1-exercises-container svg polygon {
  fill: hsl(217 91% 45%);
}
.dark .r1-exercises-container svg polygon {
  fill: hsl(217 91% 65%);
}
.r1-exercises-container svg .vecfill {
  fill: hsl(217 91% 45%) !important;
  stroke: none;
}
.dark .r1-exercises-container svg .vecfill {
  fill: hsl(217 91% 65%) !important;
}
.r1-exercises-container svg text {
  fill: hsl(var(--foreground));
  font-family: inherit;
}

/* Tables in S1 */
.s1-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.95rem;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
}
.s1-content thead th {
  background: hsl(217 91% 92%);
  color: hsl(217 91% 28%);
  text-align: left;
  padding: 0.6rem 0.85rem;
  font-weight: 700;
  font-size: 0.85rem;
}
.dark .s1-content thead th {
  background: hsl(217 50% 22%);
  color: hsl(217 91% 85%);
}
.s1-content tbody td {
  padding: 0.55rem 0.85rem;
  border-bottom: 1px solid hsl(var(--border) / 0.6);
}

/* KaTeX block spacing */
.s1-content .katex-display {
  margin: 1.25rem 0;
  overflow-x: auto;
  overflow-y: hidden;
}

/* ===== S1 — Rich visual components ===== */

/* Figure box for SVG diagrams */
.s1-content .figure-box {
  margin: 1.75rem 0;
  padding: 1.5rem;
  background: linear-gradient(180deg, hsl(217 91% 98%) 0%, hsl(0 0% 100%) 100%);
  border: 1px solid hsl(217 50% 90%);
  border-radius: 16px;
  box-shadow:
    0 1px 2px hsl(217 50% 50% / 0.04),
    0 4px 16px hsl(217 50% 50% / 0.05);
}
.dark .s1-content .figure-box {
  background: linear-gradient(180deg, hsl(217 30% 15%) 0%, hsl(217 30% 12%) 100%);
  border-color: hsl(217 50% 25%);
}
.s1-content .figure-box svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  margin: 0 auto;
}
.s1-content .figure-caption {
  margin: 0.85rem 0 0 0;
  font-size: 0.85rem;
  color: hsl(var(--muted-foreground));
  text-align: center;
  font-style: italic;
  line-height: 1.5;
}

/* Topic badge (used inside topic cards) */
.s1-content .topic-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  background: linear-gradient(135deg, hsl(217 91% 60%), hsl(262 83% 60%));
  color: white;
  font-weight: 800;
  font-size: 0.85rem;
  margin-bottom: 0.65rem;
  box-shadow: 0 2px 8px hsl(217 91% 60% / 0.35);
}

/* Chapter intro lead text */
.s1-content .chapter-intro h1 {
  font-size: 1.85rem;
  font-weight: 800;
  margin: 0 0 0.75rem 0;
  background: linear-gradient(135deg, hsl(217 91% 50%), hsl(262 83% 55%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.01em;
}

/* Formula highlight — for showcasing key formulas */
.s1-content .formula-highlight {
  margin: 1.5rem 0;
  padding: 1.5rem 1.25rem;
  background: linear-gradient(135deg, hsl(262 83% 97%), hsl(217 91% 97%));
  border-left: 4px solid hsl(262 83% 58%);
  border-radius: 12px;
  text-align: center;
}
.dark .s1-content .formula-highlight {
  background: linear-gradient(135deg, hsl(262 30% 18%), hsl(217 30% 16%));
  border-left-color: hsl(262 83% 70%);
}
.s1-content .formula-highlight .label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: hsl(262 83% 50%);
  margin-bottom: 0.5rem;
}
.dark .s1-content .formula-highlight .label {
  color: hsl(262 83% 80%);
}

/* Visual fact grid — small icon + stat cards */
.s1-content .vis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem;
  margin: 1.25rem 0;
}
.s1-content .vis-grid .vis-card {
  padding: 1rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 12px;
  text-align: center;
  transition: all 0.2s ease;
}
.s1-content .vis-grid .vis-card:hover {
  border-color: hsl(217 91% 60% / 0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px hsl(217 91% 60% / 0.1);
}
.s1-content .vis-grid .vis-icon {
  font-size: 1.75rem;
  margin-bottom: 0.35rem;
}
.s1-content .vis-grid .vis-num {
  font-size: 1.4rem;
  font-weight: 800;
  color: hsl(217 91% 50%);
  line-height: 1;
}
.dark .s1-content .vis-grid .vis-num {
  color: hsl(217 91% 75%);
}
.s1-content .vis-grid .vis-label {
  font-size: 0.78rem;
  color: hsl(var(--muted-foreground));
  margin-top: 0.35rem;
}

/* Side-by-side comparison */
.s1-content .compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 1.25rem 0;
}
@media (max-width: 640px) {
  .s1-content .compare-grid {
    grid-template-columns: 1fr;
  }
}
.s1-content .compare-grid > div {
  padding: 1.25rem;
  border-radius: 12px;
  border: 1px solid hsl(var(--border));
}
.s1-content .compare-grid .compare-good {
  background: hsl(142 71% 96%);
  border-color: hsl(142 71% 80%);
}
.dark .s1-content .compare-grid .compare-good {
  background: hsl(142 30% 15%);
  border-color: hsl(142 50% 30%);
}
.s1-content .compare-grid .compare-bad {
  background: hsl(0 84% 97%);
  border-color: hsl(0 84% 85%);
}
.dark .s1-content .compare-grid .compare-bad {
  background: hsl(0 30% 18%);
  border-color: hsl(0 50% 35%);
}
.s1-content .compare-grid h4 {
  margin: 0 0 0.5rem 0;
  font-size: 0.95rem;
  font-weight: 700;
}
.s1-content .compare-grid .compare-good h4 {
  color: hsl(142 71% 30%);
}
.dark .s1-content .compare-grid .compare-good h4 {
  color: hsl(142 71% 75%);
}
.s1-content .compare-grid .compare-bad h4 {
  color: hsl(0 84% 45%);
}
.dark .s1-content .compare-grid .compare-bad h4 {
  color: hsl(0 84% 80%);
}

/* Step-by-step solution box */
.s1-content .steps-box {
  margin: 1.25rem 0;
  padding: 1.25rem 1.5rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 12px;
}
.s1-content .steps-box ol {
  counter-reset: step-counter;
  list-style: none;
  margin: 0;
  padding: 0;
}
.s1-content .steps-box ol li {
  counter-increment: step-counter;
  position: relative;
  padding-left: 2.75rem;
  margin: 0.85rem 0;
  min-height: 2rem;
}
.s1-content .steps-box ol li::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 2rem;
  height: 2rem;
  background: linear-gradient(135deg, hsl(217 91% 60%), hsl(262 83% 60%));
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.9rem;
  box-shadow: 0 2px 6px hsl(217 91% 60% / 0.3);
}

/* Key term callout (inline) */
.s1-content .key-term {
  display: inline-block;
  padding: 0.1rem 0.5rem;
  background: hsl(43 96% 90%);
  color: hsl(43 96% 30%);
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.95em;
}
.dark .s1-content .key-term {
  background: hsl(43 50% 25%);
  color: hsl(43 96% 80%);
}

/* ============================================================
   Global print / PDF branding
   Adds an "ifingo.no" footer to every printed page automatically,
   so PDFs students save always carry the source link.
   ============================================================ */
/* Print-only branded header/footer elements (only shown when printing) */
.print-brand-header,
.print-brand-footer {
  display: none;
}

@media print {
  /* Hide noisy UI when printing */
  nav,
  header[role="banner"],
  footer[role="contentinfo"],
  .no-print {
    display: none !important;
  }

  @page {
    margin: 1.6cm 1.4cm 2.2cm 1.4cm;
  }

  /* Real DOM element repeats on every printed page via position: fixed.
     Chrome/Edge/Safari all honour this for actual elements (pseudo-elements
     on <body> are unreliable across browsers). */
  .print-brand-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 9pt;
    color: #5f2eea !important;
    font-family: "Inter", sans-serif;
    border-top: 1px solid #e5e7eb;
    padding-top: 4px;
    background: white;
    z-index: 9999;
  }
  .print-brand-header {
    display: block !important;
  }

  .print-brand-footer a {
    color: #5f2eea !important;
    text-decoration: underline !important;
  }

  /* Make in-page attribution stand out a bit on print */
  .ifingo-attribution {
    page-break-inside: avoid;
    margin-top: 1.5rem !important;
  }
  .ifingo-attribution a {
    color: #5f2eea !important;
    text-decoration: underline !important;
  }
}

/* ============================================
   Muntlig-praktisk eksamen seksjoner (Kjemi 2)
   Glassmorphism med lilla/emerald aksenter
   ============================================ */
.muntlig-section {
  margin: 2rem 0 3rem;
  padding: 2rem;
  background: linear-gradient(135deg, hsl(var(--primary) / 0.06), hsl(160 70% 45% / 0.05));
  border: 1px solid hsl(var(--primary) / 0.18);
  border-radius: 1.25rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    0 8px 32px hsl(var(--primary) / 0.08),
    inset 0 1px 0 hsl(0 0% 100% / 0.4);
  position: relative;
  overflow: hidden;
}

.muntlig-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, hsl(var(--primary)), hsl(160 70% 45%), hsl(var(--primary)));
}

.muntlig-header {
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px dashed hsl(var(--primary) / 0.25);
}

.muntlig-section h2 {
  font-size: 1.65rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(160 70% 38%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.01em;
}

.muntlig-intro {
  font-size: 0.95rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.6;
  margin: 0;
}

.muntlig-category {
  margin-top: 2rem;
}

.muntlig-category h3 {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 1rem;
  padding: 0.65rem 1rem;
  background: linear-gradient(90deg, hsl(var(--primary) / 0.12), transparent);
  border-left: 4px solid hsl(var(--primary));
  border-radius: 0 0.5rem 0.5rem 0;
  color: hsl(var(--foreground));
}

.muntlig-q {
  background: hsl(var(--background) / 0.7);
  border: 1px solid hsl(var(--border));
  border-radius: 0.85rem;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
  transition: all 0.2s ease;
}

.muntlig-q:hover {
  border-color: hsl(var(--primary) / 0.4);
  box-shadow: 0 4px 16px hsl(var(--primary) / 0.08);
  transform: translateY(-1px);
}

.muntlig-q-text {
  font-size: 1rem;
  line-height: 1.55;
  color: hsl(var(--foreground));
}

.muntlig-q-text strong:first-child {
  display: inline-block;
  min-width: 2rem;
  color: hsl(var(--primary));
  font-weight: 700;
}

.muntlig-answer {
  margin-top: 0.85rem;
  border-top: 1px dashed hsl(var(--border));
  padding-top: 0.75rem;
}

.muntlig-answer summary {
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  color: hsl(160 70% 38%);
  padding: 0.45rem 0.85rem;
  background: hsl(160 70% 45% / 0.08);
  border-radius: 0.5rem;
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0.2s ease;
  list-style: none;
}

.muntlig-answer summary::-webkit-details-marker {
  display: none;
}

.muntlig-answer summary::before {
  content: "▶ ";
  display: inline-block;
  margin-right: 0.4rem;
  transition: transform 0.2s ease;
  font-size: 0.7rem;
}

.muntlig-answer[open] summary::before {
  transform: rotate(90deg);
}

.muntlig-answer summary:hover {
  background: hsl(160 70% 45% / 0.15);
}

.muntlig-model {
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  background: hsl(var(--primary) / 0.05);
  border-left: 3px solid hsl(var(--primary));
  border-radius: 0 0.5rem 0.5rem 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: hsl(var(--foreground));
}

.muntlig-criteria {
  margin-top: 0.85rem;
  display: grid;
  gap: 0.5rem;
}

.muntlig-criteria .crit {
  padding: 0.65rem 0.9rem;
  border-radius: 0.5rem;
  font-size: 0.88rem;
  line-height: 1.5;
  border-left: 3px solid;
}

.muntlig-criteria .crit-low {
  background: hsl(0 70% 55% / 0.06);
  border-left-color: hsl(0 65% 55%);
}

.muntlig-criteria .crit-mid {
  background: hsl(40 90% 55% / 0.08);
  border-left-color: hsl(40 85% 50%);
}

.muntlig-criteria .crit-high {
  background: hsl(160 70% 45% / 0.08);
  border-left-color: hsl(160 70% 40%);
}

.muntlig-criteria .crit strong {
  color: hsl(var(--foreground));
  margin-right: 0.25rem;
}

/* Mobile */
@media (max-width: 640px) {
  .muntlig-section {
    padding: 1.25rem;
    border-radius: 1rem;
  }
  .muntlig-section h2 {
    font-size: 1.3rem;
  }
  .muntlig-category h3 {
    font-size: 1.05rem;
  }
  .muntlig-q {
    padding: 0.85rem 1rem;
  }
  .muntlig-q-text {
    font-size: 0.95rem;
  }
}

/* Dark mode justering */
.dark .muntlig-section {
  background: linear-gradient(135deg, hsl(var(--primary) / 0.1), hsl(160 70% 45% / 0.07));
}

.dark .muntlig-q {
  background: hsl(var(--card) / 0.5);
}

/* ============================================================
   Kjemi 1 — Enhanced kapittel-styling (Kap 6 Energi & reaksjonsfart)
   Bruker ifingo's lilla/emerald palett via design-tokens.
   ============================================================ */
.k1-article {
  font-family: "Inter", sans-serif;
  line-height: 1.75;
  color: hsl(var(--foreground));
  max-width: 100%;
}
.k1-article h1 {
  font-size: 2.2em;
  font-weight: 900;
  color: hsl(var(--primary));
  margin-bottom: 0.4rem;
  border-bottom: 3px solid hsl(var(--primary) / 0.4);
  padding-bottom: 0.625rem;
}
.k1-article h2 {
  font-size: 1.6em;
  font-weight: 800;
  color: hsl(var(--primary));
  margin-top: 2.25rem;
  border-bottom: 2px solid hsl(var(--primary) / 0.25);
  padding-bottom: 0.4rem;
}
.k1-article h3 {
  color: hsl(var(--primary));
  margin-top: 1.25rem;
  font-weight: 700;
}
.k1-article p {
  margin: 0.75rem 0;
  color: hsl(var(--foreground) / 0.9);
}
.k1-article a {
  color: hsl(var(--primary));
  text-decoration: underline;
  text-underline-offset: 2px;
}
.k1-article a:hover {
  color: hsl(var(--primary) / 0.8);
}
.k1-article ul,
.k1-article ol {
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}
.k1-article li {
  margin: 0.35rem 0;
}
.k1-article strong {
  color: hsl(var(--foreground));
  font-weight: 700;
}

/* TOC */
.k1-toc {
  background: hsl(var(--muted) / 0.5);
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border));
  margin: 1.25rem 0;
}
.k1-toc h3 {
  margin: 0 0 0.6rem 0;
  color: hsl(var(--foreground));
  font-size: 1rem;
}
.k1-toc ol {
  margin: 0;
  padding-left: 1.25rem;
}
.k1-toc li {
  color: hsl(var(--primary));
  margin: 0.3rem 0;
}

/* Callouts */
.k1-callout {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  margin: 1rem 0;
  border-left: 4px solid hsl(var(--primary));
  background: hsl(var(--primary) / 0.06);
}
.k1-callout h3 {
  margin: 0 0 0.5rem 0;
  color: hsl(var(--primary));
  font-size: 1.05rem;
}
.k1-callout--goal {
  border-left-color: hsl(160 84% 39%);
  background: hsl(160 84% 39% / 0.06);
}
.k1-callout--goal h3 {
  color: hsl(160 84% 30%);
}
.dark .k1-callout--goal h3 {
  color: hsl(160 70% 60%);
}

.k1-callout--tip {
  border-left-color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.06);
}

.k1-callout--warn {
  border-left-color: hsl(38 92% 50%);
  background: hsl(38 92% 50% / 0.08);
}
.k1-callout--warn h3 {
  color: hsl(28 80% 38%);
}
.dark .k1-callout--warn h3 {
  color: hsl(38 92% 65%);
}

.k1-callout--example {
  border-left-color: hsl(160 84% 39%);
  background: hsl(160 84% 39% / 0.05);
}
.k1-callout--example h3 {
  color: hsl(160 84% 30%);
}
.dark .k1-callout--example h3 {
  color: hsl(160 70% 60%);
}

.k1-callout--def {
  border-left-color: hsl(var(--primary));
  background: hsl(var(--primary) / 0.08);
}

/* Tables */
.k1-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.95em;
  border-radius: 0.5rem;
  overflow: hidden;
}
.k1-table tr:first-child {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}
.k1-table th {
  padding: 0.6rem 0.875rem;
  text-align: left;
  font-weight: 700;
}
.k1-table td {
  padding: 0.55rem 0.875rem;
  border-top: 1px solid hsl(var(--border));
}
.k1-table tr:nth-child(even) td {
  background: hsl(var(--muted) / 0.4);
}

/* ============================================================
   Kjemi 1 Enhanced — overstyrer inline-farger fra DB-innhold
   slik at oppgaver og eksamen også f\u00f8lger ifingo's lilla palett.
   ============================================================ */
.kjemi1-enhanced [style*="color"] {
  color: #2b2640 !important; /* fast mork – var --foreground som rendret hvitt */
}
.kjemi1-enhanced h1[style],
.kjemi1-enhanced h2[style],
.kjemi1-enhanced h3[style] {
  color: #2b2640 !important;
  border-color: rgba(95, 46, 234, 0.3) !important;
}
.kjemi1-enhanced [style*="background"] {
  background: #f5f1ff !important; /* lavendel som toppen, ikke gra */
}
.kjemi1-enhanced [style*="border-left"] {
  border-left-color: #5f2eea !important;
}
.kjemi1-enhanced a[style] {
  color: #5f2eea !important; /* lenker: lilla og lesbare (var hvite) */
}
.kjemi1-enhanced table[style]:not(:has(thead)) tr:first-child {
  background: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
}
.kjemi1-enhanced table[style] th,
.kjemi1-enhanced table[style] td {
  border-color: hsl(var(--border)) !important;
}

/* ============================================================
   Kjemi 1 – premium polish av kapittel-/eksamensinnhold (.kjemi1-enhanced).
   Hever ifingo-card (hvit flate + lilla aksent-stripe + ikon-badge + hover),
   seksjonsoverskrifter (5.x) med aksent-bar, og formel-bokser. Ren visuell
   heving – ingen tekst-/strukturendring. Gjelder alle kjemi1-kapitler likt.
   ============================================================ */
.kjemi1-enhanced .ifingo-card {
  position: relative;
  background: #ffffff !important;
  border: 1px solid #ece4fb !important;
  border-radius: 18px !important;
  padding: 24px 26px 24px 30px !important;
  overflow: hidden;
  box-shadow: 0 8px 26px -14px rgba(110, 63, 190, 0.28) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.kjemi1-enhanced .ifingo-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #8757f2, #6e3fbe);
}
.kjemi1-enhanced .ifingo-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -16px rgba(110, 63, 190, 0.42) !important;
  border-color: #d9c8f4 !important;
}
.kjemi1-enhanced .ifingo-card-header {
  gap: 13px !important;
  margin-bottom: 14px !important;
}
.kjemi1-enhanced .ifingo-card-header .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #f3ecfe, #e7dcfb) !important;
  font-size: 22px !important;
  box-shadow: 0 4px 12px -4px rgba(110, 63, 190, 0.35);
}
.kjemi1-enhanced .ifingo-card-header h4 {
  margin: 0 !important;
  font-size: 17px !important;
  color: #221036 !important;
}
/* Når biology-content er aktiv (samkjørt kjemi 1+2-design) skal biology-content
   sin h2-pill styre alene – ellers fikk vi dobbel aksent-bar. Disse reglene
   gjelder derfor kun når .biology-content IKKE er til stede. */
.kjemi1-enhanced:not(.biology-content) h2 {
  position: relative;
  padding-left: 16px !important;
  margin-top: 34px !important;
  margin-bottom: 14px !important;
  line-height: 1.2 !important;
}
.kjemi1-enhanced:not(.biology-content) h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 5px;
  border-radius: 3px;
  background: linear-gradient(180deg, #8757f2, #6e3fbe);
}
.kjemi1-enhanced .formula-box {
  background: linear-gradient(90deg, #f5f1ff, #ede9fe) !important;
  box-shadow: 0 6px 18px -12px rgba(110, 63, 190, 0.32) !important;
}
/* DB-innholdet har en egen \3c style> som tvinger lenker med inline lilla (#6d28d9/#7c3aed)
   til HVIT (laget for morke bakgrunner). Boksene er na lavendel, saa hvit = usynlig.
   Hoyere spesifisitet (.chemistry-content.kjemi1-enhanced) vinner uansett kilde-rekkefolge. */
.chemistry-content.kjemi1-enhanced a[style*="6d28d9"],
.chemistry-content.kjemi1-enhanced a[style*="7c3aed"],
.chemistry-content.kjemi1-enhanced a[style*="124, 58, 237"] {
  color: #5f2eea !important;
}
@media (prefers-reduced-motion: reduce) {
  .kjemi1-enhanced .ifingo-card {
    transition: none;
  }
}

/* ============================================================
   Exam content styling – orange accent for norsk/udir exams
   Makes task headings visually separated like biology chapters
   ============================================================ */
.exam-content h1,
.exam-content h2 {
  font-size: 1.35rem;
  font-weight: 800;
  color: hsl(var(--foreground));
  margin: 2.5rem 0 1rem;
  padding: 0.75rem 1.25rem 0.75rem 1.1rem;
  background: linear-gradient(90deg, hsl(32 80% 96%), hsl(45 70% 97%));
  border-left: 5px solid hsl(32 80% 55%);
  border-radius: 0 1rem 1rem 0;
  box-shadow: 0 2px 10px hsl(32 80% 55% / 0.09);
}
.dark .exam-content h1,
.dark .exam-content h2 {
  background: linear-gradient(90deg, hsl(32 45% 16%), hsl(45 40% 17%));
  border-left-color: hsl(32 70% 60%);
  box-shadow: 0 2px 10px hsl(32 70% 60% / 0.14);
}
.exam-content h1:first-child,
.exam-content h2:first-child {
  margin-top: 0;
}

.exam-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: hsl(32 70% 40%);
  margin: 1.75rem 0 0.6rem;
  padding-left: 0.75rem;
  border-left: 3px solid hsl(32 70% 55% / 0.6);
  line-height: 1.4;
}
.dark .exam-content h3 {
  color: hsl(32 65% 65%);
  border-left-color: hsl(32 65% 60% / 0.5);
}
.exam-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: hsl(var(--foreground) / 0.9);
  margin: 1.25rem 0 0.4rem;
}
.exam-content p {
  font-size: 1rem;
  line-height: 1.9;
  color: hsl(var(--foreground) / 0.88);
  margin-bottom: 0.9rem;
}
.exam-content p:last-child {
  margin-bottom: 0;
}
.exam-content ul {
  margin: 0.65rem 0 1rem 0;
  padding-left: 0;
  font-size: 1rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.88);
  list-style: none;
}
.exam-content ul li {
  margin-bottom: 0.45rem;
  padding-left: 1.5rem;
  position: relative;
}
.exam-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 7px;
  height: 7px;
  background: hsl(32 70% 55% / 0.8);
  border-radius: 50%;
}
.exam-content ol {
  margin: 0.65rem 0 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.8;
  color: hsl(var(--foreground) / 0.88);
}
.exam-content li {
  margin-bottom: 0.4rem;
}
.exam-content strong {
  color: hsl(var(--foreground));
  font-weight: 700;
}
.exam-content em {
  color: hsl(32 70% 42%);
  font-style: italic;
}
.dark .exam-content em {
  color: hsl(32 65% 65%);
}
.exam-content blockquote {
  margin: 1.25rem 0;
  padding: 0.85rem 1.25rem;
  background: hsl(32 60% 97%);
  border-left: 4px solid hsl(32 70% 65%);
  border-radius: 0 0.75rem 0.75rem 0;
  color: hsl(var(--foreground) / 0.8);
  font-style: italic;
}
.dark .exam-content blockquote {
  background: hsl(32 35% 14%);
  border-left-color: hsl(32 60% 55%);
}
.exam-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.9rem;
  border-radius: 0.85rem;
  overflow: hidden;
  box-shadow: 0 1px 8px hsl(32 60% 55% / 0.07);
}
.exam-content thead th {
  background: linear-gradient(90deg, hsl(32 70% 91%), hsl(45 65% 93%));
  color: hsl(32 65% 30%);
  padding: 0.6rem 0.9rem;
  text-align: left;
  font-weight: 700;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dark .exam-content thead th {
  background: linear-gradient(90deg, hsl(32 40% 22%), hsl(45 35% 24%));
  color: hsl(32 60% 75%);
}
.exam-content tbody tr:nth-child(even) {
  background: hsl(32 50% 98%);
}
.dark .exam-content tbody tr:nth-child(even) {
  background: hsl(32 25% 14%);
}
.exam-content tbody td {
  padding: 0.55rem 0.9rem;
  border-bottom: 1px solid hsl(var(--border) / 0.4);
  vertical-align: top;
}
.exam-content tbody tr:last-child td {
  border-bottom: none;
}

/* Kjemi 2 kap 5 – cleaned section headers */
.chemistry-exercises .chapter-intro {
  margin: 0 0 2rem;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid hsl(var(--primary));
  background: hsl(var(--muted) / 0.4);
  border-radius: 0.6rem;
}
.chemistry-exercises .chapter-intro-title {
  margin: 0 0 0.4rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}
.chemistry-exercises .chapter-intro-text {
  margin: 0;
  color: hsl(var(--muted-foreground));
  font-size: 0.95rem;
  line-height: 1.55;
}
.chemistry-exercises h2.ex-section {
  margin: 3rem 0 0.35rem;
  padding: 0 0 0.5rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  border-bottom: 1px solid hsl(var(--border));
  background: none;
}
.chemistry-exercises h2.ex-section::before,
.chemistry-exercises h2.ex-section::after {
  content: none;
}
.chemistry-exercises p.ex-section-desc {
  margin: 0 0 1.25rem;
  color: hsl(var(--muted-foreground));
  font-size: 0.93rem;
}
.chemistry-exercises h2.exam-section-title {
  margin: 0 0 0.35rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  border-bottom: 1px solid hsl(var(--border));
  padding-bottom: 0.5rem;
}
.chemistry-exercises p.exam-section-desc {
  margin: 0 0 1.5rem;
  color: hsl(var(--muted-foreground));
  font-size: 0.93rem;
}

/* Kjemi 2 oppgaver page visual polish */
.kjemi2-oppgaver-page .kjemi2-oppgaver-intro {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  margin: 0 0 1.75rem;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border));
  background: linear-gradient(135deg, hsl(var(--pastel-green) / 0.4), hsl(var(--pastel-blue) / 0.22));
}
.dark .kjemi2-oppgaver-page .kjemi2-oppgaver-intro {
  background: linear-gradient(135deg, hsl(150 35% 18% / 0.65), hsl(220 35% 20% / 0.4));
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-intro-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.75rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  color: hsl(var(--primary));
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-intro-eyebrow {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
  color: hsl(var(--muted-foreground));
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-intro-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: hsl(var(--foreground));
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-intro-text {
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: hsl(var(--muted-foreground));
}

.kjemi2-oppgaver-page .kjemi2-oppgaver-content > h2.exercise-card {
  margin: 1.4rem 0 0 !important;
  border-radius: 1rem 1rem 0 0 !important;
  border-bottom: none !important;
  box-shadow: 0 8px 18px hsl(var(--border) / 0.2) !important;
  padding: 0.95rem 1.2rem !important;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > h2.exercise-card:first-of-type {
  margin-top: 0 !important;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > p,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > ol,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > ul,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > table,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > div:not(.exercise-section-header):not(.ifingo-larer-mount) {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

.kjemi2-oppgaver-page .kjemi2-oppgaver-content > details {
  border-radius: 0 !important;
  border-left: 1.5px solid hsl(var(--border)) !important;
  border-right: 1.5px solid hsl(var(--border)) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > details summary {
  font-weight: 700 !important;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > p,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > ol,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > ul,
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > div {
  padding: 1rem 1.2rem !important;
}

.kjemi2-oppgaver-page .kjemi2-oppgaver-content .ifingo-larer-mount {
  margin: -1px 0 1.4rem !important;
  padding: 0.8rem 1.2rem !important;
  border: 1.5px solid hsl(var(--border));
  border-top: none;
  border-radius: 0 0 1rem 1rem;
  background: hsl(var(--card));
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content .ifingo-larer-mount > div {
  width: 100%;
  padding-top: 0 !important;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content details + .ifingo-larer-mount .group {
  box-shadow: none;
}
.kjemi2-oppgaver-page .kjemi2-oppgaver-content > h2.exercise-card + .ifingo-larer-mount {
  margin-top: 0.75rem !important;
  border-top: 1.5px solid hsl(var(--border));
  border-radius: 1rem;
}

@media (max-width: 640px) {
  .kjemi2-oppgaver-page .kjemi2-oppgaver-intro {
    gap: 0.65rem;
    margin-bottom: 1.25rem;
    padding: 0.85rem 0.9rem;
  }
  .kjemi2-oppgaver-page .kjemi2-oppgaver-intro-title {
    font-size: 0.97rem;
  }
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > h2.exercise-card,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > p,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > ol,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > ul,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > table,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > div:not(.exercise-section-header):not(.ifingo-larer-mount),
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > p,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > ol,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > ul,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content > details > div,
  .kjemi2-oppgaver-page .kjemi2-oppgaver-content .ifingo-larer-mount {
    padding-left: 0.9rem !important;
    padding-right: 0.9rem !important;
  }
}

.prose h2,
.prose-no-bold h2 {
  background: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}
.prose h2::before,
.prose-no-bold h2::before {
  content: none !important;
  display: none !important;
}
.prose h3,
.prose-no-bold h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin-top: 1.75rem !important;
  margin-bottom: 0.5rem !important;
}
article.max-w-4xl {
  max-width: 64rem !important;
}

/* ════════════════════════════════════════════════════════════
   KAPITTELSIDER – design-fiks for oppgaver / eksamen / muntlig
   (Kjemi 1: Entalpi, reaksjonsfart og likevekt m.fl.)
   Innholdet kommer fra databasen i tre ulike markup-systemer:
     • oppgaver → .task-card (selvstyrt via innebygd \3c style>)
     • eksamen  → .oppgave / .exam-section (tidligere ustylet)
     • muntlig  → .muntlig-* (tittel ble usynlig pga gradient-clip)
   Reglene under er scopet til .chemistry-content.
   ════════════════════════════════════════════════════════════ */
.chemistry-content .container {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.chemistry-content .header:not(:has(*)),
.chemistry-content .topic-header:not(:has(*)) {
  display: none !important;
}
.chemistry-content .container > .header {
  margin: 0 0 1.25rem !important;
  text-align: left;
}
.chemistry-content .topic-header {
  margin: 1.75rem 0 1rem !important;
}
.chemistry-content .task-card {
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 4px 16px -8px hsl(var(--foreground) / 0.12) !important;
  padding: 1.5rem 1.75rem !important;
  margin: 0 0 1rem !important;
  transition:
    box-shadow 0.25s ease,
    transform 0.2s ease !important;
}
.chemistry-content .task-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px -12px hsl(var(--primary) / 0.25) !important;
}
.chemistry-content .task-header {
  gap: 0.75rem;
  margin-bottom: 1rem !important;
}
.chemistry-content .task-header h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: hsl(var(--foreground)) !important;
}
.chemistry-content .task-content,
.chemistry-content .task-content p,
.chemistry-content .task-content li {
  color: hsl(var(--foreground) / 0.85) !important;
}
.chemistry-content .task-level {
  flex-shrink: 0;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.dark .chemistry-content .task-level.enkel {
  background: #064e3b !important;
  color: #a7f3d0 !important;
}
.dark .chemistry-content .task-level.middels {
  background: #713f12 !important;
  color: #fde68a !important;
}
.dark .chemistry-content .task-level.utfordring {
  background: #7f1d1d !important;
  color: #fecaca !important;
}
.chemistry-content .solution-toggle {
  margin-top: 1.25rem !important;
  border-radius: 0.75rem !important;
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  transition: background-color 0.2s ease !important;
}
.chemistry-content .solution-toggle::before {
  content: "▶";
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}
.chemistry-content details[open] > .solution-toggle::before {
  transform: rotate(90deg);
}
.chemistry-content .solution-toggle:hover {
  background-color: hsl(var(--primary) / 0.18) !important;
}
.chemistry-content .solution-content {
  color: hsl(var(--foreground) / 0.88) !important;
}
.chemistry-content .formula {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: hsl(var(--muted) / 0.6) !important;
  border: 1px solid hsl(var(--border)) !important;
  color: hsl(var(--foreground)) !important;
}
.chemistry-content .exam-section {
  gap: 1rem;
}
.chemistry-content .oppgave {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 1.25rem;
  padding: 1.25rem 1.5rem 0.5rem;
  margin: 0 0 1rem;
  box-shadow: 0 4px 16px -8px hsl(var(--foreground) / 0.12);
  transition:
    box-shadow 0.25s ease,
    transform 0.2s ease;
  overflow: hidden;
}
.chemistry-content .oppgave:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px -12px hsl(var(--primary) / 0.25);
}
.chemistry-content .oppgave > h3 {
  margin: 0 0 0.5rem !important;
  font-size: 1.1rem;
  font-weight: 700;
  color: hsl(var(--foreground));
}
.chemistry-content .oppgave > p {
  color: hsl(var(--foreground) / 0.85);
  margin: 0.4rem 0;
}
.chemistry-content .oppgave > details {
  margin: 0.75rem -1.5rem 0;
  border-top: 1px dashed hsl(var(--border));
  background: hsl(var(--muted) / 0.3);
}
.chemistry-content .oppgave > details > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.85rem 1.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: hsl(262 83% 58%);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.chemistry-content .oppgave > details > summary::-webkit-details-marker {
  display: none;
}
.chemistry-content .oppgave > details > summary::before {
  content: "▶";
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}
.chemistry-content .oppgave > details[open] > summary::before {
  transform: rotate(90deg);
}
.chemistry-content .oppgave > details > *:not(summary) {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.chemistry-content .oppgave > details > *:not(summary):last-child {
  padding-bottom: 1.25rem;
}
.chemistry-content .oppgave > details h4 {
  color: hsl(var(--primary));
  margin-top: 1rem;
  margin-bottom: 0.35rem;
}
.chemistry-muntlig .muntlig-section h2 {
  background: none !important;
  -webkit-text-fill-color: hsl(var(--primary)) !important;
  color: hsl(var(--primary)) !important;
}
.chemistry-muntlig .muntlig-header {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
@media (max-width: 640px) {
  .chemistry-content .task-card {
    padding: 1.15rem 1.15rem !important;
    border-radius: 1rem !important;
  }
  .chemistry-content .task-header {
    flex-wrap: wrap;
  }
  .chemistry-content .task-header h3 {
    font-size: 1.05rem !important;
  }
  .chemistry-content .oppgave {
    padding: 1rem 1.15rem 0.25rem;
    border-radius: 1rem;
  }
  .chemistry-content .oppgave > details {
    margin-left: -1.15rem;
    margin-right: -1.15rem;
  }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  ARTICLE DESIGN v3 — calm, consistent, readable
   ║  Scoped to .prose / .prose-no-bold (article body from DB).
   ║  Consolidates and overrides earlier conflicting rules.
   ║  Touches NO content text. Only typography, spacing, accents.
   ╚══════════════════════════════════════════════════════════════════╝ */

/* H2 — single clean section heading style with a left purple accent
   that aligns vertically with the text. Replaces both earlier blocks. */
.prose h2,
.prose-no-bold h2 {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 2.25rem !important;
  font-family: "Quicksand", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
  color: hsl(var(--foreground)) !important;
  margin-top: 2.75rem !important;
  margin-bottom: 1.1rem !important;
  padding: 0.4rem 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Drop the old decorative dot before h2 */
.prose h2::before,
.prose-no-bold h2::before {
  display: none !important;
  content: none !important;
}

.prose h2:first-child,
.prose-no-bold h2:first-child,
.prose > div > h2:first-child {
  margin-top: 0.25rem !important;
}

/* H3 — quieter subheading */
.prose h3,
.prose-no-bold h3 {
  font-family: "Quicksand", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: hsl(var(--foreground)) !important;
  margin-top: 1.85rem !important;
  margin-bottom: 0.55rem !important;
  letter-spacing: -0.003em !important;
  padding-left: 0 !important;
  border-left: none !important;
  background: none !important;
}

.prose h4,
.prose-no-bold h4 {
  font-family: "Quicksand", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: hsl(var(--foreground)) !important;
  margin-top: 1.4rem !important;
  margin-bottom: 0.4rem !important;
}

/* Paragraphs — relaxed reading rhythm */
.prose p,
.prose-no-bold p {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.78 !important;
  color: hsl(var(--foreground) / 0.9) !important;
  margin-top: 0 !important;
  margin-bottom: 1.1rem !important;
}

/* Lists — even spacing, soft purple markers */
.prose ul,
.prose-no-bold ul,
.prose ol,
.prose-no-bold ol {
  margin-top: 0.55rem !important;
  margin-bottom: 1.25rem !important;
  padding-left: 1.5rem !important;
}

.prose li,
.prose-no-bold li {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  color: hsl(var(--foreground) / 0.9) !important;
  margin-top: 0 !important;
  margin-bottom: 0.4rem !important;
}

.prose li::marker,
.prose-no-bold li::marker {
  color: hsl(var(--primary) / 0.65) !important;
  font-weight: 600 !important;
}

/* Normalize mixed bolding inside list items (TOC + body lists).
   Targets <strong>-only-child cases so an entry like
   <li><strong>24. Eksempel 2</strong></li> reads the same weight as
   <li>Kortsvarsoppgaven</li>. Inline <strong> inside paragraphs is
   untouched. */
.prose li > strong:only-child,
.prose-no-bold li > strong:only-child,
.prose li > p:only-child > strong:only-child,
.prose-no-bold li > p:only-child > strong:only-child,
.prose li > a:only-child > strong:only-child,
.prose-no-bold li > a:only-child > strong:only-child {
  font-weight: 500 !important;
  color: inherit !important;
}

/* Inline emphasis inside paragraphs — slightly calmer weight */
.prose p > strong,
.prose-no-bold p > strong {
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
}

/* Inline links inside article body — purple color only, no underline.
   The color is enough to signal "this is a link"; the underline added
   visual noise to a 14k-word article. Hover gives a slight darken. */
.prose a,
.prose-no-bold a {
  color: hsl(var(--primary)) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.15s ease;
}
.prose a:hover,
.prose-no-bold a:hover {
  color: hsl(var(--primary) / 0.75) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.prose a.norsk-exam-guide-cta,
.prose-no-bold a.norsk-exam-guide-cta {
  color: #ffffff !important;
}

/* Also kill the hover:underline class that linkExamContent applies */
.prose a.hover\:underline:hover,
.prose-no-bold a.hover\:underline:hover,
.article-section a:hover {
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Soft section divider */
.prose hr,
.prose-no-bold hr {
  margin: 2.5rem auto !important;
  border: none !important;
  height: 1px !important;
  background: linear-gradient(
    to right,
    transparent,
    hsl(var(--primary) / 0.25) 25%,
    hsl(var(--primary) / 0.25) 75%,
    transparent
  ) !important;
}

/* Tables — quieter borders, consistent padding */
.prose table,
.prose-no-bold table {
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  border: 1px solid hsl(var(--border)) !important;
  margin: 1.5rem 0 !important;
}
.prose thead th,
.prose-no-bold thead th,
.prose th,
.prose-no-bold th {
  background: hsl(var(--primary) / 0.06) !important;
  color: hsl(var(--foreground)) !important;
  font-weight: 600 !important;
  padding: 0.65rem 0.9rem !important;
  text-align: left !important;
}
.prose td,
.prose-no-bold td {
  padding: 0.6rem 0.9rem !important;
  border-top: 1px solid hsl(var(--border)) !important;
  vertical-align: top !important;
}

/* Blockquote — clean, no vertical line */
.prose blockquote,
.prose-no-bold blockquote {
  margin: 1.25rem 0 !important;
  padding: 0.9rem 1.1rem !important;
  background: hsl(var(--primary) / 0.04) !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0.6rem !important;
  font-style: normal !important;
  color: hsl(var(--foreground) / 0.9) !important;
}

/* Mobile tuning */
@media (max-width: 640px) {
  .prose h2,
  .prose-no-bold h2 {
    font-size: 1.3rem !important;
    padding-left: 0.75rem !important;
    margin-top: 2.25rem !important;
  }
  .prose h3,
  .prose-no-bold h3 {
    font-size: 1.1rem !important;
  }
  .prose p,
  .prose-no-bold p,
  .prose li,
  .prose-no-bold li {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
}

/* Page H1 (article title) — clear emphasis above the body */
article h1 {
  font-family: "Quicksand", sans-serif !important;
  letter-spacing: -0.02em !important;
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  ARTICLE TABLE OF CONTENTS
   ║  Calm card. Uniform color/weight regardless of linked status.
   ║  Generated by lib/enhanceArticleToc.ts → wraps first <ul>.
   ╚══════════════════════════════════════════════════════════════════╝ */
.article-toc {
  margin: 1.75rem 0 2.5rem !important;
  padding: 1.1rem 1.4rem !important;
  background: hsl(var(--primary) / 0.04) !important;
  border: 1px solid hsl(var(--primary) / 0.12) !important;
  border-radius: 1.1rem !important;
}

.article-toc__title {
  font-family: "Quicksand", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: hsl(var(--primary)) !important;
  margin: 0 0 0.6rem 0;
  opacity: 0.85;
}

.article-toc__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  /* No flex here — it would block column-count below. Items flow
     naturally as block-level list-items. */
}

.article-toc__list > li,
.article-toc__item {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 1px solid hsl(var(--primary) / 0.09);
}
.article-toc__list > li:first-child,
.article-toc__item:first-child {
  border-top: none;
}

/* Every TOC item — linked or unlinked — gets the same wrapper styling */
.article-toc__item > a,
.article-toc__item > span,
.article-toc__list > li > a,
.article-toc__list > li > span {
  display: block !important;
  padding: 0.55rem 0.25rem !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: hsl(var(--primary)) !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
  transition:
    padding-left 0.18s ease,
    color 0.15s ease;
}

/* Unlinked entries — SAME color and weight as linked, no underline. The
   only difference is they aren't clickable. This gives the whole TOC one
   uniform appearance. */
.article-toc__list > li > span,
.article-toc__item > span {
  color: hsl(var(--primary)) !important;
  cursor: default;
}

/* Force every text token inside the TOC to the same weight, size and
   family — absolutely no exceptions, regardless of <strong>, <b>, or
   inline emphasis that may have survived. */
.article-toc,
.article-toc *,
.article-toc__list,
.article-toc__list *,
.article-toc__item,
.article-toc__item * {
  font-weight: 500 !important;
  font-size: 1rem !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.article-toc strong,
.article-toc b {
  font-weight: 500 !important;
  color: inherit !important;
}

/* TOC title — plain uppercase label, no background or bar */
.article-toc__title {
  font-family: "Quicksand", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: hsl(var(--primary)) !important;
  margin: 0 0 0.85rem 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

/* Kill any leftover OL counter and ::marker. Do NOT use
   counter-reset: none here — that would also kill our own toc-counter
   reset (especially the inline reset on the right column). */
.article-toc ol,
.article-toc ul,
.article-toc__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.article-toc li::marker,
.article-toc__list li::marker,
.article-toc__item::marker {
  content: "" !important;
  color: transparent !important;
}

/* Two-column TOC layout. The list is split in TS into a left and right
   <ul>, so each column always has equal item count and visual height
   balances naturally. Single column on tablet / mobile. */
.article-toc__columns {
  display: flex;
  flex-direction: column;
  gap: 0;
}

@media (min-width: 900px) {
  .article-toc__columns {
    flex-direction: row;
    gap: 2rem;
    position: relative;
  }
  .article-toc__columns::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 50%;
    width: 1px;
    background: hsl(var(--primary) / 0.1);
  }
  .article-toc__list--left,
  .article-toc__list--right {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}

/* Remove the divider on mobile */
@media (max-width: 899px) {
  .article-toc__columns::before {
    display: none;
  }
}

/* Smooth scroll when clicking a TOC anchor */
html {
  scroll-behavior: smooth;
}

/* Hover only on actual links */
.article-toc__list > li > a:hover,
.article-toc__item > a:hover {
  padding-left: 0.6rem !important;
  color: hsl(var(--primary)) !important;
}

/* Kill any leftover <strong> weight inside the TOC */
.article-toc strong {
  font-weight: 500 !important;
  color: inherit !important;
}

/* Cross-page entries get a subtle arrow */
.article-toc__item--cross > a::after {
  content: " ↗";
  font-size: 0.85em;
  opacity: 0.6;
  margin-left: 0.25rem;
}

/* Cancel the body-link underline rule inside the TOC */
.prose .article-toc a,
.prose-no-bold .article-toc a {
  border-bottom: none !important;
}

@media (max-width: 640px) {
  .article-toc {
    padding: 0.9rem 1.1rem !important;
    border-radius: 0.9rem !important;
  }
  .article-toc__list > li > a,
  .article-toc__list > li > span,
  .article-toc__item > a,
  .article-toc__item > span {
    font-size: 0.95rem !important;
    padding: 0.55rem 0.15rem 0.55rem 2.05rem !important;
  }
  .article-toc__item > a::before,
  .article-toc__item > span::before,
  .article-toc__list > li > a::before,
  .article-toc__list > li > span::before {
    width: 1.35rem;
    height: 1.35rem;
    font-size: 0.68rem !important;
  }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  READING PROGRESS BAR (top of viewport)
   ║  Pure CSS using scroll-timeline-ish trick. Falls back gracefully.
   ╚══════════════════════════════════════════════════════════════════╝ */
.article-reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  z-index: 100;
  pointer-events: none;
}
.article-reading-progress::after {
  content: "";
  display: block;
  height: 100%;
  background: linear-gradient(to right, hsl(var(--primary)), hsl(var(--accent)));
  transform-origin: 0 50%;
  animation: reading-progress linear;
  animation-timeline: scroll(root);
}
@keyframes reading-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  ARTICLE SECTION CARDS
   ║  Each <h2> + its content is wrapped in <section class="article-
   ║  section"> by lib/enhanceArticleSections.ts. This block gives
   ║  every section a card so a 14k-word article reads as a series
   ║  of clear chapters, not a wall of text.
   ╚══════════════════════════════════════════════════════════════════╝ */

/* The intro section above the first h2 — no card, but a strong lead */
.article-intro {
  margin: 0 0 2rem 0;
  padding: 0;
}

.article-intro > p:first-of-type {
  font-size: 1.12rem !important;
  line-height: 1.7 !important;
  color: hsl(var(--foreground) / 0.92) !important;
  font-weight: 500 !important;
  margin-bottom: 1.25rem !important;
}

/* Drop cap removed by default — readers prefer clean lead text. */
.article-intro > p:first-of-type::first-letter {
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}

/* Exception: keep the drop cap on the norsk-skriftlig-eksamen-karakter-5-og-6
   article (user explicitly wants that page unchanged). */
[data-article-slug="norsk-skriftlig-eksamen-karakter-5-og-6"] .article-intro > p:first-of-type::first-letter {
  font-family: "Quicksand", sans-serif !important;
  font-size: 3.2rem !important;
  font-weight: 800 !important;
  color: hsl(var(--primary)) !important;
  float: left !important;
  line-height: 0.9 !important;
  margin: 0.2rem 0.55rem -0.1rem 0 !important;
  padding: 0.1rem 0 0 0 !important;
}

/* Each h2 section becomes a calm card */
.article-section {
  position: relative;
  margin: 1.5rem 0 1.75rem 0 !important;
  padding: 1.6rem 1.75rem 1.4rem 1.75rem !important;
  background: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 1.25rem !important;
  box-shadow:
    0 1px 0 0 hsl(var(--primary) / 0.04),
    0 8px 24px -16px hsl(var(--primary) / 0.18) !important;
  transition:
    box-shadow 0.25s ease,
    transform 0.2s ease;
}

.article-section:hover {
  box-shadow:
    0 1px 0 0 hsl(var(--primary) / 0.06),
    0 14px 36px -18px hsl(var(--primary) / 0.25) !important;
}

/* Soft gradient accent on the top-left of each card */
.article-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 4px;
  background: linear-gradient(to right, hsl(var(--primary)), hsl(var(--primary) / 0.3) 70%, transparent);
  border-radius: 1.25rem 0 0 0;
}

/* The h2 inside a section card — drop the left bar (we have the top accent now)
   and make it sit naturally at the top of the card */
.article-section > h2:first-child,
.prose .article-section > h2:first-child,
.prose-no-bold .article-section > h2:first-child {
  margin-top: 0.25rem !important;
  margin-bottom: 1rem !important;
  padding-left: 0 !important;
  border-left: none !important;
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  color: hsl(var(--foreground)) !important;
  letter-spacing: -0.01em !important;
  display: block !important;
  background: none !important;
}

/* First paragraph after the h2 — lead paragraph, slightly larger */
.article-section > h2:first-child + p,
.prose .article-section > h2:first-child + p,
.prose-no-bold .article-section > h2:first-child + p {
  font-size: 1.08rem !important;
  color: hsl(var(--foreground) / 0.92) !important;
  margin-bottom: 1.15rem !important;
}

/* H3 inside a section card — full-width lavender pill with left bar and
   rounded right corner. Matches the design used on other ifingo article
   pages for sub-headings. Reads as a clear chapter marker. */
.article-section h3,
.prose .article-section h3,
.prose-no-bold .article-section h3 {
  font-family: "Quicksand", sans-serif !important;
  font-size: 1.18rem !important;
  font-weight: 700 !important;
  color: hsl(var(--foreground)) !important;
  margin-top: 1.85rem !important;
  margin-bottom: 0.9rem !important;
  padding: 0.6rem 1.1rem 0.6rem 1rem !important;
  background: hsl(var(--primary) / 0.08) !important;
  border-left: 4px solid hsl(var(--primary)) !important;
  border-radius: 0 0.6rem 0.6rem 0 !important;
  display: block !important;
  line-height: 1.4 !important;
}

/* H4 — same family, lighter background tint, slightly smaller */
.article-section h4,
.prose .article-section h4,
.prose-no-bold .article-section h4 {
  font-family: "Quicksand", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: hsl(var(--foreground)) !important;
  margin-top: 1.45rem !important;
  margin-bottom: 0.65rem !important;
  padding: 0.45rem 1rem 0.45rem 0.9rem !important;
  background: hsl(var(--primary) / 0.05) !important;
  border-left: 3px solid hsl(var(--primary) / 0.7) !important;
  border-radius: 0 0.55rem 0.55rem 0 !important;
  display: block !important;
  line-height: 1.4 !important;
}

/* Headings wrapped in an anchor by enhanceArticleHeadingLinks. The
   heading itself keeps its foreground color, but on hover it slides
   into purple and a small arrow appears — making it obvious that the
   heading is a clickable cross-reference to a deeper guide. */
.article-section h3 > a,
.article-section h4 > a,
.article-section h3 > a.article-heading-link,
.article-section h4 > a.article-heading-link {
  color: inherit !important;
  border-bottom: none !important;
  text-decoration: none !important;
  transition: color 0.18s ease;
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
}

.article-section h3 > a::after,
.article-section h4 > a::after,
.article-section h3 > a.article-heading-link::after,
.article-section h4 > a.article-heading-link::after {
  content: "→";
  font-size: 0.85em;
  color: hsl(var(--primary));
  opacity: 0;
  transform: translateX(-4px);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.article-section h3 > a:hover,
.article-section h4 > a:hover {
  color: hsl(var(--primary)) !important;
}
.article-section h3 > a:hover::after,
.article-section h4 > a:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* Paragraphs inside cards — calm, readable */
.article-section p,
.article-intro p {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1.04rem !important;
  line-height: 1.78 !important;
  color: hsl(var(--foreground) / 0.88) !important;
  margin: 0 0 1.1rem 0 !important;
}

/* Lists inside section cards — clean custom bullets instead of default
   browser markers which can render as messy dashes at small sizes. */
.article-section ul,
.article-section ol {
  margin: 0.6rem 0 1.25rem 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.article-section ul > li,
.article-section ol > li {
  position: relative;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1.04rem !important;
  line-height: 1.7 !important;
  color: hsl(var(--foreground) / 0.88) !important;
  margin: 0 0 0.5rem 0 !important;
  padding-left: 1.4rem !important;
}

/* Unordered list — small filled purple dot */
.article-section ul > li::before {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 0.72em;
  width: 0.42rem;
  height: 0.42rem;
  background: hsl(var(--primary));
  border-radius: 50%;
  opacity: 0.85;
}

/* Ordered list — purple number prefix */
.article-section ol {
  counter-reset: section-ol;
}
.article-section ol > li {
  counter-increment: section-ol;
  padding-left: 1.85rem !important;
}
.article-section ol > li::before {
  content: counter(section-ol) ".";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.5rem;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  color: hsl(var(--primary));
  text-align: right;
  padding-right: 0.35rem;
}

/* Nested lists — slightly tighter, smaller bullet */
.article-section li ul,
.article-section li ol {
  margin: 0.4rem 0 0.6rem 0 !important;
}

.article-section li ul > li::before {
  background: hsl(var(--primary) / 0.6);
  width: 0.36rem;
  height: 0.36rem;
}

/* Drop the default marker from elsewhere in .prose too — the old
   .prose li::marker rule was producing inconsistent dashes. */
.article-section li::marker {
  content: "" !important;
  color: transparent !important;
}

/* Soft alternating tint for visual rhythm — every 3rd section gets a
   barely-there lavender wash so the eye gets a rest */
.article-section:nth-of-type(3n + 1) {
  background: linear-gradient(180deg, hsl(var(--primary) / 0.025), hsl(var(--card)) 60%) !important;
}

/* The last child of a section shouldn't have a trailing margin */
.article-section > *:last-child {
  margin-bottom: 0 !important;
}

/* Dark mode tweaks */
.dark .article-section {
  background: hsl(var(--card)) !important;
  border-color: hsl(var(--border)) !important;
  box-shadow:
    0 1px 0 0 hsl(var(--primary) / 0.08),
    0 8px 24px -16px rgba(0, 0, 0, 0.4) !important;
}

.dark .article-section:nth-of-type(3n + 1) {
  background: linear-gradient(180deg, hsl(var(--primary) / 0.06), hsl(var(--card)) 60%) !important;
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  TOC POLISH v2 — numbered badges, refined hover, calmer rhythm
   ╚══════════════════════════════════════════════════════════════════╝ */

/* TOC card: bigger card feel, subtle gradient on top */
.article-toc {
  position: relative;
  overflow: hidden;
}
.article-toc::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(to right, hsl(var(--primary)), hsl(var(--accent)) 60%, transparent);
  pointer-events: none;
}

/* Numbered badge before every TOC item — small purple circle with the
   item's order in the list. Uses CSS counters so it's automatic.
   The right list gets its starting value via an inline style="counter-
   reset: toc-counter N" so the numbering continues from the left list. */
.article-toc__list--left {
  counter-reset: toc-counter;
}
.article-toc__list > li,
.article-toc__item {
  counter-increment: toc-counter;
  position: relative;
}

.article-toc__item > a,
.article-toc__item > span,
.article-toc__list > li > a,
.article-toc__list > li > span {
  position: relative !important;
  padding-left: 2.25rem !important;
}

.article-toc__item > a::before,
.article-toc__item > span::before,
.article-toc__list > li > a::before,
.article-toc__list > li > span::before {
  content: counter(toc-counter);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.55rem;
  height: 1.55rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Quicksand", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: hsl(var(--primary)) !important;
  background: hsl(var(--primary) / 0.08) !important;
  border-radius: 50%;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

/* On hover: badge fills, text slides right slightly */
.article-toc__list > li:hover > a::before,
.article-toc__item:hover > a::before {
  background: hsl(var(--primary)) !important;
  color: white !important;
  transform: translateY(-50%) scale(1.06);
}

/* Override the old "padding-left on hover" so it doesn't conflict
   with the badge offset */
.article-toc__list > li > a:hover,
.article-toc__item > a:hover {
  padding-left: 2.55rem !important;
}

/* Cross-page arrow positioning adjusted */
.article-toc__item--cross > a::after {
  margin-left: auto !important;
  padding-left: 0.5rem !important;
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  ARTICLE SECTION POLISH v2
   ╚══════════════════════════════════════════════════════════════════╝ */

/* More refined top accent — full-width subtle gradient, not just left */
.article-section::before {
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(
    to right,
    hsl(var(--primary)) 0%,
    hsl(var(--accent)) 40%,
    hsl(var(--primary) / 0.4) 80%,
    transparent 100%
  ) !important;
  border-radius: 1.25rem 1.25rem 0 0 !important;
}

/* Subtle hover lift */
.article-section {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease !important;
}
.article-section:hover {
  transform: translateY(-2px) !important;
}

/* H2 inside cards — add a small decorative dot on the right */
.article-section > h2:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
}

/* First paragraph after H2 — slightly larger lead size, but NO
   background or left bar by default. The bar is reserved for actual
   headers. */
.article-section > h2:first-child + p {
  position: static;
  padding: 0 !important;
  margin-bottom: 1.15rem !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 1.06rem !important;
  line-height: 1.75 !important;
  color: hsl(var(--foreground) / 0.95) !important;
}

/* Exception: bring back the pill on the karakter-5-og-6 article. */
[data-article-slug="norsk-skriftlig-eksamen-karakter-5-og-6"] .article-section > h2:first-child + p {
  position: relative !important;
  padding: 0.85rem 1.15rem 0.85rem 1.05rem !important;
  margin-bottom: 1.35rem !important;
  background: hsl(var(--primary) / 0.045) !important;
  border-left: 3px solid hsl(var(--primary) / 0.6) !important;
  border-radius: 0 0.65rem 0.65rem 0 !important;
  font-size: 1.08rem !important;
}

/* FAQ-like paragraphs: <p><a>...</a></p> or <p><strong>...</strong></p>
   These look like sub-headings or question links that didn't get
   rendered as actual H3/H4. Give them the same calm pill design so the
   visual hierarchy is consistent. */
.article-section p:has(> a:only-child),
.article-section p:has(> strong:only-child),
.article-intro p:has(> a:only-child),
.article-intro p:has(> strong:only-child) {
  padding: 0.6rem 1.15rem 0.6rem 1rem !important;
  margin: 0.6rem 0 !important;
  background: hsl(var(--primary) / 0.06) !important;
  border-left: 3px solid hsl(var(--primary)) !important;
  border-radius: 0 0.6rem 0.6rem 0 !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

/* Inside these pill-paragraphs, force the anchor/strong to read as a
   heading: foreground color, bold, no underline. */
.article-section p:has(> a:only-child) > a,
.article-intro p:has(> a:only-child) > a {
  color: hsl(var(--foreground)) !important;
  font-family: "Quicksand", sans-serif !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  display: block;
}

.article-section p:has(> strong:only-child) > strong,
.article-intro p:has(> strong:only-child) > strong {
  color: hsl(var(--foreground)) !important;
  font-family: "Quicksand", sans-serif !important;
  font-weight: 700 !important;
  display: block;
}

/* Inline labels like <p><strong>Eksempel:</strong> text...</p> get a
   purple emphasis but NOT the pill (because there's more content). */
.article-section p > strong:first-child:not(:only-child) {
  color: hsl(var(--primary)) !important;
  font-weight: 700 !important;
}

/* Subtle hover affordance on H3 headings */
.article-section h3 {
  position: relative;
  transition: padding-left 0.2s ease;
}
.article-section h3:hover {
  padding-left: 1.15rem !important;
}

/* Better blockquote inside section */
.article-section blockquote {
  background: linear-gradient(135deg, hsl(var(--primary) / 0.06), hsl(var(--accent) / 0.04)) !important;
  border-left: 4px solid hsl(var(--primary)) !important;
  border-radius: 0 0.75rem 0.75rem 0 !important;
  padding: 1rem 1.2rem !important;
  margin: 1.25rem 0 !important;
}

/* Inline strong inside paragraphs — calmer accent */
.article-section p strong {
  color: hsl(var(--primary)) !important;
  font-weight: 600 !important;
}

/* Inline code / em styling */
.article-section em {
  font-style: italic;
  color: hsl(var(--foreground) / 0.85) !important;
}

/* Tables inside section cards — clean, compact */
.article-section table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 1.25rem 0 !important;
  border-radius: 0.85rem !important;
  overflow: hidden !important;
  border: 1px solid hsl(var(--primary) / 0.15) !important;
}
.article-section th {
  background: hsl(var(--primary) / 0.08) !important;
  color: hsl(var(--foreground)) !important;
  font-weight: 700 !important;
  text-align: left !important;
  padding: 0.7rem 1rem !important;
  font-family: "Quicksand", sans-serif !important;
}
.article-section td {
  padding: 0.65rem 1rem !important;
  border-top: 1px solid hsl(var(--primary) / 0.08) !important;
}

/* Mobile — slightly tighter cards */
@media (max-width: 640px) {
  .article-section {
    margin: 1.25rem 0 1.5rem 0 !important;
    padding: 1.2rem 1.15rem 1rem 1.15rem !important;
    border-radius: 1rem !important;
  }
  .article-section > h2:first-child,
  .prose .article-section > h2:first-child,
  .prose-no-bold .article-section > h2:first-child {
    font-size: 1.3rem !important;
  }
  .article-section p,
  .article-section li,
  .article-intro p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
  .article-intro > p:first-of-type {
    font-size: 1.08rem !important;
  }
  .article-intro > p:first-of-type::first-letter {
    font-size: 2.6rem;
    margin: 0.15rem 0.45rem -0.1rem 0;
  }
}

/* =========================================================================
   .article-calm — flatter, less "box-in-box" reading layout for /innhold
   articles. Removes nested card backgrounds and pill headings so the page
   reads as continuous prose with subtle accents instead of stacked boxes.
   Used everywhere except the eksamen-modellbesvarelse page.
   ========================================================================= */

/* Section cards become flat prose: NO background, NO border, NO accent line,
   NO left bars. Just generous spacing between sections. */
.article-calm .article-section,
.article-calm .article-section:nth-of-type(3n + 1),
.article-calm .article-section:nth-of-type(odd),
.article-calm .article-section:nth-of-type(even) {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 2rem 0 0 0 !important;
}
.article-calm .article-section:hover {
  box-shadow: none !important;
}
.article-calm .article-section::before,
.article-calm .article-section::after {
  display: none !important;
  content: none !important;
}
.article-calm .article-intro,
.article-calm .article-section:first-of-type {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* H2: just bold, no left bar, no pill, no background. */
.article-calm h2,
.article-calm .article-section > h2,
.article-calm .article-section > h2:first-child,
.article-calm.prose h2,
.article-calm.prose .article-section > h2:first-child,
.article-calm.prose-no-bold .article-section > h2:first-child {
  border: none !important;
  border-left: none !important;
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  margin-top: 2rem !important;
  margin-bottom: 0.85rem !important;
  color: hsl(var(--foreground)) !important;
}

/* H3: bold subhead — no pill, no fill, no left bar. */
.article-calm h3,
.article-calm .article-section h3,
.article-calm.prose h3,
.article-calm.prose .article-section h3,
.article-calm.prose-no-bold .article-section h3 {
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.55rem !important;
  color: hsl(var(--foreground)) !important;
}

/* H4: bold, slightly smaller. */
.article-calm h4,
.article-calm .article-section h4,
.article-calm.prose h4,
.article-calm.prose .article-section h4,
.article-calm.prose-no-bold .article-section h4 {
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin-top: 1.2rem !important;
  margin-bottom: 0.4rem !important;
}

/* Blockquote: flat, no box, no left bar. */
.article-calm blockquote,
.article-calm.prose blockquote,
.article-no-side-lines blockquote {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 1rem 0 !important;
  color: inherit !important;
  font-style: normal !important;
}
.article-calm blockquote p,
.article-no-side-lines blockquote > * {
  background: transparent !important;
  margin: 0.5rem 0 !important;
}

/* Kill any "pill-paragraph" boxes in calm articles — flat prose only. */
.article-calm .article-section p,
.article-calm .article-intro p,
.article-calm .article-section p:has(> a:only-child),
.article-calm .article-section p:has(> strong:only-child),
.article-calm .article-intro p:has(> a:only-child),
.article-calm .article-intro p:has(> strong:only-child),
.article-calm .article-section blockquote,
.article-no-side-lines .article-section p,
.article-no-side-lines .article-section p:has(> a:only-child),
.article-no-side-lines .article-section p:has(> strong:only-child),
.article-no-side-lines .article-section blockquote {
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0.75rem 0 !important;
  font-size: inherit !important;
}

.article-calm .article-section p:has(> a:only-child) > a,
.article-calm .article-intro p:has(> a:only-child) > a,
.article-calm .article-section p:has(> strong:only-child) > strong,
.article-calm .article-intro p:has(> strong:only-child) > strong {
  display: inline !important;
  font-family: inherit !important;
}

/* ============================================================
   Injiserte SVG-figurer (historie + geografi)
   – Responsiv skalering uten å overlappe tekst på mobil
   ============================================================ */
.ifingo-svg-figure {
  clear: both;
  max-width: 100%;
  box-sizing: border-box;
}
.ifingo-svg-figure > .ifingo-svg-scroll {
  width: 100%;
}
.ifingo-svg-figure > .ifingo-svg-scroll > svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* På smale skjermer: la brede diagrammer scrolle horisontalt
   slik at tekst i foreignObject forblir lesbar. */
@media (max-width: 640px) {
  .ifingo-svg-figure {
    margin: 1.5rem 0 !important;
    padding: 0.75rem !important;
    border-radius: 0.75rem !important;
  }
  .ifingo-svg-figure > .ifingo-svg-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .ifingo-svg-figure > .ifingo-svg-scroll > svg {
    min-width: 560px;
  }
  .ifingo-svg-figure > figcaption {
    font-size: 0.78rem !important;
    padding: 0 0.25rem;
  }
}

/* === Fysikk 1 oppgaver – ren, seksjonert visning (i stedet for chemistry-exercises) === */
.fysikk1-exercises h2 {
  margin: 2rem 0 0.75rem !important;
  padding: 0 0 0.5rem 0.9rem !important;
  background: none !important;
  border: none !important;
  border-left: 4px solid hsl(var(--primary)) !important;
  border-bottom: 1px solid hsl(var(--border)) !important;
  border-radius: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: hsl(var(--foreground)) !important;
  box-shadow: none !important;
}
.fysikk1-exercises h2:first-child {
  margin-top: 0 !important;
}
.fysikk1-exercises h2::before,
.fysikk1-exercises h2::after {
  display: none !important;
}

.fysikk1-exercises p {
  margin: 0.6rem 0 !important;
  line-height: 1.75;
}
.fysikk1-exercises ol,
.fysikk1-exercises ul {
  margin: 0.5rem 0 0.75rem 1.4rem !important;
}
.fysikk1-exercises li {
  margin-bottom: 0.3rem;
}
.fysikk1-exercises > ol > li::marker,
.fysikk1-exercises > ul > li::marker {
  color: hsl(var(--primary-light));
  font-weight: 700;
}

.fysikk1-exercises details {
  margin: 0.75rem 0 1.5rem !important;
  background: hsl(var(--muted) / 0.4) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 0.75rem !important;
  overflow: hidden;
  box-shadow: none !important;
}
.fysikk1-exercises details > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.8rem 1.1rem !important;
  font-weight: 600;
  color: hsl(var(--primary-light)) !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: hsl(var(--primary-light) / 0.06);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fysikk1-exercises details > summary::-webkit-details-marker {
  display: none;
}
.fysikk1-exercises details > summary::before {
  content: "\25B6";
  font-size: 0.65rem;
  display: inline-block;
  transition: transform 0.2s;
}
.fysikk1-exercises details[open] > summary::before {
  transform: rotate(90deg);
}
.fysikk1-exercises details > summary:hover {
  background: hsl(var(--primary) / 0.1);
}
.fysikk1-exercises details > *:not(summary) {
  padding: 0.5rem 1.1rem 1rem !important;
}
.fysikk1-exercises details p {
  margin: 0.4rem 0 !important;
}
.fysikk1-exercises details strong {
  color: hsl(var(--primary));
}
.dark .fysikk1-exercises details {
  background: hsl(var(--muted) / 0.25) !important;
}

/* ifingo - Fysikk 1 eksamen: skjul fasit bak knapp */
.ifingo-fasit-details {
  margin: 0.75rem 0 0 !important;
}
.ifingo-fasit-details > summary {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  list-style: none;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border: none;
  border-radius: 8px;
  padding: 0.45rem 1rem;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  margin: 0 0 0.6rem;
}
.ifingo-fasit-details > summary::-webkit-details-marker {
  display: none;
}
.ifingo-fasit-details > summary:hover {
  opacity: 0.92;
}
.ifingo-fasit-details .ifingo-summary-skjul {
  display: none;
}
.ifingo-fasit-details[open] .ifingo-summary-vis {
  display: none;
}
.ifingo-fasit-details[open] .ifingo-summary-skjul {
  display: inline;
}
.ifingo-cmark {
  visibility: hidden;
}
.ifingo-fasit-details[open] .ifingo-cmark {
  visibility: visible;
}

/* ============================================================
   ifingo - Lavendel svar-bakgrunn for ALLE oppgave-sider
   Match kjemi2 sin --ifingo-solution-bg stil (#faf5ff + #ddd6fe)
   Gjelder: fysikk1, biologi1/2, geografi, religion, psykologi,
   sosiologi, sosialantropologi, t1, p1/p2 - alt med .*-exercises
   ============================================================ */
.fysikk1-exercises details[open],
[class*="-exercises"] details[open],
[class*="-oppgaver-page"] details[open],
.chemistry-exercises details[open],
.biology-content details[open].ifingo-fasit-details,
.ifingo-fasit-details[open] {
  background: #faf5ff !important;
  border: 1px solid #ddd6fe !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  margin: 12px 0 16px !important;
  box-shadow: 0 2px 8px -2px rgba(95, 46, 234, 0.08);
}

/* Inni svar-boksen: ren typografi, ingen ekstra bg */
[class*="-exercises"] details[open] > *:not(summary),
[class*="-oppgaver-page"] details[open] > *:not(summary),
.ifingo-fasit-details[open] > *:not(summary) {
  background: transparent !important;
}

/* ExerciseCard svar-blokk (fysikk1 ekstra-oppgaver) */
.exercise-card .answer,
.exercise-card details[open],
.exercise-card [data-answer] {
  background: #faf5ff !important;
  border: 1px solid #ddd6fe !important;
  border-radius: 12px;
  padding: 14px 18px;
}

/* === ifingo · Religion: gjør hardkodede lilla innholdsbokser lyse og lesbare === */

/* 1) Boks-bakgrunner (div med lilla gradient) -> lys lavendel */
div[style*="linear-gradient(135deg,#8e5cff,#5f2eea)"],
div[style*="linear-gradient(135deg, #4a1fc7 0%, #5f2eea 50%, #8e5cff 100%)"],
div[style*="linear-gradient(135deg, #4a1fc7 0%, #5f2eea 100%)"],
div[style*="linear-gradient(135deg, #8B5CF6 0%, #6D28D9 100%)"] {
  background: #f5f3ff !important;
  border: 1px solid #e4e0fa !important;
  border-left: 4px solid #5f2eea !important;
}

/* 2) All tekst inne i boksene -> mørk og lesbar */
div[style*="linear-gradient(135deg,#8e5cff,#5f2eea)"] *,
div[style*="linear-gradient(135deg, #4a1fc7 0%, #5f2eea 50%, #8e5cff 100%)"] *,
div[style*="linear-gradient(135deg, #4a1fc7 0%, #5f2eea 100%)"] *,
div[style*="linear-gradient(135deg, #8B5CF6 0%, #6D28D9 100%)"] * {
  color: #2b2640 !important;
  opacity: 1 !important;
}

/* 3) Overskrifter inne i boksene -> lilla */
div[style*="linear-gradient(135deg,#8e5cff,#5f2eea)"] :is(h1, h2, h3, h4),
div[style*="linear-gradient(135deg, #4a1fc7 0%, #5f2eea 50%, #8e5cff 100%)"] :is(h1, h2, h3, h4),
div[style*="linear-gradient(135deg, #4a1fc7 0%, #5f2eea 100%)"] :is(h1, h2, h3, h4),
div[style*="linear-gradient(135deg, #8B5CF6 0%, #6D28D9 100%)"] :is(h1, h2, h3, h4) {
  color: #4a1fc7 !important;
}

/* 4) Tabell-headere -> behold lilla bakgrunn, men hvit tekst */
th[style*="linear-gradient(135deg,#8e5cff,#5f2eea)"],
tr[style*="background: #5f2eea"] th,
tr[style*="background:#5f2eea"] th,
th[style*="1px solid #8e5cff"] {
  color: #ffffff !important;
}

/* Skjul tomme avsnitt som gir unormal avstand mellom tekstblokker */
p:empty {
  display: none;
}

/* ============================================================
   OPPGAVER (Forstå-fanen) - bruker EKSAMEN-kort-designet (godkjent
   preview). Scoped til .chemistry-exercises (kun oppgaver-fanen).
   Styler kun eksisterende .ifingo-task-*. Ingen tekst/innhold endres.
   Kort med 5px gradient-stripe paa VENSTRE, gradient "Oppgave"-pille,
   tema-tag, "Vis losning"-kort med lavendel-gradient summary + ▸.
   ============================================================ */
.chemistry-exercises .ifingo-task-article {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.chemistry-exercises .ifingo-task-card {
  position: relative;
  background: #fff !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 22px 24px !important;
  margin: 0 0 22px !important;
  box-shadow:
    0 10px 28px -18px rgba(110, 63, 190, 0.32),
    0 0 0 1px rgba(124, 58, 237, 0.04) !important;
  overflow: hidden;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease;
}
.chemistry-exercises .ifingo-task-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(#7c3aed, #5f2eea);
}
.chemistry-exercises .ifingo-task-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -18px rgba(110, 63, 190, 0.42) !important;
}
.chemistry-exercises .ifingo-task-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.chemistry-exercises .ifingo-task-badge {
  background: linear-gradient(135deg, #f1ecfe, #e7ddfa) !important;
  color: #5f2eea !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
  padding: 5px 13px !important;
  border-radius: 999px !important;
  border: none !important;
}
.chemistry-exercises .ifingo-task-level {
  background: #faf8ff !important;
  color: #8b7fb0 !important;
  font-weight: 800 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  border: 1px solid #ece4fb !important;
}
.chemistry-exercises .ifingo-task-question {
  color: #43405a !important;
  font-size: 1.02rem;
  margin-bottom: 15px !important;
}
.chemistry-exercises .ifingo-task-question p {
  margin: 0 0 8px !important;
}
.chemistry-exercises .ifingo-solution-details {
  margin-top: 18px;
  border: 1px solid #e7ddfa !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden;
  padding: 0 !important;
  transition: box-shadow 0.16s ease;
}
.chemistry-exercises .ifingo-solution-details[open] {
  box-shadow: 0 6px 18px -12px rgba(110, 63, 190, 0.26);
}
.chemistry-exercises .ifingo-solution-details summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 18px !important;
  font-weight: 800 !important;
  color: #5f2eea !important;
  background: linear-gradient(135deg, #f5f1ff, #ece4fb) !important;
  transition: background 0.14s ease;
}
.chemistry-exercises .ifingo-solution-details summary:hover {
  background: linear-gradient(135deg, #efe9ff, #e3d8fa) !important;
}
.chemistry-exercises .ifingo-solution-details summary::-webkit-details-marker {
  display: none;
}
.chemistry-exercises .ifingo-solution-details summary::before {
  content: "\25B8";
  color: #7c3aed;
  font-size: 0.9em;
  transition: transform 0.2s ease;
}
.chemistry-exercises .ifingo-solution-details[open] summary::before {
  transform: rotate(90deg);
}
.chemistry-exercises .ifingo-solution-box {
  background: #f7f5ff !important;
  border: 1px solid #eee7fb !important;
  border-radius: 12px !important;
  margin: 14px 18px !important;
  padding: 13px 16px !important;
  color: #43405a !important;
}
.chemistry-exercises .ifingo-larer-mount {
  padding: 0 18px 16px !important;
  margin-top: 0 !important;
}
/* ============================================================
   FIGURER, GRAFER, TABELLER OG PYTHON i oppgavekort.
   Brukes av IfingoTaskCards (figur/losningsfigur-felt).
   ============================================================ */
.chemistry-exercises .ifingo-task-figure {
  margin: 14px 18px !important;
  text-align: center;
}
.chemistry-exercises .ifingo-solution-box .ifingo-task-figure {
  margin: 12px 0 !important;
}
.chemistry-exercises .ifingo-task-figure svg {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid #eee7fb;
  background: #fff;
}
.chemistry-exercises .ifingo-task-figure figcaption,
.chemistry-exercises .ifingo-task-figure .fig-caption {
  font-size: 13px;
  color: #6b6785;
  margin-top: 6px;
  text-align: center;
}
/* Python-kodeblokk (LK20-programmering) */
.chemistry-exercises .ifingo-code {
  display: block !important;
  background: #201a34 !important;
  color: #ece7ff !important;
  border: 1px solid #2f2850 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin: 14px 18px !important;
  font-family: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", monospace !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  overflow-x: auto !important;
  white-space: pre !important;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  text-align: left !important;
}
.chemistry-exercises .ifingo-solution-box .ifingo-code {
  margin: 12px 0 !important;
}
.chemistry-exercises .ifingo-code .cmt { color: #9b8cc9 !important; font-style: italic; }
.chemistry-exercises .ifingo-code .kw { color: #ff9ec4 !important; }
.chemistry-exercises .ifingo-code .num { color: #a5e6a0 !important; }
.chemistry-exercises .ifingo-code .str { color: #ffd79a !important; }
/* Eksamensguide-kort: fjern grå topp-kantlinje (behold skygge) */
.chemistry-exercises .ifingo-exam-guide {
  border: none !important;
  box-shadow:
    0 10px 28px -18px rgba(110, 63, 190, 0.32),
    0 0 0 1px rgba(124, 58, 237, 0.04) !important;
}

/* ============================================================
   LEGACY NIVAA-BOKSER (gronn/gul/rod) i oppgaver/eksamen ->
   kap 5 ifingo-task-card-look. KUN visuelt, scoped til
   .chemistry-exercises. Ingen tekst/innhold endres. Treffer
   nivaaboksene (border-radius:8px + margin:10px 0).
   ============================================================ */
.chemistry-exercises div[style*="border-radius:8px"][style*="margin:10px 0"] {
  position: relative !important;
  background: #fff !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 18px 22px 18px 26px !important;
  margin: 0 0 20px !important;
  box-shadow:
    0 10px 28px -18px rgba(110, 63, 190, 0.32),
    0 0 0 1px rgba(124, 58, 237, 0.04) !important;
  overflow: hidden;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease;
}
.chemistry-exercises div[style*="border-radius:8px"][style*="margin:10px 0"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(#7c3aed, #5f2eea);
}
.chemistry-exercises div[style*="border-radius:8px"][style*="margin:10px 0"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -18px rgba(110, 63, 190, 0.42) !important;
}
.chemistry-exercises div[style*="border-radius:8px"][style*="margin:10px 0"] > strong:first-child {
  display: inline-block;
  background: linear-gradient(135deg, #f1ecfe, #e7ddfa);
  color: #5f2eea;
  font-weight: 800;
  font-size: 0.8rem;
  padding: 5px 13px;
  border-radius: 999px;
  margin-bottom: 11px;
}
.chemistry-exercises div[style*="border-radius:8px"] details > summary[style*="cursor:pointer"] {
  list-style: none;
  color: #5f2eea !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #f5f1ff, #ece4fb) !important;
  padding: 10px 15px !important;
  border-radius: 11px !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.chemistry-exercises
  div[style*="border-radius:8px"]
  details
  > summary[style*="cursor:pointer"]::-webkit-details-marker {
  display: none;
}
.chemistry-exercises div[style*="border-radius:8px"] details > summary[style*="cursor:pointer"]::before {
  content: "\25B8";
  color: #7c3aed;
  font-size: 0.9em;
  transition: transform 0.2s ease;
}
.chemistry-exercises div[style*="border-radius:8px"] details[open] > summary[style*="cursor:pointer"]::before {
  transform: rotate(90deg);
}
.chemistry-exercises div[style*="border-top:1px solid"][style*="padding:10px 0"] {
  background: #f7f5ff !important;
  border: 1px solid #eee7fb !important;
  border-radius: 12px !important;
  margin-top: 12px !important;
  padding: 13px 16px !important;
  color: #43405a !important;
}

/* ============================================================
   MUNTLIG (muntlig-fanen) - lilla signatur (godkjent preview).
   Scoped til .chemistry-muntlig. Styler .muntlig-section/
   .muntlig-question/.vurderingskriterier + details (modellsvar).
   Maaloppnaelse fargekodes UTEN gronn: rod->gul->lilla. Ingen tekst endres.
   ============================================================ */
.chemistry-muntlig .muntlig-section > h2 {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid #e3d8fa !important;
  border-radius: 0 !important;
  color: #3f157f !important;
  padding: 0 0 8px !important;
  margin: 30px 0 14px !important;
  font-weight: 800 !important;
}
.chemistry-muntlig .muntlig-section > h2::before {
  display: none !important;
  content: none !important;
}
.chemistry-muntlig .muntlig-question {
  position: relative;
  background: #fff !important;
  border: 1px solid #ece4fb !important;
  border-left: 5px solid #6d28d9 !important;
  border-radius: 0 16px 16px 0 !important;
  padding: 18px 22px 20px !important;
  margin: 0 0 20px !important;
  box-shadow: 0 8px 26px -18px rgba(110, 63, 190, 0.42) !important;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease;
}
.chemistry-muntlig .muntlig-question:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -18px rgba(110, 63, 190, 0.5) !important;
}
.chemistry-muntlig .muntlig-question > h3 {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  font-size: 1.07rem !important;
  font-weight: 800 !important;
  color: #2b2640 !important;
}
.chemistry-muntlig .muntlig-question > h3::before {
  content: "\1F3A4 " !important;
  position: static !important;
  display: inline !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}
.chemistry-muntlig details {
  border: 1px solid #e7ddfa !important;
  border-radius: 13px !important;
  overflow: hidden;
  background: #fff !important;
  margin: 10px 0 !important;
  padding: 0 !important;
  transition: box-shadow 0.16s ease;
}
.chemistry-muntlig details[open] {
  box-shadow: 0 6px 18px -12px rgba(110, 63, 190, 0.28);
}
.chemistry-muntlig details summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 17px !important;
  font-weight: 800 !important;
  color: #5f2eea !important;
  background: linear-gradient(135deg, #f5f1ff, #ece4fb) !important;
  transition: background 0.14s ease;
}
.chemistry-muntlig details summary:hover {
  background: linear-gradient(135deg, #efe9ff, #e3d8fa) !important;
}
.chemistry-muntlig details summary::-webkit-details-marker {
  display: none;
}
.chemistry-muntlig details summary::before {
  content: "\25B8";
  color: #7c3aed;
  font-size: 0.9em;
  transition: transform 0.2s ease;
}
.chemistry-muntlig details[open] summary::before {
  transform: rotate(90deg);
}
.chemistry-muntlig details > :not(summary) {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
.chemistry-muntlig details > :not(summary):first-of-type {
  padding-top: 14px !important;
}
.chemistry-muntlig details > :not(summary):last-child {
  padding-bottom: 16px !important;
}
.chemistry-muntlig .vurderingskriterier ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 8px 0 0 !important;
}
.chemistry-muntlig .vurderingskriterier li {
  border-radius: 10px !important;
  padding: 9px 13px !important;
  margin: 8px 0 !important;
  border-left: 4px solid !important;
  list-style: none !important;
}
.chemistry-muntlig .vurderingskriterier li:nth-child(1) {
  background: #fef2f2 !important;
  border-color: #eda3a3 !important;
  color: #9b2c2c !important;
}
.chemistry-muntlig .vurderingskriterier li:nth-child(2) {
  background: #fffbeb !important;
  border-color: #f1cf73 !important;
  color: #8a6314 !important;
}
.chemistry-muntlig .vurderingskriterier li:nth-child(3) {
  background: #f3eeff !important;
  border-color: #7c3aed !important;
  color: #5b21b6 !important;
}
.chemistry-muntlig .vurderingskriterier li strong {
  color: inherit !important;
  display: block;
  font-size: 0.82em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 1px;
}

/* ============================================================
   EKSAMEN Del 2/3 (.sub-section) - bryt opp den flate lavendel-
   veggen til lesbar Q&A. Sporsmal (p>strong) = header-kort m/ lilla
   venstre-aksent; "Forventet svar" (p>em) = hvit svar-boks m/ label.
   Kun visuelt via :has(), ingen tekst endres. Scoped .chemistry-exercises.
   ============================================================ */
.chemistry-exercises .sub-section > p:has(> strong:first-child) {
  position: relative;
  background: #fff;
  border-left: 4px solid #7c3aed;
  border-radius: 0 10px 10px 0;
  padding: 11px 15px;
  margin: 20px 0 9px;
  font-weight: 700;
  color: #2b2640;
  line-height: 1.45;
  box-shadow: 0 5px 16px -11px rgba(110, 63, 190, 0.45);
}
.chemistry-exercises .sub-section > p:has(> strong:first-child):first-child {
  margin-top: 0;
}
.chemistry-exercises .sub-section > p:has(> strong:first-child) > strong {
  font-weight: 700;
  color: #2b2640;
}
.chemistry-exercises .sub-section > p:has(> em:first-child) {
  background: #fff;
  border: 1px solid #ece4fb;
  border-radius: 11px;
  padding: 13px 16px;
  margin: 0 0 6px;
  color: #43405a;
  line-height: 1.6;
}
.chemistry-exercises .sub-section > p:has(> em:first-child) > em:first-child {
  display: block;
  color: #5f2eea;
  font-style: normal;
  font-weight: 800;
  font-size: 0.72em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 5px;
}

/* === Forsøk hero-effekter: shine-sweep + animert lilla bunnlinje (alle forsøk-sider) === */
.eg-page .ig-page .ig-hero {
  isolation: isolate;
}
.eg-page .ig-page .ig-hero::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -65%;
  width: 55%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
  z-index: 0;
  animation: igHeroShine 6s ease-in-out infinite;
}
.eg-page .ig-page .ig-hero > * {
  position: relative;
  z-index: 1;
}
.eg-page .ig-page .ig-hero::after {
  z-index: 2;
  background: linear-gradient(90deg, var(--vib, #8757f2), var(--pur, #6e3fbe), #b18cff, var(--vib, #8757f2));
  background-size: 200% 100%;
  animation: igHeroStripe 3.2s linear infinite;
}
@keyframes igHeroShine {
  0% {
    left: -65%;
  }
  60% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
@keyframes igHeroStripe {
  to {
    background-position: -200% 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .eg-page .ig-page .ig-hero::before,
  .eg-page .ig-page .ig-hero::after {
    animation: none;
  }
}
/* === Forsøk figur-effekter: hover-zoom + klikk-lupe (lightbox) + hero-bobler === */
.eg-page .ig-fig {
  cursor: zoom-in;
}
.eg-page .ig-fig img {
  transition: transform 0.4s ease;
}
.eg-page .ig-fig:hover img {
  transform: scale(1.035);
}
.ig-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(30, 20, 55, 0.82);
  opacity: 0;
  transition: opacity 0.2s;
  cursor: zoom-out;
  padding: 24px;
}
.ig-lightbox.open {
  opacity: 1;
}
.ig-lightbox img {
  max-width: 94vw;
  max-height: 92vh;
  border-radius: 14px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  transform: scale(0.96);
  transition: transform 0.25s;
}
.ig-lightbox.open img {
  transform: scale(1);
}
.eg-page .ig-page .ig-hero .ig-bubble {
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.7), rgba(160, 127, 224, 0.5));
  pointer-events: none;
  will-change: transform;
}
.eg-page .ig-page .ig-hero .ig-b0 {
  width: 54px;
  height: 54px;
  right: 8%;
  top: 18%;
  opacity: 0.3;
  animation: igFloat 7s ease-in-out infinite;
}

/* Sammendrag-boks: fjern dobbel kulemarkør.
   .summary-box (kjemi1/kjemi2 sammendrag-redesign) setter list-style:disc selv,
   men .biology-content ul li::before la til en ekstra prikk oppå -> "mange sirkler".
   Skjuler den ekstra ::before-prikken kun inne i .summary-box. */
.chemistry-content .summary-box ul li::before,
.biology-content .summary-box ul li::before {
  content: none !important;
  display: none !important;
}

/* Premium-komponenter for kjemi-kapitler (ifingo-card + formula-box).
   Var tidligere kun definert inline i Kjemi 1-innholdet; gjort global slik at
   Kjemi 2 (og alle kjemi-kapitler) får samme premium-utseende. Verdier hentet
   1:1 fra Kjemi 1 syre-base. */
.chemistry-content .ifingo-card {
  background: #ffffff;
  border: 1px solid #ece4fb;
  border-radius: 18px;
  padding: 24px 26px 24px 30px;
  margin: 32px 0;
  box-shadow: 0 8px 26px -14px rgba(110, 63, 190, 0.28);
}
.chemistry-content .ifingo-card-header {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 14px;
}
.chemistry-content .ifingo-card-header .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: linear-gradient(135deg, #f3ecfe, #e7dcfb);
  border-radius: 13px;
  font-size: 22px;
  line-height: 1;
}
.chemistry-content .ifingo-card-header h4 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #221036;
  line-height: 1.3;
}
.chemistry-content .formula-box {
  background: transparent;
  border: 1px solid #e9d5ff;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 24px 0;
  text-align: center;
  font-size: 20px;
  line-height: 1.8;
  color: #4c1d95;
}

/* ============================================================
   PUNKT 3 (mobil): brede innholdstabeller skal scrolle vannrett
   i stedet for å sprenge skjermen. Scoped til innholds-/prose-/
   artikkel-tabeller, så admin- og UI-tabeller ikke berøres.
   ============================================================ */
@media (max-width: 640px) {
  [class*="-content"] table,
  .prose table,
  article table {
    display: block !important;
    overflow-x: auto !important;
    max-width: 100% !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* Contrast fix: keep accent backgrounds unchanged, but make text-accent AA-safe on light chips. */
.text-accent {
  color: hsl(var(--accent-strong)) !important;
}

/* Biologi 1 oppgaver/eksamen – Kjemi 1-kortdesign (lavender, ikke grønt).
   Oppgaver: flate .exercise-block -> pene kort. Eksamen: .exam-block med
   .exam-tag (badge) + .model-answer (fasitboks). Kun CSS, ingen innholdsendring. */
.biology-exercises .exercise-block {
  background: #ffffff;
  border: 1px solid #ece4fb;
  border-radius: 14px;
  padding: 1.1rem 1.4rem;
  margin: 1rem 0;
  box-shadow: 0 6px 20px -14px rgba(110, 63, 190, 0.28);
}
.biology-exercises .exercise-block > p:first-child {
  margin-top: 0;
}
.biology-exercises .exercise-block > p:last-child {
  margin-bottom: 0;
}

.biology-content .exam-block {
  background: #ffffff;
  border: 1px solid #ece4fb;
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  margin: 1.25rem 0;
  box-shadow: 0 8px 26px -14px rgba(110, 63, 190, 0.28);
}
.biology-content .exam-block .exam-tag {
  display: inline-block;
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.2px;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  margin-bottom: 0.6rem;
}
.biology-content .exam-block .model-answer {
  margin-top: 1rem;
  background: hsl(var(--primary) / 0.05);
  border: 1px solid hsl(var(--primary) / 0.18);
  border-left: 4px solid hsl(var(--primary) / 0.55);
  border-radius: 0 12px 12px 0;
  padding: 0.9rem 1.15rem;
}
.biology-content .exam-block .model-answer h4 {
  margin: 0 0 0.45rem;
  color: hsl(var(--primary));
  font-size: 0.95rem;
  font-weight: 700;
}

/* Biologi 1 eksamen – kollapsbar «Vis løsning» (som Kjemi 1 ifingo-solution-details) */
.biology-content .bio-losning {
  margin-top: 0.85rem;
}
.biology-content .bio-losning > summary {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: hsl(var(--primary) / 0.1);
  color: hsl(var(--primary));
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background 0.2s;
}
.biology-content .bio-losning > summary:hover {
  background: hsl(var(--primary) / 0.18);
}
.biology-content .bio-losning > summary::-webkit-details-marker {
  display: none;
}
.biology-content .bio-losning > summary::before {
  content: "▶";
  font-size: 0.7rem;
  transition: transform 0.2s;
}
.biology-content .bio-losning[open] > summary::before {
  transform: rotate(90deg);
}
.biology-content .bio-losning[open] > summary {
  margin-bottom: 0.6rem;
}
.biology-content .bio-losning .model-answer {
  margin-top: 0;
}
/* Sikre at modellsvaret faktisk er skjult når «Vis løsning» er lukket */
.biology-content .bio-losning:not([open]) > .model-answer {
  display: none !important;
}

/* Biologi 1: grønne innholdsbokser -> lavender (ifingo-farge). Appendet sist = vinner i kaskaden. */
.biology-content .example-box,
.biology-content .exercise-box {
  background: linear-gradient(135deg, hsl(260 50% 96%), hsl(285 45% 97%));
  border: 1px solid hsl(var(--primary) / 0.18);
  border-left: 4px solid hsl(var(--primary) / 0.55);
  box-shadow: 0 2px 12px hsl(260 60% 55% / 0.07);
}
.dark .biology-content .example-box,
.dark .biology-content .exercise-box {
  background: linear-gradient(135deg, hsl(260 30% 17%), hsl(285 25% 18%));
  border-color: hsl(var(--primary) / 0.28);
}
.biology-content .exercise-box h3,
.biology-content .exercise-box h4 {
  color: hsl(var(--primary));
}
.biology-content .exercise-box ::marker,
.biology-content .example-box ::marker {
  color: hsl(var(--primary));
}
/* grønne inline-rammer (keybox o.l.) i biologi-innhold -> lavender */
.biology-content .keybox {
  border-color: hsl(var(--primary) / 0.5) !important;
  background: hsl(var(--primary) / 0.05) !important;
}

/* Biologi 1: kollapsbar kapittel-FAQ */
.biology-content details.bio-faq {
  border: 1px solid hsl(var(--primary) / 0.18);
  border-radius: 12px;
  background: hsl(var(--primary) / 0.04);
  margin: 0.6rem 0;
  padding: 0 1.1rem;
}
.biology-content details.bio-faq > summary {
  cursor: pointer;
  font-weight: 600;
  color: hsl(var(--foreground));
  padding: 0.9rem 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}
.biology-content details.bio-faq > summary::-webkit-details-marker {
  display: none;
}
.biology-content details.bio-faq > summary::after {
  content: "+";
  color: hsl(var(--primary));
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
}
.biology-content details.bio-faq[open] > summary::after {
  content: "−";
}
.biology-content details.bio-faq > summary * {
  margin: 0;
}
.biology-content details.bio-faq > *:not(summary) {
  margin: 0 0 0.9rem;
}

/* === ifingo: hero-bilde-effekt på alle psykologi-kapittel- og cheat-sheet-hero (psyk 1 + 2) ===
   Lilla linje under + zoom på hover + shine-sveip. Treffer hero-containeren globalt. */
.rounded-3xl.overflow-hidden.bg-primary\/5 {
  position: relative;
  border-bottom: 4px solid #5f2eea !important;
}
.rounded-3xl.overflow-hidden.bg-primary\/5 img:first-of-type {
  transition: transform 0.7s ease;
}
.rounded-3xl.overflow-hidden.bg-primary\/5:hover img:first-of-type {
  transform: scale(1.05);
}
.rounded-3xl.overflow-hidden.bg-primary\/5::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: ifgHeroShine 3.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 5;
}
@keyframes ifgHeroShine {
  0%,
  55% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(120%);
  }
}

/* Fix: ig-guide TOC (.ig-toc) was position:sticky + rgba(255,255,255,.82) with no backdrop-filter, so page content bled through when it stuck on scroll. Render as a normal solid block. */
.eg-page .ig-toc{position:static !important;background:#ffffff !important}

/* Kontrast-fiks: R1-kapitlenes "Hovedidé"-kort (.formula-panel) hadde mørk formel-tekst
   på lilla bakgrunn = usynlig. Tving lys tekst (høyere spesifisitet enn innholdets egen \3c style>). */
.s1-content aside.formula-panel,
.s1-content aside.formula-panel span,
.s1-content aside.formula-panel strong,
.s1-content aside.formula-panel p,
.math-content aside.formula-panel,
.math-content aside.formula-panel span,
.math-content aside.formula-panel strong,
.math-content aside.formula-panel p{color:#ffffff !important}
.marker\:hidden *::marker {
  display: none;
}
.marker\:hidden::marker {
  display: none;
}
.selection\:bg-green-900\/40 *::-moz-selection {
  background-color: rgb(20 83 45 / 0.4);
}
.selection\:bg-green-900\/40 *::selection {
  background-color: rgb(20 83 45 / 0.4);
}
.selection\:bg-green-900\/40::-moz-selection {
  background-color: rgb(20 83 45 / 0.4);
}
.selection\:bg-green-900\/40::selection {
  background-color: rgb(20 83 45 / 0.4);
}
.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 {
  color: hsl(var(--foreground));
}
.placeholder\:text-\[\#9b94aa\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(155 148 170 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#9b94aa\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(155 148 170 / var(--tw-text-opacity, 1));
}
.placeholder\:text-muted-foreground::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}
.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-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}
.after\:inset-x-0::after {
  content: var(--tw-content);
  left: 0px;
  right: 0px;
}
.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}
.after\:bottom-0::after {
  content: var(--tw-content);
  bottom: 0px;
}
.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}
.after\:left-5::after {
  content: var(--tw-content);
  left: 1.25rem;
}
.after\:left-\[98px\]::after {
  content: var(--tw-content);
  left: 98px;
}
.after\:top-6::after {
  content: var(--tw-content);
  top: 1.5rem;
}
.after\:h-8::after {
  content: var(--tw-content);
  height: 2rem;
}
.after\:h-\[3px\]::after {
  content: var(--tw-content);
  height: 3px;
}
.after\:w-1::after {
  content: var(--tw-content);
  width: 0.25rem;
}
.after\:w-6::after {
  content: var(--tw-content);
  width: 1.5rem;
}
.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}
.after\:w-\[38\%\]::after {
  content: var(--tw-content);
  width: 38%;
}
.after\:origin-center::after {
  content: var(--tw-content);
  transform-origin: center;
}
.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --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));
}
.after\:scale-x-0::after {
  content: var(--tw-content);
  --tw-scale-x: 0;
  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));
}
.after\:rounded-t-xl::after {
  content: var(--tw-content);
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.after\:bg-primary::after {
  content: var(--tw-content);
  background-color: hsl(var(--primary));
}
.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:bg-gradient-to-r::after {
  content: var(--tw-content);
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.after\:from-primary::after {
  content: var(--tw-content);
  --tw-gradient-from: hsl(var(--primary)) 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);
}
.after\:via-violet-400::after {
  content: var(--tw-content);
  --tw-gradient-to: rgb(167 139 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a78bfa var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.after\:to-transparent::after {
  content: var(--tw-content);
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:transition-transform::after {
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.first\:rounded-l-md:first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.first\:border-l:first-child {
  border-left-width: 1px;
}
.last\:rounded-b-2xl:last-child {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.last\:rounded-r-md:last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:border-r-0:last-child {
  border-right-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.open\:border-primary\/25[open] {
  border-color: hsl(var(--primary) / 0.25);
}
.open\:border-primary\/30[open] {
  border-color: hsl(var(--primary) / 0.3);
}
.open\:border-primary\/40[open] {
  border-color: hsl(var(--primary) / 0.4);
}
.open\:bg-\[\#5f2eea\]\/\[0\.06\][open] {
  background-color: rgb(95 46 234 / 0.06);
}
.open\:bg-primary\/5[open] {
  background-color: hsl(var(--primary) / 0.05);
}
.open\:bg-primary\/\[\.025\][open] {
  background-color: hsl(var(--primary) / .025);
}
.open\:bg-primary\/\[0\.025\][open] {
  background-color: hsl(var(--primary) / 0.025);
}
.open\:shadow-md[open] {
  --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);
}
.open\:shadow-sm[open] {
  --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);
}
.focus-within\:relative:focus-within {
  position: relative;
}
.focus-within\:z-20:focus-within {
  z-index: 20;
}
.focus-within\:border-violet-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.focus-within\:shadow-\[0_18px_60px_rgba\(109\2c 40\2c 217\2c \.16\)\2c 0_0_0_4px_rgba\(139\2c 92\2c 246\2c \.08\)\]:focus-within {
  --tw-shadow: 0 18px 60px rgba(109,40,217,.16),0 0 0 4px rgba(139,92,246,.08);
  --tw-shadow-colored: 0 18px 60px var(--tw-shadow-color), 0 0 0 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:-translate-x-1:hover {
  --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));
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-1\.5:hover {
  --tw-translate-y: -0.375rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-2:hover {
  --tw-translate-y: -0.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));
}
.hover\:translate-x-0\.5:hover {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:translate-x-1:hover {
  --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));
}
.hover\:rotate-3:hover {
  --tw-rotate: 3deg;
  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\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.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));
}
.hover\:scale-\[1\.02\]:hover {
  --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));
}
.hover\:scale-\[1\.03\]:hover {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.04\]:hover {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  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\:gap-2\.5:hover {
  gap: 0.625rem;
}
.hover\:gap-3:hover {
  gap: 0.75rem;
}
.hover\:border-\[\#5f2eea\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(95 46 234 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#5f2eea\]\/40:hover {
  border-color: rgb(95 46 234 / 0.4);
}
.hover\:border-\[\#7c6cf3\]\/40:hover {
  border-color: rgb(124 108 243 / 0.4);
}
.hover\:border-\[\#8b5cf6\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#8b5fc2\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(139 95 194 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#9f7aea\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(159 122 234 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#a78bfa\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#b9a5e9\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(185 165 233 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#bca7df\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(188 167 223 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#c4b5fd\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.hover\:border-\[var\(--exam-color\)\]:hover {
  border-color: var(--exam-color);
}
.hover\:border-amber-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.hover\:border-cyan-200\/50:hover {
  border-color: rgb(165 243 252 / 0.5);
}
.hover\:border-destructive\/40:hover {
  border-color: hsl(var(--destructive) / 0.4);
}
.hover\:border-emerald-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.hover\:border-fuchsia-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(240 171 252 / var(--tw-border-opacity, 1));
}
.hover\:border-primary:hover {
  border-color: hsl(var(--primary));
}
.hover\:border-primary\/20:hover {
  border-color: hsl(var(--primary) / 0.2);
}
.hover\:border-primary\/25:hover {
  border-color: hsl(var(--primary) / 0.25);
}
.hover\:border-primary\/30:hover {
  border-color: hsl(var(--primary) / 0.3);
}
.hover\:border-primary\/35:hover {
  border-color: hsl(var(--primary) / 0.35);
}
.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\:border-primary\/60:hover {
  border-color: hsl(var(--primary) / 0.6);
}
.hover\:border-purple-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-400\/50:hover {
  border-color: rgb(192 132 252 / 0.5);
}
.hover\:border-rose-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.hover\:border-sky-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.hover\:border-violet-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.hover\:border-violet-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.hover\:border-violet-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.hover\:border-violet-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.hover\:border-white\/50:hover {
  border-color: rgb(255 255 255 / 0.5);
}
.hover\:bg-\[\#4a1fc7\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(74 31 199 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#5326c9\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(83 38 201 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#5B21B6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(91 33 182 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#5b21b6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(91 33 182 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#5b48d9\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(91 72 217 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#5f2eea\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(95 46 234 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#CECBF6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(206 203 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#EDE9FE\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#ddd6fe\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#e64f1d\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 79 29 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#ede9fe\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#eee7ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 231 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#f3eefe\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 238 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#f3efff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 239 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#f5f1ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 241 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#f5f3ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#f7f4ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(247 244 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#f8f5ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 245 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#faf8ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 248 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[hsl\(var\(--pastel-purple\)\)\]\/30:hover {
  background-color: hsl(var(--pastel-purple) / 0.3);
}
.hover\:bg-\[var\(--exam-soft\)\]:hover {
  background-color: var(--exam-soft);
}
.hover\:bg-accent:hover {
  background-color: hsl(var(--accent));
}
.hover\:bg-accent\/20:hover {
  background-color: hsl(var(--accent) / 0.2);
}
.hover\:bg-accent\/30:hover {
  background-color: hsl(var(--accent) / 0.3);
}
.hover\:bg-accent\/90:hover {
  background-color: hsl(var(--accent) / 0.9);
}
.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-500\/20:hover {
  background-color: rgb(245 158 11 / 0.2);
}
.hover\:bg-background:hover {
  background-color: hsl(var(--background));
}
.hover\:bg-background\/60:hover {
  background-color: hsl(var(--background) / 0.6);
}
.hover\:bg-background\/95:hover {
  background-color: hsl(var(--background) / 0.95);
}
.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-blue-500\/10:hover {
  background-color: rgb(59 130 246 / 0.1);
}
.hover\:bg-card:hover {
  background-color: hsl(var(--card));
}
.hover\:bg-card\/80:hover {
  background-color: hsl(var(--card) / 0.8);
}
.hover\:bg-cyan-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-destructive\/10:hover {
  background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/20:hover {
  background-color: hsl(var(--destructive) / 0.2);
}
.hover\:bg-destructive\/5:hover {
  background-color: hsl(var(--destructive) / 0.05);
}
.hover\:bg-destructive\/80:hover {
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-200\/80:hover {
  background-color: rgb(167 243 208 / 0.8);
}
.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2);
}
.hover\:bg-emerald-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}
.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\/70:hover {
  background-color: hsl(var(--muted) / 0.7);
}
.hover\:bg-muted\/80:hover {
  background-color: hsl(var(--muted) / 0.8);
}
.hover\:bg-orange-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary:hover {
  background-color: hsl(var(--primary));
}
.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\/40:hover {
  background-color: hsl(var(--primary) / 0.4);
}
.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-primary\/\[0\.025\]:hover {
  background-color: hsl(var(--primary) / 0.025);
}
.hover\:bg-primary\/\[0\.035\]:hover {
  background-color: hsl(var(--primary) / 0.035);
}
.hover\:bg-primary\/\[0\.03\]:hover {
  background-color: hsl(var(--primary) / 0.03);
}
.hover\:bg-primary\/\[0\.04\]:hover {
  background-color: hsl(var(--primary) / 0.04);
}
.hover\:bg-primary\/\[0\.06\]:hover {
  background-color: hsl(var(--primary) / 0.06);
}
.hover\:bg-primary\/\[0\.07\]:hover {
  background-color: hsl(var(--primary) / 0.07);
}
.hover\:bg-primary\/\[0\.085\]:hover {
  background-color: hsl(var(--primary) / 0.085);
}
.hover\:bg-purple-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-100\/70:hover {
  background-color: rgb(243 232 255 / 0.7);
}
.hover\:bg-purple-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-500\/5:hover {
  background-color: rgb(168 85 247 / 0.05);
}
.hover\:bg-purple-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-200\/80:hover {
  background-color: rgb(254 202 202 / 0.8);
}
.hover\:bg-rose-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/20:hover {
  background-color: hsl(var(--secondary) / 0.2);
}
.hover\:bg-secondary\/40:hover {
  background-color: hsl(var(--secondary) / 0.4);
}
.hover\:bg-secondary\/50:hover {
  background-color: hsl(var(--secondary) / 0.5);
}
.hover\:bg-secondary\/80:hover {
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sidebar-accent:hover {
  background-color: hsl(var(--sidebar-accent));
}
.hover\:bg-sky-500\/10:hover {
  background-color: rgb(14 165 233 / 0.1);
}
.hover\:bg-violet-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-100\/50:hover {
  background-color: rgb(237 233 254 / 0.5);
}
.hover\:bg-violet-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-50\/35:hover {
  background-color: rgb(245 243 255 / 0.35);
}
.hover\:bg-violet-50\/50:hover {
  background-color: rgb(245 243 255 / 0.5);
}
.hover\:bg-violet-50\/70:hover {
  background-color: rgb(245 243 255 / 0.7);
}
.hover\:bg-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(91 33 182 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/25:hover {
  background-color: rgb(255 255 255 / 0.25);
}
.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}
.hover\:bg-yellow-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gradient-to-br:hover {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.hover\:from-\[\#5f2eea\]\/10:hover {
  --tw-gradient-from: rgb(95 46 234 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(95 46 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-primary\/25:hover {
  --tw-gradient-from: hsl(var(--primary) / 0.25) 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);
}
.hover\:from-violet-50:hover {
  --tw-gradient-from: #f5f3ff 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);
}
.hover\:to-\[\#5f2eea\]\/15:hover {
  --tw-gradient-to: rgb(95 46 234 / 0.15) var(--tw-gradient-to-position);
}
.hover\:to-emerald-500\/20:hover {
  --tw-gradient-to: rgb(16 185 129 / 0.2) var(--tw-gradient-to-position);
}
.hover\:to-violet-100:hover {
  --tw-gradient-to: #ede9fe var(--tw-gradient-to-position);
}
.hover\:px-4:hover {
  padding-left: 1rem;
  padding-right: 1rem;
}
.hover\:\!text-white:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.hover\:text-\[\#3C3489\]:hover {
  --tw-text-opacity: 1;
  color: rgb(60 52 137 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#5b21b6\]:hover {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#5f2eea\]:hover {
  --tw-text-opacity: 1;
  color: rgb(95 46 234 / var(--tw-text-opacity, 1));
}
.hover\:text-\[var\(--exam-color\)\]:hover {
  color: var(--exam-color);
}
.hover\:text-accent-foreground:hover {
  color: hsl(var(--accent-foreground));
}
.hover\:text-amber-700:hover {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-destructive:hover {
  color: hsl(var(--destructive));
}
.hover\:text-foreground:hover {
  color: hsl(var(--foreground));
}
.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}
.hover\:text-primary:hover {
  color: hsl(var(--primary));
}
.hover\:text-primary-foreground:hover {
  color: hsl(var(--primary-foreground));
}
.hover\:text-primary\/70:hover {
  color: hsl(var(--primary) / 0.7);
}
.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}
.hover\:text-primary\/90:hover {
  color: hsl(var(--primary) / 0.9);
}
.hover\:text-purple-500:hover {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.hover\:text-sidebar-accent-foreground:hover {
  color: hsl(var(--sidebar-accent-foreground));
}
.hover\:text-sky-600:hover {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.hover\:text-violet-700:hover {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.hover\:text-violet-800:hover {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.hover\:text-violet-900:hover {
  --tw-text-opacity: 1;
  color: rgb(76 29 149 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-white\/80:hover {
  color: rgb(255 255 255 / 0.8);
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:opacity-95:hover {
  opacity: 0.95;
}
.hover\:shadow-2xl:hover {
  --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);
}
.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_15px_28px_rgba\(95\2c 46\2c 234\2c \.28\)\]:hover {
  --tw-shadow: 0 15px 28px rgba(95,46,234,.28);
  --tw-shadow-colored: 0 15px 28px 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_15px_30px_rgba\(95\2c 46\2c 234\2c 0\.3\)\]:hover {
  --tw-shadow: 0 15px 30px rgba(95,46,234,0.3);
  --tw-shadow-colored: 0 15px 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);
}
.hover\:shadow-\[0_16px_35px_rgba\(95\2c 46\2c 234\2c 0\.09\)\]:hover {
  --tw-shadow: 0 16px 35px rgba(95,46,234,0.09);
  --tw-shadow-colored: 0 16px 35px 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_16px_36px_rgba\(65\2c 40\2c 130\2c 0\.12\)\]:hover {
  --tw-shadow: 0 16px 36px rgba(65,40,130,0.12);
  --tw-shadow-colored: 0 16px 36px 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_18px_42px_rgba\(95\2c 46\2c 234\2c 0\.12\)\]:hover {
  --tw-shadow: 0 18px 42px rgba(95,46,234,0.12);
  --tw-shadow-colored: 0 18px 42px 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_18px_42px_rgba\(95\2c 46\2c 234\2c 0\.32\)\]:hover {
  --tw-shadow: 0 18px 42px rgba(95,46,234,0.32);
  --tw-shadow-colored: 0 18px 42px 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_18px_48px_hsl\(var\(--primary\)\/0\.12\)\]:hover {
  --tw-shadow: 0 18px 48px hsl(var(--primary)/0.12);
  --tw-shadow-colored: 0 18px 48px 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_20px_45px_rgba\(95\2c 46\2c 234\2c 0\.35\)\]:hover {
  --tw-shadow: 0 20px 45px rgba(95,46,234,0.35);
  --tw-shadow-colored: 0 20px 45px 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_20px_46px_rgba\(75\2c 48\2c 140\2c 0\.15\)\]:hover {
  --tw-shadow: 0 20px 46px rgba(75,48,140,0.15);
  --tw-shadow-colored: 0 20px 46px 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_22px_44px_rgba\(95\2c 46\2c 234\2c 0\.15\)\]:hover {
  --tw-shadow: 0 22px 44px rgba(95,46,234,0.15);
  --tw-shadow-colored: 0 22px 44px 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_22px_48px_rgba\(67\2c 42\2c 130\2c 0\.14\)\]:hover {
  --tw-shadow: 0 22px 48px rgba(67,42,130,0.14);
  --tw-shadow-colored: 0 22px 48px 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_22px_48px_rgba\(68\2c 45\2c 125\2c 0\.14\)\]:hover {
  --tw-shadow: 0 22px 48px rgba(68,45,125,0.14);
  --tw-shadow-colored: 0 22px 48px 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_22px_54px_rgba\(69\2c 42\2c 126\2c 0\.14\)\]:hover {
  --tw-shadow: 0 22px 54px rgba(69,42,126,0.14);
  --tw-shadow-colored: 0 22px 54px 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_22px_55px_rgba\(74\2c 31\2c 199\2c 0\.13\)\]:hover {
  --tw-shadow: 0 22px 55px rgba(74,31,199,0.13);
  --tw-shadow-colored: 0 22px 55px 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_23px_44px_rgba\(95\2c 46\2c 234\2c \.34\)\]:hover {
  --tw-shadow: 0 23px 44px rgba(95,46,234,.34);
  --tw-shadow-colored: 0 23px 44px 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_48px_-12px_hsl\(var\(--primary\)\/0\.16\)\]:hover {
  --tw-shadow: 0 24px 48px -12px hsl(var(--primary)/0.16);
  --tw-shadow-colored: 0 24px 48px -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);
}
.hover\:shadow-\[0_24px_58px_rgba\(69\2c 45\2c 130\2c 0\.14\)\]:hover {
  --tw-shadow: 0 24px 58px rgba(69,45,130,0.14);
  --tw-shadow-colored: 0 24px 58px 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_25px_55px_rgba\(65\2c 39\2c 113\2c 0\.14\)\]:hover {
  --tw-shadow: 0 25px 55px rgba(65,39,113,0.14);
  --tw-shadow-colored: 0 25px 55px 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_26px_60px_-35px_var\(--exam-color\)\]:hover {
  --tw-shadow: 0 26px 60px -35px var(--exam-color);
  --tw-shadow-colored: 0 26px 60px -35px 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_27px_58px_rgba\(95\2c 46\2c 234\2c 0\.16\)\]:hover {
  --tw-shadow: 0 27px 58px rgba(95,46,234,0.16);
  --tw-shadow-colored: 0 27px 58px 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_28px_56px_-12px_hsl\(var\(--primary\)\/0\.22\)\]:hover {
  --tw-shadow: 0 28px 56px -12px hsl(var(--primary)/0.22);
  --tw-shadow-colored: 0 28px 56px -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);
}
.hover\:shadow-\[0_28px_70px_rgba\(95\2c 46\2c 234\2c 0\.13\)\]:hover {
  --tw-shadow: 0 28px 70px rgba(95,46,234,0.13);
  --tw-shadow-colored: 0 28px 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-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover {
  --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);
}
.hover\:shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[\#5f2eea44\]:hover {
  --tw-shadow-color: #5f2eea44;
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-amber-200\/60:hover {
  --tw-shadow-color: rgb(253 230 138 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-fuchsia-200\/60:hover {
  --tw-shadow-color: rgb(245 208 254 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/10:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/25:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/30:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/35:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.35);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/40:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/5:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-primary\/\[0\.07\]:hover {
  --tw-shadow-color: hsl(var(--primary) / 0.07);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-sky-200\/60:hover {
  --tw-shadow-color: rgb(186 230 253 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-violet-200\/60:hover {
  --tw-shadow-color: rgb(221 214 254 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-white\/20:hover {
  --tw-shadow-color: rgb(255 255 255 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.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:hover {
  --tw-ring-color: hsl(var(--primary));
}
.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hover\:brightness-\[0\.98\]:hover {
  --tw-brightness: brightness(0.98);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hover\:after\:h-1:hover::after {
  content: var(--tw-content);
  height: 0.25rem;
}
.hover\:after\:w-\[62\%\]:hover::after {
  content: var(--tw-content);
  width: 62%;
}
.hover\:after\:scale-x-100:hover::after {
  content: var(--tw-content);
  --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));
}
.hover\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  background-color: hsl(var(--sidebar-border));
}
.focus\:not-sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.focus\:border-\[\#5f2eea\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(95 46 234 / var(--tw-border-opacity, 1));
}
.focus\:border-emerald-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.focus\:border-primary:focus {
  border-color: hsl(var(--primary));
}
.focus\:border-primary\/50:focus {
  border-color: hsl(var(--primary) / 0.5);
}
.focus\:border-rose-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));
}
.focus\:border-violet-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.focus\:border-violet-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.focus\:bg-accent:focus {
  background-color: hsl(var(--accent));
}
.focus\:bg-primary:focus {
  background-color: hsl(var(--primary));
}
.focus\:text-accent-foreground:focus {
  color: hsl(var(--accent-foreground));
}
.focus\:text-primary-foreground:focus {
  color: hsl(var(--primary-foreground));
}
.focus\:opacity-100:focus {
  opacity: 1;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[\#5f2eea22\]:focus {
  --tw-ring-color: #5f2eea22;
}
.focus\:ring-emerald-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary:focus {
  --tw-ring-color: hsl(var(--primary));
}
.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-primary\/50:focus {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.focus\:ring-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-rose-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity, 1));
}
.focus\:ring-violet-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(237 233 254 / var(--tw-ring-opacity, 1));
}
.focus\:ring-violet-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity, 1));
}
.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
.focus-visible\:border-primary:focus-visible {
  border-color: hsl(var(--primary));
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:outline:focus-visible {
  outline-style: solid;
}
.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
  outline-offset: 2px;
}
.focus-visible\:outline-offset-4:focus-visible {
  outline-offset: 4px;
}
.focus-visible\:outline-\[\#6d28d9\]:focus-visible {
  outline-color: #6d28d9;
}
.focus-visible\:outline-primary:focus-visible {
  outline-color: hsl(var(--primary));
}
.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-4:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}
.focus-visible\:ring-\[\#7c3aed\]:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(124 58 237 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-background:focus-visible {
  --tw-ring-color: hsl(var(--background));
}
.focus-visible\:ring-cyan-300:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-emerald-300:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-green-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-green-600:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-orange-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-primary:focus-visible {
  --tw-ring-color: hsl(var(--primary));
}
.focus-visible\:ring-primary\/15:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.15);
}
.focus-visible\:ring-primary\/20:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus-visible\:ring-primary\/25:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.25);
}
.focus-visible\:ring-primary\/30:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.focus-visible\:ring-primary\/50:focus-visible {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-rose-200:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-rose-300:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-color: hsl(var(--sidebar-ring));
}
.focus-visible\:ring-violet-200:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-violet-300:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-violet-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-white:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / 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-background:focus-visible {
  --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:ring-offset-indigo-950:focus-visible {
  --tw-ring-offset-color: #1e1b4b;
}
.focus-visible\:ring-offset-primary:focus-visible {
  --tw-ring-offset-color: hsl(var(--primary));
}
.active\:scale-90:active {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.97\]:active {
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.99\]:active {
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  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\:cursor-grabbing:active {
  cursor: grabbing;
}
.active\:bg-sidebar-accent:active {
  background-color: hsl(var(--sidebar-accent));
}
.active\:text-sidebar-accent-foreground:active {
  color: hsl(var(--sidebar-accent-foreground));
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:cursor-wait:disabled {
  cursor: wait;
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.disabled\:opacity-35:disabled {
  opacity: 0.35;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-55:disabled {
  opacity: 0.55;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.disabled\:opacity-70:disabled {
  opacity: 0.7;
}
.group[open] .group-open\:block {
  display: block;
}
.group[open] .group-open\:inline {
  display: inline;
}
.group[open] .group-open\:hidden {
  display: none;
}
.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[open] .group-open\: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));
}
.group:focus-within .group-focus-within\:text-primary {
  color: hsl(var(--primary));
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:inline {
  display: inline;
}
.group:hover .group-hover\:w-1\.5 {
  width: 0.375rem;
}
.group:hover .group-hover\:w-14 {
  width: 3.5rem;
}
.group:hover .group-hover\:w-\[44\%\] {
  width: 44%;
}
.group\/link:hover .group-hover\/link\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-x-0\.5 {
  --tw-translate-x: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-y-0\.5 {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-y-1 {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-\[140\%\] {
  --tw-translate-x: 140%;
  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\:-rotate-2 {
  --tw-rotate: -2deg;
  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\:-rotate-3 {
  --tw-rotate: -3deg;
  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\:-rotate-6 {
  --tw-rotate: -6deg;
  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\:rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:rotate-2 {
  --tw-rotate: 2deg;
  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\:rotate-3 {
  --tw-rotate: 3deg;
  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\:rotate-6 {
  --tw-rotate: 6deg;
  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\:rotate-\[-6deg\] {
  --tw-rotate: -6deg;
  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-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-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.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));
}
.group:hover .group-hover\:scale-125 {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-150 {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.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));
}
.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\:scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-\[1\.04\] {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  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\.05\] {
  --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-x-100 {
  --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));
}
.group:hover .group-hover\:gap-2 {
  gap: 0.5rem;
}
.group:hover .group-hover\:gap-2\.5 {
  gap: 0.625rem;
}
.group:hover .group-hover\:gap-3 {
  gap: 0.75rem;
}
.group:hover .group-hover\:border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.group:hover .group-hover\:border-primary {
  border-color: hsl(var(--primary));
}
.group:hover .group-hover\:border-primary\/25 {
  border-color: hsl(var(--primary) / 0.25);
}
.group\/option:hover .group-hover\/option\:bg-primary {
  background-color: hsl(var(--primary));
}
.group:hover .group-hover\:bg-\[var\(--course-accent\)\] {
  background-color: var(--course-accent);
}
.group:hover .group-hover\:bg-\[var\(--exam-color\)\] {
  background-color: var(--exam-color);
}
.group:hover .group-hover\:bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-fuchsia-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 38 211 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-primary {
  background-color: hsl(var(--primary));
}
.group:hover .group-hover\:bg-primary\/15 {
  background-color: hsl(var(--primary) / 0.15);
}
.group:hover .group-hover\:bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
.group:hover .group-hover\:bg-sky-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-violet-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.group\/option:hover .group-hover\/option\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#5b21b6\] {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#5f2eea\] {
  --tw-text-opacity: 1;
  color: rgb(95 46 234 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-primary {
  color: hsl(var(--primary));
}
.group:hover .group-hover\:text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.group:hover .group-hover\:text-primary\/20 {
  color: hsl(var(--primary) / 0.2);
}
.group:hover .group-hover\:text-primary\/35 {
  color: hsl(var(--primary) / 0.35);
}
.group:hover .group-hover\:text-primary\/75 {
  color: hsl(var(--primary) / 0.75);
}
.group:hover .group-hover\:text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:underline {
  text-decoration-line: underline;
}
.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-70 {
  opacity: 0.7;
}
.group:hover .group-hover\:opacity-80 {
  opacity: 0.8;
}
.group:hover .group-hover\:opacity-90 {
  opacity: 0.9;
}
.group:hover .group-hover\: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);
}
.group:hover .group-hover\: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);
}
.group:hover .group-hover\:shadow-primary\/10 {
  --tw-shadow-color: hsl(var(--primary) / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.group:hover .group-hover\:shadow-primary\/30 {
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.group:hover .group-hover\:ring-primary {
  --tw-ring-color: hsl(var(--primary));
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\: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);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: hsl(var(--sidebar-background));
}
.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}
.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}
.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"] {
  background-color: hsl(var(--accent));
}
.aria-selected\:bg-accent\/50[aria-selected="true"] {
  background-color: hsl(var(--accent) / 0.5);
}
.aria-selected\:text-accent-foreground[aria-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: hsl(var(--muted-foreground));
}
.aria-selected\:opacity-100[aria-selected="true"] {
  opacity: 1;
}
.aria-selected\:opacity-30[aria-selected="true"] {
  opacity: 0.3;
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
  height: 1px;
}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
  width: 100%;
}
.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-5[data-state="checked"] {
  --tw-translate-x: 1.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\=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-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
  flex-direction: column;
}
.data-\[active\=true\]\:bg-sidebar-accent[data-active="true"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[active\]\:bg-accent\/50[data-active] {
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
  background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
  background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  background-color: hsl(var(--primary));
}
.data-\[state\=on\]\:bg-accent[data-state="on"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
  background-color: hsl(var(--input));
}
.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}
.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active="true"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
  color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
  color: hsl(var(--muted-foreground));
}
.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-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
  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\=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\=visible\]\:animate-in[data-state="visible"] {
  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-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
  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\]\: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-\[state\=hidden\]\:animate-out[data-state="hidden"] {
  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-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
  --tw-enter-opacity: 0;
}
.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
  --tw-exit-opacity: 0.8;
}
.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
  --tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=visible\]\:fade-in[data-state="visible"] {
  --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
  --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
  --tw-enter-scale: .9;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
  --tw-enter-scale: .95;
}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
  --tw-enter-translate-x: 13rem;
}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
  --tw-enter-translate-x: -13rem;
}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
  --tw-exit-translate-x: 13rem;
}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
  --tw-exit-translate-x: -13rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}
.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-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}
.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\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}
.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-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[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\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[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;
}
.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  left: 0px;
}
.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  height: 0.25rem;
}
.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  width: 100%;
}
.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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));
}
.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state="open"] {
  background-color: hsl(var(--sidebar-accent));
}
.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state="open"] {
  color: hsl(var(--sidebar-accent-foreground));
}
.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\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}
.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-state="open"] .group-data-\[state\=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[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: var(--radius);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border-sidebar-border {
  border-color: hsl(var(--sidebar-border));
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
  background-color: hsl(var(--sidebar-background));
}
.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[data-variant="inset"] ~ .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
  min-height: calc(100svh - 1rem);
}
.peer\/menu-button[data-active="true"] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  color: hsl(var(--sidebar-accent-foreground));
}
@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {

  .supports-\[backdrop-filter\]\:bg-background\/60 {
    background-color: hsl(var(--background) / 0.6);
  }
}
@media (prefers-reduced-motion: no-preference) {

  @keyframes spin {

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

  .motion-safe\:animate-\[spin_22s_linear_infinite\] {
    animation: spin 22s linear infinite;
  }

  @keyframes pulse {

    50% {
      opacity: .5;
    }
  }

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

  .motion-safe\:transition-\[width\] {
    transition-property: width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }

  .motion-safe\:duration-700 {
    transition-duration: 700ms;
    animation-duration: 700ms;
  }
}
@media (prefers-reduced-motion: reduce) {

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

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

  .motion-reduce\:transition-none {
    transition-property: none;
  }
}
.dark\:border-\[\#4a385f\]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 56 95 / var(--tw-border-opacity, 1));
}
.dark\:border-\[\#6d5a8e\]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(109 90 142 / var(--tw-border-opacity, 1));
}
.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-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(120 53 15 / var(--tw-border-opacity, 1));
}
.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\/50:is(.dark *) {
  border-color: rgb(30 58 138 / 0.5);
}
.dark\:border-destructive:is(.dark *) {
  border-color: hsl(var(--destructive));
}
.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-900\/60:is(.dark *) {
  border-color: rgb(6 78 59 / 0.6);
}
.dark\:border-fuchsia-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(162 28 175 / 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-800\/40:is(.dark *) {
  border-color: rgb(22 101 52 / 0.4);
}
.dark\:border-indigo-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
}
.dark\:border-indigo-900\/50:is(.dark *) {
  border-color: rgb(49 46 129 / 0.5);
}
.dark\:border-orange-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(194 65 12 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-800\/40:is(.dark *) {
  border-color: rgb(154 52 18 / 0.4);
}
.dark\:border-pink-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(190 24 93 / var(--tw-border-opacity, 1));
}
.dark\:border-pink-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(157 23 77 / var(--tw-border-opacity, 1));
}
.dark\:border-primary\/30:is(.dark *) {
  border-color: hsl(var(--primary) / 0.3);
}
.dark\:border-purple-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(126 34 206 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(107 33 168 / 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-rose-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(190 18 60 / var(--tw-border-opacity, 1));
}
.dark\:border-sky-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(3 105 161 / var(--tw-border-opacity, 1));
}
.dark\:border-sky-900\/50:is(.dark *) {
  border-color: rgb(12 74 110 / 0.5);
}
.dark\:border-violet-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(109 40 217 / var(--tw-border-opacity, 1));
}
.dark\:border-violet-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(91 33 182 / var(--tw-border-opacity, 1));
}
.dark\:border-violet-800\/30:is(.dark *) {
  border-color: rgb(91 33 182 / 0.3);
}
.dark\:border-violet-800\/40:is(.dark *) {
  border-color: rgb(91 33 182 / 0.4);
}
.dark\:border-violet-800\/60:is(.dark *) {
  border-color: rgb(91 33 182 / 0.6);
}
.dark\:border-violet-900\/60:is(.dark *) {
  border-color: rgb(76 29 149 / 0.6);
}
.dark\:border-white\/10:is(.dark *) {
  border-color: rgb(255 255 255 / 0.1);
}
.dark\:border-yellow-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(161 98 7 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-700\/50:is(.dark *) {
  border-color: rgb(161 98 7 / 0.5);
}
.dark\:border-yellow-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}
.dark\:\!bg-green-900\/20:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2) !important;
}
.dark\:\!bg-red-900\/20:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2) !important;
}
.dark\:bg-\[\#241b35\]\/95:is(.dark *) {
  background-color: rgb(36 27 53 / 0.95);
}
.dark\:bg-\[\#2b203b\]:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(43 32 59 / var(--tw-bg-opacity, 1));
}
.dark\:bg-amber-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(146 64 14 / var(--tw-bg-opacity, 1));
}
.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\/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-amber-950\/40:is(.dark *) {
  background-color: rgb(69 26 3 / 0.4);
}
.dark\:bg-background:is(.dark *) {
  background-color: hsl(var(--background));
}
.dark\:bg-black\/20:is(.dark *) {
  background-color: rgb(0 0 0 / 0.2);
}
.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:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950\/20:is(.dark *) {
  background-color: rgb(23 37 84 / 0.2);
}
.dark\:bg-blue-950\/25:is(.dark *) {
  background-color: rgb(23 37 84 / 0.25);
}
.dark\:bg-blue-950\/30:is(.dark *) {
  background-color: rgb(23 37 84 / 0.3);
}
.dark\:bg-blue-950\/50:is(.dark *) {
  background-color: rgb(23 37 84 / 0.5);
}
.dark\:bg-card:is(.dark *) {
  background-color: hsl(var(--card));
}
.dark\:bg-cyan-900\/30:is(.dark *) {
  background-color: rgb(22 78 99 / 0.3);
}
.dark\:bg-cyan-900\/40:is(.dark *) {
  background-color: rgb(22 78 99 / 0.4);
}
.dark\:bg-cyan-950\/20:is(.dark *) {
  background-color: rgb(8 51 68 / 0.2);
}
.dark\:bg-emerald-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.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-fuchsia-950\/30:is(.dark *) {
  background-color: rgb(74 4 78 / 0.3);
}
.dark\:bg-green-800\/50:is(.dark *) {
  background-color: rgb(22 101 52 / 0.5);
}
.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-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-indigo-900\/30:is(.dark *) {
  background-color: rgb(49 46 129 / 0.3);
}
.dark\:bg-indigo-900\/40:is(.dark *) {
  background-color: rgb(49 46 129 / 0.4);
}
.dark\:bg-indigo-950\/20:is(.dark *) {
  background-color: rgb(30 27 75 / 0.2);
}
.dark\:bg-indigo-950\/25:is(.dark *) {
  background-color: rgb(30 27 75 / 0.25);
}
.dark\:bg-indigo-950\/30:is(.dark *) {
  background-color: rgb(30 27 75 / 0.3);
}
.dark\:bg-orange-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-900\/20:is(.dark *) {
  background-color: rgb(124 45 18 / 0.2);
}
.dark\:bg-orange-900\/30:is(.dark *) {
  background-color: rgb(124 45 18 / 0.3);
}
.dark\:bg-orange-900\/40:is(.dark *) {
  background-color: rgb(124 45 18 / 0.4);
}
.dark\:bg-orange-950\/20:is(.dark *) {
  background-color: rgb(67 20 7 / 0.2);
}
.dark\:bg-orange-950\/30:is(.dark *) {
  background-color: rgb(67 20 7 / 0.3);
}
.dark\:bg-pink-900\/30:is(.dark *) {
  background-color: rgb(131 24 67 / 0.3);
}
.dark\:bg-pink-950\/30:is(.dark *) {
  background-color: rgb(80 7 36 / 0.3);
}
.dark\:bg-primary\/10:is(.dark *) {
  background-color: hsl(var(--primary) / 0.1);
}
.dark\:bg-primary\/5:is(.dark *) {
  background-color: hsl(var(--primary) / 0.05);
}
.dark\:bg-purple-900\/30:is(.dark *) {
  background-color: rgb(88 28 135 / 0.3);
}
.dark\:bg-purple-900\/40:is(.dark *) {
  background-color: rgb(88 28 135 / 0.4);
}
.dark\:bg-purple-950\/20:is(.dark *) {
  background-color: rgb(59 7 100 / 0.2);
}
.dark\:bg-purple-950\/30:is(.dark *) {
  background-color: rgb(59 7 100 / 0.3);
}
.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-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}
.dark\:bg-red-950\/20:is(.dark *) {
  background-color: rgb(69 10 10 / 0.2);
}
.dark\:bg-red-950\/30:is(.dark *) {
  background-color: rgb(69 10 10 / 0.3);
}
.dark\:bg-rose-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}
.dark\:bg-rose-900\/20:is(.dark *) {
  background-color: rgb(136 19 55 / 0.2);
}
.dark\:bg-rose-900\/30:is(.dark *) {
  background-color: rgb(136 19 55 / 0.3);
}
.dark\:bg-rose-900\/40:is(.dark *) {
  background-color: rgb(136 19 55 / 0.4);
}
.dark\:bg-rose-950\/30:is(.dark *) {
  background-color: rgb(76 5 25 / 0.3);
}
.dark\:bg-sky-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
}
.dark\:bg-sky-900\/20:is(.dark *) {
  background-color: rgb(12 74 110 / 0.2);
}
.dark\:bg-sky-900\/30:is(.dark *) {
  background-color: rgb(12 74 110 / 0.3);
}
.dark\:bg-sky-900\/40:is(.dark *) {
  background-color: rgb(12 74 110 / 0.4);
}
.dark\:bg-sky-950\/20:is(.dark *) {
  background-color: rgb(8 47 73 / 0.2);
}
.dark\:bg-sky-950\/25:is(.dark *) {
  background-color: rgb(8 47 73 / 0.25);
}
.dark\:bg-sky-950\/40:is(.dark *) {
  background-color: rgb(8 47 73 / 0.4);
}
.dark\:bg-teal-900\/30:is(.dark *) {
  background-color: rgb(19 78 74 / 0.3);
}
.dark\:bg-teal-950\/20:is(.dark *) {
  background-color: rgb(4 47 46 / 0.2);
}
.dark\:bg-violet-800\/60:is(.dark *) {
  background-color: rgb(91 33 182 / 0.6);
}
.dark\:bg-violet-900\/30:is(.dark *) {
  background-color: rgb(76 29 149 / 0.3);
}
.dark\:bg-violet-950\/20:is(.dark *) {
  background-color: rgb(46 16 101 / 0.2);
}
.dark\:bg-violet-950\/25:is(.dark *) {
  background-color: rgb(46 16 101 / 0.25);
}
.dark\:bg-violet-950\/30:is(.dark *) {
  background-color: rgb(46 16 101 / 0.3);
}
.dark\:bg-violet-950\/40:is(.dark *) {
  background-color: rgb(46 16 101 / 0.4);
}
.dark\:bg-violet-950\/60:is(.dark *) {
  background-color: rgb(46 16 101 / 0.6);
}
.dark\:bg-white\/10:is(.dark *) {
  background-color: rgb(255 255 255 / 0.1);
}
.dark\:bg-white\/5:is(.dark *) {
  background-color: rgb(255 255 255 / 0.05);
}
.dark\:bg-yellow-900\/20:is(.dark *) {
  background-color: rgb(113 63 18 / 0.2);
}
.dark\:bg-yellow-900\/30:is(.dark *) {
  background-color: rgb(113 63 18 / 0.3);
}
.dark\:bg-yellow-900\/40:is(.dark *) {
  background-color: rgb(113 63 18 / 0.4);
}
.dark\:bg-yellow-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(66 32 6 / var(--tw-bg-opacity, 1));
}
.dark\:bg-yellow-950\/20:is(.dark *) {
  background-color: rgb(66 32 6 / 0.2);
}
.dark\:bg-yellow-950\/30:is(.dark *) {
  background-color: rgb(66 32 6 / 0.3);
}
.dark\:from-amber-900\/30:is(.dark *) {
  --tw-gradient-from: rgb(120 53 15 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-amber-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(69 26 3 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-amber-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(69 26 3 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.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-blue-950\/25:is(.dark *) {
  --tw-gradient-from: rgb(23 37 84 / 0.25) 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-blue-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(23 37 84 / 0.3) 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-card:is(.dark *) {
  --tw-gradient-from: hsl(var(--card)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-emerald-900\/30:is(.dark *) {
  --tw-gradient-from: rgb(6 78 59 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-emerald-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(2 44 34 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 44 34 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-emerald-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(2 44 34 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 44 34 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-fuchsia-900\/30:is(.dark *) {
  --tw-gradient-from: rgb(112 26 117 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(112 26 117 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-fuchsia-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(74 4 78 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 4 78 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-fuchsia-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(74 4 78 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 4 78 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-green-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(5 46 22 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 46 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-indigo-950\/25:is(.dark *) {
  --tw-gradient-from: rgb(30 27 75 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-indigo-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(30 27 75 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-lime-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(26 46 5 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 46 5 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-lime-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(26 46 5 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 46 5 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-purple-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(59 7 100 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-purple-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(59 7 100 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-rose-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(76 5 25 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 5 25 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-rose-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(76 5 25 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 5 25 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-sky-950\/20:is(.dark *) {
  --tw-gradient-from: rgb(8 47 73 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 47 73 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-sky-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(8 47 73 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 47 73 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-violet-900\/30:is(.dark *) {
  --tw-gradient-from: rgb(76 29 149 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 29 149 / 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\:from-violet-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(46 16 101 / 0.3) 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\:from-violet-950\/40:is(.dark *) {
  --tw-gradient-from: rgb(46 16 101 / 0.4) 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\:from-yellow-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(66 32 6 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(66 32 6 / 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)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:via-card:is(.dark *) {
  --tw-gradient-to: hsl(var(--card) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--card)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:to-amber-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(69 26 3 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-blue-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(23 37 84 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-blue-950\/25:is(.dark *) {
  --tw-gradient-to: rgb(23 37 84 / 0.25) var(--tw-gradient-to-position);
}
.dark\:to-cyan-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(8 51 68 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-cyan-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(8 51 68 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-emerald-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(2 44 34 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-fuchsia-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(74 4 78 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-green-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(5 46 22 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-green-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(5 46 22 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-indigo-900\/30:is(.dark *) {
  --tw-gradient-to: rgb(49 46 129 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-indigo-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(30 27 75 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-indigo-950\/25:is(.dark *) {
  --tw-gradient-to: rgb(30 27 75 / 0.25) var(--tw-gradient-to-position);
}
.dark\:to-indigo-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(30 27 75 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-orange-900\/30:is(.dark *) {
  --tw-gradient-to: rgb(124 45 18 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-orange-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(67 20 7 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-orange-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(67 20 7 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-pink-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(80 7 36 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-pink-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(80 7 36 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-primary\/10:is(.dark *) {
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}
.dark\:to-purple-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(59 7 100 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-purple-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(59 7 100 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-red-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(69 10 10 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-rose-900\/30:is(.dark *) {
  --tw-gradient-to: rgb(136 19 55 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-sky-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(8 47 73 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-sky-950\/25:is(.dark *) {
  --tw-gradient-to: rgb(8 47 73 / 0.25) var(--tw-gradient-to-position);
}
.dark\:to-slate-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(2 6 23 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-teal-900\/30:is(.dark *) {
  --tw-gradient-to: rgb(19 78 74 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-teal-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(4 47 46 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-teal-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(4 47 46 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-violet-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(46 16 101 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-yellow-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(66 32 6 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-yellow-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(66 32 6 / 0.3) var(--tw-gradient-to-position);
}
.dark\:text-\[\#c4a8ff\]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(196 168 255 / var(--tw-text-opacity, 1));
}
.dark\:text-\[\#d1c6de\]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 198 222 / var(--tw-text-opacity, 1));
}
.dark\:text-\[\#d9c7ff\]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(217 199 255 / var(--tw-text-opacity, 1));
}
.dark\:text-\[\#e9ddff\]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(233 221 255 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-200\/80:is(.dark *) {
  color: rgb(253 230 138 / 0.8);
}
.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-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / 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-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / 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-emerald-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.dark\:text-foreground:is(.dark *) {
  color: hsl(var(--foreground));
}
.dark\:text-fuchsia-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity, 1));
}
.dark\:text-green-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / 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-indigo-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / 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-muted-foreground:is(.dark *) {
  color: hsl(var(--muted-foreground));
}
.dark\:text-orange-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / 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-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.dark\:text-primary:is(.dark *) {
  color: hsl(var(--primary));
}
.dark\:text-purple-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.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-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / 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-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-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / 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-yellow-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}
.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\:opacity-\[0\.065\]:is(.dark *) {
  opacity: 0.065;
}
.dark\:hover\:bg-\[\#302343\]:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(48 35 67 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-green-950\/40:hover:is(.dark *) {
  background-color: rgb(5 46 22 / 0.4);
}
.dark\:hover\:bg-orange-950\/40:hover:is(.dark *) {
  background-color: rgb(67 20 7 / 0.4);
}
.dark\:hover\:bg-violet-900\/20:hover:is(.dark *) {
  background-color: rgb(76 29 149 / 0.2);
}
.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
@media (min-width: 640px) {

  .sm\:inset-\[62px\] {
    inset: 62px;
  }

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

  .sm\:inset-x-7 {
    left: 1.75rem;
    right: 1.75rem;
  }

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

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

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

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

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

  .sm\:bottom-\[20\%\] {
    bottom: 20%;
  }

  .sm\:bottom-\[52px\] {
    bottom: 52px;
  }

  .sm\:bottom-\[7\%\] {
    bottom: 7%;
  }

  .sm\:bottom-\[9\%\] {
    bottom: 9%;
  }

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

  .sm\:left-1 {
    left: 0.25rem;
  }

  .sm\:left-1\/2 {
    left: 50%;
  }

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

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

  .sm\:left-\[10\%\] {
    left: 10%;
  }

  .sm\:left-\[2\%\] {
    left: 2%;
  }

  .sm\:left-\[24\%\] {
    left: 24%;
  }

  .sm\:left-\[5\%\] {
    left: 5%;
  }

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

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

  .sm\:right-1 {
    right: 0.25rem;
  }

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

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

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

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

  .sm\:right-\[1\%\] {
    right: 1%;
  }

  .sm\:right-\[16\%\] {
    right: 16%;
  }

  .sm\:right-\[22\%\] {
    right: 22%;
  }

  .sm\:right-\[4\%\] {
    right: 4%;
  }

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

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

  .sm\:top-\[11\%\] {
    top: 11%;
  }

  .sm\:top-\[31\%\] {
    top: 31%;
  }

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

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

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

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

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

  .sm\:-mx-6 {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

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

  .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\:mt-0 {
    margin-top: 0px;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

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

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:grid {
    display: grid;
  }

  .sm\:hidden {
    display: none;
  }

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

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

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

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

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

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

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

  .sm\:h-52 {
    height: 13rem;
  }

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

  .sm\:h-60 {
    height: 15rem;
  }

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

  .sm\:h-72 {
    height: 18rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .sm\:w-12 {
    width: 3rem;
  }

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

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

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

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

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

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

  .sm\:w-52 {
    width: 13rem;
  }

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

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

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

  .sm\:w-72 {
    width: 18rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .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-\[150px_1fr\] {
    grid-template-columns: 150px 1fr;
  }

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

  .sm\:grid-cols-\[200px_1fr\] {
    grid-template-columns: 200px 1fr;
  }

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

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

  .sm\:grid-cols-\[minmax\(150px\2c 1fr\)_auto_auto_auto\] {
    grid-template-columns: minmax(150px,1fr) auto auto auto;
  }

  .sm\:grid-cols-\[minmax\(190px\2c \.55fr\)_1fr_auto\] {
    grid-template-columns: minmax(190px,.55fr) 1fr auto;
  }

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

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

  .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\:justify-end {
    justify-content: flex-end;
  }

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

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

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

  .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-5 {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }

  .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-x-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
  }

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

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

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

  .sm\:rounded-\[3\.6rem\] {
    border-radius: 3.6rem;
  }

  .sm\:rounded-lg {
    border-radius: var(--radius);
  }

  .sm\:border-l {
    border-left-width: 1px;
  }

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

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

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

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

  .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\:p-9 {
    padding: 2.25rem;
  }

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

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

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .sm\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.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\:px-9 {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

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

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

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

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

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

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

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

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

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

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

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

  .sm\:pr-16 {
    padding-right: 4rem;
  }

  .sm\:pr-36 {
    padding-right: 9rem;
  }

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

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

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

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

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

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

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

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

  .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-\[10px\] {
    font-size: 10px;
  }

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

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

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

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

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

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

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

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

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }
}
@media (min-width: 768px) {

  .md\:absolute {
    position: absolute;
  }

  .md\:-left-14 {
    left: -3.5rem;
  }

  .md\:-right-14 {
    right: -3.5rem;
  }

  .md\:left-12 {
    left: 3rem;
  }

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

  .md\:right-16 {
    right: 4rem;
  }

  .md\:order-1 {
    order: 1;
  }

  .md\:order-2 {
    order: 2;
  }

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

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

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

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

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

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

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

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

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

  .md\:table-cell {
    display: table-cell;
  }

  .md\:hidden {
    display: none;
  }

  .md\:aspect-auto {
    aspect-ratio: auto;
  }

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

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

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

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

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

  .md\:h-28 {
    height: 7rem;
  }

  .md\:h-36 {
    height: 9rem;
  }

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

  .md\:h-56 {
    height: 14rem;
  }

  .md\:h-60 {
    height: 15rem;
  }

  .md\:h-64 {
    height: 16rem;
  }

  .md\:h-72 {
    height: 18rem;
  }

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

  .md\:h-\[310px\] {
    height: 310px;
  }

  .md\:h-\[420px\] {
    height: 420px;
  }

  .md\:h-\[430px\] {
    height: 430px;
  }

  .md\:h-\[480px\] {
    height: 480px;
  }

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

  .md\:min-h-\[370px\] {
    min-height: 370px;
  }

  .md\:min-h-\[430px\] {
    min-height: 430px;
  }

  .md\:min-h-\[470px\] {
    min-height: 470px;
  }

  .md\:min-h-\[500px\] {
    min-height: 500px;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

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

  .md\:w-12 {
    width: 3rem;
  }

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

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

  .md\:w-24 {
    width: 6rem;
  }

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

  .md\:w-40 {
    width: 10rem;
  }

  .md\:w-52 {
    width: 13rem;
  }

  .md\:w-56 {
    width: 14rem;
  }

  .md\:w-64 {
    width: 16rem;
  }

  .md\:w-72 {
    width: 18rem;
  }

  .md\:w-80 {
    width: 20rem;
  }

  .md\:w-96 {
    width: 24rem;
  }

  .md\:w-\[44\%\] {
    width: 44%;
  }

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

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
    width: var(--radix-navigation-menu-viewport-width);
  }

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

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

  .md\:max-w-\[56\%\] {
    max-width: 56%;
  }

  .md\:max-w-\[58\%\] {
    max-width: 58%;
  }

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

  .md\:basis-\[30\%\] {
    flex-basis: 30%;
  }

  .md\:-translate-y-3 {
    --tw-translate-y: -0.75rem;
    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));
  }

  .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-\[0\.92fr_1\.08fr\] {
    grid-template-columns: 0.92fr 1.08fr;
  }

  .md\:grid-cols-\[1\.02fr_\.98fr\] {
    grid-template-columns: 1.02fr .98fr;
  }

  .md\:grid-cols-\[1\.04fr_\.96fr\] {
    grid-template-columns: 1.04fr .96fr;
  }

  .md\:grid-cols-\[1\.08fr_0\.92fr\] {
    grid-template-columns: 1.08fr 0.92fr;
  }

  .md\:grid-cols-\[1\.1fr_\.9fr\] {
    grid-template-columns: 1.1fr .9fr;
  }

  .md\:grid-cols-\[112px_1fr\] {
    grid-template-columns: 112px 1fr;
  }

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

  .md\:grid-cols-\[1fr_220px\] {
    grid-template-columns: 1fr 220px;
  }

  .md\:grid-cols-\[1fr_2fr\] {
    grid-template-columns: 1fr 2fr;
  }

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

  .md\:grid-cols-\[2fr_3fr\] {
    grid-template-columns: 2fr 3fr;
  }

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

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

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

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

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

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

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

  .md\:gap-14 {
    gap: 3.5rem;
  }

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

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

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

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

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

  .md\:self-auto {
    align-self: auto;
  }

  .md\:justify-self-end {
    justify-self: end;
  }

  .md\:rounded-2xl {
    border-radius: 1rem;
  }

  .md\:border-b-0 {
    border-bottom-width: 0px;
  }

  .md\:border-r {
    border-right-width: 1px;
  }

  .md\:border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
  }

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

  .md\:p-11 {
    padding: 2.75rem;
  }

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

  .md\:p-14 {
    padding: 3.5rem;
  }

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

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

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

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

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

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

  .md\:p-9 {
    padding: 2.25rem;
  }

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

  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .md\:px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

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

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

  .md\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

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

  .md\:px-9 {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .md\:pb-24 {
    padding-bottom: 6rem;
  }

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

  .md\:pb-32 {
    padding-bottom: 8rem;
  }

  .md\:pb-7 {
    padding-bottom: 1.75rem;
  }

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

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

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

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

  .md\:pt-14 {
    padding-top: 3.5rem;
  }

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

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

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

  .md\:pt-28 {
    padding-top: 7rem;
  }

  .md\:pt-36 {
    padding-top: 9rem;
  }

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

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

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

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

  .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-9xl {
    font-size: 8rem;
    line-height: 1;
  }

  .md\:text-\[10rem\] {
    font-size: 10rem;
  }

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

  .md\:text-\[2\.4rem\] {
    font-size: 2.4rem;
  }

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

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

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

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

  .md\:leading-7 {
    line-height: 1.75rem;
  }

  .md\:leading-\[1\.1\] {
    line-height: 1.1;
  }

  .md\:opacity-0 {
    opacity: 0;
  }

  .after\:md\:hidden::after {
    content: var(--tw-content);
    display: none;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }

  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
    margin-left: 0.5rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 {
    margin-left: 0px;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: 0.75rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}
@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:right-20 {
    right: 5rem;
  }

  .lg\:right-24 {
    right: 6rem;
  }

  .lg\:right-28 {
    right: 7rem;
  }

  .lg\:top-24 {
    top: 6rem;
  }

  .lg\:top-28 {
    top: 7rem;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

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

  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .lg\:col-span-5 {
    grid-column: span 5 / span 5;
  }

  .lg\:col-span-7 {
    grid-column: span 7 / span 7;
  }

  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .lg\:-mx-8 {
    margin-left: -2rem;
    margin-right: -2rem;
  }

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

  .lg\:ml-auto {
    margin-left: auto;
  }

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

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-96 {
    height: 24rem;
  }

  .lg\:h-\[340px\] {
    height: 340px;
  }

  .lg\:h-\[430px\] {
    height: 430px;
  }

  .lg\:min-h-\[420px\] {
    min-height: 420px;
  }

  .lg\:min-h-\[430px\] {
    min-height: 430px;
  }

  .lg\:min-h-\[500px\] {
    min-height: 500px;
  }

  .lg\:min-h-full {
    min-height: 100%;
  }

  .lg\:w-72 {
    width: 18rem;
  }

  .lg\:w-80 {
    width: 20rem;
  }

  .lg\:w-96 {
    width: 24rem;
  }

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

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

  .lg\:max-w-none {
    max-width: none;
  }

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

  .lg\:max-w-xl {
    max-width: 36rem;
  }

  .lg\:basis-\[23\%\] {
    flex-basis: 23%;
  }

  .lg\:-translate-x-12 {
    --tw-translate-x: -3rem;
    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));
  }

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

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, 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-\[\.72fr_1\.28fr\] {
    grid-template-columns: .72fr 1.28fr;
  }

  .lg\:grid-cols-\[\.75fr_1\.25fr\] {
    grid-template-columns: .75fr 1.25fr;
  }

  .lg\:grid-cols-\[\.78fr_1\.22fr\] {
    grid-template-columns: .78fr 1.22fr;
  }

  .lg\:grid-cols-\[\.7fr_1\.3fr\] {
    grid-template-columns: .7fr 1.3fr;
  }

  .lg\:grid-cols-\[\.82fr_1\.18fr\] {
    grid-template-columns: .82fr 1.18fr;
  }

  .lg\:grid-cols-\[\.85fr_1\.15fr\] {
    grid-template-columns: .85fr 1.15fr;
  }

  .lg\:grid-cols-\[\.8fr_1\.2fr\] {
    grid-template-columns: .8fr 1.2fr;
  }

  .lg\:grid-cols-\[\.9fr_1\.1fr\] {
    grid-template-columns: .9fr 1.1fr;
  }

  .lg\:grid-cols-\[\.9fr_1\.35fr_\.75fr\] {
    grid-template-columns: .9fr 1.35fr .75fr;
  }

  .lg\:grid-cols-\[0\.72fr_1\.28fr\] {
    grid-template-columns: 0.72fr 1.28fr;
  }

  .lg\:grid-cols-\[0\.78fr_1\.22fr\] {
    grid-template-columns: 0.78fr 1.22fr;
  }

  .lg\:grid-cols-\[0\.7fr_1\.3fr\] {
    grid-template-columns: 0.7fr 1.3fr;
  }

  .lg\:grid-cols-\[0\.85fr_1\.15fr\] {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .lg\:grid-cols-\[0\.86fr_1\.14fr\] {
    grid-template-columns: 0.86fr 1.14fr;
  }

  .lg\:grid-cols-\[0\.88fr_1\.12fr\] {
    grid-template-columns: 0.88fr 1.12fr;
  }

  .lg\:grid-cols-\[0\.8fr_1\.2fr\] {
    grid-template-columns: 0.8fr 1.2fr;
  }

  .lg\:grid-cols-\[0\.92fr_1\.08fr\] {
    grid-template-columns: 0.92fr 1.08fr;
  }

  .lg\:grid-cols-\[0\.95fr_1\.05fr\] {
    grid-template-columns: 0.95fr 1.05fr;
  }

  .lg\:grid-cols-\[0\.9fr_1\.1fr\] {
    grid-template-columns: 0.9fr 1.1fr;
  }

  .lg\:grid-cols-\[1\.02fr_\.98fr\] {
    grid-template-columns: 1.02fr .98fr;
  }

  .lg\:grid-cols-\[1\.02fr_0\.98fr\] {
    grid-template-columns: 1.02fr 0.98fr;
  }

  .lg\:grid-cols-\[1\.03fr_0\.97fr\] {
    grid-template-columns: 1.03fr 0.97fr;
  }

  .lg\:grid-cols-\[1\.04fr_\.96fr\] {
    grid-template-columns: 1.04fr .96fr;
  }

  .lg\:grid-cols-\[1\.04fr_0\.96fr\] {
    grid-template-columns: 1.04fr 0.96fr;
  }

  .lg\:grid-cols-\[1\.05fr_\.95fr\] {
    grid-template-columns: 1.05fr .95fr;
  }

  .lg\:grid-cols-\[1\.05fr_0\.95fr\] {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .lg\:grid-cols-\[1\.06fr_0\.94fr\] {
    grid-template-columns: 1.06fr 0.94fr;
  }

  .lg\:grid-cols-\[1\.07fr_\.93fr\] {
    grid-template-columns: 1.07fr .93fr;
  }

  .lg\:grid-cols-\[1\.08fr_\.92fr\] {
    grid-template-columns: 1.08fr .92fr;
  }

  .lg\:grid-cols-\[1\.08fr_0\.92fr\] {
    grid-template-columns: 1.08fr 0.92fr;
  }

  .lg\:grid-cols-\[1\.12fr_\.88fr\] {
    grid-template-columns: 1.12fr .88fr;
  }

  .lg\:grid-cols-\[1\.12fr_0\.88fr\] {
    grid-template-columns: 1.12fr 0.88fr;
  }

  .lg\:grid-cols-\[1\.15fr_\.85fr\] {
    grid-template-columns: 1.15fr .85fr;
  }

  .lg\:grid-cols-\[1\.15fr_0\.85fr\] {
    grid-template-columns: 1.15fr 0.85fr;
  }

  .lg\:grid-cols-\[1\.18fr_\.82fr\] {
    grid-template-columns: 1.18fr .82fr;
  }

  .lg\:grid-cols-\[1\.1fr_\.9fr\] {
    grid-template-columns: 1.1fr .9fr;
  }

  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .lg\:grid-cols-\[1\.25fr_\.75fr\] {
    grid-template-columns: 1.25fr .75fr;
  }

  .lg\:grid-cols-\[1\.2fr_\.8fr\] {
    grid-template-columns: 1.2fr .8fr;
  }

  .lg\:grid-cols-\[1\.35fr_\.65fr\] {
    grid-template-columns: 1.35fr .65fr;
  }

  .lg\:grid-cols-\[1\.3fr_\.7fr\] {
    grid-template-columns: 1.3fr .7fr;
  }

  .lg\:grid-cols-\[1\.3fr_0\.7fr\] {
    grid-template-columns: 1.3fr 0.7fr;
  }

  .lg\:grid-cols-\[1\.4fr_0\.6fr\] {
    grid-template-columns: 1.4fr 0.6fr;
  }

  .lg\:grid-cols-\[180px_1fr\] {
    grid-template-columns: 180px 1fr;
  }

  .lg\:grid-cols-\[1fr_\.9fr\] {
    grid-template-columns: 1fr .9fr;
  }

  .lg\:grid-cols-\[1fr_280px\] {
    grid-template-columns: 1fr 280px;
  }

  .lg\:grid-cols-\[1fr_310px\] {
    grid-template-columns: 1fr 310px;
  }

  .lg\:grid-cols-\[1fr_360px\] {
    grid-template-columns: 1fr 360px;
  }

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

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

  .lg\:grid-cols-\[220px_1fr\] {
    grid-template-columns: 220px 1fr;
  }

  .lg\:grid-cols-\[260px_1fr\] {
    grid-template-columns: 260px 1fr;
  }

  .lg\:grid-cols-\[270px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 270px minmax(0,1fr);
  }

  .lg\:grid-cols-\[300px_1fr\] {
    grid-template-columns: 300px 1fr;
  }

  .lg\:grid-cols-\[320px_1fr\] {
    grid-template-columns: 320px 1fr;
  }

  .lg\:grid-cols-\[340px_1fr\] {
    grid-template-columns: 340px 1fr;
  }

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

  .lg\:grid-cols-\[minmax\(0\2c 1\.28fr\)_minmax\(300px\2c 0\.72fr\)\] {
    grid-template-columns: minmax(0,1.28fr) minmax(300px,0.72fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_210px\] {
    grid-template-columns: minmax(0,1fr) 210px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_360px\] {
    grid-template-columns: minmax(0,1fr) 360px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(380px\2c \.9fr\)\] {
    grid-template-columns: minmax(0,1fr) minmax(380px,.9fr);
  }

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

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

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

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

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

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

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

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

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

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

  .lg\:gap-14 {
    gap: 3.5rem;
  }

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

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

  .lg\:self-start {
    align-self: flex-start;
  }

  .lg\:rounded-\[2\.75rem\] {
    border-radius: 2.75rem;
  }

  .lg\:border-b-0 {
    border-bottom-width: 0px;
  }

  .lg\:border-l {
    border-left-width: 1px;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

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

  .lg\:border-border {
    border-color: hsl(var(--border));
  }

  .lg\:border-violet-100 {
    --tw-border-opacity: 1;
    border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
  }

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

  .lg\:p-11 {
    padding: 2.75rem;
  }

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

  .lg\:p-14 {
    padding: 3.5rem;
  }

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

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

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

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .lg\:px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

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

  .lg\:py-11 {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

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

  .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\:pb-16 {
    padding-bottom: 4rem;
  }

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

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pt-14 {
    padding-top: 3.5rem;
  }

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

  .lg\:pt-32 {
    padding-top: 8rem;
  }

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

  .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-\[2\.6rem\] {
    font-size: 2.6rem;
  }

  .lg\:text-\[2\.85rem\] {
    font-size: 2.85rem;
  }

  .lg\:text-\[3\.35rem\] {
    font-size: 3.35rem;
  }

  .lg\:text-\[3\.45rem\] {
    font-size: 3.45rem;
  }

  .lg\:text-\[3\.55rem\] {
    font-size: 3.55rem;
  }

  .lg\:text-\[3\.5rem\] {
    font-size: 3.5rem;
  }

  .lg\:text-\[3\.6rem\] {
    font-size: 3.6rem;
  }

  .lg\:text-\[3\.7rem\] {
    font-size: 3.7rem;
  }

  .lg\:text-\[38px\] {
    font-size: 38px;
  }

  .lg\:text-\[4\.25rem\] {
    font-size: 4.25rem;
  }

  .lg\:text-\[4\.6rem\] {
    font-size: 4.6rem;
  }

  .lg\:text-\[4rem\] {
    font-size: 4rem;
  }

  .lg\:text-\[61px\] {
    font-size: 61px;
  }

  .lg\:text-\[62px\] {
    font-size: 62px;
  }

  .lg\:leading-\[1\.08\] {
    line-height: 1.08;
  }
}
@media (min-width: 1280px) {

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

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

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

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

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

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

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

  .xl\:items-end {
    align-items: flex-end;
  }
}
@media print {

  .print\:bottom-\[-3mm\] {
    bottom: -3mm;
  }

  .print\:bottom-\[-9mm\] {
    bottom: -9mm;
  }

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

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

  .print\:hidden {
    display: none;
  }

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

  .print\:max-w-none {
    max-width: none;
  }

  .print\:break-inside-avoid {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }

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

  .print\:rounded-none {
    border-radius: 0px;
  }

  .print\:border {
    border-width: 1px;
  }

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

  .print\:border-black\/20 {
    border-color: rgb(0 0 0 / 0.2);
  }

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

  .print\:bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

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

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

  .print\:pt-4 {
    padding-top: 1rem;
  }

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

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

  .print\: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);
  }
}
.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
  display: none;
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}
.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
  background-color: hsl(var(--accent));
}
.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\: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: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}
.\[\&\>button\]\:hidden>button {
  display: none;
}
.\[\&\>h2\]\:mb-4>h2 {
  margin-bottom: 1rem;
}
.\[\&\>h2\]\:mt-10>h2 {
  margin-top: 2.5rem;
}
.\[\&\>h2\]\:rounded-r-lg>h2 {
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}
.\[\&\>h2\]\:border-l-4>h2 {
  border-left-width: 4px;
}
.\[\&\>h2\]\:border-primary>h2 {
  border-color: hsl(var(--primary));
}
.\[\&\>h2\]\:bg-primary\/5>h2 {
  background-color: hsl(var(--primary) / 0.05);
}
.\[\&\>h2\]\:py-2>h2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.\[\&\>h2\]\:pl-4>h2 {
  padding-left: 1rem;
}
.\[\&\>h2\]\:text-xl>h2 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.\[\&\>h2\]\:font-bold>h2 {
  font-weight: 700;
}
.\[\&\>h2\]\:text-foreground>h2 {
  color: hsl(var(--foreground));
}
@media (min-width: 768px) {

  .\[\&\>h2\]\:md\:text-2xl>h2 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
.\[\&\>h3\]\:mb-3>h3 {
  margin-bottom: 0.75rem;
}
.\[\&\>h3\]\:mt-8>h3 {
  margin-top: 2rem;
}
.\[\&\>h3\]\:text-lg>h3 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.\[\&\>h3\]\:font-bold>h3 {
  font-weight: 700;
}
.\[\&\>h3\]\:text-foreground>h3 {
  color: hsl(var(--foreground));
}
.\[\&\>ol\]\:mb-1\.5>ol {
  margin-bottom: 0.375rem;
}
.\[\&\>p\:last-child\]\:mb-0>p:last-child {
  margin-bottom: 0px;
}
.\[\&\>p\]\:mb-1\.5>p {
  margin-bottom: 0.375rem;
}
.\[\&\>p\]\:mb-4>p {
  margin-bottom: 1rem;
}
.\[\&\>p\]\:text-\[1\.05rem\]>p {
  font-size: 1.05rem;
}
.\[\&\>p\]\:leading-\[1\.75\]>p {
  line-height: 1.75;
}
.\[\&\>p\]\:text-\[\#374151\]>p {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-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\]\:left-4>svg {
  left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}
.\[\&\>svg\]\:size-3\.5>svg {
  width: 0.875rem;
  height: 0.875rem;
}
.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}
.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}
.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
  color: hsl(var(--foreground));
}
.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: hsl(var(--sidebar-accent-foreground));
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}
.\[\&\>ul\]\:my-4>ul {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.\[\&\>ul\]\:mb-1\.5>ul {
  margin-bottom: 0.375rem;
}
.\[\&\>ul\]\:space-y-2>ul > :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));
}
.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
  --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));
}
.\[\&\[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));
}
.\[\&_\.psychology-callout\]\:my-4 .psychology-callout {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.\[\&_\.psychology-callout\]\:rounded-xl .psychology-callout {
  border-radius: 0.75rem;
}
.\[\&_\.psychology-callout\]\:border-l-4 .psychology-callout {
  border-left-width: 4px;
}
.\[\&_\.psychology-callout\]\:border-amber-400 .psychology-callout {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.\[\&_\.psychology-callout\]\:bg-pastel-yellow\/40 .psychology-callout {
  background-color: hsl(var(--pastel-yellow) / 0.4);
}
.\[\&_\.psychology-callout\]\:p-4 .psychology-callout {
  padding: 1rem;
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground));
}
.\[\&_\.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));
}
.\[\&_\.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));
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted));
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border));
}
.\[\&_\.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\]\]\: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] {
  color: hsl(var(--muted-foreground));
}
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}
.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}
.\[\&_a\]\:text-primary a {
  color: hsl(var(--primary));
}
.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}
.\[\&_blockquote\]\:rounded-r-lg blockquote {
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}
.\[\&_blockquote\]\:border-l-primary blockquote {
  border-left-color: hsl(var(--primary));
}
.\[\&_blockquote\]\:bg-primary\/5 blockquote {
  background-color: hsl(var(--primary) / 0.05);
}
.\[\&_blockquote\]\:px-4 blockquote {
  padding-left: 1rem;
  padding-right: 1rem;
}
.\[\&_blockquote\]\:py-2 blockquote {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.\[\&_code\]\:rounded code {
  border-radius: 0.25rem;
}
.\[\&_code\]\:bg-muted code {
  background-color: hsl(var(--muted));
}
.\[\&_code\]\:px-1\.5 code {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.\[\&_code\]\:py-0\.5 code {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.\[\&_code\]\:text-xs code {
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&_figcaption\]\:mt-2 figcaption {
  margin-top: 0.5rem;
}
.\[\&_figure\]\:my-8 figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.\[\&_h1\]\:mb-2 h1 {
  margin-bottom: 0.5rem;
}
.\[\&_h1\]\:text-xl h1 {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.\[\&_h1\]\:font-bold h1 {
  font-weight: 700;
}
.\[\&_h2\]\:mb-1\.5 h2 {
  margin-bottom: 0.375rem;
}
.\[\&_h2\]\:mb-3 h2 {
  margin-bottom: 0.75rem;
}
.\[\&_h2\]\:mt-4 h2 {
  margin-top: 1rem;
}
.\[\&_h2\]\:mt-8 h2 {
  margin-top: 2rem;
}
.\[\&_h2\]\:text-lg h2 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.\[\&_h2\]\:font-bold h2 {
  font-weight: 700;
}
.\[\&_h2\]\:text-foreground h2 {
  color: hsl(var(--foreground));
}
.\[\&_h3\]\:mb-2 h3 {
  margin-bottom: 0.5rem;
}
.\[\&_h3\]\:mt-3 h3 {
  margin-top: 0.75rem;
}
.\[\&_h3\]\:mt-4 h3 {
  margin-top: 1rem;
}
.\[\&_h3\]\:mt-6 h3 {
  margin-top: 1.5rem;
}
.\[\&_h3\]\:text-base h3 {
  font-size: 1rem;
  line-height: 1.5rem;
}
.\[\&_h3\]\:font-bold h3 {
  font-weight: 700;
}
.\[\&_h3\]\:font-semibold h3 {
  font-weight: 600;
}
.\[\&_h3\]\:text-foreground h3 {
  color: hsl(var(--foreground));
}
.\[\&_h3\]\:text-primary\/90 h3 {
  color: hsl(var(--primary) / 0.9);
}
.\[\&_li\]\:mb-1 li {
  margin-bottom: 0.25rem;
}
.\[\&_li\]\:list-disc li {
  list-style-type: disc;
}
.\[\&_li\]\:text-\[1\.05rem\] li {
  font-size: 1.05rem;
}
.\[\&_li\]\:leading-\[1\.75\] li {
  line-height: 1.75;
}
.\[\&_li\]\:text-\[\#374151\] li {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.dark\:\[\&_li\]\:text-\[hsl\(var\(--foreground\)\/0\.85\)\] li:is(.dark *) {
  color: hsl(var(--foreground)/0.85);
}
.\[\&_ol\]\:mb-2 ol {
  margin-bottom: 0.5rem;
}
.\[\&_ol\]\:list-decimal ol {
  list-style-type: decimal;
}
.\[\&_ol\]\:pl-5 ol {
  padding-left: 1.25rem;
}
.\[\&_p\]\:mb-2 p {
  margin-bottom: 0.5rem;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_p\]\:text-\[\#374151\] p {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.dark\:\[\&_p\]\:text-\[hsl\(var\(--foreground\)\/0\.85\)\] p:is(.dark *) {
  color: hsl(var(--foreground)/0.85);
}
.\[\&_strong\]\:font-semibold strong {
  font-weight: 600;
}
.\[\&_strong\]\:text-foreground strong {
  color: hsl(var(--foreground));
}
.\[\&_summary\:\:-webkit-details-marker\]\:hidden summary::-webkit-details-marker {
  display: none;
}
.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}
.\[\&_svg\]\:mx-auto svg {
  margin-left: auto;
  margin-right: auto;
}
.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:h-auto svg {
  height: auto;
}
.\[\&_svg\]\:max-h-\[360px\] svg {
  max-height: 360px;
}
.\[\&_svg\]\:w-full svg {
  width: 100%;
}
.\[\&_svg\]\:max-w-full svg {
  max-width: 100%;
}
.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}
.\[\&_table\]\:w-full table {
  width: 100%;
}
.\[\&_table\]\:border-collapse table {
  border-collapse: collapse;
}
.\[\&_table\]\:overflow-hidden table {
  overflow: hidden;
}
.\[\&_table\]\:rounded-xl table {
  border-radius: 0.75rem;
}
.\[\&_table\]\:border table {
  border-width: 1px;
}
.\[\&_table\]\:border-border table {
  border-color: hsl(var(--border));
}
.\[\&_td\]\:border td {
  border-width: 1px;
}
.\[\&_td\]\:border-border td {
  border-color: hsl(var(--border));
}
.\[\&_td\]\:p-1\.5 td {
  padding: 0.375rem;
}
.\[\&_td\]\:px-3 td {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.\[\&_td\]\:py-1 td {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.\[\&_th\]\:border th {
  border-width: 1px;
}
.\[\&_th\]\:border-border th {
  border-color: hsl(var(--border));
}
.\[\&_th\]\:bg-muted th {
  background-color: hsl(var(--muted));
}
.\[\&_th\]\:p-1\.5 th {
  padding: 0.375rem;
}
.\[\&_th\]\:px-3 th {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.\[\&_th\]\:py-1 th {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.\[\&_th\]\:font-bold th {
  font-weight: 700;
}
.\[\&_th\]\:text-primary th {
  color: hsl(var(--primary));
}
.\[\&_thead\]\:bg-primary\/10 thead {
  background-color: hsl(var(--primary) / 0.1);
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}
.\[\&_ul\]\:mb-2 ul {
  margin-bottom: 0.5rem;
}
.\[\&_ul\]\:list-disc ul {
  list-style-type: disc;
}
.\[\&_ul\]\:space-y-1 ul > :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));
}
.\[\&_ul\]\:pl-5 ul {
  padding-left: 1.25rem;
}
.\[\&_ul_ul\]\:ml-4 ul ul {
  margin-left: 1rem;
}
.\[\&_ul_ul\]\:mt-2 ul ul {
  margin-top: 0.5rem;
}
[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=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-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;
}
[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
/* #98 Interaktivitet: tekst- og oppgavebokser får mykt liv ved hover.
   Scoped til typiske innholdsbokser (venstre-aksent + callouts/notater),
   ikke knapper eller lenke-kort. Ren CSS, global. */

[style*="border-left: 4px solid"],
[style*="border-left:4px solid"],
.psychology-callout,
.ifingo-note,
.ifingo-card,
.exam-q {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  will-change: transform;
}

/* Venstre-aksent-bokser (kompetansemål, primærkilder, info, tips) glir litt mot høyre */
main [style*="border-left: 4px solid"]:hover,
main [style*="border-left:4px solid"]:hover,
.psychology-callout:hover {
  transform: translateX(3px);
  box-shadow: 0 12px 28px -16px rgba(110, 63, 190, 0.32);
}

/* Kort-/notat-bokser løftes mykt */
.ifingo-note:hover,
.ifingo-card:hover,
.exam-q:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -18px rgba(110, 63, 190, 0.30);
}

@media (prefers-reduced-motion: reduce) {
  [style*="border-left: 4px solid"],
  [style*="border-left:4px solid"],
  .psychology-callout,
  .ifingo-note,
  .ifingo-card,
  .exam-q { transition: none; }
}
/* Toppkarakter-effekter — hero (linje/zoom/glød/shine) + kort + seksjons-bevegelse.
   Scoped via wrapperen tk-*-page → treffer hero/kort uansett prefiks (tk-, tg-, tc- ...).
   Additivt. Linja er alltid synlig (ikke avhengig av animasjon). Bevegelse legges kun
   til av FX-skriptet, og har sikkerhets-fallback, så innhold aldri kan bli usynlig. */

/* ---------- HERO: glød + posisjon for shine ---------- */
[class*="tk-"][class*="-page"] [class*="-hero"]:not([class*="-hero-"]) {
  box-shadow:
    inset 0 -4px 0 rgba(109, 74, 255, 0.85),
    0 26px 60px -28px rgba(109, 74, 255, 0.5);
  position: relative;
}

/* HERO-tittel-linje: fjernet — hver side har sin egen underline i sitt eget
   design (span::after). Global h1::after ga en dobbel/tykk linje. */

/* SHINE-elementet (injiseres av FX-skriptet) */
[class*="tk-"][class*="-page"] [class*="-hero"]:not([class*="-hero-"]) > .tkfx-shine {
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(105deg, transparent 32%, rgba(255, 255, 255, 0.55) 50%, transparent 68%);
  transform: skewX(-18deg) translateX(-180%);
  pointer-events: none;
  z-index: 1;
}

/* ---------- KORT: skygge + tydelig hover-løft med lavendel ---------- */
[class*="tk-"][class*="-page"] [class*="-card"]:not([class*="-card-"]) {
  box-shadow: 0 12px 30px -16px rgba(60, 40, 140, 0.28);
  transition:
    transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.32s ease,
    border-color 0.32s ease,
    background-color 0.32s ease;
}

[class*="tk-"][class*="-page"] [class*="-card"]:not([class*="-card-"]):hover {
  transform: translateY(-10px) scale(1.02);
  border-color: #a78bfa !important;
  background-color: #f3f0ff !important;
  box-shadow: 0 32px 60px -20px rgba(109, 74, 255, 0.5) !important;
}

/* ---------- BEVEGELSE: seksjoner/kort glir inn når de scrolles inn ---------- */
/* .tkfx-anim legges kun til av FX-skriptet; .tkfx-in avslører (også via 2,5s fallback) */
.tkfx-in {
  opacity: 1 !important;
  transform: none !important;
}

@media (prefers-reduced-motion: no-preference) {
  .tkfx-anim {
    opacity: 0;
    transform: translateY(26px);
    transition:
      opacity 0.6s ease,
      transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  /* hero zoomer mildt inn (kun scale — aldri usynlig) */
  [class*="tk-"][class*="-page"] [class*="-hero"]:not([class*="-hero-"]) {
    animation: tkfx-hero-zoom 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  @keyframes tkfx-hero-zoom {
    from { transform: scale(0.975); }
    to   { transform: scale(1); }
  }

  /* shine sveiper over hero-en */
  [class*="tk-"][class*="-page"] [class*="-hero"]:not([class*="-hero-"]) > .tkfx-shine {
    animation: tkfx-shine 5.5s ease-in-out 1.2s infinite;
  }
  @keyframes tkfx-shine {
    0%        { transform: skewX(-18deg) translateX(-180%); }
    55%, 100% { transform: skewX(-18deg) translateX(360%); }
  }
}

/* ifingo – varige hover-/overgangseffekter for litteraturhistorie-sidene (.litt-period)
   -------------------------------------------------------------------------------
   Ren CSS, importert i main.tsx. Poenget: gjøre effektene UAVHENGIGE av
   PeriodPage.tsx (som Lovable regenererer). Alt er scopet til .litt-period,
   så ingen andre sider påvirkes. Kan ikke ødelegge appen – kun CSS. */

/* Lenker: myke fargeoverganger */
.litt-period a {
  transition: color .18s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Ytre seksjonskort: løft + lilla kant/glød på hover */
.litt-period .content-section,
.litt-period .tldr,
.litt-period .facts {
  transition: transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .3s ease;
}
.litt-period .content-section:hover,
.litt-period .tldr:hover,
.litt-period .facts:hover {
  transform: translateY(-4px);
  border-color: rgba(124, 58, 237, .42) !important;
  box-shadow: 0 24px 56px -32px rgba(124, 58, 237, .5) !important;
}

/* Indre kort (feat = nummer-kort, concept = virkemiddel-kort, m.fl.) */
.litt-period .feat,
.litt-period .concept,
.litt-period .mini,
.litt-period .sidebar-card,
.litt-period .symbol-card,
.litt-period .compare-card,
.litt-period .author,
.litt-period .step,
.litt-period .resgroup {
  transition: transform .25s cubic-bezier(.2,.7,.2,1), border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.litt-period .feat:hover,
.litt-period .concept:hover,
.litt-period .mini:hover,
.litt-period .sidebar-card:hover,
.litt-period .symbol-card:hover,
.litt-period .compare-card:hover,
.litt-period .author:hover,
.litt-period .step:hover,
.litt-period .resgroup:hover {
  background-color: #f1eaff !important;   /* TYDELIG fargeskift: hvit/transparent -> lys lilla */
  border-color: #7c3aed !important;       /* solid lilla kant */
  transform: translateY(-4px);
  box-shadow: 0 18px 44px -18px rgba(124, 58, 237, .55) !important;
}
/* Nummer-merket (.num) poppes + gløder ved kort-hover */
.litt-period .feat .num,
.litt-period .step .num,
.litt-period .mini .num,
.litt-period .compare-card .num {
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease, filter .25s ease;
}
.litt-period .feat:hover .num,
.litt-period .step:hover .num,
.litt-period .mini:hover .num,
.litt-period .compare-card:hover .num {
  transform: scale(1.14);
  box-shadow: 0 8px 20px rgba(124, 58, 237, .45);
  filter: brightness(1.08);
}

/* Hero-bilde: myk zoom på hover */
.litt-period .hero-img img { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.litt-period .hero-img:hover img { transform: scale(1.03); }

/* --- Knapper: tydelig fargeendring på hover --- */
.litt-period .next .btn,
.litt-period .hbtn,
.litt-period .sidebar-btn,
.litt-period .resgroup a {
  transition: background-color .22s ease, color .22s ease, border-color .22s ease,
              transform .22s ease, box-shadow .22s ease;
}
/* "Les videre" på Neste-kapittel-banneret → fylles hvit med lilla tekst */
.litt-period .next .btn:hover {
  background-color: #ffffff !important;
  color: #4a1fc7 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
}
/* Hero-knapper → fylles lilla med hvit tekst */
.litt-period .hbtn:hover {
  background-color: #7c3aed !important;
  color: #ffffff !important;
  border-color: #7c3aed !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(124, 58, 237, .32);
}
/* Sidebar-knapper */
.litt-period .sidebar-btn:hover {
  background-color: rgba(124, 58, 237, .18) !important;
  transform: translateY(-1px);
}
/* Ressurs-lenker → sterkere lilla på hover */
.litt-period .resgroup a:hover { color: #7c3aed; }

/* --- Fiks: lys tekst på "Neste kapittel"-banneret (var mørk på mørk lilla) --- */
.litt-period .next h1,
.litt-period .next h2,
.litt-period .next h3,
.litt-period .next h4 { color: #ffffff !important; }

/* Scroll-reveal på indre kort (klassene settes av litt-fx.ts).
   KUN opacity – ingen transform – så det ikke kolliderer med hover-løftet. */
.litt-period .littfx-anim { opacity: 0; transition: opacity .6s cubic-bezier(.2,.7,.2,1); }
.litt-period .littfx-anim.littfx-in { opacity: 1; }

/* Respekter brukere som har slått av bevegelse */
@media (prefers-reduced-motion: reduce) {
  .litt-period a,
  .litt-period .content-section, .litt-period .tldr, .litt-period .facts,
  .litt-period .feat, .litt-period .concept, .litt-period .mini,
  .litt-period .sidebar-card, .litt-period .symbol-card, .litt-period .compare-card,
  .litt-period .author, .litt-period .step, .litt-period .resgroup,
  .litt-period .hero-img img { transition: none !important; }
  .litt-period .littfx-anim { opacity: 1 !important; transition: none !important; }
}
/*
 * Integration guardrails for the approved privatist gold-reference pages.
 *
 * The previous version rewrote timelines, dashboards, cards and resource grids
 * across every subject page. Those broad selectors overrode the approved page-
 * specific designs. This file is intentionally limited to non-destructive
 * overflow and stacking protections.
 */

[class$="-private-page"],
[class*="-private-page "] {
  max-width: 100%;
  overflow-x: clip;
}

[class$="-private-page"] *,
[class*="-private-page "] * {
  min-width: 0;
}

[class$="-private-page"] :is(table, pre, code, svg, img),
[class*="-private-page "] :is(table, pre, code, svg, img) {
  max-width: 100%;
}

[class$="-private-page"] :is([class$="-table-wrap"], [class$="-rubric-wrap"]),
[class*="-private-page "] :is([class$="-table-wrap"], [class$="-rubric-wrap"]) {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

[class$="-private-page"] [class$="-ambient-layer"],
[class*="-private-page "] [class$="-ambient-layer"] {
  pointer-events: none;
}

@supports not (overflow: clip) {
  [class$="-private-page"],
  [class*="-private-page "] {
    overflow-x: hidden;
  }
}
/* Eksamensbank (eksam-guide) kort-styling for MathEksamenPage.
   eg-* CSS lå i en \3c style> inne i innholdet, men saniteres bort ved render
   (dangerouslySetInnerHTML strippet \3c style>). Flyttet hit + scopet til .eg-page.
   Variabler ligger på .eg-page (IKKE :root) for å ikke krasje appens globale tokens.
   Fikser 1T/2P/1P-eksamensbank-sider uniformt. React-heroen er urørt. */
.eg-page{--brand:#6d28d9;--brand2:#9333ea;--brand-d:#4c1d95;--ink:#1e1b3a;--muted:#6b6688;
--bg:#faf8ff;--card:#fff;--line:#ece7fb;--lav:#f5f1ff;--ok:#0d9488;--ok-bg:#ecfdf9;--ok-line:#99f6e4;--accent:#f59e0b}.eg-page *{box-sizing:border-box}.eg-page .eg-page{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);line-height:1.7;font-size:17px}.eg-page .eg-page a{color:var(--brand)}.eg-page .eg-hero{background:linear-gradient(135deg,#6d28d9 0%,#9333ea 60%,#a855f7 100%);color:#fff;border-radius:24px;padding:34px 34px 30px;position:relative;overflow:hidden;box-shadow:0 18px 40px -18px rgba(109,40,217,.6)}.eg-page .eg-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);border-radius:50%}.eg-page .eg-emoji{font-size:42px;line-height:1}.eg-page .eg-badge{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:5px 14px;border-radius:999px;font-size:13px;font-weight:600;margin:14px 0 10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.eg-page .eg-hero h1{font-size:30px;line-height:1.2;margin:6px 0 14px;font-weight:800;letter-spacing:-.5px}.eg-page .eg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.eg-page .eg-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:5px 12px;border-radius:10px;font-size:13px;font-weight:500}.eg-page .eg-chip b{font-weight:700}.eg-page .eg-crumb{font-size:13px;color:var(--muted);margin:18px 2px 14px}.eg-page .eg-crumb a{color:var(--muted);text-decoration:none}.eg-page .eg-layout{display:grid;grid-template-columns:1fr 250px;gap:34px;margin-top:26px;align-items:start}.eg-page .eg-lead{font-size:19px;color:#3a3460;background:var(--lav);border-left:4px solid var(--brand2);border-radius:0 12px 12px 0;padding:16px 20px;margin:0 0 26px}.eg-page .eg-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px 26px;margin:20px 0;box-shadow:0 4px 20px -10px rgba(76,29,149,.18)}.eg-page .eg-cardhead{display:flex;align-items:center;gap:14px;margin-bottom:6px}.eg-page .eg-num{flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#6d28d9,#9333ea);color:#fff;font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -6px rgba(109,40,217,.7)}.eg-page .eg-ctitle{font-size:19px;font-weight:700;color:var(--brand-d);margin:0;flex:1}.eg-page .eg-poeng{flex:0 0 auto;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}.eg-page .eg-q{background:var(--lav);border-radius:12px;padding:13px 16px;margin:14px 0;font-weight:500}.eg-page .eg-q .lab{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.4px;margin-right:6px}.eg-page .eg-mlabel{font-size:13px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.4px;margin:18px 0 8px;display:flex;align-items:center;gap:7px}.eg-page .eg-steps{list-style:none;margin:0;padding:0;counter-reset:s}.eg-page .eg-steps li{counter-increment:s;position:relative;padding:9px 0 9px 40px;border-bottom:1px dashed var(--line)}.eg-page .eg-steps li:last-child{border-bottom:none}.eg-page .eg-steps li:before{content:counter(s);position:absolute;left:0;top:8px;width:26px;height:26px;background:var(--lav);color:var(--brand);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.eg-page .eg-why{background:var(--ok-bg);border:1px solid var(--ok-line);border-radius:13px;padding:14px 18px;margin-top:18px;color:#0f5e57}.eg-page .eg-why .lab{font-weight:700;color:var(--ok);display:flex;align-items:center;gap:7px;margin-bottom:4px;font-size:14px}.eg-page .eg-toc{position:sticky;top:20px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px}.eg-page .eg-toc h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.eg-page .eg-toc a{display:block;padding:6px 0;color:#4a4470;text-decoration:none;font-size:14px;border-bottom:1px solid #f3eefe}.eg-page .eg-toc a:hover{color:var(--brand)}.eg-page .eg-h2{font-size:23px;color:var(--brand-d);font-weight:800;margin:38px 0 8px}.eg-page details.eg-faq{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:4px 18px;margin:10px 0}.eg-page details.eg-faq summary{font-weight:600;cursor:pointer;color:var(--brand-d);padding:12px 0;list-style:none}.eg-page details.eg-faq summary::-webkit-details-marker{display:none}.eg-page details.eg-faq summary:before{content:"+";float:right;color:var(--brand2);font-weight:700;font-size:20px}.eg-page details.eg-faq[open] summary:before{content:"–"}.eg-page details.eg-faq .a{padding:0 0 14px;color:#3a3460}.eg-page .eg-cta{background:linear-gradient(135deg,#4c1d95,#7c3aed);color:#fff;border-radius:18px;padding:26px;text-align:center;margin:34px 0}.eg-page .eg-cta a{display:inline-block;background:#fff;color:var(--brand-d);font-weight:700;padding:11px 26px;border-radius:11px;text-decoration:none;margin-top:12px}.eg-page .eg-related{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.eg-page .eg-related a{background:var(--lav);border:1px solid var(--line);color:var(--brand-d);padding:9px 16px;border-radius:11px;text-decoration:none;font-weight:600;font-size:15px}.eg-page .katex{font-size:1.04em}
@media(max-width:860px){.eg-layout{grid-template-columns:1fr}.eg-toc{display:none}}/*hero-flattened*/.eg-page .eg-hero{background:none!important;border:none!important;box-shadow:none!important;padding:22px 0 4px!important;margin:0 0 6px!important;color:#1f1147!important;overflow:visible!important}.eg-page .eg-hero:after,.eg-page .eg-hero:before{display:none!important}.eg-page .eg-emoji{display:none!important}.eg-page .eg-hero h1{color:#1f1147!important;margin-top:4px!important}.eg-page .eg-badge{background:#7c3aed!important;color:#fff!important;border:none!important}.eg-page .eg-chip{background:#f5f1ff!important;border:1px solid #ece6fb!important;color:#4c1d95!important}.eg-page .eg-chip b{color:#4c1d95!important}/*egb-wrap*/.eg-page .egb-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
/* Avgrensede UX-rettinger for /karakterkalkulator. Ingen andre sider berøres. */
.kc-preview-page{overflow-x:clip}
.kc-preview-page main{overflow:visible!important}
.kc-preview-page .kc-preview-workspace,.kc-preview-page .kc-preview-workspace>.grid,.kc-preview-page .kc-preview-workspace>.grid>div,.kc-preview-page .kc-preview-workspace>.grid>div>div{overflow:visible}

/* Første kalkulatorkort: tillat programmenyen å gå utenfor kortet. */
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child{position:relative;z-index:30;overflow:visible!important}

/* Last opp vitnemål – eksisterende knapp, nå med kontrollert animasjon. */
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button{position:relative;isolation:isolate;width:auto!important;min-height:82px;overflow:hidden!important;border-color:rgba(95,46,234,.3)!important;background:radial-gradient(circle at 8% 50%,rgba(142,92,255,.15),transparent 29%),linear-gradient(115deg,#faf7ff,#fff 56%,#f3eeff)!important;box-shadow:0 14px 34px rgba(78,38,132,.09);transform:translateZ(0);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.95) 46%,transparent 72%);transform:translateX(-130%);animation:kcUploadSweep 5.5s ease-in-out infinite}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:after{content:"";position:absolute;inset:auto 20px 0;height:3px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,#5f2eea,#8e5cff,#2fb6d4);transform:scaleX(.2);transform-origin:left;transition:transform .28s ease}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:hover,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:focus-visible{transform:translateY(-4px);border-color:rgba(95,46,234,.58)!important;box-shadow:0 22px 48px rgba(78,38,132,.16)}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:hover:after,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:focus-visible:after{transform:scaleX(1)}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>span:first-child{position:relative;width:52px!important;height:52px!important;min-width:52px;border-radius:17px!important;box-shadow:0 12px 26px rgba(95,46,234,.25);animation:kcUploadIconPulse 3.2s ease-in-out infinite}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>span:first-child:after{content:"";position:absolute;left:7px;right:7px;top:8px;height:2px;border-radius:999px;background:#fff;box-shadow:0 0 10px #fff;animation:kcUploadScan 2.6s ease-in-out infinite}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>svg:last-child{transition:transform .22s ease}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:hover>svg:last-child,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:focus-visible>svg:last-child{transform:translateX(5px)}

/* Programvelger: høyere lag, bredere meny og ingen clipping. */
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child{position:relative;z-index:60;align-items:start}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child{position:relative;z-index:70;min-width:0}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div{position:relative;z-index:80}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>button{min-height:52px;border-color:rgba(95,46,234,.28)!important;background:linear-gradient(180deg,#fff,#fcfaff)!important;box-shadow:0 7px 18px rgba(74,37,116,.06);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>button:hover,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>button:focus-visible{border-color:rgba(95,46,234,.7)!important;box-shadow:0 0 0 4px rgba(95,46,234,.09),0 12px 28px rgba(74,37,116,.1);transform:translateY(-1px)}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>.absolute{z-index:1000!important;width:min(520px,calc(100vw - 48px))!important;min-width:min(420px,calc(100vw - 48px))!important;max-height:min(460px,64vh)!important;overscroll-behavior:contain;background:rgba(255,255,255,.99)!important;box-shadow:0 28px 70px rgba(54,25,96,.24)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:kcDropdownIn .18s ease-out both}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>.absolute button{min-height:42px;border:1px solid transparent}
.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>.absolute button:hover,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>.absolute button:focus-visible{border-color:rgba(95,46,234,.16);background:rgba(95,46,234,.08)!important;color:#5f2eea;outline:none}

/* Studievelger og fokus. */
.kc-preview-page .kc-preview-study-list article>button{grid-template-columns:44px minmax(0,1fr) auto auto}
.kc-preview-page .kc-preview-study-list article>button>span:nth-child(2){min-width:0}
.kc-preview-page .kc-preview-study-list article>button small{overflow-wrap:anywhere}
.kc-preview-page button:focus-visible,.kc-preview-page a:focus-visible,.kc-preview-page input:focus-visible,.kc-preview-page select:focus-visible{outline:3px solid rgba(95,46,234,.32);outline-offset:3px}

@keyframes kcUploadSweep{0%,62%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes kcUploadIconPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}
@keyframes kcUploadScan{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(34px);opacity:1}}
@keyframes kcDropdownIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:900px){.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child{grid-template-columns:1fr 1fr}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button{grid-template-columns:48px minmax(0,1fr)!important;gap:12px;min-height:96px;margin:18px!important;padding:14px!important}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>span:first-child{width:48px!important;height:48px!important;min-width:48px}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>svg:last-child{position:absolute;right:14px;bottom:12px}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button strong,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button small{padding-right:18px;overflow-wrap:anywhere}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child{grid-template-columns:1fr}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child{grid-column:auto}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>.absolute{position:fixed!important;left:12px!important;right:12px!important;top:max(82px,env(safe-area-inset-top))!important;width:auto!important;min-width:0!important;max-height:calc(100dvh - 112px)!important;margin:0!important;border-radius:20px!important}.kc-preview-page .kc-preview-study-list article>button{grid-template-columns:40px minmax(0,1fr) auto;gap:9px}.kc-preview-page .kc-preview-study-list article>button>span:nth-child(3){grid-column:2;width:-moz-max-content;width:max-content;max-width:100%}.kc-preview-page .kc-preview-study-list article>button>svg{grid-column:3;grid-row:1/span 2}}
@media(prefers-reduced-motion:reduce){.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button:before,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>span:first-child,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button>span:first-child:after,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>.absolute{animation:none!important}.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>button,.kc-preview-page .kc-preview-workspace .space-y-6>section:first-child>div:last-child>div:first-child>div>button{transition:none!important}}
/*
 * Ifingo-typografi for /karakterkalkulator.
 * Fontfilene på nettstedet inneholder Nunito 400/600/700 og Quicksand 500/600/700.
 * Vi unngår derfor syntetiske 800/900-vekter og bruker mykere lilla-grå tekstfarger.
 */

.kc-preview-page {
  --foreground: 252 16% 32%;
  --card-foreground: 252 16% 32%;
  --popover-foreground: 252 16% 32%;
  --secondary-foreground: 252 15% 34%;
  --muted-foreground: 252 9% 47%;
  color: #665f70;
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.kc-preview-page :where(
  p,
  span,
  small,
  label,
  button,
  input,
  select,
  option,
  a,
  li,
  td,
  th
) {
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kc-preview-page :where(h1, h2, h3, h4, h5, h6),
.kc-preview-page .kc-preview-title,
.kc-preview-page .kc-preview-cert-title {
  color: #4d4458;
  font-family: "Quicksand", "Nunito", system-ui, sans-serif;
  font-weight: 700 !important;
}

/* Tailwind-klassene på siden ba tidligere om 800/900, som ikke er lastet. */
.kc-preview-page .font-black,
.kc-preview-page .font-extrabold,
.kc-preview-page .font-bold {
  font-weight: 700 !important;
}

.kc-preview-page .font-semibold {
  font-weight: 600 !important;
}

.kc-preview-page strong,
.kc-preview-page b {
  font-weight: 700;
}

.kc-preview-page .text-foreground {
  color: #514858 !important;
}

.kc-preview-page .text-muted-foreground {
  color: #7b7483 !important;
}

.kc-preview-page .kc-preview-title {
  font-weight: 700 !important;
  letter-spacing: -0.045em;
}

.kc-preview-page .kc-preview-lead {
  color: #706978;
  font-weight: 400;
}

.kc-preview-page .kc-preview-badge,
.kc-preview-page .kc-preview-primary,
.kc-preview-page .kc-preview-secondary,
.kc-preview-page .kc-preview-tab,
.kc-preview-page .kc-preview-proof span,
.kc-preview-page .kc-preview-float,
.kc-preview-page .kc-preview-step-no {
  font-weight: 700;
}

.kc-preview-page .kc-preview-stat strong,
.kc-preview-page .kc-preview-cert-title,
.kc-preview-page .kc-preview-screen strong {
  color: #51465d;
  font-weight: 700;
}

.kc-preview-page .kc-preview-stat span,
.kc-preview-page .kc-preview-cert-sub,
.kc-preview-page .kc-preview-step small {
  color: #817988;
  font-weight: 600;
}

.kc-preview-page .kc-preview-step strong {
  color: #564c60;
  font-weight: 700;
}

/* Skjemakortene skal være tydelige, men ikke kullsvarte. */
.kc-preview-page .kc-preview-workspace :where(h2, h3) {
  color: #504657 !important;
  font-weight: 700 !important;
}

.kc-preview-page .kc-preview-workspace :where(p, small, label) {
  color: #797180;
}

.kc-preview-page .kc-preview-workspace button,
.kc-preview-page .kc-preview-workspace input,
.kc-preview-page .kc-preview-workspace select {
  letter-spacing: 0;
}

.kc-preview-page .kc-preview-workspace button {
  font-weight: 700;
}

/* Behold hvit tekst på lilla flater. */
.kc-preview-page :where(.bg-primary, .kc-preview-primary, .kc-preview-tab.active),
.kc-preview-page :where(.bg-primary, .kc-preview-primary, .kc-preview-tab.active) * {
  color: #fff;
}

/* Litt luftigere mobiltypografi uten å øke høyden kraftig. */
@media (max-width: 690px) {
  .kc-preview-page .kc-preview-title {
    line-height: 1.04;
    letter-spacing: -0.035em;
  }

  .kc-preview-page .kc-preview-lead {
    line-height: 1.65;
  }
}
/* Kjemi 1 premium-kapitler (kap 2–8) — synlighetsfiks for tabellhoder.
 *
 * De globale innholds-klassene .chemistry-content / .prose har !important-regler
 * som nuller ut header-bakgrunnen:
 *     .chemistry-content table thead th { background: none !important; }
 *     .prose thead th                   { background: hsl(var(--primary)/.06) !important; }
 * Premium-designet gir <th> hvit tekst + lilla gradient, men gradienten (uten
 * !important) taper mot reglene over  ->  hvit tekst paa hvit/lys bakgrunn = usynlig.
 * (Premium-HTML-en har en intern <div class="... chemistry-content">, saa aa fjerne
 *  klassen fra wrapperen er ikke nok — vi maa vinne i CSS-kaskaden i stedet.)
 *
 * Vi gjenoppretter premium-designets EGEN header-gradient (#7c3aed -> #6d28d9) med
 * hoyere spesifisitet + !important, scoped strengt til kap 2–8. Kapittel 1 er urort.
 */
[class*="kjemi1-kap2"] table.premium-table thead th,
[class*="kjemi1-kap3"] table.premium-table thead th,
[class*="kjemi1-kap4"] table.premium-table thead th,
[class*="kjemi1-kap5"] table.premium-table thead th,
[class*="kjemi1-kap6"] table.premium-table thead th,
[class*="kjemi1-kap7"] table.premium-table thead th,
[class*="kjemi1-kap8"] table.premium-table thead th {
  background: linear-gradient(90deg, #7c3aed, #6d28d9) !important;
  color: #ffffff !important;
}

/* Premium CTA-knapper (alltid lilla gradient-bakgrunn) — garanter hvit tekst.
 * Sidens .prose a { color: hsl(var(--primary)) !important } + designets egen
 * color:inherit-kjede kan ellers gi lilla tekst paa lilla knapp = usynlig.
 * Vi setter baade color OG -webkit-text-fill-color (designet bruker text-fill). */
[class*="kjemi1-kap2"] .overview-button, [class*="kjemi1-kap2"] .bridge-link, [class*="kjemi1-kap2"] .button.primary, [class*="kjemi1-kap2"] .button.glass,
[class*="kjemi1-kap3"] .overview-button, [class*="kjemi1-kap3"] .bridge-link, [class*="kjemi1-kap3"] .button.primary, [class*="kjemi1-kap3"] .button.glass,
[class*="kjemi1-kap4"] .overview-button, [class*="kjemi1-kap4"] .bridge-link, [class*="kjemi1-kap4"] .button.primary, [class*="kjemi1-kap4"] .button.glass,
[class*="kjemi1-kap5"] .overview-button, [class*="kjemi1-kap5"] .bridge-link, [class*="kjemi1-kap5"] .button.primary, [class*="kjemi1-kap5"] .button.glass,
[class*="kjemi1-kap6"] .overview-button, [class*="kjemi1-kap6"] .bridge-link, [class*="kjemi1-kap6"] .button.primary, [class*="kjemi1-kap6"] .button.glass,
[class*="kjemi1-kap7"] .overview-button, [class*="kjemi1-kap7"] .bridge-link, [class*="kjemi1-kap7"] .button.primary, [class*="kjemi1-kap7"] .button.glass,
[class*="kjemi1-kap8"] .overview-button, [class*="kjemi1-kap8"] .bridge-link, [class*="kjemi1-kap8"] .button.primary, [class*="kjemi1-kap8"] .button.glass {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Premium hero-brodsmuler (.crumbs a) sitter paa lilla hero-bakgrunn.
 * Designets color:inherit gir ellers lilla-paa-lilla = usynlig. -> hvit tekst. */
[class*="kjemi1-kap2"] .crumbs a, [class*="kjemi1-kap3"] .crumbs a,
[class*="kjemi1-kap4"] .crumbs a, [class*="kjemi1-kap5"] .crumbs a,
[class*="kjemi1-kap6"] .crumbs a, [class*="kjemi1-kap7"] .crumbs a,
[class*="kjemi1-kap8"] .crumbs a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/*
 * Kjemi 2 premium design system – steg 12.
 *
 * Scope only Kjemi 2 surfaces. Existing learner text, chemistry figures,
 * hero images and interactive widgets are left intact; this layer harmonizes
 * UI chrome, states, spacing, dark mode and accessibility.
 */

.k2-premium-surface,
.k2-resource-surface,
.k2-related-links,
main.eg-page:has(.k2-lab-standard) {
  --k2ds-ink: #24173c;
  --k2ds-muted: #675c75;
  --k2ds-purple: #6232c7;
  --k2ds-purple-strong: #4f238f;
  --k2ds-lavender: #f6f2ff;
  --k2ds-lavender-2: #eee7ff;
  --k2ds-surface: #ffffff;
  --k2ds-surface-soft: #fbf9ff;
  --k2ds-line: #ddd2ef;
  --k2ds-focus: #54239a;
  --k2ds-focus-inner: #ffffff;
  --k2ds-shadow: 0 18px 52px rgba(72, 42, 112, 0.11);
  --k2ds-shadow-hover: 0 18px 42px rgba(72, 42, 112, 0.16);
  font-family: Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.k2-resource-surface {
  color: var(--k2ds-ink);
  background:
    radial-gradient(circle at 92% 4%, rgba(124, 85, 239, 0.09), transparent 24rem),
    linear-gradient(180deg, #fbfaff 0%, #f8f5fc 42%, #ffffff 100%);
  overflow-x: clip;
}

.k2-resource-frame {
  border: 1px solid var(--k2ds-line);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--k2ds-shadow);
  padding: clamp(18px, 3vw, 34px);
}

.k2-resource-surface h1,
.k2-resource-surface h2,
.k2-resource-surface h3,
.k2-resource-surface h4,
.k2-related-links h2,
.k2-premium-surface h1,
.k2-premium-surface h2,
.k2-premium-surface h3,
.k2-premium-surface h4,
main.eg-page:has(.k2-lab-standard) h1,
main.eg-page:has(.k2-lab-standard) h2,
main.eg-page:has(.k2-lab-standard) h3,
main.eg-page:has(.k2-lab-standard) h4 {
  font-family: Quicksand, Nunito, ui-sans-serif, system-ui, sans-serif;
}

/* Strong, reusable keyboard focus. A light inner ring keeps the outline visible
   against both purple and pale surfaces. */
:where(.k2-premium-surface, .k2-resource-surface, .k2-related-links, main.eg-page:has(.k2-lab-standard))
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--k2ds-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px var(--k2ds-focus-inner) !important;
}

/* Interactive surfaces: comfortably above the WCAG 2.2 AA 24px minimum in
   the dedicated control areas, without inflating ordinary inline text links. */
.k2-related-links a,
.k2-lab-links a,
.k2-resource-action,
.k2-resource-surface button,
.k2-resource-surface input,
.k2-chapter-resource-nav__item {
  min-height: 40px;
}

.k2-resource-surface img,
.k2-resource-surface svg,
main.eg-page:has(.k2-lab-standard) img,
main.eg-page:has(.k2-lab-standard) svg {
  max-width: 100%;
}

/* Shared standalone hero/frame treatment. Preserve image artwork; only chrome
   and spacing are normalized. */
.k2-resource-hero {
  overflow: hidden;
  border: 1px solid var(--k2ds-line);
  border-radius: 28px;
  box-shadow: var(--k2ds-shadow);
}

.k2-resource-intro,
.k2-glossary-card,
.k2-resource-panel {
  border: 1px solid var(--k2ds-line) !important;
  border-radius: 20px !important;
  background: var(--k2ds-surface) !important;
  color: var(--k2ds-muted) !important;
  box-shadow: 0 10px 28px rgba(72, 42, 112, 0.07);
}

.k2-resource-intro {
  background: linear-gradient(145deg, var(--k2ds-surface), var(--k2ds-lavender)) !important;
}

.k2-glossary-card {
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.k2-glossary-card:hover {
  transform: translateY(-1px);
  border-color: #c9b8e7 !important;
  box-shadow: var(--k2ds-shadow-hover);
}

.k2-glossary-search {
  border-color: var(--k2ds-line) !important;
  background: var(--k2ds-lavender) !important;
  color: var(--k2ds-ink) !important;
}

.k2-glossary-search::-moz-placeholder {
  color: #776b87;
  opacity: 1;
}

.k2-glossary-search::placeholder {
  color: #776b87;
  opacity: 1;
}

.k2-glossary-action,
.k2-related-links__card,
.k2-related-links__primary {
  display: flex;
  align-items: center;
  min-height: 46px;
  border-radius: 15px !important;
  text-decoration: none !important;
  font-weight: 800;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.k2-glossary-action,
.k2-related-links__card {
  border: 1px solid var(--k2ds-line) !important;
  background: var(--k2ds-lavender) !important;
  color: var(--k2ds-purple-strong) !important;
}

.k2-glossary-action:hover,
.k2-related-links__card:hover {
  transform: translateY(-1px);
  border-color: #bca7df !important;
  background: var(--k2ds-lavender-2) !important;
}

.k2-related-links__primary {
  border: 1px solid var(--k2ds-purple) !important;
  background: linear-gradient(135deg, #6c3bd1, #5827ad) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(95, 46, 234, 0.12);
}

.k2-related-links__primary:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #5d2dbd, #4b218f) !important;
  box-shadow: 0 14px 28px rgba(95, 46, 234, 0.18);
}

.k2-related-links {
  color: var(--k2ds-muted);
}

.k2-related-links__heading {
  margin: 2.6rem 0 1rem;
  padding-left: 14px;
  border-left: 4px solid var(--k2ds-purple);
  color: var(--k2ds-ink);
  font-size: 1.45rem;
  font-weight: 800;
}

.k2-related-links__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
  margin: 1rem 0;
}

.k2-related-links__list {
  margin: 0;
  padding-left: 1.25rem;
  color: var(--k2ds-muted);
  line-height: 1.85;
}

.k2-related-links__list a {
  color: var(--k2ds-purple);
  font-weight: 750;
}

/* Summary: keep all original HTML, but make its older green tip-card and small
   radius language conform to the same lavender design vocabulary. */
.k2-summary-surface .ifingo-guide {
  color: var(--k2ds-muted) !important;
  background: transparent !important;
  font-family: Nunito, ui-sans-serif, system-ui, sans-serif !important;
}

.k2-summary-surface .ifingo-guide h1,
.k2-summary-surface .ifingo-guide h2,
.k2-summary-surface .ifingo-guide h3,
.k2-summary-surface .ifingo-guide h4 {
  color: var(--k2ds-ink) !important;
  font-family: Quicksand, Nunito, ui-sans-serif, system-ui, sans-serif !important;
}

.k2-summary-surface .ifingo-guide .ifingo-toc,
.k2-summary-surface .ifingo-guide .ifingo-callout,
.k2-summary-surface .ifingo-guide .ifingo-tip,
.k2-summary-surface .ifingo-guide .formula,
.k2-summary-surface .ifingo-guide .begreper,
.k2-summary-surface .ifingo-guide details {
  border-color: var(--k2ds-line) !important;
  border-radius: 16px !important;
  background: var(--k2ds-lavender) !important;
  color: var(--k2ds-muted) !important;
}

.k2-summary-surface .ifingo-guide .ifingo-tip {
  border-left-color: var(--k2ds-purple) !important;
}

.k2-summary-surface .ifingo-guide .ifingo-tip h3,
.k2-summary-surface .ifingo-guide .formula,
.k2-summary-surface .ifingo-guide .begreper strong,
.k2-summary-surface .ifingo-guide summary,
.k2-summary-surface .ifingo-guide a {
  color: var(--k2ds-purple-strong) !important;
}

.k2-summary-surface .ifingo-guide strong {
  color: var(--k2ds-ink) !important;
}

.k2-summary-surface .ifingo-guide summary {
  min-height: 44px;
}

/* Existing chapter shell remains the structural source of truth. This layer
   only strengthens shared states and makes the light/dark palettes consistent. */
.k2-premium-surface a,
.k2-premium-surface button {
  -webkit-tap-highlight-color: transparent;
}

.k2-premium-surface .k2-chapter-content-preserved,
.k2-premium-surface main.container > div[data-read-aloud-target] {
  border-color: var(--k2ds-line) !important;
}

.k2-premium-surface .k2-chapter-resource-nav__item {
  min-height: 92px;
}

/* Lab: the standardized 12-step block already preserves all experiment HTML.
   Normalize only the wrapper and interaction chrome. */
main.eg-page:has(.k2-lab-standard) {
  background:
    radial-gradient(circle at 90% 2%, rgba(124, 85, 239, 0.08), transparent 24rem),
    linear-gradient(180deg, #fbfaff 0%, #ffffff 72%);
}

main.eg-page:has(.k2-lab-standard) .k2-lab-shell {
  border-color: var(--k2ds-line) !important;
  border-radius: 26px !important;
  box-shadow: var(--k2ds-shadow) !important;
}

main.eg-page:has(.k2-lab-standard) .k2-lab-context article,
main.eg-page:has(.k2-lab-standard) .k2-lab-step {
  border-color: var(--k2ds-line) !important;
  border-radius: 17px !important;
}

main.eg-page:has(.k2-lab-standard) .k2-lab-links a {
  border-color: var(--k2ds-line) !important;
  background: var(--k2ds-surface) !important;
  color: var(--k2ds-purple-strong) !important;
}

main.eg-page:has(.k2-lab-standard) .k2-lab-links a:hover {
  background: var(--k2ds-lavender) !important;
}

main.eg-page:has(.k2-lab-standard) .ig-hero,
main.eg-page:has(.k2-lab-standard) .eg-hero {
  border-radius: 28px !important;
  box-shadow: var(--k2ds-shadow) !important;
}

/* Dark mode: preserve chemistry imagery, but move UI surfaces to violet-tinted
   neutral backgrounds with readable text and a brighter focus ring. */
.dark .k2-premium-surface,
.dark .k2-resource-surface,
.dark .k2-related-links,
.dark main.eg-page:has(.k2-lab-standard) {
  --k2ds-ink: #f5f0ff;
  --k2ds-muted: #d1c6de;
  --k2ds-purple: #c8b0ff;
  --k2ds-purple-strong: #dfd0ff;
  --k2ds-lavender: #2b203b;
  --k2ds-lavender-2: #352747;
  --k2ds-surface: #21182e;
  --k2ds-surface-soft: #261b35;
  --k2ds-line: #4a385f;
  --k2ds-focus: #f0e5ff;
  --k2ds-focus-inner: #21182e;
  --k2ds-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
  --k2ds-shadow-hover: 0 18px 44px rgba(0, 0, 0, 0.36);
}

.dark .k2-resource-surface,
.dark main.eg-page:has(.k2-lab-standard) {
  background:
    radial-gradient(circle at 92% 4%, rgba(137, 100, 216, 0.13), transparent 24rem),
    linear-gradient(180deg, #17101f 0%, #1d1428 50%, #17101f 100%) !important;
}

.dark .k2-resource-frame,
.dark .k2-resource-intro,
.dark .k2-glossary-card,
.dark .k2-resource-panel,
.dark .k2-resource-surface [class*="bg-white"] {
  border-color: var(--k2ds-line) !important;
  background: var(--k2ds-surface) !important;
  color: var(--k2ds-muted) !important;
  box-shadow: var(--k2ds-shadow);
}

.dark .k2-resource-intro {
  background: linear-gradient(145deg, #21182e, #2b203b) !important;
}

.dark .k2-glossary-search {
  border-color: var(--k2ds-line) !important;
  background: #2b203b !important;
  color: var(--k2ds-ink) !important;
}

.dark .k2-glossary-search::-moz-placeholder {
  color: #baadca;
}

.dark .k2-glossary-search::placeholder {
  color: #baadca;
}

.dark .k2-resource-surface .text-foreground,
.dark .k2-resource-surface dt,
.dark .k2-resource-surface strong,
.dark .k2-resource-surface .k2-glossary-title,
.dark .k2-resource-surface .k2-glossary-heading {
  color: var(--k2ds-ink) !important;
}

.dark .k2-resource-surface .text-muted-foreground,
.dark .k2-resource-surface dd,
.dark .k2-resource-surface .k2-glossary-copy {
  color: var(--k2ds-muted) !important;
}

.dark .k2-summary-surface .ifingo-guide,
.dark .k2-summary-surface .ifingo-guide p,
.dark .k2-summary-surface .ifingo-guide li,
.dark .k2-summary-surface .ifingo-guide .faq-answer {
  color: var(--k2ds-muted) !important;
  background: transparent;
}

.dark .k2-summary-surface .ifingo-guide .ifingo-toc,
.dark .k2-summary-surface .ifingo-guide .ifingo-callout,
.dark .k2-summary-surface .ifingo-guide .ifingo-tip,
.dark .k2-summary-surface .ifingo-guide .formula,
.dark .k2-summary-surface .ifingo-guide .begreper,
.dark .k2-summary-surface .ifingo-guide details {
  border-color: var(--k2ds-line) !important;
  background: var(--k2ds-surface-soft) !important;
}

.dark .k2-summary-surface .ifingo-guide h1,
.dark .k2-summary-surface .ifingo-guide h2,
.dark .k2-summary-surface .ifingo-guide h3,
.dark .k2-summary-surface .ifingo-guide h4,
.dark .k2-summary-surface .ifingo-guide strong {
  color: var(--k2ds-ink) !important;
}

.dark .k2-premium-surface.k2-premium-surface .min-h-screen.bg-background {
  background:
    radial-gradient(circle at 92% 18%, rgba(137, 100, 216, 0.13), transparent 24%),
    radial-gradient(circle at 5% 58%, rgba(95, 46, 234, 0.08), transparent 26%),
    linear-gradient(180deg, #17101f 0%, #1d1428 44%, #17101f 100%) !important;
}

.dark .k2-premium-surface.k2-premium-surface main.container > div.mb-8:has(> h1),
.dark .k2-premium-surface.k2-premium-surface main.container > div[data-read-aloud-target],
.dark .k2-premium-surface.k2-premium-surface .k2-chapter-content-preserved,
.dark .k2-premium-surface.k2-premium-surface main.container > div.grid.gap-3.mb-10,
.dark .k2-premium-surface.k2-premium-surface .k2-chapter-resource-nav {
  border-color: var(--k2ds-line) !important;
  background: var(--k2ds-surface) !important;
  color: var(--k2ds-muted) !important;
  box-shadow: var(--k2ds-shadow) !important;
}

.dark .k2-premium-surface.k2-premium-surface main.container > div.mb-8:has(> h1) h1,
.dark .k2-premium-surface.k2-premium-surface main.container > div[data-read-aloud-target] .prose h1,
.dark .k2-premium-surface.k2-premium-surface main.container > div[data-read-aloud-target] .prose h2,
.dark .k2-premium-surface.k2-premium-surface main.container > div[data-read-aloud-target] .prose h3,
.dark .k2-premium-surface.k2-premium-surface main.container > div[data-read-aloud-target] .prose h4 {
  color: var(--k2ds-ink) !important;
}

.dark .k2-premium-surface.k2-premium-surface main.container > div[data-read-aloud-target] .prose {
  color: var(--k2ds-muted) !important;
}

.dark main.eg-page:has(.k2-lab-standard) .k2-lab-shell,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-head,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-context article,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-step,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-links a {
  border-color: var(--k2ds-line) !important;
  background: var(--k2ds-surface) !important;
  color: var(--k2ds-muted) !important;
}

.dark main.eg-page:has(.k2-lab-standard) .k2-lab-head h2,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-step strong,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-context strong {
  color: var(--k2ds-ink) !important;
}

.dark main.eg-page:has(.k2-lab-standard) .k2-lab-head p,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-step span,
.dark main.eg-page:has(.k2-lab-standard) .k2-lab-foot p {
  color: var(--k2ds-muted) !important;
}

@media (max-width: 720px) {
  .k2-resource-frame {
    border-radius: 22px;
    padding: 16px;
  }

  .k2-resource-hero {
    border-radius: 22px;
  }

  .k2-related-links__grid {
    grid-template-columns: 1fr;
  }

  .k2-related-links__card,
  .k2-related-links__primary,
  .k2-glossary-action {
    min-height: 48px;
  }

  .k2-summary-surface .ifingo-guide {
    padding-inline: 4px !important;
  }

  .k2-summary-surface .ifingo-guide h2 {
    font-size: clamp(1.45rem, 7vw, 1.8rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .k2-resource-surface *,
  .k2-resource-surface *::before,
  .k2-resource-surface *::after,
  .k2-related-links *,
  main.eg-page:has(.k2-lab-standard) *,
  main.eg-page:has(.k2-lab-standard) *::before,
  main.eg-page:has(.k2-lab-standard) *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
