/* V26: right-side protection indicators share one non-overlapping stack. */
.lives .power-status{top:46px;gap:5px;align-items:flex-end}
.lives .power-status b{min-height:24px;line-height:1}
.lives .power-status .shield-status{border:1px solid #9ddfc9;background:#eefaf4;color:#197361;box-shadow:0 4px 10px #173f511c}
.lives .power-status .escort-status{border-color:#8ce8d0;background:#176c60;color:#ecfff8}
.lives .power-status .lantern-status{border-color:#efd27a;background:#75561d;color:#fff9df}
@media(max-width:440px){.lives .power-status{top:42px;gap:4px}.lives .power-status b{min-height:21px;font-size:8px;padding:4px 5px}}

/* Older mobile browsers that do not understand dvh retain a full-height shell. */
.shell{min-height:100vh;min-height:100dvh}

/* Keep the 9:16 game fully visible on short screens and in landscape mode. */
@media (max-height:760px), (orientation:landscape){
  .shell{justify-content:flex-start;min-height:100vh;min-height:100dvh}
  .game-wrap{width:min(630px,calc((100vh - 58px) * .5625));width:min(630px,calc((100dvh - 58px) * .5625))}
  header,footer{width:min(630px,calc((100vh - 58px) * .5625));width:min(630px,calc((100dvh - 58px) * .5625))}
}

@media (max-height:520px) and (orientation:landscape){
  .shell{padding-top:4px;padding-bottom:4px;gap:3px}
  header,footer{font-size:8px}
  header .brand{font-size:12px}
  .brand i{width:18px;height:18px}
  .game-wrap{width:min(630px,calc((100vh - 38px) * .5625));width:min(630px,calc((100dvh - 38px) * .5625))}
  header,footer{width:min(630px,calc((100vh - 38px) * .5625));width:min(630px,calc((100dvh - 38px) * .5625))}
}

/* V27: pair the escort card with the lantern card; emphasize the session score. */
.share-card .result-powerup.escort{border-color:#ecd17a;background:#fff9e6;color:#86661f}
.share-card .result-powerup.escort img{filter:saturate(.92) contrast(1.04)}
.share-card .result-stats>span:first-child{background:#1f806d;box-shadow:0 5px 12px #1766502b}
.share-card .result-stats>span:first-child small,.share-card .result-stats>span:first-child strong{color:#fff}
.share-card .result-stats>span:first-child strong{letter-spacing:.02em}
