/* =========================
   ■ UI表示
   ========================= */
#room_main {
  opacity: 0;
  transition: 0.6s ease;
}

#room_main.show {
  opacity: 1;
}


/* ホバー */
.main-btn:hover,
.room-links button:hover {
  transform: scale(1.03);
}

.room-action-sep{
  text-align:center;
  opacity:0.5;
  margin:14px 0;
  font-size:13px;
  letter-spacing:1px;
}

.sync-btn{

  background:
    linear-gradient(
      135deg,
      #4fc3ff,
      #00d2ff
    );

  box-shadow:
    0 0 24px rgba(0,210,255,0.35);

}

.mini-btn{

  background:
    linear-gradient(
      135deg,
      #7b61ff,
      #c44dff
    );

  box-shadow:
    0 0 24px rgba(196,77,255,0.35);

}

.room-entry-buttons{

  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  margin-top:24px;
  margin-bottom:32px;

  flex-wrap:wrap;
}

.room-entry-buttons .main-btn{

  min-width:220px;
}

.room-action-sep{

  margin:0;
}

/* =========================
   ⑦ ローディング
========================= */
#loadingOverlay{
  position:fixed;
  inset:0;
  background:rgba(5,10,20,0.9);
  display:none;
  justify-content:center;
  align-items:center;
  z-index:99999;
}

.spinner{
  width:40px;
  height:40px;
  border:4px solid rgba(255,255,255,0.2);
  border-top:4px solid #fff;
  border-radius:50%;
  animation:spin 1s linear infinite;
}


@keyframes spin{
  100%{transform:rotate(360deg);}
}

@keyframes fadeRoom{
  from{
    opacity:0;
    transform:translateY(8px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

@keyframes fadeIn {
  from {opacity:0;}
  to {opacity:1;}
}
