.machine-round{text-align:center;font-size:18px;margin:12px 0}.machine-round strong{font-size:24px}.machine-round span{display:block;font-size:14px;color:#647272}.machine-progress{flex-wrap:wrap;gap:8px!important}.sequence-preview[hidden],#machine-play[hidden]{display:none!important}
.machine-celebration .machine-button{animation:machine-dance .65s ease-in-out 3}.machine-celebration .machine-button:nth-child(2){animation-delay:.12s}.machine-celebration .machine-button:nth-child(3){animation-delay:.24s}.machine-celebration .machine-button:nth-child(4){animation-delay:.36s}
.machine-winner{position:relative;overflow:hidden}.machine-winner h2{animation:machine-ping .8s ease 2}.machine-confetti{position:absolute;inset:0;pointer-events:none}.machine-confetti span{position:absolute;left:var(--left);top:0;color:var(--colour);font-size:22px;animation:machine-confetti 2.6s ease-out var(--delay) both}
@keyframes machine-dance{50%{transform:translateY(-12px) rotate(5deg);filter:brightness(1.25)}}@keyframes machine-ping{50%{transform:scale(1.08);color:#c36533}}@keyframes machine-confetti{0%{transform:translateY(-40px) rotate(0deg);opacity:0}15%{opacity:1}100%{transform:translateY(380px) rotate(240deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.machine-celebration *,.machine-winner *{animation:none!important}.machine-confetti span{top:12px;opacity:1}}.quiet .machine-celebration *,.quiet .machine-winner *{animation:none!important}.quiet .machine-confetti span{top:12px;opacity:1}
.machine-impact{position:relative;overflow:hidden}
.machine-crack{position:fixed;inset:0;z-index:100;pointer-events:none;background:rgba(45,56,64,.08)}
.machine-crack svg{width:100%;height:100%;overflow:visible}
.machine-fractures{fill:none;stroke:#334a50;stroke-width:.65;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:180;animation:machine-crack-grow .35s ease-out both;filter:drop-shadow(1px 1px 0 #fffdf5)}
.machine-impact-ring{fill:none;stroke:#fffdf5;stroke-width:1;transform-origin:48px 46px;animation:machine-impact-ring .7s ease-out both}
.machine-impact .button-board{animation:machine-impact-jolt .35s ease-out}
@keyframes machine-crack-grow{from{stroke-dashoffset:180;opacity:.2}to{stroke-dashoffset:0;opacity:1}}
@keyframes machine-impact-ring{from{transform:scale(.2);opacity:1}to{transform:scale(3);opacity:0}}
@keyframes machine-impact-jolt{20%{transform:translateX(-5px)}45%{transform:translateX(4px)}70%{transform:translateX(-2px)}100%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.machine-impact *{animation:none!important}.machine-impact-ring{display:none}}
.quiet .machine-impact *{animation:none!important}.quiet .machine-impact-ring{display:none}
