/* Easter eggs (js/eggs.js) */
.egg-toast { position: fixed; left: 50%; bottom: 24px; z-index: 30; width: max-content; max-width: min(92vw, 420px); padding: 12px 20px;
             translate: -50% 20px; opacity: 0; visibility: hidden; pointer-events: none; text-align: center;
             background: var(--night); border: 1px solid var(--gold); color: var(--cream); font: 17px/1.4 var(--text-font);
             box-shadow: 0 8px 24px rgba(0, 0, 0, .5); transition: opacity .3s, translate .3s, visibility .3s; }
.egg-toast.show { translate: -50% 0; opacity: 1; visibility: visible; }
.egg-toast p { margin: 0; }
.egg-toast.sticky { pointer-events: auto; padding-bottom: 14px; }
.egg-toast button, .egg-actions a { display: block; margin: 12px auto 0; padding: 6px 18px; border: 1px solid var(--gold); background: transparent; color: var(--gold);
                    font: inherit; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.egg-toast button:hover, .egg-toast button:focus-visible, .egg-actions a:hover, .egg-actions a:focus-visible { background: var(--gold); color: var(--night); }
.egg-prize { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(209, 187, 135, .35); }
.egg-prize span { display: block; font-size: 14px; }
.egg-prize strong { display: block; margin-top: 2px; color: var(--gold); font: 400 clamp(22px, 8vw, 34px)/1.2 var(--kerned); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.egg-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 10px; }
.egg-confetti { position: fixed; inset: 0; z-index: 29; width: 100%; height: 100%; pointer-events: none; }
.egg-toast small { display: block; margin-top: 4px; color: var(--gold); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }

.egg-heart { position: fixed; z-index: 30; pointer-events: none; }

/* A mouse left where it was would otherwise hover a card as the page scrolls under it and flip it back */
.egg-busy .card { pointer-events: none; }

.egg-flash { position: fixed; inset: 0; z-index: 28; pointer-events: none; opacity: 0;
             background: radial-gradient(ellipse at center, rgba(149, 7, 26, .15) 30%, rgba(149, 7, 26, .7) 100%); }

.egg-imp { position: fixed; right: 4vw; bottom: 0; z-index: 25; width: 120px; translate: 0 110%; pointer-events: none;
           transition: translate .5s cubic-bezier(.2, .9, .3, 1.2); }
.egg-imp.show { translate: 0 0; }
.egg-imp img { display: block; width: 100%; height: auto; }
.egg-imp p { position: absolute; right: 0; bottom: 100%; width: 210px; margin: 0 0 4px; padding: 8px 12px; border-radius: 12px;
             background: var(--cream); color: var(--ink); font: 15px/1.35 var(--text-font); }

.egg-demon .footer-title { filter: sepia(1) saturate(5) hue-rotate(-35deg); }

@media (prefers-reduced-motion: reduce) {
  .egg-toast, .egg-imp { transition: none; }
}
