#game{position:relative;width:100%;height:100dvh;overflow:hidden;background:#30291a;color:#fff5de}
#game.active{display:block!important;overflow:hidden!important}
.breakfast-backdrop{position:absolute;inset:0;background:url('assets/breakfast-background.webp') center/cover;pointer-events:none}
.kitchen-hud{position:absolute;top:0;left:0;right:0;height:14%;min-height:48px;display:flex;align-items:center;gap:10px;padding:7px 130px 7px 12px;background:linear-gradient(#12271ef5,#12271e99);z-index:8}
.kitchen-hud button{min-height:40px;padding:7px 12px;border-radius:9px;background:#fff2cb;color:#25382d;font-size:12px;font-weight:800;white-space:nowrap}
.kitchen-title{margin-right:auto;font-size:clamp(12px,1.8vw,21px);font-weight:900;letter-spacing:1px;white-space:nowrap}
.kitchen-stat{background:#11291dd9;padding:7px 10px;border:1px solid #c6a04c;border-radius:10px;font-weight:800;font-size:clamp(11px,1.5vw,18px);white-space:nowrap}
.customer-lane{position:absolute;left:6%;right:6%;top:15%;height:38%;display:grid;grid-template-columns:repeat(3,1fr);gap:6%;z-index:3}
.customer{position:relative;display:block;width:100%;height:100%;padding:0;background:transparent!important;border:0;overflow:visible;color:#25362b;box-shadow:none!important;transition:opacity .3s;touch-action:manipulation}
.customer[hidden]{display:block;visibility:hidden;pointer-events:none}.customer.entering{animation:customer-in .65s ease-out both}.customer.departing{animation:customer-out .8s ease-in both;pointer-events:none}
.customer-portrait{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:73%;width:100%;background-image:url('assets/breakfast-customers.webp');background-size:300% 100%;background-repeat:no-repeat;pointer-events:none}
.customer-order{position:absolute;left:5%;right:5%;top:0;background:#fff8e8;border:2px solid #3d291b;border-radius:12px;padding:5px 7px;box-shadow:0 3px 0 #271a0b66;z-index:2;min-height:53px}
.order-foods{display:flex;align-items:center;justify-content:center;gap:3px;height:33px}.order-foods .food-art{width:38px;height:33px}.patience-track{height:5px;border-radius:4px;background:#413d31;overflow:hidden}.patience-fill{height:100%;width:100%;background:#7cc544;transition:width .1s linear}.customer-name{font-size:9px;font-weight:900;position:absolute;top:100%;left:15%;right:15%;padding:2px;background:#1a3528;color:#fff5d7;border-radius:0 0 6px 6px;letter-spacing:.6px}.customer.happy .customer-order{background:#ffe04c}.customer.happy .customer-name{background:#ffe04c;color:#203629}
.kitchen-workbench{position:absolute;bottom:0;left:0;right:0;height:47%;display:grid;grid-template-columns:1fr 28%;gap:12px;padding:12px 14px 10px;background:linear-gradient(#343a38,#19231e);border-top:5px solid #d1b582;box-shadow:0 -5px 20px #0007;z-index:4}
.stations{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;min-width:0}.station{position:relative;min-width:0;min-height:44px;background:linear-gradient(#414c48,#19241e);border:2px solid #9b9e8b;border-radius:12px;color:#fff5de;padding:7px 4px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-shadow:0 4px 0 #0d1712}
.station .food-art{width:100%;flex:1;max-width:95px;min-height:40px;max-height:86px}.food-art{display:block;background-image:url('assets/breakfast-foods.webp');background-size:400% 200%;background-repeat:no-repeat;pointer-events:none;flex-shrink:0}
.station-name{font-size:clamp(10px,1.4vw,16px);font-weight:900;line-height:1.1}.station-status{font-size:clamp(9px,1.2vw,13px);height:18px;line-height:18px;color:#ffe291;white-space:nowrap}.cook-track{width:90%;height:5px;background:#080f0b;border-radius:5px;overflow:hidden;margin:3px 0}.cook-fill{height:100%;background:#ffd142;width:0;transition:width .1s linear}
.station.locked{filter:grayscale(1);opacity:.62;border-color:#707970}.station.ready{border-color:#ffe04c;box-shadow:0 0 13px #ffcf3777}.station.ready .station-status{color:#fff}.station.burnt{border-color:#ff8968;background:#3e2921}.station.burnt .food-art{filter:brightness(.25)}.station.cooking .food-art{opacity:.7}
.plate-area{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:0;border-left:1px solid #c4a86a66;padding-left:12px}.plate-caption{font-size:clamp(10px,1.3vw,15px);font-weight:900;letter-spacing:1px}.assembled-plate{position:relative;flex:1;width:100%;max-width:225px;min-height:66px;background:radial-gradient(ellipse at center,#fffdf5 0 48%,#d9d7ca 49% 54%,#fff9e8 55% 62%,transparent 63%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;padding:6% 12%;gap:0}.assembled-plate .food-art{width:44%;height:44%;min-height:30px}.empty-plate{font-size:11px;text-align:center;color:#7c796b;font-weight:600}.plate-hint{font-size:clamp(9px,1.2vw,12px);color:#ffdc68;text-align:center;line-height:1.25}.plate-area button{min-height:32px;margin-top:3px;padding:5px 12px;font-size:11px;border-radius:8px;background:#46534a;color:#fff4d7}
.kitchen-toast{position:absolute;bottom:49%;left:50%;transform:translateX(-50%);padding:8px 18px;border-radius:10px;background:#122b22ee;border:1px solid #eac45c;color:#ffe196;font-size:clamp(11px,1.5vw,18px);font-weight:800;z-index:9;max-width:85%;text-align:center;pointer-events:none}.kitchen-toast[hidden]{display:none}
.shift-overlay{position:absolute;inset:0;z-index:20;background:#061a13bb;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:14px}.shift-overlay[hidden]{display:none}.shift-card{width:min(620px,86%);max-height:94%;overflow:auto;background:#fff5dc;color:#243a2c;border:3px solid #d7ac3d;border-radius:23px;padding:20px 28px;text-align:center;box-shadow:0 15px 60px #0006}.shift-eyebrow{color:#89651a;letter-spacing:2px;font-size:10px;font-weight:900}.shift-card h1{font-size:clamp(24px,3.6vw,43px);margin:6px 0 9px;line-height:1.05}.shift-card p{font-size:clamp(12px,1.6vw,17px);margin:7px 0;line-height:1.45}.shift-steps{display:flex;gap:12px;justify-content:center;margin:14px 0}.shift-steps span{flex:1;border-radius:10px;background:#eadfbd;padding:9px;font-size:12px}.shift-steps b{display:block;color:#966c13;font-size:18px}.shift-card button{min-height:46px;padding:12px 24px;border-radius:11px;background:#ffca26;color:#263627;font-weight:900;margin:5px;box-shadow:0 3px 0 #bb8819}.shift-card button.secondary{background:#203d2c;color:#fff3d5;box-shadow:0 3px 0 #12271d}.stage-lock-symbol{position:absolute;top:0;right:8%;width:28%;height:28%;background:#172c23;border:3px solid #e2b94a;border-radius:12px;color:#ffe04c;font-size:clamp(10px,1.4vw,20px);display:flex;align-items:center;justify-content:center;font-weight:900;pointer-events:none}.stage-lock-symbol.open{background:#ffd03b;color:#253b29}
@keyframes customer-in{from{opacity:0;transform:translateX(-65px)}to{opacity:1;transform:none}}@keyframes customer-out{to{opacity:0;transform:translateX(70px)}}
@media(max-height:430px){.kitchen-hud{gap:5px;padding-left:8px}.kitchen-stat{padding:5px 6px}.kitchen-title{font-size:12px}.kitchen-hud button{padding:6px 9px;font-size:11px}.kitchen-workbench{gap:8px;padding:8px}.stations{gap:5px}.station{padding:5px 2px;border-radius:9px}.plate-area{padding-left:7px}.shift-card{padding:14px 22px}.shift-steps{margin:9px 0}.shift-steps span{font-size:11px;padding:7px}.shift-card h1{font-size:28px}.shift-card p{font-size:12px}}
/* Keep character proportions and HUD controls readable on compact phones. */
.customer-portrait{width:auto;aspect-ratio:626/837;max-width:100%}
.patience-track,.patience-fill,.cook-track,.cook-fill{display:block}
@media(max-width:1000px){#shiftScore{display:none}.kitchen-title{font-size:12px}.kitchen-hud{gap:6px}.kitchen-stat{font-size:11px}}
@media(max-width:760px){.kitchen-title{display:none}.kitchen-hud{gap:5px}.kitchen-stat{padding:5px;font-size:10px}.kitchen-hud button{padding:5px 7px}.customer-lane{left:4%;right:4%;gap:4%}.customer-name{font-size:8px}}
.kitchen-hud button,.plate-area button{min-height:44px}
@media(max-height:350px){.assembled-plate{min-height:42px}.plate-hint{font-size:9px}.plate-area button{margin-top:0}.customer-order{padding:3px}.shift-card{padding:10px 18px}.shift-steps{margin:5px 0}.shift-card button{padding:8px 18px}}

.map-stage-numbers{position:absolute;inset:0;pointer-events:none;z-index:2}.map-stage-numbers>svg{display:block;width:100%;height:100%;overflow:visible}
