.lunch-game{width:min(100%,510px);margin:0 auto;color:#24384a}
.lunch-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 12px}
.lunch-hud>div{min-width:0;background:#fff8e8;border:2px solid #d8c9a8;border-radius:17px;box-shadow:0 4px 0 #d8c9a8;padding:7px 10px;text-align:center}
.lunch-hud small{display:block;font-size:12px;line-height:1.3;color:#5a6671;font-weight:700}
.lunch-hud strong{display:block;font-size:18px;line-height:1.45;font-weight:900;font-variant-numeric:tabular-nums}
.lunch-hud [data-lives]{color:#e87b60;white-space:nowrap;letter-spacing:1px}
.lunch-field{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;border:3px solid #25495d;border-radius:22px;background:#82c8ed url("assets/games/lunch-defense/park.png") center/100% 100% no-repeat;touch-action:manipulation;isolation:isolate}
.lunch-birds{position:absolute;inset:0;pointer-events:none}
.lunch-pigeon{position:absolute;top:-12%;width:30%;height:auto;filter:drop-shadow(0 7px 4px #21455a55);will-change:top,transform;pointer-events:none}
.lunch-umbrella{position:absolute;left:50%;top:70%;width:36%;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 4px #27415766);transition:left .16s ease;pointer-events:none}
.lunch-hit{animation:lunch-bounce .26s ease}
.lunch-miss{animation:lunch-flash .3s ease}
.lunch-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:24px;background:#18374794;backdrop-filter:blur(2px)}
.lunch-overlay[hidden]{display:none}
.lunch-dialog{width:min(100%,350px);padding:24px 22px;background:#fffaf0;border:3px solid #25495d;border-radius:24px;box-shadow:0 11px 0 #17364880;text-align:center}
.lunch-dialog h2{font-size:26px;line-height:1.2;margin:0 0 12px;color:#25394b}
.lunch-dialog p{font-size:16px;line-height:1.6;margin:0 0 20px;color:#405365}
.lunch-dialog .button{min-width:160px}
.lunch-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 9px}
.lunch-controls button{min-height:65px;border:2px solid #4c7182;border-radius:16px;background:#dceef1;color:#203949;font-family:inherit;font-size:21px;font-weight:900;line-height:1.2;box-shadow:0 5px 0 #9bbdc5;touch-action:manipulation;cursor:pointer}
.lunch-controls button:nth-child(2){background:#ffe1c8;border-color:#bc8268;box-shadow:0 5px 0 #d2aa96}
.lunch-controls button:nth-child(3){background:#dbead8;border-color:#719c80;box-shadow:0 5px 0 #aecab4}
.lunch-controls button[aria-pressed=true]{outline:3px solid #223b4b;outline-offset:2px;transform:translateY(3px);box-shadow:0 2px 0 #9bbdc5}
.lunch-controls button:focus-visible,.lunch-dialog button:focus-visible{outline:3px solid #da6258;outline-offset:3px}
.lunch-game .toy-status{min-height:2.8em;text-align:center}
.lunch-game .toy-controls{justify-content:center}
@keyframes lunch-bounce{50%{transform:translate(-50%,-57%) scale(1.08)}}
@keyframes lunch-flash{35%{box-shadow:inset 0 0 0 1000px #e9483f60}}
@media(max-width:480px){.toy-page:has(.lunch-game) .toy-card{padding:14px 12px}.toy-page:has(.lunch-game) .toy-card h1{font-size:22px}.toy-page:has(.lunch-game) .toy-instruction{margin:5px 0 10px;line-height:1.45}.lunch-hud{gap:6px;margin-bottom:8px}.lunch-hud>div{padding:5px}.lunch-hud strong{font-size:15px}.lunch-hud small{font-size:11px}.lunch-field{height:clamp(280px,42dvh,390px);aspect-ratio:auto}.lunch-controls{gap:8px;margin:10px 0 4px}.lunch-controls button{min-height:57px}.lunch-dialog{padding:20px 18px}.lunch-dialog h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.lunch-umbrella{transition:none}.lunch-hit,.lunch-miss{animation:none}}
