:root{--ink:#284d42;--green:#216b55;--mint:#cce8c9;--cream:#fffaf0;--orange:#f5a66b;--shadow:0 8px 0 #d5ddc4;--round:24px;font-family:'Noto Sans KR',sans-serif;color:var(--ink);background:#f1f3e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:4px solid #e39345;outline-offset:4px}button:disabled{cursor:default}button{user-select:none}button:active{transform:translateY(2px)}[hidden]{display:none!important}.shell{max-width:1080px;margin:auto;padding:22px 36px 12px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px;font-weight:900;line-height:1.25}.brand small{font-size:8px;letter-spacing:2px;display:block;margin-top:4px;font-weight:600}.brand-icon{position:relative;background:var(--green);color:#fff8df;border-radius:12px;width:43px;height:43px;text-align:center;font:bold 36px/39px Georgia}.brand-icon span{font-size:15px;position:absolute;right:2px;top:-8px;color:#ffd793}.top-actions{display:flex;gap:8px;align-items:center}.quiet,.icon-button{border:1px solid #d8dece;background:#fffdf5;border-radius:50px;height:40px}.quiet{padding:0 16px;font-size:12px;font-weight:700}.quiet span{margin-left:10px}.icon-button{width:40px;font-size:23px}.store-sign{width:max-content;margin:auto auto -19px;position:relative;z-index:2;background:var(--green);color:#fff5d7;padding:10px 30px;border:5px solid #f1f3e8;border-radius:15px;font:20px 'Jua',sans-serif;letter-spacing:1px}.open-dot{display:inline-block;width:7px;height:7px;background:#d3e48b;border-radius:50%;margin-right:9px;vertical-align:middle}.sign-star{color:#eec472;margin-left:18px}.shop{position:relative;background:#f9edcd;border:2px solid #d4d4b9;border-radius:25px;overflow:hidden;box-shadow:var(--shadow)}.awning{height:36px;background:repeating-linear-gradient(90deg,#659679 0 44px,#f6edce 44px 88px);border-bottom:6px solid #466f5940;clip-path:polygon(0 0,100% 0,100% 90%,98% 100%,96% 90%,94% 100%,92% 90%,90% 100%,88% 90%,86% 100%,84% 90%,82% 100%,80% 90%,78% 100%,76% 90%,74% 100%,72% 90%,70% 100%,68% 90%,66% 100%,64% 90%,62% 100%,60% 90%,58% 100%,56% 90%,54% 100%,52% 90%,50% 100%,48% 90%,46% 100%,44% 90%,42% 100%,40% 90%,38% 100%,36% 90%,34% 100%,32% 90%,30% 100%,28% 90%,26% 100%,24% 90%,22% 100%,20% 90%,18% 100%,16% 90%,14% 100%,12% 90%,10% 100%,8% 90%,6% 100%,4% 90%,2% 100%,0 90%)}.shop-top{display:flex;align-items:center;justify-content:space-between;padding:16px 25px 0}.tiny-label{font-size:10px;font-weight:700;letter-spacing:.6px;background:#fff8e5;border:1px solid #ddd0ae;border-radius:30px;padding:5px 10px}.chill{background:transparent;border:0;color:#93856a;font-weight:400}.progress{display:flex;gap:8px}.progress span{width:25px;height:25px;background:#eee0b8;border-radius:50%;text-align:center;color:#b9a679;font-size:13px;line-height:25px}.progress span.current{background:#38785a;color:white}.progress span.done{background:#c1d999;color:#416746}.customer-area{height:208px;position:relative;display:flex;align-items:center;justify-content:center;gap:10px;padding-bottom:5px}.window{position:absolute;left:28px;top:32px;width:116px;height:135px;border:7px solid #fef9e9;outline:3px solid #d3c397;border-radius:52px 52px 5px 5px;background:#c3e3de;overflow:hidden}.window:after{content:'';position:absolute;left:49%;top:0;width:4px;height:100%;background:#f9f4de}.sun{position:absolute;width:27px;height:27px;border-radius:50%;background:#f9cc77;top:15px;right:15px}.cloud{position:absolute;width:40px;height:13px;border-radius:50%;background:#f9fff1;left:8px;top:40px}.hill{position:absolute;border-radius:50% 50% 0 0;width:130px;height:90px;top:70px;background:#8ebc93;left:-30px}.hill.two{left:30px;top:83px;background:#74a98b}.wall-note{position:absolute;right:31px;top:53px;background:#fdf6de;transform:rotate(6deg);border:1px solid #e0d1ae;padding:13px 16px;font-size:10px;text-align:center;color:#9c8c68;line-height:1.9;box-shadow:2px 3px 0 #decea3}.wall-note b{font-weight:600}.wall-note span{display:block;font-size:24px;color:#b98d63}.customer{position:relative;width:210px;height:195px;align-self:flex-end;display:flex;align-items:center;justify-content:center;flex-shrink:0}.monster-sprite{background-image:url('assets/monsters-ai.png');background-size:300% 100%;background-position:0 50%;width:190px;height:190px;filter:drop-shadow(0 8px 2px #35584412)}.monster-sprite.lilac{background-position:50% 50%}.monster-sprite.peach{background-position:100% 50%}.customer .monster-sprite{animation:breathe 3s ease-in-out infinite}.name-tag{position:absolute;bottom:4px;left:50%;transform:translateX(-50%) rotate(-3deg);background:#fffdf0;border:1px solid #c8cdad;border-radius:6px;padding:2px 15px;font-size:12px;font-weight:800}.order-bubble{position:relative;border:2px solid #cfcab0;background:#fffdf3;border-radius:24px;padding:16px 23px;text-align:center;min-width:220px;margin-bottom:16px;z-index:1;box-shadow:0 5px 0 #c7bd8b20}.order-bubble:before{content:'';position:absolute;left:-10px;top:47%;width:17px;height:17px;background:#fffdf3;border-left:2px solid #cfcab0;border-bottom:2px solid #cfcab0;transform:rotate(45deg)}.bubble-heading{font:21px 'Jua',sans-serif}.order{display:flex;justify-content:center;gap:12px;margin:12px 0 6px}.order-item{position:relative;width:58px;height:61px;background:#f4f0dd;border-radius:12px;display:flex;align-items:center;justify-content:center}.order-item svg{width:44px;height:44px}.order-item.done{opacity:.5}.order-item.done:after{content:'✓';position:absolute;background:#32795a;color:white;border-radius:50%;width:20px;height:20px;right:-5px;bottom:-3px;font-size:13px}.bubble-small{font-size:10px;color:#8f8f77}.counter{position:relative;background:#e0c59a;padding:12px 24px 18px;border-top:9px solid #b58d65;border-bottom:5px solid #ba916b;min-height:219px;box-shadow:inset 0 5px 0 #cfb385}.counter-title{font:18px 'Jua',sans-serif;text-align:center;min-height:25px;line-height:25px;color:#684f36;margin-bottom:8px}.checkout{display:flex;align-items:center;justify-content:center;gap:26px}.scanner,.bag-station{width:220px;height:150px;position:relative;border:0;background:transparent;display:flex;align-items:center;flex-direction:column}.station-tag{font:14px 'Jua',sans-serif;color:#796346;position:absolute;top:0;left:0;display:flex;align-items:center;gap:6px}.station-tag>span{font:12px 'Noto Sans KR',sans-serif;font-weight:700}.scan-bed{display:flex;justify-content:center;align-items:center;position:relative;width:159px;height:82px;margin:30px auto 13px;border:9px solid #f2f1da;background:#5b8174;border-radius:15px;transform:perspective(400px) rotateX(17deg);box-shadow:0 8px 0 #9ca58c,0 10px 1px #9a7c49}.scan-line{position:absolute;background:#fca895;height:3px;width:90%;box-shadow:0 0 9px #ff6755;z-index:1}.scan-idle{font-size:49px;color:#e6f5d5;opacity:.4;line-height:1}#scan-item{z-index:2;position:absolute;inset:-18px 25px 0;display:flex;align-items:center;justify-content:center}#scan-item svg{width:70px;height:82px;filter:drop-shadow(2px 6px 2px #12332744)}.scanner-status,.bag-status{font-size:11px;color:#756148}.flow-arrow{font-size:30px;color:#a48960;margin-top:20px}.bag-art{position:relative;margin:32px auto 7px;width:105px;height:88px;display:block;background:#f9ebc4;border:2px solid #d2ab76;border-radius:3px 3px 14px 14px;box-shadow:3px 5px 0 #b9946225}.bag-art:before{content:'';position:absolute;right:4px;top:0;width:8px;height:90%;border-left:1px solid #dec397}.bag-handle{position:absolute;width:42px;height:35px;border:5px solid #d1ae79;border-bottom:0;left:29px;top:-26px;border-radius:20px 20px 0 0;z-index:0}.bag-logo{position:absolute;left:34px;top:21px;font:46px/1 Georgia;color:#608164}.bag-logo span{font-size:18px;position:absolute;right:-7px;top:-5px;color:#d5a05a}.bag-face{display:none}#bag-items{position:absolute;display:flex;justify-content:center;left:-7px;right:-7px;top:-20px;z-index:3;gap:5px}#bag-items svg{height:34px;width:34px;transform:rotate(-12deg)}#bag-items svg:nth-child(2){transform:rotate(12deg)}.action-ready:after{content:'';position:absolute;inset:21px 15px 6px;border:3px dashed #f7faf0;border-radius:25px;pointer-events:none;animation:dashPulse 1.2s infinite}.scanner.action-ready .scan-bed{background:#386d5a}.bag-station.floating .bag-art{animation:floaty 1.8s ease-in-out infinite}.bag-station.floating .bag-status{color:#6c4ca0}.customer.magnetic .monster-sprite{animation:wobble .7s infinite}#stuck-can{position:absolute;left:110px;top:88px;font-size:42px;z-index:2;transform:rotate(-25deg)}.event-tools{position:absolute;z-index:5;bottom:13px;left:50%;transform:translateX(-50%)}.event-tools button{background:#6450a3;color:white;box-shadow:0 4px 0 #453477;border:2px solid #e8d7ff;padding:12px 23px;white-space:nowrap;border-radius:30px;font-weight:800;touch-action:none}.next{position:absolute!important;bottom:15px;left:50%;transform:translateX(-50%);width:auto!important;min-width:245px;z-index:5}.next:active{transform:translate(-50%,2px)}.shelf{background:#eff0dd;padding:12px 25px 20px;background-image:repeating-linear-gradient(0deg,transparent 0 4px,#bac8ad0b 4px 5px)}.shelf-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:#8b987a;margin-bottom:10px}.products{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.product{position:relative;min-width:0;height:100px;background:#fcfcf1;border:2px solid #dce1c9;border-radius:16px;box-shadow:0 4px 0 #cfd8bc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;touch-action:none;transition:background .15s,transform .15s,border-color .15s}.product svg{height:62px;width:62px;pointer-events:none;filter:drop-shadow(1px 4px 0 #23462b10)}.product b{font-size:11px;font-weight:600}.product.selected{border-color:#3f8b62;background:#d9edc6;transform:translateY(-4px);box-shadow:0 7px 0 #a4bc88}.product.packed{opacity:.45}.product.packed:after{content:'✓';position:absolute;top:3px;right:7px;font-size:14px;color:#3f8b62}footer{padding:18px 4px 0;display:flex;justify-content:space-between;font-size:10px;color:#9bA18d}footer button{font-size:10px;border:0;padding:0;background:transparent;color:#87977f}.overlay{position:fixed;inset:0;background:#1f463b48;backdrop-filter:blur(6px);z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.welcome-card,.ending-card{width:420px;max-width:100%;background:#fffbee;border:2px solid #e1e3c9;border-radius:30px;box-shadow:0 16px 60px #183f3726;position:relative;text-align:center;padding:27px 34px 22px}.welcome-eyebrow{font-size:10px;letter-spacing:2px;color:#7a9471;font-weight:700}.welcome-monsters,.ending-friends{height:125px;display:flex;justify-content:center;margin:0 -18px}.welcome-monsters .monster-sprite,.ending-friends .monster-sprite{width:125px;height:125px;flex-shrink:0}.welcome-monsters .lilac{margin-top:-3px;transform:scale(1.08)}h1{font:43px/1.1 'Jua',sans-serif;letter-spacing:-1px;margin:7px 0 12px}.welcome-card p,.ending-card p{font-size:13px;line-height:1.8;color:#839079;margin:0 0 22px}.mode-options{display:grid;gap:9px;margin-bottom:17px}.mode-card{background:#f5f4e6;display:flex;align-items:center;gap:13px;padding:12px 15px;border:2px solid #e3e4d0;border-radius:14px;text-align:left}.mode-card[aria-pressed=true]{background:#e5efd8;border-color:#649365}.mode-letter{font:22px Georgia;width:34px;height:34px;border-radius:50%;background:#fffdf1;text-align:center;line-height:34px}.mode-card b{font-size:13px;display:block}.mode-card small{display:block;font-size:10px;color:#8e987d;margin-top:4px}.mode-check{margin-left:auto;visibility:hidden;color:#44754d;font-weight:900}.mode-card[aria-pressed=true] .mode-check{visibility:visible}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--green);color:#fff9e4;font-size:15px;font-weight:700;border:0;border-radius:15px;padding:16px 22px;box-shadow:0 4px 0 #174d3e}.primary>span{font-size:21px}.welcome-foot{font-size:10px;color:#a3a58f;display:block;margin-top:17px}.secondary{border:0;background:transparent;padding:16px;font-size:12px;color:#778c6d}.ending-stars{font-size:26px;color:#d1a560;margin-bottom:8px}.ending-stars span{font-size:45px;margin:0 10px}.ending-friends .monster-sprite{animation:celebrate 1.3s ease-in-out infinite}.ending-friends .lilac{animation-delay:.2s}.ending-friends .peach{animation-delay:.4s}dialog{border:2px solid #d4ddc3;border-radius:24px;background:#fffcf1;color:var(--ink);width:370px;max-width:90vw;padding:28px;box-shadow:0 8px 60px #173f3644}dialog::backdrop{background:#183d3866}dialog h2{font-family:'Jua',sans-serif}dialog p{font-size:14px;line-height:1.9}.small-note{font-size:11px!important;color:#89917c}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;min-width:40px;min-height:40px}.drag-ghost{position:fixed;pointer-events:none;width:78px;height:78px;z-index:99;transform:translate(-50%,-50%) rotate(-10deg);filter:drop-shadow(3px 8px 4px #213e5144)}.drag-ghost svg{width:100%;height:100%}.hand-hint{position:absolute;bottom:37px;left:9%;font-size:35px;pointer-events:none;z-index:3;filter:drop-shadow(1px 2px 2px #2223);animation:hand 1.6s ease-in-out infinite}#particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.particle{position:absolute;font-size:25px;animation:sparkle 1.1s ease-out forwards}.hint-pop{animation:hintPop .35s ease-in-out}.media-player{width:100%;max-height:120px;border-radius:12px;object-fit:cover;margin-bottom:10px}.media-skip{font-size:10px;border:0;background:transparent;color:#79936e;margin-bottom:10px}@keyframes breathe{50%{transform:translateY(-4px) scale(1.015)}}@keyframes wobble{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes floaty{50%{transform:translateY(-32px) rotate(7deg)}}@keyframes celebrate{50%{transform:translateY(-10px) rotate(4deg)}}@keyframes dashPulse{50%{opacity:.35}}@keyframes hand{50%{transform:translateY(-10px)}}@keyframes sparkle{from{opacity:1;transform:translateY(0) scale(.5)}to{opacity:0;transform:translateY(-100px) rotate(80deg) scale(1.3)}}@keyframes hintPop{50%{transform:scale(1.06)}}
@media(min-width:1450px){.shell{padding-top:35px}.customer-area{height:245px}.customer{height:225px;width:250px}.customer .monster-sprite{height:225px;width:225px}.counter{padding-bottom:24px}.shelf{padding-top:18px;padding-bottom:25px}.product{height:113px}}
@media(max-width:700px){.shell{padding:14px 14px 8px}.topbar{margin-bottom:12px}.brand{font-size:13px;gap:7px}.brand-icon{width:36px;height:36px;font-size:29px;line-height:34px}.brand small{font-size:6px;letter-spacing:1.7px}.quiet{font-size:10px;padding:0 10px}.quiet span{margin-left:3px}.top-actions{gap:5px}.icon-button{width:35px;height:35px;font-size:21px}.store-sign{font-size:16px;padding:8px 20px;margin-bottom:-17px}.awning{height:32px}.shop-top{padding:12px 14px 0}.tiny-label{font-size:9px}.chill{display:none}.progress{gap:5px}.progress span{height:22px;width:22px;line-height:22px}.customer-area{height:182px;gap:0;padding-left:5px;padding-right:11px}.window{left:10px;width:80px;height:120px;top:29px;opacity:.7}.wall-note{display:none}.customer{width:46%;max-width:200px;height:174px}.customer .monster-sprite{width:174px;height:174px;flex-shrink:0}.order-bubble{min-width:0;width:46%;max-width:210px;padding:13px 10px;margin-bottom:9px;border-radius:20px}.bubble-heading{font-size:19px}.order{gap:9px;margin-top:8px}.order-item{height:51px;width:49px}.order-item svg{width:38px;height:38px}.bubble-small{font-size:8px}.counter{padding:9px 9px 17px;min-height:207px;border-top-width:7px}.counter-title{font-size:16px;margin-bottom:4px}.checkout{gap:6px}.scanner,.bag-station{width:43%;height:145px}.flow-arrow{font-size:23px}.station-tag{left:4px;font-size:12px}.station-tag>span{font-size:11px}.scan-bed{width:125px;height:76px;margin-top:31px}.bag-art{width:91px;height:81px;margin-top:33px}.bag-handle{left:24px;width:38px}.bag-logo{left:28px;top:18px}.scanner-status,.bag-status{font-size:9px}.shelf{padding:10px 12px 18px}.shelf-label{font-size:8px;margin-bottom:9px}.products{grid-template-columns:repeat(3,1fr);gap:10px}.product{height:76px;border-radius:12px;gap:0}.product svg{width:49px;height:49px}.product b{font-size:10px}footer{font-size:9px;padding-top:15px}.hand-hint{bottom:119px;left:17%}.welcome-card,.ending-card{padding:22px 26px 20px}.welcome-monsters{height:109px}.welcome-monsters .monster-sprite{width:109px;height:109px}h1{font-size:39px}.welcome-card p{margin-bottom:17px}.primary{padding:14px 18px}.event-tools{bottom:15px}.event-tools button{padding:11px 21px;font-size:14px}.next{bottom:16px;font-size:14px}.name-tag{bottom:4px}#stuck-can{left:55%;top:83px;font-size:35px}}
@media(max-height:760px) and (min-width:701px){.shell{padding-top:10px}.topbar{margin-bottom:8px}.customer-area{height:175px}.customer{height:170px}.customer .monster-sprite{width:170px;height:170px}.window{height:115px;top:25px}.counter{min-height:201px;padding-top:7px;padding-bottom:9px}.shelf{padding-top:8px;padding-bottom:14px}.product{height:84px}.product svg{height:51px;width:51px}footer{padding-top:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.scanner,#scan-item{touch-action:none}.drop-hover{filter:drop-shadow(0 0 8px #fffbd9);transform:scale(1.04)}.no-monsters .monster-sprite{background-image:none;display:grid;place-items:center}.no-monsters .monster-sprite:after{content:'👾';font-size:100px}.no-monsters .lilac:after{content:'🧲'}.no-monsters .peach:after{content:'🎈'}
.product-art{display:inline-block;position:relative;width:62px;height:62px;flex-shrink:0;background-size:300% 200%;background-repeat:no-repeat}.product-art svg{width:100%!important;height:100%!important}.ai-products .product-art{background-image:url('assets/products-ai.png')}.ai-products .product-art svg{visibility:hidden}.art-milk{background-position:0 0}.art-cookie{background-position:50% 0}.art-can{background-position:100% 0}.art-banana{background-position:0 100%}.art-juice{background-position:50% 100%}.art-bread{background-position:100% 100%}.order-item .product-art{width:49px;height:49px}#scan-item .product-art{width:78px;height:78px}#bag-items .product-art{width:37px;height:37px;transform:rotate(-10deg)}#bag-items .product-art:nth-child(2){transform:rotate(10deg)}.drag-ghost .product-art{width:78px;height:78px}@media(max-width:700px){.product-art{width:49px;height:49px}.order-item .product-art{width:43px;height:43px}}@media(max-height:760px) and (min-width:701px){.product-art{width:51px;height:51px}}
.overlay-sound{position:absolute;right:12px;top:12px;width:30px;height:30px;font-size:19px;border-color:#e3e6cf;background:#f8f7e9}.welcome-eyebrow{padding:0 13px}.welcome-card{padding-top:34px}
