/* Экран входа. Всё внутри .auth: у журнала свои сбросы кнопок и полей (journal.css),
   и глобальные правила отсюда их бы перебили. Цвета, шрифты, отступы — только токены. */
.auth{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body);
     font-size:var(--fs-md); line-height:1.5; -webkit-font-smoothing:antialiased}
.auth main{max-width:26rem; margin:0 auto; padding:var(--sp-6) var(--sp-4) var(--sp-6)}
.auth .home{display:block; margin-bottom:var(--sp-6)}
.auth .mlw-logo{display:block; width:100%; max-width:15rem; height:auto}
.auth h1{font-family:var(--font-display); font-size:var(--fs-xl); margin:0 0 var(--sp-4)}
.auth h2{font-size:var(--fs-lg); margin:var(--sp-6) 0 var(--sp-3)}
.auth form{display:grid; gap:var(--sp-4)}
.auth label{display:grid; gap:var(--sp-1); font-size:var(--fs-sm); color:var(--ink-2)}
.auth small{font-size:var(--fs-xs); color:var(--ink-2)}
.auth input{font:inherit; font-size:16px;   /* меньше 16 — iOS зумит страницу при фокусе */
      color:var(--ink); background:var(--surface); border:1px solid var(--line-2);
      border-radius:var(--radius); padding:10px 12px; min-width:0}
.auth input:focus-visible, .auth button:focus-visible, .auth a:focus-visible, .auth summary:focus-visible{
      outline:2px solid var(--wine); outline-offset:2px}
.auth button{font:inherit; font-weight:600; cursor:pointer; border-radius:var(--radius);
       padding:11px 16px; border:1px solid var(--wine); background:var(--wine); color:var(--on-wine)}
.auth button[disabled]{opacity:.6; cursor:progress}
.auth button.ghost{background:transparent; color:var(--wine)}
.auth a{color:var(--wine); text-underline-offset:3px}
.auth .links{margin-top:var(--sp-4); font-size:var(--fs-sm)}
.auth .muted{color:var(--ink-2)}
.auth .actions{display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-top:var(--sp-5)}
.auth details{margin:var(--sp-3) 0}
.auth summary{cursor:pointer; color:var(--wine)}
.auth details form{margin-top:var(--sp-4)}
.auth .msg{padding:var(--sp-3) var(--sp-4); border-radius:var(--radius); background:var(--wine-s);
     color:var(--ink); margin:0 0 var(--sp-5)}
.auth .msg.err{background:var(--clay-s); color:var(--clay)}
.auth label.check{display:flex; gap:var(--sp-2); align-items:flex-start; font-size:var(--fs-sm); color:var(--ink)}
.auth label.check input{width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:var(--wine)}
.auth footer.legal{margin-top:var(--sp-6); font-size:var(--fs-xs); color:var(--ink-2)}
.auth footer.legal a{color:var(--ink-2)}
/* ловушка для ботов: за экраном, а не display:none — часть ботов его распознаёт */
.auth .trap{position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden}
