Pizza Sim — Branching Problems /* ── ONBOARDING OVERLAY ─────────────────────────────── */ .ob-overlay{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;overflow-y:auto;animation:fi .3s ease;} .ob-overlay.ob-hidden{display:none;} .ob-shell{width:100%;max-width:680px;margin:0 auto;} .ob-progress{display:flex;gap:5px;margin-bottom:32px;justify-content:center;} .ob-pip{height:3px;width:32px;border-radius:2px;background:var(--bd);transition:background .3s ease;} .ob-pip.done{background:var(--ac2);} .ob-pip.active{background:var(--ac);} .ob-screen{display:none;animation:fi .25s ease;} .ob-screen.active{display:block;} .ob-eyebrow{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--ac);margin-bottom:12px;} .ob-h1{font-family:'Playfair Display',serif;font-size:2rem;line-height:1.2;color:var(--tx);margin-bottom:10px;} .ob-sub{font-size:.88rem;color:var(--tx2);line-height:1.7;margin-bottom:24px;} .ob-grid{display:grid;gap:10px;margin-bottom:24px;} .ob-grid-2{grid-template-columns:1fr 1fr;} .ob-grid-3{grid-template-columns:1fr 1fr 1fr;} @media(max-width:520px){.ob-grid-2,.ob-grid-3{grid-template-columns:1fr;}} .ob-card{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:16px 18px;} .ob-card-label{font-family:'DM Mono',monospace;font-size:.56rem;letter-spacing:.9px;text-transform:uppercase;color:var(--tx3);margin-bottom:5px;} .ob-card-val{font-family:'DM Mono',monospace;font-size:1.1rem;color:var(--ac2);} .ob-card-desc{font-size:.73rem;color:var(--tx3);margin-top:4px;line-height:1.5;} .ob-card.accent{border-color:var(--ac);background:rgba(232,98,42,.06);} .ob-card.good{border-color:rgba(94,168,94,.35);background:rgba(94,168,94,.06);} .ob-card.bad{border-color:rgba(204,68,68,.35);background:rgba(204,68,68,.06);} .ob-card.warn{border-color:rgba(212,146,10,.35);background:rgba(212,146,10,.06);} .ob-card.info{border-color:rgba(91,159,196,.35);background:rgba(91,159,196,.06);} .ob-rule{margin:20px 0;display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--sf2);border-left:3px solid var(--ac2);border-radius:0 8px 8px 0;} .ob-rule-icon{font-size:1.3rem;flex-shrink:0;margin-top:1px;} .ob-rule-body{font-size:.8rem;color:var(--tx2);line-height:1.6;} .ob-rule-body strong{color:var(--tx);display:block;margin-bottom:3px;font-size:.83rem;} .ob-pl{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:16px 18px;margin-bottom:20px;font-family:'DM Mono',monospace;font-size:.78rem;} .ob-pl-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--bd2);} .ob-pl-row:last-child{border-bottom:none;font-weight:600;color:var(--ac2);padding-top:9px;margin-top:3px;} .ob-pl-row.neg{color:var(--bad);} .ob-pl-row.sub{color:var(--tx3);font-size:.7rem;padding-left:12px;} .ob-pl-row.sect{color:var(--tx3);font-size:.64rem;text-transform:uppercase;letter-spacing:.7px;padding-top:10px;border-bottom:none;} .ob-choice-demo{background:var(--sf);border:1px solid var(--bd);border-radius:10px;overflow:hidden;margin-bottom:20px;} .ob-choice-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--bd2);cursor:default;transition:background .15s;} .ob-choice-row:last-child{border-bottom:none;} .ob-choice-row.good-row{background:rgba(94,168,94,.06);border-left:3px solid var(--gd);} .ob-choice-row.neutral-row{background:rgba(212,146,10,.06);border-left:3px solid var(--nt);} .ob-choice-row.bad-row{background:rgba(204,68,68,.06);border-left:3px solid var(--bad);} .ob-choice-ltr{font-family:'DM Mono',monospace;font-size:.8rem;font-weight:700;width:20px;flex-shrink:0;} .ob-choice-ltr.gd{color:var(--gd);}.ob-choice-ltr.nt{color:var(--nt);}.ob-choice-ltr.bd{color:var(--bad);} .ob-choice-text{font-size:.8rem;color:var(--tx2);flex:1;line-height:1.4;} .ob-choice-tag{font-family:'DM Mono',monospace;font-size:.6rem;padding:2px 8px;border-radius:10px;border:1px solid;flex-shrink:0;} .ob-choice-tag.gd{background:rgba(94,168,94,.1);color:var(--gd);border-color:rgba(94,168,94,.3);} .ob-choice-tag.nt{background:rgba(212,146,10,.1);color:var(--nt);border-color:rgba(212,146,10,.3);} .ob-choice-tag.bd{background:rgba(204,68,68,.1);color:var(--bad);border-color:rgba(204,68,68,.3);} .ob-timeline{display:flex;flex-direction:column;gap:0;margin-bottom:20px;} .ob-tl-row{display:flex;gap:14px;align-items:flex-start;} .ob-tl-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0;} .ob-tl-line{width:1px;background:var(--bd);margin:2px 0 2px 4px;height:28px;} .ob-tl-body{padding-bottom:16px;} .ob-tl-label{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.6px;} .ob-tl-text{font-size:.78rem;color:var(--tx2);line-height:1.5;margin-top:2px;} .ob-math{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:14px 16px;font-family:'DM Mono',monospace;font-size:.8rem;margin-bottom:16px;text-align:center;line-height:2;} .ob-math .hi{color:var(--ac2);font-size:1.05rem;} .ob-math .dim{color:var(--tx3);} .ob-math .bad{color:var(--bad);} .ob-math .gd{color:var(--gd);} .ob-nav{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:28px;} .ob-btn{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.6px;text-transform:uppercase;padding:11px 22px;border-radius:6px;border:none;cursor:pointer;transition:all .15s;} .ob-btn-next{background:var(--ac);color:#fff;} .ob-btn-next:hover{background:var(--ac3);} .ob-btn-prev{background:var(--sf2);border:1px solid var(--bd);color:var(--tx3);} .ob-btn-prev:hover{color:var(--tx2);} .ob-btn-skip{background:none;border:none;color:var(--tx3);font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;padding:4px 0;} .ob-btn-skip:hover{color:var(--tx2);} .ob-btn-start{background:var(--ac2);color:#111;font-size:.78rem;padding:13px 30px;} .ob-btn-start:hover{background:#e8a000;} .ob-divider{height:1px;background:var(--bd2);margin:18px 0;} .ob-insight{display:flex;gap:10px;margin-bottom:12px;} .ob-insight-icon{font-size:1rem;flex-shrink:0;margin-top:2px;} .ob-insight-text{font-size:.78rem;color:var(--tx2);line-height:1.6;} .ob-insight-text strong{color:var(--ac2);} .ob-tab-demo{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;} .ob-tab-demo-btn{font-family:'DM Mono',monospace;font-size:.61rem;padding:5px 10px;border-radius:5px;border:1px solid var(--bd);background:var(--sf2);color:var(--tx3);letter-spacing:.4px;} .ob-tab-demo-btn.act{border-color:var(--ac2);color:var(--ac2);background:rgba(240,165,0,.08);} /* ── REFERENCE PANEL ─────────────────────────────── */ .ref-overlay{position:fixed;inset:0;z-index:190;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;} .ref-overlay.ref-hidden{display:none;} .ref-header{background:var(--sf);border-bottom:1px solid var(--bd);padding:16px 20px;display:flex;align-items:center;gap:14px;flex-shrink:0;} .ref-title{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--ac2);flex:1;} .ref-search-wrap{position:relative;flex:1;max-width:340px;} .ref-search{width:100%;background:var(--sf2);border:1px solid var(--bd);border-radius:6px;padding:8px 12px 8px 34px;font-family:'DM Mono',monospace;font-size:.74rem;color:var(--tx);outline:none;} .ref-search:focus{border-color:var(--ac2);} .ref-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:.8rem;pointer-events:none;} .ref-close{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.5px;text-transform:uppercase;background:var(--sf2);border:1px solid var(--bd);color:var(--tx3);padding:7px 14px;border-radius:5px;cursor:pointer;} .ref-close:hover{color:var(--tx2);} .ref-body{display:flex;flex:1;overflow:hidden;} .ref-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--bd);overflow-y:auto;padding:12px 0;background:var(--sf);} .ref-topic-btn{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;padding:9px 16px;cursor:pointer;text-align:left;transition:background .12s;} .ref-topic-btn:hover{background:var(--sf2);} .ref-topic-btn.active{background:var(--sf2);border-right:2px solid var(--ac2);} .ref-topic-icon{font-size:1rem;flex-shrink:0;} .ref-topic-name{font-family:'DM Mono',monospace;font-size:.63rem;letter-spacing:.4px;color:var(--tx2);} .ref-topic-btn.active .ref-topic-name{color:var(--ac2);} .ref-count{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);margin-left:auto;} .ref-content{flex:1;overflow-y:auto;padding:22px 24px;} .ref-section{display:none;} .ref-section.active{display:block;animation:fi .15s ease;} .ref-section-header{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--bd);} .ref-section-icon{font-size:1.4rem;} .ref-section-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--tx);} .ref-section-count{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--tx3);background:var(--sf2);border:1px solid var(--bd);padding:2px 8px;border-radius:10px;} .ref-term{border:1px solid var(--bd);border-radius:8px;margin-bottom:10px;overflow:hidden;cursor:pointer;} .ref-term-head{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:var(--sf);transition:background .12s;} .ref-term-head:hover{background:var(--sf2);} .ref-term-name{font-family:'DM Mono',monospace;font-size:.8rem;color:var(--tx2);font-weight:500;} .ref-term-chevron{font-size:.7rem;color:var(--tx3);transition:transform .2s;} .ref-term.open .ref-term-chevron{transform:rotate(90deg);} .ref-term.open .ref-term-head{background:var(--sf2);border-bottom:1px solid var(--bd2);} .ref-term-body{display:none;padding:13px 15px;background:var(--sf);font-size:.8rem;color:var(--tx2);line-height:1.7;} .ref-term.open .ref-term-body{display:block;animation:fi .12s ease;} .ref-term-accent{border-left:3px solid var(--ac2);} .ref-search-results{padding:4px 0;} .ref-sr-item{padding:11px 15px;border:1px solid var(--bd);border-radius:8px;margin-bottom:8px;background:var(--sf);cursor:pointer;} .ref-sr-item:hover{background:var(--sf2);} .ref-sr-topic{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;} .ref-sr-term{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--ac2);margin-bottom:5px;} .ref-sr-def{font-size:.75rem;color:var(--tx3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;} .ref-empty{text-align:center;padding:60px 20px;color:var(--tx3);font-family:'DM Mono',monospace;font-size:.75rem;} @media(max-width:600px){.ref-sidebar{width:52px;}.ref-topic-name,.ref-count{display:none;}.ref-topic-btn{justify-content:center;}.ref-content{padding:16px 14px;}} .cat-chip{padding:2px 6px;background:var(--sf3);border:1px solid var(--bd2);border-radius:10px;font-size:.63rem;color:var(--tx3);} .cat-chip.cur{background:var(--sf2);color:var(--tx2);border-color:var(--bd);} .progress-bar-wrap{height:3px;background:var(--sf3);width:100%;} .progress-bar-fill{height:3px;background:var(--ac);transition:width .4s ease;border-radius:0 2px 2px 0;} :root{--bg:#131009;--sf:#1e1608;--sf2:#261d0b;--sf3:#2e230e;--bd:#4a3214;--bd2:#3a2610;--ac:#e8622a;--ac2:#f0a500;--ac3:#c94e1e;--tx:#f2e6ce;--tx2:#c4af8e;--tx3:#7a6548;--gd:#5ea85e;--bad:#cc4444;--nt:#d4920a;--bl:#5b9fc4;--pu:#9b6ec8;--tl:#3da88a;--pk:#c45b8a;} *{box-sizing:border-box;margin:0;padding:0;} body{background:var(--bg);color:var(--tx);font-family:'Libre Baskerville',Georgia,serif;min-height:100vh;background-image:radial-gradient(ellipse at 0% 0%,rgba(232,98,42,.06) 0%,transparent 55%);} .shell{display:flex;flex-direction:column;min-height:100vh;} .topbar{background:var(--sf);border-bottom:1px solid var(--bd);padding:14px 18px 0;position:sticky;top:0;z-index:50;} .topbar-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;} .logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--ac2);white-space:nowrap;} .logo span{color:var(--ac);font-size:.9rem;} .wbdg{font-family:'DM Mono',monospace;font-size:.65rem;background:var(--ac);color:#fff;padding:3px 10px;border-radius:20px;letter-spacing:1px;} .wbdg.hire{background:var(--bl);}.wbdg.location{background:var(--pu);} .msr{display:flex;gap:5px;flex-wrap:wrap;flex:1;justify-content:flex-end;} .ms{background:var(--sf2);border:1px solid var(--bd2);border-radius:5px;padding:4px 9px;min-width:70px;} .ms-l{font-family:'DM Mono',monospace;font-size:.55rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.7px;} .ms-v{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--ac2);} .ms.net .ms-v{color:var(--tl);}.ms.rat .ms-v{color:var(--gd);}.ms.staff .ms-v{color:var(--bl);}.ms.stores .ms-v{color:var(--pu);} .tnav{display:flex;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--bd2);} .tnav::-webkit-scrollbar{display:none;} .tbtn{font-family:'DM Mono',monospace;font-size:.64rem;color:var(--tx3);background:none;border:none;padding:9px 13px;cursor:pointer;white-space:nowrap;letter-spacing:.5px;text-transform:uppercase;border-bottom:2px solid transparent;transition:all .15s;} .tbtn:hover{color:var(--tx2);} .tbtn.active{color:var(--ac2);border-bottom-color:var(--ac2);} .tbtn.t-ops.active{color:var(--ac);border-bottom-color:var(--ac);} .tbtn.t-staff.active{color:var(--bl);border-bottom-color:var(--bl);} .tbtn.t-stores.active{color:var(--pu);border-bottom-color:var(--pu);} .tbtn.t-sup.active{color:var(--tl);border-bottom-color:var(--tl);} .tbtn.t-eq.active{color:var(--nt);border-bottom-color:var(--nt);} .tbtn.t-menu.active{color:var(--pk);border-bottom-color:var(--pk);} .tbtn.t-fin.active{color:var(--gd);border-bottom-color:var(--gd);} .tbtn.t-del.active{color:var(--bl);border-bottom-color:var(--bl);} .tbtn.t-mkt.active{color:var(--pu);border-bottom-color:var(--pu);} .main{flex:1;max-width:1020px;margin:0 auto;padding:20px 16px 60px;width:100%;} .panel{display:none;}.panel.active{display:block;animation:fi .2s ease;} @keyframes fi{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}} .cg{display:grid;gap:9px;margin-bottom:16px;} .cg2{grid-template-columns:1fr 1fr;}.cg3{grid-template-columns:repeat(3,1fr);}.cg4{grid-template-columns:repeat(4,1fr);} @media(max-width:680px){.cg4,.cg3{grid-template-columns:1fr 1fr;}}@media(max-width:420px){.cg2{grid-template-columns:1fr;}} .card{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:13px 15px;} .cl{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;} .cv{font-family:'DM Mono',monospace;font-size:1rem;color:var(--ac2);} .cs{font-size:.72rem;color:var(--tx3);margin-top:2px;} .sh{display:flex;align-items:center;gap:9px;margin-bottom:15px;padding-bottom:11px;border-bottom:1px solid var(--bd);} .sh h2{font-family:'Playfair Display',serif;font-size:1.2rem;} .shbdg{font-family:'DM Mono',monospace;font-size:.6rem;padding:2px 8px;border-radius:20px;letter-spacing:.7px;border:1px solid;} .dt{width:100%;border-collapse:collapse;font-size:.79rem;} .dt th{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.7px;padding:7px 10px;text-align:left;border-bottom:1px solid var(--bd);background:var(--sf2);} .dt td{padding:9px 10px;border-bottom:1px solid var(--bd2);vertical-align:top;} .dt tr:last-child td{border-bottom:none;}.dt tr:hover td{background:rgba(255,255,255,.01);} .mono{font-family:'DM Mono',monospace;} .dim{color:var(--tx3);font-size:.75rem;} .tag{display:inline-block;font-family:'DM Mono',monospace;font-size:.58rem;padding:2px 7px;border-radius:10px;border:1px solid;letter-spacing:.4px;} .tag.gd{background:rgba(94,168,94,.1);color:var(--gd);border-color:rgba(94,168,94,.28);} .tag.bad{background:rgba(204,68,68,.1);color:var(--bad);border-color:rgba(204,68,68,.28);} .tag.wn{background:rgba(212,146,10,.1);color:var(--nt);border-color:rgba(212,146,10,.28);} .tag.bl{background:rgba(91,159,196,.1);color:var(--bl);border-color:rgba(91,159,196,.28);} .tag.pu{background:rgba(155,110,200,.1);color:var(--pu);border-color:rgba(155,110,200,.28);} .tag.tl{background:rgba(61,168,138,.1);color:var(--tl);border-color:rgba(61,168,138,.28);} .tag.pk{background:rgba(196,91,138,.1);color:var(--pk);border-color:rgba(196,91,138,.28);} .tag.nt{background:rgba(255,255,255,.05);color:var(--tx3);border-color:var(--bd);} /* PROBLEM BOX */ .pb{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:22px 24px;margin-bottom:14px;} .pb.cat-supplier{border-left:3px solid var(--tl);}.pb.cat-analytical{border-left:3px solid var(--tl);}.pb.cat-analytical{border-left:3px solid var(--tl);}.ptag.cat-analytical{background:rgba(61,168,138,.18);color:var(--tl);border-color:rgba(61,168,138,.3);} .cat-staff{border-left:3px solid var(--bl);} .pb.cat-equipment{border-left:3px solid var(--nt);}.pb.cat-customer{border-left:3px solid var(--pk);} .pb.cat-operations{border-left:3px solid var(--pu);}.pb.cat-financial{border-left:3px solid var(--gd);} .pb.cat-hire{border-left:3px solid var(--bl);}.pb.cat-location{border-left:3px solid var(--pu);} .pb.cat-competition{border-left:3px solid var(--bad);} .chain-bar{display:flex;align-items:center;gap:6px;margin-bottom:10px;} .cpip{width:22px;height:3px;border-radius:2px;background:var(--bd);} .cpip.done{background:var(--gd);}.cpip.active{background:var(--ac2);} .chain-lbl{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--tx3);} .ptag{font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;} .ptag.cat-supplier{color:var(--tl);}.ptag.cat-staff{color:var(--bl);} .ptag.cat-equipment{color:var(--nt);}.ptag.cat-customer{color:var(--pk);} .ptag.cat-operations{color:var(--pu);}.ptag.cat-financial{color:var(--gd);} .ptag.cat-hire{color:var(--bl);}.ptag.cat-location{color:var(--pu);} .ptag.cat-competition{color:var(--bad);} .ptitle{font-family:'Playfair Display',serif;font-size:1.25rem;margin-bottom:10px;line-height:1.3;} .pbody{color:var(--tx2);font-size:.86rem;line-height:1.85;} .pbody .q{display:block;border-left:3px solid var(--ac);padding-left:12px;margin:10px 0;color:var(--tx);font-style:italic;} .pbody strong{color:var(--tx);} .pdata{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;background:var(--sf2);border:1px solid var(--bd);border-radius:7px;padding:12px;margin:11px 0;} @media(max-width:560px){.pdata{grid-template-columns:1fr 1fr;}} .pdl{font-family:'DM Mono',monospace;font-size:.57rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px;} .pdv{font-family:'DM Mono',monospace;font-size:.83rem;color:var(--ac2);} .pdv.tl{color:var(--tl);}.pdv.bl{color:var(--bl);}.pdv.bad{color:var(--bad);} /* CHOICES */ .choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px;} @media(max-width:540px){.choices{grid-template-columns:1fr;}} .cbtn{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:12px 14px;cursor:pointer;text-align:left;color:var(--tx);font-family:'Libre Baskerville',serif;font-size:.83rem;line-height:1.5;transition:all .15s;} .cbtn:hover:not(:disabled){border-color:var(--ac);background:rgba(232,98,42,.07);transform:translateY(-1px);} .cbtn:disabled{opacity:.4;cursor:default;transform:none;} .cltr{display:inline-block;width:20px;height:20px;background:var(--ac);color:#fff;border-radius:50%;text-align:center;line-height:20px;font-size:.65rem;font-family:'DM Mono',monospace;margin-right:7px;} .cat-supplier .cltr{background:var(--tl);}.cat-staff .cltr,.cat-hire .cltr{background:var(--bl);} .cat-equipment .cltr{background:var(--nt);}.cat-customer .cltr{background:var(--pk);} .cat-operations .cltr{background:var(--pu);}.cat-financial .cltr{background:var(--gd);} .cat-location .cltr{background:var(--pu);}.cat-competition .cltr{background:var(--bad);} .cbtn.sel-good{border-color:var(--gd);background:rgba(94,168,94,.08);} .cbtn.sel-bad{border-color:var(--bad);background:rgba(204,68,68,.08);} .cbtn.sel-neutral{border-color:var(--nt);background:rgba(212,146,10,.08);} .cbtn.reveal{border-color:var(--gd);opacity:.42;} /* RESULT */ .res{display:none;background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:18px 22px;margin-bottom:13px;} .res.show{display:block;animation:fi .3s ease;} .rbdg{font-family:'DM Mono',monospace;font-size:.62rem;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.7px;border:1px solid;} .rbdg.good{background:rgba(94,168,94,.14);color:var(--gd);border-color:var(--gd);} .rbdg.bad{background:rgba(204,68,68,.14);color:var(--bad);border-color:var(--bad);} .rbdg.neutral{background:rgba(212,146,10,.14);color:var(--nt);border-color:var(--nt);} .rtext{color:var(--tx2);font-size:.85rem;line-height:1.85;margin-top:9px;} .pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid var(--bd);} .pill{font-family:'DM Mono',monospace;font-size:.63rem;padding:2px 8px;border-radius:20px;border:1px solid;} .pill.pos{background:rgba(94,168,94,.1);color:var(--gd);border-color:rgba(94,168,94,.25);} .pill.neg{background:rgba(204,68,68,.1);color:var(--bad);border-color:rgba(204,68,68,.25);} .pill.neu{background:rgba(212,146,10,.1);color:var(--nt);border-color:rgba(212,146,10,.25);} /* RESOLVE BANNER */ .resolve{display:none;border-radius:8px;padding:14px 18px;margin-bottom:13px;} .resolve.show{display:block;animation:fi .4s ease;} .resolve.good{background:rgba(94,168,94,.07);border:1px solid rgba(94,168,94,.28);} .resolve.neutral{background:rgba(212,146,10,.07);border:1px solid rgba(212,146,10,.28);} .resolve.bad{background:rgba(204,68,68,.07);border:1px solid rgba(204,68,68,.28);} .resolve-title{font-family:'Playfair Display',serif;font-size:.98rem;margin-bottom:6px;} .resolve.good .resolve-title{color:var(--gd);}.resolve.neutral .resolve-title{color:var(--nt);}.resolve.bad .resolve-title{color:var(--bad);} .resolve-body{color:var(--tx2);font-size:.83rem;line-height:1.7;} /* NEXT BTN */ .nbtn{display:none;width:100%;padding:13px;background:var(--ac);color:#fff;border:none;border-radius:8px;font-family:'Playfair Display',serif;font-size:.92rem;cursor:pointer;transition:all .18s;margin-bottom:17px;} .nbtn:hover{background:var(--ac3);transform:translateY(-1px);} .nbtn.show{display:block;animation:fi .3s ease .18s both;} .nbtn.cont{background:var(--ac2);color:var(--bg);} /* MISC */ .info-box{background:rgba(91,159,196,.06);border:1px solid rgba(91,159,196,.18);border-radius:6px;padding:9px 13px;font-size:.76rem;color:var(--tx3);margin-bottom:13px;font-style:italic;} .info-box.red-box{background:rgba(255,85,85,.06);border-color:rgba(255,85,85,.25);} .divider{border:none;border-top:1px solid var(--bd);margin:16px 0;} .empty{text-align:center;padding:26px;color:var(--tx3);font-style:italic;font-size:.81rem;} .bar-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;} .bar-lbl{font-size:.69rem;color:var(--tx2);min-width:110px;} .bar-track{flex:1;height:5px;background:var(--sf3);border-radius:3px;overflow:hidden;} .bar-fill{height:100%;border-radius:3px;transition:width .4s;} .bar-val{font-family:'DM Mono',monospace;font-size:.67rem;color:var(--tx3);min-width:36px;text-align:right;} .spark-row{display:flex;align-items:flex-end;gap:3px;height:44px;margin-top:7px;} .sbar{flex:1;border-radius:2px 2px 0 0;background:var(--tl);opacity:.7;min-height:2px;} .sbar.neg{background:var(--bad);} .pl-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--bd2);font-size:.8rem;} .pl-row:last-child{border-bottom:none;} .pl-row.hdr{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);text-transform:uppercase;padding-top:11px;} .pl-row.tot{font-family:'DM Mono',monospace;color:var(--tl);border-top:1px solid var(--bd);padding-top:8px;margin-top:2px;} .pl-row.neg .pl-r{color:var(--bad);} .pl-l{color:var(--tx2);}.pl-r{font-family:'DM Mono',monospace;font-size:.79rem;color:var(--ac2);} .app-card{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;} .atog{font-family:'DM Mono',monospace;font-size:.62rem;padding:4px 10px;border-radius:4px;border:1px solid;cursor:pointer;background:none;transition:all .15s;} .atog.on{color:var(--gd);border-color:var(--gd);}.atog.off{color:var(--tx3);border-color:var(--bd);} .camp-card{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:12px 14px;margin-bottom:7px;} .go{display:none;text-align:center;padding:48px 18px;} .go.show{display:block;animation:fi .5s ease;} .go h2{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--ac2);margin-bottom:12px;} .go-stats{font-family:'DM Mono',monospace;font-size:.81rem;color:var(--tx2);line-height:2.1;margin-bottom:20px;} .rbtn{background:var(--ac);color:#fff;border:none;padding:12px 26px;border-radius:7px;font-family:'Playfair Display',serif;font-size:.92rem;cursor:pointer;} .rbtn:hover{background:var(--ac3);} .hi{display:flex;gap:9px;padding:8px 11px;border-bottom:1px solid var(--bd2);font-size:.76rem;} .hi:last-child{border-bottom:none;} .hi-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex-shrink:0;} .hi-dot.good{background:var(--gd);}.hi-dot.bad{background:var(--bad);}.hi-dot.neutral{background:var(--nt);} .hi-wk{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--ac);min-width:30px;} .hi-t{color:var(--tx2);line-height:1.5;} .store-card{background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:13px 15px;margin-bottom:9px;} .condpips{display:flex;gap:2px;margin-top:3px;} .condpip{width:10px;height:3px;border-radius:2px;background:var(--sf3);} .condpip.ex{background:var(--gd);}.condpip.go{background:var(--tl);}.condpip.fa{background:var(--nt);}.condpip.po{background:var(--bad);} /* ── MARKETING LEAD ENGINE ── */ .mkt-engine{background:var(--sf2);border:1px solid var(--bd);border-radius:10px;padding:16px;margin-bottom:14px;} .mkt-section-lbl{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.8px;text-transform:uppercase;color:var(--tx3);margin:14px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--bd);} .mkt-section-lbl:first-child{margin-top:0;} .ch-row{display:grid;grid-template-columns:130px 1fr 68px 72px;align-items:center;gap:10px;margin-bottom:10px;} .ch-label{font-size:.8rem;color:var(--tx1);} .ch-label span{display:block;font-size:.65rem;color:var(--tx3);margin-top:1px;} .ch-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--sf3);outline:none;cursor:pointer;} .ch-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--pu);cursor:pointer;border:2px solid var(--bg);} .ch-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--pu);cursor:pointer;border:2px solid var(--bg);} .ch-spend{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--tx2);text-align:right;} .ch-lift{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--gd);text-align:right;font-weight:600;} .ch-lift.zero{color:var(--tx3);font-weight:400;} .rat-track{height:8px;border-radius:4px;background:linear-gradient(to right,var(--bad),var(--nt),var(--gd));position:relative;margin:8px 0 4px;} .rat-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:white;border:2px solid var(--pu);box-shadow:0 1px 4px rgba(0,0,0,.3);transition:left .3s;} .rat-labels{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:.6rem;color:var(--tx3);} .cap-bar-wrap{height:8px;background:var(--sf3);border-radius:4px;overflow:hidden;margin:6px 0 4px;} .cap-bar-fill{height:100%;border-radius:4px;transition:width .3s,background .3s;} .rev-breakdown{display:grid;grid-template-columns:1fr auto;gap:3px 12px;font-size:.8rem;margin-top:2px;} .rev-breakdown .rb-l{color:var(--tx2);} .rev-breakdown .rb-v{font-family:'DM Mono',monospace;text-align:right;} .rev-breakdown .rb-total{color:var(--tl);font-weight:700;} .rev-breakdown .rb-total-v{color:var(--tl);font-family:'DM Mono',monospace;font-weight:700;text-align:right;} .warn-pill{display:inline-flex;align-items:center;gap:4px;background:rgba(255,160,0,.12);border:1px solid var(--nt);border-radius:4px;padding:3px 8px;font-size:.72rem;color:var(--nt);margin-top:6px;} /* ── CHANNEL CARDS ── */ .ch-card{background:var(--sf2);border:1px solid var(--bd);border-radius:9px;padding:13px 14px;margin-bottom:10px;transition:border-color .2s;} .ch-card.roi-pos{border-color:rgba(72,199,142,.3);} .ch-card.roi-neg{border-color:rgba(255,85,85,.3);} .ch-card.roi-sat{border-color:rgba(255,213,79,.3);} .ch-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;} .ch-card-name{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600;} .ch-card-badges{display:flex;gap:5px;align-items:center;} .roi-badge{font-family:'DM Mono',monospace;font-size:.62rem;padding:2px 7px;border-radius:3px;font-weight:700;} .roi-badge.pos{background:rgba(72,199,142,.15);color:var(--gd);} .roi-badge.neg{background:rgba(255,85,85,.15);color:var(--bad);} .roi-badge.sat{background:rgba(255,213,79,.15);color:var(--nt);} .roi-badge.off{background:var(--sf3);color:var(--tx3);} .trend-badge{font-size:.74rem;color:var(--tx3);} .trend-badge.imp{color:var(--gd);} .trend-badge.deg{color:var(--bad);} .trend-badge.crit{color:var(--nt);} .ch-stats-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px;} .ch-stat{background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:6px 9px;} .ch-stat-l{font-family:'DM Mono',monospace;font-size:.56rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;} .ch-stat-v{font-family:'DM Mono',monospace;font-size:.82rem;color:var(--tx1);font-weight:600;} .ch-stat-v.pos{color:var(--gd);} .ch-stat-v.neg{color:var(--bad);} .ch-stat-v.neu{color:var(--nt);} .ch-slider-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;} .ch-slider-label{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--tx2);white-space:nowrap;min-width:68px;text-align:right;} .cpl-curve-wrap{margin-bottom:8px;} .cpl-curve-lbl{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);margin-bottom:3px;} .ch-cond-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;} .ch-cond-pill{font-family:'DM Mono',monospace;font-size:.62rem;padding:2px 7px;border-radius:3px;background:var(--sf3);color:var(--tx2);} .ch-cond-pill.warn{background:rgba(255,160,0,.12);color:var(--nt);} .ch-cond-pill.good{background:rgba(72,199,142,.1);color:var(--gd);} .ch-cond-pill.bad{background:rgba(255,85,85,.1);color:var(--bad);} /* ── FLOW STRIPS — cross-tab cascade indicators ── */ .flow-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px;padding:9px 11px;background:var(--sf2);border:1px solid var(--bd);border-radius:7px;align-items:center;} .flow-label{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.6px;margin-right:4px;white-space:nowrap;} .flow-node{display:inline-flex;align-items:center;gap:4px;font-family:'DM Mono',monospace;font-size:.68rem;padding:3px 8px;border-radius:4px;white-space:nowrap;} .flow-node.gd{background:rgba(72,199,142,.12);color:var(--gd);border:1px solid rgba(72,199,142,.25);} .flow-node.nt{background:rgba(255,213,79,.1);color:#c8a800;border:1px solid rgba(255,213,79,.25);} .flow-node.bad{background:rgba(255,85,85,.1);color:var(--bad);border:1px solid rgba(255,85,85,.2);} .flow-node.bl{background:rgba(91,159,196,.1);color:var(--tl);border:1px solid rgba(91,159,196,.25);} .flow-node.dim{background:var(--sf3);color:var(--tx3);border:1px solid var(--bd);} .flow-arrow{color:var(--tx3);font-size:.7rem;margin:0 1px;} .flow-divider{width:100%;height:0;margin:2px 0;} /* ── INLINE CONCEPT CARDS ───────────────────────────── */ .inline-concepts{margin-top:12px;} .inline-concepts-label{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.6px;text-transform:uppercase;color:var(--tx3);margin-bottom:7px;display:flex;align-items:center;gap:6px;} .inline-concepts-label::after{content:'';flex:1;height:1px;background:var(--bd);} .ic-card{background:var(--sf);border:1px solid var(--bd);border-radius:8px;margin-bottom:7px;overflow:hidden;cursor:pointer;transition:border-color .13s;} .ic-card:hover{border-color:var(--bd2);} .ic-card.open{border-color:var(--ac2);} .ic-head{display:flex;align-items:center;gap:9px;padding:10px 12px;} .ic-icon{font-size:1rem;flex-shrink:0;} .ic-title{font-family:'DM Mono',monospace;font-size:.74rem;font-weight:bold;color:var(--tx);flex:1;} .ic-tier{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.4px;padding:2px 7px;border-radius:7px;font-weight:bold;flex-shrink:0;} .ic-chevron{font-size:.6rem;color:var(--tx3);transition:transform .13s;flex-shrink:0;} .ic-card.open .ic-chevron{transform:rotate(90deg);color:var(--ac2);} .ic-summary{font-size:.71rem;color:var(--tx3);padding:0 12px 8px 12px;margin-top:-4px;line-height:1.4;} .ic-body{display:none;border-top:1px solid var(--bd);padding:12px 13px;background:var(--sf2);} .ic-card.open .ic-body{display:block;} .ic-section{margin-bottom:10px;} .ic-section-lbl{font-family:'DM Mono',monospace;font-size:.57rem;letter-spacing:.6px;text-transform:uppercase;color:var(--tx3);margin-bottom:4px;} .ic-section-text{font-size:.73rem;color:var(--tx2);line-height:1.65;} .ic-formula{background:var(--sf);border:1px solid var(--bd);border-left:3px solid var(--ac2);border-radius:5px;padding:9px 11px;margin:8px 0;font-family:'DM Mono',monospace;font-size:.72rem;color:var(--ac2);line-height:1.6;} .ic-example{background:rgba(94,168,94,.06);border:1px solid rgba(94,168,94,.2);border-radius:5px;padding:9px 11px;margin:7px 0;font-size:.72rem;color:var(--tx2);line-height:1.6;} .ic-trap{background:rgba(204,68,68,.06);border:1px solid rgba(204,68,68,.2);border-radius:5px;padding:9px 11px;margin:7px 0;font-size:.72rem;color:var(--tx2);line-height:1.5;} .cbtn-locked{opacity:.45;cursor:not-allowed;border-style:dashed;} .cbtn-locked:hover{background:var(--sf);transform:none;box-shadow:none;} .lock-reason{display:block;font-size:.62rem;color:var(--tx3);margin-top:4px;font-style:italic;font-family:'DM Mono',monospace;}
📖 Business Reference
🔍
Pizza Sim — 5-Year Business Simulation

You just bought a pizza restaurant.
Now what?

This is a business decision simulator. Every choice you make has real economic consequences — staffing, margins, cash flow, supplier relationships, legal exposure. The decisions come fast and they compound.
Duration
250 weeks
~5 years of operation. One decision per week.
Starting cash
$3,000
Thin runway. Real restaurants open like this.
You lose if
Cash = $0
Payroll bounces. Suppliers cut you off. Game over.
📋
This onboarding teaches you how to think — not just how to click. The mechanics take 30 seconds to learn. The mental models behind good restaurant decisions take years in real life. We're going to compress that.
Chapter 1 — The Business

A pizza shop is a margin business disguised as a food business.

Most new owners think about food. The ones who survive think about the spread between revenue and every cost that touches it.
Weekly P&L — Your Starting Position
Revenue$6,200
Variable costs
Food & ingredients (32%)−$1,984
Labor (34%)−$2,108
Fixed costs
Rent + CAM charges−$963
Insurance, permits, utils−$544
Total costs−$5,599
Net profit / week$601
Food + Labor alone
66%
Before rent. Before insurance. Every dollar of revenue, 66 cents goes to food and people.
Net margin
9.7%
Good for restaurants. The industry average is 3–9%. There's almost no slack here.
💡
The rule of thirds: roughly 1/3 food cost, 1/3 labor, 1/3 everything else. If any third creeps up, you're probably losing money. Your decisions will push and pull these percentages.
Chapter 2 — How Decisions Work

Every situation has three paths. One earns the lesson.

Each week you face a real business situation — a supplier dispute, a staff problem, a cash decision. You pick one of three responses. The outcomes are graded good / neutral / bad, but the real value is understanding why.
Example: Your best cook asks for a $2/hr raise
A
Counter at $1.50/hr — acknowledge the request, give real relief, preserve margin
Best move
B
Give the full $2/hr to keep them happy without negotiating
Acceptable
C
Decline — budget is tight and you can't afford raises right now
Costly
Good choices
Usually the operationally correct move. May cost something in the short term but pays off structurally.
Neutral choices
Often the instinctive move. Gets you through, but usually costs more than the good option.
Bad choices
The emotionally easy or emotionally reactive choice. Always has a cost — sometimes immediate, sometimes later.
🎯
After you choose, you get a resolve screen that explains what actually happens — and why the good option worked. This is where the real learning is. Read it.
Chapter 3 — The Cash Problem

You can be profitable and still run out of cash.

This is the most common reason restaurants close in year one. Profit is a number on a spreadsheet. Cash is what pays payroll on Friday. They're not the same thing.
Weekly net profit
$601
Looks healthy. This is what the P&L shows.
Starting cash
$3,000
5 weeks of net profit. One bad emergency erases it.
⚠️
Why cash timing matters: Your food suppliers want payment in 15–30 days. Your payroll goes out Friday. But your catering clients pay Net 30. Revenue this week gets collected over the next 30 days — but your costs hit now. This gap kills profitable businesses.
🔑
Watch the Cash stat in the top bar — not just the Net figure. Net tells you if the business model works. Cash tells you if you survive the week. A decision that costs $800 in cash is much more dangerous early in the game than late, even if the net impact is the same.
📉
Decisions stack. Each choice you make adjusts your weekly margins permanently — for better or worse. A hire here, a supplier deal there, a compliance mistake — they compound across 250 weeks. The Finance tab shows your running decision adjustments.
Chapter 4 — People

Your kitchen runs on people. Everything else is secondary.

Labor is 34% of your revenue. The people carrying that cost can either make your business or quietly destroy it. Most restaurant owners learn this the hard way.
Wrong hire — Week 3
You hired fast because you needed someone. No reference check. No trial shift. Three weeks in: chronic lateness, attitude problem, other staff noticing.
You don't act — Week 6
It's easier to not deal with it. Verbal warning, nothing documented. The problem employee is still there. Your best cook is updating their resume.
You terminate — Week 8
No written warnings on file. They file for unemployment. Adjudicator rules in their favor — you can't contest it without documentation. Your insurance rate goes up.
Your best cook leaves — Week 10
Recruiting, onboarding, and 6 weeks of degraded throughput. $1,200–2,400 in real costs. All from one hire decision at week 1.
📝
Documentation is not bureaucracy — it's your legal protection. Written warnings with dates and signatures. Reference checks before hiring. Performance conversations on the record. A 10-minute habit that prevents $2,000 mistakes.
Chapter 5 — Your Dashboard

Every tab is a lens on the same business.

The top bar gives you the vital signs. The tabs go deeper. Good operators check these regularly — not just when something is wrong.
📊 Financials
👥 Staff
📦 Suppliers
🔧 Equipment
🍽️ Menu
🛵 Delivery
📣 Marketing
📊 Financials
Full P&L with decision adjustments visible. Cash flow history. Net margin trend. The real picture of where the money goes.
👥 Staff
Roster, wages, morale. Watch morale — low morale staff drive away customers before they quit. High morale staff cover for each other.
📦 Suppliers
Your supply chain is a relationship, not a transaction. Supplier reliability scores and your terms — Net 15 is a punishment, Net 30 is standard.
🔧 Equipment
Age, condition, maintenance cost, replacement value. An 11-year-old compressor is a ticking clock. Know what's aging before it fails at 7pm Friday.
🍽️ Menu
Units sold, food cost %, margin per item. A menu that's too large kills kitchen throughput. Cut the bottom performers.
📣 Marketing
Four channels with real ROI tracking. SEO compounds. Social fatigues. Email saturates. Flyers have a neighborhood ceiling. Spend deliberately.
Chapter 6 — How to Think

Six mental models that separate operators from owners.

These are the frameworks behind the good choices in this game. Internalize them and the decisions start to feel obvious.
💰
Cash is the only scorekeeper that matters in real time. Profit is theoretical until cash arrives. Every decision has a cash timing component. A $3k improvement to margins means nothing if it takes 6 weeks to show up.
📋
Documentation is not optional — it's infrastructure. Written warnings. Signed contracts. Receiving logs. Inspection records. Every piece of paper you skip is a liability you've deferred, not avoided.
🔗
Relationships are leverage — supplier, staff, and customer. A supplier rep who likes you will call before cutting your terms. A staff member who trusts you will tell you about problems before they're crises. Invest in these.
📈
Revenue growth without margin management is a treadmill. More orders beyond kitchen capacity produce bad reviews, not money. Scaling before your systems can handle it is how profitable businesses go broke.
🔭
Every cost has a category: fix it, optimize it, or live with it. Rent is fixed — negotiate it at signing, live with it after. Food cost is variable — systems and supplier relationships reduce it. Labor is a function of scheduling discipline.
⏱️
The best time to fix a problem is always earlier than feels necessary. Equipment you knew was aging. The employee whose behavior was escalating. The supplier terms you didn't push back on. All of these compound. Address them at the first signal.
You're ready

250 weeks. One decision at a time.

Your restaurant is open. You have $3,000 in the drawer, a thin margin, and five years ahead of you. The first problem is already waiting.
Watch
Cash first
It's the only thing that ends the game early.
Read
The resolve
After every decision. The lesson is there.
Think
Second order
What does this choice cause next week?
Good luck. Read everything.
🍕 Pizza Sim — Problem Engine
WEEK 1
Cash
$28,000
Wkly Net
~$1,180
Revenue
$8,200
Rating
3.8⭐
Staff
4
Stores
1
Result

Season Complete

Staff Roster

4 employees
Hiring events appear randomly. Working interviews and reference checks consistently outperform on-the-spot hires. Staff morale affects kitchen output quality.
NameRoleWageHrs/WkWkly CostQualityMorale

Locations

1 location
Location problems can appear randomly. Rent, lease terms, and expansion decisions all have branching consequences.

Supplier Accounts

vendors
Supplier relationships evolve based on how you handle problems. Strong relationships lead to better terms and priority treatment.
SupplierCategoryWkly SpendTermsReliabilityRelationship

Equipment

maintenance log
Equipment in Fair/Poor condition generates breakdown scenarios. Maintenance decisions directly update condition ratings here.
EquipmentCat.AgeConditionMaint/WkReplace Est.Notes

Menu & Food Margins

cost analysis
Target food cost: 28–32%. Supplier price events update food cost percentages on affected categories.
ItemCat.PriceFood Cost %Margin %Units/WkWkly Rev

Category Revenue

Financial Overview

P&L
Weekly P&L
Net Profit History
Cost % of Revenue

Delivery

in-house + apps
Third-party apps charge 15–30% commission. In-house delivery has better unit economics at volume.

Third-Party Apps

Marketing

lead generation & reputation
Rating Multiplier
Current:
1.5★ (0.60×)3.0★ (0.86×)5.0★ (1.20×)
Google rating multiplies all revenue. Improve reviews to unlock more from your ad spend.
Ad Channels — Lead Generation
Staff Capacity
Each staff member can serve ~$1,900/wk in demand. Hire more to capture more of your ad spend.
Revenue Breakdown

Campaigns

Loyalty Program
Rating History