:root{--bg:#FAFBFD;--surface:#fff;--ink:#1A1640;--text:#3A3760;--muted:#625F88;--rule:#E2E1F5;--primary:#4F46E5;--press:#4338CA;--err:#B42318;--err-bg:#FEF3F2;--gold:#8A5A0B;--gold-bg:#FEF6E0}
@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0B0C1A;--surface:#15162E;--ink:#F0EFFC;--text:#D0CEEB;--muted:#A3A0C6;--rule:#2B2952;--primary:#8C86FF;--press:#A29DFF;--err:#FF8A80;--err-bg:#2A1414;--gold:#F4C14F;--gold-bg:#2B2410}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 "Hind Siliguri","Noto Sans Bengali",Inter,system-ui,sans-serif;padding:24px 16px 48px}
.card{max-width:560px;margin:0 auto;background:var(--surface);border:1px solid var(--rule);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;gap:12px}
h1{color:var(--ink);font-size:26px;line-height:1.3;margin:0}
.eyebrow{font-size:14px;font-weight:600;color:var(--primary);margin:0}
.lead,.help,.secure,.small{color:var(--muted);font-size:15px;margin:0}
form{display:flex;flex-direction:column;gap:6px}
label{font-weight:600;color:var(--ink);margin-top:10px}
.opt{font-weight:400;color:var(--muted)}
input,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;min-height:48px;width:100%}
input[readonly]{opacity:.7}
input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
[aria-invalid="true"]{border-color:var(--err)}
.err{color:var(--err);font-size:14px;margin:2px 0 0}
.top-err{color:var(--err);background:var(--err-bg);border-radius:10px;padding:10px 12px;margin:0}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--text);cursor:pointer}
.check input{width:20px;height:20px;min-height:0;margin-top:4px;flex:none;accent-color:var(--primary)}
.check.small{margin-top:4px;font-size:15px}
button,.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:52px;margin-top:14px;font:700 17px "Hind Siliguri",Inter,sans-serif;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:12px 18px;cursor:pointer;text-decoration:none}
button:active,.btn:active{background:var(--press)}
button:disabled{opacity:.6;cursor:progress}
.busy{display:flex;align-items:center;gap:8px;color:var(--gold);background:var(--gold-bg);border-radius:10px;padding:8px 12px;margin:0}
.spin{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:s .8s linear infinite}
@keyframes s{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.tran code{font-family:ui-monospace,monospace;background:var(--bg);border:1px solid var(--rule);border-radius:6px;padding:2px 6px;user-select:all}
a{color:var(--primary)}
.coupon{margin-top:14px;border-top:1px dashed var(--rule);padding-top:10px}
.linkish{background:none;border:0;color:var(--primary);font:600 15px "Hind Siliguri",Inter,sans-serif;padding:8px 0;min-height:44px;margin:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.c-row{display:flex;gap:8px}
.c-row input{text-transform:uppercase;letter-spacing:.04em;font-family:Inter,sans-serif}
button.ghost{margin-top:0;min-height:48px;white-space:nowrap;background:var(--surface);color:var(--primary);border:1px solid var(--primary);font-size:15px}
.c-msg{margin:6px 0 0;font-size:15px;color:#0B7A6D;background:#E7F8F5;border-radius:10px;padding:8px 12px}
.c-msg.bad{color:var(--err);background:var(--err-bg)}
@media (prefers-color-scheme:dark){.c-msg{color:#40D2BE;background:#0F2B29}}
.next{border-top:1px solid var(--rule);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.next h2{font-size:18px;color:var(--ink);margin:0}
.next ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.ok-mark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#E7F8F5;color:#0B7A6D}
.ok-mark svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
