/* Mobile horizontal: composição nativa em tela inteira, sem escalar o canvas. */
@media(orientation:landscape) and (hover:none) and (pointer:coarse){
  html,body,#root{width:100%;height:100%;min-height:0;overflow:hidden}
  .campaign{position:relative!important;width:100%!important;height:100dvh!important;min-height:0!important;margin:0!important;transform:none!important;overflow:hidden}
  .campaignHeader{height:46px;padding:0 12px}
  .campaignHeader strong{font-size:15px}
  .campaignHeader small{font-size:7px}
  .campaignBrand>b{width:29px;height:29px}
  .campaignHud{height:38px;grid-template-columns:64px 1fr 62px 58px 68px}
  .campaignHud small{font-size:5px}
  .campaignHud b{font-size:11px}
  .liveStatus{font-size:7px}
  .campaignSea{height:calc(100dvh - 106px)!important;min-height:0!important}
  .campaignFooter{height:22px;padding:0 10px;font-size:6px}
  .campaignBoat{width:62px;height:51px}
  .campaignBoat.cargueiro{width:72px;height:60px}
  .campaignBoat:before{top:24px}
  /* O PNG/WebP tem 101 px transparentes à direita em um canvas de 512 px.
     A largura automática elimina letterboxing e a translação de 19,7266%
     coloca o último pixel visível exatamente na borda do viewport. */
  .portAsset{right:0!important;top:3%!important;width:auto!important;height:94%!important;object-fit:contain!important;transform:translateX(19.7266%)}
  .coast{right:-1px!important;width:7%!important}
  .lighthouseAsset{top:4%!important;left:1%!important;width:16.5%!important;height:76%!important}
  .pauseGameButton{right:79px;top:7px;height:31px}
  .arrivalTrack{bottom:7px}
  .campaignStart{padding:7px}
  .startShell{height:100%;min-height:0!important;border-radius:22px}
  .startArtwork{min-height:0!important}
  .startContent{padding:16px 22px}
  .startContent h1{font-size:27px}
  .startLead{margin:7px 0 9px;font-size:11px}
  .startProgress{padding:7px 10px}
  .reachedChapters{margin:7px 0 9px}
  .startButton{padding:11px 18px}
  .campaignResult.resultProfessional{max-height:92%;min-height:0;overflow:hidden}
}
