.mg-wrap{max-width:1180px;margin:0 auto;padding:18px}.mg-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:radial-gradient(circle at 15% 20%,rgba(185,140,255,.28),transparent 32%),linear-gradient(135deg,rgba(20,16,48,.84),rgba(9,10,28,.76));box-shadow:0 16px 42px rgba(0,0,0,.28);overflow:hidden}.mg-hero-small{padding:20px}.mg-hero h1{margin:0 0 8px;font-size:2.25rem}.mg-hero p{margin:0;line-height:1.55}.mg-kicker{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem;opacity:.78}.mg-hero-orb{width:110px;height:110px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:4rem;background:rgba(255,255,255,.08);box-shadow:inset 0 0 34px rgba(255,255,255,.16),0 0 40px rgba(174,118,255,.22)}.mg-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.mg-play-layout{display:grid;grid-template-columns:1fr 320px;gap:16px}.mg-side-stack{display:grid;gap:16px;align-content:start}.mg-card{border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(10,10,26,.62);padding:18px;box-shadow:0 10px 28px rgba(0,0,0,.22)}.mg-card h2{margin:0 0 12px}.mg-warning{background:rgba(95,53,18,.34);border-color:rgba(255,212,120,.28)}.mg-muted{opacity:.78}.mg-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(135deg,rgba(139,100,255,.88),rgba(77,174,255,.74));color:#fff;text-decoration:none;font-weight:800;padding:10px 15px;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.22)}.mg-button:hover{filter:brightness(1.08)}.mg-button-soft{background:rgba(255,255,255,.08)}.mg-game-list{display:grid;gap:12px}.mg-game-tile{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10)}.mg-game-icon{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:rgba(255,255,255,.08)}.mg-game-tile h3{margin:0 0 4px}.mg-game-tile p{margin:0 0 8px;line-height:1.45}.mg-score-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mg-score-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.mg-score-list.compact li{padding:7px 9px}.mg-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.mg-stats-row div{padding:10px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);text-align:center}.mg-stats-row span{display:block;font-size:.8rem;opacity:.72}.mg-stats-row strong{display:block;font-size:1.5rem}.sc-stage{position:relative;height:520px;min-height:420px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 20% 20%,rgba(154,105,255,.35),transparent 25%),radial-gradient(circle at 80% 10%,rgba(80,190,255,.22),transparent 22%),linear-gradient(180deg,rgba(10,7,35,.95),rgba(7,14,34,.96));touch-action:manipulation;user-select:none}.sc-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.8) 1px,transparent 1.5px);background-size:42px 42px;opacity:.18;pointer-events:none}.sc-start-panel{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:rgba(5,6,20,.62);backdrop-filter:blur(2px)}.sc-start-panel h2{font-size:2rem;margin:0 0 8px}.sc-target{position:absolute;border:0;background:transparent;border-radius:999px;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) scale(1);cursor:pointer;animation:scFloat var(--life,1600ms) linear forwards;filter:drop-shadow(0 0 10px rgba(255,255,255,.35));font-size:var(--size,34px);line-height:1}.sc-target:focus{outline:2px solid rgba(255,255,255,.55)}.sc-target.hit{animation:scPop .22s ease-out forwards;pointer-events:none}.sc-target.star{color:#fff2a8}.sc-target.comet{color:#a9e5ff}.sc-target.moon{color:#e6d7ff}.sc-float-score{position:absolute;z-index:4;transform:translate(-50%,-50%);font-weight:900;pointer-events:none;animation:scScoreUp .65s ease-out forwards;text-shadow:0 2px 8px rgba(0,0,0,.6)}.mg-result{margin-top:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}@keyframes scFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.78) rotate(0deg)}10%{opacity:1}82%{opacity:1}100%{opacity:0;transform:translate(-50%,-66%) scale(1.15) rotate(20deg)}}@keyframes scPop{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}@keyframes scScoreUp{0%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-110%)}}@media (max-width:900px){.mg-grid,.mg-play-layout{grid-template-columns:1fr}.mg-hero{align-items:flex-start;flex-direction:column}.mg-hero-orb{width:76px;height:76px;font-size:2.7rem}.mg-stats-row{grid-template-columns:repeat(2,1fr)}.sc-stage{height:460px}}@media (max-width:520px){.mg-wrap{padding:10px}.mg-hero h1{font-size:1.8rem}.mg-game-tile{grid-template-columns:1fr}.mg-game-icon{width:54px;height:54px}.sc-stage{height:420px}.mg-stats-row strong{font-size:1.25rem}}

.mm-stage{position:relative;min-height:520px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 15% 18%,rgba(122,211,255,.22),transparent 28%),radial-gradient(circle at 85% 12%,rgba(217,162,255,.20),transparent 24%),linear-gradient(180deg,rgba(12,9,38,.96),rgba(8,18,42,.96));padding:18px;touch-action:manipulation;user-select:none}.mm-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1.5px);background-size:38px 38px;opacity:.14;pointer-events:none}.mm-start-panel{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:rgba(5,6,20,.66);backdrop-filter:blur(2px)}.mm-start-panel h2{font-size:2rem;margin:0 0 8px}.mm-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:12px;max-width:620px;margin:0 auto}.mm-card{aspect-ratio:1/1;border:0;background:transparent;perspective:900px;cursor:pointer;padding:0}.mm-card:focus{outline:2px solid rgba(255,255,255,.65);outline-offset:3px;border-radius:18px}.mm-card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .28s ease}.mm-card.flipped .mm-card-inner,.mm-card.matched .mm-card-inner{transform:rotateY(180deg)}.mm-card-back,.mm-card-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:18px;backface-visibility:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 22px rgba(0,0,0,.24)}.mm-card-back{font-size:2rem;color:#fff;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,rgba(119,89,255,.92),rgba(37,157,220,.82))}.mm-card-front{transform:rotateY(180deg);font-size:2.25rem;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.20),transparent 32%),linear-gradient(135deg,rgba(37,29,84,.96),rgba(19,33,76,.94))}.mm-card.matched .mm-card-front{box-shadow:0 0 22px rgba(183,244,255,.28),0 10px 22px rgba(0,0,0,.24);border-color:rgba(200,244,255,.38)}@media (max-width:900px){.mm-stage{min-height:480px}.mm-board{max-width:560px}}@media (max-width:520px){.mm-stage{min-height:390px;padding:10px}.mm-board{gap:8px}.mm-card-back,.mm-card-front{border-radius:14px}.mm-card-back{font-size:1.55rem}.mm-card-front{font-size:1.8rem}}

/* Memory Match card-face fix */
.mm-board{display:grid!important;grid-template-columns:repeat(4,minmax(68px,1fr))!important;gap:12px!important;width:100%!important;max-width:620px!important;margin:0 auto!important}.mm-card{display:block!important;width:100%!important;min-width:0!important;min-height:68px!important;aspect-ratio:1/1!important;padding:0!important;border:0!important;border-radius:18px!important;background:transparent!important;box-shadow:none!important;color:inherit!important;overflow:visible!important}.mm-card-inner{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:68px!important;transform-style:preserve-3d!important;transition:transform .28s ease,filter .22s ease!important}.mm-card:not(.flipped):not(.matched) .mm-card-inner{transform:rotateY(0deg)!important}.mm-card.flipped .mm-card-inner,.mm-card.matched .mm-card-inner{transform:rotateY(180deg)!important}.mm-card-back,.mm-card-front{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:18px!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 10px 22px rgba(0,0,0,.24)!important;white-space:normal!important;line-height:1!important}.mm-card-back{z-index:2!important;transform:rotateY(0deg)!important;font-size:2.1rem!important;color:#fff!important;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,rgba(119,89,255,.92),rgba(37,157,220,.82))!important}.mm-card-front{z-index:1!important;transform:rotateY(180deg)!important;font-size:2.35rem!important;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.20),transparent 32%),linear-gradient(135deg,rgba(37,29,84,.96),rgba(19,33,76,.94))!important}.mm-card.matched .mm-card-inner{filter:drop-shadow(0 0 10px rgba(190,235,255,.28))!important}@media(max-width:520px){.mm-board{grid-template-columns:repeat(4,minmax(54px,1fr))!important;gap:8px!important}.mm-card{min-height:54px!important;border-radius:14px!important}.mm-card-inner{min-height:54px!important}.mm-card-back,.mm-card-front{border-radius:14px!important}.mm-card-back{font-size:1.55rem!important}.mm-card-front{font-size:1.8rem!important}}


/* Memory Match overlay must actually vanish after Start, even if global CSS overrides [hidden]. */
.mm-start-panel[hidden], .mm-start-panel.mm-hidden{display:none!important;pointer-events:none!important;visibility:hidden!important;}
.mm-card{pointer-events:auto!important;}
.mm-stage.is-playing .mm-start-panel{display:none!important;pointer-events:none!important;visibility:hidden!important;}

/* Memory Match reliable no-3D card rendering fix. This avoids browser/global-style flip lag. */
.mm-board{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(68px,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:620px!important;
  margin:0 auto!important;
}
.mm-card{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:68px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,rgba(119,89,255,.92),rgba(37,157,220,.82))!important;
  box-shadow:0 10px 22px rgba(0,0,0,.24)!important;
  color:#fff!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transform:none!important;
  transition:filter .14s ease, transform .14s ease, background .18s ease, border-color .18s ease!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.mm-card:hover:not(:disabled){filter:brightness(1.08)!important;transform:translateY(-1px)!important;}
.mm-card:focus{outline:2px solid rgba(255,255,255,.58)!important;outline-offset:3px!important;}
.mm-card:focus:not(:focus-visible){outline:none!important;}
.mm-card-symbol{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  font-size:2.2rem!important;
  line-height:1!important;
  pointer-events:none!important;
  user-select:none!important;
}
.mm-card.flipped,
.mm-card.matched{
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.20),transparent 32%),linear-gradient(135deg,rgba(37,29,84,.96),rgba(19,33,76,.94))!important;
  border-color:rgba(210,230,255,.28)!important;
}
.mm-card.matched{
  filter:drop-shadow(0 0 10px rgba(190,235,255,.28))!important;
  cursor:default!important;
}
.mm-card:disabled{opacity:1!important;}
.mm-card-inner,.mm-card-back,.mm-card-front{display:none!important;}
@media(max-width:520px){
  .mm-board{grid-template-columns:repeat(4,minmax(54px,1fr))!important;gap:8px!important;}
  .mm-card{min-height:54px!important;border-radius:14px!important;}
  .mm-card-symbol{font-size:1.8rem!important;}
}

/* Scratch Cards */
.scratch-stage{position:relative;min-height:520px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 20% 20%,rgba(255,210,116,.19),transparent 28%),radial-gradient(circle at 82% 10%,rgba(178,124,255,.20),transparent 24%),linear-gradient(180deg,rgba(15,9,38,.96),rgba(8,18,42,.96));padding:18px;touch-action:manipulation;user-select:none}.scratch-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.68) 1px,transparent 1.5px);background-size:40px 40px;opacity:.13;pointer-events:none}.scratch-ticket{position:relative;z-index:2;max-width:620px;margin:0 auto;padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055));border:1px dashed rgba(255,255,255,.28);box-shadow:0 18px 36px rgba(0,0,0,.28)}.scratch-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10)}.scratch-ticket-head strong{font-size:1.25rem}.scratch-ticket-head span{opacity:.8}.scratch-grid{display:grid;grid-template-columns:repeat(3,minmax(84px,1fr));gap:12px}.scratch-panel{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(190,191,214,.96),rgba(109,113,145,.96));box-shadow:inset 0 0 16px rgba(255,255,255,.20),0 10px 22px rgba(0,0,0,.22);cursor:pointer;overflow:hidden;color:#fff;font-size:2.4rem;transition:transform .16s ease,filter .16s ease,background .2s ease}.scratch-panel:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 8px,rgba(255,255,255,.04) 8px 16px);opacity:.78;transition:opacity .2s ease}.scratch-panel:hover,.scratch-panel:focus{transform:translateY(-2px);filter:brightness(1.08);outline:2px solid rgba(255,255,255,.52);outline-offset:2px}.scratch-cover{position:relative;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.42);transition:opacity .18s ease,transform .18s ease}.scratch-symbol{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.72) rotate(-8deg);transition:opacity .18s ease,transform .18s ease;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.22),transparent 32%),linear-gradient(135deg,rgba(44,31,92,.98),rgba(15,48,92,.94))}.scratch-panel.revealed{cursor:default;background:linear-gradient(135deg,rgba(44,31,92,.98),rgba(15,48,92,.94));box-shadow:0 0 18px rgba(186,225,255,.16),0 10px 22px rgba(0,0,0,.22)}.scratch-panel.revealed:before{opacity:0}.scratch-panel.revealed .scratch-cover{opacity:0;transform:scale(1.4) rotate(20deg)}.scratch-panel.revealed .scratch-symbol{opacity:1;transform:scale(1) rotate(0deg)}@media(max-width:900px){.scratch-stage{min-height:480px}}@media(max-width:520px){.scratch-stage{min-height:390px;padding:10px}.scratch-ticket{padding:12px}.scratch-ticket-head{align-items:flex-start;flex-direction:column}.scratch-grid{gap:8px;grid-template-columns:repeat(3,minmax(62px,1fr))}.scratch-panel{border-radius:14px;font-size:1.8rem}}

/* Falling Star Catch */
.falling-stage {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(170, 124, 255, .35);
  border-radius: 22px;
  background:
    radial-gradient(circle at 15% 20%, rgba(137, 97, 255, .28), transparent 26%),
    radial-gradient(circle at 78% 12%, rgba(84, 202, 255, .18), transparent 28%),
    linear-gradient(180deg, rgba(20, 17, 44, .95), rgba(7, 11, 31, .98));
  touch-action: none;
  user-select: none;
}

.falling-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.28) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(190,170,255,.18) 1px, transparent 1.5px);
  background-size: 34px 34px, 53px 53px;
  opacity: .45;
  pointer-events: none;
}

.falling-objects {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.falling-object {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  background: rgba(255,255,255,.09);
  box-shadow: 0 0 18px rgba(120, 190, 255, .45);
  pointer-events: none;
}

.falling-object.meteor {
  background: rgba(255, 114, 76, .13);
  box-shadow: 0 0 18px rgba(255, 110, 66, .5);
}

.falling-basket {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 3;
  width: 96px;
  height: 54px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border-radius: 999px 999px 28px 28px;
  background: linear-gradient(135deg, rgba(137, 97, 255, .9), rgba(62, 180, 241, .82));
  border: 2px solid rgba(255,255,255,.55);
  box-shadow: 0 0 20px rgba(139, 105, 255, .7), inset 0 0 14px rgba(255,255,255,.18);
  font-size: 2rem;
  transition: left .04s linear;
}

.mg-start-overlay.is-hidden {
  display: none !important;
  pointer-events: none !important;
}

@media (max-width: 680px) {
  .falling-stage { min-height: 430px; }
  .falling-basket { width: 82px; height: 50px; }
}

/* Cosmic Cascade / Match-3 */
.m3-stage{
  position:relative;
  min-height:640px;
  overflow:hidden;
  border:1px solid rgba(170,124,255,.35);
  border-radius:22px;
  background:
    radial-gradient(circle at 18% 18%,rgba(124,215,255,.22),transparent 28%),
    radial-gradient(circle at 82% 10%,rgba(205,130,255,.20),transparent 26%),
    linear-gradient(180deg,rgba(18,12,48,.96),rgba(7,12,34,.98));
  padding:18px;
  touch-action:manipulation;
  user-select:none;
}
.m3-stage:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.34) 1px,transparent 1.5px),
    radial-gradient(circle,rgba(183,157,255,.20) 1px,transparent 1.5px);
  background-size:36px 36px,59px 59px;
  opacity:.38;
  pointer-events:none;
}
.m3-board{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(8,minmax(42px,1fr));
  gap:8px;
  max-width:620px;
  margin:0 auto;
  touch-action:none;
}
.m3-stage.is-playing .m3-board,
.m3-stage.is-playing .m3-cell{
  touch-action:none;
}
.m3-cell{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  aspect-ratio:1/1;
  min-height:52px;
  padding:0!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:16px!important;
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.22),transparent 34%),linear-gradient(135deg,rgba(113,85,255,.88),rgba(42,163,226,.82))!important;
  box-shadow:0 8px 18px rgba(0,0,0,.26), inset 0 0 14px rgba(255,255,255,.09)!important;
  color:#fff!important;
  font-size:1.8rem!important;
  line-height:1!important;
  cursor:pointer!important;
  transform:translateZ(0);
  transition:transform .12s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease!important;
  -webkit-tap-highlight-color:transparent;
}
.m3-cell:hover:not(:disabled),
.m3-cell:focus:not(:disabled){
  filter:brightness(1.11)!important;
  transform:translateY(-1px) scale(1.02);
  outline:2px solid rgba(255,255,255,.44)!important;
  outline-offset:2px!important;
}
.m3-cell.selected{
  border-color:rgba(255,244,164,.85)!important;
  box-shadow:0 0 18px rgba(255,231,118,.40),0 8px 18px rgba(0,0,0,.26)!important;
  transform:translateY(-2px) scale(1.04);
}
.m3-cell.matched{
  animation:m3Pop .24s ease-out forwards;
}
.m3-board.is-busy .m3-cell{
  cursor:wait!important;
}
.m3-board.bad-swap .m3-cell{
  animation:m3Nudge .16s ease-in-out;
}
.m3-start-panel[hidden],
.m3-start-panel.is-hidden,
.m3-stage.is-playing .m3-start-panel{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@keyframes m3Pop{
  0%{transform:scale(1);filter:brightness(1)}
  70%{transform:scale(1.18);filter:brightness(1.35)}
  100%{transform:scale(.82);filter:brightness(.92);opacity:.35}
}
@keyframes m3Nudge{
  0%,100%{transform:translateX(0)}
  35%{transform:translateX(-2px)}
  70%{transform:translateX(2px)}
}
@media(max-width:900px){.m3-stage{min-height:560px}.m3-board{max-width:560px;gap:7px}.m3-cell{min-height:44px;font-size:1.55rem!important;border-radius:14px!important}}
@media(max-width:520px){.m3-stage{min-height:430px;padding:10px}.m3-board{gap:5px;grid-template-columns:repeat(8,minmax(28px,1fr))}.m3-cell{min-height:34px;font-size:1.25rem!important;border-radius:10px!important}.mg-stats-row{gap:7px}.mg-stats-row div{padding:8px 6px}}

/* Lucky Comet */
.lc-stage{position:relative;min-height:460px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 18% 22%,rgba(168,120,255,.28),transparent 28%),radial-gradient(circle at 82% 12%,rgba(93,210,255,.22),transparent 24%),linear-gradient(180deg,rgba(10,7,35,.96),rgba(7,16,38,.96));padding:22px;touch-action:manipulation;user-select:none}.lc-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.85) 1px,transparent 1.6px);background-size:36px 36px;opacity:.16;pointer-events:none}.lc-skyline{position:absolute;inset:auto -20px -30px -20px;height:140px;background:radial-gradient(circle at 20% 70%,rgba(185,140,255,.18),transparent 24%),radial-gradient(circle at 75% 40%,rgba(94,207,255,.14),transparent 22%);filter:blur(.2px);pointer-events:none}.lc-ticket{position:relative;z-index:2;max-width:720px;margin:0 auto;text-align:center;padding:22px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055));border:1px dashed rgba(255,255,255,.26);box-shadow:0 18px 36px rgba(0,0,0,.26)}.lc-ticket h2{margin:0 0 8px;font-size:2rem}.lc-ticket p{margin:0 0 20px;opacity:.82}.lc-comet-row{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:12px}.lc-comet{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:22px;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 35% 26%,rgba(255,255,255,.18),transparent 32%),linear-gradient(135deg,rgba(115,86,255,.88),rgba(44,160,220,.76));box-shadow:0 12px 24px rgba(0,0,0,.26),inset 0 0 18px rgba(255,255,255,.12);cursor:pointer;font-size:2.6rem;color:#fff;transition:transform .18s ease,filter .18s ease,opacity .18s ease}.lc-comet:hover,.lc-comet:focus{transform:translateY(-3px) rotate(-2deg);filter:brightness(1.12);outline:2px solid rgba(255,255,255,.55);outline-offset:2px}.lc-comet-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease}.lc-comet-prize{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.66) rotate(-10deg);transition:opacity .22s ease,transform .22s ease}.lc-comet.picked{animation:lcCometPop .42s ease-out both;border-color:rgba(226,246,255,.55);box-shadow:0 0 28px rgba(174,226,255,.32),0 12px 24px rgba(0,0,0,.26)}.lc-comet.revealed .lc-comet-cover,.lc-comet.not-picked .lc-comet-cover{opacity:0;transform:scale(1.4) rotate(22deg)}.lc-comet.revealed .lc-comet-prize,.lc-comet.not-picked .lc-comet-prize{opacity:1;transform:scale(1) rotate(0deg)}.lc-comet.not-picked{opacity:.42;filter:saturate(.75)}.lc-comet:disabled{cursor:default}.lucky-stats-row{grid-template-columns:repeat(4,1fr)}@keyframes lcCometPop{0%{transform:scale(1)}55%{transform:scale(1.16) rotate(2deg)}100%{transform:scale(1.03)}}@media(max-width:760px){.lc-comet-row{grid-template-columns:repeat(3,minmax(72px,1fr))}.lc-stage{min-height:430px}}@media(max-width:520px){.lc-stage{padding:12px;min-height:390px}.lc-ticket{padding:15px}.lc-comet-row{gap:8px}.lc-comet{border-radius:16px;font-size:2rem}.lucky-stats-row{grid-template-columns:repeat(2,1fr)}}

/* Star Path */
.sp-stage{
  position:relative;
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(176,141,255,.35);
  border-radius:22px;
  background:
    radial-gradient(circle at 18% 18%,rgba(138,96,255,.24),transparent 30%),
    radial-gradient(circle at 84% 10%,rgba(94,211,255,.20),transparent 25%),
    linear-gradient(180deg,rgba(11,9,42,.96),rgba(5,13,34,.98));
  padding:18px;
  touch-action:manipulation;
  user-select:none;
}
.sp-stage:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.42) 1px,transparent 1.7px),
    radial-gradient(circle,rgba(180,154,255,.22) 1px,transparent 1.6px);
  background-size:34px 34px,57px 57px;
  opacity:.36;
  pointer-events:none;
}
.sp-help{
  position:relative;
  z-index:2;
  max-width:620px;
  margin:0 auto 16px;
  padding:12px 14px;
  text-align:center;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  color:#f6f0ff;
  font-weight:700;
}
.sp-board{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(72px,1fr));
  gap:14px;
  max-width:520px;
  margin:0 auto;
}
.sp-star{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  aspect-ratio:1/1;
  min-height:112px;
  padding:0!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.20),transparent 34%),
    linear-gradient(135deg,rgba(111,83,255,.88),rgba(43,162,225,.76))!important;
  box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 0 18px rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:2.55rem!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,border-color .14s ease!important;
  -webkit-tap-highlight-color:transparent;
}
.sp-star:hover:not(:disabled),
.sp-star:focus:not(:disabled){
  filter:brightness(1.12)!important;
  transform:translateY(-2px) scale(1.025);
  outline:2px solid rgba(255,255,255,.46)!important;
  outline-offset:2px!important;
}
.sp-star:disabled{
  cursor:default!important;
  opacity:.88;
}
.sp-star.lit{
  animation:spLit .48s ease-in-out both;
  border-color:rgba(255,244,170,.92)!important;
}
.sp-star.correct{
  animation:spCorrect .22s ease-out both;
}
.sp-star.wrong{
  animation:spWrong .34s ease-in-out both;
  border-color:rgba(255,120,160,.95)!important;
}
.sp-board.is-showing .sp-star{
  cursor:wait!important;
}
.starpath-stats-row{grid-template-columns:repeat(4,1fr)}
@keyframes spLit{
  0%{transform:scale(1);filter:brightness(1);box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 0 18px rgba(255,255,255,.10)}
  55%{transform:scale(1.11) rotate(1deg);filter:brightness(1.42);box-shadow:0 0 34px rgba(255,234,136,.55),0 12px 24px rgba(0,0,0,.28),inset 0 0 22px rgba(255,255,255,.18)}
  100%{transform:scale(1);filter:brightness(1);box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 0 18px rgba(255,255,255,.10)}
}
@keyframes spCorrect{
  0%{transform:scale(1)}
  65%{transform:scale(1.08);filter:brightness(1.28)}
  100%{transform:scale(1)}
}
@keyframes spWrong{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-5px);filter:hue-rotate(85deg) brightness(1.1)}
  55%{transform:translateX(5px);filter:hue-rotate(85deg) brightness(1.1)}
}
@media(max-width:760px){.sp-stage{min-height:500px}.sp-board{gap:10px}.sp-star{min-height:88px;font-size:2.1rem!important;border-radius:20px!important}}
@media(max-width:520px){.sp-stage{min-height:420px;padding:12px}.sp-board{gap:8px;grid-template-columns:repeat(3,minmax(66px,1fr))}.sp-star{min-height:74px;font-size:1.75rem!important;border-radius:16px!important}.starpath-stats-row{grid-template-columns:repeat(2,1fr)}}

/* Planet Pop */
.pp-stage {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.18), transparent 22%),
    radial-gradient(circle at 80% 25%, rgba(167,139,250,.22), transparent 26%),
    linear-gradient(180deg, rgba(28,19,67,.92), rgba(10,8,29,.95));
  box-shadow: inset 0 0 40px rgba(122,92,255,.16);
  touch-action: manipulation;
}
.pp-help {
  position: relative;
  z-index: 2;
  margin: 14px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(9,7,28,.62);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.88);
  text-align: center;
}
.pp-sky {
  position: absolute;
  inset: 58px 0 0;
  overflow: hidden;
}
.pp-bubble {
  position: absolute;
  bottom: -82px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.55), rgba(185,160,255,.35) 35%, rgba(63,41,142,.72) 100%);
  color: #fff;
  font-size: 1.55rem;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(163,137,255,.45), inset 0 0 16px rgba(255,255,255,.2);
  animation-name: ppFloatUp;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}
.pp-bubble:hover,
.pp-bubble:focus-visible {
  transform: scale(1.08);
  outline: 2px solid rgba(255,255,255,.8);
}
.pp-pop {
  animation: ppPop .22s ease-out forwards !important;
}
.pp-fade {
  opacity: 0;
  transition: opacity .18s ease;
}
.pp-target-pulse {
  animation: ppTargetPulse .3s ease-out;
}
.pp-shake {
  animation: ppShake .2s linear;
}
@keyframes ppFloatUp {
  from { transform: translateY(0) scale(.94); opacity: .96; }
  to { transform: translateY(-580px) scale(1.08); opacity: .85; }
}
@keyframes ppPop {
  from { transform: scale(1); opacity: 1; }
  to { transform: scale(1.8) rotate(18deg); opacity: 0; }
}
@keyframes ppTargetPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.24); }
  100% { transform: scale(1); }
}
@keyframes ppShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}
@media (max-width: 640px) {
  .pp-stage { min-height: 420px; }
  .pp-bubble { font-size: 1.35rem; }
}

/* Planet Pop playability/layout fix: keep the start panel above the sky, centered, and clickable. */
.pp-stage{display:block!important;position:relative!important;}
.pp-sky{z-index:1!important;pointer-events:none!important;}
.pp-stage.pp-playing .pp-sky{pointer-events:auto!important;}
.pp-bubble{pointer-events:auto!important;}
.pp-help{z-index:4!important;}
.pp-start-overlay{position:absolute!important;inset:58px 0 0 0!important;z-index:10!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:22px!important;background:rgba(5,6,20,.50)!important;backdrop-filter:blur(2px)!important;pointer-events:auto!important;}
.pp-start-overlay .mg-start-box{width:min(460px, calc(100% - 24px))!important;margin:0 auto!important;padding:22px!important;border-radius:22px!important;border:1px solid rgba(255,255,255,.16)!important;background:linear-gradient(135deg,rgba(28,19,67,.92),rgba(10,8,29,.92))!important;box-shadow:0 18px 38px rgba(0,0,0,.35)!important;}
.pp-start-overlay h2{margin:0 0 8px!important;}
.pp-start-overlay .mg-button{position:relative!important;z-index:11!important;pointer-events:auto!important;}
.pp-start-overlay[hidden],.pp-start-overlay.hidden,.pp-start-overlay.pp-hidden,.pp-stage.pp-playing .pp-start-overlay{display:none!important;visibility:hidden!important;pointer-events:none!important;}
@media(max-width:640px){.pp-start-overlay{inset:52px 0 0 0!important;padding:14px!important;}.pp-start-overlay .mg-start-box{padding:16px!important;}}

/* Comet Sorter */
.cs-stage{position:relative;min-height:560px;overflow:hidden;border:1px solid rgba(170,124,255,.35);border-radius:22px;background:radial-gradient(circle at 14% 18%,rgba(137,97,255,.26),transparent 28%),radial-gradient(circle at 83% 10%,rgba(84,202,255,.18),transparent 26%),linear-gradient(180deg,rgba(18,12,48,.96),rgba(6,12,31,.98));touch-action:none;user-select:none}.cs-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.32) 1px,transparent 1.5px),radial-gradient(circle,rgba(180,155,255,.18) 1px,transparent 1.5px);background-size:35px 35px,58px 58px;opacity:.42;pointer-events:none}.cs-help{position:absolute;z-index:5;left:12px;right:12px;top:12px;padding:10px 14px;border-radius:999px;background:rgba(8,8,30,.72);border:1px solid rgba(255,255,255,.12);text-align:center;font-weight:700;pointer-events:none}.cs-sky{position:absolute;inset:54px 0 116px 0;z-index:2;overflow:hidden}.cs-item{position:absolute;transform:translate(-50%,-50%);display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.28),transparent 34%),linear-gradient(135deg,rgba(117,88,255,.94),rgba(47,178,239,.84))!important;box-shadow:0 0 18px rgba(113,183,255,.35),0 10px 22px rgba(0,0,0,.24)!important;color:#fff!important;font-size:1.85rem!important;cursor:grab!important;z-index:3;touch-action:none;-webkit-tap-highlight-color:transparent}.cs-item.selected{outline:3px solid rgba(255,238,143,.86)!important;outline-offset:3px;box-shadow:0 0 24px rgba(255,228,105,.45),0 10px 22px rgba(0,0,0,.24)!important}.cs-item.dragging{cursor:grabbing!important;z-index:9;filter:brightness(1.15)}.cs-item.cs-sorted{animation:csSorted .22s ease-out forwards;pointer-events:none!important}.cs-item.cs-poof{animation:csPoof .22s ease-out forwards;pointer-events:none!important}.cs-bins{position:absolute;z-index:4;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cs-bin{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:88px;gap:3px;border:1px solid rgba(255,255,255,.17)!important;border-radius:18px!important;background:rgba(255,255,255,.075)!important;color:#fff!important;box-shadow:inset 0 0 16px rgba(255,255,255,.06),0 10px 20px rgba(0,0,0,.20)!important;cursor:pointer!important}.cs-bin span{font-size:2rem;line-height:1}.cs-bin small{font-weight:800;opacity:.82}.cs-bin:hover,.cs-bin:focus{filter:brightness(1.1);outline:2px solid rgba(255,255,255,.42);outline-offset:2px}.cs-bin.good{animation:csGood .26s ease-out}.cs-bin.bad{animation:csBad .26s ease-out}.cs-stage.cs-shake{animation:csShake .18s linear}.mg-start-overlay.is-hidden{display:none!important;pointer-events:none!important}@keyframes csSorted{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65) rotate(15deg)}}@keyframes csPoof{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-18deg)}}@keyframes csGood{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px);box-shadow:0 0 22px rgba(176,255,209,.32)}}@keyframes csBad{0%,100%{transform:translateX(0)}35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}@keyframes csShake{0%,100%{transform:translateX(0)}35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}@media(max-width:900px){.cs-stage{min-height:500px}.cs-sky{inset:54px 0 108px 0}.cs-bin{min-height:78px}.cs-bin span{font-size:1.75rem}}@media(max-width:520px){.cs-stage{min-height:450px}.cs-help{font-size:.82rem;border-radius:16px}.cs-bins{gap:6px}.cs-bin{min-height:70px;border-radius:14px!important}.cs-bin span{font-size:1.45rem}.cs-bin small{font-size:.68rem}.cs-item{font-size:1.55rem!important}}

/* Comet Sorter UI fix: center start overlay and remove any lingering kicker if browser has stale markup */
#csStartOverlay.mg-start-overlay{
  position:absolute!important;
  inset:54px 0 116px 0!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:18px!important;
  background:rgba(5,6,20,.36)!important;
  backdrop-filter:blur(2px)!important;
  pointer-events:auto!important;
}
#csStartOverlay .mg-start-box{
  width:min(460px, calc(100% - 24px))!important;
  margin:0 auto!important;
  padding:22px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,rgba(30,20,72,.94),rgba(10,8,30,.94))!important;
  box-shadow:0 18px 42px rgba(0,0,0,.38)!important;
}
#csStartOverlay .mg-start-box h2,
#csStartOverlay .mg-start-box p{margin-left:auto!important;margin-right:auto!important;}
#csStartOverlay .mg-button{position:relative!important;z-index:21!important;pointer-events:auto!important;}
#csStartOverlay[hidden],
#csStartOverlay.is-hidden,
.cs-stage.cs-playing #csStartOverlay{display:none!important;visibility:hidden!important;pointer-events:none!important;}
@media(max-width:640px){#csStartOverlay{inset:54px 0 108px 0!important;padding:14px!important;}#csStartOverlay .mg-start-box{padding:16px!important;}}

/* Meteor Minesweeper */
.mmine-stage{position:relative;min-height:560px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 20% 18%,rgba(154,105,255,.24),transparent 28%),radial-gradient(circle at 80% 12%,rgba(80,190,255,.18),transparent 22%),linear-gradient(180deg,rgba(10,7,35,.96),rgba(7,14,34,.96));padding:16px;touch-action:manipulation;user-select:none}.mmine-stage:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.75) 1px,transparent 1.5px);background-size:34px 34px;opacity:.13;pointer-events:none}.mmine-help{position:relative;z-index:2;text-align:center;border-radius:999px;background:rgba(5,6,20,.62);padding:10px 14px;margin:0 0 12px;font-weight:800}.mmine-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.mmine-controls .active{background:linear-gradient(135deg,rgba(255,118,180,.88),rgba(255,189,78,.76))}.mmine-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(8,minmax(38px,1fr));gap:7px;max-width:620px;margin:0 auto}.mmine-cell{aspect-ratio:1/1;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.15),transparent 30%),linear-gradient(135deg,rgba(94,76,214,.92),rgba(30,119,180,.82));box-shadow:0 7px 16px rgba(0,0,0,.24);color:#fff;font-size:1.25rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center}.mmine-cell:hover{filter:brightness(1.08)}.mmine-cell.revealed{cursor:default;background:linear-gradient(135deg,rgba(23,22,52,.92),rgba(15,28,58,.90));box-shadow:inset 0 0 18px rgba(255,255,255,.05)}.mmine-cell.flagged{background:linear-gradient(135deg,rgba(96,45,120,.96),rgba(120,49,73,.88))}.mmine-cell.mine{background:radial-gradient(circle at 50% 50%,rgba(255,120,80,.26),transparent 42%),linear-gradient(135deg,rgba(95,22,38,.96),rgba(49,21,68,.94));animation:mmineBonk .38s ease}.mmine-cell.near-1{color:#a9e5ff}.mmine-cell.near-2{color:#b7ffbd}.mmine-cell.near-3{color:#ffe08d}.mmine-cell.near-4,.mmine-cell.near-5,.mmine-cell.near-6,.mmine-cell.near-7,.mmine-cell.near-8{color:#ff9ecb}.mmine-start-panel[hidden],.mmine-hidden{display:none!important}.mmine-stage.is-playing .mg-start-overlay{display:none!important;pointer-events:none!important;visibility:hidden!important}@keyframes mmineBonk{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media(max-width:900px){.mmine-stage{min-height:500px}.mmine-board{gap:6px}}@media(max-width:520px){.mmine-stage{min-height:430px;padding:10px}.mmine-board{grid-template-columns:repeat(8,minmax(30px,1fr));gap:5px}.mmine-cell{border-radius:9px;font-size:1rem}.mmine-controls{align-items:stretch}.mmine-controls .mg-button{width:100%}}


/* Stardust Sweep */
.sweep-stage {
  position: relative;
  min-height: 560px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(170,124,255,.35);
  border-radius: 22px;
  background:
    radial-gradient(circle at 16% 20%, rgba(154,105,255,.25), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(78,191,255,.18), transparent 24%),
    linear-gradient(180deg, rgba(13,9,42,.96), rgba(6,13,31,.98));
  touch-action: none;
  user-select: none;
}
.sweep-stage:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.7) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(178,148,255,.35) 1px, transparent 1.5px);
  background-size: 34px 34px, 58px 58px;
}
.sweep-help {
  position: relative;
  z-index: 3;
  margin: 0 0 14px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(5,6,20,.64);
  text-align: center;
  font-weight: 800;
}
.sweep-board {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(7, minmax(42px, 1fr));
  gap: 8px;
  max-width: 650px;
  margin: 0 auto;
}
.sweep-cell {
  aspect-ratio: 1 / 1;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(135deg, rgba(91,76,216,.91), rgba(31,127,184,.84)) !important;
  color: #fff !important;
  box-shadow: inset 0 0 16px rgba(255,255,255,.06), 0 9px 18px rgba(0,0,0,.25) !important;
  font-size: 1.45rem !important;
  cursor: pointer !important;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
}
.sweep-cell:hover,
.sweep-cell:focus-visible {
  filter: brightness(1.1);
  outline: 2px solid rgba(255,255,255,.45);
  outline-offset: 2px;
}
.sweep-cell[disabled] {
  cursor: default !important;
  opacity: .9;
}
.sweep-dust { background: linear-gradient(135deg, rgba(83,76,191,.92), rgba(33,119,176,.82)) !important; }
.sweep-star { background: linear-gradient(135deg, rgba(116,83,223,.95), rgba(229,180,80,.74)) !important; }
.sweep-moon { background: linear-gradient(135deg, rgba(92,71,190,.95), rgba(83,133,218,.82)) !important; }
.sweep-gem { background: linear-gradient(135deg, rgba(93,91,238,.95), rgba(53,204,218,.82)) !important; }
.sweep-junk,
.sweep-rock { background: linear-gradient(135deg, rgba(96,42,102,.94), rgba(54,35,78,.92)) !important; }
.sweep-cleaned {
  animation: sweepClean .28s ease-out forwards;
  background: radial-gradient(circle at 50% 50%, rgba(255,245,161,.30), transparent 46%), linear-gradient(135deg, rgba(33,24,83,.90), rgba(19,47,85,.86)) !important;
}
.sweep-bonk {
  animation: sweepBonk .22s ease-out;
}
.sweep-popin {
  animation: sweepPopin .18s ease-out;
}
.sweep-stage.sweep-shake {
  animation: sweepShake .18s linear;
}
#sweepStartOverlay.mg-start-overlay {
  position: absolute !important;
  inset: 58px 16px 16px 16px !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 18px !important;
  background: rgba(5,6,20,.42) !important;
  backdrop-filter: blur(2px) !important;
  pointer-events: auto !important;
}
#sweepStartOverlay .mg-start-box {
  width: min(480px, calc(100% - 24px)) !important;
  margin: 0 auto !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: linear-gradient(135deg, rgba(30,20,72,.94), rgba(10,8,30,.94)) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.38) !important;
}
#sweepStartOverlay[hidden],
#sweepStartOverlay.is-hidden,
.sweep-stage.sweep-playing #sweepStartOverlay {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@keyframes sweepClean {
  0% { transform: scale(1); opacity: 1; }
  70% { transform: scale(1.16) rotate(5deg); opacity: 1; }
  100% { transform: scale(.96); opacity: .76; }
}
@keyframes sweepBonk {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px) rotate(-4deg); }
  75% { transform: translateX(4px) rotate(4deg); }
}
@keyframes sweepPopin {
  from { transform: scale(.72); opacity: .55; }
  to { transform: scale(1); opacity: 1; }
}
@keyframes sweepShake {
  0%, 100% { transform: translateX(0); }
  30% { transform: translateX(-4px); }
  70% { transform: translateX(4px); }
}
@media (max-width: 900px) {
  .sweep-stage { min-height: 500px; }
  .sweep-board { gap: 6px; }
}
@media (max-width: 520px) {
  .sweep-stage { min-height: 430px; padding: 10px; }
  .sweep-help { border-radius: 16px; font-size: .82rem; }
  .sweep-board { grid-template-columns: repeat(7, minmax(32px, 1fr)); gap: 5px; }
  .sweep-cell { border-radius: 10px !important; font-size: 1.1rem !important; }
  #sweepStartOverlay { inset: 54px 10px 10px 10px !important; padding: 14px !important; }
  #sweepStartOverlay .mg-start-box { padding: 16px !important; }
}

/* Mooncake Bakery */
.moon-stage{position:relative;min-height:520px;padding:14px;overflow:hidden;border:1px solid rgba(173,115,255,.35);border-radius:18px;background:radial-gradient(circle at 20% 15%,rgba(255,225,156,.16),transparent 26%),radial-gradient(circle at 80% 20%,rgba(126,87,255,.18),transparent 32%),linear-gradient(180deg,rgba(38,30,76,.92),rgba(12,6,31,.96))}
.moon-help{text-align:center;padding:10px 14px;border-radius:999px;background:rgba(8,3,24,.72);border:1px solid rgba(173,115,255,.28);font-weight:800}
.moon-counter{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.moon-plate{min-height:140px;padding:14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 26px rgba(255,234,180,.07)}
.moon-label{display:block;margin-bottom:10px;color:#d7c9ff;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.moon-recipe,.moon-input{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px}.moon-chip{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,rgba(96,61,188,.86),rgba(41,146,217,.66));border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 18px rgba(0,0,0,.22);font-size:1.55rem;animation:moonChipPop .24s ease both}.moon-chip-input{background:linear-gradient(145deg,rgba(255,197,113,.86),rgba(150,91,230,.72))}.moon-empty{color:#d7c9ff;opacity:.78;font-size:.95rem}.moon-ingredients{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px}.moon-ingredient{min-height:86px;padding:10px;border-radius:16px;cursor:pointer;color:#fff;background:rgba(24,15,52,.92);border:1px solid rgba(173,115,255,.42);box-shadow:0 8px 20px rgba(0,0,0,.22);font-weight:900;transition:transform .12s ease,filter .12s ease,border-color .12s ease}.moon-ingredient:hover:not(:disabled),.moon-ingredient:focus-visible:not(:disabled){transform:translateY(-2px);border-color:rgba(255,225,156,.78);filter:brightness(1.12)}.moon-ingredient:disabled{cursor:not-allowed;opacity:.48}.moon-ingredient-icon{display:block;font-size:1.9rem;margin-bottom:4px}.moon-success{animation:moonSuccess .28s ease}.moon-bonk{animation:moonBonk .18s linear}.moon-showing .moon-chip{box-shadow:0 0 18px rgba(255,225,156,.46),0 8px 18px rgba(0,0,0,.22)}@keyframes moonChipPop{from{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}@keyframes moonSuccess{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}@keyframes moonBonk{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(max-width:760px){.moon-counter{grid-template-columns:1fr}.moon-ingredients{grid-template-columns:repeat(2,minmax(110px,1fr))}.moon-stage{min-height:620px}}

/* Constellation Connect */
.const-stage{position:relative;min-height:560px;padding:14px;overflow:hidden;border:1px solid rgba(173,115,255,.35);border-radius:18px;background:radial-gradient(circle at 18% 18%,rgba(255,255,190,.14),transparent 18%),radial-gradient(circle at 80% 16%,rgba(82,132,255,.14),transparent 28%),linear-gradient(180deg,rgba(16,16,55,.96),rgba(6,4,23,.98));touch-action:none}.const-help{text-align:center;padding:10px 14px;border-radius:999px;background:rgba(8,3,24,.72);border:1px solid rgba(173,115,255,.28);font-weight:800;position:relative;z-index:4}.const-board{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px auto 0;max-width:560px}.const-cell{aspect-ratio:1/1;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;cursor:default;box-shadow:inset 0 0 20px rgba(255,255,255,.02);font-weight:900;min-width:0}.const-target{cursor:pointer;background:radial-gradient(circle at 50% 42%,rgba(255,248,177,.34),transparent 38%),linear-gradient(145deg,rgba(86,58,188,.86),rgba(42,128,210,.72));border-color:rgba(255,225,156,.48);box-shadow:0 0 18px rgba(145,111,255,.25),inset 0 0 20px rgba(255,255,255,.06)}.const-target:hover,.const-target:focus-visible{transform:translateY(-2px);filter:brightness(1.16);outline:none}.const-connected{background:radial-gradient(circle at 50% 42%,rgba(255,248,177,.62),transparent 42%),linear-gradient(145deg,rgba(255,182,85,.92),rgba(111,91,255,.82)) !important;border-color:rgba(255,240,181,.95) !important;box-shadow:0 0 24px rgba(255,223,130,.42),inset 0 0 24px rgba(255,255,255,.12) !important;transform:scale(1.03)}.const-num{position:absolute;top:7px;left:8px;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:rgba(7,4,25,.72);border:1px solid rgba(255,255,255,.24);font-size:.78rem}.const-star{font-size:2rem;line-height:1}.const-dust{opacity:.22;font-size:1.8rem}.const-lines{position:absolute;left:14px;right:14px;top:62px;bottom:14px;width:calc(100% - 28px);height:calc(100% - 76px);z-index:2;pointer-events:none;overflow:visible}.const-line{stroke:rgba(255,226,133,.88);stroke-width:1.8;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,226,133,.75))}.const-success{animation:constSuccess .28s ease}.const-bonk{animation:constBonk .18s linear}#constStartOverlay.mg-start-overlay{position:absolute!important;inset:58px 16px 16px 16px!important;z-index:20!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:18px!important;background:rgba(5,6,20,.42)!important;backdrop-filter:blur(2px)!important;pointer-events:auto!important}#constStartOverlay .mg-start-box{width:min(500px,calc(100% - 24px))!important;margin:0 auto!important;padding:22px!important;border-radius:22px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(135deg,rgba(30,20,72,.94),rgba(10,8,30,.94))!important;box-shadow:0 18px 42px rgba(0,0,0,.38)!important}#constStartOverlay[hidden],#constStartOverlay.is-hidden,.const-stage.const-playing #constStartOverlay{display:none!important;visibility:hidden!important;pointer-events:none!important}@keyframes constSuccess{0%,100%{filter:brightness(1)}50%{filter:brightness(1.28)}}@keyframes constBonk{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(max-width:760px){.const-stage{min-height:500px;padding:10px}.const-board{gap:7px}.const-cell{border-radius:14px}.const-star{font-size:1.55rem}.const-num{top:5px;left:5px;min-width:19px;height:19px;font-size:.68rem}.const-help{border-radius:16px;font-size:.84rem}#constStartOverlay{inset:54px 10px 10px 10px!important;padding:14px!important}}

/* Cosmic Codebreaker */
.code-stage { position: relative; min-height: 560px; padding: 14px; overflow: hidden; border: 1px solid rgba(173,115,255,.35); border-radius: 18px; background: radial-gradient(circle at 18% 18%, rgba(255,255,190,.14), transparent 18%), radial-gradient(circle at 80% 16%, rgba(82,132,255,.14), transparent 28%), linear-gradient(180deg, rgba(18,16,52,.96), rgba(6,4,23,.98)); touch-action: manipulation; user-select: none; }
.code-stage:before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .14; background-image: radial-gradient(circle, rgba(255,255,255,.75) 1px, transparent 1.5px), radial-gradient(circle, rgba(178,148,255,.35) 1px, transparent 1.5px); background-size: 38px 38px, 61px 61px; }
.code-help { position: relative; z-index: 3; text-align: center; padding: 10px 14px; border-radius: 999px; background: rgba(8,3,24,.72); border: 1px solid rgba(173,115,255,.28); font-weight: 800; }
.code-current { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(4, minmax(58px, 1fr)); gap: 10px; max-width: 430px; margin: 18px auto 14px; }
.code-slot, .code-symbol { display: grid !important; place-items: center !important; border: 1px solid rgba(255,255,255,.16) !important; color: #fff !important; cursor: pointer !important; -webkit-tap-highlight-color: transparent; }
.code-slot { min-height: 72px; border-radius: 18px !important; background: linear-gradient(145deg, rgba(39,28,82,.95), rgba(19,33,76,.92)) !important; box-shadow: inset 0 0 22px rgba(255,255,255,.04), 0 10px 20px rgba(0,0,0,.22) !important; font-size: 2rem !important; font-weight: 900 !important; }
.code-slot.filled { background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.22), transparent 32%), linear-gradient(145deg, rgba(112,79,224,.94), rgba(35,142,209,.82)) !important; border-color: rgba(255,226,133,.45) !important; }
.code-palette { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(6, minmax(48px, 1fr)); gap: 8px; max-width: 560px; margin: 0 auto 14px; }
.code-symbol { min-height: 58px; border-radius: 16px !important; background: linear-gradient(145deg, rgba(91,76,216,.91), rgba(31,127,184,.84)) !important; box-shadow: 0 8px 18px rgba(0,0,0,.22) !important; font-size: 1.8rem !important; }
.code-symbol:hover:not(:disabled), .code-slot:hover:not(:disabled), .code-symbol:focus-visible, .code-slot:focus-visible { filter: brightness(1.12); outline: 2px solid rgba(255,255,255,.5) !important; outline-offset: 2px; }
.code-actions { position: relative; z-index: 3; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.code-history { position: relative; z-index: 3; display: grid; gap: 8px; max-width: 680px; margin: 0 auto; }
.code-history-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(180px, auto); gap: 10px; align-items: center; padding: 10px 12px; border-radius: 16px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.10); }
.code-history-guess { display: flex; gap: 6px; flex-wrap: wrap; }
.code-history-guess span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); font-size: 1.2rem; }
.code-feedback { text-align: right; color: #e9ddff; font-weight: 800; }
.code-feedback strong { color: #fff1a8; }
.code-bonk { animation: codeBonk .18s linear; }
#codeStartOverlay.mg-start-overlay { position: absolute !important; inset: 58px 16px 16px 16px !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 18px !important; background: rgba(5,6,20,.42) !important; backdrop-filter: blur(2px) !important; pointer-events: auto !important; }
#codeStartOverlay .mg-start-box { width: min(520px, calc(100% - 24px)) !important; margin: 0 auto !important; padding: 22px !important; border-radius: 22px !important; border: 1px solid rgba(255,255,255,.18) !important; background: linear-gradient(135deg, rgba(30,20,72,.94), rgba(10,8,30,.94)) !important; box-shadow: 0 18px 42px rgba(0,0,0,.38) !important; }
#codeStartOverlay[hidden], #codeStartOverlay.is-hidden, .code-stage.code-playing #codeStartOverlay { display: none !important; visibility: hidden !important; pointer-events: none !important; }
@keyframes codeBonk { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@media (max-width: 760px) { .code-stage { min-height: 560px; padding: 10px; } .code-help { border-radius: 16px; font-size: .84rem; } .code-current { gap: 7px; } .code-slot { min-height: 62px; border-radius: 14px !important; font-size: 1.7rem !important; } .code-palette { grid-template-columns: repeat(3, minmax(62px, 1fr)); max-width: 320px; } .code-history-row { grid-template-columns: 1fr; } .code-feedback { text-align: left; } #codeStartOverlay { inset: 54px 10px 10px 10px !important; padding: 14px !important; } }

/* Stardust Slots */
.slot-stage{position:relative;min-height:520px;padding:16px;overflow:hidden;border:1px solid rgba(173,115,255,.35);border-radius:18px;background:radial-gradient(circle at 18% 12%,rgba(255,224,142,.18),transparent 24%),radial-gradient(circle at 86% 20%,rgba(126,87,255,.18),transparent 32%),linear-gradient(180deg,rgba(33,20,72,.96),rgba(7,5,24,.98))}.slot-machine{max-width:680px;margin:0 auto;padding:22px;border-radius:24px;background:linear-gradient(145deg,rgba(42,23,85,.92),rgba(17,13,46,.96));border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 48px rgba(0,0,0,.35),inset 0 0 26px rgba(255,255,255,.04)}.slot-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 auto 18px}.slot-reel{display:grid;place-items:center;min-height:150px;border-radius:22px;font-size:4.2rem;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.20),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.12),rgba(116,78,223,.22)),rgba(8,5,28,.88);border:1px solid rgba(255,232,151,.32);box-shadow:inset 0 0 24px rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.28);text-shadow:0 0 16px rgba(255,233,161,.42)}.slot-reel-pop{animation:slotPop .34s ease both}.slot-spin-form{text-align:center}.slot-spin-button{font-size:1.05rem!important;padding:13px 24px!important}.slot-spin-button:disabled{opacity:.48!important;cursor:not-allowed!important;filter:grayscale(.3)}.slot-broke-note{text-align:center;margin-top:12px}.slot-message{margin:0 0 14px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.16);font-weight:900}.slot-message-success{background:rgba(42,148,105,.20);border-color:rgba(129,255,194,.35)}.slot-message-warning{background:rgba(190,86,86,.20);border-color:rgba(255,156,156,.35)}.slot-message-info{background:rgba(92,90,201,.18);border-color:rgba(178,169,255,.30)}.slot-paytable{max-width:680px;margin:16px auto 0;padding:16px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12)}.slot-paytable h2{margin-top:0}.slot-paygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.slot-paygrid div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:14px;background:rgba(6,4,25,.52);border:1px solid rgba(255,255,255,.09);font-weight:800}.slot-paygrid strong{color:#fff1a8}@keyframes slotPop{0%{transform:translateY(-10px) scale(.86);filter:blur(2px);opacity:.42}70%{transform:translateY(2px) scale(1.06);filter:blur(0);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}@media(max-width:760px){.slot-stage{min-height:460px;padding:10px}.slot-machine{padding:14px;border-radius:20px}.slot-reels{gap:8px}.slot-reel{min-height:104px;border-radius:16px;font-size:2.5rem}.slot-paygrid{grid-template-columns:1fr}.slot-stats-row{grid-template-columns:1fr!important}}

/* Stardust Slots AJAX polish */
.slot-message.is-hidden,
.slot-broke-note.is-hidden { display: none !important; }
.slot-spin-button[disabled] { opacity: .55 !important; cursor: not-allowed !important; }
.slot-reel { will-change: transform, filter; }
