/* Light stays anchored to the selection screen; lettering remains readable. */
.machine-arrival { position:absolute; inset:-8%; pointer-events:none; opacity:0; transition:opacity .65s ease; border-radius:25% / 15%; mix-blend-mode:screen; }
.machine-arrival::before { content:''; position:absolute; inset:-25%; border-radius:50%; background:radial-gradient(ellipse,#fff5cb55 0%,#ffcf7350 30%,#ffcc6b18 52%,transparent 72%); }
.machine-arrival::after { content:''; position:absolute; inset:7%; border-radius:20% / 12%; box-shadow:0 0 15px 4px #fff7d866,0 0 38px 13px #ffcf7044; }
.machine-arrival.is-arriving { opacity:1; }
.machine-arrival.is-arriving::before { animation:machine-arrival-breath 5.8s ease-in-out both; }
.machine-arrival i { position:absolute; width:12px; height:12px; background:#fff6d5; clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%); opacity:0; }
.machine-arrival i:nth-child(1) { left:0; top:17%; }
.machine-arrival i:nth-child(2) { right:-4%; top:65%; width:8px; height:8px; }
.machine-arrival i:nth-child(3) { left:75%; top:0; width:9px; height:9px; }
.machine-arrival.is-arriving i { animation:machine-arrival-spark 1.5s ease-in-out .8s both; }
.machine-arrival.is-arriving i:nth-child(2) { animation-delay:1.2s; }
.machine-arrival.is-arriving i:nth-child(3) { animation-delay:1.5s; }
@keyframes machine-arrival-breath { 0% { opacity:0; transform:scale(.92); } 28% { opacity:1; transform:scale(1.08); } 58% { opacity:.52; transform:scale(1); } 80% { opacity:.8; transform:scale(1.04); } 100% { opacity:.35; transform:scale(1); } }
@keyframes machine-arrival-spark { 0%,100% { opacity:0; transform:scale(.3) rotate(-12deg); } 40% { opacity:.8; transform:scale(1) rotate(0); } }
@media(prefers-reduced-motion:reduce) { .machine-arrival::before,.machine-arrival i { animation:none!important; } .machine-arrival i { display:none; } .machine-arrival { transition:opacity .2s; } }
