/* Random-event flashy banner */
#evt-banner { position: fixed; left: 0; right: 0; top: 15%; z-index: 80; display: flex; justify-content: center; pointer-events: none; }
.evt-card {
  --evt: #ffd21e; text-align: center; padding: 18px 30px; border-radius: 16px; border: 2px solid var(--evt);
  background: rgba(10, 8, 6, .84); box-shadow: 0 0 42px -6px var(--evt), 0 12px 40px rgba(0, 0, 0, .5);
  transform: scale(.3) rotate(-4deg); opacity: 0; max-width: min(560px, 92vw);
}
.evt-card.go { animation: evtpop .5s cubic-bezier(.2, 1.5, .4, 1) forwards; }
.evt-card.out { animation: evtout .5s ease forwards; }
@keyframes evtpop { 0% { transform: scale(.3) rotate(-4deg); opacity: 0; } 60% { transform: scale(1.06) rotate(1deg); opacity: 1; } 100% { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes evtout { to { transform: scale(1.12) translateY(-26px); opacity: 0; } }
.evt-rarity { font: 800 .6rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--evt); opacity: .85; margin-bottom: 6px; }
.evt-flash { font: 900 italic clamp(1.6rem, 5.5vw, 2.9rem)/1 ui-sans-serif, system-ui, sans-serif; color: var(--evt); text-shadow: 0 2px 0 #000, 0 0 26px var(--evt); letter-spacing: -.01em; }
.evt-name { font: 800 1rem/1.2 ui-sans-serif, system-ui, sans-serif; color: #fff; margin-top: 8px; }
.evt-blurb { font: 500 .82rem/1.35 ui-sans-serif, system-ui, sans-serif; color: #e8e2d6; margin: 5px auto 0; max-width: 460px; }
.evt-card.evt-epic { box-shadow: 0 0 64px -4px var(--evt), 0 0 130px -22px var(--evt), 0 12px 40px rgba(0, 0, 0, .6); border-width: 3px; }
@media (prefers-reduced-motion: reduce) { .evt-card.go, .evt-card.out { animation: none; opacity: 1; transform: none; } }

/* Event animation extras */
.wrap.evt-quake { animation: evtquake .5s ease; }
@keyframes evtquake { 0%,100% { transform: translate(0,0); } 20% { transform: translate(-6px,3px) rotate(-.3deg); } 40% { transform: translate(6px,-3px); } 60% { transform: translate(-4px,2px); } 80% { transform: translate(4px,-2px); } }
.evt-rays { position: fixed; inset: -60%; z-index: 78; pointer-events: none; opacity: .5; transition: opacity .7s ease;
  background: repeating-conic-gradient(from 0deg at 50% 42%, var(--evt) 0deg 3deg, transparent 3deg 15deg);
  -webkit-mask: radial-gradient(circle at 50% 42%, #000 0%, transparent 58%); mask: radial-gradient(circle at 50% 42%, #000 0%, transparent 58%);
  animation: evtrayspin 7s linear infinite; }
.evt-rays.out { opacity: 0; }
@keyframes evtrayspin { to { transform: rotate(360deg); } }
.evt-win { position: fixed; left: 50%; bottom: 84px; transform: translate(-50%,20px) scale(.9); z-index: 82; pointer-events: none;
  background: rgba(10,8,6,.9); border: 2px solid #ffd21e; border-radius: 14px; padding: 12px 16px; text-align: center;
  box-shadow: 0 0 40px -6px #ffd21e, 0 12px 40px rgba(0,0,0,.5); opacity: 0; transition: opacity .3s ease, transform .3s ease; }
.evt-win.show { opacity: 1; transform: translate(-50%,0) scale(1); }
.evt-win-title { font: 800 .64rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #ffd21e; margin-bottom: 8px; }
.evt-slot { display: flex; gap: 8px; justify-content: center; }
.evt-reel { font-size: 2.1rem; width: 2.6rem; height: 2.6rem; display: flex; align-items: center; justify-content: center; background: #14140f; border: 2px solid #5b5f67; border-radius: 8px; }
.evt-reel.land { border-color: #ffd21e; animation: evtland .25s ease; }
@keyframes evtland { 0% { transform: scale(1.25); } 100% { transform: scale(1); } }
.evt-slot-msg { font: 700 .78rem/1.3 ui-sans-serif, system-ui, sans-serif; color: #e8e2d6; margin-top: 8px; max-width: 300px; margin-left: auto; margin-right: auto; }
@media (prefers-reduced-motion: reduce) { .wrap.evt-quake, .evt-rays { animation: none; } }
