.printer{position:absolute;top:16px;left:50%;width:min(250px,80%);height:16px;border-radius:8px;background:var(--prose);box-shadow:inset 0 -4px #121212;transform:translate(-50%);z-index:2}.well{position:absolute;inset:26px 0 0;overflow:hidden;display:flex;justify-content:center}.receipt{width:min(210px,70%);filter:drop-shadow(0 14px 14px rgba(0,0,0,.18))}.receipt-body{padding:14px 14px 10px;background:var(--paper);display:flex;flex-direction:column;gap:5px;font-size:9px;line-height:1.45}.receipt-body .row{display:flex;justify-content:space-between;gap:8px}.receipt-body .sub{padding-left:10px;color:var(--muted)}.receipt-body .c{text-align:center;text-transform:uppercase}.receipt-body .brand{font-size:10px;font-weight:500}.receipt-body .rule{border-top:1px dashed #9A968C;margin:2px 0}.zig{display:block;height:7px;background-image:linear-gradient(135deg,var(--paper) 50%,transparent 50%),linear-gradient(225deg,var(--paper) 50%,transparent 50%);background-size:10px 10px}.phone{width:132px;height:236px;padding:6px;border-radius:25px;background:#121212;transform:rotate(-4deg);box-shadow:0 24px 30px -18px #00000073}.screen{position:relative;height:100%;border-radius:20px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column;gap:5px;padding:12px 8px 8px}.screen .url{align-self:center;width:62px;height:8px;border-radius:4px;background:#f1efea}.screen .ttl{font-size:9px;font-weight:700;padding-top:2px}.step{display:flex;align-items:center;gap:5px;font-size:7.5px;font-weight:600}.dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0}.step.now{padding:2px;border-radius:4px;background:var(--marker-soft);font-weight:700}.step.now .dot{background:var(--accent)}.step.next{color:var(--muted)}.step.next .dot{background:transparent;border:1.5px solid var(--line-deep)}.ring{position:absolute;inset:-3px;border-radius:50%;border:1.5px solid var(--accent);opacity:0}.shot{position:relative;height:62px;border-radius:6px;overflow:hidden}.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left top}.shot .v2{opacity:0}.go{margin-top:auto;height:20px;border-radius:6px;background:#121212}.toast{position:absolute;left:8px;right:8px;top:6px;padding:4px 6px;border-radius:6px;background:#121212;color:#fff;font-size:6.5px;font-weight:600;text-align:center;opacity:0}.plaque{width:min(290px,86%);padding:22px 24px;border-radius:10px;background:linear-gradient(160deg,#26241f,#151411);box-shadow:0 24px 34px -18px #00000080,inset 0 1px #ffffff14;display:flex;flex-direction:column;gap:6px;color:var(--brass);position:relative;overflow:hidden}.plaque:after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent,rgba(247,233,195,.16) 50%,transparent);transform:translate(-130%) skew(-12deg);pointer-events:none}.plaque .top{font-size:9px;letter-spacing:.2em;text-transform:uppercase}.year{font-family:var(--f-disp);font-weight:800;font-size:66px;line-height:.95;letter-spacing:-.04em;color:var(--brass)}.plaque .facts{font-size:9px;line-height:1.7;color:#c4b48e;text-transform:uppercase}.sheet{width:min(290px,88%);padding:18px 20px;background:var(--paper);transform:rotate(-1.5deg);box-shadow:0 20px 30px -18px #00000059;display:flex;flex-direction:column;gap:7px;font-size:10px;line-height:1.5;color:var(--prose)}.sheet .k{font-size:8px;color:var(--muted);text-transform:uppercase}.sheet strong{font-size:11px;color:var(--ink)}.draw{background:linear-gradient(var(--marker),var(--marker)) no-repeat 0 100%/100% 50%;padding:0 1px}.ticket{width:min(300px,90%);border-radius:12px;background:var(--paper);box-shadow:0 20px 30px -18px #00000059;overflow:hidden}.ticket-h{padding:12px 14px;border-bottom:1px solid #ECEAE4;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:700}.badge{font-family:var(--f-mono);font-size:8px;font-weight:500;padding:3px 6px;border-radius:999px;background:#121212;color:#fff;text-transform:uppercase}.ticket-s{padding:10px 14px 0;display:flex;justify-content:space-between;align-items:center;font-size:11px}.ticket-s>span:first-child{color:var(--muted)}.status{display:grid;justify-items:end}.status span{grid-area:1 / 1;font-weight:700;white-space:nowrap}.status .s1{opacity:0}.bar{display:block;margin:8px 14px 0;height:3px;border-radius:2px;background:#eceae4;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);transform-origin:0 50%}.ticket-b{padding:4px 14px 10px;display:flex;flex-direction:column;font-size:11px}.ticket-b .row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #ECEAE4}.ticket-b .row:last-child{border-bottom:0}.ticket-b .row span:first-child{color:var(--muted)}.ticket-b .row span:last-child{font-weight:700}@media(prefers-reduced-motion:no-preference){.receipt{animation:e2-print 8s infinite}@keyframes e2-print{0%{transform:translateY(-104%);opacity:1;animation-timing-function:steps(18,end)}34%{transform:translateY(0);opacity:1;animation-timing-function:ease}80%{transform:translateY(0);opacity:1;animation-timing-function:ease-in}92%{transform:translateY(10%);opacity:0}to{transform:translateY(-104%);opacity:0}}.ring{animation:e2-ring 2.2s ease-out infinite}.shot .v2{animation:e2-swap 9s ease-in-out infinite}.toast{animation:e2-toast 9s var(--ease) infinite}@keyframes e2-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2)}}@keyframes e2-swap{0%,40%{opacity:0}48%,92%{opacity:1}to{opacity:0}}@keyframes e2-toast{0%,40%{opacity:0;transform:translateY(-120%)}46%,68%{opacity:1;transform:none}74%,to{opacity:0;transform:translateY(-120%)}}.plaque:after{animation:e2-sheen 5.5s ease-in-out infinite}.idle .plaque:after,.paused .plaque:after{animation-play-state:paused}@keyframes e2-sheen{0%{transform:translate(-130%) skew(-12deg)}55%,to{transform:translate(260%) skew(-12deg)}}.draw{animation:e2-draw 7s ease-in-out infinite}.ticket .draw{animation-delay:1.2s}@keyframes e2-draw{0%{background-size:0% 50%}22%,to{background-size:100% 50%}}.status .s1{animation:e2-st1 7s infinite}.status .s2{animation:e2-st2 7s infinite}.bar span{animation:e2-bar 7s var(--ease) infinite}@keyframes e2-st1{0%,30%{opacity:1}36%,to{opacity:0}}@keyframes e2-st2{0%,30%{opacity:0}36%,to{opacity:1}}@keyframes e2-bar{0%{transform:scaleX(.08)}34%{transform:scaleX(.55)}70%,to{transform:scaleX(1)}}}
