*{box-sizing:border-box}html,body{margin:0;background:#eadcc3;color:#4c3928;font-family:'Yu Gothic','MS Gothic',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-weight:bold;cursor:pointer;padding:8px;border:2px solid #a38a5e;background:#fff3d8;color:#614529;border-radius:5px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #dc713c;outline-offset:3px}a{color:inherit;text-decoration:none}.shell{max-width:540px;margin:auto;height:100dvh;min-height:660px;background:#fff5dc;box-shadow:0 0 55px #7c633d33;display:flex;flex-direction:column}header{height:36px;flex:0 0 36px;display:flex;justify-content:space-between;align-items:center;padding:5px 11px;background:#69513a;color:#fff3d9;font-size:10px}header span{font-size:7px;letter-spacing:1px}header button{padding:3px 5px;font-size:9px;background:#f7e6c3}.heading{padding:9px 12px 7px;text-align:center;background:#f4e2bc;border-bottom:3px solid #b89b67}.heading p{font-size:9px;letter-spacing:2px;color:#8e7854;margin:0 0 4px}h1{font-size:clamp(22px,5.5vw,31px);margin:0 0 8px;font-weight:950}h1 span{color:#a25b2e}.steps{display:flex;justify-content:center;gap:5px;list-style:none;padding:0;margin:0}.steps li{font-size:10px;padding:4px 10px;background:#e0d5b9;color:#9b8a68;border-radius:3px}.steps li.active{background:#c37638;color:#fff7e2}#ingredients{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:7px 10px;background:#ecdbb7}.ingredient{position:relative;padding:3px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden}.ingredient .food-icon{display:block;width:48px;height:42px;margin:auto;background-image:url('/curry-food.png');background-size:200% 200%;image-rendering:pixelated;pointer-events:none}.ingredient span{font-size:10px;display:block;pointer-events:none}.ingredient b{position:absolute;right:3px;top:3px;background:#6a4c32;color:#fff7e3;padding:1px 4px;border-radius:3px;font-size:9px;pointer-events:none}.ingredient.dragging{border-color:#d17935;background:#fff9dc}#cook-status{display:flex;gap:10px;padding:9px 12px;background:#efe5cd}#cook-status label{flex:1;font-size:11px;font-weight:bold}#cook-status b{float:right;font-size:10px}.track{display:block;height:10px;border:1px solid #ae9362;background:#daceaf;margin-top:4px}.track i{display:block;height:100%;width:0;background:#6cacc1}#burn-fill{background:#df8a43}#field{flex:1;min-height:265px;position:relative;overflow:hidden;background:#bba985 url('/curry-kitchen.png') center/100% 100%;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#field *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#scene{display:block;height:100%;width:auto;max-width:100%;margin:auto;touch-action:none}.height-badge{position:absolute;top:10px;left:3%;background:#fff3dbea;border:2px solid #9e8051;padding:5px 7px;box-shadow:2px 3px #79603f33;font-size:9px}.height-badge strong{font:bold 24px monospace;display:block;text-align:center}.height-badge strong:after{content:''}#powder-hint{position:absolute;top:10px;right:3%;width:48%;background:#fff4dfef;border:2px solid #a98a55;padding:6px;font-size:11px;font-weight:bold;text-align:center}#aim-track{display:block;position:relative;height:13px;margin-top:5px;background:#a99778;border:1px solid #82633b}#aim-target{position:absolute;height:100%;width:12%;background:#f6ce70;transform:translateX(-50%);top:0}#aim-marker{position:absolute;top:-3px;height:18px;width:3px;background:#fff;z-index:1;box-shadow:1px 0 #916d37}#scene-note{position:absolute;bottom:8px;left:4%;right:4%;text-align:center;font-size:10px;padding:7px 3px;border:1px solid #c2a575;background:#fff3dbeb;color:#7a5b37;pointer-events:none}#drop-ghost{position:fixed;width:65px;height:65px;background-image:url('/curry-food.png');background-size:200% 200%;image-rendering:pixelated;z-index:50;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(2px 5px 1px #49321b66)}.controls{padding:8px 10px 6px;background:#f3e5c7;border-top:3px solid #a98a55}#message{text-align:center;font-size:11px;line-height:1.7;min-height:20px;margin:0 0 7px;font-weight:bold}.main-actions{display:flex;gap:6px}.main-actions button{font-size:11px;padding:11px 6px}#next{flex:1}.primary{background:#f1b94e;color:#5e371b;border-color:#be8532;box-shadow:2px 3px #a8752c44}#undo{font-size:10px}#recipe-summary{text-align:center;margin-top:6px;font-size:9px;color:#957951}.heat-row{display:flex;gap:6px}.heat-row button{flex:1;font-size:11px;padding:7px 2px}.heat-row [aria-pressed=true]{background:#f5bd59;border-color:#b4732d}#stir{display:block;width:100%;margin-top:6px;background:#e9bd79;padding:7px;font-size:12px}.stir-help{font-size:9px;margin:5px 0 7px;text-align:center;color:#94784e}footer{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;font-size:9px;color:#927c56;border-top:1px solid #d9c69f}footer button{font-size:9px;padding:3px 7px}dialog{width:min(440px,92vw);max-height:92dvh;overflow:auto;text-align:center;color:#553e29;background:#fff6df;border:3px solid #af8b4e;padding:24px 20px;border-radius:8px;box-shadow:6px 6px #5f4b2e44}dialog::backdrop{background:#372b1fb8;backdrop-filter:blur(3px)}dialog small{font-size:9px;letter-spacing:2px;color:#a08048}dialog h2{font-size:20px;margin:13px 0 8px}#result-title{font-size:23px;color:#ae592e;line-height:1.5;margin:10px 0}#close-result{position:absolute;top:5px;right:8px;border:0;background:none;font-size:23px;padding:0}#dish{display:block;width:100%;height:auto;image-rendering:pixelated}.ratings{display:flex;gap:5px}.ratings div{flex:1;border:1px solid #ceb27d;background:#f5e9c9;padding:6px 2px;font-size:11px}.ratings strong{display:block;font-size:13px;color:#c87d2e;letter-spacing:1px;margin-top:4px}#friend-comment{padding:10px;background:#eee5c9;border:1px solid #c2bb91;font-size:13px;line-height:1.9;font-weight:bold}#result-stats{font-size:11px;line-height:1.9;color:#937547}#result-recipe{padding:0;list-style:none;margin-bottom:16px}#result-recipe li{display:flex;justify-content:space-between;border-bottom:1px dashed #d7c9a6;padding:6px 0;font-size:11px}#again,#share{display:block;width:100%;margin-top:10px;font-size:12px;padding:12px 4px}#instructions p{font-size:12px;line-height:2}#instructions .fine{font-size:9px;color:#a28e68}#how-close{width:100%}[hidden]{display:none!important}@media(max-width:370px){header span{display:none}h1{font-size:21px}.steps li{padding-inline:7px}.ingredient .food-icon{width:39px;height:35px}#message{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
