/* Repeat the small critical rule in each page's head so a missing stylesheet never
   presents static first/zero values as loaded progress. Keep dimensions measurable. */
body[data-game-boot]:not([data-game-boot="ready"]) [data-game-boot-layout],
body[data-game-boot]:not([data-game-boot="ready"]) [data-game-boot-controls] {
  visibility: hidden !important;
  pointer-events: none !important;
}
body[data-game-boot="ready"] #game-boot,
#game-boot[hidden] { display: none !important; }

.game-boot {
  box-sizing: border-box;
  padding: 22px;
  margin: 0 0 22px;
  border: 1px solid var(--line, #c9c7bb);
  border-radius: 14px;
  background: var(--paper, #f7f4e9);
  color: var(--ink, #253a35);
  font: 600 15px/1.6 system-ui, sans-serif;
  overflow-wrap: anywhere;
}
.game-boot p { margin: 0 0 14px; }
.game-boot-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.game-boot-actions button,
.game-boot-actions a {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--line, #c9c7bb);
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.35;
  cursor: pointer;
  white-space: normal;
  text-decoration: underline;
  text-underline-offset: 3px;
  touch-action: manipulation;
}
.game-boot-actions :focus-visible { outline: 3px solid var(--gold, #bd8931); outline-offset: 3px; }
.game-boot noscript { display: block; margin-top: 14px; }

/* The loading status must fit a feed frame without pushing its measured game outside it. */
.cc-embed .game-boot {
  position: absolute;
  inset: 58px 12px auto;
  z-index: 4;
  max-height: calc(100dvh - 80px);
  overflow: auto;
}
@media (max-width: 700px) {
  .game-boot { padding: 18px; font-size: 14px; }
  .cc-embed .game-boot { inset-inline: 8px; }
}
