:root{font-family:Arial,Helvetica,sans-serif;color:#233d31;background:#fbfaf6;font-synthesis:none;--green:#203e30;--orange:#c54924;--line:#dddcd3;--muted:#63665d;--cream:#eee9dc}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b34120;outline-offset:4px}button{min-height:44px}a{color:inherit}button[hidden],[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-70px;z-index:20;padding:14px;background:white}.skip:focus{top:12px}
.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;border-bottom:1px solid var(--line);background:#fbfaf6}.brand{text-decoration:none;font-size:1.875rem;letter-spacing:-1.8px;font-weight:800}.brand-dot{color:var(--orange);font-size:2.375rem}.kitchen{display:flex;gap:5px;flex-direction:column;align-items:center;font-size:0.9375rem}.kitchen strong{font-size:1rem}.kitchen span{color:var(--muted);font-size:0.8125rem}.bag-button{border:1px solid #bfc8be;border-radius:30px;background:transparent;padding:8px 10px 8px 20px;font-weight:600;display:flex;align-items:center;gap:18px;font-size:0.875rem}.bag-button span{background:var(--green);color:#fff;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}
.workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(390px,1fr);max-width:1700px;margin:auto;padding-bottom:110px}.visual-panel{position:sticky;top:0;align-self:start;min-width:0;padding:39px 5.5% 24px;background:var(--cream)}.eyebrow{font-size:0.75rem;letter-spacing:2px;font-weight:700;margin:0 0 15px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,4.5vw,72px);letter-spacing:-3px;line-height:1.04;font-weight:400;margin-bottom:13px}h1 span,.dialog-heading h2 span{color:var(--orange)}.recipe-tag{font-size:0.75rem;letter-spacing:1.5px;white-space:nowrap;border-left:1px solid #c6c9b9;padding-left:20px}.meal-heading>p:last-child{font-size:0.9375rem;color:#64675e;margin-bottom:25px}.view-toolbar{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.segmented{padding:4px;border:1px solid #cecfc2;border-radius:30px;display:inline-flex;background:#e7e4d8}.segmented button{font-size:0.875rem;border-radius:26px;padding:8px 19px;background:transparent;min-height:38px}.segmented button[aria-pressed=true]{background:var(--green);color:#fff}.text-button{background:transparent;font-size:0.875rem;text-decoration:underline;text-underline-offset:4px;padding:8px}.view-toolbar .text-button{text-decoration:none}.stage-wrap{position:relative;margin:0 -4%;height:clamp(340px,39vw,505px)}.scene{position:absolute;inset:0}.scene canvas{display:block;width:100%;height:100%;touch-action:pan-y}.stage-message{position:absolute;inset:0;display:grid;place-content:center;color:var(--muted);font-size:0.9375rem}.stage-footer{position:absolute;bottom:8px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.stage-footer>span{font-size:0.75rem;color:#5e6557}.camera-buttons{display:flex;gap:5px;pointer-events:auto}.camera-buttons button{width:36px;min-height:36px;border:1px solid #d1d3c6;border-radius:50%;background:#f9f8f1bb;font-size:1.375rem}.replay-bar{display:flex;gap:10px;align-items:center;border-top:1px solid #cfd0c2;padding-top:20px;flex-wrap:wrap}.play-button{background:var(--green);color:#fff;border-radius:24px;padding:11px 20px;font-size:0.875rem;display:flex;align-items:center;gap:12px}.play-button>span{font-size:0.625rem}#playback-label{font-size:0.75rem;color:#576452;margin-left:auto}progress{width:100%;accent-color:var(--green);height:5px;margin-top:12px}.visual-note{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:14px;color:#696c60;font-size:0.75rem;line-height:1.5}.visual-note .text-button{font-size:0.75rem;white-space:nowrap}.fallback{position:absolute;inset:0;overflow:auto;padding:12px 5%;background:var(--cream)}.fallback img{display:block;width:100%;height:65%;object-fit:contain;mix-blend-mode:multiply}.fallback-caption{font-size:0.75rem;color:var(--muted);text-align:center;margin:0 0 10px}.fallback ul{display:flex;list-style:none;padding:0;margin:0;gap:7px;flex-wrap:wrap}.fallback li{font-size:0.8125rem;padding:7px 9px;border-radius:6px;background:#faf9f3;border:1px solid #d3d5c6}.stage-wrap:has(.fallback:not([hidden])) .stage-footer{display:none}
.customizer{padding:37px 9% 25px;border-left:1px solid var(--line)}.customize-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.customize-heading .eyebrow{margin-bottom:10px;font-size:0.6875rem}h2{font-family:Georgia,'Times New Roman',serif;font-size:1.875rem;letter-spacing:-1px;font-weight:400;margin-bottom:0}.included{display:flex;align-items:center;gap:13px;padding:15px 0 20px;border-bottom:1px solid var(--line)}.included div{display:flex;flex-direction:column;gap:5px}.included strong{font-size:0.9375rem}.included div span{font-size:0.75rem;color:var(--muted)}.included-check{margin-left:auto;font-size:1.125rem}.ingredient-dot{display:inline-block;width:13px;height:13px;border-radius:50%;background:var(--dot,#ae783d);flex-shrink:0}.modifier{border:0;margin:0;padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.modifier legend{float:left;width:100%;display:flex;align-items:center;gap:11px;font-size:1rem;font-weight:600;margin-bottom:6px;padding:0}.modifier .price-note{margin-left:auto;font-size:0.75rem;color:#737067;font-weight:400}.modifier p{clear:both;font-size:0.75rem;color:var(--muted);margin-bottom:12px;margin-left:24px}.choices{display:flex;gap:7px;margin-left:24px}.choice{position:relative;flex:1;min-width:0}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{min-height:40px;display:flex;align-items:center;justify-content:center;padding:8px 5px;border:1px solid #d7dbd0;border-radius:8px;font-size:0.8125rem;background:#fff;cursor:pointer;white-space:nowrap}.choice input:checked+span{border-color:var(--green);background:#e9efe6;color:#203e30;font-weight:600;box-shadow:inset 0 0 0 .5px var(--green)}.choice input:focus-visible+span{outline:3px solid var(--orange);outline-offset:3px}.choice:hover span{border-color:#809477}.review{padding-top:24px}.review-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.review h3{font-size:1rem;margin:0}.review-heading>span{font-size:1.125rem;font-weight:700}.review ul{padding:0;list-style:none;margin:0 0 16px;font-size:0.8125rem;color:#62675e;line-height:1.8}.review li{display:flex;justify-content:space-between;gap:12px}.review li.omitted{color:#797b74}.review li.omitted span:first-child{text-decoration:line-through}.sample-note{font-size:0.75rem;color:#73766c;line-height:1.6;margin-bottom:0}.preferences{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;font-size:0.75rem;color:#5b6255;align-items:center}.preferences label{display:flex;gap:8px;align-items:center;min-height:44px}.preferences input{accent-color:var(--green);width:17px;height:17px}.preferences a{font-size:0.75rem;text-underline-offset:3px}
.order-bar{position:fixed;bottom:0;left:0;right:0;z-index:5;min-height:95px;background:#fbfaf6f5;backdrop-filter:blur(15px);border-top:1px solid #d6d8cf;padding:18px 4.3%;display:flex;align-items:center;justify-content:space-between;gap:25px}.order-description{display:flex;flex-direction:column;gap:5px;min-width:0}.order-description strong{font-family:Georgia,serif;font-size:1.4375rem;font-weight:400}.order-description span{font-size:0.75rem;color:var(--muted)}.order-actions{display:flex;align-items:center;gap:18px}.quantity{display:flex;align-items:center;gap:14px;border:1px solid #cdd3c5;border-radius:10px;height:50px;padding:0 3px}.quantity button{background:transparent;width:35px;font-size:1.4375rem}.quantity output{font-size:0.9375rem;min-width:16px;text-align:center}.primary{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--green);color:white;min-height:51px;padding:13px 25px;border-radius:9px;font-weight:600;font-size:0.9375rem}.primary:hover{background:#31553d}#total-price{min-width:65px}#add-bag{min-width:330px}.toast{position:fixed;z-index:30;bottom:110px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:14px 23px;border-radius:10px;box-shadow:0 8px 32px #18271f25;font-size:0.875rem;max-width:90%;text-align:center}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;width:min(560px,calc(100% - 30px));max-height:85dvh;color:var(--green);background:#fbfaf6}dialog::backdrop{background:#14231cb0;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.dialog-heading h2{font-size:2.4375rem}.dialog-heading button{background:transparent;font-size:1.25rem;width:44px}.dialog-heading .eyebrow{font-size:0.6875rem;margin-bottom:7px}.bag-explanation{color:var(--muted);font-size:0.875rem;line-height:1.6;margin:18px 0}.cart-entry{border-top:1px solid var(--line);padding:20px 0}.cart-entry-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.cart-entry h3{font-size:1.0625rem;margin:0}.cart-entry p{font-size:0.8125rem;color:var(--muted);line-height:1.6;margin:10px 0}.cart-entry-actions{display:flex;gap:10px;align-items:center}.cart-entry-actions button{font-size:0.8125rem;min-height:40px;border-radius:7px;padding:8px 12px;background:#e8ede2}.cart-entry-actions button:last-child{margin-left:auto;background:transparent;text-decoration:underline}.bag-total{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line)}#continue{margin-top:20px;width:100%;justify-content:center}.empty-bag{padding:30px 0;font-family:Georgia,serif;font-size:1.5rem}.noscript{position:fixed;inset:120px 10% auto;padding:25px;background:white;z-index:20}
@media(min-width:1450px){.visual-panel{padding-top:46px}.stage-wrap{height:520px}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1.2fr) minmax(365px,1fr)}.customizer{padding-left:6%;padding-right:6%}.recipe-tag{display:none}.stage-wrap{height:410px}.visual-panel{padding-left:5%;padding-right:5%}.header{padding:0 3%}.brand{font-size:1.5625rem}.replay-bar{gap:4px}#playback-label{width:100%;margin-top:8px}.choices{margin-left:0}.modifier p{margin-left:0}}
@media(max-width:760px){.header{height:78px;padding:0 20px}.brand{font-size:1.5625rem}.kitchen{display:none}.bag-button{font-size:0.75rem;padding-left:13px;gap:10px}.workspace{display:block;padding-bottom:100px}.visual-panel{position:relative;padding:27px 24px 15px}.eyebrow{font-size:0.625rem;margin-bottom:12px}h1{font-size:3rem;letter-spacing:-2px}.recipe-tag{display:block;font-size:0.625rem;padding-left:13px}.meal-heading>p:last-child{font-size:0.8125rem;margin-bottom:18px}.stage-wrap{height:340px;margin:0 -18px}.view-toolbar .segmented button{font-size:0.8125rem;padding:7px 16px;min-height:36px}.stage-footer{left:5%;right:5%;bottom:8px}.stage-footer>span{font-size:0.6875rem}.replay-bar{padding-top:15px;gap:8px}.play-button{font-size:0.8125rem;padding:11px 17px}#playback-label{width:auto;margin:0 0 0 auto;max-width:100px;font-size:0.6875rem;line-height:1.4}.visual-note{font-size:0.6875rem;padding-top:8px;align-items:flex-start}.visual-note>span{max-width:210px}.visual-note button{font-size:0.6875rem}.customizer{padding:29px 25px;border-left:0}.customize-heading{margin-bottom:12px}.customize-heading .eyebrow{font-size:0.625rem}h2{font-size:1.75rem}.included{padding-top:12px}.modifier{padding:19px 0}.choices{gap:7px;margin-left:24px}.choice span{min-height:43px;font-size:0.8125rem}.modifier p{margin-left:24px}.order-bar{padding:12px 18px;min-height:80px;gap:12px}.order-description{display:none}.order-actions{width:100%;gap:12px}.quantity{height:49px;gap:4px}.quantity button{width:30px}.primary{padding:13px 17px;font-size:0.8125rem;gap:9px}#add-bag{min-width:0;flex:1}#total-price{min-width:0}.preferences{gap:12px}.toast{bottom:94px}.scene canvas{touch-action:pan-y}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.modifier legend{flex-wrap:wrap}.choices{flex-wrap:wrap}.choice{flex:1 0 4rem}.choice span{white-space:normal;text-align:center;overflow-wrap:anywhere}.modifier p,.review ul{font-size:.875rem}.modifier .price-note{font-size:.75rem}.preferences{flex-wrap:wrap}.order-actions{min-width:0}.order-bar .primary{white-space:normal}.bag-button{flex-shrink:0}
@media(max-width:760px){.stage-wrap{height:300px}.visual-panel{padding-top:22px}.meal-heading>p:last-child{margin-bottom:13px}.replay-bar{padding-top:11px}.customizer{padding-top:23px}}
.compact-preview-bar{display:none}
.title-row{flex-wrap:wrap}.title-row h1{min-width:0}.recipe-tag{max-width:100%}
@media(max-width:760px){
  :root{--compact-preview-height:clamp(170px,25dvh,215px)}
  .stage-slot{height:300px}
  .stage-wrap.compact-preview{position:fixed;top:0;left:0;right:0;z-index:4;height:var(--compact-preview-height);margin:0;background:var(--cream);border-bottom:1px solid #bfc6b5;box-shadow:0 5px 16px #243e3117;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .compact-preview .compact-preview-bar{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;position:relative;z-index:1}
  .compact-preview-bar output{font-size:.875rem;line-height:1.2;min-width:0}
  .compact-preview-bar button{font-size:.8125rem;background:transparent;text-decoration:underline;flex-shrink:0}
  .compact-preview .scene,.compact-preview .fallback{position:relative;inset:auto;grid-row:2;height:100%;min-height:0}
  .compact-preview .stage-footer{display:none}
  .compact-preview .fallback{display:flex;align-items:center;gap:12px;padding:4px 16px;overflow:auto}
  .compact-preview .fallback img{width:42%;height:100%;flex-shrink:0}
  .compact-preview .fallback-caption{font-size:.75rem;text-align:left}
  .compact-preview #fallback-ingredients{display:none}
  html.preview-docked{scroll-padding-top:calc(var(--compact-preview-height) + 20px);scroll-padding-bottom:110px}
  .modifier,.choice{scroll-margin-top:calc(var(--compact-preview-height) + 20px);scroll-margin-bottom:110px}
}
.restaurants{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.restaurants .eyebrow{margin-bottom:10px;font-size:0.6875rem}.restaurants h2{font-size:1.25rem;margin:0 0 6px}.restaurant-field{display:block;font-size:0.8125rem;font-weight:600;margin-top:14px}.restaurants select{display:block;width:100%;min-height:44px;margin:8px 0 12px;padding:8px 10px;border:1px solid #cecfc2;border-radius:8px;background:#fff;font:inherit;color:inherit}.restaurant-items{display:flex;flex-wrap:wrap;gap:8px}.menu-item{display:flex;gap:10px;align-items:center;justify-content:space-between;flex:1 1 220px;min-height:44px;padding:8px 12px;border:1px solid #d7dbd0;border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:0.875rem;text-align:left;cursor:pointer}.menu-type{flex:1 1 100%;margin:12px 0 0;font-size:0.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.menu-type:first-child{margin-top:0}.menu-item:hover{border-color:#809477}.menu-item:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.menu-item strong{font-size:0.8125rem;white-space:nowrap}
.choices.wrap{flex-wrap:wrap}.choices.wrap .choice{flex:1 1 130px}.choices.wrap .choice span{flex-direction:column;gap:2px;text-align:center}.choice b{font-weight:inherit}.choice small{font-size:0.6875rem;color:var(--muted)}.choice small.not-drawn{color:#8a5a2b}.choice input:disabled+span{opacity:.55}
.restaurant-heading{padding:6px 0 2px}.restaurant-notes p{font-size:0.75rem;line-height:1.6;margin:0 0 8px}.restaurant-notes .needs-choice{color:var(--orange);font-weight:600}a.primary{text-decoration:none}

.kitchen-flow{padding:20px;margin:12px 0 20px;border:1px solid #d7dbd2;border-radius:16px;background:#f5f7f0}.kitchen-flow h3{font-size:24px;margin:8px 0}.kitchen-flow p{line-height:1.5}.kitchen-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.kitchen-flow select{padding:10px;max-width:100%;border:1px solid #b6c0b1;border-radius:8px;background:white}.kitchen-flow ol{display:flex;flex-wrap:wrap;gap:6px 20px;padding-left:22px;font-size:13px;color:#52604e}.menu-item[aria-pressed="true"]{outline:2px solid #38694b}.kitchen-flow .primary{padding:12px 20px}.kitchen-flow button:disabled{opacity:.45;cursor:not-allowed}

#restaurant-options .choices{clear:both;margin-left:0;width:100%}#restaurant-options .modifier legend{float:none}.title-row{row-gap:4px}.recipe-tag{margin-bottom:12px}
