.pizza-tile{background:linear-gradient(145deg,#ffdda4,#ffb18c);color:#8f4935}.pizza-picture{background:url('pizza-kitchen.png') 100% 100%/200% 200%;border-radius:30px;overflow:hidden}
.pizza-screen{max-width:1050px;margin:auto;padding:0 16px calc(var(--dock-space) + 18px)}.pizza-screen[hidden]{display:none}.pizza-heading{text-align:center}.pizza-heading h1{color:#8f4c3b;font-size:clamp(25px,3vw,34px);margin:0 0 5px}.pizza-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pizza-steps{display:flex;justify-content:center;gap:7px;padding:0;margin:0 auto 12px;list-style:none}.pizza-steps li{display:grid;place-items:center;width:48px;height:45px;padding:5px;border:3px solid transparent;border-radius:15px;opacity:.45;background:#fff9e9;transition:opacity .2s,transform .2s}.pizza-steps li.current{opacity:1;border-color:#9b76dd;transform:scale(1.1);box-shadow:0 3px 0 #dfcaee}.pizza-steps li.complete{opacity:1;background:#e0f2cf}.pizza-steps .pizza-sprite,.pizza-steps .pizza-oven-icon,.pizza-steps .pizza-slice-icon{width:100%;height:100%}
.pizza-kitchen{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;padding:20px;background:linear-gradient(140deg,#fff0d4,#ffdbbb);border:5px solid white;border-radius:32px;box-shadow:0 6px 0 #dba48b;min-height:330px;overflow:hidden}.pizza-worktop{min-width:0;display:flex;flex-direction:column;align-items:center;flex:1}.pizza-stage{position:relative;width:min(100%,420px,calc(100svh - 330px));min-width:240px;aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none;background:#fff4da;border-radius:50%;box-shadow:inset 0 0 0 9px #edd0a166}
.pizza-disc{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;touch-action:none;z-index:2;transition:transform .7s,opacity .7s}.pizza-disc:focus-visible,.pizza-utensil:focus-visible{outline:4px solid #9b76dd;outline-offset:4px}
.pizza-base,.pizza-pieces{position:absolute;inset:0;pointer-events:none}.pizza-base,.pizza-sprite,.pizza-sauce-texture{background-image:url('pizza-ingredients.png');background-size:300% 300%;display:block}.pizza-base{background-position:0 0;transition:transform .25s}.pizza-sauce-texture{position:absolute;inset:0;background-position:50% 0;clip-path:circle(36% at 50% 52%);transform:scale(var(--sauce-fill,0));opacity:var(--sauce-fill,0);transition:transform .12s,opacity .12s}.pizza-base[data-sauce=alfredo] .pizza-sauce-texture{filter:grayscale(1) brightness(2.5) sepia(.18)}.pizza-base[data-sauce=bbq] .pizza-sauce-texture{filter:sepia(.7) brightness(.62) saturate(.9)}.pizza-base[data-sauce=buffalo] .pizza-sauce-texture{filter:hue-rotate(18deg) saturate(1.3) brightness(1.13)}
.pizza-cheese-layer{position:absolute;inset:8%;background:url('pizza-melted-cheese.png') center/contain no-repeat;opacity:var(--cheese-fill,0);clip-path:circle(calc(52% * var(--cheese-fill,0)) at 50% 50%);transition:clip-path .12s,opacity .12s;pointer-events:none}.pizza-screen[data-stage=rolling] .pizza-base{transform:scale(var(--dough-scale,.62))}.pizza-topping{position:absolute;width:16%;aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 2px 1px #82432a33)}
/* Crop the generated utensil sheet without altering the source artwork. */
.pizza-tool-art{display:block;width:100%;background-image:url('pizza-touch-tools.png');background-repeat:no-repeat;pointer-events:none}.pizza-tool-art[data-tool="0"]{aspect-ratio:665/250;background-size:188.57% 501.6%;background-position:1.7% 20.9%}.pizza-tool-art[data-tool="1"]{aspect-ratio:560/465;background-size:223.93% 269.68%;background-position:97.98% 12.67%}.pizza-tool-art[data-tool="2"]{aspect-ratio:405/510;background-size:309.63% 245.88%;background-position:15.9% 87.36%}.pizza-tool-art[data-tool="3"]{aspect-ratio:560/500;background-size:223.93% 250.8%;background-position:97.98% 86.21%}
.pizza-utensil{position:absolute;z-index:7;display:grid;place-items:center;width:36%;min-width:105px;min-height:105px;padding:5px;border:0;background:none;transform:translate(-50%,-50%);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 7px 4px #73503540)}.pizza-screen[data-stage=rolling] .pizza-utensil{width:68%;height:30%}.pizza-utensil .pizza-tool-art{transition:transform .15s}.pizza-working .pizza-utensil{cursor:grabbing}.pizza-flowing[data-stage=sauce] .pizza-utensil .pizza-tool-art{transform:rotate(-48deg)}.pizza-flowing[data-stage=cheese] .pizza-utensil .pizza-tool-art{animation:pizza-shaker .32s ease-in-out infinite}.pizza-screen[data-stage=sauce]:has([data-sauce=alfredo][aria-pressed=true]) .pizza-utensil .pizza-tool-art{filter:grayscale(1) brightness(2) sepia(.15)}.pizza-screen[data-stage=sauce]:has([data-sauce=bbq][aria-pressed=true]) .pizza-utensil .pizza-tool-art{filter:sepia(.6) brightness(.7)}.pizza-screen[data-stage=sauce]:has([data-sauce=buffalo][aria-pressed=true]) .pizza-utensil .pizza-tool-art{filter:hue-rotate(18deg) saturate(1.3)}
.pizza-gesture-cue{position:absolute;z-index:8;left:70%;top:29%;font-size:50px;line-height:1;color:#fff;text-shadow:0 2px 3px #725e8399;pointer-events:none;animation:pizza-guide 2.4s ease-in-out infinite}.pizza-screen[data-stage=rolling] .pizza-gesture-cue{left:40%;top:62%;animation-name:pizza-roll-guide}.pizza-working .pizza-gesture-cue{display:none}.pizza-stage-check{position:absolute;right:5%;bottom:8%;z-index:9;background:#82b85c;color:white;border:4px solid white;border-radius:50%;font-size:42px;width:58px;height:58px;display:grid;place-items:center;pointer-events:none;animation:pizza-check .3s ease-out}
.pizza-prep-progress{width:65%;height:10px;border:2px solid white;border-radius:10px;margin-top:8px;background:#e3ccac;overflow:hidden}.pizza-prep-progress>span{display:block;height:100%;width:0;background:#99c77a;border-radius:10px;transition:width .08s linear}
.pizza-tools{width:205px;flex:none;display:flex;flex-direction:column;gap:14px}.pizza-sauce-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pizza-sauce-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:102px;border:3px solid white;border-radius:20px;background:#fff8ec;color:#745240;touch-action:manipulation;cursor:pointer;box-shadow:0 3px 0 #d5ad82}.pizza-sauce-choice .pizza-tool-art{width:65px}.pizza-sauce-choice small{font-size:13px;font-weight:900}.pizza-sauce-choice[aria-pressed=true]{border-color:#a17bd7;background:#f0e5ff}.pizza-sauce-choice[data-sauce=alfredo] .pizza-tool-art{filter:grayscale(1) brightness(2) sepia(.15)}.pizza-sauce-choice[data-sauce=bbq] .pizza-tool-art{filter:sepia(.6) brightness(.7)}.pizza-sauce-choice[data-sauce=buffalo] .pizza-tool-art{filter:hue-rotate(18deg) saturate(1.3)}
.pizza-chop-board{position:absolute;inset:5%;z-index:4;display:grid;place-items:center;border:6px solid #c38b50;border-radius:24px;background:repeating-linear-gradient(0deg,#eac18a 0 19px,#dfb17a 20px 23px);box-shadow:0 5px 0 #ba844d;touch-action:manipulation;cursor:pointer}.pizza-screen[data-stage=chopping] .pizza-disc{visibility:hidden}#pizza-chop-food{position:relative;width:62%;aspect-ratio:1;display:block;margin-top:18%}#pizza-chop-food .pizza-sprite{position:absolute;inset:0;width:100%;height:100%}.pizza-half-left{clip-path:polygon(0 0,50% 0,50% 100%,0 100%);transform:translateX(-10px)}.pizza-half-right{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);transform:translateX(10px)}.pizza-chop-cutter{position:absolute;width:45%;left:38%;top:2%;z-index:2;transform:rotate(-18deg)}.chopping .pizza-chop-cutter{animation:pizza-chop .35s}.pizza-chop-cue{position:absolute;right:12%;bottom:16%;font-size:44px;color:white;text-shadow:0 2px 3px #8d663c;animation:pizza-cue-tap 1.6s infinite;pointer-events:none}.pizza-chop-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pizza-chop-progress .pizza-sprite{aspect-ratio:1;opacity:.35}.pizza-chop-progress .ready{opacity:1;filter:drop-shadow(0 2px 0 white)}.pizza-screen:not([data-stage=chopping]) .pizza-chop-progress{display:none}
.pizza-toppings{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pizza-topping-button{display:grid;place-items:center;border:3px solid white;border-radius:18px;background:#fff8e9;min-width:60px;min-height:65px;padding:4px;touch-action:none;cursor:grab}.pizza-topping-button .pizza-sprite{width:100%;aspect-ratio:1;pointer-events:none}.pizza-topping-button[aria-pressed=true]{background:#e2f8cc;border-color:#6fba80}.pizza-ghost{position:fixed;z-index:1000;width:76px;height:76px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 6px 4px #6c463644)}
.pizza-bake{border:4px solid white;border-radius:24px;min-height:92px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;font-weight:900;background:#9874d8;color:white;box-shadow:0 5px 0 #7051ac;touch-action:manipulation;cursor:pointer}.pizza-bake b{font-size:32px}.pizza-bake .pizza-oven-icon,.pizza-bake .pizza-slice-icon{width:80px;height:75px;flex:none}.pizza-oven-icon{display:block;background:url('pizza-kitchen.png') 0 0/200% 200% no-repeat}.pizza-slice-icon{display:block;background:url('pizza-kitchen.png') 0 100%/200% 200% no-repeat}.pizza-oven{position:absolute;inset:0;background:url('pizza-kitchen.png') 0 0/200% 200%;pointer-events:none;animation:pizza-oven-warm 1s ease-in-out infinite alternate;z-index:1}.pizza-screen[data-stage=baking] .pizza-disc{transform:translateY(25px) scale(.25);opacity:0}.pizza-screen[data-stage=done] .pizza-disc,.pizza-screen[data-stage=cutting] .pizza-disc{filter:sepia(.12) saturate(1.08)}
.pizza-cut-lines{position:absolute;inset:12%;border-radius:50%;overflow:hidden;pointer-events:none;z-index:3}.pizza-cut-lines i{position:absolute;left:0;top:49%;width:100%;height:1.5%;background:#a46b3c;box-shadow:0 1px #ffe1a8;opacity:0}.pizza-cut-lines i:nth-child(2){transform:rotate(60deg)}.pizza-cut-lines i:nth-child(3){transform:rotate(120deg)}.pizza-cut-lines[data-cuts="1"] i:first-child,.pizza-cut-lines[data-cuts="2"] i:nth-child(-n+2),.pizza-cut-lines[data-cuts="3"] i{opacity:1}
.pizza-plate{position:absolute;inset:8%;border:12px solid #bdd7ed;border-radius:50%;background:radial-gradient(#fff 55%,#e5f5ff 57%,#fff 69%);box-shadow:0 8px 0 #9aaed2;z-index:6;pointer-events:none}.pizza-served-slice{position:absolute;inset:0;clip-path:polygon(50% 50%,14% 0,86% 0);transform:translate(0,25%);filter:sepia(.12);animation:pizza-to-plate 1.5s ease-in-out}.pizza-screen[data-stage=serving] .pizza-disc{opacity:.2}
.pizza-effects{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:visible}.pizza-falling{position:absolute;pointer-events:none;animation:pizza-fall .65s ease-in forwards}.cheese-flake{width:11%;aspect-ratio:1}.sauce-drop{width:4%;height:14%;background:var(--sauce-color);border-radius:50% 50% 45% 45%}.pizza-finished-preview{position:relative;width:120px;height:120px;margin:3px auto;filter:sepia(.12)}
.pizza-sticker .sticker-art{background-repeat:no-repeat;filter:drop-shadow(0 1px 0 white) drop-shadow(0 -1px 0 white) drop-shadow(1px 0 0 white) drop-shadow(-1px 0 0 white)}.pizza-sticker.rare .sticker-art{filter:sepia(1) saturate(2.5) hue-rotate(350deg) brightness(1.1) drop-shadow(0 1px 0 white)}
.pizza-screen [hidden]{display:none!important}.pizza-screen[hidden] *,.pizza-paused *{animation-play-state:paused!important}
@keyframes pizza-guide{0%,15%{transform:translate(0,0);opacity:.9}65%{transform:translate(-70px,65px);opacity:.8}90%,100%{transform:translate(-70px,65px);opacity:0}}@keyframes pizza-roll-guide{0%,15%{transform:translateX(-35px);opacity:1}70%{transform:translateX(65px)}100%{transform:translateX(-35px);opacity:0}}@keyframes pizza-cue-tap{50%{transform:scale(.85)}}@keyframes pizza-shaker{0%,100%{transform:rotate(-130deg)}50%{transform:rotate(-150deg) translateY(-5px)}}@keyframes pizza-fall{from{transform:translate(0,-12px);opacity:1}to{transform:translate(var(--drift),50px) scale(.7);opacity:0}}@keyframes pizza-check{from{transform:scale(.5)}to{transform:scale(1)}}@keyframes pizza-chop{50%{transform:translate(-35px,45px) rotate(-18deg)}}@keyframes pizza-oven-warm{to{filter:drop-shadow(0 0 15px #ffc05a)}}@keyframes pizza-to-plate{from{transform:translate(65%,-20%) rotate(20deg) scale(.7)}to{transform:translate(0,25%)}}
@media(max-width:700px){.pizza-screen{padding:0 8px calc(var(--dock-space) + 12px)}.pizza-heading h1{font-size:26px;margin:0 0 4px}.pizza-steps{gap:4px;margin-bottom:9px}.pizza-steps li{width:36px;height:34px;padding:4px;border-radius:11px}.pizza-kitchen{flex-direction:column;gap:9px;padding:12px;min-height:0}.pizza-worktop{width:100%}.pizza-stage{width:min(100%,340px,calc(100svh - 365px));min-width:225px}.pizza-tools{width:100%;max-width:370px;gap:8px}.pizza-sauce-options{grid-template-columns:repeat(4,1fr);gap:6px}.pizza-sauce-choice{min-height:78px;padding:3px}.pizza-sauce-choice .pizza-tool-art{width:52px}.pizza-sauce-choice small{font-size:11px}.pizza-toppings{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.pizza-topping-button{min-width:0;min-height:52px;border-width:2px}.pizza-bake{min-height:64px;font-size:20px;border-radius:19px}.pizza-bake .pizza-oven-icon,.pizza-bake .pizza-slice-icon{width:60px;height:50px}.pizza-chop-progress{grid-template-columns:repeat(6,1fr);gap:7px}.pizza-gesture-cue{font-size:43px}.pizza-prep-progress{margin-top:4px;height:8px}}
@media(orientation:landscape) and (max-height:650px){.pizza-kitchen{flex-direction:row;padding:8px;gap:14px}.pizza-stage{width:240px;min-width:210px}.pizza-tools{width:205px}.pizza-toppings{grid-template-columns:repeat(3,1fr)}.pizza-sauce-options{grid-template-columns:1fr 1fr}.pizza-heading{display:none}.pizza-steps li{width:34px;height:30px}.pizza-sauce-choice{min-height:65px}.pizza-screen{padding-bottom:calc(var(--dock-space) + 15px)}}
@media(prefers-reduced-motion:reduce){.pizza-screen *{animation:none!important;transition:none!important}.pizza-gesture-cue{opacity:.8}.pizza-flowing[data-stage=cheese] .pizza-utensil .pizza-tool-art{transform:rotate(-140deg)}}
.pizza-stage{width:min(100%,420px,calc(100svh - 430px))}
@media(max-width:700px){.pizza-stage{width:min(100%,340px,calc(100svh - 450px));min-width:210px}}
@media(orientation:landscape) and (max-height:650px){.pizza-stage{width:225px}}
.pizza-base[data-sauce=alfredo] .pizza-sauce-texture{filter:grayscale(1) brightness(4.2) sepia(.18)}.pizza-sauce-choice[data-sauce=alfredo] .pizza-tool-art,.pizza-screen[data-stage=sauce]:has([data-sauce=alfredo][aria-pressed=true]) .pizza-utensil .pizza-tool-art{filter:grayscale(1) brightness(5) sepia(.18)}
.pizza-base[data-sauce=buffalo] .pizza-sauce-texture,.pizza-sauce-choice[data-sauce=buffalo] .pizza-tool-art,.pizza-screen[data-stage=sauce]:has([data-sauce=buffalo][aria-pressed=true]) .pizza-utensil .pizza-tool-art{filter:hue-rotate(32deg) saturate(1.4) brightness(1.2)}
.pizza-sauce-choice small:before{content:'';display:inline-block;width:11px;height:11px;margin-right:4px;border:1px solid #92775f;border-radius:50%;background:var(--choice-color)}

/* Dotted cutting guides and touch cues stay clear without covering the food. */
.pizza-knife-art{display:block;background:url('pizza-butter-knife.png') center/contain no-repeat!important;aspect-ratio:3/1}.pizza-chop-cutter.pizza-knife-art{width:78%;height:auto;left:11%;top:18%;transform:rotate(-12deg)}
.pizza-gesture-cue,.pizza-chop-cue{width:32px;height:32px;border:4px solid white;border-radius:50%;background:#ac80eeaa;box-shadow:0 0 0 5px #7953b844,0 3px 8px #49256d55;pointer-events:none}.pizza-chop-cue{left:48%;top:60%}
.pizza-cut-lines{inset:12%;pointer-events:none}.pizza-cut-lines i{opacity:.5!important;height:0!important;border-top:3px dashed #fff7c9;background:none!important;box-shadow:0 1px 2px #75412b}
.pizza-cut-lines[data-cuts="0"] i:nth-child(1),.pizza-cut-lines[data-cuts="1"] i:nth-child(2),.pizza-cut-lines[data-cuts="2"] i:nth-child(3){opacity:1!important;border-color:#fff;border-width:5px;filter:drop-shadow(0 0 2px #7546b0)}
.pizza-cut-lines[data-cuts="1"] i:nth-child(1),.pizza-cut-lines[data-cuts="2"] i:nth-child(-n+2),.pizza-cut-lines[data-cuts="3"] i{opacity:1!important;border-top:3px solid #88482a}
.pizza-screen[data-stage=cutting] .pizza-cut-lines:not([data-cuts="3"]):after{content:'';position:absolute;left:0;top:50%;width:20px;height:20px;margin:-10px;border:3px solid white;border-radius:50%;background:#b794ef;box-shadow:0 0 0 4px #fff5;transform-origin:calc(50% + 10px) 50%;animation:pizza-cut-cue 2.2s infinite;pointer-events:none}
@keyframes pizza-cut-cue{0%,10%{left:calc(50% - cos(var(--cut-angle))*50%);top:calc(50% - sin(var(--cut-angle))*50%);opacity:0}25%{opacity:1}80%,100%{left:calc(50% + cos(var(--cut-angle))*50%);top:calc(50% + sin(var(--cut-angle))*50%);opacity:0}}
.pizza-served-slice{transform-origin:50% 25%;transform:translate(0,18%) scale(1.7)}
@keyframes pizza-to-plate{from{transform:translate(65%,-20%) rotate(20deg) scale(.7)}to{transform:translate(0,18%) scale(1.7)}}

@media(prefers-reduced-motion:reduce){.pizza-screen[data-stage=cutting] .pizza-cut-lines:after{animation:none!important;display:none}}

.pizza-sauce-texture{opacity:calc(var(--sauce-fill,0)*var(--sauce-share,0))}.pizza-base .pizza-sauce-texture[data-sauce=tomato]{filter:none}.pizza-base .pizza-sauce-texture[data-sauce=alfredo]{filter:grayscale(1) brightness(4.2) sepia(.18)}.pizza-base .pizza-sauce-texture[data-sauce=bbq]{filter:sepia(.7) brightness(.62) saturate(.9)}.pizza-base .pizza-sauce-texture[data-sauce=buffalo]{filter:hue-rotate(32deg) saturate(1.4) brightness(1.2)}
#pizza-sauce-next .pizza-tool-art{width:55px}.pizza-chop-cutter.pizza-knife-art{width:78%;left:24%;top:40%;transform:rotate(-42deg);transform-origin:30% 50%}#pizza-chop-food{width:54%;margin-top:12%;margin-left:-12%}.chopping .pizza-chop-cutter{animation:pizza-knife-cut .35s ease-in-out}@keyframes pizza-knife-cut{50%{transform:translate(0,15px) rotate(-35deg)}}
