.shelf{left:14px;right:14px;top:44px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.item{pointer-events:auto;position:relative;min-width:96px;padding:8px 10px 10px;border:1px solid #7a7488;border-radius:8px;background:#2a3346e6;text-align:center;cursor:grab;touch-action:none;user-select:none}.item.dim{opacity:.75;cursor:pointer}.item.out{opacity:.4}.item .glyph{display:block;font-size:22px}.item strong{display:block;font:13px Georgia;color:#ede1d2}.item small{display:block;font-size:8px;letter-spacing:.8px;color:#a8a9b1;margin-top:3px}.item .cook{position:absolute;left:8px;right:8px;bottom:4px;height:3px;background:#3d4457;border-radius:2px}.item .cook:after{content:'';position:absolute;left:0;top:0;bottom:0;width:calc(var(--p)*100%);background:var(--pink);border-radius:2px}
.queue{left:14px;right:14px;bottom:60px;display:flex;justify-content:center;align-items:flex-end;gap:10px;flex-wrap:wrap}.customer{pointer-events:auto;position:relative;width:118px;padding:10px 8px 14px;border:1px solid #7a7488;border-radius:10px;background:#222d3bef;text-align:center;transition:transform .12s,border-color .12s}.customer.over{transform:translateY(-6px);border-color:var(--pink)}.customer.impatient{border-color:#e9d79e}.customer.angry{border-color:#e4a09d;animation:fret .5s infinite alternate}@keyframes fret{to{transform:translateX(2px)}}.customer .face{font-size:26px}.customer strong{display:block;font:12px Georgia;color:#ede1d2;margin-top:2px}.customer small{display:block;font-size:8px;letter-spacing:.6px;color:#a8a9b1}.customer .order{display:flex;justify-content:center;gap:4px;margin-top:6px;font-size:18px}.customer .patience{position:absolute;left:8px;right:8px;bottom:6px;height:4px;background:#3d4457;border-radius:2px}.customer .patience:after{content:'';position:absolute;left:0;top:0;bottom:0;width:calc(var(--p)*100%);background:#b9d9b4;border-radius:2px}.customer.impatient .patience:after{background:#e9d79e}.customer.angry .patience:after{background:#e4a09d}
.strikes{right:22px;top:20px;font-size:14px;letter-spacing:2px}.strikes span{opacity:.35}.strikes span.lit{opacity:1}.extra{left:14px;right:14px;top:150px;text-align:center;font-size:10px;color:#c9c4cc;pointer-events:none}.extra .tiles{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.extra .tiles span{min-width:34px;padding:4px 3px;border:1px solid #6d6a7b;border-radius:5px;background:#1c2536aa;font-size:14px}.extra .tiles span small{display:block;font-size:8px;color:#a8a9b1}.extra .tiles span.now{border-color:var(--pink)}
.break{position:absolute;inset:60px 0 40px;margin:auto;max-width:420px;z-index:5;background:#222d3bef;border:1px solid #9b8d8270;border-radius:10px;padding:20px 26px;text-align:center;backdrop-filter:blur(9px);pointer-events:auto}.break h3{font:24px Georgia;margin:8px 0 14px}.restock{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:14px}.restock button{font-size:10px;padding:8px 10px}
.ghost{position:fixed;z-index:50;pointer-events:none;transform:translate(-50%,-50%);font-size:32px;filter:drop-shadow(0 4px 8px #0008)}
.choice select{background:#262d3c;border:1px solid #626072;border-radius:5px;color:var(--ink);padding:6px 9px;font-size:12px}
@media(max-width:800px){.item{min-width:72px;padding:6px 6px 9px}.item strong{font-size:11px}.customer{width:96px}.extra{top:140px}.queue{bottom:56px}}

.counter-paused{position:absolute;inset:0;z-index:10;background:#202534e8;display:grid;place-content:center;text-align:center;gap:20px;color:#ede1d2}.counter-paused[hidden]{display:none}.counter-paused p{font:28px Georgia}.counter-paused button{min-height:44px;padding:12px 24px}#pause-counter{margin-right:8px}

/* Keep the forecast below wrapped shelves and reserve a separate row for strikes. */
.shelf{top:66px}.strikes{top:40px}.queue{max-height:290px;overflow-y:auto;padding-top:8px}.bottomline>span:nth-child(2){max-width:50%;text-align:center}
@media(max-width:800px){.stage{height:720px}.shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.item{min-width:0}.item small{letter-spacing:.2px}.queue{bottom:66px}.customer{width:calc((100% - 20px)/3);min-width:85px}.bottomline{gap:10px;letter-spacing:.4px}.strikes{font-size:12px}}
