:root{font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;color:#291c4b;background:#fff7ed;color-scheme:light;--ink:#291c4b;--muted:#675576;--purple:#5d2eaa;--pink:#d50761;--line:#ecdef3;--panel:#fffdfc;--shadow:0 12px 30px #50257d14}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 4% 22%,#ffe3f2,transparent 40%),radial-gradient(ellipse at 100% 16%,#e3e7ff,transparent 42%),#fff8ef}a{color:#6237a2}button,input,textarea,select{font:inherit}button:not(:disabled),summary{cursor:pointer}button:disabled{opacity:.65}button,a,input,textarea,select,summary{outline-offset:3px}*:focus-visible{outline:3px solid #6632bd}.skip{position:absolute;top:-100px;left:12px;z-index:10;background:#fff;padding:10px}.skip:focus{top:8px}
.site-top{background:#fffdfa;border-bottom:1px solid #f0e5f4}.top-inner{max-width:1190px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 25px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-weight:950;text-decoration:none;line-height:1.08}.brand img{display:block;object-fit:contain}.brand small{display:block;margin-top:4px;font-size:.73rem;color:var(--muted);font-weight:690}.site-top nav{display:flex;gap:4px;align-items:center}.site-top nav a{font-size:.87rem;font-weight:800;color:#65417d;padding:7px 11px;text-decoration:none;border-radius:999px}.site-top nav a:hover{background:#f7eafb}
main{max-width:1190px;margin:auto;padding:20px 25px 48px}footer{text-align:center;color:#675577;font-size:.78rem;font-weight:700;padding:11px 14px max(23px,env(safe-area-inset-bottom))}footer span{color:#bd2879}.loading{text-align:center;padding:50px}.tag{display:inline-flex;gap:5px;align-items:center;border-radius:999px;background:#eee2ff;color:#5e269c;font-weight:950;letter-spacing:.075em;padding:6px 11px;font-size:.7rem}.panel{padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);min-width:0}.panel h2{font-size:clamp(1.4rem,3vw,1.8rem);line-height:1.1;letter-spacing:-.032em;margin:0 0 9px}.panel h3{margin:14px 0 8px}.panel p,.section-head p,.subtle{color:var(--muted)}.panel p{margin:.5em 0 1em}.panel details summary{font-weight:800;color:#543780}.panel details+details{margin-top:9px}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.account,.admin{display:grid;gap:14px}.account-end{display:flex;justify-content:flex-end}.section-head{margin-bottom:7px}.section-head h1,.welcome h1,.auth-hero h1,.wheel-title h1,.success h1{font-size:clamp(2.15rem,6vw,4.4rem);font-weight:1000;line-height:1.01;letter-spacing:-.052em;margin:.16em 0 .12em}.section-head p{margin:.35em 0 .75em}.section-head h1{font-size:clamp(2.05rem,5vw,3.6rem)}.subtle{font-size:.87rem}
.tabs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:5px;background:#fffdfb;border:1px solid #efdef2;border-radius:16px;box-shadow:0 4px 13px #4f267a09}.tabs a,.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;border:0;min-height:41px;padding:6px 12px;border-radius:12px;text-decoration:none;font-size:.84rem;font-weight:850;color:#64397a;background:transparent}.tabs [aria-pressed=true],.tabs [aria-current=page]{background:#f0e1ff;color:#552297}.tabs a:hover,.tabs button:hover{background:#f7e8fc}
.welcome,.auth-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:30px;border:2px solid #fff;box-shadow:var(--shadow);background:radial-gradient(ellipse at 85% 20%,#fff1ae,transparent 45%),linear-gradient(125deg,#d9efff,#f2e2ff 44%,#ffd0e9 74%,#fff0c5)}.welcome{padding:30px 33% 31px 32px}.welcome h1 span,.auth-hero h1 em,.wheel-title h1 em{color:#ca0b60;font-style:normal}.welcome p,.auth-hero p{color:#523c6e;font-weight:690;margin:.5em 0 1em}.welcome-actions,.line-buttons,.auth-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.welcome-art{position:absolute;right:5%;top:9%;width:min(27%,230px);height:81%;display:grid;place-items:center;z-index:-1}.welcome-art svg{width:70%;filter:drop-shadow(0 13px 9px #a63c7335);transform:rotate(-10deg)}.welcome-art i,.hero-gift span{position:absolute;color:#f7ae13;text-shadow:0 2px #c37316;font-size:2.5rem;font-style:normal}.welcome-art i:first-child{top:8%;left:0}.welcome-art i:last-child{right:0;bottom:12%}
.stats,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));gap:9px}.stat{display:flex;align-items:center;gap:9px;padding:11px 13px;min-width:0;background:#fff3d8;border:1px solid #f2e0b8;border-radius:15px}.stat:nth-child(3n+2){background:#f1e9ff;border-color:#e9dbfb}.stat:nth-child(3n){background:#ffe7f3;border-color:#f5d4e8}.stat i{font-style:normal;font-size:1.47rem}.stat strong{display:block;font-size:1.45rem;line-height:1.08;letter-spacing:-.04em}.stat span,small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.stats+.progress,.stats+.panel{margin-top:13px}.progress{margin:10px 0 15px}.progress label{color:#5b3f79}.progress progress{display:block;width:100%;height:17px;border:0;accent-color:#a849cf}.progress progress::-webkit-progress-bar{background:#f5e9fc;border-radius:12px}.progress progress::-webkit-progress-value{background:linear-gradient(90deg,#8e46d7,#e3318b);border-radius:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:8px 14px;border-radius:999px;font-weight:870;line-height:1.14;text-decoration:none;text-align:center;border:1px solid transparent}.primary{color:#fff;background:linear-gradient(#f02d80,#c80657);border-color:#b70a50;box-shadow:0 3px 0 #a50c4c}.primary:hover:not(:disabled){filter:brightness(1.08)}.secondary{background:#f0e4ff;border-color:#e4d2f4;color:#5d2da1}.quiet{background:#fff;border-color:#eadcf2;color:#6d3f82}.quiet:hover,.secondary:hover{background:#f6e7ff}.inline{border:0;background:none;color:#6731aa;text-decoration:underline;padding:0}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(300px,1fr);gap:16px;margin:20px auto;align-items:stretch}.auth-hero{padding:30px 30px 19px;min-height:490px}.auth-hero h1{font-size:clamp(2.6rem,6vw,4.4rem)}.hero-gift{width:min(240px,80%);height:200px;margin:0 auto;position:relative;display:grid;place-items:center}.hero-gift svg{height:86%;transform:rotate(-9deg);filter:drop-shadow(0 9px 7px #a82c6434)}.hero-gift span:nth-child(2){left:0;top:9%}.hero-gift span:nth-child(3){right:2%;bottom:12%}.auth-perks{display:flex;flex-wrap:wrap;gap:5px}.auth-perks span{font-weight:850;font-size:.75rem;background:#fff9;padding:6px 8px;border-radius:12px}.auth-card{padding:25px}.auth-card h2{font-size:clamp(1.65rem,4vw,2.5rem);margin:.6em 0 .1em}.auth-card form .primary,.admin-login form .primary{width:100%;margin-top:7px}.auth-actions{margin:16px 0 10px}.auth-actions .button{font-size:.78rem}.admin-login{max-width:490px;margin:35px auto}.info,.error{border-radius:12px;border:1px solid #e9d8f6;background:#f9efff;padding:9px 11px;color:#5b3679!important;font-size:.88rem;font-weight:730}.error{border-color:#efb8d2;background:#fff1f7;color:#8e2052!important}.error:empty,#message:empty{display:none}
label{display:grid;gap:4px;color:#4d355e;font-size:.87rem;font-weight:850;margin-bottom:10px}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;min-height:41px;padding:6px 9px;color:#302147;background:white;border:1px solid #dbcbe8;border-radius:9px;font-size:1rem}textarea{min-height:80px}.check{display:flex;align-items:flex-start;gap:7px}.check input{width:19px;height:19px;flex:none;margin:0;accent-color:#9d349a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 9px}.order,.coupon,.address,.product-line,.pick-reward{padding:10px 11px;border:1px solid #eee1f4;border-radius:12px;background:#fff9fd;margin:8px 0}.order ul{padding-left:20px;margin:.65em 0;font-size:.89rem}.order .gift-row{color:#6b3495}.order-top,.coupon,.product-line{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.coupon>div{flex:1;min-width:0}.coupon code{display:block;font-size:.75rem;overflow-wrap:anywhere}.pill{background:#f2e6fc;color:#6d3893;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.73rem;font-weight:850}.claim{margin-top:15px}.claim form{margin-top:11px}.reward{border-radius:17px;padding:13px;border:1px solid #ead4f1;background:#ffedf4}.reward.tone-1{background:#fff1d0;border-color:#f2deac}.reward.tone-2{background:#eee7ff;border-color:#e2d6f6}.reward.tone-3{background:#def4ff;border-color:#cce8f3}.reward-icon{font-size:2.3rem;margin-bottom:7px}.reward .pill{display:inline-block}.reward h3{font-size:1rem;margin:9px 0 4px}.reward p{font-size:.8rem;margin:0}.cards{margin:12px 0}.table-scroll{overflow:auto;max-width:100%;margin-top:9px}table{border-collapse:collapse;min-width:100%;font-size:.82rem}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid #efdfef;vertical-align:top}th{color:#69378d;white-space:nowrap}td select{min-width:145px;margin-bottom:5px}td .button,.address .button{font-size:.78rem;min-height:34px;margin:2px;padding:5px 8px}.positive{color:#187144}.negative{color:#a31859}
.product-line label{width:105px;margin:0}.quote{background:#f6ebff;border-radius:12px;padding:8px 11px;margin:12px 0}.quote span,.quote>strong{display:flex;justify-content:space-between;gap:9px;padding:4px 0}.quote>strong{border-top:1px solid #e2ccef;margin-top:4px}.personalize{padding:8px 10px;border-radius:11px;background:#f6ebff}.success{text-align:center;margin:27px auto;max-width:690px}
.wheel-title{text-align:center;margin:13px auto 18px}.wheel-title h1{color:#291464;text-shadow:0 2px #fff,0 5px #d4b4ff55}.wheel-title p{font-weight:720;color:#57456e;margin:.5rem 0 .8rem}.ribbon{display:inline-block;background:#d50a63;color:#fff;border-radius:7px;box-shadow:0 4px 0 #9d175c;padding:7px 13px;font-size:.8rem;font-weight:850;transform:rotate(-1deg)}.wheel-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(245px,1fr);gap:13px;align-items:start}.game{position:relative;isolation:isolate;overflow:hidden;display:grid;justify-items:center;min-width:0;border:2px solid #fff;border-radius:29px;box-shadow:var(--shadow);padding:24px 12px 12px;background:radial-gradient(ellipse at center,#fff6b8,transparent 53%),linear-gradient(155deg,#a9e5ff,#e9dcff 43%,#ffd8ee 76%,#ffedc6)}.game::before,.game::after{content:"";position:absolute;z-index:-1;width:160px;height:47px;border-radius:50%;background:#ffffffbc;box-shadow:28px -17px 0 -4px #ffffffa1,-34px -11px 0 -6px #ffffffb1}.game::before{left:-45px;top:80px}.game::after{right:-35px;bottom:35px}.game-decor{position:absolute;inset:0;z-index:-1;pointer-events:none}.game-decor span,.game-decor i{position:absolute;display:block}.game-decor span{color:#ffb800;font-size:2.5rem;text-shadow:0 2px #ab5817,0 0 9px #fff6b6;animation:twinkle 2.7s infinite alternate ease-in-out}.game-decor span:nth-child(1){left:11%;top:9%}.game-decor span:nth-child(2){right:10%;top:23%}.game-decor span:nth-child(3){left:8%;bottom:20%;color:#ee65a9}.game-decor i{width:clamp(46px,8vw,93px);filter:drop-shadow(0 6px 4px #a9256a38)}.game-decor i:nth-of-type(1){left:4%;top:35%;transform:rotate(-13deg)}.game-decor i:nth-of-type(2){right:4%;bottom:21%;transform:rotate(14deg)}@keyframes twinkle{to{scale:.81;filter:brightness(1.2)}}.sound{position:absolute;z-index:3;right:10px;top:10px;border:1px solid white;background:#fff9;color:#4b2d75;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:850}.stage{position:relative;display:grid;place-items:center;width:min(91%,406px);margin:9px 0 8px;aspect-ratio:1}.stage::before{content:"";position:absolute;inset:4%;border-radius:50%;box-shadow:0 10px 25px #bd773c55,0 0 28px 13px #fff9bbbf}#disk{position:relative;width:100%;will-change:transform}.wheel-svg{width:100%;display:block;filter:drop-shadow(0 2px 0 #d87e16)}.stage text{dominant-baseline:middle;text-anchor:middle;fill:#25114d;font-weight:900}.sector-top{font-size:24px;letter-spacing:-.06em}.sector-sub{font-size:12px}.sector-icon{font-size:21px}.pointer{z-index:2;position:absolute;width:13%;top:-5%;left:43.5%;filter:drop-shadow(0 4px 2px #80164c50)}.hub{position:absolute;z-index:1;width:23%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#fffae6 35%,#ffe87c 63%,#ffb921 65%,#ffdc56 73%);box-shadow:0 4px 9px #65390c65,inset 0 0 0 2px #fffaad;pointer-events:none}.hub svg{width:70%}#confetti{position:absolute;inset:50% auto auto 50%;pointer-events:none;z-index:5}#confetti i{position:absolute;width:10px;height:13px;border-radius:2px}#spin{font-size:1.14rem;padding:9px 17px}#clock{margin:9px 0 0;color:#4b316b;font-size:.85rem;font-weight:870}.win{margin:6px 0 0;padding:6px 10px;background:#fff1fa;border:1px solid #f3c4e2;border-radius:10px;font-weight:840;color:#982265;text-align:center}.win:empty{display:none}
@media(max-width:760px){main{padding:13px 11px 32px}.top-inner{padding:7px 10px;gap:6px}.brand img{width:40px;height:40px}.brand{font-size:.9rem;gap:5px}.brand small{font-size:.65rem}.site-top nav a{padding:7px 5px;font-size:.72rem}.site-top nav{gap:0}.tabs{flex-wrap:nowrap;overflow:auto;justify-content:flex-start}.tabs a,.tabs button{padding:6px 9px;font-size:.76rem;flex:none}.auth-layout,.grid-two,.wheel-grid{grid-template-columns:minmax(0,1fr)}.auth-layout{margin:0 auto}.auth-hero{min-height:0;padding:16px 15px 12px}.auth-hero h1{font-size:clamp(1.9rem,8vw,3.2rem)}.auth-hero p{font-size:.86rem;padding-right:20%}.hero-gift{position:absolute;right:-9px;bottom:15px;width:95px;height:94px;z-index:-1}.hero-gift span{font-size:1.15rem}.auth-perks{padding-right:55px}.auth-card,.panel{padding:13px}.welcome{padding:19px 16% 19px 14px;border-radius:20px}.welcome h1{font-size:2.35rem}.welcome p{font-size:.87rem}.welcome-art{right:0;width:23%}.welcome-art svg{width:87%}.welcome-art i{font-size:1.3rem}.welcome-actions .button{font-size:.82rem;padding:6px 9px}.stats{grid-template-columns:repeat(auto-fit,minmax(min(106px,100%),1fr));gap:5px}.stat{padding:7px 5px;gap:4px}.stat i{font-size:1.02rem}.stat strong{font-size:1.12rem}.stat span{font-size:.68rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.reward{padding:8px}.reward h3{overflow-wrap:anywhere}.wheel-title{margin:12px auto}.wheel-title h1{max-width:15ch;margin:.18em auto}.wheel-title p{font-size:.89rem}.ribbon{font-size:.7rem}.game{padding-top:20px}.game-decor i{width:47px}.game-decor span{font-size:1.9rem}.game-decor i:nth-of-type(1){left:0}.game-decor i:nth-of-type(2){right:0}.coupon .pill{font-size:.67rem}.panel h2{font-size:1.38rem}}
@media(max-width:355px){.brand small{display:none}.site-top nav a{padding-inline:3px}.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wheel-title h1{font-size:1.96rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.site-top nav a{white-space:nowrap}.brand>span{min-width:0}.brand img{flex:none}}

/* The members preview uses the brighter storefront palette and larger artwork. */
:root{--ink:#111b42;--muted:#405171;--purple:#084fc0;--line:#deebfb;--shadow:0 10px 24px #1d60b013;color:var(--ink);background:#f7fbff}
body{background:radial-gradient(ellipse at 7% 15%,#ffe7f6,transparent 34%),radial-gradient(ellipse at 93% 9%,#d9f6ff,transparent 44%),#fafdff}
.site-top,.panel{background:#fff}.site-top{border-bottom-color:#e6eef8}.tag{background:#e6f5ff;color:#0758b4}
.welcome,.auth-hero{background:radial-gradient(ellipse at 94% 12%,#fff3ac,transparent 42%),radial-gradient(ellipse at 72% 103%,#ffd9ec,transparent 49%),linear-gradient(110deg,#e8f9ff,#f5fbff 63%,#daf3ff)}
.welcome p,.auth-hero p,.wheel-title p{color:#304c72}.welcome{min-height:225px;padding-right:39%}.welcome-art{width:38%;max-width:345px;height:113%;top:auto;bottom:-18%;right:4%;display:flex;align-items:flex-end}
.club-art{width:100%;height:auto;object-fit:contain;display:block;filter:drop-shadow(0 7px 6px #2563a41b)}.hero-gift{width:min(420px,100%);height:auto;margin:5px auto 0}.hero-gift .club-art{max-height:270px}
.primary{background:linear-gradient(#ff328e,#e80069);border-color:#dc005f;box-shadow:0 3px 0 #bd0053}.secondary{color:#064bb2;background:#ebf4ff;border-color:#cfe4ff}.tabs [aria-pressed=true],.tabs [aria-current=page]{background:#e5f2ff;color:#064cbb}
.order{background:#f8fbff;border-color:#deebf8}.order-top{justify-content:flex-start;align-items:center;flex-wrap:wrap}.order-top .order-status{margin-left:auto}.order-cover{width:58px;height:60px;border-radius:9px;object-fit:cover;background:#e7f5ff}.order-status.pending{background:#fff1b2;color:#604200}.order-status.complete{background:#d9f9df;color:#155f36}.order-status.cancel{background:#ffe6eb;color:#8b1d3d}.order-filters{display:flex;gap:5px;flex-wrap:wrap}.order-filters .button{font-size:.82rem;min-height:38px}.order-filters [aria-pressed=true]{background:#075ce1;border-color:#075ce1;color:#fff}
.coupon{background:linear-gradient(115deg,#fff2ad,#fff7db 55%,#ffedbb);border-color:#f4d380;border-style:dashed;align-items:center;padding:14px}.coupon:nth-child(even){background:linear-gradient(115deg,#ffe1f4,#fff0fb);border-color:#f3aedc}.coupon>span:first-child{font-size:1.85rem}.coupon code{color:#9b1258;font-weight:900;margin-top:4px}
.account-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.account-shortcuts .button{flex-direction:column;border-radius:14px;min-height:68px;background:#fff;border:1px solid #e1ebfa;box-shadow:0 4px 10px #2753a10b;color:#1a365f}.account-shortcuts span{font-size:1.28rem}
.account-bottom{display:none}.wheel-title h1{color:#08276e}.ribbon{background:#e80670}.game{background:radial-gradient(ellipse at center,#fff7ad,transparent 53%),linear-gradient(145deg,#a2e6ff,#e3f8ff 40%,#ffe0f4 72%,#fff4c9)}.wheel-mascot{position:absolute;left:0;bottom:0;width:24%;max-width:157px}
@media(max-width:760px){
  .site-top nav a{color:#16477b}.welcome{min-height:172px;padding:16px 33% 16px 13px}.welcome h1{font-size:clamp(1.9rem,9vw,2.65rem)}.welcome-art{width:43%;max-width:180px;right:-5%;bottom:-6%}
  .hero-gift{width:125px;height:auto;right:-4px;bottom:3px}.auth-hero h1{max-width:78%}.auth-hero p{padding-right:28%}.auth-perks{padding-right:25%}
  .account>.tabs,html[data-page="wheel"] #app>.tabs{display:none}.account-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.account-shortcuts .button{font-size:.76rem;padding:6px 4px;min-height:62px}
  .account-bottom{position:sticky;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:4px 4px max(4px,env(safe-area-inset-bottom));margin:8px 0 0;background:#fff;border:1px solid #e2ebf9;border-radius:14px;box-shadow:0 -3px 15px #1d60b014}
  .account-bottom a,.account-bottom button{display:grid;place-items:center;align-content:center;gap:1px;min-height:48px;text-align:center;text-decoration:none;color:#15355e;border:0;background:none;border-radius:10px;font-size:.71rem;font-weight:850;padding:2px}.account-bottom span{font-size:1.1rem}.account-bottom [aria-pressed=true],.account-bottom [aria-current=page]{background:#ffe6f3;color:#a00057}
  .wheel-mascot{width:25%;left:-4%;bottom:0}.order-cover{width:45px;height:48px}.order-filters .button{padding:5px 8px}
}
