@font-face {
  font-family: "Nunito ExtraBold";
  src: url("assets/fonts/Nunito-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Black";
  src: url("assets/fonts/Nunito-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  overflow: hidden;
  background: #0B1220;
}

#game {
  width: 100%;
  height: 100%;
  height: 100dvh;
  background-color: #ce8850;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#game canvas {
  position: relative;
  z-index: 1;
  display: block;
}

/* Splash 25 Studio — che letterbox / nền night quanh canvas FIT */
body.splash-fullscreen,
body.splash-fullscreen #game { background-color: #0B1220 !important; }

#boot-preloader {
  position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: #0B1220; transition: opacity .35s ease; pointer-events: none;
}
#boot-preloader.hide { opacity: 0; pointer-events: none; }
#boot-preloader .boot-spinner {
  width: 54px; height: 54px; border-radius: 50%;
  border: 5px solid rgba(255,255,255,.18); border-top-color: #22C55E;
  animation: boot-spin .9s linear infinite;
}
@keyframes boot-spin { to { transform: rotate(360deg); } }

#font-probe {
  position: absolute;
  left: -9999px;
  top: 0;
  font-family: "Nunito Black", "Nunito ExtraBold", "Segoe UI", Arial, sans-serif;
  font-weight: 900;
  font-size: 40px;
  visibility: hidden;
}
