:root{--ink:#1d2735;--muted:#7c8aa0;--dim:#a7b2c2;--line:#eee4d6;--coral:#ff6f5e;--coral2:#ff9166;--mint:#1fc7a0;--mintbg:#e6fbf4;--mintfg:#0c8a6f;--info:#3f7ad6;--infobg:#e8f1ff;--card:#fff;--gold:#f0a93b;--field:#fbf5ec;--bg:#fff7ee;--hair:#f6efe4;--r:20px;--shadow:0 18px 40px -18px #1f2b4a4d;--shadow-hi:0 30px 60px -20px #ff6f5e73}[data-theme=dark]{--ink:#e7edf6;--muted:#97a6bb;--dim:#6a7588;--line:#2a3340;--card:#18212e;--field:#1c2533;--bg:#0f141d;--hair:#232c3a;--mintbg:#10331f;--mintfg:#46d98a;--infobg:#0e2c47;--info:#6aa6f5;--shadow:0 18px 40px -18px #0009;--shadow-hi:0 26px 56px -20px #ff6f5e66}[data-theme=dark] .reward{color:#ffd0a8;background:#2a2018;border-color:#4a3826}[data-theme=dark] .reward b{color:var(--coral2)}[data-theme=dark] .pill.no{color:#ff8b95;background:#3a1620}[data-theme=dark] .pill.wait{color:#ffd98a;background:#3a2e16}[data-theme=dark] .pill.cancel{color:#ffa99c;background:#341f1c}[data-theme=dark] .count{background:var(--field)}[data-theme=dark] .photo{background:linear-gradient(135deg,#2a2330,#221d28)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1c2533 25%,#232c3a 50%,#1c2533 75%) 0 0/400% 100%}[data-theme=dark] .bg-blobs{opacity:.22}*{box-sizing:border-box}html,body{margin:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Noto Sans TC,Segoe UI,Microsoft JhengHei,sans-serif;transition:background .25s,color .25s;overflow-x:hidden}a{color:inherit}.display{font-family:Plus Jakarta Sans,Noto Sans TC,sans-serif}.pagebg{aspect-ratio:450/630;opacity:.6;-webkit-mask-composite:source-in;pointer-events:none;z-index:-1;background:url(../../../storefront-bg.png) 0 0/cover no-repeat;max-width:60vw;height:100vh;position:fixed;top:0;left:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 18%,#0000 82%),linear-gradient(#000 0% 55%,#0000 96%);mask-image:linear-gradient(90deg,#000 0% 18%,#0000 82%),linear-gradient(#000 0% 55%,#0000 96%);-webkit-mask-composite:source-in;mask-composite:intersect}@media (width<=700px){.pagebg{opacity:.32}}.bg-blobs{z-index:0;filter:blur(40px);opacity:.55;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blob{border-radius:50%;position:absolute}.b1{background:radial-gradient(circle,#ffd2b0,#0000 70%);width:480px;height:480px;animation:16s ease-in-out infinite float1;top:-140px;left:-120px}.b2{background:radial-gradient(circle,#c8f3e6,#0000 70%);width:520px;height:520px;animation:20s ease-in-out infinite float2;top:80px;right:-160px}.b3{background:radial-gradient(circle,#ffe6a8,#0000 70%);width:400px;height:400px;animation:24s ease-in-out infinite reverse float1;bottom:-180px;left:30%}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(40px,30px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-50px,40px)}}.wrap{z-index:1;max-width:880px;margin:0 auto;padding:26px 20px 80px;position:relative}.top{align-items:center;gap:14px;margin-bottom:22px;display:flex}.brand{align-items:center;gap:9px;font-family:Plus Jakarta Sans,Noto Sans TC,sans-serif;font-size:20px;font-weight:800;display:flex}.brand .star{font-size:22px;animation:9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.spacer{flex:1}.me{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:11px;padding:7px 14px 7px 7px;display:flex}.ring{background:conic-gradient(var(--mint) calc(var(--p,0) * 1%), #eef1f5 0);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;transition:all .6s;display:grid;position:relative}.ring:before{content:"";background:var(--card);border-radius:50%;position:absolute;inset:4px}.ring b{color:var(--mintfg);font-size:13px;font-weight:800;position:relative}.me .nm{font-size:14px;font-weight:700;line-height:1.1}.me .rl{color:var(--muted);font-size:11px}.linklike{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px}.linklike:hover{color:var(--coral)}.tabs{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.tab{cursor:pointer;background:var(--card);color:var(--muted);border:1px solid #0000;border-color:var(--line);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;transition:all .2s}.tab.on{background:linear-gradient(135deg, var(--coral), var(--coral2));color:#fff;border-color:#0000;box-shadow:0 10px 22px -8px #ff6f5e99}.tab:not(.on):hover{color:var(--ink);transform:translateY(-1px)}.filter{color:var(--muted);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;margin-left:auto;padding:9px 14px;font-size:12.5px}.lead{flex-wrap:wrap;align-items:baseline;gap:10px;margin:18px 2px 14px;display:flex}.lead h1{margin:0;font-family:Plus Jakarta Sans,Noto Sans TC,sans-serif;font-size:23px;font-weight:800}.lead span{color:var(--muted);font-size:13px}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:16px;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-hi);transform:translateY(-6px)}.card.dim{opacity:.62}.card.appliedcard{cursor:pointer}.card.appliedcard:hover{box-shadow:0 22px 46px -16px #3f7ad68c, 0 0 0 1.5px var(--info);transform:translateY(-6px)}.vcta{background:var(--info);color:#fff;opacity:0;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:5px 12px;font-size:11.5px;font-weight:800;text-decoration:none;transition:opacity .25s,transform .25s;display:inline-flex;transform:translate(10px)}.card.appliedcard:hover .vcta,.card.appliedcard:focus-within .vcta{opacity:1;transform:translate(0)}.card.appliedcard:hover .count{opacity:0;transition:opacity .2s}.photo{background:linear-gradient(135deg,#ffe2cc,#ffd0c0);flex:none;width:44%;position:relative}.photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.photo:after{content:"";background:linear-gradient(90deg, transparent 28%, var(--card) 96%);position:absolute;inset:0}.photo .ph-emoji{opacity:.5;place-items:center;font-size:40px;display:grid;position:absolute;inset:0}.photo .corner-tag{z-index:2;color:var(--coral);background:#ffffffeb;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;position:absolute;top:13px;left:14px;box-shadow:0 6px 14px -6px #00000040}.body{flex-direction:column;flex:1;min-width:0;padding:11px 16px 10px;display:flex}.row1{align-items:flex-start;gap:10px;display:flex}.card-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:16.5px;font-weight:800;line-height:1.25;overflow:hidden}.right{text-align:right;flex:none}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:800;display:inline-flex}.pill.ok{background:var(--mintbg);color:var(--mintfg)}.pill.applied{background:var(--infobg);color:var(--info)}.pill.no{color:#ce3e2c;background:#ffece8}.pill.wait{color:#9a6212;background:#fdefd6}.pill.cancel{color:#8a4133;background:#f1e3e0}.pill.done{background:var(--mintbg);color:var(--mintfg)}.dot{background:var(--mint);border-radius:50%;width:7px;height:7px;animation:1.8s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #1fc7a08c}70%{box-shadow:0 0 0 7px #1fc7a000}to{box-shadow:0 0 #1fc7a000}}.date{color:var(--dim);margin-top:6px;font-size:11px}.store{margin-top:5px;font-size:12.5px}.store a{color:var(--info);font-weight:600;text-decoration:none}.store .reg{color:var(--muted)}.reward{color:#b5481f;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(90deg,#fff1e8,#fff7f0);border:1px solid #ffe0cd;border-radius:10px;align-self:flex-start;max-width:100%;margin-top:6px;padding:5px 10px;font-size:13px;font-weight:700;overflow:hidden}.foot .btn{padding:8px 16px;font-size:12px}.reward b{color:var(--coral)}.foot{align-items:center;gap:10px;margin-top:auto;padding-top:8px;display:flex}.count{color:var(--muted);background:var(--hair);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.btn{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--coral), var(--coral2));background-size:200% 100%;border:0;border-radius:12px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:800;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 12px 24px -10px #ff6f5eb3}.btn:hover{background-position:100% 0;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn:after{content:"";background:linear-gradient(120deg,#0000,#ffffff80,#0000);width:40%;height:100%;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.btn:hover:after{animation:.8s shine}@keyframes shine{to{left:130%}}.btn.ghost{background:var(--card);color:var(--coral);border:1px solid var(--line);box-shadow:none}.btn.full{width:100%;padding:13px;font-size:15px}.foot .btn{margin-left:auto}.center-screen{z-index:1;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.auth{background:var(--card);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:24px;padding:30px 28px}.auth h2{margin:6px 0 2px;font-family:Plus Jakarta Sans,Noto Sans TC,sans-serif;font-size:22px}.auth .sub{color:var(--muted);margin-bottom:20px;font-size:13px}.field{margin-bottom:13px}.field label{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field input{border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);border-radius:12px;padding:11px 13px;font-family:inherit;font-size:15px;transition:all .15s}.field input:focus{border-color:var(--coral);background:var(--card);outline:none;box-shadow:0 0 0 4px #ff6f5e1f}.err{color:#ce3e2c;min-height:16px;margin:4px 0 10px;font-size:12.5px}.demos{border-top:1px dashed var(--line);margin-top:18px;padding-top:14px}.demos .lbl{color:var(--dim);margin-bottom:9px;font-size:11.5px}.dtabs{gap:8px;margin-bottom:12px;display:flex}.dtab{border:1px solid var(--line);background:var(--field);color:var(--muted);cursor:pointer;border-radius:11px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:800;transition:all .15s;display:flex}.dtab:hover{border-color:var(--muted)}.dtab .dgi{background:#15100a;border-radius:6px;flex:none;width:20px;height:20px;overflow:hidden}.dtab .dgi img{object-fit:cover;width:100%;height:100%}.dtab .dgn{color:var(--muted);background:var(--card);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.dtab.merchant.on{color:var(--coral);border-color:var(--coral);background:color-mix(in srgb, var(--coral) 12%, transparent)}.dtab.creator.on{color:var(--mintfg);border-color:var(--mintfg);background:color-mix(in srgb, var(--mintfg) 14%, transparent)}.dtab.on .dgn{color:inherit}.dscroll{max-height:300px;padding-right:4px;overflow-y:auto}.demo{text-align:left;background:var(--field);border:1px solid var(--line);border-left:3px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:10px;width:100%;margin-bottom:7px;padding:8px 11px;font-family:inherit;transition:all .15s;display:flex}.demo.merchant{border-left-color:var(--coral)}.demo.creator{border-left-color:var(--mintfg)}.demo:hover{border-color:var(--coral);transform:translate(2px)}.demo.creator:hover{border-color:var(--mintfg)}.avatar{background:#ffe2cc;border-radius:50%;flex:none;width:32px;height:32px;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.badge{background:#15100a;border-radius:24%;overflow:hidden}.avatar.badge img{object-fit:cover;width:100%;height:100%}.demo .dinfo{flex:1;min-width:0}.demo .d-nm{font-size:13px;font-weight:700}.demo .d-rl{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.demo .dx{width:22px;height:22px;color:var(--dim);opacity:.5;border-radius:50%;flex:none;place-items:center;font-size:12px;transition:all .15s;display:grid}.demo:hover .dx{opacity:1}.demo .dx:hover{background:var(--field);color:var(--coral)}.status{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.skeleton{border-radius:var(--r);background:linear-gradient(90deg,#f1e8da 25%,#faf3e8 50%,#f1e8da 75%) 0 0/400% 100%;min-height:150px;margin-bottom:18px;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=560px){.photo{width:38%}.card-title{font-size:15px}.reward{font-size:12.5px}.brand{font-size:17px}.me .nm{font-size:13px}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}::view-transition-old(root){animation:.2s cubic-bezier(.2,.8,.2,1) both vt-out}::view-transition-new(root){animation:.28s cubic-bezier(.2,.8,.2,1) both vt-in}::view-transition-group(nav-pill){animation-duration:.34s;animation-timing-function:cubic-bezier(.2,.9,.2,1)}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}
