/* AREN8 Värvisadu visual language: playable gems are clean, specials retain
   their colour, movable effects wrap a gem and fixed materials read as solid. */
.m3j-game{--m3v-accent:#f472b6;--m3v-energy:#c084fc;--m3v-success:#4ade80;--m3v-warn:#fbbf24}.m3j-game .match3-board{isolation:isolate;box-shadow:inset 0 0 42px #020617cc,0 18px 52px #0007,0 0 0 1px color-mix(in srgb,var(--m3v-accent) 24%,transparent)}.m3j-game .match3-gem{contain:layout style;transition:transform 150ms cubic-bezier(.2,.8,.2,1),filter 150ms ease}.m3j-game .match3-gem:active:not(.m3j-obstacle){transform:scale(.965)}.m3j-game .match3-gem:not(.special):not(.m3j-obstacle)>i{box-shadow:inset 0 5px 9px #fff4,inset 0 -7px 12px #0004,0 5px 12px #0006}.m3j-game .match3-gem.special>i{filter:drop-shadow(0 0 6px color-mix(in srgb,currentColor 48%,transparent))}.m3j-game .m3j-obstacle:not(.obstacle-mold):not(.obstacle-key){cursor:not-allowed}.m3j-game .obstacle-mold,.m3j-game .obstacle-key{cursor:grab}.m3j-game .match3-gem.reverting{filter:saturate(.72) brightness(.9)}.m3j-game .match3-board.invalid-swap:after{content:"";position:absolute;z-index:30;inset:4%;border:2px solid #fb718566;border-radius:18px;pointer-events:none;animation:m3v-invalid 280ms ease both}.m3j-game .match3-gem.falling>i{will-change:transform}.m3j-game .match3-gem:not(.falling)>i{will-change:auto}
.m3j-game .m3j-objective-chips>span{position:relative;overflow:visible;transition:border-color .2s,background .2s,transform .2s}.m3j-game .m3j-objective-chips>span.done{border-color:#4ade8066;background:linear-gradient(135deg,#4ade801b,#ffffff08);box-shadow:inset 0 0 14px #4ade8015}.m3j-game .m3j-objective-chips>span.done:after{content:"✓";position:absolute;right:4px;top:3px;color:#86efac;font-size:10px;font-weight:950}.m3j-objective-flight{position:fixed;z-index:160;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,var(--flight-color,#c084fc) 42%,transparent 72%);box-shadow:0 0 12px var(--flight-color,#c084fc);pointer-events:none;transform:translate(-50%,-50%);animation:m3v-objective-flight 470ms cubic-bezier(.2,.72,.22,1) both}.m3j-objective-flight.destroyed{width:18px;height:18px}.m3j-objective-flight.is-key,.m3j-objective-flight.is-key.destroyed{width:34px;height:34px;border-radius:0;background:transparent url('/assets/images/match3/m3j-color-key-v3.png?v=3') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 3px 5px #0009) drop-shadow(0 0 9px #c084fccc);animation-duration:650ms}
.m3j-game .match3-burst.combo-identity{display:grid;min-width:min(82vw,330px);gap:2px;padding:10px 18px;border:1px solid #ffffff36;border-radius:18px;background:linear-gradient(135deg,#130b29df,#07182ae6);box-shadow:0 14px 35px #0009,0 0 30px color-mix(in srgb,var(--combo-color,#c084fc) 36%,transparent);font-size:clamp(18px,5vw,31px);line-height:1;text-align:center}.m3j-game .match3-burst.combo-identity small{color:#fff;font-size:.35em;letter-spacing:.18em}.m3j-game .match3-burst.combo-tier-2{--combo-color:#67e8f9}.m3j-game .match3-burst.combo-tier-3{--combo-color:#a7f3d0}.m3j-game .match3-burst.combo-tier-4{--combo-color:#fde68a}.m3j-game .match3-burst.combo-tier-5{--combo-color:#f0abfc}.m3j-game.combo-live .match3-board-wrap{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--combo-color,#c084fc) 32%,transparent))}
.m3j-game[class*="m3j-game-chapter-"] .match3-board-wrap:before{content:"";position:absolute;z-index:-1;inset:-18px;border-radius:30px;background:radial-gradient(circle at var(--m3j-light-x,50%) var(--m3j-light-y,20%),color-mix(in srgb,var(--m3v-accent) 30%,transparent),transparent 52%);opacity:.75;pointer-events:none}.m3j-game-chapter-1{--m3v-accent:#f9a8d4}.m3j-game-chapter-2{--m3v-accent:#67e8f9}.m3j-game-chapter-3{--m3v-accent:#c084fc}.m3j-game .match3-gem.match3-hint{z-index:12;filter:brightness(1.18) drop-shadow(0 0 9px var(--m3v-warn))}
@keyframes m3v-invalid{0%{opacity:0;transform:scale(.97)}45%{opacity:1}to{opacity:0;transform:scale(1.015)}}@keyframes m3v-objective-flight{0%{opacity:0;left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%) scale(.4)}18%{opacity:1}100%{opacity:0;left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) scale(1.15)}}
@media(max-width:680px){.m3j-game .match3-burst.combo-identity{padding:8px 13px;border-radius:14px}.m3j-game[class*="m3j-game-chapter-"] .match3-board-wrap:before{inset:-9px}}
@media(prefers-reduced-motion:reduce){.m3j-objective-flight,.m3j-game .match3-board.invalid-swap:after{animation-duration:1ms!important}.m3j-game .match3-gem{transition-duration:1ms!important}}
.m3j-material-dismiss{position:absolute;z-index:65;width:12.5%;aspect-ratio:1;pointer-events:none;background-image:url('/assets/images/match3/m3j-obstacle-soft-atlas-v1.png?v=1');background-repeat:no-repeat;background-size:300% 300%;filter:drop-shadow(0 4px 7px #0009);transform:translate(-50%,-50%);animation:m3j-material-dismiss 620ms cubic-bezier(.18,.76,.25,1) var(--material-delay,0ms) both}.m3j-material-dismiss.obstacle-wood{background-position:50% 0}.m3j-material-dismiss.obstacle-concrete{background-position:100% 0}.m3j-material-dismiss.obstacle-crystal{background-position:50% 50%}.m3j-material-dismiss.obstacle-chain{background-position:100% 50%}.m3j-material-dismiss.obstacle-vine{background-position:0 100%}.m3j-material-dismiss.obstacle-prism{background-position:50% 100%}.m3j-material-dismiss.obstacle-key{background-position:100% 100%}@keyframes m3j-material-dismiss{0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 4px 7px #0009) brightness(1)}38%{opacity:1;transform:translate(-50%,-53%) scale(1.09);filter:drop-shadow(0 0 12px #fff8) brightness(1.45)}100%{opacity:0;transform:translate(-50%,-72%) scale(.56) rotate(7deg);filter:drop-shadow(0 0 18px #fff0) brightness(1.7)}}
@media(prefers-reduced-motion:reduce){.m3j-material-dismiss{animation-duration:1ms!important}}
