.a-machine{align-items:center;gap:clamp(var(--space-2), 2vh, var(--space-5));flex-direction:column;width:100%;display:flex}.a-machine__home{justify-content:center;display:flex}.a-machine__stage{width:min(100%,720px,max(320px,70vh))}.a-machine__box{aspect-ratio:536/274;position:relative;container-type:inline-size}.a-machine__art{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.a-machine__turn{transform:rotate(var(--phase));transition:transform .35s cubic-bezier(.2,.7,.2,1)}.a-machine[data-state=solved] .a-machine__gear .a-machine__turn{animation:a-machine-turn var(--loop) linear .35s infinite}@keyframes a-machine-turn{0%{transform:rotate(var(--phase))}to{transform:rotate(calc(var(--phase) + var(--turn)))}}.a-machine__ghost path{fill:none;stroke:var(--ink);stroke-width:3px;stroke-dasharray:9 8;opacity:.5;transition:opacity .3s}.a-machine[data-hint] .a-machine__ghost path,.a-machine[data-state=held] .a-machine__ghost path{opacity:.95}.a-machine[data-state=solved] .a-machine__ghost{visibility:hidden}.a-machine__loose{transform:translate(var(--x), var(--y));transition:transform .35s cubic-bezier(.2,.7,.2,1)}.a-machine[data-dragging] .a-machine__loose{transition:none}.a-machine__lift{transition:transform .12s ease-out;transform:translate(4px,5px)}.a-machine[data-state=held] .a-machine__loose:not(.a-machine__loose--shadow) .a-machine__lift{transform:translate(9px,11px)}.a-machine[data-state=held] .a-machine__loose:not(.a-machine__loose--shadow) .a-machine__lean{translate:-2px -3px}.a-machine__lean{transition:translate .12s ease-out}.a-machine__loose--shadow{animation:.35s a-machine-land}@keyframes a-machine-land{0%,to{opacity:0}}.a-machine[data-hint] .a-machine__ghost{animation:1.4s ease-in-out a-machine-pulse}.a-machine[data-hint] .a-machine__loose .a-machine__lean{animation:1.4s cubic-bezier(.2,.7,.2,1) a-machine-lean}@keyframes a-machine-pulse{50%{opacity:.35}}@keyframes a-machine-lean{35%{transform:translate(-16px,-6px)rotate(-8deg)}70%{transform:translate(-4px,-1px)rotate(-2deg)}}.a-machine__signs{pointer-events:none;position:absolute;inset:0;overflow:clip}.a-machine__sign{font:400 44px/.8 var(--font-pixel);color:var(--ink);white-space:nowrap;display:flex;position:absolute;transform:translate(-50%,-100%)}.a-machine__sign>span{display:inline-block}@container (min-width:480px){.a-machine__sign{font-size:66px}}.a-machine[data-state=solved] .a-machine__zero{animation:2.6s linear .9s forwards a-machine-roll}@keyframes a-machine-roll{0%{animation-timing-function:cubic-bezier(.2,.7,.4,1)}22%{animation-timing-function:cubic-bezier(.6,0,.8,.4);transform:translate(.7em,-1em)rotate(150deg)}42%{animation-timing-function:cubic-bezier(.4,0,1,.7);transform:translate(1.45em)rotate(300deg)}to{transform:translate(100cqw)rotate(1260deg)}}.a-machine__target{z-index:1;aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;min-width:48px;padding:0;position:absolute;transform:translate(-50%,-50%)}.a-machine__target:focus-visible{outline:var(--border-focus) solid var(--focus);outline-offset:2px}.a-machine__gap{cursor:default}.a-machine[data-state=held] .a-machine__gap{cursor:pointer}.a-machine__grab{z-index:2;cursor:grab;transition:left .35s cubic-bezier(.2,.7,.2,1),top .35s cubic-bezier(.2,.7,.2,1)}.a-machine[data-dragging] .a-machine__grab{cursor:grabbing;transition:none}.a-machine[data-state=solved] .a-machine__back{animation:.8s cubic-bezier(.34,1.56,.64,1) 3.4s a-machine-nudge}@keyframes a-machine-nudge{35%{transform:translate(-1px,-5px)rotate(-2deg)}70%{transform:translateY(1px)}}.a-machine[data-state=solved][data-paused] .a-machine__gear .a-machine__turn,.a-machine[data-state=solved][data-paused] .a-machine__zero{animation-play-state:paused}.a-machine__stage:focus{outline:none}.a-machine__stage:focus-visible{outline:var(--border-focus) solid var(--focus);outline-offset:4px;border-radius:var(--radius-card)}@media (prefers-reduced-motion:reduce){.a-machine *,.a-machine .cp-rise{transition:none!important;animation:none!important}.a-machine[data-state=solved] .a-machine__zero{visibility:hidden}}[data-motion=reduce] .a-machine *,[data-motion=reduce] .a-machine .cp-rise,.a-machine[data-still] *{transition:none!important;animation:none!important}[data-motion=reduce] .a-machine[data-state=solved] .a-machine__zero,.a-machine[data-still] .a-machine__zero{visibility:hidden}
