/* ============================================================
   Свобода — стили страниц авторизации
   (login.html, register.html, password-reset.html)
   Подключается ПОСЛЕ style.css. Общая карточка форм — узкая,
   центрированная, на общей шапке/футере лендинга (в отличие от
   onboarding.html, эти страницы не блокирующие и не изолированные).
   Отступы — классами утилит в разметке (раздел 8.6, критерий 8);
   здесь только цвет, позиционирование, анимации, сетка.
   ============================================================ */

/* ---------- «хлебная крошка» назад в город ---------- */
.backlink{
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--paper-soft); transition:color .2s;
}
.backlink::before{ content:'←'; transition:transform .2s; }
.backlink:hover{ color:var(--brass-bright); }
.backlink:hover::before{ transform:translateX(-3px); }

.auth-stage{ display:flex; justify-content:center; }
.auth-card{
  width:100%; max-width:440px;
  background:var(--ink-panel); border:1px solid var(--line);
  box-shadow:0 30px 60px -20px var(--shadow);
}
.auth-card h1{ font-size:clamp(1.5rem,3vw,2rem); text-transform:uppercase; line-height:1.1; }
.auth-card .sub{ color:var(--paper-soft); font-size:.96rem; line-height:1.6; }

/* ---------- статус живой проверки поля (ник/email) ---------- */
.field-check{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.02em;
  min-height:1.4em; color:var(--paper-soft); opacity:0; transition:opacity .2s;
}
.field-check.show{ opacity:1; }
.field-check.is-ok{ color:var(--petrol-bright); }
.field-check.is-bad{ color:var(--rust-bright); }
.field-check.is-pending{ color:var(--paper-soft); }

.auth-forgot{ display:block; text-align:right; font-size:.8rem; color:var(--brass); }
.auth-forgot:hover{ color:var(--brass-bright); }

.demo-note{
  font-family:var(--font-mono); font-size:.72rem; color:var(--petrol-bright);
  letter-spacing:.03em; min-height:1em; opacity:0; transition:opacity .3s;
}
.demo-note.show{ opacity:1; }

.auth-switch{
  text-align:center; font-size:.88rem; color:var(--paper-soft);
  border-top:1px solid var(--line);
}
.auth-switch a{ color:var(--brass-bright); text-decoration:underline; text-underline-offset:2px; }
.auth-switch a:hover{ color:var(--brass); }

.btn[disabled]{ opacity:.35; cursor:not-allowed; pointer-events:none; }

/* ---------- восстановление пароля: смена стадий (email → письмо → новый пароль → готово) ---------- */
.reset-stage.is-hidden{ display:none; }
.reset-back{
  display:inline-flex; font-family:var(--font-mono); font-size:.8rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--paper-soft); transition:color .2s;
}
.reset-back:hover{ color:var(--brass-bright); }
.reset-mail{ color:var(--brass-bright); font-weight:700; }
.reset-done{ text-align:center; }
