/* The approved kitchen itself is the playfield, with controls on its equipment. */
#game .breakfast-backdrop{background-image:url('assets/breakfast-sharp-empty-cups.webp');background-size:100% 100%;background-position:center}
#game .kitchen-workbench{inset:0;height:100%;display:block;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:none}
#game .stations{display:contents}
#game .station{position:absolute;display:block;padding:0;min-height:0;border:0;border-radius:8px;background:transparent;box-shadow:none;filter:none;opacity:1;pointer-events:auto;z-index:2}
#game .station:hover,#game .station:active{background:transparent;box-shadow:none}
#game .station>.food-art,#game .station-name{display:none}
#game .station[data-food=rice]{left:1%;top:40%;width:14%;height:25%}
#game .station[data-food=egg]{left:27.5%;top:46%;width:10%;height:19%}
#game .station[data-food=spam]{left:38.3%;top:43%;width:8%;height:10.7%}
#game .station[data-food=sausage]{left:46.7%;top:43%;width:8%;height:10.7%}
#game .station[data-food=bacon]{left:55%;top:43%;width:8%;height:10.7%}
#game .station .cook-track{position:absolute;top:3%;left:12%;width:76%;height:7%;margin:0;background:#151915;border-radius:5px;z-index:3}
#game .station[data-food=rice] .cook-track,#game .station[data-food=egg] .cook-track{top:5%;height:5%;}
#game .station .station-status{position:absolute;left:0;right:0;top:32%;font-size:clamp(8px,1.1vw,12px);height:auto;line-height:1.2;padding:3px 1px;border-radius:5px;background:#15291de8;color:#ffe28e;z-index:4;white-space:normal}
#game .station.idle .station-status,#game .station[data-food=rice] .station-status{visibility:hidden}
#game .station.ready{outline:2px solid #ffe25b;outline-offset:-2px}
#game .station.locked .station-status{top:15%;font-size:clamp(8px,1vw,11px);background:#14291cf0;color:#ffda6a;padding:4px 1px}
#game .station.locked .cook-track{display:none}



#game .customer-lane{left:21%;right:22%;top:13%;height:30%;gap:7%;z-index:3}
#game .customer-order{left:-8%;right:-8%;min-height:0;padding:4px 6px}
#game .order-foods{height:27px}#game .order-foods .food-art{width:31px;height:27px}
#game .customer-name{font-size:clamp(7px,.9vw,10px);left:8%;right:8%}
#game .customer-portrait{height:72%}
#game .plate-area{position:absolute;left:24%;top:77%;width:16%;height:12%;padding:0;border:0;pointer-events:auto;display:block}
#game .plate-caption{position:absolute;top:-16px;left:0;right:0;text-align:center;font-size:clamp(8px,1vw,12px);text-shadow:0 1px 3px #000}
#game .assembled-plate{width:100%;height:100%;min-height:0;max-width:none;background:none;flex-wrap:nowrap;align-items:center;padding:0 9%;gap:0}
#game .assembled-plate .food-art{width:33%;height:85%;min-height:0}
#game .empty-plate{font-size:clamp(7px,.9vw,11px)}
#game .plate-hint{position:absolute;top:110%;left:-5%;width:110%;font-size:clamp(8px,1vw,12px);color:white;text-shadow:0 1px 3px #000;white-space:nowrap}
#game #clearBreakfastPlate{position:absolute;left:1%;top:80%;bottom:auto;width:13%;height:20%;pointer-events:auto;z-index:6;touch-action:manipulation;margin:0;padding:0;background:transparent;border:0;color:white;font-size:11px;text-shadow:0 1px 3px #000;display:flex;align-items:flex-end;justify-content:center}
#game .kitchen-hud{background:transparent;min-height:0;height:12%;padding:5px 12px;gap:5px;justify-content:flex-end;pointer-events:none}
#game .kitchen-hud>*{pointer-events:auto}
#game .kitchen-title,#game #shiftScore{display:none}
#game .kitchen-stat{font-size:clamp(9px,1.2vw,14px);padding:5px 7px;background:#23190fef;border:2px solid #bc8a36;border-radius:7px}
#game #leaveBreakfast,#game #pauseBreakfast,#game #breakfastSound{position:absolute;top:5px;min-height:36px;padding:5px 8px;background:#233c2de8;color:#fff5d9;font-size:11px}
#game #leaveBreakfast{left:8px}#game #pauseBreakfast{left:69px}#game #breakfastSound{left:129px}
body[data-screen=game] #musicToggle{left:auto!important;right:8px!important;top:auto!important;bottom:8px!important;height:36px!important;min-height:36px!important;width:100px!important;font-size:11px!important}
#game .kitchen-toast{bottom:auto;top:2%;max-width:38%;left:50%;padding:7px 12px;font-size:clamp(10px,1.2vw,15px)}
.equipment-lock,.ingredient-hotspot{position:absolute;border:0;background:transparent;color:#ffe38c;min-height:0;padding:0;pointer-events:auto;z-index:2}
.equipment-lock span{display:inline-block;padding:3px 5px;background:#193322ef;border:1px solid #d8ad47;border-radius:5px;font-size:clamp(7px,.9vw,10px);font-weight:800}
.ingredient-hotspot:focus-visible,.equipment-lock:focus-visible{outline:3px solid white;outline-offset:-3px}
@media(max-width:760px){#game #breakfastSound{display:none}#game .kitchen-stat{padding:4px;font-size:9px}#game .customer-order{padding:3px}#game .order-foods{height:23px}#game .order-foods .food-art{width:26px;height:23px}#game #leaveBreakfast,#game #pauseBreakfast{min-height:32px}#game .kitchen-toast{max-width:45%}}
#game .drink-label{position:absolute;top:34.5%;width:3.7%;font-size:clamp(6px,.85vw,11px);text-align:center;line-height:1.1;color:white;text-shadow:0 1px 3px #54281a;font-weight:900;pointer-events:none}
#game{user-select:none;-webkit-user-select:none;touch-action:manipulation}
#game img{-webkit-user-drag:none}
#game .assembled-plate .food-art{animation:plate-food-in .2s ease-out}
@keyframes plate-food-in{from{opacity:.3;transform:translateY(-7px) scale(.8)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#game .assembled-plate .food-art{animation:none}}

/* All three painted plates are independent click targets. */
#game .plate-area[data-plate="0"]{left:24%}
#game .plate-area[data-plate="1"]{left:44.5%}
#game .plate-area[data-plate="2"]{left:64.5%}
#game .plate-selector{display:block;width:100%;height:100%;min-height:44px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:inherit;box-shadow:none;touch-action:manipulation}
#game .plate-area.selected .plate-selector{outline:3px solid #ffe05a;outline-offset:1px;box-shadow:0 0 10px #ffe05a80}
#game .plate-area.selected .plate-caption{color:#ffe05a}
#game .plate-selector:active{transform:scale(.98)}
#game .plate-hint{white-space:normal;font-size:clamp(7px,.95vw,11px)}
#game .station::before{display:none!important}
#game .station:active,#game .ingredient-hotspot:active{outline:2px solid #ffe05a;outline-offset:-2px}
#game .customer.entering{animation-duration:.3s}
#game .customer.departing{animation-duration:.4s}
/* Small lock marks replace repeated text boxes. */
#game .equipment-lock span,#game .station.locked .station-status{position:absolute;top:2px;right:2px;left:auto;display:block;width:15px;height:19px;margin:0;padding:0;border:0;background:none;border-radius:0;font-size:0;line-height:0;color:#ffdb65;filter:drop-shadow(0 1px 2px #152218)}
#game .equipment-lock span::after,#game .station.locked .station-status::after{content:'';display:block;width:100%;height:100%;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M6 12V8a6 6 0 0 1 12 0v4' fill='none' stroke='black' stroke-width='3'/%3E%3Crect x='2' y='11' width='20' height='17' rx='4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M6 12V8a6 6 0 0 1 12 0v4' fill='none' stroke='black' stroke-width='3'/%3E%3Crect x='2' y='11' width='20' height='17' rx='4'/%3E%3C/svg%3E") center/contain no-repeat}
#game .ingredient-hotspot.armed{outline:2px solid #ffe05a;outline-offset:-2px;border-radius:5px}
/* Unavailable equipment is desaturated; cooking surfaces have only time bars. */
#game .equipment-lock,#game .ingredient-hotspot.locked{-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1);border:0;background:transparent}
#game .equipment-lock span,#game .station-status,#game .drink-label{display:none!important}
#game .equipment-lock span::after,#game .station-status::after{content:none!important}
#game .station.grill-slot>.food-art{display:block;position:absolute;left:10%;top:15%;width:80%;height:75%;min-height:0;max-width:none;max-height:none;opacity:1}
#game .station.grill-slot>.food-art[hidden]{display:none}
#game .station.grill-slot.cooking>.food-art{opacity:.9}
#game .station.grill-slot.burnt>.food-art{filter:brightness(.35)}
#game .station.grill-slot .cook-track{height:7%;top:5%}
#game .cook-track[hidden]{display:none}
#game .station.ready{outline:2px solid #ffe05a}
#game .station.grill-slot.ready .cook-fill{background:#ffd54a}
#game .station[data-food=egg]>.food-art{display:block;position:absolute;left:8%;top:15%;width:78%;height:54%;min-height:0;max-height:none;max-width:none}
#game .station[data-food=egg].idle>.food-art{display:none}
#game .station[data-food=scrambled]{left:64%;top:49%;width:10%;height:16%}
#game .station[data-food=pancake]{left:74%;top:51%;width:11%;height:14%}
#game .station[data-food=toast]{left:22%;top:46%;width:6%;height:18%}
#game .station[data-food=hash]{left:13%;top:49%;width:8.5%;height:16%}
#game .station[data-food=scrambled]>.food-art,#game .station[data-food=pancake]>.food-art,#game .station[data-food=toast]>.food-art,#game .station[data-food=hash]>.food-art{display:block;position:absolute;left:6%;top:8%;width:88%;height:76%;min-height:0;max-height:none;max-width:none}
#game .station>.food-art[hidden]{display:none!important}
#game .station.locked{-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1)}
#game .station[data-food=hash] .cook-track,#game .station[data-food=toast] .cook-track,#game .station[data-food=scrambled] .cook-track,#game .station[data-food=pancake] .cook-track{height:5%;top:3%}

/* Drink names remain visible; empty cups fill only after a dispenser tap. */
#game .drink-station{position:absolute;top:32%;width:4.3%;height:23%;z-index:2;pointer-events:none}
#game .drink-dispenser,#game .drink-cup{position:absolute;min-height:0;padding:0;margin:0;background:transparent;border:0;box-shadow:none;pointer-events:auto;width:100%;left:0}
#game .drink-dispenser{top:0;height:59%}
#game .drink-cup{top:63%;height:33%;border-radius:0}
#game .cup-liquid{position:absolute;bottom:9%;left:25%;width:55%;height:0;background:var(--drink-color);clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);opacity:.92;pointer-events:none;transition:height .12s linear}
#game .drink-name{position:absolute;top:5%;left:0;right:0;text-align:center;font-size:clamp(5px,.65vw,10px);font-weight:900;line-height:1.05;color:white;text-shadow:0 1px 2px black;pointer-events:none;background:#18150d88;border-radius:3px;padding:2px 0}
#game .drink-station.locked{backdrop-filter:grayscale(1);-webkit-backdrop-filter:grayscale(1)}
#game .drink-station[data-state=ready] .drink-cup{outline:2px solid #ffe05a;border-radius:4px}
#game .food-art.drink-art{background:linear-gradient(to top,var(--drink-color) 0 78%,#e9f6fc 78% 88%,transparent 88%)!important;border:2px solid #eefaff;border-radius:3px 3px 7px 7px;clip-path:polygon(12% 0,88% 0,76% 100%,24% 100%);max-width:28px;max-height:34px}

#game #shiftScore{display:inline-block;color:#ffe05a}
#game .customer.happy .customer-name{color:#173f21;background:#ffe05a;padding:4px;border-radius:4px}
#game .customer.happy.departing{animation-delay:.35s;animation-fill-mode:both}

#game .customer.paying .customer-portrait{animation:paid-customer-leave .4s ease-out forwards}
#game .customer.paying .patience-track{visibility:hidden}
#game .customer.paying .customer-name{color:#ffe05a;font-weight:900}
#game .cash-note{display:flex;align-items:center;justify-content:center;min-width:68px;min-height:40px;padding:3px 12px;color:#593700;background:linear-gradient(135deg,#fff2a3,#ffd34d 45%,#e6a820);border:3px double #9d670c;border-radius:5px;font-weight:900;font-size:18px;box-shadow:0 3px 0 #8e5d0b;transform:rotate(-5deg)}
#game .customer.paying .order-foods{height:46px}
#game #shiftScore{background:#ffd12e;color:#183920;border-color:#ffeaa0;font-weight:900}
#game #shiftScore.cash-collected{animation:cash-total-pop .4s ease-out}
@keyframes paid-customer-leave{to{opacity:0;transform:translateX(25px)}}
@keyframes cash-total-pop{50%{transform:scale(1.17);background:#fff4ad}}
@media(prefers-reduced-motion:reduce){#game .customer.paying .customer-portrait{animation:none;opacity:0}#game #shiftScore.cash-collected{animation:none}}

/* Stable touch targets with immediate feedback, no moving controls. */
#game button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
#game .station,#game .ingredient-hotspot,#game .drink-dispenser,#game .drink-cup,#game .plate-selector{transform:none!important}
#game .station::after,#game .ingredient-hotspot::after,#game .drink-dispenser::after,#game .drink-cup::after{content:'';position:absolute;inset:-4px;background:transparent;border:0;pointer-events:auto}
#game .touch-pressed{outline:2px solid #ffe05a;outline-offset:-2px}
#game .customer.paying .customer-order{min-height:52px}
#game .customer.paying .cash-note{min-height:44px;min-width:80px}
#game .plate-selector{min-height:0;border-radius:50%}

#game #clearBreakfastPlate.discarded{outline:2px solid #ffe05a;outline-offset:-4px;border-radius:12px}

/* Once paid, only the banknote remains; discard the order card entirely. */
#game .customer.paying .customer-order{background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}
#game .customer.paying .customer-name,#game .customer.paying .patience-track{display:none}
#game .customer.paying.touch-pressed{outline:none}
#game .customer.paying.touch-pressed .cash-note{filter:brightness(1.15)}
#game .customer.paying:focus-visible{outline:none}
#game .customer.paying:focus-visible .cash-note{outline:3px solid white;outline-offset:3px}

/* Stable, generous collection target: children never intercept the tap. */
#game .customer.paying{animation:none;transform:none;cursor:pointer;pointer-events:auto}
#game .customer.paying .customer-order{left:-10%;right:-10%;min-height:76px;top:-10px;display:flex;align-items:center;justify-content:center;pointer-events:none}
#game .customer.paying .order-foods,#game .customer.paying .cash-note{pointer-events:none}
#game .customer.paying .cash-note{min-width:96px;min-height:52px;font-size:21px}

/* Status messages sit below the plates, leaving the restaurant logo clear. */
#game .kitchen-toast{top:auto;bottom:1%;left:50%;max-width:58%;padding:5px 12px;font-size:clamp(9px,1.1vw,14px);pointer-events:none}

/* Align the bread pair with the painted toaster slots (20–29% of playfield).
   The side sprite includes transparent margins, accounted for in this box. */
#game .station[data-food=toast]{left:20.4%;top:40%;width:9%;height:24%}
#game .station[data-food=toast]>.food-art{left:5%;top:0;width:90%;height:50%;clip-path:inset(0 0 13% 0);pointer-events:none}
#game .station[data-food=toast].cooking>.food-art{visibility:hidden}
#game .station[data-food=toast].ready>.food-art,#game .station[data-food=toast].burnt>.food-art{visibility:visible;animation:toaster-pop .32s ease-out both}
#game .station[data-food=toast].burnt>.food-art{filter:brightness(.35)}
#game .station[data-food=toast] .cook-track{top:57%;left:12%;width:76%;height:4%}
@keyframes toaster-pop{from{transform:translateY(50%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#game .station[data-food=toast].ready>.food-art,#game .station[data-food=toast].burnt>.food-art{animation:none}}

/* Keep the approved artwork's colors stable; appliance state never filters it. */
#game .breakfast-backdrop{filter:none!important;opacity:1!important;mix-blend-mode:normal}
#game .equipment-lock,#game .ingredient-hotspot.locked,#game .station.locked,#game .drink-station.locked{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;opacity:1}
/* Readiness is visible in the food itself, without yellow equipment boxes. */
#game .station.ready,#game .station.touch-pressed,#game .ingredient-hotspot.armed,#game .ingredient-hotspot.touch-pressed,#game .drink-dispenser.touch-pressed,#game .drink-cup.touch-pressed,#game .drink-station[data-state=ready] .drink-cup{outline:none!important;box-shadow:none!important}
#game .station:active,#game .ingredient-hotspot:active{outline:none}
/* Align collection and liquid with the four painted glass interiors. */
#game .drink-cup{top:58%;height:30%;left:16%;width:70%;overflow:hidden;border-radius:0;background:transparent}
#game .cup-liquid{bottom:7%;left:10%;width:80%;border-radius:0 0 35% 35%;clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);opacity:.78;mix-blend-mode:multiply}

/* Liquid uses the background artwork's coordinates, independent of button boxes. */
#game .drink-liquid-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:.78}
#game .drink-liquid-layer *{pointer-events:none}

#game .drink-station,#game .drink-station .drink-dispenser,#game .drink-station .drink-cup,#game .drink-station button:focus,#game .drink-station button:focus-visible,#game .drink-station button:active,#game .drink-station button:hover{outline:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
#game .drink-liquid-layer path{stroke:none!important}

#game .station[data-food=toast],#game .station[data-food=toast]:hover,#game .station[data-food=toast]:active,#game .station[data-food=toast]:focus,#game .station[data-food=toast]:focus-visible{outline:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
#game .station[data-food=toast].ready .cook-track,#game .station[data-food=toast].burnt .cook-track{display:none!important}

/* Locked controls must look unavailable without filtering the background art. */
#game .ingredient-hotspot.locked,#game .equipment-lock,#game .drink-station.locked .drink-dispenser,#game .station.locked{background:rgba(8,10,9,.72)!important;border-radius:6px}
#game .ingredient-hotspot.locked::before,#game .equipment-lock::before,#game .drink-station.locked .drink-dispenser::before,#game .station.locked::after{content:'🔒';display:block!important;position:absolute;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(12px,1.6vw,24px);line-height:1;pointer-events:none;background:none;border:0}
#game .drink-station.locked .drink-dispenser{background:rgba(8,10,9,.72)!important}

/* Put the primary action before optional instructions, including on short phones. */
#game .shift-card{display:flex;flex-direction:column;align-items:center;width:min(620px,92%);max-height:90%;padding:clamp(10px,2vh,22px);gap:5px}
#game .shift-eyebrow{order:0;font-size:10px}
#game .shift-card h1{order:1;font-size:clamp(21px,3vw,36px);margin:2px 0}
#game #beginShift{order:2;flex-shrink:0;min-height:44px;margin:3px 0;padding:10px 32px;font-size:18px}
#game #shiftDescription{order:3;min-height:0;overflow-y:auto;width:100%}
#game #shiftSecondary{order:4;flex-shrink:0;min-height:36px;margin:0;padding:7px 18px;font-size:13px}
#game .shift-card p{font-size:clamp(11px,1.25vw,15px);line-height:1.35;margin:5px 0}
#game .shift-steps{gap:7px;margin:7px 0}
#game .shift-steps span{font-size:clamp(10px,1vw,13px);padding:6px}
#game .shift-steps b{font-size:16px}
@media(max-height:430px){#game .shift-card{padding:8px 16px;gap:2px}#game .shift-eyebrow{display:none}#game .shift-card h1{font-size:23px}#game .shift-card p{font-size:12px;margin:3px 0}#game .shift-steps{margin:3px 0}#game .shift-steps span{padding:3px}#game .shift-steps b{display:inline;margin-right:5px}}

/* Lock icons alone identify unavailable items, without dark rectangular films. */
#game .ingredient-hotspot.locked,#game .equipment-lock,#game .drink-station.locked .drink-dispenser,#game .station.locked{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* Use the same opaque drink color in the glass, order and prepared plate. */
#game .drink-liquid-layer{opacity:1}
#game .food-art.drink-art{opacity:1!important;filter:none!important;mix-blend-mode:normal;background:linear-gradient(to top,var(--drink-color) 0 78%,#e9f6fc 78% 88%,transparent 88%)!important}

/* Match the painted plate rims, keeping the selection stroke inside each dish. */
#game .plate-area{top:77.55%;width:15.45%;height:10.65%}
#game .plate-area[data-plate="0"]{left:24.05%}
#game .plate-area[data-plate="1"]{left:44.32%}
#game .plate-area[data-plate="2"]{left:64.47%}
#game .plate-area.selected .plate-selector{outline:none;box-shadow:none}
#game.plate-has-been-tapped .plate-area.selected .plate-selector{box-shadow:inset 0 0 0 3px #ffe05a}
#game .plate-first-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(9px,1.15vw,16px);color:#55451d;font-weight:700;pointer-events:none}
#game .plate-first-hint[hidden]{display:none}

/* Keep neighboring ingredient trays from intercepting each other. */
#game .ingredient-hotspot::after{inset:0;pointer-events:none}

@keyframes unlock-celebration{0%,100%{box-shadow:0 0 0 0 #ffd34c00}25%,75%{box-shadow:0 0 8px 4px #ffdd56,0 0 22px 8px #ffca4277}50%{box-shadow:0 0 0 2px #fff4b6}}
#game .just-unlocked{animation:unlock-celebration .85s ease-in-out 3;z-index:5}
@media(prefers-reduced-motion:reduce){#game .just-unlocked{animation:none;outline:3px solid #ffdc51}}

/* An occasional waiting customer reacts; the cue clears immediately on service. */
#game .customer.marked-dasher .customer-portrait{filter:sepia(.18) saturate(1.4) drop-shadow(0 0 5px #f06a5477)}
#game .customer.marked-dasher::after{content:'💢';position:absolute;right:9%;top:28%;font-size:clamp(19px,2.7vw,38px);line-height:1;z-index:6;pointer-events:none;filter:drop-shadow(0 1px 2px #fff6);animation:customer-annoyed .4s ease-out}
@keyframes customer-annoyed{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){#game .customer.marked-dasher::after{animation:none}}

#game .customer.dine-dasher{animation:dine-dash-exit 1.6s ease-in both}
#game .dash-warning{font-weight:900;color:#b83621;font-size:clamp(10px,1.4vw,19px);white-space:nowrap}
@keyframes dine-dash-exit{0%,40%{opacity:1;transform:none}65%{opacity:1;transform:translateX(12%)}100%{opacity:0;transform:translateX(65%)}}
@media(prefers-reduced-motion:reduce){#game .customer.dine-dasher{animation:none}}

#game .customer.tipped-customer .cash-note{filter:drop-shadow(0 0 7px #ffdb47)}
#game .customer.tipped-customer .customer-name{color:#ffe174;font-weight:900}

/* Fruit Punch stays pure red in customer orders and prepared plates. */
#game .food-art.drink-art[data-food="punch"]{--drink-color:#ff0000!important;background:linear-gradient(to top,#ff0000 0 78%,#e9f6fc 78% 88%,transparent 88%)!important;opacity:1!important;filter:none!important}

#game .customer.paying .order-foods{position:relative}#game .tip-badge{position:absolute;top:-16px;right:0;background:#ffcf24;color:#302006;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:900;white-space:nowrap;pointer-events:none}

#game .customer.dine-dasher{animation-duration:2.4s}#game .stolen-cash{color:#ff0000!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:clamp(22px,3vw,38px)!important;font-weight:900;text-shadow:0 1px 0 white}#game #shiftScore.cash-stolen{color:#ff3038!important;text-shadow:0 0 8px #b6000077}#game .customer.dine-dasher .customer-name{color:#ff3038;background:#fff2e5}

#game #cashLoss{display:inline-block;color:#ff3038!important;font-size:clamp(16px,2vw,26px);font-weight:900;white-space:nowrap}#game #cashLoss[hidden]{display:none}

/* Orders and portraits occupy separate vertical areas in Breakfast too. */
#game .customer:not(.paying){overflow:hidden}
#game .customer .customer-portrait{height:67%;bottom:0;max-width:100%}
#game .customer:not(.paying) .customer-order{left:0;right:0;top:0;height:30%;max-height:30%;min-height:0;padding:2px 3px 7px;overflow:hidden;border-width:1px;border-radius:6px;box-sizing:border-box}
#game .customer:not(.paying) .order-foods{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;height:100%;min-height:0;overflow:hidden}
#game .customer:not(.paying) .order-foods .food-art{flex:1;min-width:0;width:auto;max-width:38px;height:100%;max-height:100%;min-height:0}
#game .customer:not(.paying) .customer-name{display:none}
#game .customer:not(.paying) .patience-track{position:absolute;left:3%;bottom:2px;width:94%;height:3px}
#game .customer:not(.paying) .customer-order{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:100%;height:auto;max-height:30%;padding:2px 3px 7px}
#game .customer:not(.paying) .order-foods{width:max-content;max-width:100%;height:clamp(18px,2vw,28px);gap:3px}
#game .customer:not(.paying) .order-foods .food-art{flex:0 1 28px;width:clamp(18px,2vw,28px);height:100%;min-width:0;max-width:28px}
#game .customer:not(.paying) .customer-order{width:fit-content;min-width:0;max-width:96%;height:fit-content;min-height:0;padding:2px 3px 6px;box-shadow:none}
#game .customer:not(.paying) .customer-order{background:#505650;border-color:#d5c9a9}
#game .customer:not(.paying) .customer-order{--order-icon:clamp(20px,2.2vw,31px);left:50%;right:auto;top:0;bottom:auto;transform:translateX(-50%);width:calc(var(--order-count,2) * (var(--order-icon) + 3px) + 6px);max-width:96%;height:calc(var(--order-icon) + 10px);min-height:calc(var(--order-icon) + 10px);max-height:none;box-sizing:border-box}
#game .customer:not(.paying) .order-foods{width:100%;height:var(--order-icon);min-height:var(--order-icon);max-height:none}
#game .customer:not(.paying) .order-foods .food-art{flex:0 1 var(--order-icon);width:var(--order-icon);height:var(--order-icon);min-height:var(--order-icon);max-height:none;min-width:0}
#game .customer[data-order-dense=true]{--dense-icon:clamp(18px,2.2vw,31px)}
#game .customer[data-order-dense=true]:not(.paying) .customer-order{--order-icon:var(--dense-icon);width:calc(var(--order-columns) * (var(--order-icon) + 3px) + 6px);height:calc(2 * var(--order-icon) + 12px);min-height:calc(2 * var(--order-icon) + 12px)}
#game .customer[data-order-dense=true]:not(.paying) .order-foods{display:grid;grid-template-columns:repeat(var(--order-columns),minmax(0,1fr));grid-template-rows:repeat(2,var(--order-icon));height:calc(2 * var(--order-icon) + 3px);width:100%;gap:3px}
#game .customer[data-order-dense=true]:not(.paying) .order-foods .food-art{width:100%;height:var(--order-icon);max-width:none}
#game .customer[data-order-dense=true] .customer-portrait{height:calc(100% - 2 * var(--dense-icon) - 16px)}

/* Plate contents stay inside the inner oval; toppings belong to each food. */
#game .assembled-plate{position:absolute;inset:13% 13%;width:74%;height:74%;display:block;padding:0;overflow:hidden;clip-path:ellipse(50% 50% at 50% 50%)}
#game .plate-selector{position:relative}
#game .plated-foods{display:flex;position:absolute;inset:4% 5%;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;gap:0}
#game .plated-item{position:relative;display:block;width:45%;height:84%;min-width:0}
#game .plated-foods[data-count="1"] .plated-item{width:65%}
#game .plated-foods[data-count="3"] .plated-item{width:32%}
#game .plated-foods[data-count="4"] .plated-item,#game .plated-foods[data-count="5"] .plated-item,#game .plated-foods[data-count="6"] .plated-item{width:32%;height:48%}
#game .assembled-plate .plated-item>.food-art{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:100%;max-width:100%;animation:none}
#game .assembled-plate .plated-item>.drink-art{width:45%;left:28%;height:85%;top:7%;border-width:1px}
#game .onion-sprinkle{position:absolute;inset:25% 18%;background:url('assets/green-onion.svg') center/100% 100% no-repeat;z-index:2;pointer-events:none}
