.egg-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  background: var(--card-bg, #0f0f0f);
  border: 1px solid var(--border, #222);
  border-left: 3px solid var(--accent, #ff1a1a);
  border-radius: 8px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, .6), 0 0 24px rgba(255, 26, 26, .12);
  transform: translateY(24px);
  opacity: 0;
  transition: transform .45s cubic-bezier(.2, .9, .3, 1.2), opacity .45s ease;
  max-width: 340px;
  pointer-events: none;
}

.egg-toast--show {
  transform: translateY(0);
  opacity: 1;
}

.egg-toast-icon {
  color: var(--accent, #ff1a1a);
  font-size: 20px;
  animation: eggIconPulse 1.4s ease-in-out infinite;
}

@keyframes eggIconPulse {
  0%, 100% { transform: scale(1); opacity: .8; }
  50% { transform: scale(1.25); opacity: 1; }
}

.egg-toast-label {
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--accent, #ff1a1a);
  margin-bottom: 2px;
}

.egg-toast-title {
  font-size: 13px;
  color: var(--text, #f0f0f0);
  line-height: 1.35;
}

.egg-glitch {
  animation: eggGlitch .5s steps(2, end);
}

@keyframes eggGlitch {
  0%   { transform: translate(0); filter: none; }
  15%  { transform: translate(-3px, 1px) skewX(-4deg); filter: hue-rotate(90deg); }
  30%  { transform: translate(3px, -1px) skewX(4deg); text-shadow: -2px 0 #ff1a1a, 2px 0 #1af0ff; }
  45%  { transform: translate(-2px, 0); }
  60%  { transform: translate(2px, 1px) skewX(-2deg); text-shadow: 2px 0 #ff1a1a, -2px 0 #1af0ff; }
  75%  { transform: translate(-1px, -1px); filter: hue-rotate(-45deg); }
  100% { transform: translate(0); filter: none; text-shadow: none; }
}

.egg-cat {
  position: absolute;
  top: -26px;
  right: -6px;
  width: 44px;
  height: 28px;
  color: var(--text, #f0f0f0);
  cursor: pointer;
  z-index: 5;
  animation: eggCatArrive .8s cubic-bezier(.2, .9, .3, 1.3) both;
}

.egg-cat svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

@keyframes eggCatArrive {
  from { transform: translateY(-14px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

.egg-cat-tail {
  transform-origin: 9px 32px;
  animation: eggTailSway 2.6s ease-in-out infinite;
}

@keyframes eggTailSway {
  0%, 100% { transform: rotate(0deg); }
  50%      { transform: rotate(14deg); }
}

.egg-cat-eyes {
  transform-origin: center 21px;
  animation: eggBlink 5s infinite;
}

@keyframes eggBlink {
  0%, 92%, 100% { transform: scaleY(1); }
  95%           { transform: scaleY(.1); }
}

/* Кот убегает по клику */
.egg-cat--run {
  animation: eggCatRun .85s ease-in forwards;
}

@keyframes eggCatRun {
  to { transform: translateX(120px) translateY(-10px); opacity: 0; }
}

.egg-breach {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, transparent 40%, rgba(255, 0, 0, .18) 100%);
  animation: eggBreachPulse 1.1s ease-in-out infinite;
}

@keyframes eggBreachPulse {
  0%, 100% { background-color: rgba(120, 0, 0, 0); }
  50%      { background-color: rgba(120, 0, 0, .14); }
}

.egg-breach-banner {
  background: rgba(10, 0, 0, .92);
  border: 2px solid #ff1a1a;
  border-radius: 6px;
  padding: 22px 42px;
  text-align: center;
  box-shadow: 0 0 60px rgba(255, 26, 26, .4);
  animation: eggBannerIn .4s ease-out both;
}

@keyframes eggBannerIn {
  from { transform: translateY(-30px) scale(.9); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}

.egg-breach-title {
  color: #ff1a1a;
  font-size: 22px;
  letter-spacing: .3em;
  margin-bottom: 8px;
  animation: eggBlinkText .7s steps(1) infinite;
}

@keyframes eggBlinkText {
  50% { opacity: .25; }
}

.egg-breach-text {
  color: #fff;
  font-size: 15px;
  letter-spacing: .08em;
}

.egg-breach-sub {
  color: #aaa;
  font-size: 11px;
  margin-top: 8px;
  letter-spacing: .06em;
}

.egg-breach--out {
  transition: opacity .6s ease;
  opacity: 0;
}

.egg-shake {
  animation: eggShake .5s ease-in-out 4;
}

@keyframes eggShake {
  0%, 100% { transform: translate(0); }
  20% { transform: translate(-2px, 1px); }
  40% { transform: translate(2px, -1px); }
  60% { transform: translate(-1px, -1px); }
  80% { transform: translate(1px, 1px); }
}

.egg-spin {
  animation: eggSpin .7s cubic-bezier(.3, .6, .3, 1.1);
}

@keyframes eggSpin {
  to { transform: rotate(360deg); }
}

.egg-page-glitch {
  animation: eggPageGlitch .4s steps(3, end);
}

@keyframes eggPageGlitch {
  0%   { filter: none; }
  25%  { filter: hue-rotate(120deg) saturate(3); transform: translateX(-4px); }
  50%  { filter: invert(.9); transform: translateX(4px) skewX(1deg); }
  75%  { filter: hue-rotate(-90deg); transform: translateX(-2px); }
  100% { filter: none; transform: none; }
}

.egg-walker {
  position: fixed;
  bottom: 6px;
  left: -80px;
  width: 56px;
  height: 36px;
  color: var(--text-muted, #aaa);
  z-index: 9998;
  pointer-events: none;
  animation: eggWalk 7s linear forwards;
}

@keyframes eggWalk {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(100vw + 160px)); }
}

.egg-walker-legs {
  animation: eggLegs .25s steps(2) infinite;
}

@keyframes eggLegs {
  50% { transform: translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
  .egg-toast { transition: opacity .3s ease; transform: none; }
  .egg-toast-icon,
  .egg-cat,
  .egg-cat-tail,
  .egg-cat-eyes,
  .egg-breach,
  .egg-breach-title,
  .egg-walker-legs { animation: none; }
  .egg-glitch,
  .egg-spin,
  .egg-page-glitch,
  .egg-shake { animation: none; }
}