/* A dedicated cart column keeps it visible independently of the other controls. */
.game>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;min-width:0;position:relative;z-index:4}.brand{min-width:0}.brand h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:1px}.toolbar{min-width:0;flex-wrap:nowrap}.toolbar>*{flex-shrink:0}#shopOpen{display:flex;align-items:center;justify-content:center;gap:7px;min-width:110px;min-height:46px;padding:5px 13px;border:3px solid #fff8cb;border-radius:18px;background:linear-gradient(#ffe88b,#ffc74d);color:#785027;box-shadow:0 4px 0 #ba7e34;font-size:17px;font-weight:900;white-space:nowrap}#shopOpen svg{width:29px;height:29px;flex:none}#shopOpen span{display:inline}
/* Two explicit columns and one bounded row: swap button + six food cards. */
.ingredients{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:0 10px;min-height:0;min-width:0}.ingredients>.section-title{display:none}.ingredients>#equipOpen{grid-column:1;grid-row:1}.ingredients>#foods{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;gap:10px}.ingredients .food-button{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) max-content;align-items:center;justify-items:center;gap:2px;height:100%;min-height:0;min-width:0;padding:4px 5px;overflow:hidden}.ingredients .food-button .food-art{grid-row:1;width:100%;height:100%;max-height:none;min-height:0;min-width:0;object-fit:contain;transform:none}.food-button>span:last-child{grid-row:2;white-space:nowrap;font-size:clamp(12px,1.5vw,18px);line-height:1.25}.food-button .raw-tag{z-index:1}#equipOpen{align-self:center;min-height:70px;max-height:100%;min-width:0;padding:5px 2px;border:3px solid #fff5c9;border-radius:17px;background:#83cdd1;color:#356f77;box-shadow:0 4px 0 #57a4ae;font-size:27px;line-height:1}#equipOpen span{display:block;font-size:13px;font-weight:800;line-height:1.35;margin-top:4px}
/* The market is a full shopping surface with a visible total and purchase button. */
dialog{box-sizing:border-box;width:min(940px,94vw);max-height:92svh;margin:auto;padding:22px;border:5px solid #efba61;border-radius:28px;background:#fff9df;color:#795634;box-shadow:0 10px 0 #865f4280;overflow:auto}dialog::backdrop{background:#21565ecc;backdrop-filter:blur(3px)}.market-dialog{width:min(1120px,96vw);height:min(720px,94svh);max-height:none;padding:0;border:6px solid #e3f0cd;background:#f5f4dd;border-radius:30px;overflow:hidden}.market-shell{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.shop-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.market-dialog .shop-heading{padding:13px 20px;background:#d0e9cf;border-bottom:3px solid #b5d7b3}.shop-heading h2{margin:0;font-size:26px;text-shadow:none}.shop-heading small{display:block;color:#548a78;font-size:11px;letter-spacing:2px;margin-bottom:2px}.shop-heading button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#fff9df;color:#68836b;font-size:24px}.market-wallet{display:flex;align-items:center;gap:6px;margin-left:auto;background:#fff4b0;border:3px solid #fffceb;box-shadow:0 3px 0 #cbb475;border-radius:22px;padding:6px 16px;font-size:22px;color:#8d6b30;font-variant-numeric:tabular-nums}.market-wallet span{font-size:14px}.market-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 22px;color:#56836c;font-size:14px;font-weight:700}.market-intro>span:last-child{font-size:12px}.market-body{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(160px,1fr);gap:16px;min-height:0;padding:0 20px 12px}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(160px,1fr);gap:12px;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:4px 6px 5px 1px}.market-item{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:center;justify-items:center;gap:3px;min-width:0;min-height:140px;padding:9px 8px;border:3px solid #e0ddb8;border-radius:24px;background:#fffdf0;color:#796542;box-shadow:0 3px 0 #dedab5}.market-item .food-art{width:100%;height:100%;min-height:0;max-height:170px;filter:drop-shadow(0 4px 2px #9a823022)}.market-item>b{font-size:17px;line-height:1.2;white-space:nowrap}.market-price{font-size:15px;font-weight:800;color:#a07639;line-height:1.3}.market-check{position:absolute;top:7px;right:7px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#ece9cf;color:#98966f;font-size:19px;font-weight:900}.market-item[aria-pressed=true]{background:#e8f7db;border-color:#52b8aa;box-shadow:0 3px 0 #399b90}.market-item[aria-pressed=true] .market-check{background:#3db3a3;color:#fff}.market-item.is-owned{background:#eef0d9;border-color:#bbcfab}.market-item.is-owned .market-check{background:#85ad72;color:white}.market-preview{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:0;border-radius:36px;background:#e3eacd;overflow:hidden;padding:10px 10px 4px}.preview-ribbon{font-size:13px;line-height:1.3;font-weight:800;color:#588470;background:#fcf9dc;border-radius:14px;padding:5px 14px;white-space:nowrap}#shopPreview{display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;min-height:0;width:100%;flex:1;gap:5px;padding:8px 0}#shopPreview .food-art{height:100%;width:100%;min-height:0;max-height:215px}#shopPreview h3{font-size:24px;margin:0;line-height:1.2}#shopPreview>span{font-size:16px;color:#a27b37;font-weight:800}.market-rabbit{width:96px;height:88px;object-fit:contain;flex-shrink:0}.market-preview>p{font-size:13px;color:#698465;margin:0 0 4px}.market-bottom{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;align-items:center;padding:12px 20px 10px;border-top:3px solid #e2dfbd;background:#eeebd1}.market-total{border-radius:23px;background:#b8a54d;color:#fffdf1;padding:7px 20px;min-width:172px}.market-total small{display:block;font-size:14px}.market-total small span{margin-left:8px;color:#faf5ce}.market-total strong{font-size:25px;line-height:1.2;white-space:nowrap}.market-actions{display:flex;justify-content:flex-end;gap:10px}.shop-primary,.shop-secondary{min-height:46px;min-width:150px;border:3px solid #fff8d4;border-radius:18px;padding:9px 18px;font:inherit;font-size:17px;font-weight:800;white-space:nowrap}.shop-primary{background:#58b5a0;color:#fff;box-shadow:0 4px 0 #368976}.shop-primary:disabled{background:#d1cfb6;color:#777458;box-shadow:0 3px 0 #b2b098;cursor:default}.shop-secondary{background:#fff9df;color:#558976;border-color:#c4d9ad}.market-bottom #shopMessage{grid-column:1/-1;min-height:18px;font-size:13px;font-weight:700;color:#54836c;margin:0;line-height:1.4}
/* Ingredient replacement uses the same large food illustrations. */
.shop-sub{margin:10px 0;font-size:16px}.shop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}.shop-card{min-width:0;background:#fff3c6;border:3px solid #f0d492;border-radius:20px;padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:#795634}.shop-card .food-art{width:100%;height:100px;object-fit:contain}.shop-card b{font-size:15px}.shop-card small{font-size:12px}#equipMessage{min-height:24px;margin:12px 0;color:#477d79;font-weight:700}.equip-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}.equip-slots button{border:3px solid #e8c985;background:#fff0bf;border-radius:15px;display:flex;flex-direction:column;align-items:center;min-width:0;padding:5px;color:#795634;gap:4px}.equip-slots .food-art{width:100%;height:85px;object-fit:contain}.equip-slots button[aria-pressed=true]{background:#cfebe0;border-color:#42a4a3;outline:2px solid #42a4a3}.equip-slots button:disabled{background:#ede5cd;border-color:#ded5ba;color:#95866b}.equip-slots small{font-size:12px}.owned-grid button:disabled{opacity:.65;cursor:default}.owned-grid button:not(:disabled){border-color:#69b9b6;background:#e7f3d5}#equipDone{display:block;margin:10px auto 0}.shop-heading button:focus-visible,dialog button:focus-visible,#equipOpen:focus-visible,#shopOpen:focus-visible{outline:3px solid #237d97;outline-offset:2px}button{touch-action:manipulation}
@media(orientation:landscape) and (max-height:499px){.game{height:100svh;min-height:320px;grid-template-rows:44px clamp(80px,24svh,108px) minmax(0,1fr);padding-top:5px;padding-bottom:9px}.game>header{gap:8px}.brand h1{font-size:22px}.toolbar button,.toolbar>span{padding:4px 8px;min-height:36px;font-size:14px}#shopOpen{min-height:39px;font-size:16px;min-width:104px}.kitchen{grid-template-columns:58px minmax(0,1fr) 132px;grid-template-rows:minmax(0,1fr) 76px;gap:6px;padding:6px}.grill{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,1fr);min-height:0}.grill .slot .food-art{height:calc(100% - 20px);width:100%;top:0;transform:none}.slot{min-height:0}.grill-panel .section-title{margin-bottom:3px}#hint{min-height:18px;margin-top:3px;font-size:11px}.ingredients{grid-template-columns:48px minmax(0,1fr);gap:0 7px;padding-top:4px}.ingredients>#foods{gap:6px}.food-button>span:last-child{font-size:12px}#equipOpen{min-height:58px;font-size:22px}#equipOpen span{font-size:12px;margin-top:1px}.ingredients .food-button{padding:2px 3px;border-width:2px;border-radius:12px}.ingredients .food-button .raw-tag{font-size:9px;padding:1px 3px;right:2px;top:2px}.order{margin-bottom:5px}.market-dialog{width:96vw;height:96svh;border-width:4px;border-radius:22px}.market-dialog .shop-heading{padding:5px 13px}.shop-heading small{display:none}.shop-heading h2{font-size:21px}.shop-heading button{width:34px;height:34px;font-size:20px}.market-wallet{padding:3px 13px;font-size:19px}.market-intro{padding:5px 15px;font-size:13px}.market-body{padding:0 12px 7px;gap:10px}.market-grid{grid-template-rows:none;grid-auto-rows:minmax(125px,1fr);gap:8px}.market-item{min-height:110px;padding:5px;border-radius:17px;gap:2px}.market-item>b{font-size:14px}.market-price{font-size:13px}.market-check{width:20px;height:20px;font-size:15px;right:4px;top:4px}.market-rabbit{display:none}.market-preview>p{font-size:12px}#shopPreview h3{font-size:20px}.market-bottom{padding:6px 13px;gap:4px 10px}.market-total{padding:4px 14px;min-width:140px}.market-total strong{font-size:21px}.market-total small{font-size:12px}.shop-primary,.shop-secondary{min-height:40px;min-width:130px;padding:6px 12px;font-size:15px}.market-bottom #shopMessage{font-size:12px;min-height:17px}}
@media(orientation:portrait){.ingredients{grid-template-columns:48px minmax(0,1fr);gap:0 7px}.ingredients>#foods{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.ingredients .food-button{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.ingredients .food-button .food-art{width:100%;height:100%}.food-button>span:last-child{font-size:12px}.game>header{gap:5px}.brand h1{font-size:20px}.brand small{display:none}.toolbar{gap:4px}.toolbar button,.toolbar>span{min-height:38px;padding:4px 6px}#shopOpen{min-width:85px;min-height:42px;padding:4px 8px;font-size:14px;gap:4px}#shopOpen svg{width:24px;height:24px}}
@media(max-width:560px){.game>header{grid-template-columns:minmax(0,1fr) auto auto}.brand h1{font-size:18px;letter-spacing:0}.toolbar #score,.toolbar #full{display:none}.toolbar #sound{font-size:12px;min-width:33px}.toolbar #coins{font-size:14px;gap:2px;padding:5px}.toolbar #coins b{font-size:17px}.toolbar #coins small{display:none}#shopOpen{min-width:79px;font-size:13px;padding:4px 5px}.market-dialog{height:94svh;border-width:4px;border-radius:22px}.market-dialog .shop-heading{padding:10px}.shop-heading h2{font-size:20px}.shop-heading small{font-size:9px;letter-spacing:1px}.market-wallet{padding:5px 8px;font-size:18px;gap:3px}.market-wallet span{display:none}.shop-heading{gap:7px}.shop-heading button{height:36px;width:36px;font-size:21px}.market-intro{padding:8px 12px;font-size:13px}.market-intro>span:last-child{font-size:11px}.market-body{grid-template-columns:minmax(0,1fr);padding:0 9px 9px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(150px,1fr);gap:9px}.market-preview{display:none}.market-item{min-height:150px;border-radius:20px}.market-item>b{font-size:16px}.market-bottom{grid-template-columns:minmax(0,1fr);padding:8px 10px;gap:8px}.market-total{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;border-radius:15px}.market-total strong{font-size:22px}.market-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shop-primary,.shop-secondary{min-width:0;width:100%;font-size:15px;padding:8px}.market-bottom #shopMessage{font-size:12px}.equip-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.owned-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.shop-card{padding:5px}.shop-card .food-art{height:80px}.shop-card b{font-size:13px}#equipDialog{padding:14px}.shop-sub{font-size:14px}}

.seasoning-decoration{font-weight:800;text-align:center;user-select:none;cursor:default}
