/* Living-city interactions share the campaign's existing control space. */
#city-ui{position:absolute;inset:0;z-index:5;pointer-events:none;color:#ecfff7}
#city-ui button{min-height:44px;padding:10px 12px;background:#20545c;color:#effff9;border:1px solid #81cec4;border-radius:6px;cursor:pointer;pointer-events:auto;touch-action:manipulation;font:600 12px/1.4 system-ui}
#city-ui button:focus-visible{outline:3px solid #c5ff98;outline-offset:3px}
#city-call{position:absolute;left:18px;right:170px;top:136px;max-width:380px;background:#173b4de8;border-left:4px solid #ffcb73;border-radius:4px;padding:9px 12px;font-size:12px;line-height:1.5}
#city-objective{position:absolute;left:18px;right:155px;bottom:192px;max-width:380px;background:#153747ed;border:1px solid #89c7c888;border-radius:6px;padding:9px;font-size:11px;line-height:1.6}
#city-interact{position:absolute;right:18px;bottom:130px;max-width:225px}
#city-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,480px);max-height:calc(100% - 24px);overflow:auto;overscroll-behavior:contain;pointer-events:auto;padding:20px;background:#102b39f5;border:1px solid #89d6c3;border-radius:12px}
#city-panel h2{font-size:18px;display:block;margin:9px 0 15px}#city-panel h3{font-size:14px}#city-panel p{font-size:14px;line-height:1.8;white-space:pre-wrap}#city-panel small{display:block;color:#badbd8;font-size:10px;line-height:1.7}#city-panel button{display:block;width:100%;text-align:left;margin-top:10px}
.city-portrait{width:54px;height:54px;border:2px solid #c6eee1;border-radius:12px;display:grid;place-items:center;font-size:27px;color:#143a49}
body[data-game=patrol] .touch-action-pad button:not(#touch-run){display:none}body[data-game=patrol] .touch-action-pad{display:flex}
body[data-game=dialogue] .touch-controls,body[data-game=incident-result] .touch-controls{display:none}
body[data-game=incident-battle] .combat-hud{display:grid!important}body[data-game=incident-battle] #pause-toggle{display:block;top:78px;right:95px}body[data-game=incident-battle] #pause-panel{display:block}body[data-game=incident-battle] .quest-card{display:none}
body[data-game=incident-battle] #game-model-note{display:none}body[data-game=incident-battle] #game-hud{padding-right:13px}body[data-game=incident-battle] #game-map{top:auto;bottom:220px;width:108px}body[data-game=incident-battle] #game-pause{display:none}
@media(max-width:760px){#city-call{left:10px;right:132px;top:150px;font-size:10px;padding:7px}#city-objective{left:10px;right:122px;bottom:183px;font-size:10px;padding:7px;line-height:1.5}#city-interact{right:17px;bottom:128px;max-width:220px}#city-panel{padding:15px}#city-panel p{font-size:13px}body[data-game=incident-battle] #game-map{width:94px;bottom:205px}body[data-game=incident-battle] #pause-toggle{right:85px}body[data-game=incident-battle] #sound-toggle{top:78px;right:10px;left:auto}}
@media(max-height:760px){body[data-game=incident-battle] #game-map,body[data-game=incident-battle] #city-call{display:none}body[data-game=incident-battle] #city-objective{left:10px;right:10px;bottom:178px;font-size:10px;padding:4px 7px}}
/* The emergency call has already played before combat; retain readable enemy
   telegraphs rather than stacking a second banner over the combat HUD. */
body[data-game=incident-battle] #city-call{display:none}
#group-hud{position:absolute;right:18px;top:122px;width:280px;padding:9px;background:#152d40ed;border:1px solid #76c2cb;border-radius:7px;font-size:11px;line-height:1.4;pointer-events:none}
#group-hud strong{display:block;font-size:11px;margin-bottom:5px}#group-hud span{display:block}#group-hud progress{display:block;width:100%;height:5px;margin:3px 0 6px;accent-color:#db9a83}
#group-hud div[data-state=Windup]{color:#ffd077}#group-hud div[data-state=Attack],#group-hud [data-danger=true]{color:#ff9a9a}#group-hud div[data-state=Recovery]{color:#8ad4f9}
#group-hud p{font-size:10px;margin:5px 0}#group-hud small{display:block;font-size:10px;color:#a7d5ee}
body[data-paused=true] #city-ui{display:none}
body[data-game=incident-battle][data-multi=true] #city-interact{bottom:186px;max-width:190px}
@media(max-width:760px){body[data-game=incident-battle][data-multi=true] #game-map{display:none}}
@media(max-width:760px){#group-hud{left:10px;right:10px;top:239px;width:auto;padding:6px;font-size:10px;display:grid;grid-template-columns:1fr 1fr;gap:0 8px}#group-hud strong,#group-hud small,#group-hud>p:last-child{grid-column:1/-1}#group-hud progress{margin-bottom:3px}#group-hud p{margin:3px 0}body[data-game=incident-battle][data-multi=true] #game-hud{display:none}body[data-game=incident-battle][data-multi=true] .enemy-health,body[data-game=incident-battle][data-multi=true] .combat-readout:not(.ammo-readout),body[data-game=incident-battle][data-multi=true] #attack-warning,body[data-game=incident-battle][data-multi=true] #attack-warning-hint{display:none}body[data-game=incident-battle][data-multi=true] .combat-hud{top:12px;max-width:calc(100% - 20px)}body[data-game=incident-battle][data-multi=true] #group-hud{top:155px}}
@media(max-height:660px){body[data-game=incident-battle][data-multi=true] #group-hud{top:12px;left:auto;right:10px;width:48%;max-height:calc(100% - 188px);overflow:auto;pointer-events:auto;overscroll-behavior:contain}body[data-game=incident-battle][data-multi=true] #group-hud>p:last-child{display:none}body[data-game=incident-battle][data-multi=true] .combat-hud{width:45%}}
