@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-5oMg_0D4.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-CdKZfrg9.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Kufi Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-kufi-arabic-arabic-wght-normal-DivRf2yz.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Kufi Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-kufi-arabic-math-wght-normal-CfONYrds.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0330,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2034-2037,U+2057,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2102,U+210A-210E,U+2110-2112,U+2115,U+2119-211D,U+2124,U+2128,U+212C-212D,U+212F-2131,U+2133-2138,U+213C-2140,U+2145-2149,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B6,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Noto Kufi Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-kufi-arabic-symbols-wght-normal-DD5BxwiP.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8B1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA88,U+1FA90-1FABD,U+1FABF-1FAC5,U+1FACE-1FADB,U+1FAE0-1FAE8,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Noto Kufi Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-kufi-arabic-latin-ext-wght-normal-BDBr5iNL.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Kufi Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-kufi-arabic-latin-wght-normal-Cvjd6-oZ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--forest: #1a4231;--forest-deep: #0b1d15;--forest-soft: #1b392b;--cream: #f3ecdc;--sand-light: #ecd7b2;--sand: #dcc092;--sand-dark: #c4a476;--olive: #6f7d4c;--hill: #234d35;--palm: #17402a;--gold: #e3bb6c;--gold-soft: rgb(227 187 108 / .13);--accent: #ead3a3;--accent-ink: #18291f;--bg: #0d2119;--surface: #132b20;--surface-2: #183427;--ink: #f1eadb;--muted: #a2ae9f;--line: #24442f;--danger: #f08b70;--ok: #7fd09c;--radius: 20px;--shadow: 0 1px 2px rgb(0 0 0 / .25), 0 10px 28px rgb(0 0 0 / .25);--card-shadow: 0 2px 6px rgb(0 0 0 / .3), 0 22px 44px rgb(0 0 0 / .4);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Outfit Variable,Noto Kufi Arabic Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.app{max-width:460px;margin:0 auto;min-height:100dvh}.screen{padding:max(16px,env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.pad{padding:48px 0;display:grid;place-items:center}.error{color:var(--danger);font-size:14px}.ok{color:var(--ok);font-size:14px}.fine{font-size:13px;color:var(--muted);text-align:center}.section-title{font-size:18px;font-weight:600;margin:4px 0 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:16px;border:0;font-weight:600;font-size:16px;white-space:nowrap;cursor:pointer;transition:transform .1s ease,opacity .15s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--forest);color:var(--cream)}.btn.ghost{background:transparent;border:1.5px solid var(--line)}.btn.gold{background:var(--forest);color:var(--cream)}.btn.small{min-height:38px;padding:0 14px;font-size:14px;border-radius:12px}.btn.danger{color:var(--danger)}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);cursor:pointer}.icon-btn.on-color{background:#ffffff1f;border-color:#ffffff2e;color:var(--cream)}.link-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:var(--muted);cursor:pointer}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:14px;font-weight:500;color:var(--muted)}.field input,.phone-input{min-height:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font:inherit;font-size:17px;color:var(--ink);padding:0 16px;outline:none;width:100%}.field input:focus,.phone-input:focus-within{border-color:var(--forest)}.phone-input{display:flex;align-items:center;gap:10px}.phone-input .prefix{font-weight:600;padding-inline-end:10px;border-inline-end:1.5px solid var(--line)}.phone-input input{border:0;padding:0;min-height:0;background:transparent}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:10px}.row>*{flex:1}.login{min-height:100dvh;display:flex;flex-direction:column}.login-hero{position:relative;background:var(--forest);color:var(--cream);padding:calc(56px + env(safe-area-inset-top)) 24px 0;display:flex;flex-direction:column;gap:18px;overflow:hidden}.login-brand{display:flex;align-items:center;gap:14px}.login-brand h1{font-size:40px;font-weight:600;line-height:1}.login-brand p{opacity:.85;margin-top:6px}.login-hero .dunes{margin:8px -24px 0;width:calc(100% + 48px);height:92px}.demo-pill{align-self:flex-start;font-size:12px;padding:4px 10px;border-radius:99px;background:#ffffff1f}.login-panel{flex:1;background:var(--bg);padding:24px 16px calc(24px + env(safe-area-inset-bottom))}.login-panel h2{font-size:24px;font-weight:600}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--forest-soft);border-radius:14px;padding:4px}.segmented button{border:0;background:transparent;min-height:42px;border-radius:11px;font-weight:500;cursor:pointer;color:var(--muted)}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.code-input{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.code-input input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;font-size:16px}.code-input .box{aspect-ratio:.85;display:grid;place-items:center;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font-size:26px;font-weight:600}.code-input:focus-within .box.current{border-color:var(--forest);box-shadow:0 0 0 3px var(--forest-soft)}.dev-code{border:1px dashed var(--line);background:transparent;border-radius:12px;padding:10px;color:var(--muted);font-size:14px;cursor:pointer}.turnstile{min-height:65px}.wafa-card{position:relative;display:flex;flex-direction:column;width:100%;aspect-ratio:1.586;padding:0;border:0;border-radius:22px;overflow:hidden;background:var(--forest);color:var(--cream);box-shadow:var(--card-shadow);text-align:start;cursor:pointer;transition:transform .15s ease}.wafa-card:active{transform:scale(.985)}.wafa-card-top{display:flex;align-items:center;gap:10px;padding:18px 18px 0}.wafa-card-brand{display:flex;flex-direction:column;flex:1}.wafa-card-brand strong{font-size:30px;font-weight:600;line-height:1}.wafa-card-brand span{font-size:13px;opacity:.9;margin-top:4px}.wafa-card-nfc{align-self:flex-start;opacity:.9}.wafa-card .dunes{flex:1;width:100%;min-height:0;margin-top:4px}.wafa-card-bottom{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:10px 18px 16px}.wafa-card-bottom .label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.wafa-card-bottom .value{display:block;font-size:17px;font-weight:500;letter-spacing:.04em;font-variant-numeric:tabular-nums}.card-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:-8px;font-size:13px;color:var(--muted)}.logo{color:var(--cream);flex:none}.dunes{display:block}.dunes .palm{fill:var(--palm);stroke:var(--palm)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.title{font-size:28px;font-weight:600;line-height:1.1}.title.small{font-size:20px}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--cream);font-weight:600;font-size:15px}.avatar.large{width:80px;height:80px;font-size:28px}.ready-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--gold-soft);color:var(--ink);font-size:14px}.ready-banner svg{color:var(--gold);flex:none}.store-list,.reward-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.store-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:transform .1s ease}.store-row:active{transform:scale(.99)}.store-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.store-row-text strong{font-weight:600;font-size:17px}.store-row-text .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-badge{flex:none;display:grid;place-items:center;border-radius:16px;background:hsl(var(--hue) 32% 36%);color:#fffaf0;font-weight:600;letter-spacing:.02em}.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:500;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill.gold{background:var(--gold-soft);color:var(--gold)}.pill.active{background:var(--forest-soft);color:var(--ok)}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-track{fill:none;stroke:var(--line)}.ring-fill{fill:none;stroke:var(--forest);stroke-linecap:round;transition:stroke-dashoffset .6s ease}.ring-label{position:relative;font-size:12px;font-weight:600}.ring-gift{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);flex:none}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:32px 20px;border-radius:var(--radius);border:1.5px dashed var(--line);color:var(--muted)}.empty.compact{padding:20px}.empty strong{color:var(--ink)}.notice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.store-screen{padding-top:0}.store-hero{position:relative;margin:0 -16px;padding:calc(16px + env(safe-area-inset-top)) 16px 0;background:var(--forest);color:var(--cream);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;overflow:hidden}.store-hero .icon-btn{position:absolute;top:calc(16px + env(safe-area-inset-top));inset-inline-start:16px}.store-hero .store-badge{margin-top:28px;box-shadow:0 0 0 4px #ffffff1f}.store-hero h1{font-size:26px;font-weight:600}.store-hero p{opacity:.85;font-size:14px}.store-hero .dunes{width:calc(100% + 32px);margin:4px -16px 0;height:60px}.progress-card,.panel,.active-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px}.progress-card h3,.active-card h3{font-size:20px;font-weight:600}.progress-left{font-size:15px}.stamps{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.stamp{width:36px;height:36px;border-radius:50%;border:2px dashed var(--line);display:grid;place-items:center}.stamp.on{border:0;background:var(--forest);color:var(--cream)}.bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden;margin:4px 0}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--olive),var(--forest));transition:width .6s ease}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.stats>div{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.active-card{border:2px solid var(--ok);background:var(--forest-soft)}.active-card-head{display:flex;justify-content:space-between;align-items:center}.ticket{--notch-x: calc(100% - 126px) ;--notch: 8px;display:flex;align-items:center;border-radius:18px;background:var(--surface);border:1px solid var(--line);position:relative;-webkit-mask:radial-gradient(circle var(--notch) at var(--notch-x) 0,#0000 98%,#000) top / 100% 51% no-repeat,radial-gradient(circle var(--notch) at var(--notch-x) 100%,#0000 98%,#000) bottom / 100% 51% no-repeat;mask:radial-gradient(circle var(--notch) at var(--notch-x) 0,#0000 98%,#000) top / 100% 51% no-repeat,radial-gradient(circle var(--notch) at var(--notch-x) 100%,#0000 98%,#000) bottom / 100% 51% no-repeat}[dir=rtl] .ticket{--notch-x: 126px}.reward-list{gap:12px}.ticket.selected{border-color:var(--ok)}.ticket-main{flex:1;min-width:0;padding:16px;display:flex;flex-direction:column;gap:4px}.ticket-main strong{font-size:17px;font-weight:600}.ticket-meta{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--gold)}.ticket-action{width:126px;flex:none;display:grid;place-items:center;align-self:stretch;border-inline-start:1.5px dashed var(--line)}.selected-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:var(--surface)}.confirm-icon{align-self:center;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold)}.note{font-size:14px;padding:10px 12px;border-radius:12px;background:var(--gold-soft)}.use-note{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:10px;border-radius:14px;background:var(--forest-soft);font-size:14px}.use-note svg{flex:none}.ready-mark{font-size:13px;font-weight:600;color:var(--gold);padding:4px 12px;border-radius:99px;background:var(--gold-soft)}.choice-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.choice{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink)}.choice input{position:absolute;opacity:0;pointer-events:none}.choice.selected{border-color:var(--forest);background:var(--forest-soft)}.choice:has(input:focus-visible){outline:2px solid var(--forest);outline-offset:2px}.choice-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--forest-soft);flex:none}.choice.selected .choice-icon{background:var(--forest);color:var(--cream)}.choice-text{flex:1;display:flex;flex-direction:column;gap:2px}.choice-text strong{font-weight:600;font-size:15px}.choice-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:none}.choice.selected .choice-dot{border:6px solid var(--forest)}.choice-group:disabled .choice{opacity:.6;cursor:default}.fine.left{text-align:start}.panel-title{font-size:17px;font-weight:600}.profile-head{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:8px 0}.profile-head h2{margin-top:8px;font-size:22px;font-weight:600}.sheet{margin:auto auto 0;width:100%;max-width:460px;max-height:92dvh;padding:0;border:0;border-radius:28px 28px 0 0;background:var(--bg);color:var(--ink)}.sheet[open]{animation:sheet-up .25s cubic-bezier(.2,.8,.2,1)}.sheet::backdrop{background:#0a140f80}.sheet-body{position:relative;padding:12px 20px calc(24px + env(safe-area-inset-bottom))}.sheet-grip{display:block;width:40px;height:5px;border-radius:99px;background:var(--line);margin:0 auto 16px}.sheet-close{position:absolute;top:12px;inset-inline-end:16px}@keyframes sheet-up{0%{transform:translateY(100%)}}.card-sheet{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:8px}.card-sheet h2{font-size:24px;font-weight:600}.sheet-back{position:absolute;top:22px;inset-inline-start:20px}.card-options{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:10px}.wallet-btn{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 18px;border-radius:16px;border:0;background:#111;color:#fff;font-weight:600;font-size:16px;cursor:pointer}.wallet-btn:disabled{cursor:default;opacity:.6}.wallet-btn .soon{margin-inline-start:auto;font-size:12px;font-weight:500;padding:2px 8px;border-radius:99px;background:#ffffff2e}.option-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);text-align:start;cursor:pointer}.option-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--forest-soft);flex:none}.option-text{flex:1;display:flex;flex-direction:column}.qr{width:min(72vw,280px);aspect-ratio:1;padding:18px;margin:10px 0;border-radius:24px;background:#fff;box-shadow:0 0 0 6px var(--forest),var(--card-shadow)}.qr svg{display:block;width:100%;height:100%}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--forest);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (min-width: 600px){.app{padding-top:24px}}.btn.primary,.btn.gold{background:var(--accent);color:var(--accent-ink)}.btn.ghost{border-color:var(--line);background:var(--surface)}.field input,.phone-input{background:var(--forest-deep);border-color:var(--line)}.field input:focus,.phone-input:focus-within{border-color:var(--accent)}.panel,.progress-card,.notice,.store-row,.ticket,.option-row{background:linear-gradient(180deg,var(--surface-2),var(--surface));border-color:var(--line)}.screen.with-tabs{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.greeting p{color:var(--muted);font-size:17px}.greeting h1{font-size:32px;font-weight:600;line-height:1.1}.page-head h1{font-size:30px;font-weight:600}.wafa-card{background:radial-gradient(120% 90% at 0% 0%,#285b42,#17402e 45%,#10301f);border:1px solid rgb(255 255 255 / .08)}.wafa-card-bottom>div+div{border-inline-start:1px solid rgb(255 255 255 / .18);padding-inline-start:14px}.wafa-card-bottom .label{text-transform:none;letter-spacing:0;font-size:12px}.skyline{fill:var(--sand-dark)}.skyline .window{fill:#9c7e55}.ready-banner{background:linear-gradient(100deg,#4a3a1d,#3a3019 55%,#2b2a18);border:1px solid rgb(227 187 108 / .25);color:var(--ink);padding:16px}.ready-banner svg{color:var(--accent)}.ready-banner-text{flex:1;display:flex;flex-direction:column;font-size:14px}.ready-banner-text strong{font-size:16px;font-weight:600}.store-badge{background:linear-gradient(160deg,hsl(var(--hue) 40% 42%),hsl(var(--hue) 45% 28%));border-radius:14px}.pill.gold{background:#e3bb6c29;color:var(--gold)}.pill.active{background:#7fd09c24;color:var(--ok)}.ring-fill{stroke:var(--accent)}.avatar{background:#2a5a43;color:var(--cream)}.store-hero{background:radial-gradient(120% 90% at 0% 0%,#285b42,#17402e 60%,#10301f)}.stamp.on{background:var(--accent);color:var(--accent-ink)}.bar span{background:linear-gradient(90deg,var(--olive),var(--accent))}.active-card{background:#7fd09c14}.selected-mark{color:var(--forest-deep)}.ready-mark{background:#e3bb6c29}.use-note{background:var(--surface);border:1px solid var(--line)}.note{background:#e3bb6c1f}.group-head{display:flex;align-items:center;gap:10px;margin:6px 0 10px}.group-head strong{font-weight:600}.day-head{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 0 8px}.activity-list{list-style:none;margin:0;padding:0;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface));overflow:hidden}.activity-list li+li{border-top:1px solid var(--line)}.activity-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.activity-text{flex:1;min-width:0;display:flex;flex-direction:column}.activity-text strong{font-weight:600}.choice{background:var(--forest-deep);border-color:var(--line)}.choice.selected{background:#ead3a30f;border-color:var(--accent)}.choice-icon{background:var(--surface-2)}.choice.selected .choice-icon{background:var(--accent);color:var(--accent-ink)}.choice.selected .choice-dot{border-color:var(--accent)}.login-hero{background:radial-gradient(120% 90% at 0% 0%,#285b42,#17402e 60%,#10301f)}.login-panel{background:transparent}.segmented{background:var(--forest-deep)}.segmented button.active{background:var(--surface-2);color:var(--ink)}.code-input .box{background:var(--forest-deep)}.code-input:focus-within .box.current{border-color:var(--accent);box-shadow:0 0 0 3px #ead3a326}.sheet{background:linear-gradient(180deg,#17352a,#0f251b);border-top:1px solid rgb(255 255 255 / .08)}.sheet::backdrop{background:#030a07a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.card-sheet h2{font-size:26px;line-height:1.2;max-width:300px}.wallet-illus{width:100%;height:clamp(150px,24dvh,210px);margin:8px 0 4px}.wallet-illus-image{display:block;width:100%;height:100%;object-fit:contain}.wallet-btn{justify-content:flex-start;background:var(--surface);color:var(--ink);border:1px solid var(--line);min-height:54px}.wallet-btn>span{flex:1;text-align:start}.wallet-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:4px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.option-icon{background:var(--forest-deep)}.qr{box-shadow:0 0 0 6px var(--accent),var(--card-shadow)}.tabbar{position:fixed;left:50%;bottom:max(10px,calc(env(safe-area-inset-bottom) - 14px));transform:translate(-50%);width:min(100% - 28px,432px);display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;border-radius:999px;background:linear-gradient(180deg,#ffffff1f,#ffffff08 55%,#ffffff0f),#10261c6b;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid rgb(255 255 255 / .12);box-shadow:inset 0 1px .5px #ffffff47,inset 0 -1px 1px #00000040,inset 0 0 12px #ffffff0a,0 12px 32px #00000061,0 2px 6px #0003;z-index:10;isolation:isolate}.tabbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(120% 140% at 20% -40%,rgb(255 255 255 / .16),transparent 55%);pointer-events:none;z-index:-1}.tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;border-radius:999px;font-size:11.5px;font-weight:500;color:#f1eadb9e;transition:color .2s ease,background-color .2s ease}.tab.active{color:var(--accent)}.tab:active{transform:scale(.94)}.tabbar{touch-action:none;-webkit-user-select:none;user-select:none}.tabbar.dragging .tab-lens{transition:transform .08s linear}.tabbar.dragging .tab-lens-body{transform:scale(1.1,1.08);transition:transform .25s cubic-bezier(.3,1.35,.5,1)}.tabbar.dragging .tab:active{transform:none}.tab-lens-body{transition:transform .35s cubic-bezier(.3,1.35,.5,1)}.tab.under{color:var(--accent)}.tab-lens{--dir: 1;position:absolute;top:6px;bottom:6px;inset-inline-start:6px;width:calc((100% - 24px)/4);transform:translate(calc(var(--i) * (100% + 4px) * var(--dir)));transition:transform .5s cubic-bezier(.3,1.35,.5,1);pointer-events:none;z-index:-1}[dir=rtl] .tab-lens{--dir: -1}.tab-lens-body{display:block;height:100%;border-radius:999px;background:linear-gradient(180deg,#ffffff2b,#ffffff0d);box-shadow:inset 0 1px .5px #ffffff52,inset 0 -1px 1px #0000002e,0 2px 8px #0003;animation:lens-squish .5s cubic-bezier(.3,.7,.4,1)}@keyframes lens-squish{0%{transform:scale(1)}30%{transform:scale(1.22,.86);background-color:#ffffff14}65%{transform:scale(.96,1.04)}to{transform:scale(1)}}[dir=rtl] .dir-flip{transform:scaleX(-1)}[dir=rtl] *{letter-spacing:0!important}[dir=rtl] body{line-height:1.6}.login-brand{position:relative}.lang-toggle{position:absolute;top:0;inset-inline-end:0;padding:6px 12px;border-radius:99px;border:1px solid rgb(255 255 255 / .22);background:#ffffff14;color:var(--cream);font-size:14px;cursor:pointer}.join .join-hero{background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--merchant, #285b42) 70%,#1a4231) 0%,transparent 70%),radial-gradient(120% 90% at 0% 0%,#285b42,#17402e 60%,#10301f);padding-top:calc(20px + env(safe-area-inset-top))}.join-top{display:flex;align-items:center;justify-content:space-between}.join-top .lang-toggle{position:static}.join-wafa{display:inline-flex;align-items:center;gap:6px;font-size:14px;opacity:.9}.join-merchant{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin-top:10px}.join-merchant h1{font-size:28px;font-weight:600;line-height:1.2}.join-merchant p{opacity:.85;max-width:300px}.join-logo{width:84px;height:84px;border-radius:24px;object-fit:cover;background:#fff;box-shadow:0 0 0 4px #ffffff24,0 12px 30px #00000059}.join-logo.monogram{display:grid;place-items:center;background:var(--merchant, var(--forest));color:#fffaf0;font-size:30px;font-weight:600}a.btn{text-decoration:none}.member-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:14px;background:#7fd09c1a;color:var(--ok);font-weight:500}.screen>:not(.tabbar),.login>*{animation:screen-in .16s ease-out}@keyframes screen-in{0%{opacity:.35;transform:translateY(4px)}}a,button,.store-row,.tab{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}:root{--vt-ease: cubic-bezier(.32, .72, 0, 1);--vt-time: .42s;--vt-dir: 1}[dir=rtl]{--vt-dir: -1}@supports (view-transition-name: none){.screen>:not(.tabbar),.login>*{animation:none}}:root[data-nav=forward]::view-transition-old(root){animation:vt-drift-out var(--vt-time) var(--vt-ease) both}:root[data-nav=forward]::view-transition-new(root){animation:vt-cover-in var(--vt-time) var(--vt-ease) both}:root[data-nav=back]::view-transition-old(root){animation:vt-cover-out var(--vt-time) var(--vt-ease) both;z-index:1}:root[data-nav=back]::view-transition-new(root){animation:vt-drift-in var(--vt-time) var(--vt-ease) both}:root[data-nav^=tab] .tabbar{view-transition-name:tabbar}:root[data-nav^=tab] .tabbar{-webkit-backdrop-filter:none;backdrop-filter:none}::view-transition-group(tabbar){border-radius:999px;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%)}:root[data-nav=forward] .tabbar,:root[data-nav=back] .tabbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(180deg,#ffffff1f,#ffffff08 55%,#ffffff0f),#11291ff0}::view-transition-group(tabbar),::view-transition-new(tabbar){animation:none}::view-transition-old(tabbar){display:none}:root[data-nav=tab-next]::view-transition-old(root){animation:vt-tab-out var(--vt-time) var(--vt-ease) both;--vt-side: -1}:root[data-nav=tab-next]::view-transition-new(root){animation:vt-tab-in var(--vt-time) var(--vt-ease) both;--vt-side: 1}:root[data-nav=tab-prev]::view-transition-old(root){animation:vt-tab-out var(--vt-time) var(--vt-ease) both;--vt-side: 1}:root[data-nav=tab-prev]::view-transition-new(root){animation:vt-tab-in var(--vt-time) var(--vt-ease) both;--vt-side: -1}@keyframes vt-cover-in{0%{transform:translate(calc(100% * var(--vt-dir)))}}@keyframes vt-cover-out{to{transform:translate(calc(100% * var(--vt-dir)))}}@keyframes vt-drift-out{to{transform:translate(calc(-30% * var(--vt-dir)));filter:brightness(.6)}}@keyframes vt-drift-in{0%{transform:translate(calc(-30% * var(--vt-dir)));filter:brightness(.6)}}@keyframes vt-tab-in{0%{transform:translate(calc(22% * var(--vt-side) * var(--vt-dir)));opacity:0}}@keyframes vt-tab-out{to{transform:translate(calc(22% * var(--vt-side) * var(--vt-dir)));opacity:0}}.sheet-body{touch-action:none}.sheet[open]{animation:sheet-up .42s cubic-bezier(.32,.72,0,1)}.sheet.closing{animation:sheet-down .36s cubic-bezier(.32,.72,0,1) forwards}.sheet::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;animation:backdrop-in .42s ease both}.sheet.closing::backdrop{animation:backdrop-out .36s ease forwards}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes sheet-down{to{transform:translateY(100%)}}.install-sheet{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:8px}.install-sheet h2{font-size:24px;font-weight:600;line-height:1.2}.install-sheet>p{margin-bottom:4px}.install-sheet .btn{width:100%}.install-icon{width:76px;height:76px;border-radius:18px;margin-top:8px;box-shadow:0 10px 28px #00000073,0 0 0 1px #ffffff14}.install-steps{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px;counter-reset:step}.install-steps li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface));counter-increment:step}.install-step-icon{position:relative;width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--forest-soft);color:var(--accent)}.install-step-icon:after{content:counter(step);position:absolute;top:-6px;inset-inline-start:-6px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink, #18291f);font-size:12px;font-weight:600}.install-step-text{display:flex;flex-direction:column;gap:2px}.install-note{width:100%;display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:16px;border:1px solid rgb(227 187 108 / .3);background:#e3bb6c14;box-sizing:border-box}.install-note>svg{flex:none;margin-top:2px;color:var(--accent)}.install-note>span{display:flex;flex-direction:column;gap:4px}.install-hint{position:relative;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface))}.install-hint-main{display:flex;align-items:center;gap:12px;width:100%;padding:14px 48px 14px 14px;padding-inline:14px 48px;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.install-hint-main img{width:40px;height:40px;flex:none;border-radius:10px}.install-hint-text{display:flex;flex-direction:column;gap:1px;font-size:14px}.install-hint-text>span:not(.install-hint-link){color:var(--muted)}.install-hint-link{margin-top:4px;color:var(--accent);font-weight:500}.install-hint-close{position:absolute;top:8px;inset-inline-end:8px;width:32px;height:32px}
