/* HardLink — css/link4784.css */

.link-wrap{
  max-width:640px;margin:0 auto;
  padding:clamp(1.6rem,4vw,3rem) clamp(1.1rem,4vw,2rem) 3rem;
  display:flex;flex-direction:column;gap:1.1rem;
  min-height:calc(100vh - 74px - 70px);
}

/* ---------- loading / not-found states ---------- */
.state-card{
  margin:auto;
  padding:2.4rem;
  text-align:center;
  max-width:420px;
}
.spinner{
  width:38px;height:38px;margin:0 auto 1.2rem;
  border-radius:50%;
  border:3px solid var(--panel-border);
  border-top-color:var(--violet);
  animation:spin 1s linear infinite;
}
.state-card p{color:var(--text-mid);font-size:.92rem;margin-top:.4rem}
.state-card h1{font-family:var(--font-display);font-size:1.3rem;margin-bottom:.5rem}

/* ---------- gate flow ---------- */
.gate{display:flex;flex-direction:column;gap:1rem}
.gate-card{padding:clamp(1.6rem,4vw,2.2rem)}
.gate-tag{
  display:inline-block;
  font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;
  color:var(--violet);background:rgba(139,124,246,.14);
  padding:.3rem .7rem;border-radius:100px;margin-bottom:.9rem;
}
#linkTitle{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:1.6rem;word-break:break-word}

.steps{list-style:none;display:flex;flex-direction:column;gap:0}
.step{
  display:flex;gap:1rem;
  padding:1.2rem 0;
  border-top:1px solid var(--panel-border-soft);
  opacity:.45;
  transition:opacity .3s var(--ease);
}
.steps>.step:first-child{border-top:none;padding-top:0}
.step.active,.step.done{opacity:1}
.step-icon{
  width:38px;height:38px;flex-shrink:0;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(139,124,246,.14);color:var(--violet);
}
.step.done .step-icon{background:rgba(52,217,168,.18);color:var(--mint)}
.step-body{flex:1}
.step-body h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:.3rem}
.step-body p{color:var(--text-mid);font-size:.85rem;margin-bottom:.85rem}
.step-check{width:22px;flex-shrink:0}
.step.done .step-check::after{
  content:"✓";color:var(--mint);font-weight:700;
}

.task-list{display:flex;flex-direction:column;gap:.6rem}
.task-item{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:.7rem .9rem;
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.035);
  border:1px solid var(--panel-border-soft);
}
.task-item span{font-size:.86rem;display:flex;align-items:center;gap:.6rem}
.task-item .btn{padding:.5rem 1rem;font-size:.8rem}
.task-item.done{border-color:rgba(52,217,168,.35)}
.task-item.done span{color:var(--mint)}

#finalBtn[aria-disabled="true"]{opacity:.45;pointer-events:none}

.link-ad{min-height:60px}
