
/* Minimal utility CSS to replicate the widget's Tailwind look & feel without external CDN */
/* Base resets */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html,body{height:100%}
html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}
body{margin:0;background:transparent;color:#fff}

/* Layout helpers */
.hidden{display:none}
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.grid{display:grid}
.w-full{width:100%}
.h-2{height:0.5rem}
.min-h-\[60vh\]{min-height:60vh}
.max-w-2xl{max-width:42rem}

/* Spacing */
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.m-0{margin:0}
.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-8{margin-top:2rem}
.mb-2{margin-bottom:0.5rem}
.mb-4{margin-bottom:1rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}

/* Grid */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.sm\:grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:640px){ .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* Flex alignment */
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.shrink-0{flex-shrink:0}

/* 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-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}
.tracking-tight{letter-spacing:-0.015em}

/* Radius */
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}

/* Colors (text/bg) */
.text-white{color:#ffffff}
.text-white\/90{color:rgba(255,255,255,0.9)}
.text-white\/80{color:rgba(255,255,255,0.8)}
.text-white\/75{color:rgba(255,255,255,0.75)}
.text-white\/70{color:rgba(255,255,255,0.7)}
.text-white\/60{color:rgba(255,255,255,0.6)}
.text-rose-200{color:#fecdd3}
.text-slate-900{color:#0f172a}
.bg-white{background-color:#ffffff}
.bg-white\/5{background-color:rgba(255,255,255,0.05)}
.bg-white\/10{background-color:rgba(255,255,255,0.10)}
.bg-white\/20{background-color:rgba(255,255,255,0.20)}
.bg-white\/40{background-color:rgba(255,255,255,0.40)}
.bg-white\/80{background-color:rgba(255,255,255,0.80)}
.bg-emerald-500{background-color:#10b981}
.bg-amber-500{background-color:#f59e0b}
.bg-rose-500{background-color:#f43f5e}

/* Gradients used */
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-slate-900{--tw-gradient-from:#0f172a;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,rgba(15,23,42,0))}
.via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81, var(--tw-gradient-to,rgba(49,46,129,0))}
.to-violet-900{--tw-gradient-to:#4c1d95}

/* Borders */
.border{border-width:1px}
.border-2{border-width:2px}
.border-white{border-color:#ffffff}
.border-white\/15{border-color:rgba(255,255,255,0.15)}
.border-white\/20{border-color:rgba(255,255,255,0.20)}
.border-white\/40{border-color:rgba(255,255,255,0.40)}
.border-white\/60{border-color:rgba(255,255,255,0.60)}

/* Opacity */
.opacity-40{opacity:0.40}
.opacity-50{opacity:0.50}
.opacity-60{opacity:0.60}

/* Effects */
.shadow{box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}
.shadow-xl{box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05)}
.shadow-2xl{box-shadow:0 25px 50px rgba(0,0,0,.25)}
.backdrop-blur-md{backdrop-filter:blur(12px)}

/* Width/height */
.h-4{height:1rem}
.w-4{width:1rem}

/* Transforms & transitions */
.transition{transition:all .15s cubic-bezier(.4,0,.2,1)}
.hover\:translate-y-\[-1px\]:hover{transform:translateY(-1px)}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,0.10)}
.hover\:border-white\/40:hover{border-color:rgba(255,255,255,0.40)}

/* States */
button:disabled{opacity:.6;cursor:not-allowed}
.cursor-not-allowed{cursor:not-allowed}

/* Responsive visibility */
.md\:inline-block{display:none}
@media (min-width:768px){
  .md\:p-6{padding:1.5rem}
  .md\:p-8{padding:2rem}
  .md\:mb-8{margin-bottom:2rem}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:inline-block{display:inline-block}
}

/* Components used by the widget */
.fade-in{animation:fadein .25s ease-out}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Form Controls */
input[type="text"], input[type="email"]{
  appearance:none;
  border-radius:0.75rem;
  border-width:1px;
  border-color:rgba(255,255,255,0.20);
  background-color:rgba(255,255,255,0.10);
  color:#fff;
  padding:0.5rem 1rem;
  outline:none;
}
input::placeholder{color:rgba(255,255,255,0.60)}
input:focus{box-shadow:0 0 0 2px rgba(255,255,255,0.4) inset}

/* Utility for progress bar width */
.bg-white .rounded-full{} /* placeholder to keep selectors intact */

/* Radio indicator (visual only; input itself hidden via .hidden) */
