@font-face{font-family:Lilita;src:url(/ui/font-4444c236.ttf) format("truetype");font-display:swap}:root{font-family:Lilita,sans-serif;color:#754431;background:#c8ae98;font-synthesis:none;line-height:1.2}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:#c8ae98}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff29b;outline-offset:3px}button,a{touch-action:manipulation}[hidden]{display:none!important}.salad-layout{--phone-height:min(920px, calc(100dvh - 24px) );height:var(--phone-height);width:calc(var(--phone-height)*9/19.5);margin:12px auto}.recipe-game{width:100%;height:100%;position:relative;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:url(/ui/background-00741a68.png) center/100% 100% no-repeat;box-shadow:0 12px 45px #5a352c55;border:3px solid #845d49}.recipe-header{position:relative;flex:0 0 16%;background:url(/ui/kitchen-5b194f89.png) center 44%/cover}.recipe-header:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#e6c7a5)}.game-logo{position:absolute;z-index:1;width:42%;height:70%;object-fit:contain;top:0;left:29%;filter:drop-shadow(0 3px 0 #78443444)}.back-link{position:absolute;z-index:2;left:13px;top:13px;width:34px;height:34px;display:grid;place-items:center;color:#fff;font:32px/1 Lilita;text-decoration:none;background:#70a0fa;border:2px solid #94b9ff;border-radius:10px;box-shadow:0 3px #4770ba}.level-ribbon{position:absolute;bottom:0;left:19%;width:62%;height:40%;z-index:1;display:grid;place-items:center;padding-bottom:5px;background:url(/ui/ribbon-285eceef.png) center/100% 100% no-repeat;color:#fff5df;font-size:clamp(14px,2.2vh,20px);-webkit-text-stroke:2px #9b5f3b;paint-order:stroke fill;text-shadow:0 2px #905132}.recipe-steps{display:flex;flex:0 0 35px;align-items:center;justify-content:space-evenly;list-style:none;padding:5px 8px;margin:0;background:#efceb0b0}.recipe-steps li{display:flex;align-items:center;gap:4px;font-size:12px;color:#a07659}.recipe-steps b{width:18px;height:18px;font-size:11px;display:grid;place-items:center;border-radius:50%;background:#d7b391;color:#fff4dd}.recipe-steps [aria-current]{color:#fff;text-shadow:0 1px 1px #97663b}.recipe-steps [aria-current] b{background:#ffac27;border:1px solid #ffdb75}.recipe-steps .done b{background:#79b830}.stage-heading{flex:0 0 65px;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;padding:7px 35px}.stage-heading p{font-size:10px;letter-spacing:.8px;margin:0 0 4px;color:#9a6d4d}.stage-heading h1{font-size:clamp(22px,3.5vh,32px);line-height:1.05;margin:0;color:#fff6e7;-webkit-text-stroke:3px #8f5136;paint-order:stroke fill;text-shadow:0 3px 0 #7c4e32;letter-spacing:.2px}#recipe-progress{position:absolute;right:13px;top:8px;font-size:12px;color:#875639}#recipe-progress strong{font-weight:400}.recipe-list{display:flex;justify-content:center;gap:11px;padding:1px 10px 7px;flex:0 0 61px}.recipe-item{position:relative;width:55px;height:53px;border-radius:12px;background:#ffe3c5;border:2px solid #c9956e;box-shadow:0 3px #ae765f33}.recipe-icon{display:block;width:48px;height:45px;margin:auto}.recipe-item>div{display:none}.ingredient-check{position:absolute;right:-5px;bottom:-4px;width:19px;height:19px;border-radius:50%;border:2px solid #b7865c;background:#d7b088;color:transparent;display:grid;place-items:center;font:12px Lilita;z-index:4}.recipe-item.collected{border-color:#81b73a;background:#e1edb7}.recipe-item.collected .ingredient-check{color:#fff;background:#78b62b;border-color:#508e1e}.salad-stage{position:relative;flex:1;min-height:0}#sorting-stage{height:100%;display:flex;flex-direction:column;justify-content:center;padding:8px 0}.sort-instruction{text-align:center;font-size:14px;color:#845738;margin:0 8px 15px}.pantry{padding:0 15px}.shelves{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px}.shelf{position:relative;padding:6px 6px 10px;border-radius:11px;background:url(/ui/panel-10b9b1b6.png) center/100% 100%;box-shadow:0 4px #95634b;border:2px solid #cc9673}.shelf:after{content:"";position:absolute;bottom:-3px;left:-2px;right:-2px;height:7px;border-radius:2px;background:#d2a079;border-top:2px solid #eabd94}.shelf-heading{display:flex;justify-content:space-between;align-items:center;height:13px;padding:0 2px}.shelf-heading h2{font-size:8px;margin:0;color:#b17a5c;font-weight:400}.shelf-count{font-size:8px;color:#a97151}.storage-depth{position:relative;padding-top:13%}.back-slots{position:absolute;top:0;left:8%;right:8%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;pointer-events:none}.back-object{display:block;aspect-ratio:1;min-width:0}.shelf-slots{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.cell{position:relative;display:block;min-width:0;width:100%;aspect-ratio:1;border:0;background:transparent;border-radius:7px;padding:0;outline-offset:-2px!important;user-select:none;-webkit-user-select:none}.cell.empty:after{content:"";position:absolute;inset:24% 9% 7%;border:1px dashed #c9947066;border-radius:6px}.cell.has-object{cursor:grab;touch-action:none}.cell.drop-valid{background:#fff3ad66;outline:2px solid #83b12d}.cell.drop-invalid{outline:2px dashed #cb5a45}.cell.picked-up{background:#fff2db44}.layer-note{text-align:center;font-size:11px;color:#946b50;margin-top:18px}.cook-stage{position:absolute;inset:0;touch-action:pan-y}.cook-stage canvas{display:block;width:100%;height:100%}.served .cook-stage{touch-action:none;cursor:grab}.served .cook-stage.spinning{cursor:grabbing}.recipe-footer{flex:0 0 98px;padding:9px 14px 4px;text-align:center}.recipe-footer>p{font-size:12px;line-height:1.3;margin:0 auto 9px;max-width:300px;min-height:29px;color:#fff0d7;text-shadow:0 1px 1px #805438}.game-actions{display:flex;align-items:center;justify-content:center;gap:14px}.game-actions button{border:0;background-color:transparent;height:39px;background-position:center;background-size:100% 100%;background-repeat:no-repeat}.game-actions #undo{width:91px;background-image:url(/ui/undo-2509d9ba.png)}.game-actions #restart{width:39px;background-image:url(/ui/refresh-a08eb144.png)}.cooking #undo{display:none}.cooking .recipe-list{opacity:.55}.cooking #recipe-progress{visibility:hidden}.presenting .recipe-list{display:none}.presenting .recipe-footer{flex:0 0 42px;padding-top:4px}.presenting .recipe-footer>p{font-size:14px;color:#fff5de}.presenting .game-actions{display:none}.finish-actions{flex:0 0 104px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:3px 15px 12px}.finish-actions button{font-size:22px;width:75%;height:49px;border:0;background:url(/ui/green-button-85a542fc.png) center/100% 100% no-repeat;color:#fff;-webkit-text-stroke:2px #39830b;paint-order:stroke fill;text-shadow:0 2px #3b830c}.finish-actions #replay{height:25px;font-size:13px;background:none;-webkit-text-stroke:0;text-shadow:0 1px #875d47;color:#ffedd1}.dish-badge{position:absolute;bottom:7px;left:50%;transform:translate(-50%);font-size:12px;white-space:nowrap;color:#fff4dd;text-shadow:0 2px #93684d;pointer-events:none}.help{flex:0 0 24px;text-align:center;font-size:10px;color:#edcfb8}.help summary{cursor:pointer;list-style:none}.help[open]{position:absolute;bottom:0;left:0;right:0;z-index:12;padding:16px;background:#fff0d9;color:#79543d;border-top:3px solid #b17a57}.help p{font:13px/1.4 Lilita;text-align:left}.render-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.drag-proxy{position:fixed;left:0;top:0;pointer-events:none;z-index:4;will-change:transform}body.dragging-object,body.dragging-object *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.vfx{position:absolute;inset:0;pointer-events:none;overflow:hidden}.salad-spark{position:absolute;left:50%;top:48%;background:#ffe894;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 3px #ffeda6)}.dish-twinkle{animation:salad-twinkle 3.4s ease-in-out infinite;animation-delay:var(--delay)}@keyframes salad-twinkle{0%,15%,75%,to{opacity:0;transform:translate(var(--x),var(--y)) scale(.15) rotate(0)}40%{opacity:1;transform:translate(var(--x),calc(var(--y) - 4px)) scale(1) rotate(35deg)}60%{opacity:.25;transform:translate(var(--x),calc(var(--y) - 8px)) scale(.4) rotate(70deg)}}.chop-puff{position:absolute;width:7px;height:7px;border-radius:50%;left:50%;top:60%;background:#fff0b3;animation:chop-puff .35s ease-out forwards;pointer-events:none}@keyframes chop-puff{to{transform:translate(var(--x),var(--y)) scale(.15);opacity:0}}.chef-flash{position:absolute;left:54%;top:53%;font-size:17px;color:#fff8cb;-webkit-text-stroke:2px #ba773a;paint-order:stroke fill;opacity:0;pointer-events:none}.chef-flash.pop{animation:chef-pop .45s ease-out}@keyframes chef-pop{15%{opacity:1;transform:translateY(-3px) scale(1.1)}to{opacity:0;transform:translateY(-20px) scale(.8)}}.spark{position:fixed;width:7px;height:9px;pointer-events:none;z-index:7;border-radius:2px;animation:spark .65s ease-out forwards}@keyframes spark{to{transform:translate(var(--dx),var(--dy)) rotate(var(--turn));opacity:0}}.loading,.error{position:fixed;inset:0;background:#ecd1ae;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;text-align:center;padding:25px}.loading h2,.error h2{color:#825438;font-weight:400;font-size:27px}.loading p,.error p{font-size:14px}.error button{padding:10px 20px;font-size:20px;border-radius:12px;border:2px solid #4779ca;background:#7da4fa;color:#fff}@media(max-width:480px){.salad-layout{--phone-height:100dvh;width:100vw;margin:0}.recipe-game{border:0;border-radius:0;box-shadow:none}}@media(max-height:740px){.stage-heading{flex-basis:54px}.recipe-list{flex-basis:50px}.recipe-item{width:45px;height:43px}.recipe-icon{width:39px;height:37px}.recipe-steps{flex-basis:29px}.recipe-footer{flex-basis:85px}.sort-instruction{font-size:12px;margin-bottom:10px}.pantry{padding:0 12px}.shelves{gap:13px 10px}.layer-note{margin-top:14px}.finish-actions{flex-basis:92px}.finish-actions button{height:43px}.recipe-footer>p{font-size:11px}.shelf-heading h2,.shelf-count{font-size:7px}}@media(prefers-reduced-motion:reduce){.salad-spark,.chop-puff,.chef-flash,.spark{display:none}*{animation:none!important}}.recipe-header{flex-basis:155px;min-height:155px}.game-logo{top:4px;left:30%;width:40%;height:89px}.level-ribbon{height:51px;bottom:2px;font-size:18px;padding-bottom:5px}.recipe-steps{flex-basis:36px}.recipe-steps li{font-size:13px;color:#65402b}.recipe-steps [aria-current]{color:#643518;text-shadow:none}.recipe-steps b{color:#603916;background:#f2dfc5}.recipe-steps [aria-current] b,.recipe-steps .done b{color:#fff;text-shadow:0 1px 1px #71401a}.stage-heading p{font-size:12px;letter-spacing:.4px;color:#67412d}#recipe-progress{font-size:14px;color:#68422d}.layer-note{font:14px/1.3 Arial,sans-serif;font-weight:700;color:#fff8ed;text-shadow:0 1px 2px #573725;margin:13px 5px 0}.sort-instruction{font-size:16px;color:#58351f}.shelf-heading{height:17px}.shelf-heading h2,.shelf-count{font:10px/1.1 Arial,sans-serif;font-weight:700;color:#78462d}.recipe-footer>p{font:14px/1.3 Arial,sans-serif;font-weight:700;color:#fff8ed;text-shadow:0 1px 2px #573725}.help{font:12px/1.4 Arial,sans-serif;color:#fff4e4;text-shadow:0 1px 2px #573725}.help[open]{text-shadow:none}@media(max-height:740px){.recipe-header{flex-basis:132px;min-height:132px}.game-logo{height:74px}.level-ribbon{height:46px;font-size:16px}.recipe-steps li{font-size:12px}.sort-instruction{font-size:14px}.layer-note{font-size:12px}.recipe-footer>p{font-size:12px}.stage-heading{flex-basis:57px}.shelf-heading h2,.shelf-count{font-size:9px}}.salad-spark{left:var(--dish-x,50%);top:var(--dish-y,48%)}.cooking:not(.presenting) .recipe-header{flex-basis:112px;min-height:112px}.cooking:not(.presenting) .game-logo{height:60px;width:33%;left:33.5%}.cooking:not(.presenting) .level-ribbon{height:41px;font-size:16px}.cooking:not(.presenting) .recipe-list{display:none}.cooking:not(.presenting) .stage-heading{flex-basis:55px}.slice-effect{position:absolute;pointer-events:none;will-change:transform,opacity}.slice-streak{width:78px;height:5px;margin-top:-2px;border-radius:100%;background:linear-gradient(90deg,transparent,#fff9d3 25%,white 65%,transparent);box-shadow:0 0 8px #fffbd3;transform-origin:0 50%;animation:slice-streak .18s ease-out forwards}.slice-flash{width:22px;height:22px;margin:-11px;border:3px solid #fff6c9;border-radius:50%;box-shadow:0 0 8px var(--slice-color);animation:slice-flash .24s ease-out forwards}.slice-sliver{width:11px;height:4px;margin:-2px -5px;background:var(--slice-color);border-top:1px solid #fff7d6;border-radius:80% 20%;animation:slice-scatter .32s cubic-bezier(.1,.6,.2,1) forwards}.slice-juice{width:5px;height:5px;margin:-2px;background:var(--slice-color);border-radius:50%;box-shadow:0 0 3px #fff5d377;animation:slice-scatter .28s ease-out forwards}@keyframes slice-streak{0%{opacity:0;transform:rotate(var(--blade-angle)) scaleX(.15)}20%{opacity:1}to{opacity:0;transform:rotate(var(--blade-angle)) scaleX(1.4)}}@keyframes slice-flash{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.9)}}@keyframes slice-scatter{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.15)}}@media(prefers-reduced-motion:reduce){.slice-effect{display:none}}.recipe-header{transition:flex-basis .7s cubic-bezier(.65,0,.35,1),min-height .7s cubic-bezier(.65,0,.35,1)}.game-logo{transition:height .7s ease,width .7s ease,left .7s ease}.level-ribbon{transition:height .7s ease,font-size .7s ease}.stage-heading,.recipe-footer{transition:flex-basis .7s cubic-bezier(.65,0,.35,1)}.recipe-steps li,.recipe-steps b{transition:background-color .25s,color .25s,transform .3s}.recipe-steps [aria-current] b{transform:scale(1.13)}.finish-actions:not([hidden]){animation:action-space .7s cubic-bezier(.65,0,.35,1) both;overflow:hidden}.finish-actions button{opacity:0;transform:translateY(20px) scale(.9)}.served .finish-actions button{animation:button-arrive .5s cubic-bezier(.2,.8,.2,1) both}.served .finish-actions #replay{animation-delay:.12s}.game-actions button,.finish-actions button,.back-link{transition:scale .12s ease,filter .12s ease;transform-origin:center;will-change:transform}.game-actions button:active:not(:disabled),.finish-actions button:active,.back-link:active{scale:.92;filter:brightness(1.12)}@media(hover:hover){.game-actions button:hover:not(:disabled),.finish-actions button:hover,.back-link:hover{filter:brightness(1.08)}}#cook-stage:not([hidden]){animation:station-arrive .35s ease-out both}@keyframes station-arrive{0%{opacity:0}to{opacity:1}}@keyframes action-space{0%{flex-basis:0;padding-top:0;padding-bottom:0}to{flex-basis:104px;padding-top:3px;padding-bottom:12px}}@keyframes button-arrive{0%{opacity:0;transform:translateY(20px) scale(.9)}65%{opacity:1;transform:translateY(-3px) scale(1.035)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-height:740px){@keyframes action-space{0%{flex-basis:0;padding-top:0;padding-bottom:0}to{flex-basis:92px;padding-top:3px;padding-bottom:12px}}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.served .finish-actions button{opacity:1;transform:none}.finish-actions:not([hidden]){animation:none}}.finish-actions{min-height:0}.game-actions{transition:opacity .18s ease,visibility .18s}.presenting .game-actions{display:flex;opacity:0;visibility:hidden;pointer-events:none}.game-actions button.is-pressed,.finish-actions button.is-pressed,.back-link.is-pressed{scale:.92;filter:brightness(1.12)}.cooking .salad-stage{z-index:0}.cook-stage canvas{position:absolute;top:0;left:0;pointer-events:none}.cooking .recipe-footer,.cooking .finish-actions,.cooking .help{position:relative;z-index:2;background:transparent}.cooking .help[open]{position:absolute;background:#fff0d9}.cooking .recipe-footer>p,.cooking #replay,.cooking .help{color:#603f2c;text-shadow:0 1px 0 #fff7e5b0}.level-ribbon{display:block;padding:0}.level-ribbon svg{display:block;width:100%;height:100%;overflow:visible}.level-ribbon text{font-family:Lilita,sans-serif;font-size:22px;letter-spacing:.3px;fill:#fff5df;stroke:#8f5737;stroke-width:1.6px;stroke-linejoin:round;paint-order:stroke fill;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 1px 0 #905132)}
