/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */

/* Reset and base styles */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}

/* Core utilities */
.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}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.inset-y-0{top:0px;bottom:0px}
.left-0{left:0px}
.right-3{right:0.75rem}
.top-0{top:0px}
.top-1\/2{top:50%}
.top-1\/3{top:33.333333%}
.top-1\/4{top:25%}
.bottom-1\/3{bottom:33.333333%}
.bottom-1\/4{bottom:25%}
.left-1\/2{left:50%}
.left-1\/4{left:25%}
.right-1\/4{right:25%}
.right-1\/5{right:20%}
.-top-40{top:-10rem}
.-right-40{right:-10rem}
.-bottom-40{bottom:-10rem}
.-left-40{left:-10rem}
.-left-20{left:-5rem}
.-right-20{right:-5rem}
.z-0{z-index:0}
.z-10{z-index:10}

/* Display */
.block{display:block}
.inline-flex{display:inline-flex}
.flex{display:flex}
.hidden{display:none}

/* Sizing */
.h-5{height:1.25rem}
.h-16{height:4rem}
.h-48{height:12rem}
.h-52{height:13rem}
.h-60{height:15rem}
.h-72{height:18rem}
.h-full{height:100%}
.h-px{height:1px}
.max-w-md{max-width:28rem}
.min-h-screen{min-height:100vh}
.w-5{width:1.25rem}
.w-24{width:6rem}
.w-32{width:8rem}
.w-48{width:12rem}
.w-52{width:13rem}
.w-60{width:15rem}
.w-72{width:18rem}
.w-80{width:20rem}
.w-full{width:100%}
.w-px{width:1px}

/* Flexbox & Grid */
.flex-col{flex-direction:column}
.flex-shrink-0{flex-shrink:0}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}

/* Spacing */
.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))}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.pl-3{padding-left:0.75rem}
.pl-10{padding-left:2.5rem}
.pr-4{padding-right:1rem}
.pr-12{padding-right:3rem}
.mb-2{margin-bottom:0.5rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-16{margin-bottom:4rem}
.ml-3{margin-left:0.75rem}
.ml-auto{margin-left:auto}
.mt-1{margin-top:0.25rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mx-auto{margin-left:auto;margin-right:auto}

/* Typography */
.text-center{text-align:center}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.tracking-tight{letter-spacing:-0.025em}

/* Colors */
.border-gray-200{border-color:#e5e7eb}
.border-gray-200\/50{border-color:rgb(229 231 235 / 0.5)}
.bg-gray-50\/80{background-color:rgb(249 250 251 / 0.8)}
.bg-gray-200{background-color:#e5e7eb}
.bg-white\/95{background-color:rgb(255 255 255 / 0.95)}
.text-gray-400{color:#9ca3af}
.text-white{color:#fff}

/* Borders */
.border{border-width:1px}
.border-t{border-top-width:1px}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}

/* Effects */
.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}
.blur-2xl{filter:blur(40px)}
.blur-3xl{filter:blur(64px)}

/* Transforms */
.rotate-45{transform:rotate(45deg)}
.-rotate-45{transform:rotate(-45deg)}
.-translate-y-1\/2{transform:translateY(-50%)}
.scale-95{transform:scale(0.95)}

/* Transitions */
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.duration-200{transition-duration:200ms}
.duration-300{transition-duration:300ms}

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

/* Opacity */
.opacity-0{opacity:0}

/* Overflow */
.overflow-hidden{overflow:hidden}

/* Object */
.object-contain{object-fit:contain}

/* Cursor */
.cursor-pointer{cursor:pointer}

/* Gradients */
.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}
.from-transparent{--tw-gradient-from:#0000 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)}
.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}

/* Responsive prefixes */
@media (min-width: 768px) {
.md\:p-8{padding:2rem}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
}

/* Custom classes from hover/focus states */
.hover\:text-primary\/80:hover{color:rgb(22 93 255 / 0.8)}
.hover\:text-danger:hover{color:var(--color-danger)}
.hover\:text-dark-light:hover{color:var(--color-dark-light)}
.peer:checked~.peer-checked\:bg-primary{background-color:var(--color-primary)}
.peer:checked~.peer-checked\:opacity-100{opacity:1}
.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}

/* Form reset */
input{background-color:transparent}
input::placeholder{opacity:1;color:#9ca3af}
button{background-color:transparent;background-image:none}

/* Add vendor prefixes for blur */
.backdrop-blur-sm{
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px)
}

/* Additional animation keyframes */
@keyframes pulse{
  50%{opacity:.5}
}

/* Ensure peer selectors work */
.peer:checked~.peer-checked\:bg-primary{background-color:var(--color-primary)}
.peer:checked~.peer-checked\:opacity-100{opacity:1}
.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px} 