/* ============================================================
   PHAROS — Claim a tower
   ============================================================ */
.claimpage { min-height: 100svh; display: flex; align-items: center; padding: calc(var(--nav-h) + var(--s-5)) 0 var(--s-6); }
.claimgrid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-5); align-items: center; }
@media (max-width: 880px){ .claimgrid{ grid-template-columns: 1fr; gap: var(--s-4); } }

/* preview stage */
.preview {
  position: relative; aspect-ratio: 4/5; border-radius: var(--r-lg); overflow: hidden;
  background: radial-gradient(80% 60% at 50% 100%, var(--glass-2), var(--deepest));
  border: 1px solid var(--hair); display: grid; place-items: center;
}
.preview__glow { position: absolute; inset: 0; background: radial-gradient(40% 30% at 50% 32%, var(--light-haze), transparent 70%); opacity: 0; transition: opacity 1s var(--ease); }
.preview.is-lit .preview__glow { opacity: 1; }
.preview .lh-svg { height: 84%; filter: saturate(0.6) brightness(0.7); transition: filter 1s var(--ease); }
.preview.is-lit .lh-svg { filter: none; }
.preview__tag { position: absolute; top: 1rem; left: 1.1rem; font-family: var(--font-mono); font-size: var(--t-micro);
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); }
.preview__reroll { position: absolute; bottom: 1rem; right: 1rem; }

/* claim panel */
.claimcol h1 { font-size: var(--t-h1); margin: 1rem 0 1rem; }
.claimcol .lead { max-width: 44ch; margin-bottom: 2rem; }
.wallet { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.8rem; padding: 0.9rem 1.1rem;
  border: 1px solid var(--hair); border-radius: var(--r-md); background: var(--glass); }
.wallet__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--dimmer); transition: background var(--fast), box-shadow var(--fast); }
.wallet.is-on .wallet__dot { background: var(--signal); box-shadow: 0 0 10px var(--signal); }
.wallet__txt { font-family: var(--font-mono); font-size: var(--t-small); color: var(--dim); flex: 1; }
.wallet.is-on .wallet__txt { color: var(--foam); }
.wallet__btn { font-family: var(--font-sans); font-size: var(--t-small); font-weight: 600; cursor: pointer;
  background: none; border: 1px solid var(--hair-strong); color: var(--foam); border-radius: var(--r-pill); padding: 0.5rem 1rem; transition: all var(--fast); }
.wallet__btn:hover { border-color: var(--light); color: var(--light); }

.claimrow { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.8rem; flex-wrap: wrap; }
.stepper { display: flex; flex-direction: column; gap: 0.6rem; }
.stepper > .label { font-size: var(--t-micro); }
.stepper__row { display: flex; align-items: center; gap: 1rem; }
.stepper__btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--hair-strong);
  background: var(--glass); color: var(--foam); font-size: 1.4rem; cursor: pointer; line-height: 1; transition: all var(--fast); }
.stepper__btn:hover { border-color: var(--light); color: var(--light); transform: scale(1.06); }
.stepper__val { font-family: var(--font-display); font-size: 2.4rem; min-width: 1.4ch; text-align: center; }
.priceblock { text-align: right; }
.priceblock .label { font-size: var(--t-micro); display: block; margin-bottom: 0.2rem; }
.priceblock strong { font-family: var(--font-display); font-size: 2.2rem; color: var(--light); }
.priceblock small { display: block; color: var(--dim); font-size: var(--t-small); }

.meter { margin-bottom: 1.8rem; }
.meter__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.6rem; }
.meter__head .label { font-size: var(--t-micro); }
.meter__val { font-family: var(--font-mono); font-size: var(--t-small); color: var(--dim); }
.meter__val strong { color: var(--light); }
.meter__bar { height: 8px; border-radius: 99px; background: rgba(255,255,255,0.07); overflow: hidden; }
.meter__bar i { display: block; height: 100%; width: 0; border-radius: 99px;
  background: linear-gradient(to right, var(--light-deep), var(--light)); box-shadow: 0 0 14px var(--light-glow); transition: width 1.2s var(--ease-out); }

.claim-cta { width: 100%; justify-content: center; font-size: 1rem; padding: 1.05rem; }
.claim-fine { text-align: center; margin-top: 0.9rem; }

/* success state */
.minted { display: none; }
.minted.is-show { display: block; }
.claimform.is-hidden { display: none; }
.minted__row { display: flex; gap: 0.9rem; flex-wrap: wrap; margin: 1.4rem 0; }
.minted__tower { width: 96px; height: 130px; border: 1px solid var(--hair); border-radius: var(--r-md);
  background: radial-gradient(70% 60% at 50% 100%, var(--glass-2), transparent); }
.minted__tower .lh-svg { width: 100%; height: 100%; }
.minted__seed { font-family: var(--font-mono); font-size: var(--t-micro); color: var(--light); text-align: center; margin-top: 0.3rem; letter-spacing: 0.08em; }
