/* BG-MOTION-R1.01: iOS panel motion; matched Greedy startup art, no blank frame.
   Slow-only compact in-place walking mascot. Scoped to homepage game navigation. */
.bg-nav-overlay{position:fixed;inset:0;z-index:1000;width:100%;height:100vh;height:100dvh;display:flex;align-items:stretch;justify-content:center;overflow:hidden;background:transparent;overscroll-behavior:contain}
.bg-nav-panel{position:relative;width:100%;height:100%;min-width:0;overflow:hidden;background:#ffea69;-webkit-transform:translate3d(100vw,0,0);transform:translate3d(100vw,0,0);-webkit-transition:-webkit-transform 300ms cubic-bezier(.2,.8,.2,1);transition:transform 300ms cubic-bezier(.2,.8,.2,1);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform}
.bg-nav-overlay.is-open .bg-nav-panel{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.bg-nav-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;opacity:0;background:#ffea69;pointer-events:none;-webkit-transition:opacity 160ms ease;transition:opacity 160ms ease}
.bg-nav-overlay.is-loaded .bg-nav-frame{opacity:1;pointer-events:auto}
/* Mirror only the visuals of existing Greedy splash, not its timing or game logic. */
.bg-nav-splash{position:absolute;inset:0;z-index:1;overflow:hidden;background-color:#f2f5fa;background-image:radial-gradient(circle,#ffd933 clamp(1.45px,.37vw,2.2px),transparent clamp(1.85px,.45vw,2.65px)),linear-gradient(#ffea69,#ffea69);background-size:clamp(12px,3.08vw,18px) clamp(12px,3.08vw,18px),100% 100%;background-position:-3px 7px,0 0;opacity:1;visibility:visible;pointer-events:none;-webkit-transition:opacity 160ms ease,visibility 160ms ease;transition:opacity 160ms ease,visibility 160ms ease}
.bg-nav-overlay.is-loaded .bg-nav-splash{opacity:0;visibility:hidden}
.bg-nav-splash::before{content:"";position:absolute;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:#f2f5fa;z-index:5;pointer-events:none}
.bg-nav-splash-stage{position:absolute;top:47.1%;left:50%;width:100%;height:clamp(230px,44vh,465px);transform:translate(-50%,-50%)}
.bg-nav-splash-logo{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(165px,41%,245px);height:auto;object-fit:contain}
.bg-nav-splash-spark{position:absolute;width:14px;height:17px;left:16%;top:53%;background:#ff7389;clip-path:polygon(0 0,100% 45%,25% 100%);transform:rotate(20deg)}
.bg-nav-sp2{left:auto;right:18%;top:36%;background:#429df3;transform:rotate(-25deg)}
.bg-nav-splash-progress{position:absolute;left:50%;top:65.2%;transform:translateX(-50%);width:65.5%;max-width:385px;display:flex;flex-direction:column;align-items:center;gap:23px}
.bg-nav-splash-track{width:100%;height:clamp(19px,4.6vw,27px);background:#002c47;border:2px solid #004a7b;border-radius:999px;box-sizing:border-box;overflow:hidden}
.bg-nav-splash-track span{display:block;width:100%;height:100%;transform:scaleX(.17);transform-origin:left center;background:#00aadd;border-radius:999px;animation:bg-nav-progress 2.6s ease-out infinite}
.bg-nav-splash-label{color:#111;font-size:clamp(18px,3.5vw,22px);line-height:1.3;font-weight:400;font-family:Arial,-apple-system,BlinkMacSystemFont,sans-serif}
@keyframes bg-nav-progress{0%{transform:scaleX(.08)}65%{transform:scaleX(.84)}100%{transform:scaleX(.9)}}
/* Small centered mascot shown only if real frame is still loading after 650ms. */
.bg-nav-waiting,.bg-nav-recovery{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:calc(100vw - 32px);border-radius:18px;background:rgba(255,255,255,.93);box-shadow:0 5px 22px rgba(39,80,142,.19);border:1px solid rgba(141,193,244,.45);color:#4b6387;font:600 11px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.bg-nav-waiting{min-width:124px;min-height:152px;padding:7px 12px 10px;box-sizing:border-box}
.bg-nav-waiting[hidden],.bg-nav-recovery[hidden]{display:none!important}
.bg-nav-walker{width:112px;height:136px;display:block;overflow:hidden;flex:0 0 auto}
.bg-nav-wait-label{margin-top:-5px;white-space:nowrap;letter-spacing:.12px}
.bg-nav-recovery{gap:11px;min-width:194px;padding:17px;white-space:nowrap}
.bg-nav-recovery-actions{display:flex;align-items:center;gap:15px;font-size:12px}
.bg-nav-recovery-actions a,.bg-nav-cancel{color:#2674d7;text-decoration:none;font-size:12px;font-weight:600;line-height:1.5}
.bg-nav-cancel{background:none;border:0;padding:5px;cursor:pointer;font:600 12px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
@media screen and (min-width:768px) and (hover:hover) and (pointer:fine){.bg-nav-overlay{left:50%;right:auto;width:min(100%,520px);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.bg-nav-panel{width:100%;max-width:520px;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}
@media(max-height:670px){.bg-nav-splash-stage{top:44%;height:50vh}.bg-nav-splash-progress{top:73%;gap:10px}}
@media(prefers-reduced-motion:reduce){html:not(.bg-ios-webkit) .bg-nav-panel,.bg-nav-frame,.bg-nav-splash{transition:none!important}.bg-nav-splash-track span{animation:none!important}}
