/* Keep the tracking camera's central sightline clear. Panels share edge containers
   instead of independently accumulating absolute positions over the opponent. */
#hud-sidebar{position:absolute;left:16px;top:94px;width:214px;display:grid;gap:12px}
#hud-player,#hud-messages{display:grid;gap:6px;min-width:0}
#hud-boss{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:min(360px,38%);display:grid;gap:3px}
#hud-player .player-card,#hud-player #spirit-panel,#hud-boss .enemy-card,#hud-boss #opening-status,#hud-messages #boss-callout,#hud-messages #notice{
  position:static;inset:auto;transform:none;width:100%;max-width:none;margin:0;box-shadow:none;
}
#hud-player .player-card{padding:10px 12px}
#hud-player #spirit-panel{padding:8px 12px}
#hud-boss .enemy-card{padding:8px 10px;border-radius:5px}
#hud-boss .enemy-card p{display:flex;align-items:baseline;gap:10px;margin:0 0 5px;letter-spacing:1px;line-height:1.3}
#hud-boss .enemy-card p span{flex:1;min-width:0;margin:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
#hud-boss #opening-status{padding:5px 10px;font-size:9px;line-height:1.3}
#hud-boss #opening-status .meter{height:3px;margin-top:3px}
#hud-messages #boss-callout{padding:10px 12px;text-align:left;overflow-wrap:anywhere}
#hud-messages #boss-callout strong{font-size:14px;line-height:1.4;letter-spacing:0}
#hud-messages #boss-callout span{font-size:11px;line-height:1.55}
#hud-messages #boss-timer{font-size:12px;line-height:1.4}
#hud-messages #notice{padding:9px 12px;border-radius:6px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.55;text-align:left}
#hud-messages #notice:not(.show),#hud-messages #boss-callout:not([hidden]) + #notice{display:none}
#hud .score-card{top:94px;right:16px}
#hud #crosshair{width:22px;height:22px;background:none}
#hud #crosshair i{left:9px;top:9px;width:2px;height:2px}
#hud #crosshair #aim-label{position:absolute;inset:0 auto auto 0;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;transform:none;background:none}
#hud #enemy-marker{font-size:9px;line-height:1;opacity:.85}

@media(max-width:900px) and (min-height:501px){
  body.playing .brand{display:none}
  body.playing .topbar{padding:8px;justify-content:flex-end}
  #hud-boss{top:62px;left:8px;right:8px;transform:none;width:auto}
  #hud-sidebar{top:140px;left:8px;width:150px;gap:8px}
  #hud-player .player-card{padding:7px 8px}
  #hud-player .player-card p{font-size:10px;margin-bottom:4px}
  #hud-player .player-card p span{display:none}
  #hud-player #hearts{font-size:14px;line-height:1.2}
  #hud-player .barrier-status{font-size:9px;margin-top:7px;gap:5px}
  #hud-player #spirit-panel{padding:6px 8px;font-size:9px;gap:5px}
  #hud-player #spirit-panel b{font-size:8px;min-width:50px}
  #hud-messages #boss-callout,#hud-messages #notice{padding:7px 8px}
  #hud-messages #boss-callout strong{font-size:11px}
  #hud-messages #boss-callout span,#hud-messages #notice{font-size:10px;line-height:1.4}
  #hud-messages #boss-timer{font-size:10px}
  #hud .score-card{top:140px;right:8px;padding:7px 8px}
}

@media(max-height:500px){
  body.playing .brand{display:none}
  body.playing .topbar{padding:6px 8px!important;justify-content:flex-end}
  body.playing .top-actions{gap:4px}
  body.playing .top-actions button{padding:5px 8px;font-size:9px}
  #hud-boss{top:6px;left:50%;right:auto;transform:translateX(-50%);width:min(300px,38%);gap:2px}
  #hud-boss .enemy-card{padding:5px 8px}
  #hud-boss .enemy-card p{font-size:10px;margin-bottom:3px;gap:6px}
  #hud-boss .enemy-card p span{font-size:8px}
  #hud-boss .enemy-meter{height:3px}
  #hud-boss #opening-status{padding:4px 8px;font-size:8px}
  #hud-boss #opening-status .meter{height:2px;margin-top:2px}
  #hud-sidebar{top:62px;left:8px;width:148px;gap:7px}
  #hud-player{gap:4px}
  #hud-player .player-card{padding:6px 8px}
  #hud-player .player-card p{font-size:10px;margin-bottom:3px}
  #hud-player .player-card p span{display:none}
  #hud-player #hearts{font-size:12px;line-height:1.2}
  #hud-player .barrier-status{font-size:8px;margin-top:5px;gap:4px}
  #hud-player #spirit-panel{padding:5px 8px;font-size:8px;gap:4px}
  #hud-player #spirit-panel b{font-size:8px;min-width:50px}
  #hud-messages #boss-callout,#hud-messages #notice{padding:6px 8px}
  #hud-messages #boss-callout strong{font-size:10px}
  #hud-messages #boss-callout span,#hud-messages #notice{font-size:9px;line-height:1.3}
  #hud-messages #boss-timer{font-size:9px;margin-top:3px}
  #hud .score-card{top:57px;right:8px;padding:5px 8px}
  #hud .score-card strong{font-size:18px;margin:2px 0}
  #hud .score-card small{display:none}
  #hud #flight-readout{bottom:113px;left:8px;padding:5px 7px;font-size:8px}
}
