:root{color-scheme:light;--canvas:#eeeae4;--paper:#fff7ee;--ink:#2d2523;--muted:#877b72;--coral:#f74e45;--coral-light:#ff796b;--line:#ecdfd1;--gold:#e7aa45;--radius:16px;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-synthesis:none}
.access-screen{padding:74px 28px 40px;text-align:center}.access-screen h1{font-size:27px;line-height:1.4}.access-icon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 30px;border:3px solid #ffb598;border-radius:50%;background:#ffe9d9;color:#ed7755;font-size:38px}.access-screen .primary-button{margin-top:30px}.access-screen .lead{max-width:330px;margin:14px auto 0}#country-name{font-size:12px;color:#655a52;overflow-wrap:anywhere}.region-control>span:first-child:not(#country-name){font-size:11px;color:var(--muted)}#pin-request-error,#website-error{text-align:center;margin-top:12px}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 5%,#fffaf3 0%,var(--canvas) 78%);color:var(--ink);min-height:100vh;padding:32px 20px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,select:disabled{cursor:wait}button:disabled{opacity:.65}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #c54b27;outline-offset:4px}button{border:0;background:none}a{color:inherit}h1,h2,p{margin:0}h1:focus{outline:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{position:relative;isolation:isolate;margin:0 auto;max-width:460px;min-height:820px;border-radius:28px;background:var(--paper);box-shadow:0 22px 75px #4d30231a,0 2px 8px #4d302307;overflow:clip;display:flex;flex-direction:column;border:1px solid #fff9f2}
.app-shell::after{content:"";position:absolute;z-index:-1;inset:auto -25% -126px;height:240px;background:linear-gradient(170deg,#ffdac329,#ffc6ae55);border-radius:50% 50% 0 0;transform:rotate(-9deg);pointer-events:none}
.app-header{padding:25px 28px 0}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.6px}.brand-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--coral);color:white;font-size:21px;box-shadow:0 3px 8px #fa514822}.demo-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor}.preferences{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:23px;padding-bottom:19px;border-bottom:1px solid var(--line)}.region-control{position:relative;display:flex;align-items:center;gap:8px;min-width:0;flex:1;max-width:275px}.region-control>svg{width:17px;height:17px;flex-shrink:0;color:#968579}.region-control .chevron{position:absolute;right:0;width:13px;height:13px;pointer-events:none}.region-control select{width:100%;appearance:none;-webkit-appearance:none;border:0;color:#655a52;font-size:12px;outline-offset:3px;background:transparent;padding:4px 19px 4px 0;cursor:pointer;text-overflow:ellipsis}.stepper{margin-top:18px}.stepper ol{display:flex;list-style:none;padding:0;margin:0;gap:9px}.stepper li{position:relative;flex:1;font-size:11px;color:#8e8177;padding-top:11px;white-space:nowrap}.step-line{position:absolute;top:0;left:0;width:100%;height:3px;border-radius:4px;background:#ebdfd2}.step-number{font-size:10px;margin-right:2px;font-variant-numeric:tabular-nums}.stepper li[aria-current]{color:var(--coral);font-weight:700}.stepper li[aria-current] .step-line,.stepper li.is-done .step-line{background:var(--coral)}.stepper li.is-done{color:#b46c52}
main{flex:1}.screen{padding:29px 28px 12px;animation:screen-enter .32s ease both}h1{font-size:29px;line-height:1.3;font-weight:800;letter-spacing:-1.2px}.lead{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px}.reward-screen{text-align:center;padding-top:33px}.reward-amount{display:flex;align-items:baseline;justify-content:center;color:var(--coral);font-size:82px;font-weight:800;line-height:1.05;letter-spacing:-4px;margin-top:23px;font-variant-numeric:tabular-nums;text-shadow:0 4px 0 #fff}.currency-symbol{font-size:41px;letter-spacing:-1px;margin-right:3px}.amount-cents{font-size:43px;letter-spacing:-2px}.currency-caption{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#9d8070;margin-top:9px;letter-spacing:.5px}.currency-caption>span:first-child,.currency-caption>span:last-child{height:1px;background:#e0ac83;width:20px}.reward-art{position:relative;width:calc(100% + 20px);height:260px;margin:0 -10px 7px;overflow:visible}.reward-art img{display:block;width:auto;max-width:100%;height:100%;margin:auto;object-fit:contain;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 91%,transparent),linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect;animation:reward-reveal .8s cubic-bezier(.2,.8,.25,1) both,levitate 4s ease-in-out .8s infinite}.spark{position:absolute;color:#e9b751;pointer-events:none;animation:twinkle 2.7s ease-in-out infinite}.spark-one{font-size:25px;top:24%;left:10%}.spark-two{font-size:35px;top:58%;right:7%;animation-delay:.6s}.spark-three{font-size:14px;top:13%;right:22%;animation-delay:1.2s}.primary-button{width:100%;min-height:54px;padding:15px 22px;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:15px;color:#fff;background:linear-gradient(160deg,var(--coral-light),var(--coral) 80%);box-shadow:0 7px 17px #f4514520,inset 0 1px 0 #ffffff3f;font-size:16px;font-weight:700;line-height:1.5;transition:transform .2s,box-shadow .2s}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px 23px #f4514538}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button>span:last-child:not(:first-child){font-size:19px;font-weight:400}.quiet-copy{font-size:11px;color:#94867a;line-height:1.7;text-align:center;margin:13px 0 0}.text-link{font-size:12px;color:#bd5e40;padding:0;line-height:1.7;text-underline-offset:4px}.text-link:hover{text-decoration:underline}.rules-link{color:#87766a;text-decoration:underline;margin-top:20px;font-size:12px;padding:4px}.app-footer{display:flex;align-items:center;justify-content:center;gap:6px;padding:19px 20px 23px;color:#9f9082;font-size:10px}.footer-dot{width:4px;height:4px;background:#b1a18f;border-radius:50%}
.back-button{display:flex;align-items:center;gap:6px;color:#908074;font-size:11px;margin:-8px 0 16px;padding:4px 0}.back-button>span:first-child{font-size:20px;line-height:1}.form-screen h1{font-size:27px}.form-screen .lead{margin-top:8px}.reward-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#ffeddd;border:1px solid #ffe3ce;border-radius:12px;padding:17px 16px;margin:23px 0 24px}.reward-summary>div{display:flex;align-items:center;gap:8px;font-size:12px;color:#a0765b}.summary-icon{font-size:18px;color:#e9a453}.reward-summary strong{font-size:23px;letter-spacing:-.9px;color:var(--coral);white-space:nowrap}.form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px;font-size:12px;color:#8c7d70}.field{margin-bottom:20px}.field label{display:block;font-size:13px;font-weight:600;margin:0 0 9px;color:#584b43}.field input{width:100%;height:53px;padding:0 15px;border:1px solid #dfd9d3;border-radius:10px;background:#fffefd;color:var(--ink);font-size:14px;transition:border-color .2s,box-shadow .2s;min-width:0}.field input::placeholder{color:#a9a3a0;font-size:13px}.field input:focus{border-color:#ee8a66;box-shadow:0 0 0 3px #fbc3a824;outline:none}.field input[aria-invalid="true"]{border-color:#d33a30;background:#fff8f5}.field-error{display:block;font-size:11px;line-height:1.5;color:#bc352b;margin-top:6px}.field-error:empty{display:none}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-toggle{position:absolute;right:12px;top:0;bottom:0;font-size:11px;padding:0 2px;color:#9a7964}.consent-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px;font-size:10px;line-height:1.8;color:#7d726a;margin-top:23px}.consent-row input{appearance:none;width:16px;height:16px;border:1px solid #bbb0a6;border-radius:4px;background:#fffdfb;margin:0 5px 0 0;flex-shrink:0;cursor:pointer;position:relative}.consent-row input:checked{background:var(--coral);border-color:var(--coral)}.consent-row input:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.consent-row label{cursor:pointer}.inline-link{font-size:inherit;color:#c46749;text-decoration:underline;text-underline-offset:3px;padding:0}.consent-error{margin-top:8px}.form-screen .primary-button{margin-top:24px}.bank-screen .reward-summary{margin:20px 0}.bank-screen .form-toolbar{margin-bottom:16px}.bank-screen .field{margin-bottom:17px}.card-input{font-variant-numeric:tabular-nums;letter-spacing:1px}.demo-notice{display:flex;align-items:flex-start;gap:8px;background:#f8ecdf;padding:11px 12px;border-radius:8px;color:#9c7556;font-size:11px;line-height:1.6}.demo-notice svg{flex-shrink:0;width:15px;height:15px;margin-top:1px}.bank-screen .primary-button{margin-top:20px}
.complete-screen{text-align:center;padding-top:36px}.success-art{position:relative;width:180px;height:132px;margin:0 auto 29px}.success-circle{width:112px;height:112px;border-radius:50%;border:5px solid #ff8674;box-shadow:0 0 0 9px #ffe2d2,inset 0 2px 15px #ffd2c38c;display:grid;place-items:center;margin:10px auto;color:#fb6556;background:#fff4ea;animation:reward-reveal .7s ease both}.success-circle svg{width:64px;height:64px}.success-art>span{position:absolute;left:0;top:25px;font-size:23px;color:#efb175}.success-art>span:last-child{left:auto;right:0;top:85px;font-size:18px}.complete-screen h1{font-size:28px}.receipt{text-align:left;background:#fffcf8;border:1px solid #f1e6da;border-radius:16px;margin:28px 0 22px;padding:0 20px}.receipt>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;font-size:12px;border-bottom:1px solid #eee2d6;line-height:1.5}.receipt>div:last-child{border:0}.receipt dt{color:#8d7f73;flex-shrink:0}.receipt dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.receipt .receipt-amount{color:var(--coral);font-size:25px;letter-spacing:-1px}.pending-status{display:flex;align-items:center;gap:7px;color:#cf8451;font-weight:500!important}.masked-card{font-size:12px;letter-spacing:1px}.completion-note strong{font-size:13px;font-weight:600;color:#826d5f}.completion-note p{font-size:11px;line-height:1.8;color:#a18c7b;margin:7px auto 22px;max-width:290px}.edit-link{margin-top:20px;padding:4px;color:#8b7868}.noscript-note{margin:20px;font-size:14px}
dialog{border:1px solid #f0e1d3;border-radius:22px;background:var(--paper);color:var(--ink);padding:25px;max-width:400px;width:calc(100% - 40px);box-shadow:0 22px 80px #3f211e44;max-height:85dvh;overflow:auto}dialog::backdrop{background:#342a2559;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-header h2{font-size:21px}.dialog-header button{font-size:27px;color:#977b6c;line-height:1;padding:4px}.dialog-header button:focus-visible{border-radius:4px}#dialog-content p{font-size:13px;line-height:1.9;color:#887566;margin:12px 0}dialog .primary-button{margin-top:22px;font-size:14px;min-height:46px}
html[lang="en"] h1{font-size:29px;letter-spacing:-1px}html[lang="en"] .form-screen h1{font-size:27px}html[lang="en"] .consent-row{font-size:11px}html[lang="en"] .lead{font-size:13px}html[lang="en"] .reward-summary>div{font-size:11px}
.password-wrap input::-ms-reveal{display:none}
@keyframes screen-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes reward-reveal{from{opacity:0;transform:translateY(22px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes twinkle{0%,100%{opacity:.5;transform:scale(.85) rotate(-10deg)}50%{opacity:1;transform:scale(1.1) rotate(10deg)}}
@media(min-width:700px){body{padding:35px 20px}.app-shell{min-height:840px}.reward-art{height:278px}.reward-screen{padding-top:35px}}
@media(max-width:499px){body{padding:0;background:var(--paper)}.app-shell{border-radius:0;min-height:100svh;box-shadow:none;border:0;max-width:none}.app-header{padding-top:max(21px,env(safe-area-inset-top))}.app-footer{padding-bottom:max(19px,env(safe-area-inset-bottom))}.reward-screen{padding-top:29px}.reward-art{height:248px}}
@media(max-width:375px){.app-header{padding-left:22px;padding-right:22px}.screen{padding-left:22px;padding-right:22px}h1{font-size:26px}.reward-amount{font-size:74px}.reward-art{height:223px}.region-control{max-width:235px}.brand{font-size:18px}.lead{font-size:12px}.stepper li{font-size:10px}}
.pin-status-dialog{padding:30px 24px 26px;max-width:320px;text-align:center;border-radius:24px}
.pin-status-card{display:flex;flex-direction:column;align-items:center}
.pin-status-spinner-wrap{display:grid;place-items:center;width:64px;height:64px;margin-bottom:18px}
.pin-status-spinner{width:46px;height:46px;border:4px solid #f6ded0;border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}
.pin-status-icon-wrap{display:grid;place-items:center;width:64px;height:64px;margin-bottom:18px}
.pin-status-error-icon{width:56px;height:56px;border-radius:50%;background:#feebe8;color:#e53e3e;font-size:26px;font-weight:bold;display:grid;place-items:center;animation:pop-in .35s cubic-bezier(.175,.885,.32,1.275) both}
.pin-status-dialog h2{font-size:19px;font-weight:700;color:var(--ink);margin:0}
.pin-status-desc{font-size:13px;line-height:1.6;color:#877b72;margin:10px 0 0}
.pin-status-dialog .primary-button{margin-top:20px;font-size:14px;min-height:44px;padding:10px 20px;width:100%}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pop-in{0%{transform:scale(0);opacity:0}80%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
