/* Hosting edition: motion stays behind the play controls and respects reduced motion. */
.language-picker{display:flex;align-items:center;gap:5px;background:#e6eee2;border:1px solid #c8d6c4;border-radius:10px;padding:0 7px;height:40px;color:#276457;font-weight:bold}
.language-picker select,.toggle-row select{font:inherit;font-size:12px;color:#22443b;border:0;background:transparent;padding:7px 2px;max-width:100px}
.language-picker:focus-within{outline:3px solid #159eb7;outline-offset:2px}
.bay-life{pointer-events:none}.bay-boat{animation:boat-pass 58s linear infinite}.bay-yacht{animation:yacht-pass 83s linear infinite}.bay-jetski{animation:jetski-pass 29s linear infinite}.float-on-water{animation:water-bob 3.4s ease-in-out infinite}.bay-yacht .float-on-water{animation-delay:-1.7s}.bay-bird{animation:bird-visit 34s ease-in-out infinite}.bird-wing{transform-origin:0 7px;animation:wing-beat 34s linear infinite}.bird-peek{transform-origin:0 2px;animation:bird-curiosity 34s infinite}.face-motion{transform-origin:80px 145px;animation:guest-look 16s ease-in-out infinite}.eye-look{animation:eye-look 16s ease-in-out infinite}.customer:nth-child(2) .face-motion,.customer:nth-child(2) .eye-look{animation-delay:-6s}.customer:nth-child(3) .face-motion,.customer:nth-child(3) .eye-look{animation-delay:-10s}.customer.angry .face-motion{animation:none}.customer.angry .eye-look{animation:none}
@keyframes boat-pass{from{transform:translate(-180px,294px)}to{transform:translate(1500px,294px)}}
@keyframes yacht-pass{from{transform:translate(1530px,242px)}to{transform:translate(-180px,242px)}}
@keyframes jetski-pass{0%,20%{transform:translate(-130px,310px);opacity:0}21%{opacity:1}48%{transform:translate(1600px,306px);opacity:1}49%,100%{transform:translate(1600px,306px);opacity:0}}
@keyframes water-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(2px) rotate(1deg)}}
@keyframes bird-visit{0%{transform:translate(-60px,145px) scale(.65);opacity:0}4%{opacity:1}17%{transform:translate(1200px,118px) scale(.85)}23%,78%{transform:translate(1320px,295px) scale(1)}84%{transform:translate(1350px,220px) scale(.85);opacity:1}93%,100%{transform:translate(1540px,140px) scale(.7);opacity:0}}
@keyframes wing-beat{0%,4%,8%,12%,16%,20%,82%,86%,90%{transform:scaleY(.15)}2%,6%,10%,14%,18%,80%,84%,88%,92%{transform:scaleY(1)}23%,78%,100%{transform:scaleY(.35) rotate(-20deg)}}
@keyframes bird-curiosity{0%,25%,40%,56%,75%,100%{transform:rotate(0)}32%,48%,65%{transform:rotate(-18deg)}}
@keyframes guest-look{0%,18%,45%,68%,100%{transform:rotate(0)}23%,34%{transform:rotate(4deg)}75%,86%{transform:rotate(-3deg)}}
@keyframes eye-look{0%,18%,45%,68%,100%{transform:translateX(0)}23%,34%{transform:translateX(3px)}75%,86%{transform:translateX(-3px)}}
.game-paused .game-board *,.tab-hidden *{animation-play-state:paused!important}
.reduced .bay-boat{animation:none;transform:translate(470px,294px)}.reduced .bay-yacht{animation:none;transform:translate(1020px,245px)}.reduced .bay-jetski{animation:none;opacity:0}.reduced .bay-bird{animation:none;transform:translate(1320px,295px)}.reduced .face-motion,.reduced .eye-look,.reduced .bird-wing,.reduced .bird-peek,.reduced .float-on-water{animation:none}
html:lang(tl) .customer.match:before{content:'I-SERVE NA'}html:lang(tl) .plate.selected:after{content:'NAPILI'}html:lang(tl) .plate.needs-bun:after{content:'LAGYAN NG TINAPAY AT KESO ↓'}html:lang(tl) .equipment.locked:before{content:'SA SUSUNOD'}
html:lang(tl) .hero h1{letter-spacing:-3px}html:lang(tl) .hero-copy{width:67%}html:lang(tl) .hero-note{font-size:10px}
@media(max-width:850px){.build-label{display:none}.hero-copy{padding-left:24px}.language-picker{height:36px}.header-tools{gap:5px}}
@media(max-width:500px){.site-header{padding:12px;gap:6px}.brand{gap:6px}.brand strong{font-size:15px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:.8px}.brand-letter{font-size:30px}.header-tools{gap:3px}.header-tools .tool{min-width:30px;width:30px;height:34px;border-radius:8px}.language-picker{padding:0 3px;height:34px}.language-picker>span{display:none}.language-picker select{font-size:10px;max-width:66px}.hero-copy,html:lang(tl) .hero-copy{width:100%}.toggle-row select{max-width:130px}.customer .guest-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.bay-boat{transform:translate(470px,294px)}.bay-yacht{transform:translate(1020px,245px)}.bay-jetski{opacity:0}.bay-bird{transform:translate(1320px,295px)}}
/* Start at different points in each loop so the bay is alive from the first view. */
.bay-boat{animation-delay:-17s}.bay-yacht{animation-delay:-29s}.bay-jetski{animation-delay:-9s}.bay-bird{animation-delay:-12s}
html:lang(tl) .table-mode .hero .kicker:after{content:'MUNTING SAYA HABANG NILULUTO ANG PAGKAIN MO'}
html:lang(tl) .table-mode .hero-note:after{content:'Laro sa mesa · Tahimik · Walang contact details'}

/* 0.4.1: readable in-scene brand, never translated or used as a control. */
.service-sign{background:linear-gradient(#845231,#533720);border-color:#e8bd73;box-shadow:0 2px 3px #35251744}
.service-sign strong{display:block;font:inherit;font-weight:900;color:#fff1c8}
.service-sign span{color:#fff0c3;white-space:nowrap}

/* 0.5.0: survival results carry a fourth stat (wave reached). */
.result-stats.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:480px){.result-stats.four{grid-template-columns:repeat(2,1fr)}}

/* 0.6.0 rendered scene: transparent guest busts, bay backdrop and coach chef sliced from design/current/05. */
#game-background{background:url(assets/scene/backdrop.webp) center top/cover no-repeat}
#game-background .terrace-art{display:none}
.customer-deck{background:#3d2a1f}
.guest-photo{width:100%;transform-origin:50% 100%;filter:drop-shadow(0 3px 3px #2a180b88)}
.guest-photo img{width:100%;height:auto;display:block;transition:filter .4s}
.guest-photo.mood-waiting img{filter:saturate(.78) brightness(.95)}
.guest-photo.mood-angry img{filter:saturate(.55) sepia(.35) hue-rotate(-25deg) brightness(.9)}
.customer.waiting .guest-photo{filter:drop-shadow(0 0 6px #efbb37cc) drop-shadow(0 3px 3px #2a180b88)}
.customer.angry .guest-photo{filter:drop-shadow(0 0 8px #e45e45dd) drop-shadow(0 3px 3px #2a180b88);animation:guest-fidget .45s ease-in-out infinite alternate}
.customer.match .guest-photo{filter:drop-shadow(0 0 8px #bded6f) drop-shadow(0 3px 3px #2a180b88)}
@keyframes guest-fidget{from{transform:translateX(-2px) rotate(-1deg)}to{transform:translateX(2px) rotate(1deg)}}
.chef-coach>img{border-radius:12px;object-fit:cover;object-position:top;background:linear-gradient(#ffd36f,#f2ac34);border:2px solid #ffe9b8;margin-top:-18px}

/* 0.7.0 juice: cooking feedback, plate flight, hearts, wave card, dusk, shake. All disabled under body.reduced. */
.grill-slot,.equipment{--cook:0;--burn:0}
.grill-slot .grill-food .food-svg,#pan-button .food-svg{filter:brightness(calc(1 - var(--cook)*.18)) sepia(calc(var(--cook)*.35)) contrast(calc(1 + var(--burn)*.25)) brightness(calc(1 - var(--burn)*.35))}
.grill-slot.ready .grill-food .food-svg{filter:brightness(calc(1 - var(--burn)*.4)) sepia(calc(.35 + var(--burn)*.4)) contrast(calc(1 + var(--burn)*.3))}
.smoke{position:absolute;left:0;right:0;top:-14px;height:70%;pointer-events:none;opacity:0;transition:opacity .3s;z-index:2}
.smoke i{position:absolute;bottom:0;width:30px;height:30px;border-radius:50%;background:radial-gradient(#e9e2d6 20%,#b9b0a3 60%,transparent 72%);opacity:0;animation:smoke-rise 1.4s ease-out infinite}
.smoke i:nth-child(1){left:28%;animation-delay:0s}.smoke i:nth-child(2){left:48%;animation-delay:.45s;width:38px;height:38px}.smoke i:nth-child(3){left:66%;animation-delay:.9s}
.grill-slot.burnt .smoke i{background:radial-gradient(#5a544f 20%,#2e2a27 60%,transparent 72%)}
@keyframes smoke-rise{0%{transform:translateY(0) scale(.6);opacity:0}25%{opacity:.85}100%{transform:translateY(-80px) scale(1.9);opacity:0}}
.grill-slot.danger,.pan-equipment.danger{animation:burn-pulse .5s ease-in-out infinite alternate}
@keyframes burn-pulse{from{box-shadow:inset 0 0 12px #151214,0 0 0 0 #ff5a3600}to{box-shadow:inset 0 0 12px #151214,0 0 0 4px #ff5a36cc,0 0 22px #ff7a3a}}
.grill-slots[data-load="1"]{box-shadow:inset 0 3px 6px #0008,0 0 16px #ff7b2e55}
.grill-slots[data-load="2"]{box-shadow:inset 0 3px 6px #0008,0 0 26px #ff7b2ecc}
.fly-plate{position:absolute;z-index:8;pointer-events:none;filter:drop-shadow(0 6px 5px #2c190a80);animation:fly-plate .55s cubic-bezier(.3,.9,.4,1) forwards}
.fly-plate svg{width:100%;height:auto;display:block}
@keyframes fly-plate{0%{transform:translate(0,0) scale(1);opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.5);opacity:0}}
.heart-float{position:absolute;z-index:8;pointer-events:none;color:#ff5f7a;font-size:22px;text-shadow:0 1px 2px #5a1d2a88;animation:heart-up 1.2s ease-out forwards;opacity:0}
@keyframes heart-up{0%{transform:translate(0,0) scale(.6);opacity:0}20%{opacity:1}100%{transform:translate(var(--drift),-90px) scale(1.2);opacity:0}}
.wave-splash{position:absolute;inset:0;z-index:9;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:18px;background:radial-gradient(#3b1f0fb0,#1b0d05cc);animation:wave-card 1.15s ease-in-out forwards}
.wave-splash img{width:120px;height:120px;object-fit:cover;object-position:top;border-radius:50%;border:4px solid #ffdc74;box-shadow:0 8px 20px #0008;animation:wave-chef 1.15s ease-out}
.wave-splash div{display:flex;flex-direction:column;color:#fff6d4;text-shadow:2px 2px #814421,-2px -2px #814421}
.wave-splash small{font-size:11px;letter-spacing:4px;color:#ffdc74}
.wave-splash b{font-size:52px;font-weight:1000;line-height:1;margin:4px 0}
.wave-splash span{font-size:16px;letter-spacing:3px;font-weight:800}
@keyframes wave-card{0%{opacity:0}12%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes wave-chef{0%{transform:scale(.4) rotate(-12deg)}40%{transform:scale(1.1) rotate(3deg)}60%{transform:scale(1)}}
#game-background{--dusk:0;filter:brightness(calc(1 - var(--dusk)*.32)) saturate(calc(1 + var(--dusk)*.25));transition:filter 2s}
#game-background::after{content:"";position:absolute;inset:0;background:linear-gradient(#ff7a2e,#7c2a5a);mix-blend-mode:multiply;opacity:calc(var(--dusk)*.55);pointer-events:none;transition:opacity 2s}
.game-board.shake{animation:board-shake .38s ease-in-out}
@keyframes board-shake{0%,100%{transform:translate(0,0)}20%{transform:translate(-5px,2px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,-1px)}}
@media (max-width:640px){.wave-splash{gap:10px}.wave-splash img{width:80px;height:80px}.wave-splash b{font-size:36px}.wave-splash span{font-size:12px}.smoke i{width:16px;height:16px}}

/* 0.7.1 build integration: keep the illustrated bay alive in the playable board. */
.live-bay-overlay{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:hidden}
#game-background .bay-bird{animation-name:game-bird-visit}
@keyframes game-bird-visit{0%{transform:translate(-60px,90px) scale(.8);opacity:0}4%{opacity:1}17%{transform:translate(1120px,72px) scale(.95)}23%,78%{transform:translate(1380px,142px) scale(1.15)}84%{transform:translate(1400px,90px) scale(.85);opacity:1}93%,100%{transform:translate(1540px,40px) scale(.7);opacity:0}}
.guest-photo.mood-happy,.guest-photo.mood-waiting{animation:rendered-guest-idle 13s ease-in-out infinite;animation-delay:var(--guest-delay,0s)}
@keyframes rendered-guest-idle{0%,12%,44%,70%,100%{transform:translateY(0) rotate(0)}23%,31%{transform:translateY(-2px) rotate(2deg)}55%,62%{transform:translateY(-1px) rotate(-1.5deg)}83%,90%{transform:translateY(-2px) rotate(1deg)}}
/* No travelling, shake, smoke or plate-flight effects with reduced motion.
   READY text, patience/cooking bars, browning and fixed warning borders remain. */
body.reduced *,body.reduced *::before,body.reduced *::after{animation:none!important;transition:none!important}
body.reduced .fly-plate,body.reduced .heart-float,body.reduced .wave-splash,body.reduced .smoke{display:none!important}
body.reduced #game-background .bay-bird{animation:none;transform:translate(1380px,142px) scale(1.15);opacity:1}
@media(prefers-reduced-motion:reduce){
 .fly-plate,.heart-float,.wave-splash,.smoke{display:none!important}
 #game-background .bay-bird{animation:none;transform:translate(1380px,142px) scale(1.15);opacity:1}
}
