*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:system-ui,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif}#root{width:100%;min-height:100svh}.login-wrapper{box-sizing:border-box;background:#fff;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:24px;display:flex}.login-box{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;display:flex}.welcome-title{color:#2563eb;letter-spacing:-1px;margin:0 0 8px;font-size:48px;font-weight:700}.input-card{box-sizing:border-box;background:#f3f4f6;border-radius:16px;width:100%;overflow:hidden}.input-field{color:#111827;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;padding:18px 20px;font-size:16px}.input-field::placeholder{color:#9ca3af}.input-divider{background:#e5e7eb;height:1px;margin:0 20px}.btn{cursor:pointer;border:none;border-radius:12px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:opacity .15s,transform .1s}.btn:active{opacity:.85;transform:scale(.98)}.signup-row{justify-content:flex-end;width:100%;display:flex}.signup-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.signup-link:hover{text-decoration:underline}.btn-login{color:#fff;background:#2563eb}.btn-login:hover{background:#1d4ed8}.input-with-suffix{align-items:center;display:flex}.input-with-suffix .input-field{flex:1;min-width:0}.email-suffix{color:#6b7280;white-space:nowrap;flex-shrink:0;padding:0 16px 0 0;font-size:15px}.error-text{color:#dc2626;text-align:left;width:100%;margin:-4px 0 0;padding:0 4px;font-size:13px}.done-card{flex-direction:column;gap:20px;width:100%;display:flex}.done-text{color:#0369a1;text-align:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin:0;padding:20px;font-size:15px;line-height:1.7}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:active{transform:none}@media (width<=480px){.welcome-title{font-size:36px}.input-field{padding:16px;font-size:15px}.btn{padding:14px;font-size:15px}}
