@font-face{font-family:'GamjaFlower';src:url('assets/fonts/GamjaFlower-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#faf7ec;--ink:#35432f;--green:#547343;--muted:#788066;--line:#e0decb;--round:'GamjaFlower',sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'GamjaFlower',sans-serif;font-size:18px;line-height:1.5}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;transition:transform .15s,background .15s,box-shadow .15s}button:disabled{cursor:default}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:4px solid #547943;outline-offset:4px}button:not(:disabled):active{transform:translateY(2px)}h1,h2,h3,p{margin:0}h1{font-family:var(--round);font-size:46px;letter-spacing:-1px;line-height:1.15;font-weight:700}h1:focus{outline:0}h2{font-size:25px}h3{font-size:22px}svg{display:block}.art{width:100%;height:100%;overflow:visible;pointer-events:none}.food-sprite{display:block;flex-shrink:0;width:100%;aspect-ratio:1;background-image:var(--sheet);background-size:400% 500%;background-position:var(--sx) var(--sy);background-repeat:no-repeat;pointer-events:none;user-select:none}.dish-picture{display:block;aspect-ratio:1;width:100%;background:none;filter:none}.topbar{max-width:1400px;margin:auto;padding:20px 35px 17px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:2px solid var(--line);background:#faf7ecf5;position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}.brand{background:transparent;padding:0;text-align:left;display:flex;gap:10px;align-items:center;white-space:nowrap;font-family:var(--round);font-size:32px;font-weight:700;line-height:1.1}.brand-mark{width:44px;height:47px}.tools{display:flex;gap:12px;align-items:center}.chosen-season{display:flex;align-items:center;gap:4px;font-weight:700;font-size:17px;white-space:nowrap}.chosen-season>.art{width:29px;height:32px}.points{display:flex;align-items:center;gap:7px;background:#fff5ce;border:2px solid #e8cf81;border-radius:15px;padding:8px 15px;min-width:113px;justify-content:center;font-size:18px;color:#796036;box-shadow:0 3px 0 #e5d6a550}.points b{font-size:27px;line-height:1.2}.coin{display:grid;place-items:center;font-size:14px;font-weight:900;background:#efc858;border:2px solid #ffdc78;border-radius:50%;width:25px;height:25px}.icon-button{border:2px solid #dddece;border-radius:50%;background:#fffdf5;width:42px;height:42px;font-size:24px;color:#72815b}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:970px;margin:24px auto 0;padding:0 20px;gap:20px;align-items:center}.step{background:transparent;display:flex;align-items:center;justify-content:center;gap:9px;font-size:18px;font-weight:700;color:#9da28b;white-space:nowrap;padding:12px 8px;position:relative;border-bottom:4px solid transparent;border-radius:13px 13px 4px 4px}.step:not(:last-child):after{content:'›';font-family:var(--round);position:absolute;right:-16px;font-size:27px;color:#b6bca4}.step i{font-style:normal;display:grid;place-items:center;border-radius:50%;background:#e8eadc;width:31px;height:31px;font-size:17px}.step.current{color:#435b35;background:#f3eac9;border-color:#c9ad62}.step.current i{background:#5b7949;color:white}.step.complete{color:#758563}.step.complete i{background:#e0e9cd;color:#5d764b}main{max-width:1320px;margin:0 auto;padding:0 36px 35px}.heading{text-align:center;padding:30px 0 26px}.heading>p{font-size:21px;font-weight:500;color:#7c866b;margin-top:9px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:60px;padding:13px 24px;border-radius:15px;font-size:21px;font-weight:800}.primary{background:var(--green);color:#fffef7;border:2px solid #4e6d3e;box-shadow:0 5px 0 #3f5e2f24}.primary:hover:not(:disabled){background:#456634;transform:translateY(-2px)}.primary:disabled{background:#dbdfcf;color:#99a185;border-color:#d5d9c9;box-shadow:none}.secondary{background:#fffef7;border:2px solid #d8ddc8;color:#617a4f}.secondary:hover{background:#eef2e1}.wide{width:100%}.text-button{padding:10px 5px;background:none;color:#788367;font-size:17px;text-decoration:underline;text-underline-offset:4px}.back-row{text-align:left;padding-top:14px}.season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:8px}.season-card{position:relative;isolation:isolate;background:#fffdf4;border:2px solid #dedfcf;border-radius:23px 27px 20px 25px;overflow:hidden;padding:20px 16px 17px;box-shadow:0 7px 0 #e2dfce;transition:transform .2s,box-shadow .2s}.season-card:nth-child(odd){transform:rotate(-1deg)}.season-card:nth-child(even){transform:rotate(1deg)}.season-card:hover{transform:translateY(-7px) rotate(0);box-shadow:0 12px 0 #e5e0c9}.season-card h2{font-family:var(--round);font-size:47px;position:relative;z-index:2}.season-scene{position:absolute;top:0;left:0;right:0;height:71%;overflow:hidden;z-index:-1;background:var(--season-light)}.season-scene>.art{width:94px;height:94px;margin:74px auto 0;opacity:.9}.hill{position:absolute;width:330px;height:180px;border-radius:50%;bottom:-125px;left:-145px;background:var(--season-color);opacity:.2}.hill.two{left:80px;bottom:-145px;opacity:.25}.season-foods{display:flex;align-items:flex-end;margin:94px -9px 10px;min-height:155px}.season-foods>.food-sprite{width:60%;margin-left:-8%;filter:drop-shadow(0 6px 3px #55502114)}.season-foods>.food-sprite:first-child{margin-left:0;transform:rotate(-8deg)}.season-foods>.food-sprite:last-child{transform:rotate(9deg)}.season-enter{display:flex;align-items:center;justify-content:center;gap:25px;font-size:21px;font-weight:800;padding:13px 8px;border-top:2px dashed #dedfc9}.season-enter>span{font-size:23px}.sorting-field{position:relative;isolation:isolate;overflow:hidden;border:2px solid #dfe4ce;border-radius:28px;background:#edf2df;padding:19px 35px 21px}.sorting-field:before,.sorting-field:after{content:'';position:absolute;z-index:-1;width:700px;height:230px;border-radius:50%;bottom:-154px;left:-190px;background:#dfe8c9}.sorting-field:after{left:auto;right:-210px;bottom:-157px;background:#e2eacb}.question-card{width:237px;margin:auto;padding:5px 17px 9px;background:#fffef8;border:2px solid #e1e4d3;border-radius:23px;box-shadow:0 7px 0 #cdd7b975;transform:rotate(-2deg);text-align:center;touch-action:none;user-select:none;cursor:grab;position:relative}.question-card>.food-sprite{height:164px;width:164px;margin:auto}.question-card h2{font-family:var(--round);font-size:37px;line-height:1.1}.field-doodle{position:absolute;width:80px;height:80px;opacity:.6;pointer-events:none}.flower-left{top:65px;left:15%;transform:rotate(-16deg)}.sun-right{top:30px;right:17%;transform:rotate(14deg)}.feedback{min-height:58px;padding:13px 4px;text-align:center;font-size:20px;color:#758361;line-height:1.5}.feedback b{font-weight:900;color:#5c7948;margin-right:5px}.feedback.good{color:#53733e}.feedback.good>b{display:inline-block;background:#d5e5b9;padding:1px 10px;border-radius:10px}.feedback.try{color:#98674e}.feedback.try>b{color:#b27255}.baskets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;max-width:900px;margin:auto}.basket{min-width:0;background:transparent;padding:0 6px 5px;border-radius:20px;position:relative}.basket:hover:not(:disabled),.basket.drop-hover{background:#ffffff70;transform:translateY(-5px)}.basket-illustration{width:100%;max-width:170px;height:126px;position:relative;margin:auto}.basket-illustration>.art{position:absolute;top:-3px;left:calc(50% - 38px);width:76px;height:76px;z-index:1}.basket-illustration>svg:not(.art){position:absolute;bottom:0;left:0;width:100%;height:88px;filter:drop-shadow(0 4px 0 #80633214)}.basket-name{display:inline-block;min-width:102px;font-size:31px;font-family:var(--round);font-weight:700;background:var(--season-light);border:2px solid #fff8;border-radius:12px;padding:1px 10px;margin-top:3px;line-height:1.3}.basket-reward{position:absolute;top:12px;left:calc(50% - 43px);width:86px;height:86px;padding:5px;background:#fffef4ed;border-radius:50%;animation:into-basket .4s ease-out;pointer-events:none;z-index:3}.journey-bar{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:20px;padding:19px 26px;background:#fffdf6;border:2px solid #e4e3d2;border-radius:19px}.progress-copy{width:100%;max-width:440px}.progress-copy>b{font-size:20px}.progress-line{display:flex;align-items:center;gap:14px;margin-top:10px}.progress-line>span{font-size:16px;font-weight:700;white-space:nowrap;color:#7b8964}.progress-track{height:11px;border-radius:8px;background:#e5e9d9;overflow:hidden;flex:1}.progress-track>span{display:block;height:100%;border-radius:8px;background:#a4bb79;transition:width .3s}.journey-bar>.primary{min-width:220px}.market-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px;align-items:start}.shop-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:16px}.shop-tab{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 5px;background:#eeeedf;border:2px solid transparent;border-radius:15px;font-size:17px;font-weight:700;min-height:64px}.shop-tab>.food-sprite{width:44px}.shop-tab.active{background:#fffdf5;border-color:#7f995f;box-shadow:0 4px 0 #bbc99e42}.store{border:2px solid #dedfcb;border-radius:22px;overflow:hidden;background:#fffdf6}.awning{height:36px;background:repeating-linear-gradient(90deg,var(--shop-color) 0,var(--shop-color) 42px,#faf1db 42px,#faf1db 84px);border-bottom:5px solid #00000009;border-radius:0 0 8px 8px;opacity:.85}.store-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 24px 13px}.store-title h2{font-size:22px}.store-title>span{font-size:16px;color:#7e896b}.ingredient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:0 22px}.ingredient-grid:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.ingredient-card{position:relative;background:#f6f3e7;border:2px solid #e8e3d1;border-radius:16px;padding:9px 8px 12px;min-width:0}.ingredient-card>.food-sprite{width:100%;max-width:136px;margin:auto}.ingredient-card>b{display:block;font-size:21px;line-height:1.4}.ingredient-card.selected{border-color:#819a61;background:#eef2dc;box-shadow:0 0 0 2px #819a6120}.chosen-check{display:grid;place-items:center;position:absolute;top:6px;right:6px;width:24px;height:24px;background:#6e8953;color:white;border-radius:50%;font-size:16px}.recipe-area{padding:20px 22px 24px}.recipe-area h3{font-size:20px;margin-bottom:14px;color:#657c4d}.choose-hint{min-height:146px;display:flex;justify-content:center;align-items:center;color:#8a9279;font-size:19px}.recipes{display:grid;grid-template-columns:1fr 1fr;gap:15px}.recipe-card{display:grid;grid-template-columns:112px 1fr;align-items:center;column-gap:12px;background:#faf8ef;border:2px solid #e5e2cd;border-radius:17px;text-align:left;padding:12px;min-width:0}.recipe-card>.dish-picture{grid-row:span 2;width:112px}.recipe-card>b{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.price{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:19px;font-weight:800;color:#9d7b35;white-space:nowrap}.price>span{font-size:17px;color:#5f7b45}.recipe-card.bought{background:#ecf0de;border-color:#b3c296}.recipe-card.bought .price{font-size:17px;color:#7b9360}.shortage{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;border-radius:12px;background:#fbefcf;padding:12px 14px;margin-top:16px;color:#987945}.shortage button{background:none;color:#59713e;font-weight:800;font-size:17px;text-decoration:underline;text-underline-offset:3px}.cart{border:2px solid #e0dfca;background:#fffdf5;border-radius:22px;padding:22px 19px}.cart-title{display:flex;align-items:center;justify-content:space-between;border-bottom:2px dashed #e1dfca;padding-bottom:15px}.cart-title h2{font-size:24px}.cart-title>span{background:#eaf0db;border-radius:50%;width:35px;height:35px;text-align:center;color:#6e8852;font-size:21px;font-weight:700;line-height:35px}.cart-list{min-height:244px;max-height:380px;overflow:auto;margin:12px 0}.empty-cart{display:flex;align-items:center;flex-direction:column;gap:21px;text-align:center;padding:16px 0;color:#939981}.empty-cart .basket-illustration{width:136px;height:109px;opacity:.6}.empty-cart b{font-size:18px;line-height:1.6;font-weight:500}.cart-item{display:flex;align-items:center;gap:8px;border-bottom:1px dashed #e2e1ce;padding:8px 0}.cart-item>.dish-picture{width:68px;flex-shrink:0}.cart-item>b{flex:1;font-size:17px;line-height:1.5}.remove{background:none;min-width:33px;min-height:44px;font-size:30px;color:#a49c84}.cart-hint{font-size:17px;color:#7e8b69;text-align:center;padding:6px 0 13px}.cart .primary,.cart .secondary{font-size:19px;padding:12px 7px;min-height:55px;gap:4px}.cart .secondary{margin-top:11px}.plating-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:27px;align-items:start}.tablecloth{padding:39px 23px 20px;border:2px solid #dedccd;border-radius:24px;background-color:#e8e6d4;background-image:linear-gradient(90deg,#ffffff50 50%,transparent 50%),linear-gradient(#ffffff50 50%,transparent 50%);background-size:34px 34px}.tray{aspect-ratio:1.45;width:100%;position:relative;isolation:isolate;background:linear-gradient(145deg,#e6ecdf,#d0dac9);border:3px solid #aebca2;border-radius:33px;box-shadow:inset 0 4px 0 #ffffffa1,inset 0 -5px 0 #98a88a40,0 10px 0 #58674420;padding:18px}.tray-wells{position:absolute;inset:17px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1.4fr;gap:14px;pointer-events:none;z-index:-1}.tray-wells>span{grid-column:span 2;border:2px solid #b6c4a8;border-radius:21px;background:linear-gradient(135deg,#cad6bd,#e0e8d5);box-shadow:inset 0 4px 5px #72825c15,0 2px 0 #f6f8e799}.tray-wells>span:nth-child(n+4){grid-column:span 3}.tray-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none}.tray-placeholder>b{background:#f7f8e4c9;padding:15px 20px;border-radius:15px;font-size:23px;color:#849475}.placed-food{position:absolute;width:25%;max-width:178px;transform:translate(-50%,-50%);padding:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;user-select:none;border-radius:17px}.placed-food .dish-picture{width:100%;filter:drop-shadow(1px 4px 2px #5563351c)}.placed-food.label-above{flex-direction:column-reverse}.food-name{display:inline-block;background:#fffdf0f0;color:#4c613c;font-size:16px;font-weight:800;border-radius:8px;padding:3px 7px;white-space:nowrap;line-height:1.5;max-width:125%;position:relative;z-index:1}.label-above .food-name{margin-bottom:-2px}.label-below .food-name{margin-top:-3px}.editable .placed-food{cursor:grab}.placed-food:hover{z-index:5}.placed-food:not(:disabled):active{transform:translate(-50%,-50%)}.placed-food.selected{outline:3px dashed #79905d;outline-offset:2px}.tray.drop-hover{outline:4px dashed #789351;outline-offset:6px}.tray-caption{text-align:center;font-size:20px;font-weight:700;color:#73825d;padding-top:24px}.pantry{background:#fffdf5;border:2px solid #dfdfca;border-radius:22px;padding:23px 17px}.pantry h2{font-size:24px;margin-bottom:17px}.pantry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:470px;overflow:auto;padding:4px;margin:-4px -4px 12px}.pantry-food{position:relative;padding:9px 7px 12px;background:#f6f3e6;border:2px solid #e7e1ce;border-radius:15px;touch-action:none;user-select:none;cursor:grab;min-width:0}.pantry-food>.dish-picture{max-width:120px;margin:auto}.pantry-food>b{display:block;font-size:16px;line-height:1.5}.pantry-food.selected{border-color:#82995f;outline:2px solid #82995f}.pantry-food.on-tray{background:#edf1df}.on-tray-check{position:absolute;top:3px;right:5px;color:#6f8a50;font-size:20px;font-weight:800}.pantry .primary,.pantry .secondary{font-size:19px;padding:12px 6px;margin-top:10px;min-height:55px;gap:5px}.pantry>.text-button{width:100%;font-size:16px}.naming-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:27px;align-items:start}.small-table{padding:40px 23px}.name-panel{border:2px solid #dfdfca;border-radius:22px;background:#fffdf6;padding:24px}.name-panel label{display:block;font-weight:800;font-size:23px;margin-bottom:13px}.name-panel input{width:100%;padding:15px 12px;border:2px solid #cad6b7;background:#fffef6;border-radius:11px;font-size:20px;color:var(--ink)}.name-panel input::placeholder{color:#a2a68f}.name-panel h3{font-size:19px;color:#8a9476;margin:26px 0 13px}.name-suggestions{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.suggestion{padding:13px 10px;text-align:left;border:2px solid #dfe5cc;background:#f0f3e3;border-radius:11px;font-size:18px;color:#617b47}.name-panel .primary,.name-panel .secondary{font-size:20px;margin-top:10px;padding:13px 7px}.done-intro{text-align:center;padding:29px 0 25px}.done-intro h1{font-size:42px}.meal-card{max-width:790px;margin:auto;background:#fffdf5;border:2px solid #dedcc8;border-radius:25px;padding:26px 40px 20px;box-shadow:0 8px 0 #dcd8c84a;position:relative;overflow:hidden}.meal-card:before{content:'';position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(90deg,var(--season-color) 0,var(--season-color) 25px,var(--season-light) 25px,var(--season-light) 50px);opacity:.8}.meal-card-head{text-align:center;margin-bottom:23px}.meal-card-head>span{display:flex;align-items:center;justify-content:center;gap:5px;font-size:20px;font-weight:700;color:#81916c}.meal-card-head>span>.art{width:37px;height:37px}.meal-card-head h2{font-family:var(--round);font-size:43px;line-height:1.25;margin-top:8px;overflow-wrap:anywhere}.meal-food-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 12px;margin-top:25px;font-size:18px;color:#7e8c67}.meal-food-list i{font-style:normal;color:#b8bda9}.done-actions{display:flex;justify-content:center;gap:16px;margin-top:26px}.drag-ghost{position:fixed!important;z-index:1000!important;pointer-events:none!important;transform:translate(-50%,-50%) rotate(-4deg)!important;opacity:.9!important;margin:0!important;box-shadow:none!important}.dragging{opacity:.25}.help-dialog{max-width:630px;width:calc(100% - 30px);border:2px solid #dce1ca;border-radius:23px;background:#fffdf4;color:var(--ink);padding:32px;max-height:90vh;overflow:auto;box-shadow:0 20px 100px #25301830}.help-dialog::backdrop{background:#36432a66;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:9px;top:8px;width:40px;height:40px;background:none;font-size:31px;color:#91997f}.help-dialog .eyebrow{display:none}.help-dialog h2{font-family:var(--round);font-size:34px;line-height:1.2}.help-dialog ol{padding-left:24px;margin:23px 0}.help-dialog li{padding-left:6px;margin-bottom:19px;color:#617947}.help-dialog li b{font-size:21px}.help-dialog li p{font-size:17px;color:#7a8668;margin-top:5px}.help-note{font-size:15px;color:#8b947c;margin-bottom:18px}.help-dialog .primary{font-size:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 28px);width:max-content;padding:14px 24px;border-radius:15px;background:#526d40;color:white;box-shadow:0 8px 20px #43593224;font-size:18px;font-weight:600;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:2000}#toast.show{opacity:1;transform:translate(-50%,0)}.correct{animation:happy .4s ease}.incorrect{animation:wiggle .3s ease}body[data-season=autumn] .tablecloth{background-color:#eee0c9}body[data-season=winter] .tablecloth{background-color:#dde8e8}body[data-season=summer] .tablecloth{background-color:#e0e8d1}body[data-season=spring] .tablecloth{background-color:#eee0db}@keyframes happy{50%{transform:rotate(1deg) scale(1.04)}}@keyframes wiggle{25%{transform:rotate(-5deg)}75%{transform:rotate(1deg)}}@keyframes into-basket{from{transform:translateY(-65px) scale(.7);opacity:0}to{transform:none;opacity:1}}
@media(min-width:1500px){main{max-width:1390px}.heading{padding:35px 0 29px}.season-grid{gap:30px}.season-foods{min-height:195px;margin-top:115px}.season-scene>.art{width:111px;height:111px}.question-card{width:258px}.question-card>.food-sprite{height:180px;width:180px}.sorting-field{padding-top:24px;padding-bottom:26px}.basket-illustration{height:138px;max-width:185px}.basket-illustration>svg:not(.art){height:95px}}
@media(max-width:1100px){.topbar{padding:18px 24px}.brand{font-size:28px}.chosen-season{font-size:15px}.tools{gap:8px}main{padding:0 24px 30px}.steps{max-width:900px;margin-top:20px}.step{font-size:17px}.market-layout{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.shop-tab{font-size:15px;gap:2px}.shop-tab>.food-sprite{width:36px}.ingredient-grid{padding:0 15px;gap:9px}.ingredient-card>b{font-size:18px}.recipe-area{padding:18px 15px}.recipe-card{grid-template-columns:1fr;text-align:center;padding:10px;gap:6px}.recipe-card>.dish-picture{grid-row:auto;width:110px;margin:auto}.recipe-card>b{font-size:18px}.price{justify-content:space-around;font-size:18px}.recipe-card.bought .price{font-size:16px}.cart{padding:20px 14px}.cart-item>b{font-size:16px}.cart-item>.dish-picture{width:55px}.cart .primary,.cart .secondary{font-size:17px}.plating-layout{grid-template-columns:minmax(0,1fr) 285px;gap:20px}.naming-layout{grid-template-columns:minmax(0,1fr) 315px;gap:20px}.tablecloth{padding:34px 18px 20px}.food-name{font-size:13px}.tray-caption{font-size:17px}.season-grid{gap:19px}.season-card{padding:18px 12px 13px}.season-foods{min-height:130px}.season-enter{font-size:19px;gap:10px}.season-scene>.art{width:80px;height:80px}.season-card h2{font-size:43px}.shortage{font-size:15px}.shortage button{font-size:15px}}
@media(max-width:800px){.brand{font-size:25px}.brand-mark{width:34px;height:39px}.chosen-season{display:none}.topbar{padding:15px 20px}.steps{gap:13px;padding:0 20px}.step{font-size:15px;gap:6px;padding:11px 4px}.step i{width:27px;height:27px;font-size:15px}.step:not(:last-child):after{right:-11px;font-size:21px}.heading{padding:25px 0 21px}h1{font-size:38px}.heading>p{font-size:19px}.market-layout,.plating-layout,.naming-layout{grid-template-columns:1fr;gap:20px}.market-main{min-width:0}.shop-tab{font-size:17px;gap:6px}.shop-tab>.food-sprite{width:42px}.ingredient-card>.food-sprite{max-width:144px}.ingredient-card>b{font-size:21px}.recipe-card{grid-template-columns:118px 1fr;text-align:left;column-gap:12px}.recipe-card>.dish-picture{grid-row:span 2;width:118px}.recipe-card>b{font-size:20px}.price{justify-content:space-between}.cart-list{min-height:0;max-height:250px}.empty-cart{padding:10px;flex-direction:row;justify-content:center;gap:25px}.empty-cart .basket-illustration{width:105px;height:85px;margin:0}.empty-cart .basket-illustration>svg:not(.art){height:61px}.empty-cart .basket-illustration>.art{width:53px;height:53px;left:calc(50% - 26px)}.empty-cart b{font-size:17px}.cart-item>.dish-picture{width:64px}.cart-item>b{font-size:19px}.cart .primary,.cart .secondary{font-size:20px}.cart-title h2{font-size:25px}.pantry-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:370px;gap:12px}.pantry-food>.dish-picture{max-width:135px}.pantry-food>b{font-size:18px}.pantry .primary,.pantry .secondary{font-size:20px}.tablecloth{padding:32px 24px 20px}.food-name{font-size:17px}.tray-caption{font-size:20px}.name-panel{padding:24px}.name-suggestions{flex-direction:row;flex-wrap:wrap}.suggestion{font-size:17px}.name-panel input{font-size:21px}.name-panel .primary,.name-panel .secondary{font-size:21px}.season-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;max-width:650px;margin:6px auto 0}.season-foods{min-height:150px;margin-top:63px}.season-card h2{font-size:42px}.season-scene>.art{margin-top:67px;width:80px;height:80px}.season-card{padding:15px 17px}.season-enter{font-size:21px}.sorting-field{padding:20px 20px 23px}.baskets{gap:15px}.basket-illustration{height:111px;max-width:142px}.basket-illustration>.art{width:64px;height:64px;left:calc(50% - 32px)}.basket-illustration>svg:not(.art){height:73px}.basket-name{font-size:29px;min-width:90px}.feedback{font-size:18px}.field-doodle{width:64px;height:64px}.flower-left{left:9%}.sun-right{right:9%}.journey-bar{padding:19px 20px;gap:20px}.journey-bar>.primary{min-width:170px;font-size:20px;padding:13px 20px}.progress-copy>b{font-size:18px}}
@media(max-width:520px){body{font-size:16px}.topbar{padding:12px 14px;gap:8px}.brand{font-size:24px;gap:4px;letter-spacing:-1.2px}.brand-mark{width:27px;height:32px}.tools{gap:6px}.points{min-width:78px;padding:7px 8px;border-radius:12px;gap:4px}.points b{font-size:22px}.points>span:last-child{font-size:13px}.coin{width:19px;height:19px;font-size:11px}.icon-button{width:32px;height:32px;font-size:20px;border-width:1.5px}.steps{gap:8px;padding:0 13px;margin-top:16px}.step{flex-direction:column;font-size:13px;gap:6px;padding:8px 0;line-height:1.4;border-bottom-width:3px}.step i{width:26px;height:26px;font-size:14px}.step:not(:last-child):after{right:-8px;top:13px;font-size:23px}.step>span{letter-spacing:-.6px}main{padding:0 14px 27px}.heading{padding:24px 0 21px}h1{font-size:31px;letter-spacing:-1.2px}.heading>p{font-size:17px;margin-top:9px}.season-grid{gap:16px}.season-card{padding:13px 10px;border-radius:20px}.season-card h2{font-size:38px}.season-scene>.art{width:67px;height:67px;margin-top:53px}.season-foods{margin:58px -6px 3px;min-height:104px}.season-foods>.food-sprite{width:61%}.season-enter{font-size:18px;padding:10px 1px;gap:20px}.season-enter>span{font-size:19px}.sorting-field{padding:17px 9px 17px;border-radius:22px}.question-card{width:201px;padding:3px 12px 9px;border-radius:20px}.question-card>.food-sprite{width:147px;height:147px}.question-card h2{font-size:32px}.field-doodle{width:45px;height:45px}.flower-left{left:4%;top:73px}.sun-right{right:3%;top:32px}.feedback{font-size:16px;min-height:61px;padding:15px 0 10px}.feedback.try{font-size:15px}.baskets{gap:5px}.basket{padding:0 1px 2px;border-radius:12px}.basket-illustration{height:83px;max-width:100px}.basket-illustration>.art{width:47px;height:47px;left:calc(50% - 23px);top:0}.basket-illustration>svg:not(.art){height:54px}.basket-name{min-width:0;width:100%;font-size:26px;padding:0 3px;border-radius:10px;margin-top:1px}.basket-reward{width:58px;height:58px;left:calc(50% - 29px);top:5px}.journey-bar{padding:15px 13px;gap:10px;margin-top:15px;border-radius:17px}.progress-copy>b{font-size:15px;letter-spacing:-.5px}.progress-line{gap:7px;margin-top:8px}.progress-line>span{font-size:12px}.progress-track{height:9px}.journey-bar>.primary{min-width:129px;font-size:18px;min-height:54px;padding:10px 13px;gap:8px}.text-button{font-size:15px}.back-row{padding-top:8px}.shop-tabs{gap:7px;margin-bottom:13px}.shop-tab{flex-direction:column;font-size:13px;gap:0;padding:6px 2px;min-height:76px;border-radius:12px}.shop-tab>.food-sprite{width:44px}.store{border-radius:18px}.awning{height:29px;background-size:auto}.store-title{padding:15px 13px 12px}.store-title h2{font-size:19px}.store-title>span{font-size:14px}.ingredient-grid{padding:0 11px;gap:8px}.ingredient-card{padding:6px 3px 9px;border-radius:12px}.ingredient-card>b{font-size:17px}.ingredient-card>.food-sprite{max-width:115px}.ingredient-grid:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-grid:has(>:nth-child(4)) .ingredient-card{display:flex;align-items:center;justify-content:center;gap:3px;padding:7px 4px}.ingredient-grid:has(>:nth-child(4)) .food-sprite{width:56%;max-width:80px}.chosen-check{width:19px;height:19px;font-size:13px;top:3px;right:3px}.recipe-area{padding:17px 11px 17px}.recipe-area h3{font-size:18px;margin-bottom:12px}.recipes{gap:9px}.recipe-card{display:flex;flex-direction:column;gap:4px;padding:8px 6px 11px;border-radius:14px;text-align:center}.recipe-card>.dish-picture{width:100%;max-width:139px}.recipe-card>b{font-size:17px;line-height:1.5;min-height:26px}.price{font-size:17px;gap:12px;width:100%;justify-content:center;padding-top:4px}.price>span{font-size:15px}.recipe-card.bought .price{font-size:15px}.choose-hint{min-height:100px;font-size:16px}.shortage{padding:11px 8px;font-size:14px;gap:5px}.shortage button{font-size:14px}.cart{padding:18px 16px;border-radius:18px}.cart-title{padding-bottom:12px}.cart-title h2{font-size:22px}.cart-title>span{width:30px;height:30px;font-size:18px;line-height:30px}.cart-item>b{font-size:18px}.cart .primary,.cart .secondary{font-size:18px;min-height:53px}.cart-hint{font-size:16px}.tablecloth{padding:29px 13px 18px;border-radius:20px;background-size:28px 28px}.tray{border-radius:24px;border-width:2px;aspect-ratio:1.36;box-shadow:inset 0 3px 0 #ffffffa1,inset 0 -4px 0 #98a88a40,0 7px 0 #58674420}.tray-wells{inset:10px;gap:8px;grid-template-rows:1fr 1.4fr}.tray-wells>span{border-radius:15px;border-width:1.5px}.placed-food{width:27%}.food-name{font-size:12px;padding:2px 4px;border-radius:6px;letter-spacing:-.4px;max-width:138%}.tray-placeholder>b{font-size:18px;padding:10px 12px}.tray-caption{font-size:15px;padding-top:21px;letter-spacing:-.3px}.pantry{padding:19px 13px;border-radius:19px}.pantry h2{font-size:22px;margin-bottom:14px}.pantry-grid{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:385px}.pantry-food{padding:7px 6px 11px;border-radius:13px}.pantry-food>.dish-picture{width:100%;max-width:137px}.pantry-food>b{font-size:17px}.pantry .primary,.pantry .secondary{font-size:19px;min-height:54px}.name-panel{padding:20px 17px}.name-panel label{font-size:21px}.name-panel input{font-size:19px;padding:13px 11px}.name-panel h3{font-size:17px;margin-top:21px}.name-suggestions{flex-direction:column;gap:8px}.suggestion{font-size:17px;padding:12px}.name-panel .primary,.name-panel .secondary{font-size:19px}.done-intro{padding:25px 0 21px}.done-intro h1{font-size:32px}.meal-card{padding:24px 13px 18px;border-radius:20px}.meal-card-head{margin-bottom:21px}.meal-card-head>span{font-size:18px}.meal-card-head>span>.art{width:32px;height:32px}.meal-card-head h2{font-size:33px}.meal-food-list{font-size:15px;gap:5px 8px;margin-top:23px}.done-actions{flex-direction:column-reverse;gap:12px;margin-top:22px}.done-actions .primary,.done-actions .secondary{font-size:19px;min-height:56px}.help-dialog{padding:28px 23px}.help-dialog h2{font-size:29px}.help-dialog li b{font-size:19px}.help-dialog li p{font-size:16px}.help-note{font-size:14px}#toast{font-size:16px;padding:12px 16px}}
@media(max-width:365px){.brand{font-size:21px}.brand-mark{width:23px}.topbar{padding:12px 10px}.tools{gap:4px}.points{min-width:70px;padding:6px}.points b{font-size:20px}.icon-button{width:29px;height:29px;font-size:18px}.steps{padding:0 9px;gap:6px}.step{font-size:12px}.heading h1{font-size:28px}main{padding-left:10px;padding-right:10px}.journey-bar{padding:13px 9px}.progress-copy>b{font-size:13px}.journey-bar>.primary{min-width:118px;font-size:17px;padding:9px}.season-grid{gap:13px}.season-foods{min-height:90px}.season-enter{font-size:17px}.shop-tab{font-size:12px}.ingredient-card>b{font-size:16px}.recipe-card>b{font-size:15px}.price{gap:9px}.price>span{font-size:14px}.food-name{font-size:10px}.tray-caption{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.topbar,.steps,.done-intro,.done-actions,#toast{display:none!important}main{padding:20px;max-width:none}.meal-card{box-shadow:none;break-inside:avoid;max-width:760px;margin:30px auto;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* 각 그림의 실제 외곽 안에서만 표시하여 이웃 그림 조각이 보이지 않게 합니다. */
.food-sprite{display:flex;align-items:center;justify-content:center;background:none;position:relative;overflow:hidden}
.sprite-crop{display:block;flex-shrink:0;background-repeat:no-repeat;pointer-events:none}

.brand:hover{color:var(--green)}.step:hover{background:#eee9d8}.step.current:hover{background:#f3eac9}
/* Seasonal conveyor: only the chosen season has a basket. */
.conveyor-game{border:2px solid #dedfc9;border-radius:26px;background:#fffdf4;padding:20px 24px 22px;overflow:hidden}.belt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7c866e;font-size:17px;margin-bottom:12px}.belt-toolbar b{margin-left:12px}.belt-toolbar button{font-size:16px;padding:8px 12px;border-radius:10px;background:#eef1df;white-space:nowrap}.conveyor-window{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(#f2f0df,#e8ecd9);border:2px solid #b9c3a6;padding-top:12px}.conveyor-lane{height:175px;position:relative;z-index:2}.belt-food{position:absolute;top:6px;width:132px;padding:8px 8px 10px;background:#fffdf5;border:2px solid #dddac4;border-radius:20px;box-shadow:0 4px 0 #7b886330;touch-action:none;user-select:none;transition:box-shadow .15s}.belt-food:hover{box-shadow:0 0 0 3px #a2b889}.belt-food>.food-sprite{width:100%;height:112px}.belt-food>b{display:block;font-size:20px;line-height:1.25}.belt-food:not(:disabled):active{transform:none}.belt-food.passing{opacity:.62}.pass-label{position:absolute;top:4px;left:4px;right:4px;border-radius:9px;background:#f9e3b2;color:#79542c;font-size:14px;padding:3px}.belt-track{height:20px;background:repeating-linear-gradient(90deg,#8d9c7c 0 27px,#bcc6a5 27px 31px);background-size:31px 100%;animation:belt-roll .738s linear infinite;border-block:3px solid #718362}.belt-rollers{height:24px;background:radial-gradient(circle,#8d9c7c 0 5px,#d8dcc8 6px 9px,#a6b18f 10px 12px,transparent 13px) 8px center/42px 24px #b9c3a6}.belt-paused .belt-track{animation-play-state:paused}.belt-feedback{min-height:58px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;padding:12px 8px;margin-top:12px;border-radius:14px;color:#79846a;font-size:20px}.belt-feedback.good{background:#edf3d9;color:#527333;font-weight:800}.belt-feedback.hint{background:#fff0d1;color:#87622d;font-weight:700}.my-basket-row{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:8px}.my-basket{position:relative;min-width:180px;padding:10px 22px;border:3px dashed #ccd6b8;border-radius:24px;background:var(--season-light);text-align:center}.my-basket .basket-illustration{width:150px;height:112px;margin:0 auto}.my-basket>b{font-family:var(--round);font-size:32px;color:var(--season-color)}.my-basket.drop-hover{border-color:#648b45;background:#e1edcb;box-shadow:0 0 0 5px #adc98b60}.basket-instruction>b{font-size:23px;color:#597047}.basket-instruction p{margin-top:8px;line-height:1.8;font-size:17px;color:#7d876e}.basket-reward-slot{position:absolute;width:72px;left:calc(50% - 36px);top:20px;pointer-events:none}.basket-reward-slot .food-sprite{animation:into-basket .4s ease-out}.belt-food.drag-ghost{top:auto;padding:8px}.belt-food:focus-visible{outline-offset:-4px}@keyframes belt-roll{to{background-position:31px 0}}@media(max-width:520px){.conveyor-game{padding:12px 10px 16px;border-radius:20px}.belt-toolbar{font-size:12px;gap:4px;margin-bottom:8px}.belt-toolbar b{margin-left:0}.belt-toolbar button{font-size:12px;padding:7px}.conveyor-lane{height:158px}.belt-food{width:120px;padding:5px 7px 9px}.belt-food>.food-sprite{height:101px}.belt-food>b{font-size:18px}.belt-feedback{font-size:16px;min-height:62px;margin-top:6px}.my-basket-row{gap:10px;flex-direction:column}.my-basket{min-width:174px;padding:4px 16px}.my-basket .basket-illustration{width:135px;height:99px}.my-basket>b{font-size:29px}.basket-instruction{text-align:center}.basket-instruction>b{font-size:19px}.basket-instruction p{font-size:13px;margin-top:4px;line-height:1.7}}

/* Rounded lettering, trimmed copy and a deeper mechanical conveyor. */
body{font-synthesis:none}h1,h2,h3,b,strong,button{font-weight:400}.brand{font-size:30px}.heading{padding:25px 0}.heading h1{font-size:37px}.step{font-weight:400}.conveyor-game{background:linear-gradient(135deg,#fffdf6,#f5f1e5);padding:14px 24px 18px;box-shadow:0 5px 0 #dcd7c94d}.belt-toolbar{margin-bottom:8px}.belt-direction{letter-spacing:10px;color:#9a9e8f}.belt-toolbar button{border:1px solid #d6dac7;background:#f9faef;text-decoration:none}.conveyor-window{border:0;border-radius:36px;background:linear-gradient(#e2e6df 0%,#8f9a95 6%,#f3f4ef 9%,#88968e 12%,#434b47 13%,#4d5850 82%,#adb7ad 84%,#f0f2e9 89%,#687970 94%,#b4bdb3 100%);padding:20px 13px 0;box-shadow:inset 0 2px 1px #fff,0 8px 0 #69796c,0 13px 15px #3a48352b;isolation:isolate}.conveyor-window:before{content:'';position:absolute;inset:28px 10px 39px;background:repeating-linear-gradient(90deg,#647367 0px,#718071 3px,#677567 7px,#5a695c 45px,#38473b 48px,#a1ad99 51px,#657363 54px);background-size:54px 100%;animation:mechanical-belt .643s linear infinite;transform:perspective(800px) rotateX(9deg);box-shadow:inset 0 15px 20px #1f2c2a42,inset 0 -10px 12px #1e28234d;border-radius:22px}.conveyor-window:after{content:'';position:absolute;inset:13px 0 26px;pointer-events:none;z-index:4;border-inline:9px solid #b1bbb0;border-radius:35px;box-shadow:inset 9px 0 12px #202b2945,inset -9px 0 12px #202b2945}.conveyor-lane{height:169px}.belt-food{background:transparent;border:0;box-shadow:none;border-radius:18px;padding:0 8px 6px;top:0}.belt-food>.food-sprite{filter:drop-shadow(3px 7px 3px #18281a77);height:124px}.belt-food>b{display:inline-block;background:#fffdf0;border:1px solid #d2cdb9;border-radius:10px;padding:4px 13px;font-size:19px;box-shadow:0 2px 2px #23302340}.belt-food:hover{box-shadow:none;background:#ffffff1f}.belt-track{height:12px;border:0;background:linear-gradient(#dfe6d9,#7e8c80 45%,#e3e8df 55%,#b1bbaa);animation:none;position:relative;z-index:3;margin-inline:-6px;border-radius:12px}.belt-rollers{height:32px;background:radial-gradient(circle at 50% 48%,#c4cdc1 0 3px,#55695b 4px 6px,#a1b49d 7px 10px,#4c6052 11px 13px,transparent 14px) 0 0/48px 32px #91a48d;border-radius:0 0 22px 22px;box-shadow:inset 0 3px 4px #31463850}.belt-paused .conveyor-window:before{animation-play-state:paused}.belt-feedback{min-height:44px;font-size:21px;margin-top:16px;padding:6px}.belt-feedback.hint{background:#fff0c9;box-shadow:0 3px 8px #baa26526}.my-basket-row{margin-top:0}.my-basket{border:0;background:transparent;min-width:180px;padding:0 16px}.my-basket .basket-illustration{filter:drop-shadow(2px 5px 2px #7b573e25)}.my-basket>b{font-size:27px;display:block}.my-basket.drop-hover{background:var(--season-light);box-shadow:0 0 0 3px var(--season-color)}.journey-bar{margin-top:18px}.choose-hint,.empty-cart b{display:none}.ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipes{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.recipes:has(>:nth-child(3)) .recipe-card{grid-template-columns:1fr;text-align:center}.recipes:has(>:nth-child(3)) .dish-picture{grid-row:auto;margin:auto}.recipes:has(>:nth-child(3)) .price{justify-content:center;gap:8px}.food-name{font-weight:400}.help-dialog .help-note{font-size:15px}@keyframes mechanical-belt{to{background-position:54px 0}}@media(max-width:800px){.brand{font-size:25px}.recipes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.brand{font-size:20px;letter-spacing:-.7px}.heading{padding:22px 0 18px}.heading h1{font-size:28px}.conveyor-game{padding:10px 9px 15px}.conveyor-window{border-radius:25px;padding:17px 9px 0}.conveyor-window:after{border-inline-width:6px;border-radius:25px}.conveyor-window:before{inset:25px 6px 38px}.conveyor-lane{height:153px}.belt-food{width:120px;padding:0 4px}.belt-food>.food-sprite{height:111px}.belt-food>b{font-size:17px;padding:3px 10px}.belt-feedback{font-size:17px;min-height:42px;margin-top:13px}.my-basket-row{gap:0}.my-basket .basket-illustration{width:135px;height:91px}.my-basket>b{font-size:25px}.belt-toolbar button{font-size:14px}.ingredient-grid,.ingredient-grid:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-grid:has(>:nth-child(4)) .ingredient-card{display:block;padding:6px}.ingredient-grid:has(>:nth-child(4)) .food-sprite{width:100%;max-width:110px;margin:auto}.ingredient-card>b{font-size:17px}.recipes{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card>b{font-size:17px}.step{font-size:12px}.step>span{letter-spacing:-.6px}}@media(max-width:365px){.brand{font-size:18px}.heading h1{font-size:26px}.step{font-size:11px}}
/* Staple meals, checkout and celebration. */
.shop-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.shop-tab{font-size:16px;gap:3px}.shop-tab>.food-sprite{width:37px}.staple-menu{padding:0 18px 24px}.staple-menu>h2{font-size:25px;margin:20px 0 12px}.staple-menu .recipes{grid-template-columns:repeat(2,minmax(0,1fr))}.staple-menu .recipe-card{grid-template-columns:1fr;text-align:center}.staple-menu .dish-picture{grid-row:auto;margin:auto;max-width:140px}.staple-menu .price{justify-content:center;gap:8px}.cart-item small{display:block;font-size:15px;color:#a37b31;margin-top:4px}.cart-hint{font-size:14px}.checkout-note{font-size:15px;color:#879573;margin:-6px 0 15px}.pantry-price{display:block;color:#ad8334;margin-top:5px;font-size:18px}.pantry .text-button.wide{margin-top:15px}.done-actions{flex-wrap:wrap}.done-actions button{font-size:20px}.share-dialog input{width:100%;margin:22px 0;padding:14px;border:1px solid #c8d2b8;border-radius:10px}.share-dialog .secondary{margin-top:12px}.celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1001}.celebration i{position:absolute;left:var(--left);top:-25px;width:11px;height:19px;border-radius:3px;background:var(--color);animation:confetti-fall 2.8s var(--delay) ease-in forwards}.just-finished{animation:meal-arrival .6s ease-out}@keyframes confetti-fall{to{transform:translate(var(--drift),110vh) rotate(var(--spin));opacity:.2}}@keyframes meal-arrival{from{transform:scale(.94);opacity:.3}to{transform:scale(1);opacity:1}}.conveyor-window:before{animation-duration:.45s}@media(max-width:800px){.shop-tab{flex-direction:column;font-size:14px;gap:1px}.shop-tab>.food-sprite{width:35px}}@media(max-width:520px){.shop-tabs{gap:5px}.shop-tab{font-size:11px;padding:6px 1px}.shop-tab>.food-sprite{width:32px}.staple-menu{padding:0 10px 15px}.staple-menu .recipes{gap:8px}.done-actions button{font-size:18px}.cart-hint{font-size:13px}.checkout-note{font-size:13px}.pantry-price{font-size:17px}}@media(prefers-reduced-motion:reduce){.just-finished{animation:none;box-shadow:0 0 0 5px #e5ce86}.celebration{display:none}}
@media(max-width:520px){.done-actions{flex-direction:column}}

.pantry-food:disabled{background:#edf0e5;border-color:#c8d2bc;box-shadow:none;transform:none;cursor:default}.pantry-food:disabled>.dish-picture{opacity:.65}.on-tray-status{display:block;color:#536b42;font-size:14px;margin-top:4px}

.belt-toolbar{justify-content:flex-end}
.mini-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.mini-navigation .secondary{min-height:44px;font-size:17px;padding:8px 16px}.mini-navigation>span{color:#647853;font-size:17px}.mini-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:8px 0 30px}.mini-choice{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fffdf4;border:2px solid #d9dec9;border-radius:25px;padding:30px 18px;box-shadow:0 6px 0 #e0deca;gap:12px}.mini-choice:hover{background:#eff4e3;transform:translateY(-3px)}.mini-choice h2{font-size:26px}.mini-choice p{font-size:17px}.mini-choice strong{color:#486738;margin-top:8px}.mini-choice small{color:#747b65;font-size:15px}.mini-icon{display:grid;place-items:center;background:#ecf1dc;border-radius:25px;color:#6c894e;width:80px;height:80px;font-size:50px}.difficulty{position:absolute;top:15px;right:15px;font-size:14px;background:#f1ead1;border-radius:15px;padding:3px 10px}.memory-game,.riddle-game{max-width:850px;margin:auto;background:#fffdf5;border:2px solid #dde1ce;border-radius:25px;padding:24px;text-align:center}.mini-stats{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;font-size:19px}.mini-stats [role=timer]{border-radius:18px;background:#fff0c3;padding:7px 18px;font-weight:bold}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.memory-card{aspect-ratio:1.15;border:2px solid #b8c9a6;border-radius:17px;background:repeating-linear-gradient(45deg,#e2ebd5 0 12px,#eaf1df 12px 24px);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:3px}.memory-card>span:not(.food-sprite){font-size:48px;color:#7e9b62}.memory-card .food-sprite{width:74%;min-height:0;flex:1;aspect-ratio:1}.memory-card b{font-size:18px;line-height:1.4}.memory-card.face-up{background:#fffaf0}.memory-card.matched{background:#e6f0d9;border-color:#819f60}.mini-feedback{min-height:58px;display:flex;align-items:center;justify-content:center;margin:12px 0;color:#4f6d3d;font-size:19px;font-weight:bold}.riddle-clue{background:#f1f4e5;border-radius:20px;padding:25px;font-size:23px;line-height:1.9;margin-bottom:22px}.riddle-clue>span{display:inline-grid;place-items:center;border-radius:50%;background:#fff5cc;color:#9b8235;width:60px;height:60px;font-size:42px;margin-bottom:12px}.riddle-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.riddle-option{background:#fffaf0;border:2px solid #d7dfc6;border-radius:18px;padding:10px;font-size:20px}.riddle-option:disabled{opacity:.55}.riddle-option.correct{border-color:#6e9452;background:#e8f2dc;opacity:1}.riddle-option .food-sprite{width:100%}.fall-zone{position:relative;height:270px;overflow:hidden;touch-action:none;border-bottom:3px solid #d5dec5;background:linear-gradient(transparent,#edf2e16b);margin-top:14px}.moving-basket{position:absolute;bottom:0;width:120px;transform:translateX(-50%);text-align:center;z-index:4;touch-action:none;cursor:ew-resize}.moving-basket .basket-illustration{width:110px;height:95px;margin:auto}.moving-basket b{display:block;font-size:17px;color:#526b40;white-space:nowrap}.moving-basket:focus-visible{outline-offset:-3px}.falling-food{width:94px;transform:translateX(-50%);pointer-events:none;top:-120px}.falling-food>.food-sprite{height:78px}.falling-food>b{font-size:15px;padding:2px 6px}.falling-food .pass-label{background:#ffe6df;color:#ae4731;font-size:24px}.belt-food{pointer-events:auto}.moving-basket .basket-reward-slot{position:absolute;left:30px;top:-25px;width:60px;pointer-events:none}.mini-navigation~.heading h1{font-size:36px}
@media(max-width:600px){.mini-choices{grid-template-columns:1fr;gap:14px}.mini-choice{padding:19px 14px;gap:6px}.mini-choice .mini-icon{width:48px;height:48px;font-size:32px}.mini-choice h2{font-size:23px}.mini-choice p,.mini-choice small{font-size:15px}.mini-choice strong{margin-top:3px}.memory-game,.riddle-game{padding:12px;border-radius:20px}.mini-stats{font-size:14px;gap:6px}.mini-stats [role=timer]{padding:5px 9px}.memory-grid{gap:7px}.memory-card{aspect-ratio:.83;border-radius:11px}.memory-card b{font-size:13px}.memory-card .food-sprite{width:100%;flex:none}.memory-card>span:not(.food-sprite){font-size:32px}.mini-feedback{font-size:16px;min-height:52px}.riddle-clue{font-size:18px;line-height:1.8;padding:18px 12px}.riddle-options{gap:7px}.riddle-option{font-size:14px;padding:5px 3px;border-radius:12px}.mini-navigation~.heading h1{font-size:27px}.mini-navigation~.heading>p{font-size:14px}.mini-navigation>span{font-size:13px}.fall-zone{height:230px}.steps .step>span{white-space:normal;word-break:keep-all}.mini-navigation .secondary{font-size:15px}}

.riddle-clue p{word-break:keep-all;overflow-wrap:break-word}

.my-basket-row{margin-top:24px}.my-basket .basket-reward-slot{position:absolute;left:calc(50% - 30px);top:-10px;width:60px;pointer-events:none}.mini-choice h2{font-size:30px}.step>span{font-size:19px}@media(max-width:600px){.step>span{font-size:15px}.mini-choice h2{font-size:28px}.memory-card b{font-size:15px}.riddle-option{font-size:17px}}

.catch-fly{position:fixed;pointer-events:none;z-index:100;filter:drop-shadow(0 6px 5px #40533633)}.catch-fly>.food-sprite{width:100%;height:100%}.catch-pop{position:absolute;left:50%;top:0;z-index:6;pointer-events:none;background:#fff2af;color:#557337;font-size:28px;font-weight:bold;border-radius:18px;padding:3px 13px;white-space:nowrap;transform:translateX(-50%);box-shadow:0 3px 8px #55552222}.catch-spark{position:absolute;left:50%;top:20px;width:9px;height:9px;border-radius:50%;background:#edbc56;z-index:5;pointer-events:none}.catch-spark:nth-of-type(even){background:#93b269}
/* Soft paper cards, with game names and quiet point badges. */
.mini-choices{gap:20px;max-width:1050px;margin:12px auto 30px}.mini-choice{--card-tint:#f7f1e9;--card-edge:#e4d9cb;min-height:180px;justify-content:center;gap:20px;padding:30px 22px;border:2px solid var(--card-edge);border-radius:30px;background:var(--card-tint);box-shadow:0 4px 0 #d8d3c32b;isolation:isolate}.mini-choice:before{display:none}.mini-memory{--card-tint:#fbf3ec;--card-edge:#e8d7c7}.mini-riddle{--card-tint:#f5f1f7;--card-edge:#dfd5e4}.mini-belt{--card-tint:#f0f5ef;--card-edge:#d4dfcf}.mini-choice h2{font-size:32px;color:#46533b}.mini-choice strong{margin:0;padding:3px 18px;background:#fffdf6;color:#687252;border:1px solid var(--card-edge);border-radius:24px;font-size:26px;box-shadow:none}.mini-choice:hover{background:var(--card-tint);transform:translateY(-2px);box-shadow:0 6px 12px #71745b12}.mini-choice:not(:disabled):active{transform:translateY(1px);box-shadow:none}
.claim-bar{position:sticky;bottom:12px;z-index:21;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:850px;margin:22px auto 10px;padding:17px 22px;background:#fff8dc;border:2px solid #d8bc64;border-radius:22px;box-shadow:0 6px 20px #5d512528}.claim-bar>div{display:flex;flex-direction:column;gap:0}.claim-bar span{font-size:18px;color:#71613b}.claim-bar b{font-size:34px;color:#6d592c;line-height:1.25}.claim-bar .primary{min-width:130px}.claim-flight{position:fixed;z-index:120;pointer-events:none;background:#f6d268;border:3px solid #ffe7a0;box-shadow:0 5px 15px #88702a44;color:#66501c;font-size:30px;font-weight:bold;border-radius:25px;padding:6px 15px}.shop-tab{font-size:28px;min-height:90px;line-height:1.3}.shop-tab>span{font-size:28px;word-break:keep-all}.store-title h2{font-size:29px}.tray-drag-hint{font-size:17px;color:#748261;margin:-5px 0 14px}.cart .secondary{margin-top:10px}
@media(max-width:600px){.mini-choices{gap:20px;margin-top:8px}.mini-choice{min-height:130px;flex-direction:row;justify-content:space-between;gap:12px;padding:28px 22px;border-radius:24px}.mini-choice h2{font-size:28px;text-align:left;line-height:1.3}.mini-choice strong{font-size:26px;min-width:70px;padding:4px 13px;flex-shrink:0}.mini-choice:before{border-radius:16px}.claim-bar{bottom:8px;padding:12px 14px;gap:10px}.claim-bar span{font-size:16px}.claim-bar b{font-size:29px}.claim-bar .primary{min-width:90px;min-height:50px;font-size:23px;padding:8px 16px}.shop-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-tab{flex-direction:row;gap:5px;padding:10px 6px;min-height:78px}.shop-tab>span{font-size:26px}.shop-tab>.food-sprite{width:49px}.store-title h2{font-size:26px}.tray-drag-hint{font-size:16px}}

/* Keep the rest of the game softly rounded and consistent. */
.primary,.secondary{border-radius:23px}.primary{box-shadow:0 3px 0 #405b3020}.secondary{background:#fffdf7;border-color:#dedfce}.points{background:#fff6db;border-color:#e8d99e;border-radius:21px;box-shadow:none}.step.current{background:#f4eedc;border-bottom-color:#cfbd8d;border-radius:19px 19px 10px 10px}.cart,.pantry,.name-panel,.memory-game,.riddle-game{border-radius:27px;box-shadow:0 4px 12px #69705108}.recipe-card,.ingredient-card,.riddle-option{border-radius:20px}.claim-bar{background:#faf6e8;border-color:#ded4ad;box-shadow:0 4px 12px #69634112;border-radius:25px}.claim-flight{border-radius:50%;width:50px;height:50px;display:grid;place-items:center;padding:0;font-size:25px;background:#f4df9d;border-color:#fff0c1}.mini-navigation .secondary{border-radius:18px}.heading h1{color:#4b573e}.shop-tab{border-radius:20px}.shop-tab.active{background:#f3f4e7;border-color:#a4b191}
@media(max-width:600px){.mini-choice{min-height:118px;padding:25px 22px;border-radius:26px}.mini-choice h2{font-size:28px}.mini-choice strong{font-size:25px;min-width:60px;padding:3px 13px}.claim-bar{border-radius:23px}}
/* A full-window activity surface with roomy desktop controls. */
html,body{height:100%;margin:0}body{height:100dvh;overflow:hidden}#app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:none;position:relative;width:100%;max-width:none;padding:10px 28px;min-height:66px}.brand-mark{width:45px;height:45px}.brand-mark>svg{width:100%;height:100%}.steps{flex:none;width:100%;max-width:1400px;margin:6px auto 0;gap:18px;padding:0 28px}.step{padding:9px 14px}.step>span{font-size:24px}.step i{width:34px;height:34px;font-size:21px}main{flex:1;min-height:0;width:100%;max-width:1800px;padding:0 28px 16px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.heading{flex:none;padding:8px 0}.heading h1{font-size:clamp(30px,2.8vw,48px)}.heading>p{font-size:clamp(18px,1.65vw,27px);margin-top:3px}.mini-navigation{flex:none;margin:0;min-height:35px}.mini-navigation>span{font-size:21px}.mini-navigation .secondary{font-size:20px;min-height:38px}.mini-choices{flex:1;min-height:0;max-height:570px;width:100%;max-width:1600px;margin:6px auto}.mini-choice{min-height:0;padding:28px;gap:26px}.mini-choice h2{font-size:clamp(30px,2.9vw,48px);line-height:1.25}.mini-choice strong{font-size:32px;padding:8px 25px}.claim-bar{flex:none;position:relative;bottom:auto;max-width:1100px;width:100%;margin:0 auto;padding:8px 22px;min-height:70px}.claim-bar span{font-size:20px}.claim-bar b{font-size:32px}.claim-bar .primary{min-height:49px;font-size:25px}.claim-bar .primary,.mini-navigation .secondary{padding-block:6px}.season-grid{flex:1;min-height:0;width:100%;gap:28px;margin:6px auto 12px}.season-card{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 12px}.season-card h2{font-size:clamp(46px,4.5vw,72px)}.season-scene{height:100%}.season-scene>.art{margin:110px auto 0;width:clamp(70px,8vw,120px);height:clamp(70px,8vw,120px)}.season-foods{margin:auto 0 0;min-height:0;width:100%;max-height:55%;padding-top:0}.season-foods>.food-sprite{max-height:100%}.memory-game{flex:1;min-height:0;max-width:1040px;width:100%;padding:8px 16px 12px;display:flex;flex-direction:column;gap:6px}.mini-stats{flex:none;justify-content:center;margin:0;font-size:21px}.mini-stats [role=timer]{padding:1px 20px}.memory-grid{flex:1;min-height:0;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:9px}.memory-card{aspect-ratio:auto;min-height:0;height:100%;position:relative;border:2px solid #c4ccae;background:#f1eee0;box-shadow:0 2px 0 #aab49524;border-radius:13px;overflow:hidden;padding:2px}.memory-card .food-sprite{height:calc(100% - 22px);width:auto;aspect-ratio:1;flex:none;max-width:90%}.memory-card b{font-size:19px;line-height:20px}.memory-card.matched{visibility:hidden}.memory-card .card-back-pattern{position:absolute;inset:5px;border:1px solid #fffdf5;border-radius:8px;background:repeating-linear-gradient(0deg,#e2e8d480 0 8px,#fffdf030 8px 16px),repeating-linear-gradient(90deg,#e2e8d480 0 8px,#fffdf030 8px 16px);display:grid;place-content:center;grid-template-columns:repeat(2,15px);grid-template-rows:repeat(2,15px);gap:3px;transform:none}.card-back-pattern i{display:block;border-radius:5px;background:#cfb2ac;transform:rotate(-6deg);box-shadow:0 1px 0 #fff}.card-back-pattern i:nth-child(2){background:#ddcc92;transform:rotate(6deg)}.card-back-pattern i:nth-child(3){background:#bbcca8;transform:rotate(6deg)}.card-back-pattern i:nth-child(4){background:#b3ccd2;transform:rotate(-6deg)}.memory-rest{display:grid;place-items:center;border:1px dashed #d6d9c6;border-radius:15px;color:#90987b;font-size:21px;text-align:center;line-height:1.15;background:#faf8ef}.memory-game>.mini-feedback{flex:none;min-height:0;margin:0;font-size:20px}.riddle-game{position:relative;flex:1;min-height:0;max-width:1520px;width:100%;display:grid;grid-template-columns:1fr 1.3fr;gap:22px;padding:24px}.riddle-clue{margin:0;padding:24px;display:flex;flex-direction:column;justify-content:center;font-size:clamp(23px,2.15vw,35px);line-height:1.65}.riddle-clue p{margin:4px 0}.riddle-options{min-height:0;align-items:center;gap:16px}.riddle-option{font-size:clamp(24px,2.25vw,36px);height:75%;min-height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px}.riddle-option>.food-sprite{width:100%;max-height:75%;aspect-ratio:1}.riddle-option.correct{box-shadow:0 0 0 5px #acc78c}.riddle-option.incorrect{border-color:#cb9c84}.riddle-reveal{position:absolute;inset:10px;border-radius:22px;background:#fffdf7f7;display:flex;align-items:center;justify-content:center;gap:24px;z-index:5;font-size:32px;color:#5a7050}.riddle-reveal>.food-sprite{width:min(32%,260px);aspect-ratio:1}.riddle-reveal strong{font-size:clamp(48px,6vw,90px)}.conveyor-game{flex:1;min-height:0;width:100%;max-width:1600px;margin:0 auto;padding:18px 24px 8px;display:flex;flex-direction:column;gap:8px}.conveyor-window{flex:none}.conveyor-lane{height:clamp(118px,19vh,220px)}.belt-food{width:clamp(130px,11vw,190px)}.belt-food>.food-sprite{height:clamp(98px,15vh,178px)}.belt-food>b{font-size:23px}.my-basket-row{flex:1;min-height:112px;margin:0;display:flex;justify-content:center;align-items:center;overflow:visible}.my-basket{padding:0 15px;overflow:visible}.my-basket .basket-illustration{width:170px;height:120px;overflow:visible}.basket-illustration>svg:not(.art){overflow:visible}.my-basket>b{font-size:25px;line-height:1.1}.belt-feedback{flex:none;min-height:30px;font-size:22px;margin:0;padding:0}.back-row{display:none}.market-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:22px}.market-main{min-height:0;display:flex;flex-direction:column}.shop-tabs{flex:none;margin:0 0 10px}.shop-tab{min-height:76px;padding:8px}.shop-tab>span{font-size:30px}.store{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.store-title{padding:12px 20px}.store-title h2{font-size:28px}.awning{height:26px}.ingredient-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:0 16px}.ingredient-card{display:flex;flex-direction:column;align-items:center;padding:5px 8px}.ingredient-card>.food-sprite{width:clamp(85px,8vw,130px)}.ingredient-card>b{font-size:24px}.recipe-area{padding:16px}.recipe-card{padding:12px;min-width:0}.recipe-card>.dish-picture{width:min(42%,130px)}.recipe-card>b{font-size:25px}.price{font-size:22px}.cart{min-height:0;display:flex;flex-direction:column;padding:18px}.cart-title{flex:none}.cart-list{min-height:0;flex:1;overflow:auto;scrollbar-width:thin}.cart-item{gap:5px}.cart-item>b{font-size:22px}.cart-hint{flex:none;font-size:32px;font-weight:bold;line-height:1.25;color:#77602f;margin:12px 0}.cart .primary,.cart .secondary{flex:none;min-height:49px;padding:7px 12px;font-size:23px}.plating-layout,.naming-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.tablecloth{min-height:0;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center}.tray{width:min(100%,calc((100dvh - 295px)*1.5));max-height:calc(100dvh - 295px);aspect-ratio:1.5;flex:none}.tray-caption{padding-top:12px}.pantry,.name-panel{min-height:0;padding:18px;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin}.pantry h2{margin-bottom:9px;font-size:29px}.pantry-grid{flex:1;min-height:90px;max-height:none;overflow:auto}.pantry-food>.dish-picture{max-width:120px}.pantry .primary,.pantry .secondary{flex:none;min-height:45px;padding:6px 12px;font-size:23px;margin-top:8px}.pantry .text-button{font-size:20px;padding:4px}.tray-drag-hint{font-size:18px;margin-bottom:9px}.name-panel h3{margin-top:14px}.name-suggestions{gap:8px}.name-panel .primary,.name-panel .secondary{min-height:46px;margin-top:12px}.done-intro{flex:none;padding:5px;text-align:center}.done-intro h1{font-size:36px}.meal-card{flex:1;min-height:0;width:100%;max-width:1150px;padding:14px 24px;display:flex;align-items:center;flex-direction:column;justify-content:center}.meal-card-head{flex:none;margin-bottom:10px}.meal-card-head h2{font-size:36px}.meal-card .tray{width:min(100%,calc((100dvh - 365px)*1.5));max-height:calc(100dvh - 365px)}.done-actions{flex:none;margin:0;gap:12px;justify-content:center}.done-actions .primary,.done-actions .secondary{min-height:46px;padding:6px 20px;font-size:23px}
@media(max-width:899px){.topbar{padding:8px 12px;min-height:54px}.brand{font-size:24px}.brand-mark{width:29px;height:33px}.steps{padding:0 12px;margin-top:3px;gap:8px}.step{padding:5px 1px;gap:4px}.step>span{font-size:15px}.step i{font-size:15px;width:24px;height:24px}.step:not(:last-child):after{right:-8px}main{padding:0 12px 8px;gap:7px}.heading{padding:4px 0}.heading h1,.mini-navigation~.heading h1{font-size:27px;line-height:1.15}.heading>p,.mini-navigation~.heading>p{font-size:16px;line-height:1.2}.mini-navigation{min-height:32px}.mini-navigation .secondary{font-size:16px;min-height:30px;padding:4px 12px}.mini-navigation>span{font-size:15px}.mini-choices{gap:14px;margin:6px 0;max-height:500px}.mini-choice{padding:17px 19px;min-height:0}.mini-choice h2{font-size:27px}.mini-choice strong{font-size:25px;padding:5px 15px}.claim-bar{padding:7px 13px;min-height:57px;border-radius:20px}.claim-bar span{font-size:15px}.claim-bar b{font-size:26px}.claim-bar .primary{min-height:40px;font-size:22px;padding:5px 15px}.season-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:4px 0;max-width:none}.season-card{padding:9px}.season-card h2{font-size:40px}.season-scene>.art{margin:52px auto 0;width:58px;height:58px}.season-foods{max-height:52%;margin:auto 0 0}.memory-game{padding:6px 9px 9px;gap:4px}.mini-stats{font-size:17px}.mini-stats [role=timer]{padding:0 14px}.memory-grid{gap:6px}.memory-card{border-width:1.5px;border-radius:10px}.memory-card .food-sprite{height:calc(100% - 18px);max-height:65px}.memory-card b{font-size:14px;line-height:17px}.memory-card .card-back-pattern{inset:3px;grid-template-columns:repeat(2,10px);grid-template-rows:repeat(2,10px);gap:2px}.card-back-pattern i{border-radius:3px}.memory-rest{font-size:16px}.riddle-game{padding:12px;gap:12px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(100px,.9fr)}.riddle-clue{padding:10px 12px;font-size:20px;line-height:1.5}.riddle-options{gap:7px;height:100%}.riddle-option{height:100%;min-height:0;padding:6px;font-size:20px}.riddle-option>.food-sprite{max-height:calc(100% - 30px);width:100%}.riddle-reveal{flex-direction:column;gap:8px;font-size:25px}.riddle-reveal>.food-sprite{width:160px;max-height:40%}.riddle-reveal strong{font-size:54px}.conveyor-game{padding:13px 10px 5px;gap:4px}.conveyor-lane{height:130px}.belt-food{width:122px}.belt-food>.food-sprite{height:104px}.belt-food>b{font-size:19px}.my-basket-row{min-height:105px}.my-basket .basket-illustration{width:145px;height:110px}.my-basket>b{font-size:22px}.belt-feedback{font-size:17px;min-height:30px;line-height:1.2}.market-layout{display:flex;flex-direction:column;gap:8px}.market-main{flex:1;min-height:0}.shop-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:7px}.shop-tab{flex-direction:column;gap:1px;min-height:68px;padding:5px 2px}.shop-tab>.food-sprite{width:32px}.shop-tab>span{font-size:19px;line-height:1.1}.awning{height:18px}.store-title{padding:8px 10px}.store-title h2{font-size:23px}.ingredient-grid,.ingredient-grid:has(>:nth-child(4)){grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 7px}.ingredient-card,.ingredient-grid:has(>:nth-child(4)) .ingredient-card{display:flex;flex-direction:column;padding:5px 2px;gap:0}.ingredient-card>.food-sprite,.ingredient-grid:has(>:nth-child(4)) .food-sprite{width:65px;max-width:75px}.ingredient-card>b{font-size:18px}.recipe-area{padding:10px 7px}.recipe-card{padding:6px}.recipe-card>.dish-picture{width:80px}.recipe-card>b{font-size:19px}.price{font-size:19px}.cart{flex:none;max-height:240px;display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;padding:10px 12px}.cart-title{grid-column:1;padding:0;border:0;gap:5px}.cart-title h2{font-size:22px}.cart-title>span{font-size:16px;width:24px;height:24px;line-height:24px}.cart-hint{grid-column:2;grid-row:1;margin:0;font-size:25px;text-align:right;align-self:center}.cart-list{grid-column:1/-1;display:flex;gap:8px;overflow:auto;max-height:62px;min-height:0}.cart-item{flex:0 0 160px;min-height:52px;padding:3px;gap:3px}.cart-item>.dish-picture{width:40px}.cart-item>b{font-size:17px;line-height:1.1}.cart-item small{font-size:14px}.cart .empty-cart{display:none}.cart .primary,.cart .secondary{min-height:39px;font-size:19px;margin:0;padding:4px}.cart .primary{grid-column:1}.cart .secondary:last-child{grid-column:2}.plating-layout,.naming-layout{display:flex;flex-direction:column;gap:8px}.tablecloth{flex:1;padding:10px;min-height:160px}.tray{width:min(100%,calc((100dvh - 455px)*1.5));max-height:calc(100dvh - 455px);min-height:120px}.tray-caption{padding-top:5px;font-size:16px}.pantry{flex:none;max-height:245px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;overflow:auto}.pantry h2{font-size:23px;margin:0}.tray-drag-hint{font-size:15px;margin:0;text-align:right}.pantry-grid{grid-column:1/-1;display:flex;overflow:auto;min-height:86px;max-height:98px}.pantry-food{min-width:85px;max-width:110px;padding:3px 5px}.pantry-food>.dish-picture{width:52px;margin:auto}.pantry-food>b{font-size:16px;line-height:1.1}.pantry-price,.on-tray-status{font-size:13px;line-height:1}.pantry .primary,.pantry .secondary{min-height:36px;font-size:19px;margin:0;padding:4px}.pantry .text-button{font-size:16px;min-height:25px}.name-panel{flex:none;max-height:290px;padding:12px}.name-panel label{font-size:23px}.name-panel input{padding:5px 10px;font-size:21px}.name-panel h3{font-size:18px;margin-top:6px}.name-suggestions{flex-direction:row;flex-wrap:wrap;gap:4px}.suggestion{font-size:16px;padding:5px}.name-panel .primary,.name-panel .secondary{min-height:35px;margin-top:6px;font-size:20px;padding:5px}.done-intro h1{font-size:29px}.meal-card{padding:12px;max-width:none;justify-content:center}.meal-card-head h2{font-size:30px}.meal-card-head>span{font-size:21px}.meal-card .tray{width:100%;max-height:calc(100dvh - 390px);min-height:150px}.done-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.done-actions .primary,.done-actions .secondary{font-size:20px;min-height:40px;padding:5px 8px}.done-actions .primary{grid-column:1/-1}.food-name{font-size:12px}.steps .step>span{font-size:15px}}
@media(max-height:620px) and (min-width:900px){.topbar{min-height:50px;padding:5px 20px}.steps{margin:0}.step{padding-block:3px}.heading h1{font-size:28px}.heading>p{font-size:18px}.mini-navigation{min-height:28px}.claim-bar{min-height:50px;padding:4px 15px}.claim-bar span{font-size:15px}.claim-bar b{font-size:22px}.claim-bar .primary{min-height:34px}.conveyor-lane{height:95px}.belt-food>.food-sprite{height:75px}.my-basket .basket-illustration{height:75px;width:115px}.my-basket-row{min-height:80px}.my-basket>b{font-size:17px}.belt-feedback{font-size:17px;min-height:22px}.mini-stats{font-size:16px}}
.market-layout{grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden}.market-main{height:100%;overflow:hidden}.cart{position:relative;top:auto;align-self:stretch}.mini-navigation .secondary{line-height:1.15;min-height:31px;padding:4px 13px}.heading>p{line-height:1.2}.claim-bar span{line-height:1.15;font-size:18px}.claim-bar b{line-height:1.05;font-size:29px}.claim-bar{min-height:62px;padding-block:6px}.memory-game{max-width:min(1040px,calc((100dvh - 335px)*1.55))}.conveyor-lane{padding-bottom:10px}.belt-food>b{line-height:1.1}.my-basket .basket-illustration{isolation:isolate}.my-basket .basket-illustration>svg:not(.art){height:100px;bottom:0}.my-basket .basket-illustration>.art{width:52px;height:52px;left:calc(50% - 26px);top:-8px}
@media(max-width:899px){.market-layout{overflow:hidden}.market-main{height:auto}.memory-game{max-width:100%}.claim-bar span{font-size:15px}.claim-bar b{font-size:26px}.conveyor-lane{height:144px}.my-basket .basket-illustration>svg:not(.art){height:90px}.my-basket .basket-illustration>.art{width:45px;height:45px;left:calc(50% - 22px);top:0}.heading>p{line-height:1.2}}

/* Sixteen matching cards, a clear season badge, and seasonal keepsakes. */
.memory-game{max-width:min(900px,calc((100dvh - 340px)*1.8))}.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.memory-card .food-sprite{max-height:none}.memory-card b{font-size:22px;line-height:23px}.memory-card .food-sprite{height:calc(100% - 25px)}
.mini-navigation .game-season{display:flex;align-items:center;gap:10px;padding:3px 18px 3px 8px;border:2px solid var(--season-color);border-radius:30px;background:var(--season-light);line-height:1}.game-season>.art{width:42px;height:36px}.game-season>b{font-size:30px}.game-season>span{font-size:20px}
.riddle-game{grid-template-columns:1fr;grid-template-rows:minmax(0,.85fr) minmax(0,1.3fr);gap:12px;padding:14px 24px;max-width:1280px}.riddle-clue{text-align:center;padding:8px 20px;font-size:clamp(24px,2.3vw,38px);line-height:1.35}.riddle-clue p{margin:2px 0}.riddle-options{height:100%;align-items:stretch;gap:22px}.riddle-option{height:100%;min-height:0;padding:8px;font-size:30px}.riddle-option>.food-sprite{height:calc(100% - 38px);width:auto;max-width:100%;max-height:none;aspect-ratio:1;flex-shrink:1}
.belt-food{width:calc(clamp(98px,15vh,178px) + 16px)}.belt-food>.food-sprite{width:clamp(98px,15vh,178px);height:clamp(98px,15vh,178px);aspect-ratio:1;margin:auto}
.meal-card{max-width:980px;isolation:isolate;background:linear-gradient(135deg,#fffdf7 35%,var(--season-light));border:3px solid var(--season-color);border-radius:36px;box-shadow:0 5px 0 var(--season-light);padding:18px 42px}.meal-card:after{content:'';position:absolute;inset:10px;border:1px dashed var(--season-color);border-radius:25px;z-index:-1;pointer-events:none}.meal-card-head{position:relative;z-index:1}.meal-card-head>span{background:#fffdf6dc;border-radius:30px;padding:3px 20px}.meal-card-head h2{font-size:38px}.meal-card .tray{width:min(86%,680px,calc((100dvh - 400px)*1.5));max-height:calc(100dvh - 400px);box-shadow:0 10px 22px #67735420}.meal-card .placed-food{width:23%;max-width:140px}.meal-season-decor{position:absolute;inset:0;pointer-events:none;z-index:-1}.meal-season-decor>.art{position:absolute;width:80px;height:80px;opacity:.65}.meal-season-decor>.art:nth-child(1){left:15px;top:20px;transform:rotate(-20deg)}.meal-season-decor>.art:nth-child(2){right:18px;top:20px;transform:rotate(20deg)}.meal-season-decor>.art:nth-child(3){left:28px;bottom:28px;transform:rotate(18deg)}.meal-season-decor>.art:nth-child(4){right:24px;bottom:20px;transform:rotate(-15deg)}.meal-season-decor>.art:nth-child(5){left:4px;top:48%;width:45px;height:45px}.meal-season-decor>.art:nth-child(6){right:4px;top:48%;width:45px;height:45px}
@media(max-width:899px){.memory-game{max-width:100%}.memory-card b{font-size:17px;line-height:20px}.memory-card .food-sprite{height:calc(100% - 22px);max-width:90%}.mini-navigation .game-season{gap:5px;padding:2px 9px 2px 3px}.game-season>.art{width:31px;height:29px}.game-season>b{font-size:24px}.game-season>span{font-size:15px}.riddle-game{padding:10px;gap:9px;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.riddle-clue{font-size:23px;padding:8px;line-height:1.4}.riddle-options{gap:7px}.riddle-option{font-size:23px;padding:4px}.riddle-option>.food-sprite{height:auto;width:100%;max-height:calc(100% - 30px)}.belt-food{width:112px}.belt-food>.food-sprite{width:104px;height:104px}.meal-card{padding:18px 12px;border-radius:27px}.meal-card .tray{width:90%;min-height:0;max-height:calc(100dvh - 410px)}.meal-card-head h2{font-size:31px}.meal-card .placed-food{width:24%}.meal-season-decor>.art{width:48px;height:48px}.meal-season-decor>.art:nth-child(1),.meal-season-decor>.art:nth-child(2){top:10px}.meal-season-decor>.art:nth-child(5),.meal-season-decor>.art:nth-child(6){width:30px;height:30px}}

/* Keep both matching cards visible before clearing them. */
.memory-game{position:relative}.memory-card.pair-confirmed{border-color:#7eaa62;background:#edf6df;box-shadow:0 0 0 3px #a8c98b80}.memory-end{position:absolute;inset:0;background:#fffffff5;border-radius:25px;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center;padding:24px}.memory-end h2{font-size:clamp(30px,3.2vw,46px);color:#50663e}.memory-end p{font-size:25px;color:#7c826e}.memory-end .primary{margin-top:10px;min-width:160px}.claim-bar>div{flex-direction:row;align-items:center;gap:14px;min-width:0}.claim-bar span{white-space:nowrap}.claim-bar b{white-space:nowrap}.brand-area{display:flex;align-items:center;gap:25px;min-width:0}.brand{font-size:36px}.brand-area .chosen-season{display:flex;font-size:29px;font-weight:900;color:#405332;gap:5px;line-height:1.1}.chosen-season b{-webkit-text-stroke:.3px currentColor}.brand-area .chosen-season>.art{width:36px;height:36px}
@media(max-width:899px){.brand-area{flex-direction:column;align-items:flex-start;gap:3px}.brand{font-size:24px}.brand-area .chosen-season{font-size:23px;margin-left:35px}.brand-area .chosen-season>.art{width:25px;height:25px}.claim-bar{gap:8px;padding-inline:10px}.claim-bar>div{gap:7px}.claim-bar span{font-size:14px}.claim-bar b{font-size:24px}.claim-bar .primary{min-width:65px;padding-inline:12px}.memory-end{gap:10px;padding:15px}.memory-end p{font-size:22px}}

/* Season identity stays in the header; the game only needs a return control. */
.tools .chosen-season{display:flex;align-items:center;gap:8px;font-size:29px;font-weight:900;color:#405332;background:var(--season-light);border:2px solid var(--season-color);border-radius:30px;padding:5px 17px 5px 9px;line-height:1.1}.tools .chosen-season>.art{width:40px;height:38px}.mini-navigation{justify-content:flex-end}.mini-navigation .secondary{font-size:23px;padding:5px 18px}.claim-bar span{font-size:27px;font-weight:700}.claim-bar b{font-size:32px}.claim-bar>div{gap:16px}.my-basket-row{position:relative;padding-top:48px;min-height:0}.my-basket-row .belt-feedback{position:absolute;top:0;left:0;right:0;min-height:40px;margin:0;padding:3px 10px;font-size:clamp(25px,2.5vw,38px);font-weight:900;line-height:1.15;z-index:5}.belt-feedback:empty{background:none;box-shadow:none}.belt-feedback.hint{background:#fff1e8;color:#a44232;border:2px solid #eab29f}.my-basket{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.my-basket .basket-illustration{width:240px;height:calc(100% - 32px);min-height:90px;max-height:175px;flex:1}.my-basket .basket-illustration>svg:not(.art){height:100%;width:100%}.my-basket .basket-illustration>.art{width:48px;height:48px;top:-12px;left:calc(50% - 24px)}.my-basket>b{font-size:30px;line-height:32px}.conveyor-lane{height:clamp(118px,17vh,185px)}.belt-food{width:calc(clamp(90px,13vh,150px) + 16px)}.belt-food>.food-sprite{width:clamp(90px,13vh,150px);height:clamp(90px,13vh,150px)}
@media(max-width:899px){.topbar{flex-wrap:wrap;gap:5px}.brand-area{flex:1}.tools{gap:6px;flex-wrap:wrap;justify-content:flex-end}.tools .chosen-season{font-size:23px;gap:4px;padding:3px 9px 3px 4px}.tools .chosen-season>.art{width:29px;height:29px}.topbar:has(.chosen-season) .tools{display:grid;grid-template-columns:auto auto;row-gap:4px}.tools .chosen-season{grid-column:1/-1;justify-self:end}.tools .points{min-width:76px;padding:3px 9px}.tools .points b{font-size:22px}.tools .icon-button{width:32px;height:32px;font-size:21px}.brand{font-size:23px}.mini-navigation .secondary{font-size:18px;padding:4px 13px}.claim-bar span{font-size:19px}.claim-bar b{font-size:26px}.claim-bar>div{gap:8px}.claim-bar .primary{min-width:56px;padding-inline:9px;font-size:20px}.my-basket-row{padding-top:64px}.my-basket-row .belt-feedback{font-size:25px;min-height:55px;line-height:1.1}.my-basket .basket-illustration{width:220px;max-height:190px;min-height:105px}.my-basket>b{font-size:27px;line-height:30px}.conveyor-lane{height:140px}.belt-food{width:112px}.belt-food>.food-sprite{width:104px;height:104px}}
@media(max-width:374px){.brand{font-size:21px}.brand-mark{width:25px}.claim-bar span{font-size:17px}.claim-bar>div{gap:6px}.claim-bar b{font-size:24px}}
/* Reserve space for the basket and keep feedback above its handle. */
.conveyor-game{display:grid;grid-template-rows:174px minmax(0,1fr);gap:12px;padding-top:12px}.conveyor-window{height:100%;min-height:0}.conveyor-lane{height:110px}.belt-food{width:96px}.belt-food>.food-sprite{width:80px;height:80px}.belt-food>b{font-size:20px}.my-basket-row{padding-top:42px;display:block;height:100%;min-height:0}.my-basket{height:100%;min-height:0;padding:0}.my-basket .basket-illustration{width:260px;height:calc(100% - 30px);min-height:0;max-height:none;flex:none}.my-basket .basket-illustration>svg:not(.art){height:100%}.my-basket>b{line-height:30px}.my-basket .basket-illustration>.art{width:36px;height:36px;left:calc(50% - 18px);top:-8px}.my-basket-row .belt-feedback{min-height:36px;font-size:30px}
@media(max-width:899px){.conveyor-game{grid-template-rows:158px minmax(0,1fr);padding-top:9px;gap:9px}.conveyor-lane{height:97px}.belt-food{width:86px}.belt-food>.food-sprite{width:78px;height:78px}.belt-food>b{font-size:17px;padding:1px 8px}.my-basket-row{padding-top:54px}.my-basket-row .belt-feedback{font-size:24px;min-height:47px}.my-basket .basket-illustration{width:240px;min-height:0;max-height:none}.my-basket>b{font-size:25px}}
.my-basket .basket-illustration>svg:not(.art){transform:scaleX(1.3);transform-origin:center bottom}

/* Clearer seasonal cues and calm, centered feedback. */
body[data-season=summer] .tools .chosen-season{background:#e1f5ef;border-color:#6bb9ac;color:#285e54}.heading>p>strong{font-weight:900;color:#354c2c;-webkit-text-stroke:.55px currentColor}.mini-navigation .secondary{font-size:28px;min-height:47px;padding:6px 24px;border-width:2px}.conveyor-game{position:relative}.my-basket .basket-illustration>svg:not(.art){transform:none}.my-basket-row{padding-top:8px}.my-basket .basket-illustration{width:220px;max-height:175px}.belt-reveal{inset:6px;background:#fffdf9fa;gap:26px}.belt-reveal>div{text-align:center}.belt-reveal p{font-size:34px;margin-top:10px}.belt-reveal p b{color:#516f40}.shortfall-dialog{border:2px solid #decaa1;border-radius:30px;padding:35px 45px;text-align:center;color:#514c37;background:#fffdf5;max-width:90vw;box-shadow:0 14px 65px #4d45292e}.shortfall-dialog::backdrop{background:#42433366}.shortfall-dialog h2{font-size:36px}.shortfall-dialog p{font-size:32px;margin:15px 0 24px}.shortfall-dialog strong{display:inline-block;font-size:60px;color:#b55e43}.shortfall-dialog .primary{min-width:130px}.editable .food-name{font-size:23px;font-weight:700;line-height:1.2;padding:4px 8px;max-width:180%;white-space:normal;text-align:center;word-break:keep-all}.meal-card{display:grid;grid-template-rows:65px minmax(0,1fr) 65px;justify-items:center;align-items:center;padding:16px 40px;background:radial-gradient(ellipse at center,#fffef9 40%,transparent 78%),linear-gradient(135deg,var(--season-light),#fffdf7 45%,var(--season-light));box-shadow:0 6px 0 var(--season-light),0 12px 24px #5b65440c}.meal-card-head{grid-row:1;margin:0;align-self:center;max-width:80%}.meal-card-head h2{font-size:36px;line-height:1.15}.meal-card .tray{grid-row:2;width:min(86%,640px,calc((100dvh - 420px)*1.5));max-height:calc(100dvh - 420px);margin:0}.meal-card:after{border-style:solid;border-width:1px;inset:12px}.meal-card:before{height:8px;opacity:.45}.meal-season-decor>.art:nth-child(3),.meal-season-decor>.art:nth-child(4){bottom:15px}.meal-season-decor>.art:nth-child(1),.meal-season-decor>.art:nth-child(2){top:12px}
@media(max-width:899px){.mini-navigation .secondary{font-size:23px;min-height:38px;padding:4px 18px}.my-basket-row{padding-top:5px}.my-basket .basket-illustration{width:190px;max-height:180px}.belt-reveal{gap:10px}.belt-reveal strong{font-size:48px}.belt-reveal p{font-size:27px}.belt-reveal>.food-sprite{width:140px;max-height:45%}.shortfall-dialog{padding:25px 20px}.shortfall-dialog h2{font-size:29px}.shortfall-dialog p{font-size:26px}.shortfall-dialog strong{font-size:48px}.editable .food-name{font-size:17px;padding:3px 5px;max-width:175%}.meal-card{padding:12px;grid-template-rows:70px minmax(0,1fr) 70px}.meal-card-head{max-width:82%}.meal-card-head h2{font-size:28px}.meal-card .tray{width:94%;max-height:calc(100dvh - 420px)}.meal-season-decor>.art{opacity:.55}}
.meal-card{grid-template-columns:minmax(0,1fr)}.meal-card-head{width:100%;text-align:center}.meal-card-head h2{word-break:keep-all}

/* Drag food into all five compartments, then describe the meal. */
.name-panel label[for=meal-description]{font-size:25px;margin-top:18px}.name-panel textarea{font:inherit;font-size:23px;color:var(--ink);border:2px solid #d6ddc7;border-radius:17px;background:#fffef7;padding:12px;resize:none;min-height:130px;width:100%;line-height:1.3}.name-panel textarea:focus-visible{outline:3px solid #779866;outline-offset:2px}.food-name,.editable .food-name{font-size:23px;font-weight:700;line-height:1.2;padding:4px 7px;max-width:180%;white-space:normal;word-break:keep-all;text-align:center}.meal-description{grid-row:3;align-self:center;text-align:center;max-width:85%;font-size:22px;line-height:1.2;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.meal-card:has(.meal-description){grid-template-rows:85px minmax(0,1fr) 85px}.meal-card:has(.meal-description) .tray{max-height:calc(100dvh - 445px);width:min(86%,640px,calc((100dvh - 445px)*1.5))}
@media(max-width:899px){.name-panel{max-height:315px}.name-panel label[for=meal-description]{font-size:21px;margin-top:8px}.name-panel textarea{font-size:19px;min-height:80px;height:85px;padding:7px 10px;flex-shrink:0}.food-name,.editable .food-name{font-size:16px;max-width:175%;padding:3px 4px}.meal-description{font-size:17px;max-width:88%;line-height:1.15}.meal-card:has(.meal-description){grid-template-rows:95px minmax(0,1fr) 95px}.meal-card:has(.meal-description) .tray{width:94%;max-height:calc(100dvh - 445px)}}
@media(max-width:899px){.naming-layout{align-items:stretch}.naming-layout .tablecloth,.naming-layout .name-panel{width:100%}.naming-layout .name-panel{display:grid;grid-template-columns:1fr;gap:4px;padding:10px 12px;max-height:none;overflow:visible;flex:none}.name-panel label,.name-panel label[for=meal-description]{font-size:21px;margin:0;line-height:1.1}.name-panel input{height:35px;min-height:0;margin:0;padding:3px 9px}.name-panel textarea{height:65px;min-height:65px;margin:0;font-size:18px;padding:5px 9px}.name-panel .primary,.name-panel .secondary{height:34px;min-height:34px;margin:0;padding:3px 10px}.naming-layout .small-table{min-height:0;padding:12px}.small-table .tray{width:min(100%,calc((100dvh - 490px)*1.5));max-height:calc(100dvh - 490px)}}

/* Spell out the score unit while preserving the header coin icon. */
.mini-choice strong{white-space:nowrap}.claim-flight{width:auto;min-width:70px;padding:6px 12px;border-radius:30px;font-size:22px}.points>span:last-child{white-space:nowrap}.shortfall-dialog strong{font-size:clamp(36px,5vw,60px)}
@media(max-width:899px){.mini-choice strong{font-size:23px;padding:4px 12px}.tools .points{gap:4px;padding:3px 7px}.tools .points>span:last-child{font-size:16px}.claim-bar>div{gap:7px}.claim-bar span{font-size:17px}.claim-bar b{font-size:22px}.cart-hint{font-size:23px}.pantry-price{white-space:nowrap}.claim-flight{font-size:19px;min-width:62px}}
@media(max-width:374px){.claim-bar span{font-size:16px}.claim-bar b{font-size:20px}.claim-bar>div{gap:5px}.tools .points>span:last-child{font-size:14px}.tools .points b{font-size:20px}}

/* Clear rewards and a pantry that reserves space for its controls. */
.claim-bar span{font-weight:900;color:#435938;-webkit-text-stroke:.25px currentColor}.claim-bar b{font-weight:900;color:#b05a28;-webkit-text-stroke:.4px currentColor;background:#fff0cb;border-radius:12px;padding:4px 9px}.claim-flight{background:#ffe59b;color:#714616;border:3px solid #e5b94d;min-width:120px;font-weight:900;box-shadow:0 5px 25px #c5a34377}.claim-receipt{position:fixed;right:28px;top:78px;background:#fff0b8;border:2px solid #d9b859;border-radius:22px;padding:10px 22px;color:#80541c;font-size:34px;font-weight:900;z-index:150;box-shadow:0 4px 22px #775e2a35;pointer-events:none}.claim-reminder h2{font-size:38px;line-height:1.3;margin-bottom:25px}.belt-food>b{white-space:nowrap;word-break:keep-all;font-size:19px;line-height:1.2;min-width:85px;padding:3px 7px;text-align:center}.teacher-credit{position:fixed;right:12px;bottom:2px;font-size:15px;font-weight:700;color:#788265;pointer-events:none;z-index:35}main{padding-bottom:23px}.pantry{display:flex;flex-direction:column;overflow:hidden;max-height:none;min-height:0;gap:6px}.pantry h2,.pantry .tray-drag-hint,.pantry>.primary,.pantry>.secondary,.pantry>.text-button{flex:none;margin:0}.pantry-grid{display:grid;grid-template-columns:repeat(var(--pantry-cols,2),minmax(0,1fr));grid-template-rows:repeat(var(--pantry-rows,3),minmax(0,1fr));flex:1;min-height:0;max-height:none;gap:5px;margin:0;padding:0;overflow:hidden}.pantry-food{min-width:0;max-width:none;width:100%;min-height:0;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden}.pantry-food>.dish-picture{flex:1;min-height:0;width:100%;max-width:100%;max-height:65%;aspect-ratio:1}.pantry-food>.dish-picture>.food-sprite{height:100%;width:auto;max-width:100%;aspect-ratio:1;margin:auto}.pantry-food>b{font-size:var(--pantry-font,16px);line-height:1.05;word-break:keep-all;flex:none}.pantry-price,.on-tray-status{font-size:calc(var(--pantry-font,16px)*.8);line-height:1;margin:0;flex:none}.meal-card-head h2{font-size:44px;font-weight:900}.meal-description{font-size:28px;font-weight:700;line-height:1.25}.meal-card:has(.meal-description){grid-template-rows:110px minmax(0,1fr) 110px}.meal-card:has(.meal-description) .tray{width:min(86%,640px,calc((100dvh - 490px)*1.5));max-height:calc(100dvh - 490px)}
@media(max-width:899px){main{padding-bottom:20px}.teacher-credit{font-size:12px;right:9px;bottom:1px}.claim-bar>div{gap:4px}.claim-bar span{font-size:16px}.claim-bar b{font-size:20px;padding:3px 5px}.claim-receipt{top:99px;right:12px;font-size:27px}.claim-reminder h2{font-size:30px}.belt-food>b{font-size:17px;min-width:80px;padding:3px 4px}.plating-layout .tablecloth{flex:1;min-height:0;padding:9px}.plating-layout .tray{min-height:0;width:min(100%,calc((100dvh - 505px)*1.5));max-height:calc(100dvh - 505px)}.pantry{flex:0 0 285px;max-height:none;padding:9px 11px;gap:5px;display:flex}.pantry-grid{display:grid;min-height:0;max-height:none;overflow:hidden}.pantry h2{font-size:22px}.tray-drag-hint{font-size:14px}.pantry .primary,.pantry .secondary{min-height:31px;height:31px;font-size:19px;padding:3px}.pantry .text-button{min-height:22px;font-size:15px;padding:1px}.meal-card-head h2{font-size:34px}.meal-description{font-size:21px;line-height:1.2}.meal-card:has(.meal-description){grid-template-rows:110px minmax(0,1fr) 110px}.meal-card:has(.meal-description) .tray{width:94%;max-height:calc(100dvh - 480px)}}
@media(max-width:374px){.claim-bar span{font-size:15px}.claim-bar b{font-size:18px}.claim-bar .primary{min-width:50px}.pantry{flex-basis:265px}}
.plating-layout{grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden}.plating-layout>.pantry{height:100%;align-self:stretch;position:relative;top:auto}.pantry-grid{flex-basis:0}
@media(max-width:899px){.plating-layout>.pantry{height:auto}}
.pantry>.tray-drag-hint{display:none}.pantry .pantry-price,.pantry .on-tray-status{display:none}.pantry-food>.dish-picture{flex:1 1 0;max-height:none;width:100%;min-height:0}.pantry-food>b{font-size:var(--pantry-font,16px);line-height:1.1}.meal-card:has(.meal-description){grid-template-rows:90px minmax(0,1fr) 110px}.meal-card:has(.meal-description) .tray{height:100%;width:auto;max-width:94%;max-height:100%;min-height:0;aspect-ratio:1.5}.meal-description{position:relative;z-index:1}
@media(max-width:899px){.pantry{flex-basis:300px}.plating-layout .tray{width:min(100%,calc((100dvh - 510px)*1.5));max-height:calc(100dvh - 510px)}.pantry h2{font-size:21px;line-height:1.1}.pantry-grid{flex:1 1 0}.pantry-food{padding:2px}.meal-card:has(.meal-description){grid-template-rows:80px minmax(0,1fr) 100px}.meal-card-head h2{font-size:31px}.meal-description{font-size:20px;line-height:1.15}}
.plating-layout .tablecloth{display:grid;place-items:center;overflow:hidden}.plating-layout .tray{height:100%;width:auto;max-width:100%;max-height:100%;min-height:0;aspect-ratio:1.5}
.teacher-credit{font-size:23px;font-weight:900;right:14px;bottom:2px;line-height:1.2;color:#687653}main{padding-bottom:32px}
@media(max-width:899px){.teacher-credit{font-size:19px;right:10px;bottom:2px}main{padding-bottom:27px}}

.claim-flight{width:max-content;min-width:190px;height:auto;min-height:78px;padding:12px 24px;border:4px solid #ebbb45;border-radius:44px;font-size:42px;line-height:1.15;white-space:nowrap;background:#ffe69b;color:#805019;box-shadow:0 7px 30px #b7863155,0 0 0 7px #fff3c6aa}
@media(max-width:899px){.claim-flight{min-width:155px;min-height:66px;padding:10px 18px;font-size:34px}}

/* Square inventory cards and food that stays within each compartment. */
.memory-end .primary{font-size:34px;min-height:62px;padding:9px 28px}.pantry-grid{grid-template-columns:repeat(var(--pantry-cols,2),var(--pantry-size,90px));grid-template-rows:repeat(var(--pantry-rows,2),var(--pantry-size,90px));justify-content:center;align-content:center}.pantry-food{aspect-ratio:1;border-radius:14px;padding:4px;gap:2px}.pantry-food>.dish-picture{flex:none;height:65%;width:100%;display:flex;align-items:center;justify-content:center}.pantry-food>.dish-picture>.food-sprite{width:auto;height:100%;max-width:100%;aspect-ratio:1}.pantry-food>b{max-height:32%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.08}.tray .placed-food{width:27%;height:42%;max-width:none;padding:0;gap:2px;overflow:hidden;justify-content:center}.tray .placed-food.label-above{height:34%}.tray .placed-food>.dish-picture{width:100%;height:calc(100% - 36px);min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;flex:1 1 0}.tray .placed-food>.dish-picture>.food-sprite{width:auto;height:100%;max-width:100%;aspect-ratio:1;flex:none}.tray .food-name{flex:none;max-width:100%;font-size:20px;line-height:1.1;padding:3px 5px;max-height:48px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pantry>.primary,.pantry>.secondary,.name-panel>.primary,.name-panel>.secondary,.done-actions>.primary,.done-actions>.secondary{font-size:27px;min-height:48px;height:auto;padding:6px 12px;line-height:1.15}
@media(max-width:899px){.memory-end .primary{font-size:29px;min-height:54px}.pantry{flex-basis:315px}.pantry>.primary,.pantry>.secondary,.name-panel>.primary,.name-panel>.secondary,.done-actions>.primary,.done-actions>.secondary{font-size:23px;min-height:36px;height:36px;padding:3px 8px}.pantry-food{border-radius:10px;padding:2px}.tray .food-name{font-size:15px;padding:2px 3px;max-height:37px}.tray .placed-food>.dish-picture{height:calc(100% - 28px)}.naming-layout .name-panel{gap:4px}.done-actions .secondary{height:auto;min-height:42px}}
.pantry-food>b{max-height:none;flex:none}.pantry-food>.dish-picture{height:calc(100% - var(--pantry-font,16px)*2.2 - 4px);min-height:0;flex:none}
/* Use the same centered dish card for every ingredient, regardless of recipe count. */
.recipes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.recipe-card,.recipes:has(>:nth-child(3)) .recipe-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:12px;min-width:0}.recipe-card>.dish-picture,.recipes:has(>:nth-child(3)) .dish-picture{width:120px;height:120px;max-width:100%;margin:0 auto;flex:none}.recipe-card>b{font-size:25px;line-height:1.25;min-height:1.25em;flex:1;word-break:keep-all;overflow-wrap:normal}.recipe-card .price,.recipe-card.bought .price,.recipes:has(>:nth-child(3)) .price{display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1.2;gap:0}.cart-item small{font-size:23px;font-weight:900;line-height:1.2;color:#8e6425;margin-top:5px}
@media(max-width:899px){.recipes{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-card,.recipes:has(>:nth-child(3)) .recipe-card{padding:9px 6px;gap:6px}.recipe-card>.dish-picture,.recipes:has(>:nth-child(3)) .dish-picture{width:90px;height:90px}.recipe-card>b{font-size:20px}.recipe-card .price,.recipe-card.bought .price,.recipes:has(>:nth-child(3)) .price{font-size:20px}.cart-item small{font-size:20px;margin-top:4px}.cart-list{max-height:78px}.cart-item{min-height:65px;flex-basis:180px}}

/* Larger shopping actions, including the compact mobile cart. */
.cart > .primary,.cart > .secondary{font-size:30px;font-weight:700;line-height:1.2}
@media(max-width:700px){.cart > .primary,.cart > .secondary{font-size:25px}}

/* Phone answer feedback fills the game frame, with no exposed cards at its edges. */
@media(max-width:700px){
 .riddle-game,.conveyor-game{overflow:hidden}
 .riddle-reveal{inset:0;border-radius:0;background:#fffdf7}
}

/* Keep ingredient labels above the conveyor's front rail. */
.belt-food>.food-sprite{width:72px;height:72px}
@media(max-width:700px){
 .belt-food>.food-sprite{width:64px;height:64px}
 .my-basket .basket-illustration{width:150px;max-width:150px;height:100px;max-height:100px;flex:none}
 .my-basket>b{margin-top:-6px}
}

/* Give phone plating more room; keep the desktop arrangement unchanged. */
@media(max-width:700px){
 .plating-layout>.pantry{flex-basis:240px;padding:8px 10px;gap:4px}
 .plating-layout>.tablecloth{padding:8px;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
 .plating-layout .tray{width:100%;height:100%;aspect-ratio:auto;max-width:100%;max-height:100%}
 .plating-layout .tray .placed-food{width:42%;height:44%}
 .plating-layout .tray .placed-food.label-above{width:28%;height:36%}
}

.cart-hint .cart-remaining{display:block;white-space:nowrap;margin-top:3px;font-size:19px;font-weight:400;line-height:1.2;color:#788066}
@media(max-width:700px){.cart-hint .cart-remaining{font-size:16px;margin-top:2px}}

/* Long ingredient names stay on one line in phone memory cards. */
@media(max-width:700px){
 .memory-card b{white-space:nowrap;max-width:100%;flex:none}
 .memory-card b.long-name{font-size:clamp(11px,3.4vw,15px)}
}

/* Phone layouts: stable text sizing, safe areas and content-sized game art. */
@media(max-width:899px), (pointer:coarse) and (max-height:500px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body,#app{height:100vh;height:100dvh}
 #app{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 main{position:relative;min-width:0;padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}
 .teacher-credit{bottom:env(safe-area-inset-bottom,0px)}
 button,input,textarea{font-family:var(--round);min-width:0}
 .topbar{display:flex;flex-wrap:wrap;gap:4px;padding:5px 10px;min-height:0}
 .brand-area{flex:1 0 100%;align-items:center}.brand{font-size:23px;line-height:1.15}.brand-mark{width:26px;height:27px}
 .topbar .tools,.topbar:has(.chosen-season) .tools{display:flex;flex-wrap:nowrap;width:100%;justify-content:flex-end;gap:6px}
 .tools .chosen-season{margin-right:auto;font-size:21px;padding:2px 7px;white-space:nowrap}.tools .chosen-season>.art{width:25px;height:25px}
 .tools .points{padding:2px 7px}.tools .points b{font-size:21px}.tools .icon-button{width:30px;height:30px}
 .steps{gap:5px;padding:0 10px}.step{flex-direction:column;gap:1px;padding:3px 1px}.steps .step>span{font-size:13px;line-height:1.15;word-break:keep-all;overflow-wrap:anywhere}.step i{width:21px;height:21px;font-size:14px}
 .heading h1,.mini-navigation~.heading h1{font-size:25px}.heading>p,.mini-navigation~.heading>p{font-size:17px}
 .mini-navigation{position:absolute;right:12px;top:4px;z-index:2;min-height:0}.mini-navigation .secondary{font-size:19px;min-height:32px;padding:3px 10px}
 .mini-navigation~.heading{padding-top:40px}
 .claim-bar{min-height:48px;padding:5px 8px;gap:5px}.claim-bar>div{gap:4px;flex-wrap:wrap}.claim-bar span{font-size:clamp(14px,4vw,18px);white-space:normal}.claim-bar b{font-size:19px}.claim-bar .primary{flex:none;min-height:35px;min-width:48px;padding:3px 7px}
 .memory-card{gap:0}.memory-card .food-sprite,.riddle-option>.food-sprite{width:var(--mobile-art-size,40px);height:var(--mobile-art-size,40px);max-width:none;max-height:none;flex:none;aspect-ratio:1}
 .memory-card b{white-space:nowrap;font-size:clamp(12px,3.7vw,17px);line-height:20px;max-width:100%;flex:none}.memory-card b.long-name{font-size:clamp(10px,3.2vw,15px)}
 .memory-end h2{font-size:clamp(23px,6vw,32px)}.memory-end .primary{min-height:40px;font-size:26px;margin-top:0}
 .riddle-game{grid-template-rows:minmax(0,1.2fr) minmax(0,1fr);padding:8px;gap:6px}
 .riddle-clue{min-width:0;min-height:0;font-size:var(--mobile-clue-size,20px);line-height:1.25;padding:6px;overflow:auto;justify-content:safe center}.riddle-clue p{overflow-wrap:anywhere;margin:2px 0}
 .riddle-option{min-width:0;font-size:clamp(14px,4.5vw,21px);gap:2px}.riddle-option b{max-width:100%;word-break:keep-all;overflow-wrap:anywhere;line-height:1.1}
 .riddle-reveal{inset:0;border-radius:0;background:#fffdf7;overflow:hidden;padding:8px;gap:6px}.riddle-reveal strong{font-size:clamp(28px,9vw,48px);overflow-wrap:anywhere;text-align:center}.riddle-reveal>.food-sprite{flex:none;width:var(--mobile-art-size,75px);height:var(--mobile-art-size,75px);max-height:none;max-width:none}.belt-reveal p{font-size:clamp(20px,6vw,27px)}
 .conveyor-game{grid-template-rows:minmax(112px,1.15fr) minmax(60px,1fr);gap:12px;padding:10px 8px 6px}
 .conveyor-window{padding-top:14px}.conveyor-lane{height:calc(100% - 44px)}
 .belt-food{width:116px}.belt-food>.food-sprite{width:var(--mobile-belt-size,104px);height:var(--mobile-belt-size,104px);margin:auto}.belt-food>b{font-size:15px;min-width:0;white-space:nowrap;padding:2px 4px}
 .my-basket-row{padding-top:3px}.my-basket{min-width:0;width:100%;height:100%;gap:0}.my-basket .basket-illustration{width:auto;max-width:150px;height:calc(100% - 24px);max-height:100px;min-height:0;aspect-ratio:1.5;flex:none}.my-basket>b{font-size:21px;line-height:24px;margin-top:0}
 .cart{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cart-hint{font-size:clamp(20px,5.9vw,25px);white-space:nowrap}.cart-hint .cart-remaining{font-size:clamp(13px,3.8vw,16px)}.cart>.primary,.cart>.secondary{font-size:clamp(19px,5.4vw,25px)}
 .ingredient-card>b{overflow-wrap:anywhere}.recipe-card>b{overflow-wrap:anywhere}
 .plating-layout>.pantry{flex:0 0 220px}.plating-layout>.tablecloth,.naming-layout>.tablecloth{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}
 .plating-layout .tray,.naming-layout .tray{width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;aspect-ratio:auto}
 .pantry>.primary,.pantry>.secondary{font-size:22px}.name-panel{min-width:0;max-height:none;flex:0 1 245px;overflow:auto}.name-panel input,.name-panel textarea{font-size:18px;min-height:34px}.name-panel textarea{flex:1;min-height:50px;resize:none}.name-panel label{font-size:20px}
 .meal-card,.meal-card:has(.meal-description){grid-template-rows:auto minmax(0,1fr) auto;padding:12px;gap:6px;overflow:hidden}.meal-card-head{max-width:90%}.meal-card-head h2{font-size:clamp(24px,7vw,34px);overflow-wrap:anywhere}.meal-description{font-size:clamp(17px,4.8vw,22px);max-height:4.6em;overflow:auto;margin:0;overflow-wrap:anywhere}.meal-card .tray,.meal-card:has(.meal-description) .tray{height:100%;width:100%;max-height:100%;max-width:100%;min-height:0;aspect-ratio:auto}
 .done-intro h1{font-size:26px}.done-actions{gap:5px}.done-actions>.primary,.done-actions>.secondary{font-size:21px;min-height:34px;padding:3px 6px}
 .shortfall-dialog,.claim-reminder{max-height:85vh;max-height:85dvh;overflow:auto}
}
@media(max-width:899px) and (max-height:600px){
 .topbar{padding-block:3px}.brand{font-size:20px}.brand-mark{height:23px;width:23px}.heading h1,.mini-navigation~.heading h1{font-size:23px}.mini-navigation~.heading{padding-top:34px}.mini-navigation .secondary{min-height:29px;font-size:18px}
 .mini-choices{gap:8px}.mini-choice{padding:8px 12px;gap:8px}.mini-choice h2{font-size:23px}.mini-choice strong{font-size:21px}
 .plating-layout>.pantry{flex-basis:200px}.pantry h2{font-size:19px}.pantry>.primary,.pantry>.secondary{font-size:20px;min-height:32px;height:32px}
 .name-panel{flex-basis:220px;padding:8px}.name-panel label{font-size:18px}.name-panel input{padding:2px 6px}.name-panel>.primary,.name-panel>.secondary{margin-top:2px;min-height:31px;height:31px;font-size:20px}
}
@media(orientation:landscape) and (max-width:899px) and (max-height:500px), (orientation:landscape) and (pointer:coarse) and (max-height:500px){
 .topbar{flex-wrap:nowrap;padding:2px 12px}.brand-area{flex:1 1 auto;align-items:flex-start}.topbar .tools,.topbar:has(.chosen-season) .tools{width:auto}.tools .chosen-season{margin:0}.brand{font-size:21px}
 .steps{margin-top:1px}.step{flex-direction:row;justify-content:center}.steps .step>span{font-size:14px}
 main{gap:4px}.heading{padding:2px 0}.heading h1,.mini-navigation~.heading h1{font-size:22px}.heading>p,.mini-navigation~.heading>p{font-size:16px}.mini-navigation~.heading{padding-top:2px;padding-right:145px}.mini-navigation{top:2px}
 .claim-bar{min-height:38px;padding:2px 10px}.claim-bar .primary{min-height:30px}.claim-bar span{font-size:17px}.claim-bar b{font-size:19px}
 .season-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.season-card h2{font-size:32px}.season-scene>.art{margin-top:40px;width:45px;height:45px}
 .mini-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini-choice{flex-direction:column;justify-content:center;padding:10px}
 .memory-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}.memory-game{padding:3px 8px 6px}.mini-stats{font-size:15px;line-height:1.1}
 .riddle-game{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr)}.riddle-option{font-size:19px}.riddle-reveal{flex-direction:row}.riddle-reveal strong{font-size:36px}
 .conveyor-game{grid-template-columns:minmax(0,1fr) 140px;grid-template-rows:minmax(0,1fr);align-items:center;padding:9px}.conveyor-window{max-height:150px}.my-basket-row{max-height:135px}.my-basket .basket-illustration{max-width:125px}
 .market-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:8px}.cart{display:flex;max-height:none;padding:8px;gap:4px}.cart-hint{text-align:center;font-size:22px}.cart-list{flex:1;max-height:none;display:block;overflow:auto}.cart-item{min-height:58px}.cart>.primary,.cart>.secondary{font-size:20px;min-height:31px}.cart-title h2{font-size:20px}.shop-tab{min-height:38px;flex-direction:row}.shop-tab>span{font-size:19px}.shop-tab>.food-sprite{width:26px}
 .plating-layout,.naming-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:minmax(0,1fr);gap:8px}.plating-layout>.pantry{height:100%;padding:5px 8px;gap:3px}.pantry>.primary,.pantry>.secondary{min-height:28px;height:28px;font-size:19px}.pantry h2{font-size:18px}
 .name-panel{padding:6px;gap:2px}.name-panel label{font-size:17px}.name-panel textarea{min-height:34px}.name-panel>.primary,.name-panel>.secondary{font-size:18px;min-height:27px;height:27px}
 .done-intro h1{font-size:22px}.meal-card,.meal-card:has(.meal-description){grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);grid-template-rows:1fr 1fr;gap:5px;padding:7px 14px}.meal-card-head{grid-column:1;grid-row:1;align-self:end}.meal-card-head h2{font-size:25px}.meal-card .tray,.meal-card:has(.meal-description) .tray{grid-column:2;grid-row:1/3}.meal-description{grid-column:1;grid-row:2;align-self:start;font-size:18px}.done-actions{display:flex}.done-actions>.primary,.done-actions>.secondary{font-size:19px;min-height:30px;height:30px}
}
@media(max-width:899px), (pointer:coarse) and (max-height:500px){
 .tools .icon-button{padding:0;line-height:1;font-size:21px;display:grid;place-items:center}
 .naming-layout>.name-panel{display:flex;flex-direction:column;gap:4px;min-height:0;height:100%}
 .name-panel label{margin:0;font-size:20px;line-height:1.15}.name-panel input{padding:4px 8px;margin:0;flex:none;height:35px}.name-panel textarea{margin:0;padding:5px 8px;height:60px}.name-panel>.primary,.name-panel>.secondary{flex:none;margin:0}
}
@media(orientation:portrait) and (max-width:899px) and (max-height:520px){
 .conveyor-game{grid-template-rows:minmax(100px,1.15fr) minmax(35px,1fr);gap:7px;padding:6px}
}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){
 .naming-layout>.name-panel{padding:6px;gap:3px}.name-panel label{font-size:17px}.name-panel input{height:30px;min-height:30px;padding:2px 6px}.name-panel textarea{min-height:34px}
}
@media(max-width:899px){.naming-layout>.name-panel{height:auto}}
@media(orientation:landscape) and (max-width:899px) and (max-height:500px){.naming-layout>.name-panel{height:100%}}
@media(max-width:899px), (pointer:coarse) and (max-height:500px){
 .naming-layout>.name-panel{flex:0 0 245px;overflow:auto}
 .naming-layout .name-panel label{font-size:20px;margin:0;line-height:1.15;flex:none}
}
@media(max-width:899px) and (max-height:600px){
 .naming-layout>.name-panel{flex-basis:220px;padding:6px 9px;gap:3px}.naming-layout .name-panel label{font-size:18px}.name-panel textarea{min-height:40px}
}

/* Give each connector its own centered grid column, independent of button borders. */
.steps{grid-template-columns:repeat(3,minmax(0,1fr) 18px) minmax(0,1fr);gap:0;align-items:stretch}
.step:not(:last-child)::after{content:none;display:none}
.step-connector{display:grid;place-items:center;pointer-events:none;align-self:stretch}
.step-connector svg{width:8px;height:12px;overflow:visible}
.step-connector path{fill:none;stroke:#a6ae92;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:899px), (pointer:coarse) and (max-height:500px){
 .steps{grid-template-columns:repeat(3,minmax(0,1fr) 8px) minmax(0,1fr)}
 .step-connector svg{width:5px;height:8px}
}

/* Give smaller portrait phones more room for larger conveyor ingredients. */
@media(orientation:portrait) and (max-width:899px) and (min-height:521px) and (max-height:700px){
 .conveyor-game{grid-template-rows:minmax(144px,1.8fr) minmax(45px,.8fr)}
}
