*{box-sizing:border-box} :root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#3e554e;background:#f6eedb;font-synthesis:none}body{margin:0;min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at 17% 24%,#fff7db 0,transparent 48%),linear-gradient(135deg,#e4efdc,#f8e3c6)}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #db732d;outline-offset:3px}button:disabled{cursor:default}button{transition:transform .15s,background .15s}button:active:not(:disabled){transform:translateY(2px) scale(.97)}.game{width:min(100%,460px);padding:18px 24px 10px;background:linear-gradient(#fffaf0,#f7eedb);box-shadow:0 15px 70px #69847624;position:relative;overflow:hidden;border:1px solid #fff9;border-radius:28px;margin:18px 0}header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:13px;letter-spacing:2px;font-weight:bold}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:normal;color:#8c9a87;margin-top:4px}.sun{font-size:33px;color:#dca64c}.round{border:1px solid #dce2ce;border-radius:50%;width:37px;height:37px;background:#fffaf2;font-weight:bold}.heading{display:flex;align-items:center;justify-content:space-between;margin-top:19px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#aa8c62;margin:0 0 6px}h1{font-size:26px;letter-spacing:2px;margin:0;font-weight:750}.progress-badge{background:#e6edda;border-radius:16px;padding:8px 12px;color:#708569}.progress-badge strong{font-size:25px}.progress-badge span{font-size:11px}.progress{height:5px;background:#e7e9da;border-radius:5px;margin-top:15px;overflow:hidden}.progress i{display:block;background:linear-gradient(90deg,#accd86,#579b7d);width:0;height:100%;transition:width .6s}#message{font-size:13px;text-align:center;min-height:20px;margin:13px 0;color:#7e795d}.fridge{background:linear-gradient(100deg,#b5d4bf,#e3f0d8 25%,#afcbbc);border-radius:24px 24px 20px 20px;padding:9px 12px 0;box-shadow:0 7px 0 #86a997,0 12px 20px #57766b22;position:relative;border:2px solid #a7c4b0}.fridge-top{font-size:9px;letter-spacing:2px;font-weight:bold;display:flex;align-items:center;gap:7px;height:22px;margin:0 8px 5px;color:#688e7a}.led{width:5px;height:5px;border-radius:50%;background:#fbffdc;box-shadow:0 0 7px #fff}.temp{margin-left:auto;font-size:15px;letter-spacing:0}.inside{border-radius:13px 13px 9px 9px;padding:11px 10px 5px;background:linear-gradient(90deg,#e4eee3,#f9fff3 15%,#f9fff3 85%,#e2eee2);box-shadow:inset 0 4px 11px #8aaf9a44,inset 3px 0 0 #e9f5e5;overflow:hidden}.shelf-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#93a58e;padding:0 3px}.shelf-label small{font-size:9px;letter-spacing:0}.columns{height:175px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;position:relative;margin-top:7px}.column{position:relative;border-radius:8px;background:linear-gradient(transparent 0%,#cbd9bb25 90%);border:0;border-bottom:2px solid #d9e2cd;height:100%;}.food-button{border:0;background:linear-gradient(150deg,#ffffff,#edf2e5);border-radius:15px;width:100%;height:92px;position:absolute;left:0;box-shadow:0 3px 0 #a7b6a0,0 6px 7px #6e876b20;display:flex;flex-direction:column;align-items:center;padding:3px 0 2px;isolation:isolate;transform:rotate(var(--rot));border:1px solid #d4dfc9}.food-button.back{filter:saturate(.65);background:#e3e9d9;cursor:not-allowed}.food-button.back:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#7c967014;pointer-events:none}.food-button.front{border:1px solid #fff;box-shadow:0 4px 0 #b4c2a3,0 9px 10px #69875e27}.food-button.front:hover{translate:0 -4px}.food-button.hinted{outline:3px solid #eab154;animation:nudge .8s ease-in-out 3}.food-button span.name{font-size:10px;font-weight:bold}.food{display:block;width:64px;height:64px;flex-shrink:0;background-image:url('assets/food-atlas.png');background-size:200% 200%;background-repeat:no-repeat;filter:drop-shadow(0 3px 2px #554d2020)}.food.t0{background-position:0 0}.food.t1{background-position:100% 0}.food.t2{background-position:0 100%}.food.t3{background-position:100% 100%}.glass-shelf{height:9px;background:linear-gradient(#fff,#d3e3d2);border-top:2px solid #fff;border-bottom:2px solid #b4c7b0;margin:0 -10px;box-shadow:0 4px 5px #45643818}.drawer-heading{display:flex;justify-content:space-between;margin:10px 3px 6px;font-size:9px;letter-spacing:1px;color:#8a9b81}.drawers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.drawer{height:79px;border:1px solid #becfb7;background:linear-gradient(#f9fff6a0,#dceace8c);border-radius:9px 9px 12px 12px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;overflow:hidden;padding:3px 0 7px;color:#9eac92;box-shadow:inset 0 -3px 0 #d0dfc5}.drawer .food{position:absolute;top:0;width:55px;height:55px;opacity:.16;filter:grayscale(.6)}.drawer span.label{font-size:10px;background:#ffffffbf;border-radius:3px;padding:1px 4px;z-index:1}.drawer .tick{display:none}.drawer.filled{background:linear-gradient(#fff8,#d9eccc);border-color:#95b47f;color:#52744a}.drawer.filled .food{opacity:1;filter:drop-shadow(0 3px 3px #43552622);animation:pop .55s}.drawer.filled .tick{display:block;position:absolute;top:3px;right:3px;background:#709963;color:#fff;border-radius:50%;font-size:9px;width:14px;height:14px;z-index:2}.drawer.pickable{cursor:pointer;outline:2px dashed #d9ad61;outline-offset:0}.drawer.taken .food{opacity:.2}.fridge-note{font-size:9px;text-align:center;color:#a1ab90;letter-spacing:1px;margin:10px 0 3px}.fridge-note span{color:#ca9e76}.fridge-foot{height:12px}.counter{margin-top:22px;background:linear-gradient(120deg,#efd6b0,#f7e4c5,#ebd3af);padding:11px 10px 9px;border-radius:15px;border:1px solid #e4c69d;box-shadow:0 4px 0 #d7bb95;position:relative}.counter-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8c7353;padding:0 3px;margin-bottom:8px}.counter-label strong{font-weight:600}.tray{display:flex;gap:5px;justify-content:center;min-height:58px}.slot{height:58px;flex:1;max-width:80px;min-width:0;border-radius:10px;background:#fff9e9b0;box-shadow:inset 0 2px 4px #997b3e25;border:1px dashed #bca47777;display:grid;place-items:center;position:relative}.slot .food{width:49px;height:49px;animation:pop .25s}.slot.empty:after{content:"·";font-size:24px;color:#ccb58e}.tray.full .slot{border-color:#db9164;background:#fff0da}.tray.expanded .slot .food{width:44px;height:44px}#instruction{font-size:10px;color:#987c58;text-align:center;margin:9px 0 0;line-height:1.5}.tools{display:flex;gap:8px;margin-top:17px}.tools button{flex:1;border:1px solid #d9dfca;border-radius:13px;background:#fffdf5;display:grid;grid-template-columns:24px auto;align-items:center;justify-content:center;column-gap:4px;min-height:49px;font-size:12px;box-shadow:0 3px 0 #e1e0cb;padding:5px}.tools button>span{font-size:25px;grid-row:1/3;color:#79a087;line-height:1}.tools button small{font-size:8px;color:#a5ad91}.tools button:disabled{opacity:.4}.tools #expand{background:#eff3dc}.tools #expand small{color:#9c935e}footer{text-align:center;font-size:10px;color:#b1a68d;margin-top:13px;letter-spacing:2px}.flying{position:fixed;z-index:20;pointer-events:none;transition:transform .38s cubic-bezier(.2,.8,.4,1),opacity .38s}#particles{position:fixed;inset:0;pointer-events:none;z-index:21}.particle{position:absolute;color:#e2b652;font-size:20px;animation:twinkle .8s forwards}.game.ready .columns{height:175px;display:grid;place-items:center;grid-template-columns:1fr;background:radial-gradient(ellipse,#fffaf1,transparent)}.done-note{text-align:center;color:#84a178;font-size:13px;line-height:1.9}.done-note strong{font-size:30px;color:#679676;display:block}.game.ready .fridge{box-shadow:0 7px 0 #86a997,0 0 30px #eece7766}.game.ready .counter{background:linear-gradient(120deg,#efd6b0,#fff0d1)}.cook{border:0;border-radius:12px;background:#6e9f80;color:#fff;padding:12px 20px;font-weight:bold;box-shadow:0 3px 0 #4c795e;margin:10px auto 0;display:block}.cook:disabled{opacity:.5}dialog{border:0;padding:0;border-radius:24px;width:min(390px,calc(100% - 32px));color:#43594c;background:#fffaf0;box-shadow:0 25px 70px #233c3255;max-height:calc(100svh - 30px);overflow:auto}dialog::backdrop{background:#344a3c70;backdrop-filter:blur(5px)}.modal-inner{padding:28px;text-align:center;position:relative}.close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:26px;color:#95a58e;z-index:3}.modal-kicker{color:#b29868;font-size:10px;letter-spacing:3px;margin:5px 0 12px}.modal-inner h2{font-size:24px;margin:10px 0}.modal-inner p{font-size:13px;line-height:1.9;color:#85907b}.modal-inner .primary,.modal-inner .secondary{display:block;width:100%;border-radius:12px;padding:13px;margin-top:10px;font-size:13px}.primary{background:#719f7b;color:#fff;border:0;box-shadow:0 3px 0 #517b5a}.secondary{background:transparent;border:1px solid #dadfc9;color:#88947b}.ad-visual{background:linear-gradient(135deg,#f3e4bd,#deebd0);border-radius:16px;padding:25px 15px;margin:16px 0}.ad-visual .tray-art{font-size:52px;color:#a38d63;line-height:1}.ad-track{height:6px;background:#e3e6d4;border-radius:6px;overflow:hidden;margin:14px 0}.ad-track i{display:block;height:100%;background:#8bac6a}.meal-image{width:calc(100% + 56px);margin:-28px -28px 12px;display:block;aspect-ratio:1.25;object-fit:cover}.win h2{margin-top:8px}.win .modal-kicker{margin-top:4px}.win .close{background:#fff9;border-radius:50%;width:30px;height:30px;line-height:25px}.recipe{background:#fff8df;border:1px solid #e5d6ad;border-radius:9px;padding:8px 12px;font-size:11px;color:#9b8756}.mute-label{font-size:12px}.shaking{animation:shake .3s}.fridge.cooking{animation:glow 1.2s infinite}.saved-note{color:#a87755!important}@keyframes pop{0%{transform:scale(.5)}70%{transform:scale(1.14)}100%{transform:scale(1)}}@keyframes nudge{50%{translate:0 -7px}}@keyframes shake{25%{translate:-5px}75%{translate:5px}}@keyframes twinkle{0%{opacity:1;transform:translateY(0) scale(.5)}100%{opacity:0;transform:translateY(-45px) scale(1.3)}}@keyframes glow{50%{filter:brightness(1.08)}}@media(min-width:700px){body:before{content:"";position:fixed;inset:0;background:linear-gradient(#fffc,#fff9),url('assets/dinner.png') center/cover;z-index:-1}.game{margin:22px 0}}@media(max-width:480px){.game{border:0;border-radius:0;margin:0;padding:12px 18px 10px;min-height:100svh}.heading{margin-top:13px}h1{font-size:24px}.columns,.game.ready .columns{height:159px}.food-button{height:83px}.food-button .food{width:57px;height:57px}.inside{padding-left:7px;padding-right:7px}.columns{gap:5px}.counter{margin-top:18px}}@media(max-height:700px) and (max-width:480px){.game{padding-top:8px}.brand small{display:none}.heading{margin-top:8px}.eyebrow{font-size:10px;margin-bottom:3px}h1{font-size:21px}.progress{margin-top:9px}#message{margin:8px 0;font-size:11px;min-height:16px}.columns,.game.ready .columns{height:135px}.food-button{height:73px}.food-button .food{width:49px;height:49px}.drawer{height:64px}.drawer .food{width:45px;height:45px}.fridge-note{margin-top:6px;font-size:8px}.fridge-top{height:17px;margin-bottom:2px}.counter{margin-top:14px;padding:8px}.slot,.tray{min-height:46px;height:46px}.slot .food{width:41px;height:41px}.tools{margin-top:12px}.tools button{min-height:42px}.fridge-foot{height:7px}.drawer-heading{margin:7px 2px 4px}footer{font-size:9px;margin-top:10px}.counter-label{margin-bottom:5px}#instruction{font-size:9px;margin-top:5px}}
@media(max-height:620px) and (max-width:480px){.game{padding:6px 14px}.brand{font-size:11px}.sun{font-size:25px}.round{width:30px;height:30px}.heading{margin-top:4px}.eyebrow{font-size:9px;margin-bottom:2px}h1{font-size:19px}.progress-badge{padding:3px 8px}.progress-badge strong{font-size:21px}.progress{margin-top:7px}#message{margin:6px 0;font-size:10px}.inside{padding-top:7px;padding-bottom:3px}.fridge{padding-top:5px;padding-left:8px;padding-right:8px}.columns,.game.ready .columns{height:103px;margin-top:5px}.food-button{height:61px;border-radius:11px}.food-button .food{width:40px;height:40px}.food-button span.name{font-size:9px}.drawer{height:54px;padding-bottom:4px}.drawer .food{width:39px;height:39px}.drawer span.label{font-size:9px}.fridge-note{display:none}.fridge-foot{height:7px}.drawer-heading{font-size:8px;margin:5px 1px 4px}.counter{margin-top:13px;padding:7px 8px}.counter-label{font-size:10px;margin-bottom:4px}.slot,.tray{height:43px;min-height:43px}.slot .food{width:38px;height:38px}#instruction{font-size:8px}.tools{margin-top:10px;gap:6px}.tools button{min-height:43px;font-size:10px}.tools button>span{font-size:21px}.tools button small{font-size:8px}footer{font-size:8px;margin-top:8px}.done-note{font-size:11px}.done-note strong{font-size:24px}.cook{padding:8px;font-size:11px;margin-top:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
