:root { --loading-bg: #171c1b; --loading-fg: #e7ebec; }
html[data-theme="light"] { --loading-bg: #f4f2e9; --loading-fg: #26362d; }
.loading-screen {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 24px;
  background: var(--loading-bg);
  color: var(--loading-fg);
  text-align: center;
  font: 14px/1.5 system-ui, sans-serif;
}
.loading-screen[hidden], .loading-screen [hidden] { display: none !important; }
.loading-mark { display: block; width: 96px; height: 96px; margin: 0 auto; }
.loading-small { width: 32px; height: 32px; }
.loading-screen p { margin: 0; max-width: 290px; }
.loading-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.loading-screen button {
  min-width: 44px;
  min-height: 44px;
  padding: 8px 18px;
  border: 1px solid currentColor;
  border-radius: 24px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.loading-screen button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.game-startup { margin: 0; background: var(--loading-bg); }
.game-startup .loading-screen { position: fixed; }
html[data-theme="light"] .loading-mark { filter: brightness(.24); }
.release-disclaimer {
  position: fixed;
  z-index: 2;
  top: max(16px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 32px);
  padding: 12px 16px;
  border: 1px solid #d6b787;
  border-radius: 14px;
  background: #171c1b;
  color: #f0d3a7;
  box-shadow: 0 4px 20px #0002;
  text-align: center;
  font: 13px/1.5 system-ui, sans-serif;
  pointer-events: none;
  opacity: 1;
  transition: opacity .6s ease;
}
.release-disclaimer-leaving { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .release-disclaimer { transition: none; }
}
@media (prefers-color-scheme: light) {
  html:not([data-theme]) { --loading-bg: #f4f2e9; --loading-fg: #26362d; }
  html:not([data-theme]) .loading-mark { filter: brightness(.24); }
}
