*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#263d38;font-family:system-ui,sans-serif;color:#fff}button,input,a{font:inherit}button{min-width:64px;min-height:64px;border:2px solid #fff8;border-radius:20px;background:#fff3df;color:#263d38;font-weight:800;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #ffcf4b}button:disabled{opacity:.45}button[aria-pressed=true]{border:4px solid #28724e;background:#d4f5ce}[hidden]{display:none!important}canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-touch-callout:none}header{position:absolute;top:env(safe-area-inset-top,0);width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(#193d37e8,transparent);gap:8px;pointer-events:none}header>*{pointer-events:auto}header strong{font-size:clamp(14px,3vw,24px);max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header button{min-height:48px;min-width:48px}#score{font-size:13px}#goal{position:absolute;top:75px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;border-radius:20px;background:#183c34e8;padding:8px 14px;max-width:95%;width:max-content;font-weight:700;pointer-events:none}#picture{font-size:32px}#recipe-strip{position:absolute;top:140px;left:50%;transform:translateX(-50%);display:flex;gap:3px;background:#183c34d9;border-radius:16px;padding:5px;pointer-events:none}#recipe-strip span{font-size:24px;opacity:.4}#recipe-strip .current{opacity:1;outline:3px solid #ffd36c;border-radius:8px;animation:pulse 1.2s infinite}#recipe-strip .done{opacity:1}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;color:#fff9;pointer-events:none}#message{position:absolute;bottom:260px;left:10%;right:10%;text-align:center;text-shadow:0 2px 3px #000;background:#15372dc9;border-radius:16px;padding:10px;pointer-events:none;font-size:14px}#controls{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#stick{position:absolute;left:12px;bottom:40px;width:145px;height:170px;border-radius:32px;border:2px dashed #fff6;background:#15372d55;touch-action:none;display:grid;place-items:center}#stick>span{font-size:32px;opacity:.5}#stick-base{position:absolute;width:84px;height:84px;border:2px solid #fff8;border-radius:50%;background:#15372d99;pointer-events:none;display:none;transform:translate(-50%,-50%)}#knob{position:absolute;left:21px;top:21px;width:38px;height:38px;border-radius:50%;background:#f8e5ae;pointer-events:none}#right-controls{position:absolute;right:12px;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:10px}#action{width:112px;height:106px;font-size:35px;background:#ffd36c}small{display:block;font-size:13px}#look{width:100px;height:72px;font-size:25px}#quick{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px}#quick button{width:68px;height:66px;font-size:23px;padding:3px}#demonstration{position:absolute;right:45px;bottom:100px;font-size:48px;pointer-events:none;display:none;filter:drop-shadow(0 3px 2px #0008);animation:tap 1.4s infinite}#demonstration.visible{display:block}dialog{width:min(700px,95vw);max-height:92dvh;overflow:auto;border:3px solid #e4c579;border-radius:28px;padding:22px;background:#fff5e3;color:#233f36;box-shadow:0 30px 90px #0008}dialog::backdrop{background:#112f29bb}dialog h1{font-size:30px;margin:0}dialog button,dialog a{padding:12px;text-align:center}dialog a{display:grid;place-items:center;color:#233f36;min-height:64px;border:2px solid #c9b68b;border-radius:20px;text-decoration:none}dialog>button{display:block;width:100%;margin:10px 0}.menu-grid,.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.note{font-size:12px;line-height:1.5}input{display:block;width:100%;min-height:48px;border:2px solid #688774;border-radius:12px;padding:8px}.tiles button{min-height:140px}.tiles .preview{display:block;font-size:44px;border-radius:15px;padding:8px}.tiles small{margin-top:5px;font-weight:500}.tiles strong{display:block}footer{position:absolute;bottom:3px;left:8px;font-size:10px;pointer-events:none;color:#fff9}.arcade-shop-link{display:none!important}.arcade-reward-badge{left:170px!important;bottom:210px!important;max-width:60px!important}.arcade-save-tools{top:10px!important;bottom:auto!important}@keyframes tap{50%{transform:translateY(14px) scale(.85)}}@keyframes pulse{50%{background:#c6a34366}}@media(max-height:500px){#goal{top:60px;padding:4px 10px;font-size:14px}#picture{font-size:25px}#recipe-strip{top:105px}#recipe-strip span{font-size:21px}#message{bottom:14px;left:27%;right:27%;font-size:12px;margin:0;padding:6px}#stick{height:150px}#quick{flex-direction:row;bottom:55px}header{padding:5px 12px}#demonstration{bottom:95px}.arcade-reward-badge{display:none!important}}body[data-layout=large] #stick{width:160px}body[data-layout=large] #action{width:128px}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.chef-preview{display:block;position:relative;width:64px;height:76px;margin:auto;background:linear-gradient(transparent 60%,var(--suit) 60%);border-radius:12px}.chef-preview>span{position:absolute;left:8px;top:18px;font-size:42px}.chef-preview:after{content:'';position:absolute;left:9px;top:2px;width:46px;height:27px;border-radius:18px 18px 5px 5px;background:var(--hat);border:2px solid #47594b}.chef-preview:before{content:'••';position:absolute;left:24px;top:53px;font-size:14px;color:#47594b;z-index:2}
body[data-layout=large] #quick{left:55%}


#order-status{position:absolute;top:185px;left:50%;transform:translateX(-50%);max-width:94%;width:max-content;padding:6px 12px;border-radius:12px;background:#183c34e8;font-size:14px;pointer-events:none}#recipe-strip{width:max-content;max-width:96%;flex-wrap:wrap;justify-content:center}#recipe-strip span{font-size:20px}@media(max-height:500px){#order-status{top:145px;font-size:12px}#recipe-strip span{font-size:18px}}

/* Room access stays above the play area, clear of both thumb pads. */
.arcade-room-open[data-game="cook-the-meal"]{left:8px;right:auto;top:225px;max-width:190px;min-height:64px;font-size:14px;padding:6px 10px}
dialog#menu .arcade-room-open[data-game="cook-the-meal"]{position:static;max-width:none;width:100%;min-height:64px;margin-top:12px}
@media(max-height:500px){.arcade-room-open[data-game="cook-the-meal"]{top:60px;left:8px;max-width:160px}}
#place-actions{margin-top:18px}#quick{bottom:40px}#quick button{min-height:64px} @media(max-height:500px){#quick{bottom:55px}#quick button{width:68px}}
