:root.nsw-open { overflow: hidden; }
.nsw-overlay,.nsw-overlay * { box-sizing: border-box; }
.nsw-overlay {
	position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 24px;
	background: rgba(7, 28, 20, .74); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px);
	opacity: 0; transition: opacity .22s ease;
	font-family: "Hind Siliguri", "Noto Sans Bengali", Vrinda, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.nsw-overlay[hidden] { display: none; }
.nsw-overlay.is-visible { opacity: 1; }
.nsw-overlay button,.nsw-overlay input { font-family: inherit; }
.nsw-modal {
	--nsw-green: #145b3d; --nsw-green-dark: #0d432d; --nsw-mint: #edf8f1; --nsw-ivory: #fffaf0; --nsw-gold: #d6b363;
	position: relative; width: min(var(--nsw-max-width), 96vw); max-height: min(94vh, 760px); overflow: auto;
	display: grid; grid-template-columns: minmax(430px, 1.08fr) minmax(350px, .92fr);
	background: var(--nsw-ivory); color: #18392c; border: 1px solid rgba(229, 205, 147, .72); border-radius: 28px;
	box-shadow: 0 35px 100px rgba(0, 0, 0, .34), 0 2px 0 rgba(255,255,255,.74) inset;
	transform: translateY(16px) scale(.985); transition: transform .26s ease;
}
.nsw-overlay.is-visible .nsw-modal { transform: none; }
.nsw-close {
	position: absolute; top: 16px; right: 16px; z-index: 10; width: 38px; height: 38px; padding: 0;
	border: 1px solid rgba(214,179,99,.75)!important; border-radius: 50%; background: rgba(255,250,240,.96)!important; color: var(--nsw-green-dark)!important;
	font-size: 0; cursor: pointer; box-shadow: 0 5px 18px rgba(13,67,45,.14); transition: transform .18s ease, background .18s ease;
}
.nsw-close::before,.nsw-close::after { content:""; position:absolute; top:50%; left:50%; width:15px; height:2px; border-radius:2px; background:currentColor; }
.nsw-close::before { transform:translate(-50%,-50%) rotate(45deg); }
.nsw-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.nsw-close:hover,.nsw-close:focus-visible { background: #fff; transform: scale(1.05); outline: 3px solid rgba(214,179,99,.28); }
.nsw-wheel-pane {
	position: relative; min-height: 594px; display: grid; place-items: center; overflow: hidden; padding: 52px 26px 34px;
	background:
		radial-gradient(circle at 50% 43%, rgba(255,255,255,.96) 0 8%, rgba(235,248,240,.8) 44%, rgba(207,234,218,.92) 76%),
		linear-gradient(145deg, #f8fcf8, #d6eee0);
	border-radius: 28px 0 0 28px;
}
.nsw-wheel-pane::before,.nsw-wheel-pane::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.nsw-wheel-pane::before { width: 470px; height: 470px; border: 1px solid rgba(20,91,61,.08); box-shadow: 0 0 0 28px rgba(255,255,255,.13), 0 0 0 29px rgba(20,91,61,.045); }
.nsw-wheel-pane::after { width: 90px; height: 90px; right: -38px; bottom: -34px; border: 24px solid rgba(214,179,99,.09); }
.nsw-wheel-stage { position: relative; z-index: 2; width: min(458px, 44vw); aspect-ratio: 1; display: grid; place-items: center; }
.nsw-wheel {
	position: relative; width: 91%; aspect-ratio: 1; overflow: hidden; border: clamp(9px, 1vw, 12px) solid var(--nsw-gold); border-radius: 50%;
	box-shadow:
		0 0 0 2px #85672e,
		0 0 0 5px #f2dfa9,
		0 20px 34px rgba(19,76,51,.23),
		inset 0 0 0 3px rgba(255,250,226,.72),
		inset 0 0 20px rgba(29,64,46,.08);
	transition-property: transform; transition-timing-function: cubic-bezier(.12,.73,.12,1); will-change: transform;
}
.nsw-wheel.is-spinning { transition: none!important; }
.nsw-wheel::before {
	content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 50%; pointer-events: none;
	background: repeating-conic-gradient(from -.65deg, rgba(210,175,99,.96) 0 1.3deg, transparent 1.3deg var(--segment-angle));
}
.nsw-wheel::after {
	content: ""; position: absolute; inset: 7.5%; z-index: 1; border: 1px solid rgba(224,199,135,.72); border-radius: 50%; pointer-events: none;
	box-shadow: 0 0 0 3px rgba(255,255,255,.18), inset 0 0 16px rgba(15,68,45,.08);
}
.nsw-wheel-labels { position: absolute; inset: 0; z-index: 2; }
.nsw-segment-label {
	position: absolute; width: var(--label-width); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
	text-align: center; pointer-events: none; transform-origin: center; filter: drop-shadow(0 1px 1px rgba(0,0,0,.14));
}
.nsw-segment-label b {
	display: -webkit-box; width: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
	font: 700 var(--label-font)/1.08 "Hind Siliguri", "Noto Sans Bengali", Vrinda, sans-serif; letter-spacing: .01em; overflow-wrap: anywhere;
}
.nsw-segment-label.is-light { color: #124b34; filter: none; }
.nsw-segment-label.is-dark { color: #fffdf4; text-shadow: 0 1px 2px rgba(0,0,0,.22); }
.nsw-segment-label img { width: 34px; height: 34px; object-fit: contain; border-radius: 50%; background: rgba(255,255,255,.92); padding: 3px; box-shadow: 0 2px 7px rgba(0,0,0,.16); }
.nsw-pointer {
	position: absolute; top: -1px; left: 50%; z-index: 7; width: 52px; height: 66px; transform: translateX(-50%); pointer-events: none;
	filter: drop-shadow(0 5px 5px rgba(8,54,35,.28));
}
.nsw-pointer::before { content: ""; position: absolute; top: 0; left: 50%; width: 22px; height: 22px; transform: translateX(-50%); border: 3px solid #f1dc9f; border-radius: 50%; background: #174f37; box-shadow: 0 0 0 2px #8e6b2d; }
.nsw-pointer span { position: absolute; top: 13px; left: 50%; width: 34px; height: 48px; transform: translateX(-50%); background: linear-gradient(145deg,#276f50,#103f2c); clip-path: polygon(7% 0,93% 0,50% 100%); }
.nsw-pointer span::after { content:""; position:absolute; inset:4px 6px 11px; background:linear-gradient(145deg,rgba(255,255,255,.25),transparent 55%); clip-path:inherit; }
.nsw-wheel-hub {
	position: absolute; inset: 50% auto auto 50%; z-index: 6; width: 25%; aspect-ratio: 1; transform: translate(-50%,-50%); display: grid; place-items: center; overflow: hidden;
	background: linear-gradient(145deg,#fffef9,#f8f0dc); border: 4px solid #e0bd68; border-radius: 50%;
	box-shadow: 0 0 0 3px #165b3e, 0 0 0 6px rgba(255,250,235,.9), 0 8px 20px rgba(7,54,35,.27), inset 0 2px 5px rgba(255,255,255,.9);
}
.nsw-wheel-hub img { width: 80%; height: auto; max-height: 66%; object-fit: contain; }
.nsw-content-pane { min-width: 0; display: flex; align-items: center; padding: 54px 44px 40px; background: linear-gradient(150deg,#fffdf7 0,#f2faf4 100%); }
.nsw-content-pane h2 { margin: 14px 0 10px; color: var(--nsw-green); font-size: clamp(27px,2.4vw,36px); line-height: 1.17; letter-spacing: -.025em; font-weight: 700; }
.nsw-content-pane p { margin: 8px 0; font-size: 15px; line-height: 1.58; color: #456055; }
.nsw-badge { display: inline-flex; align-items: center; gap: 5px; padding: 7px 13px; border: 1px solid rgba(214,179,99,.45); border-radius: 99px; background: #e4f4e9; color: #155b3d; font-size: 13px; font-weight: 700; }
#nsw-form label:not(.nsw-consent) { display:block; margin: 13px 0 5px; color:#24483a; font-size:13px; font-weight:600; }
#nsw-form > input:not(.nsw-hp) { width:100%; min-height:48px; padding:10px 13px; border:1px solid #bad2c3; border-radius:11px; background:#fff; color:#173c2d; font-size:15px; font-weight:500; line-height:1.3; box-shadow:0 2px 5px rgba(17,79,51,.04); transition:border-color .15s ease,box-shadow .15s ease; }
#nsw-form > input:focus { outline:0; border-color:#2c7654; box-shadow:0 0 0 3px rgba(44,118,84,.15); }
.nsw-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.nsw-consent { display:flex; gap:9px; align-items:flex-start; margin:14px 0; color:#536b61; font-size:12px; line-height:1.42; }
.nsw-consent input { flex:0 0 auto; margin-top:3px; accent-color:var(--nsw-green); }
.nsw-overlay .nsw-spin-button,.nsw-overlay .nsw-continue { width:100%!important; min-height:50px; border:1px solid #0c492f!important; border-radius:12px; background:linear-gradient(135deg,#1d7250,#104b33)!important; color:#fffdf5!important; font-family:inherit!important; font-size:17px; font-weight:700; line-height:1.2; cursor:pointer; box-shadow:0 9px 22px rgba(17,88,58,.2),inset 0 1px rgba(255,255,255,.18); transition:transform .15s ease,box-shadow .15s ease; }
.nsw-spin-button:hover,.nsw-continue:hover { transform:translateY(-1px); box-shadow:0 12px 25px rgba(17,88,58,.25); }
.nsw-spin-button:focus-visible,.nsw-continue:focus-visible { outline:3px solid rgba(214,179,99,.5); outline-offset:2px; }
.nsw-spin-button:disabled { opacity:.66; cursor:wait; transform:none; }
.nsw-error { margin:10px 0; padding:9px 11px; border:1px solid #efc0b8; border-radius:8px; background:#fff0ed; color:#94291f; font-size:13px; }
.nsw-preview-notice { margin:0 0 14px; padding:10px 12px; border:1px solid #dfbd67; border-radius:9px; background:#fff6d9; color:#624b08; font-size:13px; line-height:1.4; }
.nsw-terms { margin:13px 0 0!important; text-align:center; font-size:12px!important; }
.nsw-terms a { color:#176b46; text-underline-offset:2px; }
.nsw-result { width:100%; text-align:center; }
.nsw-confetti { font-size:42px; line-height:1.2; }
.nsw-prize { margin:15px 0 8px; color:#0e633e; font-size:29px; line-height:1.2; font-weight:800; }
.nsw-coupon-wrap { margin:18px 0; padding:13px; border:1px dashed #b28b39; border-radius:13px; background:#fffef9; box-shadow:inset 0 0 0 3px rgba(214,179,99,.1); }
.nsw-coupon-wrap>span { display:block; margin-bottom:6px; color:#66766f; font-size:12px; }
.nsw-coupon-wrap div { display:flex; justify-content:center; align-items:center; gap:10px; }
.nsw-coupon-wrap code { color:#145b3c; font:800 21px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:1px; }
.nsw-coupon-wrap button { padding:7px 10px; border:1px solid #c8ddcf!important; border-radius:7px; background:#e3f2e8!important; color:#135f3d!important; cursor:pointer; }
.nsw-conditions { display:inline-block; margin:0 auto 8px; padding-left:20px; color:#405b50; text-align:left; font-size:13px; }
@media (max-width:860px) {
	.nsw-overlay { padding:16px; place-items:center; }
	.nsw-modal {
		width:min(560px,94vw);
		max-width:100%;
		max-height:calc(100vh - 32px);
		max-height:calc(100dvh - 32px);
		grid-template-columns:minmax(0,1fr);
		border-radius:24px;
		overflow-y:auto;
		overflow-x:hidden;
		-webkit-overflow-scrolling:touch;
		overscroll-behavior:contain;
	}
	.nsw-close {
		top:12px;
		right:12px;
		width:44px;
		height:44px;
		min-width:44px;
		min-height:44px;
		z-index:30;
		background:rgba(255,250,240,.96)!important;
	}
	.nsw-wheel-pane {
		min-width:0;
		min-height:auto;
		padding:30px 16px 18px;
		border-radius:24px 24px 0 0;
	}
	.nsw-wheel-pane::before { width:340px; height:340px; }
	.nsw-wheel-pane::after { display:none; }
	.nsw-wheel-stage { width:min(300px,58vw); }
	.nsw-pointer { width:44px; height:56px; top:-1px; }
	.nsw-pointer::before { width:19px; height:19px; }
	.nsw-pointer span { top:11px; width:29px; height:41px; }
	.nsw-content-pane { padding:26px 28px 28px; }
	.nsw-content-pane h2 { font-size:26px; margin:10px 0 8px; }
	.nsw-segment-label b { font-size:max(9px,calc(var(--label-font) - 1px)); }
	.nsw-segment-label img { width:26px; height:26px; }
	#nsw-form > input:not(.nsw-hp) { min-height:46px; font-size:16px; }
	.nsw-overlay .nsw-spin-button,.nsw-overlay .nsw-continue { min-height:48px; font-size:16px; }
}
@media (max-width:480px) {
	.nsw-overlay { padding:10px; place-items:center; }
	.nsw-modal {
		width:min(440px,94vw);
		max-width:100%;
		max-height:calc(100vh - 24px);
		max-height:calc(100dvh - 24px);
		border-radius:20px;
	}
	.nsw-close {
		top:10px;
		right:10px;
		width:44px;
		height:44px;
		min-width:44px;
		min-height:44px;
	}
	.nsw-wheel-pane {
		min-height:auto;
		padding:22px 12px 14px;
		border-radius:20px 20px 0 0;
	}
	.nsw-wheel-pane::before { width:250px; height:250px; box-shadow:0 0 0 14px rgba(255,255,255,.12); }
	.nsw-wheel-stage { width:min(225px,58vw); }
	.nsw-wheel { width:90%; border-width:7px; box-shadow:0 0 0 2px #85672e,0 0 0 4px #f2dfa9,0 12px 22px rgba(19,76,51,.2),inset 0 0 0 2px rgba(255,250,226,.7); }
	.nsw-wheel-hub { width:25%; border-width:3px; box-shadow:0 0 0 2px #165b3e,0 0 0 4px rgba(255,250,235,.9),0 6px 14px rgba(7,54,35,.24); }
	.nsw-pointer { width:36px; height:46px; top:-1px; }
	.nsw-pointer::before { width:16px; height:16px; border-width:2px; }
	.nsw-pointer span { top:9px; width:24px; height:33px; }
	.nsw-segment-label b { font-size:max(8px,calc(var(--label-font) - 2.5px)); }
	.nsw-segment-label img { width:22px; height:22px; padding:2px; }
	.nsw-content-pane { min-width:0; padding:18px 18px 20px; }
	.nsw-content-pane h2 { margin:8px 0 6px; font-size:22px; }
	.nsw-content-pane p { font-size:13.5px; line-height:1.5; margin:6px 0; }
	.nsw-badge { padding:5px 11px; font-size:12px; }
	#nsw-form label:not(.nsw-consent) { margin:9px 0 4px; font-size:12.5px; }
	#nsw-form > input:not(.nsw-hp) { min-height:46px; font-size:16px; padding:9px 12px; border-radius:10px; }
	.nsw-consent { gap:9px; margin:11px 0; font-size:12px; line-height:1.4; }
	.nsw-consent input { width:18px; height:18px; margin-top:2px; flex:0 0 18px; }
	.nsw-overlay .nsw-spin-button,.nsw-overlay .nsw-continue { min-height:46px; font-size:16px; border-radius:11px; }
	.nsw-confetti { font-size:32px; }
	.nsw-prize { margin:10px 0 6px; font-size:23px; }
	.nsw-coupon-wrap { margin:12px 0; padding:10px; }
	.nsw-coupon-wrap div { flex-wrap:wrap; gap:8px; justify-content:center; }
	.nsw-coupon-wrap code { max-width:100%; font-size:18px; overflow-wrap:anywhere; }
	.nsw-coupon-wrap button { min-height:44px; padding:8px 14px; font-size:14px; font-weight:600; }
	.nsw-conditions { font-size:12px; margin-bottom:6px; }
	.nsw-terms { margin:10px 0 0!important; font-size:11.5px!important; }
}
@media (max-width:360px) {
	.nsw-overlay { padding:8px; }
	.nsw-modal {
		width:min(340px,94vw);
		max-width:100%;
		max-height:calc(100vh - 16px);
		max-height:calc(100dvh - 16px);
		border-radius:16px;
	}
	.nsw-close {
		top:8px;
		right:8px;
		width:44px;
		height:44px;
		min-width:44px;
		min-height:44px;
	}
	.nsw-wheel-pane {
		min-height:auto;
		padding:16px 8px 10px;
		border-radius:16px 16px 0 0;
	}
	.nsw-wheel-pane::before { width:200px; height:200px; box-shadow:0 0 0 10px rgba(255,255,255,.12); }
	.nsw-wheel-stage { width:min(180px,52vw); }
	.nsw-wheel { width:90%; border-width:5px; }
	.nsw-wheel-hub { width:25%; border-width:2px; }
	.nsw-pointer { width:30px; height:38px; top:-1px; }
	.nsw-pointer::before { width:13px; height:13px; border-width:2px; }
	.nsw-pointer span { top:7px; width:20px; height:27px; }
	.nsw-segment-label b { font-size:max(7.5px,calc(var(--label-font) - 3.5px)); }
	.nsw-segment-label img { width:18px; height:18px; padding:1.5px; }
	.nsw-content-pane { padding:14px 14px 16px; }
	.nsw-content-pane h2 { font-size:20px; margin:6px 0 5px; }
	.nsw-content-pane p { font-size:12.5px; line-height:1.45; margin:5px 0; }
	#nsw-form label:not(.nsw-consent) { font-size:12px; margin:7px 0 3px; }
	#nsw-form > input:not(.nsw-hp) { min-height:44px; padding:8px 10px; }
	.nsw-overlay .nsw-spin-button,.nsw-overlay .nsw-continue { min-height:44px; font-size:15px; }
	.nsw-prize { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
	.nsw-overlay,.nsw-modal,.nsw-wheel,.nsw-close,.nsw-spin-button,.nsw-continue { transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
