/* One header geometry for the platform, players, hosts, archives and shared screen.
   The second class keeps page-specific layout rules from changing its spacing.
   Existing active-game rules may still hide the entire header to fit the keyboard. */
/* Reserve the same viewport width on pages with and without a classic scrollbar. */
html { scrollbar-gutter: stable; }
.site-header.site-header {
  --header-logo-height: 2.5rem;
  display: flex;
  flex: 0 0 auto;
  flex-flow: row wrap;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 72px;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem 1rem;
  margin: 0;
  border-bottom: 1px solid var(--line);
  padding: max(.85rem, env(safe-area-inset-top)) max(var(--page-gutter), env(safe-area-inset-right), calc((100% - var(--page-max)) / 2 + var(--page-gutter))) .85rem max(var(--page-gutter), env(safe-area-inset-left), calc((100% - var(--page-max)) / 2 + var(--page-gutter)));
  background: var(--ink);
  color: var(--muted);
  letter-spacing: normal;
  backdrop-filter: none;
}
.site-header.game-header::after { display: none; }
.site-header .platform-logo,
.site-header .tournament-lockup-product {
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 0;
  height: var(--control-height);
  min-height: var(--control-height);
  align-items: center;
}
.site-header .partyathlon-wordmark {
  display: block;
  width: auto;
  max-width: none;
  height: var(--header-logo-height);
}
.site-header .tournament-lockup {
  width: auto;
  min-width: 0;
  min-height: var(--control-height);
  max-width: 100%;
  align-items: center;
  justify-content: flex-start;
  font-size: .88rem;
  line-height: 1.2;
}
.site-header > .tournament-lockup {
  flex: 1 1 0;
  min-width: min(100%, calc(var(--header-logo-height) * 4.916 + 1.5rem));
}
.site-header .tournament-lockup-name {
  display: block;
  min-width: 0;
  min-height: 0;
  text-align: left;
}
.site-header .platform-nav-identity,
.site-header.admin-header > div:first-child,
.site-header.rehearsal-toolbar > div:first-child {
  display: flex;
  flex: 1 1 18rem;
  min-width: 0;
  min-height: var(--control-height);
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.site-header nav,
.site-header.screen-header > div {
  display: flex;
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: var(--control-height);
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem 1rem;
  margin-left: auto;
}
.site-header.site-header nav > a,
.site-header > a:not(.platform-logo),
.site-header .text-button {
  display: inline-flex;
  min-width: 0;
  min-height: var(--control-height);
  align-items: center;
  color: var(--muted);
  font-size: .8rem;
  overflow-wrap: anywhere;
}
.site-header nav > a { text-decoration: none; }
.site-header nav > a:not(.button):hover { color: var(--paper); }
.site-header.site-header nav > .button { color: var(--button-text); }
.site-header form { flex-shrink: 0; margin: 0; }
.site-header > .game-participant-name,
.site-header > .rehearsal-view-badge {
  flex: 0 1 auto;
  align-self: flex-start;
  max-width: min(28vw, 18rem);
  margin-top: .5rem;
}
.site-header .rehearsal-toolbar-actions { align-self: center; }

/* The screen header reaches the same viewport edges as every other page.
   Keep the presentation's stage and footer gutters outside the header. */
.screen-shell .screen-app { width: 100%; grid-template-columns: minmax(0, 1fr); padding: 0; }
.screen-shell .screen-content { min-width: 0; margin: 1.5vh 4vw; }
.screen-shell .screen-footer { margin: 0 4vw 3vh; }
@media (max-height: 760px) {
  .screen-shell .screen-content { margin-inline: 3vw; }
  .screen-shell .screen-footer { margin: 0 3vw 2vh; }
}
@media (max-width: 620px) {
  .site-header.site-header {
    --header-logo-height: 2rem;
    min-height: 64px;
    column-gap: .75rem;
    padding: max(.7rem, env(safe-area-inset-top)) max(var(--page-gutter), env(safe-area-inset-right)) .7rem max(var(--page-gutter), env(safe-area-inset-left));
  }
  .site-header .tournament-lockup { font-size: .76rem; }
}
