#lunchGame{position:relative;width:100%;height:100dvh;overflow:hidden;background:#142b22;color:#fff6db}
#lunchGame.active{display:block!important}
#lunchCanvas{position:absolute;inset:0;width:100%;height:100%;background:#163f32;isolation:isolate}
#lunchGame [hidden]{display:none!important}
#lunchGame button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
#lunchCanvas>button{position:absolute;display:block;margin:0;padding:0;border:0;background:transparent;color:inherit;z-index:3}
#lunchCanvas>button:focus-visible{outline:3px solid #ffe695;outline-offset:-2px}
.pl-nav{position:absolute;left:.7%;top:1%;display:flex;gap:5px;z-index:12}
.pl-nav button{min-height:32px;padding:5px 8px;border-radius:7px;background:#153b2aee;color:#fff4d7;font-weight:850;font-size:clamp(9px,1vw,14px)}
.pl-hud{position:absolute;top:1%;right:1%;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;width:29%;z-index:10}
.pl-hud>*{white-space:nowrap;background:#241a12ed;color:#fff4d7;border:1px solid #c9a04c;border-radius:6px;padding:4px 6px;font-size:clamp(9px,1.05vw,16px);font-weight:850}
.pl-hud strong{color:#ffe18a}
.pl-source.locked:after,.pl-cook.locked:after{content:'🔒';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(15px,2vw,30px);line-height:1;background:none;pointer-events:none}
.pl-food{display:block;width:100%;height:100%;min-width:0;pointer-events:none}
.pl-food>svg,.pl-food>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}
.pl-food>svg{overflow:hidden}
.pl-drink{background:linear-gradient(to top,var(--juice) 0 80%,#edfdff 80% 90%,transparent 90%);border:1px solid #f0ffff;clip-path:polygon(10% 0,90% 0,77% 100%,23% 100%)}
.pl-cooked{position:absolute;inset:5% 7% 5%;display:block;pointer-events:none;overflow:hidden}
.pl-fryer .pl-cooked{inset:2% 6% 3%;clip-path:polygon(3% 0,97% 0,91% 100%,8% 100%)}
.pl-pot .pl-cooked{display:none}
.pl-cook[data-state=burnt] .pl-cooked{filter:brightness(.22) saturate(.35)}
.pl-cook-track{position:absolute;left:8%;width:84%;top:-15%;height:8%;min-height:4px;border:1px solid #e5d3a8;border-radius:5px;background:#1e211d;overflow:hidden;pointer-events:none}
.pl-cook-track i{display:block;height:100%;background:#f2d53d}
.pl-pot .pl-cook-track{top:1%;height:5%}
.pl-cook[data-state=ready] .pl-cook-track i{background:#75d534}
.pl-cook[data-state=burnt] .pl-cook-track{background:#ed3028}
.pl-cup>svg{display:block;width:100%;height:100%;pointer-events:none}
#lunchCanvas>.pl-plate{z-index:4;border-radius:50%;overflow:visible}
#lunchCanvas>.pl-plate[aria-pressed=true]{outline:2px solid #ffda55;outline-offset:2px}
/* Fixed serving arrangement: rice left, side dishes middle, mains right. */
.pl-plated{position:absolute;inset:0;clip-path:ellipse(47% 44% at 50% 50%);pointer-events:none}
.pl-rice{position:absolute;left:5%;top:15%;width:30%;height:70%}
.pl-sides{position:absolute;left:35%;top:15%;width:30%;height:70%;display:grid;grid-template-rows:repeat(var(--side-count,1),minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:0}
.pl-mains{position:absolute;left:65%;top:15%;width:30%;height:70%;display:grid;grid-template-columns:repeat(var(--main-count,1),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:1px}
.pl-side,.pl-main{position:relative;width:100%;height:100%;min-height:0;min-width:0}
.pl-plated .pl-food[data-food]{transform:none;width:100%;height:100%}
.pl-plated .pl-food>img{object-fit:fill}
.pl-gravy{position:absolute;left:7%;top:14%;width:86%;height:65%;opacity:.9;mix-blend-mode:multiply}
.pl-onion{position:absolute;left:8%;top:11%;width:79%;height:51%}
.pl-served-drink{position:absolute;left:98%;bottom:3%;width:15%;height:73%;pointer-events:none}
.pl-portrait{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:100%;width:auto;max-width:100%;background-size:300% 200%;background-repeat:no-repeat;pointer-events:none}
.pl-dasher{position:absolute;left:0;bottom:50%;font-size:clamp(20px,2.7vw,40px);pointer-events:none}
.pl-customer.leaving{opacity:0;transition:opacity 1s}
#lunchCanvas>.pl-ticket{--icon:clamp(25px,3.1vw,44px);display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-template-rows:repeat(var(--rows,1),var(--icon));width:calc(var(--cols,3) * (var(--icon) + 3px) + 8px)!important;max-width:23%;height:calc(var(--rows,1) * (var(--icon) + 3px) + 9px)!important;min-height:calc(var(--rows,1) * (var(--icon) + 3px) + 9px);padding:3px 4px 7px;gap:3px;border:1px solid #d5c9a9;border-radius:7px;background:#505650;overflow:visible;z-index:6}
#lunchCanvas>.pl-ticket>.pl-food{width:100%;height:var(--icon);min-height:var(--icon)}
.pl-wait{position:absolute;left:3%;bottom:2px;width:94%;height:3px;border-radius:3px;background:#242b24;overflow:hidden;pointer-events:none}
.pl-wait i{display:block;height:3px;transition:width .1s linear}
#lunchCanvas>.pl-ticket.paying{display:flex;flex-direction:column;align-items:center;width:max-content!important;max-width:none;height:auto!important;min-height:0;padding:0;gap:3px;background:transparent;border:0;overflow:visible;z-index:9}
.pl-cash{display:flex;align-items:center;justify-content:center;min-height:40px;padding:4px 10px;white-space:nowrap;border:3px double #98600b;border-radius:5px;background:linear-gradient(135deg,#fff1a3,#ffd34d 45%,#e6a820);color:#533400;font-size:clamp(18px,2.3vw,32px);line-height:1.2;font-weight:950;box-shadow:0 3px 0 #92610b;transform:rotate(-4deg)}
.pl-tip{background:#ffcf24;color:#302006;border-radius:5px;padding:2px 5px;font-size:clamp(9px,1vw,14px);font-weight:900;white-space:nowrap}
.pl-loss{font-weight:950;color:#ff3030;font-size:clamp(20px,2.6vw,36px)}
#lunchToast{position:absolute;left:50%;bottom:1.5%;transform:translateX(-50%);max-width:45%;padding:5px 10px;border-radius:7px;background:#17382bee;color:#ffdf77;font-size:clamp(9px,1vw,14px);font-weight:850;pointer-events:none;z-index:9;text-align:center}
.pl-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:10px;z-index:30;background:#08291abd;backdrop-filter:blur(3px)}
.pl-card{width:min(570px,85%);max-height:94%;padding:16px 22px;border:3px solid #ddba59;border-radius:19px;background:#fff5dd;color:#203e2c;text-align:center;overflow:auto;box-shadow:0 12px 50px #0006}
.pl-card>span{font-size:10px;font-weight:850;letter-spacing:1.5px;color:#816329}.pl-card h1{margin:7px 0;font-size:clamp(23px,3vw,38px)}.pl-card p{font-size:clamp(12px,1.4vw,17px);line-height:1.45;margin:9px 0}
.pl-card button{min-height:42px;margin:5px;padding:10px 18px;border-radius:9px;background:#ffcf32;color:#233e2b;font-weight:850}.pl-card #lunchSecondary{background:#1d422e;color:#fff0cc}
body[data-screen=lunchGame] #musicToggle{top:auto!important;bottom:8px!important;right:8px!important;min-height:32px!important;height:32px!important;width:100px!important;font-size:11px!important}
body[data-screen=lunchGame] #fullscreenBtn{top:auto!important;bottom:8px!important;left:14%!important;height:32px!important;font-size:11px!important}
.pl-cash-pop{animation:pl-cash-pop .4s ease-out}@keyframes pl-cash-pop{50%{transform:scale(1.14);color:#ffe565}}
@media(max-height:350px){.pl-card{padding:8px 18px}.pl-card p{margin:5px 0}.pl-card button{margin:3px;min-height:38px;padding:8px 14px}.pl-nav button{min-height:28px}}
@media(prefers-reduced-motion:reduce){.pl-cash-pop{animation:none}.pl-wait i{transition:none}}

.pl-scene{position:absolute;inset:0;z-index:0;pointer-events:none}.pl-scene>svg{display:block;width:100%;height:100%}
#lunchCanvas>.pl-ticket:before{content:'';position:absolute;left:-7px;top:8px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:7px solid #505650}
#lunchCanvas>.pl-ticket.paying:before{display:none}

#lunchCanvas>.pl-trash{background:#164f39;border:2px solid #d5bd62;border-radius:9px;box-shadow:0 2px 4px #0007;font-size:clamp(26px,4vw,56px);line-height:1}

/* Slightly larger side dishes; keep the source tray outside their SVG masks. */
.pl-food[data-food=mac],.pl-food[data-food=cucumber]{transform:scale(1.12);transform-origin:center}
#lunchCanvas>button:active{outline:2px solid #ffe69a;outline-offset:-2px}
#lunchCanvas>.pl-source{touch-action:none}

/* Order pictures stay compact; plated portion sizes are controlled separately. */
#lunchCanvas>.pl-ticket>.pl-food[data-food=mac],#lunchCanvas>.pl-ticket>.pl-food[data-food=cucumber]{transform:scale(1.03)}
#lunchCanvas>.pl-ticket>.pl-food[data-food=salad]{transform:scale(.92)}

.pl-cup-interior{position:absolute;left:7%;right:7%;top:8%;bottom:9%;clip-path:polygon(2% 0,98% 0,86% 100%,14% 100%);pointer-events:none;overflow:hidden}
.pl-liquid{position:absolute;left:0;bottom:0;width:100%;height:0;background:var(--juice);box-shadow:inset 2px 0 3px #fff5,inset -2px 0 3px #0002;pointer-events:none}
.pl-cup[data-state=ready] .pl-cup-interior{filter:drop-shadow(0 0 1px #fff)}
.pl-served-drink{left:100%;bottom:9%;width:19%;height:84%;z-index:5}
.pl-served-drink>.pl-drink{border:2px solid #e7faff;box-sizing:border-box;min-width:0;background:linear-gradient(to top,var(--juice) 0 82%,#f5ffff 82% 94%,transparent 94%)}

.pl-rice,.pl-side{overflow:hidden}
