/* Approved machine geometry; phone size includes its padding and border. */
.mission-machine{--reel-height:200px;position:relative;box-sizing:border-box;width:620px;max-width:100%;border-radius:36px;background:#172440;border:2px solid #2f4178;padding:18px 22px 24px;box-shadow:0 30px 60px #0006;color:#eef4ff;font-family:var(--rv-font-body,'DM Sans',sans-serif)}
.mission-machine *{box-sizing:border-box}.mission-machine [hidden]{display:none!important}
.mission-bulbs{display:flex;justify-content:space-between;padding:0 14px;direction:ltr}.mission-bulbs i{height:7px;width:7px;border-radius:50%;background:#4a5a86;animation:mission-chase 1.2s linear infinite;animation-delay:calc(var(--bulb)*-.09s)}.is-spinning .mission-bulbs i{animation-duration:.24s}
.mission-wordmark{text-align:center;margin:14px 0;font:800 18px var(--rv-font-display,'Bricolage Grotesque',sans-serif);letter-spacing:.34em;color:#ffdb59;text-transform:uppercase}
.mission-reels{position:relative;background:#0a1128;border-radius:24px;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;box-shadow:inset 0 3px 12px #0009;direction:ltr}
.mission-column{display:flex;flex-direction:column;gap:8px;min-width:0}.mission-reel-label{text-align:center;font-size:11px;font-weight:800;letter-spacing:.2em;color:#8fa0c9;text-transform:uppercase}
.mission-window{position:relative;height:var(--reel-height);border-radius:18px;background:#fff9e9;color:#0b1030;overflow:hidden;box-shadow:inset 0 18px 18px -12px #0b103059,inset 0 -18px 18px -12px #0b103059}
.mission-reel-item{height:var(--reel-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:4px;overflow-wrap:anywhere}
.mission-reel-item img{width:140px;max-width:100%;height:80px;object-fit:cover;border-radius:12px;background:#0b1030}.mission-reel-item b{font:800 22px/1.1 var(--rv-font-display,'Bricolage Grotesque',sans-serif)}
.mission-mode-icon{width:76px;height:76px;border-radius:50%;background:#0b1030;color:#c4fa72;display:grid;place-items:center;font-size:38px}.mission-goal-number{font:800 54px/1 var(--rv-font-display,'Bricolage Grotesque',sans-serif)}.mission-goal-unit{font-size:15px;font-weight:700;color:#34457a}
.mission-payline{pointer-events:none;position:absolute;left:8px;right:8px;top:calc(50% + 11px);height:2px;background:#c4fa72;box-shadow:0 0 12px #c4fa7288;opacity:.75}.mission-payline:before,.mission-payline:after{content:'';position:absolute;top:-5px;border-top:6px solid transparent;border-bottom:6px solid transparent}.mission-payline:before{left:-5px;border-left:8px solid #c4fa72}.mission-payline:after{right:-5px;border-right:8px solid #c4fa72}
.mission-lever{position:absolute;right:-26px;top:110px;width:44px;height:220px;padding:0;border:0;background:transparent;cursor:pointer}.mission-lever-track{position:absolute;left:13px;top:30px;width:14px;height:180px;border-radius:7px;background:#0a1128;border:1px solid #34457a}.mission-lever-knob{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffd0c5,#ff8275 60%,#c9574c);box-shadow:0 4px 0 #873c36}
.mission-spin{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:76px;margin-top:22px;border:1px solid #ffb6a9;border-radius:38px;background:#ff8275;color:#0b1030;box-shadow:0 7px 0 #c9574c;font:800 30px var(--rv-font-display,'Bricolage Grotesque',sans-serif);text-transform:uppercase;cursor:pointer}.mission-spin:before{content:'⟳';font-size:32px}.mission-spin:disabled{opacity:1;cursor:wait}
.mission-bonus{display:none}.mission-result{margin-top:16px;border-radius:24px;background:#fff9e9;color:#0b1030;padding:18px 20px;display:flex;gap:18px;align-items:center;animation:mission-rise .35s ease-out both}.mission-result-copy{flex:1;min-width:0}.mission-result-heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mission-badge{padding:4px 10px;border-radius:999px;background:#0b1030;color:#c4fa72;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mission-result-game{font-size:12px;color:#6a5d3b;font-weight:700}.mission-sentence{font-size:18px;font-weight:700;line-height:1.3;margin:8px 0}.mission-bank{font-size:13px;color:#6a5d3b;margin:0}.mission-result-actions{display:flex;flex-direction:column;gap:8px;width:190px;flex:none}.mission-result-actions button{min-height:44px;border:0;border-radius:26px;color:#0b1030;font:800 15px/1.2 var(--rv-font-body,'DM Sans',sans-serif);padding:10px;cursor:pointer}.mission-result-actions .mission-play{min-height:52px;background:#ffdb59;animation:mission-glow 1.2s ease-out infinite}.mission-again{background:#ff8275;box-shadow:0 3px 0 #c9574c}.mission-keep{background:#fff;border:1px solid #dacc9e!important}
.mission-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:2147483646}.mission-flash{position:absolute;inset:0;border-radius:inherit;background:#fff;pointer-events:none;opacity:0;animation:mission-flash .5s ease-out both}.mission-strip{position:absolute;inset:0 0 auto;animation:mission-strip var(--speed) linear infinite;filter:blur(.8px)}.mission-strip .mission-reel-item{height:calc(var(--reel-height)/2);gap:4px}.mission-strip img{width:110px;height:62px}.mission-strip b{font-size:13px}.mission-strip .mission-mode-icon{display:none}.mission-strip .mission-goal-number{font-size:38px}.mission-land{animation:mission-land .36s ease-out}.is-spinning .mission-lever-knob{animation:mission-lever .75s ease-out}.is-spinning .mission-payline{animation:mission-payline .2s alternate infinite}
.mission-machine[data-context=overlay]{width:640px;--reel-height:190px}
@keyframes mission-chase{0%,49%{background:#ffdb59;box-shadow:0 0 8px #ffdb59}50%,100%{background:#4a5a86;box-shadow:none}}@keyframes mission-strip{to{transform:translateY(calc(var(--reel-height)*-3))}}@keyframes mission-land{0%{transform:translateY(-22px)}55%{transform:translateY(7px)}80%{transform:translateY(-2px)}100%{transform:none}}@keyframes mission-lever{35%{transform:translateY(96px)}55%{transform:translateY(88px)}}@keyframes mission-rise{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@keyframes mission-flash{0%{opacity:0}25%{opacity:.55}100%{opacity:0}}@keyframes mission-glow{from{box-shadow:0 5px 0 #d3a238,0 0 0 0 #ffdb598c}to{box-shadow:0 5px 0 #d3a238,0 0 0 14px #ffdb5900}}@keyframes mission-payline{from{opacity:.5}to{opacity:1}}
@media(max-width:799px){.mission-machine,.mission-machine[data-context=overlay]{--reel-height:136px;width:358px;border-radius:30px;padding:12px 14px 18px}.mission-bulbs{padding:0 10px}.mission-bulbs i:nth-child(n+14){display:none}.mission-wordmark{margin:10px 0;font-size:14px;letter-spacing:.3em}.mission-reels{border-radius:20px;padding:10px 10px 12px;gap:8px}.mission-column{gap:6px}.mission-reel-label{font-size:10px;letter-spacing:.18em}.mission-window{border-radius:14px}.mission-reel-item{gap:8px}.mission-reel-item img{width:86px;height:50px;border-radius:9px}.mission-reel-item b{font-size:15px}.mission-mode-icon{width:50px;height:50px;font-size:26px}.mission-goal-number{font-size:36px}.mission-goal-unit{font-size:12px}.mission-lever{right:-16px;top:92px;width:26px;height:150px;pointer-events:none}.mission-lever-track{left:8px;top:20px;width:10px;height:120px}.mission-lever-knob{width:26px;height:26px}.mission-spin{height:64px;margin-top:18px;font-size:24px}.mission-bonus{display:block;margin:14px 0 0;text-align:center;color:#c4fa72;font-size:13px;font-weight:700}.mission-result{margin-top:14px;border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.mission-sentence{font-size:17px;margin:10px 0 0}.mission-bank{display:none}.mission-result-actions{width:100%;flex-direction:row;flex-wrap:wrap}.mission-result-actions>*{flex:1}.mission-result-actions .mission-keep{flex-basis:100%;order:3}.mission-strip img{width:70px;height:40px}.mission-strip b{font-size:11px}.mission-strip .mission-goal-number{font-size:26px}}
@media(prefers-reduced-motion:reduce){.mission-machine *{animation:none!important}.mission-strip{filter:none}.mission-flash{display:none}}
.mission-spin{text-transform:uppercase}
