.ingredient-sprite,.utensil-sprite{display:inline-block;width:100%;height:100%;aspect-ratio:1;background-repeat:no-repeat;vertical-align:middle;background-image:url('assets/v07/ingredients.webp');background-size:800% 600%}.utensil-sprite{background-image:url('assets/v07/utensils.webp');background-size:400% 300%}.cell>.ingredient-sprite,.cell>.utensil-sprite{width:90%;height:90%;max-width:50px;max-height:50px}.hint-big .ingredient-sprite,.hint-big .utensil-sprite{width:120px;height:120px}.ingredients .ingredient-sprite,.hint-chain .ingredient-sprite{width:38px;height:38px}.book-grid .ingredient-sprite{width:62px;height:62px}.item-panel>.ingredient-sprite,.storage-grid .ingredient-sprite{width:42px;height:42px;flex-shrink:0}.supply-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.supply-grid button{padding:8px;border:1px solid #d6c7ab;background:#fff8e6;border-radius:12px;min-height:90px}.supply-grid .ingredient-sprite{display:block;width:55px;height:55px;margin:auto}.supply-grid .chosen{outline:3px solid #8c9f7c}.supply-switch{font-size:12px}.generator .badge{font-size:8px}.tools button{min-width:0}
body[data-tab="restaurant"] #restaurant-view{display:flex!important;flex-direction:column;overflow:hidden;padding:8px 10px 4px;gap:6px;min-height:0}.shop-heading{display:flex;justify-content:space-between;align-items:center;flex:none}.shop-heading small{font-size:10px;color:#786d5e}.shop-heading h2{font-size:19px;line-height:1.3;margin:0;color:#4b6354}.shop-heading button{width:36px;height:36px;border:1px solid #caba98;border-radius:50%;background:#fff5dd}.shop-scene{position:relative;flex:1;min-height:130px;width:100%;max-width:540px;margin:auto;overflow:hidden;border-radius:18px;border:2px solid #ab9072;background-image:url('assets/v07/shops.webp');background-size:300% 100%;isolation:isolate}.shop-country-0{background-position:0 0}.shop-country-1{background-position:50% 0}.shop-country-2{background-position:100% 0}.shop-chef{position:absolute;width:22%;height:35%;left:39%;top:30%;z-index:1;overflow:hidden;animation:chef-stir 2s ease-in-out infinite}.shop-chef>.sprite{width:100%;height:auto;aspect-ratio:1;display:block}.shop-chef>span:last-child{position:absolute;top:0;left:0;font-size:9px;color:#fff9dc;text-shadow:0 1px #463528}.counter-front{position:absolute;inset:0;z-index:2;background:inherit;clip-path:polygon(17% 51%,87% 51%,87% 67%,17% 67%);pointer-events:none}.shop-family{position:absolute;top:39%;height:27%;width:19%;padding:0;background:none;border:0;z-index:3;filter:drop-shadow(0 4px 2px #39231966)}.shop-family.family-0{left:0}.shop-family.family-1{right:0}.shop-family .sprite{height:auto;width:100%;aspect-ratio:1;display:block}.shop-family>span:last-child{font-size:9px;color:#fff6e6;background:#574531cc;border-radius:6px;padding:2px 3px;white-space:nowrap}.shop-family.taken>.sprite{filter:grayscale(1);opacity:.55}.shop-queue{position:absolute;left:17%;right:17%;top:59%;bottom:9%;display:flex;align-items:end;gap:2px;z-index:4}.queue-person{position:relative;flex:1;height:100%;min-width:0;padding:0;border:0;background:none;animation:guest-arrive .5s ease-out}.queue-person>.sprite{display:block;width:100%;height:auto;aspect-ratio:1;filter:drop-shadow(0 3px 2px #45281377)}.mood-bubble{position:absolute;bottom:94%;left:50%;transform:translateX(-50%);background:#fff7df;border:1px solid #927958;border-radius:10px;padding:2px 5px;white-space:nowrap;box-shadow:0 2px #56352133}.mood-bubble b{font-size:14px;line-height:1;color:#507253}.mood-bubble small{display:block;font-size:8px;line-height:1.2}.guest-name{display:block;background:#fff5decf;border-radius:6px;font-size:9px;color:#4b3827;line-height:1.3}.queue-person progress{display:block;width:80%;height:4px;margin:2px auto;accent-color:#72996c}.queue-person.angry .mood-bubble{background:#ffe3cf;border-color:#aa624f}.queue-person.angry .mood-bubble b{color:#aa493a}.queue-person.restless>.sprite,.queue-person.angry>.sprite{animation:guest-fidget .7s ease-in-out infinite alternate}.shop-scene-caption{position:absolute;bottom:2%;left:0;right:0;text-align:center;font-size:9px;color:#ffefd6;text-shadow:0 1px 2px #261e15}.shop-protection{display:flex;align-items:center;justify-content:space-between;flex:none;color:#576b56;font-size:12px;padding:3px 2px}.shop-protection small{font-size:10px}.shop-protection button{padding:5px;border:0;background:none;font-size:10px;color:#80684b}.shop-care{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;flex:none}.shop-care section{padding:7px 6px;background:#fff7e2;border:1px solid #d6c6a6;border-radius:12px}.shop-care section>div{display:flex;justify-content:space-between;align-items:baseline;font-size:11px}.shop-care strong{font-size:20px;color:#49664f}.shop-care meter{width:100%;height:9px;display:block}.shop-care small{font-size:8px;display:block;color:#847358;margin:4px 0;white-space:nowrap}.shop-care button{width:100%;min-height:34px;border:0;border-radius:9px;background:#5d7d64;color:#fff9e9;font:inherit;font-size:12px}.shop-care button:disabled{background:#d7d6bc;color:#766e57}.shop-footnote{font-size:9px;text-align:center;color:#8b7c63;margin:0;flex:none}.shop-help-list{line-height:1.8;padding-left:22px}.shop-guest-menu{display:flex;justify-content:center;gap:12px}.shop-guest-menu button{background:#fff7e7;border:1px solid #dcc9a6;padding:8px;border-radius:12px;width:90px}.shop-guest-menu .food-sprite{width:60px;height:60px}
@keyframes chef-stir{50%{transform:rotate(3deg) translateY(2px)}}@keyframes guest-arrive{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:none}}@keyframes guest-fidget{to{transform:translateY(-2px) rotate(2deg)}}
@media(max-height:620px){.shop-heading h2{font-size:16px}.shop-heading small{display:none}.shop-care section{padding:4px}.shop-care strong{font-size:16px}.shop-care small{margin:2px 0;font-size:7px}.shop-care button{min-height:29px;font-size:11px}.shop-footnote{display:none}.shop-queue{left:20%;right:20%}.mood-bubble small{display:none}.shop-heading button{height:28px;width:28px}}
@media(prefers-reduced-motion:reduce){.shop-chef,.queue-person,.queue-person>.sprite{animation:none!important}}

.queue-person{display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.queue-person>.sprite{width:auto;height:calc(100% - 20px);max-height:92px;max-width:100%;aspect-ratio:1;flex-shrink:0}.queue-person .guest-name{width:100%;flex-shrink:0}.queue-person progress{flex-shrink:0}.shop-scene-caption{font-size:8px}
/* v0.8: each food is clipped to its own alpha contour, at every UI size. */
.isolated-icon{background:none!important;overflow:hidden;object-fit:contain;flex-shrink:0}.book-grid .isolated-icon{display:block;width:58px;max-width:100%;height:58px;margin:0 auto 5px}.hint-chain .isolated-icon{display:block;margin:auto}.ingredients button{position:relative;width:42px;height:42px}.ingredients .isolated-icon{max-width:100%;height:100%}.tier-tag{position:absolute;right:0;bottom:-4px;font-size:8px;line-height:11px;background:#fff5dd;color:#5b513d;padding:0 2px;border-radius:4px}.cell>.ingredient-sprite{width:100%;height:100%;max-width:100%;max-height:100%;padding:2px 3px 7px}.cell:has(.tier-1){background:#f2e8bc}.cell:has(.tier-2){background:#f4d9bd}.hint-chain button{line-height:1.6}.destination-art{background-image:url('assets/v07/shops.webp');background-size:300% 100%}.shop-chef{left:50%;top:18%;height:38%;width:auto;aspect-ratio:1;transform:translateX(-50%);overflow:visible;animation:none}.shop-chef>.sprite{width:100%;height:100%;animation:chef-stir 2s ease-in-out infinite}.shop-chef>span:last-child{top:-7%;left:10%;white-space:nowrap}.shop-care small{white-space:normal;min-height:19px;line-height:1.3}.shop-care button{font-size:10px}.shop-care button:disabled{background:#e5e5cf;color:#65705a}.shop-protection small{color:#857655}.shop-family{height:36%;top:42%;width:20%}.shop-family .sprite{height:100%;width:100%;background-size:300% 100%}.shop-family>span:last-child{display:inline-block}.shop-scene-caption{bottom:1%}
@media(max-height:620px){.shop-care small{font-size:8px;min-height:18px}.shop-chef{height:39%;top:16%}.shop-care button{min-height:29px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.shop-chef>.sprite{animation:none}}
.shop-family{height:auto;aspect-ratio:1;top:46%}.shop-family .sprite{height:auto;aspect-ratio:1}.shop-care small{font-size:9px;min-height:23px}.shop-chef>span:last-child{font-size:10px}
@media(max-height:620px){.shop-care small{font-size:8px;min-height:18px}}

/* Keep the ingredient picker open for consecutive taps, without more board chrome. */
.supply-grid button small{display:block;font-size:12px;color:#6a775b;margin-top:3px}
.supply-footer{position:sticky;bottom:0;background:#fff8e6;padding:10px 0 2px;margin-top:8px;z-index:1}
.supply-footer p{font-size:13px;line-height:1.5;margin:0 0 8px;color:#596b56}
.supply-footer .action{min-height:44px}

.supply-quantities{display:flex;gap:10px}.supply-quantities button{flex:1;min-height:44px}.generator .badge{font-size:8px;white-space:normal;line-height:1.1}
/* Each image file contains one complete character with transparent padding. */
img.isolated-guest{background:none!important;overflow:visible;object-fit:contain;flex-shrink:0;transform-origin:50% 95%}.queue-person>img.isolated-guest{width:auto;height:calc(100% - 20px);max-height:92px;max-width:100%;aspect-ratio:1;overflow:visible}.portrait img.isolated-guest,.departing>img.isolated-guest{width:100%;height:100%;overflow:visible}
.order-head .portrait:has(img.isolated-guest){overflow:visible;background:transparent;border-radius:0}
/* Keep mood bubbles next to the character on tall phone screens. */
.queue-person .mood-bubble{bottom:calc(min(92px, 100% - 20px) + 22px)}

/* Independent expansion artwork; no atlas clipping on phones. */
img.food-art.isolated-icon{background:none!important;object-fit:contain;flex-shrink:0}
.country-landscape{width:100%;height:100%;background-repeat:no-repeat}
