/* The complete play surface fits inside portrait and landscape viewports. */
.portal-return a{display:inline-flex;align-items:center;min-height:44px}
.icon-btn{min-height:44px}
.game-shell{height:min(720px,calc(100svh - 24px));min-height:0;max-height:none}
.overlay{overflow-y:auto}
.dialog{margin:auto}
@media(max-width:560px){.game-shell{height:min(740px,calc(100svh - 24px))}.overlay{align-items:safe center}.mode-picker button{min-width:0}}
@media(orientation:landscape) and (max-height:540px){
  .game-shell{height:calc(100svh - 24px)}
  .overlay{padding:16px 24px;align-items:flex-start}
  .intro{width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
  .intro>.eyebrow,.intro>h1,.intro>.lead{grid-column:1}
  .intro>h1{font-size:40px;line-height:1.1;margin:4px 0 8px}
  .intro>.lead{font-size:10px;margin:0}
  .intro>.mode-picker{grid-column:2;grid-row:1 / span 2;margin:0;align-self:start;flex-direction:column}
  .intro>#start{grid-column:2;grid-row:3;margin:8px 0 0;min-height:44px;padding:10px 14px;font-size:13px}
  .intro>.best{grid-column:2;margin-top:12px}
  .hud{padding:10px 14px}
  .hud strong{font-size:22px}
  .growth{position:static;width:180px}
  .dialog h2{font-size:22px;margin:8px 0}
  .dialog p{margin:8px 0}
  .dialog .primary{margin-top:12px;min-height:44px;padding:10px 16px}
  .dialog .secondary{min-height:44px;padding:8px}
  .result-score{font-size:36px}
}
