@font-face{font-family:Guadagni;src:local('Avenir Next'),local('Arial')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Guadagni,system-ui,sans-serif;color:#443b32;background:#eee7dd}button,input,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,#cake-art:focus-visible{outline:3px solid #ae762e;outline-offset:2px}[hidden]{display:none!important}.atelier{height:100svh;height:var(--app-height,100dvh);max-width:1100px;margin:auto;display:grid;grid-template-rows:64px minmax(100px,1fr) 226px 92px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:radial-gradient(ellipse at 50% 35%,#fffaf2,#e9e1d6 80%)}.game-header{display:flex;align-items:center;gap:10px;padding:5px 18px;border-bottom:1px solid #bbaa9130;z-index:2}.game-header img{width:62px;height:46px;object-fit:contain}.game-header h1{font-family:"Guadagni Serif",Georgia,serif;font-weight:400;font-size:20px;margin:2px 0}.overline{font-size:8px;letter-spacing:2px;color:#8b6b42;font-weight:700}sup{font:9px system-ui;background:#af805422;padding:3px 5px;border-radius:5px;color:#94642e;vertical-align:middle}.back-site{font:32px "Guadagni Serif",Georgia;color:#695136;text-decoration:none;padding-right:7px}.game-header button{margin-left:auto;border:1px solid #fff9;background:#ffffff60;border-radius:50%;width:38px;height:38px}.stage{position:relative;min-height:0;isolation:isolate;overflow:hidden}.stage-heading{position:absolute;top:15px;left:20px;z-index:2;pointer-events:none}.stage-heading span{font-size:9px;letter-spacing:2px;color:#9a784f}.stage-heading p{font-family:"Guadagni Serif",Georgia,serif;font-size:clamp(18px,3vw,25px);margin:7px 0;color:#665744}#cake-art{position:absolute;inset:0;touch-action:none;cursor:grab}#cake-art:active{cursor:grabbing}#cake-art canvas{display:block;width:100%;height:100%;touch-action:none}.stage-controls{position:absolute;right:14px;bottom:13px;display:flex;gap:6px;z-index:2}.stage-controls button{border:1px solid #fff9;background:#fff9;backdrop-filter:blur(15px);border-radius:20px;padding:9px 13px;font-size:10px;box-shadow:0 4px 15px #69503612}.stage-controls button[aria-pressed=true]{background:#66523c;color:#fff}.drag-hint{position:absolute;bottom:18px;left:18px;font-size:9px;color:#81715e;pointer-events:none;max-width:43%}.toast{position:absolute;left:14px;right:14px;top:66px;z-index:3;font-size:12px;text-align:center;pointer-events:none;margin:0;background:#fffc;border-radius:15px;box-shadow:0 5px 20px #6c563622}.toast:empty{display:none}.console{min-width:0;margin:0 10px;padding:0 12px;border:1px solid #fff;border-radius:26px 26px 0 0;background:linear-gradient(140deg,#ffffffb8,#f7f0e8aa);box-shadow:0 -10px 35px #765d3210;backdrop-filter:blur(20px);display:grid;grid-template-rows:43px 33px 108px 38px;z-index:3}#steps{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b39e7b30;gap:3px}#steps button{border:0;background:none;padding:5px 2px;font-size:9px;display:grid;gap:2px;justify-items:center;color:#9e8c79;min-width:40px}#steps button b{font-size:10px;line-height:14px;width:18px;border-radius:5px;font-weight:500}#steps button[aria-current=step]{color:#715028}#steps button[aria-current=step] b{background:#c29c5e;color:white;box-shadow:0 2px 8px #b5935070}.console-title{display:flex;align-items:center;justify-content:space-between}.console-title h2{font-family:"Guadagni Serif",Georgia,serif;font-weight:400;font-size:19px;margin:0}.console-title button{border:0;background:none;font-size:23px}#cake-form{min-width:0}fieldset{border:0;margin:0;padding:0;height:100%}legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.cake-options{height:100%;display:flex;gap:8px;align-items:stretch;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:3px 1px 8px}.cake-options::-webkit-scrollbar{display:none}.cake-options label{position:relative;flex:1 0 86px;max-width:180px;scroll-snap-align:start;border:1px solid #d3c4b188;border-radius:17px;background:linear-gradient(145deg,#fff9,#eee5d799);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:9px 7px;font-size:11px;line-height:1.2;gap:5px;cursor:pointer;transition:transform .2s,box-shadow .2s}.cake-options label::before{content:'◆';font-size:24px;color:#b99b72;text-shadow:1px 2px #fff,-1px -1px #78501b33;line-height:30px}.cake-options label:has(input:checked){border-color:#ae8045;background:linear-gradient(145deg,#fffaf0,#dcc39855);box-shadow:0 4px 14px #966d2f20;transform:translateY(-1px)}.cake-options input{position:absolute;opacity:0}.cake-options label:has(input:focus-visible){outline:2px solid #ad7837}.cake-options label:has(input:checked)::after{content:'✓';position:absolute;right:7px;top:5px;color:#997443;font-size:10px}#weight-options label{flex-basis:65px}#weight-options label::before{content:'◌';font-size:27px}#base-options label::before{content:'▰';color:#c4955e}#base-options label:nth-child(2)::before{color:#60402e}#cream-options label::before{content:'≈';color:#dab781;font:38px "Guadagni Serif",Georgia;line-height:30px}#extra-options label::before{content:'✦';color:#645046}#extra-options label:nth-child(3)::before{content:'●';color:#801c38}.cake-colors{display:flex;align-items:center;justify-content:space-around;height:100%;gap:10px}.cake-colors label{display:flex;flex-direction:column;align-items:center;font-size:11px;gap:6px}.cake-colors input[type=color]{border:1px solid #b9a481;border-radius:50%;width:45px;height:45px;padding:3px;background:white}.cake-colors input::-webkit-color-swatch-wrapper{padding:0}.cake-colors input::-webkit-color-swatch{border:0;border-radius:50%}.cake-colors .curl-switch{flex-direction:row;max-width:100px}input[type=checkbox]{accent-color:#9c763d}.writing{width:100%;background:#fff9;border:1px solid #c7b8a1;border-radius:14px;padding:14px;font-size:16px;margin:6px 0}.small{font-size:11px;line-height:1.5;color:#7f7163;margin:6px 0}.game-pager{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c5b39130}.game-pager button{font-size:11px;background:none;border:0;padding:8px 0}.game-pager span{font-size:9px;color:#978772}.game-footer{padding:12px 22px 4px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;background:#f6f1e8}.game-footer strong{display:block;font-size:17px;font-weight:600}.game-footer div>span{display:block;font-size:10px;margin-top:3px;color:#8e7c65}.game-footer>button{border:1px solid #c39a61;background:linear-gradient(130deg,#957047,#654629);color:#fff5e6;border-radius:17px;padding:13px 18px;font-size:12px;box-shadow:0 5px 14px #7a5a3430}.game-footer>button span{margin-left:8px}.game-footer p{grid-column:1/-1;font-size:9px;color:#8e7c65;margin:4px 0;display:flex;align-items:center;justify-content:space-between}.game-footer p button{border:0;background:none;font-size:16px;padding:0 3px}dialog{width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 28px);border:1px solid white;border-radius:25px;background:#f8f3eb;padding:20px;color:#504330;box-shadow:0 25px 100px #30251850}dialog::backdrop{background:#493b2c75;backdrop-filter:blur(8px)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header h2{font:23px "Guadagni Serif",Georgia;margin:0}.dialog-header button{border:0;background:#e7dccd;border-radius:50%;width:32px;height:32px;font-size:23px}.tool-grid{display:grid;gap:10px;margin:20px 0}dialog button:not([data-close]),dialog a{border:1px solid #c7b89e;border-radius:12px;background:#fffb;padding:10px 13px;text-decoration:none;color:#70522b;font-size:13px}dialog p{font-size:13px;line-height:1.5}dialog input:not([type=checkbox]),dialog textarea{display:block;width:100%;border:1px solid #c8b99e;border-radius:12px;background:#fffc;padding:11px;font-size:16px;margin:7px 0 13px}dialog label{font-size:12px;line-height:1.4}.cake-check{display:flex;align-items:start;gap:9px}.cake-send h2{font:24px "Guadagni Serif",Georgia;margin:8px 0}.cake-send .eyebrow{display:none}#request-summary{font-size:11px;background:#e7dccd66;border-radius:10px;padding:9px}#cake-access{font-size:11px}#cake-login{display:inline-block;margin:0 0 10px}.request-pager{display:flex;gap:10px;margin-top:12px}.cake-history h2{display:none}.cake-history article{border-bottom:1px solid #cbbba5;padding:10px 0}.cake-history h3{font-size:13px}#request-status{font-size:12px}#request-status:empty{display:none}.no-js{position:fixed;inset:0;background:#f8f2e9;padding:40px;z-index:10}@media(min-width:760px){.atelier{grid-template-rows:70px minmax(180px,1fr) 226px 92px;max-width:900px;border-left:1px solid white;border-right:1px solid white}.console{margin:0 70px}.stage-heading{left:75px;top:20px}.stage-heading p{font-size:29px}.stage-controls{right:75px}.drag-hint{left:75px}.game-footer{padding-left:85px;padding-right:85px}.cake-options label{max-width:none}.game-header{padding-left:35px;padding-right:35px}}@media(max-height:690px){.atelier{grid-template-rows:52px minmax(100px,1fr) 198px 78px}.game-header img{height:36px;width:48px}.game-header h1{font-size:17px}.console{grid-template-rows:35px 29px 99px 31px}.game-footer{padding-top:6px}.stage-heading{top:7px}.stage-heading p{font-size:16px;margin:4px 0}.stage-controls{bottom:6px}.drag-hint{bottom:9px}.game-footer strong{font-size:15px}.game-footer>button{padding:10px 14px}.cake-options label{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}} 

.keyboard-open .atelier{grid-template-rows:42px minmax(40px,1fr) 164px 66px}.keyboard-open .console{grid-template-rows:32px 26px 74px 30px}.keyboard-open .stage-heading{display:none}.keyboard-open .game-header img{height:32px}.keyboard-open .game-footer{padding-top:3px}.keyboard-open .game-footer p{font-size:8px;margin:1px 0}.keyboard-open .game-footer>button{padding:9px 13px}.keyboard-open .writing{padding:9px;margin:2px 0}.keyboard-open .game-footer strong{font-size:14px}

#steps button{min-width:32px;font-size:8px}#steps{gap:0}.sugar-image{display:flex;gap:7px;align-items:center;font-size:12px;padding:5px 0;line-height:1.25}.graphic-help{display:flex;align-items:center;gap:10px;margin-top:4px}.graphic-help span{font-size:10px;line-height:1.35;flex:1}.graphic-help a{flex:0 0 110px;background:linear-gradient(135deg,#fff9,#ead5b5);color:#73522c;border:1px solid #c4a371;border-radius:12px;font-size:10px;line-height:1.3;text-decoration:none;padding:9px;text-align:center}#graphic-request{font-size:11px;line-height:1.45}#graphic-request a{display:inline;padding:0;border:0;background:none;text-decoration:underline;font-size:inherit}@media(max-width:360px){.sugar-image{font-size:10px}.graphic-help span{font-size:9px}.graphic-help a{flex-basis:93px;font-size:9px;padding:7px}}
#preview-gate{display:grid;align-content:center;gap:9px}#preview-gate p{font-size:12px;margin:0;color:#7e684c}#preview-gate button{justify-self:start;border:1px solid #b69764;border-radius:13px;background:linear-gradient(130deg,#fff,#ebd5b0);padding:10px 15px;font-size:12px}#access-dialog h2{font:25px "Guadagni Serif",Georgia;margin:18px 0 12px}#access-dialog>a,#access-dialog>button{display:block;text-align:center;margin:12px 0;width:100%}#access-dialog .gate-primary{background:#876239;color:white}#gate-status{font-size:12px}#cake-drafts article{padding:12px 0;border-bottom:1px solid #d1bfa8}#cake-drafts h3{font:21px "Guadagni Serif",Georgia;margin:4px 0}

/* More space and a grounded display stage for the real-time model. */
.stage{background:radial-gradient(ellipse at 50% 65%,#fffcf7 0%,#e9ddcc 62%,#d4c4af 100%)}
.stage-controls{bottom:32px;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:95%}
.stage-controls button{min-height:36px;font-size:11px;box-shadow:0 5px 13px #57432622,inset 0 1px #fff}
.drag-hint{bottom:10px;max-width:90%}
.game-footer p button{font-size:11px;text-decoration:underline;min-height:24px}
#preview-gate p{font-size:11px;line-height:1.4}
@media(min-width:1000px){.atelier{max-width:1320px;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:76px minmax(0,1fr) 106px}.game-header{grid-column:1/-1}.stage{grid-column:1;grid-row:2/4}.console{grid-column:2;grid-row:2;margin:24px 18px 0 0;padding:16px;align-self:stretch;grid-template-rows:50px 55px minmax(110px,1fr) 45px;border-radius:24px}.game-footer{grid-column:2;grid-row:3;padding:12px 20px 4px 5px;background:transparent}.cake-options{flex-wrap:wrap;align-content:start;overflow-y:auto}.cake-options label{min-height:90px;flex:1 0 95px;max-width:none}.stage-heading{left:35px}.stage-controls{right:25px}.drag-hint{left:35px}.game-footer>button{padding:12px;font-size:11px}.game-footer strong{font-size:15px}}
@media(max-width:420px){.stage-controls button{padding:7px 9px;font-size:10px}.game-header .overline{font-size:7px;letter-spacing:1px}}
/* Piping choices fit together with two colour controls in the mobile console. */
.curl-styles{display:flex;gap:4px;height:46px;align-items:center}.curl-styles label{position:relative;flex:1;display:grid;place-items:center;font-size:10px;min-height:38px;border:1px solid #cfbea8;border-radius:12px;background:#fff8;cursor:pointer}.curl-styles input{position:absolute;opacity:0}.curl-styles label:has(:checked){background:#82623d;color:white;border-color:#82623d;box-shadow:inset 0 1px #fff5,0 3px 8px #74533225}.curl-styles label:has(:focus-visible){outline:2px solid #ae762e;outline-offset:2px}.curl-styles+.cake-colors{height:54px;gap:8px}.curl-styles+.cake-colors label{flex-direction:row;gap:5px;font-size:10px}.curl-styles+.cake-colors input[type=color]{width:30px;height:30px}.curl-styles+.cake-colors .curl-switch{max-width:85px;font-size:9px}@media(min-width:1000px){.curl-styles{height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.curl-styles label{min-height:54px;font-size:13px}.curl-styles+.cake-colors{margin-top:20px;flex-wrap:wrap;height:auto;gap:14px}.curl-styles+.cake-colors input[type=color]{width:40px;height:40px}}@media(max-width:350px){.curl-styles label{font-size:9px}.curl-styles+.cake-colors label{font-size:9px}}
/* Small 3D objects, rendered from real meshes, replace repeated text glyphs. */
.cake-options label::before{display:none!important}.ingredient-icon{display:block;width:80px;height:58px;pointer-events:none;flex-shrink:0;transition:transform .25s,filter .25s}.ingredient-icon img,.step-object img,.inline-object img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #67462224)}.cake-options label{gap:0;padding:1px 5px 5px}.cake-options label:has(:checked) .ingredient-icon,.curl-styles label:has(:checked) .ingredient-icon{transform:translateY(-3px) scale(1.06);filter:drop-shadow(0 2px 5px #bf8b3544)}.cake-options label:hover .ingredient-icon{transform:translateY(-3px)}#weight-options .ingredient-icon{width:60px;height:49px}#steps .step-object{display:block;width:35px;height:27px;transition:transform .2s}#steps button{padding:1px 0;gap:0}#steps button[aria-current=step] .step-object{transform:translateY(-2px) scale(1.12);filter:drop-shadow(0 2px 3px #ba8a3766)}#steps button[aria-current=step]{font-weight:700}.curl-styles{height:60px}.curl-styles label{gap:0;min-width:0;height:57px;padding:0 2px 3px;font-size:9px}.curl-styles .ingredient-icon{width:52px;height:34px}.curl-styles label:has(:checked){color:#674721;background:linear-gradient(135deg,#fff9e9,#e6cca355)}.curl-styles+.cake-colors{height:40px}.curl-styles+.cake-colors input[type=color]{width:26px;height:26px}.inline-object{float:left;display:block;width:62px;height:65px;margin-right:8px}.inline-object+.writing{width:calc(100% - 70px)}@media(min-width:1000px){#steps .step-object{width:40px;height:32px}.cake-options label{min-height:123px;font-size:12px;padding:5px 6px 9px}.ingredient-icon{width:102px;height:80px}#weight-options .ingredient-icon{width:84px;height:69px}.curl-styles{height:auto}.curl-styles label{height:94px;font-size:12px}.curl-styles .ingredient-icon{width:83px;height:63px}.curl-styles+.cake-colors{height:auto}.inline-object{width:84px;height:82px}.inline-object+.writing{width:calc(100% - 92px)}}@media(max-width:350px){#steps .step-object{width:29px;height:25px}.curl-styles .ingredient-icon{width:45px;height:32px}.curl-styles label{font-size:8px}}@media(prefers-reduced-motion:reduce){.ingredient-icon,#steps .step-object{transition:none!important}}
@media(min-width:1000px){.cake-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:116px;gap:7px;align-content:start}.cake-options label{min-width:0;min-height:0;padding:3px 3px 7px;font-size:11px}.ingredient-icon{width:82px;height:65px}.cake-options label:last-child:nth-child(5){grid-column:2/4}#weight-options .ingredient-icon{width:75px;height:62px}}
#weight-options{height:68px}#weight-options .ingredient-icon{height:39px;width:55px}#weight-options label{font-size:10px;min-height:0}.height-option{display:flex;align-items:center;gap:5px;font-size:10px;min-height:27px}#mini-note{font-size:9px;line-height:1.1;margin:0;color:#765c3c}.height-option:has(:disabled){display:none}@media(min-width:1000px){#weight-options{height:auto;grid-auto-rows:100px}#weight-options .ingredient-icon{height:60px;width:75px}.height-option{margin-top:12px;font-size:12px;line-height:1.4}#mini-note{font-size:11px;line-height:1.4}}
/* Warm photographic studio palette, echoing the cake sequence on the home. */
.stage{background:radial-gradient(ellipse at 12% 4%,#ffe3bba8,transparent 54%),radial-gradient(ellipse at 50% 70%,#e9d7bd,#cdbca7 95%)}
/* A clear next action; editing remains secondary to the composition. */
.game-pager #next-step{background:#75532e;color:#fff;border-radius:10px;padding:10px 12px;font-weight:650;min-height:44px;display:flex;align-items:center;gap:8px}.game-pager #next-step .brand-arrow{color:#fff}.game-pager #prev-step{min-height:44px}.game-footer>button{background:#f5efe4;color:#654b2d;border:1px solid #bda27b;box-shadow:none}.game-footer>p{line-height:1.45}.stage-controls button{min-height:44px}.stage{background:radial-gradient(ellipse at 20% 12%,#fcf4e7 0%,#ece3d6 55%,#d9cbbb 100%)}#save-dialog{max-width:650px}#cake-review{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:15px 0}#cake-review p{margin:0;padding:9px 0;border-bottom:1px solid #ded4c6;font-size:12px;overflow-wrap:anywhere}#cake-review span{display:block;color:#82725e;font-size:10px;margin-bottom:4px}#cake-review strong{font-weight:600}#draft-summary{font-size:12px;color:#77624b}#draft-form select,#draft-form input[type=date],#draft-form input[type=number]{display:block;width:100%;padding:12px;border:1px solid #c9bba8;background:#fffdf9;border-radius:8px;min-height:44px}#draft-form .request-ack{display:flex;align-items:start;gap:9px;font-size:11px;line-height:1.5;margin:18px 0}#draft-form .request-ack input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.game-header .overline{letter-spacing:1.2px}.game-footer .work-footer,.game-footer .creative-footer,.game-footer .aff-footer{display:none!important}
@media(min-width:1000px){.game-pager #next-step{font-size:11px;padding:10px}.game-footer>button{font-size:11px}.game-footer p{font-size:10px}.console{grid-template-rows:52px 52px minmax(110px,1fr) 56px}.game-footer{grid-template-rows:auto auto}.stage-heading p{max-width:80%;font-size:25px}}
@media(max-width:999px){.atelier{grid-template-rows:60px minmax(140px,1fr) 260px 106px}.console{grid-template-rows:46px 40px 118px 54px;padding:0 10px;margin:0 8px}#steps button{min-width:0;flex:1;min-height:44px;font-size:8px}.stage-heading{top:10px;left:16px}.stage-heading p{font-size:17px;max-width:90%;line-height:1.2}.stage-controls{left:10px;right:10px;bottom:22px;justify-content:center;flex-wrap:wrap;gap:4px}.stage-controls button{padding:7px 10px;font-size:10px;min-height:44px}.drag-hint{bottom:5px;left:12px;max-width:95%;font-size:8px}.game-footer{padding:9px 14px}.game-footer strong{font-size:16px}.game-footer>button{font-size:11px;padding:10px}.game-footer p{font-size:9px}.game-pager #next-step{font-size:11px}.game-pager #step-counter{font-size:9px}.cake-options label{min-width:0;font-size:10px}.console-title h2{font-size:18px}#save-dialog{width:calc(100vw - 24px);max-height:90dvh;padding:20px}#draft-form input,#draft-form textarea,#draft-form select{font-size:16px}#cake-review{grid-template-columns:1fr 1fr;gap:0 10px}.keyboard-open .atelier{grid-template-rows:50px minmax(70px,1fr) 260px 80px;overflow-y:auto}.keyboard-open .stage-controls{display:none}}
@media(max-width:350px){.stage-controls button{padding:6px 8px;font-size:9px}.game-header .overline{font-size:6px}.game-header h1{font-size:18px}.game-pager #next-step{font-size:10px;padding:10px 8px}.game-footer>button{font-size:10px}.game-footer strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cake-options label{transition:none}}
/* Keep the summary above the translucent console compositing layer. */
.game-footer{position:relative;z-index:4;background:#eee7dd}.game-footer>button{min-height:44px}#draft-status:not(:empty){padding:12px;background:#f1eadc;border-radius:10px;line-height:1.5}#draft-form select:focus-visible{outline:3px solid #ae762e;outline-offset:2px}
@media(max-width:999px){.keyboard-open .console{grid-template-rows:46px 40px 118px 54px}.game-header .overline{display:block;font-size:6px;letter-spacing:.6px;white-space:nowrap}.game-header{gap:7px;padding:5px 12px}.game-header img{width:48px}.game-header h1{font-size:19px}.game-header button{flex-shrink:0;width:40px;height:40px}.game-header .back-site{padding:0}.game-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.game-footer>div{min-width:0}.game-footer>div span{font-size:10px}.game-footer>button{max-width:174px}.game-footer>p{margin:0}}
@media(max-width:999px) and (max-height:650px){.atelier{grid-template-rows:52px minmax(160px,1fr) 248px 100px;min-height:560px}.console{grid-template-rows:44px 36px 112px 54px}.stage-heading p{font-size:13px;max-width:90%;margin:3px 0}.stage-controls button{min-height:38px;padding:5px 7px}.stage-controls{bottom:18px}.drag-hint{font-size:7px}.game-footer{padding:6px 12px}}
@media(max-width:999px) and (max-height:550px){html,body{overflow-y:auto}.atelier{height:auto;min-height:660px;grid-template-rows:52px 260px 248px 100px}}
@media(max-width:999px){.atelier{width:100%;grid-template-columns:minmax(0,1fr)}.game-footer,.game-pager{min-width:0}.game-footer>button{min-width:0}}
@media(max-width:999px) and (max-height:650px){html,body{overflow-y:auto}.atelier{height:auto;min-height:640px;grid-template-rows:52px 240px 248px 100px}.game-header{background:#eee7dd}.game-footer{position:sticky;bottom:0;box-shadow:0 -4px 18px #69513612}.stage-controls{bottom:20px}}
/* Photographic catalogue: complete objects, one fixed scale and visible labels. */
.component-photo{overflow:hidden;border-radius:12px;background:#ede4d8;isolation:isolate}.component-photo img{width:100%;height:100%;object-fit:contain;filter:none!important;mix-blend-mode:normal}.photo-unavailable{background:#eee7dc}.ingredient-icon.component-photo{width:100%;height:88px;flex-shrink:0}.cake-options label{padding:4px 4px 9px;gap:6px;background:#fffaf4;border-radius:16px;overflow:hidden}.cake-options label:has(:checked) .ingredient-icon,.cake-options label:hover .ingredient-icon{transform:none;filter:none}.cake-options label:has(:checked){border:2px solid #967345;box-shadow:0 3px 14px #77573518}.cake-options label:has(:checked)::after{right:9px;top:9px;background:#76532f;color:white;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:12px;z-index:2}#steps .step-object.component-photo{width:34px;height:29px;border-radius:7px}#steps button[aria-current=step] .step-object{transform:none;filter:none}#cake-form{min-height:0;overflow:auto;overscroll-behavior:contain}.inline-object.component-photo{width:90px;height:92px;float:left;margin:0 12px 8px 0}.inline-object+.writing{width:calc(100% - 104px)}
@media(min-width:1000px){.atelier{grid-template-columns:minmax(0,1fr) 420px}.console{min-height:0;margin-right:16px;padding:14px;grid-template-rows:52px 52px minmax(0,1fr) 56px}.cake-options,#weight-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;height:auto;gap:10px;padding:2px 1px 10px;overflow:visible}.cake-options label{font-size:12px;min-height:0;min-width:0;max-width:none;justify-content:start;padding:5px 5px 9px}.ingredient-icon.component-photo{height:115px;width:100%}.cake-options label:last-child:nth-child(5){grid-column:auto}#weight-options{grid-auto-rows:132px}#weight-options .ingredient-icon.component-photo{height:96px;width:100%}.height-option{margin:3px 0 8px}.curl-styles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;height:auto}.curl-styles label{height:135px;padding:5px;font-size:12px;background:#fffaf4;border-radius:16px;justify-content:start}.curl-styles .ingredient-icon.component-photo{height:105px;width:100%}.curl-styles+.cake-colors{margin:14px 0 5px;gap:12px}.game-footer{padding-right:18px;padding-left:0}.stage-heading{left:30px}.stage-heading p{font-size:23px;max-width:85%}}
@media(min-width:1000px) and (max-height:800px){.cake-options,#weight-options{grid-auto-rows:126px}.ingredient-icon.component-photo{height:92px}#weight-options .ingredient-icon.component-photo{height:90px}.curl-styles label{height:115px}.curl-styles .ingredient-icon.component-photo{height:83px}}
@media(max-width:999px){.atelier{grid-template-rows:60px minmax(150px,1fr) 292px 106px}.console{grid-template-rows:46px 40px 150px 54px}.cake-options{height:136px;gap:8px;padding:2px 1px 8px;align-items:stretch}.cake-options label{flex:1 0 105px;font-size:11px;justify-content:start;padding:4px 4px 8px;gap:5px}.ingredient-icon.component-photo{height:94px;width:100%}#weight-options{height:108px}#weight-options label{flex-basis:98px;font-size:10px}#weight-options .ingredient-icon.component-photo{height:74px;width:100%}.height-option{font-size:10px;min-height:31px;margin:0}.curl-styles{height:102px;display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;align-items:stretch;padding-top:2px}.curl-styles label{flex:0 0 84px;height:96px;display:flex;flex-direction:column;gap:2px;padding:4px;font-size:10px;background:#fffaf4;justify-content:start}.curl-styles .ingredient-icon.component-photo{height:66px;width:100%}.curl-styles+.cake-colors{height:44px;gap:8px;margin:0}.curl-styles+.cake-colors input[type=color]{width:30px;height:30px}.inline-object.component-photo{width:82px;height:90px}.inline-object+.writing{width:calc(100% - 96px)}.keyboard-open .console{grid-template-rows:46px 40px 150px 54px}.keyboard-open .atelier{grid-template-rows:50px minmax(70px,1fr) 292px 80px}}
@media(max-width:999px) and (max-height:650px){.atelier{height:auto;min-height:684px;grid-template-rows:52px 240px 292px 100px}.console{grid-template-rows:46px 40px 150px 54px}.game-footer{position:sticky;bottom:0}.keyboard-open .atelier{height:auto}}
@media(prefers-reduced-motion:reduce){.component-photo{transition:none}}
/* Intrinsic fieldset width must not expand horizontal photo carousels. */
#cake-form fieldset{min-width:0}.curl-styles{max-width:100%;min-width:0}.curl-styles label:has(:checked){outline:2px solid #967345;outline-offset:-2px}.curl-styles label:has(:checked) .ingredient-icon{transform:none;filter:none}#mini-decoration-note{line-height:1.45;margin:10px 0}
@media(max-width:999px){.curl-styles+.cake-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.curl-styles+.cake-colors label{min-width:0;min-height:44px;font-size:9px;justify-content:center;gap:4px}.curl-styles+.cake-colors input{flex-shrink:0}.curl-styles+.cake-colors .curl-switch{max-width:none;font-size:9px}}
@media(max-width:350px){.curl-styles+.cake-colors label,.curl-styles+.cake-colors .curl-switch{font-size:8px;gap:3px}.curl-styles+.cake-colors input[type=color]{width:26px;height:26px}}
.cake-options label:has(input:checked)::after{color:#fff;background:#76532f;font-size:12px;right:9px;top:9px}.cake-options label:has(input:checked){background:#fffaf4;border-color:#967345}
/* The cut view reveals selected fillings while keeping the cake assembled. */
#cake-visual-note{display:block;font-size:10px;line-height:1.4;letter-spacing:.1px;color:#82705c;margin-top:10px;font-family:Guadagni,system-ui,sans-serif}.stage-controls #cut-cake[aria-pressed=true]{background:#76552f;color:#fff}.stage-controls{max-width:calc(100% - 28px)}
@media(max-width:999px){#cake-visual-note{font-size:9px;margin-top:6px}.stage-controls{max-width:none;gap:4px}.stage-controls button{padding:7px 9px;font-size:10px}}
@media(max-width:350px){.stage-controls button{font-size:9px;padding:6px 7px}#cake-visual-note{font-size:8px}}
#cake-photo-preview{position:absolute;inset:0;pointer-events:none}#photo-mode[aria-pressed=true]{background:#76552f;color:#fff}.stage-controls #photo-mode{font-weight:600}
@media(max-width:999px){.stage-controls button{font-size:9px;padding:7px 8px}.stage-controls{gap:4px}}
@media(max-width:999px) and (max-height:650px){.atelier{min-height:784px;grid-template-rows:52px 340px 292px 100px}}

/* In the stacked mobile layout the document scrolls; vertical touch gestures reveal the choices. */
@media(max-width:999px) and (max-height:650px){html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}body{height:auto;min-height:100svh;overflow:visible}#cake-art,#cake-art canvas{touch-action:pan-y}}

/* Keep Atelier header controls legible and inside narrow mobile viewports. */
.game-header #open-tools{padding:0;display:grid;place-items:center;line-height:1}
@media(max-width:999px){
 .game-header>div{min-width:0;flex:1}
 .game-header .overline{white-space:normal}
 .game-header .back-site{flex:0 0 44px;min-height:44px}
 .game-header #open-tools{flex:0 0 44px;width:44px;height:44px}
}
@media(max-width:350px){
 .game-header{gap:6px;padding-inline:10px}
 .game-header img{width:40px;flex:0 0 40px}
 .game-header h1{font-size:16px}
}
