/* Mirav Games polish layer (shared by all games + menu) */
:root{--font:ui-rounded,"SF Pro Rounded","Nunito","Varela Round","Arial Rounded MT Bold","Baloo 2","Chalkboard SE","Comic Sans MS",system-ui,sans-serif}
html{background:#070b24!important}
body{font-family:var(--font)!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-font-smoothing:antialiased;letter-spacing:.2px}
button,a{font-family:var(--font)!important}
#mgScene{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
#mgScene svg{position:absolute}
/* compact one-line top bar */
#mgTop{flex-wrap:nowrap!important;gap:4px!important;font-size:clamp(16px,4.2vw,28px)!important;position:sticky;top:0;z-index:4;background:linear-gradient(#070b24ee,#070b2400);padding-top:calc(6px + env(safe-area-inset-top))!important}
#mgTop .ibtn{min-width:64px;min-height:64px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px}
#mgSW,#mgRound{white-space:nowrap;background:#0008;border-radius:14px;padding:4px 10px;box-shadow:inset 0 2px 0 #fff2}
@media (max-width:560px){#mgTag{display:none}}
/* depth on stages */
#pitch,#sky,#field,#space,#track,#room,#lot{box-shadow:0 14px 0 #0005,0 0 40px #6cf6,inset 0 -18px 40px #0006,inset 0 10px 30px #fff2!important;border-color:#bfe3ff!important}
/* tactile buttons */
.p,.opt,.glove,.lv,.big,.tb,.gm,.ctrl,.pic,.card,.fan,.ibtn{transition:transform .12s cubic-bezier(.3,1.6,.5,1),box-shadow .12s,filter .12s!important;will-change:transform}
.p,.opt.p{box-shadow:inset -10px -12px 0 #0003,inset 8px 8px 14px #fff6,0 8px 0 #0005,0 0 18px #fff4!important;min-width:72px;min-height:72px}
.p:active,.opt:active,.glove:active,.lv:active,.big:active,.tb:active,.gm:active,.ctrl:active,.pic:active,.card:active,.fan:active,.ibtn:active{transform:translateY(4px) scale(.95)!important;filter:brightness(1.12)}
.glove,.lv,.big,.ctrl{box-shadow:inset 0 -8px 0 #0003,inset 0 6px 10px #fff5,0 7px 0 #0006!important}
.card{box-shadow:inset 0 -8px 0 #0003,0 7px 0 #0006!important}
.fan{min-width:64px;min-height:64px}
.tk{min-width:30px;min-height:84px}
.q{text-shadow:0 4px 0 #0007;letter-spacing:1px}
.msg{font-weight:900!important;-webkit-text-stroke:2px #3a1b00}
/* juice */
@keyframes mgJolt{0%{transform:translateY(0)}30%{transform:translateY(7px) scale(1.01)}60%{transform:translateY(-3px)}100%{transform:none}}
.mgJolt{animation:mgJolt .35s cubic-bezier(.3,1.5,.5,1)}
.mgP{position:fixed;width:12px;height:12px;border-radius:50%;pointer-events:none;z-index:30;will-change:transform,opacity}
@keyframes mgRing{from{transform:translate(-50%,-50%) scale(.2);opacity:1}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.mgRing{position:fixed;width:90px;height:90px;border-radius:50%;border:6px solid #ffe14d;pointer-events:none;z-index:29;animation:mgRing .55s ease-out forwards}
.wob{animation:wob .45s cubic-bezier(.36,.07,.19,.97)!important}
/* hand hint */
#mgHand{position:fixed;z-index:25;font-size:64px;pointer-events:none;filter:drop-shadow(0 6px 6px #0008);animation:mgTap 1.1s ease-in-out infinite;transform-origin:30% 10%}
@keyframes mgTap{0%,100%{transform:translate(0,14px) scale(1)}45%{transform:translate(0,0) scale(.88)}55%{transform:translate(0,0) scale(.88)}}
#mgHandRing{position:fixed;z-index:24;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;border:5px solid #fff;pointer-events:none;animation:mgPulse 1.1s ease-out infinite}
@keyframes mgPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.mgArt svg{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 4px #0007)}
/* svg ball */
.mgBall{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='g' cx='35%25' cy='30%25'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.7' stop-color='%23e9eef7'/%3E%3Cstop offset='1' stop-color='%23aab4c8'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='48' fill='url(%23g)'/%3E%3Cg fill='%23c9d2e4'%3E%3Cpath d='M50 6l13 10-5 15H42l-5-15z'/%3E%3Cpath d='M8 40l14-6 10 12-5 15-15 3z'/%3E%3Cpath d='M92 40l-14-6-10 12 5 15 15 3z'/%3E%3Cpath d='M28 86l4-15h16l5 15-12 8z' transform='translate(4 0)'/%3E%3Cpath d='M72 86l-4-15H52' /%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat!important;border:4px solid #1b2a6b!important;box-shadow:inset -8px -10px 16px #0003,0 10px 14px #0007!important}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.05s!important;scroll-behavior:auto!important}#mgHand{animation:none}}
@media (orientation:landscape) and (max-height:500px){.q{font-size:26px!important;margin:2px!important}#mgTop{position:relative}}
#done,#replay{min-height:64px!important;min-width:64px}
.mgToast{position:fixed;left:50%;top:18%;transform:translateX(-50%);z-index:40;background:#1b2a6bee;border:3px solid #ffe14d;color:#fff;font-weight:900;font-size:clamp(24px,6vw,38px);padding:10px 26px;border-radius:30px;box-shadow:0 8px 0 #0006;animation:pop .35s;pointer-events:none}
#undo{min-width:64px!important;min-height:64px!important}
