*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#100617;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.glow{position:fixed;width:320px;height:320px;border-radius:50%;filter:blur(90px);opacity:.3;pointer-events:none}.g1{background:#ff2d83;top:-100px;left:-100px}.g2{background:#7237ff;right:-100px;bottom:-100px}main{position:relative;z-index:1;width:min(720px,100%);margin:auto;padding:14px}.card,.game{min-height:calc(100vh - 28px);display:none;align-items:center;justify-content:center}.card.active,.game.active{display:flex}.card{background:#1d0d2ae8;border:1px solid #ffffff18;border-radius:28px;padding:28px 20px;box-shadow:0 25px 80px #0008;backdrop-filter:blur(18px);text-align:center;flex-direction:column}.intro p,.end p{color:#d4c6dc;line-height:1.55;max-width:570px}.big-heart{font-size:72px;animation:pulse 1.7s infinite}.eyebrow{font-size:11px;letter-spacing:3px;color:#ff75ae;font-weight:900}.intro h1,.end h1{font-size:clamp(36px,9vw,60px);line-height:1;margin:12px 0}.intro h1 span{background:linear-gradient(90deg,#ff75b1,#bd8bff);-webkit-background-clip:text;color:transparent}button{border:0;color:#fff;font-weight:900;font-size:17px;padding:15px 20px;border-radius:16px;background:linear-gradient(135deg,#ff3c8e,#8648ff);box-shadow:0 12px 30px #ff3c8e35;cursor:pointer;transition:.2s}button:hover{transform:translateY(-2px)}.intro button,.end button{width:100%;margin-top:12px}.game{flex-direction:column;padding:5px 0 30px}.head{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.head h2{margin:2px 0;font-size:25px}.mini{font-size:10px;letter-spacing:2px;color:#ff75ae}.round{background:#ffffff0c;border:1px solid #ffffff12;padding:8px 12px;border-radius:999px;font-size:12px}.round b{color:#ff7db4}.wheel-wrap{width:min(84vw,410px);height:min(84vw,410px);position:relative;margin:8px auto 16px}.wheel{width:100%;height:100%;border-radius:50%;border:9px solid #ffffff16;box-shadow:0 0 0 5px #ff4c9a24,0 25px 70px #0009;position:relative;overflow:hidden;transition:transform 4.5s cubic-bezier(.12,.7,.08,1);background:conic-gradient(#ff4d91 0deg 30deg,#8c49ff 30deg 60deg,#ff7b9e 60deg 90deg,#6541c8 90deg 120deg,#ff4d91 120deg 150deg,#8c49ff 150deg 180deg,#ff7b9e 180deg 210deg,#6541c8 210deg 240deg,#ff4d91 240deg 270deg,#8c49ff 270deg 300deg,#ff7b9e 300deg 330deg,#6541c8 330deg 360deg)}.wheel:after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px dashed #ffffff55}.wheel-center{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:#1c0c2b;border:4px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:31px;box-shadow:0 5px 25px #0008}.pointer{position:absolute;z-index:5;top:-4px;left:50%;transform:translateX(-50%);font-size:34px;color:#fff;text-shadow:0 3px 8px #000;line-height:1}.spin{width:100%;max-width:410px}.spin:disabled{opacity:.45}.hint{text-align:center;color:#9f91a7;font-size:12px;margin:9px 0}.result-box{width:100%;max-width:560px;text-align:center;background:#ffffff08;border:1px solid #ffffff16;border-radius:22px;padding:18px;margin-top:10px;display:none;animation:pop .45s ease}.result-box.show{display:block}.result-emoji{font-size:42px}.who{font-size:13px;color:#ff7eb5;font-weight:900;margin-top:5px}.result-box h3{font-size:24px;margin:7px 0}.result-box p{color:#cdbfd4;margin:5px 0 14px;line-height:1.45}.done{width:100%;background:linear-gradient(135deg,#27bd78,#129f8d);box-shadow:none}.history{width:100%;max-width:560px;margin-top:20px}.history h3{font-size:15px;margin-bottom:8px}.history-list,.history span{color:#9e92a6;font-size:12px}.hist{background:#ffffff07;border-radius:12px;padding:9px 11px;margin:6px 0;color:#ddd}.hist b{color:#ff7eb5}.end{display:none}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(max-width:430px){main{padding:9px}.wheel-wrap{width:88vw;height:88vw}.head h2{font-size:21px}.result-box h3{font-size:21px}}