/* Shared control alignment for homepage and dedicated game shells. */
:where(button,[role="button"],.primary-button,.secondary-button,.game-status){
  text-align:center;
  vertical-align:middle;
}
:where(button:not(.streak),[role="button"],.primary-button,.secondary-button,.game-status){
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
:where(button,[role="button"],.primary-button,.secondary-button,.game-status)>:where(span,strong,small,svg){
  flex:0 0 auto;
}
:where(button,[role="button"],.primary-button,.secondary-button){
  text-wrap:balance;
}

/* Title typography follows the actual artwork plaque, including narrow
   portrait boards on a desktop. Viewport-wide fonts overflow those frames. */
html body.letter-typesetter-active #letter .typesetter-title,
html #groups.case-file .panel-head,
html #trail.trail-cartographer .panel-head,
html.link-immersive .link-title,
html.steps-immersive .steps-rooftops-title{
  container-type:inline-size;
}
html body.letter-typesetter-active #letter .typesetter-title{left:22%;width:56%}
html #trail.trail-cartographer .panel-head{left:23%;width:54%}
html body.letter-typesetter-active #letter .typesetter-title :is(small,strong),
html #groups.case-file .panel-head>div,
html #trail.trail-cartographer .panel-head>div,
html.link-immersive .link-title :is(small,strong){
  max-width:100%;min-width:0;white-space:nowrap;
}
@supports(font-size:1cqw){
  html body.letter-typesetter-active #letter .typesetter-title small{font-size:min(11px,4.2cqw)}
  html body.letter-typesetter-active #letter .typesetter-title strong{
    margin-top:3px;font-size:min(35px,8.6cqw);
  }
  html #groups.case-file .panel-head .game-label::after{font-size:min(11px,4.4cqw)}
  html #groups.case-file .panel-head h2{width:100%;margin-top:3px}
  html #groups.case-file .panel-head h2::after{display:block;white-space:nowrap;font-size:min(34px,10cqw)}
  html #trail.trail-cartographer .panel-head .game-label::after{font-size:min(9px,4.2cqw)}
  html #trail.trail-cartographer .panel-head h2{width:100%}
  html #trail.trail-cartographer .panel-head h2::after{display:block;white-space:nowrap;font-size:min(23px,7.4cqw)}
  html.link-immersive .link-title small{font-size:min(9px,4.4cqw)}
  html.link-immersive .link-title strong{font-size:min(22px,7.6cqw)}
  html.steps-immersive .steps-rooftops-title strong{font-size:min(23.2px,8cqw)}
}
.home-production #today .copy strong{max-width:100%;overflow-wrap:anywhere;line-height:1.12}
.home-production .brief-copy{min-width:0}
@media(max-width:720px){.home-production .brief-copy h1{font-size:clamp(2.5rem,12vw,3.7rem)}}
.home-production #unlimited .game-card .copy{min-width:0}
.home-production #unlimited .game-card .copy strong{overflow-wrap:anywhere}
html.deepcut-immersive .deepcut-immersive-topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
html.deepcut-immersive .deepcut-immersive-topbar>strong{white-space:nowrap}
html[data-game-page] .topbar{display:none!important}
html[data-game-page="lastcall"] body #lastcall .panel-head::before{display:none}
html[data-game-page="lastcall"] #lastcall .panel-head>div{min-width:0}
