/* Dedicated game canvas and thumb-first Phase 2 controls. */
.world-stage{overflow:hidden;touch-action:none;background:#9ab7b6}
.world-map{z-index:1;touch-action:none}
.world-map canvas{display:block;width:100%;height:100%;touch-action:none}
.world-stage.playing .game-hud{display:grid}
.world-stage.playing .touch-controls{display:flex}
.world-stage.playing .world-entry{display:none}
.world-entry[hidden],.world-shim[hidden]{display:none!important}
.world-stage .game-hud{inset:calc(8px + env(safe-area-inset-top)) 8px auto 8px;grid-template-columns:auto 1fr;gap:5px;max-width:calc(100% - 16px)}
.world-stage .hud-name,.world-stage .hud-stats{min-height:38px;box-sizing:border-box}
.world-stage .hud-stats{justify-content:space-around}
.world-stage .hud-destination{display:none}
.world-stage .hud-actions{grid-column:1/-1;display:flex;overflow-x:auto;max-width:100%;scrollbar-width:none}
.world-stage .hud-actions button{flex:0 0 auto;min-height:44px;padding:8px 10px}
.world-stage .touch-controls{inset:auto calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));align-items:end}
.world-stage .joystick{position:relative;width:128px;height:128px;flex:0 0 128px;background:rgba(11,28,25,.4)}
.world-stage .joystick span{width:52px;height:52px;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}
.world-stage .touch-buttons{grid-template-columns:repeat(2,1fr);max-width:174px;gap:6px}
.world-stage .touch-buttons button{min-width:78px;min-height:52px;padding:7px;border-radius:16px;background:rgba(8,22,21,.8)}
.world-stage .touch-buttons #wAction{grid-column:1/-1;min-width:162px;min-height:54px}
.world-stage .touch-buttons #wGas{background:rgba(37,147,91,.84)}
.world-stage .touch-buttons #wBrake{background:rgba(172,86,55,.86)}
.world-stage .world-panel{top:calc(8px + env(safe-area-inset-top));right:8px;max-height:calc(100% - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));z-index:12;transition:none}
.world-stage .world-panel button,.world-stage .world-panel select{min-height:48px}
.world-stage .landmark-list button,.world-stage .mission-list button{display:block;width:100%;margin:5px 0;padding:10px;text-align:left;border:1px solid #485b57;border-radius:10px;background:#233631;color:white}
.world-stage .world-panel label{display:block;margin:12px 0}
.world-stage .world-panel select{width:100%;background:#233631;color:white;border:1px solid #485b57;border-radius:8px}
.world-stage .world-panel input[type=checkbox]{width:20px;height:20px;vertical-align:middle}
.life-colours{display:flex;gap:15px;margin:8px 0}.life-colours label{font-size:12px;display:flex;gap:6px;align-items:center}.life-colours input{width:28px;height:28px;padding:0;border:0;background:transparent}
.life-minimap{position:absolute;z-index:4;top:105px;right:8px;width:120px;height:90px;border:1px solid #d9e1d0;border-radius:12px;opacity:.9;pointer-events:none;display:none}.playing .life-minimap{display:block}
.interact-prompt{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 12px;border-radius:100px;background:#17312bc9;color:white;font-size:12px;display:none}.playing .interact-prompt{display:block}
.life-auto{position:absolute;z-index:4;left:8px;top:115px;min-height:42px;padding:8px 10px;border:1px solid #ffffff75;border-radius:12px;background:#17312bd9;color:white;display:none}.playing .life-auto{display:block}
#lifeOverview{position:absolute;inset:0;z-index:8;display:none;background:#203a3a;color:#fff}.overview-mode #lifeOverview{display:block}.overview-mode .touch-controls,.overview-mode .game-hud,.overview-mode .life-minimap,.overview-mode .life-auto{display:none!important}.overview-mode .world-hud{display:block;z-index:10}
.life-map-status{position:absolute;z-index:4;left:50%;top:45%;transform:translate(-50%,-50%);width:min(290px,80%);padding:14px 18px;border-radius:16px;background:#152b27e8;color:#fff;text-align:center;font-size:13px;line-height:1.45;pointer-events:none}
.life-label{position:absolute;z-index:3;transform:translate(-50%,-100%);padding:4px 7px;border:1px solid #e5d8b68c;border-radius:7px;background:#24352ddb;color:#fff3d7;font-size:10px;font-weight:700;white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #000}.life-label[hidden],.overview-mode .life-label{display:none!important}
.world-stage .world-hud{display:none}
@media (max-width:600px){.life-minimap{top:99px;width:100px;height:75px}.life-auto{top:98px;left:8px;font-size:11px}.interact-prompt{bottom:calc(178px + env(safe-area-inset-bottom))}.world-stage .touch-buttons{max-width:160px}.world-stage .touch-buttons button{min-width:73px}.world-stage .touch-buttons #wAction{min-width:152px}}
@media (min-width:900px) and (pointer:fine){.world-stage.playing .touch-controls{display:none}.life-minimap{width:160px;height:120px;top:95px}}
