/* Minimal Tailwind-like utility subset used in index.html (local, no CDN) */
/* Layout */
.min-h-screen{min-height:100vh}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}
.bottom-6{bottom:1.5rem}
.right-6{right:1.5rem}
.w-full{width:100%}
.h-\[80vh\]{height:80vh}
.w-12{width:3rem}
.h-12{height:3rem}
.w-6{width:1.5rem}
.h-6{height:1.5rem}
.overflow-hidden{overflow:hidden}
.cursor-pointer{cursor:pointer}

/* Z-index */
.-z-10{z-index:-10}
.-z-20{z-index:-20}

/* Spacing */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-2{margin-top:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.pt-10{padding-top:2.5rem}
.pb-8{padding-bottom:2rem}
.pb-10{padding-bottom:2.5rem}
.pb-14{padding-bottom:3.5rem}
.p-6{padding:1.5rem}
.rounded-xl{border-radius:0.75rem}
.rounded-lg{border-radius:0.5rem}
.rounded-full{border-radius:9999px}
.gap-3{gap:0.75rem}
.pl-6{padding-left:1.5rem}

/* Typography */
.text-white{color:#fff}
.text-center{text-align:center}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.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}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.underline{text-decoration:underline}
.drop-shadow{text-shadow:0 1px 2px rgba(0,0,0,.6)}
.opacity-80{opacity:.8}
.opacity-90{opacity:.9}
.opacity-95{opacity:.95}
.leading-relaxed{line-height:1.625}
.list-disc{list-style:disc}
.space-y-2> :not([hidden])~:not([hidden]){--space-y-rev:0;margin-top:calc(0.5rem*(1 - var(--space-y-rev)))}

/* Effects */
.transition{transition:all .2s ease}
.transition-opacity{transition:opacity .5s ease}
.duration-500{transition-duration:.5s}
.transform-gpu{transform:translateZ(0)}
.bg-transparent{background:transparent}

/* Max width */
.max-w-7xl{max-width:80rem}

/* Alignment helpers */
.items-center{align-items:center}
.justify-center{justify-content:center}
.text-gray-100{color:#f3f4f6}
.hover\:text-gray-100:hover{color:#f3f4f6}

/* Auto margin */
.mt-auto{margin-top:auto}

/* Borders */
.border{border-width:1px;border-style:solid}
.border-white\/30{border-color:rgba(255,255,255,.3)}

/* Background translucent whites */
.bg-white\/10{background-color:rgba(255,255,255,.1)}
.hover\:bg-white\/20:hover{background-color:rgba(255,255,255,.2)}

/* Tab background colors with opacity */
.bg-indigo-600\/60{background-color:rgba(79,70,229,.6)}
.hover\:bg-indigo-600\/80:hover{background-color:rgba(79,70,229,.8)}
.bg-purple-600\/60{background-color:rgba(147,51,234,.6)}
.hover\:bg-purple-600\/80:hover{background-color:rgba(147,51,234,.8)}
.bg-emerald-600\/60{background-color:rgba(5,150,105,.6)}
.hover\:bg-emerald-600\/80:hover{background-color:rgba(5,150,105,.8)}
.bg-sky-600\/60{background-color:rgba(2,132,199,.6)}
.hover\:bg-sky-600\/80:hover{background-color:rgba(2,132,199,.8)}
.bg-rose-600\/60{background-color:rgba(225,29,72,.6)}
.hover\:bg-rose-600\/80:hover{background-color:rgba(225,29,72,.8)}

/* Utilities used in footer */
.bg-transparent{background:transparent}

/* Media queries for md: (min-width:768px) */
@media (min-width:768px){
  .md\:p-8{padding:2rem}
  .md\:text-base{font-size:1rem;line-height:1.5rem}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
}
