.sprite{aspect-ratio:1;background-position:0 0;background-repeat:no-repeat;background-size:300% 200%;width:100%;display:block}.sprite-walking{background-position:50% 0}.sprite-box-open{background-position:0 100%;background-size:278% 200%}.sprite-box-shut{background-position:100% 100%}.machine-illustration{isolation:isolate;position:relative;overflow:hidden}.machine-illustration>img{z-index:-1;position:relative}.machine-lamp{background:#64170f;border:1px solid #2c251a;border-radius:50%;width:8px;height:8px;position:absolute;top:38%;right:19%}.machine-lamp.lit{background:#ef542e;box-shadow:0 0 9px #dc5529}.starting>img{animation:.7s steps(2,end) machine-jolt}.starting .machine-lamp{animation:.8s step-end lamp-start}.mascot-button{cursor:pointer;filter:drop-shadow(2px 5px #29221930);background:0 0;border:0;width:27%;min-width:44px;min-height:44px;padding:0;position:absolute;bottom:2%;right:1%}.mascot-button:hover{filter:drop-shadow(2px 5px #29221950)}.mascot-button:active{transform:none}.mascot-button.arriving{animation:rug-arrive var(--entrance-time) steps(20) both}.mascot-button.escaping{animation:rug-escape var(--escape-time) linear both}.mascot-button:is(.arriving,.escaping) .sprite{animation:.19s step-end infinite walk-frame}.replay-link{white-space:nowrap;background:0 0;border:0;border-bottom:1px solid;min-height:44px;padding:10px 0;font-size:11px}.art-bottom{align-items:center;padding:0 1% 0 5%;font-size:11px}.art-bottom>span:first-child{max-width:60%;display:block}.signal{animation:none}.scene.out-of-view *{animation-play-state:paused!important}.conveyor-track{background:#3e4135;border:3px solid #27291f;height:156px;margin-top:20px;position:relative;overflow:hidden}.conveyor-rail{background:repeating-linear-gradient(90deg,#777d69 0 6px,#292d24 6px 21px);border-block:3px solid #181d15;height:22px;position:absolute;bottom:22px;left:0;right:0}.moving .conveyor-rail{animation:.22s linear infinite belt}.conveyor-unit{width:110px;position:absolute;bottom:22px;left:calc(100% - 124px)}.conveyor-unit .sprite{width:110px}.conveyor-unit small{font:10px var(--mono);text-align:center;color:var(--paper);background:#2c3028;margin-top:-15px;padding:3px;display:block;position:relative}.moving .conveyor-unit{animation:transport-rug var(--production-time) linear both}.conveyor-unit.transferred{opacity:.3}.line-end{color:#d0c8af;font-size:10px;position:absolute;bottom:2px;right:10px}.working{animation:none}.working .metal-header{animation:.15s steps(2,end) 4 machine-jolt}.quality-table{grid-template-columns:1fr minmax(220px,1fr) auto;gap:28px;display:grid}.quality-product{justify-content:center;align-items:center;gap:8px;min-height:150px;display:flex}.quality-product>.sprite{flex-shrink:0;width:95px}.product-tag{background:var(--paper);color:var(--ink);border:1px solid #aca590;min-width:140px;padding:13px 14px;position:relative;transform:rotate(3deg);box-shadow:3px 4px #1117}.product-tag>span{margin-bottom:6px;font-size:10px;display:block}.product-tag>b{font-size:12px;font-weight:500}.tag-stamp{min-height:42px;font:10px var(--mono);color:var(--muted);border-top:1px dashed #817e70;justify-content:center;align-items:center;margin-top:12px;display:flex}.tag-stamp:is(.stamped,.stamping){font:700 25px var(--display);color:var(--red);border:3px double var(--red);white-space:nowrap;padding:3px;transform:rotate(-7deg)}.tag-stamp.stamping{animation:quality-hit var(--inspection-time) steps(5) both}.quality-stamp:disabled{opacity:.55;cursor:wait}.quality-stamp:active{transform:rotate(-6deg)translate(2px,2px)}.packing-scene{max-width:430px;margin-top:20px;position:relative}.packing-items{height:205px;position:relative;overflow:hidden}.packing-rug{z-index:2;width:110px;position:absolute;bottom:38px;left:7%}.packing-box{z-index:3;width:205px;position:absolute;bottom:0;right:0}.packing-floor{border-bottom:2px solid #22241f;position:absolute;bottom:29px;left:0;right:0}.packing .packing-rug{animation:into-carton var(--packing-time) steps(20) both}.packed:not(.packing) .packing-rug{visibility:hidden}.packing .packing-box{animation:close-carton var(--packing-time) steps(1) both}.packing-screen{font:10px var(--mono);border-block:1px solid #22241f80;min-height:48px;padding:10px 0;line-height:1.5;display:block}.packing-replay{font-size:10px}.dispatch-note{margin-top:25px}.printer-unit{min-width:0;transform:rotate(2deg)}.printer-header{border:2px solid var(--ink);color:var(--paper);background:#686b5f;justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;display:flex;box-shadow:5px 5px #332d1740}.printer-header>i{border:1px solid var(--ink);background:#b8cd85;border-radius:50%;width:9px;height:9px}.printer-header>i.printing{animation:.35s step-end infinite signal}.printer-slot{z-index:2;background:#171b14;border-inline:12px solid #686b5f;height:12px;position:relative;box-shadow:inset 0 3px #000}.paper-feed{clip-path:inset(0 0 96%);min-height:440px;padding:0 12px}.paper-feed.fed{clip-path:none}.paper-feed.feeding{animation:paper-out var(--packing-time) steps(12,end) both}.paper-feed .order-slip{border-top:0;padding-top:22px;transform:none;box-shadow:3px 7px #332d1725}.receipt-stamp{visibility:hidden;margin:16px auto 22px;font-size:32px;animation:none}.receipt-stamp.show-stamp{visibility:visible}.receipt-stamp small{white-space:normal;font-size:9px;line-height:1.5}.receipt-actions{gap:16px;margin:16px 12px 12px;position:relative}.receipt-actions button,.receipt-actions a{min-height:44px;padding:6px 4px;font-size:11px}.receipt-actions a{border-bottom:1px solid var(--muted);align-items:center;display:inline-flex}.receipt-actions a:hover{color:var(--red)}.receipt-actions button:disabled{opacity:.5;cursor:default}.purchase-control{padding:8px 12px 0}.link-control{min-width:0}.local-status{overflow-wrap:anywhere;font-size:11px;line-height:1.7;display:block}.local-status:empty{display:none}.link-control>.local-status{margin-top:12px}.serial-panel .local-status{color:var(--red);margin-top:12px}.purchase-control .local-status{text-align:center}.chart-link{min-height:44px}.checking-stock strong{animation:.55s steps(4,end) both stock-flip}.checking-stock>div:nth-child(2) strong{animation-delay:70ms}.checking-stock>div:nth-child(3) strong{animation-delay:.12s}.phase{min-height:220px}.phase-status{margin-top:auto;padding-top:12px}.filing .phase{animation:.32s steps(4,end) both workorder-in;animation-delay:var(--phase-delay)}.filing .phase-status{animation:.4s steps(3,end) both workorder-stamp;animation-delay:calc(var(--phase-delay) + .3s)}.worker-links button{min-height:80px;display:block;position:relative}.worker-links button small{text-align:left;display:block}.worker-links .local-status{color:var(--yellow);margin-bottom:16px}.worker-links button:active{border-color:var(--yellow);background:#86271f}.workers button:focus-visible{outline-color:var(--yellow)}@keyframes machine-jolt{0%,to{transform:translate(0)}25%{transform:translate(2px,-1px)}75%{transform:translate(-1px,1px)}}@keyframes lamp-start{0%,30%,60%{opacity:0}15%,45%,to{opacity:1}}@keyframes walk-frame{0%,to{background-position:50% 0}50%{background-position:100% 0}}@keyframes rug-arrive{0%,30%{opacity:0;transform:translate(-175%)}35%{opacity:1}to{transform:translate(0)}}@keyframes rug-escape{0%{transform:translate(0)}35%{transform:translate(180%)}36%,55%{opacity:0;transform:translate(-280%)}56%{opacity:1}to{transform:translate(0)}}@keyframes transport-rug{0%{left:-110px}to{left:calc(100% - 124px)}}@keyframes quality-hit{0%,25%{opacity:0;transform:translateY(-70px)scale(1.4)rotate(-7deg)}45%{opacity:1;transform:translateY(0)scale(1.1)rotate(-7deg)}65%{transform:translateY(-4px)rotate(-7deg)}to{opacity:1;transform:rotate(-7deg)}}@keyframes into-carton{0%,10%{opacity:1;transform:translate(0)}35%{opacity:1;transform:translate(130px,-48px)}43%,to{opacity:0;transform:translate(140px,20px)}}@keyframes close-carton{0%,43%{background-position:0 100%;background-size:278% 200%}44%,58%{background-position:50% 100%;background-size:300% 200%}59%,to{background-position:100% 100%;background-size:300% 200%}}@keyframes paper-out{0%,48%{clip-path:inset(0 0 96%);transform:translateY(-6px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes stock-flip{0%{transform:rotateX(80deg)}40%{transform:rotateX(-35deg)}75%{transform:rotateX(15deg)}to{transform:rotateX(0)}}@keyframes workorder-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes workorder-stamp{0%{opacity:0;transform:scale(1.3)rotate(-5deg)}to{opacity:1;transform:none}}@media (max-width:1000px){.quality-table{grid-template-columns:1fr auto}.quality-product{grid-area:2/1;justify-content:flex-start}.quality-stamp{grid-area:1/2/span 2}.art-bottom{padding-left:0}.packing-rug{left:0}.packing-box{width:185px}.packing-items{height:190px}.printer-unit{transform:rotate(1deg)}}@media (max-width:700px){.machine-lamp{width:6px;height:6px}.mascot-button{width:30%;right:0}.art-bottom>span:first-child{max-width:56%;font-size:10px}.replay-link{font-size:10px}.quality-table{gap:12px}.quality-product{gap:0}.quality-product>.sprite{width:72px}.product-tag{min-width:130px;padding:10px}.quality-stamp{padding:10px 8px}.quality-stamp>span{font-size:24px}.tag-stamp:is(.stamped,.stamping){font-size:23px}.packing-scene{max-width:100%}.packing-items{height:190px}.packing-box{width:185px;right:12%}.packing-rug{width:110px;left:3%}.printer-unit{transform:none}.paper-feed{min-height:420px;padding:0 8px}.paper-feed .order-slip{padding:22px 18px}.receipt-actions{gap:12px;margin-inline:0}.receipt-stamp{font-size:31px}.receipt-stamp small{font-size:8px}.purchase-control{padding-inline:8px}.phase{min-height:210px}.chart-link{font-size:11px}.worker-links button{font-size:12px}}@media (prefers-reduced-motion:reduce){.paper-feed.fed{clip-path:none}.scene *{animation:none!important}.mascot-button:is(.arriving,.escaping){transform:none!important}.signal{opacity:1}}@media print{.printer-header,.printer-slot,.receipt-actions,.purchase-control{display:none!important}.printer-unit{transform:none}.paper-feed{clip-path:none;min-height:0;padding:0}.receipt-stamp{visibility:visible}}@media (max-width:700px){.dispatch h2{font-size:16vw}.dispatch-grid{gap:28px}.dispatch-note{margin-top:15px}}
