*{box-sizing:border-box}html,body{margin:0;min-width:1024px;min-height:1024px;background:#211117;color:#48251c;font-family:'Trebuchet MS',Arial,sans-serif}body{display:flex;justify-content:center}button{font:inherit;cursor:pointer;border:0;color:inherit;touch-action:manipulation}button:focus-visible{outline:4px solid #fff38d;outline-offset:3px}button:disabled{cursor:default;filter:saturate(.5);opacity:.6}[hidden]{display:none!important}#game{position:relative;width:1024px;height:1024px;flex:none;overflow:hidden;background:#633325 url('assets/background.png') center/cover;isolation:isolate}header{position:absolute;inset:0 0 auto;height:113px;background:linear-gradient(#34181165,transparent)}.game-logo{position:absolute;left:10px;top:3px;width:507px;height:116px;object-fit:contain;filter:drop-shadow(0 4px 3px #38190c99)}.hud,.gear{background:linear-gradient(130deg,#5b2a22,#28161b);border:4px solid #dca271;box-shadow:inset 0 0 0 2px #68361e,0 3px 0 #542818;border-radius:15px;color:#ffe4cb;text-align:center;position:absolute;top:21px;height:69px}.hud small{display:block;font-weight:900;font-size:13px;letter-spacing:1px}.hud b{font-size:37px;line-height:39px;color:#fff0ee;text-shadow:0 0 12px #ff6ead80;font-variant-numeric:tabular-nums}.timer{left:546px;width:185px}.score{left:744px;width:184px}.score b{color:#ffda70;font-size:32px}.gear{right:12px;width:66px;font-size:36px;background:linear-gradient(#b78969,#805641)}#seats{position:absolute;top:111px;left:12px;width:1000px;height:336px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.seat{position:relative}.customer{position:absolute;inset:0;padding:0;background:none;animation:arrive .45s ease-out}.portrait{position:absolute;left:0;top:0;width:242px;height:264px;filter:drop-shadow(0 4px 4px #2e142a66);pointer-events:none}.order{position:absolute;left:2px;right:2px;bottom:35px;height:93px;background:linear-gradient(#fff5dd,#ffdfbd);border:4px solid #bf785d;border-radius:16px;box-shadow:0 2px 0 #60341e,inset 0 0 0 2px #fff6ed;display:flex;justify-content:center;align-items:center;gap:3px;padding:3px}.order-item{width:108px;display:flex;flex-direction:column;align-items:center}.order-item .sprite{width:104px;height:62px;filter:drop-shadow(0 2px 2px #48251d44)}.order-item span{font-size:14px;font-weight:900;line-height:16px}.customer.selected .order{border-color:#f78eba}.customer.ready .order{border-color:#78e9b3;box-shadow:0 0 16px #49df9c99}.patience{position:absolute;left:2px;right:2px;bottom:0;height:34px;border:3px solid #c2926a;border-radius:12px;background:#321a1d;display:flex;align-items:center;padding:4px 7px;gap:6px;color:#fff2dc;font-size:16px;font-weight:bold}.clock-icon{font-size:20px}.patience-track{flex:1;height:13px;border-radius:10px;background:#110c0d;overflow:hidden;border:1px solid #a37561}.patience-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#e5fc97,#77e272)}.customer.low .patience-fill{background:linear-gradient(90deg,#ff985b,#fb4659)}.patience-seconds{width:33px}.leaving{animation:depart 1s forwards;pointer-events:none}.reaction{position:absolute;top:40px;left:30px;right:30px;text-align:center;font-size:64px;text-shadow:0 3px 2px #fff;animation:floatup 1s forwards;z-index:3}.reaction small{display:block;font-size:24px;color:#fff;text-shadow:0 2px 2px #8b2850}.wood-ledge{position:absolute;top:450px;left:0;right:0;height:17px;background:linear-gradient(#ffcd95,#a9653c 45%,#64331f);box-shadow:0 5px 5px #32150c66}#workspace{position:absolute;top:470px;left:0;width:1024px;height:165px;background:linear-gradient(0deg,#bd774754,#e7a76c22);border-bottom:7px ridge #d29964}.art-button{background:none;padding:0}.sprite{display:block;overflow:hidden;pointer-events:none}.sprite image{pointer-events:none}#plates{position:absolute;left:16px;top:-10px;width:230px;height:163px;transition:filter .15s}#plate-stack .sprite{width:230px;height:145px}#plates b{position:absolute;bottom:0;left:30px;right:30px;border:2px solid #9a5a32;border-radius:6px;background:linear-gradient(#ffe1b5,#eab178);padding:4px;font-size:18px;box-shadow:0 2px 0 #4c291c}#assembly{position:absolute;left:285px;top:-4px;width:407px;height:137px}#empty-plate .sprite{position:absolute;inset:0;width:407px;height:145px}#pieces{position:absolute;inset:17px 20px 14px;display:flex;align-items:center;justify-content:center;gap:0}#pieces .sprite{width:162px;height:98px;animation:pop .2s}#draft-hint{position:absolute;bottom:0;width:100%;text-align:center;font-size:14px;font-weight:bold;color:#fff3df;text-shadow:0 2px 3px #3b180f;pointer-events:none}.steps{position:absolute;bottom:1px;left:290px;width:399px;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:900;background:linear-gradient(#fff1de,#ffcdba);border:3px solid #da8c91;border-radius:10px;height:34px;font-size:15px}.steps b{border-radius:50%;background:#9b3656;color:#fff;width:22px;line-height:22px;text-align:center}.steps i{font-size:23px;font-style:normal}.pink{color:#fff4eb;font-weight:900;border:3px solid #ffd1df;border-radius:20px;background:linear-gradient(#ff9dc3,#f85293 48%,#dc326e);box-shadow:0 0 0 2px #8d4050,0 5px 0 #802643,inset 0 2px 4px #ffe8f1;text-shadow:0 3px 1px #9c3556;transition:filter .12s,transform .12s}.pink:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(2px)}#serve{position:absolute;right:29px;top:17px;width:265px;height:77px;font-size:39px}.small-button{background:#4a302d;border:2px solid #cb916d;border-radius:8px;color:#ffe5c5;padding:6px 18px;font-weight:bold}#clear{position:absolute;right:80px;top:111px;font-size:15px}#ingredients{position:absolute;left:12px;top:645px;width:753px;height:363px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,1fr);gap:9px;padding:9px;background:linear-gradient(120deg,#764a31,#3d291e);border:5px ridge #d29a66;border-radius:15px;box-shadow:0 5px 0 #542918}.ingredient{position:relative;padding:0;border:2px solid #b98660;border-radius:10px;background:linear-gradient(#50392a,#211c1b);box-shadow:inset 0 0 0 2px #422819;transition:filter .15s}.ingredient .sprite{position:absolute;left:0;top:0;width:100%;height:130px}.ingredient span{position:absolute;bottom:1px;left:0;right:0;padding:5px 0;background:linear-gradient(#ffeacb,#e8b889);border:2px solid #a6714d;border-radius:6px;font-size:15px;font-weight:900}.ingredient:hover,#plates:hover,#cooker:hover{filter:brightness(1.15)}.ingredient.chosen{border-color:#ff9fc7;box-shadow:0 0 12px #ff79aa}.ingredient.chosen:after{content:'✓';position:absolute;top:5px;right:5px;border-radius:50%;background:#fd659a;color:white;width:24px;height:24px;font-weight:bold}#rice-panel{position:absolute;left:778px;top:645px;width:234px;height:363px;border:5px ridge #d6a16c;border-radius:15px;background:linear-gradient(115deg,#794b31e8,#492c24f5);box-shadow:0 5px 0 #51291d;text-align:center}#rice-panel h2{margin:0;padding:3px 0;font-size:19px;color:#fff0de;text-shadow:0 2px 1px #391a16;border-bottom:3px solid #d19b72;background:#50302b;border-radius:8px}#cooker{position:absolute;left:0;right:0;top:33px;width:224px;height:187px}#cooker .sprite{width:224px;height:187px}#rice-count{position:absolute;top:221px;left:7px;right:7px;border:2px solid #9b6748;border-radius:7px;background:linear-gradient(#ffe3bd,#eab181);font-size:21px;font-weight:900;padding:4px}.cook-track{position:absolute;top:264px;left:9px;right:9px;height:30px;border:2px solid #c78972;border-radius:8px;background:#311923;overflow:hidden}.cook-track>div{position:absolute;inset:0 auto 0 0;background:linear-gradient(#f590c6,#e63787);width:100%}.cook-track span{position:relative;line-height:25px;color:#fff;font-size:14px;font-weight:bold;text-shadow:0 1px 3px #63243e}#rice-action{position:absolute;top:305px;left:7px;right:7px;height:35px;font-size:18px;border-radius:10px}#rice-panel>small{position:absolute;bottom:-1px;left:0;right:0;color:#ffe6d0;font-size:10px}.overlay{position:absolute;inset:0;z-index:10}.shade{background:#21121b99;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;flex-direction:column}#menu{background:linear-gradient(#33112400,#30121b12),url('assets/background.png') center/cover}.menu-logo{position:absolute;left:100px;top:105px;width:824px;height:285px;object-fit:contain;filter:drop-shadow(0 12px 10px #32162277)}.menu-panel{position:absolute;top:556px;left:289px;width:446px;padding:25px 37px 23px;border:4px solid #d8a778;border-radius:24px;background:linear-gradient(135deg,#fff0dbea,#ffe0c9f5);box-shadow:0 8px 0 #673727,0 20px 35px #34152366;text-align:center}.menu-panel p{font-size:24px;font-weight:bold;margin:0 0 24px}.menu-panel button{display:block;width:100%;height:68px;font-size:28px}.menu-panel small{display:block;margin-top:24px;letter-spacing:2px;font-size:12px;font-weight:bold}.secondary{display:block;background:linear-gradient(#765148,#3d282a);border:2px solid #dba788;border-radius:13px;color:#ffe9d6;font-weight:bold;box-shadow:0 4px 0 #352027;text-shadow:0 2px #291317}.menu-panel .secondary{height:55px;margin-top:20px;font-size:21px}.modal{width:480px;border:5px solid #c89570;border-radius:28px;background:linear-gradient(#fff2dd,#ffd9c5);box-shadow:0 8px 0 #684135,0 20px 80px #23091988;padding:34px;text-align:center}.modal h1{font-size:32px;margin:7px 0 10px}.modal p{font-size:17px}.modal>.pink,.modal>.secondary{width:100%;height:57px;margin-top:23px;font-size:23px}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:23px 0;font-size:22px;font-weight:bold}.toggle-row button{border:2px solid #b96480;border-radius:22px;width:85px;height:44px;background:#e8548d;color:#fff;font-weight:bold}.toggle-row button[aria-checked=false]{background:#867074}#pause-note{font-size:14px;color:#855646;min-height:20px}.stars{font-size:37px;color:#de5980}#result-score{font-size:65px;color:#c83972;text-shadow:0 2px #fff}.result-details{display:flex;justify-content:center;gap:43px}.result-details span{font-size:14px}.result-details b{display:block;font-size:30px}#count-overlay p{color:#fff1df;font-size:26px;font-weight:bold}#count{font-size:140px;color:#ffdc79;text-shadow:0 5px 0 #a44555,0 0 0 #fff;animation:pop .35s}#toast{position:absolute;top:451px;left:265px;right:265px;z-index:5;border:2px solid #f7c3b7;border-radius:14px;background:#5b283def;color:#fff1de;text-align:center;font-size:14px;font-weight:bold;padding:7px 10px;pointer-events:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}#loading{z-index:30;gap:20px;color:#ffe9d0;font-size:26px}#load-detail{font-size:16px}.urgent b{color:#ff8caa;animation:pulse .6s infinite alternate}.cooking #cooker-art{display:block;animation:pulse .8s infinite alternate}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes depart{0%,45%{opacity:1}100%{opacity:0;transform:translateY(12px)}}@keyframes floatup{to{transform:translateY(-30px)}}@keyframes pop{from{transform:scale(.75);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes pulse{to{filter:brightness(1.2)}}
.portrait .sprite{width:100%;height:100%}

/* Larger illustrated main menu. */
.menu-logo{left:32px;top:102px;width:960px;height:330px;filter:drop-shadow(0 12px 12px #34152199)}
.menu-panel{top:460px;left:132px;width:760px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.menu-panel .menu-action{display:block;width:760px;height:200px;padding:0;background:none;border:0;border-radius:45px;box-shadow:none;filter:drop-shadow(0 10px 8px #36171e77);transition:filter .18s,transform .18s}
.menu-panel #menu-settings{width:690px;height:182px}
.menu-action .sprite{width:100%;height:100%}.menu-action span{display:block;width:100%;height:100%}
.menu-panel .menu-action:hover{filter:brightness(1.12) drop-shadow(0 10px 13px #ff95ba66);transform:translateY(-3px)}
.menu-panel .menu-action:active{transform:translateY(2px)}
.order-item{animation:pop .2s ease-out}
.menu-panel .menu-action:focus-visible{outline:0;filter:brightness(1.08) drop-shadow(0 0 7px #fff198) drop-shadow(0 9px 8px #36171e77)}
