:root{--butter:#fff0b5;--navy:#172d40;--ink:#32402f;--gold:#a77d39;--cream:#fffdf4;--line:#cbb87366}*{box-sizing:border-box}body{margin:0;background:var(--butter);color:var(--navy);font-family:Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #bd842e;outline-offset:4px}header{max-width:1300px;margin:auto;padding:25px 44px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{width:150px;height:98px;object-fit:contain}.series-note{text-align:right;font-size:9px;letter-spacing:2px;line-height:2.1}.series-note b{font-weight:500;font-size:11px}main{max-width:1300px;padding:0 44px;margin:auto}.intro{text-align:center;padding:37px 0 34px}.eyebrow{font-size:10px;letter-spacing:2.7px;color:#947131}.intro h1{font:normal clamp(34px,4.2vw,58px)/1.12 Georgia,serif;margin:14px 0}.intro p{font:16px/1.6 Georgia,serif;color:#65705a;margin:0}.studio{display:grid;grid-template-columns:270px minmax(0,1fr);gap:34px;align-items:start}.ingredients{padding:15px 22px 18px 0;border-right:1px solid var(--line)}.step{display:flex;gap:12px;align-items:center}.step>span{font-size:10px;border:1px solid #ad935a80;width:27px;height:27px;border-radius:50%;display:grid;place-items:center}.step h2{font:normal 24px Georgia,serif;margin:0}.ingredients fieldset{padding:0;margin:24px 0 0;border:0}.ingredients legend{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px;color:#5e674d}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.choice{background:#fffdf06b;border:1px solid transparent;border-radius:8px;padding:8px 2px 6px;display:flex;align-items:center;flex-direction:column;gap:7px;color:var(--navy);font-size:9px;min-width:0;transition:.18s}.choice:hover{background:#fffdf4}.choice[aria-pressed=true]{border-color:var(--gold);background:var(--cream);box-shadow:0 2px 6px #6c542d10}.choice svg{width:38px;height:32px}.color-dot{width:29px;height:29px;border-radius:50%;display:block;box-shadow:inset 0 1px 4px #ffffff66,0 2px 3px #53391b25}.plate-dot{border:3px double #c7a460}.work-area{min-width:0}.cake-stage{position:relative;background:radial-gradient(ellipse at 50% 48%,#fffef9 20%,#f8f2df 100%);border:1px solid #fffdf5;border-radius:3px;box-shadow:0 12px 35px #7057190c;overflow:hidden}.stage-tools{position:absolute;top:17px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:2}.stage-tag{font-size:8px;letter-spacing:2px;color:#8b927c}.text-btn{border:0;background:none;color:#65705a;font-size:10px;padding:7px 9px;text-decoration:underline;text-underline-offset:3px}.text-btn:disabled{opacity:.35;cursor:default}.text-btn[aria-pressed=true]{background:#172d40;color:white;border-radius:5px}.cake-stage canvas{display:block;width:100%;height:auto;touch-action:none}.stage-caption{display:flex;align-items:center;justify-content:center;gap:9px;font:13px Georgia,serif;color:#788066;padding:0 10px 22px}.little-heart{font-size:22px;color:#a5783e}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#faf5e4;color:#766139;font:19px Georgia,serif}.loading[hidden]{display:none}.hint{text-align:center;color:#788066;font-size:11px;line-height:1.5;margin:15px 0 24px}.topping-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topping-heading .step h2{font-size:23px}#toppingCount{font-size:10px;color:#7e846b}.topping-tray{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.topping{border:1px solid #c6ad6950;background:#fffaf075;border-radius:9px;min-width:0;padding:6px 2px 8px;touch-action:none;user-select:none;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--navy);font-size:9px}.topping canvas{width:54px;max-width:100%;height:48px;object-fit:contain;pointer-events:none}.topping:hover,.topping[aria-pressed=true]{border-color:#a77d39;background:#fffdf5;box-shadow:0 3px 9px #71541d15}.decor-tools{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.decor-tools label{font-size:10px;color:#65705a;display:flex;align-items:center;gap:12px}.decor-tools input{width:100px;accent-color:var(--gold)}.name-card{margin:55px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:center}.name-card h2{font:normal 31px/1.2 Georgia,serif;max-width:330px;margin:14px 0}.name-card p{font:14px/1.6 Georgia,serif;color:#788066}.name-fields{display:grid;grid-template-columns:1fr 1.6fr;gap:15px}.name-fields label{display:flex;flex-direction:column;gap:9px;font-size:10px;color:#65705a}.name-fields input{width:100%;padding:13px 12px;border:1px solid #bca15f66;background:#fffdf1;border-radius:4px;color:var(--navy);font:14px Georgia,serif}.primary,.secondary{border:1px solid var(--navy);padding:14px 22px;border-radius:4px;background:var(--navy);color:var(--cream);font-size:12px;letter-spacing:.2px}.primary:hover{background:#28475a}.primary:disabled{opacity:.4}.secondary{background:transparent;color:var(--navy)}.name-fields .primary{grid-column:1/-1;display:flex;justify-content:space-between}footer{padding:10px 0 30px;display:flex;justify-content:space-between;color:#858567;font-size:10px}footer span:first-child{font:14px Georgia,serif}#dragGhost{display:none;position:fixed;pointer-events:none;z-index:1000;transform:translate(-50%,-50%);width:65px;height:65px;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 4px 5px #0003)}#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 20px;border-radius:30px;background:var(--navy);color:white;opacity:0;pointer-events:none;font-size:12px;z-index:1005;transition:opacity .2s}#toast.show{opacity:1}dialog{border:0;border-radius:8px;background:#fffdf4;padding:24px;width:min(650px,94vw);max-height:94vh;overflow:auto;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#122731bb;backdrop-filter:blur(4px)}.close-btn{position:absolute;right:12px;top:8px;border:0;background:#fffdf4;font-size:25px;color:var(--navy);width:30px;height:30px;z-index:2}.card-preview{max-width:420px;margin:auto}.card-preview canvas{width:100%;height:auto;display:block;box-shadow:0 4px 20px #2221}.card-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.card-note{text-align:center;font-size:10px;color:#7d806b;line-height:1.5}.pans .choice{font-size:8px}.pans{gap:4px}@media(min-width:1300px){.cake-stage{max-height:660px}.cake-stage canvas{max-height:610px;object-fit:contain}}@media(max-width:950px){main{padding:0 24px}.studio{grid-template-columns:220px minmax(0,1fr);gap:22px}.ingredients{padding-right:16px}.topping-tray{grid-template-columns:repeat(4,1fr)}.name-card{gap:20px}.topping-heading .step h2{font-size:19px}.choice{font-size:8px}}@media(max-width:680px){header{padding:16px 22px}.brand img{width:105px;height:72px}.series-note{font-size:7px;letter-spacing:1.2px}.series-note b{font-size:8px}main{padding:0 18px}.intro{padding:26px 0}.intro p{font-size:14px}.studio{display:flex;flex-direction:column;gap:22px}.ingredients{width:100%;border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.ingredients>.step{grid-column:1/-1}.ingredients fieldset{margin:0}.ingredients legend{font-size:9px;margin-bottom:8px}.choice{font-size:8px;padding:7px 0 5px}.choice svg{height:25px;width:30px}.color-dot{width:23px;height:23px}.work-area{width:100%}.stage-tools{top:10px;left:12px;right:8px}.stage-tag{font-size:7px;letter-spacing:1px}.text-btn{font-size:9px;padding:6px}.stage-caption{font-size:11px;padding-bottom:12px}.hint{font-size:10px;margin:11px 0 22px}.topping-tray{grid-template-columns:repeat(4,1fr);gap:7px}.topping-heading .step h2{font-size:22px}.name-card{display:block;margin-top:32px;padding:28px 0}.name-card h2{font-size:29px;max-width:none}.name-card p{font-size:13px}.name-fields{margin-top:22px;grid-template-columns:1fr}.name-fields input{font-size:16px}footer{gap:15px;font-size:8px}footer span:first-child{font-size:12px}.card-actions{gap:7px}.card-actions button{padding:12px 15px}}
@media print{body>*{display:none!important}dialog[open]{display:block!important;position:static;width:100%;max-height:none;padding:0;box-shadow:none}dialog>*{display:none!important}dialog .card-preview{display:block!important;max-width:100%;width:100%}.card-preview canvas{box-shadow:none;width:100%;max-height:95vh;object-fit:contain}@page{size:portrait;margin:10mm}}
@media(min-width:1300px){.cake-stage canvas{max-width:744px;max-height:none;margin:0 auto;object-fit:initial}}
#plates{grid-template-columns:repeat(3,1fr)}
#doilies{grid-template-columns:repeat(3,1fr)}
/* The illustrated kitchen surrounds a warm, readable decorating worktop. */
body{background:#654522 url('assets/old-fashioned-kitchen.webp') center top/cover fixed no-repeat}
body:before{content:'';position:fixed;inset:0;background:linear-gradient(#33221118,#33221138);pointer-events:none;z-index:-1}
header{margin:18px auto 0;background:#fff6dcee;border:1px solid #cfb06d80;box-shadow:0 6px 24px #24140724;border-radius:5px;padding-top:14px;padding-bottom:12px;max-width:1212px}
.intro{padding:40px 0 38px;text-shadow:0 2px 9px #251400d9}
.intro h1{color:#fff7df}.intro .eyebrow{color:#ffe2a1}.intro p{color:#fff5dd}
.studio{gap:24px;grid-template-columns:280px minmax(0,1fr)}
.ingredients{padding:24px 20px;background:#fff4d9f5;border:1px solid #d8bc7e;border-radius:5px;box-shadow:0 7px 25px #2d190c30}
.cake-stage{border:5px solid #ebdbb8;box-shadow:0 7px 25px #29160635}
.hint{background:#fff5dfed;border-radius:4px;padding:11px 14px;margin:12px 0 18px;color:#565e47}
.topping-heading{background:#fff4d9f5;margin:0;padding:17px 16px 12px;border-radius:5px 5px 0 0}
.topping-tray{background:#fff4d9f5;padding:0 15px 12px}.topping{background:#fffdf2;border-color:#bda47780}
.decor-tools{background:#fff4d9f5;margin:0;padding:0 16px 14px;border-radius:0 0 5px 5px}
.name-card{background:#fff4d9f5;border:1px solid #d8bc7e;border-radius:5px;margin-top:35px;padding:28px 30px;box-shadow:0 7px 25px #29160625}
.kitchen-vignette{display:block;width:145px;height:100px;object-fit:contain;margin-top:15px}
footer{color:#fff0cc;text-shadow:0 1px 5px #271707}
@media(max-width:950px){header{margin-left:24px;margin-right:24px}.studio{grid-template-columns:230px minmax(0,1fr);gap:18px}.ingredients{padding:20px 14px}.name-card{padding:24px}}
@media(max-width:680px){body{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y;background-position:center top}header{margin:12px 18px 0;padding:12px 16px}.intro{padding:30px 6px;min-height:220px;display:flex;flex-direction:column;justify-content:center}.intro h1{font-size:36px}.studio{gap:16px}.ingredients{padding:20px 16px}.topping-tray{padding:0 12px 12px}.topping-heading{padding:16px 12px 12px}.name-card{padding:24px 20px}.kitchen-vignette{width:125px;height:85px}.cake-stage{border-width:3px}}
@media print{body{background:white}body:before{display:none}}
/* A wooden china rack and a little stand table are the serving-piece picker. */
.studio{grid-template-columns:350px minmax(0,1fr)}
.serving-display{margin:23px -5px 0!important}.serving-display legend{margin-left:5px}
.wooden-rack{position:relative;border:9px solid #71502e;border-top-width:12px;border-radius:5px 5px 2px 2px;background:repeating-linear-gradient(90deg,#805d37 0,#805d37 24px,#76522f 25px,#896541 27px,#84603b 49px);box-shadow:inset 0 3px 15px #30190566,0 5px 10px #48301e33}
.rack-cornice{position:absolute;top:-18px;left:-16px;right:-16px;height:12px;border-radius:3px;background:linear-gradient(#ab8050,#76502c 70%,#533719);box-shadow:0 3px 3px #2f190844}
.plate-rack{display:block!important;padding:7px 7px 0}.rack-shelf{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:0 0 10px;margin:0 0 8px;border-bottom:8px solid #634021;box-shadow:0 4px 3px #38200a55}
.rack-shelf:after{content:'';position:absolute;bottom:20px;left:-3px;right:-3px;height:7px;pointer-events:none;background:linear-gradient(#bb9160,#8b6038 55%,#5a391d);box-shadow:0 3px 3px #27130055}
.rack-shelf:last-child{margin-bottom:0}.serving-choice{border:0;background:transparent;position:relative;min-width:0;padding:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;border-radius:4px;color:#fff1d1;transition:filter .15s}
.serving-choice canvas{display:block;width:100%;height:auto;filter:drop-shadow(1px 3px 2px #28180b77);pointer-events:none}.serving-choice>span{font:8px/1.1 Arial,sans-serif;min-height:12px;text-align:center;text-shadow:0 1px 2px #251300;padding:0 1px 3px;max-width:100%}
.serving-choice:hover canvas{filter:drop-shadow(0 0 4px #ffeab8)}.serving-choice[aria-pressed=true] canvas{filter:drop-shadow(0 0 4px #fff5bd) drop-shadow(0 0 2px #fff5bd)}
.serving-choice[aria-pressed=true]:before{content:'✓';position:absolute;top:2px;right:2px;width:17px;height:17px;display:grid;place-items:center;background:#fff1b8;color:#4a3d24;border-radius:50%;font:bold 11px Arial;z-index:3;box-shadow:0 1px 4px #2113}
.stand-table{position:relative;margin:12px -8px 0;padding:8px 9px 17px;background:linear-gradient(transparent 0,transparent 73%,#ad7a48 73%,#c49563 77%,#a5703e 84%,#784b28 85%,#694321 94%,transparent 94%);border-radius:3px}
.stand-table:before,.stand-table:after{content:'';position:absolute;bottom:0;width:10px;height:15px;background:linear-gradient(90deg,#684423,#9b6b3d,#684423);z-index:0}.stand-table:before{left:15px}.stand-table:after{right:15px}.stand-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:3px}.stand-choice>span{background:#fff4da;color:#5c4a30;text-shadow:none;padding:3px 4px;border-radius:2px;position:relative;z-index:2;min-height:17px;white-space:nowrap}.stand-choice canvas{margin-bottom:0}
.serving-label{text-align:center;font:italic 11px Georgia,serif;color:#746244;margin:10px 0 0!important}
@media(max-width:1100px){.studio{grid-template-columns:300px minmax(0,1fr)}.ingredients{padding:20px 16px}.serving-choice>span{font-size:7px}.topping-tray{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.serving-display{grid-column:1/-1;max-width:390px;width:100%;margin:10px auto 0!important}.ingredients{grid-template-columns:1fr 1fr}.plate-rack{padding:7px 9px 0}.serving-choice>span{font-size:9px}.rack-shelf{gap:8px}.stand-table{padding-left:15px;padding-right:15px}.serving-label{font-size:12px}.work-area{margin-top:0}}
#finishes{grid-template-columns:repeat(2,1fr)}#finishes .choice{font-size:10px;padding:8px 5px;flex-direction:row;justify-content:center}#finishes svg{width:35px}
#finishes canvas{width:46px;height:35px;object-fit:contain}
/* The cupboard is one hand-illustrated scene; its china stays directly selectable. */
.illustrated-cupboard{position:relative;margin:0 -10px}.illustrated-cupboard>img{width:100%;height:auto;display:block;filter:drop-shadow(0 4px 5px #3d230b22)}
.illustrated-cupboard #plates,.illustrated-cupboard #stands{display:block!important;position:absolute;inset:0;padding:0;margin:0;pointer-events:none}
.illustrated-cupboard .serving-choice{pointer-events:auto;position:absolute;left:calc(4% + var(--col)*30%);top:calc(7% + var(--row)*21%);width:32%;height:22%;background:none;border:0;border-radius:50%;padding:0;box-shadow:none}
.illustrated-cupboard .stand-choice{top:75%;height:23%;left:calc(4% + var(--col)*30%)}
.illustrated-cupboard .serving-choice>span{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff5d9ed;padding:4px 6px;border-radius:3px;color:#60472d;font:9px Arial,sans-serif;opacity:0;z-index:5;text-shadow:none;pointer-events:none;min-height:0}
.illustrated-cupboard .serving-choice:hover>span,.illustrated-cupboard .serving-choice:focus-visible>span{opacity:1}
.illustrated-cupboard .serving-choice[aria-pressed=true]:before{top:auto;bottom:12%;right:8%;width:18px;height:18px;background:#fff5d8;border:1px solid #96723d;color:#654721;font-size:11px}
.cake-stage{background:#b88c51;border-color:#d9be88}.stage-tools{background:#fff5dbed;top:0;left:0;right:0;padding:10px 15px}.stage-caption{background:#fff5dbea;padding:10px 8px;margin:0}.cake-stage canvas{max-width:none!important;max-height:none!important;width:100%;height:auto;object-fit:initial!important}.cake-stage{max-height:none!important}
@media(min-width:1101px){.studio{grid-template-columns:330px minmax(0,1fr)}}
.illustrated-cupboard .serving-choice{left:calc(9% + var(--col)*26%);top:calc(10% + var(--row)*18%);width:30%;height:18%}
.illustrated-cupboard .stand-choice{left:calc(4% + var(--col)*30%);top:70%;width:32%;height:17%}
/* Faded turquoise beadboard, painted in the same storybook texture. */
.ingredients,.topping-heading,.topping-tray,.decor-tools,.name-card{background-color:#bad5cc;background-image:linear-gradient(#89c8cf24,#89c8cf24),url('assets/faded-turquoise-beadboard.webp');background-size:auto,420px auto;background-repeat:repeat;border-color:#8daea3}
.ingredients legend{color:#344f48;font-weight:600}.ingredients .step h2,.topping-heading h2{color:#23453f}.serving-label{color:#38584d}.decor-tools label,.decor-tools .text-btn{color:#38584d}.ingredients .choice{background:#fff9e8b8}.ingredients .choice[aria-pressed=true]{background:#fffbee;border-color:#9a7942}.name-card .eyebrow{color:#5c6141}.name-card p{color:#40594e}
.ingredients,.topping-heading,.topping-tray,.decor-tools,.name-card{background-size:auto,150px auto}
#shapes .choice{padding:4px 4px 7px;gap:6px}#shapes .choice canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:5px;box-shadow:0 1px 4px #53351920}#shapes .choice span{font-size:9px}#shapes .choice[aria-pressed=true] canvas{box-shadow:0 0 0 1px #9a7942}
.ingredients,.topping-heading,.topping-tray,.decor-tools,.name-card{background-size:auto,96px auto}
.work-area .topping-heading{margin-top:18px}
.name-card .kitchen-vignette{width:110px;height:65px;margin:0 0 9px;object-position:left center}.name-card h2{margin:8px 0;max-width:430px}.name-card p{margin:6px 0}

.name-fields #saveCake{grid-column:1/-1;display:flex;justify-content:space-between;background:#fffdf1d9}

/* Recipe-card and independent icing refinements. */
header{overflow:hidden;position:relative;gap:24px}.header-art{width:48%;height:125px;object-fit:cover;object-position:center 48%;border-radius:2px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.brand,.series-note{position:relative;z-index:1}.ingredients>.step h2{font-size:27px;line-height:1.15}.touch-hint{display:none}.no-choice{height:29px;display:grid;place-items:center}.doily-lace,.doily-gingham{width:32px;height:25px;border:3px dotted #d4c8b1;border-radius:50%;background:#fffdf5}.doily-gingham{background:repeating-linear-gradient(0deg,#c54b4766 0 4px,transparent 4px 8px),repeating-linear-gradient(90deg,#c54b4766 0 4px,#fff5e9 4px 8px)}
dialog{width:min(1100px,96vw)}.card-preview{max-width:1000px}#glazes{grid-template-columns:repeat(3,1fr)}
@media(max-width:680px){header{gap:6px;flex-wrap:wrap}.header-art{order:3;width:100%;height:125px;mask-image:none;object-position:center 45%}.series-note{margin-left:auto}.ingredients>.step h2{font-size:28px;max-width:310px}#cake,.topping{touch-action:pan-y}.touch-hint{display:block;background:#fff9e5e8;padding:10px 14px;margin:8px 0;font-size:12px;color:#445442;line-height:1.5}.card-actions{flex-wrap:wrap}.card-preview{min-width:0}dialog{padding:24px 12px 14px}.choice{min-height:48px}.name-fields{gap:16px}}
@media print{@page{size:landscape;margin:10mm}.card-preview canvas{width:100%;height:auto;max-height:95vh}}

header{min-height:250px;padding:30px 35px;background:linear-gradient(90deg,#39211320,#39211320),url('assets/bake-shop-banner.webp') center 43%/cover;box-shadow:0 5px 28px #2c180b33;border:3px solid #e5d6ae}.brand{background:#fff8e6ee;padding:10px 14px;border-radius:3px}.shop-sign{background:#fff8e9ed;text-align:center;padding:22px 30px;border:1px solid #b6975f;outline:5px solid #fff8e9cc;max-width:570px}.shop-sign h1{font:normal clamp(30px,3.2vw,49px)/1.1 Georgia,serif;margin:10px 0 2px;color:#32402f}.shop-sign .eyebrow{font-size:9px;letter-spacing:3px}.series-note{padding:12px;background:#fff8e9ed;border-radius:2px;max-width:210px}.intro h2{font:normal clamp(29px,3.3vw,43px)/1.2 Georgia,serif;color:#fff4cf;margin:0 0 12px}.intro{padding:30px 0}
@media(max-width:680px){header{min-height:280px;padding:15px;justify-content:space-between;gap:20px}.brand{padding:4px 8px}.shop-sign{order:3;flex-basis:100%;padding:14px 10px;margin:0 8px}.shop-sign h1{font-size:31px}.series-note{max-width:160px;font-size:7px}.intro{min-height:0;padding:25px 5px}.intro h2{font-size:28px}.brand img{height:65px;width:100px}}

/* Shannon's supplied banner artwork, with a readable compact treatment. */
header.reference-banner{display:block;min-height:0;height:auto;padding:0;margin-top:18px;gap:0;background:#071b38;border:0;border-radius:0;overflow:hidden;box-shadow:0 5px 28px #2c180b33}.full-banner{display:block;width:100%;height:auto}.mobile-banner{display:none}.banner-accessible-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
@media(max-width:680px){header.reference-banner{min-height:0;margin:12px 18px 0;padding:0}.full-banner{display:none}.mobile-banner{display:flex;align-items:center;justify-content:space-between;min-height:160px;background:linear-gradient(90deg,#071b38 42%,#071b3899 100%),url('assets/bake-shop-banner.webp') right center/cover}.mobile-banner-logo{display:block;flex:0 0 44%;height:145px;background:url('assets/pound-cake-header.jpg') left center/354% auto no-repeat}.mobile-banner-title{flex:1;padding:12px 12px 12px 2px;color:#ffdc27;font:bold clamp(21px,5.7vw,32px)/1.2 Georgia,serif;text-align:center;letter-spacing:.5px;text-shadow:0 2px 3px #0009}}

/* A paper recipe card beneath the decorating tools. */
.work-area .name-card{position:relative;isolation:isolate;width:100%;margin:28px 0 0;padding:28px 30px 26px 38px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:center;border:1px solid #d1bb90;border-radius:9px 0 7px 7px;background:linear-gradient(90deg,transparent 24px,#b9635144 24px,#b9635144 25px,transparent 25px),repeating-linear-gradient(0deg,transparent 0 30px,#839fa31c 30px 31px),#fff9e9;box-shadow:3px 7px 18px #2b180c40;clip-path:polygon(0 0,calc(100% - 21px) 0,100% 21px,100% 100%,0 100%)}
.work-area .name-card:before{content:'';position:absolute;right:0;top:0;width:21px;height:21px;background:linear-gradient(45deg,#d8c59c 49%,transparent 51%);z-index:-1}
.work-area .name-card h2{font-size:27px;line-height:1.18;margin:9px 0;max-width:300px;color:#32402f}.work-area .name-card p{font-size:13px;line-height:1.5;color:#6f755f;margin:8px 0}.work-area .name-card .eyebrow{font-size:8px;letter-spacing:1.7px;display:block}.work-area .name-card .kitchen-vignette{width:98px;height:60px;margin:0 0 12px;display:block}.work-area .name-fields{grid-template-columns:1fr;gap:12px;margin:0}.work-area .name-fields label{font-size:11px;gap:5px}.work-area .name-fields input{background:#fffdf5d9;padding:10px 11px}.work-area .name-fields button{padding:12px 14px;font-size:11px}
@media(min-width:681px) and (max-width:1050px){.work-area .name-card{grid-template-columns:1fr;gap:15px}.work-area .name-card h2{max-width:none}.work-area .name-card .kitchen-vignette{float:left;margin:0 15px 5px 0;width:75px;height:65px}.work-area .name-fields{clear:both}}
@media(max-width:680px){.work-area .name-card{grid-template-columns:1fr;padding:24px 21px 24px 34px;gap:20px;margin-top:22px}.work-area .name-card h2{max-width:none;font-size:28px}.work-area .name-fields input{font-size:16px}}

/* Lemon-and-daisy recipe stationery. */
.work-area .name-card{min-height:375px;padding:95px 8% 45px 16%;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px;align-items:center;border:0;border-radius:14px;background:#f8e9c9 url('assets/lemon-recipe-paper.webp') center/100% 100% no-repeat;clip-path:none;box-shadow:3px 7px 20px #2b180c4d}
.work-area .name-card:before{display:none}.work-area .name-card:after{content:'Recipe';position:absolute;left:17%;top:23px;font:italic 42px/1.1 Georgia,serif;color:#3e452f;letter-spacing:1px}.work-area .name-card .kitchen-vignette{display:none}.work-area .name-card h2{font-size:26px}.work-area .name-card .eyebrow{font-size:8px;letter-spacing:1.3px}.work-area .name-fields input{border-color:#ad936c99;background:#fffdf1d9}.work-area .name-fields #saveCake{background:#fff9e9c9}.work-area .name-fields label{color:#4e523e}
@media(min-width:681px) and (max-width:1050px){.work-area .name-card{grid-template-columns:1fr;min-height:460px;padding:88px 10% 40px 18%;gap:12px}.work-area .name-card:after{left:19%;top:25px;font-size:36px}.work-area .name-card h2{font-size:24px}.work-area .name-card .eyebrow{display:none}}
@media(max-width:680px){.work-area .name-card{grid-template-columns:1fr;min-height:515px;padding:95px 10% 45px 19%;gap:16px}.work-area .name-card:after{left:21%;top:30px;font-size:37px}.work-area .name-card h2{font-size:26px}.work-area .name-card .eyebrow{display:none}}

/* Match the approved recipe-card mockup; retain live form controls. */
@font-face{font-family:Caveat;src:url('assets/caveat.ttf') format('truetype');font-display:swap}
.work-area .name-card{padding:42px 8% 40px 11%;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:center}
.work-area .name-card:after{display:none}
.work-area .name-card .recipe-section-title{grid-column:1/-1;max-width:none;margin:0 0 2px;text-align:center;font:bold clamp(20px,2.65vw,37px)/1.15 Georgia,serif;color:#171b13;letter-spacing:.4px}
.work-area .name-card .recipe-intro h2{font-size:clamp(23px,2.7vw,40px);max-width:360px;line-height:1.22;margin:14px 0}
.work-area .name-card p{font-size:clamp(14px,1.55vw,21px);line-height:1.5}
.work-area .name-card .eyebrow{font-size:10px;letter-spacing:1.5px}
.work-area .name-fields{grid-template-columns:1fr;gap:13px;margin:0}
.work-area .name-fields label{font-size:12px;gap:6px}
.work-area .name-fields input{font-size:16px;padding:11px 12px}
.work-area .name-fields button{font-size:12px;padding:14px 16px}
@media(max-width:850px){.work-area .name-card{padding:32px 8% 34px 12%;grid-template-columns:1fr;gap:18px}.work-area .name-card .recipe-section-title{font-size:23px}.work-area .name-card .recipe-intro h2{font-size:28px;max-width:none}.work-area .name-card .eyebrow{display:block;font-size:8px}.work-area .name-card p{font-size:15px}.work-area .name-fields input{font-size:16px}}

/* Clear, prominent directions for young cake decorators. */
.ingredients legend.instruction-step{font:normal 25px/1.2 Georgia,serif;letter-spacing:0;text-transform:none;color:#23453f;margin-bottom:14px;max-width:100%}
.topping-heading .step h2{font-size:25px;line-height:1.2}.topping-heading .step{min-width:0}.topping-heading{gap:12px}#toppingCount{flex-shrink:0}
@media(max-width:680px){.ingredients legend.instruction-step{font-size:23px}.ingredients fieldset:has(.instruction-step){grid-column:1/-1}.topping-heading .step h2{font-size:23px}.topping-heading{align-items:start}#toppingCount{font-size:9px;padding-top:5px}}

.ingredients .instruction-detail{display:block;font:12px/1.4 Arial,sans-serif;letter-spacing:0;margin-top:7px;color:#344f48}

/* A little working radio perched over the cake-window frame. */
.radio-control{position:relative;z-index:4;display:flex;align-items:center;width:max-content;max-width:100%;height:118px;margin:-10px 14px -22px auto;border:0;padding:0;background:none;color:#263c20;text-align:center;isolation:isolate}
.radio-art{position:relative;display:block;width:112px;flex-shrink:0;z-index:1;filter:drop-shadow(1px 3px 3px #29150855)}.radio-art img{display:block;width:100%;height:auto}.radio-symbol{position:absolute;left:50.5%;top:76.5%;transform:translate(-50%,-50%);font:13px/1 Arial,sans-serif;color:#2d451f}
.radio-plaque{display:flex;flex-direction:column;gap:5px;margin-left:-14px;padding:12px 18px 12px 24px;border:2px solid #b58b43;border-radius:17px;background:linear-gradient(115deg,#fff8df,#f5e1af);box-shadow:inset 0 0 0 2px #fff4d2,1px 3px 5px #29150844}.radio-plaque strong{font:bold 19px/1.15 Georgia,serif}.radio-plaque>span{font:italic 13px/1.2 Georgia,serif}.radio-control:hover .radio-plaque{background:#fff6d7}.radio-control[aria-pressed=true] .radio-art{filter:drop-shadow(0 0 5px #ffd778)}
@media(max-width:680px){.radio-control{height:104px;margin:0 5px -18px auto}.radio-art{width:98px}.radio-plaque{padding:10px 12px 10px 20px}.radio-plaque strong{font-size:17px}.radio-plaque>span{font-size:12px}.radio-symbol{font-size:12px}}
@media print{.radio-control{display:none!important}}

.radio-control{flex-direction:row-reverse}.radio-plaque{margin-left:0;margin-right:-14px;padding:12px 24px 12px 18px}
.shop-footer{align-items:center;gap:24px;margin-top:28px;padding:22px 26px;background:#fff7e7ed;border:1px solid #d2b77c;border-radius:7px;color:#354a38}.footer-brand{display:flex;flex-direction:column;gap:7px}.footer-brand>span{font:20px Georgia,serif}.footer-brand small{font:11px Arial,sans-serif}.book-order{display:inline-flex;gap:18px;align-items:center;text-decoration:none;white-space:nowrap}
@media(max-width:680px){.radio-plaque{padding:10px 20px 10px 12px}.shop-footer{padding:18px;flex-wrap:wrap;justify-content:center;text-align:center}.footer-brand{width:100%}}

.footer-purchase{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-left:auto}.publisher-logo{display:block;width:150px;height:auto;background:white;border-radius:4px}.book-thumbnail{width:76px;height:auto;max-height:90px;object-fit:contain;border-radius:2px;box-shadow:0 2px 6px #29150833}.shop-footer{padding:18px 22px}.footer-brand>span{font-size:18px}
@media(max-width:850px){.shop-footer{flex-wrap:wrap}.footer-purchase{max-width:100%;flex-wrap:wrap;gap:12px}.publisher-logo{width:125px}.book-thumbnail{width:64px}.book-order{font-size:11px;padding:12px 15px}}
@media(max-width:680px){.footer-purchase{justify-content:center;margin:auto}.publisher-logo{width:120px}.footer-brand{width:100%}}

/* A light, unboxed footer over the kitchen backdrop. */
.shop-footer{background:none;border:0;border-radius:0;box-shadow:none;padding:24px 0 28px;color:white;text-shadow:0 1px 4px #231205,0 1px 2px #231205}.footer-brand>span,.footer-brand small{color:white}.footer-purchase{flex-direction:row-reverse;gap:18px}.publisher-logo,.book-thumbnail{width:150px;height:92px;max-height:none;object-fit:contain}.publisher-logo{background:white}.book-thumbnail{object-fit:cover;box-shadow:0 2px 7px #2117}.book-order{text-shadow:none}
@media(max-width:680px){.shop-footer{padding:20px 0 28px;gap:20px}.footer-purchase{width:100%;justify-content:flex-start;gap:10px;flex-wrap:wrap}.publisher-logo,.book-thumbnail{width:112px;height:70px}.book-order{font-size:11px;padding:12px 13px;gap:8px}.footer-brand{text-align:center}}
@media(max-width:680px){.footer-purchase{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-areas:'order cover logo';align-items:center}.publisher-logo{grid-area:logo}.book-thumbnail{grid-area:cover}.publisher-logo,.book-thumbnail{width:100%;height:auto;aspect-ratio:1.63}.book-order{grid-area:order;white-space:normal;justify-content:center;font-size:11px;padding:12px 8px}}
