.lwp-wrap{
  width:100%;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.lwp-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(320px,560px);
  gap:32px;
  align-items:center;
  overflow:hidden;
  border-radius:32px;
  padding:32px;
  box-shadow:0 30px 80px rgba(2,6,23,.18);
}
.lwp-theme-dark .lwp-card{
  background:radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 24%), linear-gradient(135deg, #111827 0%, #1d4ed8 45%, #7c3aed 100%);
}
.lwp-theme-light .lwp-card{
  background:radial-gradient(circle at top right, rgba(255,255,255,.9), transparent 24%), linear-gradient(135deg, #f8fafc 0%, #e0f2fe 45%, #ede9fe 100%);
  border:1px solid rgba(148,163,184,.18);
}
.lwp-card::before,
.lwp-card::after{
  content:"";
  position:absolute;
  border-radius:999px;
  filter:blur(18px);
  pointer-events:none;
  opacity:.35;
}
.lwp-card::before{width:240px;height:240px;right:-90px;top:-90px;background:#22d3ee;}
.lwp-card::after{width:190px;height:190px;left:-70px;bottom:-70px;background:#f472b6;}
.lwp-copy,.lwp-stage{position:relative;z-index:1;}
.lwp-eyebrow{
  display:inline-flex;
  padding:9px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.lwp-theme-dark .lwp-eyebrow{background:rgba(255,255,255,.12);color:#fff;}
.lwp-theme-light .lwp-eyebrow{background:rgba(99,102,241,.08);color:#312e81;}
.lwp-copy h2{
  margin:16px 0 12px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.02;
}
.lwp-theme-dark .lwp-copy h2{color:#fff;}
.lwp-theme-light .lwp-copy h2{color:#0f172a;}
.lwp-copy p{
  margin:0 0 22px;
  max-width:560px;
  line-height:1.7;
  font-size:16px;
}
.lwp-theme-dark .lwp-copy p{color:rgba(255,255,255,.82);}
.lwp-theme-light .lwp-copy p{color:#334155;}
.lwp-spin-btn{
  appearance:none;
  border:0;
  padding:16px 26px;
  border-radius:18px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.05em;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg, #f59e0b, #ef4444);
  box-shadow:0 18px 40px rgba(239,68,68,.3);
  transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease;
}
.lwp-spin-btn:hover{transform:translateY(-2px);}
.lwp-spin-btn:disabled{opacity:.65;cursor:not-allowed;}
.lwp-result{
  margin-top:18px;
  min-height:30px;
  font-size:18px;
  font-weight:700;
}
.lwp-theme-dark .lwp-result{color:#fff;}
.lwp-theme-light .lwp-result{color:#0f172a;}
.lwp-stage{
  min-height:calc(var(--lwp-size) + 72px);
  display:grid;
  place-items:center;
}
.lwp-wheel-shell{
  position:relative;
  width:var(--lwp-size);
  height:var(--lwp-size);
  max-width:100%;
  aspect-ratio:1/1;
}
.lwp-rotor{
  position:relative;
  width:100%;
  height:100%;
  transition:transform 5.2s cubic-bezier(.08,.85,.18,1);
  will-change:transform;
}
.lwp-wheel{
  position:absolute;
  inset:0;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 0 0 10px rgba(255,255,255,.12), 0 0 0 20px rgba(255,255,255,.06), 0 26px 60px rgba(15,23,42,.32);
}
.lwp-wheel::after{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  border:2px dashed rgba(255,255,255,.22);
}
.lwp-label{
  position:absolute;
  inset:0;
  display:flex;
  justify-content:center;
  transform:rotate(var(--angle));
  pointer-events:none;
}
.lwp-label span{
  display:block;
  width:18%;
  margin-top:10%;
  text-align:center;
  color:#fff;
  font-weight:800;
  line-height:1.15;
  font-size:clamp(11px, 1.2vw, 15px);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  transform:rotate(90deg);
}
.lwp-center-badge{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:22%;
  aspect-ratio:1/1;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:clamp(15px,2vw,24px);
  font-weight:900;
  letter-spacing:.08em;
  color:#fff;
  background:linear-gradient(135deg, #111827, #374151);
  box-shadow:0 12px 28px rgba(15,23,42,.3), inset 0 0 0 6px rgba(255,255,255,.08);
  z-index:2;
}
.lwp-pointer{
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:18px solid transparent;
  border-right:18px solid transparent;
  border-top:34px solid #fff;
  filter:drop-shadow(0 10px 18px rgba(15,23,42,.3));
  z-index:3;
}
.lwp-confetti{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.lwp-confetti i{
  position:absolute;
  width:10px;
  height:18px;
  display:block;
  opacity:0;
  animation:lwp-fall 1.8s ease forwards;
}
@keyframes lwp-fall{
  0%{transform:translateY(-20px) rotate(0deg);opacity:1;}
  100%{transform:translateY(130%) rotate(720deg);opacity:0;}
}
@media (max-width: 920px){
  .lwp-card{grid-template-columns:1fr;padding:22px;text-align:center;}
  .lwp-stage{order:-1;}
  .lwp-copy p{margin-left:auto;margin-right:auto;}
  .lwp-label span{width:20%;}
}
