:root{--cream:#f5f0e5;--ink:#283b30;--muted:#76796c;--red:#b8412d;--line:#dad7c8;--paper:#fffcf5;--green:#35573e}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.5 'DM Sans',sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bb573c;outline-offset:4px}a{color:inherit;text-decoration:none}button{color:inherit}[hidden]{display:none!important}
.header{height:96px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1.2px;white-space:nowrap}.brand-dot{color:var(--red);font-size:32px;vertical-align:-2px;margin-right:9px}.period{color:var(--red)}.header-note{font-size:11px;line-height:1.5;color:var(--muted);border-left:1px solid var(--line);padding-left:25px}.header-note span{display:block}.home-link{margin-left:auto;font-size:12px}
main{max-width:1440px;margin:auto;padding:0 5%}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:43px 0 31px;gap:24px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 13px}.eyebrow span{display:inline-block;background:var(--red);border-radius:50%;width:7px;height:7px;margin-right:7px}h1{font:600 clamp(32px,3.4vw,51px)/1.15 'Playfair Display',Georgia,serif;margin:0;letter-spacing:-1.6px}h1 em{color:var(--red)}.intro-copy{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 4px}
.kitchen{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:22px;align-items:stretch}.workbench{position:relative;min-height:565px;border:1px solid #d5d2c2;border-radius:8px;overflow:hidden;background:#e3e3d1;display:flex;flex-direction:column}.stage-top{position:absolute;left:25px;right:25px;top:22px;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none;font-size:9px;letter-spacing:1.5px;font-weight:700}.live-badge{background:#f6f4e9ba;padding:7px 10px;border-radius:20px;letter-spacing:.7px}.live-badge i{display:inline-block;background:#70864f;width:5px;height:5px;border-radius:50%;margin:0 5px 1px 0}#scene{height:100%;flex:1;min-height:480px;position:relative;touch-action:pan-y;cursor:crosshair}#scene canvas{display:block;width:100%;height:100%}#loading{position:absolute;left:0;right:0;top:45%;text-align:center} .scene-caption{position:absolute;left:25px;right:25px;bottom:83px;display:flex;justify-content:space-between;pointer-events:none;color:#59614d;font-size:11px}.drag-hint{font-size:10px}.turn-controls{position:absolute;right:22px;bottom:111px;display:flex;gap:6px}.turn-controls button{background:#f7f4e7cf;border:1px solid #c8cbb9;border-radius:50%;width:33px;height:33px;font-size:20px}.step-strip{position:relative;display:flex;justify-content:space-between;padding:22px 25px;background:#f7f4e9;border-top:1px solid #cfcebc;font-size:10px;color:#979b8e;gap:10px}.step-strip b{margin-right:6px;font-size:9px;font-weight:500}.step-strip .active{color:var(--red);font-weight:700}
.recipe-panel{background:var(--paper);border:1px solid #ded9cb;border-radius:8px;padding:24px;display:flex;flex-direction:column;box-shadow:0 5px 12px #51452c05}.ticket-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:var(--muted);padding-bottom:18px;border-bottom:1px dashed #d2cebf}h2{font:600 29px/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.7px;margin:22px 0 12px}.panel-copy{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 23px}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.1px;font-weight:700;margin-bottom:13px}.section-label span+span{color:var(--muted);letter-spacing:0}.toppings{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.toppings button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px solid #e3dfd2;border-radius:5px;background:transparent;height:78px;font-size:10px}.toppings button:hover{background:#f5f0e3}.toppings button[aria-pressed=true]{border-color:var(--red);background:#b8412d09;box-shadow:inset 0 0 0 1px var(--red)}.ingredient{width:23px;height:23px;display:block;position:relative}.pepperoni{border-radius:50%;background:radial-gradient(circle at 30% 40%,#eea577 0 2px,transparent 2px),radial-gradient(circle at 70% 65%,#eea577 0 2px,transparent 2px),#b54530;border:2px solid #9e3928}.mushroom{font:31px/24px Georgia;color:#a6886c;transform:rotate(180deg)}.basil{border-radius:80% 0 80% 0;background:#63854a;transform:rotate(-15deg)}.olive{border:7px solid #43473a;border-radius:50%;width:20px;height:20px;margin:2px}.pineapple{background:#e2b640;clip-path:polygon(10% 20%,90% 0,100% 75%,30% 100%)}.pepper{border:5px solid #6b8b43;border-radius:40%;transform:rotate(25deg)}.small-actions{display:flex;justify-content:space-between;margin-top:13px}.small-actions button,.bottom-actions button{padding:4px 0;border:0;background:none;font-size:11px}.small-actions button:hover,.bottom-actions button:hover{text-decoration:underline}.ticket-line{border-top:1px dashed #d2cebf;margin:18px 0 14px}.special{background:none;border:0;padding:0;width:100%;text-align:left;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:5px}.special strong{font-weight:500;color:var(--green)}.primary{display:flex;align-items:center;justify-content:space-between;border:0;background:var(--red);color:#fffbef;border-radius:5px;width:100%;padding:15px 17px;font-size:13px;margin-top:25px;transition:background .2s}.primary:hover{background:#963923}.bottom-actions{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted)}#status{font-size:10px;min-height:30px;color:#7a796c;margin:13px 0 0;line-height:1.5}.recipe-panel>.primary{margin-top:auto}#prep-controls{margin-bottom:23px}#bake-progress,#finished{text-align:center;flex:1;color:var(--muted);font-size:12px;padding-bottom:20px}.heat-display{font:90px/1.2 'Playfair Display',Georgia;color:var(--red);margin:15px 0}.heat-display span{font-size:50px;vertical-align:top}progress{width:100%;height:8px;accent-color:var(--red);margin-top:15px}.stamp{border:3px double #a74b34;border-radius:50%;width:158px;height:158px;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:14px auto 20px;transform:rotate(-10deg);font-size:8px;letter-spacing:1px;color:var(--red)}.stamp b{font-size:14px;line-height:1.4;margin-top:7px}
footer{display:flex;justify-content:space-between;padding:25px 0 30px;font-size:10px;color:var(--muted);gap:12px}footer span:first-child{font-size:9px;letter-spacing:1.4px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:32px;max-width:440px;width:calc(100% - 32px)}dialog::backdrop{background:#1c291eb3;backdrop-filter:blur(5px)}dialog p{color:var(--muted);font-size:13px}dialog input{width:100%;padding:10px;background:var(--cream);border:1px solid var(--line);border-radius:4px;margin-top:7px}dialog label{font-size:11px}.dialog-close{position:absolute;top:12px;right:15px;font-size:25px;background:none;border:0}#copy-status{min-height:20px}
@media(min-width:1500px){.workbench{min-height:630px}}@media(max-width:1000px){.kitchen{grid-template-columns:minmax(0,1fr) 300px;gap:15px}.recipe-panel{padding:20px}.intro-copy{font-size:11px}.scene-caption .drag-hint{display:none}.stage-top{left:18px;right:18px}.header{padding:0 4%}main{padding:0 4%}}
@media(max-width:740px){.header{height:75px}.wordmark{font-size:22px}.header-note{display:none}.home-link{font-size:10px}.intro{padding:27px 0 23px;display:block}.intro-copy{margin-top:14px;font-size:12px}.intro-copy br{display:block}h1{font-size:35px}.kitchen{display:flex;flex-direction:column;gap:17px}.workbench{min-height:390px}#scene{height:355px;min-height:355px;flex:none}.step-strip{padding:17px 14px;font-size:9px;gap:5px}.step-strip b{margin-right:3px}.stage-top{top:15px;font-size:8px;left:15px;right:15px}.scene-caption{left:15px;bottom:66px;font-size:10px}.turn-controls{bottom:89px;right:15px}.recipe-panel{padding:22px}.ticket-top{padding-bottom:13px}.recipe-panel h2{margin:17px 0 10px;font-size:27px}.recipe-panel h2 br{display:block}.panel-copy{margin-bottom:20px}.toppings button{height:74px}.recipe-panel>.primary{margin-top:0}.intro .eyebrow{font-size:9px}.special{font-size:11px}footer{flex-wrap:wrap;font-size:9px}footer span:nth-child(2){order:3;width:100%;margin-top:1px}#status{min-height:15px;margin-bottom:0}.heat-display{margin:0}.stamp{margin-top:0}.header .brand-dot{font-size:27px;margin-right:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

