@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/dm-sans-latin-variable.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/space-grotesk-latin-variable.woff2') format('woff2')}
:root{--brand:#ff7009;--brand-deep:#a83f00;--brand-soft:#ffe5cc;--charcoal:#292621;--cream:#fff7ee;--ink:#292621;--muted:#776e64;--orange:var(--brand);--heading:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--cream);color:var(--ink);font-family:var(--body);font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,[tabindex]:focus-visible{outline:3px solid #a83f00;outline-offset:4px}button:disabled{cursor:default}button:active{filter:brightness(.96)}[hidden]{display:none!important}svg{width:100%;height:100%;overflow:visible}#app{height:100dvh;min-height:300px;width:100%;position:relative;isolation:isolate}.topbar{height:86px;background:var(--brand);display:flex;align-items:center;padding:0 32px;gap:34px;border-bottom:1px solid #cf5200;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--charcoal);font-family:var(--heading);font-size:19px;font-weight:700;line-height:.9;letter-spacing:-1px;flex-shrink:0}.brand-bagel{font-size:46px;font-weight:700;letter-spacing:-8px;transform:rotate(-10deg);padding-right:8px;display:block}.brand-logo{position:relative;display:block;width:136px;height:68px;overflow:hidden}.brand-logo img{position:absolute;width:166px;height:166px;max-width:none;left:50%;top:56%;transform:translate(-50%,-50%)}.brand-small{display:block;font-family:var(--body);font-size:5.7px;letter-spacing:1.05px;margin-top:6px;font-weight:700}.game-title{padding-left:30px;border-left:1px solid #5b2a093d;display:flex;flex-direction:column;gap:5px}.game-title b{font-family:var(--heading);font-size:24px;letter-spacing:-1px}.game-title>span{font-size:8px;letter-spacing:1.7px;font-weight:700}.shift-chip{font-size:10px;letter-spacing:.9px;border:1px solid #5b2a0952;border-radius:30px;padding:11px 14px;display:flex;align-items:center;gap:9px;margin-left:auto}.live-dot{display:inline-block;width:7px;height:7px;background:#a83f00;border-radius:50%;box-shadow:0 0 0 3px #a83f0018;flex-shrink:0}.header-stats{display:flex;align-items:flex-end;flex-direction:column;gap:1px}.header-stats>span{font:700 27px var(--heading);line-height:1}.header-stats small{font-size:7px;letter-spacing:1px}.topbar nav{display:flex;gap:7px}.icon-button{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:1px solid #5b2a0952;border-radius:50%}.icon-button span{width:16px;height:16px}.icon-button.active{background:var(--charcoal);color:var(--cream)}.world{position:absolute;inset:86px 0 102px;overflow:hidden;perspective:1000px;background:#ded9d2;touch-action:none;user-select:none;-webkit-user-select:none}.tile-wall{position:absolute;inset:0 0 37%;background-color:#eee9e1;background-image:linear-gradient(#b9afa34d 1px,transparent 1px),linear-gradient(90deg,#b9afa34d 1px,transparent 1px);background-size:75px 53px;box-shadow:inset 0 15px 20px -20px #584c3d}.wall-stripe{position:absolute;left:0;right:0;top:40%;height:10%;background:#ff7009;box-shadow:inset 0 -6px #ca5200;border-top:5px solid #ff9b4f}.wall-note{position:absolute;right:4%;top:6%;width:18%;transform:rotate(4deg);text-align:center;color:#653512;background:#fff3e3;border:8px solid #e7c29b;box-shadow:4px 6px 0 #3c291820;padding:12px 8px}.wall-note span{font-size:9px;letter-spacing:1.9px;font-weight:700}.wall-note b{display:block;font:600 italic 22px Georgia,serif;margin:7px 0}.wall-note i{font-size:6px;letter-spacing:2px;font-style:normal}.counter{position:absolute;left:-2%;right:-2%;top:48%;bottom:-5%;background:repeating-linear-gradient(91deg,transparent 0 19%,#4d484215 19.2% 19.5%,transparent 19.7% 20%),repeating-linear-gradient(1deg,#ddd9d308 0 2px,#8e898125 3px 4px,#ddd9d308 5px 8px),#cbc7bf;border-top:10px solid #b6b4af;box-shadow:inset 0 9px #79777330,inset 0 18px 20px -15px #514c44}.counter-edge{position:absolute;bottom:0;width:100%;height:15px;background:#98948d;border-top:4px solid #77726b}.station-mark{position:absolute;left:29.5%;top:54%;font-size:7px;letter-spacing:2px;color:#795e36;font-weight:700;display:flex;align-items:center;gap:7px}.station-mark span{border:1px solid #9b835d;padding:2px 4px;letter-spacing:0}.oven-bank{position:absolute;left:29%;top:5%;width:46%;height:28%;display:flex;gap:10px;padding-top:20px;filter:drop-shadow(0 8px 0 #302b2615)}.oven-bank-title{position:absolute;top:0;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.8px;font-weight:700;color:#6a6259;padding:0 3px}.oven-bank-title span+span{font-size:6px;font-weight:500}.oven{width:50%;height:100%;padding:7px 10px;background:linear-gradient(130deg,#b9b9b5,#e4e2db 40%,#aaa9a4);border-radius:7px 7px 3px 3px;border:1px solid #898781;box-shadow:inset 0 2px #fffaf3,0 5px #85837d;display:flex;flex-direction:column;position:relative;text-align:left}.oven-top{height:21%;display:flex;align-items:center;gap:10px;color:#625e57;min-height:13px}.oven-top>b{font:600 10px var(--heading);border:1px solid #a5a29a;border-radius:3px;padding:0 3px}.oven-brand{font:700 7px var(--heading);letter-spacing:2px}.oven-led{width:5px;height:5px;background:#9c9890;border-radius:50%;margin-left:auto}.oven-window{height:55%;border:5px solid #575653;border-radius:4px;background:linear-gradient(150deg,#292826,#3b3834);position:relative;overflow:hidden;box-shadow:inset 1px 4px 6px #0004}.oven-window:after{content:'';position:absolute;left:7%;top:15%;width:60%;height:3px;background:#fff1d91a;transform:rotate(-8deg);pointer-events:none}.oven-rack{position:absolute;bottom:12%;left:4%;width:92%;height:12%;background:repeating-linear-gradient(0deg,#aaa395 0 1px,transparent 1px 5px);transform:perspective(100px) rotateX(35deg)}.oven-idle{position:absolute;inset:0;display:grid;place-items:center;color:#d5c8b475;font:500 7px var(--heading);letter-spacing:2px}.oven-food{position:absolute;left:22%;top:0;width:56%;height:100%;transition:filter 1s}.oven-food svg{height:100%;transform:scale(1.25)}.oven-bottom{height:24%;display:flex;align-items:center;gap:10px;min-height:16px}.oven-timer{font:500 14px var(--heading);color:#ffad6b;background:#292621;border-radius:3px;padding:1px 7px;min-width:55px;text-align:center}.oven-bottom>span+span{font-size:6px;letter-spacing:1px;font-weight:700}.oven-bottom>i{display:block;width:17px;height:17px;border-radius:50%;background:linear-gradient(120deg,#f8f3ea,#a29c93);box-shadow:1px 1px 2px #70685e;margin-left:auto}.oven-bottom>i:after{content:'';width:2px;height:5px;background:#6b6359;display:block;margin:2px auto}.oven.spare{opacity:.78}.oven.heating .oven-window{background:radial-gradient(ellipse at bottom,#b76a27,#633c21 60%,#352f25)}.oven.heating .oven-led{background:#ff9d4c;box-shadow:0 0 8px #ff9d4c}.oven.ready .oven-window{box-shadow:inset 0 0 12px #ff700966}.oven.ready .oven-led{background:#fff0db;box-shadow:0 0 10px var(--brand)}.oven.burnt .oven-window{background:#382d28}.toast-gauge{position:absolute;left:0;right:51%;bottom:-19px;display:flex;align-items:center;gap:5px;font:600 6px var(--body);letter-spacing:.5px}.toast-gauge>div{height:6px;position:relative;flex:1;border-radius:4px;background:linear-gradient(to right,#ead8ad 0 62%,#ff8a32 62% 81%,#b86f40 81% 90%,#644332 90%)}.toast-gauge i{position:absolute;left:0;top:-2px;width:3px;height:10px;background:#292621;border:1px solid #fff7ee;border-radius:1px;transition:left .1s}.tablet{position:absolute;left:3%;top:13%;width:22%;height:53%;transform:rotate(-2deg);background:#292826;padding:12px 12px 17px;border-radius:17px;box-shadow:5px 9px 0 #2926213b,0 15px 24px #49433b25;z-index:5;min-height:220px}.tablet-camera{position:absolute;top:5px;left:50%;width:3px;height:3px;border-radius:50%;background:#6e6b65}.tablet-screen{background:#fffaf3;height:100%;border-radius:5px;overflow:auto;scrollbar-width:none}.tablet-header{height:30px;display:flex;align-items:center;gap:6px;background:#ff7009;padding:0 12px;font-size:6px;letter-spacing:.5px}.tablet-header .live-dot{width:4px;height:4px}.tablet-header>span:last-child{margin-left:auto;font-weight:700;color:#532500}.ticket-body{padding:13px 14px}.ticket-topline{display:flex;align-items:center;justify-content:space-between;font:700 13px var(--heading)}.service-tag{font:700 6px var(--body);letter-spacing:.6px;padding:4px 5px;border-radius:3px;background:#ffe0ba;color:#854500}.service-tag.dine{background:#eadfd0;color:#665341}.ticket-customer{display:block;font-size:7px;color:#8a7b6b;margin-top:9px}.ticket-body h1{font:700 24px/.95 var(--heading);letter-spacing:-1px;margin:9px 0 6px;max-width:200px}.ticket-body>p{font-size:9px;margin:0;color:#6e6255}.ticket-rule{margin:12px 0 8px;border-top:1px dashed #deceba}.ticket-items{display:flex;flex-direction:column;gap:5px;min-height:30px}.ticket-item{font-size:8px;display:flex;gap:6px;align-items:flex-start;color:#675c50}.ticket-item:before{content:'';display:block;border:1px solid #d1c1ae;width:8px;height:8px;border-radius:2px;flex-shrink:0}.ticket-item.done{color:#8b7d6c;text-decoration:line-through}.ticket-item.done:before{content:'✓';background:#ffd2a7;border:0;color:#803800;line-height:8px;text-align:center;font-size:8px}.ticket-item small{font-size:6px;color:#86745f;margin-left:auto}.ticket-time{font-size:7px;display:flex;gap:4px;align-items:center;margin:11px 0 10px}.ticket-time [data-icon]{width:9px;height:9px}.ticket-time>span:last-child{margin-left:auto;color:#806d56;font-size:5px;letter-spacing:.5px}.primary-button{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--brand);color:#292621;border-radius:5px;padding:13px 15px;font-weight:600;font-size:12px;text-align:left;transition:transform .15s,background .15s}.primary-button:hover{background:#ff8c35}.primary-button>span{font-size:16px;color:var(--ink)}.tablet .primary-button{font-size:9px;padding:10px 10px}.tablet .primary-button>span{font-size:12px}.text-button{background:transparent;text-decoration:underline;text-underline-offset:3px;color:#7b5639;font-size:10px;padding:10px 0}.tablet .text-button{font-size:6px;width:100%;padding:7px 0 0}.tablet-base{position:absolute;z-index:-1;left:30%;top:97%;width:50%;height:18%;background:linear-gradient(105deg,#a8a29a,#d1c8bc);transform:skewX(-13deg);clip-path:polygon(18% 0,78% 0,100% 100%,0 100%)}.salad-bar{position:absolute;left:29%;top:36%;width:46%;height:18%;background:linear-gradient(110deg,#a7a59e,#dedad1 50%,#aaa59b);border:1px solid #8b8275;border-radius:4px 4px 3px 3px;box-shadow:0 7px #8c8275,0 10px 0 #4b413629;z-index:3;padding:22px 8px 9px}.salad-heading{position:absolute;left:0;right:0;top:0;height:20px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#5b4b38;font-size:7px;letter-spacing:1px}.salad-heading>span{font-size:5px;letter-spacing:1px}.ingredient-trays{display:flex;gap:4px;height:100%;justify-content:space-around}.ingredient-tray{position:relative;flex:1;min-width:0;padding:3px 2px 14px;background:linear-gradient(135deg,#9e9b93,#ded8cc);border:2px solid #ebe6dc;border-radius:4px;box-shadow:inset 0 2px 4px #4c453a60,0 1px #8b8172;touch-action:none}.ingredient-tray>.food-art{display:block;height:100%;width:100%;pointer-events:none}.ingredient-tray>.food-art svg{filter:drop-shadow(0 2px 1px #42332435)}.ingredient-tray b{position:absolute;left:-1px;right:-1px;bottom:-1px;height:15px;background:#f5f1de;display:flex;align-items:center;justify-content:center;font-size:6px;letter-spacing:.2px;white-space:nowrap;box-shadow:0 1px 2px #0002;line-height:1}.ingredient-tray .amount{position:absolute;top:2px;left:2px;color:#f8f6e9;font-size:5px;padding:2px;background:#493621bd;border-radius:3px}.salad-rail{position:absolute;bottom:-7px;left:1%;width:98%;height:3px;background:#e1dbce}.bagel-crate{position:absolute;right:3%;top:33%;width:19%;height:29%;z-index:3}.crate-sign{position:absolute;left:15%;top:-12%;background:#f4edd9;padding:6px 9px;border-radius:2px;box-shadow:2px 3px #59412a26;transform:rotate(3deg);text-align:center;z-index:2}.crate-sign>b{font:700 10px var(--heading);letter-spacing:1px;display:block}.crate-sign>span{font-size:5px;letter-spacing:.6px}.bagel-crate>#crate-art{height:100%;width:100%;filter:drop-shadow(3px 8px 0 #49352120)}.bagel-choices{position:absolute;display:flex;gap:5px;bottom:-3%;left:8%;width:84%;z-index:2}.bagel-choices button{width:50%;background:#fff0dc;color:#4a3020;border:1px solid #b68a65;border-radius:4px;font:600 8px var(--heading);padding:7px 4px;box-shadow:0 3px #82583250;touch-action:none}.bagel-choices button.selected{background:var(--brand);border-color:#a83f00}.b3-station{position:absolute;top:65%;left:4%;width:20%;height:16%;z-index:4;text-align:center}.b3-label{position:absolute;top:1%;left:0;display:flex;flex-direction:column;gap:3px;text-align:left}.b3-label>b{font:700 10px var(--heading);letter-spacing:1px}.b3-label>span{font-size:5px;letter-spacing:.5px}.b3-bowl{position:absolute;right:0;top:-8%;width:62%;height:95%;background:transparent;display:flex;align-items:center;flex-direction:column;padding:0;border-radius:10px}.b3-bowl #b3-art{display:block;width:100%;height:85%}.b3-bowl #b3-status{font-size:7px;background:#f3f1de;padding:3px 9px;border-radius:10px;white-space:nowrap;box-shadow:0 1px #b39b70}.b3-note{position:absolute;bottom:-9%;left:0;right:0;font-size:6px;color:#795f38;white-space:nowrap}.b3-station.ready .b3-bowl{animation:bowl-arrive .5s ease-out}.b3-station.ready #b3-status{background:var(--brand);color:var(--ink)}.b3-station.waiting #b3-art{animation:bob 1s ease-in-out infinite;opacity:.6}.pack-zone{position:absolute;background:transparent;padding:0;z-index:3;touch-action:none}.pack-zone>span:first-child{display:block;height:86%;width:100%}.takeaway{left:5%;top:83%;width:19%;height:16%}.dinein{right:4%;top:74%;width:19%;height:24%}.zone-label{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:8px;font-weight:700;letter-spacing:1px}.zone-label i{font-size:5px;font-weight:500;font-style:normal;color:#795e37;letter-spacing:.5px}.cutting-board{position:absolute;left:30%;top:59%;width:40%;height:33%;border-radius:24px 29px 23px 20px;background:repeating-linear-gradient(1deg,transparent 0 3px,#e0bd7d30 3px 4px),linear-gradient(100deg,#e3c694,#e9cf9f 35%,#dec08b);border:1px solid #b69a6b;box-shadow:0 7px #b19667,0 10px 0 #87683d30,inset 0 0 0 6px #e8cfa0,inset 0 0 0 7px #c4a57180;z-index:5;touch-action:none;overflow:visible}.board-grain{position:absolute;inset:15px;border:1px solid #caa77080;border-radius:15px;pointer-events:none}.board-handle{position:absolute;right:-20px;top:28%;width:28px;height:37%;background:#dec18f;border:1px solid #b69a6b;border-left:0;border-radius:0 13px 13px 0;box-shadow:0 7px #b19667;z-index:-1}.board-handle:after{content:'';display:block;position:absolute;right:5px;top:35%;width:6px;height:30%;border-radius:4px;background:#a88e60}.board-caption{position:absolute;bottom:7%;left:0;right:0;font-size:6px;letter-spacing:2px;color:#a78b58;text-align:center;font-weight:600}.board-empty{position:absolute;inset:10% 0;display:flex;align-items:center;justify-content:center;gap:15px;color:#a98b57}.empty-bagel{width:60px;height:42px;border:2px dashed #b79b66;border-radius:50%;position:relative;transform:rotate(-12deg)}.empty-bagel:after{content:'';position:absolute;width:17px;height:10px;border:2px dashed #b79b66;border-radius:50%;top:14px;left:18px}.board-empty p{font:500 15px/1.4 var(--heading);letter-spacing:-.3px}.board-empty b{font-weight:400;font-size:11px;opacity:.8}#board-food{position:absolute;inset:0 4% 6%;pointer-events:none;display:flex;align-items:center;justify-content:center;transition:transform .25s}#board-food svg{height:100%;width:95%;filter:drop-shadow(2px 4px 2px #6c4a2225)}.board-tools{position:absolute;left:71.8%;top:63%;width:6%;height:29%;z-index:4;display:flex;flex-direction:column;gap:10px}.tool{width:100%;height:50%;background:transparent;padding:0;display:flex;align-items:center;flex-direction:column;justify-content:center;touch-action:none;border-radius:8px}.tool>span{display:block;height:84%;width:100%;filter:drop-shadow(3px 3px 1px #6a502630)}.tool b{font-size:6px;letter-spacing:1px;color:#795f37}.tool.selected{background:#ffb37280}.counter-brand{position:absolute;left:36%;bottom:2.8%;font:italic 12px Georgia,serif;color:#9d7d4d;letter-spacing:.3px;transform:rotate(-1deg)}.spread-track{position:absolute;bottom:8%;left:20%;width:60%;z-index:6;background:#f5e9c9e8;border-radius:7px;padding:6px 10px}.spread-track>span{display:block;font:600 5px var(--heading);letter-spacing:1px;text-align:center;margin-bottom:4px}.spread-track>div{height:4px;background:#d4c49d;border-radius:4px;overflow:hidden}.spread-track i{display:block;height:100%;background:#ff7009;transition:width .1s}.board-chip{position:absolute;right:5%;top:6%;font-size:6px;letter-spacing:.8px;background:#fff2dc;padding:4px 7px;border-radius:3px;color:#7f3e0b;z-index:7}.coach-dock{position:absolute;bottom:0;left:0;right:0;height:102px;display:flex;align-items:center;gap:20px;background:var(--cream);border-top:1px solid #e3cbb1;padding:16px 32px;z-index:20}.coach-avatar{background:var(--brand);color:var(--ink);width:51px;height:51px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:700 22px var(--heading);box-shadow:inset 0 0 0 4px var(--brand),inset 0 0 0 5px #a83f00;transform:rotate(-3deg)}.coach-avatar span{font-size:17px;margin-top:8px}.coach-copy{min-width:0;flex:1}.coach-eyebrow{font-size:8px;letter-spacing:1.4px;font-weight:700;display:flex;gap:15px;align-items:center}.coach-eyebrow span+span{font-size:6px;color:#8d7963;letter-spacing:1px}.coach-copy p{margin:7px 0 8px;font-size:13px;line-height:1.3}.step-dots{display:flex;gap:4px}.step-dots i{display:block;width:19px;height:3px;border-radius:3px;background:#e8d8c3}.step-dots i.done{background:#ffb370}.step-dots i.current{background:#b94700;width:28px}.context-button{flex-shrink:0;border-radius:6px;background:var(--brand);font-weight:700;font-size:11px;padding:13px 16px;display:flex;align-items:center;gap:20px;box-shadow:0 2px #d75600}.context-button>span{font-size:17px}.context-button:disabled{background:#f0e3d3;box-shadow:none;color:#857360}.control-hint{border-left:1px solid #e2cbb0;padding-left:20px;display:flex;align-items:center;gap:8px;color:#8a7660;font-size:6px;line-height:1.6;letter-spacing:1px}.control-hint>[data-icon]{width:24px;height:24px}.control-hint b{font-size:6px;font-weight:400;letter-spacing:.3px}.overlay{position:absolute;inset:86px 0 102px;z-index:15;background:linear-gradient(90deg,#39251655,#39251605);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);padding:25px}.welcome-card{position:relative;background:#fff8ee;border-radius:4px 30px 4px 4px;padding:36px 38px;width:410px;box-shadow:8px 10px 0 #60361730,0 20px 80px #49301c40;border:1px solid #edcfaa}.welcome-eyebrow{font-size:8px;letter-spacing:1.5px;font-weight:700;display:flex;align-items:center;gap:8px}.welcome-card h2{font:600 42px/.99 var(--heading);letter-spacing:-2px;margin:21px 0 17px}.welcome-card h2 em{font-weight:400;font-style:normal;color:#ab4200}.welcome-card>p{font-size:12px;line-height:1.7;color:#7b6d5b;margin:0 0 16px;max-width:300px}.welcome-tags{display:flex;gap:5px;margin-bottom:22px}.welcome-tags span{font-size:5px;letter-spacing:.6px;font-weight:700;padding:5px 6px;border:1px solid #e6c6a1;border-radius:3px;color:#8b4a18}.welcome-card .text-button{width:100%;font-size:8px;padding:12px 0 0}.welcome-foot{margin-top:24px;padding-top:15px;border-top:1px solid #ead3b7;color:#917d64;font-size:7px;display:flex;align-items:center;gap:8px}.welcome-foot>[data-icon]{width:15px;height:15px}.welcome-stamp{position:absolute;left:calc(50% + 170px);top:calc(50% - 155px);width:104px;height:104px;border-radius:50%;background:var(--brand);color:#292621;display:flex;align-items:center;justify-content:center;flex-direction:column;font:700 23px/.93 var(--heading);letter-spacing:-1px;transform:rotate(13deg);border:1px dashed #9d3c00;outline:5px solid var(--brand);box-shadow:5px 8px #78380015}.welcome-stamp span{font-size:6px;letter-spacing:.9px;margin-top:8px;font-weight:600}.feedback{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);z-index:30;pointer-events:none;background:#30251eed;color:#fff5e7;border-radius:30px;padding:10px 20px;font-size:11px;box-shadow:0 4px 15px #38261830;opacity:0;transition:opacity .2s;max-width:70%;text-align:center}.feedback.show{opacity:1}.feedback.error{background:#855637f0}.selection-pill{position:absolute;left:50%;bottom:1%;transform:translateX(-50%);background:#fff0d9;color:#7c390c;font-size:9px;box-shadow:0 3px 10px #614b2e33;border-radius:20px;padding:7px 14px;z-index:15}.highlight{outline:3px solid #ff7009!important;outline-offset:5px;animation:glow 2s ease-in-out infinite}.ingredient-tray.highlight{outline-offset:3px}.selected{outline:2px solid #ff7009!important;outline-offset:3px}.valid-target{outline:3px dashed #ff7009!important;outline-offset:5px}.drag-ghost{position:fixed;left:0;top:0;z-index:1000;width:110px;height:80px;pointer-events:none;filter:drop-shadow(0 10px 6px #3b271b3b);transform:translate(-50%,-60%) scale(1.12)}.drag-ghost svg{width:100%;height:100%}.modal-backdrop{position:fixed;inset:0;background:#2b211bbb;backdrop-filter:blur(5px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;touch-action:auto}.modal-card{width:min(720px,92vw);max-height:92dvh;overflow:auto;background:var(--cream);border-radius:8px 28px 8px 8px;padding:30px 35px;box-shadow:0 20px 80px #2c211850;position:relative}.modal-card h2{font:600 34px/1.05 var(--heading);letter-spacing:-1.2px;margin:8px 0 12px}.modal-eyebrow{font-size:8px;letter-spacing:1.5px;color:#a04b14;font-weight:700}.modal-card p{font-size:12px;line-height:1.7;color:#7b6c58}.modal-close{position:absolute;right:18px;top:15px;background:transparent;font-size:25px;color:#96603a}.modal-buttons{display:flex;gap:10px;margin-top:22px}.modal-buttons button{flex:1}.modal-buttons .secondary{border:1px solid #d0aa82;color:var(--charcoal);background:transparent}.recipe-tabs{display:flex;gap:6px;margin:20px 0}.recipe-tabs button{background:#f4e3ce;font-size:9px;padding:8px 10px;border-radius:4px}.recipe-tabs button.active{background:var(--brand);color:var(--ink)}.recipe-detail ol{padding:0 0 0 20px;display:flex;flex-direction:column;gap:10px;font-size:11px;line-height:1.6;color:#725e47}.recipe-quantities{display:flex;gap:5px;flex-wrap:wrap}.recipe-quantities span{padding:5px 8px;border:1px solid #e1bc94;border-radius:4px;color:#80552b;font-size:8px}.recipe-source{font-size:8px!important;border-top:1px solid #e3c7a6;padding-top:12px}.review-top{display:flex;align-items:center;gap:20px}.review-art{width:140px;height:100px}.stars{color:#ba4c00;font:700 22px var(--heading);letter-spacing:3px;margin:8px 0}.review-quote{font:500 25px/1.2 var(--heading);letter-spacing:-.8px;margin:6px 0 15px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.stat{border:1px solid #e6c9a8;border-radius:5px;padding:14px 9px;text-align:center}.stat b{display:block;font:600 26px var(--heading)}.stat span{font-size:7px;letter-spacing:.6px;color:#8b6f50}.review-list{display:flex;gap:8px}.mini-review{background:#f5e6d3;border-radius:5px;padding:12px;flex:1;min-width:0}.mini-review .stars{font-size:12px;letter-spacing:1px;margin:0 0 7px}.mini-review strong{font-size:10px;font-weight:500;display:block;line-height:1.4}.mini-review small{font-size:7px;color:#91785b;display:block;margin-top:8px}.coaching-note{font-size:11px;color:#774511;background:#ffe2bb;border-radius:6px;padding:12px;margin:15px 0}.best-tag{font-size:7px;padding:5px 8px;letter-spacing:1px;background:var(--brand);border-radius:3px;display:inline-block}.portrait-lock{display:none}@keyframes glow{0%,100%{box-shadow:0 0 0 5px #ff700900}50%{box-shadow:0 0 0 10px #ff700955}}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes bowl-arrive{from{transform:translateX(-120px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(min-width:1600px){.world{font-size:16px}.tablet{max-height:430px}.ticket-body{padding:20px}.ticket-body h1{font-size:30px}.ticket-item{font-size:10px}.ticket-item small{font-size:8px}.tablet .primary-button{font-size:12px}.ticket-customer{font-size:9px}.ticket-items{gap:9px}.ingredient-tray b{font-size:8px;height:20px}.salad-bar{padding-bottom:12px}}
@media(max-width:1100px){.topbar{height:67px;padding:0 22px;gap:20px}.brand{font-size:15px;gap:7px}.brand-logo{width:112px;height:54px}.brand-logo img{width:136px;height:136px;top:55%}.brand-bagel{font-size:36px}.brand-small{font-size:4.5px;letter-spacing:.7px}.game-title{padding-left:20px;gap:3px}.game-title b{font-size:20px}.game-title>span{font-size:6px;letter-spacing:1.1px}.shift-chip{font-size:8px;padding:9px 12px}.header-stats>span{font-size:22px}.header-stats small{font-size:5px}.icon-button{width:30px;height:30px}.world{inset:67px 0 88px}.coach-dock{height:88px;padding:12px 22px;gap:15px}.coach-copy p{font-size:11px}.coach-eyebrow{font-size:7px}.context-button{font-size:9px;padding:11px 14px;gap:10px}.coach-avatar{width:43px;height:43px}.control-hint{padding-left:14px}.overlay{inset:67px 0 88px}.tablet{padding:10px 9px 13px;border-radius:12px;left:2.5%;width:23%;min-height:180px}.tablet-header{height:22px;font-size:5px;padding:0 8px}.ticket-body{padding:9px 10px}.ticket-body h1{font-size:20px;margin:6px 0}.ticket-customer{font-size:6px;margin-top:6px}.ticket-body>p{font-size:8px}.ticket-rule{margin:8px 0}.ticket-items{gap:4px}.ticket-item{font-size:6.5px}.ticket-item small{font-size:5px}.ticket-time{font-size:6px;margin:8px 0}.tablet .primary-button{padding:8px;font-size:8px}.oven-brand{font-size:6px}.oven-timer{font-size:11px;padding:1px 4px;min-width:44px}.oven-bottom{gap:5px}.oven-bottom>span+span{font-size:5px}.oven-bottom>i{width:13px;height:13px}.welcome-card{padding:25px 32px;width:370px}.welcome-card h2{font-size:36px;margin:17px 0 14px}.welcome-card>p{font-size:11px}.welcome-foot{margin-top:18px;padding-top:12px}.welcome-stamp{width:86px;height:86px;font-size:19px;left:calc(50% + 150px)}.wall-note b{font-size:18px}.wall-note span{font-size:7px}.wall-note i{font-size:5px;letter-spacing:1px}.board-empty p{font-size:13px}.board-empty b{font-size:10px}.empty-bagel{width:46px;height:33px}.empty-bagel:after{top:10px;left:13px;width:13px}.salad-heading{font-size:6px}.ingredient-tray b{font-size:5px}.crate-sign>b{font-size:8px}.b3-note{font-size:5px}.b3-label>b{font-size:8px}.zone-label{font-size:6px}.zone-label i{font-size:4px}.counter-brand{font-size:10px}}
@media(max-height:600px) and (orientation:landscape){.topbar{height:53px;padding:0 16px;gap:18px}.brand{font-size:12px;gap:6px}.brand-logo{width:88px;height:42px}.brand-logo img{width:104px;height:104px;top:54%}.brand-bagel{font-size:29px;letter-spacing:-6px;padding-right:6px}.brand-small{font-size:3.6px;letter-spacing:.5px;margin-top:4px}.game-title{padding-left:15px;gap:2px}.game-title b{font-size:17px}.game-title>span{font-size:5px;letter-spacing:.8px}.shift-chip{font-size:6px;padding:7px 9px;gap:6px}.live-dot{width:5px;height:5px}.header-stats>span{font-size:20px}.header-stats small{font-size:4px}.topbar nav{gap:5px}.icon-button{width:28px;height:28px}.icon-button span{width:13px;height:13px}.world{inset:53px 0 70px}.coach-dock{height:70px;padding:10px 16px;gap:11px}.coach-avatar{width:35px;height:35px;font-size:17px;border-radius:10px}.coach-avatar span{font-size:13px}.coach-eyebrow{font-size:5px;letter-spacing:1px;gap:10px}.coach-eyebrow span+span{font-size:4.5px}.coach-copy p{font-size:9px;margin:5px 0}.step-dots i{width:12px;height:2px}.step-dots i.current{width:20px}.context-button{padding:8px 11px;font-size:8px;gap:8px}.context-button>span{font-size:13px}.control-hint{display:none}.tablet{min-height:0;top:8%;height:60%;padding:7px 7px 9px;border-radius:10px}.tablet-camera{top:3px;width:2px;height:2px}.tablet-header{height:17px;font-size:4px;padding:0 6px}.ticket-body{padding:7px 8px}.ticket-topline{font-size:9px}.service-tag{font-size:4px;padding:3px 4px}.ticket-customer{font-size:4.5px;margin-top:4px}.ticket-body h1{font-size:17px;line-height:1;margin:5px 0 4px}.ticket-body>p{font-size:6px}.ticket-rule{margin:7px 0 6px}.ticket-items{gap:3px;min-height:15px}.ticket-item{font-size:5px;gap:4px}.ticket-item:before{width:6px;height:6px}.ticket-item small{font-size:4px}.ticket-time{font-size:5px;margin:6px 0}.ticket-time>span:last-child{font-size:4px}.ticket-time [data-icon]{width:7px;height:7px}.tablet .primary-button{font-size:6px;padding:7px}.tablet .primary-button>span{font-size:8px}.tablet .text-button{font-size:4px;padding:5px 0 0}.oven-bank{top:3%;height:30%;padding-top:13px;gap:7px}.oven-bank-title{font-size:5px;letter-spacing:1px}.oven-bank-title span+span{font-size:4px}.oven{padding:4px 7px;border-radius:5px}.oven-top{gap:6px;min-height:9px}.oven-top>b{font-size:7px;padding:0 2px}.oven-brand{font-size:4px;letter-spacing:1px}.oven-led{width:3px;height:3px}.oven-window{border-width:3px}.oven-idle{font-size:4px;letter-spacing:1px}.oven-timer{font-size:9px;min-width:34px;padding:0 3px}.oven-bottom{min-height:10px}.oven-bottom>span+span{font-size:3.5px;letter-spacing:.5px}.oven-bottom>i{width:10px;height:10px}.oven-bottom>i:after{width:1px;height:3px}.toast-gauge{bottom:-12px;font-size:4px;gap:3px}.toast-gauge>div{height:4px}.toast-gauge i{height:8px}.wall-note{top:4%;border-width:5px;padding:7px 4px}.wall-note span{font-size:5px;letter-spacing:1px}.wall-note b{font-size:13px;margin:5px 0}.wall-note i{font-size:3px;letter-spacing:.7px}.salad-bar{top:36%;height:20%;padding:15px 5px 6px}.salad-heading{height:14px;font-size:4.5px;padding:0 6px}.salad-heading>span{font-size:3px;letter-spacing:.7px}.ingredient-trays{gap:3px}.ingredient-tray{border-width:1px;padding:2px 1px 10px}.ingredient-tray b{height:11px;font-size:3.8px}.ingredient-tray .amount{font-size:3.5px;padding:1px}.crate-sign{padding:4px 6px;top:-8%}.crate-sign>b{font-size:6px;letter-spacing:.5px}.crate-sign>span{font-size:3px}.bagel-choices{bottom:-6%;gap:4px}.bagel-choices button{font-size:6px;padding:6px 3px}.b3-label>b{font-size:6px}.b3-label>span{font-size:3.5px}.b3-bowl #b3-status{font-size:5px;padding:2px 6px}.b3-note{font-size:3.5px;bottom:-15%}.b3-station{top:67%;height:14%}.cutting-board{border-radius:17px 20px 15px 14px;top:61%;height:31%;box-shadow:0 4px #b19667,0 6px 0 #87683d30,inset 0 0 0 4px #e8cfa0,inset 0 0 0 5px #c4a57180}.board-grain{inset:10px;border-radius:10px}.board-handle{right:-13px;width:19px;box-shadow:0 4px #b19667}.board-handle:after{right:4px;width:4px}.board-caption{font-size:4px;letter-spacing:1px}.board-empty{gap:10px}.board-empty p{font-size:10px}.board-empty b{font-size:7px}.empty-bagel{width:36px;height:25px;border-width:1.5px}.empty-bagel:after{width:10px;height:7px;top:7px;left:11px;border-width:1px}.station-mark{font-size:4px;letter-spacing:1px;top:57%}.zone-label{font-size:4.5px;letter-spacing:.6px;gap:3px}.zone-label i{font-size:3px}.board-tools{gap:6px;top:65%}.tool b{font-size:4px}.counter-brand{font-size:7px;bottom:2%}.spread-track{padding:4px 7px}.spread-track>span{font-size:3px;margin-bottom:2px}.spread-track>div{height:3px}.board-chip{font-size:4px;padding:2px 4px}.feedback{font-size:8px;padding:7px 14px}.selection-pill{font-size:6px;padding:4px 9px}.overlay{inset:53px 0 70px;padding:12px}.welcome-card{padding:18px 26px;width:330px;border-top-right-radius:22px}.welcome-eyebrow{font-size:6px;letter-spacing:1px}.welcome-card h2{font-size:29px;margin:12px 0 10px;letter-spacing:-1.3px}.welcome-card>p{font-size:9px;line-height:1.5;margin-bottom:10px}.welcome-tags{margin-bottom:13px;gap:4px}.welcome-tags span{font-size:4px;padding:3px 5px}.welcome-card .primary-button{font-size:10px;padding:10px 12px}.welcome-card .text-button{font-size:6px;padding-top:8px}.welcome-foot{font-size:5px;margin-top:12px;padding-top:9px}.welcome-foot>[data-icon]{width:12px;height:12px}.welcome-stamp{width:72px;height:72px;font-size:16px;left:calc(50% + 135px);top:calc(50% - 105px)}.welcome-stamp span{font-size:4px;margin-top:5px}.modal-card{padding:22px 27px;width:min(650px,94vw);max-height:94dvh}.modal-card h2{font-size:27px;margin:5px 0 8px}.modal-card p{font-size:10px;margin:8px 0}.modal-eyebrow{font-size:6px}.modal-buttons{margin-top:14px}.modal-buttons .primary-button{font-size:10px;padding:10px 12px}.review-top{gap:14px}.review-art{width:100px;height:70px}.review-quote{font-size:21px}.stars{font-size:18px;margin:5px 0}.stats-grid{gap:6px;margin:12px 0}.stat{padding:8px}.stat b{font-size:22px}.stat span{font-size:5px}.mini-review{padding:8px}.mini-review strong{font-size:8px}.mini-review small{font-size:5px}.mini-review .stars{font-size:10px;margin-bottom:5px}.coaching-note{font-size:8px;padding:9px;margin:10px 0}.recipe-tabs{margin:13px 0}.recipe-tabs button{font-size:7px;padding:6px 8px}.recipe-detail ol{font-size:8px;gap:6px}.recipe-quantities span{font-size:6px;padding:3px 6px}.recipe-source{font-size:6px!important;padding-top:8px}}
@media(orientation:portrait){.portrait-lock{position:fixed;inset:0;z-index:100;background:var(--brand);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.rotate-phone{font-size:75px;color:var(--ink);margin-bottom:20px}.portrait-lock h2{font:500 31px/1.15 var(--heading);letter-spacing:-1px;margin:0 0 20px}.portrait-lock p{font-size:13px;color:#4b2b16;line-height:1.8}.portrait-lock>span{font-size:8px;letter-spacing:2px;margin-top:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.packed-food{position:absolute;left:16%;top:0;width:68%;height:75%;pointer-events:none;filter:drop-shadow(2px 3px 1px #6a4f2130)}.dinein .packed-food{top:5%;left:16%;height:77%}.board-food-sliced:after{content:'';display:block;position:absolute;height:80%;width:2px;left:50%;background:#a38652;transform:rotate(20deg)}
/* Keep the handoff lane clear beside the tablet stand. */
.tablet-base{left:6%;width:18%;height:10%}.b3-station{top:68%;height:13%}.b3-label{top:12%}.b3-bowl{top:-3%;height:96%}
@media(max-height:600px) and (orientation:landscape){.tablet-base{display:none}.b3-station{top:70%;height:12%}.b3-label>b{font-size:7px}.b3-label>span{font-size:4px}.b3-bowl #b3-status{font-size:6px}.b3-note{display:none}.ingredient-tray b{font-size:6px;height:13px;letter-spacing:-.2px}.ingredient-tray{padding-bottom:13px}.salad-heading{font-size:5px}.bagel-choices button{font-size:8px;padding:7px 3px}.ticket-item{font-size:6px;line-height:1.2}.ticket-item small{font-size:4px}.ticket-customer{display:none}.ticket-body h1{margin-top:6px}.tablet .primary-button{font-size:8px;padding:8px}.ticket-time{font-size:6px}.ticket-items{gap:3px}.zone-label{font-size:6px}.zone-label i{font-size:4px}.board-caption{font-size:5px}.tool b{font-size:5px}.coach-copy p{font-size:10px}.coach-eyebrow{font-size:6px}.coach-eyebrow span+span{font-size:5px}.context-button{font-size:9px}.crate-sign{top:-15%}}

/* Official Bagel Brothers orange (#FF7009), sampled from the supplied logo. */
.topbar .live-dot{background:var(--ink);box-shadow:0 0 0 3px #29262118}.tablet-header .live-dot{background:var(--ink)}.welcome-card .primary-button,.tablet .primary-button{color:var(--ink)}
/* Keep the supplied CMYK print logo white on the exact web brand orange. */
.brand-logo{background:var(--brand);isolation:isolate}.brand-logo img{filter:grayscale(1) brightness(.6) contrast(10);mix-blend-mode:screen}

/* Mobile web-app shell: respect browser chrome, notches and native touch behavior. */
:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --header-height:86px;
  --dock-height:102px;
  --shell-padding:32px;
  --viewport-height:var(--app-height,100vh);
}
@supports(height:100dvh){:root{--viewport-height:100dvh}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
#app{height:var(--app-height,100vh);height:100dvh;min-height:0}
#app,#app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#app img,#app svg{-webkit-user-drag:none;user-drag:none;pointer-events:none}
#app button,#app a{touch-action:manipulation}
#app .ingredient-source,#app .cutting-board,#app .pack-zone,#app .oven,#app .b3-bowl{touch-action:none}
.topbar{
  height:calc(var(--header-height) + var(--safe-top));
  padding-top:var(--safe-top);
  padding-left:max(var(--shell-padding),var(--safe-left));
  padding-right:max(var(--shell-padding),var(--safe-right));
}
.world,.overlay{
  top:calc(var(--header-height) + var(--safe-top));
  bottom:calc(var(--dock-height) + var(--safe-bottom));
  left:var(--safe-left);right:var(--safe-right);
}
.coach-dock{
  height:calc(var(--dock-height) + var(--safe-bottom));
  padding-left:max(var(--shell-padding),var(--safe-left));
  padding-right:max(var(--shell-padding),var(--safe-right));
  padding-bottom:calc(16px + var(--safe-bottom));
}
.icon-button{width:44px;height:44px;flex:0 0 44px}
.context-button{min-height:44px;font-size:12px;line-height:1.25;max-width:36%;white-space:normal}
.tablet-screen,.welcome-card,.modal-card{
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.tablet-screen{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9a574 transparent}
.tablet-header{position:sticky;top:0;z-index:2}
.tablet .primary-button{min-height:44px;font-size:11px;line-height:1.25}
.tablet .text-button{min-height:36px;font-size:9px}
.overlay{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.welcome-card{max-height:100%;overflow-y:auto;flex-shrink:0}
.welcome-card .primary-button,.welcome-card .text-button{min-height:44px;font-size:12px;line-height:1.3}
.modal-backdrop{
  padding-top:calc(12px + var(--safe-top));
  padding-bottom:calc(12px + var(--safe-bottom));
  padding-left:max(16px,var(--safe-left));
  padding-right:max(16px,var(--safe-right));
  touch-action:pan-y;
}
.modal-card{
  width:min(720px,100%);
  max-height:calc(var(--viewport-height) - 24px - var(--safe-top) - var(--safe-bottom));
  overflow-y:auto;overflow-x:hidden;
}
.modal-card h2{padding-right:32px}
.modal-close{width:44px;height:44px;right:8px;top:8px;display:grid;place-items:center;line-height:1}
.modal-card p{font-size:13px;line-height:1.6}
.modal-card .primary-button,.modal-card .text-button{min-height:44px;font-size:13px;line-height:1.3}
.recipe-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.recipe-tabs button{min-height:44px;font-size:12px;padding:8px;line-height:1.3}
.recipe-detail ol{font-size:13px;line-height:1.6;gap:10px}
.recipe-quantities span{font-size:11px;line-height:1.4}
.recipe-source{font-size:11px!important;line-height:1.5}
.coaching-note{font-size:12px;line-height:1.5}
.stat span{font-size:10px;line-height:1.4;display:block}
.mini-review strong{font-size:12px;line-height:1.4}
.mini-review small{font-size:10px;line-height:1.4}
.portrait-lock{
  padding-top:max(30px,var(--safe-top));padding-bottom:max(30px,var(--safe-bottom));
  padding-left:max(30px,var(--safe-left));padding-right:max(30px,var(--safe-right));
}
@media(max-width:1100px){
  :root{--header-height:67px;--dock-height:88px;--shell-padding:22px}
  .topbar{gap:16px}
  .coach-dock{padding-bottom:calc(12px + var(--safe-bottom))}
  .control-hint{display:none}
  .ticket-item{font-size:9px;line-height:1.35}
  .ticket-item small{font-size:7px;line-height:1.4}
  .ticket-body>p{font-size:10px}
  .ticket-time{font-size:9px}
  .ticket-time>span:last-child{font-size:7px}
  .ingredient-tray b{font-size:7px}
}
@media(max-height:600px) and (orientation:landscape){
  :root{--header-height:53px;--dock-height:76px;--shell-padding:16px}
  .topbar{gap:12px}
  .topbar nav{gap:4px}
  .icon-button{width:44px;height:44px;flex-basis:44px}
  .icon-button span{width:17px;height:17px}
  .game-title{padding-left:12px}
  .game-title>span{font-size:6px}
  .shift-chip{font-size:8px;padding:8px}
  .header-stats small{font-size:6px}
  .coach-dock{padding-top:8px;padding-bottom:calc(8px + var(--safe-bottom));gap:12px}
  .coach-copy p{font-size:12px;line-height:1.3;margin:5px 0}
  .coach-eyebrow{font-size:8px;letter-spacing:.7px;gap:8px}
  .coach-eyebrow span+span{font-size:7px;letter-spacing:.3px}
  .context-button{min-height:44px;font-size:12px;padding:10px 12px;gap:8px;max-width:38%}
  .coach-avatar{width:35px;height:35px}
  .tablet-screen{border-radius:4px}
  .ticket-body{padding:7px}
  .ticket-body h1{font-size:17px;line-height:1.05}
  .ticket-body>p{font-size:9px}
  .ticket-topline{font-size:10px}
  .service-tag{font-size:7px;padding:3px 4px}
  .ticket-item{font-size:8px;line-height:1.3;flex-wrap:wrap;gap:3px}
  .ticket-item small{font-size:7px;width:100%;padding-left:9px;margin-left:0}
  .ticket-time{font-size:8px}
  .ticket-time>span:last-child{font-size:6px}
  .tablet .primary-button{min-height:44px;font-size:11px;padding:8px}
  .tablet .text-button{font-size:9px;min-height:36px;padding:6px 0}
  .ingredient-tray b{font-size:6px;line-height:1.1;letter-spacing:-.1px}
  .bagel-choices{left:0;width:100%;bottom:-15%;gap:4px}
  .bagel-choices button{min-height:36px;font-size:10px;padding:6px 3px}
  .board-tools{left:71%;width:7%;gap:0}
  .tool{min-height:36px}
  .b3-bowl{min-height:44px}
  .b3-bowl #b3-status{font-size:8px;white-space:normal;line-height:1.1;padding:2px 5px}
  .selection-pill{font-size:11px;line-height:1.3;padding:5px 10px;max-width:88%;white-space:normal;text-align:center}
  .feedback{font-size:11px;line-height:1.3;padding:8px 12px;max-width:82%}
  .welcome-card{padding:18px 22px;width:min(390px,100%)}
  .welcome-card>p{font-size:12px;line-height:1.5}
  .welcome-eyebrow{font-size:8px}
  .welcome-tags span{font-size:7px}
  .welcome-card .primary-button,.welcome-card .text-button{min-height:44px;font-size:12px}
  .welcome-foot{font-size:10px;line-height:1.4}
  .modal-card{padding:20px 24px}
  .modal-card h2{font-size:27px}
  .modal-eyebrow{font-size:9px}
  .modal-buttons .primary-button{font-size:13px;padding:10px 12px}
  .stats-grid{gap:6px}
  .stat b{font-size:24px}
  .stat span{font-size:10px}
  .mini-review .stars{font-size:14px}
  .recipe-tabs button{font-size:11px}
}
@media(max-width:840px) and (orientation:landscape){
  .shift-chip{display:none}
  .header-stats{margin-left:auto}
  .coach-eyebrow span+span{display:none}
  .coach-avatar{display:none}
}
@media(max-width:700px) and (orientation:landscape){
  :root{--shell-padding:10px}
  .brand-logo{width:78px}
  .game-title{padding-left:10px}
  .game-title b{font-size:15px}
  .game-title>span{display:none}
  .header-stats small{display:none}
  .header-stats>span{font-size:18px}
  .topbar nav{gap:3px}
  .coach-copy p{font-size:11px}
  .coach-eyebrow{font-size:7px;letter-spacing:.5px}
  .context-button{font-size:11px;max-width:43%;min-width:130px}
  .welcome-stamp{display:none}
  .welcome-card h2{font-size:28px}
  .modal-card{padding:18px}
  .modal-card h2{font-size:24px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-list{display:grid;grid-template-columns:1fr;gap:8px}
  .recipe-tabs button{font-size:10px}
}
@media(max-height:420px) and (orientation:landscape){
  .welcome-stamp{display:none}
  .overlay{padding:8px}
  .welcome-card{border-radius:5px 20px 5px 5px}
  .welcome-card h2{font-size:28px;margin:10px 0}
  .welcome-tags{margin-bottom:10px}
  .welcome-foot{margin-top:12px;padding-top:10px}
}
@media(max-height:300px) and (orientation:landscape){
  :root{--header-height:48px;--dock-height:70px}
  .brand-logo{height:40px}
  .icon-button{height:44px}
  .coach-copy p{font-size:10px}
  .coach-eyebrow,.step-dots{display:none}
  .context-button{font-size:11px}
  .wall-note,.counter-brand,.station-mark{display:none}
}

/* Keep the B3 bowl and takeaway box in separate vertical lanes on short phones. */
@media(max-height:600px) and (orientation:landscape){
  .tablet{height:min(52%,calc(76% - 50px))}
  .b3-station{top:min(62%,calc(84% - 46px));height:12%}
  .b3-bowl{top:0;height:max(44px,100%);min-height:44px}
  .takeaway{top:84%;height:16%}
  .takeaway>span:first-child{height:calc(100% - 8px)}
  .takeaway .zone-label{font-size:6px;line-height:1.1}
}
/* Native form fields remain editable if a staff-name field is introduced later. */
#app input,#app textarea,#app [contenteditable]:not([contenteditable="false"]){
  -webkit-user-select:text;user-select:text;-webkit-touch-callout:default;
}

/* Give SVGs a definite clipping frame; Safari cannot infer percentage heights
   reliably when a short ingredient tray's label consumes its content box. */
.ingredient-tray>.food-art{
  position:absolute;inset:2px 1px 13px;
  width:auto;height:auto;min-width:0;min-height:0;overflow:hidden;
}
.ingredient-tray>.food-art svg{
  position:absolute;inset:0;display:block;
  width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;
  overflow:hidden;
}
@media(max-height:600px) and (orientation:landscape){
  .salad-bar{top:35%;height:26%;padding:12px 5px 4px}
  .salad-heading{height:11px}
  .ingredient-tray{padding:0 1px 13px}
}
/* B2 Rush: bilingual, parallel preparation and character coaching. */
.copy-en,.copy-vi{display:block}.copy-vi{font-size:.82em;line-height:1.25;font-weight:400;opacity:.83;margin-top:3px}.language-button{min-width:64px;min-height:44px;border:1px solid #6e2e0038;border-radius:9px;background:#ff8f3c;color:var(--ink);font:700 11px var(--heading);padding:6px}.topbar nav{align-items:center}.primary-button .copy-vi,.context-button .copy-vi{opacity:.9}.context-button{justify-content:center;min-width:145px;flex-direction:column;gap:1px;text-align:center}.context-button:disabled{background:#ede5dc;color:#776d61}.game-title>span{white-space:nowrap}.coach-message{font-size:13px;line-height:1.3;margin:5px 0 7px}.coach-message .copy-vi{font-size:11px}.coach-avatar.nathan-avatar{display:block!important;position:relative;width:68px;height:70px;background:transparent;box-shadow:none;overflow:visible;transform:none;flex:0 0 68px}.nathan-avatar svg{width:100%;height:100%;filter:drop-shadow(2px 4px 0 #55331b15)}.nathan-avatar.speaking{animation:head-pop .3s ease-out}.coach-dock{gap:15px}.coach-eyebrow{font-size:8px}.customer-stage{position:absolute;right:3%;top:1%;width:21%;height:27%;display:flex;align-items:center;z-index:3;pointer-events:none}.customer-portrait{width:43%;height:100%;align-self:flex-end;filter:drop-shadow(2px 3px 0 #33271916)}.customer-bubble{width:60%;background:#fff8ef;border:1px solid #bcaa93;border-radius:10px 10px 10px 1px;padding:8px 9px;box-shadow:2px 3px 0 #33271915;font-size:10px;line-height:1.25}.customer-bubble>b{font:700 9px var(--heading);display:block;margin-bottom:4px}.customer-bubble .copy-vi{font-size:9px}.customer-stage.angry .customer-bubble{border-color:#b64a28;background:#ffeadb}.customer-stage.pop .customer-portrait{animation:head-pop .3s ease-out}.driver-waiting{position:absolute;right:1.5%;top:29%;width:6%;height:17%;z-index:4;pointer-events:none;filter:drop-shadow(2px 3px 0 #263c2733)}.driver-waiting:empty{display:none}.driver-waiting>span{display:block;text-align:center;font-size:6px;background:#fff8ec;border-radius:3px;padding:2px;color:#36562f}.driver-waiting svg{height:85%}.oven-bank{top:5%;height:29%;display:block;padding-top:17px;filter:drop-shadow(0 6px 0 #322a2515)}.oven-slots{height:100%;display:flex;gap:8px}.oven-slot{position:relative;flex:1;min-width:0;padding-bottom:19px;padding-top:12px}.oven-label{position:absolute;top:-2px;left:5%;right:5%;text-align:center;font-size:7px;line-height:1;letter-spacing:.7px;font-weight:700;color:#4a3828}.oven-label .copy-en,.oven-label .copy-vi{display:inline;font-size:7px;margin:0 2px;opacity:1}.countertop-oven{width:100%;height:100%;display:block;position:relative;border:2px solid #171716;border-radius:14px 17px 10px 8px;background:linear-gradient(145deg,#292a29 0,#131413 70%,#3e3e3c);box-shadow:inset 1px 2px 0 #696965,inset -4px 0 #0a0b0a,0 4px #151615;padding:0}.countertop-oven .oven-window{position:absolute;left:5%;top:26%;width:69%;height:53%;border:4px solid #494a47;border-bottom-width:7px;border-radius:6px;background:linear-gradient(145deg,#9ba2a0bb,#c2c8c46b 35%,#7b858177);box-shadow:inset 0 0 0 1px #151714,inset 0 0 8px #3a403b}.countertop-oven .oven-window:after{height:45%;width:45%;top:0;left:2%;background:linear-gradient(130deg,#ffffff42,transparent);transform:skewX(-25deg)}.countertop-oven .oven-rack{height:34%;bottom:12%;left:3%;width:94%;background:repeating-linear-gradient(0deg,#e4e4d4 0 1px,transparent 1px 5px);border-bottom:2px solid #a7b0a3;transform:perspective(100px) rotateX(35deg)}.oven-handle{position:absolute;left:5%;top:12%;width:69%;height:10%;border-radius:12px 12px 3px 3px;background:linear-gradient(#b9bdb7,#e4e5da 55%,#747b73);box-shadow:0 2px 1px #000b;z-index:3}.oven-controls{position:absolute;right:7%;top:12%;width:14%;height:75%;display:flex;flex-direction:column;align-items:center;justify-content:space-around}.oven-controls>i{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 42% 43%,#dddcd0 0 40%,#7f837c 44% 56%,#161817 60%);box-shadow:1px 1px 0 #000}.oven-controls>i:after{content:'';display:block;width:2px;height:30%;background:#30342d;margin:11% auto}.oven-controls>b{width:4px;height:4px;border-radius:50%;background:#a54829;box-shadow:0 0 0 1px #171c17}.countertop-oven .oven-brand{position:absolute;bottom:8%;left:24%;font:700 italic 6px Arial,sans-serif;letter-spacing:0;color:#dddcd3}.oven-feet{position:absolute;bottom:-6px;left:7%;width:15%;height:6px;background:#171918;border-radius:0 0 3px 3px;box-shadow:95px 0 #171918}.countertop-oven .oven-food{left:5%;top:0;width:90%;height:100%}.countertop-oven.heating .oven-window{background:radial-gradient(ellipse at center,#ed9a35,#b96524 50%,#593621)}.countertop-oven.ready .oven-window{box-shadow:inset 0 0 10px #ffe1a599}.countertop-oven.heating .oven-controls>b{background:#ff8339;box-shadow:0 0 5px #ff7b20}.countertop-oven.burnt .oven-window{background:#332b24}.oven-readout{position:absolute;left:0;right:0;bottom:3px;display:flex;justify-content:center;gap:4px;align-items:center;font-size:6px}.oven-readout>b{font:600 12px var(--heading);background:#2a2926;color:#ffb16f;padding:0 4px;border-radius:2px}.oven-readout>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:5px;font-weight:700}.oven-progress{position:absolute;bottom:-2px;left:7%;right:7%;height:3px;background:#bcb3a5;border-radius:2px;overflow:hidden}.oven-progress>i{display:block;height:100%;width:0;background:var(--brand)}.order-queue{display:flex;gap:4px;padding:5px;background:#e9d8c1;position:sticky;top:30px;z-index:2}.ticket-tab{flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;border:1px solid #cbbca6;background:#fff8ee;padding:3px;border-radius:4px;text-align:center;font-size:7px;line-height:1.15}.ticket-tab>b{font:700 9px var(--heading)}.ticket-tab .copy-vi{font-size:6px;margin-top:1px}.ticket-tab.active{background:#ffe0c1;border:2px solid var(--brand)}.ticket-tab.done{opacity:.5}.ticket-tab i{font-style:normal;font-size:6px;color:#9e481b}.board-slots{position:absolute;inset:1% 2% 10%;display:flex;gap:0;z-index:2}.board-slot{position:relative;width:50%;height:100%;padding:0;background:transparent;border:1px dashed #b99d6a55;border-radius:15px;touch-action:none}.board-slot+.board-slot{border-left-color:#aa8b5366}.board-slot.active{box-shadow:inset 0 0 0 2px #ff700966;background:#fff0ce1a}.board-slot svg{width:100%;height:100%;pointer-events:none;filter:drop-shadow(2px 3px 1px #795b2b25)}.board-slot .slot-label{position:absolute;left:5%;top:5%;font:700 7px var(--heading);background:#fff2d4dc;color:#6b552e;padding:3px 5px;border-radius:3px;z-index:2;max-width:92%;text-align:left}.board-slot .slot-label small{display:block;font:400 6px var(--body)}.board-slot.empty{display:flex;align-items:center;justify-content:center;color:#997c4c;font-size:9px;flex-direction:column;gap:3px}.board-slot.empty:before{content:'+';font:400 28px var(--heading);opacity:.5}.board-slot.empty .copy-vi{font-size:8px}.spread-track{bottom:1%;left:10%;width:80%;padding:4px}.board-slot .spread-track>span{font-size:5px}.packed-food{display:flex;align-items:center;justify-content:center}.packed-food.multiple{width:48%;left:5%}.packed-food.multiple+ .packed-food{left:42%}.nathan-result{display:flex;align-items:center;gap:12px;background:#ffe6ce;padding:10px;border-radius:7px;margin:14px 0}.nathan-result .portrait{width:65px;height:75px;flex-shrink:0}.nathan-result p{margin:3px 0;font-size:12px}.nathan-result b{font-size:9px;letter-spacing:1px}.modal-card .copy-vi{margin-top:4px}.ticket-body h1 .copy-vi{font-size:.55em;letter-spacing:0;margin-top:5px}.ticket-items .copy-vi{font-size:8px;margin-top:1px}.feedback .copy-vi{font-size:10px}.stat .copy-vi{font-size:8px}.review-quote .copy-vi{font-size:.65em}.ticket-time .copy-vi{font-size:6px}.recipe-tabs .copy-vi{font-size:9px}.ingredient-tray b{flex-direction:column;line-height:1.05}.ingredient-tray b .copy-vi{font-size:5px;margin:1px 0 0}.b3-note .copy-vi{font-size:5px}.welcome-card .copy-vi{font-size:.78em}.language-en .copy-vi{display:none}.language-vi .copy-en{display:none}@keyframes head-pop{from{transform:translateY(20px);opacity:.3}to{transform:translateY(0);opacity:1}}
@media(max-width:1100px){.oven-slot{padding-bottom:17px;padding-top:10px}.oven-readout>b{font-size:10px}.oven-slots{gap:5px}.countertop-oven{border-radius:10px 12px 7px 7px}.countertop-oven .oven-window{border-width:3px}.oven-feet{box-shadow:65px 0 #171918}.order-queue{top:22px}.customer-bubble{padding:5px 6px;font-size:9px}.customer-bubble .copy-vi{font-size:8px}.customer-bubble>b{font-size:8px}}
@media(max-height:600px) and (orientation:landscape){:root{--dock-height:104px}.coach-dock{padding-top:6px;padding-bottom:calc(6px + var(--safe-bottom));gap:9px}.coach-avatar.nathan-avatar{width:48px;height:60px;flex-basis:48px}.coach-message{font-size:11px;margin:4px 0}.coach-message .copy-vi{font-size:10px;line-height:1.2}.coach-eyebrow{font-size:7px}.context-button{min-height:54px;font-size:11px;max-width:34%;min-width:135px;padding:7px 9px}.context-button .copy-vi{font-size:9px}.topbar{gap:8px}.language-button{min-width:53px;font-size:9px;padding:3px}.oven-bank{top:5%;height:29%;padding-top:10px}.oven-bank-title{font-size:4px}.oven-bank-title span+span{display:none}.oven-slot{padding-top:9px;padding-bottom:13px}.oven-label,.oven-label .copy-en,.oven-label .copy-vi{font-size:5px;margin:0 1px}.countertop-oven{border-width:1px;border-radius:7px 8px 5px 5px}.countertop-oven .oven-window{border-width:2px;border-bottom-width:3px}.countertop-oven .oven-brand{font-size:4px;bottom:7%}.oven-handle{height:9%;top:12%}.oven-readout{bottom:1px;gap:2px}.oven-readout>b{font-size:8px;padding:0 2px}.oven-readout>span{font-size:4px}.oven-feet{height:3px;bottom:-3px;box-shadow:45px 0 #171918}.oven-progress{height:2px;bottom:-2px}.order-queue{top:17px;padding:3px;gap:2px}.ticket-tab{font-size:5px;min-height:44px;padding:2px}.ticket-tab>b{font-size:8px}.ticket-tab .copy-vi{font-size:5px}.ticket-tab i{font-size:5px}.customer-stage{height:28%;right:2%;width:22%}.customer-bubble{font-size:8px;padding:4px;border-radius:6px 6px 6px 0}.customer-bubble>b{font-size:7px;margin-bottom:2px}.customer-bubble .copy-vi{font-size:7px;margin-top:2px}.driver-waiting{top:28%;height:20%;width:7%}.driver-waiting>span{font-size:4px}.board-slot .slot-label{font-size:5px;padding:2px 3px}.board-slot .slot-label small{font-size:4px}.board-slot.empty{font-size:6px;gap:1px}.board-slot.empty:before{font-size:20px}.board-slot.empty .copy-vi{font-size:5px}.board-caption{font-size:4px}.board-slot .spread-track{padding:2px 4px}.board-slot .spread-track>span{font-size:3px}.ingredient-tray b .copy-vi{font-size:4px}.ticket-body h1 .copy-vi{font-size:10px}.ticket-item .copy-vi{font-size:7px}.ticket-item small{font-size:6px}.zone-label .copy-vi{font-size:5px}.bagel-choices .copy-vi{font-size:7px}.b3-bowl #b3-status{font-size:7px}.b3-bowl .copy-vi{font-size:6px}.tool b .copy-vi{font-size:4px}.selection-pill{font-size:10px}.selection-pill .copy-vi{font-size:9px}.customer-stage.angry{z-index:4}.review-top .review-art{width:90px;height:75px}.welcome-card h2 .copy-vi{font-size:.53em;letter-spacing:-.3px}.welcome-card h2{font-size:28px}.welcome-card{max-height:100%}.welcome-tags{display:none}}
@media(max-width:700px) and (orientation:landscape){.game-title{border:0;padding-left:2px}.game-title b{font-size:14px}.brand-logo{width:70px}.header-stats{display:none}.topbar nav{margin-left:auto;gap:2px}.nathan-avatar{display:block!important}.coach-avatar.nathan-avatar{width:40px;flex-basis:40px}.coach-eyebrow span+span{display:none}.coach-message{font-size:10px}.coach-message .copy-vi{font-size:9px}.coach-dock{gap:7px}.context-button{min-width:126px;max-width:37%;font-size:10px}.context-button .copy-vi{font-size:8px}.customer-bubble>b{font-size:6px}.customer-bubble{font-size:7px}.customer-bubble .copy-vi{font-size:6px}.customer-portrait{width:44%}.ticket-body h1{font-size:14px}.ticket-body h1 .copy-vi{font-size:9px}.order-queue .ticket-tab-name{display:none}.order-queue .ticket-tab{min-height:44px}.ingredient-tray b .copy-vi{display:none}.oven-readout>span{display:none}.recipe-tabs{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.nathan-avatar.speaking,.customer-stage.pop .customer-portrait{animation:none}}
.i18n-pair{display:block}.oven-label .i18n-pair{display:inline}.countertop-oven .oven-food svg{overflow:hidden}.board-slot .i18n{pointer-events:none}
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/noto-sans-latin-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/noto-sans-vietnamese-variable.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/space-grotesk-vietnamese-variable.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
:root{--body:'Noto Sans',sans-serif}
.welcome-card h2>br{display:none}.welcome-card h2>em{display:block;margin-top:10px}.game-title>.i18n-pair{display:none}.game-title>span .copy-vi{font-size:6px;letter-spacing:.3px}.header-stats small .copy-vi{font-size:5px;letter-spacing:0}.salad-heading .copy-vi{font-size:4px;margin-top:1px}.crate-sign .copy-vi{font-size:5px;letter-spacing:0}.b3-label .copy-vi{font-size:4px;margin-top:1px}
.oven-controls{display:grid;grid-template-rows:repeat(3,minmax(0,1fr)) 4px;justify-items:center;gap:2px}.oven-controls>i{width:auto;height:100%;max-width:100%;min-height:0;aspect-ratio:1;justify-self:center}
@media(max-height:360px) and (orientation:landscape){.b3-label{display:none}.b3-bowl #b3-art{height:100%}.b3-bowl #b3-status{position:absolute;left:-58%;top:30%;max-width:82%;font-size:6px;line-height:1.1;padding:3px}.b3-bowl #b3-status .copy-vi{font-size:5px}.customer-bubble>b{display:none}.counter-brand{display:none}.oven-controls{grid-template-rows:repeat(3,minmax(0,1fr)) 2px;gap:1px}}
