:root{--grid-width:15;--grid-height:10;--cell-size:40px;--character-size:40px;color:#fff8e8;font-synthesis:none;background:#171327;font-family:Inter,ui-rounded,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 20%,#ffcb6926,#0000 34rem),linear-gradient(155deg,#121022 0%,#24172e 52%,#11101c 100%);place-items:center;min-height:100vh;display:grid;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.14;background-image:repeating-linear-gradient(0deg,#0000 0 3px,#000 3px 4px);position:fixed;inset:0}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #fff2a8}.game-shell{width:min(94vw,940px,150vh - 165px);padding:26px 0 18px}.brand-strip{color:#ffeec0;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:0 auto 10px;font-size:14px;font-weight:900;display:flex}.brand-mark{color:#692512;background:#ffb52b;border:2px solid #6f3018;border-radius:8px;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 3px #692512}.brand-tagline{color:#ae9db4;margin-left:auto;font-size:11px;font-weight:700}.utility-controls{gap:6px;margin-left:4px;display:flex}.utility-button{color:#e7d8c7;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:#1f1422cc;border:1px solid #785129;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:900}.utility-button:hover:not(:disabled){background:#4d2930}.utility-button:disabled{cursor:default;opacity:.4}.game-stage{aspect-ratio:3/2;background:#0f0d16;border:4px solid #21182b;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 2px #d08a28,0 24px 70px #00000085,inset 0 0 0 1px #ffffff14}.footer-note{color:#8f8298;text-align:center;letter-spacing:.05em;margin:12px 0 0;font-size:12px}.play-reset-map-link{color:#bcaeb7;background:#ffffff0b;border:1px solid #f6c96d52;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:5px 8px;font-size:8px;line-height:1;text-decoration:none;display:inline-flex}.play-reset-map-link:hover,.play-reset-map-link:focus-visible{color:#fff2c2;border-color:#f6c96db8}.character{width:var(--character-size);height:var(--character-size);image-rendering:pixelated;transform-origin:50%;z-index:4;background-image:url(../character-designs/option-a/option-a-sprite-sheet.png);background-position:0 100%;background-repeat:no-repeat;background-size:440% 110%;position:absolute;transform:translateY(8px)}.character.facing-left{transform:translateY(8px)scaleX(-1)}#game-container{width:calc(var(--cell-size) * var(--grid-width));height:calc(var(--cell-size) * var(--grid-height));touch-action:none;isolation:isolate;transform-origin:0 0;margin:0;position:relative;overflow:hidden}.shelf-background{pointer-events:none;z-index:0;background-image:url(../game-background.png);background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.shopping-list-counter{color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;text-shadow:0 2px #38191a;background:0 0;border-radius:0;min-width:34px;padding:0;font-family:Trebuchet MS,Arial,sans-serif;font-size:22px;font-weight:900;line-height:1;position:static}.shelf-empty-slots{pointer-events:none;position:absolute;inset:0}.shelf-empty-slot{z-index:2;box-shadow:none;opacity:1;background:0 0;border-radius:0;position:absolute}.shelf-empty-slot-row-0,.shelf-empty-slot-row-1,.shelf-empty-slot-row-2,.shelf-empty-slot-row-3,.shelf-empty-slot-row-4,.shelf-empty-slot-row-5{background:0 0}.shopping-list{z-index:5;pointer-events:none;background:#231522d6;border:1px solid #ffeec080;border-radius:12px;grid-area:1/2/3;justify-content:center;align-items:center;gap:5px;padding:4px 8px;display:flex;position:static;transform:none;box-shadow:0 4px #2d1518b8}.shopping-list-item{justify-content:center;align-items:center;display:inline-flex;position:relative}.shopping-list-product{width:30px;height:30px;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:contain}.shopping-list-check{color:#1ea44e;opacity:0;pointer-events:none;margin-left:3px;font-size:18px;line-height:1;transition:opacity .16s,transform .16s;transform:scale(.6)}.shopping-list-item.is-collected .shopping-list-check{opacity:1;transform:scale(1)}.collecting-product{transition:left .42s ease-in,top .42s ease-in,opacity .42s ease-in}.shelf-products{pointer-events:none;z-index:3;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.shelf-product{pointer-events:none;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute}.shelf-product.is-wanted{filter:brightness(1.06)drop-shadow(0 0 2px #ffe55b8c)}.shelf-product.is-route-target{filter:drop-shadow(0 0 4px #fff269);animation:1.5s ease-in-out infinite wanted-shimmer}.shelf-product.is-route-target:after{content:"▼";color:#fff06a;text-shadow:1px 1px #4f2118,-1px -1px #4f2118;font-size:9px;line-height:1;animation:.7s steps(2,end) infinite route-target-pointer;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.shelf-product-row-5{transform:none}.shelf-product-product-01-can-red{background-image:url(../products/product-01-can-red.png)}.shelf-product-product-02-can-blue{background-image:url(../products/product-02-can-blue.png)}.shelf-product-product-03-bottle-green{background-image:url(../products/product-03-bottle-green.png)}.shelf-product-product-04-bottle-purple{background-image:url(../products/product-04-bottle-purple.png)}.shelf-product-product-05-crate-wood{background-image:url(../products/product-05-crate-wood.png)}.shelf-product-product-06-crate-navy{background-image:url(../products/product-06-crate-navy.png)}.shelf-product-product-07-carton-yellow{background-image:url(../products/product-07-carton-yellow.png)}.shelf-product-product-08-carton-pink{background-image:url(../products/product-08-carton-pink.png)}.shelf-product-product-09-bottle-amber{background-image:url(../products/product-09-bottle-amber.png)}.shelf-product-product-10-can-gold{background-image:url(../products/product-10-can-gold.png)}.bonus-coupon{z-index:5;color:#56221c;pointer-events:none;text-align:center;background:linear-gradient(135deg,#f58a2d,#f4c74f);border:2px dashed #fff1a0;border-radius:5px;place-content:center;width:54px;height:29px;animation:.9s ease-in-out infinite coupon-bob;display:grid;position:absolute;box-shadow:0 2px #5f291a,0 0 9px #ffde53cc}.bonus-coupon span{font-size:10px;font-weight:900;line-height:1}.bonus-coupon strong{letter-spacing:.08em;font-size:7px;line-height:1}.bonus-coupon.is-collected{opacity:0;transition:all .22s ease-out;transform:scale(1.8)}.checkout-zone{z-index:8;color:#fff0a3;pointer-events:none;text-align:center;background:linear-gradient(#5a2830,#311a25);border:3px solid #ffcf5a;border-radius:10px;place-content:center;width:72px;height:48px;animation:.7s steps(2,end) infinite checkout-beacon;display:grid;position:absolute;box-shadow:0 4px #1f1019,0 0 12px #ffcf5acc}.checkout-zone span{color:#9be15d;font-size:13px;font-weight:900;position:absolute;top:3px;left:5px}.checkout-zone strong{letter-spacing:.05em;font-size:9px;line-height:1.1}.checkout-zone small{letter-spacing:.08em;font-size:6px;line-height:1.1;display:block}.checkout-zone.is-complete{background:#4e9b48;transition:all .18s ease-out;transform:scale(1.18)}.bonus-feedback{z-index:35;color:#542016;letter-spacing:.08em;pointer-events:none;background:#f6a32e;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:900;animation:1.2s ease-out forwards bonus-pop;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px #692512}.aisle-hazard{z-index:5;pointer-events:none;background:radial-gradient(#67b8cf 0 34%,#3982a5 36% 61%,#215066 63%);border:2px solid #de5f2b;border-radius:50% 45% 55% 40%;place-items:center;width:34px;height:15px;display:grid;position:absolute;box-shadow:0 2px #172a37,0 0 6px #66cfeb8c}.aisle-hazard span{color:#fff7a0;text-shadow:0 1px #69371b;font-size:10px;font-weight:900;line-height:1}.aisle-hazard.is-cleared{opacity:0;transition:all .2s ease-out;transform:scale(1.8)}.hazard-feedback{z-index:35;color:#ffb16f;letter-spacing:.06em;pointer-events:none;background:#381d2a;border:2px solid #ff8b42;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:900;animation:1.1s ease-out forwards bonus-pop;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.stock-cart{z-index:6;pointer-events:none;width:52px;height:33px;position:absolute}.stock-cart-warning{color:#fff0a3;letter-spacing:.08em;text-align:center;background:#4b2028;border:2px solid #f7b539;border-radius:6px;min-width:56px;padding:3px 5px;font-size:8px;font-weight:900;animation:.45s steps(2,end) infinite cart-warning;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.stock-cart-body{opacity:0;background:repeating-linear-gradient(90deg,#5d7485 0 4px,#405462 4px 7px);border:3px solid #334658;border-top:0;border-radius:3px 3px 9px 9px;position:absolute;inset:2px 1px 5px;box-shadow:0 3px #17232d}.stock-cart-body:before{content:"";border:3px solid #334658;border-bottom:0;height:8px;position:absolute;top:-7px;left:5px;right:5px}.stock-cart-body b{background:#d07b2b;border:2px solid #18202a;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-8px}.stock-cart-body b:first-of-type{left:5px}.stock-cart-body b:nth-of-type(2){right:5px}.stock-cart[data-state=crossing] .stock-cart-body{opacity:1}.stock-cart[data-state=crossing] .stock-cart-warning,.stock-cart[data-state=cooldown]{opacity:0}.character.is-stumbling{filter:grayscale(.45)drop-shadow(0 0 4px #ff6f3d);animation:.11s steps(2,end) infinite stumble}.character.is-falling{filter:drop-shadow(0 4px 2px #381d2ab3);background-image:url(../character-designs/option-a/option-a-fall-sprite-sheet.png);background-repeat:no-repeat;background-size:440% 110%;animation:.16s steps(2,end) infinite shelf-fall-right}.character.is-falling.facing-left{animation-name:shelf-fall-left}.fall-feedback{z-index:35;color:#fff0a3;letter-spacing:.06em;pointer-events:none;background:#381d2a;border:2px solid #ffcf5a;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:900;animation:1.1s ease-out forwards bonus-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shopping-list-item.is-collected{filter:saturate(.6)brightness(1.2)}.game-hud{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.boost-button{--boost-charge:0;z-index:21;background:linear-gradient(90deg, #f7992552 calc(var(--boost-charge) * 100%), transparent 0), linear-gradient(#52262b, #2b1724);color:#c8a898;cursor:default;text-align:center;pointer-events:auto;border:2px solid #6b301b;border-radius:11px;place-content:center;min-width:78px;min-height:44px;display:grid;position:absolute;bottom:13px;right:13px;box-shadow:0 4px #1b111b}.boost-button.is-ready{color:#542016;cursor:pointer;background:linear-gradient(#ffc54a,#f18c22);animation:1.4s ease-in-out infinite boost-ready}.boost-button .boost-key{letter-spacing:.12em;font-size:7px;font-weight:900}.boost-button strong{letter-spacing:.06em;font-size:11px}.character.is-boosting{filter:drop-shadow(-7px 0 #ffdd4a9e);animation:.12s steps(2,end) infinite boost-character}.hud-card{text-align:center;background:linear-gradient(#a84023,#722215);border:2px solid #6c321d;border-radius:11px;padding:8px 11px 7px;box-shadow:0 4px #30171c,inset 0 1px #fff3}.mission-card{flex-direction:column;min-width:104px;display:flex}.score-card{min-width:116px}.combo-value{color:#f6c96d;letter-spacing:.1em;white-space:nowrap;margin-top:5px;font-size:7px;font-weight:900;display:block}.combo-value.is-hot{color:#fff36b;text-shadow:0 0 6px #f28e2b}.combo-meter{background:#1c0d15cc;border-radius:999px;width:100%;height:3px;margin-top:4px;display:block;overflow:hidden}.combo-meter-fill{transform-origin:0;background:linear-gradient(90deg,#f17a25,#fff16a);width:100%;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 5px #f5a62f}.timer-card{grid-template-rows:auto 1fr;grid-template-columns:72px auto;align-items:center;column-gap:8px;min-width:286px;padding:6px 9px;display:grid}.timer-card>.hud-label,.timer-card>.round-timer{grid-column:1}.hud-label{color:#ffd57b;letter-spacing:.15em;margin-bottom:3px;font-size:9px;font-weight:900;display:block}.round-timer,.score-value{color:#fff9dd;text-shadow:0 2px #38191a;font-family:Trebuchet MS,monospace;font-size:22px;font-weight:900;line-height:1;display:block}.round-timer.is-urgent{color:#ffda3e;animation:.5s steps(2,end) infinite urgent-pulse}.round-overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e0a16a3;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.round-panel{text-align:center;background:linear-gradient(#431d1ef7,#22121dfa);border:3px solid #f1a82e;border-radius:18px;width:min(520px,92%);padding:27px 32px 29px;box-shadow:0 8px #160e19,0 22px 60px #0000008c,inset 0 0 0 2px #6d2d1d}.eyebrow{color:#ffca51;letter-spacing:.18em;margin:0 0 8px;font-size:11px;font-weight:900}.game-title,.round-title{color:#fff2c2;text-shadow:0 4px #7b2919;margin:0;font-size:clamp(34px,6vw,54px);line-height:.98}.customer-card{text-align:left;background:#fff1;border-left:3px solid #f1a82e;border-radius:7px;grid-template-columns:auto 58px 1fr;gap:2px 9px;width:min(430px,100%);margin:12px auto 11px;padding:8px 12px;display:grid}.customer-label{color:#f6c96d;letter-spacing:.12em;writing-mode:vertical-rl;grid-row:1/3;align-self:center;font-size:8px;font-weight:900;transform:rotate(180deg)}.customer-avatar{width:58px;height:58px;image-rendering:pixelated;object-fit:contain;background:#371e23;border:1px solid #f1a82eb8;border-radius:9px;grid-row:1/3;align-self:center}.customer-name{color:#fff1bd;font-size:14px}.customer-request{color:#d8c8c4;font-size:11px;line-height:1.3}.customer-payoff{color:#ffd98a;max-width:430px;margin:-7px auto 14px;font-size:12px;font-style:italic}.checkout-breakdown{justify-content:center;gap:7px;margin:-6px auto 12px;display:flex}.checkout-breakdown span{color:#ffe18a;letter-spacing:.06em;background:#180e17b8;border:1px solid #96512d;border-radius:6px;padding:5px 7px;font-size:7px;font-weight:900}.round-title{font-size:clamp(25px,4vw,38px)}.round-story{color:#e7d6cb;max-width:480px;margin:0 auto 16px;font-size:16px;line-height:1.35}.run-record{color:#f6c96d;letter-spacing:.13em;margin:-7px auto 7px;font-size:10px;font-weight:900}.shift-total{color:#ffe18a;letter-spacing:.1em;margin:0 auto 5px;font-size:9px;font-weight:900}.shift-record{color:#e2c0ff;letter-spacing:.11em;margin:0 auto 5px;font-size:8px;font-weight:900}.shift-progress{color:#bca7ae;letter-spacing:.14em;margin:0 auto 12px;font-size:8px;font-weight:900}.campaign-finale{background:#180e17b8;border:1px solid #96512d;border-radius:9px;gap:4px;width:min(360px,100%);margin:-4px auto 10px;padding:9px 12px;display:grid}.campaign-finale strong{color:#fff18b;letter-spacing:.12em;font-size:11px}.campaign-final-score,.campaign-best-score{color:#ffe18a;letter-spacing:.08em;font-size:9px;font-weight:900}.campaign-best-score{color:#e2c0ff}.campaign-restart-note{color:#cbbdc8;font-size:9px;line-height:1.3}.control-hints{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 20px;display:flex}.control-hints span{color:#cbbdc8;background:#ffffff14;border-radius:8px;padding:6px 9px;font-size:11px}.control-hints b{color:#ffe38f}.start-game-button,.restart-game-button,.resume-game-button{color:#502015;cursor:pointer;text-transform:uppercase;letter-spacing:.07em;background:linear-gradient(#ffc54a,#f18c22);border:2px solid #6b301b;border-radius:12px;min-width:180px;padding:12px 22px;font-weight:900;box-shadow:0 5px #752c16}.start-game-button:hover,.restart-game-button:hover,.resume-game-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.share-score-button{color:#f6c96d;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#180e17b8;border:1px solid #96512d;border-radius:999px;margin:10px auto 0;padding:5px 10px;font-size:8px;font-weight:900;display:block}.share-score-button:hover,.share-score-button:focus-visible{color:#fff2c2;border-color:#f1a82e}.button-key{vertical-align:1px;background:#fff0a36b;border:1px solid #50201585;border-radius:5px;margin-left:7px;padding:2px 5px;font-size:8px;line-height:1;display:inline-block}.start-game-button:active,.restart-game-button:active,.resume-game-button:active{transform:translateY(4px);box-shadow:0 1px #752c16}.result-reset-map-link{color:#bcaeb7;text-underline-offset:3px;justify-content:center;align-items:center;gap:6px;width:fit-content;margin:13px auto 0;font-size:9px;text-decoration-color:#f6c96d73;display:flex}.result-reset-map-link:hover,.result-reset-map-link:focus-visible{color:#f6c96d}.pickup-feedback{z-index:30;color:#fff176;letter-spacing:.05em;text-align:center;text-shadow:0 2px #572119,1px 0 #572119,-1px 0 #572119;pointer-events:none;width:150px;font-size:11px;font-weight:900;animation:.8s ease-out forwards pickup-rise;position:absolute}.pickup-pulse{animation:.2s ease-out pickup-flash}@keyframes pickup-rise{0%{opacity:0;transform:translate(-30%)scale(.8)}22%{opacity:1}to{opacity:0;transform:translate(-30%,-48px)scale(1.04)}}@keyframes pickup-flash{50%{filter:brightness(1.15)}}@keyframes urgent-pulse{50%{transform:scale(1.08)}}@keyframes boost-ready{50%{filter:brightness(1.13);box-shadow:0 4px #1b111b,0 0 10px #ffcc4a80}}@keyframes boost-character{50%{filter:brightness(1.2)drop-shadow(-9px 0 #ffdd4a80)}}@keyframes wanted-shimmer{50%{filter:brightness(1.28)drop-shadow(0 0 5px #ffe55bf2)}}@keyframes route-target-pointer{50%{transform:translate(-50%,-3px)}}@keyframes coupon-bob{50%{transform:translateY(-3px)rotate(-2deg)}}@keyframes bonus-pop{0%{opacity:0;transform:translate(-50%,-35%)scale(.6)}18%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-100%)scale(1)}}@keyframes cart-warning{50%{filter:brightness(1.45)}}@keyframes checkout-beacon{50%{filter:brightness(1.35)}}@keyframes stumble{50%{transform:translate(3px,8px)rotate(4deg)}}@keyframes shelf-fall-right{0%,to{transform:translateY(8px)rotate(-8deg)scale(1)}50%{transform:translateY(10px)rotate(12deg)scale(.92)}}@keyframes shelf-fall-left{0%,to{transform:translateY(8px)rotate(8deg)scaleX(-1)}50%{transform:translateY(10px)rotate(-12deg)scaleX(-.92)scaleY(.92)}}@media (width<=720px){.game-shell{width:96vw;padding:12px 0}.brand-tagline{display:none}.brand-strip{grid-template-columns:24px minmax(0,1fr) auto;gap:6px;font-size:11px;display:grid}.brand-mark{width:24px;height:24px}.brand-name{grid-column:2}.play-reset-map-link{grid-area:2/1/auto/-1;justify-content:center;width:100%;margin-left:0;padding:5px 7px}.utility-controls{grid-area:1/3;margin-left:0}.utility-button{padding:5px 6px;font-size:7px}.round-overlay{z-index:100;padding:12px;position:fixed;overflow-y:auto}.round-panel{width:min(94vw,430px);padding:14px 16px 16px}.game-title{font-size:clamp(32px,11vw,46px)}.customer-card{grid-template-columns:auto 46px 1fr;margin:8px auto;padding:6px 9px}.customer-avatar{width:46px;height:46px}.customer-name{font-size:12px}.customer-request{font-size:10px}.round-story{margin-bottom:10px;font-size:12px}.round-overlay[data-phase=won] .shift-total{margin:4px auto 2px}.round-overlay[data-phase=won] .run-record{margin:0 auto 7px}.checkout-breakdown{gap:5px;margin-bottom:9px}.checkout-breakdown span{padding:4px 5px;font-size:6px}.run-record{margin-bottom:3px}.shift-total{margin-bottom:2px;font-size:8px}.shift-record{margin-bottom:2px;font-size:7px}.shift-progress{margin-bottom:5px;font-size:7px}.control-hints{margin-bottom:10px}.game-hud{gap:4px;top:8px;left:8px;right:8px}.hud-card{min-width:58px;padding:5px}.mission-card{min-width:58px}.timer-card{grid-template-columns:47px auto;column-gap:3px;min-width:0}.score-card{min-width:68px}.shopping-list{gap:2px;padding:2px 3px}.shopping-list-item{width:19px;height:19px}.round-timer,.score-value,.shopping-list-counter{font-size:17px}.hud-label{font-size:7px}.combo-value{letter-spacing:.04em;font-size:5px}.boost-button{min-width:63px;min-height:36px;bottom:8px;right:8px}.boost-button .boost-key{font-size:6px}.boost-button strong{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
