.auth-main { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); }
.auth-col { display: flex; flex-direction: column; padding: var(--s-8) var(--s-6); }
.auth-col > .brand { align-self: flex-start; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text-1);
  font: 800 var(--fs-16)/1 var(--font-display); letter-spacing: 0.02em; }
.brand b { color: var(--text-2); margin-left: 3px; }
.auth-card { width: min(400px, 100%); margin: auto; padding: var(--s-12) 0; display: flex; flex-direction: column; gap: var(--s-5); }
.auth-card h1 { font-size: var(--fs-28); letter-spacing: -0.03em; }
.auth-sub { color: var(--text-2); margin-top: calc(var(--s-3) * -1); }
.auth-card form { display: flex; flex-direction: column; gap: var(--s-4); }
.auth-link { align-self: flex-end; font-size: var(--fs-13); color: var(--text-2); margin-top: calc(var(--s-2) * -1); }
.auth-below { font-size: var(--fs-13); color: var(--text-2); text-align: center; }
.auth-below a { color: var(--text-1); font-weight: 550; }
.auth-legal { font-size: var(--fs-12); text-align: center; }
.auth-legal a { color: var(--text-3); }
.oauth { display: flex; flex-direction: column; gap: var(--s-2); }
.oauth-btn { height: 44px; justify-content: center; position: relative; }
.oauth-btn[aria-disabled="true"] { pointer-events: none; }
.oauth-btn .soon { position: absolute; right: 12px; }
.oauth-note { text-align: center; }
.or { display: flex; align-items: center; gap: var(--s-3); color: var(--text-3); font-size: var(--fs-12); }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--line-1); }
.pw-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: -8px; }
.pw-meter i { height: 3px; border-radius: 2px; background: var(--ink-4); transition: background-color var(--t-base) var(--ease-out); }
.pw-meter[data-s="1"] i:nth-child(-n+1) { background: var(--err); }
.pw-meter[data-s="2"] i:nth-child(-n+2) { background: var(--warn); }
.pw-meter[data-s="3"] i:nth-child(-n+3) { background: var(--ok); }
.pw-meter[data-s="4"] i { background: var(--ok); }
.verify-state { display: flex; flex-direction: column; gap: var(--s-4); }

.auth-aside { position: relative; border-left: 1px solid var(--line-1); background:
  radial-gradient(70% 50% at 30% 20%, rgba(255, 45, 113, 0.09), transparent 70%), var(--ink-1);
  display: flex; align-items: center; padding: var(--s-16); }
.aside-inner { max-width: 460px; display: flex; flex-direction: column; gap: var(--s-10); }
.aside-quote { font: 700 clamp(1.5rem, 1rem + 1.2vw, 2.1rem)/1.2 var(--font-display); letter-spacing: -0.03em; text-wrap: balance; }
.aside-map .mmap { height: 56px; }
.aside-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-3); color: var(--text-2); }
.aside-list li { display: flex; gap: var(--s-3); align-items: center; }
.aside-list .i { color: var(--text-3); }
@media (max-width: 900px) {
  .auth-main { grid-template-columns: 1fr; }
  .auth-aside { display: none; }
  .auth-col { padding: var(--s-5) var(--s-4); }
  .auth-card { padding: var(--s-8) 0; }
}
