.customer-page.has-campaign{width:min(1320px,calc(100% - 40px))}
.campaign-header-status{display:flex;align-items:center;gap:9px;color:#b9c1d0;font-size:12px;font-weight:650;letter-spacing:.02em}.campaign-header-status span{width:8px;height:8px;border-radius:50%;background:#54d690;box-shadow:0 0 0 5px rgba(84,214,144,.12)}
.wheel-experience{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:44px;align-items:center;min-height:calc(100vh - 84px);padding:44px 0 64px}.wheel-column{min-width:0}.campaign-copy{max-width:650px;margin:0 auto 22px;text-align:center}.campaign-copy h1{font-size:clamp(30px,4.4vw,52px);line-height:1.04;letter-spacing:-.045em;margin:10px 0 12px;font-weight:700}.campaign-copy p{margin:0 auto;color:var(--c-muted);max-width:610px;line-height:1.65;font-size:14px}
.wheel-frame{position:relative;width:min(650px,100%);aspect-ratio:1;margin:auto;display:grid;place-items:center;isolation:isolate}.wheel-glow{position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle,rgba(241,212,138,.2),rgba(215,174,88,.06) 44%,transparent 72%);filter:blur(24px);z-index:-2}.wheel-frame:before{content:"";position:absolute;inset:4.8%;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 8px rgba(255,255,255,.025),0 30px 90px rgba(0,0,0,.5);z-index:-1}.wheel-rotor{position:relative;width:88%;height:88%;border-radius:50%;will-change:transform;transition:transform 7.2s cubic-bezier(.08,.72,.1,1);filter:drop-shadow(0 24px 40px rgba(0,0,0,.35))}.wheel-canvas{display:block;width:100%;height:100%;border-radius:50%;background:#141a26;border:8px solid #cda955;box-shadow:inset 0 0 0 4px rgba(255,255,255,.16),inset 0 0 42px rgba(0,0,0,.48)}.wheel-center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 35% 28%,#fff3bd,#d5aa4f 55%,#9d732b);border:5px solid #fff2bd;box-shadow:0 8px 24px rgba(0,0,0,.42),inset 0 -8px 16px rgba(80,44,0,.2);color:#241806}.wheel-center span{font-size:clamp(7px,1vw,11px);letter-spacing:.18em;font-weight:800}.wheel-center strong{font-size:clamp(13px,2vw,23px);letter-spacing:-.04em}.wheel-pointer{position:absolute;z-index:7;top:1.5%;left:50%;transform:translateX(-50%);width:13%;height:16%;display:grid;place-items:start center;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}.wheel-pointer span{display:block;width:0;height:0;border-left:24px solid transparent;border-right:24px solid transparent;border-top:52px solid #f5d987}.wheel-pointer:before{content:"";position:absolute;top:-4px;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#fff3bd,#bc8d34);border:3px solid #fff0b1}
.member-panel{background:linear-gradient(180deg,rgba(25,31,44,.96),rgba(15,20,31,.98));border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:30px;box-shadow:0 34px 90px rgba(0,0,0,.36);position:relative;overflow:hidden}.member-panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(245,217,135,.65),transparent)}.member-panel-head{margin-bottom:24px}.step-chip{display:inline-flex;padding:7px 10px;border:1px solid rgba(241,212,138,.25);border-radius:999px;background:rgba(241,212,138,.07);color:#ebcc78;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.member-panel h2{font-size:25px;letter-spacing:-.03em;margin:15px 0 8px}.member-panel-head p{font-size:13px;line-height:1.6;color:#929bac;margin:0}.member-form{display:grid;gap:16px}.member-form label{display:grid;gap:8px}.member-form label>span{font-size:12px;font-weight:700;color:#dbe1eb}.member-form input{width:100%;height:50px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#0b101b;color:#fff;padding:0 15px;outline:none;transition:border-color .18s,box-shadow .18s}.member-form input::placeholder{color:#646d7d}.member-form input:focus{border-color:rgba(241,212,138,.65);box-shadow:0 0 0 4px rgba(241,212,138,.08)}.member-form input[readonly]{opacity:.7}.validate-button,.spin-button,.claim-button{border:0;cursor:pointer}.validate-button{height:50px;border-radius:13px;background:#f1f3f7;color:#111827;font-weight:800;transition:transform .18s,opacity .18s}.validate-button:hover{transform:translateY(-1px)}.validate-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.ticket-status{display:flex;gap:12px;align-items:center;margin-top:16px;padding:13px;border:1px solid rgba(84,214,144,.24);border-radius:14px;background:rgba(84,214,144,.07)}.ticket-status-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#54d690;color:#082217;font-weight:900}.ticket-status div:last-child{display:grid;gap:2px}.ticket-status strong{font-size:13px}.ticket-status span{font-size:11px;color:#9eaaaf}.spin-button{width:100%;min-height:64px;margin-top:16px;border-radius:16px;background:linear-gradient(135deg,#f8e2a2,#c99b43);color:#261906;display:grid;place-content:center;gap:2px;font-weight:900;box-shadow:0 16px 30px rgba(204,155,67,.2);transition:transform .18s,filter .18s,opacity .18s}.spin-button span{font-size:16px}.spin-button small{font-size:10px;font-weight:650;opacity:.7}.spin-button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.04)}.spin-button:disabled{filter:grayscale(.75);opacity:.45;cursor:not-allowed;box-shadow:none}.form-message{margin-top:14px;padding:12px 13px;border-radius:12px;font-size:12px;line-height:1.5}.form-message.is-error{background:rgba(248,113,113,.09);border:1px solid rgba(248,113,113,.2);color:#fca5a5}.form-message.is-success{background:rgba(84,214,144,.08);border:1px solid rgba(84,214,144,.18);color:#9be9bc}.prize-preview{margin-top:24px;padding-top:21px;border-top:1px solid rgba(255,255,255,.08)}.prize-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.prize-preview-head strong{font-size:12px}.prize-preview-head span{font-size:10px;color:#7f899a}.prize-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.prize-mini-item{min-width:0;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:11px;padding:8px;text-align:center}.prize-mini-item img,.prize-mini-item>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;object-fit:contain;margin:0 auto 6px;background:rgba(255,255,255,.06);color:#e7cb78;font-weight:800}.prize-mini-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;color:#a7afbe}
.result-modal[hidden]{display:none}.result-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}.result-backdrop{position:absolute;inset:0;border:0;background:rgba(2,5,11,.82);backdrop-filter:blur(12px)}.result-card{position:relative;z-index:1;width:min(540px,100%);max-height:90vh;overflow:auto;text-align:center;background:linear-gradient(180deg,#171d2a,#0d121d);border:1px solid rgba(255,255,255,.12);border-radius:26px;padding:38px 32px 28px;box-shadow:0 40px 120px rgba(0,0,0,.65)}.result-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(241,212,138,.18),transparent 38%);pointer-events:none}.result-close{position:absolute;right:15px;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#fff;font-size:22px;cursor:pointer}.result-kicker{position:relative;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:#edcf79}.result-card h2{position:relative;margin:12px 0 5px;font-size:30px;letter-spacing:-.035em}.result-prize{position:relative;font-size:clamp(32px,7vw,52px);line-height:1.05;font-weight:850;letter-spacing:-.05em;color:#f8dfa0;margin:10px 0 24px}.result-meta{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;margin:0 0 20px}.result-meta div{padding:12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);display:grid;gap:4px}.result-meta span{font-size:9px;color:#798394;text-transform:uppercase;letter-spacing:.08em}.result-meta strong{font-size:11px;overflow-wrap:anywhere}.claim-button{position:relative;width:100%;height:50px;border-radius:14px;background:linear-gradient(135deg,#8df0b4,#42ca7c);color:#062417;font-weight:900;margin-bottom:9px}.result-secondary{position:relative;width:100%;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:#c9d0dc;cursor:pointer}.result-message{position:relative;margin-top:12px;font-size:11px;color:#fca5a5}.result-burst{position:absolute;inset:-30%;background:conic-gradient(from 0deg,transparent,#e5c66f22,transparent,#e5c66f22,transparent);animation:result-spin 16s linear infinite;pointer-events:none}@keyframes result-spin{to{transform:rotate(360deg)}}
.wheel-frame.is-spinning .wheel-pointer{animation:pointer-bounce .14s linear infinite alternate}@keyframes pointer-bounce{from{transform:translateX(-50%) rotate(-3deg)}to{transform:translateX(-50%) rotate(3deg)}}
@media(max-width:1020px){.wheel-experience{grid-template-columns:1fr;gap:26px;padding-top:32px}.wheel-frame{width:min(580px,100%)}.member-panel{width:min(620px,100%);margin:auto}.campaign-copy{margin-bottom:8px}}
@media(max-width:620px){.customer-page.has-campaign{width:calc(100% - 24px)}.campaign-header-status{display:none}.wheel-experience{padding:22px 0 40px;gap:20px}.campaign-copy h1{font-size:31px}.campaign-copy p{font-size:12px}.wheel-frame{width:100%}.wheel-pointer span{border-left-width:16px;border-right-width:16px;border-top-width:36px}.wheel-pointer:before{width:28px;height:28px}.wheel-canvas{border-width:5px}.member-panel{padding:22px 18px;border-radius:21px}.member-panel h2{font-size:22px}.prize-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.result-card{padding:34px 18px 22px;border-radius:22px}.result-meta{grid-template-columns:1fr}.result-prize{font-size:38px}}
