/* A close working counter, with screen-space controls and a separate grocery. */
.game{width:100%;grid-template-columns:minmax(0,1fr)}.game>*{min-width:0}.topbar{grid-template-columns:auto minmax(0,1fr) auto}.date{min-width:0;white-space:normal;overflow-wrap:anywhere}
.owner-world{min-width:0;width:100%}.owner-world .scene-wrap{aspect-ratio:3/4;min-height:275px;max-height:none;flex:1;min-width:0}
.owner-world .transaction{top:65px;width:calc(100% - 28px);max-width:470px;background:#fcf9edeF;text-align:left;padding:10px 14px;border-radius:12px}
.owner-world .transaction b{font-size:1rem;line-height:1.3}
.owner-world .transaction small{font-size:.875rem;line-height:1.4;margin-top:3px}
.owner-world .transaction small{white-space:normal;overflow:visible;text-overflow:clip}
.owner-world .neighborhood{left:auto;right:12px;bottom:10px;width:auto;min-height:44px;font-size:.875rem;max-width:calc(100% - 24px)}
.owner-world .live-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);gap:4px;font-size:.875rem;margin:0 0 5px}
.owner-world .live-strip>*{min-width:0;overflow-wrap:anywhere}
.owner-world .live-strip button{font-size:.875rem;padding:6px;min-height:44px}
.owner-world .live-strip #stock-label{margin-left:0}
.owner-world .guide-line{margin:0 0 3px;font-size:.875rem}
.owner-world .guide-label{letter-spacing:.12em;font:600 .75rem -apple-system,BlinkMacSystemFont,sans-serif}
.owner-world .action-row{grid-template-columns:minmax(0,2.2fr) 1fr 1fr;gap:6px}
.owner-world .action-row button{font-size:1rem;min-height:52px;padding:10px 7px}
.owner-world .time-row{flex-wrap:wrap;gap:1px}.owner-world .time-row button{font-size:.875rem;padding-inline:8px}
.owner-world .speed-buttons{flex:1}.owner-world .time-row .quiet{font-size:.875rem}
.grocery-screen{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 16px 30px;background:var(--paper)}
.station-heading{display:flex;gap:10px;align-items:flex-start}.station-heading h1{font:2rem Georgia,serif;margin:5px 0 8px}
.station-heading p{font-size:.875rem;line-height:1.5;margin:6px 0 16px}.station-heading .eyebrow{font-size:.7rem;letter-spacing:.12em;margin:0}
.grocery-shelves{display:grid;gap:12px;margin:0 0 16px}.grocery-item{display:grid;grid-template-columns:66px minmax(0,1fr) 76px;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 10px;box-shadow:0 3px 12px #243a2c06}
.grocery-art{width:66px;height:74px}.grocery-item h2{font-size:1rem;margin:0 0 5px}.grocery-item p{font-size:.875rem;margin:0 0 5px}.grocery-item small{font-size:.8125rem;color:var(--muted);display:block;line-height:1.4}
.grocery-item label{font-size:.75rem;margin:0}.grocery-item input{width:100%;min-height:44px;padding:8px 6px;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:1rem}
.basket-total{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:14px 0;border-block:1px solid var(--line);line-height:1.5}.basket-total span{font-size:.875rem}.basket-total strong{font:1.3rem Georgia,serif}
.settings-section{padding:5px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}.settings-section h3{font-size:1rem;margin:8px 0 12px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-options button[aria-pressed=true]{outline:2px solid var(--green);outline-offset:1px}
.save-id{display:block;overflow-wrap:anywhere;color:var(--muted)}.records small{overflow-wrap:anywhere}.sheet-body input[type=file]{max-width:100%;margin-block:10px}
.contrast{--muted:#455642;--line:#697e60}.contrast .transaction,.contrast .neighborhood{border-width:2px}
.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
.text-large .owner-world .live-strip{display:grid;grid-template-columns:1fr}.text-large .owner-world .live-strip #stock-label{margin-left:0;text-align:left}
.text-large .topbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.text-large .date{grid-row:2;grid-column:1/-1;text-align:left;font-size:.875rem}.text-large .cash{grid-row:1;grid-column:2;overflow-wrap:anywhere}.text-large .cash strong{font-size:1.3rem}.text-large .theme-options{grid-template-columns:1fr}.text-large .button-grid{grid-template-columns:1fr}.text-large .world-top{flex-wrap:wrap}.text-large .owner-world .world-tools{margin-left:auto}.text-large .price-options{grid-template-columns:1fr}.text-large .metric{min-width:0}.text-large .metrics{grid-template-columns:1fr}
.text-large .owner-world .scene-wrap{min-height:410px;flex:none;height:560px}.text-large .owner-world .action-row{grid-template-columns:1fr}.text-large .grocery-item{grid-template-columns:60px minmax(0,1fr)}.text-large .grocery-item label{grid-column:1/-1;font-size:1rem}
[data-theme=dark] .owner-world .transaction{background:#182e25f0;border-color:#6d8058;color:#f4ecd7}[data-theme=dark] .grocery-item{box-shadow:none}
@media(min-width:700px){.owner-world{max-width:620px;width:100%;margin:auto;min-height:0;height:100%}.owner-world .scene-wrap{min-height:0}.owner-world .operate{width:100%}.grocery-screen{width:100%}}
@media(max-width:340px){.topbar{gap:6px;padding-inline:10px}.brand{font-size:1.05rem}.cash strong{font-size:1.3rem}.date{font-size:.69rem}.owner-world .operate{padding-inline:10px}.owner-world .time-row button{padding-inline:5px}.owner-world .transaction{padding:8px 10px}.grocery-item{grid-template-columns:47px minmax(0,1fr) 67px;gap:7px}.grocery-art{width:47px}.owner-world .action-row button{font-size:1rem}}
@media(max-height:700px) and (orientation:portrait){.game:has(.owner-world){height:auto;min-height:100dvh}.owner-world .scene-wrap{flex:none;height:auto;aspect-ratio:3/4;min-height:300px}.owner-world .operate{margin:0}.owner-world .transaction small{display:block}}
@media(orientation:landscape) and (max-height:500px){.owner-world{max-width:none;display:grid;grid-template-columns:1fr 1fr;height:100%;align-items:stretch}.owner-world .scene-wrap{grid-column:1;aspect-ratio:auto;min-height:0;height:100%}.owner-world .operate{grid-column:2;height:100%;overflow:auto}.owner-world .transaction{top:60px}.owner-world .transaction small{display:none}.owner-world .grocery-screen{grid-column:1/-1}.owner-world:has(.grocery-screen:not([hidden])){display:flex}}

.sale-receipt{font-size:.8125rem;line-height:1.4;margin:0 0 6px;color:var(--muted)}

/* The counter stays visible while a small work surface handles the current task. */
.hands-on-game{height:100dvh;min-height:0;max-width:600px;grid-template-rows:auto auto minmax(0,1fr) auto}
.hands-on-game .owner-world{max-width:600px;min-height:0;overflow:hidden}
.hands-on-game .owner-world .scene-wrap{aspect-ratio:auto;min-height:330px;max-height:none;flex:1 1 0;position:relative}
.hands-on-game .topbar{padding:8px 14px 2px}.hands-on-game .utility{padding:0 14px 4px;min-height:22px}
.hands-on-game .world-top{top:10px;left:10px;right:10px;z-index:7}.hands-on-game .world-top .location-pill{max-width:calc(100% - 130px)}
.hands-on-game .owner-world .operate{flex-shrink:0;padding:5px 12px 3px;margin:0;border-top:1px solid var(--line)}
.hands-on-game .owner-world .transaction{padding:1px 0 1px 14px;background:none;border:0;color:var(--ink)}
.hands-on-game .owner-world .transaction small{display:none}.hands-on-game .service-overview{min-height:25px;padding-bottom:2px;margin-bottom:0;border:0}
.hands-on-game .owner-world .live-strip,.hands-on-game .guide-line{display:none}
.hands-on-game .owner-world .action-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.hands-on-game .action-row button{min-height:44px;font-size:.9rem;padding:8px}
.hands-on-game .owner-world .time-row{flex-wrap:nowrap;gap:3px;margin-top:1px}.hands-on-game .time-row button{min-height:44px}
.hands-on-game .time-row .speed-buttons{flex:1}.hands-on-game .speed-buttons button{min-width:38px;padding-inline:6px}
.hands-on-game .bottom-nav{padding:0 8px env(safe-area-inset-bottom);background:var(--paper)}.hands-on-game .bottom-nav button{min-height:48px;font-size:.8rem;gap:1px}.hands-on-game .bottom-nav button>span{font-size:1.1rem}
.counter-stations{position:absolute;z-index:6;bottom:8px;left:8px;right:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.counter-stations button{min-height:53px;min-width:0;padding:6px 3px;border-radius:11px;background:#fff7e9f5;border:1px solid #caba94;color:#294b36;box-shadow:0 2px 8px #1e34241a}
.counter-stations b{display:block;font-size:.88rem;font-weight:700}.counter-stations small{display:block;font-size:.63rem;line-height:1.25;font-weight:400;margin-top:3px}
.counter-stations button[aria-pressed=true]{background:#d9e5b7;border:2px solid #557447;box-shadow:0 1px 8px #18362218}
.counter-inventory{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;margin-bottom:4px;min-height:35px}
.counter-inventory button{font-size:.75rem;min-height:35px;padding:5px 7px;background:var(--surface);border:1px solid var(--line);border-radius:8px;white-space:nowrap}
.counter-order{flex-basis:100%;font-size:.73rem;color:var(--muted);padding:1px 4px}
.counter-goal{position:relative;display:flex;align-items:center;gap:7px;min-height:44px;width:100%;padding:7px 9px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.counter-goal strong{font-size:.79rem;line-height:1.25;display:block}.counter-goal small{display:none}.goal-spark{font-size:1rem;color:#b79636}.goal-arrow{margin-left:auto;font-size:1.1rem;color:var(--muted)}.goal-progress{position:absolute;bottom:0;left:0;height:2px;background:#b49c4b;opacity:.7}
.counter-speech{position:absolute;z-index:2;top:65px;left:12px;max-width:55%;background:#fff8e9f0;color:#254534;border:1px solid #c5c4a1;border-radius:13px 13px 13px 3px;padding:8px 11px;pointer-events:none;box-shadow:0 3px 15px #132f2220}
.counter-speech small{font-size:.53rem;letter-spacing:.06em;color:#58664a;font-weight:700}.counter-speech p{font:.875rem/1.3 Georgia,serif;margin:3px 0 0}
.hands-on-layer{position:absolute;inset:0;z-index:4;pointer-events:none}
.touch-station{position:absolute;inset:auto 8px 72px;height:min(35%,210px);min-height:192px;display:grid;grid-template-rows:auto minmax(78px,1fr) 40px;pointer-events:auto;background:#efdfc3ed;color:#254832;border:1px solid #b9a47b;border-radius:15px;padding:7px 10px 3px;box-shadow:0 3px 16px #24371d20}
.touch-caption{position:relative;text-align:left;padding-right:57px;pointer-events:none;min-height:32px}.touch-caption h2{font:700 .95rem/1.2 system-ui,sans-serif;margin:0 0 3px}.touch-caption p{font:.72rem/1.25 system-ui,sans-serif;margin:0;color:#40583f}
.touch-recipe{position:absolute;right:0;top:-2px;pointer-events:auto;background:#faf4e4;border:1px solid #a49470;border-radius:8px;color:#37543a;min-height:35px;padding:5px 7px;font-size:.7rem}
.touch-surface{position:relative;min-height:78px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab}.touch-surface:active{cursor:grabbing}
.touch-art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}.touch-art svg{width:100%;height:100%;overflow:visible}
.touch-progress{position:absolute;bottom:1px;left:27%;right:27%;height:3px;border-radius:8px;background:#a38c5f33;overflow:hidden;pointer-events:none}.touch-progress span{display:block;height:100%;background:#517b4c;max-width:100%;width:0}
.touch-alternative{justify-self:center;min-height:38px;padding:5px 10px!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:.72rem!important;color:#35553b!important;text-decoration:underline;text-underline-offset:3px}
.touch-saving .touch-art{opacity:.7}.touch-saving .touch-alternative{opacity:.5;pointer-events:none}
.touch-active .service-overview,.touch-active .action-row{display:none}
.counter-event{position:absolute;z-index:3;top:145px;left:12px;right:12px;min-height:44px;padding:9px 12px;background:#f7e6adf2;color:#385235;border:1px solid #b49e55;border-radius:12px;font-size:.8rem;box-shadow:0 3px 12px #152b1e1a}
.hands-on-game .toast{font-size:.72rem;line-height:1.3;padding-top:2px}
.shift-headline{font:1.65rem Georgia,serif;line-height:1.15}.customer-quote{border-left:3px solid #b39b52;margin:18px 0;padding:8px 12px;background:var(--surface);font:1.12rem/1.4 Georgia,serif}.customer-quote cite{display:block;font:.8rem system-ui;margin-top:5px;color:var(--muted)}
.hands-on-game .page{padding:20px 15px;overflow:auto;min-height:0}.hands-on-game .page-heading h1{font-size:1.85rem}
[data-theme=dark] .touch-station{background:#d0ba92ed;border-color:#b9aa80}[data-theme=dark] .counter-stations button{background:#263f31f5;color:#f1ecd4;border-color:#81936d}[data-theme=dark] .counter-stations button[aria-pressed=true]{background:#46613d;border-color:#c4d692}
[data-theme=dark] .counter-goal{background:#1b3228}[data-theme=dark] .counter-speech{background:#f2e8cfea;color:#243e2c}
.sheet-body .grocery-item{grid-template-columns:44px minmax(0,1fr) 67px;gap:8px;padding:8px}.sheet-body .grocery-art{width:44px;height:53px}.sheet-body .grocery-item h2{font-size:.9rem;margin-bottom:3px}.sheet-body .grocery-item p{font-size:.75rem;margin-bottom:3px}.sheet-body .grocery-item small{font-size:.7rem}.sheet-body .grocery-shelves{gap:7px}.sheet-body .station-heading h1{font-size:1.55rem;margin:0 0 10px}.sheet-body .station-heading .eyebrow{margin:6px 0}.sheet-body .grocery-item input{min-height:44px}.sheet-body .basket-total{padding:9px 0}
@media(max-height:720px) and (orientation:portrait){.hands-on-game{height:auto;min-height:100dvh}.hands-on-game .owner-world{overflow:visible}.hands-on-game .owner-world .scene-wrap{height:410px;min-height:410px;flex:none}.touch-station{height:185px;min-height:185px}.counter-speech{top:61px}}
@media(orientation:landscape) and (max-height:520px){.hands-on-game{max-width:100%;height:100dvh;min-height:0}.hands-on-game .owner-world{max-width:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);height:100%;overflow:hidden}.hands-on-game .owner-world .scene-wrap{height:100%;min-height:270px;grid-column:1;grid-row:1}.hands-on-game .owner-world .operate{grid-column:2;grid-row:1;min-height:0;height:100%;overflow:auto;display:flex;flex-direction:column;justify-content:center}.hands-on-game .utility{display:none}.touch-station{height:155px;min-height:155px;bottom:64px;padding-top:5px}.touch-caption{min-height:25px}.touch-caption p{font-size:.65rem}.touch-caption h2{font-size:.8rem}.touch-station .touch-art svg{max-height:85px}.counter-stations{bottom:5px}.counter-stations button{min-height:49px}.counter-stations small{display:none}.hands-on-game .bottom-nav button{min-height:42px}.counter-speech{display:none}.counter-event{top:59px}.hands-on-game .topbar{padding-block:4px}}
.text-large .hands-on-game{height:auto;min-height:100dvh}.text-large .hands-on-game .owner-world{overflow:visible}.text-large .hands-on-game .owner-world .scene-wrap{flex:none;height:650px;min-height:650px}.text-large .touch-station{height:300px;min-height:300px;bottom:123px;grid-template-rows:auto minmax(130px,1fr) 48px}.text-large .touch-caption h2{font-size:1.1rem}.text-large .touch-caption p{font-size:1rem}.text-large .touch-alternative{font-size:1rem!important;min-height:44px}.text-large .counter-stations{grid-template-columns:1fr 1fr}.text-large .counter-stations button{min-height:50px}.text-large .counter-stations b{font-size:1rem}.text-large .counter-inventory button,.text-large .counter-order{font-size:1rem;white-space:normal}.text-large .counter-goal strong{font-size:1rem}.text-large .hands-on-game .time-row{flex-wrap:wrap}.text-large .hands-on-game .bottom-nav button{font-size:1rem}
.touch-station{background:#efdfc3}[data-theme=dark] .touch-station{background:#d0ba92}[data-theme=dark] .utility #update-button{color:#253e26;background:#f5dfa0;border-color:#c5ad62}

/* Company growth keeps the same mobile identity and readable controls. */
.enterprise-game{height:100dvh;overflow:auto;background:var(--paper);color:var(--ink,#f3efda);padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 116px);box-sizing:border-box}
.enterprise-game *{box-sizing:border-box}.enterprise-game h1{font-size:clamp(1.8rem,5vw,2.8rem);margin:.4rem 0}.enterprise-game h2{font-size:1.5rem}.enterprise-game p{line-height:1.5}.enterprise-header,.enterprise-content,.enterprise-nav,.enterprise-game>.notice{max-width:1040px;margin-left:auto;margin-right:auto}.enterprise-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.enterprise-header strong{display:block;font-size:1.7rem;white-space:nowrap}.enterprise-header small{font-size:.8rem}.enterprise-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible;padding:12px 0;position:sticky;top:-20px;z-index:2;background:var(--paper)}.enterprise-nav button{min-width:0;padding:10px 2px;min-height:44px;font-size:.8rem}.enterprise-nav [aria-current=page]{background:#c5dba4;color:#153627}.enterprise-content{display:grid;gap:14px}.enterprise-content .card{margin:0;padding:20px}.enterprise-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.enterprise-metrics div{padding:12px;border:1px solid #617258;border-radius:14px}.enterprise-metrics small,.enterprise-metrics strong{display:block}.enterprise-metrics strong{font-size:1.3rem;margin-top:6px}.enterprise-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.enterprise-actions button{flex:1;min-width:140px;min-height:44px}.enterprise-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.enterprise-game input,.enterprise-game select{width:100%;min-height:44px}.enterprise-game .checkbox input{width:24px;min-height:24px;flex-shrink:0}.enterprise-game label{display:block;margin:12px 0}.enterprise-game .checkbox{display:flex;align-items:center;gap:10px}.enterprise-game form>button{margin:8px 0;min-height:44px;width:100%}.enterprise-checklist{list-style:none;padding:0}.enterprise-checklist li{padding:10px 0;border-bottom:1px solid #52634e;line-height:1.4}.enterprise-checklist span{color:var(--green)}.enterprise-footer{position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid #617258;display:flex;justify-content:center;align-items:center;gap:16px;z-index:3}.enterprise-footer button{min-height:48px}.enterprise-footer span{font-size:.85rem}.enterprise-decision{padding:12px 0;border-bottom:1px solid #617258}@media(max-width:480px){.enterprise-header{align-items:flex-start;flex-direction:column}.enterprise-header p{margin:6px 0}.enterprise-footer span{max-width:110px}.enterprise-fields{grid-template-columns:1fr 1fr}.enterprise-game .eyebrow{font-size:.7rem}.enterprise-content .card{padding:16px}}

.app-update-banner{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:12px;right:12px;max-width:500px;margin:0 auto;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 4px 24px #0003;font-size:.85rem;line-height:1.4;z-index:1000;pointer-events:none}.app-update-banner[hidden]{display:none}.enterprise-footer{flex-wrap:wrap}.enterprise-version{flex-basis:100%;font-size:.73rem;min-height:30px;padding:4px}
