/* Campaign games: shared identity, readable artwork and responsive controls. */
.campaign-game{--game-accent:#55e6cf;--game-secondary:#a7f56a;--game-background:#091b22;--game-text:#f3fbfa;--accent:var(--game-accent);--accent2:var(--game-secondary);--guest-text:var(--game-text);isolation:isolate;position:relative;overflow:hidden;border-radius:30px!important;border:1px solid color-mix(in srgb,var(--game-text) 16%,transparent)!important;color:var(--game-text)!important;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--game-accent) 18%,transparent),transparent 55%),radial-gradient(ellipse at 100% 65%,color-mix(in srgb,var(--game-secondary) 10%,transparent),transparent 55%),var(--game-background)!important;box-shadow:0 26px 90px #0004;padding:32px!important;width:min(980px,100%)!important}
.campaign-game:before{content:'';position:absolute;inset:0;background-image:linear-gradient(180deg,color-mix(in srgb,var(--game-background) 78%,transparent),color-mix(in srgb,var(--game-background) 94%,transparent)),var(--game-image,none);background-position:center;background-size:cover;z-index:-1;pointer-events:none}
.campaign-game:after{content:'';position:absolute;top:-160px;right:-150px;width:380px;height:380px;border-radius:50%;border:1px solid color-mix(in srgb,var(--game-accent) 22%,transparent);box-shadow:0 0 0 28px color-mix(in srgb,var(--game-accent) 3%,transparent),0 0 0 56px color-mix(in srgb,var(--game-accent) 2%,transparent);z-index:-1;pointer-events:none}
.campaign-hero{width:100%;margin-bottom:22px}.campaign-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px}.game-campaign-logo{width:auto;max-width:150px;height:52px;object-fit:contain}.campaign-badge{border:1px solid color-mix(in srgb,var(--game-accent) 35%,transparent);padding:8px 12px;border-radius:99px;letter-spacing:.12em;font-size:10px;font-weight:900;color:var(--game-accent);background:color-mix(in srgb,var(--game-accent) 7%,transparent)}.campaign-banner{width:100%;max-height:230px;object-fit:contain;display:block;margin-top:20px;border-radius:18px}.campaign-orbit{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.18em;font-weight:850;margin-top:22px;color:var(--game-secondary)}.campaign-orbit:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
.campaign-game>.step-head{margin-bottom:22px}.campaign-game>.step-head .eyebrow{display:none}.campaign-game h2{font-size:clamp(28px,4vw,48px);letter-spacing:-.045em;line-height:1.06;color:var(--game-text)}.campaign-game .muted,.campaign-game p{color:color-mix(in srgb,var(--game-text) 74%,transparent);line-height:1.55}.campaign-game .guest-game-area{gap:22px}.campaign-game .btn.primary{color:#071b24;background:linear-gradient(110deg,var(--game-accent),var(--game-secondary));border:0;box-shadow:0 10px 30px color-mix(in srgb,var(--game-accent) 15%,transparent);border-radius:17px;font-weight:900;min-height:62px;transition:transform .18s,box-shadow .18s}.campaign-game[data-theme=clean] .btn.primary{color:white}.campaign-game .btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px color-mix(in srgb,var(--game-accent) 28%,transparent)}.campaign-game button:focus-visible,.campaign-game a:focus-visible{outline:3px solid var(--game-secondary);outline-offset:4px}.campaign-game .btn.secondary{color:var(--game-text);border-color:color-mix(in srgb,var(--game-text) 16%,transparent);background:color-mix(in srgb,var(--game-text) 5%,var(--game-background))}
.campaign-game .roulette-wrap{width:min(390px,78vw);margin:8px auto 16px}.campaign-game .roulette-wheel{border:10px solid color-mix(in srgb,var(--game-text) 94%,transparent);box-shadow:0 0 0 7px color-mix(in srgb,var(--game-accent) 22%,transparent),0 25px 70px #0005,inset 0 0 0 5px #0002}.campaign-game .roulette-label{display:flex;flex-direction:column;align-items:center;gap:3px;max-height:92px;line-height:1.15}.campaign-game .roulette-center{width:26%;font-size:10px;border:4px solid var(--game-text);background:var(--game-background);color:var(--game-text)}.campaign-wheel-logo{max-width:85%;max-height:70%;object-fit:contain}.campaign-game .roulette-pointer{color:var(--game-secondary);top:-21px}.campaign-game .roulette-label .campaign-item-image{width:35px;height:35px;object-fit:contain;border-radius:8px;background:#fff;padding:2px;text-shadow:none}
.campaign-game .memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.campaign-game .memory-card{aspect-ratio:1;min-height:0;overflow:hidden;border-radius:20px;border:1px solid color-mix(in srgb,var(--game-text) 15%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--game-accent) 14%,var(--game-background)),var(--game-background));color:var(--game-text);box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--game-text) 3%,transparent)}.campaign-game .memory-back{font-size:44px;color:var(--game-accent)}.campaign-card-back{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.campaign-game .memory-face{font-size:clamp(12px,2vw,18px)}.campaign-game .memory-face .campaign-item-image{display:block;width:100%;height:clamp(50px,8vw,100px);object-fit:contain;margin:0 auto 7px}.campaign-game .memory-card.open,.campaign-game .memory-card.matched{background:color-mix(in srgb,var(--game-accent) 15%,var(--game-background));border-color:var(--game-accent)}.campaign-game .memory-card.matched{box-shadow:0 0 0 3px color-mix(in srgb,var(--game-accent) 20%,transparent)}
.campaign-game .scratch-shell{width:min(640px,100%);border-radius:24px;overflow:hidden;box-shadow:0 18px 50px #0004;border:1px solid color-mix(in srgb,var(--game-accent) 35%,transparent)}.campaign-game .scratch-prize{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:color-mix(in srgb,var(--game-accent) 12%,var(--game-background));color:var(--game-text)}.campaign-game .scratch-prize .campaign-item-image{width:150px;max-height:140px;object-fit:contain}.campaign-game .scratch-progress{background:var(--game-background);color:var(--game-text);font-size:11px;letter-spacing:.08em}
.campaign-game .mystery-box{min-height:210px;border-radius:24px;border:1px solid color-mix(in srgb,var(--game-accent) 35%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--game-accent) 15%,var(--game-background)),color-mix(in srgb,var(--game-secondary) 7%,var(--game-background)));color:var(--game-text);box-shadow:inset 0 1px 0 #ffffff18,0 10px 25px #0002;transition:transform .25s,box-shadow .25s}.campaign-game .mystery-box:hover{transform:translateY(-6px);box-shadow:0 16px 35px color-mix(in srgb,var(--game-accent) 12%,transparent)}.campaign-box-image{width:110px;height:110px;object-fit:contain}.campaign-game .mystery-box.open{border-color:var(--game-secondary)}.campaign-game .mystery-lid{display:grid;place-items:center}
.campaign-game .stop-track{border-radius:20px;border:1px solid color-mix(in srgb,var(--game-accent) 40%,transparent);height:155px;background:var(--game-background)}.campaign-game .stop-zones{height:100%}.campaign-game .stop-zones>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px;line-height:1.3;padding:7px;color:var(--game-text);background:color-mix(in srgb,var(--game-accent) 9%,var(--game-background));border-right:1px solid color-mix(in srgb,var(--game-text) 12%,transparent)}.campaign-game .stop-zones>span.jackpot{background:color-mix(in srgb,var(--game-secondary) 25%,var(--game-background))}.campaign-game .stop-zones .campaign-item-image{width:45px;height:45px;object-fit:contain}.campaign-game .stop-pointer{color:var(--game-secondary);filter:drop-shadow(0 0 8px var(--game-secondary))}
.campaign-question-image{width:min(100%,500px);max-height:245px;object-fit:contain;display:block;margin:0 auto 20px;border-radius:18px}.campaign-game #quizQuestion{font-size:clamp(22px,3vw,34px);letter-spacing:-.025em;line-height:1.22;text-align:center}.campaign-game .quiz-option{min-height:92px;display:flex;justify-content:flex-start;text-align:left;gap:14px;border-radius:18px;font-weight:700;padding:16px 20px}.campaign-game .quiz-option .campaign-item-image{width:68px;height:68px;object-fit:contain;border-radius:12px}.campaign-game .quiz-option:disabled{opacity:.8}.campaign-game .game-timer{color:var(--game-text);border-color:color-mix(in srgb,var(--game-accent) 22%,transparent);background:color-mix(in srgb,var(--game-text) 4%,transparent);border-radius:16px}
.campaign-result{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;width:min(600px,100%);margin:22px auto;padding:28px;border:1px solid color-mix(in srgb,var(--game-secondary) 38%,transparent);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--game-accent) 13%,var(--game-background)),var(--game-background));animation:campaign-reveal .5s ease both}.campaign-result-heading{letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--game-secondary);font-size:11px}.campaign-result h3{font-size:clamp(24px,4vw,38px);letter-spacing:-.035em;line-height:1.15;margin:0}.campaign-result p{margin:0}.campaign-result-image{width:min(280px,100%);height:190px;object-fit:contain;border-radius:18px}.campaign-result-symbol{font-size:50px;color:var(--game-accent)}.campaign-game[data-completed=true] .game-result{display:none!important}.campaign-game #gameContinueBtn{width:100%;position:static;margin-top:20px}.campaign-game #gameGuestMsg{text-align:center}
.campaign-admin-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.campaign-admin-preview{align-self:start;position:sticky;top:14px}.campaign-admin-preview>small{letter-spacing:.14em;color:#a7b4c6;font-size:10px}.campaign-admin-preview .campaign-game{padding:23px!important;margin:12px 0;width:100%!important}.campaign-admin-preview .game-campaign-logo{max-width:110px;height:38px}.campaign-admin-preview .campaign-banner{max-height:120px}.campaign-admin-preview h3{font-size:27px;line-height:1.12;letter-spacing:-.04em}.campaign-preview-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:22px 0}.campaign-preview-tile{border:1px solid color-mix(in srgb,var(--game-accent) 25%,transparent);border-radius:14px;background:color-mix(in srgb,var(--game-accent) 8%,transparent);padding:13px 6px;min-width:0;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.campaign-preview-tile img{width:62px;height:62px;object-fit:contain}.campaign-preview-tile>span{font-size:30px;color:var(--game-accent)}.campaign-preview-tile b{font-size:10px;word-break:break-word}.campaign-preview-cta{display:block;text-align:center;background:linear-gradient(110deg,var(--game-accent),var(--game-secondary));color:#071b24;border-radius:12px;padding:14px;font-size:13px;font-weight:900}.campaign-media-manager{margin:28px 0;padding:22px;border-radius:18px;border:1px dashed #ffffff24}.campaign-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:12px}.campaign-media-card{padding:10px;border:1px solid #ffffff18;border-radius:14px;display:flex;flex-direction:column;gap:8px;min-width:0}.campaign-media-card>img{width:100%;height:90px;object-fit:contain;background:#ffffff0a;border-radius:8px}.campaign-media-card>span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-item-editor{display:grid;gap:9px;margin:16px 0 24px}.campaign-item-row{display:grid;grid-template-columns:auto 1fr minmax(130px,240px);gap:12px;align-items:center;background:#ffffff04;border:1px solid #ffffff10;border-radius:13px;padding:11px 14px}.campaign-item-row:not(:has(img)){grid-template-columns:1fr minmax(130px,240px)}.campaign-item-row>img{width:44px;height:44px;object-fit:contain}.campaign-item-row>span{font-size:13px;overflow-wrap:anywhere}.campaign-item-row select{width:100%;min-width:0}.campaign-upload-label{cursor:pointer}
@keyframes campaign-reveal{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.campaign-game{padding:20px!important;border-radius:24px!important;margin:14px auto}.campaign-brand{gap:10px}.campaign-badge{font-size:8px;letter-spacing:.08em;padding:7px 9px}.game-campaign-logo{max-width:120px;height:42px}.campaign-game .memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.campaign-game .memory-card{border-radius:15px}.campaign-game .memory-face .campaign-item-image{height:65px}.campaign-game .quiz-options{grid-template-columns:1fr}.campaign-game .mystery-box{min-height:150px;border-radius:18px}.campaign-box-image{width:80px;height:80px}.campaign-admin-grid{grid-template-columns:1fr}.campaign-admin-preview{position:static}.campaign-item-row,.campaign-item-row:not(:has(img)){grid-template-columns:auto 1fr}.campaign-item-row select{grid-column:1/-1}.campaign-game .stop-zones>span{font-size:10px;padding:4px}.campaign-game .roulette-wrap{width:min(350px,77vw)}.campaign-result{padding:22px}.campaign-banner{max-height:180px}}
@media(prefers-reduced-motion:reduce){.campaign-game *{animation:none!important;transition:none!important}}
.campaign-game[data-motion=false] *{animation:none!important;transition:none!important}

.campaign-game[data-theme=clean] .campaign-preview-cta{color:white}

.campaign-game[data-logo-surface=light] .game-campaign-logo{background:#fff;border-radius:12px;padding:8px}.campaign-game[data-logo-surface=dark] .game-campaign-logo{background:#102a35;border-radius:12px;padding:8px}
