.easter-egg-control { position: fixed; left: clamp(14px, 2.5vw, 34px); bottom: clamp(16px, 3vh, 34px); z-index: 80; display: grid; justify-items: center; transition: opacity .25s ease, transform .25s ease; }
.easter-egg-control.is-used { opacity: 0; transform: scale(.75); pointer-events: none; }
.easter-egg-button { width: 102px; aspect-ratio: 1; padding: 14px 10px; border: 3px solid #ff919b; border-radius: 50%; color: #fff; background: radial-gradient(circle at 34% 28%, #ff525f, #c80018 68%, #79000d); box-shadow: 0 14px 34px rgba(184, 0, 20, .38), inset 0 2px 0 rgba(255, 255, 255, .3); cursor: pointer; transform: rotate(-3deg); transition: transform .2s ease, box-shadow .2s ease; }
.easter-egg-button:hover { transform: rotate(2deg) scale(1.06); box-shadow: 0 17px 42px rgba(184, 0, 20, .5), inset 0 2px 0 rgba(255, 255, 255, .35); }
.easter-egg-button:focus-visible { outline: 4px solid rgba(255, 145, 155, .45); outline-offset: 4px; }
.easter-egg-button:disabled { cursor: wait; }
.easter-egg-button strong, .easter-egg-button small { display: block; }
.easter-egg-button strong { font: 950 12px/1.05 "JetBrains Mono", monospace; letter-spacing: -.04em; }
.easter-egg-button small { margin-top: 7px; font: 700 7px/1.15 "JetBrains Mono", monospace; opacity: .82; }
.easter-egg-cat { position: fixed; left: 50%; bottom: 0; z-index: 79; width: min(377px, 72vw); height: min(715px, 78vh); height: min(715px, 78dvh); max-width: calc(100vw - 32px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); pointer-events: none; transform: translate(-50%, 105%); filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .38)); }
.easter-egg-cat img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: bottom center; }
.easter-egg-cat > button { position: absolute; top: 6px; right: 2px; z-index: 1; width: 38px; height: 38px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; color: #fff; background: rgba(7, 14, 22, .75); font-size: 25px; line-height: 1; cursor: pointer; pointer-events: auto; box-shadow: 0 8px 20px rgba(0, 0, 0, .3); }
.easter-egg-cat > button:focus-visible { outline: 3px solid rgba(255, 145, 155, .6); outline-offset: 3px; }
.easter-egg-cat.is-rising { animation: easter-cat-rise 4.2s cubic-bezier(.16, .72, .25, 1) forwards; }
.easter-egg-cat.is-leaving { animation: easter-cat-leave 3.2s cubic-bezier(.65, 0, .84, .28) forwards; }
@keyframes easter-cat-rise { 0% { transform: translate(-50%, 105%); } 72% { transform: translate(-50%, 7%); } 100% { transform: translate(-50%, 0); } }
@keyframes easter-cat-leave { 0% { transform: translate(-50%, 0); } 100% { transform: translate(-50%, 108%); } }
@media (max-width: 700px) {
  .easter-egg-button { width: 90px; }
  .easter-egg-button strong { font-size: 10px; }
  .easter-egg-button small { font-size: 6px; }
  .easter-egg-cat { bottom: 12px; bottom: max(12px, env(safe-area-inset-bottom, 0px)); width: min(58vw, 230px); height: min(480px, 54vh); height: min(480px, 54dvh); max-width: calc(100vw - 40px); max-height: calc(100vh - 28px); max-height: calc(100dvh - env(safe-area-inset-bottom, 0px) - 28px); }
  .easter-egg-cat > button { top: 2px; right: -8px; width: 34px; height: 34px; font-size: 22px; }
}
@media (max-width: 700px) and (max-height: 520px) {
  .easter-egg-cat { width: min(40vw, 170px); height: min(260px, 62vh); height: min(260px, 62dvh); }
}
@media (prefers-reduced-motion: reduce) { .easter-egg-cat.is-rising, .easter-egg-cat.is-leaving { animation-duration: .01ms; } .easter-egg-control, .easter-egg-button { transition: none; } }
