:root{--ink:#243d32;--dark:#1c352f;--green:#396a50;--green2:#6f9c68;--cream:#f6eac6;--paper:#fff4d3;--gold:#f4be58;--red:#cc5540;--red-dark:#953d32;--muted:#73816c;--pixel:'Press Start 2P',monospace;--body:'VT323',monospace}*{box-sizing:border-box}html{background:#304d43}body{margin:0;color:var(--ink);font-family:var(--body);font-size:20px;line-height:1.05;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 4px,transparent 4px 18px),#304d43;min-height:100vh}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffdd59;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}.arcade-wrap{max-width:1330px;margin:0 auto;padding:20px 22px 30px}.brandbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 5px 14px;color:#f6e9c0}.brand{display:flex;align-items:center;gap:11px}.brand-pizza{width:42px;height:42px;display:block}.brand-pizza svg{width:100%;height:100%;image-rendering:pixelated}.brand-name{font:18px/1.25 var(--pixel);color:#fae9b2;display:block;text-shadow:3px 3px #1e392f}.brand-name span{color:#f09264}.brand small{display:block;font:7px/1.5 var(--pixel);color:#a8c29e;margin-top:5px}.brand-right{text-align:right;font:8px/1.8 var(--pixel);color:#e3d58f}.brand-right .version{display:block;color:#a7c19a;font-size:7px}.machine{background:#c6c6a9;border:5px solid #233d33;border-radius:8px 8px 25px 8px;box-shadow:inset 0 0 0 3px #e2dbc0,9px 12px 0 rgba(22,42,32,.42);padding:8px 12px 10px}.machine-top{display:flex;gap:8px;align-items:center;height:21px;color:#596a55;font:7px var(--pixel);padding:0 5px}.machine-top i{flex:1}.machine-light{height:7px;width:7px;background:#d75943;box-shadow:0 0 0 2px #96463a}.screen-shell{background:#d9d7b6;border:5px solid #233c32;box-shadow:inset 0 0 0 2px #94a38a}.hud{min-height:66px;display:flex;align-items:stretch;gap:0;background:#2d5942;color:#fff1c5;border-bottom:5px solid #233c32}.hud-time{display:flex;align-items:center;gap:8px;padding:10px 15px;background:#e2ba61;color:#283f32;font:10px var(--pixel);white-space:nowrap}.hud-label{font:7px var(--pixel);color:#7c6941}.hud-time strong{font:10px var(--pixel)}.hud-time>span:last-child{font:18px var(--body)}.hud-stat{display:flex;align-items:center;gap:9px;min-width:135px;padding:8px 16px;border-right:2px solid #49755b}.hud-stat small,.hud-stat strong{display:block}.hud-stat small{color:#b7cca8;font:7px var(--pixel);margin-bottom:6px}.hud-stat strong{font:12px var(--pixel);white-space:nowrap}.hud-stat .light{font:16px var(--body);color:#b3c7a7}.hud-icon{display:grid;place-items:center;width:32px;height:32px;color:#244435;font:18px var(--pixel);background:#f4c669;border:3px solid #223d31;box-shadow:2px 2px 0 #1c3b2d}.star-icon{color:#a15836}.hud-actions{margin-left:auto;display:flex;align-items:center;gap:7px;padding:8px 12px}.icon-button{height:33px;width:33px;background:#e9deb0;border:3px solid #203d30;box-shadow:2px 2px 0 #1b3a2e;font:14px var(--pixel);color:#294637;display:grid;place-items:center}.icon-button:hover:not(:disabled){background:#f7c86d}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(410px,.81fr);background:#dcd9b9;align-items:start}.world-column{padding:15px;min-width:0}.world-screen{position:relative;border:5px solid #233e31;background:#86c3c4;box-shadow:4px 4px 0 #9aa88a;overflow:hidden;aspect-ratio:768/406}.world-art{display:block;width:100%;height:100%;image-rendering:pixelated}.world-badge,.scene-message{position:absolute;z-index:1;font:8px/1.5 var(--pixel);border:3px solid #284638;box-shadow:3px 3px 0 #284638}.world-badge{top:11px;left:11px;background:#f7e4ae;padding:6px 8px}.blink-dot{display:inline-block;background:#d86242;width:7px;height:7px;box-shadow:1px 1px #8c3d31;margin-right:4px;animation:blink 1.4s steps(1,end) infinite}@keyframes blink{50%{opacity:.4}}.scene-message{right:12px;bottom:12px;max-width:63%;padding:8px 9px;background:#f4d277;color:#39513c;font-size:7px}.pixel-scooter{position:absolute;width:12%;left:13%;bottom:1%;image-rendering:pixelated;transform:translateX(0);padding:0;border:0;background:transparent;z-index:3}.pixel-chef{position:absolute;left:22%;top:53%;width:10%;height:22%;background:transparent;border:0;z-index:3}.pixel-chef:hover,.pixel-scooter:hover{outline:2px dashed #ffe590;outline-offset:2px}.scene-action-label{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#fff0c4;color:#a94b38;border:2px solid #735239;padding:3px 4px;font:6px var(--pixel);white-space:nowrap}.pixel-scooter .scene-action-label{top:-5px}.scene-hint{margin:9px 0 0;color:#6e826a;text-align:center;font:7px/1.5 var(--pixel)}.scene-hint span{color:#c45b3e}.pixel-scooter svg{width:100%;display:block}.world-screen.driver-moving .pixel-scooter{animation:scooter 8s steps(42,end) infinite}@keyframes scooter{0%{left:8%}48%,50%{left:76%}98%,100%{left:8%}}.world-screen.driver-moving .pixel-scooter svg{animation:faceDirection 8s steps(1,end) infinite}@keyframes faceDirection{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}100%{transform:scaleX(1)}}.world-screen.game-paused *{animation-play-state:paused!important}.pixel-steam{position:absolute;top:45%;left:48%;font:30px var(--body);color:#fff9df;opacity:0}.world-screen.cooking .pixel-steam{opacity:.85;animation:steam 1s steps(3,end) infinite}@keyframes steam{from{transform:translateY(4px);opacity:.9}to{transform:translateY(-13px);opacity:0}}.shop-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:12px;background:#e9dfa9;border:4px solid #365545;box-shadow:3px 3px 0 #a1ad8f}.shop-strip>div{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 4px}.shop-strip>div+div{border-left:3px solid #a6b295}.strip-icon{font:18px var(--pixel);color:#bf533b}.shop-strip strong,.shop-strip small{display:block}.shop-strip strong{font:12px var(--pixel)}.shop-strip small{font:7px var(--pixel);color:#7e886d;margin-top:6px}.mission-box{margin-top:14px;padding:13px;background:#f1cf79;border:4px solid #3f5942;box-shadow:3px 3px 0 #9ca98b}.mission-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font:8px var(--pixel);color:#80643b}.mission-head strong{padding:6px;background:#c9543d;color:#fff2ca;font:9px var(--pixel);border:2px solid #704734}.mission-box>strong{font:23px var(--body);display:block}.mission-box>span{display:block;color:#7c765b;font:16px var(--body)}.progress-track,.market-bar,.stock-track,.patience-track{background:#d4c99f;border:2px solid #789069;height:10px;overflow:hidden}.progress-track{margin:8px 0 5px}.progress-fill,.stock-bar,.patience-fill,.market-bar div{height:100%;background:#588b55}.local-ticker{display:flex;gap:10px;align-items:flex-start;padding:12px 3px;color:#5d735b;font-size:16px;line-height:1.05}.local-ticker p{margin:0}.local-ticker b{color:#c0523d}.ticker-icon{background:#c0563f;color:#f8eabe;display:grid;place-items:center;font:bold 17px var(--body);width:21px;height:21px;flex-shrink:0}.control-column{padding:15px 15px 15px 0;min-width:0}.game-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.game-tab{border:3px solid #243e31;border-bottom:0;background:#78966d;color:#e7efd1;height:52px;box-shadow:inset 0 -4px #567a59;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0}.game-tab span{font:17px var(--body);line-height:.8}.game-tab b{font:7px var(--pixel);white-space:nowrap}.game-tab:hover{background:#91a675}.game-tab.active{background:#f4d47d;color:#314a36;box-shadow:none;position:relative;z-index:1}.screen-panel{border:4px solid #243e31;background:#f1e6c3;padding:17px;min-height:470px;box-shadow:4px 4px 0 #98a588}.screen-heading{display:flex;justify-content:space-between;gap:10px;margin:1px 0 15px}.eyebrow{font:8px/1.5 var(--pixel);color:#b4593e}.screen-heading h1{font:14px/1.5 var(--pixel);margin:5px 0 0;color:#273f31}.screen-heading p,.finance-panel p,.market-panel p{font:18px/1.15 var(--body);color:#79816c;margin:5px 0 0}.heading-icon{height:38px;width:38px;display:grid;place-items:center;font:20px var(--pixel);color:#b9513d;background:#e7be76;border:3px solid #a67b4a}.count-badge{font:9px var(--pixel);background:#d55f43;color:#fff4d6;padding:5px;border:2px solid #833f34;vertical-align:2px}.order-list{display:grid;gap:10px}.order-card{background:#fff4d6;border:3px solid #a8ab83;box-shadow:3px 3px 0 #d1c9a3;padding:10px;position:relative}.order-card.selected{border-color:#c55a3f}.order-top{display:flex;align-items:center;gap:8px}.order-emoji{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;background:#f2d58a;border:2px solid #c59358}.order-emoji svg,.ingredient-icon svg{width:84%;height:84%;image-rendering:pixelated}.order-name{flex:1;min-width:0}.order-name strong,.order-name small{display:block}.order-name strong{font:8px/1.45 var(--pixel);overflow-wrap:anywhere}.order-name small{font:17px/1.1 var(--body);color:#8b8b70;margin-top:3px}.order-price{font:11px var(--pixel);color:#4d8651}.order-meta{display:flex;justify-content:space-between;gap:8px;margin:9px 0 4px;font:16px var(--body);color:#788169}.patience-track{height:7px;border:0;background:#e4ddb7}.patience-fill{background:#7ba168}.patience-fill.warn{background:#d26b45}.order-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:5px}.small-note{font:7px var(--pixel);color:#9a9a7b}.order-buttons{display:flex;gap:5px;align-items:center}.order-button,.upgrade-buy,.stock-buy,.price-adjust button,.button,.real-map-toggle{border:3px solid #34503d;box-shadow:2px 2px 0 #73866c;background:#e7dfb4;color:#405b40;font:8px/1.3 var(--pixel);padding:8px;min-height:35px}.order-button:hover:not(:disabled),.upgrade-buy:hover:not(:disabled),.stock-buy:hover:not(:disabled),.price-adjust button:hover:not(:disabled),.button:hover:not(:disabled){filter:brightness(1.07);transform:translate(-1px,-1px)}.order-button.action{background:#ce583f;color:#fff3cc;border-color:#6e4935;min-width:88px}.order-button.action.ready{background:#5d965f;color:#fff4cc;border-color:#375b3b}.order-button.map-button{font-size:7px;padding:8px 6px}.order-status{font:8px/1.3 var(--pixel);color:#c45a3f}.order-status.onway{color:#4f8350}.orders-footer{display:flex;justify-content:space-between;gap:8px;margin-top:15px;padding:10px 0;border-top:3px dashed #c6c5a0;color:#82906e;font:7px/1.5 var(--pixel)}.empty-state{text-align:center;padding:25px;color:#80916f}.empty-state span,.empty-state strong{display:block}.empty-state span{font:24px var(--pixel);color:#d68b50}.empty-state strong{font:10px var(--pixel);margin:12px}.empty-state p{font-size:18px}.subpanel{border:3px solid #abb18d;background:#f9efd0;padding:12px;margin-top:13px}.subpanel h3{font:9px/1.5 var(--pixel);color:#59765a;margin:0 0 8px}.log-panel{background:#e7e1bb}.activity-row{display:flex;gap:8px;padding:7px 0;font:17px/1.1 var(--body);color:#708069;border-top:2px dotted #c9c9a6}.activity-row:first-child{border-top:0}.activity-row span:first-child{color:#cf6847}.activity-row time{margin-left:auto;font:7px var(--pixel);white-space:nowrap;color:#a2a48a}.inventory{display:grid;gap:6px}.inventory-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:2px dotted #d9d4af}.ingredient-icon{height:35px;width:35px;display:grid;place-items:center;background:#ead9a5;border:2px solid #b9ad7d;flex-shrink:0}.ingredient-name{flex:1;font:20px var(--body)}.inventory-count{font:10px var(--pixel)}.inventory-count.low{color:#d0523a}.stock-track{width:54px;height:9px}.stock-bar.low{background:#d77050}.stock-buy{font-size:7px;white-space:nowrap}.button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px}.button.wide{width:100%;margin-top:12px}.button.secondary{background:#d4e0ab}.button.primary{background:#d4543c;border-color:#713a2f;color:#fff1c6}.fine-print,.map-disclaimer{font:16px/1.15 var(--body);color:#8d9279;margin:9px 0 0}.note-box{display:flex;gap:9px;align-items:flex-start;background:#e7d294;border:3px solid #aa9661;padding:12px;margin-top:12px;color:#718067;font-size:17px}.note-box strong{font:8px/1.5 var(--pixel);color:#b4583d;white-space:nowrap}.upgrade-row,.menu-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:2px dotted #d9d4af}.upgrade-row:last-child{border-bottom:0}.upgrade-symbol{height:37px;min-width:37px;display:grid;place-items:center;background:#ecca81;border:2px solid #a88c5c;color:#b6543e;font:8px var(--pixel)}.upgrade-text,.menu-name{flex:1;min-width:0}.upgrade-text strong,.upgrade-text small,.menu-name strong,.menu-name small{display:block}.upgrade-text strong,.menu-name strong{font:8px/1.4 var(--pixel);color:#405741}.upgrade-text small,.menu-name small{font:16px var(--body);color:#929780;margin-top:4px}.upgrade-buy{font-size:8px;white-space:nowrap}.price-adjust{display:flex;align-items:center;gap:8px;font:10px var(--pixel)}.price-adjust button{height:31px;width:31px;min-height:31px;padding:0;font:16px var(--body)}.price-adjust span{min-width:27px;text-align:center}.signature-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px}.signature-row strong,.signature-row small{display:block}.signature-row strong{font:8px var(--pixel)}.signature-row small{font:16px var(--body);color:#8d937b;margin-top:5px}.signature-row select{border:3px solid #8b9879;background:#f6e9bf;color:#405b40;padding:5px;font:19px var(--body);max-width:53%}.demand-row,.finance-line,.market-shares{display:flex;justify-content:space-between;gap:9px;align-items:center;color:#7a8a6c;font:8px/1.5 var(--pixel);margin-top:13px}.demand-row strong,.finance-line strong,.market-shares strong{color:#4c7850;font:9px var(--pixel);text-align:right}.finance-line{padding:10px 0;border-top:2px dotted #d5d3ae}.map-wrap{position:relative;overflow:hidden;border:4px solid #345342;background:#bdd19d;aspect-ratio:800/460}.map-wrap>svg{display:block;width:100%;height:100%;image-rendering:pixelated}.map-pins{position:absolute;inset:0;pointer-events:none}.map-pin-button,.map-shop-pin,.map-driver{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.map-pin-button{border:2px solid #713f31;box-shadow:2px 2px 0 #705d40;background:#e7804d;color:#fff8de;min-width:25px;height:25px;font:10px var(--pixel);padding:3px}.map-pin-button.selected{background:#ffe286;border-color:#953f31;transform:translate(-50%,-50%) scale(1.15);color:#713b2b;z-index:3}.map-shop-pin{background:#3d7650;color:#f7edc3;padding:4px;border:2px solid #304d37;font:7px var(--pixel);white-space:nowrap;z-index:2}.map-driver{z-index:4;background:#f9e89c;border:2px solid #414b35;min-width:19px;height:19px;display:grid;place-items:center;font:12px var(--body);pointer-events:none}.map-detail{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.map-detail strong,.map-detail small{display:block}.map-detail strong{font:9px/1.5 var(--pixel);color:#405b40}.map-detail small{font:17px var(--body);color:#87927a;margin-top:3px}.map-detail a{font:8px/1.5 var(--pixel);color:#ba553e;text-decoration:none;text-align:right}.google-map-wrap{height:260px;margin-top:12px;border:4px solid #345342}.google-map-wrap iframe{width:100%;height:100%;border:0;display:block}.real-map-toggle{font-size:7px}.driver-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:2px dotted #d9d4af}.driver-avatar{height:32px;width:32px;display:grid;place-items:center;background:#e8cb87;border:2px solid #a88e60;font:14px var(--body)}.driver-name{flex:1}.driver-name strong,.driver-name small{display:block}.driver-name strong{font:8px var(--pixel)}.driver-name small{font:16px var(--body);color:#8d957c;margin-top:4px}.driver-status{background:#dbe7b9;padding:6px;color:#5d8555;font:7px/1.4 var(--pixel);text-align:right}.driver-status.busy{background:#efd5a1;color:#b45f41}.market-bar{margin:9px 0;background:#dca966;border-color:#9e9974}.market-bar div{background:#638f5d}.screen-footer{display:flex;justify-content:space-between;gap:10px;background:#c9cea8;border-top:4px solid #5f8061;padding:9px 12px;color:#65805f;font:7px/1.5 var(--pixel)}.screen-footer b{color:#c6583e}.machine-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 10px 3px;color:#5f705a;font:8px var(--pixel)}.machine-bottom i{color:#c6533d;font-style:normal}.controls-mark{display:flex;gap:15px;font-size:14px;color:#6f7e67}.speaker{letter-spacing:3px;color:#71816a}.below-machine{text-align:center;color:#a8bd98;font:7px/1.5 var(--pixel);padding:22px 0}.below-machine span{color:#e28c62}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);z-index:50;border:3px solid #203a2f;box-shadow:4px 4px 0 #1b302b;background:#f4d174;color:#314b37;padding:12px;font:9px/1.5 var(--pixel);opacity:0;pointer-events:none;transition:.15s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:5px solid #243d31;box-shadow:8px 8px 0 #20352a;background:#f8e9be;color:#263d31;padding:0;max-width:min(440px,92vw)}dialog::backdrop{background:#142c25c9}.dialog-inner{padding:25px;position:relative}.dialog-close{position:absolute;right:11px;top:8px;border:0;background:transparent;font:26px var(--body);color:#667e5d;cursor:pointer}.dialog-pixel-pizza{width:48px;height:48px;display:grid;place-items:center;background:#f1c76a;border:4px solid #a85b3b;color:#c8533e;font:25px var(--pixel);margin-bottom:15px}.dialog-inner h2{font:16px/1.5 var(--pixel);margin:7px 0 12px}.dialog-inner h2 span{color:#cb553d}.dialog-inner p{font:20px/1.15 var(--body);color:#74816b}.dialog-inner ol{padding:0;list-style:none;display:grid;gap:10px;margin:18px 0}.dialog-inner li{display:flex;gap:10px;font:18px/1.1 var(--body);color:#68775f;align-items:center}.dialog-inner li b{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;background:#e9d399;border:3px solid #ad9c70;font:8px var(--pixel);color:#a95540}.dialog-inner li strong{color:#ba553f;font:8px var(--pixel)}.dialog-note{background:#e6deb5;border:2px solid #b6b78f;padding:10px;font:16px/1.1 var(--body);color:#78836d;margin-bottom:15px}.confirm-dialog h2{font-size:14px}.confirm-actions{display:flex;gap:10px;margin-top:15px}.confirm-actions .button{flex:1;justify-content:center}
@media(max-width:950px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.game-tab b{font-size:6px}.world-column{padding:12px}.control-column{padding:12px 12px 12px 0}.screen-panel{padding:13px}.hud-stat{min-width:118px;padding:8px 10px}.hud-time{padding:8px 9px}}
@media(max-width:720px){.arcade-wrap{padding:13px 10px 22px}.brandbar{margin:0 2px 10px}.brand-name{font-size:13px}.brand small{font-size:6px}.brand-pizza{width:34px;height:34px}.brand-right{font-size:6px}.brand-right .version{font-size:6px}.machine{padding:7px 7px 9px;border-width:4px;box-shadow:5px 7px 0 #1b362c}.machine-top{height:18px;font-size:6px}.screen-shell{border-width:4px}.hud{min-height:55px;flex-wrap:wrap;border-bottom-width:4px}.hud-time{order:1;flex:1;justify-content:center;padding:8px 4px}.hud-label{display:none}.hud-time strong{font-size:8px}.hud-stat{order:0;min-width:0;flex:1;padding:7px 6px;gap:5px}.hud-stat small{font-size:6px;margin-bottom:4px}.hud-stat strong{font-size:9px}.hud-stat .light{font-size:12px}.hud-icon{height:26px;width:26px;font-size:12px;border-width:2px}.hud-actions{order:2;width:100%;justify-content:flex-end;padding:4px 6px;background:#d6c78f;border-top:2px solid #233c32}.icon-button{height:28px;width:30px;border-width:2px;box-shadow:1px 1px 0 #1b3a2e;font-size:11px}.game-layout{display:flex;flex-direction:column}.world-column{width:100%;padding:10px 10px 0}.world-screen{border-width:4px}.world-badge{font-size:6px;padding:5px;top:7px;left:7px}.scene-message{font-size:6px;bottom:7px;right:7px;padding:6px;max-width:75%}.scene-hint{font-size:6px}.shop-strip{margin-top:9px;border-width:3px}.shop-strip>div{padding:7px 2px;gap:5px}.shop-strip strong{font-size:9px}.shop-strip small{font-size:6px;margin-top:4px}.strip-icon{font-size:13px}.mission-box{margin-top:10px;padding:9px;border-width:3px}.mission-head{font-size:7px;margin-bottom:5px}.mission-head strong{font-size:7px;padding:4px}.mission-box>strong{font-size:20px}.local-ticker{display:none}.control-column{width:100%;padding:12px 10px 10px}.game-tabs{gap:1px}.game-tab{height:46px;border-width:2px}.game-tab b{font-size:7px}.game-tab span{font-size:15px}.screen-panel{min-height:350px;padding:12px;border-width:3px}.screen-heading h1{font-size:12px}.screen-heading p{font-size:17px}.heading-icon{height:31px;width:31px;font-size:15px}.screen-footer{font-size:6px;padding:7px;line-height:1.8}.screen-footer span:last-child{display:none}.machine-bottom{font-size:6px;padding:10px 4px 2px}.controls-mark{font-size:11px}.speaker{letter-spacing:1px}.below-machine{font-size:6px;padding:16px 0}.map-wrap{min-height:210px}}
@media(max-width:370px){.brand-name{font-size:11px}.brand-right{display:none}.game-tab b{font-size:6px}.hud-time>span:last-child{font-size:15px}.screen-panel{padding:9px}.order-button{padding:7px 5px}.stock-track{display:none}.order-name strong{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}

/* Shift and dispatch controls */
[hidden]{display:none!important}
.quick-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.quick-action{min-width:0;min-height:55px;display:flex;gap:9px;align-items:center;text-align:left;padding:8px 10px;border:3px solid #324f3d;box-shadow:3px 3px 0 #93a382;background:#f2cf79;color:#304a37;cursor:pointer}
.quick-send{background:#c9dfa6}.quick-action>span:first-child{font:25px var(--body);color:#bc523b}.quick-action strong,.quick-action small{display:block}.quick-action strong{font:8px/1.4 var(--pixel)}.quick-action small{font:16px/1.1 var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-action:disabled{opacity:.6;cursor:default}
.shift-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f5cd70;border:3px solid #5a603c;padding:10px;margin-bottom:10px;box-shadow:3px 3px #a2ad87}.shift-banner strong,.shift-banner span{display:block}.shift-banner strong{font:9px/1.4 var(--pixel)}.shift-banner span{font:17px var(--body)}.shift-banner .button{flex-shrink:0}
.ticket-tag{display:inline-block;margin-top:7px;background:#e4dfbc;color:#5d7755;padding:3px 5px;font:15px/1 var(--body)}.order-card.urgent{border-color:#c6543e;background:#fff0d1}.order-card.urgent .ticket-tag{color:#a13e30;background:#f1ceaa}.batch-offer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:2px dashed #d5c79e;color:#4b6d4d;font:16px/1.1 var(--body)}.batch-button{flex-shrink:0;min-height:44px;border:3px solid #365943;background:#b9d8a2;color:#28563a;padding:7px;font:8px/1.3 var(--pixel);box-shadow:2px 2px #93a284}.batch-button:disabled{opacity:.5}
.order-button,.upgrade-buy,.stock-buy,.price-adjust button,.button,.icon-button,.dialog-close,.map-pin-button{min-height:44px}.price-adjust button{height:44px;min-width:44px}.icon-button{width:44px;height:44px}.dialog-close{min-width:44px}.map-pin-button{min-width:44px;height:44px}.game-tab{min-height:48px}.order-button.action{min-width:85px}
.map-wrap{width:100%;min-width:0;aspect-ratio:auto;height:clamp(200px,28vw,300px)}.map-wrap>svg{width:100%;height:100%}.map-order-list{display:flex;gap:6px;overflow-x:auto;padding:9px 0 2px}.map-list-button{white-space:nowrap;min-height:44px;padding:7px 9px;border:2px solid #79906b;background:#ece5c5;color:#405c40;font:17px var(--body)}.map-list-button.selected{background:#f4d174;border-color:#a45139}
.shop-growth{position:absolute;right:8px;top:8px;display:flex;gap:4px}.shop-growth span{background:#f6e4ae;border:2px solid #345342;padding:3px 5px;font:7px var(--pixel)}
.shift-report .report-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.report-stats>div{padding:8px;background:#ece1b8;border:2px solid #c4bd93}.report-stats span,.report-stats strong{display:block}.report-stats span{font:16px/1.1 var(--body);color:#68785c}.report-stats strong{font:10px/1.4 var(--pixel);margin-top:4px}.report-stats .report-total{background:#d3e2ae}.report-insight{background:#f0d088;border:2px solid #aa9967;padding:9px}

@media(max-width:720px){
  html,body{min-width:0;overflow-x:hidden}
  .arcade-wrap{padding:0;max-width:none}.brandbar,.machine-top,.machine-bottom,.below-machine,.screen-footer,.scene-hint,.shop-strip,.local-ticker{display:none}
  .machine{padding:0;border:0;box-shadow:none;border-radius:0}.screen-shell{border:0;overflow:visible}
  .hud{position:sticky;top:0;z-index:30;min-height:0;display:flex;flex-wrap:wrap;border-bottom:3px solid #213d30;box-shadow:0 3px 0 #203c32}
  .hud-stat{min-height:45px;padding:4px 6px}.hud-stat strong{font-size:9px}.hud-time{min-height:45px;padding:4px}.hud-time strong{font-size:8px}.hud-time>span:last-child{font-size:17px}
  .hud-actions{width:100%;justify-content:center;gap:8px;padding:3px;background:#d6c78f}.icon-button{height:44px;width:44px;min-height:44px}
  .game-layout{display:flex;flex-direction:column}.world-column{width:100%;padding:7px 8px 0}.world-screen{height:clamp(105px,32vw,142px);aspect-ratio:auto;border-width:3px;box-shadow:2px 2px 0 #9aa88a}
  .world-art{width:100%;height:100%}.world-badge{font-size:6px;top:5px;left:5px}.scene-message{font:7px/1.4 var(--pixel);max-width:65%;padding:5px;bottom:5px;right:5px}.pixel-chef,.pixel-scooter{pointer-events:none}.scene-action-label{display:none}.shop-growth{top:5px;right:5px}
  .mission-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;margin-top:6px;padding:6px 8px}.mission-head{grid-column:2;grid-row:1;margin:0}.mission-head span{display:none}.mission-box>strong{grid-column:1;grid-row:1;font:19px/1 var(--body)}.mission-box>span{grid-column:1;grid-row:2;font:15px/1 var(--body)}.mission-box .progress-track{grid-column:2;grid-row:2;width:75px;margin:0}
  .control-column{width:100%;padding:8px 8px 16px}.quick-controls{gap:6px;margin-bottom:8px}.quick-action{min-height:50px;padding:5px 8px;box-shadow:2px 2px #93a382}.quick-action strong{font-size:8px}.quick-action small{font-size:15px}.quick-action>span:first-child{font-size:23px}
  .game-tabs{gap:2px}.game-tab{height:48px;min-height:48px}.game-tab b{font:16px/1 var(--body)}.game-tab span{font-size:16px}
  .screen-panel{padding:10px;min-height:0}.screen-heading{align-items:center;margin:0 0 8px}.screen-heading .eyebrow{font-size:7px}.screen-heading h1{font:12px/1.35 var(--pixel);margin:2px 0 0}.screen-heading p{font:16px/1.1 var(--body);margin:2px 0}.heading-icon{display:none}
  .order-list{gap:8px}.order-card{padding:8px}.order-emoji{width:38px;height:38px}.order-name strong{font:20px/1 var(--body);overflow-wrap:normal}.order-name small{font:17px/1 var(--body)}.order-price{font:10px var(--pixel)}.order-meta{font:16px/1 var(--body);margin:6px 0}.order-button{min-height:44px}.order-button.map-button{font:16px var(--body)}.small-note{font:14px var(--body)}
  .inventory-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto auto;gap:6px}.inventory-row .stock-track{display:none}.ingredient-name{min-width:0;font-size:20px}.stock-buy{white-space:nowrap;min-height:44px;padding:6px;font:16px var(--body)}.inventory-count{font-size:9px}.subpanel{padding:9px}
  .upgrade-text strong,.menu-name strong{font:19px/1.05 var(--body)}.upgrade-text small,.menu-name small{font:16px/1.05 var(--body)}.upgrade-buy{font:15px var(--body);min-height:44px}.price-adjust{gap:4px}.price-adjust button{width:44px;height:44px;min-height:44px}.price-adjust span{font-size:9px}
  .map-wrap{height:190px;min-height:0;width:100%;aspect-ratio:auto}.map-pin-button{min-width:44px;height:44px}.map-detail a{min-height:44px;display:flex;align-items:center}.map-order-list{max-width:100%}
  .dialog-inner{padding:18px}.dialog-inner h2{font-size:14px}.shift-report .report-stats{gap:4px}.report-stats>div{padding:6px}.toast{bottom:12px;font:8px/1.5 var(--pixel)}
}
@media(max-width:370px){.game-tab b{font-size:14px}.world-badge{font-size:5px}.price-adjust button{width:44px}.screen-panel{padding:8px}.order-name strong{font:19px/1 var(--body)}}
.stock-forecast{margin:8px 0 0;color:#5c7653;font:17px/1.15 var(--body)}
@media (orientation:landscape) and (max-height:500px) and (min-width:721px) and (max-width:1000px){
  .arcade-wrap{padding:0;max-width:none}.brandbar,.machine-top,.machine-bottom,.below-machine,.screen-footer,.scene-hint,.shop-strip,.local-ticker{display:none}
  .machine{padding:0;border:0;box-shadow:none}.screen-shell{border:0}.hud{position:sticky;top:0;z-index:30;min-height:48px}.hud-stat{padding:3px 9px}.hud-time{padding:3px 8px}.hud-actions{padding:3px 8px}
  .game-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.world-column{padding:8px}.control-column{padding:8px 8px 8px 0}.world-screen{height:145px;aspect-ratio:auto}.world-art{height:100%}.mission-box{margin-top:8px;padding:7px}.mission-head{margin-bottom:3px}.mission-box>strong{font-size:18px}.quick-controls{margin-bottom:7px}.quick-action{min-height:46px;padding:4px 8px}.game-tab{height:46px;min-height:46px}.screen-panel{padding:10px;min-height:0}
}

/* Shared high scores and the seven-shift challenge */
.trophy-button{background:#f1c86e;color:#795022}.icon-button.is-on{background:#f2c65b;color:#294a31}
.challenge-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#334f3c;color:#f9e7b6;border:3px solid #233c30;box-shadow:3px 3px #a0ad8b;padding:8px 10px;margin-bottom:9px;font:8px/1.4 var(--pixel)}.challenge-progress span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-progress>strong{white-space:nowrap;color:#f6cf72}
.scores-dialog,.name-dialog{max-height:min(85vh,720px);overflow-y:auto}.scores-dialog p,.name-dialog p{font:20px/1.1 var(--body)}.leaderboard-status{padding:9px;border:2px solid #c2bd91;background:#eee4bd;color:#63775c;font:17px/1.1 var(--body)}.leaderboard-list{list-style:none;padding:0;margin:8px 0;max-height:225px;overflow-y:auto;border:2px solid #b3bc94;background:#fff2cf}.leaderboard-list:empty{display:none}.leaderboard-list li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;border-bottom:2px dotted #d9d2aa;color:#415941;font:19px/1 var(--body)}.leaderboard-list li:last-child{border-bottom:0}.score-rank{font:8px var(--pixel);color:#bf573e}.score-name{overflow-wrap:anywhere}.leaderboard-list li strong{font:9px var(--pixel);color:#4d8350}.score-rule{background:#e4dbae;border:2px solid #b5ac80;padding:8px;font:16px/1.1 var(--body);color:#586b51;margin-top:9px}.name-dialog label{display:block;font:8px/1.5 var(--pixel);color:#6a7958;margin-bottom:7px}.name-dialog input{width:100%;min-height:48px;border:3px solid #69815d;background:#fff5d8;color:#304737;padding:8px 10px;font:22px var(--body);outline-offset:2px}.name-error{min-height:1em;color:#af4637!important;margin:4px 0 0!important}.final-score{display:flex;flex-direction:column;align-items:center;background:#f1cf76;border:3px solid #7a794e;padding:14px;margin:10px 0}.final-score span{font:21px var(--body);overflow-wrap:anywhere}.final-score strong{font:20px/1.5 var(--pixel);color:#b94d36}.final-score small{font:8px var(--pixel);color:#717653}.submission-status{min-height:2.2em;background:#e9e1b9;border:2px solid #b5bc96;padding:9px;color:#4e7050!important}
/* Small visual markers keep the larger transparent touch target. */
.map-pin-button,.map-pin-button.selected{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;box-shadow:none;background:transparent;color:transparent;transform:translate(-50%,-50%);font-size:0}
.map-pin-button::before{content:attr(data-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:20px;height:20px;border:2px solid #713f31;box-shadow:1px 1px #705d40;background:#e7804d;color:#fff8de;font:8px var(--pixel)}
.map-pin-button.selected::before{background:#ffe286;border-color:#953f31;color:#713b2b}.map-pin-button:focus-visible::before{outline:3px solid #274839;outline-offset:2px}
@media(max-width:720px){.hud-actions{gap:5px}.challenge-progress{font-size:7px;padding:7px 8px;margin-bottom:7px}.scores-dialog,.name-dialog{max-height:82dvh}.leaderboard-list{max-height:180px}.leaderboard-list li{font-size:18px}.scores-dialog p,.name-dialog p{font-size:18px}.final-score strong{font-size:18px}}
.trophy-button,#soundBtn,#musicBtn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1}.trophy-button small,#soundBtn small,#musicBtn small{font:12px/1 var(--body);letter-spacing:0}

/* Top-down delivery view */
.dispatch-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#dce4bb;border:3px solid #668462;padding:8px 9px;margin-bottom:9px}.dispatch-bar>div{min-width:0}.dispatch-kicker,.dispatch-bar strong{display:block}.dispatch-kicker{font:7px/1.4 var(--pixel);color:#738765}.dispatch-bar strong{font:19px/1.05 var(--body);color:#365d43;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.dispatch-light{display:inline-block;width:7px;height:7px;background:#dd6846;margin-right:3px;box-shadow:1px 1px #8e4938;animation:blink 1.3s steps(1,end) infinite}.follow-button{flex-shrink:0;min-height:44px;padding:7px 9px;border:3px solid #365743;background:#f2ce76;color:#405b3c;box-shadow:2px 2px #91a489;font:8px/1.2 var(--pixel)}.follow-button[aria-pressed=true]{background:#c75a3e;color:#fff2ca}.follow-button:disabled{opacity:.55}
.map-wrap{overflow:hidden;isolation:isolate}.map-stage{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.map-stage>svg{width:100%;height:100%;display:block;image-rendering:pixelated}.map-route{animation:route-dash 1.2s linear infinite}@keyframes route-dash{to{stroke-dashoffset:-34}}
.map-drivers,.map-effects{position:absolute;inset:0;pointer-events:none;z-index:5}.map-effects{z-index:7}.map-vehicle{position:absolute;width:24px;height:32px;pointer-events:none;filter:drop-shadow(1px 2px 0 #2b443c88)}.map-car{display:block;width:100%;height:100%;image-rendering:pixelated;animation:car-rumble .3s steps(2,end) infinite}.map-vehicle:after{content:'';position:absolute;bottom:-3px;left:10px;width:4px;height:4px;background:#f1e4bb;box-shadow:-5px 3px 0 #f1e4bb,4px 6px 0 #f1e4bb;opacity:.6;animation:exhaust .55s steps(2,end) infinite}.map-paused .map-car,.map-paused .map-vehicle:after,.map-paused .map-route,.map-paused .map-traffic{animation-play-state:paused}
@keyframes car-rumble{50%{transform:translateX(1px)}}@keyframes exhaust{50%{opacity:.15;transform:translateY(3px)}}
.delivery-flash{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:28px;height:28px;border:3px solid #f9f0be;border-radius:50%;background:#599155;color:#fff8d2;font:bold 18px var(--body);box-shadow:0 0 0 3px #416848;animation:delivery-pop 1.2s steps(5,end) forwards}@keyframes delivery-pop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}20%,70%{transform:translate(-50%,-65%) scale(1);opacity:1}100%{transform:translate(-50%,-110%) scale(1);opacity:0}}
.map-traffic{position:absolute;top:38.48%;width:14px;height:7px;z-index:1;pointer-events:none;border:1px solid #425e53;background:#71989a;box-shadow:inset 3px 0 #a8cec1;image-rendering:pixelated}.traffic-east{margin-top:-4px;animation:traffic-east 16s linear infinite}.traffic-west{margin-top:2px;background:#a27f63;animation:traffic-west 21s linear infinite}@keyframes traffic-east{from{left:4.2%}to{left:90%}}@keyframes traffic-west{from{left:90%}to{left:4.2%}}
.map-legend{display:flex;justify-content:space-between;gap:8px;margin:7px 1px 0;color:#788c69;font:14px/1 var(--body)}.map-legend i{display:inline-block;width:16px;border-top:3px dashed #d96445;vertical-align:middle;margin-right:3px}
@media(max-width:720px){.dispatch-bar{padding:6px 8px;margin-bottom:7px}.dispatch-bar strong{font-size:18px}.dispatch-kicker{font-size:6px}.follow-button{font-size:7px}.map-vehicle{width:21px;height:28px}.map-legend{font-size:13px}}
/* The city stays in view while the player works the order board. */
.live-header{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#284b3b;color:#f9edbf;padding:10px;font:8px/1.5 var(--pixel);border:4px solid #203c30;border-bottom:0}.live-header small{color:#a9c59b;font:7px var(--pixel)}.live-header>span{color:#f4ce76;font:16px var(--body);text-align:right}.live-dot{display:inline-block;width:8px;height:8px;background:#ef7050;animation:blink 1.2s steps(1,end) infinite;margin-right:5px}.daily-event{background:#f1cf79;border:4px solid #304d3c;border-bottom:0;padding:8px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.daily-event span{font:7px var(--pixel);color:#a35438}.daily-event strong{font:8px/1.4 var(--pixel);color:#36533a}.daily-event small{font:17px/1 var(--body);color:#6c7555;flex-basis:100%}.world-column .dispatch-bar{margin:0;border-color:#304d3c;border-bottom:0;padding:5px 9px}.world-column .map-wrap{height:auto;aspect-ratio:800/460}.shop-details{margin-top:12px}.shop-details>summary{cursor:pointer;background:#e8dfb5;border:3px solid #58775a;padding:9px;font:8px/1.5 var(--pixel);color:#3d6044;list-style:none}.shop-details[open]>summary{margin-bottom:8px}.map-pin-button:after{content:'';position:absolute;inset:3px;border:1px solid #fff1b2;animation:pin-pulse 1.8s steps(3,end) infinite;pointer-events:none}@keyframes pin-pulse{50%{inset:-3px;opacity:0}}.map-vehicle{filter:drop-shadow(2px 2px 0 #385342)}.signature-name-label{display:block;margin-top:18px;font:8px/1.5 var(--pixel);color:#5b7655}.signature-name-input{width:100%;margin-top:7px;padding:8px;border:3px solid #8b9879;background:#fff5d5;color:#294637;font:20px var(--body)}
@media(max-width:720px){.world-column{padding-bottom:0}.live-header{padding:6px 8px;border-width:3px;font-size:7px}.live-header small{font-size:6px}.live-header>span{font-size:14px}.daily-event{padding:5px 8px;border-width:3px;gap:4px 7px}.daily-event span,.daily-event strong{font-size:6px}.daily-event small{font-size:15px}.world-column .dispatch-bar{padding:3px 7px;border-width:3px}.world-column .dispatch-bar strong{font-size:16px;margin-top:1px}.world-column .follow-button{min-height:36px}.world-column .map-wrap{height:clamp(165px,48vw,245px);min-height:0;aspect-ratio:auto}.shop-details{margin-top:6px}.shop-details>summary{padding:7px}.control-column{padding-top:7px}.world-column .map-pin-button{min-width:36px;height:36px}.world-column .map-pin-button:after{inset:8px}.world-column .map-pin-button.selected:after{inset:7px}}
/* The owner sets the plan while the crew handles the tickets. */
.strategy-dashboard{background:#e6dcb0;border:4px solid #314d39;box-shadow:3px 3px 0 #9ca98b;padding:10px;margin-bottom:10px}.strategy-title{display:flex;justify-content:space-between;gap:8px;align-items:end;border-bottom:2px dashed #b5b48c;padding-bottom:8px}.strategy-title span,.strategy-title strong{display:block}.strategy-title span{font:7px/1.5 var(--pixel);color:#b05c3e}.strategy-title strong{font:10px/1.4 var(--pixel);color:#2d4b37}.strategy-title small{font:16px/1 var(--body);text-align:right;color:#597a51}.policy-row{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:9px}.policy-row>span,.strategy-card>strong{font:7px/1.4 var(--pixel);color:#526b4d}.policy-row>div{display:flex;gap:4px}.policy-row button,.strategy-card button{border:2px solid #365641;background:#d5dfad;color:#3b5b40;min-height:38px;padding:6px 9px;font:8px/1.3 var(--pixel)}.policy-row button.active{background:#ca583f;color:#fff4d5;border-color:#794333}.strategy-hint{font:16px/1.05 var(--body);color:#718064;margin:6px 0 9px}.strategy-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.strategy-card{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;background:#f8eaca;border:2px solid #abb68b;padding:8px}.strategy-card select{width:100%;min-height:34px;border:2px solid #91a07c;background:#fff3cf;color:#3d5d44;font:18px var(--body)}.strategy-card p{font:16px/1.05 var(--body);color:#718064;margin:0;flex:1}.strategy-card button{background:#f1cd77;min-height:38px;font-size:7px}.strategy-card button:disabled{opacity:.55}.strategy-card button:not(:disabled):hover{background:#f7db91}
@media(max-width:720px){.strategy-dashboard{padding:8px;border-width:3px;margin-bottom:8px}.strategy-title strong{font-size:8px}.strategy-title span{font-size:6px}.strategy-title small{font-size:15px}.policy-row{margin-top:6px}.strategy-hint{margin:4px 0 7px}.strategy-card{padding:6px}.strategy-card p{font-size:15px}.strategy-card button{min-height:40px}}
.rival-goal{margin-top:8px;padding:7px;background:#304f3d;color:#ffdf87;font:7px/1.5 var(--pixel)}.threat-card{display:flex;align-items:center;gap:9px;margin-top:7px;padding:8px;border:3px solid #98533b;background:#f1c99c}.threat-card>div{min-width:0;flex:1}.threat-card span,.threat-card strong{display:block}.threat-card span{font:7px/1.4 var(--pixel);color:#aa4935}.threat-card strong{font:8px/1.5 var(--pixel);color:#694635;margin-top:3px}.threat-card p{font:17px/1 var(--body);color:#705c48;margin:4px 0 0}.threat-card button{flex:0 0 40%;min-height:43px;border:3px solid #794333;background:#c85b3e;color:#fff4d0;padding:6px;font:7px/1.4 var(--pixel)}.threat-card button:disabled{background:#d6bea0;color:#776d59;border-color:#a89980}.threat-card button:not(:disabled):hover{filter:brightness(1.1)}
@media(max-width:720px){.threat-card{padding:6px;gap:6px}.threat-card strong,.threat-card span{font-size:6px}.threat-card p{font-size:15px}.threat-card button{font-size:6px;flex-basis:38%}.rival-goal{font-size:6px}}
/* A living pixel-art cast gives the management screen its own stage. */
.cast-scene{min-height:116px;position:relative;overflow:hidden;display:flex;align-items:end;gap:8px;padding:10px 9px 8px;background:linear-gradient(180deg,#87b8a2 0 20%,#e5c483 20% 76%,#b86d52 76%);border:3px solid #2e4c39;box-shadow:inset 0 0 0 3px #e7d2a1}.cast-scene:before{content:"";position:absolute;left:0;right:0;bottom:22%;height:8px;background:repeating-linear-gradient(90deg,#ce573e 0 20px,#fae8c0 20px 40px);border-block:2px solid #8d644a}.cast-lights{position:absolute;inset:5px 8px auto;height:5px;background:repeating-linear-gradient(90deg,#f9eeb9 0 5px,transparent 5px 20px);opacity:.8}.cast-portrait{width:64px;flex:0 0 64px;position:relative;z-index:1;text-align:center;filter:drop-shadow(2px 3px 0 #754b3c)}.cast-portrait svg{width:100%;display:block;image-rendering:pixelated}.chef-portrait svg{animation:chef-idle 1.4s steps(2,end) infinite;transform-origin:bottom}.rival-portrait svg{animation:rival-idle 2.4s steps(2,end) infinite;transform-origin:bottom}.cast-name{display:block;background:#305a42;color:#fff0bf;border:2px solid #2c4737;font:6px/1.2 var(--pixel);padding:3px}.rival-portrait .cast-name{background:#9d4939}.cast-dialog{position:relative;z-index:2;align-self:center;flex:1;min-width:0;background:#fff1cc;border:3px solid #365641;box-shadow:3px 3px #a46a4f;padding:7px 8px}.cast-dialog:before{content:"";position:absolute;left:-9px;bottom:11px;border:5px solid transparent;border-right-color:#365641}.cast-kicker{display:block;color:#b1543e;font:6px/1.4 var(--pixel)}.cast-dialog strong{display:block;font:20px/1 var(--body);color:#36533d;margin:4px 0}.kitchen-motion{display:flex;align-items:center;gap:6px;height:22px;color:#8a694c;font:15px var(--body)}.mini-oven{position:relative;display:block;width:24px;height:19px;border:3px solid #455242;background:#dfab62;flex-shrink:0}.mini-oven b{position:absolute;inset:4px 3px;background:#764935}.busy .mini-oven b{background:#df733c;animation:oven-glow .5s steps(2,end) infinite}.pizza-toss{font:19px var(--body);color:#bc513a;display:inline-block;transform-origin:center}.busy .pizza-toss{animation:pizza-toss 1.1s steps(5,end) infinite}.kitchen-steam{color:#e49b54;opacity:.35}.busy .kitchen-steam{animation:steam .9s steps(3,end) infinite}.driving .chef-portrait{filter:drop-shadow(2px 3px 0 #754b3c) drop-shadow(0 0 4px #ffdb7e)}.cast-scene.held svg,.cast-scene.held i,.cast-scene.held b{animation-play-state:paused}.rival-dialog{display:flex;gap:8px;align-items:baseline;padding:7px 8px;background:#803e35;color:#ffe9b9;border:3px solid #453c30;border-top:0}.rival-dialog b{font:6px/1.4 var(--pixel);white-space:nowrap;color:#ffcc80}.rival-dialog span{font:17px/1 var(--body)}.strategy-title{padding-top:9px}.strategy-card{box-shadow:2px 2px 0 #b8b489}.strategy-card>strong:before{content:"★ ";color:#c95c3f}.threat-card{box-shadow:2px 2px 0 #c69671}.threat-card span:before{content:"◆ ";color:#c94732}.order-card{animation:ticket-arrive .3s steps(3,end)}.order-card.urgent{animation:ticket-alert 1s steps(2,end) infinite}.toast.show{animation:toast-pop .35s steps(3,end)}@keyframes chef-idle{50%{transform:translateY(-3px)}}@keyframes rival-idle{50%{transform:translateY(-2px) rotate(2deg)}}@keyframes oven-glow{50%{background:#f4d378}}@keyframes pizza-toss{0%,100%{transform:translateY(1px) rotate(0)}50%{transform:translateY(-10px) rotate(90deg)}}@keyframes ticket-arrive{from{transform:translateY(-5px);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes ticket-alert{50%{border-color:#e97242}}@keyframes toast-pop{from{transform:translate(-50%,12px) scale(.92)}to{transform:translate(-50%,0) scale(1)}}
@media(max-width:720px){.cast-scene{min-height:91px;padding:6px;gap:5px}.cast-portrait{width:48px;flex-basis:48px}.cast-dialog{padding:5px 6px}.cast-dialog strong{font-size:17px}.cast-kicker,.cast-name{font-size:5px}.kitchen-motion{height:18px;font-size:13px}.mini-oven{width:21px;height:16px}.rival-dialog{padding:5px 6px;gap:5px}.rival-dialog b{font-size:5px}.rival-dialog span{font-size:15px}}
.dispatch-planner{border:3px solid #42624a;background:#f7eac3;box-shadow:2px 2px #adba94;margin:8px 0;padding:9px}.dispatch-planner>strong{font:8px/1.4 var(--pixel);color:#3c6547}.dispatch-planner p{font:17px/1.1 var(--body);margin:6px 0;color:#63795e}.dispatch-fields{display:grid;grid-template-columns:1fr;gap:6px}.dispatch-fields label{display:grid;gap:4px;color:#5d7556;font:7px/1.3 var(--pixel)}.dispatch-fields select{width:100%;min-width:0;min-height:40px;background:#fff5d9;border:2px solid #8da27c;color:#354e38;padding:5px;font:18px var(--body)}.dispatch-planner .button{justify-content:center;margin-top:8px;min-height:42px}.dispatch-planner .button:disabled{opacity:.55}.policy-row>div{flex-wrap:wrap;justify-content:flex-end}@media(max-width:370px){.policy-row button{font-size:7px;padding:5px}.dispatch-planner{padding:7px}}
.game-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.game-tab b{font-size:6px}.dispatch-mode{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#d8e3b9;border:3px solid #638063;padding:8px;font:7px/1.5 var(--pixel);color:#466b4e}.dispatch-mode button{font:7px/1.4 var(--pixel);background:#e8c877;border:2px solid #5b6a46;padding:8px;min-height:40px}.dispatch-planner{margin-top:10px}.planner-map{position:relative;overflow:hidden;border:3px solid #3b614b;background:#c5d79a;aspect-ratio:800/460}.planner-map #plannerMapArt,.planner-map #plannerPins{position:absolute;inset:0}.planner-map svg{display:block;width:100%;height:100%;image-rendering:pixelated}.planner-pin{position:absolute;transform:translate(-50%,-50%);background:#c9533d;border:2px solid #613e31;color:white;padding:4px 5px;font:8px var(--pixel);box-shadow:2px 2px #665b41}.planner-pin.shop{background:#3d7650;font-size:6px}.planner-pin.second{background:#296a8a}.planner-caption{font:7px/1.3 var(--pixel)!important;color:#728566!important;margin:7px 0 12px!important}.dispatch-planner h3{font:8px/1.5 var(--pixel);color:#506c4b;margin:12px 0 7px}.planner-guide{margin:0 0 7px!important}.planner-drivers,.planner-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.planner-choice{min-width:0;text-align:left;min-height:47px;padding:7px;border:2px solid #94a67d;background:#fff5d7;color:#355442;box-shadow:2px 2px #c9c7a1}.planner-choice strong,.planner-choice small{display:block;overflow-wrap:anywhere}.planner-choice strong{font:8px/1.4 var(--pixel)}.planner-choice small{font:16px/1 var(--body);margin-top:4px;color:#7a886a}.planner-choice.selected{background:#f2ce74;border-color:#a5543e}.planner-choice:disabled{opacity:.55}.planner-empty{grid-column:1/-1}.dispatch-eta{background:#e2e9be;border:2px solid #a5b18b;padding:7px;font:16px/1.1 var(--body);color:#466549}.dispatch-planner .button.wide{margin-top:9px}@media(max-width:720px){.game-tab b{font:14px/1 var(--body)}.dispatch-mode{font-size:6px}.planner-choice strong{font-size:7px}.planner-map{min-height:175px}.planner-drivers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:370px){.game-tab b{font-size:12px}.planner-orders{grid-template-columns:1fr}}
.planner-swap{margin:8px 0 2px;border:2px solid #668164;background:#d8e6ba;color:#3c6147;padding:7px 10px;font:7px/1.4 var(--pixel);min-height:38px}.planner-swap:disabled{opacity:.45}
.control-column.view-dispatch .strategy-dashboard{display:none}
/* One map and a quieter, task-first control deck. */
.game-layout{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)}.world-column{position:sticky;top:10px;align-self:start}.control-column{padding-top:15px}.game-tabs{gap:3px;margin-bottom:0}.game-tab{height:54px;background:#66876b;box-shadow:none;border-width:2px;color:#f3ebcc}.game-tab.active{background:#f3d27a;color:#264836;border-bottom:3px solid #f3d27a}.game-tab b{font:7px/1 var(--pixel)}.screen-panel{background:#f2e8c8;border-width:3px;padding:16px;box-shadow:3px 3px #a8b59a;min-height:320px}.screen-heading{margin-bottom:12px}.strategy-dashboard{box-shadow:none;border:0;background:transparent;margin:0;padding:0}.strategy-title{padding-top:12px}.threat-card,.strategy-card,.order-card,.dispatch-planner{box-shadow:none}.strategy-actions{margin-top:8px}.screen-panel .subpanel{background:#f8efd4}.dispatch-planner{border:0;background:transparent;padding:0;margin:12px 0 0;box-shadow:none}.dispatch-mode{background:#dce7c3;border:0;border-left:4px solid #71946b}.dispatch-planner h3{margin:16px 0 8px}.planner-choice{box-shadow:none;border:2px solid #a5b397;min-height:52px}.planner-choice.selected{border-color:#b95d3e;background:#f6d787}.dispatch-eta{border:0;border-left:3px solid #8fab78}.route-note{background:#e1eac7;padding:8px 10px;font:17px/1.1 var(--body);color:#4f6d51}.map-plan-guide{margin:0;border:3px solid #315340;border-top:0;background:#f7e6b4;color:#4d6a4f;padding:6px 9px;font:7px/1.5 var(--pixel)}.map-pin-button.route-stop-1::before{background:#ca503b;color:#fff5d1;border-color:#6b362d}.map-pin-button.route-stop-2::before{background:#337d9b;color:#fff;border-color:#26546b}.market-details{margin-top:14px;border-top:2px solid #b9bf9d;padding-top:10px}.market-details summary{cursor:pointer;min-height:42px;display:flex;align-items:center;color:#526f51;font:8px/1.5 var(--pixel)}.market-details summary:before{content:'▸';margin-right:8px}.market-details[open] summary:before{content:'▾'}
@media(max-width:950px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(350px,.95fr)}}
@media(max-width:720px){.game-layout{display:flex}.world-column{position:static;padding:7px 8px 0}.control-column{padding:8px 8px 16px}.game-tabs{gap:2px}.game-tab{height:48px;min-height:48px}.game-tab b{font:15px/1 var(--body)}.screen-panel{padding:12px;min-height:0}.world-column .map-wrap{height:clamp(170px,49vw,235px)}.routing-mode .world-column{position:sticky;top:98px;z-index:20;background:#dcd9b9;padding-bottom:6px;box-shadow:0 4px 0 #84987e}.routing-mode .daily-event,.routing-mode .dispatch-bar,.routing-mode .shop-details,.routing-mode .local-ticker{display:none}.routing-mode .world-column .map-wrap{height:clamp(145px,40vw,175px)}.routing-mode .live-header{padding:4px 7px}.routing-mode .map-plan-guide{font:6px/1.35 var(--pixel);padding:5px 7px}.planner-orders{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-choice{min-height:48px}.strategy-dashboard{padding:0}.cast-scene{min-height:91px}}
@media(max-width:370px){.game-tab b{font-size:13px}.planner-orders{grid-template-columns:1fr}}
.shop-alert{display:block;width:100%;text-align:left;min-height:38px;margin:0 0 8px;padding:7px 10px;background:#f4d2a8;border:2px solid #ad6345;color:#814632;font:7px/1.5 var(--pixel)}.shop-mode .shop-alert{display:none}.routing-mode .shop-alert{display:none}
.branch-card{border-color:#9b784a;background:#f2d9a3}.branch-card h3{color:#95503a}.branch-card p{font:18px/1.1 var(--body);color:#61785c;margin:5px 0}.branch-card .button{justify-content:center}.branch-pin{background:#785a87}.score-preview{margin-top:14px;padding:10px;border:3px solid #4d7051;background:#e0eac5}.score-preview>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.score-preview>div:first-child span{font:8px/1.4 var(--pixel);color:#476747}.score-preview>div:first-child small{font:15px var(--body);color:#718467}.score-preview-list{font:18px/1.1 var(--body);color:#5d7658;margin:7px 0}.score-preview-list>div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dotted #aebd95}.score-preview-list span{overflow-wrap:anywhere}.score-preview-list strong{color:#bd543d}.score-preview button{width:100%;min-height:40px;border:2px solid #5b7757;background:#f3d27a;color:#405e41;font:7px/1.4 var(--pixel)}@media(max-width:720px){.score-preview>div:first-child span{font-size:7px}.score-preview{padding:8px}}
.rush-banner{margin:0 0 8px;background:#bd563e;color:#fff1ca;border:2px solid #713f32;padding:8px;font:8px/1.4 var(--pixel)}@media(max-width:720px){.rush-banner{font-size:7px}}
.order-button.decline-button{font-size:7px;color:#a3533e;background:#f6e5cb;border-color:#b9997b;padding:7px 5px}@media(max-width:720px){.order-button.decline-button{font:15px var(--body)}}
.attention-bar{width:100%;text-align:left;min-height:40px;margin:0 0 8px;padding:7px 9px;background:#f6dd9b;border:2px solid #ab8150;color:#7a5335;font:7px/1.5 var(--pixel)}.score-owner{background:#e1eac8;border-left:3px solid #7c9a6c;padding:7px;font:8px/1.5 var(--pixel)!important;color:#4b6b4c!important}.name-dialog .dialog-note strong{color:#b24e38;font:8px/1.5 var(--pixel)}@media(max-width:720px){.attention-bar{font-size:6px}}
.profile-legacy{background:#f1dbb3;border-left:3px solid #ad6b47;padding:8px;font:18px/1.1 var(--body)!important;color:#825f43!important}

/* Pizza workshop */
.recipe-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:4px 0 11px}
.recipe-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;text-align:left;min-height:52px;padding:8px;background:#e8dfbb;border:2px solid #a3ad87;color:#375840}
.recipe-choice span{font:7px var(--pixel);color:#a25e40}
.recipe-choice strong{font:19px/1 var(--body);overflow-wrap:anywhere}
.recipe-choice small{font:17px var(--body)}
.recipe-choice.selected{background:#f5d47d;border-color:#bd6042;box-shadow:2px 2px #c3b591}
.pizza-designer{background:#faf0d2;border:3px solid #75906b;padding:12px}
.design-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}
.design-title strong,.design-title span{display:block}
.design-title strong{font:9px/1.5 var(--pixel);margin-top:3px}
.design-lock{font:7px/1.4 var(--pixel);color:#a55b3c;text-align:right}
.pizza-designer>label{display:block;font:7px/1.4 var(--pixel);color:#607855;margin:5px 0}
.recipe-name-input{width:100%;min-height:43px;padding:7px 9px;border:2px solid #92a37c;background:#fff9e6;color:#294637;font:22px var(--body)}
.design-workspace{display:grid;grid-template-columns:minmax(120px,0.75fr) minmax(0,1.25fr);gap:12px;align-items:center;margin:14px 0}
.design-workspace h3{font:7px/1.4 var(--pixel);color:#567653;margin:0}
.designer-hint{font:16px/1.05 var(--body);color:#708066;margin:5px 0 8px}
.pizza-drawing-wrap{text-align:center;min-width:0}
.pizza-drawing-wrap>small{display:block;font:6px/1.5 var(--pixel);color:#8a7954;margin-top:8px}
.pizza-surface{position:relative;width:min(100%,180px);aspect-ratio:1;border-radius:50%;margin:auto;background:#d99b4f;border:7px solid #85572d;box-shadow:inset 0 0 0 5px #f3ca7e,3px 4px 0 #c7ba91;overflow:hidden}
.pizza-surface:before{content:'';position:absolute;inset:10%;border-radius:50%;background:#edbd72}
.pizza-surface.has-sauce:before{background:#cb5941}
.pizza-surface.has-cheese:after{content:'';position:absolute;inset:15%;border-radius:50%;background:#f6d977;border:4px dotted #e7b353}
.pizza-surface.drag-target{outline:4px dashed #c95c3c;outline-offset:4px}
#pizzaArt{position:absolute;inset:0;z-index:1;pointer-events:none}
#pizzaArt i{position:absolute;display:block}
#pizzaArt .pep{width:17%;height:17%;border:2px solid #9d4437;background:#c64c39;border-radius:50%;box-shadow:inset 2px 2px #e97852}
.p1{left:29%;top:25%}.p2{right:24%;top:30%}.p3{left:26%;bottom:24%}.p4{right:29%;bottom:22%}
#pizzaArt .veg{width:15%;height:7%;border:2px solid #467647;background:#72a858;transform:rotate(-24deg)}
.v1{left:45%;top:24%}.v2{left:17%;top:48%}.v3{right:16%;top:53%}.v4{left:43%;bottom:20%}
.ingredient-controls{display:grid;gap:5px}
.ingredient-choice{display:flex;align-items:center;gap:7px;text-align:left;min-height:47px;padding:5px 7px;border:2px solid #b6bd9c;background:#fff8e3;color:#3c5c42}
.ingredient-choice.chosen{background:#dfebc7;border-color:#7f9c70}
.ingredient-choice .ingredient-icon{width:28px;height:28px;flex:0 0 28px}
.ingredient-choice .ingredient-icon svg{width:100%;height:100%}
.ingredient-choice>span:nth-child(2){flex:1;min-width:0}
.ingredient-choice strong,.ingredient-choice small{display:block}
.ingredient-choice strong{font:19px/1 var(--body)}
.ingredient-choice small{font:13px/1 var(--body);color:#728165;margin-top:2px}
.ingredient-choice b{font:15px var(--body);color:#648959}
.price-line{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:2px dashed #c4c6a2;padding-top:10px;color:#526e4c;font:7px/1.5 var(--pixel)}
.price-line small{display:block;font:15px var(--body);color:#7d8b6c}
.price-line .price-adjust{display:flex;align-items:center;gap:4px}
.price-line .price-adjust strong{min-width:47px;text-align:center;font:11px var(--pixel)}
.price-line .price-adjust button{min-height:42px;min-width:42px}
.recipe-economics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#c0c6a1;border:2px solid #c0c6a1;margin-top:10px}
.recipe-economics div{background:#e9edce;padding:8px}
.recipe-economics span,.recipe-economics strong{display:block}
.recipe-economics span{font:6px/1.5 var(--pixel);color:#6b805f}
.recipe-economics strong{font:22px/1 var(--body);color:#35603e;margin-top:3px}
.recipe-market{border-left:4px solid #c75c40;background:#f3dfb3;padding:10px;margin:12px 0}
.recipe-market .market-kicker{display:block;font:7px/1.5 var(--pixel);color:#a8523b}
.recipe-market strong{display:block;font:23px/1 var(--body);color:#365b40;margin-top:5px}
.recipe-market p{font:17px/1.08 var(--body);color:#6c795b;margin:5px 0 0}
#menuOpenShift{justify-content:center;margin-top:10px}
#loadMoreScores{margin:7px 0}
@media(max-width:720px){body.prep-mode .control-column{order:-1}.recipe-picker{gap:5px}.recipe-choice{min-height:48px;padding:6px}.recipe-choice strong{font-size:17px}.pizza-designer{padding:9px}.design-workspace{grid-template-columns:minmax(100px,.68fr) minmax(0,1.32fr);gap:9px}.pizza-surface{border-width:5px}.pizza-surface:before{inset:9%}.ingredient-choice{min-height:45px}.ingredient-choice strong{font-size:18px}.ingredient-choice small{font-size:12px}.recipe-market p{font-size:16px}}
@media(max-width:360px){.design-workspace{grid-template-columns:1fr}.pizza-surface{width:125px}.ingredient-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-choice .ingredient-icon{display:none}}
.trophy-button{width:auto;min-width:95px;padding:0 8px;flex-direction:row;gap:5px}.trophy-button small{font:16px/1 var(--body);white-space:nowrap}
@media(max-width:720px){.trophy-button{min-width:80px}.trophy-button small{font-size:14px}}

/* Reset and recipe naming controls */
#resetBtn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1}
#resetBtn small{font:12px/1 var(--body)}
.recipe-name-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 0 5px}
.recipe-name-heading label{font:7px/1.5 var(--pixel);color:#607855}
.recipe-name-heading label span{display:block;margin-top:3px;color:#a55b3c;font-size:6px}
.recipe-name-heading button{min-height:40px;padding:5px 8px;border:2px solid #7e936d;background:#e4ebcc;color:#3b6144;font:16px/1 var(--body)}
.recipe-name-hint{margin:5px 0 0;color:#718066;font:16px/1.1 var(--body)}
@media(max-width:720px){.recipe-name-heading button{min-height:44px}.recipe-name-hint{font-size:15px}}

/* A quieter workshop: pizza first, six large ingredient tiles, three decisions. */
.pizza-designer{background:#fff3d3;border-color:#638262;box-shadow:3px 3px 0 #bac09a}
.design-title{border-bottom:2px dashed #c6c6a0;padding-bottom:9px;margin-bottom:0}
.design-workspace{grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr);gap:15px;margin:16px 0 14px}
.recipe-identity{min-width:0}.recipe-name-input{font-size:21px;border-color:#9aa77b;box-shadow:inset 0 2px 0 #eee5c2}
.recipe-name-input:focus-visible{outline:3px solid #d99049;outline-offset:2px}
.recipe-name-hint{font-size:16px;line-height:1.15;margin:6px 0}
.auto-name-button{min-height:40px;border:0;border-bottom:2px solid #91a179;background:transparent;color:#4a7050;font:16px/1 var(--body);padding:5px 0}
.auto-name-button:disabled{opacity:.5}
.pizza-surface{width:min(100%,160px);background-color:#d89a4d;box-shadow:inset 0 0 0 5px #f4cb7d,0 5px 0 #ad8850,0 10px 0 #e0d4ae}
.pizza-surface:before{background-image:radial-gradient(circle at 25% 30%,#bf844d 0 2px,transparent 3px),radial-gradient(circle at 70% 65%,#bf844d 0 2px,transparent 3px)}
.pizza-surface.has-cheese:after{background:radial-gradient(circle at 24% 28%,#e9b85a 0 3px,transparent 4px),radial-gradient(circle at 65% 67%,#e5ac4b 0 3px,transparent 4px),#f6d977}
.pizza-drawing-wrap>small{margin-top:17px;font-size:6px;color:#9a6c42}
.toppings-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 7px}
.toppings-heading h3{margin:0;font:7px/1.4 var(--pixel);color:#486a4c;white-space:nowrap}
.toppings-heading p{margin:0;font:15px/1 var(--body);text-align:right}
.ingredient-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ingredient-choice{min-width:0;min-height:54px;padding:7px;background:#faf5df;border-color:#c3c8a5;box-shadow:0 2px 0 #d5d5af;transition:background-color .12s,border-color .12s}
.ingredient-choice.chosen{background:#dfebc4;border-color:#72916a;box-shadow:0 2px 0 #9eaf85}
.ingredient-choice:active{transform:translateY(1px)}
.ingredient-choice strong{font-size:19px;line-height:1}.ingredient-choice small{font-size:14px;line-height:1.1}
.ingredient-choice .ingredient-icon{width:26px;height:26px;flex-basis:26px}.ingredient-choice b{margin-left:auto}
.recipe-kitchen-note{font:16px/1.15 var(--body);color:#7d7655;min-height:2.3em;margin:10px 0}
#pizzaArt .mush{width:17%;height:12%;background:#c49a76;border:2px solid #77523d;border-radius:60% 60% 15% 15%;z-index:3;transform:rotate(-15deg)}
#pizzaArt .mush:after{content:'';position:absolute;width:32%;height:80%;top:75%;left:29%;background:#f2e0b9;border:1px solid #77523d}
.m1{left:20%;top:35%}.m2{right:24%;top:22%}.m3{right:30%;bottom:27%}
#pizzaArt .pine{width:11%;height:13%;background:#ffd962;border:2px solid #cb8b32;box-shadow:inset 2px 1px #fff0a4;transform:rotate(25deg);z-index:4}
.n1{left:40%;top:18%}.n2{right:20%;top:45%}.n3{left:23%;bottom:23%}.n4{left:45%;bottom:17%}
.recipe-economics{grid-template-columns:repeat(3,minmax(0,1fr));border-color:#a9b68e;background:#a9b68e;gap:2px}
.recipe-economics div{padding:9px 7px;background:#e8edcc;min-width:0}
.recipe-economics strong{font:25px/1 var(--body)}.recipe-economics small{display:block;color:#788368;font:14px/1.1 var(--body);margin-top:3px}
.negative-margin strong{color:#b44e3b!important}
.recipe-market{background:#f4dfae;border-left-width:3px;padding:10px}
.recipe-market strong{font-size:23px}.recipe-market p{line-height:1.15}
.market-method summary{font:15px/1.2 var(--body);cursor:pointer;margin-top:8px;color:#85633d;min-height:28px;padding-top:5px}
.market-method[open] summary{margin-bottom:5px}
.shift-report{max-height:88dvh;overflow:auto}
.report-result{background:#efdfb7;border:2px solid #b8a87b;padding:10px;font:20px/1.15 var(--body)!important}
.report-result.won{background:#e0e9ba;border-color:#709068;color:#3f6747}
.shift-report .report-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.report-highlights>div{padding:11px 7px;min-width:0;text-align:center}
.report-highlights span{font:6px/1.5 var(--pixel)}.report-highlights strong{font:27px/1.2 var(--body)}
.report-ledger{margin:8px 0 14px;border-top:2px dashed #c4bd91}
.report-ledger summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:16px var(--body);color:#6d7e5b}
.report-ledger summary:before{content:'+';margin-right:8px;color:#a65d40}.report-ledger[open] summary:before{content:'−'}
.report-ledger .report-stats>div{padding:7px}.report-ledger .report-stats strong{font:20px var(--body)}
.score-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:#718466;font:15px var(--body)}
.score-toolbar button{min-height:40px;border:2px solid #90a178;background:#e9e6bc;color:#426c48;padding:6px 9px;font:16px var(--body)}
@media(max-width:720px){
  .hud-actions{display:grid;grid-template-columns:minmax(74px,1.6fr) repeat(5,minmax(0,1fr));gap:4px}
  .hud-actions .icon-button{width:100%;min-width:0}.trophy-button small{font-size:13px}
  .design-workspace{grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr);gap:12px;margin-top:12px}
  .pizza-surface{width:min(100%,145px)}.recipe-identity .recipe-name-input{font-size:20px;min-width:0}
  .recipe-name-hint{font-size:15px}.auto-name-button{min-height:44px;font-size:15px}
  .ingredient-choice{padding:6px;min-height:52px;gap:6px}.ingredient-choice strong{font-size:18px}.ingredient-choice small{font-size:13px}
  .toppings-heading h3{font-size:6px}.toppings-heading p{font-size:14px}
  .recipe-economics span{font-size:5px}.recipe-economics small{font-size:13px}.recipe-economics strong{font-size:24px}
}
@media(max-width:370px){.ingredient-choice .ingredient-icon{display:block;width:21px;height:21px;flex-basis:21px}.ingredient-choice b{display:none}.ingredient-choice strong{font-size:17px}.toppings-heading{align-items:center}.toppings-heading p{max-width:155px}.design-workspace{grid-template-columns:90px minmax(0,1fr);gap:9px}.recipe-identity .recipe-name-input{font-size:18px;padding:7px 6px}.recipe-name-hint{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ingredient-choice{transition:none}.ingredient-choice:active{transform:none}}

/* Recipe timing stays one tap away from the workshop total. */
.bake-details{border-bottom:1px solid #c4c6a2;margin:4px 0 8px;color:#526e4c}
.bake-details summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font:16px/1.1 var(--body)}
.bake-details summary:before{content:'+';color:#a65d40}.bake-details[open] summary:before{content:'−'}
.bake-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font:17px/1.1 var(--body)}
.bake-breakdown b{white-space:nowrap;font-weight:normal;color:#315a3c}.bake-breakdown .bake-total{border-top:1px dashed #a8b58e;margin-top:4px;padding-top:7px}
.bake-breakdown .bake-total b{font-weight:bold}.bake-details>p{font:15px/1.15 var(--body);color:#788368;margin:8px 0 12px}

/* One named player, one seven-day game. */
.challenge-progress{padding-top:3px;padding-bottom:3px}
.player-name-button{display:flex;align-items:center;gap:9px;background:transparent;border:0;padding:0 2px;min-height:34px;color:inherit;text-align:left;min-width:0}
.player-name-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.player-name-button small{font:14px var(--body);text-decoration:underline;opacity:.8}
.player-name-button:disabled small{display:none}.player-name-button:focus-visible{outline:2px solid #f3cd73;outline-offset:3px}
@media(max-width:720px){.player-name-button{min-height:44px}.player-name-button strong{max-width:125px}.challenge-progress{gap:8px}}

/* Status colours identify the timer stage; labels and deadline warnings remain readable without colour. */
.status-ordered{--stage:#566d63;--stage-soft:#dfe8dc}
.status-baking{--stage:#a9542d;--stage-soft:#f8dfc4}
.status-ready{--stage:#397849;--stage-soft:#dbebcb}
.status-pickup{--stage:#70518e;--stage-soft:#e8ddf1}
.status-delivery{--stage:#28758b;--stage-soft:#cfe8eb}
.order-stage{background:var(--stage-soft);color:var(--stage);border-left:3px solid var(--stage);padding:4px 6px;font:16px/1.05 var(--body)}
.order-deadline{white-space:nowrap;color:#536a53;font:16px/1 var(--body)}.order-deadline.is-urgent{font-weight:bold;color:#a73d2c}
.order-card .patience-fill,.order-card .patience-fill.warn{background:var(--stage)}
.planner-choice[class*="status-"]{border-left:4px solid var(--stage)}
.map-pin-button[class*="status-"]:not(.selected):not(.route-stop)::before{background:var(--stage);color:#fff9e2}
@media(max-width:720px){.order-meta{gap:6px}.order-stage,.order-deadline{font-size:15px}}

/* Shop borders match the green Main and purple Abacoa map markers. */
.shop-main{--shop-color:#3d7650;--shop-soft:#deead3}
.shop-branch{--shop-color:#785a87;--shop-soft:#eadfec}
.order-card[class*="shop-"]{border-color:var(--shop-color)}
.order-card[class*="shop-"].selected{outline:2px solid #e4b858;outline-offset:1px}
.order-card[class*="shop-"] .ticket-tag{border-left:3px solid var(--shop-color);background:var(--shop-soft);color:var(--shop-color);padding:3px 5px}
.planner-choice[class*="shop-"]{border-top-color:var(--shop-color);border-right-color:var(--shop-color);border-bottom-color:var(--shop-color)}
.shop-demand{font:16px/1.2 var(--body);color:#506c51;background:#e0e9cf;padding:7px;margin:0 0 8px}
.reassign-panel{border-bottom:2px solid #c2c8a5;margin:4px 0 12px}.reassign-panel summary{min-height:44px;display:flex;align-items:center;gap:7px;cursor:pointer;color:#496c4c;font:16px var(--body)}
.reassign-panel summary:before{content:'+';color:#a65d40}.reassign-panel[open] summary:before{content:'−'}
.reassign-panel p{margin:2px 0 8px;font:16px/1.15 var(--body);color:#718066}.reassign-actions{display:flex;gap:6px;margin-bottom:10px}
.reassign-actions button{flex:1;min-height:44px;padding:6px;background:#e1e9c6;border:2px solid #78936b;color:#385c40;font:15px/1 var(--body)}
.reassign-actions button:disabled{opacity:.45}.reassign-actions button:focus-visible{outline:3px solid #d99049;outline-offset:2px}
