:root{--forest:#1a3d2b;--green-deep:#245c38;--green-mid:#3d8f55;--leaf:#5cb87a;--mint:#d8f0e0;--moss:#eef6f0;--gold:#c4982e;--gold-bright:#e0b84a;--gold-soft:#f8efd4;--ink:#1c2a22;--muted:#5a6b60;--cream:#f4faf6;--card:#ffffffeb;--line:#245c381f;--red:#b33a2e;--red-soft:#fceceb;--sky:#3d7a8c;--sky-soft:#e4f2f5;--radius:20px;--shadow:0 18px 50px #1a3d2b1f;--font-display:"Fraunces", Georgia, serif;--font-body:"Figtree", "Noto Sans Bengali", "Noto Sans Devanagari", system-ui, sans-serif;--font-bn:"Noto Sans Bengali", "Figtree", sans-serif;--font-hi:"Noto Sans Devanagari", "Figtree", sans-serif}html[data-lang=bn] body{font-family:var(--font-bn)}html[data-lang=hi] body{font-family:var(--font-hi)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%, #5cb87a47, transparent 55%), radial-gradient(900px 500px at 100% 0%, #e0b84a38, transparent 50%), radial-gradient(800px 500px at 50% 110%, #3d7a8c1f, transparent 45%), linear-gradient(165deg, #e8f5ec 0%, var(--cream) 42%, #f7fbf8 100%);background-attachment:fixed}body:before{content:"";pointer-events:none;opacity:.35;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M36 8c6 8 8 16 6 24-8-2-16 0-24 6 2-10 6-18 18-30zm0 56c-6-8-8-16-6-24 8 2 16 0 24-6-2 10-6 18-18 30z' fill='%23245c38' fill-opacity='0.05'/%3E%3C/g%3E%3C/svg%3E");position:fixed;inset:0}.bn{font-family:var(--font-bn)}.page{z-index:1;max-width:480px;margin:0 auto;padding:28px 18px 56px;animation:.7s both rise;position:relative}.page-wide{max-width:1100px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{0%{background-position:0%}to{background-position:100%}}@keyframes pulse-soft{0%,to{box-shadow:0 0 #3d8f5559}50%{box-shadow:0 0 0 10px #3d8f5500}}.brand{justify-content:center;align-items:center;gap:10px;padding:4px 0 22px;display:flex}.brand-mark{flex-shrink:0;width:34px;height:34px;animation:4.5s ease-in-out infinite floaty}.brand-name{font-family:var(--font-display);color:var(--forest);letter-spacing:.01em;font-size:clamp(1.35rem,4vw,1.7rem);font-weight:700;line-height:1.15}.brand-leaf{display:none}.hero{text-align:center;flex-direction:column;justify-content:center;min-height:calc(100vh - 56px);padding:12px 0 40px;display:flex}.hero-visual{background:linear-gradient(160deg,#1a3d2b8c,#245c3840),radial-gradient(circle at 30% 40%,#5cb87a 0%,#0000 45%),radial-gradient(circle at 75% 60%,#e0b84a 0%,#0000 40%),linear-gradient(135deg,#1a3d2b,#3d8f55 55%,#245c38);border-radius:0 0 36px 36px;height:min(42vh,320px);margin:0 -18px 28px;animation:.9s both rise;position:relative;overflow:hidden}.hero-visual:after{content:"";background:radial-gradient(at 50% 120%,#ffffff2e,#0000 55%) 0 0/cover,url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M80 20c20 24 28 48 20 72-24-6-48 0-72 18 8-30 20-54 52-90z' fill='%23ffffff' fill-opacity='0.07'/%3E%3C/svg%3E") 0 0/120px;position:absolute;inset:0}.hero-brand{font-family:var(--font-display);color:var(--forest);letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(2.4rem,9vw,3.4rem);font-weight:700;line-height:1.05}.hero-line{color:var(--muted);max-width:28ch;margin:0 auto 28px;font-size:1.05rem;line-height:1.55}.hero-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.store-row{width:100%;max-width:320px;margin-top:8px}.store-label{color:var(--forest);margin-bottom:10px;font-size:.92rem;font-weight:600}.store-buttons{flex-direction:column;gap:10px;display:flex}.store-btn{color:#fff;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 8px 22px #1a3d2b2e}.store-btn:hover{transform:translateY(-2px)}.store-android{background:linear-gradient(135deg,#1b4332,#2d6a4f)}.store-ios{background:linear-gradient(135deg,#1c1c1e,#3a3a3c)}.store-btn-icon{flex-shrink:0;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.store-play:before{content:"";border:8px solid #0000;border-left:14px solid;border-right-width:0;width:0;height:0;margin-left:2px}.store-ios .store-btn-icon:before{content:"";background:currentColor;width:18px;height:22px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 15.07 2.94 8.6 5.48 5.4 6.74 3.79 8.54 2.8 10.2 2.78c1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 15.07 2.94 8.6 5.48 5.4 6.74 3.79 8.54 2.8 10.2 2.78c1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z'/%3E%3C/svg%3E") 50%/contain no-repeat}.store-btn-text{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.store-btn-text small{opacity:.85;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.store-btn-text strong{font-size:1.05rem;font-weight:700}@media (min-width:420px){.store-buttons{flex-direction:row}.store-btn{flex:1;min-width:0}}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:28px 24px}.panel-accent{position:relative;overflow:hidden}.panel-accent:before{content:"";background:linear-gradient(90deg, var(--green-deep), var(--leaf), var(--gold-bright));background-size:200% 100%;height:6px;animation:4s linear infinite alternate shimmer;position:absolute;top:0;left:0;right:0}.coupon-hero{text-align:center}.coupon-eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700}.coupon-headline{font-family:var(--font-display);color:var(--forest);margin-bottom:8px;font-size:clamp(1.6rem,5vw,2rem);font-weight:700;line-height:1.3}.coupon-sub{color:var(--muted);margin-bottom:24px;font-size:15px;line-height:1.55}.discount-badge{background:linear-gradient(135deg, var(--green-deep) 0%, var(--green-mid) 55%, #2f9e5a 100%);color:#fff;font-family:var(--font-display);border-radius:18px;margin-bottom:10px;padding:16px 36px;font-size:clamp(2.2rem,8vw,2.8rem);font-weight:700;animation:2.8s ease-in-out infinite pulse-soft;display:inline-block;box-shadow:0 12px 28px #245c3847}.discount-caption{color:var(--muted);margin-bottom:26px;font-size:14px}.code-panel{background:linear-gradient(180deg, var(--mint), #f3fbf5);border:1.5px dashed var(--green-mid);border-radius:16px;margin-bottom:22px;padding:20px}.code-label{letter-spacing:.14em;text-transform:uppercase;color:var(--green-mid);margin-bottom:8px;font-size:11px;font-weight:700}.code-value{font-family:var(--font-display);letter-spacing:.2em;color:var(--forest);font-size:clamp(1.8rem,7vw,2.4rem);font-weight:700}.qr-wrap{justify-content:center;margin:18px 0 4px;display:flex}.qr-wrap img,.qr-wrap svg{border:1px solid var(--line);background:#fff;border-radius:12px;width:148px;height:148px;padding:8px}.meta{color:var(--muted);font-size:14px;line-height:1.7}.meta strong{color:var(--ink)}.map-link{color:var(--green-mid);border-bottom:1px solid #3d8f5559;font-weight:700;text-decoration:none}.map-link:hover{color:var(--forest)}.wa-btn,.btn-secondary{background:linear-gradient(135deg, var(--gold-soft), #fff8e8);color:#7a5a12;cursor:pointer;border:1px solid #e6d19a;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:12px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex}.wa-btn:hover,.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #c4982e33}.state-banner{border-radius:14px;margin-bottom:18px;padding:14px 16px;font-weight:600}.state-banner.bad{background:var(--red-soft);color:var(--red);border:1px solid #b33a2e26}.state-banner.ok{background:var(--mint);color:var(--green-deep);border:1px solid #3d8f5533}h1.section{font-family:var(--font-display);color:var(--forest);margin-bottom:18px;font-size:clamp(1.5rem,4vw,1.85rem);font-weight:700}h2.sub{font-family:var(--font-display);color:var(--forest);margin:26px 0 12px;font-size:1.15rem;font-weight:700}label.field{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:16px 0 6px;font-size:12px;font-weight:700;display:block}input.field,select.field{border:1.5px solid var(--line);width:100%;font-size:16px;font-family:var(--font-body);color:var(--ink);background:#fffffff2;border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s}input.field:focus,select.field:focus{border-color:var(--green-mid);outline:none;box-shadow:0 0 0 4px #3d8f5526}button.primary,a.primary{background:linear-gradient(135deg, var(--forest), var(--green-mid));color:#fff;width:100%;font-size:16px;font-weight:700;font-family:var(--font-body);cursor:pointer;text-align:center;border:none;border-radius:14px;margin-top:22px;padding:15px 18px;text-decoration:none;transition:transform .15s,filter .15s;display:inline-block}button.primary:hover:not(:disabled),a.primary:hover{filter:brightness(1.05);transform:translateY(-1px)}button.primary:disabled{opacity:.55;cursor:default}button.small{background:var(--mint);color:var(--green-deep);font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;border:1px solid #3d8f5540;border-radius:10px;padding:7px 12px;transition:background .15s}button.small:hover{background:#c8e8d2}button.small.gold{background:var(--gold-soft);color:#7a5a17;border-color:#e3cf9e}.result-ok{background:linear-gradient(180deg, var(--mint), #f4fcf6);text-align:center;border:1px solid #3d8f5540;border-radius:16px;margin-top:20px;padding:22px;animation:.4s both rise}.result-ok .big{font-family:var(--font-display);color:var(--forest);font-size:2.1rem;font-weight:700}.result-err{background:var(--red-soft);color:var(--red);text-align:center;border:1px solid #b33a2e1f;border-radius:14px;margin-top:20px;padding:16px;font-weight:600}table.data{border-collapse:collapse;border:1px solid var(--line);background:#ffffffe6;border-radius:14px;width:100%;font-size:14px;overflow:hidden}table.data th{text-align:left;background:linear-gradient(180deg, var(--mint), #e4f3e9);color:var(--forest);letter-spacing:.07em;text-transform:uppercase;padding:12px;font-size:11px;font-weight:700}table.data td{border-top:1px solid #245c3812;padding:12px}table.data td.num,table.data th.num{text-align:right}.tabs{border:1px solid var(--line);background:#ffffff8c;border-radius:14px;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:6px;display:flex}.tabs button{font-size:14px;font-weight:700;font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 18px;transition:background .15s,color .15s}.tabs button:hover{color:var(--forest);background:#245c380f}.tabs button.active{background:linear-gradient(135deg, var(--forest), var(--green-mid));color:#fff}.msg-block{border:1px solid var(--line);white-space:pre-wrap;font-size:13px;font-family:var(--font-bn);background:#ffffffe6;border-radius:14px;margin-bottom:10px;padding:14px 16px;transition:transform .15s,box-shadow .15s}.msg-block:hover{transform:translateY(-1px);box-shadow:0 8px 22px #1a3d2b14}.msg-actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.pill{letter-spacing:.03em;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.pill.delivered{background:var(--gold-soft);color:#7a5a17}.pill.opened{background:var(--sky-soft);color:var(--sky)}.pill.redeemed{background:var(--mint);color:var(--green-deep)}.pill.issued{color:#66756c;background:#eef1ef}.pill.void{background:var(--red-soft);color:var(--red)}.footer-note{text-align:center;color:var(--muted);margin-top:28px;font-size:12px;line-height:1.6}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat{border:1px solid var(--line);text-align:center;background:#ffffffe0;border-radius:16px;padding:18px 14px;transition:transform .18s;box-shadow:0 8px 24px #1a3d2b0f}.stat:hover{transform:translateY(-2px)}.stat .v{font-family:var(--font-display);color:var(--forest);font-size:1.65rem;font-weight:700}.stat .k{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-top:6px;font-size:11px;font-weight:700}.wallet-count{background:var(--mint);color:var(--forest);border-radius:12px;align-items:baseline;gap:6px;margin-bottom:18px;padding:8px 14px;font-weight:700;display:inline-flex}.wallet-count strong{font-family:var(--font-display);font-size:1.5rem}.ux-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 12px;display:grid}.ux-stat{background:var(--moss);border:1px solid var(--line);text-align:center;border-radius:12px;padding:10px 6px}.ux-stat .v{font-family:var(--font-display);color:var(--forest);font-size:1.15rem;font-weight:700}.ux-stat .k{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600}.ux-funnel{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;margin:4px 0 8px;font-size:12px;line-height:1.4;display:flex}.ux-funnel b{color:var(--forest)}.code-row{align-items:stretch;gap:8px;display:flex}.code-row input.field{flex:1;min-width:0}button.small.touch{flex-shrink:0;min-width:88px;min-height:48px;padding:0 12px}.preview-lines{margin:4px 0 0}.preview-row{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.preview-row:last-child{border-bottom:none}.preview-row strong{color:var(--forest)}@media (max-width:480px){.page{padding:20px 14px 48px}.card,.panel{padding:22px 18px}}.lang-switch{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 0 16px;display:flex}.lang-switch.compact{margin:0 0 12px}.lang-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.lang-options{border:1px solid var(--line);background:#ffffffbf;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.lang-options button{color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:700;transition:background .15s,color .15s}.lang-options button:hover{color:var(--forest);background:#245c3814}.lang-options button.active{background:linear-gradient(135deg, var(--forest), var(--green-mid));color:#fff}
