:root{--coal: #394249;--cream: #fbf5ea;--white: #fffdf8;--green: #5d9656;--dark-green: #477748;--yellow: #f5c443;--amber: #e6a23c;--blue: #54b8d4;--brown: #b77b4e;--coral: #e97667;--gray: #d8d3ca;--muted: #62685f;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius: 16px;--radius-small: 10px;--shadow: 0 3px 0 #39424914;--font: ui-rounded, "Trebuchet MS", system-ui, sans-serif;--icon: 26px;--duration: .16s;--ease: cubic-bezier(.2, .8, .2, 1);--success-bg: #eef5e9;--warning-bg: #fff3da;--z-toast: 30;--z-modal: 40;color:var(--coal);font-family:var(--font);font-size:15px;background:#dde5d3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none;background-image:radial-gradient(circle at 10% 30%,#f5c44318 0 80px,transparent 81px),radial-gradient(circle at 92% 70%,#5d965612 0 120px,transparent 121px)}button,input,select{font:inherit;color:inherit}button,select,input[type=number]{min-height:44px}button{border:1.5px solid #39424924;border-radius:var(--radius-small);background:var(--white);padding:9px 13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2;box-shadow:var(--shadow);transition:background var(--duration),transform var(--duration)}button:hover:not(:disabled){background:#f5c44325;transform:translateY(-1px);box-shadow:0 4px #39424914}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button.primary{background:var(--dark-green);border-color:var(--dark-green);color:var(--white);font-weight:800}button.primary:hover:not(:disabled){background:#396439}button.yellow{background:var(--yellow);border-color:#dbae32;font-weight:700}button.danger{background:#e9766714;color:#9b4338;border-color:#e9766744}button.ghost{box-shadow:none;border-color:transparent;background:transparent}button.wide{width:100%}select{padding:8px 32px 8px 10px;border-radius:10px;background:var(--white);border:1px solid #39424933;max-width:100%;width:100%}input[type=number]{width:88px;padding:6px;border:1px solid #39424933;border-radius:8px;text-align:center}input[type=range]{width:100%;accent-color:var(--dark-green)}input[type=checkbox]{height:20px;width:20px;accent-color:var(--dark-green)}h1,h2,h3,p{margin:0}h2{font-size:21px;line-height:1.15}h3{font-size:16px}p{line-height:1.5}small{font-size:12px}.muted{color:var(--muted);font-size:13px;line-height:1.5}.positive{color:var(--dark-green)}.negative{color:#a14f43}.eyebrow{font-size:10px;letter-spacing:1px;font-weight:800;text-transform:uppercase;color:var(--muted)}.icon{width:var(--icon);height:var(--icon);object-fit:contain;flex:none}.game{height:100dvh;max-width:640px;margin:auto;display:flex;flex-direction:column;background:var(--cream);box-shadow:0 0 60px #39424912;border-inline:1px solid #3942490e;padding-top:env(safe-area-inset-top)}.header{display:flex;align-items:center;gap:10px;min-height:68px;padding:10px 16px;background:var(--white);border-bottom:1px solid #d8d3ca99}.brand{width:91px;height:44px;object-fit:contain;flex:none}.header-info{flex:1;min-width:0}.header-info strong{display:block;font-size:16px}.header .money{font-size:19px;font-weight:900;white-space:nowrap}.header button{width:44px;padding:9px}.status-line{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:11px;color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block}.stage-wrap{position:relative;flex:none;height:clamp(146px,26dvh,260px);overflow:hidden;border-bottom:1px solid #d8d3ca}.game.is-operating .stage-wrap{box-shadow:inset 0 -3px 0 var(--green)}.game.is-operating.is-paused .stage-wrap{box-shadow:inset 0 -3px 0 var(--amber)}.stage{width:100%;height:100%;display:block}.location-badge{position:absolute;top:10px;left:16px;padding:6px 10px;border-radius:8px;background:#fffdf8eb;font-size:12px;font-weight:700;max-width:65%}.weather-badge{position:absolute;top:10px;right:16px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;background:#fffdf8eb;border-radius:8px;padding:6px 9px}.weather-badge img{width:20px;height:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--white);border-bottom:1px solid #d8d3ca99;padding:12px 8px;flex:none}.metric{min-width:0;text-align:center;display:flex;flex-direction:column;gap:5px}.metric strong{font-size:17px;overflow-wrap:anywhere}.metric .eyebrow{font-size:9px;letter-spacing:.5px}.metric+.metric{border-left:1px solid #d8d3ca80}.workspace{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:18px 16px 20px;display:flex;flex-direction:column;gap:12px;scroll-behavior:auto}.panel-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:3px}.card{padding:14px;border:1px solid #d8d3ca;border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;min-width:0;animation:card-in .26s ease both}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px;line-height:1.35;min-width:0}.detail-row strong{text-align:right;overflow-wrap:anywhere}.event{display:flex;align-items:flex-start;gap:10px;background:#f5c44318;border-color:#e6a23c55}.event img{width:35px;height:35px}.event p{font-size:13px}.flex{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.split{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.divider{height:1px;background:#d8d3ca80;margin:3px 0}.pill{display:inline-block;padding:4px 8px;background:#5d965612;color:var(--dark-green);font-size:11px;font-weight:700;border-radius:20px;max-width:100%;overflow-wrap:anywhere}.pill.locked{color:var(--muted);background:#d8d3ca66}.controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.stepper{display:flex;align-items:center;gap:7px}.stepper button{width:44px;padding:7px;font-weight:900}.stepper strong{min-width:42px;text-align:center;font-size:20px}.stepper output{min-width:56px;font-size:17px;font-weight:700;text-align:center}.progress{height:7px;background:#d8d3ca60;border-radius:10px;overflow:hidden;flex:none}.progress>span{display:block;height:100%;background:var(--green);border-radius:10px;transition:width .2s}.stock-top{display:flex;gap:10px;align-items:center}.stock-top img{width:43px;height:43px;object-fit:contain}.stock-top div{flex:1}.packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.packs button{flex-direction:column;font-size:12px;gap:3px;padding:9px 3px}.packs button strong{font-size:14px}.upgrade{display:flex;align-items:center;gap:10px}.upgrade>img{width:42px;height:42px;object-fit:contain}.upgrade-info{flex:1;min-width:0}.upgrade button{font-size:12px;padding:8px 10px}.upgrade h3{font-size:14px}.upgrade p{font-size:11px;margin-top:3px}.upgrade-detail{font-size:11px;color:var(--muted);line-height:1.5}.cta-area{padding:10px 16px;background:var(--cream);border-top:1px solid #d8d3ca99;flex:none}.cta-area button{width:100%;min-height:48px;font-size:15px}.cta-note{font-size:10px;text-align:center;line-height:1.2;margin-top:5px;color:var(--muted)}.navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px 8px calc(5px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid #d8d3ca99;flex:none}.navigation button{display:flex;flex-direction:column;gap:3px;font-size:10px;min-height:53px;padding:6px 1px;background:transparent;border:0;box-shadow:none;border-radius:9px;color:var(--muted);min-width:0}.navigation .icon{width:24px;height:24px}.navigation button[aria-current=page]{background:var(--dark-green);color:#fff;font-weight:800}.notice{padding:10px 14px;background:#e976671a;font-size:12px;line-height:1.5;color:#914237;border-bottom:1px solid #e9766744}.toast{position:fixed;bottom:calc(145px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--coal);color:var(--white);padding:12px 18px;border-radius:12px;max-width:min(90vw,560px);z-index:var(--z-toast);font-size:13px;line-height:1.4;box-shadow:0 5px 25px #39424925;pointer-events:none}.toast.error{background:#a14f43}.juice-float{position:absolute;z-index:6;top:18px;left:50%;transform:translate(-50%);padding:7px 12px;border-radius:999px;color:var(--white);background:var(--dark-green);font-size:13px;font-weight:900;letter-spacing:.2px;pointer-events:none;box-shadow:0 4px 14px #39424930;animation:juice-float .9s ease-out both}.juice-float.purchase{background:#963e34}.juice-float.open{background:var(--blue);color:#223e46}.juice-float.pause{background:var(--amber);color:#553c1a}.header .money.cash-earned,.header .money.cash-spent{animation:cash-pop .62s cubic-bezier(.2,.8,.2,1) both}.header .money.cash-spent{animation-name:cash-spent}.metric.metric-pulse{animation:metric-pop .56s cubic-bezier(.2,.8,.2,1) both}.cta-area.cta-burst{animation:cta-burst .8s ease-out both}@keyframes card-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes juice-float{0%{opacity:0;transform:translate(-50%,8px) scale(.82)}18%{opacity:1;transform:translate(-50%) scale(1.05)}72%{opacity:1;transform:translate(-50%,-8px) scale(1)}to{opacity:0;transform:translate(-50%,-22px) scale(.96)}}@keyframes cash-pop{0%{color:var(--dark-green);transform:scale(1)}45%{color:var(--dark-green);transform:scale(1.13)}to{color:inherit;transform:scale(1)}}@keyframes cash-spent{0%{color:var(--coral);transform:scale(1)}45%{color:var(--coral);transform:scale(1.08)}to{color:inherit;transform:scale(1)}}@keyframes metric-pop{0%{transform:translateY(0)}40%{color:var(--dark-green);transform:translateY(-3px) scale(1.04)}to{transform:translateY(0) scale(1)}}@keyframes cta-burst{0%{box-shadow:0 0 #5d965600}35%{box-shadow:0 0 0 7px #5d96562e}to{box-shadow:0 0 #5d965600}}dialog{padding:0;border:1px solid var(--gray);border-radius:22px;color:var(--coal);background:var(--cream);width:calc(100% - 28px);max-width:570px;max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));box-shadow:0 20px 90px #39424940;overflow:hidden}dialog::backdrop{background:#39424988}.dialog-inner{display:flex;flex-direction:column;max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--gray);flex:none}.dialog-header h2{font-size:19px}.dialog-body{overflow-y:auto;overflow-x:hidden;min-height:0;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.dialog-header button{width:44px;padding:9px;background:#c83535;color:#fff;border-color:#ad2525;font-size:24px;font-weight:700}.dialog-header button:hover{background:#a92424;color:#fff}.dialog-header button:focus-visible{outline:3px solid #8a1717;outline-offset:3px}.dialog-footer{padding:12px 18px;border-top:1px solid var(--gray);display:flex;gap:10px;justify-content:flex-end;flex:none}.dialog-footer button{flex:1}.slot-row{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center}.slot-row button{padding:8px 10px}.chart{width:100%;height:136px;display:block}.report-link{text-align:left;justify-content:space-between;width:100%}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}.settings-row label{font-size:13px}.check-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.menu-view{display:flex;flex-shrink:0;flex-direction:column;align-items:center;padding:20px 26px;gap:15px;width:100%;margin:auto;max-width:559px}.menu-logo{width:min(85%,480px);height:165px;flex:none;object-fit:contain}.menu-logo-animated{transform-origin:50% 75%;animation:menu-logo-float 7s ease-in-out infinite}@keyframes menu-logo-float{0%,to{transform:translateY(0) rotate(-2deg) scale(1)}35%{transform:translateY(-12px) rotate(2.8deg) scale(1.03)}62%{transform:translateY(-4px) rotate(-2.4deg) scale(1)}78%{transform:translateY(-10px) rotate(1.6deg) scale(1.024)}}.menu-ingredients{display:grid;grid-template-columns:repeat(4,1fr);gap:21px;width:420px;height:87px;flex:none;margin-top:2px}.ingredient-slot{position:relative;min-width:0}.ingredient-slot .ingredient{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;animation:ingredient-drift 30s ease-in-out infinite;animation-delay:var(--ingredient-delay);pointer-events:none}@keyframes ingredient-drift{0%{opacity:0;transform:translateY(14px) rotate(-12deg) scale(.88)}4%{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)}10%{opacity:1;transform:translateY(-12px) rotate(6deg) scale(1.05)}16%{opacity:1;transform:translateY(-2px) rotate(-4deg) scale(1)}24%,to{opacity:0;transform:translateY(-14px) rotate(10deg) scale(.9)}}@media(max-width:480px){.menu-logo{width:100%}.menu-ingredients{grid-template-columns:repeat(2,89px);grid-auto-rows:87px;width:199px;height:195px}}.reduced-motion .menu-logo-animated{transform:none}.reduced-motion .ingredient-slot .ingredient{opacity:0}.reduced-motion .ingredient-slot .ingredient-static{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.ingredient-slot .ingredient{opacity:0}.ingredient-slot .ingredient-static{opacity:1;transform:none}}.menu-view h1{font-size:16px;text-align:center;color:var(--dark-green)}.menu-view .eyebrow{color:var(--brown)}.menu-actions{width:100%;max-width:338px;display:flex;flex-direction:column;gap:10px}.menu-actions button{min-height:48px}.menu-view .credits{font-size:10px;line-height:1.5;text-align:center;color:var(--muted);margin-top:10px}.game.is-menu .header,.game.is-menu .metrics,.game.is-menu .navigation,.game.is-menu .cta-area{display:none}.game.is-menu .stage-wrap{height:clamp(120px,20dvh,210px);order:2;border:0;flex:none}.game.is-menu .stage-wrap .location-badge{display:none}.game.is-menu .workspace{order:1;padding:10px;justify-content:flex-start}.game.is-menu .weather-badge{display:none}@media(max-width:480px)and (min-height:671px){.game.is-menu .stage-wrap{height:clamp(100px,13dvh,140px)}.menu-view{gap:6px;padding-block:10px}}.menu-decoration{display:flex;align-items:center;gap:8px;color:var(--brown);font-size:12px}.empty{padding:24px 10px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.empty img{height:62px;width:62px;object-fit:contain}.loading{padding:30px;text-align:center}.operation-controls{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:6px}.operation-controls button{min-height:44px;font-size:12px;padding:8px 2px}.operation-controls button.selected{background:#5d96561a;border-color:var(--green)}.small-card{padding:10px 12px}.achievement{opacity:.72}.achievement.earned{opacity:1;border-color:#5d96565e;background:#5d965608}.list-note{font-size:11px;line-height:1.6;color:var(--muted)}.report-scroll{overflow-x:auto}.stand-tile{text-align:center}.stand-tile img{height:76px;width:95px;object-fit:contain}.tall-copy{overflow-wrap:anywhere}.legend{display:flex;gap:12px;font-size:10px;color:var(--muted)}@media(min-width:700px){.game{height:calc(100dvh - 24px);margin:12px auto;border-radius:24px;overflow:hidden}.header{min-height:75px}.workspace{padding:20px 22px}.stage-wrap{height:clamp(160px,28dvh,280px)}.navigation button{font-size:11px}.cta-area{padding:12px 22px}.game.is-menu{max-width:640px}.menu-view{gap:16px}.menu-logo{height:195px}}@media(max-height:670px){.header{min-height:55px;padding:6px 12px}.header .brand{height:35px;width:75px}.header-info strong{font-size:14px}.header .money{font-size:16px}.stage-wrap{height:135px}.metrics{padding:9px 5px}.metric strong{font-size:15px}.workspace{padding:12px;gap:9px}.cta-area{padding:7px 12px}.navigation button{min-height:49px}.menu-view{gap:10px;padding:12px 24px}.menu-logo{height:142.5px}.game.is-menu .stage-wrap{height:150px}.menu-actions{gap:7px}.menu-actions button{min-height:44px}}@media(max-width:350px){:root{font-size:14px}.header{gap:6px;padding-inline:9px}.header .brand{width:66px}.header-info strong{font-size:12px}.header .money{font-size:15px}.metric .eyebrow{font-size:8px}.navigation button{font-size:9px}.weather-badge,.location-badge{font-size:10px}.weather-badge{right:10px}.location-badge{left:10px}.workspace{padding-inline:10px}.stepper{gap:4px}.stepper button{width:44px;min-width:44px}.grid2{gap:7px}.card{padding:12px}.upgrade{gap:8px}.slot-row{grid-template-columns:1fr auto auto}.slot-row button{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.reduced-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.navigation button{font-size:11px}.metric .eyebrow{font-size:10px;letter-spacing:.3px}.tutorial-icon{width:70px;height:70px;object-fit:contain;margin:auto}.header .money{max-width:40%;white-space:normal;overflow-wrap:anywhere;text-align:right;flex-shrink:1}.event p,.dialog-body p{overflow-wrap:anywhere}.feedback-rail{flex:none;max-height:90px;overflow-y:auto}.feedback-rail:empty{display:none}.feedback-rail .toast{position:static;transform:none;max-width:none;width:100%;border-radius:0;box-shadow:none;padding:10px 16px;display:flex;align-items:flex-start;gap:9px;background:#edf3f4;color:var(--coal);border-bottom:1px solid var(--gray);animation:card-in .18s var(--ease) both}.feedback-rail .toast.success{background:var(--success-bg);color:#325936}.feedback-rail .toast.warning{background:var(--warning-bg);color:#754b16}.feedback-rail .toast.error{background:#fcece6;color:#903c32}.feedback-rail .toast.achievement,.feedback-rail .toast.unlock{background:#fff2c6;color:#684d12}.feedback-symbol{font-weight:900;flex:none}.game.is-menu .feedback-rail{order:0}.operating-advice{font-size:13px;line-height:1.45;padding:10px 12px;border-radius:10px;background:var(--success-bg);color:#325936}.operating-advice.needs-attention{background:var(--warning-bg);color:#754b16;border-left:3px solid var(--amber)}.goal-card{border-color:#9cb996}.goal-card .eyebrow{color:#477748}.purchase-state{font-size:12px;line-height:1.4;color:var(--muted)}.is-owned{background:#f0f6eb;border-color:#acc7a6}.is-owned .purchase-state{font-weight:700;color:var(--dark-green)}.is-locked .purchase-state{color:#754b16}.upgrade-confirm{animation:upgrade-confirm .55s var(--ease) both}@keyframes upgrade-confirm{35%{box-shadow:0 0 0 4px #5d96563b}}.customer-guide{display:flex;gap:14px;align-items:center;padding-block:8px}.customer-guide .icon{width:70px;height:70px}.customer-guide .stack{gap:5px}.result-summary .metric{animation:card-in .35s var(--ease) both}.result-summary .metric:nth-child(2){animation-delay:80ms}.list-note{font-size:12px}.cta-note{font-size:11px;line-height:1.4}.status-line{font-size:12px}.eyebrow{font-size:11px}.metrics{padding:10px 6px}.metric .eyebrow{font-size:10px;letter-spacing:0}.juice-float{top:52px}.location-badge{max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-badge{max-width:47%}.weather-badge span{overflow-wrap:anywhere}@media(hover:none){button:hover:not(:disabled){transform:none;box-shadow:var(--shadow)}}@media(max-width:350px){.navigation button{font-size:10px}.controls{align-items:flex-start;flex-wrap:wrap}.controls>span{flex:1;min-width:75px;padding-top:12px}.feedback-rail .toast{font-size:12px;padding:8px 10px}.detail-row{gap:8px}.upgrade{flex-wrap:wrap}.upgrade>button{margin-left:auto}.weather-badge,.location-badge{padding-inline:6px}}@media(max-height:520px){.game{height:100dvh;margin:0 auto;border-radius:0}.stage-wrap{height:56px}.game.is-menu .stage-wrap{height:85px}.feedback-rail{max-height:42px}.metrics{padding-block:5px}.header{min-height:48px}.cta-area{padding-block:5px}.cta-note{display:none}}
