/* ================================
   Unlock Structure – step用（白化事故を確実に潰す版）
   ※ body に class="unlock-structure"
================================ */

/* ★最優先：背景と文字色を強制（白背景事故を潰す） */
body.unlock-structure{
  background: radial-gradient(circle at 50% 0%, rgba(0,220,255,.08), rgba(0,0,0,0) 45%),
              linear-gradient(180deg, #070A12, #050712) !important;
  color: rgba(255,255,255,.92) !important;
}

/* first view */
.unlock-structure .first-view{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:24px;
  background: transparent !important;
}

.unlock-structure .overlay-text{
  text-align:center;
  width:min(820px, 92vw);
}

.unlock-structure .main-title{
  margin:0;
  font-size:2.1rem;
  letter-spacing:.02em;
  opacity:0;
  animation:fadeUp 1s forwards .5s;
}

.unlock-structure .subtitle{
  margin:10px 0 0;
  font-size:1.35rem;
  opacity:0;
  animation:fadeUp 1s forwards 1s;
  color: rgba(0,220,255,.75) !important;
  letter-spacing:.08em;
}

.unlock-structure .description{
  margin-top:1rem;
  color: rgba(255,255,255,.72) !important;
  opacity:0;
  animation:fadeUp 1s forwards 1.5s;
  line-height:1.8;
}

.unlock-structure #startBtn{
  margin-top:2rem;
  padding:12px 22px;
  border-radius:999px;
  border:1px solid rgba(0,220,255,.35);
  background: rgba(0,220,255,.14);
  color:#dffbff;
  cursor:pointer;
  opacity:0;
  animation:fadeUp 1s forwards 2s;
  min-height:44px;
}

/* step box */
.unlock-structure .stepbox{
  display:none;
  max-width:520px;
  margin:0 auto;
  padding:70px 20px;
  text-align:center;
  color: rgba(255,255,255,.92) !important;
}

.unlock-structure .headline{
  font-size:1.15rem;
  margin-bottom:18px;
  line-height:1.6;
  color: rgba(255,255,255,.92) !important; /* ★見出しを確実に白で出す */
}

.unlock-structure .input-block{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
}

.unlock-structure .input-block input{
  padding:12px 14px;
  width:min(420px, 100%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  font-size:16px;
  outline:none;
  background: rgba(0,0,0,.22) !important;
  color: rgba(255,255,255,.92) !important;
}

.unlock-structure .input-block button{
  padding:12px 18px;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(0,220,255,.35);
  background: rgba(0,220,255,.14) !important; /* ★ボタン見える */
  color:#dffbff !important;
  cursor:pointer;
  width:min(180px, 100%);
}

.unlock-structure .unlocked-message{
  display:none;
  margin-top:16px;
  color: rgba(0,220,160,.95) !important;
  font-weight:700;
}

/* animation */
@keyframes fadeUp{
  from{opacity:0; transform:translateY(20px)}
  to{opacity:1; transform:translateY(0)}
}

/* mobile */
@media (max-width:520px){
  .unlock-structure .main-title{ font-size:1.65rem; }
  .unlock-structure .subtitle{ font-size:1.15rem; }
  .unlock-structure .stepbox{ padding:44px 16px; }
  .unlock-structure .input-block input{ width:100%; }
  .unlock-structure .input-block button{ width:100%; }
}