/* Wave survival: the wave, ships left, kills and streak (top left, where the wordmark was), and the wave banners. */
.wave-hud{position:fixed;left:42px;top:30px;z-index:31;pointer-events:none;display:flex;flex-direction:column;gap:5px;
  color:var(--cream);text-shadow:0 1px 2px #000a,0 0 14px #0007}
.wave-hud-eyebrow{font-size:9px;font-weight:600;letter-spacing:2.8px;color:var(--gold)}
.wave-hud-wave{font:400 30px/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.5px}
.wave-hud-left{font:italic 12px Georgia,'Times New Roman',serif;color:#f2e8d1d9}
.wave-hud-tally{display:flex;gap:16px;margin-top:6px;font-size:9px;font-weight:600;letter-spacing:2px;color:#fffdf3c4}
.wave-hud-tally i{font-style:normal}
.wave-hud-tally b{font:400 19px Manrope,sans-serif;letter-spacing:-.5px;color:var(--cream);margin-right:5px;display:inline-block}
.wave-hud-kills.pop b{animation:wave-pop .55s cubic-bezier(.2,1.6,.4,1)}
.wave-hud-streak{opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s}
.wave-hud-streak.shown{opacity:1;transform:none}
.wave-hud-streak b{color:#ffcf7a}
.wave-hud-feed{display:flex;flex-direction:column;gap:3px;margin-top:6px;font:italic 11px Georgia,'Times New Roman',serif;color:#f2e8d1c4}
.wave-hud-feed span{animation:wave-feed-in .4s ease both;transition:opacity 1s}
.wave-hud-feed span.gone{opacity:0}
/* Small type needs a darker halo to read against a bright sky. */
.wave-hud-eyebrow,.wave-hud-left,.wave-hud-tally,.wave-hud-feed,.wave-banner-eyebrow,.wave-banner-detail{text-shadow:0 1px 2px #000d,0 0 6px #000c,0 0 14px #0009}
@keyframes wave-pop{from{transform:scale(1.7);color:#ffe6b8}to{transform:none}}
@keyframes wave-feed-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

/* Banner: rises in at the centre, holds, then fades. */
.wave-banner{position:fixed;left:50%;top:27vh;z-index:31;pointer-events:none;transform:translate(-50%,10px);opacity:0;
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;white-space:nowrap;
  color:var(--cream);text-shadow:0 2px 4px #000a,0 0 30px #000a;transition:opacity .9s ease,transform .9s ease}
.wave-banner.shown{opacity:1;transform:translate(-50%,0);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.3,1)}
.wave-banner-eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:3.4px;color:var(--gold)}
.wave-banner-eyebrow::before,.wave-banner-eyebrow::after{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.wave-banner-eyebrow::after{transform:scaleX(-1)}
.wave-banner strong{font:400 clamp(44px,6vw,84px)/1 Georgia,'Times New Roman',serif;letter-spacing:-1.5px}
.wave-banner-detail{font:italic 14px Georgia,'Times New Roman',serif;color:#f2e8d1d9}
@media(prefers-reduced-motion:reduce){.wave-banner,.wave-banner.shown{transition:opacity .4s}.wave-hud-kills.pop b,.wave-hud-feed span{animation:none}}
@media(max-width:850px){.wave-hud{left:25px;top:23px}.wave-hud-wave{font-size:24px}}
