.mg3-shell{max-width:920px;margin:0 auto;padding:24px;border:1px solid #ffffff18;border-radius:26px;background:linear-gradient(160deg,#111d31,#0b1424 58%,#21152f);box-shadow:0 22px 60px #0007;color:#eef6ff}.mg3-hero,.mg3-top{display:flex;align-items:center;gap:22px;justify-content:space-between}.mg3-hero h2,.mg3-top h2{font-size:34px;margin:3px 0}.mg3-hero p,.mg3-top p{color:#b8c7da;line-height:1.6}.mg3-orb-big{font-size:76px;filter:drop-shadow(0 0 28px #ff315b80)}.mg3-kicker{font-size:12px;font-weight:900;letter-spacing:2px;color:#ff7a93}.mg3-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.mg3-rules>div{padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid #ffffff12;font-size:24px}.mg3-rules b,.mg3-rules span{display:block;font-size:15px;margin-top:5px}.mg3-rules span{color:#aebed1;font-size:13px}.mg3-reward{display:flex;align-items:center;gap:16px;padding:17px 20px;border-radius:20px;background:linear-gradient(120deg,#521b2c,#29172e);border:1px solid #ff557466}.mg3-reward>span{font-size:44px}.mg3-reward b,.mg3-reward strong,.mg3-reward small{display:block}.mg3-reward strong{font-size:22px;color:#ff7791;margin:4px 0}.mg3-reward small{color:#c5b4c7}.mg3-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.mg3-primary{min-width:230px}.mg3-table{position:relative;height:330px;margin:18px auto 0;max-width:680px;border-radius:30px;background:radial-gradient(ellipse at center bottom,#402b1c,#101a29 65%);border-bottom:18px solid #6e4527;overflow:hidden}.mg3-cup{position:absolute;left:50%;bottom:55px;margin-left:-67px;width:134px;height:180px;border:0;background:transparent;cursor:default;z-index:3}.mg3-cup-shape{display:block;width:108px;height:128px;margin:0 auto;position:relative;background:linear-gradient(90deg,#d3d9e2,#fff 48%,#b7c0cd);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);border-radius:10px 10px 22px 22px;box-shadow:0 15px 30px #0008,inset 0 0 0 3px #ffffff66}.mg3-cup-shape:before{content:"";position:absolute;left:13px;right:13px;top:12px;height:10px;border-radius:50%;background:#9099a7}.mg3-cup b{display:block;margin-top:8px;color:#fff;font-size:20px}.mg3-cup.closed .mg3-cup-shape{transform:translateY(22px)}.mg3-cup.choose{cursor:pointer;filter:drop-shadow(0 0 12px #67d5ff66)}.mg3-cup.choose:hover{filter:drop-shadow(0 0 22px #ffd76b);transform:translateX(var(--x)) translateY(-7px)!important}.mg3-cup.correct-cup .mg3-cup-shape{box-shadow:0 0 35px #63ffb9,inset 0 0 0 3px #fff}.mg3-cup.open .mg3-cup-shape{transform:translateY(-70px) rotate(-7deg);transition:.45s}.mg3-orb{position:absolute;left:50%;bottom:57px;margin-left:-28px;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#ff879b,#f32d50 48%,#99132c);box-shadow:0 0 26px #ff365f,0 10px 18px #0007;z-index:2;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .35s}.mg3-speed{padding:8px 14px;border-radius:999px;background:#ff385e22;border:1px solid #ff607866;color:#ff91a4;font-weight:900}.mg3-note{text-align:center;margin:15px 0;color:#c8d5e5}.mg3-back{display:block;margin:0 auto}.mg3-loading{text-align:center;padding:70px 20px}.mg3-spinner{font-size:70px;animation:mg3pulse .7s infinite alternate}@keyframes mg3pulse{to{transform:scale(1.18);filter:drop-shadow(0 0 22px #ff315b)}}.mg3-result{text-align:center;padding:42px 24px}.mg3-result-icon{font-size:78px}.mg3-result h2{font-size:36px;margin:5px}.mg3-confetti{font-size:24px;letter-spacing:10px}.mg3-card-prize{display:flex;align-items:center;gap:18px;text-align:left;max-width:540px;margin:22px auto;padding:15px;border-radius:20px;background:#ffffff0c;border:1px solid #ffcc6670}.mg3-card-prize img{width:115px;aspect-ratio:3/4;object-fit:cover;border-radius:14px}.mg3-card-prize span,.mg3-card-prize strong,.mg3-card-prize small{display:block}.mg3-card-prize span{color:#ffcb61;font-size:12px;font-weight:900}.mg3-card-prize strong{font-size:21px;margin:6px 0}.mg3-card-prize small{color:#afc0d4}.mg3-card-prize.compact{justify-content:center}.mg3-wrong-orb{font-size:76px;margin:15px}@media(max-width:700px){.mg3-shell{padding:16px}.mg3-hero,.mg3-top{align-items:flex-start}.mg3-hero h2,.mg3-top h2{font-size:26px}.mg3-orb-big{font-size:55px}.mg3-rules{grid-template-columns:1fr}.mg3-table{height:285px}.mg3-cup{width:100px;margin-left:-50px}.mg3-cup-shape{width:82px;height:112px}.mg3-orb{width:46px;height:46px;margin-left:-23px}.mg3-card-prize img{width:90px}}

/* ===== Mini Game 3 UI/UX v2 ===== */
.mg3-menu-card{min-width:0!important;width:100%!important;min-height:184px!important;text-align:left!important;white-space:normal!important}
.mg3-menu-card .mg2-card-copy{min-width:0!important}.mg3-menu-card h3,.mg3-menu-card span,.mg3-menu-card .mg2-reward,.mg3-menu-card .mg2-status{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
.mg3-menu-icon{background:linear-gradient(145deg,#ff426b,#8f1e48)!important;box-shadow:0 0 26px #ff3f6b55!important}
.mg3-intro-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:26px;align-items:center}.mg3-intro-copy{min-width:0}.mg3-intro-copy h2{font-size:36px;margin:6px 0 10px}.mg3-intro-copy>p{color:#c1cede;line-height:1.65;margin:0 0 14px}
.mg3-mascot-wrap{position:relative;min-height:390px;display:flex;align-items:flex-end;justify-content:center;border-radius:28px;background:radial-gradient(circle at 52% 52%,#ff4e9242,transparent 48%),linear-gradient(160deg,#1b2b48,#14192d);overflow:hidden;border:1px solid #ffffff18}.mg3-mascot{position:relative;z-index:1;width:min(94%,330px);max-height:390px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 24px #0008)}
.mg3-speech{position:absolute;z-index:2;top:20px;right:14px;max-width:225px;padding:14px 16px;background:#fff;color:#172033;border-radius:18px 18px 5px 18px;box-shadow:0 12px 28px #0006}.mg3-speech:after{content:"";position:absolute;right:18px;bottom:-13px;border:8px solid transparent;border-top-color:#fff}.mg3-speech b,.mg3-speech span{display:block}.mg3-speech b{font-size:19px;color:#d82f66;margin-bottom:4px}.mg3-speech span{font-size:14px;line-height:1.45;font-weight:700}
.mg3-game-mascot{display:flex;align-items:center;gap:13px;margin:-4px 0 14px;padding:10px 13px;border-radius:18px;background:linear-gradient(90deg,#ff3d7330,#ffffff08);border:1px solid #ff6e9138}.mg3-game-mascot img{width:74px;height:90px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 10px #0007)}.mg3-game-talk{font-size:17px;font-weight:900;color:#ffd5df}.mg3-game-talk small{display:block;color:#aebed1;font-size:12px;font-weight:600;margin-top:3px}
.mg3-cup-dot{display:block;width:10px;height:10px;border-radius:50%;margin:10px auto 0;background:#ffffff80;box-shadow:0 0 8px #fff5}.mg3-cup b{display:none!important}
.mg3-result-mascot{display:flex;align-items:center;justify-content:center;gap:12px;max-width:470px;margin:0 auto 8px;padding:9px 15px;border-radius:18px;background:#ff487228;border:1px solid #ff7b9b55}.mg3-result-mascot img{width:75px;height:88px;object-fit:contain}.mg3-result-mascot div{font-size:18px;font-weight:900;color:#ffd4df}
@media(max-width:760px){.mg3-intro-grid{grid-template-columns:1fr}.mg3-mascot-wrap{min-height:300px}.mg3-mascot{max-height:300px;width:270px}.mg3-speech{top:12px;right:10px;max-width:190px}.mg3-intro-copy h2{font-size:29px}}


/* ===== Mini Game 3 mascot speech position FIX =====
   Keep speech above the mascot instead of covering the face. */
.mg3-mascot-wrap{
  padding-top:104px;
}
.mg3-mascot{
  max-height:330px;
}
.mg3-speech{
  top:14px !important;
  left:18px !important;
  right:18px !important;
  max-width:none !important;
  text-align:center;
  border-radius:18px !important;
}
.mg3-speech:after{
  left:50% !important;
  right:auto !important;
  bottom:-13px !important;
  transform:translateX(-50%);
}
@media(max-width:760px){
  .mg3-mascot-wrap{padding-top:112px;min-height:330px}
  .mg3-mascot{max-height:280px;width:250px}
  .mg3-speech{
    top:10px !important;
    left:10px !important;
    right:10px !important;
    max-width:none !important;
  }
}
