.npw-wrap{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:42px 18px 55px;border-radius:24px;background-color:var(--npw-bg);background-size:cover;background-position:center;font-family:var(--npw-font);color:#fff}.npw-wrap:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 44%,rgba(255,30,55,.3),transparent 46%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.5))}.npw-bg-effects{position:absolute;inset:-20%;z-index:-1;background:repeating-conic-gradient(rgba(255,30,60,.08) 0 2deg,transparent 2deg 13deg);animation:npwFloat 25s linear infinite}.npw-heading h2{margin:0 0 8px;color:var(--npw-title);font-size:var(--npw-title-size);font-weight:var(--npw-title-weight,700);text-shadow:none}.npw-heading p{margin:0 0 28px;color:var(--npw-sub);font-size:var(--npw-sub-size);font-weight:var(--npw-sub-weight,400);text-shadow:none}.npw-wheel-stage{position:relative;width:min(var(--npw-desktop),100%);aspect-ratio:1/1;margin:auto;transform-origin:center}.npw-wheel-stage.npw-idle:not(.spinning){animation:npwSwing 3.2s ease-in-out infinite}.npw-rim{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 23%,#fff5a4 0 2%,#e8b735 20%,#9b5900 55%,var(--npw-rim) 77%,#4f2500 100%);box-shadow:0 16px 24px rgba(0,0,0,.5),0 0 35px var(--npw-rim),0 0 80px rgba(255,27,55,.65),inset 0 0 13px #fff4a5,inset 0 -12px 18px rgba(82,35,0,.7)}.npw-rim:before{content:"";position:absolute;inset:5.2%;border-radius:50%;border:5px solid rgba(255,238,156,.9);box-shadow:inset 0 0 12px #6d3200,0 0 8px #fff4a0;z-index:3;pointer-events:none}.npw-wheel{position:absolute;inset:8%;border-radius:50%;overflow:hidden;background:#222;box-shadow:0 0 0 4px #bd841b,0 0 0 7px rgba(255,244,179,.65);transition:transform 7s cubic-bezier(.12,.72,.08,1);will-change:transform}.npw-wheel canvas{width:100%;height:100%;display:block;border-radius:50%}.npw-lights{position:absolute;inset:0;z-index:8;pointer-events:none}.npw-bulb{position:absolute;left:50%;top:50%;width:3%;aspect-ratio:1;border-radius:50%;background:#6b3500;border:1px solid #ffe373;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--npw-desktop) * -.465));box-shadow:inset 0 0 3px #fff}.npw-bulb.on{background:var(--npw-light);box-shadow:0 0 5px #fff,0 0 13px var(--npw-light),0 0 26px var(--npw-light)}.npw-pointer{position:absolute;z-index:12;top:-3%;left:50%;transform:translateX(-50%);width:12%;height:17%;background:linear-gradient(135deg,#fff4a4,#dda000 50%,#723600);clip-path:polygon(50% 100%,0 28%,20% 0,80% 0,100% 28%);filter:drop-shadow(0 5px 5px rgba(0,0,0,.75))}.npw-pointer:after{content:"";position:absolute;inset:18% 29% 43%;background:var(--npw-pointer);clip-path:polygon(50% 100%,0 0,100% 0)}.npw-hub{position:absolute;z-index:7;inset:41%;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff8b2,#f5c739 24%,#9f5900 70%,#4e2300);border:3px solid #ffe88a;box-shadow:0 5px 10px rgba(0,0,0,.65),0 0 15px #ffd454,inset 0 -7px 9px #754000}.npw-spin{display:inline-flex;align-items:center;justify-content:center;margin-top:26px;min-width:min(340px,90%);min-height:58px;padding:12px 35px;border-radius:999px;border:3px solid #ffe279;color:#fff;font:var(--npw-btn-weight,900) var(--npw-btn-size)/1 var(--npw-font);background:linear-gradient(180deg,#dc1733,#8c0018);box-shadow:0 7px 0 #4d0010,0 0 22px rgba(255,28,55,.72),inset 0 2px 4px rgba(255,255,255,.5);cursor:pointer;text-shadow:none}.npw-spin:disabled{filter:grayscale(.55);cursor:not-allowed}.npw-result{font-size:20px;font-weight:700;margin-top:18px;min-height:28px;color:#ffe46b;text-shadow:none}.npw-modal,.npw-sheet{position:fixed;inset:0;z-index:999999}.npw-modal{background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px}.npw-modal[hidden],.npw-sheet[hidden]{display:none}.npw-modal-card{position:relative;width:min(460px,92vw);border-radius:24px;padding:34px 26px;background:linear-gradient(145deg,#450012,#130006);border:2px solid #ffd657;box-shadow:0 0 50px rgba(255,35,55,.5);color:#fff}.npw-close,.npw-sheet-close{position:absolute;left:14px;top:10px;border:0;background:transparent;color:#fff;font-size:34px;cursor:pointer}.npw-win-icon{font-size:56px;color:#ffd84a}.npw-modal-card h3{font-size:28px;margin:5px 0 10px;text-shadow:none}.npw-win-desc{font-size:18px}.npw-countdown{font-size:30px;font-weight:900;color:#ffe36a;margin:15px}.npw-modal-action{border:0;border-radius:50px;padding:12px 30px;background:linear-gradient(90deg,#ffd544,#ff9f00);font-weight:900;cursor:pointer}.npw-sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.67)}.npw-sheet-card{position:absolute;left:0;right:0;bottom:0;margin:auto;width:min(620px,100%);box-sizing:border-box;padding:20px 22px 28px;border-radius:25px 25px 0 0;background:linear-gradient(180deg,#5a0016,#190008);border:2px solid #d81330;border-bottom:0;box-shadow:0 -20px 60px rgba(0,0,0,.55);animation:npwSheetUp .38s ease-out}.npw-sheet-handle{width:58px;height:6px;background:#aaa;border-radius:10px;margin:0 auto 18px}.npw-sheet-card h3{margin:0 34px 18px;font-size:21px;text-shadow:none}.npw-user-form{display:grid;gap:12px}.npw-user-form input{width:100%;box-sizing:border-box;min-height:55px;border:1px solid rgba(255,255,255,.25);border-radius:13px;padding:8px 15px;background:rgba(0,0,0,.23);color:#fff;font:inherit;outline:none}.npw-user-form button{min-height:55px;border:0;border-radius:13px;background:linear-gradient(180deg,#ffe278,#d69508);font:900 18px var(--npw-font);cursor:pointer}.npw-form-error{min-height:20px;color:#ffd0d7;font-size:14px}.npw-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.npw-confetti i{position:absolute;top:-20px;width:10px;height:16px;animation:npwFall 3s linear forwards}@keyframes npwSwing{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes npwFloat{to{transform:rotate(360deg)}}@keyframes npwSheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes npwFall{to{transform:translate(var(--x),110vh) rotate(900deg);opacity:.8}}@media(max-width:767px){.npw-wrap{padding:30px 10px 42px;border-radius:16px}.npw-wheel-stage{width:min(var(--npw-mobile),100%);height:auto;aspect-ratio:1/1}.npw-bulb{transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(min(var(--npw-mobile), 100vw) * -.465))}.npw-heading h2{line-height:1.35}.npw-heading p{margin-bottom:20px}}
/* Core v2 stability fixes */
.npw-wheel-stage,.npw-rim,.npw-wheel,.npw-wheel canvas{box-sizing:border-box;min-width:0;min-height:0}.npw-wheel-stage{height:auto!important;max-width:100%;flex:none}.npw-sheet{z-index:2147483000!important}.npw-sheet-card{bottom:max(0px,env(safe-area-inset-bottom));padding-bottom:calc(28px + env(safe-area-inset-bottom))}.npw-modal{z-index:2147483001!important}@media(max-width:767px){.npw-wheel-stage{width:min(var(--npw-mobile),calc(100vw - 28px))!important;aspect-ratio:1/1!important}.npw-sheet-card{max-height:calc(100dvh - 12px);overflow:auto}.npw-wrap{overflow:hidden}}
/* Phase 2 */
.npw-orbit-glow{position:absolute;inset:-5%;border-radius:50%;pointer-events:none;opacity:0;filter:blur(11px);background:conic-gradient(from 0deg,transparent 0 18%,var(--npw-glow) 28%,transparent 42% 68%,var(--npw-glow) 80%,transparent 94%);z-index:-1}.npw-glow-enabled .npw-orbit-glow{opacity:var(--npw-glow-alpha);animation:npwOrbit var(--npw-glow-speed) linear infinite}.npw-pointer{overflow:visible;height:20%;width:14%;top:-5%;background:linear-gradient(135deg,#fff8b5,#f7c936 42%,#8b4300 75%,#ffe98a)}.npw-pointer b{position:absolute;left:17%;right:17%;top:-2%;aspect-ratio:1;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 35% 25%,#ffb4ca 0 5%,#f11355 18%,#a50032 52%,#520018 78%);border:4px solid #ffe481;box-shadow:0 0 12px #fff,0 0 24px #ff1f5a,inset 0 0 10px #ffb4c8;clip-path:polygon(50% 0,88% 20%,100% 58%,72% 100%,28% 100%,0 58%,12% 20%)}.npw-pointer i{position:absolute;inset:47% 31% 5%;background:linear-gradient(#fff2a0,#d79200 65%,#7f3700);clip-path:polygon(50% 100%,0 0,100% 0)}
.npw-spin{min-width:min(var(--npw-btn-width),92%);min-height:var(--npw-btn-height);border-radius:var(--npw-btn-radius);border-color:var(--npw-btn-border);color:var(--npw-btn-color);background:linear-gradient(180deg,var(--npw-btn-bg),var(--npw-btn-bg2));position:relative;overflow:hidden}.npw-spin.effect-pulse{animation:npwBtnPulse 1.8s ease-in-out infinite}.npw-spin.effect-glow{animation:npwBtnGlow 1.7s ease-in-out infinite alternate}.npw-spin.effect-bounce{animation:npwBtnBounce 2.2s ease-in-out infinite}.npw-spin.effect-shimmer:after{content:"";position:absolute;top:-40%;bottom:-40%;width:45%;left:-60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:npwShimmer 2.2s infinite}
.npw-sheet-card{background:linear-gradient(180deg,var(--npw-form-bg),color-mix(in srgb,var(--npw-form-bg),#000 55%));color:var(--npw-form-color);border-radius:var(--npw-form-radius) var(--npw-form-radius) 0 0}.npw-user-form{max-height:65dvh;overflow:auto;padding:2px}.npw-front-field{display:grid;gap:6px;text-align:right}.npw-front-field span{font-size:13px}.npw-user-form input,.npw-user-form textarea,.npw-user-form select{width:100%;box-sizing:border-box;min-height:52px;border:1px solid rgba(255,255,255,.24);border-radius:13px;padding:10px 14px;background:var(--npw-input-bg);color:var(--npw-form-color);font:inherit}.npw-user-form textarea{min-height:90px;resize:vertical}.npw-user-form button{background:linear-gradient(180deg,color-mix(in srgb,var(--npw-form-btn),#fff 18%),var(--npw-form-btn))}
@keyframes npwOrbit{to{transform:rotate(360deg)}}@keyframes npwBtnPulse{50%{transform:scale(1.045)}}@keyframes npwBtnGlow{to{box-shadow:0 7px 0 #4d0010,0 0 38px var(--npw-btn-border),inset 0 2px 5px rgba(255,255,255,.55)}}@keyframes npwBtnBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes npwShimmer{to{left:130%}}

/* Phase 3: winner animations and customizable result card */
.npw-modal-card{background:linear-gradient(145deg,var(--npw-win-bg,#3b0010),color-mix(in srgb,var(--npw-win-bg,#3b0010) 72%,#000));color:var(--npw-win-color,#fff);border-color:var(--npw-win-accent,#ffd85b)}
.npw-win-icon,.npw-countdown{color:var(--npw-win-accent,#ffd85b)}
.npw-modal:not([hidden]).anim-zoom .npw-modal-card{animation:npwWinZoom .55s cubic-bezier(.2,.85,.25,1.25)}
.npw-modal:not([hidden]).anim-slide .npw-modal-card{animation:npwWinSlide .55s ease-out}
.npw-modal:not([hidden]).anim-flip .npw-modal-card{animation:npwWinFlip .7s ease-out;transform-style:preserve-3d}
.npw-modal:not([hidden]).anim-bounce .npw-modal-card{animation:npwWinBounce .75s ease-out}
@keyframes npwWinZoom{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
@keyframes npwWinSlide{from{opacity:0;transform:translateY(90px)}to{opacity:1;transform:translateY(0)}}
@keyframes npwWinFlip{from{opacity:0;transform:perspective(700px) rotateX(-75deg)}to{opacity:1;transform:perspective(700px) rotateX(0)}}
@keyframes npwWinBounce{0%{opacity:0;transform:scale(.6)}55%{transform:scale(1.1)}75%{transform:scale(.95)}100%{opacity:1;transform:scale(1)}}

/* Phase 4: Woodmart/mobile compatibility, skins and accessibility */
.npw-wrap.skin-neon .npw-rim{background:radial-gradient(circle at 35% 25%,#fff,#31efff 12%,#1a4cff 42%,#6d00a8 72%,#120024);box-shadow:0 16px 24px rgba(0,0,0,.55),0 0 35px #16e8ff,0 0 85px #9b19ff,inset 0 0 15px #fff}
.npw-wrap.skin-crystal .npw-rim{background:radial-gradient(circle at 33% 22%,#fff 0 4%,#eefaff 16%,#b9dff4 44%,#6b94bd 72%,#dff8ff 100%);box-shadow:0 18px 30px rgba(0,0,0,.35),0 0 40px #d8f7ff,0 0 75px rgba(112,211,255,.7),inset 0 0 16px #fff}
.npw-wrap.skin-crystal .npw-hub{background:radial-gradient(circle at 32% 24%,#fff,#d9f6ff 28%,#79a9c8 72%,#29475f)}
.npw-sheet-card{bottom:var(--npw-mobile-bottom,0px)}
.npw-sheet.form-effect-fade .npw-sheet-card,.npw-wrap.form-effect-fade .npw-sheet-card{animation:npwSheetFade .3s ease-out}
.npw-sheet.form-effect-zoom .npw-sheet-card,.npw-wrap.form-effect-zoom .npw-sheet-card{animation:npwSheetZoom .32s ease-out}
@keyframes npwSheetFade{from{opacity:0}to{opacity:1}}@keyframes npwSheetZoom{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
body.npw-sheet-open{overflow:hidden!important;touch-action:none}
body.npw-hide-wd-toolbar .wd-toolbar,body.npw-hide-wd-toolbar .wd-toolbar-shop,body.npw-hide-wd-toolbar .woodmart-toolbar{display:none!important}
.npw-spin:focus-visible,.npw-modal-action:focus-visible,.npw-sheet-close:focus-visible,.npw-close:focus-visible,.npw-user-form input:focus-visible,.npw-user-form select:focus-visible,.npw-user-form textarea:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
@media(max-width:767px){.npw-sheet-card{bottom:calc(var(--npw-mobile-bottom,72px) + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--npw-mobile-bottom,72px) - 12px)}.npw-sheet-close{min-width:44px;min-height:44px;display:grid;place-items:center;top:4px;left:8px}.npw-user-form button{position:sticky;bottom:0;z-index:2}}
@media(prefers-reduced-motion:reduce){.npw-wrap.npw-respect-motion .npw-wheel-stage.npw-idle,.npw-wrap.npw-respect-motion .npw-bg-effects,.npw-wrap.npw-respect-motion .npw-orbit-glow,.npw-wrap.npw-respect-motion .npw-spin{animation:none!important}.npw-wrap.npw-respect-motion *{scroll-behavior:auto!important}}


/* Phase 7: sharp high-contrast rendering, responsive backgrounds and thicker orbit light */
.npw-wrap{width:var(--npw-bg-width-desktop,100%);min-height:var(--npw-bg-height-desktop,720px);max-width:100%;margin-inline:auto;background-color:var(--npw-bg);background-image:linear-gradient(rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--npw-bg-desktop);background-size:var(--npw-bg-size-desktop,cover);background-position:center;background-repeat:no-repeat;overflow:hidden}
.npw-wheel canvas{filter:saturate(1.32) contrast(var(--npw-wheel-contrast,1.28)) brightness(1.05);image-rendering:auto}
.npw-wheel:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:none}.npw-wrap.npw-inner-shadow-on .npw-wheel:after{box-shadow:inset 0 0 var(--npw-inner-shadow-blur,34px) var(--npw-inner-shadow-spread,18px) color-mix(in srgb,var(--npw-inner-shadow-color,#000) calc(var(--npw-inner-shadow-alpha,0)*100%),transparent)}
.npw-orbit-glow{inset:calc(var(--npw-glow-thickness,38px) * -1);border-width:var(--npw-glow-thickness,38px);filter:blur(calc(var(--npw-glow-thickness,38px) * .38));box-shadow:0 0 var(--npw-glow-spread,72px) color-mix(in srgb,var(--npw-glow) 88%,transparent),inset 0 0 calc(var(--npw-glow-spread,72px) * .65) var(--npw-glow);opacity:var(--npw-glow-alpha,.7)}
.npw-pointer{width:82px!important;height:112px!important;top:-55px!important;background:linear-gradient(145deg,#fff8ba 0%,var(--npw-pointer) 18%,#8b5200 48%,#ffd95e 72%,#7c4200 100%)!important;clip-path:polygon(50% 100%,2% 26%,18% 5%,82% 5%,98% 26%)!important;border:0!important;filter:drop-shadow(0 9px 5px rgba(0,0,0,.55)) drop-shadow(0 0 12px #ffd75c)}
.npw-pointer:before{content:"";position:absolute;left:18px;right:18px;top:14px;height:42px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 35% 25%,#fff 0 5%,#ff526b 14%,#b90025 48%,#4f0011 78%,#ffb2bd 100%);border:5px solid #ffe77b;box-shadow:0 0 11px #fff1a7,inset 0 0 9px #50000e}
.npw-pointer b{display:none!important}.npw-pointer i{display:none!important}
.npw-rim{filter:saturate(1.2) contrast(1.15)}
@media(max-width:767px){.npw-wrap{width:var(--npw-bg-width-mobile,100%);min-height:var(--npw-bg-height-mobile,680px);background-image:linear-gradient(rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--npw-bg-mobile);background-size:var(--npw-bg-size-mobile,cover)}.npw-pointer{width:58px!important;height:80px!important;top:-40px!important}.npw-pointer:before{left:13px;right:13px;top:10px;height:30px;border-width:3px}}

/* Phase 8: custom PNG pointer and stronger LED color control */
.npw-pointer-image{width:var(--npw-pointer-width,82px)!important;height:auto!important;aspect-ratio:auto!important;top:-58px!important;background:none!important;clip-path:none!important;filter:drop-shadow(0 9px 6px rgba(0,0,0,.55)) drop-shadow(0 0 14px var(--npw-light))!important}
.npw-pointer-image:before,.npw-pointer-image:after,.npw-pointer-image b{display:none!important}.npw-pointer-image img{display:block;width:100%;height:auto;max-height:150px;object-fit:contain}.npw-bulb{border-color:color-mix(in srgb,var(--npw-light),#fff 35%)}.npw-bulb.on{background:var(--npw-light)!important;box-shadow:0 0 5px #fff,0 0 13px var(--npw-light),0 0 28px var(--npw-light)!important}@media(max-width:767px){.npw-pointer-image{width:min(var(--npw-pointer-width,82px),72px)!important;top:-46px!important}.npw-pointer-image img{max-height:110px}}
/* 2.8.0: ensure saved CSS variables always win over theme declarations */
.npw-wrap .npw-spin{min-width:min(var(--npw-btn-width),92%)!important;min-height:var(--npw-btn-height)!important;border-radius:var(--npw-btn-radius)!important;border-color:var(--npw-btn-border)!important;color:var(--npw-btn-color)!important;background:linear-gradient(180deg,var(--npw-btn-bg),var(--npw-btn-bg2))!important}
.npw-wrap .npw-heading h2{color:var(--npw-title)!important;font-size:var(--npw-title-size)!important}
.npw-wrap .npw-heading p{color:var(--npw-sub)!important;font-size:var(--npw-sub-size)!important}
.npw-wrap .npw-orbit-glow{inset:calc(var(--npw-glow-thickness) * -1)!important;box-shadow:0 0 var(--npw-glow-spread) var(--npw-glow),inset 0 0 calc(var(--npw-glow-spread) * .65) var(--npw-glow)!important}

.npw-wrap .npw-heading h2{font-weight:var(--npw-title-weight,700)!important}.npw-wrap .npw-heading p{font-weight:var(--npw-sub-weight,400)!important}.npw-wrap .npw-spin{font-size:var(--npw-btn-size)!important;font-weight:var(--npw-btn-weight,900)!important}

@supports not (color:color-mix(in srgb,#000 50%,transparent)){.npw-wrap.npw-inner-shadow-on .npw-wheel:after{box-shadow:inset 0 0 var(--npw-inner-shadow-blur,34px) var(--npw-inner-shadow-spread,18px) rgba(0,0,0,var(--npw-inner-shadow-alpha,0))}}
