.tg-auth-shell{
  min-height:calc(100svh - 140px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:24px 5vw 120px;
}

.tg-card--register{
  width:min(100%, 660px);
  margin:0 auto;
}

.tg-register-icon{
  text-align:center;
  font-size:2.5rem;
  margin-bottom:16px;
  line-height:1;
}

.tg-register-title{
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:300;
  margin-bottom:12px;
}

.tg-accent-gold{ color:var(--vlk-gold-lt,#e8c97a); }
.tg-accent-vk{ color:#6ea2da; }

.tg-register-subtitle,
.tg-register-hint{
  text-align:center;
  line-height:1.65;
}

.tg-register-subtitle{ margin-bottom:28px; }
.tg-register-hint{ margin-top:20px; font-size:.8rem; }

.tg-register-actions{ text-align:center; }
.tg-register-vk-wrap{ margin-top:12px; }

.tg-btn--vk{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:linear-gradient(180deg,#5b88bd 0%,#3f6ea4 100%);
  color:#fff;
}

.tg-register-status{
  display:block;
  margin-top:12px;
  font-size:.85rem;
}

.tg-box-label{ margin-bottom:8px; font-size:.87rem; }
#tgBox{ word-break:break-word; margin-top:14px; }
#tgUrl{ word-break:break-all; }

#tgLoginHelper{
  display:block;
  margin-top:18px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(29,15,6,.92) 0%, rgba(15,8,3,.94) 100%);
  border:1px solid rgba(201,168,76,.16);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}

.tg-login-helper__head{ text-align:center; margin-bottom:12px; }
.tg-login-helper__title{ margin:0 0 8px; color:#fff; font-size:1rem; font-weight:800; }
.tg-login-helper__text{ margin:0; color:rgba(247,242,234,.78); line-height:1.5; font-size:.92rem; }

.tg-login-helper__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
.tg-login-helper__actions--small{ margin-bottom:0; }

.tg-login-helper__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(201,168,76,.28);
  text-decoration:none;
  font-weight:800;
  font-size:.94rem;
  line-height:1.15;
  text-align:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.tg-login-helper__btn:hover{ transform:translateY(-1px); }

.tg-login-helper__btn--brand{
  color:#221306;
  background:linear-gradient(180deg,#f0cf79 0%,#d8b451 100%);
  box-shadow:0 12px 28px rgba(201,168,76,.20);
}
.tg-login-helper__btn--ghost{ color:#f7f2ea; background:rgba(255,255,255,.04); }

.tg-login-helper__qr{ margin-top:12px; padding-top:10px; border-top:1px solid rgba(201,168,76,.14); }
.tg-login-helper__qrbox{ display:flex; align-items:center; justify-content:center; padding:10px; border-radius:18px; background:rgba(255,255,255,.03); }
.tg-login-helper__qrbox img{ width:min(200px,100%); height:auto; aspect-ratio:1/1; border-radius:12px; background:#fff; padding:8px; }
.tg-login-helper__qrtext{ margin-top:10px; color:rgba(247,242,234,.74); font-size:.9rem; line-height:1.5; text-align:center; }
.tg-login-helper__copy{ margin-top:10px; min-height:20px; color:#e7c66f; font-size:.88rem; text-align:center; }
.tg-login-helper__footer{ margin-top:12px; text-align:center; }
.tg-login-helper__link{ color:#e7c66f; text-decoration:none; font-weight:700; }

.is-hidden{ display:none; }

@media (max-width:860px){
  .tg-auth-shell{ padding:20px 4vw 40px; min-height:auto; }
  .tg-card--register{ width:min(100%,640px); }
  #tgLoginHelper{ padding:14px; border-radius:20px; box-shadow:0 12px 28px rgba(0,0,0,.16); }
  .tg-login-helper__text{ font-size:.9rem; line-height:1.45; margin-bottom:12px; text-align:center; }
  .tg-login-helper__actions{ grid-template-columns:1fr; }
  .tg-login-helper__btn{ min-height:44px; width:100%; }
  #tgOpenWebBtn,
  #tgShowQrBtn,
  #tgCopyLinkBtn,
  #tgQrWrap,
  #tgCopyState{ display:none; }
  .tg-login-helper__actions--small{ display:none; }
  .vlk-footer, footer{ display:none; }
}

@media (min-width:861px){
  .tg-auth-shell{ align-items:center; padding-top:40px; }
}
