:root, :host {
    --fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free";
    --fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free";
    --fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro";
    --fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro";
    --fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone";
    --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone";
    --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone";
    --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone";
    --fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands";
    --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp";
    --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp";
    --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp";
    --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp";
    --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone";
    --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone";
    --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone";
    --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone";
    --fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab";
    --fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press";
    --fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard";
    --fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint";
    --fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog";
    --fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo";
    --fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch";
    --fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly";
    --fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill";
    --fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo";
    --fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel";
    --fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility";
    --fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo";
    --fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill";
}

.svg-inline--fa {
    box-sizing: content-box;
    display: var(--fa-display, inline-block);
    height: 1em;
    overflow: visible;
    vertical-align: -0.125em;
    width: var(--fa-width, 1.25em);
}

.svg-inline--fa.fa-2xs {
    vertical-align: 0.1em;
}

.svg-inline--fa.fa-xs {
    vertical-align: 0em;
}

.svg-inline--fa.fa-sm {
    vertical-align: -0.0714285714em;
}

.svg-inline--fa.fa-lg {
    vertical-align: -0.2em;
}

.svg-inline--fa.fa-xl {
    vertical-align: -0.25em;
}

.svg-inline--fa.fa-2xl {
    vertical-align: -0.3125em;
}

.svg-inline--fa.fa-pull-left,
.svg-inline--fa .fa-pull-start {
    float: inline-start;
    margin-inline-end: var(--fa-pull-margin, 0.3em);
}

.svg-inline--fa.fa-pull-right,
.svg-inline--fa .fa-pull-end {
    float: inline-end;
    margin-inline-start: var(--fa-pull-margin, 0.3em);
}

.svg-inline--fa.fa-li {
    width: var(--fa-li-width, 2em);
    inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
    inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */
}

.fa-layers-counter, .fa-layers-text {
    display: inline-block;
    position: absolute;
    text-align: center;
}

.fa-layers {
    display: inline-block;
    height: 1em;
    position: relative;
    text-align: center;
    vertical-align: -0.125em;
    width: var(--fa-width, 1.25em);
}

.fa-layers .svg-inline--fa {
    inset: 0;
    margin: auto;
    position: absolute;
    transform-origin: center center;
}

.fa-layers-text {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
}

.fa-layers-counter {
    background-color: var(--fa-counter-background-color, #ff253a);
    border-radius: var(--fa-counter-border-radius, 1em);
    box-sizing: border-box;
    color: var(--fa-inverse, #fff);
    line-height: var(--fa-counter-line-height, 1);
    max-width: var(--fa-counter-max-width, 5em);
    min-width: var(--fa-counter-min-width, 1.5em);
    overflow: hidden;
    padding: var(--fa-counter-padding, 0.25em 0.5em);
    right: var(--fa-right, 0);
    text-overflow: ellipsis;
    top: var(--fa-top, 0);
    transform: scale(var(--fa-counter-scale, 0.25));
    transform-origin: top right;
}

.fa-layers-bottom-right {
    bottom: var(--fa-bottom, 0);
    right: var(--fa-right, 0);
    top: auto;
    transform: scale(var(--fa-layers-scale, 0.25));
    transform-origin: bottom right;
}

.fa-layers-bottom-left {
    bottom: var(--fa-bottom, 0);
    left: var(--fa-left, 0);
    right: auto;
    top: auto;
    transform: scale(var(--fa-layers-scale, 0.25));
    transform-origin: bottom left;
}

.fa-layers-top-right {
    top: var(--fa-top, 0);
    right: var(--fa-right, 0);
    transform: scale(var(--fa-layers-scale, 0.25));
    transform-origin: top right;
}

.fa-layers-top-left {
    left: var(--fa-left, 0);
    right: auto;
    top: var(--fa-top, 0);
    transform: scale(var(--fa-layers-scale, 0.25));
    transform-origin: top left;
}

.fa-1x {
    font-size: 1em;
}

.fa-2x {
    font-size: 2em;
}

.fa-3x {
    font-size: 3em;
}

.fa-4x {
    font-size: 4em;
}

.fa-5x {
    font-size: 5em;
}

.fa-6x {
    font-size: 6em;
}

.fa-7x {
    font-size: 7em;
}

.fa-8x {
    font-size: 8em;
}

.fa-9x {
    font-size: 9em;
}

.fa-10x {
    font-size: 10em;
}

.fa-2xs {
    font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */
    line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */
    vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-xs {
    font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */
    line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */
    vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-sm {
    font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */
    line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */
    vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-lg {
    font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */
    line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */
    vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-xl {
    font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */
    line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */
    vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-2xl {
    font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */
    line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */
    vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
}

.fa-width-auto {
    --fa-width: auto;
}

.fa-fw,
.fa-width-fixed {
    --fa-width: 1.25em;
}

.fa-ul {
    list-style-type: none;
    margin-inline-start: var(--fa-li-margin, 2.5em);
    padding-inline-start: 0;
}

.fa-ul > li {
    position: relative;
}

.fa-li {
    inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
    position: absolute;
    text-align: center;
    width: var(--fa-li-width, 2em);
    line-height: inherit;
}

/* Heads Up: Bordered Icons will not be supported in the future!
  - This feature will be deprecated in the next major release of Font Awesome (v8)!
  - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.
*/
/* Notes:
* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)
* --@{v.$css-prefix}-border-padding =
  ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)
  ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)
*/
.fa-border {
    border-color: var(--fa-border-color, #eee);
    border-radius: var(--fa-border-radius, 0.1em);
    border-style: var(--fa-border-style, solid);
    border-width: var(--fa-border-width, 0.0625em);
    box-sizing: var(--fa-border-box-sizing, content-box);
    padding: var(--fa-border-padding, 0.1875em 0.25em);
}

.fa-pull-left,
.fa-pull-start {
    float: inline-start;
    margin-inline-end: var(--fa-pull-margin, 0.3em);
}

.fa-pull-right,
.fa-pull-end {
    float: inline-end;
    margin-inline-start: var(--fa-pull-margin, 0.3em);
}

.fa-beat {
    animation-name: fa-beat;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-bounce {
    animation-name: fa-bounce;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}

.fa-fade {
    animation-name: fa-fade;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-beat-fade {
    animation-name: fa-beat-fade;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-flip {
    animation-name: fa-flip;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-shake {
    animation-name: fa-shake;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin {
    animation-name: fa-spin;
    animation-delay: var(--fa-animation-delay, 0s);
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 2s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin-reverse {
    --fa-animation-direction: reverse;
}

.fa-pulse,
.fa-spin-pulse {
    animation-name: fa-spin;
    animation-direction: var(--fa-animation-direction, normal);
    animation-duration: var(--fa-animation-duration, 1s);
    animation-iteration-count: var(--fa-animation-iteration-count, infinite);
    animation-timing-function: var(--fa-animation-timing, steps(8));
}

@media (prefers-reduced-motion: reduce) {
    .fa-beat,
    .fa-bounce,
    .fa-fade,
    .fa-beat-fade,
    .fa-flip,
    .fa-pulse,
    .fa-shake,
    .fa-spin,
    .fa-spin-pulse {
        animation: none !important;
        transition: none !important;
    }
}

@keyframes fa-beat {
    0%, 90% {
        transform: scale(1);
    }
    45% {
        transform: scale(var(--fa-beat-scale, 1.25));
    }
}

@keyframes fa-bounce {
    0% {
        transform: scale(1, 1) translateY(0);
    }
    10% {
        transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
    }
    30% {
        transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
    }
    50% {
        transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
    }
    57% {
        transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
    }
    64% {
        transform: scale(1, 1) translateY(0);
    }
    100% {
        transform: scale(1, 1) translateY(0);
    }
}

@keyframes fa-fade {
    50% {
        opacity: var(--fa-fade-opacity, 0.4);
    }
}

@keyframes fa-beat-fade {
    0%, 100% {
        opacity: var(--fa-beat-fade-opacity, 0.4);
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(var(--fa-beat-fade-scale, 1.125));
    }
}

@keyframes fa-flip {
    50% {
        transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
    }
}

@keyframes fa-shake {
    0% {
        transform: rotate(-15deg);
    }
    4% {
        transform: rotate(15deg);
    }
    8%, 24% {
        transform: rotate(-18deg);
    }
    12%, 28% {
        transform: rotate(18deg);
    }
    16% {
        transform: rotate(-22deg);
    }
    20% {
        transform: rotate(22deg);
    }
    32% {
        transform: rotate(-12deg);
    }
    36% {
        transform: rotate(12deg);
    }
    40%, 100% {
        transform: rotate(0deg);
    }
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.fa-rotate-90 {
    transform: rotate(90deg);
}

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

.fa-rotate-270 {
    transform: rotate(270deg);
}

.fa-flip-horizontal {
    transform: scale(-1, 1);
}

.fa-flip-vertical {
    transform: scale(1, -1);
}

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
    transform: scale(-1, -1);
}

.fa-rotate-by {
    transform: rotate(var(--fa-rotate-angle, 0));
}

.svg-inline--fa .fa-primary {
    fill: var(--fa-primary-color, currentColor);
    opacity: var(--fa-primary-opacity, 1);
}

.svg-inline--fa .fa-secondary {
    fill: var(--fa-secondary-color, currentColor);
    opacity: var(--fa-secondary-opacity, 0.4);
}

.svg-inline--fa.fa-swap-opacity .fa-primary {
    opacity: var(--fa-secondary-opacity, 0.4);
}

.svg-inline--fa.fa-swap-opacity .fa-secondary {
    opacity: var(--fa-primary-opacity, 1);
}

.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
    fill: black;
}

.svg-inline--fa.fa-inverse {
    fill: var(--fa-inverse, #fff);
}

.fa-stack {
    display: inline-block;
    height: 2em;
    line-height: 2em;
    position: relative;
    vertical-align: middle;
    width: 2.5em;
}

.fa-inverse {
    color: var(--fa-inverse, #fff);
}

.svg-inline--fa.fa-stack-1x {
    --fa-width: 1.25em;
    height: 1em;
    width: var(--fa-width);
}

.svg-inline--fa.fa-stack-2x {
    --fa-width: 2.5em;
    height: 2em;
    width: var(--fa-width);
}

.fa-stack-1x,
.fa-stack-2x {
    inset: 0;
    margin: auto;
    position: absolute;
    z-index: var(--fa-stack-z-index, auto);
}

/* Custom Styles & Animations */
body {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background-color: #f3f4f6;
    -webkit-tap-highlight-color: transparent;
}

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

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

/* Hide scrollbar for clean UI but keep functionality */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Custom Radio Button Styling for Quiz */
.option-btn {
    transition: all 0.2s;
}

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

/* Feedback Colors */
.correct-bg {
    background-color: #d1fae5 !important;
    border-color: #10b981 !important;
    color: #065f46 !important;
}

.wrong-bg {
    background-color: #fee2e2 !important;
    border-color: #ef4444 !important;
    color: #991b1b !important;
}

.disabled-opt {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

*, ::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 */
*, ::after, ::before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

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

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

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

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

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

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

b, strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

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

button, select {
    text-transform: none
}

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

:-moz-focusring {
    outline: auto
}

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

progress {
    vertical-align: baseline
}

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

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

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

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

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

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

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

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

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

:disabled {
    cursor: default
}

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

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

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

.relative {
    position: relative
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-2 {
    margin-bottom: 0.5rem
}

.mb-3 {
    margin-bottom: 0.75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.mt-1 {
    margin-top: 0.25rem
}

.block {
    display: block
}

.flex {
    display: flex
}

.hidden {
    display: none
}

.h-full {
    height: 100%
}

.h-screen {
    height: 100vh
}

.h-20 {
    height: 5rem
}

.h-48 {
    height: 12rem
}

.w-full {
    width: 100%
}

.w-20 {
    width: 5rem
}

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

.flex-1 {
    flex: 1 1 0%
}

.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))
}

.flex-col {
    flex-direction: column
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.overflow-hidden {
    overflow: hidden
}

.overflow-y-auto {
    overflow-y: auto
}

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

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: 0.5rem
}

.rounded-xl {
    border-radius: 0.75rem
}

.border {
    border-width: 1px
}

.border-b {
    border-bottom-width: 1px
}

.border-gray-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1))
}

.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

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

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

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

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

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

.text-center {
    text-align: center
}

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

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

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

.font-bold {
    font-weight: 700
}

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

.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.text-gray-700 {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1))
}

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

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

.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 {
    --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-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-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)
}

.transition {
    transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -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-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

.hover\:bg-blue-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.focus\:border-blue-500:focus {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}

.focus\:bg-white:focus {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

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

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