/* Drag affordances also apply to a desktop workstation. */
.secondary-controls{display:flex;gap:7px}.phone-button,.move-hint{display:none}
.context-button{display:none}.tap-assist .context-button{display:flex}
.ingredient-source,.ticket-tab,.board-slot:not(.empty),.oven.heating{cursor:grab}
.is-dragging,.is-dragging *{cursor:grabbing!important}
.drag-source-lift{opacity:.35;filter:saturate(.6)}
.drop-accept{outline:2px dashed #ff8b32;outline-offset:3px}
.drop-hover{outline:3px solid #fff6dc;box-shadow:0 0 0 5px #ff7009,0 0 22px #ff9c46!important;background-color:#ffdc9e55!important}
.drop-success{animation:drop-settle .35s ease-out}
.drag-ticket-ghost{background:#fff6e8;border:3px solid #ff7009;border-radius:9px;padding:10px;font-size:12px;box-shadow:0 8px 10px #29262133}.drag-ticket-ghost>b{display:block;font-size:19px}.drag-ticket-ghost .copy-vi{font-size:10px}
.bagel-lid-source{position:absolute;right:3%;top:13%;width:44%;height:66%;display:flex;align-items:center;justify-content:center;z-index:5;filter:drop-shadow(1px 6px 1px #58331455);transform:translateY(-5px);border:2px dashed #ff7009;border-radius:50%;background:#f4cc8d44;touch-action:none}
.bagel-lid-source>svg{height:100%;width:100%}.bagel-lid-source>b{position:absolute;bottom:-12px;font-size:8px;line-height:1.1;background:#fff1d5;padding:3px 6px;border-radius:5px;white-space:nowrap}.bagel-lid-source .copy-vi{font-size:7px;margin:0}
.tutorial-guide,.coach-dock{transition:height .2s ease-out}
@keyframes drop-settle{40%{transform:scale(1.035)}100%{transform:scale(1)}}
/* Phone is the primary station. Space stays reserved for only one short instruction. */
@media (max-height:600px) and (orientation:landscape){
 :root,body.tutorial-active{--header-height:44px;--dock-height:62px;--shell-padding:8px}
 .topbar{gap:8px;padding-top:var(--safe-top);border-bottom:0}
 .brand-logo{height:40px;width:70px}.brand-logo img{width:91px;height:91px}
 .game-title{border:0;padding:0}.game-title b{font-size:16px;letter-spacing:-.5px}.game-title>span,.shift-chip,.header-stats{display:none}
 .topbar nav{margin-left:auto;gap:3px}.icon-button{width:44px;height:44px;flex-basis:44px;border-radius:10px}.icon-button span{width:17px;height:17px}
 .phone-button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;min-width:44px;background:transparent;border:1px solid #6534134d;border-radius:8px;font:700 10px/1.1 var(--heading);padding:4px 8px}.phone-button .copy-vi{font-size:8px;margin-top:2px}.phone-button>b{border-radius:50%;background:#fff4db;width:17px;height:17px;display:grid;place-items:center;font-size:10px}.phone-button[aria-expanded=true]{background:#fff0d1}
 .language-button{min-height:44px;min-width:52px;font-size:10px;border-radius:8px}
 .secondary-controls{display:none;position:absolute;right:max(8px,var(--safe-right));top:calc(47px + var(--safe-top));padding:7px;background:#fff6e9;border:2px solid var(--brand);border-radius:10px;box-shadow:0 6px 20px #29262140;z-index:80;gap:6px}.utilities-open .secondary-controls{display:flex}.secondary-controls .icon-button{background:#ffe5c7}.assist-button[aria-pressed=true]{background:#ff7009}
 .world{perspective:none;bottom:calc(62px + var(--safe-bottom))}
 .counter{top:29%}.counter-edge{height:4%}.station-mark,.counter-brand,.wall-stripe{display:none}
 .oven-bank{left:19%;width:60%;top:1%;height:30%;padding-top:0;filter:none}
 .oven-bank-title{display:none}.oven-slots{gap:8px}.oven-slot{padding-top:12px;padding-bottom:17px}
 .oven-label,.oven-label .copy-en,.oven-label .copy-vi{font-size:8px;letter-spacing:0}.oven-label{top:0}.oven-readout{bottom:1px}.oven-readout>b{font-size:11px;padding:1px 4px}.oven-readout>span{display:none}.oven-progress{height:3px}
 .countertop-oven{border-radius:8px 10px 5px 5px}.countertop-oven .oven-brand{font-size:5px}.oven-feet{display:none}
 .salad-bar{left:19%;width:60%;top:33%;height:28%;padding:14px 4px 3px;box-shadow:0 4px #8c8275}
 .salad-heading{height:13px;font-size:7px;padding:0 5px}.salad-heading .copy-vi,.salad-heading>span{display:none}
 .ingredient-trays{gap:3px}.ingredient-tray{padding:0 1px 25px;min-height:44px}.ingredient-tray> .food-art{inset:1px 1px 23px}.ingredient-tray b{height:24px;bottom:0;font-size:8px;letter-spacing:-.2px;line-height:1.05;padding:2px 0}.ingredient-tray b .copy-vi{display:block;font-size:6px;line-height:1.1;margin-top:1px}
 .tablet{left:1%;top:1%;width:17%;height:49%;max-height:none;min-height:0;transform:none;border-radius:9px;padding:5px 4px 5px;box-shadow:2px 4px #29262133;z-index:7}
 .tablet-screen{height:100%;overflow:hidden}.tablet-camera,.tablet-base,.tablet-header{display:none}.order-queue{top:0;padding:2px;gap:2px;position:relative}.ticket-tab{min-height:44px;font-size:7px;line-height:1.1}.ticket-tab>b{font-size:10px}.ticket-tab .ticket-tab-name{display:none}.ticket-tab i{font-size:6px}.ticket-tab .copy-vi{font-size:5px}
 .ticket-body{padding:3px 4px}.ticket-topline,.ticket-customer,.ticket-rule,.ticket-items,.ticket-time,#bagel-type,#reset-order{display:none!important}.ticket-body h1{font-size:12px;margin:3px 0;line-height:1.05}.ticket-body h1 .copy-vi{font-size:9px;margin-top:2px;line-height:1.1}.tablet .primary-button{min-height:44px;font-size:9px;line-height:1.1;padding:4px 3px;margin-top:3px}.tablet .primary-button .copy-vi{font-size:8px;margin:2px 0 0}
 .phone-orders-open .tablet{width:min(310px,43%);height:94%;box-shadow:6px 9px 24px #29262188;z-index:39}.phone-orders-open .tablet-screen{overflow-y:auto;touch-action:pan-y}.phone-orders-open .tablet-header{display:flex;height:25px;font-size:8px}.phone-orders-open .order-queue{position:sticky;top:25px}.phone-orders-open .ticket-body{padding:9px}.phone-orders-open .ticket-body h1{font-size:18px}.phone-orders-open .ticket-body h1 .copy-vi{font-size:13px}.phone-orders-open .ticket-tab .ticket-tab-name{display:block;font-size:9px}.phone-orders-open .ticket-tab .copy-vi{font-size:7px}.phone-orders-open .ticket-items{display:flex!important;font-size:11px;gap:8px}.phone-orders-open .ticket-item{font-size:11px}.phone-orders-open .ticket-item small{font-size:9px}.phone-orders-open .ticket-item .copy-vi{font-size:10px}.phone-orders-open .ticket-topline,.phone-orders-open .ticket-rule,.phone-orders-open .ticket-time,.phone-orders-open #bagel-type,.phone-orders-open #reset-order:not([hidden]){display:flex!important}.phone-orders-open #bagel-type{font-size:11px;margin:9px 0}.phone-orders-open .service-tag{font-size:8px}.phone-orders-open .ticket-time{font-size:9px}.phone-orders-open #reset-order{font-size:11px;min-height:44px}
 .bagel-crate{right:1%;width:19%;top:35%;height:26%}.crate-sign{top:-8%;padding:3px 5px}.crate-sign>b{font-size:9px}.crate-sign>b .copy-vi{font-size:7px}.crate-sign>span{display:none}.bagel-choices{bottom:-10%;gap:3px}.bagel-choices button{min-width:0;min-height:44px;font-size:10px;padding:2px}.bagel-choices .copy-vi{font-size:7px}
 .cutting-board{left:26%;top:64%;width:51%;height:33%;border-radius:13px;box-shadow:0 4px #b19667,inset 0 0 0 3px #e8cfa0}
 .board-slots{inset:1% 1% 5%}.board-slot{border-radius:8px}.board-slot .slot-label{font-size:8px;left:3%;top:3%;padding:2px 4px}.board-slot .slot-label small{display:none}.board-slot.empty{font-size:10px}.board-slot.empty .copy-vi{font-size:8px}.board-caption,.board-grain,.board-handle{display:none}.board-slot svg{filter:drop-shadow(1px 3px 0 #795b2b22)}
 .board-tools{left:19%;top:64%;width:6%;height:34%;gap:0}.tool{min-height:44px;flex:1}.tool b{font-size:7px}.tool b .copy-vi{font-size:6px}.tool>span{height:65%}
 .b3-station{left:1%;top:53%;width:17%;height:20%}.b3-label,.b3-note{display:none}.b3-bowl{left:0;top:0;width:100%;height:100%;min-height:44px}.b3-bowl #b3-art{height:100%}.b3-bowl #b3-status{top:auto;bottom:0;left:0;right:0;max-width:100%;font-size:8px;line-height:1.1;padding:2px 3px;background:#fff4dfed;border-radius:4px;transform:none}.b3-bowl #b3-status .copy-vi{font-size:7px;margin-top:1px}
 .takeaway{left:1%;top:76%;width:17%;height:23%}.takeaway>span:first-child{height:calc(100% - 9px)}.dinein{right:1%;top:74%;width:20%;height:25%}.pack-zone .zone-label{font-size:9px;line-height:1.05;letter-spacing:0;bottom:0}.pack-zone .zone-label .copy-vi{font-size:7px;margin:0}
 .customer-stage{right:1%;top:0;width:19%;height:30%;align-items:flex-end;justify-content:flex-end;z-index:8}.customer-portrait{height:92%;width:45%;flex-shrink:0;transition:transform .25s}.customer-bubble{position:absolute;right:38%;top:6%;width:125%;font-size:11px;line-height:1.2;z-index:1;padding:6px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;box-shadow:0 2px 6px #29262125}.customer-bubble .copy-vi{font-size:9px}.customer-bubble>b{display:block;font-size:9px}.customer-speaking .customer-bubble{opacity:1;transform:translateY(0)}.driver-waiting{right:10%;top:7%;width:7%;height:23%;z-index:7}.driver-waiting>span{font-size:6px}
 .coach-dock{height:calc(62px + var(--safe-bottom));padding:3px max(10px,var(--safe-right)) calc(3px + var(--safe-bottom)) max(10px,var(--safe-left));gap:10px;border-top:3px solid var(--brand)}
 .coach-avatar.nathan-avatar{height:58px;width:44px;flex-basis:44px;align-self:flex-end;cursor:pointer}.coach-copy{display:none}.move-hint{display:block;flex:1;min-width:0;font:700 14px/1.2 var(--heading);padding-right:6px}.move-hint .copy-vi{font:500 11px/1.2 var(--body);margin-top:3px;color:#794118;opacity:1}.control-hint,.step-dots{display:none}.coach-details-open .coach-copy{display:block;position:absolute;left:max(9px,var(--safe-left));bottom:calc(67px + var(--safe-bottom));width:min(370px,75vw);background:#fff6e6;border:2px solid var(--brand);border-radius:14px 14px 14px 2px;padding:12px 14px;box-shadow:0 4px 18px #29262144;z-index:60}.coach-details-open .coach-message{font-size:14px;line-height:1.4}.coach-details-open .coach-message .copy-vi{font-size:12px;line-height:1.4;margin-top:6px}.coach-details-open .coach-eyebrow{font-size:9px}.context-button{min-height:44px;min-width:120px;max-width:35%;font-size:10px}
 .tutorial-guide{height:calc(62px + var(--safe-bottom));padding:3px max(10px,var(--safe-right)) calc(3px + var(--safe-bottom)) max(10px,var(--safe-left));gap:10px;border-top-width:3px;transition:none}.tutorial-nathan{height:58px;width:44px;flex-basis:44px}.tutorial-coach-label,.tutorial-instruction,.tutorial-progress{display:none}.tutorial-heading{align-items:center}.tutorial-title{font-size:14px;line-height:1.15;letter-spacing:0}.tutorial-title .copy-vi{font-size:11px;line-height:1.2;margin-top:3px}.tutorial-count{font-size:11px;min-width:41px;padding:6px}.tutorial-guide-content{max-width:none}.tutorial-focus-layer{z-index:31}.tutorial-drag-cursor{width:22px;height:29px}
 .tutorial-details-open .tutorial-instruction{display:block;position:absolute;right:max(10px,var(--safe-right));top:calc(-134px - var(--safe-bottom));width:min(320px,48vw);height:auto;min-height:90px;padding:13px 15px;background:#fff7e6;border:2px solid var(--brand);border-radius:14px 14px 2px 14px;box-shadow:0 5px 18px #29262133;font-size:14px;line-height:1.35}.tutorial-details-open .tutorial-instruction .copy-vi{font-size:12px;line-height:1.3;margin-top:5px}
 .is-dragging .tutorial-instruction,.is-dragging .customer-bubble{opacity:0}.is-dragging .tutorial-gesture-route{opacity:0}
 .feedback{top:29%;font-size:11px;max-width:65%;padding:6px 10px;border-radius:8px;z-index:41}.feedback .copy-vi{font-size:10px}.selection-pill{top:auto;bottom:0;font-size:11px;max-width:80%;z-index:42}.selection-pill .copy-vi{font-size:9px}
 .overlay{bottom:0;padding:8px;background:#292621a8;z-index:45}.welcome-card{width:min(480px,90%);max-height:100%;padding:16px 24px;border-radius:12px;border-top:4px solid var(--brand)}.welcome-card h2{font-size:25px;line-height:1.1;margin:7px 0}.welcome-card h2 .copy-vi{display:none}.welcome-card h2>br{display:none}.welcome-card h2>em{margin-top:0}.welcome-eyebrow{font-size:9px}.welcome-eyebrow .copy-vi{font-size:8px}.welcome-card>p{font-size:12px;line-height:1.35;margin:8px 0}.welcome-card>p .copy-vi{font-size:11px;line-height:1.3;margin-top:4px}.welcome-card .primary-button,.welcome-card .text-button{min-height:44px;font-size:12px;padding:6px 10px}.welcome-card .text-button{padding-top:6px}.welcome-foot,.welcome-stamp,.welcome-tags{display:none}.welcome-card .copy-vi{font-size:10px}
 .modal-card{padding:18px 22px;border-radius:12px}.modal-card h2{font-size:24px}.modal-card p,.recipe-detail ol{font-size:13px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat span{font-size:8px}.stat b{font-size:21px}.review-top .review-art{width:64px;height:64px}.review-quote{font-size:19px}.review-quote .copy-vi{font-size:13px}
}
@media(max-width:700px) and (orientation:landscape){
 .game-title{display:none}.topbar{gap:4px}.topbar nav{gap:2px}.phone-button{padding:4px 5px}.brand-logo{width:62px}.oven-slots{gap:5px}.salad-bar{width:60%}.ingredient-tray b{font-size:6.5px}.ingredient-tray b .copy-vi{font-size:5.5px}.ticket-body h1{font-size:10px}.ticket-body h1 .copy-vi{font-size:8px}.ticket-tab>b{font-size:8px}.tablet .primary-button{font-size:8px}.tablet .primary-button .copy-vi{font-size:7px}.customer-bubble{font-size:10px}.customer-bubble .copy-vi{font-size:9px}.board-slot .slot-label{font-size:7px}.tool b{font-size:6px}.tool b .copy-vi{font-size:5px}.bagel-choices button{font-size:9px}.bagel-choices .copy-vi{font-size:6px}.b3-bowl #b3-status{font-size:7px}.b3-bowl #b3-status .copy-vi{font-size:6px}.pack-zone .zone-label{font-size:8px}.pack-zone .zone-label .copy-vi{font-size:6px}.crate-sign>b{font-size:8px}.crate-sign>b .copy-vi{font-size:6px}.tutorial-details-open .tutorial-instruction{font-size:12px;top:-125px}.tutorial-details-open .tutorial-instruction .copy-vi{font-size:11px}.move-hint,.tutorial-title{font-size:13px}.move-hint .copy-vi,.tutorial-title .copy-vi{font-size:11px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-height:350px) and (orientation:landscape){
 :root,body.tutorial-active{--dock-height:54px}.world{bottom:calc(54px + var(--safe-bottom))}.coach-dock,.tutorial-guide{height:calc(54px + var(--safe-bottom))}.tutorial-nathan,.coach-avatar.nathan-avatar{height:48px;width:38px;flex-basis:38px}.oven-bank{height:31%}.salad-bar{top:34%;height:27%}.cutting-board{top:64%;height:34%}.board-tools{top:60%;height:40%}.tool b .copy-vi{display:none}.ingredient-tray{padding-bottom:20px}.ingredient-tray>.food-art{bottom:19px}.ingredient-tray b{height:20px}.ticket-body h1{font-size:9px}.ticket-body h1 .copy-vi{font-size:7px}.tablet .primary-button{min-height:44px;font-size:7px;margin:1px 0}.tablet .primary-button .copy-vi{font-size:6px}.welcome-card{padding:10px 20px}.welcome-eyebrow{display:none}.welcome-card>p{font-size:11px}.welcome-card>p .copy-vi{font-size:10px}.welcome-card h2{font-size:22px}.bagel-lid-source>b{font-size:6px;bottom:-8px}.bagel-lid-source .copy-vi{font-size:5px}
}
@media(prefers-reduced-motion:reduce){.drop-success{animation:none}.customer-bubble,.customer-portrait{transition:none}}
@media(max-height:350px) and (orientation:landscape){
 .tablet{height:57%}.b3-station{top:60%;height:20%}.takeaway{top:81%;height:19%;min-height:42px}.ticket-tab .copy-vi{display:none}.board-tools{left:18%;width:44px}.tool{width:44px}
}
/* Scroll recipe text naturally; each movable object owns its gesture. */
#world{touch-action:manipulation}
#app .ticket-tab,#app .board-slot{touch-action:none}
@media(max-height:600px) and (orientation:landscape){.tool{min-width:44px}.drag-ghost{width:86px;height:66px}}
.drag-held-label{position:absolute;top:95%;left:50%;transform:translateX(-50%);min-width:100px;max-width:155px;padding:4px 7px;background:#fff4dc;border:1px solid #ff7009;border-radius:6px;font:700 11px/1.15 var(--body);text-align:center}.drag-held-label .copy-vi{font-size:9px;margin-top:2px}
@media(max-height:600px) and (orientation:landscape){
 .header-stats{display:flex;flex-direction:row;align-items:center;gap:5px;margin-left:auto}.header-stats>span{font-size:18px}.header-stats small{display:block;font-size:6px;letter-spacing:.2px}.header-stats small .copy-vi{font-size:6px;margin:1px 0 0}.topbar nav{margin-left:0}.coach-details-open .coach-copy{pointer-events:none}.customer-bubble{width:clamp(100px,16vw,150px)}.phone-orders-open .ticket-tab .copy-vi{display:block}
}
@media(max-width:620px) and (orientation:landscape){.header-stats small{display:none}}
.ingredient-picker-toggle{display:none}
@media(max-height:600px) and (orientation:landscape){
 .ingredient-picker-toggle{display:block;min-height:44px;padding:5px 9px;background:#ffe5c7;border-radius:8px;font-size:11px}.ingredient-picker-toggle .copy-vi{font-size:9px}
 .ingredients-open .salad-bar{top:4%;height:62%;width:60%;z-index:42;padding:22px 7px 7px;border:3px solid var(--brand);border-radius:10px;box-shadow:0 8px 24px #29262166;background:#fff1de}.ingredients-open .salad-heading{font-size:11px;height:20px}.ingredients-open .ingredient-trays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(44px,1fr));gap:6px}.ingredients-open .ingredient-tray{width:100%;min-width:44px;min-height:44px;padding-bottom:30px}.ingredients-open .ingredient-tray b{height:29px;font-size:11px}.ingredients-open .ingredient-tray b .copy-vi{font-size:9px}.ingredients-open .ingredient-tray>.food-art{bottom:29px}
}
