/* Three physical waiting positions. Simulation time drives movement and arrivals. */
.game-layout .inbox{overflow:hidden;display:flex;flex-direction:column;padding:10px}.intake-mouth{flex-shrink:0;text-align:center;background:#17283f;border:3px solid #b6d1ee;color:#b6d1ee;padding:6px;font:10px monospace;letter-spacing:2px;box-shadow:0 4px #253650;z-index:2}.inbox-title{flex-shrink:0}.game-layout #belt,.game-focused #belt{position:relative;flex:1;min-height:350px;max-height:none;overflow:hidden;display:block;border-top:0;margin:0 6px;padding:0}.game-layout #arrival-note{display:block;flex-shrink:0;font:10px/1.5 monospace;text-align:center;color:#fff;margin:9px 0 0;min-height:30px}.game-layout .prompt-card{position:absolute;top:0;left:7px;width:calc(100% - 14px);height:104px;min-height:104px;max-width:none;min-width:0;padding:9px;animation:none;transform:translateY(calc(var(--position,0) * (var(--belt-height,350px) - 108px)));transition:box-shadow .15s;background:#fff9e9;border-radius:4px}.game-layout .prompt-card:hover{background:white;box-shadow:0 0 0 2px #ffeab7,3px 4px #25365088}.prompt-card .ticket-top{margin-bottom:5px;font-size:9px}.prompt-card .ticket-top i{font-size:12px}.prompt-card b{font-size:12px;line-height:1.2}.prompt-card small{font-size:9px;line-height:1.2;margin-top:4px}.prompt-card .ticket-bottom{font-size:9px;margin-top:6px;padding-top:6px}
.room .station{width:24%;right:8.5%;height:23%;justify-content:center;gap:0;padding:0;filter:none}.room .station .station-state,.room .station progress{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ai-name{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);font:700 9px monospace;letter-spacing:1px;color:white;background:#253650e8;padding:3px 7px;border-radius:3px}.water-badge{position:absolute;right:-6px;top:-3px;background:#e6f2ff;color:#253650;border:2px solid #385684;box-shadow:2px 2px #25365055;border-radius:8px;padding:4px 7px;display:flex;align-items:center;gap:4px;font:700 12px monospace}.water-badge svg{width:9px;height:13px;fill:#6479b7}.ai-indicator{display:grid;place-items:center;width:36px;height:36px;background:#253650e8;border:2px solid #8ba6c8;border-radius:50%;margin-top:-13px;box-shadow:0 3px #17283f55}.ai-indicator svg{width:21px;height:21px;fill:none;stroke:#b6d1ee;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ai-idle{opacity:.5}.ai-working,.ai-package,.ai-warning{display:none}.station.pending .ai-idle,.station.ready .ai-idle,.station.low-water .ai-idle{display:none}.station.pending .ai-working{display:block;animation:ai-spin 1s linear infinite;stroke:#ffeab7}.station.ready .ai-package{display:block;stroke:#253650}.station.ready .ai-indicator,.station.actionable .ai-indicator{background:#ffeab7;border-color:#fff;box-shadow:0 0 0 4px #ffeab735;animation:ai-glow 1.4s ease-in-out infinite}.station.actionable .ai-idle{opacity:1;stroke:#385684;fill:#385684}.station.ready .ai-package{animation:parcel-bob .8s ease-in-out infinite alternate}.station.low-water .ai-warning{display:block;stroke:#ff888b}.station.low-water .water-badge{background:#ffe5df}.motion-paused .ai-indicator,.motion-paused .ai-indicator svg{animation-play-state:paused!important}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-glow{50%{box-shadow:0 0 0 7px #ffeab720}}@keyframes parcel-bob{to{transform:translateY(-3px)}}
@media(min-width:601px){.game-layout .inbox{width:190px}.game-layout{grid-template-columns:190px minmax(0,1fr)}.game-focused .inbox #belt{min-height:0}.game-focused .inbox .prompt-card{height:94px;min-height:94px}.game-focused .prompt-card small{display:none}.game-focused .inbox #arrival-note{font-size:9px;min-height:28px}}
@media(max-width:600px){.game-layout .inbox{display:block;height:auto;padding:8px}.intake-mouth{position:absolute;top:30px;bottom:33px;left:8px;width:17px;padding:5px 1px;writing-mode:vertical-rl;font-size:8px;border-width:2px}.game-layout #belt{height:122px;min-height:122px;width:calc(100% - 17px);margin-left:17px;overflow:hidden;border:2px solid #253650;background:repeating-linear-gradient(90deg,#385684 0px,#385684 27px,#293f62 28px,#293f62 32px);animation-name:belt-side}.game-layout .prompt-card{left:0;top:7px;width:30%;min-width:0;max-width:none;height:104px;padding:7px;transform:translateX(calc(var(--position,0) * (var(--belt-width,300px) * .7 - 5px)));}.game-layout .prompt-card small{display:none}.game-layout .prompt-card b{font-size:11px}.game-layout .prompt-card .ticket-bottom{font-size:8px}.game-layout #arrival-note{margin:5px 0 0;min-height:15px;font-size:9px}.room .station{width:25%;right:8%;height:23%}.ai-indicator{width:30px;height:30px;margin-top:-5px}.ai-indicator svg{width:18px;height:18px}.ai-name{font-size:8px;bottom:0}.water-badge{font-size:10px;right:-8px;top:-4px;padding:3px 5px}.water-badge svg{width:7px;height:10px}@keyframes belt-side{to{background-position:32px 0}}}
@media(prefers-reduced-motion:reduce){.ai-indicator,.ai-indicator svg{animation:none!important}}
/* Phone touch controls: keep Dispatch below the belt, not over the parcels. */
@media(max-width:600px),(max-height:500px) and (orientation:landscape){
 .room{overflow:visible;margin-bottom:48px}.room #dispatch{top:calc(100% + 4px);bottom:auto;left:auto;right:4px;min-height:44px;min-width:110px;font-size:13px;padding:8px 16px;border-radius:6px}.room-caption{right:0}.game-layout{background:#b6d1ee}
}
/* Short landscape screens use a control column beside the full workstation. */
@media(min-width:601px) and (max-height:500px) and (orientation:landscape){
 .game-shell.game-focused{inset:4px;transform:none;width:auto;max-height:calc(100dvh - 8px);display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:auto auto auto 1fr auto;gap:0;align-items:start;overflow:auto}
 .game-focused .game-toolbar,.game-focused .stats,.game-focused .workflow,.game-focused .next-action,.game-focused .game-footer{grid-column:1;min-width:0}
 .game-focused .game-toolbar{padding:5px;display:block}.game-focused .game-toolbar>b{display:none}.game-focused .game-toolbar>div{gap:3px}.game-focused .game-toolbar button{min-height:32px;padding:5px 7px;font-size:10px}
 .game-focused .stats{grid-template-columns:1fr 1fr;padding:7px;gap:8px}.game-focused .stats small{font-size:7px;letter-spacing:0;margin-bottom:3px}.game-focused .stats strong{font-size:17px}.game-focused .resource-icon{width:24px;height:26px}.game-focused .resource-icon svg{width:19px;height:19px}.game-focused .stat-reading{gap:4px}
 .game-focused .workflow{padding:5px;gap:3px;flex-wrap:wrap;font-size:8px}.game-focused .workflow span{flex:1 0 40%;padding:4px}
 .game-focused .next-action{padding:8px;font-size:11px;line-height:1.4;flex-wrap:wrap;min-height:0}.game-focused .next-action strong{flex:1}.game-focused .next-action button{padding:7px;min-height:34px}.game-focused .game-footer{padding:6px;font-size:9px;flex-wrap:wrap}.game-focused .game-footer>span+span{display:none}
 .game-focused .game-layout{grid-column:2;grid-row:1/6;width:min(100%,calc((100dvh - 64px)*1.3333 + 140px));display:grid;grid-template-columns:140px minmax(0,1fr);align-self:start;min-height:0}
 .game-focused .game-layout .inbox{width:140px;bottom:48px;height:calc(100% - 48px);padding:6px}.game-focused .inbox #belt{min-height:0;margin:0}.game-focused .inbox .prompt-card{height:76px;min-height:76px;padding:6px}.game-focused .prompt-card b{font-size:11px}.game-focused .prompt-card .ticket-bottom{font-size:8px;margin-top:3px;padding-top:3px}.game-focused .prompt-card .ticket-top{margin-bottom:3px}.game-focused .inbox-title{font-size:9px}.game-focused .intake-mouth{font-size:8px;padding:4px}.game-focused .game-layout .room{grid-column:2;min-height:0}.game-focused .ai-name{font-size:8px}.game-focused .water-badge{font-size:10px;padding:3px 5px}.game-focused .ai-indicator{width:28px;height:28px}.game-focused .ai-indicator svg{width:17px;height:17px}
}
@media(max-width:600px){.game-focused .game-layout{flex-shrink:0}.game-layout .room,.game-layout .inbox{flex-shrink:0}}
@media(min-width:601px) and (max-height:500px) and (orientation:landscape){.game-shell.game-focused{grid-template-rows:auto auto auto auto auto}.game-focused .next-action strong{flex-basis:calc(100% - 24px)}.game-focused .next-action button{margin-left:18px}}
@media(max-width:600px){.game-focused .game-toolbar>b{display:none}.game-focused .game-toolbar{padding:6px}.game-focused .game-toolbar>div{width:100%;flex-wrap:nowrap;gap:3px}.game-focused .game-toolbar button{flex:1;min-width:0;min-height:40px;padding:4px;font-size:9px}}
