| body { | |
| margin: 0; | |
| font-family: 'Inter', Arial, sans-serif; | |
| background: linear-gradient(135deg, #0f0f10, #1b1b1f); | |
| color: #fff; | |
| min-height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .container { | |
| width: 100%; | |
| max-width: 720px; | |
| padding: 24px; | |
| text-align: center; | |
| } | |
| .title { | |
| margin: 0 0 8px 0; | |
| font-size: 28px; | |
| } | |
| .subtitle { | |
| margin: 0 0 20px 0; | |
| color: #b8b8c2; | |
| } | |
| .wheel-container { | |
| position: relative; | |
| margin: 0 auto; | |
| width: 100%; | |
| max-width: 520px; | |
| } | |
| .pointer { | |
| position: absolute; | |
| top: -8px; | |
| left: 50%; | |
| transform: translateX(-50%); | |
| width: 0; | |
| height: 0; | |
| border-left: 14px solid transparent; | |
| border-right: 14px solid transparent; | |
| border-bottom: 20px solid #ffcc00; | |
| filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5)); | |
| z-index: 2; | |
| } | |
| #wheel { | |
| display: block; | |
| width: 100%; | |
| height: auto; | |
| aspect-ratio: 1 / 1; | |
| border-radius: 50%; | |
| border: 10px solid #2a2a33; | |
| box-shadow: 0 10px 30px rgba(0,0,0,0.4), inset 0 0 20px rgba(255,255,255,0.06); | |
| background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0%, rgba(0,0,0,0.2) 70%); | |
| } | |
| #spinBtn { | |
| margin: 20px auto 0 auto; | |
| padding: 14px 36px; | |
| font-size: 18px; | |
| font-weight: 600; | |
| background: linear-gradient(135deg, #ff4d6d, #ff7a45); | |
| color: white; | |
| border: none; | |
| border-radius: 10px; | |
| cursor: pointer; | |
| transition: transform 0.15s ease, filter 0.2s ease, opacity 0.2s ease; | |
| box-shadow: 0 8px 18px rgba(255, 77, 109, 0.35); | |
| } | |
| #spinBtn:hover { | |
| transform: translateY(-1px); | |
| filter: brightness(1.05); | |
| } | |
| #spinBtn:active { | |
| transform: translateY(0); | |
| } | |
| #spinBtn:disabled { | |
| opacity: 0.6; | |
| cursor: not-allowed; | |
| filter: grayscale(0.2); | |
| } | |
| #resultBox { | |
| margin-top: 22px; | |
| } | |
| .claim-btn { | |
| margin-top: 10px; | |
| padding: 10px 20px; | |
| font-size: 16px; | |
| background: #4caf50; | |
| color: #fff; | |
| border: none; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| } | |
| .hidden { | |
| display: none; | |
| } | |