/* The cake leads the experience; pricing belongs to the final review. */
.atelier-focus .atelier{grid-template-rows:52px minmax(170px,1fr) 266px;min-height:0}
.atelier-focus .game-header{padding:4px 12px;gap:8px}
.atelier-focus .game-header .overline{display:none}
.atelier-focus .game-header h1{margin:0;font-size:20px}
.atelier-focus .game-header img{width:44px;height:36px}
.atelier-focus .game-header #open-tools{width:44px;height:44px;flex:0 0 44px}
.atelier-focus .stage-heading{left:18px;right:18px;top:14px}
.atelier-focus .stage-heading p{max-width:none;margin:5px 0 0;font-size:18px;line-height:1.25}
.atelier-focus #cake-visual-note{margin-top:4px;font-size:9px;line-height:1.3}
.atelier-focus .stage-controls{left:16px;right:16px;bottom:26px;max-width:none;justify-content:center;gap:8px}
.atelier-focus .stage-controls button{min-width:125px;min-height:44px;padding:9px 15px;font-size:12px;border-radius:24px}
.atelier-focus #photo-mode[aria-pressed=false]{background:#fffdf9;color:#352b23}
.atelier-focus #photo-mode[aria-pressed=true]{background:#352b23;color:#fffdf9}
.atelier-focus .drag-hint{left:12px;right:12px;bottom:7px;max-width:none;font-size:9px;text-align:center;line-height:1.3}
.atelier-focus .console{margin:0 8px;padding:0 10px;grid-template-rows:44px 36px 130px 54px;border-radius:18px 18px 0 0;overflow:hidden}
.atelier-focus #steps{gap:2px}
.atelier-focus #steps button{min-height:44px;font-size:8px;gap:1px}
.atelier-focus #steps .step-object.component-photo{height:25px;width:30px}
.atelier-focus .console-title h2{font-size:20px}
.atelier-focus .console-title button{min-height:36px;min-width:40px;font-size:23px}
.atelier-focus .cake-options{height:122px;gap:8px;padding:2px 1px 6px}
.atelier-focus .cake-options label{flex-basis:108px;padding:4px;gap:4px;font-size:11px}
.atelier-focus .ingredient-icon.component-photo{height:81px}
.atelier-focus #weight-options{height:86px}
.atelier-focus #weight-options label{flex-basis:104px;font-size:11px}
.atelier-focus #weight-options .ingredient-icon.component-photo{height:53px}
.atelier-focus .height-option{min-height:42px;font-size:11px;gap:8px;margin:0;line-height:1.3}
.atelier-focus .height-option input{width:18px;height:18px;flex-shrink:0;margin:0}
.atelier-focus #mini-note{font-size:10px;margin:8px 0;line-height:1.4}
.atelier-focus .curl-styles{height:84px;padding:2px 0 0}
.atelier-focus .curl-styles label{height:80px;flex-basis:84px;font-size:10px}
.atelier-focus .curl-styles .ingredient-icon.component-photo{height:51px}
.atelier-focus .curl-styles+.cake-colors{height:44px;margin:0}
.atelier-focus .game-pager{min-width:0;gap:8px}
.atelier-focus .game-pager #next-step{min-height:44px;font-size:12px;border-radius:12px;padding:10px 14px}
.atelier-focus .game-pager #prev-step{min-height:44px;font-size:11px}
.atelier-focus .game-pager #step-counter{font-size:10px;white-space:nowrap}
.atelier-focus #tools-dialog .tool-grid button{min-height:44px;text-align:left}
.atelier-focus #tools-dialog .tool-grid #save-idea{background:#352b23;color:#fffdf9}
.atelier-focus .review-price{padding:18px;margin:16px 0;background:#eee2cf;border:1px solid #cfb38a;border-radius:14px;display:grid;gap:5px}
.atelier-focus .review-price strong{font-size:26px;font-weight:600;color:#5c4026}
.atelier-focus .review-price>span{font-size:13px;color:#5e5040}
.atelier-focus .review-price p{font-size:11px;line-height:1.45;margin:4px 0 0}
.atelier-focus #save-dialog{width:calc(100vw - 24px);max-width:650px;max-height:calc(100dvh - 24px);padding:20px}
.atelier-focus #save-dialog .dialog-header h2{font-size:24px;line-height:1.2}
.atelier-focus .dialog-header button{flex:0 0 44px;width:44px;height:44px}
.atelier-focus #save-cloud{width:100%;min-height:48px;background:#352b23;color:#fffdf9;font-weight:600;font-size:14px}
.atelier-focus #cake-review{margin:10px 0 18px}
.atelier-focus .writing{font-size:16px}
@media(min-width:1000px){
 .atelier-focus .atelier{max-width:1440px;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:64px minmax(0,1fr)}
 .atelier-focus .game-header{grid-column:1/-1;padding-inline:28px}
 .atelier-focus .game-header h1{font-size:24px}
 .atelier-focus .game-header img{width:56px;height:42px}
 .atelier-focus .stage{grid-row:2;grid-column:1}
 .atelier-focus .stage-heading{left:34px;right:34px;top:24px}
 .atelier-focus .stage-heading p{font-size:24px}
 .atelier-focus #cake-visual-note{font-size:11px;margin-top:7px}
 .atelier-focus .console{grid-column:2;grid-row:2;margin:18px 18px 18px 0;padding:14px;grid-template-rows:52px 54px minmax(0,1fr) 62px;border-radius:18px}
 .atelier-focus #steps button{font-size:9px}
 .atelier-focus #steps .step-object.component-photo{height:31px;width:35px}
 .atelier-focus .console-title h2{font-size:23px}
 .atelier-focus .cake-options,.atelier-focus #weight-options{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:139px;padding:2px 1px 10px;gap:10px}
 .atelier-focus .cake-options label,.atelier-focus #weight-options label{font-size:13px;padding:5px;gap:5px}
 .atelier-focus .ingredient-icon.component-photo,.atelier-focus #weight-options .ingredient-icon.component-photo{height:103px}
 .atelier-focus .height-option{margin-top:8px;font-size:13px}
 .atelier-focus .curl-styles{height:auto;gap:10px}
 .atelier-focus .curl-styles label{height:129px;font-size:13px}
 .atelier-focus .curl-styles .ingredient-icon.component-photo{height:96px}
 .atelier-focus .curl-styles+.cake-colors{height:auto;margin:12px 0;gap:10px}
 .atelier-focus .stage-controls{bottom:36px}
 .atelier-focus .stage-controls button{font-size:13px;min-width:145px}
 .atelier-focus .drag-hint{bottom:13px;font-size:11px}
}
@media(max-width:350px){
 .atelier-focus .game-header{padding-inline:8px;gap:5px}
 .atelier-focus .game-header h1{font-size:17px}
 .atelier-focus .game-header img{width:36px;flex-basis:36px}
 .atelier-focus .stage-heading{left:14px;right:14px;top:10px}
 .atelier-focus .stage-heading p{font-size:16px}
 .atelier-focus .stage-controls button{min-width:114px;font-size:11px;padding-inline:12px}
 .atelier-focus .console-title h2{font-size:18px}
 .atelier-focus .cake-options label,.atelier-focus #weight-options label{flex-basis:96px}
 .atelier-focus .game-pager #next-step{font-size:11px;padding-inline:10px}
}
/* Short/landscape devices keep one native vertical scroll, including touch over the stage. */
@media(max-width:999px) and (max-height:650px){
 .atelier-focus .atelier{height:auto;min-height:598px;grid-template-rows:52px 280px 266px}
 .atelier-focus #cake-art,.atelier-focus #cake-art canvas{touch-action:pan-y}
}
/* A software keyboard must not hide the writing field or the next action. */
@media(max-width:999px){
 .atelier-focus.keyboard-open .atelier{height:auto;min-height:438px;grid-template-rows:48px 124px 266px}
 .atelier-focus.keyboard-open .console{grid-template-rows:44px 36px 130px 54px}
 .atelier-focus.keyboard-open .stage-controls,.atelier-focus.keyboard-open .drag-hint{display:none}
}
