/* A bounded composition: screen height must not stretch a capped-width card
   or stage indefinitely. Phones retain their independently tested layout. */
@media (min-width:900px) and (orientation:landscape){
  body[data-page="arena"] .mn,
  body[data-page="fame"] .mn{display:flex;align-items:safe center}

  body[data-page="arena"]{--maxw:2400px;--gap:clamp(24px,2vw,48px)}
  .ar{height:auto;aspect-ratio:2.05;max-width:min(var(--maxw),calc(var(--main-h) * 2.05));max-height:100%;padding-block:clamp(16px,1.4vw,40px);min-height:0}
  .ar .stage{min-height:0}
  .ar .ring{--hf:min(calc(100cqh - 96px),calc((100cqw - 24px) / 1.72));--top:clamp(10px,1vw,24px)}
  .ar .side{min-width:0;gap:clamp(24px,2.3vw,56px)}
  .ar .board b{font-size:clamp(26px,1.7vw,40px)}
  .ar .board span{font-size:clamp(11px,.75vw,16px);max-width:240px}
  .ar .cast figure{width:clamp(44px,2.6vw,64px);height:clamp(44px,2.6vw,64px)}
  .ar .quip .say{font-size:clamp(18px,1.25vw,28px)}
  .ar .quip .nm,.ar .quip .src,.ar .eyebrow,.ar .fine{font-size:clamp(12px,.8vw,17px)}
  .ar .act h2{font-size:clamp(32px,3.2vw,64px)}
  .ar .camp{min-height:clamp(88px,5.4vw,120px)}
  .ar .camp img{width:clamp(36px,2.4vw,52px);height:clamp(36px,2.4vw,52px)}
  .ar .camp .nm{font-size:min(clamp(16px,1vw,24px),calc((50cqw - 26px) / 10.4))}
  .ar .chat-entry{max-width:none;min-height:clamp(52px,3.4vw,72px);font-size:clamp(16px,1vw,22px)}

  body[data-page="fame"]{--maxw:2240px}
  .lb{height:min(100%,calc((min(100vw,2240px) - 2 * var(--px) - 48px) * .4 + 300px));min-height:0}
  .lb .cwrap{min-height:150px}
  .lb .cc .fg{top:3%;height:min(calc(100cqh - 92px),116cqw);transform:translateX(-50%)}
  .lb .cc .cap{padding:14cqh 7cqw 7cqw}
  .lb .cc .nm{font-size:min(clamp(16px,1vw,24px),8.4cqw)}
  .lb .cc small{font-size:min(clamp(12px,.75vw,16px),6.6cqw)}
  .lb .cc .w{font-size:min(clamp(30px,2vw,48px),16cqw)}
}
/* Keep the content reachable when the window is short or text is enlarged. */
@media (min-width:900px) and (orientation:landscape) and (max-height:740px){
  .ar{aspect-ratio:auto;height:100%}
  .ar .side{gap:16px}
  .ar .cast figure{width:36px;height:36px}
  .ar .act h2{font-size:32px}
  .ar .camp{min-height:72px}
  .ar .chat-entry{min-height:48px}
}
