.xmas-wheel-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:0;background:rgba(10,0,29,.78);backdrop-filter:blur(8px);overflow-y:auto;color:#fff;font-family:Poppins,sans-serif}
.xmas-wheel-overlay *{box-sizing:border-box}
.xmas-wheel-panel{width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));text-align:center;border:0;border-radius:0;background:transparent;box-shadow:none}
.xmas-wheel-close{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#210a35;color:#fff;font-size:23px;line-height:1;cursor:pointer}
.xmas-wheel-logo{width:118px;height:auto;filter:drop-shadow(0 4px 8px #0006)}
.xmas-wheel-title{margin:0;font:400 clamp(22px,6vw,29px)/1.08 'Luckiest Guy',Poppins,sans-serif;color:#fff;text-shadow:0 3px 0 #7c1545}
.xmas-wheel-title strong{color:#83ef58}
.xmas-wheel-count{margin:0;color:#ffe37d;font-weight:800;font-size:14px}
.xmas-wheel-stage{width:min(328px,82vw);aspect-ratio:1;position:relative;margin:6px auto 0}
.xmas-wheel-disc{width:100%;height:100%;object-fit:contain;will-change:transform;transition:transform 4s cubic-bezier(.13,.73,.1,1)}
.xmas-wheel-pointer{position:absolute;z-index:2;width:17%;top:-2%;left:50%;transform:translateX(-50%);filter:drop-shadow(0 3px 3px #220000)}
.xmas-wheel-spin{display:block;width:150px;height:106px;margin:-12px auto -11px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 6px 7px #0008)}
.xmas-wheel-spin img{width:100%;height:100%;object-fit:contain}
.xmas-wheel-spin:disabled{filter:grayscale(.6);cursor:wait}
.xmas-wheel-hint{font-size:11px;color:#d1bfd8;margin:0}
.xmas-wheel-result{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:28px 12px 24px;background:rgba(11,0,25,.52)}
.xmas-wheel-result-card{position:relative;width:min(310px,85vw);max-height:80dvh;display:block;overflow:hidden;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 13px 17px #0009)}
.xmas-wheel-result-card img{display:block;width:100%;height:auto;max-height:80dvh;object-fit:contain}
.xmas-wheel-toast{cursor:default;pointer-events:none;filter:drop-shadow(0 13px 17px #0009)}
.xmas-wheel-toast img{max-height:min(80dvh,680px)}
.xmas-wheel-result-card:focus-visible,.xmas-wheel-spin:focus-visible,.xmas-wheel-close:focus-visible,.xmas-form button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.xmas-form-panel{width:min(470px,100%);min-height:100dvh;margin:auto;padding:max(30px,env(safe-area-inset-top)) 19px max(30px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff}
.xmas-form-panel h2{font:400 27px/1.1 'Luckiest Guy',Poppins,sans-serif;color:#ffdb46;margin:0 0 7px}
.xmas-form-panel p{font-size:13px;color:#e9dcea;line-height:1.45;margin:0 0 18px}
.xmas-form{display:grid;gap:11px;text-align:left}
.xmas-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#f7e5fa}
.xmas-form input{width:100%;min-height:43px;padding:9px 12px;border:1px solid #8758a5;border-radius:10px;background:#1a0532;color:#fff;font:500 14px Poppins,sans-serif}
.xmas-form input::placeholder{color:#b69ac6}
.xmas-form input:focus{outline:2px solid #ffcf42;outline-offset:1px}
.xmas-form-row{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.xmas-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px}
.xmas-colors button{min-height:76px;padding:9px 3px;border:2px solid transparent;border-radius:12px;background:#36165a;color:#fff;cursor:pointer;font:700 11px Poppins,sans-serif}
.xmas-colors button[aria-pressed="true"]{border-color:#ffcc35;background:#5c2889}
.xmas-colors i{display:block;width:30px;height:42px;margin:0 auto 5px;border:2px solid #ddd;border-radius:7px;box-shadow:inset 0 0 7px #0005,0 2px 6px #0007}
.xmas-form-next{width:100%;min-height:48px;border:0;border-radius:12px;background:linear-gradient(#ffe568,#ffae13);color:#421836;font:800 14px Poppins,sans-serif;cursor:pointer}
.xmas-form-back{background:none;border:0;color:#edd6fd;cursor:pointer;font:600 12px Poppins,sans-serif}
.xmas-form-error{min-height:18px;color:#ffb9a9;font-size:12px;text-align:center}
.xmas-wheel-done{width:min(420px,100%);min-height:100dvh;margin:auto;padding:30px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;text-align:center}
.xmas-wheel-done h2{font:400 28px 'Luckiest Guy',Poppins,sans-serif;color:#ffdc5a}
.xmas-wheel-done p{font-size:13px;line-height:1.5}
@media(max-height:720px){.xmas-wheel-panel{min-height:100dvh;padding:10px 14px}.xmas-wheel-logo{width:87px}.xmas-wheel-title{font-size:22px}.xmas-wheel-stage{width:min(265px,58dvh)}.xmas-wheel-spin{width:120px;height:86px}}
@media(prefers-reduced-motion:reduce){.xmas-wheel-disc{transition-duration:.1s}}
