/* tw-lite.css — minimal Tailwind subset for offline file:// usage */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:inherit;}
html{line-height:1.5;-webkit-text-size-adjust:100%;}
body{margin:0;}
/* Minimal preflight so links/buttons don't fall back to browser defaults */
a{color:inherit;text-decoration:none;}
button,input,textarea,select{font:inherit;color:inherit;}
button{background-color:transparent;}
img,video{max-width:100%;height:auto;}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0;}
p{margin:0;}
ul,ol,menu{list-style:none;margin:0;padding:0;}
blockquote,dl,dd,figure{margin:0;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1)}}





.-translate-x-1\/2{transform:translateX(-50%);}
.-translate-y-1{transform:translateY(-0.25rem);}
.-translate-y-2{transform:translateY(-0.5rem);}
.absolute{position:absolute;}
.animate-bounce{animation:bounce 1s infinite;}
.animate-float{animation:float 6s ease-in-out infinite;}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}
.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite;}
.aspect-square{aspect-ratio:1 / 1;}
.backdrop-blur-sm{backdrop-filter:blur(4px);}
.bg-accent\/20{background-color:hsl(var(--accent) / 0.20);}
.bg-background{background-color:hsl(var(--background));}
.bg-card{background-color:hsl(var(--card));}
.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-primary{background-color:hsl(var(--primary));}
.bg-primary\/10{background-color:hsl(var(--primary) / 0.10);}
.bg-primary\/20{background-color:hsl(var(--primary) / 0.20);}
.bg-primary\/5{background-color:hsl(var(--primary) / 0.05);}
.bg-primary\/90{background-color:hsl(var(--primary) / 0.90);}
.bg-white\/10{background-color:rgba(255,255,255,0.10);}
.block{display:block;}
.blur-\[100px\]{filter:blur(100px);}
.blur-\[120px\]{filter:blur(120px);}
.blur-\[150px\]{filter:blur(150px);}
.border{border-width:1px;}
.border-2{border-width:2px;}
.border-border{border-color:hsl(var(--border));}
.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / 0.3);}
.border-primary{border-color:hsl(var(--primary));}
.border-primary\/30{border-color:hsl(var(--primary) / 0.3);}
.border-primary\/40{border-color:hsl(var(--primary) / 0.4);}
.border-primary\/50{border-color:hsl(var(--primary) / 0.5);}
.border-t{border-top-width:1px;}
.bottom-1\/4{bottom:25%;}
.bottom-6{bottom:1.5rem;}
.bottom-8{bottom:2rem;}
.brightness-0{filter:brightness(0);}
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;}
.duration-300{transition-duration:300ms;}
.duration-500{transition-duration:500ms;}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-col{flex-direction:column;}
.flex-row{flex-direction:row;}
.flex-shrink-0{flex-shrink:0;}
.font-bold{font-weight:700;}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.from-background{--tw-gradient-from:hsl(var(--background));--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.from-background\/80{--tw-gradient-from:hsl(var(--background) / 0.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.from-emerald-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.from-orange-500{--tw-gradient-from:#f97316;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.from-purple-500{--tw-gradient-from:#a855f7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.from-slate-500{--tw-gradient-from:#64748b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0));}
.gap-16{gap:4rem;}
.gap-2{gap:0.5rem;}
.gap-4{gap:1rem;}
.gap-6{gap:1.5rem;}
.gap-8{gap:2rem;}
.grid{display:grid;}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.h-10{height:2.5rem;}
.h-14{height:3.5rem;}
.h-2{height:0.5rem;}
.h-24{height:6rem;}
.h-4{height:1rem;}
.h-5{height:1.25rem;}
.h-6{height:1.5rem;}
.h-7{height:1.75rem;}
.h-8{height:2rem;}
.h-80{height:20rem;}
.h-96{height:24rem;}
.h-\[600px\]{height:600px;}
.h-full{height:100%;}
.hidden{display:none;}
.inline-flex{display:inline-flex;}
.inset-0{top:0;right:0;bottom:0;left:0;}
.invert{filter:invert(1);}
.items-center{align-items:center;}
.items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.leading-relaxed{line-height:1.625;}
.leading-snug{line-height:1.375;}
.leading-tight{line-height:1.25;}
.left-0{left:0px;}
.left-1\/2{left:50%;}
.left-1\/4{left:25%;}
.left-8{left:2rem;}
.max-h-14{max-height:3.5rem;}
.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-full{max-width:100%;}
.max-w-lg{max-width:32rem;}
.mb-1{margin-bottom:0.25rem;}
.mb-10{margin-bottom:2.5rem;}
.mb-12{margin-bottom:3rem;}
.mb-16{margin-bottom:4rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-3{margin-bottom:0.75rem;}
.mb-20{margin-bottom:5rem;}
.mb-3{margin-bottom:0.75rem;}
.mb-4{margin-bottom:1rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-8{margin-bottom:2rem;}
.min-h-screen{min-height:100vh;}
.ml-2{margin-left:0.5rem;}
.mr-2{margin-right:0.5rem;}
.mt-16{margin-top:4rem;}
.mt-20{margin-top:5rem;}
.mt-4{margin-top:1rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.object-contain{object-fit:contain;}
.object-cover{object-fit:cover;}
.opacity-10{opacity:0.10;}
.opacity-\[0\.03\]{opacity:0.03;}
.outline-none{outline:2px solid transparent;outline-offset:2px;}
.overflow-hidden{overflow:hidden;}
.p-3{padding:0.75rem;}
.p-4{padding:1rem;}
.p-5{padding:1.25rem;}
.p-6{padding:1.5rem;}
.p-8{padding:2rem;}
.pb-2{padding-bottom:0.5rem;}
.pointer-events-none{pointer-events:none;}
.pt-2{padding-top:0.5rem;}
.pt-20{padding-top:5rem;}
.pt-4{padding-top:1rem;}
.pt-8{padding-top:2rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.px-8{padding-left:2rem;padding-right:2rem;}
.py-16{padding-top:4rem;padding-bottom:4rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-32{padding-top:8rem;padding-bottom:8rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem;}
.py-8{padding-top:2rem;padding-bottom:2rem;}
.relative{position:relative;}
.resize-none{resize:none;}
.right-0{right:0px;}
.right-1\/4{right:25%;}
.right-6{right:1.5rem;}
.right-8{right:2rem;}
.ring-1{--tw-ring-color:rgba(0,0,0,0.5);box-shadow:0 0 0 1px var(--tw-ring-color);}
.ring-primary{--tw-ring-color:hsl(var(--primary));}
.rounded-2xl{border-radius:1rem;}
.rounded-3xl{border-radius:1.5rem;}
.rounded-full{border-radius:9999px;}
.rounded-lg{border-radius:0.5rem;}
.rounded-xl{border-radius:0.75rem;}
.scale-110{transform:scale(1.10);}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}
.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-6 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse));}
.space-y-8 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse));}
.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;}
.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-center{text-align:center;}
.text-foreground{color:hsl(var(--foreground));}
.text-foreground\/70{color:hsl(var(--foreground) / 0.7);}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-base{font-size:1rem;line-height:1.5rem;}
.text-muted-foreground{color:hsl(var(--muted-foreground));}
.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / 0.7);}
.text-primary{color:hsl(var(--primary));}
.text-primary-foreground{color:hsl(var(--primary-foreground));}
.text-primary\/80{color:hsl(var(--primary) / 0.8);}
.text-sm{font-size:0.875rem;line-height:1.25rem;}
.text-white{color:#fff;}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.text-xs{font-size:0.75rem;line-height:1rem;}
.to-background\/80{--tw-gradient-to:hsl(var(--background) / 0.8);}
.to-pink-500{--tw-gradient-to:#ec4899;}
.to-red-500{--tw-gradient-to:#ef4444;}
.to-secondary\/20{--tw-gradient-to:hsl(var(--secondary) / 0.20);}
.to-teal-500{--tw-gradient-to:#14b8a6;}
.to-transparent{--tw-gradient-to:transparent;}
.to-zinc-500{--tw-gradient-to:#71717a;}
.top-0{top:0px;}
.top-1\/4{top:25%;}
.top-8{top:2rem;}
.tracking-wider{letter-spacing:0.05em;}
.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-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}
.translate-x-1{transform:translateX(0.25rem);}
.uppercase{text-transform:uppercase;}
.via-accent\/5{--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--accent) / 0.05),var(--tw-gradient-to,rgba(255,255,255,0));}
.via-background{--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--background)),var(--tw-gradient-to,rgba(255,255,255,0));}
.via-background\/95{--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--background) / 0.95),var(--tw-gradient-to,rgba(255,255,255,0));}
.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to,rgba(255,255,255,0));}
.w-1{width:0.25rem;}
.w-10{width:2.5rem;}
.w-14{width:3.5rem;}
.w-4{width:1rem;}
.w-5{width:1.25rem;}
.w-6{width:1.5rem;}
.w-7{width:1.75rem;}
.w-8{width:2rem;}
.w-80{width:20rem;}
.w-96{width:24rem;}
.w-\[600px\]{width:600px;}
.w-full{width:100%;}
.z-10{z-index:10;}
.z-50{z-index:50;}
.focus\:border-primary:focus{border-color:hsl(var(--primary));}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}
.focus\:ring-1:focus{box-shadow:0 0 0 1px var(--tw-ring-color, rgba(0,0,0,0.5));}
.focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary));}
.group:hover .group-hover\:scale-110{transform:scale(1.10);}
.group:hover .group-hover\:text-primary{color:hsl(var(--primary));}
.group:hover .group-hover\:translate-x-1{transform:translateX(0.25rem);}
.hover\:-translate-y-1:hover{transform:translateY(-0.25rem);}
.hover\:-translate-y-2:hover{transform:translateY(-0.5rem);}
.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / 0.90);}
.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / 0.30);}
.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / 0.40);}
.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / 0.50);}
.hover\:text-primary:hover{color:hsl(var(--primary));}
.hover\:text-primary\/80:hover{color:hsl(var(--primary) / 0.80);}












.placeholder\:text-muted-foreground\/70::placeholder{color:hsl(var(--muted-foreground) / 0.70);}




/* Custom helpers used in markup */
.glass{background:hsla(var(--background),0.4);border:1px solid hsla(var(--border),0.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.gradient-text{background:linear-gradient(90deg, hsl(var(--primary)) 0%, hsl(var(--secondary)) 50%, hsl(var(--primary)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.glow{box-shadow:0 0 0 1px hsla(var(--primary),0.25),0 10px 30px -10px hsla(var(--primary),0.35);}
.glow-text{text-shadow:0 0 30px hsla(var(--primary),0.35);}
.cta-tight{letter-spacing:-0.01em;}
@media (min-width:640px){.container{max-width:640px;}}@media (min-width:640px){.sm\:flex-row{flex-direction:row;}}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}@media (min-width:768px){.container{max-width:768px;}}@media (min-width:768px){.md\:flex{display:flex;}}@media (min-width:768px){.md\:flex-row{flex-direction:row;}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (min-width:768px){.md\:hidden{display:none;}}@media (min-width:768px){.md\:text-2xl{font-size:1.5rem;line-height:2rem;}}@media (min-width:768px){.md\:text-4xl{font-size:2.25rem;line-height:2.5rem;}}@media (min-width:768px){.md\:text-5xl{font-size:3rem;line-height:1;}}@media (min-width:768px){.md\:text-6xl{font-size:3.75rem;line-height:1;}}@media (min-width:768px){.md\:text-7xl{font-size:4.5rem;line-height:1;}}@media (min-width:1024px){.container{max-width:1024px;}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}}@media (min-width:1280px){.container{max-width:1280px;}}@media (min-width:1536px){.container{max-width:1400px;}}