:root{--brand:#89489c;--brand-soft:#a468b6;--brand-deep:#5a2d68;--ink:#170a1c;--plum:#3a1c44;--plum-lift:#5a2d68;--plum-glow:#89489c;--gold:#e9b44c;--gold-hi:#ffe6a3;--gold-deep:#a9761f;--bulb:#fff0c4;--peach:#facdad;--cream:#fff6ee;--mauve:#d7aede;--mute:#a88bb0;--red:#e23b45;--rose:#f79a9a;--mint:#79d3a6;--display:"Fredoka", system-ui, sans-serif;--body:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--script:"Caveat", cursive;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--spin:5.6s;--spin-ease:cubic-bezier(.08, .72, .06, 1);--page:.38s;--wheel-in:.95s;--wheel-ease:cubic-bezier(.18, .85, .25, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.18, 1.5, .4, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--body);-webkit-font-smoothing:antialiased;background:#0e0517;justify-content:center;align-items:center;display:flex}#app{background:radial-gradient(90% 55% at 50% -5%, var(--brand) 0%, transparent 62%), radial-gradient(70% 45% at 100% 30%, #89489c57 0%, transparent 70%), linear-gradient(178deg, var(--plum) 0%, #2b1434 55%, var(--ink) 100%);width:100%;max-width:440px;height:100dvh;max-height:980px;position:relative;overflow:hidden}@media (min-width:520px){#app{border-radius:34px;height:min(92dvh,920px);box-shadow:0 40px 90px #0009}}#app:after{content:"";pointer-events:none;z-index:36;background:radial-gradient(120% 78% at 50% 42%,#0000 55%,#0a03128c 100%);position:absolute;inset:0}#stars{pointer-events:none;position:absolute;inset:0}.star{background:var(--bulb);border-radius:50%;animation:3.4s infinite tw;position:absolute}@keyframes tw{0%,to{opacity:.2;transform:scale(.85)}50%{opacity:.95;transform:scale(1)}}.logo{aspect-ratio:760/78;background:url(/logo.png) 50%/contain no-repeat;width:172px;height:auto;margin:0 auto}.logo.sm{width:124px}.logo.xl{width:min(252px,68vw)}.screen{text-align:center;padding:calc(52px + env(safe-area-inset-top)) 26px calc(22px + env(safe-area-inset-bottom));opacity:0;transition:opacity var(--page) var(--ease-out), transform var(--page) var(--ease-out);flex-direction:column;display:none;position:absolute;inset:0;overflow:hidden auto;transform:translateY(14px)scale(.99)}.screen.on{display:flex}.screen.vis{opacity:1;transform:none}.grow{flex:1;min-height:6px}.eyebrow{font-family:var(--display);letter-spacing:4px;color:var(--gold);font-size:12px;font-weight:600}h1{font-family:var(--display);color:var(--cream);letter-spacing:-.4px;margin:14px 0 0;font-size:31px;font-weight:600;line-height:1.12}h1 em{color:var(--gold-hi);font-style:normal}p{color:var(--mauve);margin:10px 0 0;font-size:14.5px;line-height:1.62}.tiny{color:#8a6a8c;margin-top:8px;font-size:11.5px;line-height:1.5}.gold{color:var(--gold-hi)}.sign{width:100%;margin-top:14px}.pills{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.pill{color:var(--peach);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:99px;padding:6px 11px;font-size:11.5px;font-weight:500}.pill.hot{color:var(--gold-hi);background:linear-gradient(#e9b44c33,#e9b44c0f);border-color:#e9b44c8c}label{text-align:left;color:var(--mute);letter-spacing:.3px;margin-bottom:9px;font-size:12px;font-weight:600;display:block}input{width:100%;color:var(--cream);font-size:17px;font-family:var(--mono);text-align:center;letter-spacing:1px;background:#ffffff0f;border:1.5px solid #ffffff24;border-radius:15px;padding:17px;transition:border-color .2s,background .2s}input::placeholder{color:#8a6a8c;letter-spacing:.5px}input:focus{border-color:var(--gold);background:#ffffff17;outline:none}input.bad{border-color:var(--rose)}input.plain{font-family:var(--body)}.err{color:var(--rose);text-align:left;min-height:18px;margin-top:7px;font-size:12.5px}.btn{width:100%;font-size:16.5px;font-weight:600;font-family:var(--display);cursor:pointer;color:#4a2a10;background:linear-gradient(180deg, var(--gold-hi) 0%, var(--gold) 46%, #d79e31 100%);transition:transform .12s var(--ease-out);border:none;border-radius:99px;margin-top:11px;padding:16px;box-shadow:0 6px 20px #e9b44c47,inset 0 1px #ffffff8c}.btn:active{transform:scale(.975)}.btn.ghost{color:var(--peach);box-shadow:none;background:0 0;border:1.5px solid #ffffff2e}.btn:disabled{opacity:.55;cursor:default}.btn:disabled:active{transform:none}.link{color:var(--gold);font-size:13.5px;font-weight:500;font-family:var(--body);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:10px;text-decoration:underline}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}.reveal{opacity:0;transition:opacity .4s, transform .55s var(--spring);transform:scale(.86)}.vis .reveal{opacity:1;transition-delay:.14s;transform:none}.box{background:linear-gradient(#ffffff14,#ffffff08);border:1.5px dashed #e9b44c99;border-radius:16px;margin-top:16px;padding:16px}.box.solid{border-style:solid;border-color:#ffffff24}.boxlabel{letter-spacing:2.4px;color:var(--mute);font-size:10px;font-weight:600}.code{font-family:var(--mono);color:var(--gold-hi);letter-spacing:1.5px;word-break:break-all;margin-top:6px;font-size:23px;font-weight:600}.copy{color:var(--cream);font-size:12.5px;font-weight:600;font-family:var(--body);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:99px;margin-top:10px;padding:8px 16px}.warn{color:#fbc9bc;background:linear-gradient(#f79a9a2e,#f79a9a14);border:1px solid #f79a9a38;border-radius:13px;margin-top:13px;padding:12px;font-size:12.5px;line-height:1.5}.chip{color:var(--gold-hi);background:#e9b44c21;border:1px solid #e9b44c5c;border-radius:99px;margin-top:12px;padding:8px 15px;font-size:12px;font-weight:600;display:inline-block}.task{text-align:left;width:100%;font-family:var(--body);cursor:pointer;background:linear-gradient(#ffffff12,#ffffff08);border:1px solid #ffffff1f;border-radius:17px;align-items:center;gap:13px;margin-top:10px;padding:14px;transition:border-color .2s,transform .12s;display:flex}.task:active{transform:scale(.985)}.task.done{cursor:default;background:#79d3a617;border-color:#79d3a666}.tico{width:42px;height:42px;color:var(--gold-hi);background:#e9b44c29;border-radius:13px;flex:none;justify-content:center;align-items:center;display:flex}.task.done .tico{color:var(--mint);background:#79d3a62e}.ttxt{flex:1;min-width:0}.ttitle{color:var(--cream);font-size:14.5px;font-weight:600}.tsub{color:var(--mute);margin-top:2px;font-size:11.5px;line-height:1.45}.tplus{font-family:var(--display);color:var(--gold-hi);flex:none;font-size:14px;font-weight:600}.task.done .tplus{color:var(--mint)}.prog{background:#ffffff1a;border-radius:99px;height:7px;margin-top:14px;overflow:hidden}.prog i{background:linear-gradient(90deg, var(--gold), var(--gold-hi));width:0;height:100%;transition:width .6s var(--ease-out);border-radius:99px;display:block}.won{text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:13px;align-items:center;gap:10px;margin-top:8px;padding:11px 13px;display:flex}.won b{color:var(--cream);font-size:13.5px;font-weight:600;display:block}.won span{font-family:var(--mono);color:var(--gold-hi);font-size:11.5px}.won-open{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:0;font-family:inherit}.won-share{width:34px;height:34px;color:var(--peach);cursor:pointer;background:#89489c47;border:1px solid #facdad59;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s;display:flex}.won-share:hover,.won-share:focus-visible{border-color:var(--peach);background:#89489c73}#wheelwrap{transition:transform var(--wheel-in) var(--wheel-ease);filter:drop-shadow(0 -12px 34px #00000080);position:absolute;left:50%;transform:translate(-50%,112%)}#wheelwrap.up{transform:translate(-50%)}#rot{transform-origin:200px 200px;transition:transform var(--spin) var(--spin-ease)}#ptr{z-index:16;opacity:0;filter:drop-shadow(0 6px 12px #0000008c);transition:opacity .4s .5s;position:absolute;left:50%}#ptr.show{opacity:1}#go{z-index:14;cursor:pointer;color:#4a2a10;font-family:var(--display);letter-spacing:.5px;opacity:0;background:radial-gradient(circle at 38% 30%, var(--gold-hi) 0%, var(--gold) 48%, #c08d26 100%);transition:opacity .4s .66s, transform .12s var(--ease-out);border:3px solid #fff0c4e6;border-radius:50%;font-size:16px;font-weight:600;position:absolute;left:50%;box-shadow:0 0 0 8px #e9b44c1a,0 0 34px #e9b44c80,inset 0 2px #ffffff80}#go.show{opacity:1;animation:2.4s ease-in-out infinite pulse}#go:active{transform:scale(.94)}#go:disabled{color:var(--mauve);box-shadow:none;background:#6b4a70;border-color:#8c6d8e;animation:none}@keyframes pulse{0%,to{box-shadow:0 0 0 8px #e9b44c1a,0 0 34px #e9b44c73,inset 0 2px #ffffff80}50%{box-shadow:0 0 0 15px #e9b44c0d,0 0 46px #e9b44cb3,inset 0 2px #ffffff80}}.bulb{animation:1.6s infinite bl}@keyframes bl{0%,49%{opacity:1}50%,to{opacity:.22}}#sound{top:calc(14px + env(safe-area-inset-top));z-index:34;width:38px;height:38px;color:var(--peach);cursor:pointer;background:#ffffff12;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:20px}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e0517db;justify-content:center;align-items:center;padding:26px;display:none;position:absolute;inset:0}.overlay.on{display:flex}.card{background:linear-gradient(180deg, var(--plum-lift), var(--plum));text-align:center;opacity:0;width:100%;transition:transform .55s var(--spring), opacity .3s;border:1px solid #ffffff1f;border-radius:24px;padding:30px 24px;transform:scale(.84);box-shadow:0 24px 60px #00000080}.card.in{opacity:1;transform:scale(1)}.cardtitle{font-family:var(--display);color:var(--cream);margin-top:16px;font-size:20px;font-weight:600}.ring{transform-origin:50%;animation:.9s linear infinite rot}@keyframes rot{to{transform:rotate(360deg)}}.scrim{z-index:58;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out);background:#0e051780;position:absolute;inset:0}.scrim.on{opacity:1;pointer-events:auto}.sheet{z-index:60;text-align:left;background:linear-gradient(180deg, var(--plum-lift), var(--plum) 40%);padding:20px 22px calc(22px + env(safe-area-inset-bottom));transition:transform .5s var(--ease-out);border-top:1px solid #ffffff24;border-radius:26px 26px 0 0;max-height:88%;position:absolute;bottom:0;left:0;right:0;overflow:auto;transform:translateY(102%);box-shadow:0 -20px 50px #00000073}.sheet.up{transform:none}.grab{background:#fff3;border-radius:9px;width:42px;height:4px;margin:0 auto 16px}.sheet h2{font-family:var(--display);color:var(--cream);text-align:center;margin:0;font-size:19px;font-weight:600}.tabs{background:#00000040;border-radius:99px;gap:5px;margin-top:16px;padding:4px;display:flex}.tab{color:var(--mauve);font-size:13px;font-weight:600;font-family:var(--body);cursor:pointer;background:0 0;border:none;border-radius:99px;flex:1;padding:10px}.tab[aria-selected=true]{background:linear-gradient(180deg, var(--gold-hi), var(--gold));color:#4a2a10}.step{margin-bottom:14px}.stepnum{width:21px;height:21px;color:var(--gold-hi);background:#e9b44c2e;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:8px;font-size:11.5px;font-weight:700;display:inline-flex}.steptext{color:var(--cream);font-size:13.5px;line-height:1.5}.steptext b{color:var(--gold-hi);font-weight:600}.shot{color:var(--mute);text-align:center;background:#00000026;border:1.5px dashed #ffffff29;border-radius:12px;margin-top:9px;padding:22px 8px;font-size:11px}.shotimg{background:#fff;border:1px solid #ffffff24;border-radius:12px;width:100%;height:auto;margin-top:9px;display:block}#toast{z-index:80;color:var(--cream);opacity:0;transition:opacity .3s, transform .3s var(--ease-out);pointer-events:none;white-space:nowrap;background:#14081cf2;border:1px solid #e9b44c66;border-radius:99px;padding:11px 20px;font-size:13.5px;font-weight:600;position:absolute;bottom:26px;left:50%;transform:translate(-50%,20px)}#toast.on{opacity:1;transform:translate(-50%)}.confetti{z-index:56;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cfw{animation:2.6s ease-in-out infinite alternate sway;position:absolute;top:-30px}.cf{animation:linear forwards fall}.cf.dot{border-radius:50%}.cf.ribbon{border-radius:40% 40% 6px 6px}.cf.star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}@keyframes fall{to{transform:translateY(112vh)rotate(900deg)}}@keyframes sway{0%{transform:translate(-26px)}to{transform:translate(26px)}}@media (prefers-reduced-motion:reduce){:root{--spin:1.1s;--page:1ms;--wheel-in:1ms}.star,.bulb,#go.show,.cfw,.ring{animation:none}.confetti{display:none}.screen{transform:none}.reveal{transition:opacity .2s;transform:none}.sheet{transition:transform 1ms}.card{transition:opacity .2s;transform:none}#wheelwrap{transition:transform 1ms}}[data-reveal]{opacity:0;will-change:opacity, transform;transform:translateY(18px)}[data-reveal].is-in{opacity:1;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:none}.stagger>*{animation:mp-rise .62s var(--ease-out) both}.stagger>:first-child{animation-delay:20ms}.stagger>:nth-child(2){animation-delay:80ms}.stagger>:nth-child(3){animation-delay:.14s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.26s}.stagger>:nth-child(6){animation-delay:.32s}.stagger>:nth-child(n+7){animation-delay:.38s}@keyframes mp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes mp-float{0%,to{transform:translateY(0)}50%{transform:translateY(15px)}}@keyframes mp-float-up{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes mp-drift{0%,to{transform:translate(0)}50%{transform:translate(-15px)}}@keyframes mp-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes mp-spin{to{transform:rotate(1turn)}}@keyframes mp-ripple{0%{opacity:.45;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}.float{animation:3s ease-in-out infinite mp-float}.float-up{animation:3s ease-in-out infinite mp-float-up}.float-slow{animation:5s ease-in-out infinite mp-float-up}.drift{animation:3s ease-in-out infinite mp-drift}.pulse{animation:3s ease-in-out infinite mp-pulse}.spin-slow{animation:14s linear infinite mp-spin}.ripple{position:relative}.ripple:after{content:"";border-radius:inherit;border:1px solid var(--peach);pointer-events:none;animation:2.2s ease-out infinite mp-ripple;position:absolute;inset:-2px}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}.stagger>*,.float,.float-up,.float-slow,.drift,.pulse,.spin-slow{animation:none}.ripple:after{display:none}}.welcome-head{color:var(--gold-hi);margin-top:18px;font-size:27px}.sign-wrap,.welcome-go{width:100%}.welcome-go .tiny{margin-top:12px}#nav-open{top:calc(14px + env(safe-area-inset-top));z-index:34;cursor:pointer;background:#ffffff12;border:1px solid #ffffff29;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;padding:0;display:flex;position:absolute;left:20px}#nav-open span{background:var(--peach);width:16px;height:1.6px;transition:transform .25s var(--ease-out);border-radius:2px;display:block}#nav-open[aria-expanded=true] span:first-child{transform:translateY(5.6px)rotate(45deg)}#nav-open[aria-expanded=true] span:nth-child(2){transform:scaleX(0)}#nav-open[aria-expanded=true] span:nth-child(3){transform:translateY(-5.6px)rotate(-45deg)}.nav-list{flex-direction:column;gap:8px;margin-top:18px;display:flex}.nav-item{width:100%;color:var(--cream);font-family:var(--display);text-align:left;cursor:pointer;animation:mp-rise .4s var(--ease-out) both;background:linear-gradient(#ffffff12,#ffffff08);border:1px solid #ffffff1f;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;font-size:15.5px;font-weight:500;transition:border-color .2s,background .2s;display:flex}.nav-item:hover,.nav-item:focus-visible{background:linear-gradient(#89489c66,#89489c29);border-color:#facdad80}.nav-item svg{color:var(--peach);flex:none}@media (prefers-reduced-motion:reduce){.nav-item{animation:none}#nav-open span{transition:none}}.rec-list{text-align:left;flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.rec-wrap{animation:mp-rise .45s var(--ease-out) both}.rec-item{background:linear-gradient(#ffffff12,#ffffff08);border:1px solid #ffffff1f;border-radius:16px;overflow:hidden}.rec-item.is-dead{opacity:.55}.rec-open{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:13px 14px 11px;font-family:inherit;display:block}.rec-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rec-spin{font-family:var(--display);letter-spacing:2px;color:var(--gold);text-transform:uppercase;font-size:11.5px;font-weight:600}.rec-exp{color:#8a6a8c;font-size:11px}.rec-name{font-family:var(--display);color:var(--cream);margin-top:4px;font-size:16px;display:block}.rec-code-view{font-family:var(--mono);letter-spacing:1px;color:var(--gold-hi);word-break:break-all;margin-top:8px;font-size:14px;display:block}.rec-contact{color:var(--mauve);margin-top:6px;font-size:13px;display:block}.rec-actions{gap:8px;padding:0 14px 12px;display:flex}.rec-act{color:var(--peach);font-family:var(--body);cursor:pointer;background:#89489c47;border:1px solid #facdad59;border-radius:99px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:12.5px;font-weight:600;transition:background .2s,border-color .2s;display:flex}.rec-act:hover,.rec-act:focus-visible{border-color:var(--peach);background:#89489c73}.rec-share svg{flex:none}.terms{text-align:left;flex-direction:column;gap:8px;margin-top:16px;display:flex}.terms details{animation:mp-rise .4s var(--ease-out) both;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;overflow:hidden}.terms summary{cursor:pointer;font-family:var(--display);color:var(--cream);justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;font-size:14px;font-weight:500;list-style:none;display:flex}.terms summary::-webkit-details-marker{display:none}.terms summary svg{color:var(--peach);transition:transform .25s var(--ease-out);flex:none}.terms details[open] summary svg{transform:rotate(180deg)}.terms details[open] summary{color:var(--gold-hi)}.terms-body{padding:0 14px 14px}.terms-body p{color:var(--mauve);margin:0 0 8px;font-size:13.5px;line-height:1.65}.terms-body p:last-child{margin-bottom:0}.terms-body ul{margin:4px 0 0;padding-left:18px}.terms-body li{color:var(--mauve);margin-bottom:5px;font-size:13px;line-height:1.6}.terms-body strong{color:var(--peach);font-weight:600}@media (prefers-reduced-motion:reduce){.rec-wrap,.terms details{animation:none}.terms summary svg{transition:none}}.share-note{color:var(--peach);background:#89489c38;border:1px solid #facdad47;border-radius:13px;margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.55}
