/* Request operations: readable controls over a pixel-art workspace. */
.workflow{display:flex;background:#253650;color:#b6d1ee;padding:10px 20px;gap:8px;font:11px monospace}.workflow span{padding:7px 12px;border:1px solid #ffffff24;border-radius:5px;flex:1;text-align:center}.workflow .active{background:#ffeab7;color:#253650;border-color:#ffeab7;font-weight:bold}.next-action{display:flex;align-items:center;gap:10px;padding:14px 20px;background:#fff9e9;color:#385684;min-height:58px;font-size:13px}.action-dot{height:8px;width:8px;flex-shrink:0;border-radius:50%;background:#6479b7}.next-action button{margin-left:auto;background:#385684;color:white;border:0;border-radius:6px;padding:12px 18px;white-space:nowrap}.game-layout{grid-template-columns:230px minmax(0,1fr);min-height:0}.inbox{background:#8396b2}#belt{gap:12px;min-height:0;padding:12px 10px}.prompt-card{border:0;border-radius:5px;border-left:4px solid #6479b7;background:#fff9e9;padding:12px;box-shadow:3px 4px #25365066;min-height:112px}.prompt-card:before{display:none}.prompt-card .ticket-top{display:flex;align-items:center;gap:7px;font:9px monospace;color:#6479b7;letter-spacing:.8px;margin-bottom:8px}.ticket-top i{font-style:normal;font-size:17px}.prompt-card b{font-size:15px;line-height:1.3;letter-spacing:-.2px}.prompt-card small{display:block;font-size:10px;color:#66778d;margin-top:5px;line-height:1.4}.prompt-card .ticket-bottom{display:flex;justify-content:space-between;border-top:1px dashed #c6c6c9;margin:10px 0 0;padding-top:8px;font:10px monospace;color:#385684}.ticket-bottom i{font-style:normal}.prompt-card:hover{transform:translateY(-2px);background:white;box-shadow:3px 6px #25365077}.room .station{width:27%;right:7%;height:25%}.station b{font-size:12px}.station small,.station-state{font:10px/1.3 sans-serif;white-space:normal}.station.actionable{filter:drop-shadow(0 0 5px #ffeab7)}.station.actionable .station-state{background:#ffeab7;color:#253650}.floor-button{min-height:44px;min-width:70px}.floor-button.actionable{background:#ffeab7!important;color:#253650;border-color:white}.room-caption{font:11px/1.4 sans-serif;padding:7px 12px;pointer-events:none}.nami,.game-focused .nami{width:9%;height:auto;aspect-ratio:4/5}.game-footer{font-size:11px;line-height:1.5}.game-toolbar button{min-height:40px}.game-toolbar>div{display:flex;flex-wrap:wrap;gap:5px}.game-shell button:focus-visible{outline:3px solid #ff5a5f;outline-offset:3px}.request-dialog{width:min(580px,94vw);padding:28px;background:#fffcf5;border:2px solid #385684;border-radius:12px;max-height:90dvh;overflow:auto}.request-heading{display:flex;align-items:center;justify-content:space-between;padding-right:28px}.request-stamp{font:700 10px/1.4 monospace;letter-spacing:2px;border:2px solid #6479b7;padding:7px 10px;color:#6479b7;transform:rotate(-4deg)}.request-heading .tag{line-height:1.8;text-align:right}.request-dialog h2{margin:24px 0 18px;font:600 30px/1.15 sans-serif;letter-spacing:-1px}.sender{display:flex;align-items:center;gap:10px}.sender>span{display:grid;place-items:center;width:38px;height:38px;background:#b6d1ee;border-radius:50%;font-weight:bold}.sender small{display:block;font:9px monospace;color:#6479b7;margin-bottom:3px}.sender b{font-size:13px}.request-dialog blockquote{margin:22px 0;padding:18px;background:white;border-left:3px solid #6479b7;font:16px/1.65 sans-serif;box-shadow:0 3px 15px #38568408}.request-context{border-top:1px dashed #bfbdba;padding-top:16px}.request-context>b{font-size:12px}.request-context p{font-size:13px;line-height:1.6;margin:6px 0 16px;color:#596b81}.cost-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cost-options>div{border:1px solid #d2dce8;border-radius:8px;padding:12px;background:#edf4fb}.cost-options>div+div{background:#eeedf8}.cost-options b{font:10px monospace;letter-spacing:1px}.cost-options strong{display:block;margin:7px 0;font-size:24px}.cost-options strong small{font-size:12px;font-weight:400}.cost-options span{font-size:11px;line-height:1.5;display:block}.request-dialog .request-note{font-size:11px;color:#64748b;margin-bottom:0}.request-dialog .buttons{margin-top:15px;display:grid;grid-template-columns:1fr 1fr}.request-dialog #reject-card{background:transparent;color:#385684;border:1px solid #b6c6d8}.request-dialog button:disabled{opacity:.5;cursor:not-allowed}#close-modal{min-width:44px;min-height:44px;top:4px;right:4px}
@media(max-width:900px){.game-layout{grid-template-columns:190px minmax(0,1fr)}.prompt-card b{font-size:13px}.station b{font-size:10px}.station small,.station-state{font-size:9px}}
@media(max-width:600px){.workflow{padding:8px;gap:4px;font-size:9px}.workflow span{padding:7px 2px}.next-action{padding:10px;font-size:12px;flex-wrap:wrap;gap:7px}.next-action strong{flex:1}.next-action button{padding:10px;min-height:44px}.game-layout{display:flex}.game-layout .inbox{padding:8px}.prompt-card{min-width:154px;max-width:154px;min-height:112px;padding:10px}.prompt-card b{font-size:13px}.prompt-card .ticket-top{font-size:9px}.prompt-card .ticket-bottom{font-size:9px}.prompt-card small{font-size:10px}#belt{padding:9px;scroll-snap-type:x proximity}.prompt-card{scroll-snap-align:start}.room .station{width:29%;right:5%;height:26%}.station b{font-size:9px}.station small,.station-state{font-size:8px;padding:2px 4px}.floor-button{min-height:44px;min-width:64px;font-size:10px;bottom:7%}.room-caption{font-size:9px;padding:4px 5px}.game-footer{font-size:10px}.request-dialog{padding:20px}.request-dialog h2{font-size:26px}.request-dialog blockquote{padding:14px;font-size:15px}.request-dialog .buttons button{padding:13px 8px;font-size:12px}.game-toolbar small{display:none}}
/* Keep the full workstation reachable without scrolling away from dispatch. */
@media(min-width:601px){#belt{max-height:430px;overflow-y:auto}.game-shell.game-focused{left:50%;right:auto;transform:translateX(-50%);width:min(calc(100vw - 20px),calc((100dvh - 300px)*1.3333 + 230px))}.game-focused .game-layout{grid-template-columns:190px minmax(0,1fr)}.game-focused .inbox{max-height:calc(100dvh - 300px);overflow-y:auto}.game-focused #belt{max-height:none}.game-focused .game-toolbar{padding:10px 12px}.game-focused .stats{padding:12px}.game-focused .next-action{min-height:48px}.game-focused .game-footer{padding:10px}.game-focused .workflow{padding:8px}.game-focused .station b{font-size:10px}.game-focused .station small,.game-focused .station-state{font-size:9px}}
@media(min-width:601px){.game-layout{position:relative}.game-layout .inbox{position:absolute;inset:0 auto 0 0;width:230px;height:100%;max-height:none;overflow-y:auto}.game-layout .room{grid-column:2}.game-focused .game-layout .inbox{width:190px;max-height:none}.game-focused #belt{max-height:none}}
@media(min-width:601px) and (max-width:900px){.game-layout .inbox{width:190px}}
/* Put the dispatch control below its belt so parcels stay visible. */
#dispatch{right:auto;left:65%;bottom:1%;min-height:30px;padding:3px 10px;font-size:10px;z-index:101}#dispatch br{display:none}.room-caption{left:0;right:36%;font-size:9px;text-align:left;padding:4px 7px}.room #dispatch{min-width:72px}
@media(max-width:600px){#dispatch{left:64%;bottom:0;min-height:32px;font-size:9px}.room-caption{right:39%;font-size:8px;line-height:1.3}}

/* Keep Nami on the same nearest-neighbor pixel grid as the workstation. */
.room .nami{visibility:hidden}.tutorial-target{outline:3px solid #ffeab7!important;outline-offset:3px;box-shadow:0 0 0 6px #385684!important;animation:tutorial-glow 1.2s steps(2,end) infinite!important}.next-action #skip-guide{font-size:11px;padding:9px 12px;flex-shrink:0}.next-action button[hidden]{display:none}@keyframes tutorial-glow{50%{outline-color:#ff5a5f}}@media(prefers-reduced-motion:reduce){.tutorial-target{animation:none!important}}

/* Shared resource symbols in the HUD and readable action receipts. */
.stat-water{--resource-color:#2869a1;--resource-bg:#dfedff}.stat-happy{--resource-color:#9a5c12;--resource-bg:#fff0c9}.stat-impact{--resource-color:#30735e;--resource-bg:#def3e8}
.stat-reading{display:flex;align-items:center;gap:9px}.resource-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--resource-bg);color:var(--resource-color);flex-shrink:0}.resource-icon svg,.resource-chip svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.world-stat meter::-webkit-meter-optimum-value{background:var(--resource-color)}
.resource-feedback{position:absolute;top:12%;left:6%;z-index:110;pointer-events:none;background:#fffdf4;border:2px solid #385684;border-radius:9px;padding:9px 12px;box-shadow:3px 4px #25365055;opacity:0;transform:translateY(5px);transition:opacity .12s,transform .12s}.resource-feedback.visible{opacity:1;transform:translateY(0)}.feedback-caption{display:block;font:700 9px/1.4 monospace;letter-spacing:1px;color:#385684;margin-bottom:6px}.resource-feedback>div{display:flex;gap:7px}.resource-chip{display:flex;align-items:center;gap:7px;padding:5px 9px;border-radius:6px;color:var(--resource-color);background:var(--resource-bg)}.resource-chip b{font:700 21px/1 sans-serif;font-variant-numeric:tabular-nums}
@media(max-width:600px){.stat-reading{gap:4px}.resource-icon{width:25px;height:27px;border-radius:5px}.resource-icon svg{width:19px;height:19px}.stats .stat-reading strong{font-size:16px}.resource-feedback{padding:6px 8px;top:9%;left:4%}.feedback-caption{font-size:8px}.resource-chip{padding:4px 6px;gap:4px}.resource-chip b{font-size:18px}.resource-chip svg{width:20px;height:20px}}

.resource-flight{position:fixed;z-index:10010;pointer-events:none;box-shadow:0 3px 12px #25365040;border:2px solid white;will-change:transform;white-space:nowrap}.world-stat.resource-arrived .resource-icon{box-shadow:0 0 0 3px var(--resource-color),0 0 0 7px var(--resource-bg)}

.resource-chip .change-direction{width:17px;height:21px;stroke-width:3;margin-right:-4px;flex-shrink:0}

.resource-chip .change-direction.increase{color:#21834b}.resource-chip .change-direction.decrease{color:#ce3545}.resource-chip .change-direction.neutral{color:#69768a}

.world-stat strong.count-increase{color:#21834b}.world-stat strong.count-decrease{color:#ce3545}
