:root{color-scheme:dark;--gold:#f8d177;--ink:#063322;--cream:#fff3c4}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#021b12}body{color:var(--cream);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;background:radial-gradient(ellipse at 50% 30%,#125a35 0,#03271a 46%,#01140e 100%);-webkit-font-smoothing:antialiased}button,input{font:inherit;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.65}button:focus-visible,input:focus-visible{outline:2px solid #ffed9b;outline-offset:3px}
.lottery-page{width:100%;max-width:640px;margin:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 0 max(18px,env(safe-area-inset-bottom));gap:8px;overflow:hidden}.royal-title{margin:0;font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:clamp(31px,8.6vw,46px);font-weight:800;line-height:1.25;letter-spacing:.2em;padding-left:.2em;color:#ffe397;text-shadow:0 2px 1px #523606,0 0 23px #fbb62d55,0 4px 10px #000}.title-line{height:1px;width:45%;margin-top:6px;background:linear-gradient(90deg,transparent,#b9882e,transparent)}
.wheel-wrap{position:relative;width:100%;aspect-ratio:1;flex-shrink:0;margin:0;isolation:isolate}.wheel-frame,.wheel{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.wheel-frame{object-fit:contain;z-index:0}.wheel{z-index:1;filter:drop-shadow(0 1px 2px #0005)}.needle-clip{position:absolute;inset:0;overflow:hidden;border-radius:50%;pointer-events:none;z-index:2}.needle-rotator{position:absolute;inset:0;will-change:transform}.needle-hand{position:absolute;width:8%;height:39.5%;left:46%;bottom:50%;clip-path:polygon(50% 0,100% 84%,76% 100%,24% 100%,0 84%);background:linear-gradient(90deg,#754109 0,#e99e24 29%,#fff0a4 47%,#fffad2 50%,#a65a12 52%,#f9d271 75%,#b7781a 100%)}.needle-shadow{position:absolute;width:8%;height:39.5%;left:47%;bottom:49%;clip-path:polygon(50% 0,100% 84%,76% 100%,24% 100%,0 84%);background:#0009}.wheel-hub{position:absolute;z-index:3;left:40.5%;top:40.5%;width:19%;height:19%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 42% 30%,#175e39,#031c12 70%);border:4px solid #f9d47c;box-shadow:0 0 0 2px #9a6113,0 0 0 4px #f5c25d,0 7px 10px #0009,inset 0 0 8px #dfac4666;pointer-events:none;color:#ffdc7c}.wheel-hub span{font:clamp(28px,10vw,58px) Georgia;text-shadow:0 2px 2px #835411,0 0 8px #ffe58a77;line-height:1}.draw-form{width:calc(100% - 48px);max-width:470px;display:grid;gap:11px;margin-top:-2px;position:relative;z-index:4}.code-input{width:100%;height:48px;border:1px solid #c5963d;border-radius:7px;color:#ffe7a1;background:linear-gradient(#062f20,#032017);padding:0 16px;text-align:center;font-size:15px;letter-spacing:1px;box-shadow:inset 0 2px 6px #0006,0 0 0 2px #061c12}.code-input::placeholder{color:#c0b27b;opacity:1}.gold-button{width:100%;min-height:50px;border-radius:8px;border:1px solid #fff2bb;background:linear-gradient(#fff0a4 0%,#ffda73 18%,#e8ae3f 48%,#d59224 51%,#f4cc6a 100%);box-shadow:0 0 0 2px #92601f,0 5px 15px #0007,inset 0 1px 2px #fff9cf;color:#193418;font-size:19px;font-weight:800;letter-spacing:6px;text-shadow:0 1px #ffeb8d;padding:10px 16px}.gold-button:hover:not(:disabled){filter:brightness(1.07)}.form-message{margin:0;text-align:center;font-size:12px;line-height:1.6;color:#ead99d;min-height:0}.form-message:empty{display:none}.form-message.error{color:#ffccad}.activity-rules{width:calc(100% - 40px);max-width:530px;margin:9px auto 0;text-align:left;color:#d9cd9b;font-size:11px;line-height:1.85}.activity-rules p{margin:0}.result-dialog{width:min(390px,calc(100% - 36px));padding:28px 24px 23px;border:2px solid #d7a746;border-radius:14px;background:radial-gradient(ellipse at top,#175936,#031e14 80%);color:#ffe5a0;text-align:center;box-shadow:0 0 0 5px #082d1e,0 20px 90px #000c}.result-dialog::backdrop{background:#001008d9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:8px;top:4px;font-size:28px;padding:2px 12px;color:#e9ca7c;background:none;border:none}.result-dialog h2{font:700 25px "Songti SC",SimSun,serif;margin:13px 0 22px}.result-label{font-size:27px;font-weight:bold;overflow-wrap:anywhere;line-height:1.5;margin:0;padding:19px 4px;border-top:1px solid #b5964a77;border-bottom:1px solid #b5964a77}.result-dialog #result-note{font-size:12px;line-height:1.8;color:#c9c299;margin:18px 0}.result-id{font-size:9px;color:#a0af8c;overflow-wrap:anywhere;margin:12px 0 22px}.result-dialog .gold-button{font-size:16px;letter-spacing:2px;min-height:45px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:999}.confetti i{position:absolute;top:-20px;width:6px;height:12px;animation:fall 2.4s ease-in forwards}@keyframes fall{to{transform:translateY(110vh) rotate(600deg);opacity:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:700px){.lottery-page{padding:25px 0;max-width:660px}.royal-title{font-size:42px}.wheel-wrap{width:min(100%,62vh);min-width:440px}.draw-form{max-width:460px}.activity-rules{font-size:12px;max-width:540px;margin-top:12px}}
@media(max-width:420px){.lottery-page{padding-top:14px;gap:5px;justify-content:center}.royal-title{font-size:33px}.title-line{margin-top:6px}.draw-form{width:calc(100% - 44px);gap:11px}.activity-rules{font-size:11px;width:calc(100% - 40px);margin-top:10px}.wheel-hub{border-width:3px;box-shadow:0 0 0 2px #9a6113,0 0 0 3px #f5c25d,0 5px 8px #0009}.gold-button{min-height:48px}.code-input{height:46px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.confetti{display:none}}

.wheel-hub{left:38%;top:38%;width:24%;height:24%;overflow:hidden;background:#26070f}.royal-logo{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
