html, body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #0c1511;
  color: #dce5d6;
  font-family: Arial, sans-serif;
}

body { display: flex; align-items: center; justify-content: center; }
.header, .footer { display: none; }

#GameDiv {
  position: relative;
  width: min(100vw, 133.333vh) !important;
  height: min(75vw, 100vh) !important;
  outline: none;
}

#Cocos3dGameContainer, #GameCanvas { width: 100%; height: 100%; outline: none; }
canvas { display: block; background: transparent; }
body, canvas, div { user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; }

.mobile-game body {
  height: 100dvh;
  box-sizing: border-box;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  overscroll-behavior: none;
}
.mobile-game #GameDiv { width: 100% !important; height: 100% !important; }
.mobile-game canvas { touch-action: none; }
@media (orientation: portrait) {
  .mobile-game #GameDiv {
    position: absolute;
    width: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    height: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) !important;
    top: env(safe-area-inset-top, 0px);
    left: calc(100vw - env(safe-area-inset-right, 0px));
    transform: rotate(90deg);
    transform-origin: 0 0;
  }
}

#BootScreen {
  position: fixed; inset: 0; z-index: 10;
  display: grid; place-items: center; padding: 24px;
  background: radial-gradient(ellipse at 50% 45%, #26372d, #0b1210 75%);
}
#BootScreen[hidden], #BootRetry[hidden] { display: none; }
.boot-card { width: min(420px, 100%); box-sizing: border-box; padding: 32px; border: 1px solid #657261; background: #19231ef5; }
.boot-kicker, .boot-meta { font-size: 11px; letter-spacing: 1px; color: #9aae9f; }
.boot-kicker { display: block; border-left: 3px solid #eece84; padding-left: 12px; }
.boot-card h1 { margin: 24px 0 28px; font-size: 30px; font-weight: 600; color: #e6eddf; }
#BootStatus { min-height: 24px; margin: 0 0 12px; font-size: 14px; color: #eece84; }
#BootProgress { height: 5px; background: #354438; }
#BootFill { height: 100%; width: 1%; background: #eece84; }
.boot-meta { display: flex; justify-content: space-between; margin-top: 12px; }
#BootRetry { margin-top: 24px; padding: 10px 18px; border: 1px solid #eece84; background: #293729; color: #eece84; cursor: pointer; }
