/* ZuBeri — страница входа (LGN, 2026-10-30). Подключается только на входе, после ui.css. */
body.zb.lgn{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;margin:0;padding:24px 16px;box-sizing:border-box;
  background:
    radial-gradient(900px 520px at 12% -10%,rgba(0,119,204,.16),transparent 60%),
    radial-gradient(760px 480px at 105% 110%,rgba(0,174,239,.14),transparent 60%),
    var(--bg)}
.lgn *,.lgn *::before,.lgn *::after{box-sizing:border-box}
.lgn-card{width:100%;max-width:400px;background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:28px 28px 20px;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 18px 40px -12px rgba(16,24,40,.18);display:flex;flex-direction:column;gap:20px}
.th-dark .lgn-card{box-shadow:0 18px 50px -12px rgba(0,0,0,.6)}

.lgn-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lgn-logo{display:flex;align-items:center;gap:10px;min-width:0}
.lgn-logo img{display:block}
.lgn-logo .lgn-word{height:16px;width:auto}

.lgn-lang{display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:var(--sf2);border:1px solid var(--bd)}
.lgn-lang a{min-width:34px;height:26px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;
  font-size:12px;font-weight:600;color:var(--mu);text-decoration:none}
.lgn-lang a:hover{color:var(--tx);text-decoration:none}
.lgn-lang a[aria-current]{background:var(--sf);color:var(--tx);box-shadow:0 1px 2px rgba(0,0,0,.12)}

.lgn-head h1{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--tx)}
.lgn-head p{margin:0;font-size:14px;color:var(--mu)}

.lgn-msg{padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.4;border:1px solid transparent}
.lgn-msg.er{background:var(--erb);color:var(--erf);border-color:color-mix(in srgb,var(--erf) 25%,transparent)}
.lgn-msg.in{background:var(--inbg);color:var(--inf);border-color:color-mix(in srgb,var(--inf) 25%,transparent)}

.lgn-form{display:flex;flex-direction:column;gap:14px;margin:0}
.lgn-f{display:flex;flex-direction:column;gap:6px}
.lgn-f label{font-size:13px;font-weight:600;color:var(--tx)}
.lgn-in{position:relative;display:flex;align-items:center}
.lgn-in>svg{position:absolute;left:13px;color:var(--mu);pointer-events:none}
.lgn-in input{width:100%;height:46px;padding:0 14px 0 40px;border:1px solid var(--inb);border-radius:10px;background:var(--sf);
  color:var(--tx);font:inherit;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}
.lgn-in input#lgn-p{padding-right:46px}
.lgn-in input:hover{border-color:color-mix(in srgb,var(--acc) 40%,var(--inb))}
.lgn-in input:focus-visible,.lgn-in input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.lgn-in:focus-within>svg{color:var(--acc)}
.lgn-in input:-webkit-autofill{-webkit-text-fill-color:var(--tx);-webkit-box-shadow:0 0 0 40px var(--sf) inset;caret-color:var(--tx)}
.lgn-eye{position:absolute;right:5px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--mu);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lgn-eye:hover{background:var(--hv);color:var(--tx)}
.lgn-eye[aria-pressed="true"]{color:var(--acc)}
.lgn-caps{margin:0;font-size:12px;color:var(--waf)}

.lgn-btn{margin-top:4px;height:46px;width:100%;border:0;border-radius:10px;background:var(--acc);color:#fff;font:inherit;font-size:15px;
  font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:filter .15s,transform .05s}
.lgn-btn:hover{filter:brightness(1.07)}
.lgn-btn:active{transform:translateY(1px)}
.lgn-btn:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.lgn-btn[disabled]{cursor:progress;filter:saturate(.8) brightness(.95)}
.lgn-btn.busy::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;
  animation:lgn-spin .7s linear infinite}
@keyframes lgn-spin{to{transform:rotate(360deg)}}

.lgn-foot{margin:2px 0 0;padding-top:14px;border-top:1px solid var(--ln);display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:12px;color:var(--mu)}
.lgn-foot svg{width:14px;height:14px;color:var(--okf)}

@media (max-width:440px){
  body.zb.lgn{align-items:flex-start;padding:20px 16px}
  .lgn-card{padding:22px 18px 16px;border-radius:16px}
}
@media (prefers-reduced-motion:reduce){.lgn *{transition:none!important;animation-duration:1.5s!important}}
