@import "https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&family=Nunito:wght@400;600;700;900&display=swap";:root{--bg:#0d0a1e;--bg-card:#1a1238d9;--pink:#ff6b9d;--pink-dark:#e0478a;--gold:#ffd93d;--text:#e8e0f5;--text-muted:#9d8fc4;--border:#ffd73d2e;--glow-pink:#ff6b9d73;--glow-gold:#ffd93d59;--font-ui:"Nunito", sans-serif;--font-display:"Dancing Script", cursive}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);min-height:100dvh;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}.stars-bg{z-index:0;pointer-events:none;background:radial-gradient(80% 50% at 50% -10%,#7828c840 0%,#0000 70%),radial-gradient(60% 40% at 80% 80%,#ff6b9d1f 0%,#0000 60%);position:fixed;inset:0}.stars-bg:before{content:"";background-image:radial-gradient(circle,#ffffffb3 1px,#0000 1px),radial-gradient(circle,#ffffff80 1px,#0000 1px),radial-gradient(circle,#ffffff4d 1.5px,#0000 1.5px);background-position:0 0,23px 31px,44px 12px;background-size:97px 97px,53px 53px,71px 71px;animation:6s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{0%{opacity:.6}to{opacity:1}}.app{z-index:1;flex-direction:column;align-items:center;min-height:100dvh;padding:0 16px 32px;display:flex;position:relative}.app-header{text-align:center;width:100%;padding:28px 0 8px}.app-title{font-family:var(--font-display);color:var(--gold);text-shadow:0 0 20px var(--glow-gold), 0 2px 8px #0009;letter-spacing:.02em;font-size:clamp(1.8rem,7vw,2.6rem)}.app-main{flex-direction:column;flex:1;align-items:center;gap:20px;width:100%;max-width:420px;padding-top:8px;display:flex}.wheel-wrap{width:min(88vw,340px);height:min(88vw,340px);filter:drop-shadow(0 0 24px var(--glow-pink)) drop-shadow(0 4px 16px #00000080);flex-shrink:0}.wheel-container{width:100%;height:100%;position:relative}.wheel-pointer{border-left:11px solid #0000;border-right:11px solid #0000;border-top:22px solid var(--gold);z-index:10;width:0;height:0;filter:drop-shadow(0 2px 6px var(--glow-gold));position:absolute;top:-10px;left:50%;transform:translate(-50%)}.btn-primary{background:linear-gradient(135deg, var(--pink), var(--pink-dark));color:#fff;font-family:var(--font-ui);cursor:pointer;box-shadow:0 4px 18px var(--glow-pink);border:none;border-radius:100px;padding:12px 28px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s}.btn-primary:hover:not(:disabled){box-shadow:0 8px 28px var(--glow-pink);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-stop{color:#fff;font-family:var(--font-ui);cursor:pointer;background:linear-gradient(135deg,#7c5cbf,#5a3a9a);border:none;border-radius:100px;padding:12px 28px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;box-shadow:0 4px 18px #7c5cbf80}.btn-stop:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #7c5cbfb3}.btn-stop:active:not(:disabled){transform:translateY(0)}.btn-stop:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-ghost{color:var(--text);border:1px solid var(--border);font-family:var(--font-ui);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border-radius:100px;padding:9px 22px;font-size:.9rem;font-weight:600;transition:background .15s,transform .15s}.btn-ghost:hover{background:#ffffff1f;transform:translateY(-1px)}.btn-big{letter-spacing:.04em;padding:15px 48px;font-size:1.15rem}.action-area{justify-content:center;display:flex}.hint-text{color:var(--text-muted);text-align:center;font-size:.85rem;animation:.6s fadeIn}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080518bf;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:360px;padding:32px 28px;animation:.25s cubic-bezier(.34,1.56,.64,1) modalIn;display:flex;box-shadow:0 0 60px #7828c84d,0 20px 40px #00000080}@keyframes modalIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.modal-title{font-family:var(--font-display);color:var(--gold);text-shadow:0 0 12px var(--glow-gold);text-align:center;font-size:1.7rem}.prize-list{flex-direction:column;gap:10px;width:100%;list-style:none;display:flex}.prize-item{background:#ffffff0d;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.prize-item.prize-first{background:#ffd93d1a;border-color:#ffd93d4d}.prize-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.prize-label{color:var(--text-muted);min-width:32px;font-size:.9rem;font-weight:700}.prize-first .prize-label{color:var(--gold)}.prize-name{flex:1;font-size:1rem;font-weight:600}.prize-first .prize-name{color:var(--gold)}.prize-crown{font-size:1rem}.win-screen{z-index:1;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex;position:relative}.win-glow{z-index:0;pointer-events:none;background:radial-gradient(70% 60%,#ff6b9d33 0%,#0000 70%),radial-gradient(50% 40% at 50% 100%,#ffd93d26 0%,#0000 60%);animation:2.5s ease-in-out infinite alternate glow-pulse;position:fixed;inset:0}@keyframes glow-pulse{0%{opacity:.8}to{opacity:1.2}}.win-card{z-index:1;background:var(--bg-card);text-align:center;border:1px solid #ffd93d59;border-radius:32px;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:380px;padding:44px 32px;animation:.8s cubic-bezier(.34,1.56,.64,1) both winCardIn;display:flex;position:relative;box-shadow:0 0 80px #ff6b9d40,0 0 40px #ffd93d26,0 24px 48px #0009}@keyframes winCardIn{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.win-stars{letter-spacing:.2em;font-size:1.8rem;animation:2.5s ease-in-out infinite alternate float}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.win-message{flex-direction:column;gap:4px;display:flex}.win-line{font-family:var(--font-display);color:#fff;text-shadow:0 0 30px var(--glow-pink), 0 0 60px #ff6b9d4d, 0 2px 10px #00000080;animation:.6s cubic-bezier(.34,1.56,.64,1) both lineReveal;animation-delay:var(--delay,0s);white-space:nowrap;font-size:clamp(2rem,9vw,2.8rem);display:block}@keyframes lineReveal{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.win-prize-reveal{background:#ffd93d1f;border:1px solid #ffd93d66;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:14px 28px;animation:.6s cubic-bezier(.34,1.56,.64,1) .4s both winCardIn;display:flex}.win-prize-label{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;font-weight:700}.win-prize-name{font-family:var(--font-display);color:var(--gold);text-shadow:0 0 20px var(--glow-gold);font-size:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
