/* Lane 190: cargo-full call-out and cargo HUD pulse. Tokens from css/ui-kit.css only; no colour literals. Reduced motion = static highlight. */
.cargo-callout { position: fixed; left: 50%; top: 24%; transform: translateX(-50%); z-index: 9000; display: flex; flex-direction: column; align-items: center; gap: var(--msh-space-1); padding: var(--msh-space-2) var(--msh-space-4); text-align: center; pointer-events: none; max-width: calc(100vw - 32px); box-sizing: border-box; }
.cargo-callout[hidden] { display: none; }
.cargo-callout-title { font-size: var(--msh-font-xl); letter-spacing: .08em; color: var(--msh-accent-hi); }
.cargo-callout-line { font-size: var(--msh-font-md); color: var(--msh-text-hi); }
.cargo-callout:not(.msh-cargo-still) { animation: cargo-callout-pop .5s ease-out; }
@keyframes cargo-callout-pop { 0% { transform: translateX(-50%) scale(.7); opacity: 0; } 70% { transform: translateX(-50%) scale(1.06); opacity: 1; } 100% { transform: translateX(-50%) scale(1); } }
#stack-meter-container.msh-cargo-full { border-color: var(--msh-warn); box-shadow: 0 0 0 2px var(--msh-warn); }
#stack-meter-container.msh-cargo-full:not(.msh-cargo-still) { animation: cargo-hud-pulse 1s ease-in-out infinite; }
#stack-meter-container.msh-cargo-still { box-shadow: 0 0 0 3px var(--msh-warn); }
@keyframes cargo-hud-pulse { 0%, 100% { box-shadow: 0 0 0 1px var(--msh-warn); } 50% { box-shadow: 0 0 0 5px var(--msh-warn); } }
#cargo-stack-label { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .cargo-callout, #stack-meter-container.msh-cargo-full { animation: none !important; } }
html.reduce-motion .cargo-callout, html.reduce-motion #stack-meter-container.msh-cargo-full { animation: none !important; }
