.home-page{
  width:100%;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
}

.container{
  width:100%;
  max-width:320px;
  padding:30px;
  box-sizing:border-box;
}

/* LOGO */

.logo-wrap{
  display:flex;
  justify-content:center;
}

.logo{
  width:180px;
  animation:logoFloat 4.5s ease-in-out infinite;
}

@keyframes logoFloat{
  0%   { transform:translateY(2px) scale(1); }
  25%  { transform:translateY(-6px) scale(1.01); }
  50%  { transform:translateY(5px) scale(0.995); }
  75%  { transform:translateY(-6px) scale(1.01); }
  100% { transform:translateY(2px) scale(1); }
}

/* ROOM */

.room-wrap{
  position:relative;
  width:260px;
  margin:30px auto 22px auto;
}

.room{
  position:relative;
  width:260px;
  height:260px;
  border-radius:20px;
  overflow:hidden;
  background-color:#dfe5ec;
  background-image:url("https://coochiecowboy.com/app/app-ui/assets/room/room-bg.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* SPRITE */

#sprite{
  position:absolute;
  width:64px;
  height:64px;
  left:98px;
  top:170px;
  background-color:transparent;
  background-image:none;
  background-repeat:no-repeat;
  background-size:200% 200%;
  background-position:0% 0%;
  image-rendering:pixelated;
}

#sprite{
  opacity:0;
}

#sprite.loaded{
  opacity:1;
}

/* NAV */

.home-nav{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:18px;
  margin-top:18px;
}

.home-nav-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-width:52px;
  transition:transform .08s ease, opacity .12s ease;
}

.home-nav-item:active{
  transform:scale(.96);
  opacity:.9;
}

.home-nav-item img{
  width:64px;
  height:64px;

  object-fit:contain;
  display:block;

  filter:brightness(0);
}


.home-nav-item span{
  font-size:11px;
  line-height:1;
  letter-spacing:.2px;
}



.page-fab-logout{
  margin:42px auto 0 auto;

  display:flex;
  align-items:center;
  justify-content:center;

  width:fit-content;

  border:none;
  border-radius:999px;

  padding:10px 16px;

  background:#dfe5ec;
  color:#000;

  font-size:11px;
  font-weight:500;

  box-shadow:0 4px 10px rgba(0,0,0,.05);
}

.page-fab-logout:active{
  transform:scale(.96);
}

body.player-active .page-fab-logout{
  bottom:calc(96px + env(safe-area-inset-bottom));
}

body.full-player-open .page-fab-logout{
  opacity:0;
  pointer-events:none;
}

.home-nav-item span{
  white-space:nowrap;
}

.page-fab-save{
  position:fixed !important;

  right:16px !important;
  bottom:16px !important;

  z-index:99999 !important;

  border:none;
  border-radius:999px;

  padding:10px 16px;

  background:#94F22A;
  color:#000;

  font-size:13px;
  font-weight:700;
}

.install-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border-radius:20px;
  background:#dfe5ec;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.install-app-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  flex-shrink:0;
}

.install-text{
  flex:1;
  text-align:left;
}

.install-title{
  font-size:14px;
  font-weight:700;
  color:#000;
  margin-bottom:3px;
}

.install-copy{
  font-size:12px;
  line-height:1.35;
  color:#000;
  opacity:.7;
  margin:0;
}

.install-inline-icon{
  width:14px;
  height:14px;
  display:inline-block;
  vertical-align:-2px;
  margin:0 2px;
}

.install-dismiss{
  position:absolute;
  top:8px;
  right:8px;
  width:44px;
  height:44px;
  z-index:999999;
  pointer-events:auto;
  border:none;
  background:transparent;
  color:#000;
  font-size:24px;
  font-weight:700;
}