/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap";.spinWheel{background:linear-gradient(165deg,#f0f9ff,#e2e8f0 45%,#f8fafc);min-height:100vh;padding:2rem 1.25rem 3rem;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;position:relative;overflow:hidden}.spinWheel__bg{pointer-events:none;z-index:0;position:fixed;inset:0}.spinWheel__orb{filter:blur(60px);opacity:.55;border-radius:50%;animation:orbFloat 12s ease-in-out infinite;position:absolute}.spinWheel__orb--1{background:#38bdf859;width:420px;height:420px;top:-8%;left:-6%}.spinWheel__orb--2{background:#a78bfa4d;width:360px;height:360px;animation-delay:-4s;top:20%;right:-8%}.spinWheel__orb--3{background:#34d39940;width:300px;height:300px;animation-delay:-7s;bottom:-5%;left:30%}.spinWheel__particle{width:4px;height:4px;left:var(--x);animation:particleRise 8s linear infinite;animation-delay:var(--delay);background:#0ea5e959;border-radius:50%;position:absolute;bottom:-10px}.spinWheel__container{z-index:1;max-width:1180px;margin:0 auto;position:relative}.spinWheel__header{text-align:center;margin-bottom:2rem;animation:fadeSlideDown .7s both}.spinWheel__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#0369a1;margin:0 0 .4rem;font-size:.72rem;font-weight:700}.spinWheel__title{letter-spacing:-.03em;color:#0f172a;margin:0 0 .5rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.05}.spinWheel__title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0284c7,#7c3aed,#db2777) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:gradientShift 4s infinite}.spinWheel__subtitle{color:#64748b;margin:0;font-size:.95rem;font-weight:600}.spinWheel__layout{grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:start;gap:2rem;animation:fadeSlideUp .8s .15s both;display:grid}.spinWheel__stage{gap:1.75rem}.spinWheel__stage,.spinWheel__wheel{flex-direction:column;align-items:center;display:flex}.spinWheel__wheel{transition:transform .4s;position:relative}.spinWheel__wheel--spinning .spinWheel__wheelGlow{opacity:1;animation:glowPulse .6s ease-in-out infinite alternate}.spinWheel__wheelGlow{opacity:0;filter:blur(20px);z-index:0;background:conic-gradient(#0ea5e940,#7c3aed40,#db277740,#0ea5e940);border-radius:50%;transition:opacity .4s;animation:glowRotate 3s linear infinite;position:absolute;inset:-24px}.spinWheel__canvasWrap{z-index:2;background:linear-gradient(145deg,#fff,#e2e8f0);border-radius:50%;padding:6px;position:relative;box-shadow:0 25px 50px #0f172a2e,0 0 0 1px #94a3b840,inset 0 2px 4px #fffc}.spinWheel__canvas{cursor:pointer;border-radius:50%;transition:transform .2s;display:block;width:min(640px,94vw)!important;height:min(640px,94vw)!important}.spinWheel__canvas:hover:not(:active){transform:scale(1.01)}.spinWheel__canvas:active{transform:scale(.99)}.spinWheel__pointer{z-index:10;filter:drop-shadow(0 4px 8px #0f172a40);flex-direction:column;align-items:center;transition:transform .15s;display:flex;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.spinWheel__pointer--active{animation:pointerTick 80ms infinite}.spinWheel__pointerTip{border-left:22px solid #0000;border-right:22px solid #0000;border-top:38px solid var(--pointer-color,#ef4444);width:0;height:0;transition:border-top-color .2s}.spinWheel__pointerBase{background:var(--pointer-color,#ef4444);border-radius:0 0 8px 8px;width:34px;height:12px;margin-top:-2px;transition:background .2s}.spinWheel__controls{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.spinWheel__button{letter-spacing:.02em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#7c3aed);border:none;border-radius:999px;padding:1rem 2.5rem;font-size:1.05rem;font-weight:800;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 12px 28px #7c3aed59,inset 0 0 0 1px #ffffff26}.spinWheel__button:hover:not(:disabled){transform:translateY(-2px)scale(1.02);box-shadow:0 16px 36px #7c3aed73,inset 0 0 0 1px #fff3}.spinWheel__button:active:not(:disabled){transform:translateY(0)scale(.98)}.spinWheel__button:disabled{opacity:.65;cursor:not-allowed;transform:none}.spinWheel__button--spinning{background:linear-gradient(135deg,#475569,#64748b);box-shadow:0 8px 20px #0f172a33}.spinWheel__buttonShimmer{background:linear-gradient(105deg,#0000 40%,#ffffff59 50%,#0000 60%);animation:shimmer 2.5s infinite;position:absolute;inset:0;transform:translate(-120%)}.spinWheel__buttonLabel{align-items:center;gap:.5rem;display:inline-flex;position:relative}.spinWheel__buttonDots{gap:4px;display:inline-flex}.spinWheel__buttonDots span{background:#fff;border-radius:50%;width:6px;height:6px;animation:dotBounce 1s infinite}.spinWheel__buttonDots span:nth-child(2){animation-delay:.15s}.spinWheel__buttonDots span:nth-child(3){animation-delay:.3s}.spinWheel__result{text-align:center;opacity:0;transition:opacity .4s,transform .4s;transform:translateY(12px)}.spinWheel__result--visible{opacity:1;animation:resultPop .5s cubic-bezier(.34,1.56,.64,1);transform:translateY(0)}.spinWheel__result p{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0;font-size:.8rem;font-weight:700}.spinWheel__result h3{color:#0f172a;margin:.25rem 0 0;font-size:1.75rem;font-weight:800}.spinWheel__sidebar{animation:fadeSlideUp .8s .25s both;position:sticky;top:1.5rem}.spinWheel__membersPanel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #94a3b847;border-radius:24px;padding:1.25rem;box-shadow:0 18px 45px #0f172a1a,inset 0 1px #fffc}.spinWheel__membersHeader{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.spinWheel__membersEyebrow{letter-spacing:.1em;text-transform:uppercase;color:#0369a1;margin:0 0 .2rem;font-size:.68rem;font-weight:700}.spinWheel__membersTitle{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:800}.spinWheel__membersCount{color:#0f172a;background:linear-gradient(135deg,#e0f2fe,#ede9fe);border:1px solid #94a3b840;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:2rem;height:2rem;padding:0 .55rem;font-size:.85rem;font-weight:800;display:inline-flex}.spinWheel__membersList{scrollbar-width:thin;scrollbar-color:#94a3b880 #0000;flex-direction:column;gap:.45rem;max-height:min(520px,60vh);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.spinWheel__membersList::-webkit-scrollbar{width:6px}.spinWheel__membersList::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.spinWheel__member{animation:memberIn .45s both;animation-delay:var(--member-delay);background:linear-gradient(#f8fafc,#f1f5f9);border:1px solid #94a3b838;border-radius:14px;align-items:center;gap:.65rem;padding:.65rem .75rem;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;display:flex}.spinWheel__member--active{border-color:var(--member-color);box-shadow:0 0 0 1px var(--member-color);transform:translate(4px)}@supports (color:color-mix(in lab,red,red)){.spinWheel__member--active{box-shadow:0 0 0 1px color-mix(in srgb,var(--member-color)35%,transparent)}}.spinWheel__member--active{background:#fff}.spinWheel__member--winner{border-color:var(--member-color);background:var(--member-color)}@supports (color:color-mix(in lab,red,red)){.spinWheel__member--winner{background:color-mix(in srgb,var(--member-color)10%,white)}}.spinWheel__member--winner{box-shadow:0 8px 20px var(--member-color)}@supports (color:color-mix(in lab,red,red)){.spinWheel__member--winner{box-shadow:0 8px 20px color-mix(in srgb,var(--member-color)22%,transparent)}}.spinWheel__memberDot{background:var(--member-color);width:12px;height:12px;box-shadow:0 0 0 3px var(--member-color);border-radius:50%;flex-shrink:0}@supports (color:color-mix(in lab,red,red)){.spinWheel__memberDot{box-shadow:0 0 0 3px color-mix(in srgb,var(--member-color)18%,transparent)}}.spinWheel__memberName{color:#334155;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.spinWheel__memberBadge{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--member-color);border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.65rem;font-weight:800}.winnerSplash{z-index:99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#0f172a8c;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .35s;display:flex;position:fixed;inset:0}.winnerSplash--visible{opacity:1;pointer-events:auto;animation:backdropIn .4s}.winnerSplash__box{text-align:center;background:#fff;border-radius:28px;width:100%;max-width:480px;padding:3rem 2.5rem;animation:winnerPop .55s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 30px 60px #0f172a40,0 0 0 1px #94a3b833}.winnerSplash__confettiRing{background:conic-gradient(from 0deg,transparent,var(--winner-color),transparent,var(--winner-color),transparent);position:absolute;inset:-50%}@supports (color:color-mix(in lab,red,red)){.winnerSplash__confettiRing{background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--winner-color)30%,transparent),transparent,color-mix(in srgb,var(--winner-color)20%,transparent),transparent)}}.winnerSplash__confettiRing{opacity:.6;pointer-events:none;animation:ringSpin 4s linear infinite}.winnerSplash__emoji{margin-bottom:.5rem;font-size:3.5rem;animation:emojiBounce .8s .2s both;position:relative}.winnerSplash__label{text-transform:uppercase;letter-spacing:.12em;color:#64748b;margin:0;font-size:.78rem;font-weight:700;position:relative}.winnerSplash__name{letter-spacing:-.02em;color:var(--winner-color,#f59e0b);margin:.35rem 0 0;font-size:clamp(2.2rem,8vw,3.5rem);font-weight:800;animation:nameReveal .6s cubic-bezier(.34,1.56,.64,1) .15s both;position:relative}.winnerSplash__text{color:#475569;margin:.5rem 0 0;font-size:1.05rem;font-weight:600;animation:fadeSlideUp .5s .35s both;position:relative}.winnerSplash__button{background:var(--winner-color,#f59e0b);color:#fff;cursor:pointer;box-shadow:0 10px 24px var(--winner-color);border:none;border-radius:999px;margin-top:1.75rem;padding:.85rem 2rem;font-size:1rem;font-weight:800;position:relative}@supports (color:color-mix(in lab,red,red)){.winnerSplash__button{box-shadow:0 10px 24px color-mix(in srgb,var(--winner-color)45%,transparent)}}.winnerSplash__button{transition:transform .2s;animation:fadeSlideUp .5s .45s both}.winnerSplash__button:hover{transform:translateY(-2px)scale(1.03)}.winnerSplash__button:active{transform:scale(.98)}.celebration{pointer-events:none;z-index:5;position:fixed;inset:0}.balloon{width:36px;height:46px;animation:floatUp 7s ease-in-out infinite;animation-delay:var(--balloon-delay,0s);border-radius:50%;position:absolute;bottom:-120px}.balloon:before{background:inherit;width:5px;height:5px;bottom:-5px;transform:translate(-50%)rotate(45deg)}.balloon:after,.balloon:before{content:"";position:absolute;left:50%}.balloon:after{background:#94a3b8;width:2px;height:36px;top:46px;transform:translate(-50%)}.balloon:first-child{background:#e4a744;left:2%}.balloon:nth-child(2){background:#bfe444;left:9%}.balloon:nth-child(3){background:#5ce444;left:16%}.balloon:nth-child(4){background:#44e48f;left:23%}.balloon:nth-child(5){background:#44d7e4;left:30%}.balloon:nth-child(6){background:#4474e4;left:37%}.balloon:nth-child(7){background:#7644e4;left:44%}.balloon:nth-child(8){background:#da44e4;left:51%}.balloon:nth-child(9){background:#e4448c;left:58%}.balloon:nth-child(10){background:#e45e44;left:65%}.balloon:nth-child(11){background:#e4c144;left:72%}.balloon:nth-child(12){background:#a4e444;left:79%}.balloon:nth-child(13){background:#44e446;left:86%}.balloon:nth-child(14){background:#44e4a9;left:93%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}}@keyframes particleRise{0%{opacity:0;transform:translateY(0)scale(0)}10%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-110vh)scale(.5)}}@keyframes gradientShift{0%,to{background-position:0}50%{background-position:100%}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.04)}}@keyframes glowRotate{to{transform:rotate(1turn)}}@keyframes memberIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pointerTick{0%,to{transform:translate(-50%)rotate(0)}25%{transform:translate(-50%)rotate(-4deg)}75%{transform:translate(-50%)rotate(4deg)}}@keyframes shimmer{to{transform:translate(120%)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes resultPop{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes backdropIn{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes winnerPop{0%{opacity:0;transform:scale(.5)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes emojiBounce{0%{transform:scale(0)rotate(-20deg)}60%{transform:scale(1.2)rotate(5deg)}to{transform:scale(1)rotate(0)}}@keyframes nameReveal{0%{opacity:0;filter:blur(8px);transform:scale(.6)translateY(20px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}@keyframes ringSpin{to{transform:rotate(1turn)}}@keyframes floatUp{0%{opacity:0;transform:translateY(0)translate(0)scale(.85)}8%{opacity:1}to{opacity:0;transform:translateY(-115vh)translate(20px)scale(1.1)}}@media (max-width:960px){.spinWheel__layout{grid-template-columns:1fr;gap:1.5rem}.spinWheel__sidebar{order:2;position:static}.spinWheel__stage{order:1}.spinWheel__membersList{max-height:none}}@media (max-width:640px){.spinWheel{padding:1.5rem 1rem 2.5rem}.spinWheel__button{width:100%;max-width:320px}.spinWheel__membersPanel{padding:1rem}.spinWheel__member{padding:.55rem .65rem}.spinWheel__memberName{font-size:.85rem}.winnerSplash__box{padding:2rem 1.5rem}}