/* Easter Egg Smash – Enhanced – Foyle Taxi Co. */
@import url('https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;600;700;800;900&display=swap');

#ees-wrap *, #ees-wrap *::before, #ees-wrap *::after {
  margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent;
}

#ees-wrap {
  --card:rgba(255,253,240,0.97); --text:#3D2B1F; --mid:#7A5C44; --red:#E05C8A;
  position:relative; width:100%; max-width:520px; height:480px; margin:0 auto;
  touch-action: manipulation;
}
#ees-wrap.ees-wrap--tall {
  height:680px;
  background:linear-gradient(180deg,#C2E4FF 0%,#D9EFCA 65%,#72C752 100%);
  border-radius:28px;
  box-shadow:0 24px 64px rgba(0,0,0,.3), 0 0 0 4px #fff, 0 0 0 9px rgba(92,184,92,.45);
  overflow:hidden; display:flex; flex-direction:column;
  font-family:'Nunito',sans-serif;
}

/* ── SCREENS ── */
.ees-screen {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; padding:24px;
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
.ees-screen.on { opacity:1; pointer-events:all; z-index:100; }
/* Force game screen and children to never intercept touches when inactive */
#ees-s-game { pointer-events:none !important; }
#ees-s-game.on { pointer-events:all !important; }
#ees-s-game:not(.on) * { pointer-events:none !important; }


/* ── BUTTONS ── */
.ees-btn {
  font-family:'Fredoka One',cursive; font-size:22px; color:#fff;
  background:linear-gradient(180deg,#72C752 0%,#4CAE4C 100%);
  border:none; border-radius:100px; padding:13px 42px; cursor:pointer;
  box-shadow:0 6px 0 #2A7A2A, 0 9px 22px rgba(0,0,0,.15);
  transition:transform .1s, box-shadow .1s; user-select:none; letter-spacing:.4px; touch-action:manipulation;
}
.ees-btn:hover  { transform:translateY(-2px); }
.ees-btn:active { transform:translateY(4px); box-shadow:0 2px 0 #2A7A2A; }
.ees-btn-gold {
  background:linear-gradient(180deg,#FFD700 0%,#FF9F00 100%);
  box-shadow:0 6px 0 #B46E00, 0 9px 22px rgba(0,0,0,.15); color:var(--text);
}
.ees-btn-gold:active { box-shadow:0 2px 0 #B46E00; }
.ees-btn-pink {
  background:linear-gradient(180deg,#FF85A1 0%,#E05C8A 100%);
  box-shadow:0 6px 0 #A8204C, 0 9px 22px rgba(0,0,0,.15);
}
.ees-btn-pink:active  { box-shadow:0 2px 0 #A8204C; }
.ees-btn-sm   { font-size:16px; padding:10px 28px; }
.ees-btn-full { width:100%; }
.ees-btn:disabled { opacity:.65; cursor:default; transform:none; }

/* ── WELCOME ── */
#ees-s-welcome { background:linear-gradient(180deg,#FFDDE2 0%,#D9EFCA 100%); gap:12px; }
.ees-badge {
  background:#FFD966; color:var(--text); font-family:'Fredoka One',cursive;
  font-size:13px; letter-spacing:1px; text-transform:uppercase;
  padding:6px 18px; border-radius:100px; box-shadow:0 3px 0 rgba(0,0,0,.1);
}
.ees-title {
  font-family:'Fredoka One',cursive; font-size:52px; color:var(--text);
  text-align:center; line-height:1.05;
  text-shadow:3px 3px 0 rgba(255,255,255,.65);
}
.ees-title span { color:var(--red); }
.ees-egg-row { display:flex; gap:10px; }
.ees-deco-egg {
  width:36px; height:48px;
  border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow:0 4px 8px rgba(0,0,0,.15);
}
.ees-info-box {
  background:var(--card); border-radius:18px; padding:16px 22px;
  width:100%; max-width:370px; box-shadow:0 4px 16px rgba(0,0,0,.07);
}
.ees-info-box h3 { font-family:'Fredoka One',cursive; font-size:18px; color:var(--text); margin-bottom:8px; }
.ees-info-box ul { list-style:none; display:flex; flex-direction:column; gap:7px; }
.ees-info-box li { font-size:15px; color:var(--mid); font-weight:700; display:flex; align-items:center; gap:10px; line-height:1.35; }
.ees-prize-bar {
  background:linear-gradient(135deg,#FFD700,#FFA500);
  border-radius:14px; padding:10px 20px; width:100%; max-width:370px;
  text-align:center; box-shadow:0 4px 16px rgba(255,165,0,.28);
  font-family:'Fredoka One',cursive; font-size:17px; color:var(--text);
}

/* ── LEVEL INTRO ── */
#ees-s-intro { background:linear-gradient(180deg,#C2E4FF 0%,#D9EFCA 100%); gap:16px; }
#ees-intro-level { font-family:'Fredoka One',cursive; font-size:26px; color:var(--mid); }
#ees-intro-name  { font-family:'Fredoka One',cursive; font-size:40px; color:var(--text); text-align:center; }
#ees-intro-cd {
  font-family:'Fredoka One',cursive; font-size:110px; color:var(--red);
  line-height:1; text-shadow:4px 4px 0 rgba(224,92,138,.25);
  animation:eescdPop 1s ease-out;
}
@keyframes eescdPop {
  0%  { transform:scale(2); opacity:0; }
  30% { transform:scale(.88); opacity:1; }
  100%{ transform:scale(1);  opacity:1; }
}

/* ── GAME SCREEN — absolute layout ── */
#ees-s-game {
  position: absolute !important;
  top: 0 !important; right: 0 !important;
  bottom: 0 !important; left: 0 !important;
  padding: 0 !important;
  transition: background 1.2s ease;
  overflow: hidden;
}

/* ── All levels — simple lush grass background ── */
#ees-s-game.ees-bg-lvl1,
#ees-s-game.ees-bg-lvl2,
#ees-s-game.ees-bg-lvl3 {
  background: linear-gradient(180deg,
    #7ADB44 0%,
    #5CB82A 40%,
    #4A9E20 100%
  );
}

/* Remove soil texture overlay */
#ees-s-game::after { display: none; }

/* ── Scattered flowers with stalks ── */
.ees-bg-flower {
  position: absolute; pointer-events: none; z-index: 2;
  font-size: var(--f-size, 32px); line-height: 1;
  display: flex; flex-direction: column; align-items: center;
  animation: eesFlowerSway 2.8s ease-in-out var(--f-delay, 0s) infinite;
  transform-origin: bottom center;
}
.ees-bg-flower::after {
  content: '';
  display: block;
  width: 3px;
  height: calc(var(--f-size, 32px) * 0.75);
  background: linear-gradient(180deg, #4CAE4C, #2E7A2E);
  border-radius: 2px;
  margin-top: 1px;
}
@keyframes eesFlowerSway {
  0%,100% { transform: rotate(-6deg); }
  50%      { transform: rotate(6deg); }
}
/* ── Scattered Easter eggs ── */
.ees-bg-egg {
  position: absolute; pointer-events: none; z-index: 2;
  font-size: 28px; line-height: 1;
  animation: eesEggWobble 3.4s ease-in-out var(--f-delay, 0s) infinite;
  transform-origin: bottom center;
}
@keyframes eesEggWobble {
  0%,100% { transform: rotate(-4deg) translateY(0); }
  40%     { transform: rotate(3deg)  translateY(-3px); }
  70%     { transform: rotate(-2deg) translateY(-1px); }
}

/* ── Burrow holes (replace nests) ── */
.ees-nest {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 88px !important; height: 32px !important;
  background: radial-gradient(ellipse at 50% 60%,
    #0a0503 0%,
    #1a0c05 40%,
    #2d1508 70%,
    #3d2010 100%
  ) !important;
  border-radius: 50% !important;
  box-shadow:
    inset 0 6px 18px rgba(0,0,0,.9),
    inset 0 2px 8px rgba(0,0,0,.7),
    0 3px 8px rgba(0,0,0,.4),
    0 0 0 3px rgba(80,40,10,.35) !important;
  border: none !important;
}
/* Rim highlight */
.ees-nest::before {
  content: '' !important;
  position: absolute !important;
  top: 3px !important; left: 10% !important; right: 10% !important;
  height: 6px !important;
  background: radial-gradient(ellipse, rgba(120,70,20,.4) 0%, transparent 70%) !important;
  border-radius: 50% !important;
  background-image: none !important;
}
.ees-mallet {
  position: absolute;
  pointer-events: none;
  z-index: 40;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* pivot at very bottom of handle */
  transform-origin: bottom center;
  animation: eesMalletSwing .42s cubic-bezier(.25,.85,.4,1) forwards;
  filter: drop-shadow(3px 5px 8px rgba(0,0,0,.45));
}

.ees-mallet-head {
  width: 56px;
  height: 28px;
  background: linear-gradient(180deg, #D49A44 0%, #A0662A 50%, #7A4A14 100%);
  border-radius: 8px;
  position: relative;
  box-shadow:
    inset 0 4px 6px rgba(255,210,130,.4),
    inset 0 -3px 5px rgba(0,0,0,.35),
    0 3px 0 #5A2D08;
}
/* wood grain */
.ees-mallet-head::before {
  content:'';
  position:absolute; inset:4px 6px;
  background: repeating-linear-gradient(
    0deg,
    transparent 0px, transparent 4px,
    rgba(0,0,0,.07) 4px, rgba(0,0,0,.07) 5px
  );
  border-radius:5px;
}
/* highlight strip along top */
.ees-mallet-head::after {
  content:'';
  position:absolute; top:4px; left:6px; right:6px; height:4px;
  background:rgba(255,220,140,.45);
  border-radius:3px;
}

.ees-mallet-handle {
  width: 10px;
  height: 46px;
  background: linear-gradient(90deg, #ffffff 0%, #e0e8f0 50%, #c8d4e0 100%);
  border-radius: 0 0 5px 5px;
  box-shadow:
    inset -2px 0 4px rgba(0,0,0,.12),
    inset 2px 0 4px rgba(255,255,255,.6),
    0 2px 0 rgba(0,0,0,.15);
}

@keyframes eesMalletSwing {
  0%   { transform: rotate(-90deg) scale(.75); opacity:1; }
  30%  { transform: rotate(20deg)  scale(1.05); opacity:1; }
  50%  { transform: rotate(-5deg)  scale(1.0);  opacity:1; }
  70%  { transform: rotate(10deg)  scale(.95);  opacity:.8; }
  100% { transform: rotate(15deg)  scale(.8);   opacity:0; }
}

/* HUD — sky blue, tall, big text */
#ees-hud {
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 82px !important;
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  padding: 0 20px !important;
  background: linear-gradient(180deg,#4FB8E8 0%,#87CEEB 100%);
  border-bottom: 3px solid rgba(255,255,255,.4);
  z-index: 10;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.ees-hb { display:flex; flex-direction:column; align-items:center; gap:1px; }
.ees-hl {
  font-size:12px; font-weight:800; text-transform:uppercase;
  letter-spacing:1.5px; color:rgba(255,255,255,.85);
  text-shadow:0 1px 3px rgba(0,0,0,.2);
}
.ees-hv {
  font-family:'Fredoka One',cursive; font-size:40px;
  color:#fff; line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.2);
}
#ees-hud-lives { display:flex; gap:4px; font-size:26px; }
.ees-life { transition:opacity .25s; }
.ees-life.gone { opacity:.18; }

/* Timer bar — pinned just below HUD */
#ees-tbar-wrap {
  position: absolute !important;
  top: 82px !important; left: 0 !important; right: 0 !important;
  height: 8px !important;
  background: rgba(0,0,0,.1);
  z-index: 10;
}
#ees-tbar { height:100%; width:100%; background:linear-gradient(90deg,#72C752,#FFD700,#FF6B6B); transition:width .28s linear; border-radius:0 4px 4px 0; }

/* Power status — overlaid just below timer bar */
#ees-power-status {
  position: absolute !important;
  top: 90px !important; left: 0 !important; right: 0 !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 7px !important;
  font-family: 'Fredoka One', cursive; font-size: 14px;
  z-index: 10; overflow: hidden;
  transition: height .25s ease, opacity .25s ease;
}
.ees-power-off { height:0 !important; opacity:0 !important; pointer-events:none; }
.ees-power-on  { height:26px !important; opacity:1 !important; }
.ees-power-freeze { background:rgba(100,180,255,.25); color:#1A5FAA; }
.ees-power-double { background:rgba(255,215,0,.2);   color:#886600; }
.ees-power-bomb   { background:rgba(255,80,80,.15);  color:#AA1010; }

/* Frozen tints */
#ees-s-game.ees-frozen .ees-egg:not(.ees-egg-freeze):not(.ees-egg-double):not(.ees-egg-bomb) {
  filter:saturate(.4) hue-rotate(180deg) brightness(1.1);
}
#ees-s-game.ees-frozen #ees-tbar-wrap { filter:hue-rotate(180deg); }

/* Grid — fills full height below timer bar, no grass bar */
#ees-grid {
  position: absolute !important;
  top: 90px !important;
  left: 0 !important; right: 0 !important;
  bottom: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-template-rows: repeat(2, 1fr) !important;
  gap: 12px !important;
  padding: 14px 20px 80px !important;
  -webkit-user-select: none;
  user-select: none;
}
#ees-s-game.ees-game-active { touch-action: none; }
.ees-slot {
  position: relative !important; display: flex !important;
  align-items: flex-end !important; justify-content: center !important;
  overflow: visible !important;
}
.ees-nest {
  position:absolute; bottom:0; width:90px; height:32px;
  background:radial-gradient(ellipse at 50% 60%,#8B6540,#3A1A00);
  border-radius:50%; box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.ees-nest::before {
  content:''; position:absolute; inset:4px 8px;
  background:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(255,200,80,.14) 2px,rgba(255,200,80,.14) 4px);
  border-radius:50%;
}

/* ── EGGS — emerge from burrow hole ── */
.ees-egg {
  position:absolute; bottom:10px; width:70px; height:92px;
  border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
  cursor:pointer; z-index:5;
  box-shadow:0 8px 20px rgba(0,0,0,.25), inset 0 -5px 10px rgba(0,0,0,.1), inset 0 5px 14px rgba(255,255,255,.44);
  opacity:0; transform:translateY(80%) scale(.7);
}
.ees-egg::after {
  content:''; position:absolute; left:50%; top:46%;
  transform:translate(-50%,-50%); width:58px; height:10px;
  border-top:4px solid rgba(255,255,255,.38);
  border-bottom:3px solid rgba(255,255,255,.18);
}
.ees-egg:hover { filter:brightness(1.07); }

/* Regular egg colours */
.ees-egg-pink   { background:radial-gradient(circle at 34% 30%,#FFB3C6,#FF85A1 58%,#D84070); }
.ees-egg-blue   { background:radial-gradient(circle at 34% 30%,#B8E0F7,#62B6E7 58%,#3488C0); }
.ees-egg-yellow { background:radial-gradient(circle at 34% 30%,#FFFAAA,#FFD966 58%,#E0A820); }
.ees-egg-purple { background:radial-gradient(circle at 34% 30%,#DCC8F8,#B98CE8 58%,#8040C8); }
.ees-egg-orange { background:radial-gradient(circle at 34% 30%,#FFD4B0,#FF9A5C 58%,#D05E10); }

/* Golden egg */
.ees-egg-gold {
  background:radial-gradient(circle at 34% 30%,#FFEF88,#FFD700 58%,#B87000);
  box-shadow:0 8px 28px rgba(255,215,0,.65), inset 0 -5px 10px rgba(0,0,0,.1), inset 0 5px 14px rgba(255,255,255,.5);
}
.ees-egg-gold::after { border-top-color:rgba(255,255,255,.6); }

/* Power-up eggs */
.ees-egg-freeze {
  background:radial-gradient(circle at 34% 30%,#E8F8FF,#87CEEB 58%,#3A88CC);
  box-shadow:0 8px 28px rgba(87,206,235,.5), inset 0 -5px 10px rgba(0,0,0,.1), inset 0 5px 14px rgba(255,255,255,.6);
}
.ees-egg-double {
  background:radial-gradient(circle at 34% 30%,#FFFF99,#FFDD00 58%,#CC8800);
  box-shadow:0 8px 28px rgba(255,220,0,.55), inset 0 -5px 10px rgba(0,0,0,.1), inset 0 5px 14px rgba(255,255,255,.5);
  animation:eesPowerPulse .75s ease-in-out infinite !important;
}
.ees-egg-bomb {
  background:radial-gradient(circle at 34% 30%,#FFB0B0,#FF4444 58%,#AA0000);
  box-shadow:0 8px 28px rgba(255,68,68,.5), inset 0 -5px 10px rgba(0,0,0,.1), inset 0 5px 14px rgba(255,255,255,.4);
  animation:eesPowerPulse .55s ease-in-out infinite !important;
}
@keyframes eesPowerPulse {
  0%,100% { transform:translateY(0) scale(1);      filter:brightness(1); }
  50%     { transform:translateY(-4px) scale(1.05); filter:brightness(1.18); }
}

.ees-egg-star {
  position:absolute; top:12px; left:50%; transform:translateX(-50%);
  font-size:26px; pointer-events:none; line-height:1; z-index:2;
}

/* ── EGG ANIMATIONS ── */
@keyframes eesEggRise {
  from { transform:translateY(80%) scale(.7); opacity:0; }
  to   { transform:translateY(0) scale(1);   opacity:1; }
}
@keyframes eesEggSmash {
  0%   { transform:translateY(0) scale(1);              opacity:1; }
  18%  { transform:translateY(-10px) scale(1.4) rotate(-9deg);  opacity:1; }
  40%  { transform:translateY(5px)  scale(.65) rotate(13deg);   opacity:.9; }
  65%  { transform:translateY(-5px) scale(1.15) rotate(-6deg);  opacity:.5; }
  100% { transform:translateY(0)   scale(0) rotate(22deg);      opacity:0; }
}
@keyframes eesEggSink {
  from { transform:translateY(0) scale(1);    opacity:1; }
  to   { transform:translateY(80%) scale(.5); opacity:0; }
}
/* Hop animations (moving eggs) */
@keyframes eesHopOut {
  from { transform:translateY(0) scale(1);     opacity:1; }
  to   { transform:translateY(-68px) scale(.7); opacity:0; }
}
@keyframes eesHopIn {
  0%   { transform:translateY(-68px) scale(.7); opacity:0; }
  65%  { transform:translateY(6px) scale(1.1);  opacity:1; }
  100% { transform:translateY(0) scale(1);      opacity:1; }
}

/* ── SCORE POPS & PARTICLES ── */
.ees-spop {
  position:absolute; font-family:'Fredoka One',cursive; font-size:22px;
  pointer-events:none; z-index:30; white-space:nowrap;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
  animation:eesSpop .85s ease-out forwards;
}
@keyframes eesSpop {
  0%   { transform:translateY(0) scale(.6);   opacity:1; }
  50%  { transform:translateY(-46px) scale(1.2); opacity:1; }
  100% { transform:translateY(-92px) scale(1);   opacity:0; }
}
.ees-pt { position:absolute; width:8px; height:8px; border-radius:50%; pointer-events:none; z-index:28; }

/* grass now defined in game screen absolute layout above */

/* ── COMBO DISPLAY ── */
#ees-combo-display {
  position:absolute; top:56px; left:50%; transform:translateX(-50%);
  z-index:50; pointer-events:none;
  display:flex; flex-direction:column; align-items:center; gap:1px;
  transition:opacity .2s;
}
.ees-combo-off { opacity:0; }
.ees-combo-on  { opacity:1; }
#ees-combo-x {
  font-family:'Fredoka One',cursive; font-size:44px; line-height:1;
  color:#FFD700;
  text-shadow:0 2px 10px rgba(0,0,0,.35), 0 0 24px rgba(255,215,0,.55);
  animation:eesComboScale .32s cubic-bezier(.34,1.56,.64,1);
}
#ees-combo-label {
  font-family:'Fredoka One',cursive; font-size:13px; letter-spacing:2px;
  color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.45);
}
@keyframes eesComboScale {
  from { transform:scale(.5); opacity:0; }
  to   { transform:scale(1);  opacity:1; }
}

/* ── BUNNY CHARACTER ── */
#ees-bunny {
  position:absolute; bottom:8px; right:18px;
  z-index:20; pointer-events:none;
  transform-origin:bottom center;
}
.ees-b-wrap { display:flex; flex-direction:column; align-items:center; }

/* Ears */
.ees-b-ears { display:flex; gap:9px; margin-bottom:-5px; position:relative; z-index:1; }
.ees-b-ear {
  width:11px; height:30px; background:#f2f2f2;
  border-radius:50% 50% 20% 20%;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.05);
  position:relative;
}
.ees-b-ear::after {
  content:''; position:absolute; width:5px; height:20px;
  background:#FFB3C6; border-radius:50% 50% 20% 20%;
  top:4px; left:3px;
}
.ees-b-ear-l { transform:rotate(-10deg); }
.ees-b-ear-r { transform:rotate(10deg); }

/* Head */
.ees-b-head {
  width:30px; height:27px; background:#f8f8f8;
  border-radius:50% 50% 46% 46%;
  position:relative; z-index:2;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
}
.ees-b-eye-l, .ees-b-eye-r {
  position:absolute; width:5px; height:6px;
  background:#3D2B1F; border-radius:50%; top:9px;
}
.ees-b-eye-l { left:5px; }
.ees-b-eye-r { right:5px; }
.ees-b-eye-l::after, .ees-b-eye-r::after {
  content:''; position:absolute; width:2px; height:2px;
  background:#fff; border-radius:50%; top:1px; left:1px;
}
.ees-b-nose {
  position:absolute; width:7px; height:4px; background:#FF85A1;
  border-radius:50%; bottom:5px; left:50%; transform:translateX(-50%);
}
.ees-b-cheek-l, .ees-b-cheek-r {
  position:absolute; width:8px; height:5px;
  background:rgba(255,133,161,.22); border-radius:50%; bottom:6px;
}
.ees-b-cheek-l { left:1px; }
.ees-b-cheek-r { right:1px; }

/* Body */
.ees-b-body {
  width:38px; height:32px; background:#f8f8f8;
  border-radius:50% 50% 45% 45% / 40% 40% 60% 60%;
  margin-top:-3px; position:relative; z-index:2;
  box-shadow:0 4px 8px rgba(0,0,0,.1);
}
.ees-b-tummy {
  position:absolute; width:20px; height:16px;
  background:rgba(255,210,175,.3); border-radius:50%;
  bottom:4px; left:50%; transform:translateX(-50%);
}
.ees-b-tail {
  position:absolute; width:11px; height:11px;
  background:#fff; border-radius:50%;
  right:-4px; top:5px; box-shadow:0 2px 4px rgba(0,0,0,.1);
}

/* Feet */
.ees-b-feet { display:flex; gap:7px; margin-top:-4px; }
.ees-b-foot {
  width:15px; height:9px; background:#f0f0f0;
  border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,.1);
}

/* Bunny animations */
.ees-bunny-idle #ees-bunny,
#ees-bunny.ees-bunny-idle {
  animation:eesBunnyBob 2.2s ease-in-out infinite;
}
.ees-bunny-idle .ees-b-ear-l { animation:eesBunnyEarL 3s ease-in-out infinite; }
.ees-bunny-idle .ees-b-ear-r { animation:eesBunnyEarR 3.3s ease-in-out infinite; }

#ees-bunny.ees-bunny-excited { animation:eesBunnyExcited .7s cubic-bezier(.34,1.56,.64,1) forwards; }
#ees-bunny.ees-bunny-celebrate { animation:eesBunnyCelebrate .9s ease-in-out forwards; }
#ees-bunny.ees-bunny-worried { animation:eesBunnyWorried .5s ease-in-out forwards; }

@keyframes eesBunnyBob {
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-4px); }
}
@keyframes eesBunnyEarL {
  0%,100% { transform:rotate(-10deg); }
  35%     { transform:rotate(-18deg); }
}
@keyframes eesBunnyEarR {
  0%,100% { transform:rotate(10deg); }
  40%     { transform:rotate(18deg); }
}
@keyframes eesBunnyExcited {
  0%   { transform:translateY(0) scaleX(1); }
  20%  { transform:translateY(-18px) scaleX(.88); }
  45%  { transform:translateY(3px) scaleX(1.12); }
  65%  { transform:translateY(-9px) scaleX(.94); }
  85%  { transform:translateY(2px) scaleX(1.06); }
  100% { transform:translateY(0) scaleX(1); }
}
@keyframes eesBunnyCelebrate {
  0%,100% { transform:rotate(0); }
  25%  { transform:rotate(-15deg) translateY(-10px); }
  75%  { transform:rotate(15deg) translateY(-10px); }
}
@keyframes eesBunnyWorried {
  0%,100% { transform:translateX(0); }
  25%  { transform:translateX(-4px); }
  75%  { transform:translateX(4px); }
}

/* ══════════════════════════════════════════════════════════════
   LEVEL COMPLETE
══════════════════════════════════════════════════════════════ */
#ees-s-lvlcomplete {
  background: linear-gradient(160deg,#1B3A2D 0%,#24523D 100%);
  gap:16px;
}
#ees-s-lvlcomplete::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(114,199,82,.18) 0%,transparent 70%);
}
.ees-big-icon {
  font-size:76px; position:relative; z-index:1;
  animation:eesBounceIn .55s cubic-bezier(.34,1.56,.64,1);
}
@keyframes eesBounceIn { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }

.ees-lc-score-wrap {
  position:relative; z-index:1; display:flex; flex-direction:column;
  align-items:center; gap:2px;
}
.ees-lc-score-label {
  font-size:11px; font-weight:800; letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.ees-big-title {
  font-family:'Fredoka One',cursive; font-size:36px; color:#fff;
  text-align:center; position:relative; z-index:1;
}
.ees-big-score {
  font-family:'Fredoka One',cursive; font-size:86px; color:#72C752;
  line-height:1; position:relative; z-index:1;
  text-shadow:0 0 40px rgba(114,199,82,.4);
}
.ees-score-sub {
  font-size:14px; font-weight:700; color:rgba(255,255,255,.45);
  margin-top:-10px; position:relative; z-index:1; letter-spacing:.5px;
}

/* ══════════════════════════════════════════════════════════════
   GAME OVER / FINAL SCORE
══════════════════════════════════════════════════════════════ */
#ees-s-over {
  background:linear-gradient(160deg,#1B2D45 0%,#243B5E 100%);
  gap:0;
}
#ees-s-over::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 80% 50% at 50% 20%,rgba(255,215,0,.08) 0%,transparent 70%);
}

.ees-over-icon {
  font-size:64px; position:relative; z-index:1; margin-bottom:8px;
  animation:eesBounceIn .55s cubic-bezier(.34,1.56,.64,1);
}
.ees-fl-label {
  font-size:11px; font-weight:800; letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,.4); position:relative; z-index:1; margin-bottom:4px;
}
.ees-fl-num {
  font-family:'Fredoka One',cursive; font-size:100px; color:#fff;
  line-height:1; position:relative; z-index:1; margin-bottom:6px;
  text-shadow:0 0 60px rgba(255,215,0,.25);
}
.ees-score-divider {
  width:48px; height:2px; background:rgba(255,255,255,.12);
  border-radius:2px; margin:10px 0 14px; position:relative; z-index:1;
}
.ees-cta-p {
  font-size:14px; font-weight:600; color:rgba(255,255,255,.55);
  text-align:center; max-width:270px; line-height:1.65;
  position:relative; z-index:1; margin-bottom:20px;
}
.ees-cta-p strong { color:rgba(255,255,255,.85); }
.ees-over-btns { display:flex; flex-direction:column; align-items:center; gap:10px; position:relative; z-index:1; }

/* ══════════════════════════════════════════════════════════════
   SIGNUP FORM
══════════════════════════════════════════════════════════════ */
#ees-s-signup {
  background:linear-gradient(160deg,#1B2D45 0%,#243B5E 100%) !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}

/* ── Fixed top box ── */
.ees-signup-topbar {
  flex-shrink:0;
  text-align:center;
  padding:14px 16px 12px;
  background:rgba(0,0,0,.18);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.ees-signup-title {
  font-family:'Fredoka One',cursive !important;
  font-size:20px !important; color:#ffffff !important;
  line-height:1.25 !important; margin:0 0 8px 0 !important;
  padding:0 !important;
}
.ees-signup-score-row {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15);
  border-radius:100px; padding:4px 18px;
}
.ees-signup-score-label {
  font-size:12px !important; font-weight:700 !important;
  color:rgba(255,255,255,.55) !important; margin:0 !important;
}
.ees-ssb-score {
  font-family:'Fredoka One',cursive !important;
  font-size:26px !important; color:#72C752 !important;
  line-height:1 !important;
}

/* ── Scrollable form body ── */
.ees-signup-body {
  flex:1 1 0px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:14px 14px 16px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.ees-signup-body::-webkit-scrollbar { display:none; }

/* ── Form card ── */
.ees-form-card {
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:14px !important;
  padding:13px 13px 14px !important;
  width:100% !important;
  display:flex !important; flex-direction:column !important;
  gap:0 !important; box-shadow:none !important;
}

.ees-fc-head { margin-bottom:9px !important; }
.ees-fc-head h2 {
  font-family:'Fredoka One',cursive !important;
  font-size:16px !important; color:rgba(255,255,255,.9) !important;
  margin:0 0 2px 0 !important;
}
.ees-fc-head p {
  font-size:11px !important; font-weight:600 !important;
  color:rgba(255,255,255,.42) !important;
  line-height:1.3 !important; margin:0 !important;
}

/* ── Field groups ── */
.ees-fg {
  display:flex !important; flex-direction:column !important;
  margin-bottom:8px !important;
}
.ees-fg:last-of-type { margin-bottom:0 !important; }
.ees-fg > label {
  font-size:9px !important; font-weight:800 !important;
  text-transform:uppercase !important; letter-spacing:1px !important;
  color:rgba(255,255,255,.5) !important;
  margin:0 0 4px 0 !important; padding:0 !important; display:block !important;
}

/* ── White inputs ── */
#ees-wrap input[type="text"],
#ees-wrap input[type="tel"],
#ees-wrap input[type="email"] {
  font-family:'Nunito',sans-serif !important;
  font-size:14px !important; font-weight:600 !important;
  color:#1B2D45 !important; background-color:#ffffff !important;
  border:2px solid #ffffff !important; border-radius:7px !important;
  padding:9px 12px !important; outline:none !important;
  width:100% !important; box-sizing:border-box !important;
  -webkit-appearance:none !important; appearance:none !important;
  box-shadow:none !important; margin:0 !important;
  line-height:1.3 !important; display:block !important;
  transition:border-color .18s, box-shadow .18s !important;
}
#ees-wrap input[type="text"]::placeholder,
#ees-wrap input[type="tel"]::placeholder,
#ees-wrap input[type="email"]::placeholder {
  color:#9CA3AF !important; font-weight:500 !important; opacity:1 !important;
}
#ees-wrap input[type="text"]:focus,
#ees-wrap input[type="tel"]:focus,
#ees-wrap input[type="email"]:focus {
  border-color:#4CAE4C !important;
  box-shadow:0 0 0 3px rgba(76,174,76,.22) !important;
  background-color:#ffffff !important; color:#1B2D45 !important;
  outline:none !important;
}
#ees-wrap input.err { border-color:#EF4444 !important; }

.ees-errmsg {
  font-size:10px !important; font-weight:700 !important;
  color:#FF8888 !important; min-height:12px !important;
  margin:3px 0 0 0 !important; padding:0 !important;
}

/* ── Address grouped block ── */
.ees-addr-group {
  background:#ffffff !important; border:2px solid #ffffff !important;
  border-radius:7px !important; overflow:hidden !important;
  transition:border-color .18s, box-shadow .18s !important;
}
.ees-addr-group:focus-within {
  border-color:#4CAE4C !important;
  box-shadow:0 0 0 3px rgba(76,174,76,.22) !important;
}
.ees-addr-group.err { border-color:#EF4444 !important; }
.ees-addr-row { display:flex !important; border-top:1px solid #E5E7EB !important; }
.ees-addr-row:first-child { border-top:none !important; }
#ees-wrap .ees-addr-group input[type="text"] {
  border:none !important; border-radius:0 !important;
  border-right:1px solid #E5E7EB !important;
  box-shadow:none !important; flex:1 !important;
  padding:7px 10px !important;
  background:#ffffff !important; color:#1B2D45 !important;
}
#ees-wrap .ees-addr-group .ees-addr-field-wrap:last-child input[type="text"] {
  border-right:none !important;
}
#ees-wrap .ees-addr-group input[type="text"]:focus {
  border-color:transparent !important; box-shadow:none !important;
  background:rgba(76,174,76,.04) !important;
}
.ees-addr-sublabel {
  font-size:8px !important; font-weight:800 !important;
  letter-spacing:1px !important; text-transform:uppercase !important;
  color:#9CA3AF !important; padding:5px 10px 1px !important;
  display:block !important; line-height:1 !important;
}
.ees-addr-field-wrap { display:flex !important; flex-direction:column !important; flex:1 !important; }
.ees-addr-field-wrap + .ees-addr-field-wrap { border-left:1px solid #E5E7EB !important; }

/* ── Divider ── */
.ees-form-divider {
  height:1px !important; background:rgba(255,255,255,.1) !important;
  margin:2px 0 8px !important;
}

/* ── Privacy note ── */
.ees-disclaimer {
  display:flex !important; align-items:flex-start !important; gap:6px !important;
  font-size:10px !important; font-weight:600 !important;
  color:rgba(255,255,255,.35) !important; line-height:1.4 !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:7px !important; padding:7px 10px !important;
  margin:8px 0 10px 0 !important;
}
.ees-disclaimer-icon { font-size:11px; flex-shrink:0; margin-top:1px; }

/* ── Submit button ── */
.ees-btn-submit {
  width:100% !important; font-family:'Fredoka One',cursive !important;
  font-size:17px !important; color:#fff !important;
  background:linear-gradient(180deg,#5BC85B 0%,#3E9E3E 100%) !important;
  border:none !important; border-radius:10px !important;
  padding:13px 20px !important; cursor:pointer !important;
  box-shadow:0 4px 0 #2A6E2A, 0 6px 16px rgba(62,158,62,.3) !important;
  transition:transform .1s, box-shadow .1s !important;
  display:flex !important; align-items:center !important;
  justify-content:center !important; gap:8px !important;
  letter-spacing:.3px !important;
}
.ees-btn-submit:hover  { transform:translateY(-2px) !important; }
.ees-btn-submit:active { transform:translateY(3px) !important; box-shadow:0 1px 0 #2A6E2A !important; }
.ees-btn-submit:disabled { opacity:.6 !important; cursor:default !important; transform:none !important; }


/* ══════════════════════════════════════════════════════════════
   CONFIRMATION / DONE
══════════════════════════════════════════════════════════════ */
#ees-s-done {
  background:linear-gradient(160deg,#1B3A2D 0%,#24523D 100%);
  gap:0; padding:28px 20px;
}
#ees-s-done::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(114,199,82,.15) 0%,transparent 60%);
}

.ees-done-check {
  width:68px; height:68px; border-radius:50%;
  background:linear-gradient(135deg,#72C752,#4CAE4C);
  display:flex; align-items:center; justify-content:center;
  font-size:34px; margin-bottom:14px; position:relative; z-index:1;
  box-shadow:0 8px 28px rgba(114,199,82,.35), 0 0 0 8px rgba(114,199,82,.1);
  animation:eesBounceIn .55s cubic-bezier(.34,1.56,.64,1);
}
.ees-done-title {
  font-family:'Fredoka One',cursive; font-size:32px; color:#fff;
  text-align:center; position:relative; z-index:1; margin-bottom:6px;
}
.ees-done-sub {
  font-size:14px; font-weight:600; color:rgba(255,255,255,.55);
  text-align:center; max-width:290px; line-height:1.65;
  position:relative; z-index:1; margin-bottom:20px;
}
.ees-done-sub strong { color:rgba(255,255,255,.85); }

/* Leaderboard card */
.ees-lb-card {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:18px; padding:16px 18px; width:100%;
  backdrop-filter:blur(8px); position:relative; z-index:1;
  margin-bottom:16px;
}
.ees-lb-card h3 {
  font-family:'Fredoka One',cursive; font-size:17px; color:#fff;
  text-align:center; margin-bottom:12px; opacity:.85;
}
.ees-lb-row {
  display:flex; align-items:center; gap:10px;
  padding:8px 0; border-bottom:1px solid rgba(255,255,255,.07);
}
.ees-lb-row:last-child { border-bottom:none; }
.ees-lb-rk {
  font-family:'Fredoka One',cursive; font-size:18px;
  width:30px; text-align:center; color:rgba(255,255,255,.4);
}
.ees-lb-nm {
  flex:1; font-weight:700; font-size:14px; color:rgba(255,255,255,.8);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ees-lb-sc {
  font-family:'Fredoka One',cursive; font-size:18px; color:#72C752;
}

/* Deco floaters */
.ees-fl { position:absolute; border-radius:50% 50% 50% 50%/60% 60% 40% 40%; opacity:.12; pointer-events:none; }

/* Spinner */
.ees-spin {
  width:18px; height:18px; border:2.5px solid rgba(255,255,255,.35);
  border-top-color:#fff; border-radius:50%;
  animation:eesSpin .6s linear infinite; display:inline-block;
}
@keyframes eesSpin { to{transform:rotate(360deg)} }

@media(max-width:540px) {
  #ees-wrap { border-radius:0; height:480px; max-width:100%; }
  #ees-wrap.ees-wrap--tall { height:100svh; }
}
