@import url("tokens.css?v=r15");
html,body{height:100%}
.login-body{
  min-height:100%;
  margin:0;
  background:var(--bg);
  color:var(--text);
}
.login-stage{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.node-field{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 18% 22%, rgba(22,122,89,.08), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(94,98,169,.07), transparent 26%),
    radial-gradient(circle, var(--line) 1px, transparent 1.2px);
  background-size:auto, auto, 28px 28px;
  opacity:.9;
}
:root[data-theme="dark"] .node-field{
  background:
    radial-gradient(circle at 18% 22%, rgba(52,211,153,.08), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(129,140,248,.07), transparent 28%),
    radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1.2px);
  background-size:auto, auto, 28px 28px;
}
.login-nav{
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:space-between;
  padding:28px 40px 0;
}
.login-hero{
  position:relative; z-index:2;
  flex:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:24px 20px 64px;
}
.login-eyebrow{
  margin:0;
  color:var(--violet);
  letter-spacing:.32em;
  font:500 11px/1 var(--mono);
}
.login-hero h1{
  margin:18px 0 12px;
  font-family:var(--serif);
  font-size:clamp(42px, 7vw, 72px);
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.08;
  color:var(--text);
}
.login-lead{
  margin:0 0 36px;
  color:var(--muted);
  font-size:16px;
  letter-spacing:.04em;
}
.login-card{
  width:100%;
  max-width:400px;
  text-align:left;
  background:color-mix(in srgb, var(--panel-solid) 88%, transparent);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:28px 28px 24px;
}
:root[data-theme="light"] .login-card{
  background:rgba(255,255,255,.92);
}
label{
  display:block; font-size:12px; font-weight:600; color:var(--muted-strong);
  margin:14px 0 8px; letter-spacing:.08em;
}
.login-card label:first-of-type{margin-top:0}
.field{position:relative}
.field-password{display:flex; align-items:stretch}
.field-password input{border-top-right-radius:0; border-bottom-right-radius:0; flex:1}
.pw-toggle{
  flex:0 0 auto; min-height:var(--touch); min-width:64px; padding:0 12px;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  background:var(--chip); color:var(--muted); border:1px solid var(--line-strong); border-left:0;
  box-shadow:none; font-size:12px; font-weight:600;
}
.pw-toggle:hover{color:var(--text); filter:none}
button#btn{width:100%; margin-top:22px; font-size:15px}
@media(max-width:560px){
  .login-nav{padding:20px 18px 0}
  .login-hero{padding:16px 16px 40px}
  .login-card{padding:22px 18px 20px}
  .login-hero h1{font-size:40px}
}
