:root{--font: "Poppins", system-ui, sans-serif;--page-bg: #2a0306;--page-glow: #8b1420;--overlay: .45;--gold-1: #6b4300;--gold-2: #ffe7a0;--gold-3: #c9930f;--gold-4: #fff6d0;--band: #7a0d14;--band-hi: #9b141c;--glow: rgba(255, 190, 60, .45);--bulb: #ffe680;--bulb-dark: #a88a00;--bulb-glow: rgba(255, 230, 128, .9);--gem: #e01b24;--gem-hi: #ff9a9a;--gem-lo: #5e0000;--hub: #9b141c;--hub-hi: #b8323a;--hub-text: #ffe08a;--heading: #fff;--msg: #ffd36a;--input-bg: #1a0d0f;--input-border: #e0a100;--input-glow: rgba(224, 161, 0, .35);--input-text: #fff;--btn1: #ebaf1d;--btn2: #fcd363;--btn-text: #3a1d00;--btn-shadow: #8d6911;--btn-radius: 40px;--popup-bg: #7a0d14;--popup-bg-hi: #94303a;--popup-border: #f2c14e;--popup-glow: rgba(242, 193, 78, .2);--popup-title: #ffd36a;--popup-accent: #ffe08a;--popup-text: #fff;--announce-bg: #000;--announce-text: #ffd700}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body.ls-body{font-family:var(--font);color:#fff;background-color:var(--page-bg);background-image:radial-gradient(ellipse 90% 75% at 50% 32%,var(--page-glow) 0%,var(--page-bg) 100%);background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed;overflow-x:hidden}body.ls-body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,rgba(0,0,0,calc(var(--overlay) * .4)),rgba(0,0,0,var(--overlay)))}body.ls-body:not(.has-bg-image):before{display:none}body.has-announcement{padding-top:44px}#announcement-bar{position:fixed;top:0;left:0;width:100%;z-index:60;background:var(--announce-bg);color:var(--announce-text);border-bottom:2px solid var(--announce-text);padding:10px 0;overflow:hidden;white-space:nowrap;font-weight:700}#announcement-text{display:inline-block;padding-left:100%;animation:ls-marquee 18s linear infinite}#announcement-bar:hover #announcement-text{animation-play-state:paused}@keyframes ls-marquee{to{transform:translate(-100%)}}.ls-page{position:relative;z-index:1;overflow-x:clip;min-height:calc(100vh - 44px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"wheel brand" "wheel form";grid-template-rows:auto auto;align-content:center;column-gap:24px;max-width:1200px;margin:0 auto;padding:32px 24px}.ls-wheel-wrap{grid-area:wheel;display:grid;place-items:center}.ls-stage{position:relative;display:grid;place-items:center}.ls-frame-img,.ls-frame-glow{display:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;-webkit-user-drag:none}.ls-stage.has-frame{--stage-w: min(48vw, 640px, calc(86vh * var(--frame-ratio)));display:block;width:var(--stage-w);aspect-ratio:var(--frame-ratio)}.ls-stage.has-frame .ls-frame-img{display:block;z-index:2}.ls-stage.has-frame .ls-frame-glow:not([hidden]){display:block;z-index:0}.ls-stage.has-frame .ls-wheel{--size: calc(var(--stage-w) * var(--hole-size) / 100);position:absolute;z-index:1;width:var(--size);left:calc(var(--hole-x) * 1%);top:calc(var(--hole-y) * 1%);transform:translate(-50%,-50%);filter:none}.ls-stage.has-frame .ls-wheel:before,.ls-stage.has-frame .ls-rim-outer,.ls-stage.has-frame .ls-rim-band,.ls-stage.has-frame .ls-rim-inner,.ls-stage.has-frame .ls-bulb{display:none}.ls-stage.has-frame .ls-wheel canvas,.ls-stage.has-frame .ls-gloss{top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ls-stage.has-frame .ls-hub{width:24%;z-index:3}.ls-stage.has-frame .ls-hub-core{font-size:calc(var(--size) * .05)}.ls-stage.has-frame .ls-pointer{z-index:4;top:-5%}.ls-pointer[hidden]{display:none}.ls-banner{position:absolute;z-index:3;pointer-events:none;left:calc(var(--bx) * 1%);top:calc(var(--by) * 1%);width:calc(var(--bw) * 1%);height:calc(var(--bh) * 1%);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;overflow:hidden}.ls-banner[hidden]{display:none}.ls-banner-text{font-family:var(--font);font-weight:900;line-height:1;white-space:nowrap;color:var(--banner-text, #fff);letter-spacing:.03em;font-size:calc(var(--stage-w) * var(--bh) / 100 * .62);text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 12px rgba(0,0,0,.35)}.ls-banner-img{max-width:100%;max-height:100%;object-fit:contain}.ls-banner[data-mode=text] .ls-banner-img,.ls-banner[data-mode=image] .ls-banner-text,.ls-banner-img:not([src]){display:none}.ls-bubbles{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ls-bubble{position:absolute;left:var(--x);top:var(--y);width:var(--s);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#ffffff8c,#ffffff1a 32%,#ffffff0a 62%,#fff3);border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 0 14px #ffffff59,inset -6px -10px 18px #0000001f,0 8px 22px #00000040;animation:ls-float var(--d) ease-in-out infinite alternate;animation-delay:var(--delay)}.ls-bubble img{width:66%;height:66%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}.ls-bubble:after{content:"";position:absolute;top:12%;left:20%;width:28%;height:14%;border-radius:50%;background:#fff9;transform:rotate(-30deg);filter:blur(1px)}@keyframes ls-float{0%{transform:translate(0) rotate(-4deg)}50%{transform:translate(var(--dx),calc(var(--dy) * -1)) rotate(3deg)}to{transform:translate(calc(var(--dx) * -.6),var(--dy)) rotate(-2deg)}}body.has-winners .ls-page{min-height:0;padding-bottom:20px}.ls-winners{position:relative;z-index:1;max-width:1200px;margin:0 auto 28px;padding:0 24px}.ls-winners[hidden]{display:none}.ls-winners-card{border-radius:22px;padding:22px 22px 14px;background:linear-gradient(180deg,#00000073,#0009);border:2px solid var(--popup-border);box-shadow:0 0 0 5px var(--popup-glow),0 18px 40px #00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ls-winners-title{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 14px;font-family:var(--font);font-weight:900;font-size:24px;letter-spacing:.06em;color:var(--popup-title);text-shadow:0 2px 0 rgba(0,0,0,.4)}.ls-trophy{width:40px;height:40px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}.ls-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.ls-tab{flex:0 1 220px;padding:9px 14px;border-radius:999px;cursor:pointer;font:800 15px var(--font);color:#fff;border:1px solid rgba(255,255,255,.25);background:#ffffff14;transition:filter .2s,transform .1s}.ls-tab:hover{filter:brightness(1.15)}.ls-tab.is-active{color:var(--btn-text);border-color:transparent;background:linear-gradient(to bottom,var(--btn1) 0%,var(--btn2) 45%,var(--btn1) 100%);box-shadow:0 3px 0 var(--btn-shadow)}.ls-winners-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.ls-winners-list li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.1);font-size:15px;animation:ls-row-in .4s ease both}.ls-winners-list .w-date{color:#ffffffbf;grid-row:span 2}.ls-winners-list .w-user{text-align:right;font-weight:800;color:#fff;letter-spacing:.05em}.ls-winners-list .w-prize{text-align:right;font-weight:700;color:var(--popup-accent)}.ls-winners-list .w-empty{grid-column:1 / -1;display:block;text-align:center;color:#ffffffb3;border:0}@keyframes ls-row-in{0%{opacity:0;transform:translateY(6px)}}.ls-brand{grid-area:brand;align-self:end;text-align:center}.ls-panel{grid-area:form;align-self:start;text-align:center;max-width:420px;width:100%;justify-self:center}.ls-brand img{width:78%;max-width:320px;display:inline-block;margin-bottom:14px}.ls-panel h2{font-size:26px;font-weight:800;margin:0 0 14px;color:var(--heading);text-shadow:0 2px 6px rgba(0,0,0,.6)}.ls-footer{position:relative;z-index:1;text-align:center;font-size:13px;color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6);padding:0 16px 24px;margin-top:-8px}.ls-wheel{--size: min(46vw, 600px, 80vh);position:relative;width:var(--size);aspect-ratio:1;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}.ls-wheel:before{content:"";position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;border-radius:50%;z-index:-1;background:radial-gradient(circle,var(--glow) 0%,transparent 68%);animation:ls-halo 3s ease-in-out infinite}@keyframes ls-halo{50%{opacity:.55;transform:scale(.97)}}.ls-rim-outer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 20deg,var(--gold-1),var(--gold-2),var(--gold-3),var(--gold-4),var(--gold-1),var(--gold-2),var(--gold-3),var(--gold-4),var(--gold-1));box-shadow:inset 0 0 0 2px #00000073,0 0 0 3px #000000b3}.ls-rim-band{position:absolute;top:2.6%;right:2.6%;bottom:2.6%;left:2.6%;border-radius:50%;background:radial-gradient(circle,var(--band-hi) 78%,var(--band) 100%);box-shadow:inset 0 0 0 2px #00000059,inset 0 8px 18px #0000008c}.ls-rim-inner{position:absolute;top:8.4%;right:8.4%;bottom:8.4%;left:8.4%;border-radius:50%;background:conic-gradient(from 200deg,var(--gold-1),var(--gold-4),var(--gold-3),var(--gold-2),var(--gold-1),var(--gold-4),var(--gold-3),var(--gold-2),var(--gold-1));box-shadow:0 0 10px #0009}.ls-wheel canvas{position:absolute;top:10%;right:10%;bottom:10%;left:10%;width:80%;height:80%;border-radius:50%}.ls-gloss{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:50%;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 62% 40% at 38% 18%,#ffffff73,#ffffff24 52%,#fff0 72%),radial-gradient(circle,#fff0 58%,#ffffff0f 66%,#00000042 90%,#0000006b);box-shadow:inset 0 0 0 3px #ffffff24,inset 0 -12px 26px #00000047,inset 0 10px 20px #ffffff1f}.ls-gloss:after{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;opacity:0;transform:translate(-130%) rotate(8deg);background:linear-gradient(110deg,#fff0 38%,#ffffff6b 49%,#ffffff1f 54%,#fff0 62%)}.ls-gloss:after{animation:ls-shine-idle 5s ease-in-out 1s infinite}.ls-wheel.is-spinning .ls-gloss:after{animation:ls-shine 1.7s ease-in-out infinite}.ls-wheel.is-win .ls-gloss:after{animation:ls-shine .9s ease-in-out 3}@keyframes ls-shine-idle{0%{opacity:0;transform:translate(-130%) rotate(8deg)}6%{opacity:1}24%{opacity:1}30%,to{opacity:0;transform:translate(130%) rotate(8deg)}}@keyframes ls-shine{0%{opacity:0;transform:translate(-130%) rotate(8deg)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(130%) rotate(8deg)}}.ls-bulb{position:absolute;width:2.6%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 35%,#fff,var(--bulb) 45%,var(--bulb-dark) 100%);box-shadow:0 0 6px 2px var(--bulb-glow),0 0 14px 4px var(--glow);animation:ls-blink 1.2s steps(1,end) infinite;animation-delay:calc(var(--alt) * -.6s)}@keyframes ls-blink{0%{opacity:1}50%{opacity:.25;box-shadow:none}}.ls-wheel.is-spinning .ls-bulb{animation:ls-chase .5s linear infinite;animation-delay:calc(var(--i) * -.5s / var(--n))}@keyframes ls-chase{0%,30%{opacity:1}31%,to{opacity:.2;box-shadow:none}}.ls-wheel.is-win .ls-bulb{animation:ls-blink .25s steps(1,end) infinite;animation-delay:calc(var(--alt) * -.125s)}.ls-hub{position:absolute;left:50%;top:50%;width:21%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:0;padding:0;cursor:pointer;background:conic-gradient(from 0deg,var(--gold-1),var(--gold-4),var(--gold-3),var(--gold-2),var(--gold-1),var(--gold-4),var(--gold-3),var(--gold-2),var(--gold-1));box-shadow:0 6px 16px #0009,inset 0 0 0 2px #0006;display:grid;place-items:center;transition:transform .15s ease}.ls-hub:hover{transform:translate(-50%,-50%) scale(1.04)}.ls-hub:active{transform:translate(-50%,-50%) scale(.97)}.ls-hub:disabled{cursor:default}.ls-hub-core{width:82%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 30%,var(--hub-hi),var(--hub) 70%);box-shadow:inset 0 3px 8px #ffffff40,inset 0 -6px 12px #00000080;display:grid;place-items:center;font-family:var(--font);font-weight:900;font-size:calc(var(--size) * .042);letter-spacing:.04em;color:var(--hub-text);text-shadow:0 2px 0 rgba(0,0,0,.45)}.ls-wheel:not(.is-spinning) .ls-hub-core{animation:ls-pulse 1.6s ease-in-out infinite}@keyframes ls-pulse{50%{box-shadow:inset 0 3px 8px #ffffff40,inset 0 -6px 12px #00000080,0 0 18px 4px var(--glow)}}.ls-pointer{position:absolute;left:50%;top:-1.5%;width:11%;z-index:3;transform:translate(-50%);transform-origin:50% 30%;filter:drop-shadow(0 4px 4px rgba(0,0,0,.55))}.ls-pointer svg{display:block;width:100%;height:auto}.ls-pointer.tick{animation:ls-tick .14s ease-out}@keyframes ls-tick{35%{transform:translate(-50%) rotate(-16deg)}}.ls-panel input[name=userid],.ls-panel input[name=voucher]{width:100%;font:600 22px var(--font);text-align:center;text-transform:uppercase;letter-spacing:.12em;padding:10px 16px;border-radius:var(--btn-radius);border:2px solid var(--input-border);background:var(--input-bg);color:var(--input-text);outline:none}.ls-panel input[name=userid]{margin-bottom:10px;text-transform:none;letter-spacing:.04em}.ls-panel input[name=userid][hidden]{display:none}.ls-panel input[name=userid]::placeholder,.ls-panel input[name=voucher]::placeholder{color:var(--input-text);opacity:.5}.ls-panel input[name=userid]:focus,.ls-panel input[name=voucher]:focus{box-shadow:0 0 0 4px var(--input-glow)}#error_message_voucher{display:block;min-height:22px;margin:8px 0 4px;font-size:14px;color:var(--msg)}#error_message_voucher.is-error{color:#ff8a8a}.ls-btn{display:block;width:100%;margin-top:14px;font:800 20px var(--font);letter-spacing:.03em;text-align:center;text-decoration:none;padding:10px 16px;border:0;border-radius:var(--btn-radius);cursor:pointer;color:var(--btn-text);background:linear-gradient(to bottom,var(--btn1) 0%,var(--btn2) 40%,var(--btn1) 100%);box-shadow:0 4px 0 var(--btn-shadow),0 8px 18px #0006;transition:transform .1s ease,box-shadow .1s ease,filter .2s}.ls-btn:hover{filter:brightness(1.06);color:var(--btn-text)}.ls-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--btn-shadow),0 4px 10px #0006}.ls-btn:disabled{filter:grayscale(.6) brightness(.8);cursor:default}#my-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:90;display:none}.ls-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#000000b8;display:none;flex-direction:column;align-items:center;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.ls-overlay.show{display:flex;animation:ls-fade .3s ease}@keyframes ls-fade{0%{opacity:0}}.ls-card{position:relative;width:min(380px,100%);text-align:center;margin:auto 0;flex-shrink:0;padding:30px 24px 24px;border-radius:22px;color:var(--popup-text);background:radial-gradient(circle at 50% 0%,var(--popup-bg-hi),var(--popup-bg) 70%);border:3px solid var(--popup-border);box-shadow:0 0 0 6px var(--popup-glow),0 20px 60px #000000b3;animation:ls-pop .45s cubic-bezier(.2,1.4,.4,1)}@keyframes ls-pop{0%{transform:scale(.6);opacity:0}}.ls-card .ls-close{position:absolute;top:10px;right:12px;width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;background:#00000059;color:#fff;font-size:16px}.ls-card h3{margin:0;font-size:15px;letter-spacing:.2em;color:var(--popup-title);text-transform:uppercase}.ls-welcome-text{font-size:18px;font-weight:700;line-height:1.5;color:var(--popup-title);margin:6px 0 16px}.ls-prize-badge{width:140px;aspect-ratio:1;margin:16px auto;border-radius:50%;display:grid;place-items:center;padding:12px;border:5px solid var(--popup-border);box-shadow:0 0 30px var(--glow),inset 0 -10px 20px #00000040;font-weight:900;font-size:22px;line-height:1.1;animation:ls-spin-in .8s cubic-bezier(.2,1.2,.4,1)}@keyframes ls-spin-in{0%{transform:rotate(-200deg) scale(.3)}}.ls-prize-img{display:block;width:128px;height:128px;margin:16px auto;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45)) drop-shadow(0 0 18px var(--glow));animation:ls-spin-in .8s cubic-bezier(.2,1.2,.4,1)}.ls-card .ls-prize-desc{font-size:13px;font-weight:600;color:var(--popup-accent);opacity:.85;margin:4px 0 0}.ls-card .ls-prize-name{font-size:28px;font-weight:900;color:var(--popup-accent);margin:0;text-shadow:0 2px 0 rgba(0,0,0,.4)}.ls-card .ls-desc{font-size:13.5px;opacity:.9;margin:8px 0 14px}.ls-card .ls-meta{font-size:13px;color:var(--popup-title);line-height:1.7}.ls-card .ls-meta b{color:var(--popup-text)}.ls-sound-toggle{position:fixed;top:12px;right:12px;z-index:70;width:44px;height:44px;border-radius:50%;padding:10px;cursor:pointer;border:2px solid var(--btn1);color:var(--btn1);background:#0000008c;box-shadow:0 4px 12px #00000080;transition:transform .15s ease}.ls-sound-toggle[hidden]{display:none}.ls-sound-toggle:hover{transform:scale(1.08)}.ls-sound-toggle svg{display:block;width:100%;height:100%}.ls-sound-toggle .ls-ico-off,.ls-sound-toggle.is-muted .ls-ico-on{display:none}.ls-sound-toggle.is-muted .ls-ico-off{display:block}.ls-sound-toggle.is-muted{opacity:.7}body.has-announcement .ls-sound-toggle{top:56px}.ls-preview-badge{position:fixed;top:8px;left:8px;z-index:95;background:#dc3545;color:#fff;font:700 11px var(--font);letter-spacing:.1em;padding:4px 10px;border-radius:20px;pointer-events:none}@media(max-width:860px){.ls-page{grid-template-columns:1fr;grid-template-areas:"brand" "wheel" "form";padding:16px 16px 40px;row-gap:14px}.ls-wheel{--size: min( calc(100vw - 48px) , 520px, 86vh)}.ls-stage.has-frame{--stage-w: min( calc(100vw - 32px) , 560px, calc(86vh * var(--frame-ratio)))}.ls-winners{padding:0 16px}.ls-winners-card{padding:18px 14px 10px}.ls-winners-title{font-size:20px}.ls-trophy{width:32px;height:32px}.ls-tab{font-size:13px;padding:8px 10px}.ls-winners-list{grid-template-columns:1fr}.ls-winners-list li{font-size:14px}.ls-brand img{width:62%;margin-bottom:0}.ls-panel h2{font-size:22px}}@media(max-height:560px){.ls-card{padding:22px 20px 18px}.ls-prize-badge{width:96px;margin:10px auto;font-size:17px}.ls-prize-img{width:96px;height:96px;margin:10px auto}.ls-card .ls-prize-name{font-size:22px}.ls-card .ls-desc{margin:6px 0 10px}.ls-card .ls-btn{margin-top:10px;padding:8px 16px;font-size:18px}}@media(max-height:440px){.ls-overlay{padding:8px 16px}.ls-card{padding:14px 18px}.ls-card h3{font-size:12px}.ls-prize-badge{width:64px;margin:6px auto;font-size:12px;padding:6px;border-width:3px}.ls-prize-img{width:64px;height:64px;margin:6px auto}.ls-card .ls-prize-name{font-size:18px}.ls-card .ls-prize-desc{font-size:12px;margin:2px 0 0}.ls-card .ls-desc{font-size:12px;margin:4px 0 6px}.ls-card .ls-meta{font-size:12px;line-height:1.5}.ls-card .ls-btn{margin-top:8px;padding:8px 14px;font-size:16px}}@media(prefers-reduced-motion:reduce){.ls-bulb,.ls-wheel:before,.ls-hub-core,#announcement-text,.ls-bubble,.ls-gloss:after{animation:none!important}}
