.msa-game{--msa-accent:#a78bfa;--msa-border:#71628a40;color:var(--fg-100,#eeedf5);max-width:1000px;margin:12px auto 32px;font-family:inherit}.msa-game *{box-sizing:border-box}.msa-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.msa-game .msa-eyebrow{font-size:11px;letter-spacing:.16em;color:var(--msa-accent);margin:0 0 8px}.msa-heading h2{font-size:clamp(32px,5vw,46px);letter-spacing:-.035em;line-height:1.1;margin:0 0 12px}.msa-heading p{margin:0;opacity:.75}.msa-wallet{min-width:140px;padding:16px 24px;border:1px solid var(--msa-border);border-radius:16px;text-align:center;display:grid;gap:3px}.msa-wallet small{font-size:10px;letter-spacing:.12em;color:var(--msa-accent)}.msa-wallet strong{font-size:30px;line-height:1.3}.msa-wallet span{font-size:11px;opacity:.6}.msa-panel{position:relative;border:1px solid var(--msa-border);background:radial-gradient(ellipse at 50% 40%,#a855f714,transparent 70%);border-radius:22px;padding:28px;overflow:hidden}.msa-stage{height:245px;position:relative;display:flex;align-items:center;justify-content:space-around;gap:20px}.msa-card{width:145px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--msa-border);border-radius:16px;background:#80808008;z-index:1}.msa-card small{opacity:.65;font-size:10px;letter-spacing:.12em}.msa-card strong{font-size:32px;margin:12px 0 2px;line-height:1.2}.msa-card span{font-size:11px;opacity:.65}.msa-sigil{width:220px;height:220px;position:relative;display:grid;place-items:center;flex:none}.msa-ring{position:absolute;inset:18px;border:1px solid #a174f52b;border-radius:50%;transition:border-color .4s}.msa-ring:after{content:'';position:absolute;inset:13px;border:1px dashed #a174f51a;border-radius:50%}.msa-dot{position:absolute;left:calc(50% - 4px);top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#c17bff;box-shadow:0 0 12px #b055ff,0 0 24px #a855f788;transform:translateX(calc((var(--i) - 1.5)*23px))}.msa-flash{position:absolute;inset:50%;border-radius:50%;pointer-events:none}.msa-result{position:relative;text-align:center;font-size:13px;min-height:28px;margin:0 0 14px!important;line-height:1.6;color:var(--msa-accent)}.msa-controls{border-top:1px solid var(--msa-border);padding-top:24px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.msa-game button{border:1px solid var(--msa-border);color:inherit;background:#80808012;padding:12px 20px;border-radius:10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .28s,box-shadow .28s;white-space:nowrap}.msa-game button:hover:not(:disabled){background:#a78bfa22;box-shadow:0 0 22px #9c5eff18}.msa-game #msa-play{background:#7c3aed;border-color:#9455fc;color:white;min-width:180px;display:flex;justify-content:space-between;gap:28px}.msa-game #msa-play:hover:not(:disabled){background:#8b4df3}.msa-game button:disabled{opacity:.5;cursor:not-allowed}.msa-game :focus-visible{outline:2px solid #a78bfa;outline-offset:4px}.msa-stake-label{display:flex;align-items:center;gap:12px;font-size:13px}.msa-game #msa-stake{width:100px;margin:0;padding:11px 12px;background:#80808009;border:1px solid var(--msa-border);border-radius:8px;color:inherit;font:inherit;font-size:14px}.msa-sound{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:13px}.msa-game input[type=checkbox]{appearance:auto;width:16px;height:16px;margin:0;accent-color:#8b5cf6}.msa-odds{font-size:11px;opacity:.65;margin:16px 0 0!important;text-align:center;line-height:1.6}.msa-daily{display:flex;gap:20px;justify-content:space-between;align-items:center;border:1px solid var(--msa-border);padding:20px 24px;border-radius:16px;margin-top:18px}.msa-daily strong{font-size:14px}.msa-daily p,.msa-note{font-size:12px;opacity:.65;line-height:1.6}.msa-daily p{margin:5px 0 0!important}.msa-note{margin:18px 0}.msa-login{text-align:center;padding:16px}.msa-history{border-top:1px solid var(--msa-border);padding-top:16px;font-size:13px}.msa-history summary{cursor:pointer;opacity:.8}.msa-history ul{list-style:none;margin:12px 0 0;padding:0}.msa-history li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #80808015}.msa-history time{font-size:11px;opacity:.55}.msa-success .msa-flash{animation:msa-burst .9s ease-out}.msa-fail .msa-flash{animation:msa-fizzle .65s ease-out}.msa-success .msa-result{color:#72d9ac}.msa-fail .msa-result{color:#cc92b3}.msa-success .msa-ring{border-color:#bb91ff88}.msa-success .msa-card:last-child{border-color:#9768cd}
@keyframes msa-orbit{0%{transform:rotate(calc(var(--i)*90deg)) translateX(38px) scale(.8)}60%{transform:rotate(calc(var(--i)*90deg + 470deg)) translateX(52px) scale(1.3)}100%{transform:rotate(calc(var(--i)*90deg + 900deg)) translateX(0) scale(.5)}}
.msa-running .msa-dot{animation:msa-orbit 2.3s cubic-bezier(.55,.05,.35,1) both}.msa-awaiting .msa-dot{transform:translateX(0);opacity:.6}.msa-success .msa-dot{opacity:0}.msa-fail .msa-dot{opacity:.15;transition:opacity .6s}
@keyframes msa-burst{0%{inset:48%;background:#fff;box-shadow:0 0 40px 20px #d5a4ff}25%{inset:25%;background:#c994ff55;box-shadow:0 0 70px 18px #a855f755}100%{inset:0;background:transparent;box-shadow:0 0 0 1px #b88aff00}}
@keyframes msa-fizzle{0%{inset:38%;background:#a94c9744;box-shadow:0 0 22px #9c4877}100%{inset:46%;background:transparent;box-shadow:none}}
@media(max-width:600px){.msa-panel{padding:18px}.msa-stage{height:210px;gap:6px}.msa-sigil{width:110px;height:160px}.msa-ring{inset:30px 5px}.msa-card{width:90px;height:120px}.msa-card strong{font-size:24px}.msa-card small{font-size:9px}.msa-card span{font-size:9px}.msa-heading{gap:12px}.msa-wallet{min-width:100px;padding:12px}.msa-heading p{font-size:12px}.msa-daily{padding:16px;gap:12px}.msa-daily button{font-size:12px;padding:10px}.msa-sound{margin-left:0}.msa-game #msa-play{min-width:140px;flex:1}}
@media(prefers-reduced-motion:reduce){.msa-game *,.msa-game *:before,.msa-game *:after{animation:none!important;transition:none!important}}
.msa-wallet strong:before,.msa-card strong:before{content:'';display:inline-block;width:1em;height:.9em;margin-right:.25em;background:url('gem.svg') center/contain no-repeat;vertical-align:-.06em}
.msa-game .msa-heading h2{margin:0 0 12px!important}
/* Reference motion: the row bends into a vortex before the result appears. */
.msa-dot{background:#df00ff;box-shadow:0 0 9px #cc20ff99,0 0 18px #b900ff30}
.msa-dot:nth-of-type(1){background:#850aff}.msa-dot:nth-of-type(2){background:#c900fa}
.msa-running .msa-dot{animation-duration:1.7s;animation-timing-function:linear;animation-fill-mode:both}
.msa-running .msa-dot:nth-of-type(1){animation-name:msa-turn-a}
.msa-running .msa-dot:nth-of-type(2){animation-name:msa-turn-b}
.msa-running .msa-dot:nth-of-type(3){animation-name:msa-turn-c}
.msa-running .msa-dot:nth-of-type(4){animation-name:msa-turn-d}
@keyframes msa-turn-a{0%{transform:translate(-34.5px,0)}14%{transform:translate(-35px,-4px)}28%{transform:translate(-34px,-11px)}42%{transform:translate(-27px,-24px)}57%{transform:translate(-4px,-39px)}71%{transform:translate(27px,-28px)}85%{transform:translate(23px,18px);opacity:1}100%{transform:translate(0,0) scale(.35);opacity:0}}
@keyframes msa-turn-b{0%{transform:translate(-11.5px,0)}14%{transform:translate(-12px,-1px)}28%{transform:translate(-13px,-3px)}42%{transform:translate(-14px,-7px)}57%{transform:translate(-10px,-16px)}71%{transform:translate(5px,-24px)}85%{transform:translate(28px,-2px);opacity:1}100%{transform:translate(0,0) scale(.35);opacity:0}}
@keyframes msa-turn-c{0%{transform:translate(11.5px,0)}14%{transform:translate(12px,1px)}28%{transform:translate(13px,2px)}42%{transform:translate(16px,6px)}57%{transform:translate(16px,18px)}71%{transform:translate(-1px,29px)}85%{transform:translate(-22px,-13px);opacity:1}100%{transform:translate(0,0) scale(.35);opacity:0}}
@keyframes msa-turn-d{0%{transform:translate(34.5px,0)}14%{transform:translate(36px,4px)}28%{transform:translate(34px,10px)}42%{transform:translate(29px,21px)}57%{transform:translate(11px,33px)}71%{transform:translate(-18px,29px)}85%{transform:translate(-19px,2px);opacity:1}100%{transform:translate(0,0) scale(.35);opacity:0}}
.msa-success .msa-dot,.msa-fail .msa-dot{opacity:0;transition:none}
.msa-ring{opacity:.3}.msa-flash,.msa-success .msa-flash,.msa-fail .msa-flash{display:none;animation:none}
.msa-outcome{position:absolute;left:calc(50% - 18px);top:calc(50% - 18px);width:36px;height:36px;opacity:0;transform:scale(0)}
.msa-outcome svg{position:absolute;inset:0;width:36px;height:36px;display:none}
.msa-success .msa-outcome,.msa-fail .msa-outcome{opacity:1;transform:scale(1);animation:msa-result-pop .32s cubic-bezier(.2,.8,.25,1.2) both}
.msa-success .msa-check{display:block;color:#80ef25;filter:drop-shadow(0 0 7px #68eb2240)}
.msa-fail .msa-cross{display:block;color:#ff303e;filter:drop-shadow(0 0 6px #ff263a35)}
.msa-particles{position:absolute;inset:0;pointer-events:none}.msa-particles i{position:absolute;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;opacity:0;background:#80ef25;border-radius:1px}
.msa-success .msa-particles i{animation:msa-confetti 1.05s cubic-bezier(.15,.65,.25,1) var(--delay) both}
.msa-success .msa-particles i:nth-child(even){background:#f6fff0}.msa-success .msa-particles i:nth-child(3n){width:5px;height:5px}
.msa-fail .msa-particles i{background:#ff303e;width:2px;height:2px;animation:msa-fail-spark .7s ease-out var(--delay) both}
.msa-fail .msa-particles i:nth-child(n+11){display:none}
@keyframes msa-result-pop{0%{opacity:0;transform:scale(.35)}65%{opacity:1;transform:scale(1.13)}100%{opacity:1;transform:scale(1)}}
@keyframes msa-confetti{0%{opacity:0;transform:translate(0,0) rotate(0)}8%{opacity:1}70%{opacity:.9}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin))}}
@keyframes msa-fail-spark{0%{opacity:0;transform:translate(0,0)}10%{opacity:.9}100%{opacity:0;transform:translate(calc(var(--dx)*.45),calc(var(--dy)*.45)) rotate(var(--spin))}}
@media(prefers-reduced-motion:reduce){.msa-success .msa-particles,.msa-fail .msa-particles{display:none}.msa-success .msa-outcome,.msa-fail .msa-outcome{opacity:1;transform:none}}
.msa-success .msa-particles i,.msa-success .msa-particles i:nth-child(even),.msa-success .msa-particles i:nth-child(3n){width:var(--size,4px);height:var(--size,4px);background:var(--shade,#80ef25);border-radius:var(--round,1px);animation-duration:var(--duration,1.05s)}
.msa-particles i[hidden]{display:none}
