.awrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg);}
.acard{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:40px;width:100%;max-width:400px;}
.alogo{display:flex;align-items:center;gap:10px;margin-bottom:28px;cursor:pointer;}
.alogo .licon{display:block;}
.alogo span{font-size:16px;font-weight:600;letter-spacing:-.02em;}
.acard h2{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px;}
.acard>p{font-size:14px;color:var(--text2);margin-bottom:24px;}
.fl{margin-bottom:16px;}
.fl label{display:block;font-size:13px;color:var(--text2);margin-bottom:6px;}
.fi{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:6px;padding:11px 12px;font-size:14px;color:var(--text);font-family:inherit;outline:none;}
.fi:focus{border-color:var(--text3);}
.sbtn{width:100%;padding:12px;border-radius:6px;font-size:14px;font-weight:600;background:var(--text);color:var(--bg);border:none;cursor:pointer;margin-top:8px;font-family:inherit;}
.sbtn:hover{opacity:.92;}
.sbtn:disabled{opacity:.5;cursor:not-allowed;}
.afoot{text-align:center;margin-top:22px;font-size:13px;color:var(--text2);}
.afoot a{color:var(--text);font-weight:500;text-decoration:none;}
.afoot a:hover{text-decoration:underline;}
.error{background:var(--red-bg);color:var(--red);padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px;}
.success{background:rgba(255,255,255,0.06);color:var(--text);padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px;border:1px solid var(--border2);}
.notice{background:var(--yellow-bg);color:var(--yellow);padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px;}

.auth-screen-overlay{
  position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:rgba(3,3,3,0.92);
}
.auth-screen-overlay[hidden]{display:none;}
.auth-screen-panel{
  max-width:420px;width:100%;
  text-align:center;
  padding:40px 32px;
  border:1px solid var(--border2);
  background:var(--surface);
  border-radius:8px;
}
.auth-screen-kicker{font-size:13px;color:var(--text3);margin-bottom:12px;}
.auth-screen-panel h2{font-size:22px;font-weight:600;margin-bottom:12px;letter-spacing:-.02em;}
.auth-screen-panel p{font-size:14px;color:var(--text2);line-height:1.55;}
.auth-screen-hint{margin-top:20px;font-size:12px;color:var(--text3);}
.auth-screen-btn{margin-top:28px;max-width:280px;margin-left:auto;margin-right:auto;background:transparent;color:var(--text2);border:1px solid var(--border2);}
.auth-screen-btn:hover{opacity:1;color:var(--text);}
