/* Photographic ingredients and a preparation sequence on the existing worktop. */
#rollBuilderPanel{scroll-margin-top:92px}
.sim-actions{margin-top:18px}.sim-actions>.btn{display:flex;justify-content:center;gap:10px;width:100%;min-height:48px;padding:13px 16px;font-size:12px;white-space:normal;text-align:center}.sim-actions .builder-price-note{line-height:1.6;margin-bottom:0}.sim-actions .builder-error:empty{display:none}
@media(max-width:760px){#rollBuilderPanel[data-phase=style] .sim-recipe{display:none}.sim-actions{margin-top:13px}.sim-actions>.btn{min-height:46px}}
.real-kitchen-table{height:530px;perspective:1100px;contain:layout style;background:radial-gradient(ellipse at 35% 25%,#ffe1a03b,transparent 65%),url('../img/wood.svg') center/100% 100%,#b9864d}
.real-kitchen-table .bamboo-mat{left:11%;right:10%;top:8%;bottom:12%;transform:rotate(-2deg);box-shadow:0 9px 12px #321b1266}
.real-kitchen-table .bamboo-mat::after{z-index:0}
.real-kitchen-table .sim-sheet{left:9%;right:auto;top:12%;bottom:auto;width:82%;height:auto;aspect-ratio:1.7;visibility:visible;transform:translateY(calc(var(--roll-progress)*-12%)) scaleY(calc(1 - var(--roll-progress)*.94));transform-origin:50% 20%;opacity:calc(1 - var(--roll-progress));transition:transform .85s ease-in-out,opacity .8s ease-in-out;touch-action:none;z-index:2}
.real-kitchen-table.phase-nori .sim-sheet{visibility:hidden}
.real-kitchen-table .sim-nori{background:url('../img/kitchen/nori.webp') center/100% 100%;border:0;box-shadow:0 4px 5px #0005;inset:0}
.real-kitchen-table .sim-sheet::after{content:'';position:absolute;inset:-1%;border:1px solid #ffffff25;pointer-events:none}
.rice-spread{position:absolute;inset:4% 3% 12%;z-index:1;pointer-events:none;transition:opacity .25s}
.rice-cell{position:absolute;width:12.8%;height:25.6%;background-image:url('../img/kitchen/rice.webp');background-size:800% 400%;opacity:0;transition:opacity .15s}
.rice-cell.on{opacity:1}
.rice-mound{position:absolute;left:32%;top:28%;width:36%;height:40%;background:url('../img/kitchen/rice.webp') center/100% 100%;border-radius:48%;clip-path:ellipse(49% 48%);box-shadow:0 5px 8px #0004;z-index:1;transition:opacity .3s;pointer-events:none}
.phase-nori .rice-mound,.phase-fill .rice-mound,.phase-roll .rice-mound,.phase-press .rice-mound,.phase-finish .rice-mound{display:none}
.rice-outside .rice-spread{opacity:0}
.rice-outside .sim-sheet{box-shadow:0 3px 0 #e7e0c5,0 5px 7px #0004}
.rice-outside .bamboo-mat::before{content:'';position:absolute;inset:2%;background:linear-gradient(135deg,transparent 40%,#ffffff28 41%,transparent 42%),linear-gradient(70deg,transparent 19%,#ffffff16 20%,transparent 23%);border:1px solid #fff5;pointer-events:none;z-index:0}
.fill-line-hint{position:absolute;left:4%;right:4%;top:47%;height:35%;border:1px dashed #f6e8b777;border-radius:18px;background:#e6ce8420;pointer-events:none;z-index:2}
.real-kitchen-table #placedIngredients{z-index:3}
.real-piece{height:19%;min-height:18px;transform:translate(-50%,-50%);z-index:4;cursor:grab;touch-action:none}
.real-piece img{display:block;width:100%;height:100%;object-fit:fill;filter:drop-shadow(1px 4px 2px #0004);user-select:none;pointer-events:none}
.real-piece.mirrored img{transform:scaleX(-1)}
.real-piece.piece-cheese{height:13%;z-index:5}
.real-piece.piece-cucumber,.real-piece.piece-cheddar{height:12%}
.real-piece button{right:-4px;top:-9px;z-index:2;width:23px;height:23px;background:#1d211bd9;border:1px solid #fff4}
.real-kitchen-table .sim-base-action{inset:28% 24% 30%;background:#fff5dbef;box-shadow:0 4px 9px #0002}
.real-kitchen-table .roll-grip{left:18%;right:18%;bottom:4%;font-size:11px;z-index:9}
.rice-coverage{position:absolute;left:20px;bottom:17px;background:#1a1a12e8;border:1px solid #c9a26b66;border-radius:30px;padding:8px 14px;font-size:11px;font-weight:700;color:#f3e6cf;z-index:8}
.kitchen-fold-flap{position:absolute;z-index:5;bottom:8%;left:0;right:0;height:0;opacity:0;border-radius:45% 45% 10px 10px / 25% 25% 10px 10px;background:repeating-linear-gradient(0deg,#815523 0,#cda164 4px,#e3bd7a 10px,#ab7f41 12px);box-shadow:0 -6px 12px #2b1a1377,inset 0 18px 20px #f8deb34d;transform-origin:50% 100%;transform:translateY(calc(var(--roll-progress)*-40%)) rotateX(calc(var(--roll-progress)*-22deg));transition:height .85s ease,opacity .5s,transform .85s;pointer-events:none}
.phase-roll .kitchen-fold-flap{height:calc(var(--roll-progress)*78%);opacity:1}
.gesture-folding .kitchen-fold-flap,.gesture-folding .sim-sheet{transition:none}
.rolled-bamboo{position:absolute;left:6%;right:5%;top:35%;height:28%;border-radius:60px 42px 42px 60px;background:repeating-linear-gradient(0deg,#815523 0,#cda164 4px,#e3bd7a 10px,#ab7f41 12px);box-shadow:0 15px 15px #321d0f66,inset 0 18px 18px #f9dba766,inset 0 -20px 18px #54361977;z-index:6;opacity:0;pointer-events:none;transition:opacity .4s,transform .35s}
.rolled-bamboo::before{content:'';position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0,transparent 19%,#f4e4b3aa 19.3%,#a79b6c 19.7%,transparent 20%)}
.phase-roll .rolled-bamboo{opacity:var(--roll-progress)}
.phase-press .rolled-bamboo{opacity:1}
.phase-press .kitchen-fold-flap{opacity:0}
.press-points{position:absolute;inset:0;pointer-events:none;z-index:8}
.press-points button{position:absolute;top:39%;width:44px;height:44px;border-radius:50%;transform:translateX(-50%);background:#2d2015de;border:1px solid #e3c78b;color:#fff1cb;font-size:22px;pointer-events:auto;box-shadow:0 4px 8px #0003}
.press-points button.pressed{background:#44552b;border-color:#c7dc9f;color:#d7edb9;font-size:18px}
.real-kitchen-table .sim-finished-roll{inset:27% 7% 29%;opacity:0;transform:none;transition:opacity .45s;z-index:4;pointer-events:none}
.phase-press .sim-finished-roll,.phase-finish .sim-finished-roll{opacity:1}
.real-whole-roll{height:58%;background-color:#eee5cd;background-image:linear-gradient(0deg,#67563b66,transparent 60%,#fff4),url('../img/kitchen/rice.webp');background-size:100% 100%,115% 240%;background-position:center;background-repeat:no-repeat;box-shadow:0 16px 14px #24180c66,inset 0 14px 16px #fff5,inset 0 -16px 15px #65513266}
.real-whole-roll.real-outer-nori{background-color:#26321e;background-image:linear-gradient(0deg,#0008,transparent 65%,#b6c09033),url('../img/kitchen/nori.webp');background-size:100% 100%,115% 240%}
.real-whole-roll .roll-end{right:-1px;top:0;height:100%;width:16%;z-index:3;background:#eee5cd url('../img/kitchen/rice.webp') center/150% 220% no-repeat;border:2px solid #b8b198;border-radius:50%;box-shadow:inset 3px 0 6px #0003}
.real-outer-nori .roll-end{border:5px solid #26321e}
.real-whole-roll .face-core{position:absolute;inset:22%;border-radius:50%;background:#e4dec6;border:4px solid #24311c;overflow:hidden}
.core-fill{position:absolute;width:38%;height:38%;background:var(--fill);border-radius:35%;box-shadow:inset 1px 2px 2px #fff7}
.core-shrimp{background:linear-gradient(65deg,#fff2df 25%,#fb9c73 32%,#fff0de 45%,#ffb58c 65%)}
.core-cheese{background:#fff8e6}
.roll-coating{position:absolute;inset:0;border-radius:inherit;overflow:hidden;opacity:0;z-index:1;transition:opacity .5s;box-shadow:inset 0 -20px 22px #56371477}
.roll-coating.applied{opacity:1}
.photo-coating{width:100%;height:100%;background-position:center;background-size:115% 320%;background-repeat:no-repeat;box-shadow:inset 0 15px 18px #fff3,inset 0 -20px 22px #421c0b88}
.photo-coating.coating-salmon{background-color:#f79569;background-image:url('../img/kitchen/salmon.webp')}
.photo-coating.coating-tuna{background-color:#bb2741;background-image:url('../img/kitchen/tuna.webp')}
.photo-coating.coating-eel{background-color:#724325;background-image:url('../img/kitchen/eel.webp')}
.dry-coating{width:100%;height:100%}
.coating-sesame{background:radial-gradient(ellipse at 15% 30%,#ead6a4 0 2px,transparent 3px),radial-gradient(ellipse at 70% 70%,#b49d68 0 2px,transparent 3px);background-size:12px 9px}
.coating-tempura,.sushi-piece.outer-tempura .sushi-piece-side{background-color:#d5a050;background-image:radial-gradient(ellipse at 22% 35%,#f9d491 0 1px,#aa6d25 1.5px,transparent 2.5px),radial-gradient(ellipse at 73% 68%,#ffe4ac 0 1.3px,#bd812f 1.8px,transparent 2.8px),radial-gradient(ellipse at 42% 85%,#f4c678 0 1px,transparent 2px),linear-gradient(0deg,#a86c2eaa,transparent 55%,#ffdfa444);background-size:9px 7px,13px 11px,17px 9px,100% 100%;box-shadow:inset 0 -20px 22px #92561f66}
.real-whole-roll .roll-glaze{z-index:2;inset:8% 5% 10%;background:repeating-linear-gradient(65deg,transparent 0,transparent 20px,#4e260e 21px,#7a3c17 25px,transparent 27px);mix-blend-mode:multiply;opacity:.9}
.real-whole-roll .roll-glaze.sauce-spicyMayo,.piece-drizzle.sauce-spicyMayo{background:repeating-linear-gradient(65deg,transparent 0,transparent 17px,#fbac6b 18px,#ffca96 22px,transparent 23px);mix-blend-mode:normal}
.kitchen-finish-tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.kitchen-finish-tools button{padding:12px 16px;background:#382919;border:1px solid #c9a26b66;border-radius:10px;font-size:12px;color:var(--cream)}
.kitchen-finish-tools button:disabled{opacity:.4}
.real-ghost{width:150px;height:60px;filter:drop-shadow(0 6px 4px #0006)}
.real-ghost img{width:100%;height:100%;object-fit:contain}
.pantry-item>img{width:95%;height:55px;object-fit:contain;margin:4px 0;pointer-events:none;filter:drop-shadow(0 3px 2px #0003)}
.pantry-item>img.material-icon{height:49px;width:75%;margin:7px 0}
.pantry-item>small{font-size:8px;font-weight:400;color:#c5b19a;margin-top:4px;line-height:1.3}
.pantry-item>b{font-size:9px;background:#21180fd9;padding:2px 3px;border-radius:4px;top:3px;right:4px}
.pantry-bowl{display:block;width:55px;height:32px;border-radius:50%;margin:18px auto 13px;background:#46220c;border:5px solid #c5b79e;box-shadow:0 4px 0 #74664e,0 7px 6px #0005}
.bowl-spicyMayo{background:#eda166}.bowl-specialSauce{background:#9e4126}.bowl-sesame{background:repeating-radial-gradient(ellipse,#ead6a4 0 2px,#bfa66a 3px,#d1bd8d 5px)}.bowl-tempura{background:repeating-radial-gradient(ellipse,#efbc6a 0 3px,#ca8d37 4px,#e8af54 6px)}
.no-sauce-icon{display:block;font-size:37px;line-height:60px;font-style:normal;color:var(--muted)}
.serving-plate-wrap{position:absolute;inset:9% 6% 13%;z-index:12;pointer-events:none}
.serving-plate-wrap:empty{display:none}
.phase-serving .bamboo-mat,.phase-ready .bamboo-mat{opacity:.2;transition:opacity .5s}
.kitchen-plate{position:absolute;inset:0;background:linear-gradient(145deg,#384146,#101719 40%,#293032);border:9px solid #30393b;border-radius:18px;box-shadow:inset 0 0 0 2px #59636577,inset 0 0 25px #0008,0 18px 17px #28190f99;transform:rotate(-2deg);animation:plate-arrive .6s ease-out both}
.plate-brand{position:absolute;top:13px;left:17px;font-size:9px;letter-spacing:.17em;color:#a9b6b0}
.plate-name{position:absolute;top:32px;left:18px;right:18px;color:#e8e2ce;font:600 19px/1.25 var(--f-display);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #0008}
.plated-sushi{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 15px;position:absolute;inset:24% 10% 16%;align-items:center;justify-items:center}
.sushi-piece{position:relative;width:83px;height:83px;isolation:isolate;animation:plate-piece .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(var(--serve-index)*65ms);transform:rotate(-10deg)}
.sushi-piece-side{position:absolute;inset:15% 0 0;border-radius:50% 50% 40% 40%;background:linear-gradient(0deg,#b0a17d66,transparent),url('../img/kitchen/rice.webp') center/130px 130px;box-shadow:0 9px 9px #0008}
.sushi-piece-top{position:absolute;inset:0 0 20%;border-radius:50%;background:#fbf2d9 url('../img/kitchen/rice.webp') center/130px 120px;border:2px solid #e1d7ba;box-shadow:inset 0 0 4px #c1b48c;overflow:hidden}
.sushi-core{position:absolute;inset:26% 25%;border:4px solid #2c3821;border-radius:50%;background:#e4dec6}
.sushi-core i{position:absolute;width:40%;height:40%;background:var(--fill);border-radius:35%;box-shadow:inset 1px 2px 2px #fff9}
.sushi-piece.outer-nori .sushi-piece-side{background-image:linear-gradient(0deg,#0008,transparent),url('../img/kitchen/nori.webp')}
.sushi-piece.outer-nori .sushi-piece-top{border:6px solid #2d3823}
.sushi-piece.outer-salmon .sushi-piece-side{background-image:linear-gradient(0deg,#7b281a88,transparent),url('../img/kitchen/salmon.webp');background-size:100% 100%}
.sushi-piece.outer-tuna .sushi-piece-side{background-image:linear-gradient(0deg,#4b071f77,transparent),url('../img/kitchen/tuna.webp');background-size:100% 100%}
.sushi-piece.outer-eel .sushi-piece-side{background-image:linear-gradient(0deg,#1b0b03aa,transparent),url('../img/kitchen/eel.webp');background-size:100% 100%}
.sushi-piece.outer-salmon .sushi-piece-top{border:7px solid #f8a171}.sushi-piece.outer-tuna .sushi-piece-top{border:7px solid #c92b46}.sushi-piece.outer-eel .sushi-piece-top{border:7px solid #784421}.sushi-piece.outer-tempura .sushi-piece-top{border:7px solid #d5a358}.sushi-piece.outer-sesame .sushi-piece-top{border:5px dotted #c6ad72}
.piece-drizzle{position:absolute;inset:0;background:repeating-linear-gradient(65deg,transparent 0,transparent 17px,#6a3310 18px,#7f4019 21px,transparent 22px);border-radius:50%;opacity:.85}
.plate-ginger{position:absolute;bottom:10px;left:27px;color:#f2a69c;font-size:37px;line-height:1;transform:rotate(15deg)}
.plate-wasabi{position:absolute;bottom:13px;right:28px;width:31px;height:23px;background:repeating-linear-gradient(65deg,#9cb25e 0,#bfd37d 3px,#7e954c 5px);border-radius:50% 50% 30% 30%;box-shadow:0 4px 3px #0005}
.turning-sheet .sim-sheet{animation:sheet-front .3s ease-in both}.turning-sheet-back .sim-sheet{animation:sheet-back .3s ease-out both}
.unwrapping-mat .rolled-bamboo{animation:peel-mat .65s ease-in-out forwards}
.spreading-rice .rice-cell{transition:opacity .6s;transition-delay:calc(var(--patch,0)*15ms)}
.applying-cover .roll-coating{animation:apply-food .65s ease-out both}.applying-sauce .roll-glaze{animation:drizzle-food .65s ease-out both}
@keyframes sheet-front{to{transform:rotateX(85deg)}}@keyframes sheet-back{from{transform:rotateX(-85deg)}to{transform:rotateX(0)}}
@keyframes peel-mat{to{transform:translateY(-100px) rotateX(70deg);opacity:0}}
@keyframes apply-food{from{transform:translateY(-35px);opacity:0}to{transform:none;opacity:1}}
@keyframes drizzle-food{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes plate-arrive{from{transform:translateY(35px) rotate(0);opacity:0}to{transform:translateY(0) rotate(-2deg);opacity:1}}
@keyframes plate-piece{from{transform:translateY(-35px) rotate(-10deg);opacity:0}to{transform:translateY(0) rotate(-10deg);opacity:1}}
@media(max-width:1050px){.real-kitchen-table{height:480px}.sushi-piece{width:70px;height:74px}.plated-sushi{gap:18px 8px;inset:24% 8% 16%}}
@media(max-width:760px){
 .real-kitchen-table{height:390px;overflow:hidden}.real-kitchen-table .bamboo-mat{left:7%;right:9%;top:14%;bottom:16%;transform:rotate(-2deg)}
 .real-kitchen-table .sim-sheet{top:15%;width:84%;left:8%}.real-kitchen-table .sim-base-action{inset:31% 14% 32%;padding:12px}.real-kitchen-table .sim-base-action b{font-size:11px}
 .real-kitchen-table .roll-grip{left:12%;right:12%;bottom:5%;font-size:9px;padding:8px}.real-kitchen-table .roll-grip i{display:none}
 .rice-coverage{left:12px;bottom:13px;padding:6px 10px;font-size:9px}.real-piece{height:21%}.real-piece.piece-cheese{height:14%}.real-piece button{width:19px;height:19px;right:-6px;top:-8px;font-size:11px}
 .rolled-bamboo{top:33%;height:26%;left:3%;right:3%}.press-points button{top:35%;height:35px;width:35px;font-size:19px}
 .real-kitchen-table .sim-finished-roll{inset:24% 4% 28%}.real-whole-roll{height:56%}.real-whole-roll .face-core{border-width:2px}.real-whole-roll .roll-end{width:18%}
 .kitchen-finish-tools{gap:6px}.kitchen-finish-tools button{padding:11px 12px;font-size:10px;flex:1}.sim-progress{flex-wrap:wrap;gap:6px 10px;justify-content:center}.sim-progress>div{font-size:8px}.sim-progress b{width:22px;height:22px;font-size:8px}
 .pantry-item>img{height:36px;width:72px;margin:3px 0}.pantry-item>small{font-size:7px;margin-top:3px}.pantry-item{flex-basis:90px;min-height:85px}.pantry-item>img.material-icon{height:36px;width:58px;margin:4px 0}
 .pantry-bowl{width:43px;height:27px;border-width:4px;margin:10px auto 11px}.no-sauce-icon{font-size:29px;line-height:48px}.pantry-item>b{font-size:8px}
 .serving-plate-wrap{inset:14% 3% 16%}.kitchen-plate{border-width:6px;border-radius:12px}.plate-brand{top:10px;left:11px;font-size:7px}.plate-name{top:27px;left:12px;right:12px;font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.plated-sushi{inset:29% 5% 16%;gap:16px 6px}.sushi-piece{width:52px;height:56px}.sushi-core{border-width:2px}.sushi-piece-top{border-width:1px}
 .plate-ginger{font-size:27px;bottom:7px;left:18px}.plate-wasabi{width:23px;height:18px;bottom:9px;right:18px}.sushi-piece.outer-salmon .sushi-piece-top,.sushi-piece.outer-tuna .sushi-piece-top,.sushi-piece.outer-eel .sushi-piece-top,.sushi-piece.outer-tempura .sushi-piece-top{border-width:4px}
 .sim-worktop-head h3{font-size:15px;line-height:1.4}.sim-caption p{font-size:10px;line-height:1.6}.real-kitchen-table .sim-sauce-bowl{bottom:4%;left:3%}
}
@media(prefers-reduced-motion:reduce){.real-kitchen-table *,.real-kitchen-table *::before,.real-kitchen-table *::after{animation:none!important;transition:none!important}}

/* The customer's signature is part of the recipe, cart and order. */
/* Each choice belongs to its preparation stage; all movement is finite. */
#pantryTabs{display:none}#simPantry{margin-top:18px}.method-choices,.wrap-choices,.guided-summary,.guided-label,.guided-note,.ingredient-step-actions{grid-column:1/-1;min-width:0}
.method-choices{display:grid;gap:10px}.method-choices button{display:grid;grid-template-columns:32px 1fr;gap:5px 9px;text-align:left;border:1px solid #c9a26b33;border-radius:12px;background:#ffffff04;padding:14px 11px;color:var(--cream)}
.ingredient-options{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}
.method-choices button>span{grid-row:1/3;font:25px var(--f-jp);color:var(--gold)}.method-choices b{font-size:12px;line-height:1.5}.method-choices small{font-size:10px;line-height:1.7;color:#bfb39e}.method-choices [aria-pressed=true],.wrap-choices [aria-pressed=true]{border-color:var(--gold);background:#c9a26b18;box-shadow:inset 3px 0 var(--gold)}
.guided-label{font-size:11px;color:var(--muted);margin:10px 0 0}.wrap-choices{display:flex;gap:7px}.wrap-choices button{flex:1;border:1px solid #c9a26b33;border-radius:8px;padding:11px 6px;font-size:10px;color:var(--cream)}
.guided-note,.guided-summary>small{font-size:11px;line-height:1.8;color:#baad96;margin:8px 0}.guided-summary p{font-size:12px;line-height:1.6;margin:8px 0;color:#e0d7c3}.guided-summary p small{display:block;font-size:10px;color:var(--muted)}
.ingredient-step-actions{display:flex;flex-direction:column;gap:8px;margin-top:9px}.ingredient-step-actions button,.guided-summary button{border:1px solid #c9a26b55;border-radius:8px;padding:11px;font-size:11px;color:#e0d7c3;text-align:center;background:#ffffff04}.guided-summary button{margin-top:15px;width:100%}
.real-kitchen-table.phase-style .sim-sheet,.real-kitchen-table:not(.phase-rice) .rice-mound{display:none}.kitchen-process{position:absolute;inset:0;pointer-events:none;z-index:3}.process-card{position:absolute;left:12%;right:12%;top:27%;padding:28px;background:#1e251eea;border:1px solid #e7cc9666;box-shadow:0 15px 25px #0004;border-radius:14px;display:grid;gap:16px;text-align:center;color:#ede4cf}.process-card small{font-size:11px;letter-spacing:.25em;color:#c9a26b}.process-card b{font:600 27px/1.4 var(--f-display)}.process-card span{font-size:13px;line-height:1.8;color:#c9c8b2}
.phase-cover .sim-finished-roll,.phase-batter .sim-finished-roll,.phase-panko .sim-finished-roll,.phase-fry .sim-finished-roll,.phase-frying .sim-finished-roll,.phase-sauce .sim-finished-roll,.phase-serve .sim-finished-roll{opacity:1}
.real-whole-roll.cover-salmon .roll-end{border-color:#ef9469}.real-whole-roll.cover-tuna .roll-end{border-color:#b52c45}.real-whole-roll.cover-eel .roll-end{border-color:#744422}.real-whole-roll.is-cooked .roll-end{border:6px solid #d4a057}
.tempura-batter{background:linear-gradient(0deg,#cec0a2,#f7eed6 60%,#fff8e5);box-shadow:inset 0 -15px 17px #aa987777}
.uncooked-panko{background-color:#ecdfbb;background-image:radial-gradient(ellipse,#fff4d8 0 2px,#d7c69a 3px,transparent 4px),radial-gradient(ellipse,#e0cd9f 0 2px,transparent 3px);background-size:11px 8px,17px 13px;box-shadow:inset 0 -18px 20px #b6a37977}
.closing-seam .rolled-bamboo{animation:close-seam .45s ease-in-out both}.applying-batter .roll-coating,.applying-panko .roll-coating{animation:apply-food .65s ease-out both}
.frying-pan{position:absolute;left:3%;right:3%;top:26%;height:40%;border:11px solid #2d3434;border-radius:80px;background:linear-gradient(150deg,#4e5552,#141b1b);box-shadow:0 16px 14px #291d1588,inset 0 0 0 3px #798078}
.pan-oil{position:absolute;inset:3%;border-radius:inherit;background:radial-gradient(ellipse,#b4963d,#725622);box-shadow:inset 0 3px 9px #0008}.frying-pan i{position:absolute;border:1px solid #f4df9b99;width:9px;height:7px;border-radius:50%;opacity:.2}.phase-frying .frying-pan i{animation:oil-bubble .55s ease-out 3;animation-delay:calc(var(--bubble)*35ms)}
.phase-frying .whole-roll{animation:fry-golden 1.8s ease-in both}.phase-fry .bamboo-mat,.phase-frying .bamboo-mat{opacity:.15}.sushi-piece-side{background-color:#e5d7b6;background-repeat:no-repeat;background-size:100% 100%,150% 240%;background-position:center}.sushi-piece.outer-nori .sushi-piece-side{background-color:#26321e}.sushi-piece.outer-salmon .sushi-piece-side{background-color:#f79569;background-size:100% 100%,130% 320%}.sushi-piece.outer-tuna .sushi-piece-side{background-color:#bb2741;background-size:100% 100%,130% 320%}.sushi-piece.outer-eel .sushi-piece-side{background-color:#724325;background-size:100% 100%,130% 320%}.sushi-piece.outer-tempura .sushi-piece-side{background-repeat:repeat;background-size:9px 7px,13px 11px,17px 9px,100% 100%}
@keyframes close-seam{50%{transform:scaleY(.92)}100%{transform:scaleY(1)}}@keyframes oil-bubble{0%{transform:scale(.5);opacity:.2}70%{opacity:.9}100%{transform:translateY(-12px) scale(1.8);opacity:0}}@keyframes fry-golden{to{filter:sepia(.45) saturate(1.4) brightness(.9)}}
@media(max-width:760px){
 #rollBuilderPanel .sim-pantry{position:static;order:0;padding:13px}#rollBuilderPanel .sim-workspace{order:1}#rollBuilderPanel[data-phase=fill] .sim-pantry{position:sticky;top:69px}#rollBuilderPanel .sim-pantry-head p{display:block;line-height:1.6;margin-top:4px}#rollBuilderPanel #simPantry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-top:10px;padding:0}.method-choices{grid-template-columns:1fr 1fr;gap:7px}.method-choices button{display:block;padding:11px}.method-choices button>span{float:right;font-size:20px}.method-choices b{display:block;font-size:10px;margin-right:15px}.method-choices small{display:block;font-size:9px;margin-top:5px}.guided-label{margin-top:5px}.guided-note{margin:4px 0;font-size:10px}.ingredient-step-actions{flex-direction:row;margin-top:2px}.ingredient-step-actions button{flex:1;padding:9px 5px;font-size:9px}#simPantry .pantry-item{min-width:0;min-height:74px;padding-bottom:8px}.guided-summary p{font-size:10px;display:inline-block;margin:3px 10px 3px 0}.guided-summary>small{display:block;font-size:10px}.guided-summary button{margin-top:6px;padding:9px}.process-card{left:9%;right:9%;top:25%;padding:20px;gap:13px}.process-card b{font-size:21px}.process-card span{font-size:11px}.frying-pan{left:1%;right:1%;top:24%;height:38%;border-width:8px}
}
.roll-signature{grid-column:1/-1;border-top:1px solid #c9a26b35;border-bottom:1px solid #c9a26b35;padding:20px 0;margin:0;min-width:0}
@media(max-width:760px){#rollBuilderPanel[data-phase=fill] .sim-pantry{position:static}#rollBuilderPanel[data-phase=fill] .sim-pantry-head p{display:none}.ingredient-options{display:flex;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#c9a26b44 transparent}.ingredient-options .pantry-item{flex:0 0 85px}#rollBuilderPanel[data-phase=style] .sim-worktop-head{display:none}.real-kitchen-table.phase-style{height:205px}.phase-style .process-card{top:18%;padding:14px;gap:8px}.phase-style .process-card b{font-size:17px}.phase-style .process-card span{font-size:10px}.phase-style .process-card small{font-size:8px}#rollBuilderPanel[data-phase=style] .sim-caption{display:none}#rollBuilderPanel[data-phase=style] .sim-recipe{margin-top:12px}#rollBuilderPanel[data-phase=style] .sim-recipe>div{display:none}}
#ownRollResult,#rollNameInput{scroll-margin-top:92px}
.signature-kicker{color:var(--gold);font-size:12px;font-weight:800;margin:0 0 17px}
.roll-signature label{display:block;font-size:11px;font-weight:700;color:var(--cream);margin-bottom:8px}
.signature-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.signature-input-row input{width:100%;min-width:0;border:1px solid #c9a26b55;border-radius:10px;padding:13px 15px;background:#101910;color:var(--paper);font-size:15px;outline-color:var(--gold)}
.signature-input-row input::placeholder{color:#8d9684}.signature-input-row input:read-only{opacity:.65}
.signature-input-row button{padding:12px 18px;border:1px solid #c9a26b88;border-radius:10px;color:#f3e6cf;background:#3f4228;font-size:12px;font-weight:700;white-space:nowrap}
.signature-input-row button:disabled{opacity:.4}
.signature-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-top:8px;color:#a4af98;font-size:10px;line-height:1.6}
.signature-meta small{font-size:10px}.signature-meta>span{white-space:nowrap;font-size:10px}
.signature-ideas{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.signature-ideas button{border:1px solid #c9a26b30;border-radius:30px;padding:6px 12px;font-size:10px;color:#c3cdb6;background:#ffffff04}
.signature-ideas button:hover{border-color:var(--gold);color:var(--cream)}
.signature-error,.signature-status{margin:10px 0 0;font-size:11px;line-height:1.5}.signature-error{color:#ffaba6}.signature-status{color:#bddea0}
.signature-error:empty,.signature-status:empty{display:none}
.builder-result-name span,.ci h4,#simTitle{overflow-wrap:anywhere}
@media(max-width:760px){.kitchen-is-ready .sim-pantry{display:none}.roll-signature{padding:17px 0}.signature-kicker{font-size:11px;line-height:1.6}.signature-input-row{grid-template-columns:1fr}.signature-input-row input{font-size:16px;padding:12px}.signature-input-row button{min-height:43px;font-size:12px}.signature-meta{gap:10px}.signature-meta small{font-size:9px}.signature-ideas button{font-size:9px;padding:6px 9px}}

/* The near edge curls around the filling; the bamboo peels away before travel. */
.rolling-section{grid-column:1/-1;margin:0;padding:14px 0 10px;min-width:0;border-bottom:1px solid #c9a26b30}.rolling-section figcaption{display:flex;justify-content:space-between;gap:8px;color:#c9bca4;font-size:10px;line-height:1.6}.rolling-section figcaption b{color:var(--gold);font-size:10px;white-space:nowrap}.rolling-section svg{display:block;width:100%;height:140px;overflow:visible}.section-floor{stroke:#9d80543d;stroke-width:3}.section-rice{fill:none;stroke:#f1e6c7;stroke-width:13;stroke-linejoin:round;stroke-linecap:round}.section-nori{fill:none;stroke:#657444;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.section-bamboo{fill:none;stroke:#c49a5b;stroke-width:8;stroke-dasharray:3 2;stroke-linecap:round}.section-fillings ellipse{stroke:#fff6;stroke-width:1}.section-direction{fill:none;stroke:#e5c38166;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rolling-section .section-caption{font-size:10px;line-height:1.7;color:#b8b99c;min-height:32px;margin:0}
.rolling-stages{grid-column:1/-1;display:grid;gap:9px;list-style:none;margin:10px 0;padding:0}.rolling-stages li{display:flex;align-items:center;gap:9px;color:#7d7b6c;font-size:11px;line-height:1.5}.rolling-stages li>b{display:grid;place-items:center;width:23px;height:23px;border:1px solid #c9a26b22;border-radius:50%;font-size:9px;flex:none}.rolling-stages .active{color:#f2e4c9}.rolling-stages .active>b{background:#c9a26b;border-color:#c9a26b;color:#251d15}.rolling-stages .done{color:#a4b58b}.rolling-stages .done>b{border-color:#a4b58b55}
.restart-rolling{grid-column:1/-1;border:0;border-bottom:1px solid #c9a26b44;color:#c9bca4;padding:10px 0;margin-top:4px;font-size:10px;text-align:left}.restart-rolling:disabled{opacity:.35}
.rolling-scrub{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px 14px;width:100%;border:1px solid #c9a26b33;background:#231b14;border-radius:10px;padding:13px 15px;align-items:center}.rolling-scrub label{grid-column:1/-1;font-size:10px;line-height:1.6;color:#baad96}.rolling-scrub input{width:100%;accent-color:#c9a26b;height:27px;touch-action:pan-x;cursor:ew-resize}.rolling-scrub output{font-size:10px;color:#e3d4b8;text-align:right}.rolling-scrub input:disabled{opacity:.5}
/* Every rolling stage uses the sheet's measured position, including the final reveal. */
.real-kitchen-table .sim-finished-roll{inset:auto;left:var(--sheet-left,9%);width:var(--sheet-width,82%);top:var(--roll-top,23%);height:var(--roll-height,25%);transform:scaleY(var(--roll-scale,1));transform-origin:50% 50%;transition:none}
.real-kitchen-table .real-whole-roll{height:100%;background-position:center,50% var(--texture-turn,50%)}
.is-rolling .sim-finished-roll{opacity:var(--roll-opacity,0);clip-path:none}
.is-rolling .sim-sheet{transform:none;opacity:1;clip-path:inset(0 0 calc((1 - var(--sheet-remaining,1))*100%) 0);transition:none}
.is-rolling #placedIngredients{opacity:var(--filling-opacity,1);clip-path:none}
.is-rolling .placed-ingredient button,.is-rolling .rice-mound,.is-rolling .fill-line-hint,.real-kitchen-table .kitchen-fold-flap{display:none}
.real-kitchen-table .rolled-bamboo{left:calc(var(--sheet-left,9%) - 2%);right:auto;width:calc(var(--sheet-width,82%) + 4%);top:calc(var(--roll-top,23%) - 1%);height:calc(var(--roll-height,25%) + 2%);border-radius:44px 32px 32px 44px;opacity:0;transition:none;transform-origin:50% 0%}
.real-kitchen-table.is-rolling .rolled-bamboo{opacity:var(--roll-opacity,0);transform-origin:50% calc(50% - var(--bamboo-peel,0)*50%);transform:translateY(calc(var(--bamboo-peel,0)*-125%)) rotateX(calc(var(--bamboo-peel,0)*76deg)) scaleY(var(--roll-scale,1))}
.real-kitchen-table .press-points button{top:calc(var(--roll-top,23%) + var(--roll-height,25%)*.5);transform:translate(-50%,-50%)}
.real-whole-roll::after{content:'';position:absolute;left:5%;right:12%;bottom:9%;height:2px;border-radius:50%;background:#13201055;box-shadow:0 1px 1px #fff2;opacity:var(--roll-closure,0)}
.real-whole-roll.seam-closed::after{opacity:.3}
.sim-worktop-head{min-height:68px}
.real-kitchen-table .roll-grip{user-select:none;-webkit-user-select:none;cursor:grab}
.gesture-folding .roll-grip{cursor:grabbing}
.is-rolling.has-wet-edge .sim-sheet::before{content:'';position:absolute;top:0;left:2%;right:2%;height:12%;background:linear-gradient(0deg,#b6dbe555,transparent);border-top:1px solid #e2f5f777;z-index:4}.wetting-edge .sim-sheet::before{animation:wet-nori-edge .65s ease-out both}.wet-edge-action{position:absolute;top:18%;left:50%;transform:translateX(-50%);pointer-events:auto;display:flex;gap:9px;align-items:center;padding:11px 16px;border-radius:30px;color:#e4f0eb;border:1px solid #bbd9d488;background:#274344e8;box-shadow:0 5px 10px #0003;font-size:15px;white-space:nowrap}.wet-edge-action span{font-size:11px}.wet-edge-action:disabled{opacity:.4}
@keyframes wet-nori-edge{from{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}
@media(max-width:760px){
 #rollBuilderPanel:has(.is-rolling) #simPantry{grid-template-columns:110px minmax(0,1fr);gap:4px 12px;margin-top:7px}#rollBuilderPanel:has(.is-rolling) .sim-pantry-head p{display:none}#rollBuilderPanel:has(.is-rolling) .sim-pantry-head h3{font-size:11px}.rolling-section{grid-column:1;margin:0;padding:0;border:0;grid-row:1/3}.rolling-section figcaption{font-size:8px;display:block}.rolling-section figcaption b{display:block;font-size:9px;margin-top:3px}.rolling-section svg{height:77px}.rolling-section .section-caption{font-size:8px;line-height:1.4;min-height:0}.rolling-stages{grid-column:2;gap:3px;margin:0;grid-template-columns:1fr 1fr}.rolling-stages li{gap:4px;font-size:8px}.rolling-stages li>b{height:17px;width:17px;font-size:7px}.restart-rolling{grid-column:2;margin:4px 0 0;padding:5px 0;font-size:9px}.rolling-scrub{padding:9px 11px;gap:3px 8px}.rolling-scrub label{font-size:9px}.rolling-scrub input{height:30px}.rolling-scrub output{font-size:9px}.is-rolling .rolled-bamboo{border-radius:30px 22px 22px 30px}.phase-lift .kitchen-fold-flap{border-radius:28px 28px 9px 9px}.wet-edge-action{top:17%;padding:9px 12px;font-size:12px}.wet-edge-action span{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.real-kitchen-table *{animation-duration:.001ms!important;transition:none!important}}

/* Ingredient choices share the same portions and prices as the backend. */
.ingredient-price{display:block;font-style:normal;font-size:10px;font-weight:800;color:var(--gold);margin-top:5px}.real-piece.piece-cheese{z-index:3}.real-piece.piece-cucumber{height:auto;min-height:0;aspect-ratio:384/39;z-index:5}.real-piece.piece-tobiko{height:11%}.real-piece.piece-mango{height:12%}
/* One photographic three-stick bundle per placement; retain its natural proportions. */
.cucumber-bundle{display:grid;place-items:center;width:100%;height:100%;pointer-events:none}
.cucumber-bundle img,.real-piece .cucumber-bundle img{position:static;display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;filter:drop-shadow(0 2px 1px #23411c38);pointer-events:none}
.cucumber-bundle.second-bundle img{transform:scaleX(-1) rotate(.7deg)}
.pantry-item>.cucumber-bundle{width:95%;height:55px;margin:4px 0}
.pantry-item>.cucumber-bundle img{width:100%;height:100%;max-height:none;margin:0;object-fit:contain;filter:drop-shadow(0 2px 1px #0004)}
.coating-layer{position:absolute;top:0;bottom:0;background-position:center;background-size:auto 180%;box-shadow:inset 0 9px 10px #fff2,inset 0 -12px 12px #44261155}.coating-salmon{background-color:#f79569;background-image:url('../img/kitchen/salmon.webp')}.coating-tuna{background-color:#bb2741;background-image:url('../img/kitchen/tuna.webp')}.coating-eel{background-color:#724325;background-image:url('../img/kitchen/eel.webp')}.coating-crab{background-color:#f6dfcf;background-image:repeating-linear-gradient(86deg,#f7e5ce 0 3px,#f18d77 4px,#cd6750 5px,#fff0dc 7px)}.coating-tobiko{background:#ed701b url('../img/kitchen/tobiko.webp') center/auto 65%;background-repeat:repeat}.coating-cheddar{background:linear-gradient(0deg,#d68b23,#ffce62 70%,#ffe6a0)}.coating-threeCheese{background:radial-gradient(ellipse at 22% 42%,#b8792a 0 3px,transparent 6px),radial-gradient(ellipse at 67% 55%,#fff4c9 0 10px,transparent 15px),linear-gradient(0deg,#e4a943,#f9dda1 70%,#fff0b7);background-size:37px 27px,55px 39px,100% 100%}
.piece-coatings{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.sushi-piece-side{overflow:hidden}.sushi-core{z-index:3;overflow:hidden}.piece-drizzle{z-index:4}.core-cucumber{background:transparent!important;border-radius:0;box-shadow:none!important}.cucumber-core-strip{position:absolute;width:27%;height:36%;clip-path:polygon(7% 5%,100% 30%,77% 100%,0 80%);background:linear-gradient(90deg,#246033 0 22%,#9dcc6c 24%,#e0efa9 80%,#b4d682);transform:rotate(-7deg)}.cucumber-core-strip:nth-child(even){transform:rotate(12deg)}.core-tobiko{background:#ed701b url('../img/kitchen/tobiko.webp') center/auto 100%!important}.core-mango{background:linear-gradient(25deg,#e6a718,#ffe16b)!important}
.real-whole-roll .roll-glaze,.piece-drizzle{--sauce-color:#6c3619;background:repeating-linear-gradient(65deg,transparent 0 23px,var(--sauce-color) 24px,var(--sauce-color) 27px,transparent 28px)!important;background-position:calc(var(--sauce-index,0)*6px) 0!important;mix-blend-mode:normal!important}.sauce-spicyMayo{--sauce-color:#f7ae79!important}.sauce-specialSauce{--sauce-color:#ad4325!important}.sauce-garlicSauce{--sauce-color:#f6e7c9!important}.sauce-sweetChili{--sauce-color:#df4b26!important}.sauce-nutSauce{--sauce-color:#caa475!important}.bowl-garlicSauce{background:#f3e4c5}.bowl-sweetChili{background:#dc4822}.bowl-nutSauce{background:#bd9667}.bowl-threeCheese{background:linear-gradient(20deg,#e7ad49,#fff0bd)}
.roll-cost-breakdown{grid-column:1/-1;border-top:1px solid #c9a26b30;padding-top:14px;font-size:12px}.roll-cost-breakdown summary{cursor:pointer;color:var(--gold)}.roll-cost-breakdown dl{margin:12px 0 0}.roll-cost-breakdown dl>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.roll-cost-breakdown dt{color:var(--muted)}.roll-cost-breakdown dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:760px){.ingredient-price{font-size:9px}.guided-grid .pantry-item{flex-basis:92px}.pantry-item>small{max-width:90px}.roll-cost-breakdown{font-size:11px}}
@media(max-width:760px){.sim-actions-under-board{margin:12px 0 4px}.kitchen-is-ready .sim-actions-under-board{display:none}}
