/* v3.1: egg fx, egg tray, runaway cat, home-bar guide, calculator lock, sequel tease */
#eggfx{position:absolute;inset:0;z-index:97;touch-action:none}
#eggfx canvas{position:absolute;inset:0;image-rendering:pixelated}
#eggfx.out{opacity:0;transition:opacity .5s}
.egg-card{position:absolute;left:50%;top:60%;transform:translateX(-50%);width:270px;padding:18px 20px;border-radius:22px;background:rgba(20,16,30,.88);border:1px solid #ffffff2a;text-align:center;color:#fff;animation:ecin .45s var(--ease) both;box-shadow:0 0 60px #af52de55}
.egg-card[hidden]{display:none}
@keyframes ecin{from{opacity:0;transform:translateX(-50%) scale(.7)}to{opacity:1;transform:translateX(-50%)}}
.egg-card .ec-n{font-size:12px;letter-spacing:3px;font-weight:700;background:linear-gradient(90deg,#ff5a5f,#ffe26a,#d4ff6a,#5ac8fa,#af52de);-webkit-background-clip:text;background-clip:text;color:transparent}
.egg-card h2{font-size:24px;margin:8px 0 6px}
.egg-card p{font-size:13.5px;color:#cfd3dc;line-height:1.5}
.egg-card .ec-tap{font-size:11px;color:#8a8f9c;margin-top:12px;letter-spacing:2px}
.egg-fly{position:absolute;z-index:98;image-rendering:pixelated;pointer-events:none;transform-origin:center}

.win.eggs{background:radial-gradient(120% 60% at 50% 0,#2a1840,#0c0a14 70%);color:#fff;--tint:#ffe26a}
.egg-sub{padding:0 20px 14px;color:#a9a3c0;font-size:14px}
.egg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}
.egg-cell{background:#ffffff08;border:1px solid #ffffff14;border-radius:18px;padding:16px 12px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.egg-cell canvas{image-rendering:pixelated}
.egg-cell b{font-size:14px}
.egg-cell p{font-size:12px;color:#8f89a6;line-height:1.5}
.egg-cell.got{border-color:#ffe26a66;background:linear-gradient(160deg,#3a2350,#1a1226);box-shadow:0 0 24px #af52de33}
.egg-cell.got canvas{animation:eggbob 2.4s ease-in-out infinite}
@keyframes eggbob{50%{transform:translateY(-5px) rotate(4deg)}}
.egg-board{margin:18px 16px 0;padding:16px;border-radius:16px;border:1px dashed #ffffff26;text-align:center;font-size:15px;font-weight:600;color:#ffe26a}
.egg-board small{display:block;font-weight:400;font-size:12px;color:#8f89a6;margin-top:6px;line-height:1.6}

.catrun{position:absolute;z-index:70;width:76px;height:55px;transition:left .7s cubic-bezier(.4,0,.3,1),top .7s cubic-bezier(.4,0,.3,1);filter:drop-shadow(0 6px 10px #0008)}
.catrun svg{width:100%;height:100%;transform:scaleX(var(--fx,1));transition:transform .2s}
.catrun.hit svg{animation:squash .3s}
@keyframes squash{40%{transform:scaleX(var(--fx,1)) scaleY(.7)}}
.catrun.caught{transform:scale(1.6);opacity:0;transition:transform .5s,opacity .5s}
.catrun.bye{opacity:0;transition:opacity .5s}

.hbar.guide i{animation:hbpulse 1.1s ease-in-out infinite;box-shadow:0 0 14px #d4ff6a;background:#d4ff6a!important;opacity:1}
@keyframes hbpulse{50%{transform:translateY(-5px) scaleX(1.15)}}
.hb-tip{position:absolute;left:50%;bottom:calc(42px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:31;background:#d4ff6a;color:#141a08;font-size:13px;font-weight:600;padding:9px 14px;border-radius:14px;white-space:nowrap;pointer-events:none;box-shadow:0 8px 24px #0007;animation:tipin .4s var(--ease) both}
@keyframes tipin{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.hb-tip::after{content:'';position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#d4ff6a}

.calc-disp{position:relative}
.calc-lock{position:absolute;left:26px;top:6px;font-size:15px;opacity:.22;transition:opacity .3s}
.calc-lock.shake{animation:lockshake .5s;opacity:.85}
@keyframes lockshake{20%,60%{transform:rotate(-18deg)}40%,80%{transform:rotate(18deg)}}

#ending .tease{margin:22px 0 4px;padding:13px 15px;border-radius:18px;background:rgba(40,44,56,.85);animation:drop .7s var(--ease) both;animation-delay:5s}
#ending .tease .tn{display:flex;justify-content:space-between;font-size:12px;color:#9aa3b5;margin-bottom:4px}
#ending .tease p{font-size:15px;color:#fff;margin:0;animation:none}
#ending .next{text-align:center;font-size:13px;letter-spacing:6px;color:#d4ff6a;margin:14px 0 6px;font-weight:600}
#ending .next small{display:block;letter-spacing:3px;color:#6e7380;font-weight:400;margin-top:4px}
