:root{
  --ink:#272321;
  --muted:#8b837e;
  --rose:#b65f58;
  --line:#ddd8d4;
  --paper:#fff;
  --danger:#b64f4f;
  --ok:#667d69;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.auth-page{min-height:100vh;display:flex;flex-direction:column}
.auth-visual{display:none}
.auth-main{min-height:100vh;display:flex;flex-direction:column;padding:34px 28px 26px}
.auth-header{display:flex;justify-content:center}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:19px;letter-spacing:.11em}
.moon,.back-home{display:none}
.auth-content{width:min(100%,400px);margin:auto;padding:70px 0 80px}
.auth-kicker{display:none}
.auth-content h1{
  margin:0 0 42px;
  text-align:center;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
  font-size:30px;
  font-weight:500;
  letter-spacing:.04em;
}
.lead{margin:-18px 0 30px;color:#67605c;font-size:13px;line-height:1.9;text-align:center}
.field{margin-bottom:16px}
.field-head{display:none}
.field input{
  width:100%;height:54px;padding:0 16px;
  border:1px solid var(--line);border-radius:4px;
  background:#fff;color:var(--ink);outline:none;transition:.18s;
}
.field input::placeholder{color:#96908c}
.field input:focus{border-color:#9f9690;box-shadow:0 0 0 2px rgba(39,35,33,.04)}
.field input.invalid{border-color:var(--danger)}
.input-wrap{position:relative}
.toggle-password{position:absolute;right:5px;top:5px;height:44px;padding:0 11px;border:0;background:transparent;color:#99918c;font-size:11px;cursor:pointer}
.field-error{display:none;margin:6px 0 0;color:var(--danger);font-size:11px}
.field-error.show{display:block}
.forgot-row{text-align:center;margin:7px 0 26px}
.forgot{color:#625b57;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.primary{width:100%;height:54px;margin:0;border:0;border-radius:4px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer;transition:.18s}
.primary:hover{background:#443e3a}
.form-message{display:none;margin:16px 0 0;padding:12px 14px;background:#f3f6f3;color:#536858;font-size:12px;line-height:1.65;text-align:center}
.form-message.show{display:block}
.auth-switch{margin:28px 0 0;text-align:center;color:#77706b;font-size:12px}
.auth-switch a{margin-left:7px;color:var(--rose);font-weight:700}
.legal{margin:17px 0 24px;color:#77706b;font-size:11px;line-height:1.8;text-align:center}
.legal a{text-decoration:underline;text-underline-offset:2px}
.age-check{display:none}
.rules{margin:2px 0 24px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.rule{display:flex;align-items:center;gap:8px;color:#918a85;font-size:11px}
.rule:before{content:"";width:15px;height:15px;border:1px solid #cfc8c4;border-radius:50%;flex:0 0 auto}
.rule.valid{color:var(--ok)}
.rule.valid:before{content:"✓";display:grid;place-items:center;background:var(--ok);border-color:var(--ok);color:#fff;font-size:9px}
.auth-footer{margin-top:auto;text-align:center;color:#a29a95;font-size:10px;line-height:1.9}
.auth-footer a{display:block;margin-bottom:2px;text-decoration:underline;text-underline-offset:2px}
.auth-footer span{display:block}
@media(max-width:520px){
  .auth-main{padding:26px 20px 22px}
  .auth-content{padding:58px 0 70px}
  .auth-content h1{font-size:28px;margin-bottom:36px}
  .rules{grid-template-columns:1fr}
}
